[{"data":1,"prerenderedAt":45},["ShallowReactive",2],{"docs:core-concepts/agents":3},{"title":4,"navTitle":4,"description":5,"api":6,"html":7,"toc":8,"path":34,"tab":35,"group":36,"prev":37,"next":40,"markdownUrl":43,"sourceUrl":44,"lastModified":6},"Agents","Define two-sided agents, including subagent lifecycle behavior",null,"\u003Ch2 id=\"what-are-agents\">\u003Ca class=\"docs-anchor\" href=\"#what-are-agents\" aria-label=\"Link to this section\">\u003C/a>What Are Agents?\u003C/h2>\n\u003Cp>Agents define conversation orchestration:\u003C/p>\n\u003Cp>An agent has two explicit sides. Each side is backed by a human, a prompt, or a handler.\u003C/p>\n\u003Cul>\n\u003Cli>A prompt-backed side and a human-backed side form a chat agent. The prompt side responds to the person's messages.\u003C/li>\n\u003Cli>Two prompt-backed sides alternate until a stop condition is met.\u003C/li>\n\u003C/ul>\n\u003Cp>Agents reference prompts, define stop semantics, and can be exposed as callable tools.\u003C/p>\n\u003Ch2 id=\"basic-example\">\u003Ca class=\"docs-anchor\" href=\"#basic-example\" aria-label=\"Link to this section\">\u003C/a>Basic Example\u003C/h2>\n\u003Cp>This chat agent has a prompt on side A and a person on side B. The diagram is drawn from the three files under it.\u003C/p>\n\u003Cdiv class=\"docs-agent\" data-docs=\"agent-diagram\" style=\"--docs-diagram-w: 668px\">\u003Cfigure class=\"docs-agent-diagram\">\u003Cdiv class=\"docs-agent-diagram-canvas\">\u003Csvg class=\"dg-svg\" viewBox=\"-1 -1 668 218\" width=\"668\" height=\"218\" role=\"img\" aria-labelledby=\"ad-ibak36-title\" aria-describedby=\"ad-ibak36-desc\">\u003Ctitle id=\"ad-ibak36-title\">Agent diagram: assistant\u003C/title>\u003Cdesc id=\"ad-ibak36-desc\">The agent assistant has two sides. Side B is a human. Side A runs the assistant prompt on the conversational model from OpenRouter. Its turn stops when it sends a text reply.\u003C/desc>\u003Cdefs>\u003Cmarker id=\"ad-ibak36-arrow\" viewBox=\"0 0 8 8\" refX=\"7.5\" refY=\"4\" markerWidth=\"8\" markerHeight=\"8\" markerUnits=\"userSpaceOnUse\" orient=\"auto\">\u003Cpath class=\"dg-arrowhead\" d=\"M0 .5 7.5 4 0 7.5z\"/>\u003C/marker>\u003C/defs>\u003Cg class=\"dg-node dg-node--person\" transform=\"translate(16 72)\">\u003Crect class=\"dg-panel\" x=\".5\" y=\".5\" width=\"127\" height=\"75\"/>\u003Crect class=\"dg-mark\" x=\"12\" y=\"13\" width=\"6\" height=\"6\"/>\u003Ctext class=\"dg-label\" x=\"24\" y=\"20\">SIDE B\u003C/text>\u003Ctext class=\"dg-title\" x=\"12\" y=\"54\">Human\u003C/text>\u003Cpath class=\"dg-fold\" d=\"M120 0h8v8z\"/>\u003C/g>\u003Cg class=\"dg-node dg-node--side\" transform=\"translate(358 72)\">\u003Crect class=\"dg-panel\" x=\".5\" y=\".5\" width=\"175\" height=\"127\"/>\u003Crect class=\"dg-mark\" x=\"12\" y=\"13\" width=\"6\" height=\"6\"/>\u003Ctext class=\"dg-label\" x=\"24\" y=\"20\">SIDE A\u003C/text>\u003Cpath class=\"dg-fold\" d=\"M168 0h8v8z\"/>\u003C/g>\u003Cg class=\"dg-lines\">\u003Crect class=\"dg-frame dg-frame--agent\" x=\"0.5\" y=\"0.5\" width=\"665\" height=\"215\"/>\u003Cg class=\"dg-pixel\">\u003Cpath class=\"dg-wire dg-wire--model\" d=\"M390 136L390 156\" marker-end=\"url(#ad-ibak36-arrow)\"/>\u003Cpath class=\"dg-wire dg-wire--provider\" d=\"M522 172L558 172\"/>\u003Cpath class=\"dg-wire dg-wire--signal\" d=\"M358 120L370 120\"/>\u003Cpath class=\"dg-wire dg-wire--signal\" d=\"M370 172L358 172\"/>\u003Cpath class=\"dg-wire dg-wire--signal\" d=\"M144 120L358 120\" marker-end=\"url(#ad-ibak36-arrow)\"/>\u003Cpath class=\"dg-wire dg-wire--signal\" d=\"M358 172L342 172L342 132L144 132\" marker-end=\"url(#ad-ibak36-arrow)\"/>\u003C/g>\u003Ctext class=\"dg-edge-label\" x=\"160\" y=\"110\">message\u003C/text>\u003Ctext class=\"dg-edge-label\" x=\"160\" y=\"150\">reply\u003C/text>\u003Cg class=\"dg-node dg-node--pill\" transform=\"translate(202 136)\">\u003Crect class=\"dg-pill dg-pill--rule\" x=\".5\" y=\".5\" width=\"131\" height=\"19\"/>\u003Ctext class=\"dg-pill-text\" x=\"66\" y=\"14\">stops on response\u003C/text>\u003C/g>\u003C/g>\u003Cg class=\"dg-node dg-node--agent\" transform=\"translate(16 16)\" data-file=\"agents/agents/assistant.ts\">\u003Crect class=\"dg-tag\" x=\".5\" y=\".5\" width=\"144\" height=\"31\"/>\u003Crect class=\"dg-mark\" x=\"12\" y=\"13\" width=\"6\" height=\"6\"/>\u003Ctext class=\"dg-label\" x=\"24\" y=\"20\">AGENT\u003C/text>\u003Ctext class=\"dg-mono\" x=\"66\" y=\"20\">assistant\u003C/text>\u003Cpath class=\"dg-fold\" d=\"M137 0h8v8z\"/>\u003C/g>\u003Cg class=\"dg-node dg-node--provider\" transform=\"translate(558 156)\">\u003Crect class=\"dg-external\" x=\".5\" y=\".5\" width=\"91\" height=\"31\"/>\u003Ctext class=\"dg-note dg-center\" x=\"46\" y=\"20\">OpenRouter\u003C/text>\u003Cpath class=\"dg-fold\" d=\"M84 0h8v8z\"/>\u003C/g>\u003Cg class=\"dg-node dg-node--prompt\" transform=\"translate(370 104)\" data-file=\"agents/prompts/assistant.ts\">\u003Crect class=\"dg-chip dg-chip--prompt\" x=\".5\" y=\".5\" width=\"151\" height=\"31\"/>\u003Ctext class=\"dg-mono\" x=\"12\" y=\"20\">assistant\u003C/text>\u003Cpath class=\"dg-fold\" d=\"M144 0h8v8z\"/>\u003C/g>\u003Cg class=\"dg-node dg-node--model\" transform=\"translate(370 156)\" data-file=\"agents/models/conversational.ts\">\u003Crect class=\"dg-chip dg-chip--model\" x=\".5\" y=\".5\" width=\"151\" height=\"31\"/>\u003Ctext class=\"dg-mono\" x=\"12\" y=\"20\">conversational\u003C/text>\u003Cpath class=\"dg-fold\" d=\"M144 0h8v8z\"/>\u003C/g>\u003C/svg>\u003C/div>\u003C/figure>\u003Cdiv class=\"docs-files\" id=\"docs-files-1\" data-docs=\"files\" style=\"--docs-files-h: 17.75rem\">\u003Cselect class=\"docs-files-select\" aria-label=\"Choose a file\" hidden>\u003Coption value=\"agents/agents/assistant.ts\">agents/assistant.ts\u003C/option>\u003Coption value=\"agents/models/conversational.ts\">models/conversational.ts\u003C/option>\u003Coption value=\"agents/prompts/assistant.ts\">prompts/assistant.ts\u003C/option>\u003C/select>\u003Cnav class=\"docs-files-nav\" aria-label=\"Files\">\u003Cspan class=\"docs-files-title\" aria-hidden=\"true\">Files\u003C/span>\u003Cul class=\"docs-files-tree\">\u003Cli>\u003Cspan class=\"docs-files-folder\">agents\u003C/span>\u003Cul class=\"docs-files-tree\">\u003Cli>\u003Ca class=\"docs-files-link\" href=\"#docs-files-1-agents-agents-assistant-ts\" data-file=\"agents/agents/assistant.ts\">assistant.ts\u003C/a>\u003C/li>\u003C/ul>\u003C/li>\u003Cli>\u003Cspan class=\"docs-files-folder\">models\u003C/span>\u003Cul class=\"docs-files-tree\">\u003Cli>\u003Ca class=\"docs-files-link\" href=\"#docs-files-1-agents-models-conversational-ts\" data-file=\"agents/models/conversational.ts\">conversational.ts\u003C/a>\u003C/li>\u003C/ul>\u003C/li>\u003Cli>\u003Cspan class=\"docs-files-folder\">prompts\u003C/span>\u003Cul class=\"docs-files-tree\">\u003Cli>\u003Ca class=\"docs-files-link\" href=\"#docs-files-1-agents-prompts-assistant-ts\" data-file=\"agents/prompts/assistant.ts\">assistant.ts\u003C/a>\u003C/li>\u003C/ul>\u003C/li>\u003C/ul>\u003C/nav>\u003Cdiv class=\"docs-files-panels\">\u003Csection class=\"docs-files-panel\" id=\"docs-files-1-agents-agents-assistant-ts\" data-file=\"agents/agents/assistant.ts\" aria-label=\"agents/agents/assistant.ts\">\u003Cfigure class=\"docs-code\" data-docs=\"code\" data-lang=\"ts\">\u003Cfigcaption class=\"docs-code-title\">\u003Cspan class=\"docs-files-dir\">agents/agents/\u003C/span>\u003Cb>assistant.ts\u003C/b>\u003C/figcaption>\u003Cpre class=\"shiki shiki-themes one-light github-dark\" style=\"--shiki-light:#383A42;--shiki-dark:#e1e4e8;--shiki-light-bg:#FAFAFA;--shiki-dark-bg:#24292e\" tabindex=\"0\">\u003Ccode>\u003Cspan class=\"line\">\u003Cspan style=\"--shiki-light:#A626A4;--shiki-dark:#F97583\">import\u003C/span>\u003Cspan style=\"--shiki-light:#383A42;--shiki-dark:#E1E4E8\"> { \u003C/span>\u003Cspan style=\"--shiki-light:#E45649;--shiki-dark:#E1E4E8\">defineAgent\u003C/span>\u003Cspan style=\"--shiki-light:#383A42;--shiki-dark:#E1E4E8\"> } \u003C/span>\u003Cspan style=\"--shiki-light:#A626A4;--shiki-dark:#F97583\">from\u003C/span>\u003Cspan style=\"--shiki-light:#50A14F;--shiki-dark:#9ECBFF\"> '@standardagents/spec'\u003C/span>\u003Cspan style=\"--shiki-light:#383A42;--shiki-dark:#E1E4E8\">;\u003C/span>\u003C/span>\n\u003Cspan class=\"line\">\u003C/span>\n\u003Cspan class=\"line\">\u003Cspan style=\"--shiki-light:#A626A4;--shiki-dark:#F97583\">export\u003C/span>\u003Cspan style=\"--shiki-light:#E45649;--shiki-dark:#F97583\"> default\u003C/span>\u003Cspan style=\"--shiki-light:#4078F2;--shiki-dark:#B392F0\"> defineAgent\u003C/span>\u003Cspan style=\"--shiki-light:#383A42;--shiki-dark:#E1E4E8\">({\u003C/span>\u003C/span>\n\u003Cspan class=\"line\">\u003Cspan style=\"--shiki-light:#E45649;--shiki-dark:#E1E4E8\">  name\u003C/span>\u003Cspan style=\"--shiki-light:#0184BC;--shiki-dark:#E1E4E8\">:\u003C/span>\u003Cspan style=\"--shiki-light:#50A14F;--shiki-dark:#9ECBFF\"> 'assistant'\u003C/span>\u003Cspan style=\"--shiki-light:#383A42;--shiki-dark:#E1E4E8\">,\u003C/span>\u003C/span>\n\u003Cspan class=\"line\">\u003Cspan style=\"--shiki-light:#E45649;--shiki-dark:#E1E4E8\">  sideA\u003C/span>\u003Cspan style=\"--shiki-light:#0184BC;--shiki-dark:#E1E4E8\">:\u003C/span>\u003Cspan style=\"--shiki-light:#383A42;--shiki-dark:#E1E4E8\"> {\u003C/span>\u003C/span>\n\u003Cspan class=\"line\">\u003Cspan style=\"--shiki-light:#E45649;--shiki-dark:#E1E4E8\">    prompt\u003C/span>\u003Cspan style=\"--shiki-light:#0184BC;--shiki-dark:#E1E4E8\">:\u003C/span>\u003Cspan style=\"--shiki-light:#50A14F;--shiki-dark:#9ECBFF\"> 'assistant'\u003C/span>\u003Cspan style=\"--shiki-light:#383A42;--shiki-dark:#E1E4E8\">,\u003C/span>\u003C/span>\n\u003Cspan class=\"line\">\u003Cspan style=\"--shiki-light:#E45649;--shiki-dark:#E1E4E8\">    stopOnResponse\u003C/span>\u003Cspan style=\"--shiki-light:#0184BC;--shiki-dark:#E1E4E8\">:\u003C/span>\u003Cspan style=\"--shiki-light:#986801;--shiki-dark:#79B8FF\"> true\u003C/span>\u003Cspan style=\"--shiki-light:#383A42;--shiki-dark:#E1E4E8\">,\u003C/span>\u003C/span>\n\u003Cspan class=\"line\">\u003Cspan style=\"--shiki-light:#383A42;--shiki-dark:#E1E4E8\">  },\u003C/span>\u003C/span>\n\u003Cspan class=\"line\">\u003Cspan style=\"--shiki-light:#E45649;--shiki-dark:#E1E4E8\">  sideB\u003C/span>\u003Cspan style=\"--shiki-light:#0184BC;--shiki-dark:#E1E4E8\">:\u003C/span>\u003Cspan style=\"--shiki-light:#383A42;--shiki-dark:#E1E4E8\"> { \u003C/span>\u003Cspan style=\"--shiki-light:#E45649;--shiki-dark:#E1E4E8\">human\u003C/span>\u003Cspan style=\"--shiki-light:#0184BC;--shiki-dark:#E1E4E8\">:\u003C/span>\u003Cspan style=\"--shiki-light:#986801;--shiki-dark:#79B8FF\"> true\u003C/span>\u003Cspan style=\"--shiki-light:#383A42;--shiki-dark:#E1E4E8\"> },\u003C/span>\u003C/span>\n\u003Cspan class=\"line\">\u003Cspan style=\"--shiki-light:#383A42;--shiki-dark:#E1E4E8\">});\u003C/span>\u003C/span>\u003C/code>\u003C/pre>\u003C/figure>\u003C/section>\u003Csection class=\"docs-files-panel\" id=\"docs-files-1-agents-prompts-assistant-ts\" data-file=\"agents/prompts/assistant.ts\" aria-label=\"agents/prompts/assistant.ts\">\u003Cfigure class=\"docs-code\" data-docs=\"code\" data-lang=\"ts\">\u003Cfigcaption class=\"docs-code-title\">\u003Cspan class=\"docs-files-dir\">agents/prompts/\u003C/span>\u003Cb>assistant.ts\u003C/b>\u003C/figcaption>\u003Cpre class=\"shiki shiki-themes one-light github-dark\" style=\"--shiki-light:#383A42;--shiki-dark:#e1e4e8;--shiki-light-bg:#FAFAFA;--shiki-dark-bg:#24292e\" tabindex=\"0\">\u003Ccode>\u003Cspan class=\"line\">\u003Cspan style=\"--shiki-light:#A626A4;--shiki-dark:#F97583\">import\u003C/span>\u003Cspan style=\"--shiki-light:#383A42;--shiki-dark:#E1E4E8\"> { \u003C/span>\u003Cspan style=\"--shiki-light:#E45649;--shiki-dark:#E1E4E8\">definePrompt\u003C/span>\u003Cspan style=\"--shiki-light:#383A42;--shiki-dark:#E1E4E8\"> } \u003C/span>\u003Cspan style=\"--shiki-light:#A626A4;--shiki-dark:#F97583\">from\u003C/span>\u003Cspan style=\"--shiki-light:#50A14F;--shiki-dark:#9ECBFF\"> '@standardagents/spec'\u003C/span>\u003Cspan style=\"--shiki-light:#383A42;--shiki-dark:#E1E4E8\">;\u003C/span>\u003C/span>\n\u003Cspan class=\"line\">\u003C/span>\n\u003Cspan class=\"line\">\u003Cspan style=\"--shiki-light:#A626A4;--shiki-dark:#F97583\">export\u003C/span>\u003Cspan style=\"--shiki-light:#E45649;--shiki-dark:#F97583\"> default\u003C/span>\u003Cspan style=\"--shiki-light:#4078F2;--shiki-dark:#B392F0\"> definePrompt\u003C/span>\u003Cspan style=\"--shiki-light:#383A42;--shiki-dark:#E1E4E8\">({\u003C/span>\u003C/span>\n\u003Cspan class=\"line\">\u003Cspan style=\"--shiki-light:#E45649;--shiki-dark:#E1E4E8\">  name\u003C/span>\u003Cspan style=\"--shiki-light:#0184BC;--shiki-dark:#E1E4E8\">:\u003C/span>\u003Cspan style=\"--shiki-light:#50A14F;--shiki-dark:#9ECBFF\"> 'assistant'\u003C/span>\u003Cspan style=\"--shiki-light:#383A42;--shiki-dark:#E1E4E8\">,\u003C/span>\u003C/span>\n\u003Cspan class=\"line\">\u003Cspan style=\"--shiki-light:#E45649;--shiki-dark:#E1E4E8\">  toolDescription\u003C/span>\u003Cspan style=\"--shiki-light:#0184BC;--shiki-dark:#E1E4E8\">:\u003C/span>\u003Cspan style=\"--shiki-light:#50A14F;--shiki-dark:#9ECBFF\"> 'General-purpose assistant'\u003C/span>\u003Cspan style=\"--shiki-light:#383A42;--shiki-dark:#E1E4E8\">,\u003C/span>\u003C/span>\n\u003Cspan class=\"line\">\u003Cspan style=\"--shiki-light:#E45649;--shiki-dark:#E1E4E8\">  model\u003C/span>\u003Cspan style=\"--shiki-light:#0184BC;--shiki-dark:#E1E4E8\">:\u003C/span>\u003Cspan style=\"--shiki-light:#50A14F;--shiki-dark:#9ECBFF\"> 'conversational'\u003C/span>\u003Cspan style=\"--shiki-light:#383A42;--shiki-dark:#E1E4E8\">,\u003C/span>\u003C/span>\n\u003Cspan class=\"line\">\u003Cspan style=\"--shiki-light:#E45649;--shiki-dark:#E1E4E8\">  prompt\u003C/span>\u003Cspan style=\"--shiki-light:#0184BC;--shiki-dark:#E1E4E8\">:\u003C/span>\u003Cspan style=\"--shiki-light:#50A14F;--shiki-dark:#9ECBFF\"> 'You are a helpful assistant. Be concise and accurate.'\u003C/span>\u003Cspan style=\"--shiki-light:#383A42;--shiki-dark:#E1E4E8\">,\u003C/span>\u003C/span>\n\u003Cspan class=\"line\">\u003Cspan style=\"--shiki-light:#E45649;--shiki-dark:#E1E4E8\">  includeChat\u003C/span>\u003Cspan style=\"--shiki-light:#0184BC;--shiki-dark:#E1E4E8\">:\u003C/span>\u003Cspan style=\"--shiki-light:#986801;--shiki-dark:#79B8FF\"> true\u003C/span>\u003Cspan style=\"--shiki-light:#383A42;--shiki-dark:#E1E4E8\">,\u003C/span>\u003C/span>\n\u003Cspan class=\"line\">\u003Cspan style=\"--shiki-light:#383A42;--shiki-dark:#E1E4E8\">});\u003C/span>\u003C/span>\u003C/code>\u003C/pre>\u003C/figure>\u003C/section>\u003Csection class=\"docs-files-panel\" id=\"docs-files-1-agents-models-conversational-ts\" data-file=\"agents/models/conversational.ts\" aria-label=\"agents/models/conversational.ts\">\u003Cfigure class=\"docs-code\" data-docs=\"code\" data-lang=\"ts\">\u003Cfigcaption class=\"docs-code-title\">\u003Cspan class=\"docs-files-dir\">agents/models/\u003C/span>\u003Cb>conversational.ts\u003C/b>\u003C/figcaption>\u003Cpre class=\"shiki shiki-themes one-light github-dark\" style=\"--shiki-light:#383A42;--shiki-dark:#e1e4e8;--shiki-light-bg:#FAFAFA;--shiki-dark-bg:#24292e\" tabindex=\"0\">\u003Ccode>\u003Cspan class=\"line\">\u003Cspan style=\"--shiki-light:#A626A4;--shiki-dark:#F97583\">import\u003C/span>\u003Cspan style=\"--shiki-light:#383A42;--shiki-dark:#E1E4E8\"> { \u003C/span>\u003Cspan style=\"--shiki-light:#E45649;--shiki-dark:#E1E4E8\">defineModel\u003C/span>\u003Cspan style=\"--shiki-light:#383A42;--shiki-dark:#E1E4E8\"> } \u003C/span>\u003Cspan style=\"--shiki-light:#A626A4;--shiki-dark:#F97583\">from\u003C/span>\u003Cspan style=\"--shiki-light:#50A14F;--shiki-dark:#9ECBFF\"> '@standardagents/spec'\u003C/span>\u003Cspan style=\"--shiki-light:#383A42;--shiki-dark:#E1E4E8\">;\u003C/span>\u003C/span>\n\u003Cspan class=\"line\">\u003Cspan style=\"--shiki-light:#A626A4;--shiki-dark:#F97583\">import\u003C/span>\u003Cspan style=\"--shiki-light:#383A42;--shiki-dark:#E1E4E8\"> { \u003C/span>\u003Cspan style=\"--shiki-light:#E45649;--shiki-dark:#E1E4E8\">openrouter\u003C/span>\u003Cspan style=\"--shiki-light:#383A42;--shiki-dark:#E1E4E8\"> } \u003C/span>\u003Cspan style=\"--shiki-light:#A626A4;--shiki-dark:#F97583\">from\u003C/span>\u003Cspan style=\"--shiki-light:#50A14F;--shiki-dark:#9ECBFF\"> '@standardagents/openrouter'\u003C/span>\u003Cspan style=\"--shiki-light:#383A42;--shiki-dark:#E1E4E8\">;\u003C/span>\u003C/span>\n\u003Cspan class=\"line\">\u003C/span>\n\u003Cspan class=\"line\">\u003Cspan style=\"--shiki-light:#A626A4;--shiki-dark:#F97583\">export\u003C/span>\u003Cspan style=\"--shiki-light:#E45649;--shiki-dark:#F97583\"> default\u003C/span>\u003Cspan style=\"--shiki-light:#4078F2;--shiki-dark:#B392F0\"> defineModel\u003C/span>\u003Cspan style=\"--shiki-light:#383A42;--shiki-dark:#E1E4E8\">({\u003C/span>\u003C/span>\n\u003Cspan class=\"line\">\u003Cspan style=\"--shiki-light:#E45649;--shiki-dark:#E1E4E8\">  name\u003C/span>\u003Cspan style=\"--shiki-light:#0184BC;--shiki-dark:#E1E4E8\">:\u003C/span>\u003Cspan style=\"--shiki-light:#50A14F;--shiki-dark:#9ECBFF\"> 'conversational'\u003C/span>\u003Cspan style=\"--shiki-light:#383A42;--shiki-dark:#E1E4E8\">,\u003C/span>\u003C/span>\n\u003Cspan class=\"line\">\u003Cspan style=\"--shiki-light:#E45649;--shiki-dark:#E1E4E8\">  provider\u003C/span>\u003Cspan style=\"--shiki-light:#0184BC;--shiki-dark:#E1E4E8\">:\u003C/span>\u003Cspan style=\"--shiki-light:#E45649;--shiki-dark:#E1E4E8\"> openrouter\u003C/span>\u003Cspan style=\"--shiki-light:#383A42;--shiki-dark:#E1E4E8\">,\u003C/span>\u003C/span>\n\u003Cspan class=\"line\">\u003Cspan style=\"--shiki-light:#E45649;--shiki-dark:#E1E4E8\">  model\u003C/span>\u003Cspan style=\"--shiki-light:#0184BC;--shiki-dark:#E1E4E8\">:\u003C/span>\u003Cspan style=\"--shiki-light:#50A14F;--shiki-dark:#9ECBFF\"> 'google/gemma-4-31b-it'\u003C/span>\u003Cspan style=\"--shiki-light:#383A42;--shiki-dark:#E1E4E8\">,\u003C/span>\u003C/span>\n\u003Cspan class=\"line\">\u003Cspan style=\"--shiki-light:#383A42;--shiki-dark:#E1E4E8\">});\u003C/span>\u003C/span>\u003C/code>\u003C/pre>\u003C/figure>\u003C/section>\u003C/div>\u003C/div>\u003C/div>\n\u003Ch2 id=\"side-configuration\">\u003Ca class=\"docs-anchor\" href=\"#side-configuration\" aria-label=\"Link to this section\">\u003C/a>Side Configuration\u003C/h2>\n\u003Cp>Both \u003Ccode>sideA\u003C/code> and \u003Ccode>sideB\u003C/code> are required for every agent. Both sides cannot be human-backed. Each side declares exactly one backing:\u003C/p>\n\u003Cul>\n\u003Cli>\u003Ccode>{ human: true }\u003C/code>: a person takes this side's turns\u003C/li>\n\u003Cli>\u003Ccode>{ prompt: 'name' }\u003C/code>: a model takes this side's turns\u003C/li>\n\u003Cli>\u003Ccode>{ handler: 'name' }\u003C/code>: a \u003Ca href=\"/docs/core-concepts/handlers\">handler\u003C/a> function takes this side's turns\u003C/li>\n\u003C/ul>\n\u003Cp>Prompt-backed side fields:\u003C/p>\n\u003Cul>\n\u003Cli>\u003Ccode>prompt\u003C/code>\u003C/li>\n\u003Cli>\u003Ccode>label\u003C/code>\u003C/li>\n\u003Cli>\u003Ccode>subagents\u003C/code>\u003C/li>\n\u003Cli>\u003Ccode>stopOnResponse\u003C/code>\u003C/li>\n\u003Cli>\u003Ccode>stopTool\u003C/code>\u003C/li>\n\u003Cli>\u003Ccode>stopToolResponseProperty\u003C/code>\u003C/li>\n\u003Cli>\u003Ccode>maxSteps\u003C/code>\u003C/li>\n\u003C/ul>\n\u003Cp>\u003Ccode>stopOnResponse\u003C/code> defaults to \u003Ccode>true\u003C/code>. \u003Ccode>stopTool\u003C/code> ends the current side's turn. \u003Ccode>maxSteps\u003C/code> caps model requests within that turn.\u003C/p>\n\u003Cp>Session lifecycle fields:\u003C/p>\n\u003Cul>\n\u003Cli>\u003Ccode>sessionStop\u003C/code>\u003C/li>\n\u003Cli>\u003Ccode>sessionFail\u003C/code>\u003C/li>\n\u003Cli>\u003Ccode>sessionStatus\u003C/code>\u003C/li>\n\u003C/ul>\n\u003Cp>These fields apply to prompt-backed sides. \u003Ccode>sessionStop\u003C/code> and \u003Ccode>sessionFail\u003C/code> close a session. The thread remains available for later messages. \u003Ccode>sessionStatus\u003C/code> updates the child's status in its parent registry.\u003C/p>\n\u003Cp>\u003Ccode>sessionStop\u003C/code>, \u003Ccode>sessionFail\u003C/code>, and \u003Ccode>sessionStatus\u003C/code> require object bindings. Use \u003Ccode>{ name: 'tool_name' }\u003C/code>. Add \u003Ccode>messageProperty\u003C/code> or \u003Ccode>attachmentsProperty\u003C/code> when the lifecycle tool supplies those payloads. For a composed child, the mapped payload is the result or failure that the parent receives.\u003C/p>\n\u003Ch2 id=\"exposing-agents-as-tools\">\u003Ca class=\"docs-anchor\" href=\"#exposing-agents-as-tools\" aria-label=\"Link to this section\">\u003C/a>Exposing Agents as Tools\u003C/h2>\n\u003Cfigure class=\"docs-code\" data-docs=\"code\" data-lang=\"typescript\">\u003Cpre class=\"shiki shiki-themes one-light github-dark\" style=\"--shiki-light:#383A42;--shiki-dark:#e1e4e8;--shiki-light-bg:#FAFAFA;--shiki-dark-bg:#24292e\" tabindex=\"0\">\u003Ccode>\u003Cspan class=\"line\">\u003Cspan style=\"--shiki-light:#4078F2;--shiki-dark:#B392F0\">defineAgent\u003C/span>\u003Cspan style=\"--shiki-light:#383A42;--shiki-dark:#E1E4E8\">({\u003C/span>\u003C/span>\n\u003Cspan class=\"line\">\u003Cspan style=\"--shiki-light:#E45649;--shiki-dark:#E1E4E8\">  name\u003C/span>\u003Cspan style=\"--shiki-light:#0184BC;--shiki-dark:#E1E4E8\">:\u003C/span>\u003Cspan style=\"--shiki-light:#50A14F;--shiki-dark:#9ECBFF\"> 'billing_specialist'\u003C/span>\u003Cspan style=\"--shiki-light:#383A42;--shiki-dark:#E1E4E8\">,\u003C/span>\u003C/span>\n\u003Cspan class=\"line\">\u003Cspan style=\"--shiki-light:#E45649;--shiki-dark:#E1E4E8\">  exposeAsTool\u003C/span>\u003Cspan style=\"--shiki-light:#0184BC;--shiki-dark:#E1E4E8\">:\u003C/span>\u003Cspan style=\"--shiki-light:#986801;--shiki-dark:#79B8FF\"> true\u003C/span>\u003Cspan style=\"--shiki-light:#383A42;--shiki-dark:#E1E4E8\">,\u003C/span>\u003C/span>\n\u003Cspan class=\"line\">\u003Cspan style=\"--shiki-light:#E45649;--shiki-dark:#E1E4E8\">  toolDescription\u003C/span>\u003Cspan style=\"--shiki-light:#0184BC;--shiki-dark:#E1E4E8\">:\u003C/span>\u003Cspan style=\"--shiki-light:#50A14F;--shiki-dark:#9ECBFF\"> 'Handle billing and payment escalations.'\u003C/span>\u003Cspan style=\"--shiki-light:#383A42;--shiki-dark:#E1E4E8\">,\u003C/span>\u003C/span>\n\u003Cspan class=\"line\">\u003Cspan style=\"--shiki-light:#E45649;--shiki-dark:#E1E4E8\">  sideA\u003C/span>\u003Cspan style=\"--shiki-light:#0184BC;--shiki-dark:#E1E4E8\">:\u003C/span>\u003Cspan style=\"--shiki-light:#383A42;--shiki-dark:#E1E4E8\"> {\u003C/span>\u003C/span>\n\u003Cspan class=\"line\">\u003Cspan style=\"--shiki-light:#E45649;--shiki-dark:#E1E4E8\">    prompt\u003C/span>\u003Cspan style=\"--shiki-light:#0184BC;--shiki-dark:#E1E4E8\">:\u003C/span>\u003Cspan style=\"--shiki-light:#50A14F;--shiki-dark:#9ECBFF\"> 'billing_prompt'\u003C/span>\u003Cspan style=\"--shiki-light:#383A42;--shiki-dark:#E1E4E8\">,\u003C/span>\u003C/span>\n\u003Cspan class=\"line\">\u003Cspan style=\"--shiki-light:#E45649;--shiki-dark:#E1E4E8\">    stopOnResponse\u003C/span>\u003Cspan style=\"--shiki-light:#0184BC;--shiki-dark:#E1E4E8\">:\u003C/span>\u003Cspan style=\"--shiki-light:#986801;--shiki-dark:#79B8FF\"> true\u003C/span>\u003Cspan style=\"--shiki-light:#383A42;--shiki-dark:#E1E4E8\">,\u003C/span>\u003C/span>\n\u003Cspan class=\"line\">\u003Cspan style=\"--shiki-light:#383A42;--shiki-dark:#E1E4E8\">  },\u003C/span>\u003C/span>\n\u003Cspan class=\"line\">\u003Cspan style=\"--shiki-light:#E45649;--shiki-dark:#E1E4E8\">  sideB\u003C/span>\u003Cspan style=\"--shiki-light:#0184BC;--shiki-dark:#E1E4E8\">:\u003C/span>\u003Cspan style=\"--shiki-light:#383A42;--shiki-dark:#E1E4E8\"> { \u003C/span>\u003Cspan style=\"--shiki-light:#E45649;--shiki-dark:#E1E4E8\">human\u003C/span>\u003Cspan style=\"--shiki-light:#0184BC;--shiki-dark:#E1E4E8\">:\u003C/span>\u003Cspan style=\"--shiki-light:#986801;--shiki-dark:#79B8FF\"> true\u003C/span>\u003Cspan style=\"--shiki-light:#383A42;--shiki-dark:#E1E4E8\"> },\u003C/span>\u003C/span>\n\u003Cspan class=\"line\">\u003Cspan style=\"--shiki-light:#383A42;--shiki-dark:#E1E4E8\">});\u003C/span>\u003C/span>\u003C/code>\u003C/pre>\u003C/figure>\n\u003Cp>A direct agent reference in a prompt's \u003Ccode>tools\u003C/code> array performs a same-thread handoff when the target has a human side matching the thread's conversational surface. Declare a side-owned subagent relationship to instantiate an isolated child thread.\u003C/p>\n\u003Ch2 id=\"agents-as-subagents\">\u003Ca class=\"docs-anchor\" href=\"#agents-as-subagents\" aria-label=\"Link to this section\">\u003C/a>Agents as subagents\u003C/h2>\n\u003Cp>Any agent can run as a child thread. The parent agent declares the relationship in the \u003Ccode>subagents\u003C/code> array of the side that owns it:\u003C/p>\n\u003Cfigure class=\"docs-code\" data-docs=\"code\" data-lang=\"typescript\">\u003Cpre class=\"shiki shiki-themes one-light github-dark\" style=\"--shiki-light:#383A42;--shiki-dark:#e1e4e8;--shiki-light-bg:#FAFAFA;--shiki-dark-bg:#24292e\" tabindex=\"0\">\u003Ccode>\u003Cspan class=\"line\">\u003Cspan style=\"--shiki-light:#4078F2;--shiki-dark:#B392F0\">defineAgent\u003C/span>\u003Cspan style=\"--shiki-light:#383A42;--shiki-dark:#E1E4E8\">({\u003C/span>\u003C/span>\n\u003Cspan class=\"line\">\u003Cspan style=\"--shiki-light:#E45649;--shiki-dark:#E1E4E8\">  name\u003C/span>\u003Cspan style=\"--shiki-light:#0184BC;--shiki-dark:#E1E4E8\">:\u003C/span>\u003Cspan style=\"--shiki-light:#50A14F;--shiki-dark:#9ECBFF\"> 'orchestrator'\u003C/span>\u003Cspan style=\"--shiki-light:#383A42;--shiki-dark:#E1E4E8\">,\u003C/span>\u003C/span>\n\u003Cspan class=\"line\">\u003Cspan style=\"--shiki-light:#E45649;--shiki-dark:#E1E4E8\">  sideA\u003C/span>\u003Cspan style=\"--shiki-light:#0184BC;--shiki-dark:#E1E4E8\">:\u003C/span>\u003Cspan style=\"--shiki-light:#383A42;--shiki-dark:#E1E4E8\"> {\u003C/span>\u003C/span>\n\u003Cspan class=\"line\">\u003Cspan style=\"--shiki-light:#E45649;--shiki-dark:#E1E4E8\">    prompt\u003C/span>\u003Cspan style=\"--shiki-light:#0184BC;--shiki-dark:#E1E4E8\">:\u003C/span>\u003Cspan style=\"--shiki-light:#50A14F;--shiki-dark:#9ECBFF\"> 'orchestrator_prompt'\u003C/span>\u003Cspan style=\"--shiki-light:#383A42;--shiki-dark:#E1E4E8\">,\u003C/span>\u003C/span>\n\u003Cspan class=\"line\">\u003Cspan style=\"--shiki-light:#E45649;--shiki-dark:#E1E4E8\">    subagents\u003C/span>\u003Cspan style=\"--shiki-light:#0184BC;--shiki-dark:#E1E4E8\">:\u003C/span>\u003Cspan style=\"--shiki-light:#383A42;--shiki-dark:#E1E4E8\"> [{ \u003C/span>\u003Cspan style=\"--shiki-light:#E45649;--shiki-dark:#E1E4E8\">agent\u003C/span>\u003Cspan style=\"--shiki-light:#0184BC;--shiki-dark:#E1E4E8\">:\u003C/span>\u003Cspan style=\"--shiki-light:#50A14F;--shiki-dark:#9ECBFF\"> 'asset_subagent'\u003C/span>\u003Cspan style=\"--shiki-light:#383A42;--shiki-dark:#E1E4E8\">, \u003C/span>\u003Cspan style=\"--shiki-light:#E45649;--shiki-dark:#E1E4E8\">blocking\u003C/span>\u003Cspan style=\"--shiki-light:#0184BC;--shiki-dark:#E1E4E8\">:\u003C/span>\u003Cspan style=\"--shiki-light:#986801;--shiki-dark:#79B8FF\"> false\u003C/span>\u003Cspan style=\"--shiki-light:#383A42;--shiki-dark:#E1E4E8\"> }],\u003C/span>\u003C/span>\n\u003Cspan class=\"line\">\u003Cspan style=\"--shiki-light:#383A42;--shiki-dark:#E1E4E8\">  },\u003C/span>\u003C/span>\n\u003Cspan class=\"line\">\u003Cspan style=\"--shiki-light:#E45649;--shiki-dark:#E1E4E8\">  sideB\u003C/span>\u003Cspan style=\"--shiki-light:#0184BC;--shiki-dark:#E1E4E8\">:\u003C/span>\u003Cspan style=\"--shiki-light:#383A42;--shiki-dark:#E1E4E8\"> { \u003C/span>\u003Cspan style=\"--shiki-light:#E45649;--shiki-dark:#E1E4E8\">human\u003C/span>\u003Cspan style=\"--shiki-light:#0184BC;--shiki-dark:#E1E4E8\">:\u003C/span>\u003Cspan style=\"--shiki-light:#986801;--shiki-dark:#79B8FF\"> true\u003C/span>\u003Cspan style=\"--shiki-light:#383A42;--shiki-dark:#E1E4E8\"> },\u003C/span>\u003C/span>\n\u003Cspan class=\"line\">\u003Cspan style=\"--shiki-light:#383A42;--shiki-dark:#E1E4E8\">});\u003C/span>\u003C/span>\u003C/code>\u003C/pre>\u003C/figure>\n\u003Cp>Each child thread has:\u003C/p>\n\u003Cul>\n\u003Cli>isolated message history/logs/filesystem\u003C/li>\n\u003Cli>parent/child linkage and child registry\u003C/li>\n\u003Cli>blocking/non-blocking creation\u003C/li>\n\u003Cli>a persistent thread that accepts later messages after its session ends\u003C/li>\n\u003C/ul>\n\u003Cp>The runtime injects the lifecycle tools (\u003Ccode>subagents\u003C/code>, \u003Ccode>subagent_create\u003C/code>, \u003Ccode>subagent_message\u003C/code>) for a prompt-backed owning side. They are not user-defined files in \u003Ccode>agents/tools\u003C/code>.\u003C/p>\n\u003Cp>The child's side A prompt \u003Ccode>requiredSchema\u003C/code> defines \u003Ccode>subagent_create.arguments\u003C/code>. The validated arguments persist with the child thread as \u003Ccode>ThreadState.arguments\u003C/code>. Both child sides can read them and use their top-level keys as prompt variables.\u003C/p>\n\u003Ch2 id=\"example-worker-+-reviewer\">\u003Ca class=\"docs-anchor\" href=\"#example-worker-+-reviewer\" aria-label=\"Link to this section\">\u003C/a>Example: Worker + Reviewer\u003C/h2>\n\u003Cfigure class=\"docs-code\" data-docs=\"code\" data-lang=\"typescript\">\u003Cpre class=\"shiki shiki-themes one-light github-dark\" style=\"--shiki-light:#383A42;--shiki-dark:#e1e4e8;--shiki-light-bg:#FAFAFA;--shiki-dark-bg:#24292e\" tabindex=\"0\">\u003Ccode>\u003Cspan class=\"line\">\u003Cspan style=\"--shiki-light:#4078F2;--shiki-dark:#B392F0\">defineAgent\u003C/span>\u003Cspan style=\"--shiki-light:#383A42;--shiki-dark:#E1E4E8\">({\u003C/span>\u003C/span>\n\u003Cspan class=\"line\">\u003Cspan style=\"--shiki-light:#E45649;--shiki-dark:#E1E4E8\">  name\u003C/span>\u003Cspan style=\"--shiki-light:#0184BC;--shiki-dark:#E1E4E8\">:\u003C/span>\u003Cspan style=\"--shiki-light:#50A14F;--shiki-dark:#9ECBFF\"> 'asset_subagent'\u003C/span>\u003Cspan style=\"--shiki-light:#383A42;--shiki-dark:#E1E4E8\">,\u003C/span>\u003C/span>\n\u003Cspan class=\"line\">\u003Cspan style=\"--shiki-light:#E45649;--shiki-dark:#E1E4E8\">  maxSessionTurns\u003C/span>\u003Cspan style=\"--shiki-light:#0184BC;--shiki-dark:#E1E4E8\">:\u003C/span>\u003Cspan style=\"--shiki-light:#986801;--shiki-dark:#79B8FF\"> 40\u003C/span>\u003Cspan style=\"--shiki-light:#383A42;--shiki-dark:#E1E4E8\">,\u003C/span>\u003C/span>\n\u003Cspan class=\"line\">\u003Cspan style=\"--shiki-light:#E45649;--shiki-dark:#E1E4E8\">  exposeAsTool\u003C/span>\u003Cspan style=\"--shiki-light:#0184BC;--shiki-dark:#E1E4E8\">:\u003C/span>\u003Cspan style=\"--shiki-light:#986801;--shiki-dark:#79B8FF\"> true\u003C/span>\u003Cspan style=\"--shiki-light:#383A42;--shiki-dark:#E1E4E8\">,\u003C/span>\u003C/span>\n\u003Cspan class=\"line\">\u003Cspan style=\"--shiki-light:#E45649;--shiki-dark:#E1E4E8\">  toolDescription\u003C/span>\u003Cspan style=\"--shiki-light:#0184BC;--shiki-dark:#E1E4E8\">:\u003C/span>\u003Cspan style=\"--shiki-light:#50A14F;--shiki-dark:#9ECBFF\"> 'Generate and QA top-down assets.'\u003C/span>\u003Cspan style=\"--shiki-light:#383A42;--shiki-dark:#E1E4E8\">,\u003C/span>\u003C/span>\n\u003Cspan class=\"line\">\u003Cspan style=\"--shiki-light:#E45649;--shiki-dark:#E1E4E8\">  sideA\u003C/span>\u003Cspan style=\"--shiki-light:#0184BC;--shiki-dark:#E1E4E8\">:\u003C/span>\u003Cspan style=\"--shiki-light:#383A42;--shiki-dark:#E1E4E8\"> {\u003C/span>\u003C/span>\n\u003Cspan class=\"line\">\u003Cspan style=\"--shiki-light:#E45649;--shiki-dark:#E1E4E8\">    label\u003C/span>\u003Cspan style=\"--shiki-light:#0184BC;--shiki-dark:#E1E4E8\">:\u003C/span>\u003Cspan style=\"--shiki-light:#50A14F;--shiki-dark:#9ECBFF\"> 'Worker'\u003C/span>\u003Cspan style=\"--shiki-light:#383A42;--shiki-dark:#E1E4E8\">,\u003C/span>\u003C/span>\n\u003Cspan class=\"line\">\u003Cspan style=\"--shiki-light:#E45649;--shiki-dark:#E1E4E8\">    prompt\u003C/span>\u003Cspan style=\"--shiki-light:#0184BC;--shiki-dark:#E1E4E8\">:\u003C/span>\u003Cspan style=\"--shiki-light:#50A14F;--shiki-dark:#9ECBFF\"> 'asset_worker'\u003C/span>\u003Cspan style=\"--shiki-light:#383A42;--shiki-dark:#E1E4E8\">,\u003C/span>\u003C/span>\n\u003Cspan class=\"line\">\u003Cspan style=\"--shiki-light:#E45649;--shiki-dark:#E1E4E8\">    stopOnResponse\u003C/span>\u003Cspan style=\"--shiki-light:#0184BC;--shiki-dark:#E1E4E8\">:\u003C/span>\u003Cspan style=\"--shiki-light:#986801;--shiki-dark:#79B8FF\"> true\u003C/span>\u003Cspan style=\"--shiki-light:#383A42;--shiki-dark:#E1E4E8\">,\u003C/span>\u003C/span>\n\u003Cspan class=\"line\">\u003Cspan style=\"--shiki-light:#E45649;--shiki-dark:#E1E4E8\">    sessionFail\u003C/span>\u003Cspan style=\"--shiki-light:#0184BC;--shiki-dark:#E1E4E8\">:\u003C/span>\u003Cspan style=\"--shiki-light:#383A42;--shiki-dark:#E1E4E8\"> {\u003C/span>\u003C/span>\n\u003Cspan class=\"line\">\u003Cspan style=\"--shiki-light:#E45649;--shiki-dark:#E1E4E8\">      name\u003C/span>\u003Cspan style=\"--shiki-light:#0184BC;--shiki-dark:#E1E4E8\">:\u003C/span>\u003Cspan style=\"--shiki-light:#50A14F;--shiki-dark:#9ECBFF\"> 'fail_asset'\u003C/span>\u003Cspan style=\"--shiki-light:#383A42;--shiki-dark:#E1E4E8\">,\u003C/span>\u003C/span>\n\u003Cspan class=\"line\">\u003Cspan style=\"--shiki-light:#E45649;--shiki-dark:#E1E4E8\">      messageProperty\u003C/span>\u003Cspan style=\"--shiki-light:#0184BC;--shiki-dark:#E1E4E8\">:\u003C/span>\u003Cspan style=\"--shiki-light:#50A14F;--shiki-dark:#9ECBFF\"> 'summary'\u003C/span>\u003Cspan style=\"--shiki-light:#383A42;--shiki-dark:#E1E4E8\">,\u003C/span>\u003C/span>\n\u003Cspan class=\"line\">\u003Cspan style=\"--shiki-light:#E45649;--shiki-dark:#E1E4E8\">      attachmentsProperty\u003C/span>\u003Cspan style=\"--shiki-light:#0184BC;--shiki-dark:#E1E4E8\">:\u003C/span>\u003Cspan style=\"--shiki-light:#50A14F;--shiki-dark:#9ECBFF\"> 'attachments'\u003C/span>\u003Cspan style=\"--shiki-light:#383A42;--shiki-dark:#E1E4E8\">,\u003C/span>\u003C/span>\n\u003Cspan class=\"line\">\u003Cspan style=\"--shiki-light:#383A42;--shiki-dark:#E1E4E8\">    },\u003C/span>\u003C/span>\n\u003Cspan class=\"line\">\u003Cspan style=\"--shiki-light:#383A42;--shiki-dark:#E1E4E8\">  },\u003C/span>\u003C/span>\n\u003Cspan class=\"line\">\u003Cspan style=\"--shiki-light:#E45649;--shiki-dark:#E1E4E8\">  sideB\u003C/span>\u003Cspan style=\"--shiki-light:#0184BC;--shiki-dark:#E1E4E8\">:\u003C/span>\u003Cspan style=\"--shiki-light:#383A42;--shiki-dark:#E1E4E8\"> {\u003C/span>\u003C/span>\n\u003Cspan class=\"line\">\u003Cspan style=\"--shiki-light:#E45649;--shiki-dark:#E1E4E8\">    label\u003C/span>\u003Cspan style=\"--shiki-light:#0184BC;--shiki-dark:#E1E4E8\">:\u003C/span>\u003Cspan style=\"--shiki-light:#50A14F;--shiki-dark:#9ECBFF\"> 'Reviewer'\u003C/span>\u003Cspan style=\"--shiki-light:#383A42;--shiki-dark:#E1E4E8\">,\u003C/span>\u003C/span>\n\u003Cspan class=\"line\">\u003Cspan style=\"--shiki-light:#E45649;--shiki-dark:#E1E4E8\">    prompt\u003C/span>\u003Cspan style=\"--shiki-light:#0184BC;--shiki-dark:#E1E4E8\">:\u003C/span>\u003Cspan style=\"--shiki-light:#50A14F;--shiki-dark:#9ECBFF\"> 'asset_reviewer'\u003C/span>\u003Cspan style=\"--shiki-light:#383A42;--shiki-dark:#E1E4E8\">,\u003C/span>\u003C/span>\n\u003Cspan class=\"line\">\u003Cspan style=\"--shiki-light:#E45649;--shiki-dark:#E1E4E8\">    stopOnResponse\u003C/span>\u003Cspan style=\"--shiki-light:#0184BC;--shiki-dark:#E1E4E8\">:\u003C/span>\u003Cspan style=\"--shiki-light:#986801;--shiki-dark:#79B8FF\"> false\u003C/span>\u003Cspan style=\"--shiki-light:#383A42;--shiki-dark:#E1E4E8\">,\u003C/span>\u003C/span>\n\u003Cspan class=\"line\">\u003Cspan style=\"--shiki-light:#E45649;--shiki-dark:#E1E4E8\">    sessionStop\u003C/span>\u003Cspan style=\"--shiki-light:#0184BC;--shiki-dark:#E1E4E8\">:\u003C/span>\u003Cspan style=\"--shiki-light:#383A42;--shiki-dark:#E1E4E8\"> {\u003C/span>\u003C/span>\n\u003Cspan class=\"line\">\u003Cspan style=\"--shiki-light:#E45649;--shiki-dark:#E1E4E8\">      name\u003C/span>\u003Cspan style=\"--shiki-light:#0184BC;--shiki-dark:#E1E4E8\">:\u003C/span>\u003Cspan style=\"--shiki-light:#50A14F;--shiki-dark:#9ECBFF\"> 'approve_asset'\u003C/span>\u003Cspan style=\"--shiki-light:#383A42;--shiki-dark:#E1E4E8\">,\u003C/span>\u003C/span>\n\u003Cspan class=\"line\">\u003Cspan style=\"--shiki-light:#E45649;--shiki-dark:#E1E4E8\">      messageProperty\u003C/span>\u003Cspan style=\"--shiki-light:#0184BC;--shiki-dark:#E1E4E8\">:\u003C/span>\u003Cspan style=\"--shiki-light:#50A14F;--shiki-dark:#9ECBFF\"> 'summary'\u003C/span>\u003Cspan style=\"--shiki-light:#383A42;--shiki-dark:#E1E4E8\">,\u003C/span>\u003C/span>\n\u003Cspan class=\"line\">\u003Cspan style=\"--shiki-light:#E45649;--shiki-dark:#E1E4E8\">      attachmentsProperty\u003C/span>\u003Cspan style=\"--shiki-light:#0184BC;--shiki-dark:#E1E4E8\">:\u003C/span>\u003Cspan style=\"--shiki-light:#50A14F;--shiki-dark:#9ECBFF\"> 'attachments'\u003C/span>\u003Cspan style=\"--shiki-light:#383A42;--shiki-dark:#E1E4E8\">,\u003C/span>\u003C/span>\n\u003Cspan class=\"line\">\u003Cspan style=\"--shiki-light:#383A42;--shiki-dark:#E1E4E8\">    },\u003C/span>\u003C/span>\n\u003Cspan class=\"line\">\u003Cspan style=\"--shiki-light:#E45649;--shiki-dark:#E1E4E8\">    sessionStatus\u003C/span>\u003Cspan style=\"--shiki-light:#0184BC;--shiki-dark:#E1E4E8\">:\u003C/span>\u003Cspan style=\"--shiki-light:#383A42;--shiki-dark:#E1E4E8\"> {\u003C/span>\u003C/span>\n\u003Cspan class=\"line\">\u003Cspan style=\"--shiki-light:#E45649;--shiki-dark:#E1E4E8\">      name\u003C/span>\u003Cspan style=\"--shiki-light:#0184BC;--shiki-dark:#E1E4E8\">:\u003C/span>\u003Cspan style=\"--shiki-light:#50A14F;--shiki-dark:#9ECBFF\"> 'asset_status'\u003C/span>\u003Cspan style=\"--shiki-light:#383A42;--shiki-dark:#E1E4E8\">,\u003C/span>\u003C/span>\n\u003Cspan class=\"line\">\u003Cspan style=\"--shiki-light:#E45649;--shiki-dark:#E1E4E8\">      messageProperty\u003C/span>\u003Cspan style=\"--shiki-light:#0184BC;--shiki-dark:#E1E4E8\">:\u003C/span>\u003Cspan style=\"--shiki-light:#50A14F;--shiki-dark:#9ECBFF\"> 'status'\u003C/span>\u003Cspan style=\"--shiki-light:#383A42;--shiki-dark:#E1E4E8\">,\u003C/span>\u003C/span>\n\u003Cspan class=\"line\">\u003Cspan style=\"--shiki-light:#383A42;--shiki-dark:#E1E4E8\">    },\u003C/span>\u003C/span>\n\u003Cspan class=\"line\">\u003Cspan style=\"--shiki-light:#383A42;--shiki-dark:#E1E4E8\">  },\u003C/span>\u003C/span>\n\u003Cspan class=\"line\">\u003Cspan style=\"--shiki-light:#383A42;--shiki-dark:#E1E4E8\">});\u003C/span>\u003C/span>\u003C/code>\u003C/pre>\u003C/figure>\n\u003Ch2 id=\"best-practices\">\u003Ca class=\"docs-anchor\" href=\"#best-practices\" aria-label=\"Link to this section\">\u003C/a>Best Practices\u003C/h2>\n\u003Cul>\n\u003Cli>Set \u003Ccode>maxSessionTurns\u003C/code> when both sides are prompt-backed\u003C/li>\n\u003Cli>Use \u003Ccode>sessionStop\u003C/code> / \u003Ccode>sessionFail\u003C/code> for explicit terminal outcomes\u003C/li>\n\u003Cli>Map \u003Ccode>messageProperty\u003C/code> and \u003Ccode>attachmentsProperty\u003C/code> when the parent needs the payload\u003C/li>\n\u003Cli>Keep side prompts specialized (\u003Ccode>side_a\u003C/code> production, \u003Ccode>side_b\u003C/code> QA)\u003C/li>\n\u003C/ul>\n\u003Ch2 id=\"related-docs\">\u003Ca class=\"docs-anchor\" href=\"#related-docs\" aria-label=\"Link to this section\">\u003C/a>Related Docs\u003C/h2>\n\u003Cul>\n\u003Cli>\u003Ca href=\"/docs/core-concepts/subagents\">Subagents\u003C/a>\u003C/li>\n\u003Cli>\u003Ca href=\"/docs/core-concepts/prompts\">Prompts\u003C/a>\u003C/li>\n\u003Cli>\u003Ca href=\"/docs/api-reference/define/agent\">defineAgent\u003C/a>\u003C/li>\n\u003C/ul>",[9,13,16,19,22,25,28,31],{"id":10,"text":11,"depth":12},"what-are-agents","What Are Agents?",2,{"id":14,"text":15,"depth":12},"basic-example","Basic Example",{"id":17,"text":18,"depth":12},"side-configuration","Side Configuration",{"id":20,"text":21,"depth":12},"exposing-agents-as-tools","Exposing Agents as Tools",{"id":23,"text":24,"depth":12},"agents-as-subagents","Agents as subagents",{"id":26,"text":27,"depth":12},"example-worker-+-reviewer","Example: Worker + Reviewer",{"id":29,"text":30,"depth":12},"best-practices","Best Practices",{"id":32,"text":33,"depth":12},"related-docs","Related Docs","core-concepts/agents","docs","Core Concepts",{"path":38,"title":39,"navTitle":39},"core-concepts/prompts","Prompts",{"path":41,"title":42,"navTitle":42},"core-concepts/handlers","Handlers","/docs/core-concepts/agents.md","https://github.com/standardagents/agentbuilder/blob/main/docs/core-concepts/agents.mdx",1794580508453]