The injected collaborators that execute tool calls.
Aborts the in-flight delegated run's controller (if any).
Called by the transport layer on barge-in so a stale delegated result is never narrated into a conversation that has moved on. Safe no-op when no delegation is in flight.
Executes a realtime tool call and returns its serialized result.
Routes invoke-target-agent → RealtimeToolBrokerDeps.DelegateToTarget (creating and
owning a per-call AbortController so AbortInFlight can cancel it on barge-in),
and every other tool → RealtimeToolBrokerDeps.ExecuteTool. Always resolves with an
ExecutedToolCall — failures are serialized as structured errors rather than thrown, so
the model always receives a consistent tool_response.
The tool-call request emitted by the model.
The serialized result the transport layer relays back to the model.
Executes a single realtime tool call server-side, identically across both audio topologies.
Construct with a RealtimeToolBrokerDeps, then call ExecuteToolCall per provider tool call. The broker routes the call, owns the abort controller for an in-flight delegated run, and returns the serialized ExecutedToolCall the transport layer relays back to the model.