Deliberately small and serializable — the host (RealtimeChannelServerHost) wraps a thrown error
into a { Success: false } result so the model always receives a consistent response, and the
transport layer (RealtimeSessionRunner) serializes { success, output } to the exact JSON shape
the model expects (identical to import('../..').RealtimeToolBrokerDeps non-target tooling).
The textual outcome to feed back to the model: a description of what changed on success, or
the error to surface on failure (so the model can narrate it — spoken-error-handling).
The result of a server-side channel tool execution (BaseRealtimeChannelServer.ExecuteServerTool), fed back to the realtime model as the
tool_response.Deliberately small and serializable — the host (
RealtimeChannelServerHost) wraps a thrown error into a{ Success: false }result so the model always receives a consistent response, and the transport layer (RealtimeSessionRunner) serializes{ success, output }to the exact JSON shape the model expects (identical to import('../..').RealtimeToolBrokerDeps non-target tooling).