The live app-context snapshot to inject into the companion prompt.
The application the session runs in.
The channels this host can mount (JSON), which the server scopes against the agent's and the app's
configuration and answers with the resolved policy. null when the host brings none.
Client-executed tools to declare to the model at mint: the host's own plus the native tools of the channels mounted with the session. A launcher that mints through its own endpoint must pass them on, or the model never learns it can call them.
The co-agent override, or null to let server metadata choose.
Session-config overrides (authorization-gated server side), as JSON.
The fork (MJ: Conversation Branches.ID) the session starts on; null is Main.
The conversation the session belongs to, when it continues one.
A prior session whose saved channel state this one resumes.
A per-session media-kit collection override.
A realtime model the user picked, when the host exposes a model picker.
Whether the user consented to recording this session.
When the recording started (ISO), or null when the session is not being recorded.
OptionalShowsWhether this host can show the agent's video: one of its channels shows it (the Avatar channel). false for a host
with none (the embeddable widget, the mobile app): the server then asks the model for no avatar, so a video model is
not chosen for a face nobody would see, and says why (host). A launcher that mints through its own endpoint should
pass a false on. Absent: not stated, and the server assumes the host may show it.
The agent the session fronts.
Everything the runtime knows when it needs a session minted — the inputs of the stock
StartRealtimeClientSessionmutation, as typed values rather than a GraphQL variable bag.A launcher may use all, some or none of it: the default sends it to the stock mutation; a host-specific launcher can map it onto its own mint (a deployment-specific mutation, a REST endpoint, a guest-session exchange) so long as it returns a StartRealtimeClientSessionResult.