[{"data":1,"prerenderedAt":7035},["ShallowReactive",2],{"navigation_docs":3,"-reference-cli-orchestrator-zero":320,"-reference-cli-orchestrator-zero-surround":7030},[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":274,"body":322,"description":7023,"extension":7024,"links":7025,"meta":7026,"navigation":7027,"path":275,"seo":7028,"stem":276,"__hash__":7029},"docs\u002F8.reference\u002F1.cli\u002F1.orchestrator-zero.md",{"type":323,"value":324,"toc":6939},"minimark",[325,329,334,337,399,404,407,432,455,461,468,498,594,600,603,619,661,667,670,696,701,704,718,737,743,746,768,812,818,821,841,883,889,892,907,963,968,971,985,1059,1064,1067,1081,1123,1128,1131,1145,1152,1158,1161,1177,1205,1210,1213,1237,1301,1306,1312,1326,1374,1380,1383,1401,1445,1451,1454,1470,1576,1582,1585,1603,1645,1651,1654,1669,1727,1733,1740,1756,1883,1889,1896,1917,1959,1964,1970,1988,2030,2036,2039,2057,2099,2104,2107,2121,2182,2188,2191,2219,2264,2270,2273,2299,2328,2334,2337,2363,2369,2372,2387,2456,2462,2465,2494,2524,2530,2533,2559,2565,2568,2584,2627,2633,2636,2660,2688,2694,2697,2723,2729,2732,2735,2758,2828,2832,2835,2849,2857,2863,2869,2885,2890,2893,2907,2956,2962,2973,2997,3027,3033,3044,3070,3268,3273,3276,3299,3328,3333,3336,3351,3392,3398,3401,3427,3491,3497,3500,3524,3554,3560,3563,3585,3747,3753,3756,3780,3903,3908,3918,3932,3956,3962,3965,3990,3996,3999,4014,4055,4060,4063,4086,4114,4119,4122,4151,4265,4269,4272,4280,4303,4440,4445,4448,4462,4480,4510,4516,4519,4544,4550,4553,4568,4596,4602,4605,4629,4673,4678,4681,4695,4731,4737,4744,4766,4844,4850,4853,4869,4877,4883,4890,4911,4944,4950,4953,4969,5129,5135,5138,5153,5161,5167,5173,5198,5315,5320,5329,5353,5420,5426,5432,5447,5916,5920,5923,5937,5955,5961,5964,5999,6027,6033,6036,6059,6101,6107,6110,6125,6153,6158,6161,6175,6192,6198,6201,6216,6316,6322,6325,6340,6381,6387,6390,6414,6419,6422,6436,6506,6511,6514,6528,6563,6569,6572,6591,6637,6643,6646,6664,6724,6730,6733,6748,6776,6782,6785,6803,6831,6837,6840,6857,6863,6866,6883,6913,6918,6921,6935],[326,327,328],"p",{},"Orchestrator Zero: mission control for AI agents",[330,331,333],"h2",{"id":332},"global-flags","Global flags",[326,335,336],{},"These work with every command.",[338,339,340,359],"table",{},[341,342,343],"thead",{},[344,345,346,350,353,356],"tr",{},[347,348,349],"th",{},"Flag",[347,351,352],{},"Type",[347,354,355],{},"Default",[347,357,358],{},"Description",[360,361,362,382],"tbody",{},[344,363,364,371,374,379],{},[365,366,367],"td",{},[368,369,370],"code",{},"--context",[365,372,373],{},"string",[365,375,376],{},[368,377,378],{},"$OZ0_CONTEXT or \u003Cconfig dir>\u002Forchestrator-zero\u002Fcontext.json",[365,380,381],{},"CLI context file written by server init",[344,383,384,389,391,396],{},[365,385,386],{},[368,387,388],{},"--log-level",[365,390,373],{},[365,392,393],{},[368,394,395],{},"info",[365,397,398],{},"log level: debug, info, warn or error",[330,400,402],{"id":401},"apikey",[368,403,401],{},[326,405,406],{},"Manage a tenant's API keys, which apps call the runtime API with (ADR 0050)",[408,409,414],"pre",{"className":410,"code":411,"language":412,"meta":413,"style":413},"language-bash shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","orchestrator-zero apikey [command]\n","bash","",[368,415,416],{"__ignoreMap":413},[417,418,421,424,428],"span",{"class":419,"line":420},"line",1,[417,422,274],{"class":423},"sBMFI",[417,425,427],{"class":426},"sfazB"," apikey",[417,429,431],{"class":430},"sTEyZ"," [command]\n",[326,433,434,435,442,443,442,449],{},"Subcommands: ",[436,437,439],"a",{"href":438},"#apikey-create",[368,440,441],{},"create",", ",[436,444,446],{"href":445},"#apikey-list",[368,447,448],{},"list",[436,450,452],{"href":451},"#apikey-revoke",[368,453,454],{},"revoke",[330,456,458],{"id":457},"apikey-create",[368,459,460],{},"apikey create",[326,462,463,464,467],{},"Make a key that an app sends as ",[368,465,466],{},"Authorization: Bearer \u003Ckey>"," to the runtime API, on the edge's HTTPS port. It has a role in one tenant: reader follows jobs, operator also starts and cancels them and decides approvals. Operators see what jobs read and wrote unless --no-content. The key works nowhere else: not on the admin API, and not on Temporal's ports. It is shown only now; keep it as a secret.",[408,469,471],{"className":410,"code":470,"language":412,"meta":413,"style":413},"orchestrator-zero apikey create \u003Cname> [flags]\n",[368,472,473],{"__ignoreMap":413},[417,474,475,477,479,482,486,489,492,495],{"class":419,"line":420},[417,476,274],{"class":423},[417,478,427],{"class":426},[417,480,481],{"class":426}," create",[417,483,485],{"class":484},"sMK4o"," \u003C",[417,487,488],{"class":426},"nam",[417,490,491],{"class":430},"e",[417,493,494],{"class":484},">",[417,496,497],{"class":430}," [flags]\n",[338,499,500,512],{},[341,501,502],{},[344,503,504,506,508,510],{},[347,505,349],{},[347,507,352],{},[347,509,355],{},[347,511,358],{},[360,513,514,531,546,560,577],{},[344,515,516,521,523,528],{},[365,517,518],{},[368,519,520],{},"--expires",[365,522,373],{},[365,524,525],{},[368,526,527],{},"90d",[365,529,530],{},"how long it lasts, such as 30d or 720h, or never",[344,532,533,538,541,543],{},[365,534,535],{},[368,536,537],{},"--json",[365,539,540],{},"bool",[365,542],{},[365,544,545],{},"print JSON instead of a table",[344,547,548,553,555,557],{},[365,549,550],{},[368,551,552],{},"--no-content",[365,554,540],{},[365,556],{},[365,558,559],{},"an operator key that may not see what jobs read and wrote",[344,561,562,567,569,574],{},[365,563,564],{},[368,565,566],{},"--role",[365,568,373],{},[365,570,571],{},[368,572,573],{},"operator",[365,575,576],{},"reader or operator",[344,578,579,584,586,591],{},[365,580,581],{},[368,582,583],{},"--tenant",[365,585,373],{},[365,587,588],{},[368,589,590],{},"default",[365,592,593],{},"tenant",[330,595,597],{"id":596},"apikey-list",[368,598,599],{},"apikey list",[326,601,602],{},"List a tenant's API keys, never their secrets",[408,604,606],{"className":410,"code":605,"language":412,"meta":413,"style":413},"orchestrator-zero apikey list [flags]\n",[368,607,608],{"__ignoreMap":413},[417,609,610,612,614,617],{"class":419,"line":420},[417,611,274],{"class":423},[417,613,427],{"class":426},[417,615,616],{"class":426}," list",[417,618,497],{"class":430},[338,620,621,633],{},[341,622,623],{},[344,624,625,627,629,631],{},[347,626,349],{},[347,628,352],{},[347,630,355],{},[347,632,358],{},[360,634,635,647],{},[344,636,637,641,643,645],{},[365,638,639],{},[368,640,537],{},[365,642,540],{},[365,644],{},[365,646,545],{},[344,648,649,653,655,659],{},[365,650,651],{},[368,652,583],{},[365,654,373],{},[365,656,657],{},[368,658,590],{},[365,660,593],{},[330,662,664],{"id":663},"apikey-revoke",[368,665,666],{},"apikey revoke",[326,668,669],{},"Stop an API key from working, within seconds on every edge",[408,671,673],{"className":410,"code":672,"language":412,"meta":413,"style":413},"orchestrator-zero apikey revoke \u003Cid> [flags]\n",[368,674,675],{"__ignoreMap":413},[417,676,677,679,681,684,686,689,692,694],{"class":419,"line":420},[417,678,274],{"class":423},[417,680,427],{"class":426},[417,682,683],{"class":426}," revoke",[417,685,485],{"class":484},[417,687,688],{"class":426},"i",[417,690,691],{"class":430},"d",[417,693,494],{"class":484},[417,695,497],{"class":430},[330,697,699],{"id":698},"approval",[368,700,698],{},[326,702,703],{},"Decide on steps that wait for a person, such as tool calls in requires_approval",[408,705,707],{"className":410,"code":706,"language":412,"meta":413,"style":413},"orchestrator-zero approval [command]\n",[368,708,709],{"__ignoreMap":413},[417,710,711,713,716],{"class":419,"line":420},[417,712,274],{"class":423},[417,714,715],{"class":426}," approval",[417,717,431],{"class":430},[326,719,434,720,442,726,442,732],{},[436,721,723],{"href":722},"#approval-approve",[368,724,725],{},"approve",[436,727,729],{"href":728},"#approval-deny",[368,730,731],{},"deny",[436,733,735],{"href":734},"#approval-list",[368,736,448],{},[330,738,740],{"id":739},"approval-approve",[368,741,742],{},"approval approve",[326,744,745],{},"Let a waiting step go ahead",[408,747,749],{"className":410,"code":748,"language":412,"meta":413,"style":413},"orchestrator-zero approval approve JOB APPROVAL [flags]\n",[368,750,751],{"__ignoreMap":413},[417,752,753,755,757,760,763,766],{"class":419,"line":420},[417,754,274],{"class":423},[417,756,715],{"class":426},[417,758,759],{"class":426}," approve",[417,761,762],{"class":426}," JOB",[417,764,765],{"class":426}," APPROVAL",[417,767,497],{"class":430},[338,769,770,782],{},[341,771,772],{},[344,773,774,776,778,780],{},[347,775,349],{},[347,777,352],{},[347,779,355],{},[347,781,358],{},[360,783,784,798],{},[344,785,786,791,793,795],{},[365,787,788],{},[368,789,790],{},"--comment",[365,792,373],{},[365,794],{},[365,796,797],{},"why; the agent sees it, and so does the job's history",[344,799,800,804,806,810],{},[365,801,802],{},[368,803,583],{},[365,805,373],{},[365,807,808],{},[368,809,590],{},[365,811,593],{},[330,813,815],{"id":814},"approval-deny",[368,816,817],{},"approval deny",[326,819,820],{},"Stop a waiting step; the agent is told why",[408,822,824],{"className":410,"code":823,"language":412,"meta":413,"style":413},"orchestrator-zero approval deny JOB APPROVAL [flags]\n",[368,825,826],{"__ignoreMap":413},[417,827,828,830,832,835,837,839],{"class":419,"line":420},[417,829,274],{"class":423},[417,831,715],{"class":426},[417,833,834],{"class":426}," deny",[417,836,762],{"class":426},[417,838,765],{"class":426},[417,840,497],{"class":430},[338,842,843,855],{},[341,844,845],{},[344,846,847,849,851,853],{},[347,848,349],{},[347,850,352],{},[347,852,355],{},[347,854,358],{},[360,856,857,869],{},[344,858,859,863,865,867],{},[365,860,861],{},[368,862,790],{},[365,864,373],{},[365,866],{},[365,868,797],{},[344,870,871,875,877,881],{},[365,872,873],{},[368,874,583],{},[365,876,373],{},[365,878,879],{},[368,880,590],{},[365,882,593],{},[330,884,886],{"id":885},"approval-list",[368,887,888],{},"approval list",[326,890,891],{},"List what waits for a decision, oldest first",[408,893,895],{"className":410,"code":894,"language":412,"meta":413,"style":413},"orchestrator-zero approval list [flags]\n",[368,896,897],{"__ignoreMap":413},[417,898,899,901,903,905],{"class":419,"line":420},[417,900,274],{"class":423},[417,902,715],{"class":426},[417,904,616],{"class":426},[417,906,497],{"class":430},[338,908,909,921],{},[341,910,911],{},[344,912,913,915,917,919],{},[347,914,349],{},[347,916,352],{},[347,918,355],{},[347,920,358],{},[360,922,923,937,949],{},[344,924,925,930,932,934],{},[365,926,927],{},[368,928,929],{},"--job",[365,931,373],{},[365,933],{},[365,935,936],{},"only this job's",[344,938,939,943,945,947],{},[365,940,941],{},[368,942,537],{},[365,944,540],{},[365,946],{},[365,948,545],{},[344,950,951,955,957,961],{},[365,952,953],{},[368,954,583],{},[365,956,373],{},[365,958,959],{},[368,960,590],{},[365,962,593],{},[330,964,966],{"id":965},"audit",[368,967,965],{},[326,969,970],{},"Read the audit log, newest first: who changed what, and what the platform did by itself",[408,972,974],{"className":410,"code":973,"language":412,"meta":413,"style":413},"orchestrator-zero audit [flags]\n",[368,975,976],{"__ignoreMap":413},[417,977,978,980,983],{"class":419,"line":420},[417,979,274],{"class":423},[417,981,982],{"class":426}," audit",[417,984,497],{"class":430},[338,986,987,999],{},[341,988,989],{},[344,990,991,993,995,997],{},[347,992,349],{},[347,994,352],{},[347,996,355],{},[347,998,358],{},[360,1000,1001,1015,1027,1045],{},[344,1002,1003,1008,1010,1012],{},[365,1004,1005],{},[368,1006,1007],{},"--action",[365,1009,373],{},[365,1011],{},[365,1013,1014],{},"only this action, or every action under a prefix that ends in a dot, such as node.",[344,1016,1017,1021,1023,1025],{},[365,1018,1019],{},[368,1020,537],{},[365,1022,540],{},[365,1024],{},[365,1026,545],{},[344,1028,1029,1034,1037,1042],{},[365,1030,1031],{},[368,1032,1033],{},"--limit",[365,1035,1036],{},"int32",[365,1038,1039],{},[368,1040,1041],{},"50",[365,1043,1044],{},"at most this many entries",[344,1046,1047,1052,1054,1056],{},[365,1048,1049],{},[368,1050,1051],{},"--target",[365,1053,373],{},[365,1055],{},[365,1057,1058],{},"only entries about this target, such as a node ID or tenant\u002Fplugin",[330,1060,1062],{"id":1061},"catalog",[368,1063,1061],{},[326,1065,1066],{},"List the agents, tools and skills a tenant's plugins offer, and the nodes ready to run them",[408,1068,1070],{"className":410,"code":1069,"language":412,"meta":413,"style":413},"orchestrator-zero catalog [flags]\n",[368,1071,1072],{"__ignoreMap":413},[417,1073,1074,1076,1079],{"class":419,"line":420},[417,1075,274],{"class":423},[417,1077,1078],{"class":426}," catalog",[417,1080,497],{"class":430},[338,1082,1083,1095],{},[341,1084,1085],{},[344,1086,1087,1089,1091,1093],{},[347,1088,349],{},[347,1090,352],{},[347,1092,355],{},[347,1094,358],{},[360,1096,1097,1109],{},[344,1098,1099,1103,1105,1107],{},[365,1100,1101],{},[368,1102,537],{},[365,1104,540],{},[365,1106],{},[365,1108,545],{},[344,1110,1111,1115,1117,1121],{},[365,1112,1113],{},[368,1114,583],{},[365,1116,373],{},[365,1118,1119],{},[368,1120,590],{},[365,1122,593],{},[330,1124,1126],{"id":1125},"cluster",[368,1127,1125],{},[326,1129,1130],{},"Show the cluster",[408,1132,1134],{"className":410,"code":1133,"language":412,"meta":413,"style":413},"orchestrator-zero cluster [command]\n",[368,1135,1136],{"__ignoreMap":413},[417,1137,1138,1140,1143],{"class":419,"line":420},[417,1139,274],{"class":423},[417,1141,1142],{"class":426}," cluster",[417,1144,431],{"class":430},[326,1146,434,1147],{},[436,1148,1150],{"href":1149},"#cluster-info",[368,1151,395],{},[330,1153,1155],{"id":1154},"cluster-info",[368,1156,1157],{},"cluster info",[326,1159,1160],{},"Show cluster name, CA hash and servers",[408,1162,1164],{"className":410,"code":1163,"language":412,"meta":413,"style":413},"orchestrator-zero cluster info [flags]\n",[368,1165,1166],{"__ignoreMap":413},[417,1167,1168,1170,1172,1175],{"class":419,"line":420},[417,1169,274],{"class":423},[417,1171,1142],{"class":426},[417,1173,1174],{"class":426}," info",[417,1176,497],{"class":430},[338,1178,1179,1191],{},[341,1180,1181],{},[344,1182,1183,1185,1187,1189],{},[347,1184,349],{},[347,1186,352],{},[347,1188,355],{},[347,1190,358],{},[360,1192,1193],{},[344,1194,1195,1199,1201,1203],{},[365,1196,1197],{},[368,1198,537],{},[365,1200,540],{},[365,1202],{},[365,1204,545],{},[330,1206,1208],{"id":1207},"dev",[368,1209,1207],{},[326,1211,1212],{},"Start a dev server and a node, install the plugin from its working tree (no commit needed) and reinstall it whenever a file changes. The node's tools (uv, Python, Node.js) are cached between runs; the server starts empty every time.",[408,1214,1216],{"className":410,"code":1215,"language":412,"meta":413,"style":413},"orchestrator-zero dev [plugin-dir] [flags]\n",[368,1217,1218],{"__ignoreMap":413},[417,1219,1220,1222,1225,1228,1231,1234],{"class":419,"line":420},[417,1221,274],{"class":423},[417,1223,1224],{"class":426}," dev",[417,1226,1227],{"class":430}," [plugin-dir] ",[417,1229,1230],{"class":484},"[",[417,1232,1233],{"class":430},"flags",[417,1235,1236],{"class":484},"]\n",[338,1238,1239,1251],{},[341,1240,1241],{},[344,1242,1243,1245,1247,1249],{},[347,1244,349],{},[347,1246,352],{},[347,1248,355],{},[347,1250,358],{},[360,1252,1253,1267,1284],{},[344,1254,1255,1260,1262,1264],{},[365,1256,1257],{},[368,1258,1259],{},"--cache-dir",[365,1261,373],{},[365,1263],{},[365,1265,1266],{},"where the dev node keeps uv, Python and Node.js between runs",[344,1268,1269,1274,1276,1281],{},[365,1270,1271],{},[368,1272,1273],{},"--node-binary",[365,1275,373],{},[365,1277,1278],{},[368,1279,1280],{},"next to this binary, else on PATH",[365,1282,1283],{},"orchestrator-zero-node to run",[344,1285,1286,1291,1293,1298],{},[365,1287,1288],{},[368,1289,1290],{},"--runtime-bundle",[365,1292,373],{},[365,1294,1295],{},[368,1296,1297],{},"$OZ0_RUNTIME_BUNDLE, else the newest in .\u002Fdist\u002Fruntime",[365,1299,1300],{},"runtime bundle directory",[330,1302,1304],{"id":1303},"job",[368,1305,1303],{},[326,1307,1308,1309],{},"Follow, cancel and list jobs; start them with ",[368,1310,1311],{},"run",[408,1313,1315],{"className":410,"code":1314,"language":412,"meta":413,"style":413},"orchestrator-zero job [command]\n",[368,1316,1317],{"__ignoreMap":413},[417,1318,1319,1321,1324],{"class":419,"line":420},[417,1320,274],{"class":423},[417,1322,1323],{"class":426}," job",[417,1325,431],{"class":430},[326,1327,434,1328,442,1334,442,1340,442,1346,442,1351,442,1356,442,1362,442,1368],{},[436,1329,1331],{"href":1330},"#job-cancel",[368,1332,1333],{},"cancel",[436,1335,1337],{"href":1336},"#job-findings",[368,1338,1339],{},"findings",[436,1341,1343],{"href":1342},"#job-get",[368,1344,1345],{},"get",[436,1347,1349],{"href":1348},"#job-list",[368,1350,448],{},[436,1352,1354],{"href":1353},"#job-run",[368,1355,1311],{},[436,1357,1359],{"href":1358},"#job-step",[368,1360,1361],{},"step",[436,1363,1365],{"href":1364},"#job-trace",[368,1366,1367],{},"trace",[436,1369,1371],{"href":1370},"#job-watch",[368,1372,1373],{},"watch",[330,1375,1377],{"id":1376},"job-cancel",[368,1378,1379],{},"job cancel",[326,1381,1382],{},"Cancel a running job and the jobs it delegated to",[408,1384,1386],{"className":410,"code":1385,"language":412,"meta":413,"style":413},"orchestrator-zero job cancel JOB [flags]\n",[368,1387,1388],{"__ignoreMap":413},[417,1389,1390,1392,1394,1397,1399],{"class":419,"line":420},[417,1391,274],{"class":423},[417,1393,1323],{"class":426},[417,1395,1396],{"class":426}," cancel",[417,1398,762],{"class":426},[417,1400,497],{"class":430},[338,1402,1403,1415],{},[341,1404,1405],{},[344,1406,1407,1409,1411,1413],{},[347,1408,349],{},[347,1410,352],{},[347,1412,355],{},[347,1414,358],{},[360,1416,1417,1431],{},[344,1418,1419,1424,1426,1428],{},[365,1420,1421],{},[368,1422,1423],{},"--reason",[365,1425,373],{},[365,1427],{},[365,1429,1430],{},"why, for the job's history",[344,1432,1433,1437,1439,1443],{},[365,1434,1435],{},[368,1436,583],{},[365,1438,373],{},[365,1440,1441],{},[368,1442,590],{},[365,1444,593],{},[330,1446,1448],{"id":1447},"job-findings",[368,1449,1450],{},"job findings",[326,1452,1453],{},"List the jobs whose traces have warnings, newest first, from the summaries the edge keeps for management (ADR 0039). A job's summary is written when it ends and refreshed while it runs, and it outlives Temporal's retention. --code picks one rule, such as possible_loop or retries; --code all lists every job.",[408,1455,1457],{"className":410,"code":1456,"language":412,"meta":413,"style":413},"orchestrator-zero job findings [flags]\n",[368,1458,1459],{"__ignoreMap":413},[417,1460,1461,1463,1465,1468],{"class":419,"line":420},[417,1462,274],{"class":423},[417,1464,1323],{"class":426},[417,1466,1467],{"class":426}," findings",[417,1469,497],{"class":430},[338,1471,1472,1484],{},[341,1473,1474],{},[344,1475,1476,1478,1480,1482],{},[347,1477,349],{},[347,1479,352],{},[347,1481,355],{},[347,1483,358],{},[360,1485,1486,1500,1517,1529,1544,1562],{},[344,1487,1488,1493,1495,1497],{},[365,1489,1490],{},[368,1491,1492],{},"--agent",[365,1494,373],{},[365,1496],{},[365,1498,1499],{},"only this agent's or flow's jobs",[344,1501,1502,1507,1509,1514],{},[365,1503,1504],{},[368,1505,1506],{},"--code",[365,1508,373],{},[365,1510,1511],{},[368,1512,1513],{},"jobs with any warning",[365,1515,1516],{},"only this rule, such as possible_loop, retries or idle; all lists every job",[344,1518,1519,1523,1525,1527],{},[365,1520,1521],{},[368,1522,537],{},[365,1524,540],{},[365,1526],{},[365,1528,545],{},[344,1530,1531,1535,1537,1541],{},[365,1532,1533],{},[368,1534,1033],{},[365,1536,1036],{},[365,1538,1539],{},[368,1540,1041],{},[365,1542,1543],{},"at most this many jobs",[344,1545,1546,1551,1554,1559],{},[365,1547,1548],{},[368,1549,1550],{},"--since",[365,1552,1553],{},"duration",[365,1555,1556],{},[368,1557,1558],{},"24h0m0s",[365,1560,1561],{},"jobs that started this long ago at most",[344,1563,1564,1568,1570,1574],{},[365,1565,1566],{},[368,1567,583],{},[365,1569,373],{},[365,1571,1572],{},[368,1573,590],{},[365,1575,593],{},[330,1577,1579],{"id":1578},"job-get",[368,1580,1581],{},"job get",[326,1583,1584],{},"Show a job: status, answer and cost per branch",[408,1586,1588],{"className":410,"code":1587,"language":412,"meta":413,"style":413},"orchestrator-zero job get JOB [flags]\n",[368,1589,1590],{"__ignoreMap":413},[417,1591,1592,1594,1596,1599,1601],{"class":419,"line":420},[417,1593,274],{"class":423},[417,1595,1323],{"class":426},[417,1597,1598],{"class":426}," get",[417,1600,762],{"class":426},[417,1602,497],{"class":430},[338,1604,1605,1617],{},[341,1606,1607],{},[344,1608,1609,1611,1613,1615],{},[347,1610,349],{},[347,1612,352],{},[347,1614,355],{},[347,1616,358],{},[360,1618,1619,1631],{},[344,1620,1621,1625,1627,1629],{},[365,1622,1623],{},[368,1624,537],{},[365,1626,540],{},[365,1628],{},[365,1630,545],{},[344,1632,1633,1637,1639,1643],{},[365,1634,1635],{},[368,1636,583],{},[365,1638,373],{},[365,1640,1641],{},[368,1642,590],{},[365,1644,593],{},[330,1646,1648],{"id":1647},"job-list",[368,1649,1650],{},"job list",[326,1652,1653],{},"List recent jobs",[408,1655,1657],{"className":410,"code":1656,"language":412,"meta":413,"style":413},"orchestrator-zero job list [flags]\n",[368,1658,1659],{"__ignoreMap":413},[417,1660,1661,1663,1665,1667],{"class":419,"line":420},[417,1662,274],{"class":423},[417,1664,1323],{"class":426},[417,1666,616],{"class":426},[417,1668,497],{"class":430},[338,1670,1671,1683],{},[341,1672,1673],{},[344,1674,1675,1677,1679,1681],{},[347,1676,349],{},[347,1678,352],{},[347,1680,355],{},[347,1682,358],{},[360,1684,1685,1697,1713],{},[344,1686,1687,1691,1693,1695],{},[365,1688,1689],{},[368,1690,537],{},[365,1692,540],{},[365,1694],{},[365,1696,545],{},[344,1698,1699,1703,1706,1711],{},[365,1700,1701],{},[368,1702,1033],{},[365,1704,1705],{},"int",[365,1707,1708],{},[368,1709,1710],{},"20",[365,1712,1543],{},[344,1714,1715,1719,1721,1725],{},[365,1716,1717],{},[368,1718,583],{},[365,1720,373],{},[365,1722,1723],{},[368,1724,590],{},[365,1726,593],{},[330,1728,1730],{"id":1729},"job-run",[368,1731,1732],{},"job run",[326,1734,1735,1736,1739],{},"Run a workflow through the edge's Temporal proxy and print its result as JSON. This talks Temporal directly and is meant for debugging nodes and tools; agents are run with ",[368,1737,1738],{},"orchestrator-zero run",".",[408,1741,1743],{"className":410,"code":1742,"language":412,"meta":413,"style":413},"orchestrator-zero job run [flags]\n",[368,1744,1745],{"__ignoreMap":413},[417,1746,1747,1749,1751,1754],{"class":419,"line":420},[417,1748,274],{"class":423},[417,1750,1323],{"class":426},[417,1752,1753],{"class":426}," run",[417,1755,497],{"class":430},[338,1757,1758,1770],{},[341,1759,1760],{},[344,1761,1762,1764,1766,1768],{},[347,1763,349],{},[347,1765,352],{},[347,1767,355],{},[347,1769,358],{},[360,1771,1772,1789,1806,1821,1838,1852,1869],{},[344,1773,1774,1779,1781,1786],{},[365,1775,1776],{},[368,1777,1778],{},"--address",[365,1780,373],{},[365,1782,1783],{},[368,1784,1785],{},"from the context, else 127.0.0.1:7233",[365,1787,1788],{},"edge Temporal address",[344,1790,1791,1796,1798,1803],{},[365,1792,1793],{},[368,1794,1795],{},"--id",[365,1797,373],{},[365,1799,1800],{},[368,1801,1802],{},"random",[365,1804,1805],{},"workflow ID",[344,1807,1808,1813,1816,1818],{},[365,1809,1810],{},[368,1811,1812],{},"--input",[365,1814,1815],{},"stringArray",[365,1817],{},[365,1819,1820],{},"workflow argument as JSON; repeat for several arguments",[344,1822,1823,1828,1830,1835],{},[365,1824,1825],{},[368,1826,1827],{},"--namespace",[365,1829,373],{},[365,1831,1832],{},[368,1833,1834],{},"from the context, else default",[365,1836,1837],{},"namespace",[344,1839,1840,1845,1847,1849],{},[365,1841,1842],{},[368,1843,1844],{},"--task-queue",[365,1846,373],{},[365,1848],{},[365,1850,1851],{},"task queue to run on (required)",[344,1853,1854,1859,1861,1866],{},[365,1855,1856],{},[368,1857,1858],{},"--timeout",[365,1860,1553],{},[365,1862,1863],{},[368,1864,1865],{},"1m0s",[365,1867,1868],{},"how long to wait for the result",[344,1870,1871,1876,1878,1880],{},[365,1872,1873],{},[368,1874,1875],{},"--workflow",[365,1877,373],{},[365,1879],{},[365,1881,1882],{},"workflow type name (required)",[330,1884,1886],{"id":1885},"job-step",[368,1887,1888],{},"job step",[326,1890,1891,1892,1895],{},"Show one step's input and output, as ",[368,1893,1894],{},"job trace"," lists the steps: a model call's messages and response, a tool call's arguments and result, what a person was asked and what they answered. They can hold customer data, so this needs the content permission, and each look is in the audit log.",[408,1897,1899],{"className":410,"code":1898,"language":412,"meta":413,"style":413},"orchestrator-zero job step JOB STEP [flags]\n",[368,1900,1901],{"__ignoreMap":413},[417,1902,1903,1905,1907,1910,1912,1915],{"class":419,"line":420},[417,1904,274],{"class":423},[417,1906,1323],{"class":426},[417,1908,1909],{"class":426}," step",[417,1911,762],{"class":426},[417,1913,1914],{"class":426}," STEP",[417,1916,497],{"class":430},[338,1918,1919,1931],{},[341,1920,1921],{},[344,1922,1923,1925,1927,1929],{},[347,1924,349],{},[347,1926,352],{},[347,1928,355],{},[347,1930,358],{},[360,1932,1933,1945],{},[344,1934,1935,1939,1941,1943],{},[365,1936,1937],{},[368,1938,537],{},[365,1940,540],{},[365,1942],{},[365,1944,545],{},[344,1946,1947,1951,1953,1957],{},[365,1948,1949],{},[368,1950,583],{},[365,1952,373],{},[365,1954,1955],{},[368,1956,590],{},[365,1958,593],{},[330,1960,1962],{"id":1961},"job-trace",[368,1963,1894],{},[326,1965,1966,1967,1969],{},"Show a job's trace, built by the edge from the job's Temporal history: each step with when it began, how long it took, where it ran and what it cost, and findings about what looks wrong. It shows the shape of the job, not what its steps read and wrote: ",[368,1968,1888],{}," shows one step's input and output.",[408,1971,1973],{"className":410,"code":1972,"language":412,"meta":413,"style":413},"orchestrator-zero job trace JOB [flags]\n",[368,1974,1975],{"__ignoreMap":413},[417,1976,1977,1979,1981,1984,1986],{"class":419,"line":420},[417,1978,274],{"class":423},[417,1980,1323],{"class":426},[417,1982,1983],{"class":426}," trace",[417,1985,762],{"class":426},[417,1987,497],{"class":430},[338,1989,1990,2002],{},[341,1991,1992],{},[344,1993,1994,1996,1998,2000],{},[347,1995,349],{},[347,1997,352],{},[347,1999,355],{},[347,2001,358],{},[360,2003,2004,2016],{},[344,2005,2006,2010,2012,2014],{},[365,2007,2008],{},[368,2009,537],{},[365,2011,540],{},[365,2013],{},[365,2015,545],{},[344,2017,2018,2022,2024,2028],{},[365,2019,2020],{},[368,2021,583],{},[365,2023,373],{},[365,2025,2026],{},[368,2027,590],{},[365,2029,593],{},[330,2031,2033],{"id":2032},"job-watch",[368,2034,2035],{},"job watch",[326,2037,2038],{},"Follow a job live until it ends, then print its answer and cost",[408,2040,2042],{"className":410,"code":2041,"language":412,"meta":413,"style":413},"orchestrator-zero job watch JOB [flags]\n",[368,2043,2044],{"__ignoreMap":413},[417,2045,2046,2048,2050,2053,2055],{"class":419,"line":420},[417,2047,274],{"class":423},[417,2049,1323],{"class":426},[417,2051,2052],{"class":426}," watch",[417,2054,762],{"class":426},[417,2056,497],{"class":430},[338,2058,2059,2071],{},[341,2060,2061],{},[344,2062,2063,2065,2067,2069],{},[347,2064,349],{},[347,2066,352],{},[347,2068,355],{},[347,2070,358],{},[360,2072,2073,2085],{},[344,2074,2075,2079,2081,2083],{},[365,2076,2077],{},[368,2078,537],{},[365,2080,540],{},[365,2082],{},[365,2084,545],{},[344,2086,2087,2091,2093,2097],{},[365,2088,2089],{},[368,2090,583],{},[365,2092,373],{},[365,2094,2095],{},[368,2096,590],{},[365,2098,593],{},[330,2100,2102],{"id":2101},"node",[368,2103,2101],{},[326,2105,2106],{},"Manage nodes: list, accept, reject, block, unblock, purge, delete, upgrade",[408,2108,2110],{"className":410,"code":2109,"language":412,"meta":413,"style":413},"orchestrator-zero node [command]\n",[368,2111,2112],{"__ignoreMap":413},[417,2113,2114,2116,2119],{"class":419,"line":420},[417,2115,274],{"class":423},[417,2117,2118],{"class":426}," node",[417,2120,431],{"class":430},[326,2122,434,2123,442,2129,442,2135,442,2141,442,2146,442,2152,442,2158,442,2164,442,2170,442,2176],{},[436,2124,2126],{"href":2125},"#node-accept",[368,2127,2128],{},"accept",[436,2130,2132],{"href":2131},"#node-block",[368,2133,2134],{},"block",[436,2136,2138],{"href":2137},"#node-delete",[368,2139,2140],{},"delete",[436,2142,2144],{"href":2143},"#node-list",[368,2145,448],{},[436,2147,2149],{"href":2148},"#node-purge",[368,2150,2151],{},"purge",[436,2153,2155],{"href":2154},"#node-reject",[368,2156,2157],{},"reject",[436,2159,2161],{"href":2160},"#node-runtimes",[368,2162,2163],{},"runtimes",[436,2165,2167],{"href":2166},"#node-show",[368,2168,2169],{},"show",[436,2171,2173],{"href":2172},"#node-unblock",[368,2174,2175],{},"unblock",[436,2177,2179],{"href":2178},"#node-upgrade",[368,2180,2181],{},"upgrade",[330,2183,2185],{"id":2184},"node-accept",[368,2186,2187],{},"node accept",[326,2189,2190],{},"Accept pending nodes, like salt-key -a",[408,2192,2194],{"className":410,"code":2193,"language":412,"meta":413,"style":413},"orchestrator-zero node accept \u003Cnode-id>... [flags]\n",[368,2195,2196],{"__ignoreMap":413},[417,2197,2198,2200,2202,2205,2207,2210,2212,2214,2217],{"class":419,"line":420},[417,2199,274],{"class":423},[417,2201,2118],{"class":426},[417,2203,2204],{"class":426}," accept",[417,2206,485],{"class":484},[417,2208,2209],{"class":426},"node-i",[417,2211,691],{"class":430},[417,2213,494],{"class":484},[417,2215,2216],{"class":426},"...",[417,2218,497],{"class":430},[338,2220,2221,2233],{},[341,2222,2223],{},[344,2224,2225,2227,2229,2231],{},[347,2226,349],{},[347,2228,352],{},[347,2230,355],{},[347,2232,358],{},[360,2234,2235,2249],{},[344,2236,2237,2242,2244,2246],{},[365,2238,2239],{},[368,2240,2241],{},"--label",[365,2243,1815],{},[365,2245],{},[365,2247,2248],{},"label for the node, key=value; repeatable",[344,2250,2251,2255,2257,2261],{},[365,2252,2253],{},[368,2254,583],{},[365,2256,373],{},[365,2258,2259],{},[368,2260,590],{},[365,2262,2263],{},"tenant the node joins",[330,2265,2267],{"id":2266},"node-block",[368,2268,2269],{},"node block",[326,2271,2272],{},"Block nodes: the edge refuses their next call on every port",[408,2274,2276],{"className":410,"code":2275,"language":412,"meta":413,"style":413},"orchestrator-zero node block \u003Cnode-id>... [flags]\n",[368,2277,2278],{"__ignoreMap":413},[417,2279,2280,2282,2284,2287,2289,2291,2293,2295,2297],{"class":419,"line":420},[417,2281,274],{"class":423},[417,2283,2118],{"class":426},[417,2285,2286],{"class":426}," block",[417,2288,485],{"class":484},[417,2290,2209],{"class":426},[417,2292,691],{"class":430},[417,2294,494],{"class":484},[417,2296,2216],{"class":426},[417,2298,497],{"class":430},[338,2300,2301,2313],{},[341,2302,2303],{},[344,2304,2305,2307,2309,2311],{},[347,2306,349],{},[347,2308,352],{},[347,2310,355],{},[347,2312,358],{},[360,2314,2315],{},[344,2316,2317,2321,2323,2325],{},[365,2318,2319],{},[368,2320,1423],{},[365,2322,373],{},[365,2324],{},[365,2326,2327],{},"why, for the audit log",[330,2329,2331],{"id":2330},"node-delete",[368,2332,2333],{},"node delete",[326,2335,2336],{},"Forget nodes; their keys may join again as new nodes",[408,2338,2340],{"className":410,"code":2339,"language":412,"meta":413,"style":413},"orchestrator-zero node delete \u003Cnode-id>... [flags]\n",[368,2341,2342],{"__ignoreMap":413},[417,2343,2344,2346,2348,2351,2353,2355,2357,2359,2361],{"class":419,"line":420},[417,2345,274],{"class":423},[417,2347,2118],{"class":426},[417,2349,2350],{"class":426}," delete",[417,2352,485],{"class":484},[417,2354,2209],{"class":426},[417,2356,691],{"class":430},[417,2358,494],{"class":484},[417,2360,2216],{"class":426},[417,2362,497],{"class":430},[330,2364,2366],{"id":2365},"node-list",[368,2367,2368],{},"node list",[326,2370,2371],{},"List nodes",[408,2373,2375],{"className":410,"code":2374,"language":412,"meta":413,"style":413},"orchestrator-zero node list [flags]\n",[368,2376,2377],{"__ignoreMap":413},[417,2378,2379,2381,2383,2385],{"class":419,"line":420},[417,2380,274],{"class":423},[417,2382,2118],{"class":426},[417,2384,616],{"class":426},[417,2386,497],{"class":430},[338,2388,2389,2401],{},[341,2390,2391],{},[344,2392,2393,2395,2397,2399],{},[347,2394,349],{},[347,2396,352],{},[347,2398,355],{},[347,2400,358],{},[360,2402,2403,2415,2429,2443],{},[344,2404,2405,2409,2411,2413],{},[365,2406,2407],{},[368,2408,537],{},[365,2410,540],{},[365,2412],{},[365,2414,545],{},[344,2416,2417,2422,2424,2426],{},[365,2418,2419],{},[368,2420,2421],{},"--pending",[365,2423,540],{},[365,2425],{},[365,2427,2428],{},"only nodes waiting for approval (same as --state pending)",[344,2430,2431,2436,2438,2440],{},[365,2432,2433],{},[368,2434,2435],{},"--state",[365,2437,373],{},[365,2439],{},[365,2441,2442],{},"only nodes in this state: pending, accepted, rejected, blocked or purging",[344,2444,2445,2449,2451,2453],{},[365,2446,2447],{},[368,2448,583],{},[365,2450,373],{},[365,2452],{},[365,2454,2455],{},"only this tenant's nodes",[330,2457,2459],{"id":2458},"node-purge",[368,2460,2461],{},"node purge",[326,2463,2464],{},"Purge nodes (plan §12). Each loses access to work at once. On its next control stream, which a blocked or offline node gets too when it comes back, it receives a command signed with the cluster CA's key, checks the signature, stops its runtimes and plugins, deletes its data directory (keys, plugins, runtimes and tools) and its binary, and is forgotten. The machine must be set up again to rejoin.",[408,2466,2468],{"className":410,"code":2467,"language":412,"meta":413,"style":413},"orchestrator-zero node purge \u003Cnode-id>... --yes [flags]\n",[368,2469,2470],{"__ignoreMap":413},[417,2471,2472,2474,2476,2479,2481,2483,2485,2487,2489,2492],{"class":419,"line":420},[417,2473,274],{"class":423},[417,2475,2118],{"class":426},[417,2477,2478],{"class":426}," purge",[417,2480,485],{"class":484},[417,2482,2209],{"class":426},[417,2484,691],{"class":430},[417,2486,494],{"class":484},[417,2488,2216],{"class":426},[417,2490,2491],{"class":426}," --yes",[417,2493,497],{"class":430},[338,2495,2496,2508],{},[341,2497,2498],{},[344,2499,2500,2502,2504,2506],{},[347,2501,349],{},[347,2503,352],{},[347,2505,355],{},[347,2507,358],{},[360,2509,2510],{},[344,2511,2512,2517,2519,2521],{},[365,2513,2514],{},[368,2515,2516],{},"--yes",[365,2518,540],{},[365,2520],{},[365,2522,2523],{},"confirm that the nodes are to delete themselves",[330,2525,2527],{"id":2526},"node-reject",[368,2528,2529],{},"node reject",[326,2531,2532],{},"Reject pending nodes",[408,2534,2536],{"className":410,"code":2535,"language":412,"meta":413,"style":413},"orchestrator-zero node reject \u003Cnode-id>... [flags]\n",[368,2537,2538],{"__ignoreMap":413},[417,2539,2540,2542,2544,2547,2549,2551,2553,2555,2557],{"class":419,"line":420},[417,2541,274],{"class":423},[417,2543,2118],{"class":426},[417,2545,2546],{"class":426}," reject",[417,2548,485],{"class":484},[417,2550,2209],{"class":426},[417,2552,691],{"class":430},[417,2554,494],{"class":484},[417,2556,2216],{"class":426},[417,2558,497],{"class":430},[330,2560,2562],{"id":2561},"node-runtimes",[368,2563,2564],{},"node runtimes",[326,2566,2567],{},"List the runtime versions the edge serves, newest first, and how many of a tenant's nodes run each",[408,2569,2571],{"className":410,"code":2570,"language":412,"meta":413,"style":413},"orchestrator-zero node runtimes [flags]\n",[368,2572,2573],{"__ignoreMap":413},[417,2574,2575,2577,2579,2582],{"class":419,"line":420},[417,2576,274],{"class":423},[417,2578,2118],{"class":426},[417,2580,2581],{"class":426}," runtimes",[417,2583,497],{"class":430},[338,2585,2586,2598],{},[341,2587,2588],{},[344,2589,2590,2592,2594,2596],{},[347,2591,349],{},[347,2593,352],{},[347,2595,355],{},[347,2597,358],{},[360,2599,2600,2612],{},[344,2601,2602,2606,2608,2610],{},[365,2603,2604],{},[368,2605,537],{},[365,2607,540],{},[365,2609],{},[365,2611,545],{},[344,2613,2614,2618,2620,2624],{},[365,2615,2616],{},[368,2617,583],{},[365,2619,373],{},[365,2621,2622],{},[368,2623,590],{},[365,2625,2626],{},"count this tenant's nodes",[330,2628,2630],{"id":2629},"node-show",[368,2631,2632],{},"node show",[326,2634,2635],{},"Show one node",[408,2637,2639],{"className":410,"code":2638,"language":412,"meta":413,"style":413},"orchestrator-zero node show \u003Cnode-id> [flags]\n",[368,2640,2641],{"__ignoreMap":413},[417,2642,2643,2645,2647,2650,2652,2654,2656,2658],{"class":419,"line":420},[417,2644,274],{"class":423},[417,2646,2118],{"class":426},[417,2648,2649],{"class":426}," show",[417,2651,485],{"class":484},[417,2653,2209],{"class":426},[417,2655,691],{"class":430},[417,2657,494],{"class":484},[417,2659,497],{"class":430},[338,2661,2662,2674],{},[341,2663,2664],{},[344,2665,2666,2668,2670,2672],{},[347,2667,349],{},[347,2669,352],{},[347,2671,355],{},[347,2673,358],{},[360,2675,2676],{},[344,2677,2678,2682,2684,2686],{},[365,2679,2680],{},[368,2681,537],{},[365,2683,540],{},[365,2685],{},[365,2687,545],{},[330,2689,2691],{"id":2690},"node-unblock",[368,2692,2693],{},"node unblock",[326,2695,2696],{},"Let blocked nodes back in",[408,2698,2700],{"className":410,"code":2699,"language":412,"meta":413,"style":413},"orchestrator-zero node unblock \u003Cnode-id>... [flags]\n",[368,2701,2702],{"__ignoreMap":413},[417,2703,2704,2706,2708,2711,2713,2715,2717,2719,2721],{"class":419,"line":420},[417,2705,274],{"class":423},[417,2707,2118],{"class":426},[417,2709,2710],{"class":426}," unblock",[417,2712,485],{"class":484},[417,2714,2209],{"class":426},[417,2716,691],{"class":430},[417,2718,494],{"class":484},[417,2720,2216],{"class":426},[417,2722,497],{"class":430},[330,2724,2726],{"id":2725},"node-upgrade",[368,2727,2728],{},"node upgrade",[326,2730,2731],{},"Tell nodes which runtime version to run (ADR 0028). A node starts the new version next to the one it runs, new jobs move to it once most of the tenant's nodes run it, and the old version stops when no job is pinned to it any more. --runtime \"\" lets the nodes keep what they run.",[326,2733,2734],{},"--binary tells nodes to replace their own binary with the one the edge serves (ADR 0047): each node checks the release's signature against the keys it trusts, swaps the binary, and restarts its runtimes.",[408,2736,2738],{"className":410,"code":2737,"language":412,"meta":413,"style":413},"orchestrator-zero node upgrade [node-id...] [flags]\n",[368,2739,2740],{"__ignoreMap":413},[417,2741,2742,2744,2746,2749,2752,2754,2756],{"class":419,"line":420},[417,2743,274],{"class":423},[417,2745,2118],{"class":426},[417,2747,2748],{"class":426}," upgrade",[417,2750,2751],{"class":430}," [node-id...] ",[417,2753,1230],{"class":484},[417,2755,1233],{"class":430},[417,2757,1236],{"class":484},[338,2759,2760,2772],{},[341,2761,2762],{},[344,2763,2764,2766,2768,2770],{},[347,2765,349],{},[347,2767,352],{},[347,2769,355],{},[347,2771,358],{},[360,2773,2774,2788,2802,2814],{},[344,2775,2776,2781,2783,2785],{},[365,2777,2778],{},[368,2779,2780],{},"--all-in",[365,2782,373],{},[365,2784],{},[365,2786,2787],{},"every accepted node of this tenant",[344,2789,2790,2795,2797,2799],{},[365,2791,2792],{},[368,2793,2794],{},"--binary",[365,2796,540],{},[365,2798],{},[365,2800,2801],{},"replace the node binary with the one the edge serves, signed (ADR 0047)",[344,2803,2804,2808,2810,2812],{},[365,2805,2806],{},[368,2807,537],{},[365,2809,540],{},[365,2811],{},[365,2813,545],{},[344,2815,2816,2821,2823,2825],{},[365,2817,2818],{},[368,2819,2820],{},"--runtime",[365,2822,373],{},[365,2824],{},[365,2826,2827],{},"the runtime version to run: one the edge serves",[330,2829,2830],{"id":573},[368,2831,573],{},[326,2833,2834],{},"Manage this operator's certificate",[408,2836,2838],{"className":410,"code":2837,"language":412,"meta":413,"style":413},"orchestrator-zero operator [command]\n",[368,2839,2840],{"__ignoreMap":413},[417,2841,2842,2844,2847],{"class":419,"line":420},[417,2843,274],{"class":423},[417,2845,2846],{"class":426}," operator",[417,2848,431],{"class":430},[326,2850,434,2851],{},[436,2852,2854],{"href":2853},"#operator-renew",[368,2855,2856],{},"renew",[330,2858,2860],{"id":2859},"operator-renew",[368,2861,2862],{},"operator renew",[326,2864,2865,2866,1739],{},"Make a new key, have the cluster sign a certificate for it, and put both in place of the ones in the CLI context. The certificate in use must still be valid. Once it has expired, issue new credentials on a server with ",[368,2867,2868],{},"orchestrator-zero server operator issue",[408,2870,2872],{"className":410,"code":2871,"language":412,"meta":413,"style":413},"orchestrator-zero operator renew [flags]\n",[368,2873,2874],{"__ignoreMap":413},[417,2875,2876,2878,2880,2883],{"class":419,"line":420},[417,2877,274],{"class":423},[417,2879,2846],{"class":426},[417,2881,2882],{"class":426}," renew",[417,2884,497],{"class":430},[330,2886,2888],{"id":2887},"plugin",[368,2889,2887],{},[326,2891,2892],{},"Build, check and install plugins",[408,2894,2896],{"className":410,"code":2895,"language":412,"meta":413,"style":413},"orchestrator-zero plugin [command]\n",[368,2897,2898],{"__ignoreMap":413},[417,2899,2900,2902,2905],{"class":419,"line":420},[417,2901,274],{"class":423},[417,2903,2904],{"class":426}," plugin",[417,2906,431],{"class":430},[326,2908,434,2909,442,2915,442,2921,442,2927,442,2932,442,2938,442,2944,442,2950],{},[436,2910,2912],{"href":2911},"#plugin-approve-tools",[368,2913,2914],{},"approve-tools",[436,2916,2918],{"href":2917},"#plugin-install",[368,2919,2920],{},"install",[436,2922,2924],{"href":2923},"#plugin-lint",[368,2925,2926],{},"lint",[436,2928,2930],{"href":2929},"#plugin-list",[368,2931,448],{},[436,2933,2935],{"href":2934},"#plugin-new",[368,2936,2937],{},"new",[436,2939,2941],{"href":2940},"#plugin-remove",[368,2942,2943],{},"remove",[436,2945,2947],{"href":2946},"#plugin-test",[368,2948,2949],{},"test",[436,2951,2953],{"href":2952},"#plugin-update",[368,2954,2955],{},"update",[330,2957,2959],{"id":2958},"plugin-approve-tools",[368,2960,2961],{},"plugin approve-tools",[326,2963,2964,2965,2968,2969,2972],{},"A plugin's tools are snapshotted when the first node lists them (ADR 0049). A node that later lists a function differently, such as a remote MCP server that changed a description or a schema, makes the change pending, and nodes refuse to call the functions that changed. ",[368,2966,2967],{},"plugin list"," shows the change; look at it (",[368,2970,2971],{},"orchestrator-zero catalog --json"," has the listings) before you approve it.",[408,2974,2976],{"className":410,"code":2975,"language":412,"meta":413,"style":413},"orchestrator-zero plugin approve-tools \u003Cname> [flags]\n",[368,2977,2978],{"__ignoreMap":413},[417,2979,2980,2982,2984,2987,2989,2991,2993,2995],{"class":419,"line":420},[417,2981,274],{"class":423},[417,2983,2904],{"class":426},[417,2985,2986],{"class":426}," approve-tools",[417,2988,485],{"class":484},[417,2990,488],{"class":426},[417,2992,491],{"class":430},[417,2994,494],{"class":484},[417,2996,497],{"class":430},[338,2998,2999,3011],{},[341,3000,3001],{},[344,3002,3003,3005,3007,3009],{},[347,3004,349],{},[347,3006,352],{},[347,3008,355],{},[347,3010,358],{},[360,3012,3013],{},[344,3014,3015,3019,3021,3025],{},[365,3016,3017],{},[368,3018,583],{},[365,3020,373],{},[365,3022,3023],{},[368,3024,590],{},[365,3026,593],{},[330,3028,3030],{"id":3029},"plugin-install",[368,3031,3032],{},"plugin install",[326,3034,3035,3036,3039,3040,3043],{},"Install a plugin from a Git repository. The edge resolves the ref (default: the latest release tag, or the default branch) to a commit and locks it, checks the plugin like ",[368,3037,3038],{},"plugin lint",", and packs it; nodes download it from the edge, never from Git. Installing an installed plugin updates it: a version with evals runs them on a test node first, and a new version of a plugin that runs on two or more nodes rolls out to canaries first, step by step through health and quality gates (",[368,3041,3042],{},"rollout show",").",[408,3045,3047],{"className":410,"code":3046,"language":412,"meta":413,"style":413},"orchestrator-zero plugin install \u003Cgit-url> [flags]\n",[368,3048,3049],{"__ignoreMap":413},[417,3050,3051,3053,3055,3058,3060,3063,3066,3068],{"class":419,"line":420},[417,3052,274],{"class":423},[417,3054,2904],{"class":426},[417,3056,3057],{"class":426}," install",[417,3059,485],{"class":484},[417,3061,3062],{"class":426},"git-ur",[417,3064,3065],{"class":430},"l",[417,3067,494],{"class":484},[417,3069,497],{"class":430},[338,3071,3072,3084],{},[341,3073,3074],{},[344,3075,3076,3078,3080,3082],{},[347,3077,349],{},[347,3079,352],{},[347,3081,355],{},[347,3083,358],{},[360,3085,3086,3100,3117,3134,3146,3160,3174,3191,3205,3219,3236,3253],{},[344,3087,3088,3093,3095,3097],{},[365,3089,3090],{},[368,3091,3092],{},"--all-at-once",[365,3094,540],{},[365,3096],{},[365,3098,3099],{},"give a new version to every node at once, instead of rolling it out to canaries first",[344,3101,3102,3107,3109,3114],{},[365,3103,3104],{},[368,3105,3106],{},"--batch",[365,3108,1036],{},[365,3110,3111],{},[368,3112,3113],{},"half of the rest",[365,3115,3116],{},"nodes in each later step of a rollout",[344,3118,3119,3124,3126,3131],{},[365,3120,3121],{},[368,3122,3123],{},"--canary",[365,3125,1036],{},[365,3127,3128],{},[368,3129,3130],{},"1",[365,3132,3133],{},"nodes in a rollout's first step",[344,3135,3136,3140,3142,3144],{},[365,3137,3138],{},[368,3139,537],{},[365,3141,540],{},[365,3143],{},[365,3145,545],{},[344,3147,3148,3153,3155,3157],{},[365,3149,3150],{},[368,3151,3152],{},"--no-gate",[365,3154,540],{},[365,3156],{},[365,3158,3159],{},"install a version with evals at once, without running them on a test node first",[344,3161,3162,3167,3169,3171],{},[365,3163,3164],{},[368,3165,3166],{},"--path",[365,3168,373],{},[365,3170],{},[365,3172,3173],{},"the plugin's folder in the repository, for repositories that hold several",[344,3175,3176,3181,3183,3188],{},[365,3177,3178],{},[368,3179,3180],{},"--ref",[365,3182,373],{},[365,3184,3185],{},[368,3186,3187],{},"latest release tag, else the default branch",[365,3189,3190],{},"branch, tag or full commit SHA",[344,3192,3193,3198,3200,3202],{},[365,3194,3195],{},[368,3196,3197],{},"--secret",[365,3199,373],{},[365,3201],{},[365,3203,3204],{},"tenant secret with a token for a private repository over HTTPS (the token, or user:token)",[344,3206,3207,3212,3214,3216],{},[365,3208,3209],{},[368,3210,3211],{},"--select",[365,3213,1815],{},[365,3215],{},[365,3217,3218],{},"only nodes with this label, key=value; repeatable",[344,3220,3221,3226,3228,3233],{},[365,3222,3223],{},[368,3224,3225],{},"--soak",[365,3227,1553],{},[365,3229,3230],{},[368,3231,3232],{},"1m",[365,3234,3235],{},"how long each step of a rollout is watched before its gates",[344,3237,3238,3243,3245,3250],{},[365,3239,3240],{},[368,3241,3242],{},"--start-timeout",[365,3244,1553],{},[365,3246,3247],{},[368,3248,3249],{},"5m",[365,3251,3252],{},"how long a step's nodes may take to run the new version",[344,3254,3255,3259,3261,3265],{},[365,3256,3257],{},[368,3258,583],{},[365,3260,373],{},[365,3262,3263],{},[368,3264,590],{},[365,3266,3267],{},"tenant to install into",[330,3269,3271],{"id":3270},"plugin-lint",[368,3272,3038],{},[326,3274,3275],{},"Check a plugin the way the edge does before it installs one: oz0-plugin.yaml (unknown fields are errors), the agents it lists, its skills and the files they refer to. Exits non-zero on errors.",[408,3277,3279],{"className":410,"code":3278,"language":412,"meta":413,"style":413},"orchestrator-zero plugin lint [dir] [flags]\n",[368,3280,3281],{"__ignoreMap":413},[417,3282,3283,3285,3287,3290,3293,3295,3297],{"class":419,"line":420},[417,3284,274],{"class":423},[417,3286,2904],{"class":426},[417,3288,3289],{"class":426}," lint",[417,3291,3292],{"class":430}," [dir] ",[417,3294,1230],{"class":484},[417,3296,1233],{"class":430},[417,3298,1236],{"class":484},[338,3300,3301,3313],{},[341,3302,3303],{},[344,3304,3305,3307,3309,3311],{},[347,3306,349],{},[347,3308,352],{},[347,3310,355],{},[347,3312,358],{},[360,3314,3315],{},[344,3316,3317,3321,3323,3325],{},[365,3318,3319],{},[368,3320,537],{},[365,3322,540],{},[365,3324],{},[365,3326,3327],{},"print the checked bundle and problems as JSON",[330,3329,3331],{"id":3330},"plugin-list",[368,3332,2967],{},[326,3334,3335],{},"List installed plugins and how each node is doing with them",[408,3337,3339],{"className":410,"code":3338,"language":412,"meta":413,"style":413},"orchestrator-zero plugin list [flags]\n",[368,3340,3341],{"__ignoreMap":413},[417,3342,3343,3345,3347,3349],{"class":419,"line":420},[417,3344,274],{"class":423},[417,3346,2904],{"class":426},[417,3348,616],{"class":426},[417,3350,497],{"class":430},[338,3352,3353,3365],{},[341,3354,3355],{},[344,3356,3357,3359,3361,3363],{},[347,3358,349],{},[347,3360,352],{},[347,3362,355],{},[347,3364,358],{},[360,3366,3367,3379],{},[344,3368,3369,3373,3375,3377],{},[365,3370,3371],{},[368,3372,537],{},[365,3374,540],{},[365,3376],{},[365,3378,545],{},[344,3380,3381,3385,3387,3389],{},[365,3382,3383],{},[368,3384,583],{},[365,3386,373],{},[365,3388],{},[365,3390,3391],{},"only this tenant's plugins",[330,3393,3395],{"id":3394},"plugin-new",[368,3396,3397],{},"plugin new",[326,3399,3400],{},"Create a plugin from a template",[408,3402,3404],{"className":410,"code":3403,"language":412,"meta":413,"style":413},"orchestrator-zero plugin new \u003Cdir> [flags]\n",[368,3405,3406],{"__ignoreMap":413},[417,3407,3408,3410,3412,3415,3417,3420,3423,3425],{"class":419,"line":420},[417,3409,274],{"class":423},[417,3411,2904],{"class":426},[417,3413,3414],{"class":426}," new",[417,3416,485],{"class":484},[417,3418,3419],{"class":426},"di",[417,3421,3422],{"class":430},"r",[417,3424,494],{"class":484},[417,3426,497],{"class":430},[338,3428,3429,3441],{},[341,3430,3431],{},[344,3432,3433,3435,3437,3439],{},[347,3434,349],{},[347,3436,352],{},[347,3438,355],{},[347,3440,358],{},[360,3442,3443,3457,3474],{},[344,3444,3445,3450,3452,3454],{},[365,3446,3447],{},[368,3448,3449],{},"--description",[365,3451,373],{},[365,3453],{},[365,3455,3456],{},"one line about what the plugin does",[344,3458,3459,3464,3466,3471],{},[365,3460,3461],{},[368,3462,3463],{},"--name",[365,3465,373],{},[365,3467,3468],{},[368,3469,3470],{},"the directory's name",[365,3472,3473],{},"plugin name",[344,3475,3476,3481,3483,3488],{},[365,3477,3478],{},[368,3479,3480],{},"--template",[365,3482,373],{},[365,3484,3485],{},[368,3486,3487],{},"python-tool",[365,3489,3490],{},"template: python-agent, python-tool",[330,3492,3494],{"id":3493},"plugin-remove",[368,3495,3496],{},"plugin remove",[326,3498,3499],{},"Uninstall a plugin; nodes stop it and delete it",[408,3501,3503],{"className":410,"code":3502,"language":412,"meta":413,"style":413},"orchestrator-zero plugin remove \u003Cname> [flags]\n",[368,3504,3505],{"__ignoreMap":413},[417,3506,3507,3509,3511,3514,3516,3518,3520,3522],{"class":419,"line":420},[417,3508,274],{"class":423},[417,3510,2904],{"class":426},[417,3512,3513],{"class":426}," remove",[417,3515,485],{"class":484},[417,3517,488],{"class":426},[417,3519,491],{"class":430},[417,3521,494],{"class":484},[417,3523,497],{"class":430},[338,3525,3526,3538],{},[341,3527,3528],{},[344,3529,3530,3532,3534,3536],{},[347,3531,349],{},[347,3533,352],{},[347,3535,355],{},[347,3537,358],{},[360,3539,3540],{},[344,3541,3542,3546,3548,3552],{},[365,3543,3544],{},[368,3545,583],{},[365,3547,373],{},[365,3549,3550],{},[368,3551,590],{},[365,3553,593],{},[330,3555,3557],{"id":3556},"plugin-test",[368,3558,3559],{},"plugin test",[326,3561,3562],{},"Start a dev server and a node with the plugin from its working tree, run every case of its evals as a job, one at a time, and grade the answers. A case with a recording (evals\u002Fcassettes\u002F\u003Ceval>\u002F\u003Ccase>.jsonl) is answered from it, without calling a model; others call the real API with ANTHROPIC_API_KEY or OPENAI_API_KEY from the environment. --record calls the real API for every case and keeps the answers. Exits non-zero when an eval passes fewer cases than its threshold.",[408,3564,3566],{"className":410,"code":3565,"language":412,"meta":413,"style":413},"orchestrator-zero plugin test [plugin-dir] [flags]\n",[368,3567,3568],{"__ignoreMap":413},[417,3569,3570,3572,3574,3577,3579,3581,3583],{"class":419,"line":420},[417,3571,274],{"class":423},[417,3573,2904],{"class":426},[417,3575,3576],{"class":426}," test",[417,3578,1227],{"class":430},[417,3580,1230],{"class":484},[417,3582,1233],{"class":430},[417,3584,1236],{"class":484},[338,3586,3587,3599],{},[341,3588,3589],{},[344,3590,3591,3593,3595,3597],{},[347,3592,349],{},[347,3594,352],{},[347,3596,355],{},[347,3598,358],{},[360,3600,3601,3614,3631,3645,3657,3671,3688,3705,3719,3733],{},[344,3602,3603,3607,3609,3611],{},[365,3604,3605],{},[368,3606,1259],{},[365,3608,373],{},[365,3610],{},[365,3612,3613],{},"where the test node keeps uv, Python and Node.js between runs",[344,3615,3616,3621,3623,3628],{},[365,3617,3618],{},[368,3619,3620],{},"--cassettes",[365,3622,373],{},[365,3624,3625],{},[368,3626,3627],{},"\u003Cplugin>\u002Fevals\u002Fcassettes",[365,3629,3630],{},"where the recordings live",[344,3632,3633,3638,3640,3642],{},[365,3634,3635],{},[368,3636,3637],{},"--eval",[365,3639,373],{},[365,3641],{},[365,3643,3644],{},"run only this eval",[344,3646,3647,3651,3653,3655],{},[365,3648,3649],{},[368,3650,537],{},[365,3652,540],{},[365,3654],{},[365,3656,545],{},[344,3658,3659,3664,3666,3668],{},[365,3660,3661],{},[368,3662,3663],{},"--live",[365,3665,540],{},[365,3667],{},[365,3669,3670],{},"call the real API for every case, ignoring recordings",[344,3672,3673,3678,3680,3685],{},[365,3674,3675],{},[368,3676,3677],{},"--llm-anthropic-url",[365,3679,373],{},[365,3681,3682],{},[368,3683,3684],{},"https:\u002F\u002Fapi.anthropic.com",[365,3686,3687],{},"Anthropic API address for live calls",[344,3689,3690,3695,3697,3702],{},[365,3691,3692],{},[368,3693,3694],{},"--llm-openai-url",[365,3696,373],{},[365,3698,3699],{},[368,3700,3701],{},"https:\u002F\u002Fapi.openai.com",[365,3703,3704],{},"OpenAI API address for live calls",[344,3706,3707,3711,3713,3717],{},[365,3708,3709],{},[368,3710,1273],{},[365,3712,373],{},[365,3714,3715],{},[368,3716,1280],{},[365,3718,1283],{},[344,3720,3721,3726,3728,3730],{},[365,3722,3723],{},[368,3724,3725],{},"--record",[365,3727,540],{},[365,3729],{},[365,3731,3732],{},"call the real API for every case and keep the answers as the cases' recordings",[344,3734,3735,3739,3741,3745],{},[365,3736,3737],{},[368,3738,1290],{},[365,3740,373],{},[365,3742,3743],{},[368,3744,1297],{},[365,3746,1300],{},[330,3748,3750],{"id":3749},"plugin-update",[368,3751,3752],{},"plugin update",[326,3754,3755],{},"Resolve an installed plugin's ref again. A new commit runs its evals on a test node first, when it has any, and rolls out to canaries first when the plugin runs on two or more nodes (ADR 0052).",[408,3757,3759],{"className":410,"code":3758,"language":412,"meta":413,"style":413},"orchestrator-zero plugin update \u003Cname> [flags]\n",[368,3760,3761],{"__ignoreMap":413},[417,3762,3763,3765,3767,3770,3772,3774,3776,3778],{"class":419,"line":420},[417,3764,274],{"class":423},[417,3766,2904],{"class":426},[417,3768,3769],{"class":426}," update",[417,3771,485],{"class":484},[417,3773,488],{"class":426},[417,3775,491],{"class":430},[417,3777,494],{"class":484},[417,3779,497],{"class":430},[338,3781,3782,3794],{},[341,3783,3784],{},[344,3785,3786,3788,3790,3792],{},[347,3787,349],{},[347,3789,352],{},[347,3791,355],{},[347,3793,358],{},[360,3795,3796,3808,3822,3836,3848,3861,3875,3889],{},[344,3797,3798,3802,3804,3806],{},[365,3799,3800],{},[368,3801,3092],{},[365,3803,540],{},[365,3805],{},[365,3807,3099],{},[344,3809,3810,3814,3816,3820],{},[365,3811,3812],{},[368,3813,3106],{},[365,3815,1036],{},[365,3817,3818],{},[368,3819,3113],{},[365,3821,3116],{},[344,3823,3824,3828,3830,3834],{},[365,3825,3826],{},[368,3827,3123],{},[365,3829,1036],{},[365,3831,3832],{},[368,3833,3130],{},[365,3835,3133],{},[344,3837,3838,3842,3844,3846],{},[365,3839,3840],{},[368,3841,537],{},[365,3843,540],{},[365,3845],{},[365,3847,545],{},[344,3849,3850,3854,3856,3858],{},[365,3851,3852],{},[368,3853,3152],{},[365,3855,540],{},[365,3857],{},[365,3859,3860],{},"roll out a version with evals at once, without running them on a test node first",[344,3862,3863,3867,3869,3873],{},[365,3864,3865],{},[368,3866,3225],{},[365,3868,1553],{},[365,3870,3871],{},[368,3872,3232],{},[365,3874,3235],{},[344,3876,3877,3881,3883,3887],{},[365,3878,3879],{},[368,3880,3242],{},[365,3882,1553],{},[365,3884,3885],{},[368,3886,3249],{},[365,3888,3252],{},[344,3890,3891,3895,3897,3901],{},[365,3892,3893],{},[368,3894,583],{},[365,3896,373],{},[365,3898,3899],{},[368,3900,590],{},[365,3902,593],{},[330,3904,3906],{"id":3905},"rollout",[368,3907,3905],{},[326,3909,3910,3911,3914,3915,3917],{},"Rollouts move a tenant's nodes to a new version in steps, the canary first, through health and quality gates, and roll back by themselves. ",[368,3912,3913],{},"rollout start"," rolls out a runtime version; a new version of an installed plugin rolls out when ",[368,3916,3032],{}," installs it, once its quality gate passes if it has one. A tenant runs one rollout at a time; plugin rollouts wait for their turn.",[408,3919,3921],{"className":410,"code":3920,"language":412,"meta":413,"style":413},"orchestrator-zero rollout [command]\n",[368,3922,3923],{"__ignoreMap":413},[417,3924,3925,3927,3930],{"class":419,"line":420},[417,3926,274],{"class":423},[417,3928,3929],{"class":426}," rollout",[417,3931,431],{"class":430},[326,3933,434,3934,442,3940,442,3945,442,3950],{},[436,3935,3937],{"href":3936},"#rollout-abort",[368,3938,3939],{},"abort",[436,3941,3943],{"href":3942},"#rollout-list",[368,3944,448],{},[436,3946,3948],{"href":3947},"#rollout-show",[368,3949,2169],{},[436,3951,3953],{"href":3952},"#rollout-start",[368,3954,3955],{},"start",[330,3957,3959],{"id":3958},"rollout-abort",[368,3960,3961],{},"rollout abort",[326,3963,3964],{},"Roll a running rollout back, or drop a waiting one",[408,3966,3968],{"className":410,"code":3967,"language":412,"meta":413,"style":413},"orchestrator-zero rollout abort \u003Crollout-id> [flags]\n",[368,3969,3970],{"__ignoreMap":413},[417,3971,3972,3974,3976,3979,3981,3984,3986,3988],{"class":419,"line":420},[417,3973,274],{"class":423},[417,3975,3929],{"class":426},[417,3977,3978],{"class":426}," abort",[417,3980,485],{"class":484},[417,3982,3983],{"class":426},"rollout-i",[417,3985,691],{"class":430},[417,3987,494],{"class":484},[417,3989,497],{"class":430},[330,3991,3993],{"id":3992},"rollout-list",[368,3994,3995],{},"rollout list",[326,3997,3998],{},"List rollouts, newest first",[408,4000,4002],{"className":410,"code":4001,"language":412,"meta":413,"style":413},"orchestrator-zero rollout list [flags]\n",[368,4003,4004],{"__ignoreMap":413},[417,4005,4006,4008,4010,4012],{"class":419,"line":420},[417,4007,274],{"class":423},[417,4009,3929],{"class":426},[417,4011,616],{"class":426},[417,4013,497],{"class":430},[338,4015,4016,4028],{},[341,4017,4018],{},[344,4019,4020,4022,4024,4026],{},[347,4021,349],{},[347,4023,352],{},[347,4025,355],{},[347,4027,358],{},[360,4029,4030,4042],{},[344,4031,4032,4036,4038,4040],{},[365,4033,4034],{},[368,4035,537],{},[365,4037,540],{},[365,4039],{},[365,4041,545],{},[344,4043,4044,4048,4050,4052],{},[365,4045,4046],{},[368,4047,583],{},[365,4049,373],{},[365,4051],{},[365,4053,4054],{},"only this tenant's rollouts",[330,4056,4058],{"id":4057},"rollout-show",[368,4059,3042],{},[326,4061,4062],{},"Show a rollout's steps and verdicts",[408,4064,4066],{"className":410,"code":4065,"language":412,"meta":413,"style":413},"orchestrator-zero rollout show \u003Crollout-id> [flags]\n",[368,4067,4068],{"__ignoreMap":413},[417,4069,4070,4072,4074,4076,4078,4080,4082,4084],{"class":419,"line":420},[417,4071,274],{"class":423},[417,4073,3929],{"class":426},[417,4075,2649],{"class":426},[417,4077,485],{"class":484},[417,4079,3983],{"class":426},[417,4081,691],{"class":430},[417,4083,494],{"class":484},[417,4085,497],{"class":430},[338,4087,4088,4100],{},[341,4089,4090],{},[344,4091,4092,4094,4096,4098],{},[347,4093,349],{},[347,4095,352],{},[347,4097,355],{},[347,4099,358],{},[360,4101,4102],{},[344,4103,4104,4108,4110,4112],{},[365,4105,4106],{},[368,4107,537],{},[365,4109,540],{},[365,4111],{},[365,4113,545],{},[330,4115,4117],{"id":4116},"rollout-start",[368,4118,3913],{},[326,4120,4121],{},"Start a rollout of a runtime version to a tenant's online nodes. Each step assigns the version to its nodes, waits until they run it, sends them their share of new jobs, and watches them for --soak. A step passes when its nodes stay healthy and jobs on the new version fail no more than on the old one; a step that fails rolls the upgraded nodes back by itself.",[408,4123,4125],{"className":410,"code":4124,"language":412,"meta":413,"style":413},"orchestrator-zero rollout start --runtime \u003Cversion> [flags]\n",[368,4126,4127],{"__ignoreMap":413},[417,4128,4129,4131,4133,4136,4139,4141,4144,4147,4149],{"class":419,"line":420},[417,4130,274],{"class":423},[417,4132,3929],{"class":426},[417,4134,4135],{"class":426}," start",[417,4137,4138],{"class":426}," --runtime",[417,4140,485],{"class":484},[417,4142,4143],{"class":426},"versio",[417,4145,4146],{"class":430},"n",[417,4148,494],{"class":484},[417,4150,497],{"class":430},[338,4152,4153,4165],{},[341,4154,4155],{},[344,4156,4157,4159,4161,4163],{},[347,4158,349],{},[347,4160,352],{},[347,4162,355],{},[347,4164,358],{},[360,4166,4167,4182,4197,4209,4222,4237,4251],{},[344,4168,4169,4173,4175,4179],{},[365,4170,4171],{},[368,4172,3106],{},[365,4174,1036],{},[365,4176,4177],{},[368,4178,3113],{},[365,4180,4181],{},"nodes in each later step",[344,4183,4184,4188,4190,4194],{},[365,4185,4186],{},[368,4187,3123],{},[365,4189,1036],{},[365,4191,4192],{},[368,4193,3130],{},[365,4195,4196],{},"nodes in the first step",[344,4198,4199,4203,4205,4207],{},[365,4200,4201],{},[368,4202,537],{},[365,4204,540],{},[365,4206],{},[365,4208,545],{},[344,4210,4211,4215,4217,4219],{},[365,4212,4213],{},[368,4214,2820],{},[365,4216,373],{},[365,4218],{},[365,4220,4221],{},"the runtime version to move to: one the edge serves",[344,4223,4224,4228,4230,4234],{},[365,4225,4226],{},[368,4227,3225],{},[365,4229,1553],{},[365,4231,4232],{},[368,4233,3232],{},[365,4235,4236],{},"how long each step is watched before its gates",[344,4238,4239,4243,4245,4249],{},[365,4240,4241],{},[368,4242,3242],{},[365,4244,1553],{},[365,4246,4247],{},[368,4248,3249],{},[365,4250,3252],{},[344,4252,4253,4257,4259,4263],{},[365,4254,4255],{},[368,4256,583],{},[365,4258,373],{},[365,4260,4261],{},[368,4262,590],{},[365,4264,593],{},[330,4266,4267],{"id":1311},[368,4268,1311],{},[326,4270,4271],{},"Start a job for an agent and wait for its answer. INPUT is text, or JSON for agents with an input schema; \"-\" reads it from stdin. What the job and each agent it delegated to cost goes to stderr.",[326,4273,4274,4275,4277,4278,1739],{},"While the job runs, what its agents write and the tools they call stream to stderr (--quiet stops that). Jobs are durable: if you stop waiting, the job keeps running; follow it with ",[368,4276,2035],{}," or ",[368,4279,1581],{},[408,4281,4283],{"className":410,"code":4282,"language":412,"meta":413,"style":413},"orchestrator-zero run AGENT [INPUT] [flags]\n",[368,4284,4285],{"__ignoreMap":413},[417,4286,4287,4289,4291,4294,4297,4299,4301],{"class":419,"line":420},[417,4288,274],{"class":423},[417,4290,1753],{"class":426},[417,4292,4293],{"class":426}," AGENT",[417,4295,4296],{"class":430}," [INPUT] ",[417,4298,1230],{"class":484},[417,4300,1233],{"class":430},[417,4302,1236],{"class":484},[338,4304,4305,4317],{},[341,4306,4307],{},[344,4308,4309,4311,4313,4315],{},[347,4310,349],{},[347,4312,352],{},[347,4314,355],{},[347,4316,358],{},[360,4318,4319,4337,4351,4364,4376,4395,4410,4423],{},[344,4320,4321,4326,4329,4334],{},[365,4322,4323],{},[368,4324,4325],{},"--budget",[365,4327,4328],{},"float",[365,4330,4331],{},[368,4332,4333],{},"the agent's limits.max_cost_usd",[365,4335,4336],{},"most the job and the jobs it delegates to may spend on LLM calls, in US dollars",[344,4338,4339,4344,4346,4348],{},[365,4340,4341],{},[368,4342,4343],{},"--detach",[365,4345,540],{},[365,4347],{},[365,4349,4350],{},"print the job ID and return without waiting",[344,4352,4353,4357,4359,4361],{},[365,4354,4355],{},[368,4356,1795],{},[365,4358,373],{},[365,4360],{},[365,4362,4363],{},"job ID (default: a new random one); a job with this ID that still runs is followed instead",[344,4365,4366,4370,4372,4374],{},[365,4367,4368],{},[368,4369,537],{},[365,4371,540],{},[365,4373],{},[365,4375,545],{},[344,4377,4378,4388,4390,4392],{},[365,4379,4380,4383,4384,4387],{},[368,4381,4382],{},"--quiet"," (",[368,4385,4386],{},"-q",")",[365,4389,540],{},[365,4391],{},[365,4393,4394],{},"do not stream what the agents do; print only the answer and the cost",[344,4396,4397,4401,4403,4407],{},[365,4398,4399],{},[368,4400,583],{},[365,4402,373],{},[365,4404,4405],{},[368,4406,590],{},[365,4408,4409],{},"tenant to run in",[344,4411,4412,4416,4418,4420],{},[365,4413,4414],{},[368,4415,1858],{},[365,4417,1553],{},[365,4419],{},[365,4421,4422],{},"longest the job may run, on top of the agent's own limits",[344,4424,4425,4430,4432,4437],{},[365,4426,4427],{},[368,4428,4429],{},"--wait",[365,4431,1553],{},[365,4433,4434],{},[368,4435,4436],{},"until the job ends",[365,4438,4439],{},"longest to wait for the answer",[330,4441,4443],{"id":4442},"secret",[368,4444,4442],{},[326,4446,4447],{},"Manage tenant secrets, such as LLM API keys",[408,4449,4451],{"className":410,"code":4450,"language":412,"meta":413,"style":413},"orchestrator-zero secret [command]\n",[368,4452,4453],{"__ignoreMap":413},[417,4454,4455,4457,4460],{"class":419,"line":420},[417,4456,274],{"class":423},[417,4458,4459],{"class":426}," secret",[417,4461,431],{"class":430},[326,4463,434,4464,442,4469,442,4474],{},[436,4465,4467],{"href":4466},"#secret-delete",[368,4468,2140],{},[436,4470,4472],{"href":4471},"#secret-list",[368,4473,448],{},[436,4475,4477],{"href":4476},"#secret-set",[368,4478,4479],{},"set",[338,4481,4482,4494],{},[341,4483,4484],{},[344,4485,4486,4488,4490,4492],{},[347,4487,349],{},[347,4489,352],{},[347,4491,355],{},[347,4493,358],{},[360,4495,4496],{},[344,4497,4498,4502,4504,4508],{},[365,4499,4500],{},[368,4501,583],{},[365,4503,373],{},[365,4505,4506],{},[368,4507,590],{},[365,4509,593],{},[330,4511,4513],{"id":4512},"secret-delete",[368,4514,4515],{},"secret delete",[326,4517,4518],{},"Delete a secret",[408,4520,4522],{"className":410,"code":4521,"language":412,"meta":413,"style":413},"orchestrator-zero secret delete \u003CNAME> [flags]\n",[368,4523,4524],{"__ignoreMap":413},[417,4525,4526,4528,4530,4532,4534,4537,4540,4542],{"class":419,"line":420},[417,4527,274],{"class":423},[417,4529,4459],{"class":426},[417,4531,2350],{"class":426},[417,4533,485],{"class":484},[417,4535,4536],{"class":426},"NAM",[417,4538,4539],{"class":430},"E",[417,4541,494],{"class":484},[417,4543,497],{"class":430},[330,4545,4547],{"id":4546},"secret-list",[368,4548,4549],{},"secret list",[326,4551,4552],{},"List secret names (never values)",[408,4554,4556],{"className":410,"code":4555,"language":412,"meta":413,"style":413},"orchestrator-zero secret list [flags]\n",[368,4557,4558],{"__ignoreMap":413},[417,4559,4560,4562,4564,4566],{"class":419,"line":420},[417,4561,274],{"class":423},[417,4563,4459],{"class":426},[417,4565,616],{"class":426},[417,4567,497],{"class":430},[338,4569,4570,4582],{},[341,4571,4572],{},[344,4573,4574,4576,4578,4580],{},[347,4575,349],{},[347,4577,352],{},[347,4579,355],{},[347,4581,358],{},[360,4583,4584],{},[344,4585,4586,4590,4592,4594],{},[365,4587,4588],{},[368,4589,537],{},[365,4591,540],{},[365,4593],{},[365,4595,545],{},[330,4597,4599],{"id":4598},"secret-set",[368,4600,4601],{},"secret set",[326,4603,4604],{},"Store a secret; the value comes from stdin, --from-env or --from-file, never from the command line",[408,4606,4608],{"className":410,"code":4607,"language":412,"meta":413,"style":413},"orchestrator-zero secret set \u003CNAME> [flags]\n",[368,4609,4610],{"__ignoreMap":413},[417,4611,4612,4614,4616,4619,4621,4623,4625,4627],{"class":419,"line":420},[417,4613,274],{"class":423},[417,4615,4459],{"class":426},[417,4617,4618],{"class":426}," set",[417,4620,485],{"class":484},[417,4622,4536],{"class":426},[417,4624,4539],{"class":430},[417,4626,494],{"class":484},[417,4628,497],{"class":430},[338,4630,4631,4643],{},[341,4632,4633],{},[344,4634,4635,4637,4639,4641],{},[347,4636,349],{},[347,4638,352],{},[347,4640,355],{},[347,4642,358],{},[360,4644,4645,4659],{},[344,4646,4647,4652,4654,4656],{},[365,4648,4649],{},[368,4650,4651],{},"--from-env",[365,4653,373],{},[365,4655],{},[365,4657,4658],{},"read the value from this environment variable",[344,4660,4661,4666,4668,4670],{},[365,4662,4663],{},[368,4664,4665],{},"--from-file",[365,4667,373],{},[365,4669],{},[365,4671,4672],{},"read the value from this file",[330,4674,4676],{"id":4675},"server",[368,4677,4675],{},[326,4679,4680],{},"Run an orchestrator-zero server",[408,4682,4684],{"className":410,"code":4683,"language":412,"meta":413,"style":413},"orchestrator-zero server [command]\n",[368,4685,4686],{"__ignoreMap":413},[417,4687,4688,4690,4693],{"class":419,"line":420},[417,4689,274],{"class":423},[417,4691,4692],{"class":426}," server",[417,4694,431],{"class":430},[326,4696,434,4697,442,4703,442,4709,442,4715,442,4720,442,4726],{},[436,4698,4700],{"href":4699},"#server-backup",[368,4701,4702],{},"backup",[436,4704,4706],{"href":4705},"#server-dist",[368,4707,4708],{},"dist",[436,4710,4712],{"href":4711},"#server-init",[368,4713,4714],{},"init",[436,4716,4718],{"href":4717},"#server-operator",[368,4719,573],{},[436,4721,4723],{"href":4722},"#server-restore",[368,4724,4725],{},"restore",[436,4727,4729],{"href":4728},"#server-start",[368,4730,3955],{},[330,4732,4734],{"id":4733},"server-backup",[368,4735,4736],{},"server backup",[326,4738,4739,4740,4743],{},"Write one archive of every management table, read in one snapshot while servers keep running, and for a dev server its Temporal database too. The master key is not in it: keep that apart, and give it to ",[368,4741,4742],{},"server restore",". The archive holds job content and sealed secrets, so store it as you store the database. A cluster's Temporal databases are backed up with PostgreSQL's own tools.",[408,4745,4747],{"className":410,"code":4746,"language":412,"meta":413,"style":413},"orchestrator-zero server backup --out FILE [flags]\n",[368,4748,4749],{"__ignoreMap":413},[417,4750,4751,4753,4755,4758,4761,4764],{"class":419,"line":420},[417,4752,274],{"class":423},[417,4754,4692],{"class":426},[417,4756,4757],{"class":426}," backup",[417,4759,4760],{"class":426}," --out",[417,4762,4763],{"class":426}," FILE",[417,4765,497],{"class":430},[338,4767,4768,4780],{},[341,4769,4770],{},[344,4771,4772,4774,4776,4778],{},[347,4773,349],{},[347,4775,352],{},[347,4777,355],{},[347,4779,358],{},[360,4781,4782,4799,4813,4827],{},[344,4783,4784,4789,4791,4796],{},[365,4785,4786],{},[368,4787,4788],{},"--data-dir",[365,4790,373],{},[365,4792,4793],{},[368,4794,4795],{},"~\u002F.local\u002Fshare\u002Forchestrator-zero",[365,4797,4798],{},"server data directory",[344,4800,4801,4806,4808,4810],{},[365,4802,4803],{},[368,4804,4805],{},"--db",[365,4807,373],{},[365,4809],{},[365,4811,4812],{},"PostgreSQL URL of the management database (or set OZ0_DB)",[344,4814,4815,4820,4822,4824],{},[365,4816,4817],{},[368,4818,4819],{},"--dev",[365,4821,540],{},[365,4823],{},[365,4825,4826],{},"a dev server's data directory (--data-dir) instead of a cluster's database",[344,4828,4829,4837,4839,4841],{},[365,4830,4831,4383,4834,4387],{},[368,4832,4833],{},"--out",[368,4835,4836],{},"-o",[365,4838,373],{},[365,4840],{},[365,4842,4843],{},"the archive to write, such as oz0-backup.tar.gz",[330,4845,4847],{"id":4846},"server-dist",[368,4848,4849],{},"server dist",[326,4851,4852],{},"Manage what the edge serves to nodes: node binaries and runtimes",[408,4854,4856],{"className":410,"code":4855,"language":412,"meta":413,"style":413},"orchestrator-zero server dist [command]\n",[368,4857,4858],{"__ignoreMap":413},[417,4859,4860,4862,4864,4867],{"class":419,"line":420},[417,4861,274],{"class":423},[417,4863,4692],{"class":426},[417,4865,4866],{"class":426}," dist",[417,4868,431],{"class":430},[326,4870,434,4871],{},[436,4872,4874],{"href":4873},"#server-dist-pull",[368,4875,4876],{},"pull",[330,4878,4880],{"id":4879},"server-dist-pull",[368,4881,4882],{},"server dist pull",[326,4884,4885,4886,4889],{},"Mirror a release into the dist directory the edge serves (ADR 0047). URL is where a release's dist folder is served: manifest.json, manifest.json.sig and the files they name. The release's signature must be by a key this server binary trusts, and every file must match its digest; the manifest goes in place last, so nodes see the new release whole or not at all. Then ",[368,4887,4888],{},"node upgrade --binary"," moves nodes to it.",[408,4891,4893],{"className":410,"code":4892,"language":412,"meta":413,"style":413},"orchestrator-zero server dist pull URL [flags]\n",[368,4894,4895],{"__ignoreMap":413},[417,4896,4897,4899,4901,4903,4906,4909],{"class":419,"line":420},[417,4898,274],{"class":423},[417,4900,4692],{"class":426},[417,4902,4866],{"class":426},[417,4904,4905],{"class":426}," pull",[417,4907,4908],{"class":426}," URL",[417,4910,497],{"class":430},[338,4912,4913,4925],{},[341,4914,4915],{},[344,4916,4917,4919,4921,4923],{},[347,4918,349],{},[347,4920,352],{},[347,4922,355],{},[347,4924,358],{},[360,4926,4927],{},[344,4928,4929,4934,4936,4941],{},[365,4930,4931],{},[368,4932,4933],{},"--dist-dir",[365,4935,373],{},[365,4937,4938],{},[368,4939,4940],{},"the dist folder next to this binary's folder",[365,4942,4943],{},"the edge's dist directory",[330,4945,4947],{"id":4946},"server-init",[368,4948,4949],{},"server init",[326,4951,4952],{},"Create a cluster once, before its first server starts. It creates the PostgreSQL databases and schemas, writes the master key, creates the cluster's CAs, the first tenant and the first operator, whose credentials go to --operator-dir.",[408,4954,4956],{"className":410,"code":4955,"language":412,"meta":413,"style":413},"orchestrator-zero server init [flags]\n",[368,4957,4958],{"__ignoreMap":413},[417,4959,4960,4962,4964,4967],{"class":419,"line":420},[417,4961,274],{"class":423},[417,4963,4692],{"class":426},[417,4965,4966],{"class":426}," init",[417,4968,497],{"class":430},[338,4970,4971,4983],{},[341,4972,4973],{},[344,4974,4975,4977,4979,4981],{},[347,4976,349],{},[347,4978,352],{},[347,4980,355],{},[347,4982,358],{},[360,4984,4985,5002,5019,5033,5046,5063,5080,5097,5114],{},[344,4986,4987,4992,4994,4999],{},[365,4988,4989],{},[368,4990,4991],{},"--advertise",[365,4993,373],{},[365,4995,4996],{},[368,4997,4998],{},"127.0.0.1",[365,5000,5001],{},"server address to put in the operator's CLI context",[344,5003,5004,5009,5011,5016],{},[365,5005,5006],{},[368,5007,5008],{},"--cluster-name",[365,5010,373],{},[365,5012,5013],{},[368,5014,5015],{},"oz0",[365,5017,5018],{},"cluster name (lowercase letters, digits, dashes)",[344,5020,5021,5025,5027,5031],{},[365,5022,5023],{},[368,5024,4788],{},[365,5026,373],{},[365,5028,5029],{},[368,5030,4795],{},[365,5032,4798],{},[344,5034,5035,5039,5041,5043],{},[365,5036,5037],{},[368,5038,4805],{},[365,5040,373],{},[365,5042],{},[365,5044,5045],{},"PostgreSQL URL of the management database, e.g. postgres:\u002F\u002Foz0@db:5432\u002Foz0 (or set OZ0_DB)",[344,5047,5048,5053,5055,5060],{},[365,5049,5050],{},[368,5051,5052],{},"--history-shards",[365,5054,1705],{},[365,5056,5057],{},[368,5058,5059],{},"1024",[365,5061,5062],{},"Temporal history shards; can never change",[344,5064,5065,5070,5072,5077],{},[365,5066,5067],{},[368,5068,5069],{},"--master-key-out",[365,5071,373],{},[365,5073,5074],{},[368,5075,5076],{},"\u003Cdata-dir>\u002Fmaster.key",[365,5078,5079],{},"where to write the master key",[344,5081,5082,5087,5089,5094],{},[365,5083,5084],{},[368,5085,5086],{},"--operator",[365,5088,373],{},[365,5090,5091],{},[368,5092,5093],{},"admin",[365,5095,5096],{},"first operator",[344,5098,5099,5104,5106,5111],{},[365,5100,5101],{},[368,5102,5103],{},"--operator-dir",[365,5105,373],{},[365,5107,5108],{},[368,5109,5110],{},"\u003Cconfig dir>\u002Forchestrator-zero\u002F\u003Ccluster>",[365,5112,5113],{},"where to write the operator's credentials",[344,5115,5116,5120,5122,5126],{},[365,5117,5118],{},[368,5119,583],{},[365,5121,373],{},[365,5123,5124],{},[368,5125,590],{},[365,5127,5128],{},"first tenant; its Temporal namespace has the same name",[330,5130,5132],{"id":5131},"server-operator",[368,5133,5134],{},"server operator",[326,5136,5137],{},"Issue operator credentials on a server's own machine",[408,5139,5141],{"className":410,"code":5140,"language":412,"meta":413,"style":413},"orchestrator-zero server operator [command]\n",[368,5142,5143],{"__ignoreMap":413},[417,5144,5145,5147,5149,5151],{"class":419,"line":420},[417,5146,274],{"class":423},[417,5148,4692],{"class":426},[417,5150,2846],{"class":426},[417,5152,431],{"class":430},[326,5154,434,5155],{},[436,5156,5158],{"href":5157},"#server-operator-issue",[368,5159,5160],{},"issue",[330,5162,5164],{"id":5163},"server-operator-issue",[368,5165,5166],{},"server operator issue",[326,5168,5169,5170,1739],{},"Issue a key, a certificate and a CLI context for an operator (default admin), and add the operator if the cluster has none of that name. It runs on a server's machine: it reads the database and the master key, so whoever can run it is trusted like a server. A context already in --operator-dir keeps its addresses. An operator whose certificate still works renews it with ",[368,5171,5172],{},"orchestrator-zero operator renew",[408,5174,5176],{"className":410,"code":5175,"language":412,"meta":413,"style":413},"orchestrator-zero server operator issue [NAME] [flags]\n",[368,5177,5178],{"__ignoreMap":413},[417,5179,5180,5182,5184,5186,5189,5192,5194,5196],{"class":419,"line":420},[417,5181,274],{"class":423},[417,5183,4692],{"class":426},[417,5185,2846],{"class":426},[417,5187,5188],{"class":426}," issue",[417,5190,5191],{"class":430}," [NAME] ",[417,5193,1230],{"class":484},[417,5195,1233],{"class":430},[417,5197,1236],{"class":484},[338,5199,5200,5212],{},[341,5201,5202],{},[344,5203,5204,5206,5208,5210],{},[347,5205,349],{},[347,5207,352],{},[347,5209,355],{},[347,5211,358],{},[360,5213,5214,5229,5243,5255,5268,5284,5299],{},[344,5215,5216,5220,5222,5226],{},[365,5217,5218],{},[368,5219,4991],{},[365,5221,373],{},[365,5223,5224],{},[368,5225,4998],{},[365,5227,5228],{},"server address for a new CLI context",[344,5230,5231,5235,5237,5241],{},[365,5232,5233],{},[368,5234,4788],{},[365,5236,373],{},[365,5238,5239],{},[368,5240,4795],{},[365,5242,4798],{},[344,5244,5245,5249,5251,5253],{},[365,5246,5247],{},[368,5248,4805],{},[365,5250,373],{},[365,5252],{},[365,5254,4812],{},[344,5256,5257,5261,5263,5265],{},[365,5258,5259],{},[368,5260,4819],{},[365,5262,540],{},[365,5264],{},[365,5266,5267],{},"a dev server's data directory (--data-dir): its database and master key, and its operator directory",[344,5269,5270,5275,5277,5281],{},[365,5271,5272],{},[368,5273,5274],{},"--master-key-file",[365,5276,373],{},[365,5278,5279],{},[368,5280,5076],{},[365,5282,5283],{},"master key file",[344,5285,5286,5290,5292,5296],{},[365,5287,5288],{},[368,5289,1827],{},[365,5291,373],{},[365,5293,5294],{},[368,5295,590],{},[365,5297,5298],{},"namespace for a new CLI context",[344,5300,5301,5305,5307,5312],{},[365,5302,5303],{},[368,5304,5103],{},[365,5306,373],{},[365,5308,5309],{},[368,5310,5311],{},"\u003Cconfig dir>\u002Forchestrator-zero\u002F\u003Cname>",[365,5313,5314],{},"where to write the credentials",[330,5316,5318],{"id":5317},"server-restore",[368,5319,4742],{},[326,5321,5322,5323,5325,5326,5328],{},"Restore an archive from ",[368,5324,4736],{}," into an empty database: --db for a cluster, or a new dev data directory with --dev --data-dir. It checks every file's digest, and that the master key unseals the backup's CAs, before it writes anything. Then it inserts every row in one transaction and migrates to this binary's schema. Nodes keep their certificates and reconnect; operators get new credentials with ",[368,5327,5166],{},", which a dev server does by itself when it starts.",[408,5330,5332],{"className":410,"code":5331,"language":412,"meta":413,"style":413},"orchestrator-zero server restore FILE --master-key-file KEY [flags]\n",[368,5333,5334],{"__ignoreMap":413},[417,5335,5336,5338,5340,5343,5345,5348,5351],{"class":419,"line":420},[417,5337,274],{"class":423},[417,5339,4692],{"class":426},[417,5341,5342],{"class":426}," restore",[417,5344,4763],{"class":426},[417,5346,5347],{"class":426}," --master-key-file",[417,5349,5350],{"class":426}," KEY",[417,5352,497],{"class":430},[338,5354,5355,5367],{},[341,5356,5357],{},[344,5358,5359,5361,5363,5365],{},[347,5360,349],{},[347,5362,352],{},[347,5364,355],{},[347,5366,358],{},[360,5368,5369,5383,5395,5407],{},[344,5370,5371,5375,5377,5381],{},[365,5372,5373],{},[368,5374,4788],{},[365,5376,373],{},[365,5378,5379],{},[368,5380,4795],{},[365,5382,4798],{},[344,5384,5385,5389,5391,5393],{},[365,5386,5387],{},[368,5388,4805],{},[365,5390,373],{},[365,5392],{},[365,5394,4812],{},[344,5396,5397,5401,5403,5405],{},[365,5398,5399],{},[368,5400,4819],{},[365,5402,540],{},[365,5404],{},[365,5406,4826],{},[344,5408,5409,5413,5415,5417],{},[365,5410,5411],{},[368,5412,5274],{},[365,5414,373],{},[365,5416],{},[365,5418,5419],{},"the master key of the cluster the backup is from",[330,5421,5423],{"id":5422},"server-start",[368,5424,5425],{},"server start",[326,5427,5428,5429,5431],{},"Start the server. With --dev, management, edge and an embedded Temporal run in one process on SQLite, which is meant for development and tests. Without it the server joins the cluster that ",[368,5430,4949],{}," created in PostgreSQL.",[408,5433,5435],{"className":410,"code":5434,"language":412,"meta":413,"style":413},"orchestrator-zero server start [flags]\n",[368,5436,5437],{"__ignoreMap":413},[417,5438,5439,5441,5443,5445],{"class":419,"line":420},[417,5440,274],{"class":423},[417,5442,4692],{"class":426},[417,5444,4135],{"class":426},[417,5446,497],{"class":430},[338,5448,5449,5461],{},[341,5450,5451],{},[344,5452,5453,5455,5457,5459],{},[347,5454,349],{},[347,5456,352],{},[347,5458,355],{},[347,5460,358],{},[360,5462,5463,5479,5494,5506,5519,5534,5551,5568,5585,5600,5615,5632,5647,5661,5677,5697,5715,5730,5747,5764,5781,5798,5815,5832,5849,5865,5882,5899],{},[344,5464,5465,5469,5471,5476],{},[365,5466,5467],{},[368,5468,4991],{},[365,5470,373],{},[365,5472,5473],{},[368,5474,5475],{},"first non-loopback IPv4",[365,5477,5478],{},"address other servers and nodes reach this server on",[344,5480,5481,5485,5487,5491],{},[365,5482,5483],{},[368,5484,4788],{},[365,5486,373],{},[365,5488,5489],{},[368,5490,4795],{},[365,5492,5493],{},"server data directory (with --dev: keep dev state here instead of a temporary directory)",[344,5495,5496,5500,5502,5504],{},[365,5497,5498],{},[368,5499,4805],{},[365,5501,373],{},[365,5503],{},[365,5505,4812],{},[344,5507,5508,5512,5514,5516],{},[365,5509,5510],{},[368,5511,4819],{},[365,5513,540],{},[365,5515],{},[365,5517,5518],{},"run in dev mode: one process, embedded Temporal on SQLite",[344,5520,5521,5525,5527,5531],{},[365,5522,5523],{},[368,5524,4933],{},[365,5526,373],{},[365,5528,5529],{},[368,5530,4940],{},[365,5532,5533],{},"what make dist built, which the edge serves to new nodes",[344,5535,5536,5541,5543,5548],{},[365,5537,5538],{},[368,5539,5540],{},"--edge-api-port",[365,5542,1705],{},[365,5544,5545],{},[368,5546,5547],{},"7443",[365,5549,5550],{},"edge HTTPS port for join, renew and the control stream",[344,5552,5553,5558,5560,5565],{},[365,5554,5555],{},[368,5556,5557],{},"--edge-temporal-port",[365,5559,1705],{},[365,5561,5562],{},[368,5563,5564],{},"7233",[365,5566,5567],{},"port where nodes reach Temporal through the edge",[344,5569,5570,5575,5577,5582],{},[365,5571,5572],{},[368,5573,5574],{},"--ip",[365,5576,373],{},[365,5578,5579],{},[368,5580,5581],{},"127.0.0.1 with --dev, else 0.0.0.0",[365,5583,5584],{},"IP address to bind listeners to",[344,5586,5587,5591,5593,5597],{},[365,5588,5589],{},[368,5590,3677],{},[365,5592,373],{},[365,5594,5595],{},[368,5596,3684],{},[365,5598,5599],{},"Anthropic API address for the LLM gateway",[344,5601,5602,5606,5608,5612],{},[365,5603,5604],{},[368,5605,3694],{},[365,5607,373],{},[365,5609,5610],{},[368,5611,3701],{},[365,5613,5614],{},"OpenAI-compatible API address for the LLM gateway",[344,5616,5617,5622,5624,5629],{},[365,5618,5619],{},[368,5620,5621],{},"--management-port",[365,5623,1705],{},[365,5625,5626],{},[368,5627,5628],{},"8443",[365,5630,5631],{},"management HTTPS port for the admin API",[344,5633,5634,5638,5640,5644],{},[365,5635,5636],{},[368,5637,5274],{},[365,5639,373],{},[365,5641,5642],{},[368,5643,5076],{},[365,5645,5646],{},"master key file written by server init",[344,5648,5649,5654,5656,5658],{},[365,5650,5651],{},[368,5652,5653],{},"--metrics-listen",[365,5655,373],{},[365,5657],{},[365,5659,5660],{},"serve \u002Fmetrics for Prometheus on this address over plain HTTP, such as 127.0.0.1:9464 (not authenticated: keep it private)",[344,5662,5663,5667,5669,5674],{},[365,5664,5665],{},[368,5666,3463],{},[365,5668,373],{},[365,5670,5671],{},[368,5672,5673],{},"host name",[365,5675,5676],{},"server name in the cluster",[344,5678,5679,5684,5686,5688],{},[365,5680,5681],{},[368,5682,5683],{},"--otlp-endpoint",[365,5685,373],{},[365,5687],{},[365,5689,5690,5691,5696],{},"send traces over OTLP\u002FHTTP to this URL, such as ",[436,5692,5693],{"href":5693,"rel":5694},"http:\u002F\u002Fcollector:4318",[5695],"nofollow",": the server's own, and the nodes', which the edge relays",[344,5698,5699,5704,5707,5712],{},[365,5700,5701],{},[368,5702,5703],{},"--otlp-header",[365,5705,5706],{},"stringToString",[365,5708,5709],{},[368,5710,5711],{},"[]",[365,5713,5714],{},"a header for every trace export, such as Authorization=Bearer ...; repeatable",[344,5716,5717,5722,5725,5727],{},[365,5718,5719],{},[368,5720,5721],{},"--san",[365,5723,5724],{},"strings",[365,5726],{},[365,5728,5729],{},"extra host name or IP for the edge certificate, such as a load balancer; repeatable",[344,5731,5732,5737,5739,5744],{},[365,5733,5734],{},[368,5735,5736],{},"--temporal-frontend-membership-port",[365,5738,1705],{},[365,5740,5741],{},[368,5742,5743],{},"6933",[365,5745,5746],{},"Temporal frontend membership port",[344,5748,5749,5754,5756,5761],{},[365,5750,5751],{},[368,5752,5753],{},"--temporal-frontend-port",[365,5755,1705],{},[365,5757,5758],{},[368,5759,5760],{},"7234",[365,5762,5763],{},"Temporal frontend gRPC port",[344,5765,5766,5771,5773,5778],{},[365,5767,5768],{},[368,5769,5770],{},"--temporal-history-membership-port",[365,5772,1705],{},[365,5774,5775],{},[368,5776,5777],{},"6934",[365,5779,5780],{},"Temporal history membership port",[344,5782,5783,5788,5790,5795],{},[365,5784,5785],{},[368,5786,5787],{},"--temporal-history-port",[365,5789,1705],{},[365,5791,5792],{},[368,5793,5794],{},"7235",[365,5796,5797],{},"Temporal history gRPC port",[344,5799,5800,5805,5807,5812],{},[365,5801,5802],{},[368,5803,5804],{},"--temporal-log-level",[365,5806,373],{},[365,5808,5809],{},[368,5810,5811],{},"WARN",[365,5813,5814],{},"log level for Temporal's own logs",[344,5816,5817,5822,5824,5829],{},[365,5818,5819],{},[368,5820,5821],{},"--temporal-matching-membership-port",[365,5823,1705],{},[365,5825,5826],{},[368,5827,5828],{},"6935",[365,5830,5831],{},"Temporal matching membership port",[344,5833,5834,5839,5841,5846],{},[365,5835,5836],{},[368,5837,5838],{},"--temporal-matching-port",[365,5840,1705],{},[365,5842,5843],{},[368,5844,5845],{},"7236",[365,5847,5848],{},"Temporal matching gRPC port",[344,5850,5851,5856,5858,5862],{},[365,5852,5853],{},[368,5854,5855],{},"--temporal-port",[365,5857,1705],{},[365,5859,5860],{},[368,5861,5760],{},[365,5863,5864],{},"dev mode: port of the embedded Temporal frontend",[344,5866,5867,5872,5874,5879],{},[365,5868,5869],{},[368,5870,5871],{},"--temporal-ui-port",[365,5873,1705],{},[365,5875,5876],{},[368,5877,5878],{},"8233",[365,5880,5881],{},"dev mode: port of the Temporal web UI (0 disables it)",[344,5883,5884,5889,5891,5896],{},[365,5885,5886],{},[368,5887,5888],{},"--temporal-worker-membership-port",[365,5890,1705],{},[365,5892,5893],{},[368,5894,5895],{},"6939",[365,5897,5898],{},"Temporal worker membership port",[344,5900,5901,5906,5908,5913],{},[365,5902,5903],{},[368,5904,5905],{},"--temporal-worker-port",[365,5907,1705],{},[365,5909,5910],{},[368,5911,5912],{},"7239",[365,5914,5915],{},"Temporal worker gRPC port",[330,5917,5918],{"id":593},[368,5919,593],{},[326,5921,5922],{},"Manage tenants",[408,5924,5926],{"className":410,"code":5925,"language":412,"meta":413,"style":413},"orchestrator-zero tenant [command]\n",[368,5927,5928],{"__ignoreMap":413},[417,5929,5930,5932,5935],{"class":419,"line":420},[417,5931,274],{"class":423},[417,5933,5934],{"class":426}," tenant",[417,5936,431],{"class":430},[326,5938,434,5939,442,5945,442,5950],{},[436,5940,5942],{"href":5941},"#tenant-budget",[368,5943,5944],{},"budget",[436,5946,5948],{"href":5947},"#tenant-create",[368,5949,441],{},[436,5951,5953],{"href":5952},"#tenant-list",[368,5954,448],{},[330,5956,5958],{"id":5957},"tenant-budget",[368,5959,5960],{},"tenant budget",[326,5962,5963],{},"Set the most a tenant may spend in a calendar month (UTC) on model calls and on what plugins report. Once it is spent, the gateway refuses the tenant's model calls until the month ends or the budget is raised.",[408,5965,5967],{"className":410,"code":5966,"language":412,"meta":413,"style":413},"orchestrator-zero tenant budget \u003Ctenant> \u003Cusd> [flags]\n",[368,5968,5969],{"__ignoreMap":413},[417,5970,5971,5973,5975,5978,5980,5983,5986,5988,5990,5993,5995,5997],{"class":419,"line":420},[417,5972,274],{"class":423},[417,5974,5934],{"class":426},[417,5976,5977],{"class":426}," budget",[417,5979,485],{"class":484},[417,5981,5982],{"class":426},"tenan",[417,5984,5985],{"class":430},"t",[417,5987,494],{"class":484},[417,5989,485],{"class":484},[417,5991,5992],{"class":426},"us",[417,5994,691],{"class":430},[417,5996,494],{"class":484},[417,5998,497],{"class":430},[338,6000,6001,6013],{},[341,6002,6003],{},[344,6004,6005,6007,6009,6011],{},[347,6006,349],{},[347,6008,352],{},[347,6010,355],{},[347,6012,358],{},[360,6014,6015],{},[344,6016,6017,6021,6023,6025],{},[365,6018,6019],{},[368,6020,537],{},[365,6022,540],{},[365,6024],{},[365,6026,545],{},[330,6028,6030],{"id":6029},"tenant-create",[368,6031,6032],{},"tenant create",[326,6034,6035],{},"Create a tenant and its Temporal namespace",[408,6037,6039],{"className":410,"code":6038,"language":412,"meta":413,"style":413},"orchestrator-zero tenant create \u003Cid> [flags]\n",[368,6040,6041],{"__ignoreMap":413},[417,6042,6043,6045,6047,6049,6051,6053,6055,6057],{"class":419,"line":420},[417,6044,274],{"class":423},[417,6046,5934],{"class":426},[417,6048,481],{"class":426},[417,6050,485],{"class":484},[417,6052,688],{"class":426},[417,6054,691],{"class":430},[417,6056,494],{"class":484},[417,6058,497],{"class":430},[338,6060,6061,6073],{},[341,6062,6063],{},[344,6064,6065,6067,6069,6071],{},[347,6066,349],{},[347,6068,352],{},[347,6070,355],{},[347,6072,358],{},[360,6074,6075,6089],{},[344,6076,6077,6082,6084,6086],{},[365,6078,6079],{},[368,6080,6081],{},"--display-name",[365,6083,373],{},[365,6085],{},[365,6087,6088],{},"human-readable name",[344,6090,6091,6095,6097,6099],{},[365,6092,6093],{},[368,6094,537],{},[365,6096,540],{},[365,6098],{},[365,6100,545],{},[330,6102,6104],{"id":6103},"tenant-list",[368,6105,6106],{},"tenant list",[326,6108,6109],{},"List tenants",[408,6111,6113],{"className":410,"code":6112,"language":412,"meta":413,"style":413},"orchestrator-zero tenant list [flags]\n",[368,6114,6115],{"__ignoreMap":413},[417,6116,6117,6119,6121,6123],{"class":419,"line":420},[417,6118,274],{"class":423},[417,6120,5934],{"class":426},[417,6122,616],{"class":426},[417,6124,497],{"class":430},[338,6126,6127,6139],{},[341,6128,6129],{},[344,6130,6131,6133,6135,6137],{},[347,6132,349],{},[347,6134,352],{},[347,6136,355],{},[347,6138,358],{},[360,6140,6141],{},[344,6142,6143,6147,6149,6151],{},[365,6144,6145],{},[368,6146,537],{},[365,6148,540],{},[365,6150],{},[365,6152,545],{},[330,6154,6156],{"id":6155},"token",[368,6157,6155],{},[326,6159,6160],{},"Manage join tokens",[408,6162,6164],{"className":410,"code":6163,"language":412,"meta":413,"style":413},"orchestrator-zero token [command]\n",[368,6165,6166],{"__ignoreMap":413},[417,6167,6168,6170,6173],{"class":419,"line":420},[417,6169,274],{"class":423},[417,6171,6172],{"class":426}," token",[417,6174,431],{"class":430},[326,6176,434,6177,442,6182,442,6187],{},[436,6178,6180],{"href":6179},"#token-create",[368,6181,441],{},[436,6183,6185],{"href":6184},"#token-list",[368,6186,448],{},[436,6188,6190],{"href":6189},"#token-revoke",[368,6191,454],{},[330,6193,6195],{"id":6194},"token-create",[368,6196,6197],{},"token create",[326,6199,6200],{},"Create a join token; nodes that use it are accepted without approval",[408,6202,6204],{"className":410,"code":6203,"language":412,"meta":413,"style":413},"orchestrator-zero token create [flags]\n",[368,6205,6206],{"__ignoreMap":413},[417,6207,6208,6210,6212,6214],{"class":419,"line":420},[417,6209,274],{"class":423},[417,6211,6172],{"class":426},[417,6213,481],{"class":426},[417,6215,497],{"class":430},[338,6217,6218,6230],{},[341,6219,6220],{},[344,6221,6222,6224,6226,6228],{},[347,6223,349],{},[347,6225,352],{},[347,6227,355],{},[347,6229,358],{},[360,6231,6232,6245,6257,6270,6285,6300],{},[344,6233,6234,6238,6240,6242],{},[365,6235,6236],{},[368,6237,3449],{},[365,6239,373],{},[365,6241],{},[365,6243,6244],{},"what the token is for",[344,6246,6247,6251,6253,6255],{},[365,6248,6249],{},[368,6250,537],{},[365,6252,540],{},[365,6254],{},[365,6256,545],{},[344,6258,6259,6263,6265,6267],{},[365,6260,6261],{},[368,6262,2241],{},[365,6264,1815],{},[365,6266],{},[365,6268,6269],{},"label for joining nodes, key=value; repeatable",[344,6271,6272,6277,6280,6282],{},[365,6273,6274],{},[368,6275,6276],{},"--max-uses",[365,6278,6279],{},"uint32",[365,6281],{},[365,6283,6284],{},"how many nodes may join with it (0: unlimited)",[344,6286,6287,6291,6293,6297],{},[365,6288,6289],{},[368,6290,583],{},[365,6292,373],{},[365,6294,6295],{},[368,6296,590],{},[365,6298,6299],{},"tenant the nodes join",[344,6301,6302,6307,6309,6313],{},[365,6303,6304],{},[368,6305,6306],{},"--ttl",[365,6308,1553],{},[365,6310,6311],{},[368,6312,1558],{},[365,6314,6315],{},"how long the token is valid (0: forever)",[330,6317,6319],{"id":6318},"token-list",[368,6320,6321],{},"token list",[326,6323,6324],{},"List join tokens",[408,6326,6328],{"className":410,"code":6327,"language":412,"meta":413,"style":413},"orchestrator-zero token list [flags]\n",[368,6329,6330],{"__ignoreMap":413},[417,6331,6332,6334,6336,6338],{"class":419,"line":420},[417,6333,274],{"class":423},[417,6335,6172],{"class":426},[417,6337,616],{"class":426},[417,6339,497],{"class":430},[338,6341,6342,6354],{},[341,6343,6344],{},[344,6345,6346,6348,6350,6352],{},[347,6347,349],{},[347,6349,352],{},[347,6351,355],{},[347,6353,358],{},[360,6355,6356,6368],{},[344,6357,6358,6362,6364,6366],{},[365,6359,6360],{},[368,6361,537],{},[365,6363,540],{},[365,6365],{},[365,6367,545],{},[344,6369,6370,6374,6376,6378],{},[365,6371,6372],{},[368,6373,583],{},[365,6375,373],{},[365,6377],{},[365,6379,6380],{},"only this tenant's tokens",[330,6382,6384],{"id":6383},"token-revoke",[368,6385,6386],{},"token revoke",[326,6388,6389],{},"Revoke a join token; nodes that joined with it stay",[408,6391,6393],{"className":410,"code":6392,"language":412,"meta":413,"style":413},"orchestrator-zero token revoke \u003Ctoken-id> [flags]\n",[368,6394,6395],{"__ignoreMap":413},[417,6396,6397,6399,6401,6403,6405,6408,6410,6412],{"class":419,"line":420},[417,6398,274],{"class":423},[417,6400,6172],{"class":426},[417,6402,683],{"class":426},[417,6404,485],{"class":484},[417,6406,6407],{"class":426},"token-i",[417,6409,691],{"class":430},[417,6411,494],{"class":484},[417,6413,497],{"class":430},[330,6415,6417],{"id":6416},"usage",[368,6418,6416],{},[326,6420,6421],{},"Show LLM tokens and cost by job, agent and model",[408,6423,6425],{"className":410,"code":6424,"language":412,"meta":413,"style":413},"orchestrator-zero usage [flags]\n",[368,6426,6427],{"__ignoreMap":413},[417,6428,6429,6431,6434],{"class":419,"line":420},[417,6430,274],{"class":423},[417,6432,6433],{"class":426}," usage",[417,6435,497],{"class":430},[338,6437,6438,6450],{},[341,6439,6440],{},[344,6441,6442,6444,6446,6448],{},[347,6443,349],{},[347,6445,352],{},[347,6447,355],{},[347,6449,358],{},[360,6451,6452,6465,6477,6492],{},[344,6453,6454,6458,6460,6462],{},[365,6455,6456],{},[368,6457,929],{},[365,6459,373],{},[365,6461],{},[365,6463,6464],{},"only this job (workflow id)",[344,6466,6467,6471,6473,6475],{},[365,6468,6469],{},[368,6470,537],{},[365,6472,540],{},[365,6474],{},[365,6476,545],{},[344,6478,6479,6483,6485,6489],{},[365,6480,6481],{},[368,6482,1550],{},[365,6484,1553],{},[365,6486,6487],{},[368,6488,1558],{},[365,6490,6491],{},"how far back",[344,6493,6494,6498,6500,6504],{},[365,6495,6496],{},[368,6497,583],{},[365,6499,373],{},[365,6501,6502],{},[368,6503,590],{},[365,6505,593],{},[330,6507,6509],{"id":6508},"user",[368,6510,6508],{},[326,6512,6513],{},"Manage web UI accounts and their roles in tenants",[408,6515,6517],{"className":410,"code":6516,"language":412,"meta":413,"style":413},"orchestrator-zero user [command]\n",[368,6518,6519],{"__ignoreMap":413},[417,6520,6521,6523,6526],{"class":419,"line":420},[417,6522,274],{"class":423},[417,6524,6525],{"class":426}," user",[417,6527,431],{"class":430},[326,6529,434,6530,442,6536,442,6542,442,6547,442,6553,442,6558],{},[436,6531,6533],{"href":6532},"#user-add",[368,6534,6535],{},"add",[436,6537,6539],{"href":6538},"#user-grant",[368,6540,6541],{},"grant",[436,6543,6545],{"href":6544},"#user-list",[368,6546,448],{},[436,6548,6550],{"href":6549},"#user-password",[368,6551,6552],{},"password",[436,6554,6556],{"href":6555},"#user-remove",[368,6557,2943],{},[436,6559,6561],{"href":6560},"#user-revoke",[368,6562,454],{},[330,6564,6566],{"id":6565},"user-add",[368,6567,6568],{},"user add",[326,6570,6571],{},"Add a web UI account; without --password-stdin a password is generated and printed once",[408,6573,6575],{"className":410,"code":6574,"language":412,"meta":413,"style":413},"orchestrator-zero user add NAME [flags]\n",[368,6576,6577],{"__ignoreMap":413},[417,6578,6579,6581,6583,6586,6589],{"class":419,"line":420},[417,6580,274],{"class":423},[417,6582,6525],{"class":426},[417,6584,6585],{"class":426}," add",[417,6587,6588],{"class":426}," NAME",[417,6590,497],{"class":430},[338,6592,6593,6605],{},[341,6594,6595],{},[344,6596,6597,6599,6601,6603],{},[347,6598,349],{},[347,6600,352],{},[347,6602,355],{},[347,6604,358],{},[360,6606,6607,6621],{},[344,6608,6609,6614,6616,6618],{},[365,6610,6611],{},[368,6612,6613],{},"--password-stdin",[365,6615,540],{},[365,6617],{},[365,6619,6620],{},"read the password from stdin instead of generating one",[344,6622,6623,6627,6629,6634],{},[365,6624,6625],{},[368,6626,566],{},[365,6628,373],{},[365,6630,6631],{},[368,6632,6633],{},"reader",[365,6635,6636],{},"admin (every tenant, and the cluster), reader (reads every tenant) or member (only its tenants: see user grant)",[330,6638,6640],{"id":6639},"user-grant",[368,6641,6642],{},"user grant",[326,6644,6645],{},"Give an account a role in a tenant (ADR 0046), replacing the one it had there. Readers look; operators also start and cancel jobs and decide approvals; admins also change the tenant's nodes, plugins, secrets, tokens and budget; owners also decide who is a member. --content says whether the account may see what the tenant's jobs read and wrote; without it, operators and above may and readers may not.",[408,6647,6649],{"className":410,"code":6648,"language":412,"meta":413,"style":413},"orchestrator-zero user grant NAME [flags]\n",[368,6650,6651],{"__ignoreMap":413},[417,6652,6653,6655,6657,6660,6662],{"class":419,"line":420},[417,6654,274],{"class":423},[417,6656,6525],{"class":426},[417,6658,6659],{"class":426}," grant",[417,6661,6588],{"class":426},[417,6663,497],{"class":430},[338,6665,6666,6678],{},[341,6667,6668],{},[344,6669,6670,6672,6674,6676],{},[347,6671,349],{},[347,6673,352],{},[347,6675,355],{},[347,6677,358],{},[360,6679,6680,6697,6710],{},[344,6681,6682,6687,6689,6694],{},[365,6683,6684],{},[368,6685,6686],{},"--content",[365,6688,540],{},[365,6690,6691],{},[368,6692,6693],{},"operators and above",[365,6695,6696],{},"whether the account may see what the tenant's jobs read and wrote",[344,6698,6699,6703,6705,6707],{},[365,6700,6701],{},[368,6702,566],{},[365,6704,373],{},[365,6706],{},[365,6708,6709],{},"reader, operator, admin or owner",[344,6711,6712,6716,6718,6722],{},[365,6713,6714],{},[368,6715,583],{},[365,6717,373],{},[365,6719,6720],{},[368,6721,590],{},[365,6723,593],{},[330,6725,6727],{"id":6726},"user-list",[368,6728,6729],{},"user list",[326,6731,6732],{},"List web UI accounts",[408,6734,6736],{"className":410,"code":6735,"language":412,"meta":413,"style":413},"orchestrator-zero user list [flags]\n",[368,6737,6738],{"__ignoreMap":413},[417,6739,6740,6742,6744,6746],{"class":419,"line":420},[417,6741,274],{"class":423},[417,6743,6525],{"class":426},[417,6745,616],{"class":426},[417,6747,497],{"class":430},[338,6749,6750,6762],{},[341,6751,6752],{},[344,6753,6754,6756,6758,6760],{},[347,6755,349],{},[347,6757,352],{},[347,6759,355],{},[347,6761,358],{},[360,6763,6764],{},[344,6765,6766,6770,6772,6774],{},[365,6767,6768],{},[368,6769,537],{},[365,6771,540],{},[365,6773],{},[365,6775,545],{},[330,6777,6779],{"id":6778},"user-password",[368,6780,6781],{},"user password",[326,6783,6784],{},"Set a new password and sign the user out everywhere; without --password-stdin one is generated",[408,6786,6788],{"className":410,"code":6787,"language":412,"meta":413,"style":413},"orchestrator-zero user password NAME [flags]\n",[368,6789,6790],{"__ignoreMap":413},[417,6791,6792,6794,6796,6799,6801],{"class":419,"line":420},[417,6793,274],{"class":423},[417,6795,6525],{"class":426},[417,6797,6798],{"class":426}," password",[417,6800,6588],{"class":426},[417,6802,497],{"class":430},[338,6804,6805,6817],{},[341,6806,6807],{},[344,6808,6809,6811,6813,6815],{},[347,6810,349],{},[347,6812,352],{},[347,6814,355],{},[347,6816,358],{},[360,6818,6819],{},[344,6820,6821,6825,6827,6829],{},[365,6822,6823],{},[368,6824,6613],{},[365,6826,540],{},[365,6828],{},[365,6830,6620],{},[330,6832,6834],{"id":6833},"user-remove",[368,6835,6836],{},"user remove",[326,6838,6839],{},"Remove a web UI account and sign it out",[408,6841,6843],{"className":410,"code":6842,"language":412,"meta":413,"style":413},"orchestrator-zero user remove NAME [flags]\n",[368,6844,6845],{"__ignoreMap":413},[417,6846,6847,6849,6851,6853,6855],{"class":419,"line":420},[417,6848,274],{"class":423},[417,6850,6525],{"class":426},[417,6852,3513],{"class":426},[417,6854,6588],{"class":426},[417,6856,497],{"class":430},[330,6858,6860],{"id":6859},"user-revoke",[368,6861,6862],{},"user revoke",[326,6864,6865],{},"Take an account's role in a tenant away",[408,6867,6869],{"className":410,"code":6868,"language":412,"meta":413,"style":413},"orchestrator-zero user revoke NAME [flags]\n",[368,6870,6871],{"__ignoreMap":413},[417,6872,6873,6875,6877,6879,6881],{"class":419,"line":420},[417,6874,274],{"class":423},[417,6876,6525],{"class":426},[417,6878,683],{"class":426},[417,6880,6588],{"class":426},[417,6882,497],{"class":430},[338,6884,6885,6897],{},[341,6886,6887],{},[344,6888,6889,6891,6893,6895],{},[347,6890,349],{},[347,6892,352],{},[347,6894,355],{},[347,6896,358],{},[360,6898,6899],{},[344,6900,6901,6905,6907,6911],{},[365,6902,6903],{},[368,6904,583],{},[365,6906,373],{},[365,6908,6909],{},[368,6910,590],{},[365,6912,593],{},[330,6914,6916],{"id":6915},"version",[368,6917,6915],{},[326,6919,6920],{},"Print the version",[408,6922,6924],{"className":410,"code":6923,"language":412,"meta":413,"style":413},"orchestrator-zero version [flags]\n",[368,6925,6926],{"__ignoreMap":413},[417,6927,6928,6930,6933],{"class":419,"line":420},[417,6929,274],{"class":423},[417,6931,6932],{"class":426}," version",[417,6934,497],{"class":430},[6936,6937,6938],"style",{},"html pre.shiki code .sBMFI, html code.shiki .sBMFI{--shiki-light:#E2931D;--shiki-default:#FFCB6B;--shiki-dark:#FFCB6B}html pre.shiki code .sfazB, html code.shiki .sfazB{--shiki-light:#91B859;--shiki-default:#C3E88D;--shiki-dark:#C3E88D}html pre.shiki code .sTEyZ, html code.shiki .sTEyZ{--shiki-light:#90A4AE;--shiki-default:#EEFFFF;--shiki-dark:#BABED8}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 .sMK4o, html code.shiki .sMK4o{--shiki-light:#39ADB5;--shiki-default:#89DDFF;--shiki-dark:#89DDFF}",{"title":413,"searchDepth":6940,"depth":6940,"links":6941},2,[6942,6943,6944,6945,6946,6947,6948,6949,6950,6951,6952,6953,6954,6955,6956,6957,6958,6959,6960,6961,6962,6963,6964,6965,6966,6967,6968,6969,6970,6971,6972,6973,6974,6975,6976,6977,6978,6979,6980,6981,6982,6983,6984,6985,6986,6987,6988,6989,6990,6991,6992,6993,6994,6995,6996,6997,6998,6999,7000,7001,7002,7003,7004,7005,7006,7007,7008,7009,7010,7011,7012,7013,7014,7015,7016,7017,7018,7019,7020,7021,7022],{"id":332,"depth":6940,"text":333},{"id":401,"depth":6940,"text":401},{"id":457,"depth":6940,"text":460},{"id":596,"depth":6940,"text":599},{"id":663,"depth":6940,"text":666},{"id":698,"depth":6940,"text":698},{"id":739,"depth":6940,"text":742},{"id":814,"depth":6940,"text":817},{"id":885,"depth":6940,"text":888},{"id":965,"depth":6940,"text":965},{"id":1061,"depth":6940,"text":1061},{"id":1125,"depth":6940,"text":1125},{"id":1154,"depth":6940,"text":1157},{"id":1207,"depth":6940,"text":1207},{"id":1303,"depth":6940,"text":1303},{"id":1376,"depth":6940,"text":1379},{"id":1447,"depth":6940,"text":1450},{"id":1578,"depth":6940,"text":1581},{"id":1647,"depth":6940,"text":1650},{"id":1729,"depth":6940,"text":1732},{"id":1885,"depth":6940,"text":1888},{"id":1961,"depth":6940,"text":1894},{"id":2032,"depth":6940,"text":2035},{"id":2101,"depth":6940,"text":2101},{"id":2184,"depth":6940,"text":2187},{"id":2266,"depth":6940,"text":2269},{"id":2330,"depth":6940,"text":2333},{"id":2365,"depth":6940,"text":2368},{"id":2458,"depth":6940,"text":2461},{"id":2526,"depth":6940,"text":2529},{"id":2561,"depth":6940,"text":2564},{"id":2629,"depth":6940,"text":2632},{"id":2690,"depth":6940,"text":2693},{"id":2725,"depth":6940,"text":2728},{"id":573,"depth":6940,"text":573},{"id":2859,"depth":6940,"text":2862},{"id":2887,"depth":6940,"text":2887},{"id":2958,"depth":6940,"text":2961},{"id":3029,"depth":6940,"text":3032},{"id":3270,"depth":6940,"text":3038},{"id":3330,"depth":6940,"text":2967},{"id":3394,"depth":6940,"text":3397},{"id":3493,"depth":6940,"text":3496},{"id":3556,"depth":6940,"text":3559},{"id":3749,"depth":6940,"text":3752},{"id":3905,"depth":6940,"text":3905},{"id":3958,"depth":6940,"text":3961},{"id":3992,"depth":6940,"text":3995},{"id":4057,"depth":6940,"text":3042},{"id":4116,"depth":6940,"text":3913},{"id":1311,"depth":6940,"text":1311},{"id":4442,"depth":6940,"text":4442},{"id":4512,"depth":6940,"text":4515},{"id":4546,"depth":6940,"text":4549},{"id":4598,"depth":6940,"text":4601},{"id":4675,"depth":6940,"text":4675},{"id":4733,"depth":6940,"text":4736},{"id":4846,"depth":6940,"text":4849},{"id":4879,"depth":6940,"text":4882},{"id":4946,"depth":6940,"text":4949},{"id":5131,"depth":6940,"text":5134},{"id":5163,"depth":6940,"text":5166},{"id":5317,"depth":6940,"text":4742},{"id":5422,"depth":6940,"text":5425},{"id":593,"depth":6940,"text":593},{"id":5957,"depth":6940,"text":5960},{"id":6029,"depth":6940,"text":6032},{"id":6103,"depth":6940,"text":6106},{"id":6155,"depth":6940,"text":6155},{"id":6194,"depth":6940,"text":6197},{"id":6318,"depth":6940,"text":6321},{"id":6383,"depth":6940,"text":6386},{"id":6416,"depth":6940,"text":6416},{"id":6508,"depth":6940,"text":6508},{"id":6565,"depth":6940,"text":6568},{"id":6639,"depth":6940,"text":6642},{"id":6726,"depth":6940,"text":6729},{"id":6778,"depth":6940,"text":6781},{"id":6833,"depth":6940,"text":6836},{"id":6859,"depth":6940,"text":6862},{"id":6915,"depth":6940,"text":6915},"The server binary and the operator CLI: run servers, manage nodes, plugins, secrets and jobs.","md",null,{},true,{"title":274,"description":7023},"343NHk2N60ryzLQHfzJlW1B31Bv8TjnI0ccEp4ZQzlk",[7031,7033],{"title":259,"path":260,"stem":261,"description":7032,"icon":152,"children":-1},"Common problems, what causes them and how to fix them.",{"title":278,"path":279,"stem":280,"description":7034,"children":-1},"The node binary: join a cluster and run agents on this machine.",1791135414830]