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.LLM | llm.RealtimeModel | 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.

llm?: null | llm.LLM | llm.RealtimeModel | LLMModels

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

A RealtimeModel can only be set while the agent is not running: swapping to or from one on a running agent throws, because it replaces the whole pipeline rather than one model. 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.