Member Junction
    Preparing search index...

    Interface RealtimeSessionTuningConfig

    Provider-session tuning for a Realtime co-agent — the config-cascade source for the driver feature keys (GetSessionTuningSettings projects these onto the flat bag keys the drivers consume). Every field is optional; absent fields contribute NOTHING to the bag.

    interface RealtimeSessionTuningConfig {
        effortLevel?: string | number;
        inputTranscriptionModel?: string;
        mcpTools?: JSONObjectLike[];
        parallelToolCalls?: boolean;
        transcriptionLanguages?: string[];
        turnDetection?: RealtimeTurnDetectionSettings;
        unverifiedMaxSeconds?: number;
        verifiedMaxSeconds?: number;
    }
    Index

    Properties

    effortLevel?: string | number

    MJ-normalized effort level (the ChatParams.effortLevel vocabulary: numeric 1–100 or a named level). Providers with reasoning realtime models (OpenAI gpt-realtime-2.x) map it to their native literals; others scrub it.

    inputTranscriptionModel?: string

    Per-session input-transcription model override (OpenAI-protocol providers).

    mcpTools?: JSONObjectLike[]

    Remote MCP server tool declarations (provider-native { type:'mcp', server_label, server_url|connector_id, … } objects) for providers that support MCP in session.tools. Until an approval UX exists, declare servers with require_approval: 'never' — an approval request is auto-denied by the driver.

    parallelToolCalls?: boolean

    Whether the model may run tool calls in parallel (GA reasoning realtime models).

    transcriptionLanguages?: string[]

    The languages callers and the agent are expected to speak, as BCP-47 codes (e.g. ["en-US"]). A hint for the live captions, not a lock. Without it, providers that caption by auto-detecting each utterance's language (Gemini Live) can caption English speech in another script. Gemini maps it to languageCodes on both caption streams; other providers scrub it.

    Normalized turn-detection override (mode/eagerness/threshold/silence). Layers ABOVE the model catalog's ModelConfiguration.Realtime.TurnDetection default and BELOW the runtime bag — agents/apps refine what the catalog declares. Profiles translate the normalized vocabulary to their native wire block and fall back (with a diag log) on unsupported modes, so a shared config stays safe on every provider.

    unverifiedMaxSeconds?: number

    The longest an UNVERIFIED (anonymous or magic-link guest) realtime session may run, in seconds. A positive integer. This is an MJ session limit, not a provider knob: it is deliberately NOT projected onto the driver Config bag by GetSessionTuningSettings. It is read from the effective config by the server session service (the mid-session identity-verification work), which falls back to its own default when absent.

    verifiedMaxSeconds?: number

    The longest a VERIFIED realtime session may run, in seconds — the deadline a successful mid-session verification extends the session to. A positive integer; like unverifiedMaxSeconds it is an MJ session limit and never reaches the driver Config bag.