Skip to content

AgentConfig

optional agents?: AgentConfig[];

optional controlModel?: LanguageModel;

Optional model for the control path (routing, decide, extraction), run at temperature 0 for determinism. Defaults to model (the speaker) when unset. Set this to pin control to a reliable provider independent of the speaker.


optional description?: string;

optional experimental?: object;
Name Type Description

outOfBandControl?

boolean

Flow reply nodes: silo flow-transition control tools + deterministic evaluator (ADR 0003 H1). Default OFF.


optional flows?: Flow[];

optional globalTools?: Record<string, AnyTool>;

Safe, always-available tools made model-visible in EVERY speaking node turn (the agent “base layer”, ADR 0001) — e.g. a returns/FAQ knowledge-base lookup the user might ask for mid-flow. This is an explicit allow-list: NEVER put consequential/mutating tools here (they must stay flow-gated), and they are not exposed during non-speaking collect extraction.


optional guardrails?: Guardrails;

optional handoffs?: string[];

id: string;

optional instructions?: Instructions;

optional knowledge?: AgentKnowledge;

optional limits?: Limits;

optional memory?: AgentMemory;

optional model?: LanguageModel;

optional name?: string;

optional refine?: RefinementCapability[];

Pre-turn refinement policies. Default: none.


optional routes?: Route[];

optional routing?: RoutingPolicy;

optional skills?: SkillSource;

Bundled procedural skills (Anthropic Agent Skill model): Level-1 name+description in prompt, body via load_skill, resources via read_skill_resource. Scripts = allowedTools only.


optional tools?: Record<string, AnyTool>;

Durable, model-callable effect tools (exactly-once on replay). Wrap raw AI SDK tools with wrapAiSdkTool().


optional validate?: ValidationCapability[];

Post-turn validation policies (grounding/confidence gate). Default: none.


optional workspace?: AgentWorkspaceConfig;

Portable workspace filesystem; auto-registers the durable workspace tool when set. Defaults to read-only; pass { fs, readOnly: false } for write/edit. Read-only workspaces are exposed in globalTools (ADR 0001); read-write ones are executor-only.