Fields to change on an Agent, passed to Agent.updateOptions.

Only the fields you pass are changed. Omitting a field and passing it as undefined mean the same thing — leave the agent's current value alone — matching is_given() / NOT_GIVEN in the Python framework. Pass null to disable a model on this agent, which also overrides any session-level model.

interface AgentUpdateOptions {
    expressive?: boolean | ExpressiveOptions;
    llm?: null | llm.RealtimeModel | DuplexModel | llm.LLM | LLMModels;
    stt?: null | stt.STT | STTModelString;
    tts?: null | tts.TTS | TTSModelString;
    vad?: null | VAD;
}

Properties

expressive?: boolean | ExpressiveOptions

Expressive TTS delivery. Pass false to override and disable the session setting.

New LLM model. Pass null to disable the agent LLM and override any session LLM.

A RealtimeModel or DuplexModel can only be set while the agent is stopped. Swapping to or from one while running throws because it replaces the whole pipeline. Use AgentSession.updateAgent() for that.

stt?: null | stt.STT | STTModelString

New STT model. Pass null to disable the agent STT and override any session STT.

tts?: null | tts.TTS | TTSModelString

New TTS model. Pass null to disable the agent TTS and override any session TTS.

vad?: null | VAD

New VAD model. Pass null to disable the agent VAD and override any session VAD.