Member Junction
    Preparing search index...

    Everything the runtime knows when it needs a session minted — the inputs of the stock StartRealtimeClientSession mutation, 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.

    interface RealtimeSessionLaunchRequest {
        AppContext: AppContextSnapshot | null;
        ApplicationId: string | null;
        ChannelCandidatesJson: string | null;
        ClientTools: readonly RealtimeToolDefinition[];
        CoAgentId: string | null;
        ConfigOverridesJson: string | null;
        ConversationBranchId: string | null;
        ConversationId: string | null;
        LastSessionId: string | null;
        MediaCollectionId: string | null;
        PreferredModelId: string | null;
        RecordingConsent: boolean;
        RecordingStartedAt: string | null;
        ShowsAgentVideo?: boolean;
        TargetAgentId: string;
    }
    Index

    Properties

    AppContext: AppContextSnapshot | null

    The live app-context snapshot to inject into the companion prompt.

    ApplicationId: string | null

    The application the session runs in.

    ChannelCandidatesJson: string | null

    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.

    ClientTools: readonly RealtimeToolDefinition[]

    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.

    CoAgentId: string | null

    The co-agent override, or null to let server metadata choose.

    ConfigOverridesJson: string | null

    Session-config overrides (authorization-gated server side), as JSON.

    ConversationBranchId: string | null

    The fork (MJ: Conversation Branches.ID) the session starts on; null is Main.

    ConversationId: string | null

    The conversation the session belongs to, when it continues one.

    LastSessionId: string | null

    A prior session whose saved channel state this one resumes.

    MediaCollectionId: string | null

    A per-session media-kit collection override.

    PreferredModelId: string | null

    A realtime model the user picked, when the host exposes a model picker.

    RecordingConsent: boolean

    Whether the user consented to recording this session.

    RecordingStartedAt: string | null

    When the recording started (ISO), or null when the session is not being recorded.

    ShowsAgentVideo?: boolean

    Whether 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.

    TargetAgentId: string

    The agent the session fronts.