[{"data":1,"prerenderedAt":861},["ShallowReactive",2],{"navigation_docs":3,"-agents-contracts-and-limits":320,"-agents-contracts-and-limits-surround":856},[4,35,69,109,133,193,228,262,305],{"title":5,"icon":6,"path":7,"stem":8,"children":9,"page":6},"Getting started",false,"\u002Fgetting-started","1.getting-started",[10,15,20,25,30],{"title":11,"path":12,"stem":13,"icon":14},"Introduction","\u002Fgetting-started\u002Fintroduction","1.getting-started\u002F1.introduction","i-ph-house",{"title":16,"path":17,"stem":18,"icon":19},"Quickstart","\u002Fgetting-started\u002Fquickstart","1.getting-started\u002F2.quickstart","i-ph-rocket-launch",{"title":21,"path":22,"stem":23,"icon":24},"Concepts","\u002Fgetting-started\u002Fconcepts","1.getting-started\u002F3.concepts","i-ph-book-open",{"title":26,"path":27,"stem":28,"icon":29},"Install","\u002Fgetting-started\u002Finstall","1.getting-started\u002F4.install","i-ph-download-simple",{"title":31,"path":32,"stem":33,"icon":34},"What works today","\u002Fgetting-started\u002Fstatus","1.getting-started\u002F5.status","i-ph-list-checks",{"title":21,"icon":6,"path":36,"stem":37,"children":38,"page":6},"\u002Fconcepts","2.concepts",[39,44,49,54,59,64],{"title":40,"path":41,"stem":42,"icon":43},"Architecture","\u002Fconcepts\u002Farchitecture","2.concepts\u002F1.architecture","i-ph-planet",{"title":45,"path":46,"stem":47,"icon":48},"Jobs and durability","\u002Fconcepts\u002Fjobs","2.concepts\u002F2.jobs","i-ph-infinity",{"title":50,"path":51,"stem":52,"icon":53},"Routing","\u002Fconcepts\u002Frouting","2.concepts\u002F3.routing","i-ph-path",{"title":55,"path":56,"stem":57,"icon":58},"Security model","\u002Fconcepts\u002Fsecurity","2.concepts\u002F4.security","i-ph-shield-check",{"title":60,"path":61,"stem":62,"icon":63},"Tenants","\u002Fconcepts\u002Ftenants","2.concepts\u002F5.tenants","i-ph-buildings",{"title":65,"path":66,"stem":67,"icon":68},"Temporal","\u002Fconcepts\u002Ftemporal","2.concepts\u002F6.temporal","i-ph-clock",{"title":70,"icon":6,"path":71,"stem":72,"children":73,"page":6},"Run a fleet","\u002Ffleet","3.fleet",[74,79,84,89,94,99,104],{"title":75,"path":76,"stem":77,"icon":78},"Dev mode","\u002Ffleet\u002Fdev-mode","3.fleet\u002F1.dev-mode","i-ph-laptop",{"title":80,"path":81,"stem":82,"icon":83},"Run a cluster","\u002Ffleet\u002Fcluster","3.fleet\u002F2.cluster","i-ph-hard-drives",{"title":85,"path":86,"stem":87,"icon":88},"Join nodes","\u002Ffleet\u002Fjoin-nodes","3.fleet\u002F3.join-nodes","i-ph-plugs-connected",{"title":90,"path":91,"stem":92,"icon":93},"Manage nodes","\u002Ffleet\u002Fmanage-nodes","3.fleet\u002F4.manage-nodes","i-ph-list-bullets",{"title":95,"path":96,"stem":97,"icon":98},"Secrets","\u002Ffleet\u002Fsecrets","3.fleet\u002F5.secrets","i-ph-key",{"title":100,"path":101,"stem":102,"icon":103},"High availability","\u002Ffleet\u002Fhigh-availability","3.fleet\u002F6.high-availability","i-ph-copy",{"title":105,"path":106,"stem":107,"icon":108},"Upgrades, backups and restores","\u002Ffleet\u002Fupgrades","3.fleet\u002F7.upgrades","i-ph-arrows-clockwise",{"title":110,"icon":6,"path":111,"stem":112,"children":113,"page":6},"Use plugins","\u002Fplugins","4.plugins",[114,119,124,128],{"title":115,"path":116,"stem":117,"icon":118},"What a plugin is","\u002Fplugins\u002Foverview","4.plugins\u002F1.overview","i-ph-puzzle-piece",{"title":120,"path":121,"stem":122,"icon":123},"Install and update","\u002Fplugins\u002Finstall","4.plugins\u002F2.install","i-ph-package",{"title":125,"path":126,"stem":127,"icon":123},"Existing MCP packages","\u002Fplugins\u002Fpackages","4.plugins\u002F3.packages",{"title":129,"path":130,"stem":131,"icon":132},"The catalog","\u002Fplugins\u002Fcatalog","4.plugins\u002F4.catalog","i-ph-books",{"title":134,"icon":6,"path":135,"stem":136,"children":137,"page":6},"Build plugins","\u002Fbuild-plugins","5.build-plugins",[138,143,148,153,158,163,168,173,178,183,188],{"title":139,"path":140,"stem":141,"icon":142},"Your first plugin","\u002Fbuild-plugins\u002Ffirst-plugin","5.build-plugins\u002F1.first-plugin","i-ph-hammer",{"title":144,"path":145,"stem":146,"icon":147},"Harnesses","\u002Fbuild-plugins\u002Fharnesses","5.build-plugins\u002F10.harnesses","i-ph-cpu",{"title":149,"path":150,"stem":151,"icon":152},"Example: support triage","\u002Fbuild-plugins\u002Fexample-support-triage","5.build-plugins\u002F11.example-support-triage","i-ph-lifebuoy",{"title":154,"path":155,"stem":156,"icon":157},"Tools","\u002Fbuild-plugins\u002Ftools","5.build-plugins\u002F2.tools","i-ph-wrench",{"title":159,"path":160,"stem":161,"icon":162},"Agents","\u002Fbuild-plugins\u002Fagents","5.build-plugins\u002F3.agents","i-ph-robot",{"title":164,"path":165,"stem":166,"icon":167},"Skills","\u002Fbuild-plugins\u002Fskills","5.build-plugins\u002F4.skills","i-ph-graduation-cap",{"title":169,"path":170,"stem":171,"icon":172},"Develop and test","\u002Fbuild-plugins\u002Fdevelop-and-test","5.build-plugins\u002F5.develop-and-test","i-ph-flask",{"title":174,"path":175,"stem":176,"icon":177},"Publish and version","\u002Fbuild-plugins\u002Fpublish","5.build-plugins\u002F6.publish","i-ph-tag",{"title":179,"path":180,"stem":181,"icon":182},"Hooks","\u002Fbuild-plugins\u002Fhooks","5.build-plugins\u002F7.hooks","i-ph-anchor",{"title":184,"path":185,"stem":186,"icon":187},"Flows","\u002Fbuild-plugins\u002Fflows","5.build-plugins\u002F8.flows","i-ph-flow-arrow",{"title":189,"path":190,"stem":191,"icon":192},"Evals and quality gates","\u002Fbuild-plugins\u002Fevals","5.build-plugins\u002F9.evals","i-ph-seal-check",{"title":194,"icon":6,"path":195,"stem":196,"children":197,"page":6},"Run agents","\u002Fagents","6.agents",[198,203,208,213,218,223],{"title":199,"path":200,"stem":201,"icon":202},"Run jobs","\u002Fagents\u002Frun-jobs","6.agents\u002F1.run-jobs","i-ph-play",{"title":204,"path":205,"stem":206,"icon":207},"Models and keys","\u002Fagents\u002Fmodels-and-keys","6.agents\u002F2.models-and-keys","i-ph-sparkle",{"title":209,"path":210,"stem":211,"icon":212},"Delegation","\u002Fagents\u002Fdelegation","6.agents\u002F3.delegation","i-ph-git-fork",{"title":214,"path":215,"stem":216,"icon":217},"Contracts and limits","\u002Fagents\u002Fcontracts-and-limits","6.agents\u002F4.contracts-and-limits","i-ph-ruler",{"title":219,"path":220,"stem":221,"icon":222},"Runtime API","\u002Fagents\u002Fruntime-api","6.agents\u002F5.runtime-api","i-ph-plug",{"title":224,"path":225,"stem":226,"icon":227},"Approvals","\u002Fagents\u002Fapprovals","6.agents\u002F6.approvals","i-ph-hand-palm",{"title":229,"icon":6,"path":230,"stem":231,"children":232,"page":6},"Monitor","\u002Fmonitor","7.monitor",[233,238,243,248,253,258],{"title":234,"path":235,"stem":236,"icon":237},"Web UI","\u002Fmonitor\u002Fweb-ui","7.monitor\u002F0.web-ui","i-ph-monitor",{"title":239,"path":240,"stem":241,"icon":242},"Cost and usage","\u002Fmonitor\u002Fcost-and-usage","7.monitor\u002F1.cost-and-usage","i-ph-coins",{"title":244,"path":245,"stem":246,"icon":247},"Node health","\u002Fmonitor\u002Fnodes","7.monitor\u002F2.nodes","i-ph-heartbeat",{"title":249,"path":250,"stem":251,"icon":252},"Job history","\u002Fmonitor\u002Fhistory","7.monitor\u002F3.history","i-ph-clock-counter-clockwise",{"title":254,"path":255,"stem":256,"icon":257},"Tracing and metrics","\u002Fmonitor\u002Fobservability","7.monitor\u002F4.observability","i-ph-chart-line",{"title":259,"path":260,"stem":261,"icon":152},"Troubleshooting","\u002Fmonitor\u002Ftroubleshooting","7.monitor\u002F5.troubleshooting",{"title":263,"icon":6,"path":264,"stem":265,"children":266,"page":6},"Reference","\u002Freference","8.reference",[267,281,286,290,295,300],{"title":268,"icon":269,"path":270,"stem":271,"children":272,"page":6},"CLI","i-ph-terminal-window","\u002Freference\u002Fcli","8.reference\u002F1.cli",[273,277],{"title":274,"path":275,"stem":276},"orchestrator-zero","\u002Freference\u002Fcli\u002Forchestrator-zero","8.reference\u002F1.cli\u002F1.orchestrator-zero",{"title":278,"path":279,"stem":280},"orchestrator-zero-node","\u002Freference\u002Fcli\u002Forchestrator-zero-node","8.reference\u002F1.cli\u002F2.orchestrator-zero-node",{"title":282,"path":283,"stem":284,"icon":285},"oz0-plugin.yaml","\u002Freference\u002Fplugin-manifest","8.reference\u002F2.plugin-manifest","i-ph-file-code",{"title":287,"path":288,"stem":289,"icon":162},"Agent definition","\u002Freference\u002Fagent-definition","8.reference\u002F3.agent-definition",{"title":291,"path":292,"stem":293,"icon":294},"Ports","\u002Freference\u002Fports","8.reference\u002F4.ports","i-ph-network",{"title":296,"path":297,"stem":298,"icon":299},"Environment variables","\u002Freference\u002Fenvironment","8.reference\u002F5.environment","i-ph-brackets-curly",{"title":301,"path":302,"stem":303,"icon":304},"Files and directories","\u002Freference\u002Ffiles","8.reference\u002F6.files","i-ph-tree-structure",{"title":306,"icon":6,"path":307,"stem":308,"children":309,"page":6},"About","\u002Fabout","9.about",[310,315],{"title":311,"path":312,"stem":313,"icon":314},"Licensing","\u002Fabout\u002Flicensing","9.about\u002F1.licensing","i-ph-scales",{"title":316,"path":317,"stem":318,"icon":319},"About these docs","\u002Fabout\u002Fcontributing-docs","9.about\u002F2.contributing-docs","i-ph-pencil-simple",{"id":321,"title":214,"body":322,"description":849,"extension":850,"links":851,"meta":852,"navigation":853,"path":215,"seo":854,"stem":216,"__hash__":855},"docs\u002F6.agents\u002F4.contracts-and-limits.md",{"type":323,"value":324,"toc":840},"minimark",[325,329,334,362,529,540,544,559,562,566,631,638,642,657,689,708,713,716,768,776,784,798,802,816,836],[326,327,328],"p",{},"Users build the agents; the platform makes sure they stay inside the lines. None of this relies on the agent behaving well: it is enforced in workflow code.",[330,331,333],"h2",{"id":332},"input-contract","Input contract",[335,336,342],"pre",{"className":337,"code":338,"filename":339,"language":340,"meta":341,"style":341},"language-yaml shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","input_schema: schemas\u002Freview-input.json\n","agents\u002Freviewer.yaml","yaml","",[343,344,345],"code",{"__ignoreMap":341},[346,347,350,354,358],"span",{"class":348,"line":349},"line",1,[346,351,353],{"class":352},"swJcz","input_schema",[346,355,357],{"class":356},"sMK4o",":",[346,359,361],{"class":360},"sfazB"," schemas\u002Freview-input.json\n",[335,363,368],{"className":364,"code":365,"filename":366,"language":367,"meta":341,"style":341},"language-json shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","{\n  \"type\": \"object\",\n  \"required\": [\"repo\", \"pr\"],\n  \"properties\": {\n    \"repo\": { \"type\": \"string\" },\n    \"pr\": { \"type\": \"integer\" }\n  }\n}\n","schemas\u002Freview-input.json","json",[343,369,370,375,401,436,451,486,517,523],{"__ignoreMap":341},[346,371,372],{"class":348,"line":349},[346,373,374],{"class":356},"{\n",[346,376,378,381,385,388,390,393,396,398],{"class":348,"line":377},2,[346,379,380],{"class":356},"  \"",[346,382,384],{"class":383},"spNyl","type",[346,386,387],{"class":356},"\"",[346,389,357],{"class":356},[346,391,392],{"class":356}," \"",[346,394,395],{"class":360},"object",[346,397,387],{"class":356},[346,399,400],{"class":356},",\n",[346,402,404,406,409,411,413,416,418,421,423,426,428,431,433],{"class":348,"line":403},3,[346,405,380],{"class":356},[346,407,408],{"class":383},"required",[346,410,387],{"class":356},[346,412,357],{"class":356},[346,414,415],{"class":356}," [",[346,417,387],{"class":356},[346,419,420],{"class":360},"repo",[346,422,387],{"class":356},[346,424,425],{"class":356},",",[346,427,392],{"class":356},[346,429,430],{"class":360},"pr",[346,432,387],{"class":356},[346,434,435],{"class":356},"],\n",[346,437,439,441,444,446,448],{"class":348,"line":438},4,[346,440,380],{"class":356},[346,442,443],{"class":383},"properties",[346,445,387],{"class":356},[346,447,357],{"class":356},[346,449,450],{"class":356}," {\n",[346,452,454,457,460,462,464,467,469,472,474,476,478,481,483],{"class":348,"line":453},5,[346,455,456],{"class":356},"    \"",[346,458,420],{"class":459},"sBMFI",[346,461,387],{"class":356},[346,463,357],{"class":356},[346,465,466],{"class":356}," {",[346,468,392],{"class":356},[346,470,384],{"class":471},"sbssI",[346,473,387],{"class":356},[346,475,357],{"class":356},[346,477,392],{"class":356},[346,479,480],{"class":360},"string",[346,482,387],{"class":356},[346,484,485],{"class":356}," },\n",[346,487,489,491,493,495,497,499,501,503,505,507,509,512,514],{"class":348,"line":488},6,[346,490,456],{"class":356},[346,492,430],{"class":459},[346,494,387],{"class":356},[346,496,357],{"class":356},[346,498,466],{"class":356},[346,500,392],{"class":356},[346,502,384],{"class":471},[346,504,387],{"class":356},[346,506,357],{"class":356},[346,508,392],{"class":356},[346,510,511],{"class":360},"integer",[346,513,387],{"class":356},[346,515,516],{"class":356}," }\n",[346,518,520],{"class":348,"line":519},7,[346,521,522],{"class":356},"  }\n",[346,524,526],{"class":348,"line":525},8,[346,527,528],{"class":356},"}\n",[326,530,531,532,535,536,539],{},"A job whose input does not match fails before the agent starts, with ",[343,533,534],{},"InvalidInput",", and is not retried. With an input schema, start jobs with JSON: ",[343,537,538],{},"orchestrator-zero run reviewer '{\"repo\": \"acme\u002Fapi\", \"pr\": 42}'",".",[330,541,543],{"id":542},"output-contract","Output contract",[335,545,547],{"className":337,"code":546,"filename":339,"language":340,"meta":341,"style":341},"output_schema: schemas\u002Freview.json\n",[343,548,549],{"__ignoreMap":341},[346,550,551,554,556],{"class":348,"line":349},[346,552,553],{"class":352},"output_schema",[346,555,357],{"class":356},[346,557,558],{"class":360}," schemas\u002Freview.json\n",[326,560,561],{},"The model is asked to answer in that structure. An answer that does not match goes back to the model with the reason, at most twice; after that the job fails with a clear error. The job's answer is then JSON that matches the schema, ready for an app to use.",[330,563,565],{"id":564},"limits","Limits",[335,567,569],{"className":337,"code":568,"filename":339,"language":340,"meta":341,"style":341},"limits:\n  max_steps: 20        # model calls per job (default 50)\n  max_tokens: 200000   # input plus output tokens per job\n  timeout: 10m         # wall-clock time, such as 90s, 10m or 1h30m\n  max_cost_usd: 2.0    # the job's default budget, for it and every job it delegates to\n",[343,570,571,578,592,605,618],{"__ignoreMap":341},[346,572,573,575],{"class":348,"line":349},[346,574,564],{"class":352},[346,576,577],{"class":356},":\n",[346,579,580,583,585,588],{"class":348,"line":377},[346,581,582],{"class":352},"  max_steps",[346,584,357],{"class":356},[346,586,587],{"class":471}," 20",[346,589,591],{"class":590},"sHwdD","        # model calls per job (default 50)\n",[346,593,594,597,599,602],{"class":348,"line":403},[346,595,596],{"class":352},"  max_tokens",[346,598,357],{"class":356},[346,600,601],{"class":471}," 200000",[346,603,604],{"class":590},"   # input plus output tokens per job\n",[346,606,607,610,612,615],{"class":348,"line":438},[346,608,609],{"class":352},"  timeout",[346,611,357],{"class":356},[346,613,614],{"class":360}," 10m",[346,616,617],{"class":590},"         # wall-clock time, such as 90s, 10m or 1h30m\n",[346,619,620,623,625,628],{"class":348,"line":453},[346,621,622],{"class":352},"  max_cost_usd",[346,624,357],{"class":356},[346,626,627],{"class":471}," 2.0",[346,629,630],{"class":590},"    # the job's default budget, for it and every job it delegates to\n",[326,632,633,634,637],{},"A job that reaches a limit ends with the reason. ",[343,635,636],{},"run --timeout"," adds a limit on top for one job.",[330,639,641],{"id":640},"budgets","Budgets",[326,643,644,645,648,649,652,653,656],{},"A budget caps what a job and every job below it may spend on model calls, in US dollars. ",[343,646,647],{},"limits.max_cost_usd"," sets the default for an agent's jobs, and ",[343,650,651],{},"run --budget"," (or ",[343,654,655],{},"budget_usd"," in the runtime API) sets it for one job:",[335,658,663],{"className":659,"code":660,"filename":661,"language":662,"meta":341,"style":341},"language-bash shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","orchestrator-zero run reviewer --budget 0.50 \"Review PR 42 in acme\u002Fapi\"\n","Terminal","bash",[343,664,665],{"__ignoreMap":341},[346,666,667,669,672,675,678,681,683,686],{"class":348,"line":349},[346,668,274],{"class":459},[346,670,671],{"class":360}," run",[346,673,674],{"class":360}," reviewer",[346,676,677],{"class":360}," --budget",[346,679,680],{"class":471}," 0.50",[346,682,392],{"class":356},[346,684,685],{"class":360},"Review PR 42 in acme\u002Fapi",[346,687,688],{"class":356},"\"\n",[326,690,691,692,695,696,699,700,703,704,707],{},"The LLM gateway checks every call against what the whole tree has spent, costs that plugins report for their own services included. Once the budget is gone it refuses the next call with ",[343,693,694],{},"402 oz0_budget_exceeded",", and the job fails with ",[343,697,698],{},"BudgetExceeded"," without retrying. The check happens before each call, so a job can end a call's worth over its budget. Calls that are still running count too: each one holds an estimate of what it may cost, from the size of its input and its output limit (",[343,701,702],{},"max_tokens",", at most 4,096 tokens), until its real cost is recorded. So fifty children that start at once cannot all pass a budget that only one of them fits. Each edge counts the calls it carries; calls through another edge show up once they are recorded. ",[343,705,706],{},"job get"," shows the budget next to the cost.",[709,710,712],"h3",{"id":711},"a-budget-per-tenant-and-month","A budget per tenant and month",[326,714,715],{},"A tenant can have a budget for each calendar month (UTC), which covers every model call of the tenant and what its plugins report:",[335,717,719],{"className":659,"code":718,"filename":661,"language":662,"meta":341,"style":341},"orchestrator-zero tenant budget acme 250      # $250 a month\norchestrator-zero tenant list                 # this month's spending and the budget, per tenant\norchestrator-zero tenant budget acme 0        # no monthly budget\n",[343,720,721,740,752],{"__ignoreMap":341},[346,722,723,725,728,731,734,737],{"class":348,"line":349},[346,724,274],{"class":459},[346,726,727],{"class":360}," tenant",[346,729,730],{"class":360}," budget",[346,732,733],{"class":360}," acme",[346,735,736],{"class":471}," 250",[346,738,739],{"class":590},"      # $250 a month\n",[346,741,742,744,746,749],{"class":348,"line":377},[346,743,274],{"class":459},[346,745,727],{"class":360},[346,747,748],{"class":360}," list",[346,750,751],{"class":590},"                 # this month's spending and the budget, per tenant\n",[346,753,754,756,758,760,762,765],{"class":348,"line":403},[346,755,274],{"class":459},[346,757,727],{"class":360},[346,759,730],{"class":360},[346,761,733],{"class":360},[346,763,764],{"class":471}," 0",[346,766,767],{"class":590},"        # no monthly budget\n",[326,769,770,771,773,774,357],{},"Once the month's budget is spent, the gateway refuses the tenant's model calls with ",[343,772,694],{}," until the month ends or the budget is raised, and jobs fail with ",[343,775,698],{},[335,777,782],{"className":778,"code":780,"language":781,"meta":341},[779],"language-text","BudgetExceeded: tenant acme has spent $250.0012 of its $250.00 budget for October 2026\n","text",[343,783,780],{"__ignoreMap":341},[326,785,786,787,791,792,795,796,539],{},"The gateway reads what the tenant has spent at most every two seconds, and counts the calls it is carrying with their estimates, so the month can end a few calls over its budget. A new budget bites within five seconds. The web UI shows the month on the ",[788,789,790],"em",{},"Cost"," page and sets budgets under ",[788,793,794],{},"Settings",", ",[788,797,60],{},[330,799,801],{"id":800},"tools-and-delegation","Tools and delegation",[326,803,804,805,808,809,812,813,539],{},"An agent can call only the tools it lists and delegate only to the agents in ",[343,806,807],{},"delegation.allow",", within ",[343,810,811],{},"max_depth"," and ",[343,814,815],{},"max_children",[817,818,819,820,823,824,827,828,831,832,835],"note",{},"Functions in a tool's ",[343,821,822],{},"requires_approval"," wait for a person before they run; see ",[825,826,224],"a",{"href":225},". Your own ",[825,829,830],{"href":180},"hooks"," can allow, deny or change calls, and ",[825,833,834],{"href":190},"evals"," stop a worse version at install. Planned later: budgets per tenant and month (M6), an outcome check by a second model, and shadow runs of a new version on real jobs.",[837,838,839],"style",{},"html pre.shiki code .swJcz, html code.shiki .swJcz{--shiki-light:#E53935;--shiki-default:#F07178;--shiki-dark:#F07178}html pre.shiki code .sMK4o, html code.shiki .sMK4o{--shiki-light:#39ADB5;--shiki-default:#89DDFF;--shiki-dark:#89DDFF}html pre.shiki code .sfazB, html code.shiki .sfazB{--shiki-light:#91B859;--shiki-default:#C3E88D;--shiki-dark:#C3E88D}html .light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html.light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html pre.shiki code .sbssI, html code.shiki .sbssI{--shiki-light:#F76D47;--shiki-default:#F78C6C;--shiki-dark:#F78C6C}html pre.shiki code .sHwdD, html code.shiki .sHwdD{--shiki-light:#90A4AE;--shiki-light-font-style:italic;--shiki-default:#546E7A;--shiki-default-font-style:italic;--shiki-dark:#676E95;--shiki-dark-font-style:italic}html pre.shiki code .sBMFI, html code.shiki .sBMFI{--shiki-light:#E2931D;--shiki-default:#FFCB6B;--shiki-dark:#FFCB6B}html pre.shiki code .spNyl, html code.shiki .spNyl{--shiki-light:#9C3EDA;--shiki-default:#C792EA;--shiki-dark:#C792EA}",{"title":341,"searchDepth":377,"depth":377,"links":841},[842,843,844,845,848],{"id":332,"depth":377,"text":333},{"id":542,"depth":377,"text":543},{"id":564,"depth":377,"text":565},{"id":640,"depth":377,"text":641,"children":846},[847],{"id":711,"depth":403,"text":712},{"id":800,"depth":377,"text":801},"JSON Schema on inputs and answers, and limits the model cannot talk its way around.","md",null,{},{"icon":217},{"title":214,"description":849},"qnXPSXc1p2KtJG6gb_zEQ9pzn8WaWIx0ch932deOwW4",[857,859],{"title":209,"path":210,"stem":211,"description":858,"icon":212,"children":-1},"Let an agent hand a task to another agent, on another machine, under the same job.",{"title":219,"path":220,"stem":221,"description":860,"icon":222,"children":-1},"Start and follow jobs from your own apps, over Connect, gRPC or gRPC-Web.",1791135412464]