Member Junction
    Preparing search index...

    Interface RealtimeModeratorConfig

    The room-wide turn-moderator settings (see RealtimeTurnTakingConfig.moderator). Absent fields fall back to REALTIME_MODERATOR_DEFAULTS.

    interface RealtimeModeratorConfig {
        contextWindowTurns?: number;
        maxCharsPerTurn?: number;
        maxConsecutiveAgentOnlyTurns?: number;
        onError?: "addressed-only" | "silent";
        prestageOnAgentSpeech?: boolean;
        promptId?: string;
        timeoutMs?: number;
    }
    Index

    Properties

    contextWindowTurns?: number

    How many recent diarized turns the moderator sees. Default 30; clamped to ≤ 50.

    maxCharsPerTurn?: number

    Each lookback turn is clipped to this many characters (token savings + a stable, cacheable prompt prefix). Default 240.

    maxConsecutiveAgentOnlyTurns?: number

    OPTIONAL hard backstop on consecutive agent-only turns (no human turn between) before the room goes quiet. null/absent (default) = no cap — rely on the moderator's own progress assessment to end unproductive loops, so genuine agent↔agent discussion is never gated by a counter.

    onError?: "addressed-only" | "silent"

    Behavior when the moderator errors/times out: 'silent' (no one speaks — never spiral) or 'addressed-only' (cheap name-contains fallback). Default 'silent'.

    prestageOnAgentSpeech?: boolean

    When true (default), run the NEXT moderator decision DURING the current agent's audio playback — the model emits its full response text seconds before the user finishes hearing it, so the agent→agent hand-off pays ~zero added latency. A human barge-in discards the pre-staged decision.

    promptId?: string

    The moderator AI Prompt — an MJ: AI Prompts ID (authored as @lookup: in metadata, stored as the resolved ID).

    timeoutMs?: number

    Moderator call budget in ms; exceeding it triggers RealtimeModeratorConfig.onError. Default 800.