HarnessConfig
Properties
Section titled “Properties”agents
Section titled “agents”agents: AgentConfig[];compaction?
Section titled “compaction?”optional compaction?: CompactionConfig;Automatic history compaction. When set, the runtime summarizes older
messages into one system note after any turn whose history exceeds
triggerTokens (off the user’s latency path), and force-compacts once as
the retry step after a provider context-overflow error.
defaultAgentId
Section titled “defaultAgentId”defaultAgentId: string;defaultModel?
Section titled “defaultModel?”optional defaultModel?: LanguageModel;defaultWorkingMemoryStore?
Section titled “defaultWorkingMemoryStore?”optional defaultWorkingMemoryStore?: PersistentMemoryStore;Default store for agent.memory.workingMemory when workingMemory.store is omitted.
escalation?
Section titled “escalation?”optional escalation?: EscalationConfig;Escalation-to-human pipeline. When set, any escalation — a terminal
handoff (handoffs: ['human'], validator escalate decision, host
control) or a flow escalate() pause — builds an EscalationRequest
(state snapshot + recent messages + optional LLM handoff brief) and
invokes the handler. Resume with runtime.resumeFromEscalation().
hooks?
Section titled “hooks?”optional hooks?: Hooks;hostClassify?
Section titled “hostClassify?”optional hostClassify?: (options) => Promise<HostGuardVerdict>;Parameters
Section titled “Parameters”| Parameter | Type |
|---|---|
|
|
|
Returns
Section titled “Returns”Promise<HostGuardVerdict>
hostSelect?
Section titled “hostSelect?”optional hostSelect?: (options) => Promise<HostSelection>;Parameters
Section titled “Parameters”| Parameter | Type |
|---|---|
|
|
|
Returns
Section titled “Returns”Promise<HostSelection>
knowledge?
Section titled “knowledge?”optional knowledge?: KnowledgeProviderConfig;maxHandoffs?
Section titled “maxHandoffs?”optional maxHandoffs?: number;memoryService?
Section titled “memoryService?”optional memoryService?: MemoryService;sessionStore?
Section titled “sessionStore?”optional sessionStore?: SessionStore;terminalHandoffTargets?
Section titled “terminalHandoffTargets?”optional terminalHandoffTargets?: string[];tools?
Section titled “tools?”optional tools?: Record<string, AnyTool>;transcriptionModel?
Section titled “transcriptionModel?”optional transcriptionModel?: TranscriptionModel;Optional AI SDK transcription model. When set, inbound audio file parts (voice notes) are transcribed to text before the model turn — so voice input works on text-only models. When omitted, audio parts pass through to audio-capable models.
voiceMode?
Section titled “voiceMode?”optional voiceMode?: boolean;