Member Junction
    Preparing search index...

    Interface BridgeRealtimeSessionContext

    The context a bridge passes to CreateBridgeRealtimeSession. Structurally compatible with the LiveKit coordinator's RealtimeSessionStartContext (and any future bridge's equivalent) so this factory can be bound directly via SetSessionFactory(...) without the consumer adapting shapes.

    interface BridgeRealtimeSessionContext {
        AgentID?: string;
        AgentName?: string;
        AgentSessionID?: string;
        AvatarDelivery?: "room";
        ContextUser?: UserInfo;
        ConversationID?: string;
        ConversationMessages?: ChatMessage[];
        HostFraming?: string;
        HostTools?: RealtimeToolDefinition[];
        MeetingMode?: boolean;
        MetadataProvider?: IMetadataProvider;
        PhoneCall?: boolean;
        PriorTranscript?: string;
        RealtimeModelID?: string;
        RealtimeVoice?: string;
        ResolveHostTools?: RealtimeHostToolsResolver;
        RoomName?: string;
        SelfNames?: string[];
        TargetAgentID?: string;
    }
    Index

    Properties

    AgentID?: string

    The agent to voice, by id (preferred).

    AgentName?: string

    The agent to voice, by name (fallback when no id).

    AgentSessionID?: string

    The MJ: AI Agent Sessions id this bridge belongs to. Threaded into the co-agent observability run so the voice session's runs (and the target-agent runs delegated under it) group under the same session — identically to the native-chat surface. Without it the co-agent run can't record its session.

    AvatarDelivery?: "room"

    'room' when the bridge's bot can publish the agent's avatar into the room (the LiveKit coordinator asks its native module first). Flows to the session's avatar request, so the driver may render it. Absent: audio only.

    ContextUser?: UserInfo

    The user the session runs as (scopes memory + DB ops).

    ConversationID?: string

    The MJ: Conversations row the session writes to — stamped on the co-agent observability run.

    ConversationMessages?: ChatMessage[]

    Earlier turns to seed the model's context. Defaults to none (a fresh call has no history).

    HostFraming?: string

    Host-authored instructions appended to the system prompt (e.g. the phone-call and caller framing).

    Tools the host declares and executes itself (a phone call's transfer_call / send_dtmf / end_call). Added to the model's tool set; executed through the runtime's local tool handler (see GetBridgeRealtimeRuntime).

    MeetingMode?: boolean

    Multi-agent meeting mode. Set true when the agent joins a room that already has other agents, so it disables blind auto-response and speaks only when addressed (the room coordinator decides this). Flows to params.data.realtimeMeetingMode. See plans/realtime/multi-agent-meeting-turn-taking.md.

    MetadataProvider?: IMetadataProvider

    The request-scoped metadata provider (multi-provider safe). Falls back to the global default.

    PhoneCall?: boolean

    true when the session is a phone call (a carrier call, or a SIP call in a LiveKit room). Flows to params.data.realtimePhoneCall: the session then asks the driver for no avatar (the caller sees no video) and reports phone as its avatar status.

    PriorTranscript?: string

    Role-tagged transcript lines (User: … / Assistant: …) of the conversation so far, framed into the prompt as "earlier in this conversation". Set when a lost model session is re-opened mid-call so the new session remembers what was said.

    RealtimeModelID?: string

    Optional per-session Realtime MODEL override (an MJ: AI Models Name or ID) — a dev choosing a specific realtime model for THIS agent in the room. Wins over the co-agent config's modelPreference.

    RealtimeVoice?: string

    Optional per-session VOICE override (a provider-native voice id, e.g. OpenAI echo/shimmer) — how two agents in the same room are given distinct voices. Replaces the config's per-provider voice.

    ResolveHostTools?: RealtimeHostToolsResolver

    Optional callback that allows the host to resolve host tools dynamically based on the model, vendor, and driver actually resolved for the session, before session opening.

    RoomName?: string

    The transport endpoint being joined (room/meeting/number) — informational here; not required.

    SelfNames?: string[]

    The names the agent answers to (display name + aliases) — phrasing for the meeting prompt only.

    TargetAgentID?: string

    The TARGET agent the co-agent voices — the one the user is actually "calling". The Realtime Co-Agent is a voice front-end that delegates to this agent via invoke-target-agent; without a target it has nobody to speak for and stays idle. Flows to params.data.targetAgentID.