ID of the newly created AIAgentSession record.
ID of the conversation the session is attached to (supplied or freshly created).
OptionalEffectiveJSON of the RESOLVED effective realtime configuration for this session (type
DefaultConfiguration ← agent TypeConfiguration ← authorized runtime overrides,
deep-merged + normalized server-side). The browser uses it to apply client-side concerns
(e.g. per-provider voice settings consumed by client drivers, narration pacing). Null only
when the prepare service did not resolve a config (back-compat).
The short-lived client secret the browser presents to the provider to authenticate.
ISO-8601 timestamp at which StartRealtimeClientSessionResult.EphemeralToken expires.
The provider realtime model id the session is scoped to (e.g. gpt-realtime).
OptionalModelDisplay name of the realtime model the session uses (e.g. GPT Realtime 2). Null when unknown.
OptionalNarrationDB-driven progress-narration instruction template (contains a {{ progressMessage }}
placeholder). Null when the narration prompt is not present in this deployment's metadata —
the browser falls back to its built-in narration text.
OptionalNarrationThe effective narration pace (realtime.narration.paceMs from the co-agent's effective
configuration) — minimum gap in ms between spoken progress updates. Null when not
configured (the browser uses its built-in pacing default). In the client-direct topology
narration pacing is enforced CLIENT-side, so the server surfaces the configured value here.
OptionalPriorJSON object string keyed by channel NAME mapping to that channel's persisted state JSON from
the caller's PRIOR session (lastSessionId) — e.g. {"Whiteboard":"{...board scene...}"}.
Null when no lastSessionId was supplied, the prior session has no persisted channel state,
the prior session is not owned by the caller, or the restore failed for any reason (restore
is strictly best-effort — a session start NEVER fails because of it).
The provider that minted the credential (e.g. 'openai').
JSON string of the provider-native session config the browser applies verbatim.
Result of RealtimeClientSessionResolver.StartRealtimeClientSession — everything the browser needs to open its own provider socket plus the durable session linkage.