chainlesschain 0.165.10 → 0.166.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (189) hide show
  1. package/completions/_cc +2 -1
  2. package/completions/cc.bash +2 -2
  3. package/completions/cc.fish +2 -2
  4. package/completions/cc.ps1 +2 -1
  5. package/package.json +1 -1
  6. package/src/assets/web-panel/assets/{AIOps-DoxapYEM.js → AIOps-DwdhBUBc.js} +1 -1
  7. package/src/assets/web-panel/assets/{ActionButton-DyiHvT2O.js → ActionButton-Dd1lBEeo.js} +1 -1
  8. package/src/assets/web-panel/assets/{Analytics-CAX06POB.js → Analytics-DuGuuI36.js} +3 -3
  9. package/src/assets/web-panel/assets/{AppLayout-JXxcyn0R.js → AppLayout-CvHpSs3M.js} +5 -5
  10. package/src/assets/web-panel/assets/{Artifacts-40nZDb9N.js → Artifacts-BU9F3wJh.js} +1 -1
  11. package/src/assets/web-panel/assets/{Audit-B_wc8Kcq.js → Audit-DK_n_WFm.js} +1 -1
  12. package/src/assets/web-panel/assets/{BackgroundAgents-CReWOiQY.js → BackgroundAgents-qKsxF5tv.js} +1 -1
  13. package/src/assets/web-panel/assets/{Backup-sXrv9fE6.js → Backup-JS58pSyV.js} +1 -1
  14. package/src/assets/web-panel/assets/{BaseInput-CHWmIERI.js → BaseInput-gGl6Ray1.js} +1 -1
  15. package/src/assets/web-panel/assets/{Chat-DgQrMZCb.js → Chat-B2FZNq3U.js} +6 -6
  16. package/src/assets/web-panel/assets/{ChatBubbleRenderer-Clpgj0fi.js → ChatBubbleRenderer-CZS_bLAr.js} +1 -1
  17. package/src/assets/web-panel/assets/{Checkbox-DmRwzt3e.js → Checkbox-tsI0TE22.js} +1 -1
  18. package/src/assets/web-panel/assets/{Codegen-tllAfrrc.js → Codegen-D5kqhfAr.js} +1 -1
  19. package/src/assets/web-panel/assets/{Col-CA_wqwEp.js → Col-DdN1TrqS.js} +1 -1
  20. package/src/assets/web-panel/assets/{Community-DQ_szKAv.js → Community-DgbEeh6V.js} +1 -1
  21. package/src/assets/web-panel/assets/{Compact-CjkqX60k.js → Compact-FIm-fRB_.js} +1 -1
  22. package/src/assets/web-panel/assets/{Compliance-CfDNkDex.js → Compliance-B-N0pudf.js} +1 -1
  23. package/src/assets/web-panel/assets/{Cowork-PINc6CPv.js → Cowork-CuMafBpi.js} +3 -3
  24. package/src/assets/web-panel/assets/{Cron-snYq4WCj.js → Cron-BTwzNFHR.js} +2 -2
  25. package/src/assets/web-panel/assets/{Crosschain-CKR7he4B.js → Crosschain-DRoYbLOd.js} +1 -1
  26. package/src/assets/web-panel/assets/{DID-Bp5xJSbE.js → DID-CPhnNkz_.js} +2 -2
  27. package/src/assets/web-panel/assets/{Dashboard-Dn-y6txl.js → Dashboard-DJQftix2.js} +2 -2
  28. package/src/assets/web-panel/assets/{Dropdown-D0uEeunr.js → Dropdown-PSAH1Kfy.js} +1 -1
  29. package/src/assets/web-panel/assets/{EmailListRenderer-DIhjyeNw.js → EmailListRenderer-PVRqeMiZ.js} +1 -1
  30. package/src/assets/web-panel/assets/{FamilyGuardDashboard-D2Pv1Hnb.js → FamilyGuardDashboard-CYtnjqjl.js} +1 -1
  31. package/src/assets/web-panel/assets/{Federation-D6oSp4P4.js → Federation-_-53kTDz.js} +1 -1
  32. package/src/assets/web-panel/assets/{FormItemContext-s6bzlfQs.js → FormItemContext-DTQ4qGuE.js} +1 -1
  33. package/src/assets/web-panel/assets/{GenericCardRenderer-B_NTgGP9.js → GenericCardRenderer-ON_NfX8k.js} +1 -1
  34. package/src/assets/web-panel/assets/{Git-Dk1lCoBr.js → Git-DUc3w_Bf.js} +2 -2
  35. package/src/assets/web-panel/assets/{Governance-xOnLBQzd.js → Governance-CktsJ2ku.js} +1 -1
  36. package/src/assets/web-panel/assets/{Inference-BFVHy-0I.js → Inference-4wUHQvju.js} +1 -1
  37. package/src/assets/web-panel/assets/{KnowledgeGraph-BXzITB9_.js → KnowledgeGraph-Dq4saPnZ.js} +1 -1
  38. package/src/assets/web-panel/assets/{Logs-BD2M4NPu.js → Logs-Btb50m5s.js} +2 -2
  39. package/src/assets/web-panel/assets/MarkdownRenderer-Cre8P8HG.js +1 -0
  40. package/src/assets/web-panel/assets/{Marketplace-awpllI_9.js → Marketplace-D3rSncxx.js} +1 -1
  41. package/src/assets/web-panel/assets/{McpTools-tL0IgbIX.js → McpTools-Bc6Mori_.js} +3 -3
  42. package/src/assets/web-panel/assets/{Memory-CrptLGSN.js → Memory-C-ottUdN.js} +2 -2
  43. package/src/assets/web-panel/assets/{MobileBridge-DZX-l_BS.js → MobileBridge-C0DITBmP.js} +1 -1
  44. package/src/assets/web-panel/assets/MobileProjects-O6cr0Nal.js +1 -0
  45. package/src/assets/web-panel/assets/{Mtc-dQ5-FjpQ.js → Mtc-B_MXKXvY.js} +6 -6
  46. package/src/assets/web-panel/assets/{MtcAudit-U0nDxDlG.js → MtcAudit-BDkUqWIT.js} +5 -5
  47. package/src/assets/web-panel/assets/{Multisig-D1PpAtiq.js → Multisig-BaxNWm8c.js} +3 -3
  48. package/src/assets/web-panel/assets/{NLProgramming-phZr6nyZ.js → NLProgramming-UD2GndZc.js} +1 -1
  49. package/src/assets/web-panel/assets/{Notes-BPzSSUrX.js → Notes-pU7wtMwB.js} +3 -3
  50. package/src/assets/web-panel/assets/{NotificationSettings-AypFEc7p.js → NotificationSettings-BIs6ULr3.js} +1 -1
  51. package/src/assets/web-panel/assets/{OrderTableRenderer-S3k1qjT-.js → OrderTableRenderer-0NuumnfG.js} +1 -1
  52. package/src/assets/web-panel/assets/{Organization-BvdQXFPR.js → Organization-C9o-n2lq.js} +4 -4
  53. package/src/assets/web-panel/assets/{Overflow-CUz_jbQC.js → Overflow-CEvMXxCS.js} +1 -1
  54. package/src/assets/web-panel/assets/{P2P-C0xQ7H_2.js → P2P-C3gQMTK3.js} +2 -2
  55. package/src/assets/web-panel/assets/{PdhVaultBrowser-DJKMjfB8.js → PdhVaultBrowser-D1LVpBOr.js} +3 -3
  56. package/src/assets/web-panel/assets/{Permissions-dkMtmDwK.js → Permissions-Dj5nIi0Y.js} +4 -4
  57. package/src/assets/web-panel/assets/{PersonalDataHub-CyHE7fnn.js → PersonalDataHub-uiLYuFcu.js} +6 -6
  58. package/src/assets/web-panel/assets/{Pipeline-_dU0Nwy3.js → Pipeline-CIrmF89x.js} +1 -1
  59. package/src/assets/web-panel/assets/{Privacy-fqLyg57f.js → Privacy-B3K1CUBa.js} +1 -1
  60. package/src/assets/web-panel/assets/{ProjectInit-COybCr5d.js → ProjectInit-C_wCZ0zW.js} +2 -2
  61. package/src/assets/web-panel/assets/{ProjectSettings-B4DngMZW.js → ProjectSettings-iCitfuNJ.js} +2 -2
  62. package/src/assets/web-panel/assets/{Projects-D0bMwUBm.js → Projects-BwimeXkW.js} +1 -1
  63. package/src/assets/web-panel/assets/{Providers-Ba-7WNA8.js → Providers-BLpepgr6.js} +1 -1
  64. package/src/assets/web-panel/assets/{QrScannerModal-X-I8dDMT.js → QrScannerModal-DPy8tjXV.js} +1 -1
  65. package/src/assets/web-panel/assets/{QuickAsk-BCUP0a90.js → QuickAsk-CRq8VhID.js} +1 -1
  66. package/src/assets/web-panel/assets/{Recommend-DtFNmiQZ.js → Recommend-CirlWIiK.js} +1 -1
  67. package/src/assets/web-panel/assets/{RemoteSession-INR5CIAI.js → RemoteSession-nlnJlKXO.js} +3 -3
  68. package/src/assets/web-panel/assets/{Reputation-B6NfaCc6.js → Reputation-B5aaxee5.js} +1 -1
  69. package/src/assets/web-panel/assets/{Row-Dmz76txh.js → Row-lzsTQZlq.js} +1 -1
  70. package/src/assets/web-panel/assets/{RssFeed-B7qyFCea.js → RssFeed-C41AzjgC.js} +3 -3
  71. package/src/assets/web-panel/assets/{Search-Bi6eS0oY.js → Search-1Hxx3TZ3.js} +1 -1
  72. package/src/assets/web-panel/assets/{Security-D9_xim1L.js → Security-8VqwRxAp.js} +4 -4
  73. package/src/assets/web-panel/assets/{Services-PI1O-uYU.js → Services-DCm0HHAD.js} +2 -2
  74. package/src/assets/web-panel/assets/{Skeleton-B8BrJnk8.js → Skeleton-D6w5gpmW.js} +1 -1
  75. package/src/assets/web-panel/assets/{Skills-DvSm92dJ.js → Skills-Bw_pUTJB.js} +1 -1
  76. package/src/assets/web-panel/assets/{Sla-BWyhCoRo.js → Sla-BkMj8Dxu.js} +1 -1
  77. package/src/assets/web-panel/assets/{SpeechSettings-BL9H27jl.js → SpeechSettings-BOmLqW44.js} +1 -1
  78. package/src/assets/web-panel/assets/{SyncSettings-B7r--6yN.js → SyncSettings-2xKSqFDO.js} +2 -2
  79. package/src/assets/web-panel/assets/{Tasks-sc64p2Jt.js → Tasks-BPAnzVau.js} +1 -1
  80. package/src/assets/web-panel/assets/{Templates-DEK55RVb.js → Templates-CcOGWgZz.js} +1 -1
  81. package/src/assets/web-panel/assets/{Tenant-DElr8R1l.js → Tenant-CAyzzQWN.js} +1 -1
  82. package/src/assets/web-panel/assets/{Terminal-BywaLBgz.js → Terminal-Daagerkm.js} +2 -2
  83. package/src/assets/web-panel/assets/{TimelineRenderer-B5NcgLyS.js → TimelineRenderer-1jGbMj7I.js} +1 -1
  84. package/src/assets/web-panel/assets/{Tokens-COFYqr6A.js → Tokens-CYQ-FQju.js} +1 -1
  85. package/src/assets/web-panel/assets/{Trigger-CfnVS3ij.js → Trigger-C70zRwuR.js} +1 -1
  86. package/src/assets/web-panel/assets/{Trust-Bz94Gu5k.js → Trust-CeqXfiX_.js} +1 -1
  87. package/src/assets/web-panel/assets/{UkeySign-Be10drSk.js → UkeySign-D0j6m1bU.js} +1 -1
  88. package/src/assets/web-panel/assets/{VideoEditing-CUB_cMem.js → VideoEditing-DFHpM7Yd.js} +1 -1
  89. package/src/assets/web-panel/assets/{Wallet-DxBJJuvG.js → Wallet-BVC2J0Yx.js} +4 -4
  90. package/src/assets/web-panel/assets/{WebAuthn-BZx5lwT8.js → WebAuthn-BceIN2Gn.js} +4 -4
  91. package/src/assets/web-panel/assets/{WorkflowEditor-B4sJikPT.js → WorkflowEditor-Bgeb-i-S.js} +1 -1
  92. package/src/assets/web-panel/assets/{chat-Wl-95AgM.js → chat-BmMBqgvz.js} +1 -1
  93. package/src/assets/web-panel/assets/{colors-DUSwYVCg.js → colors-sjRzwnyw.js} +1 -1
  94. package/src/assets/web-panel/assets/{compact-item-DkKRDHcU.js → compact-item-DNt6m2bM.js} +1 -1
  95. package/src/assets/web-panel/assets/{createContext-B5nAVC_Y.js → createContext-DELaLit3.js} +1 -1
  96. package/src/assets/web-panel/assets/devWarning-Ct8o3bu_.js +1 -0
  97. package/src/assets/web-panel/assets/{hasIn-rtotsRlA.js → hasIn-dfwk9O8x.js} +1 -1
  98. package/src/assets/web-panel/assets/{index-B_KDhTdt.js → index-1w7dha_a.js} +1 -1
  99. package/src/assets/web-panel/assets/{index-C7kGJlSA.js → index-6bjBUhoH.js} +1 -1
  100. package/src/assets/web-panel/assets/{index-CN2LNCWW.js → index-B0wkOqE9.js} +1 -1
  101. package/src/assets/web-panel/assets/{index-CAtnIdx_.js → index-B4Z4HZcf.js} +1 -1
  102. package/src/assets/web-panel/assets/{index-D7zQADRc.js → index-B7qiZc2Z.js} +1 -1
  103. package/src/assets/web-panel/assets/{index-DoBh4Ezg.js → index-BLbvXsxf.js} +1 -1
  104. package/src/assets/web-panel/assets/{index-mwPG3TJQ.js → index-BMnvNNEd.js} +1 -1
  105. package/src/assets/web-panel/assets/{index-Ba8raWtd.js → index-BSB9Gin8.js} +1 -1
  106. package/src/assets/web-panel/assets/{index-CJWpTdCW.js → index-BXJ68ObJ.js} +1 -1
  107. package/src/assets/web-panel/assets/{index-DCCTgytM.js → index-Bs-mWOWt.js} +1 -1
  108. package/src/assets/web-panel/assets/{index-D7Nx-jzS.js → index-BvIQ9sZa.js} +1 -1
  109. package/src/assets/web-panel/assets/{index-DUS7KK-i.js → index-BzddvOOb.js} +1 -1
  110. package/src/assets/web-panel/assets/{index-X36Wyd1S.js → index-C2Sxf7yC.js} +1 -1
  111. package/src/assets/web-panel/assets/{index-btxpIsXs.js → index-CAIn5cS9.js} +1 -1
  112. package/src/assets/web-panel/assets/{index-CskW4gDB.js → index-CLSqyAcE.js} +1 -1
  113. package/src/assets/web-panel/assets/{index-CUDraKtq.js → index-Cbu3-zFd.js} +1 -1
  114. package/src/assets/web-panel/assets/{index-Cv38Cwx0.js → index-Clrqtycd.js} +1 -1
  115. package/src/assets/web-panel/assets/{index-DupOVIEb.js → index-CpVt6M_8.js} +1 -1
  116. package/src/assets/web-panel/assets/{index-yt994jkW.js → index-CtfYPnsY.js} +1 -1
  117. package/src/assets/web-panel/assets/{index-JWQxvZ4x.js → index-CujMHspH.js} +1 -1
  118. package/src/assets/web-panel/assets/index-D685kO6L.js +1 -0
  119. package/src/assets/web-panel/assets/{index-Bj6mJ7tw.js → index-DC6FlHlP.js} +1 -1
  120. package/src/assets/web-panel/assets/{index-DQhlLyT6.js → index-DFOYbzg-.js} +1 -1
  121. package/src/assets/web-panel/assets/index-DTlIRMqX.js +1 -0
  122. package/src/assets/web-panel/assets/{index-BMHNKa11.js → index-DV8q_Hki.js} +1 -1
  123. package/src/assets/web-panel/assets/{index-C3lcOYkZ.js → index-DX3wwu3G.js} +3 -3
  124. package/src/assets/web-panel/assets/{index-CUqLWyY0.js → index-DY2G1Th2.js} +1 -1
  125. package/src/assets/web-panel/assets/{index-cKc70R9h.js → index-DlYL8VP8.js} +1 -1
  126. package/src/assets/web-panel/assets/{index-1J_Q-Ovw.js → index-DnQOc5wo.js} +1 -1
  127. package/src/assets/web-panel/assets/{index-CDWNrtvg.js → index-Du62m6pG.js} +1 -1
  128. package/src/assets/web-panel/assets/{index-03w73yRM.js → index-LMfsEdLk.js} +1 -1
  129. package/src/assets/web-panel/assets/{index-YANfaEyE.js → index-OC3qYV4-.js} +1 -1
  130. package/src/assets/web-panel/assets/{index-Dnbdqjxz.js → index-Rt-fym5b.js} +1 -1
  131. package/src/assets/web-panel/assets/{index-DfNeBiyO.js → index-WpEDoyTv.js} +1 -1
  132. package/src/assets/web-panel/assets/{index-INU8TpRu.js → index-aj9ObF2R.js} +1 -1
  133. package/src/assets/web-panel/assets/{index-CAdTY3kv.js → index-dAF9qRVa.js} +1 -1
  134. package/src/assets/web-panel/assets/{index-BxAMRZR0.js → index-dpDeFZNt.js} +1 -1
  135. package/src/assets/web-panel/assets/{index-CbqotoPt.js → index-fNwu9CU_.js} +1 -1
  136. package/src/assets/web-panel/assets/{index-Ch5SqZaK.js → index-vCQ3l6DX.js} +1 -1
  137. package/src/assets/web-panel/assets/{initDefaultProps-Ck8wTHsR.js → initDefaultProps-DUt9Xj8y.js} +1 -1
  138. package/src/assets/web-panel/assets/{motion-teBWI8ni.js → motion-DdiFPnv7.js} +1 -1
  139. package/src/assets/web-panel/assets/{move-BdxzRStQ.js → move-BJ2VH7Y2.js} +1 -1
  140. package/src/assets/web-panel/assets/{mtc-parser-DMpcDDsk.js → mtc-parser-BCnX6oOJ.js} +1 -1
  141. package/src/assets/web-panel/assets/{omit-BwkyHyWr.js → omit-CyHxlDLV.js} +1 -1
  142. package/src/assets/web-panel/assets/{pickAttrs-SlaxZUQd.js → pickAttrs-BJiGW3bY.js} +1 -1
  143. package/src/assets/web-panel/assets/{placementArrow-BlEZZ3cs.js → placementArrow-DhJ9Rhx8.js} +1 -1
  144. package/src/assets/web-panel/assets/{responsiveObserve-Cl5uK6S5.js → responsiveObserve-C6zpL9bC.js} +1 -1
  145. package/src/assets/web-panel/assets/{slide-LlOJWbeE.js → slide-DCbMFRF-.js} +1 -1
  146. package/src/assets/web-panel/assets/{statusUtils-DxbwIpQR.js → statusUtils-CNtVLsIq.js} +1 -1
  147. package/src/assets/web-panel/assets/{styleChecker-G_P9gils.js → styleChecker-Z078OtUc.js} +1 -1
  148. package/src/assets/web-panel/assets/{useFlexGapSupport-BDS7KDuK.js → useFlexGapSupport-w4RVmcGs.js} +1 -1
  149. package/src/assets/web-panel/assets/{useFs-Xx3R_4Qk.js → useFs-D4Xw1XRt.js} +1 -1
  150. package/src/assets/web-panel/assets/{usePersonalDataHub-ChOtRWax.js → usePersonalDataHub-Bnbd1PgY.js} +1 -1
  151. package/src/assets/web-panel/assets/{vnode-CAUrMwRC.js → vnode-DSOQxMFN.js} +1 -1
  152. package/src/assets/web-panel/assets/{zoom-Choqv7b5.js → zoom-DNPE1Wca.js} +1 -1
  153. package/src/assets/web-panel/index.html +1 -1
  154. package/src/command-help-index.json +3 -3
  155. package/src/command-manifest.json +1 -1
  156. package/src/commands/agent.js +1 -1
  157. package/src/commands/graph.js +100 -0
  158. package/src/commands/orchestrate.js +85 -18
  159. package/src/commands/serve.js +39 -0
  160. package/src/commands/team.js +2 -0
  161. package/src/data/changelog.json +27 -1
  162. package/src/generated/cc-agent-protocol.schema.json +2013 -0
  163. package/src/lib/app-server/bounded-queue.js +87 -0
  164. package/src/lib/app-server/cli-agent-kernel-adapter.js +309 -0
  165. package/src/lib/app-server/protocol.js +125 -0
  166. package/src/lib/app-server/rollout-store.js +603 -0
  167. package/src/lib/app-server/server.js +922 -0
  168. package/src/lib/app-server/sqlite-rollout-store.js +315 -0
  169. package/src/lib/app-server/stdio-transport.js +118 -0
  170. package/src/lib/codex-app-server-adapter.js +249 -0
  171. package/src/lib/graph-kernel/adapters.js +238 -0
  172. package/src/lib/graph-kernel/compiler.js +1443 -0
  173. package/src/lib/graph-kernel/eval.js +207 -0
  174. package/src/lib/graph-kernel/event-store.js +101 -0
  175. package/src/lib/graph-kernel/index.js +7 -0
  176. package/src/lib/graph-kernel/runtime.js +3788 -0
  177. package/src/lib/graph-kernel/trace-reducer.js +409 -0
  178. package/src/lib/graph-kernel/trigger-adapter.js +183 -0
  179. package/src/lib/orchestrator.js +2 -1
  180. package/src/lib/record-replay/index.js +1 -0
  181. package/src/lib/record-replay/skill-recorder.js +386 -0
  182. package/src/lib/webhook-security.js +159 -0
  183. package/src/repl/agent-repl.js +5 -4
  184. package/src/repl/prompt-interactions.js +11 -1
  185. package/src/assets/web-panel/assets/MarkdownRenderer-CDSwkj7Y.js +0 -1
  186. package/src/assets/web-panel/assets/MobileProjects-krNyADYi.js +0 -1
  187. package/src/assets/web-panel/assets/devWarning-DFO12EfA.js +0 -1
  188. package/src/assets/web-panel/assets/index-DaDlUWea.js +0 -1
  189. package/src/assets/web-panel/assets/index-xn89TjWJ.js +0 -1
@@ -0,0 +1,2013 @@
1
+ {
2
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
3
+ "$id": "https://schemas.chainlesschain.com/agent/cc-agent-protocol-v1.schema.json",
4
+ "title": "ChainlessChain canonical Agent and Graph protocol",
5
+ "description": "Provider-neutral Thread/Turn/Item, approval, tool, Agent Tree and GraphRun wire contract.",
6
+ "x-cc-protocol": {
7
+ "version": 1,
8
+ "minimumCompatibleVersion": 1,
9
+ "features": [
10
+ "thread_turn_item",
11
+ "structured_approval",
12
+ "typed_graph",
13
+ "causal_messages",
14
+ "durable_human_task",
15
+ "bounded_transport",
16
+ "graph_effect_receipts",
17
+ "deterministic_trace"
18
+ ]
19
+ },
20
+ "oneOf": [
21
+ {
22
+ "$ref": "#/$defs/ClientRequest"
23
+ },
24
+ {
25
+ "$ref": "#/$defs/ClientResponse"
26
+ },
27
+ {
28
+ "$ref": "#/$defs/ServerRequest"
29
+ },
30
+ {
31
+ "$ref": "#/$defs/ServerNotification"
32
+ }
33
+ ],
34
+ "$defs": {
35
+ "Identifier": {
36
+ "type": "string",
37
+ "minLength": 1,
38
+ "maxLength": 160,
39
+ "pattern": "^[A-Za-z0-9][A-Za-z0-9._:/-]*$"
40
+ },
41
+ "Digest": {
42
+ "type": "string",
43
+ "pattern": "^sha256:[a-f0-9]{64}$"
44
+ },
45
+ "Timestamp": {
46
+ "type": "string",
47
+ "format": "date-time"
48
+ },
49
+ "JsonValue": {
50
+ "oneOf": [
51
+ {
52
+ "type": "null"
53
+ },
54
+ {
55
+ "type": "boolean"
56
+ },
57
+ {
58
+ "type": "number"
59
+ },
60
+ {
61
+ "type": "string"
62
+ },
63
+ {
64
+ "type": "array",
65
+ "items": {
66
+ "$ref": "#/$defs/JsonValue"
67
+ }
68
+ },
69
+ {
70
+ "type": "object",
71
+ "additionalProperties": {
72
+ "$ref": "#/$defs/JsonValue"
73
+ }
74
+ }
75
+ ]
76
+ },
77
+ "DataPolicy": {
78
+ "type": "object",
79
+ "additionalProperties": false,
80
+ "required": [
81
+ "origin",
82
+ "trust",
83
+ "sensitivity",
84
+ "allowedSinks"
85
+ ],
86
+ "properties": {
87
+ "origin": {
88
+ "type": "string",
89
+ "minLength": 1,
90
+ "maxLength": 256
91
+ },
92
+ "trust": {
93
+ "enum": [
94
+ "trusted_host",
95
+ "authenticated_user",
96
+ "untrusted_content",
97
+ "unknown"
98
+ ]
99
+ },
100
+ "sensitivity": {
101
+ "enum": [
102
+ "public",
103
+ "internal",
104
+ "confidential",
105
+ "secret"
106
+ ]
107
+ },
108
+ "allowedSinks": {
109
+ "type": "array",
110
+ "maxItems": 64,
111
+ "uniqueItems": true,
112
+ "items": {
113
+ "type": "string",
114
+ "minLength": 1,
115
+ "maxLength": 128
116
+ }
117
+ },
118
+ "declassificationDecisionId": {
119
+ "$ref": "#/$defs/Identifier"
120
+ }
121
+ }
122
+ },
123
+ "Thread": {
124
+ "type": "object",
125
+ "additionalProperties": false,
126
+ "required": [
127
+ "id",
128
+ "status",
129
+ "createdAt",
130
+ "updatedAt",
131
+ "revision"
132
+ ],
133
+ "properties": {
134
+ "id": {
135
+ "$ref": "#/$defs/Identifier"
136
+ },
137
+ "status": {
138
+ "enum": [
139
+ "active",
140
+ "idle",
141
+ "archived"
142
+ ]
143
+ },
144
+ "title": {
145
+ "type": [
146
+ "string",
147
+ "null"
148
+ ],
149
+ "maxLength": 512
150
+ },
151
+ "parentThreadId": {
152
+ "anyOf": [
153
+ {
154
+ "$ref": "#/$defs/Identifier"
155
+ },
156
+ {
157
+ "type": "null"
158
+ }
159
+ ]
160
+ },
161
+ "createdAt": {
162
+ "$ref": "#/$defs/Timestamp"
163
+ },
164
+ "updatedAt": {
165
+ "$ref": "#/$defs/Timestamp"
166
+ },
167
+ "revision": {
168
+ "type": "integer",
169
+ "minimum": 0
170
+ },
171
+ "metadata": {
172
+ "type": "object",
173
+ "additionalProperties": {
174
+ "$ref": "#/$defs/JsonValue"
175
+ }
176
+ }
177
+ }
178
+ },
179
+ "Turn": {
180
+ "type": "object",
181
+ "additionalProperties": false,
182
+ "required": [
183
+ "id",
184
+ "threadId",
185
+ "status",
186
+ "createdAt",
187
+ "revision"
188
+ ],
189
+ "properties": {
190
+ "id": {
191
+ "$ref": "#/$defs/Identifier"
192
+ },
193
+ "threadId": {
194
+ "$ref": "#/$defs/Identifier"
195
+ },
196
+ "status": {
197
+ "enum": [
198
+ "queued",
199
+ "running",
200
+ "waiting_approval",
201
+ "waiting_input",
202
+ "completed",
203
+ "failed",
204
+ "interrupted"
205
+ ]
206
+ },
207
+ "createdAt": {
208
+ "$ref": "#/$defs/Timestamp"
209
+ },
210
+ "completedAt": {
211
+ "anyOf": [
212
+ {
213
+ "$ref": "#/$defs/Timestamp"
214
+ },
215
+ {
216
+ "type": "null"
217
+ }
218
+ ]
219
+ },
220
+ "revision": {
221
+ "type": "integer",
222
+ "minimum": 0
223
+ },
224
+ "terminalEvidence": {
225
+ "anyOf": [
226
+ {
227
+ "$ref": "#/$defs/TerminalEvidence"
228
+ },
229
+ {
230
+ "type": "null"
231
+ }
232
+ ]
233
+ }
234
+ }
235
+ },
236
+ "Item": {
237
+ "type": "object",
238
+ "additionalProperties": false,
239
+ "required": [
240
+ "id",
241
+ "threadId",
242
+ "turnId",
243
+ "kind",
244
+ "status",
245
+ "createdAt"
246
+ ],
247
+ "properties": {
248
+ "id": {
249
+ "$ref": "#/$defs/Identifier"
250
+ },
251
+ "threadId": {
252
+ "$ref": "#/$defs/Identifier"
253
+ },
254
+ "turnId": {
255
+ "$ref": "#/$defs/Identifier"
256
+ },
257
+ "parentId": {
258
+ "anyOf": [
259
+ {
260
+ "$ref": "#/$defs/Identifier"
261
+ },
262
+ {
263
+ "type": "null"
264
+ }
265
+ ]
266
+ },
267
+ "kind": {
268
+ "enum": [
269
+ "user_message",
270
+ "assistant_message",
271
+ "reasoning",
272
+ "tool",
273
+ "approval",
274
+ "plan",
275
+ "subagent",
276
+ "artifact",
277
+ "error"
278
+ ]
279
+ },
280
+ "status": {
281
+ "enum": [
282
+ "started",
283
+ "streaming",
284
+ "completed",
285
+ "failed",
286
+ "cancelled"
287
+ ]
288
+ },
289
+ "content": {
290
+ "$ref": "#/$defs/JsonValue"
291
+ },
292
+ "dataPolicy": {
293
+ "$ref": "#/$defs/DataPolicy"
294
+ },
295
+ "createdAt": {
296
+ "$ref": "#/$defs/Timestamp"
297
+ },
298
+ "completedAt": {
299
+ "anyOf": [
300
+ {
301
+ "$ref": "#/$defs/Timestamp"
302
+ },
303
+ {
304
+ "type": "null"
305
+ }
306
+ ]
307
+ }
308
+ }
309
+ },
310
+ "PermissionGrant": {
311
+ "type": "object",
312
+ "additionalProperties": false,
313
+ "required": [
314
+ "capability",
315
+ "scope"
316
+ ],
317
+ "properties": {
318
+ "capability": {
319
+ "type": "string",
320
+ "minLength": 1,
321
+ "maxLength": 128
322
+ },
323
+ "scope": {
324
+ "type": "string",
325
+ "minLength": 1,
326
+ "maxLength": 1024
327
+ },
328
+ "expiresAt": {
329
+ "anyOf": [
330
+ {
331
+ "$ref": "#/$defs/Timestamp"
332
+ },
333
+ {
334
+ "type": "null"
335
+ }
336
+ ]
337
+ }
338
+ }
339
+ },
340
+ "ApprovalBinding": {
341
+ "type": "object",
342
+ "additionalProperties": false,
343
+ "required": [
344
+ "threadId",
345
+ "turnId",
346
+ "itemId",
347
+ "operationDigest",
348
+ "policyDigest",
349
+ "nonce",
350
+ "expiresAt"
351
+ ],
352
+ "properties": {
353
+ "threadId": {
354
+ "$ref": "#/$defs/Identifier"
355
+ },
356
+ "turnId": {
357
+ "$ref": "#/$defs/Identifier"
358
+ },
359
+ "itemId": {
360
+ "$ref": "#/$defs/Identifier"
361
+ },
362
+ "attemptId": {
363
+ "anyOf": [
364
+ {
365
+ "$ref": "#/$defs/Identifier"
366
+ },
367
+ {
368
+ "type": "null"
369
+ }
370
+ ]
371
+ },
372
+ "operationDigest": {
373
+ "$ref": "#/$defs/Digest"
374
+ },
375
+ "policyDigest": {
376
+ "$ref": "#/$defs/Digest"
377
+ },
378
+ "workspaceDigest": {
379
+ "anyOf": [
380
+ {
381
+ "$ref": "#/$defs/Digest"
382
+ },
383
+ {
384
+ "type": "null"
385
+ }
386
+ ]
387
+ },
388
+ "cwd": {
389
+ "type": "string",
390
+ "minLength": 1,
391
+ "maxLength": 4096
392
+ },
393
+ "nonce": {
394
+ "$ref": "#/$defs/Identifier"
395
+ },
396
+ "expiresAt": {
397
+ "$ref": "#/$defs/Timestamp"
398
+ }
399
+ }
400
+ },
401
+ "ApprovalDecision": {
402
+ "oneOf": [
403
+ {
404
+ "type": "object",
405
+ "additionalProperties": false,
406
+ "required": [
407
+ "kind"
408
+ ],
409
+ "properties": {
410
+ "kind": {
411
+ "const": "acceptOnce"
412
+ }
413
+ }
414
+ },
415
+ {
416
+ "type": "object",
417
+ "additionalProperties": false,
418
+ "required": [
419
+ "kind"
420
+ ],
421
+ "properties": {
422
+ "kind": {
423
+ "enum": [
424
+ "acceptForTurn",
425
+ "acceptForSession"
426
+ ]
427
+ },
428
+ "permissions": {
429
+ "type": "array",
430
+ "maxItems": 64,
431
+ "items": {
432
+ "$ref": "#/$defs/PermissionGrant"
433
+ }
434
+ }
435
+ }
436
+ },
437
+ {
438
+ "type": "object",
439
+ "additionalProperties": false,
440
+ "required": [
441
+ "kind"
442
+ ],
443
+ "properties": {
444
+ "kind": {
445
+ "enum": [
446
+ "decline",
447
+ "cancel"
448
+ ]
449
+ },
450
+ "reason": {
451
+ "type": "string",
452
+ "maxLength": 2048
453
+ }
454
+ }
455
+ }
456
+ ]
457
+ },
458
+ "ApprovalRequest": {
459
+ "type": "object",
460
+ "additionalProperties": false,
461
+ "required": [
462
+ "id",
463
+ "binding",
464
+ "operation",
465
+ "risk",
466
+ "reason"
467
+ ],
468
+ "properties": {
469
+ "id": {
470
+ "$ref": "#/$defs/Identifier"
471
+ },
472
+ "binding": {
473
+ "$ref": "#/$defs/ApprovalBinding"
474
+ },
475
+ "operation": {
476
+ "$ref": "#/$defs/JsonValue"
477
+ },
478
+ "risk": {
479
+ "enum": [
480
+ "low",
481
+ "medium",
482
+ "high",
483
+ "critical"
484
+ ]
485
+ },
486
+ "reason": {
487
+ "type": "string",
488
+ "minLength": 1,
489
+ "maxLength": 4096
490
+ },
491
+ "requestedPermissions": {
492
+ "type": "array",
493
+ "maxItems": 64,
494
+ "items": {
495
+ "$ref": "#/$defs/PermissionGrant"
496
+ }
497
+ }
498
+ }
499
+ },
500
+ "TerminalEvidence": {
501
+ "type": "object",
502
+ "additionalProperties": false,
503
+ "required": [
504
+ "status",
505
+ "eventDigest"
506
+ ],
507
+ "properties": {
508
+ "status": {
509
+ "enum": [
510
+ "succeeded",
511
+ "failed",
512
+ "partial",
513
+ "cancelled",
514
+ "blocked",
515
+ "budget_exhausted"
516
+ ]
517
+ },
518
+ "eventDigest": {
519
+ "$ref": "#/$defs/Digest"
520
+ },
521
+ "outputDigest": {
522
+ "anyOf": [
523
+ {
524
+ "$ref": "#/$defs/Digest"
525
+ },
526
+ {
527
+ "type": "null"
528
+ }
529
+ ]
530
+ },
531
+ "artifactIds": {
532
+ "type": "array",
533
+ "uniqueItems": true,
534
+ "items": {
535
+ "$ref": "#/$defs/Identifier"
536
+ }
537
+ },
538
+ "commit": {
539
+ "type": [
540
+ "string",
541
+ "null"
542
+ ],
543
+ "maxLength": 256
544
+ },
545
+ "testReceiptIds": {
546
+ "type": "array",
547
+ "uniqueItems": true,
548
+ "items": {
549
+ "$ref": "#/$defs/Identifier"
550
+ }
551
+ }
552
+ }
553
+ },
554
+ "TypedPort": {
555
+ "type": "object",
556
+ "additionalProperties": false,
557
+ "required": [
558
+ "name",
559
+ "schema"
560
+ ],
561
+ "properties": {
562
+ "name": {
563
+ "$ref": "#/$defs/Identifier"
564
+ },
565
+ "schema": {
566
+ "type": "object",
567
+ "additionalProperties": {
568
+ "$ref": "#/$defs/JsonValue"
569
+ }
570
+ },
571
+ "required": {
572
+ "type": "boolean",
573
+ "default": true
574
+ },
575
+ "dataPolicy": {
576
+ "$ref": "#/$defs/DataPolicy"
577
+ }
578
+ }
579
+ },
580
+ "Budget": {
581
+ "type": "object",
582
+ "additionalProperties": false,
583
+ "properties": {
584
+ "turns": {
585
+ "type": "integer",
586
+ "minimum": 0
587
+ },
588
+ "tokens": {
589
+ "type": "integer",
590
+ "minimum": 0
591
+ },
592
+ "costUsd": {
593
+ "type": "number",
594
+ "minimum": 0
595
+ },
596
+ "wallMs": {
597
+ "type": "integer",
598
+ "minimum": 0
599
+ },
600
+ "spawnCount": {
601
+ "type": "integer",
602
+ "minimum": 0
603
+ }
604
+ }
605
+ },
606
+ "TaskNode": {
607
+ "type": "object",
608
+ "additionalProperties": false,
609
+ "required": [
610
+ "id",
611
+ "kind",
612
+ "dependsOn",
613
+ "inputs",
614
+ "outputs",
615
+ "effectClass"
616
+ ],
617
+ "properties": {
618
+ "id": {
619
+ "$ref": "#/$defs/Identifier"
620
+ },
621
+ "kind": {
622
+ "enum": [
623
+ "task",
624
+ "join",
625
+ "human",
626
+ "subgraph"
627
+ ]
628
+ },
629
+ "dependsOn": {
630
+ "type": "array",
631
+ "uniqueItems": true,
632
+ "items": {
633
+ "$ref": "#/$defs/Identifier"
634
+ }
635
+ },
636
+ "inputs": {
637
+ "type": "array",
638
+ "items": {
639
+ "$ref": "#/$defs/TypedPort"
640
+ }
641
+ },
642
+ "outputs": {
643
+ "type": "array",
644
+ "items": {
645
+ "$ref": "#/$defs/TypedPort"
646
+ }
647
+ },
648
+ "inputBindings": {
649
+ "type": "object",
650
+ "additionalProperties": {
651
+ "type": "string",
652
+ "maxLength": 1024
653
+ }
654
+ },
655
+ "capabilities": {
656
+ "type": "array",
657
+ "uniqueItems": true,
658
+ "items": {
659
+ "type": "string",
660
+ "minLength": 1,
661
+ "maxLength": 128
662
+ }
663
+ },
664
+ "tools": {
665
+ "type": "array",
666
+ "uniqueItems": true,
667
+ "items": {
668
+ "type": "string",
669
+ "minLength": 1,
670
+ "maxLength": 128
671
+ }
672
+ },
673
+ "skills": {
674
+ "type": "array",
675
+ "uniqueItems": true,
676
+ "items": {
677
+ "type": "string",
678
+ "minLength": 1,
679
+ "maxLength": 256
680
+ }
681
+ },
682
+ "budget": {
683
+ "$ref": "#/$defs/Budget"
684
+ },
685
+ "writeSet": {
686
+ "type": "array",
687
+ "uniqueItems": true,
688
+ "items": {
689
+ "type": "string",
690
+ "minLength": 1,
691
+ "maxLength": 4096
692
+ }
693
+ },
694
+ "workspaceIsolation": {
695
+ "enum": [
696
+ "worktree",
697
+ "declared_scope"
698
+ ]
699
+ },
700
+ "effectClass": {
701
+ "enum": [
702
+ "none",
703
+ "read",
704
+ "workspace_write",
705
+ "external"
706
+ ]
707
+ },
708
+ "idempotencyKey": {
709
+ "type": "string",
710
+ "minLength": 1,
711
+ "maxLength": 256
712
+ },
713
+ "compensationNodeId": {
714
+ "$ref": "#/$defs/Identifier"
715
+ },
716
+ "priority": {
717
+ "type": "integer",
718
+ "minimum": -1000,
719
+ "maximum": 1000
720
+ },
721
+ "join": {
722
+ "enum": [
723
+ "all",
724
+ "any",
725
+ "quorum",
726
+ "race"
727
+ ]
728
+ },
729
+ "quorum": {
730
+ "type": "integer",
731
+ "minimum": 1
732
+ },
733
+ "retryLimit": {
734
+ "type": "integer",
735
+ "minimum": 0,
736
+ "maximum": 100
737
+ }
738
+ }
739
+ },
740
+ "Edge": {
741
+ "type": "object",
742
+ "additionalProperties": false,
743
+ "required": [
744
+ "id",
745
+ "from",
746
+ "to",
747
+ "kind",
748
+ "when"
749
+ ],
750
+ "properties": {
751
+ "id": {
752
+ "$ref": "#/$defs/Identifier"
753
+ },
754
+ "from": {
755
+ "$ref": "#/$defs/Identifier"
756
+ },
757
+ "to": {
758
+ "$ref": "#/$defs/Identifier"
759
+ },
760
+ "kind": {
761
+ "enum": [
762
+ "control",
763
+ "data",
764
+ "message",
765
+ "review",
766
+ "merge",
767
+ "compensation"
768
+ ]
769
+ },
770
+ "when": {
771
+ "enum": [
772
+ "success",
773
+ "failure",
774
+ "always",
775
+ "timeout",
776
+ "cancel"
777
+ ]
778
+ },
779
+ "fromPort": {
780
+ "$ref": "#/$defs/Identifier"
781
+ },
782
+ "toPort": {
783
+ "$ref": "#/$defs/Identifier"
784
+ }
785
+ }
786
+ },
787
+ "LoopRegion": {
788
+ "type": "object",
789
+ "additionalProperties": false,
790
+ "required": [
791
+ "id",
792
+ "entryNodeId",
793
+ "exitNodeId",
794
+ "nodeIds",
795
+ "maxIterations"
796
+ ],
797
+ "properties": {
798
+ "id": {
799
+ "$ref": "#/$defs/Identifier"
800
+ },
801
+ "entryNodeId": {
802
+ "$ref": "#/$defs/Identifier"
803
+ },
804
+ "exitNodeId": {
805
+ "$ref": "#/$defs/Identifier"
806
+ },
807
+ "nodeIds": {
808
+ "type": "array",
809
+ "minItems": 1,
810
+ "uniqueItems": true,
811
+ "items": {
812
+ "$ref": "#/$defs/Identifier"
813
+ }
814
+ },
815
+ "maxIterations": {
816
+ "type": "integer",
817
+ "minimum": 1,
818
+ "maximum": 10000
819
+ },
820
+ "condition": {
821
+ "type": "string",
822
+ "minLength": 1,
823
+ "maxLength": 4096
824
+ },
825
+ "budget": {
826
+ "$ref": "#/$defs/Budget"
827
+ }
828
+ }
829
+ },
830
+ "TriggerBinding": {
831
+ "type": "object",
832
+ "additionalProperties": false,
833
+ "required": [
834
+ "id",
835
+ "kind",
836
+ "targetNodeId",
837
+ "authorityDigest"
838
+ ],
839
+ "properties": {
840
+ "id": {
841
+ "$ref": "#/$defs/Identifier"
842
+ },
843
+ "kind": {
844
+ "enum": [
845
+ "manual",
846
+ "schedule",
847
+ "webhook",
848
+ "message",
849
+ "child_completion"
850
+ ]
851
+ },
852
+ "targetNodeId": {
853
+ "$ref": "#/$defs/Identifier"
854
+ },
855
+ "sourceRef": {
856
+ "type": [
857
+ "string",
858
+ "null"
859
+ ],
860
+ "maxLength": 512
861
+ },
862
+ "authorityDigest": {
863
+ "$ref": "#/$defs/Digest"
864
+ },
865
+ "dataPolicy": {
866
+ "$ref": "#/$defs/DataPolicy"
867
+ }
868
+ }
869
+ },
870
+ "Region": {
871
+ "type": "object",
872
+ "additionalProperties": false,
873
+ "required": [
874
+ "id",
875
+ "kind",
876
+ "nodeIds"
877
+ ],
878
+ "properties": {
879
+ "id": {
880
+ "$ref": "#/$defs/Identifier"
881
+ },
882
+ "kind": {
883
+ "enum": [
884
+ "sequence",
885
+ "parallel",
886
+ "condition",
887
+ "try",
888
+ "compensation"
889
+ ]
890
+ },
891
+ "nodeIds": {
892
+ "type": "array",
893
+ "minItems": 1,
894
+ "uniqueItems": true,
895
+ "items": {
896
+ "$ref": "#/$defs/Identifier"
897
+ }
898
+ },
899
+ "parentRegionId": {
900
+ "anyOf": [
901
+ {
902
+ "$ref": "#/$defs/Identifier"
903
+ },
904
+ {
905
+ "type": "null"
906
+ }
907
+ ]
908
+ },
909
+ "entryNodeId": {
910
+ "$ref": "#/$defs/Identifier"
911
+ },
912
+ "exitNodeId": {
913
+ "$ref": "#/$defs/Identifier"
914
+ }
915
+ }
916
+ },
917
+ "SubgraphCall": {
918
+ "type": "object",
919
+ "additionalProperties": false,
920
+ "required": [
921
+ "nodeId",
922
+ "definitionId",
923
+ "revisionDigest",
924
+ "maxDepth"
925
+ ],
926
+ "properties": {
927
+ "nodeId": {
928
+ "$ref": "#/$defs/Identifier"
929
+ },
930
+ "definitionId": {
931
+ "$ref": "#/$defs/Identifier"
932
+ },
933
+ "revisionDigest": {
934
+ "$ref": "#/$defs/Digest"
935
+ },
936
+ "maxDepth": {
937
+ "type": "integer",
938
+ "minimum": 1,
939
+ "maximum": 64
940
+ },
941
+ "inputBindings": {
942
+ "type": "array",
943
+ "uniqueItems": true,
944
+ "items": {
945
+ "$ref": "#/$defs/SubgraphPortBinding"
946
+ }
947
+ },
948
+ "outputBindings": {
949
+ "type": "array",
950
+ "uniqueItems": true,
951
+ "items": {
952
+ "$ref": "#/$defs/SubgraphPortBinding"
953
+ }
954
+ },
955
+ "budget": {
956
+ "$ref": "#/$defs/Budget"
957
+ }
958
+ }
959
+ },
960
+ "SubgraphPortBinding": {
961
+ "type": "object",
962
+ "additionalProperties": false,
963
+ "required": [
964
+ "parentPort",
965
+ "childNodeId",
966
+ "childPort"
967
+ ],
968
+ "properties": {
969
+ "parentPort": {
970
+ "$ref": "#/$defs/Identifier"
971
+ },
972
+ "childNodeId": {
973
+ "$ref": "#/$defs/Identifier"
974
+ },
975
+ "childPort": {
976
+ "$ref": "#/$defs/Identifier"
977
+ }
978
+ }
979
+ },
980
+ "GraphDefinition": {
981
+ "type": "object",
982
+ "additionalProperties": false,
983
+ "required": [
984
+ "schemaVersion",
985
+ "id",
986
+ "revision",
987
+ "nodes",
988
+ "edges",
989
+ "loops",
990
+ "subgraphCalls",
991
+ "budget"
992
+ ],
993
+ "properties": {
994
+ "schemaVersion": {
995
+ "type": "integer",
996
+ "minimum": 1
997
+ },
998
+ "id": {
999
+ "$ref": "#/$defs/Identifier"
1000
+ },
1001
+ "revision": {
1002
+ "type": "integer",
1003
+ "minimum": 1
1004
+ },
1005
+ "triggers": {
1006
+ "type": "array",
1007
+ "maxItems": 1000,
1008
+ "items": {
1009
+ "$ref": "#/$defs/TriggerBinding"
1010
+ }
1011
+ },
1012
+ "regions": {
1013
+ "type": "array",
1014
+ "maxItems": 1000,
1015
+ "items": {
1016
+ "$ref": "#/$defs/Region"
1017
+ }
1018
+ },
1019
+ "nodes": {
1020
+ "type": "array",
1021
+ "maxItems": 10000,
1022
+ "items": {
1023
+ "$ref": "#/$defs/TaskNode"
1024
+ }
1025
+ },
1026
+ "edges": {
1027
+ "type": "array",
1028
+ "maxItems": 50000,
1029
+ "items": {
1030
+ "$ref": "#/$defs/Edge"
1031
+ }
1032
+ },
1033
+ "loops": {
1034
+ "type": "array",
1035
+ "maxItems": 1000,
1036
+ "items": {
1037
+ "$ref": "#/$defs/LoopRegion"
1038
+ }
1039
+ },
1040
+ "subgraphCalls": {
1041
+ "type": "array",
1042
+ "maxItems": 1000,
1043
+ "items": {
1044
+ "$ref": "#/$defs/SubgraphCall"
1045
+ }
1046
+ },
1047
+ "budget": {
1048
+ "$ref": "#/$defs/Budget"
1049
+ },
1050
+ "allowedCapabilities": {
1051
+ "type": "array",
1052
+ "uniqueItems": true,
1053
+ "items": {
1054
+ "type": "string",
1055
+ "minLength": 1,
1056
+ "maxLength": 128
1057
+ }
1058
+ },
1059
+ "metadata": {
1060
+ "type": "object",
1061
+ "additionalProperties": {
1062
+ "$ref": "#/$defs/JsonValue"
1063
+ }
1064
+ }
1065
+ }
1066
+ },
1067
+ "GraphRevision": {
1068
+ "type": "object",
1069
+ "additionalProperties": false,
1070
+ "required": [
1071
+ "definitionId",
1072
+ "revision",
1073
+ "revisionDigest",
1074
+ "schemaVersion",
1075
+ "createdAt"
1076
+ ],
1077
+ "properties": {
1078
+ "definitionId": {
1079
+ "$ref": "#/$defs/Identifier"
1080
+ },
1081
+ "revision": {
1082
+ "type": "integer",
1083
+ "minimum": 1
1084
+ },
1085
+ "revisionDigest": {
1086
+ "$ref": "#/$defs/Digest"
1087
+ },
1088
+ "schemaVersion": {
1089
+ "type": "integer",
1090
+ "minimum": 1
1091
+ },
1092
+ "parentRevisionDigest": {
1093
+ "anyOf": [
1094
+ {
1095
+ "$ref": "#/$defs/Digest"
1096
+ },
1097
+ {
1098
+ "type": "null"
1099
+ }
1100
+ ]
1101
+ },
1102
+ "createdAt": {
1103
+ "$ref": "#/$defs/Timestamp"
1104
+ },
1105
+ "producerLeaseId": {
1106
+ "anyOf": [
1107
+ {
1108
+ "$ref": "#/$defs/Identifier"
1109
+ },
1110
+ {
1111
+ "type": "null"
1112
+ }
1113
+ ]
1114
+ }
1115
+ }
1116
+ },
1117
+ "IterationFrame": {
1118
+ "type": "object",
1119
+ "additionalProperties": false,
1120
+ "required": [
1121
+ "id",
1122
+ "runId",
1123
+ "regionId",
1124
+ "iterationPath",
1125
+ "status"
1126
+ ],
1127
+ "properties": {
1128
+ "id": {
1129
+ "$ref": "#/$defs/Identifier"
1130
+ },
1131
+ "runId": {
1132
+ "$ref": "#/$defs/Identifier"
1133
+ },
1134
+ "regionId": {
1135
+ "$ref": "#/$defs/Identifier"
1136
+ },
1137
+ "parentFrameId": {
1138
+ "anyOf": [
1139
+ {
1140
+ "$ref": "#/$defs/Identifier"
1141
+ },
1142
+ {
1143
+ "type": "null"
1144
+ }
1145
+ ]
1146
+ },
1147
+ "iterationPath": {
1148
+ "type": "array",
1149
+ "items": {
1150
+ "type": "integer",
1151
+ "minimum": 0
1152
+ }
1153
+ },
1154
+ "status": {
1155
+ "enum": [
1156
+ "active",
1157
+ "succeeded",
1158
+ "failed",
1159
+ "cancelled",
1160
+ "exhausted"
1161
+ ]
1162
+ },
1163
+ "startedAt": {
1164
+ "$ref": "#/$defs/Timestamp"
1165
+ },
1166
+ "completedAt": {
1167
+ "anyOf": [
1168
+ {
1169
+ "$ref": "#/$defs/Timestamp"
1170
+ },
1171
+ {
1172
+ "type": "null"
1173
+ }
1174
+ ]
1175
+ }
1176
+ }
1177
+ },
1178
+ "NodeAttempt": {
1179
+ "type": "object",
1180
+ "additionalProperties": false,
1181
+ "required": [
1182
+ "id",
1183
+ "runId",
1184
+ "nodeId",
1185
+ "iterationPath",
1186
+ "attempt",
1187
+ "status",
1188
+ "createdAt"
1189
+ ],
1190
+ "properties": {
1191
+ "id": {
1192
+ "$ref": "#/$defs/Identifier"
1193
+ },
1194
+ "runId": {
1195
+ "$ref": "#/$defs/Identifier"
1196
+ },
1197
+ "nodeId": {
1198
+ "$ref": "#/$defs/Identifier"
1199
+ },
1200
+ "iterationPath": {
1201
+ "type": "array",
1202
+ "items": {
1203
+ "type": "integer",
1204
+ "minimum": 0
1205
+ }
1206
+ },
1207
+ "attempt": {
1208
+ "type": "integer",
1209
+ "minimum": 1
1210
+ },
1211
+ "status": {
1212
+ "enum": [
1213
+ "pending",
1214
+ "running",
1215
+ "succeeded",
1216
+ "failed",
1217
+ "cancelled",
1218
+ "timed_out",
1219
+ "reconciliation_required"
1220
+ ]
1221
+ },
1222
+ "acceptedAssignmentAttemptId": {
1223
+ "anyOf": [
1224
+ {
1225
+ "$ref": "#/$defs/Identifier"
1226
+ },
1227
+ {
1228
+ "type": "null"
1229
+ }
1230
+ ]
1231
+ },
1232
+ "createdAt": {
1233
+ "$ref": "#/$defs/Timestamp"
1234
+ },
1235
+ "completedAt": {
1236
+ "anyOf": [
1237
+ {
1238
+ "$ref": "#/$defs/Timestamp"
1239
+ },
1240
+ {
1241
+ "type": "null"
1242
+ }
1243
+ ]
1244
+ },
1245
+ "terminalEvidence": {
1246
+ "anyOf": [
1247
+ {
1248
+ "$ref": "#/$defs/TerminalEvidence"
1249
+ },
1250
+ {
1251
+ "type": "null"
1252
+ }
1253
+ ]
1254
+ }
1255
+ }
1256
+ },
1257
+ "AssignmentAttempt": {
1258
+ "type": "object",
1259
+ "additionalProperties": false,
1260
+ "required": [
1261
+ "id",
1262
+ "runId",
1263
+ "nodeId",
1264
+ "agentId",
1265
+ "role",
1266
+ "leaseId",
1267
+ "fence",
1268
+ "status",
1269
+ "createdAt"
1270
+ ],
1271
+ "properties": {
1272
+ "id": {
1273
+ "$ref": "#/$defs/Identifier"
1274
+ },
1275
+ "runId": {
1276
+ "$ref": "#/$defs/Identifier"
1277
+ },
1278
+ "nodeId": {
1279
+ "$ref": "#/$defs/Identifier"
1280
+ },
1281
+ "agentId": {
1282
+ "$ref": "#/$defs/Identifier"
1283
+ },
1284
+ "role": {
1285
+ "enum": [
1286
+ "lead",
1287
+ "executor",
1288
+ "reviewer",
1289
+ "judge",
1290
+ "observer"
1291
+ ]
1292
+ },
1293
+ "leaseId": {
1294
+ "$ref": "#/$defs/Identifier"
1295
+ },
1296
+ "fence": {
1297
+ "type": "integer",
1298
+ "minimum": 1
1299
+ },
1300
+ "status": {
1301
+ "enum": [
1302
+ "offered",
1303
+ "active",
1304
+ "accepted",
1305
+ "rejected",
1306
+ "expired",
1307
+ "cancelled"
1308
+ ]
1309
+ },
1310
+ "createdAt": {
1311
+ "$ref": "#/$defs/Timestamp"
1312
+ },
1313
+ "expiresAt": {
1314
+ "$ref": "#/$defs/Timestamp"
1315
+ }
1316
+ }
1317
+ },
1318
+ "ArtifactRef": {
1319
+ "type": "object",
1320
+ "additionalProperties": false,
1321
+ "required": [
1322
+ "id",
1323
+ "digest",
1324
+ "producerNodeId",
1325
+ "producerAttemptId",
1326
+ "producerLeaseId",
1327
+ "schema",
1328
+ "dataPolicy"
1329
+ ],
1330
+ "properties": {
1331
+ "id": {
1332
+ "$ref": "#/$defs/Identifier"
1333
+ },
1334
+ "digest": {
1335
+ "$ref": "#/$defs/Digest"
1336
+ },
1337
+ "producerNodeId": {
1338
+ "$ref": "#/$defs/Identifier"
1339
+ },
1340
+ "producerAttemptId": {
1341
+ "$ref": "#/$defs/Identifier"
1342
+ },
1343
+ "producerLeaseId": {
1344
+ "$ref": "#/$defs/Identifier"
1345
+ },
1346
+ "schema": {
1347
+ "type": "object",
1348
+ "additionalProperties": {
1349
+ "$ref": "#/$defs/JsonValue"
1350
+ }
1351
+ },
1352
+ "commit": {
1353
+ "type": [
1354
+ "string",
1355
+ "null"
1356
+ ],
1357
+ "maxLength": 256
1358
+ },
1359
+ "validationEvidence": {
1360
+ "type": "array",
1361
+ "items": {
1362
+ "$ref": "#/$defs/Identifier"
1363
+ }
1364
+ },
1365
+ "consumerNodeIds": {
1366
+ "type": "array",
1367
+ "uniqueItems": true,
1368
+ "items": {
1369
+ "$ref": "#/$defs/Identifier"
1370
+ }
1371
+ },
1372
+ "dataPolicy": {
1373
+ "$ref": "#/$defs/DataPolicy"
1374
+ }
1375
+ }
1376
+ },
1377
+ "EffectReceipt": {
1378
+ "type": "object",
1379
+ "additionalProperties": false,
1380
+ "required": [
1381
+ "receiptDigest",
1382
+ "recordedAt"
1383
+ ],
1384
+ "properties": {
1385
+ "receiptDigest": {
1386
+ "$ref": "#/$defs/Digest"
1387
+ },
1388
+ "externalId": {
1389
+ "type": [
1390
+ "string",
1391
+ "null"
1392
+ ],
1393
+ "maxLength": 512
1394
+ },
1395
+ "recordedAt": {
1396
+ "$ref": "#/$defs/Timestamp"
1397
+ },
1398
+ "metadata": {
1399
+ "type": "object",
1400
+ "additionalProperties": {
1401
+ "$ref": "#/$defs/JsonValue"
1402
+ }
1403
+ }
1404
+ }
1405
+ },
1406
+ "Effect": {
1407
+ "type": "object",
1408
+ "additionalProperties": false,
1409
+ "required": [
1410
+ "id",
1411
+ "runId",
1412
+ "nodeId",
1413
+ "attemptId",
1414
+ "idempotencyKey",
1415
+ "operationDigest",
1416
+ "status",
1417
+ "createdAt"
1418
+ ],
1419
+ "properties": {
1420
+ "id": {
1421
+ "$ref": "#/$defs/Identifier"
1422
+ },
1423
+ "runId": {
1424
+ "$ref": "#/$defs/Identifier"
1425
+ },
1426
+ "nodeId": {
1427
+ "$ref": "#/$defs/Identifier"
1428
+ },
1429
+ "attemptId": {
1430
+ "$ref": "#/$defs/Identifier"
1431
+ },
1432
+ "idempotencyKey": {
1433
+ "type": "string",
1434
+ "minLength": 1,
1435
+ "maxLength": 256
1436
+ },
1437
+ "baseIdempotencyKey": {
1438
+ "type": "string",
1439
+ "minLength": 1,
1440
+ "maxLength": 256
1441
+ },
1442
+ "iterationPath": {
1443
+ "type": "array",
1444
+ "items": {
1445
+ "type": "integer",
1446
+ "minimum": 0
1447
+ }
1448
+ },
1449
+ "operationDigest": {
1450
+ "$ref": "#/$defs/Digest"
1451
+ },
1452
+ "status": {
1453
+ "enum": [
1454
+ "started",
1455
+ "committed",
1456
+ "failed",
1457
+ "unknown",
1458
+ "compensated"
1459
+ ]
1460
+ },
1461
+ "receipt": {
1462
+ "anyOf": [
1463
+ {
1464
+ "$ref": "#/$defs/EffectReceipt"
1465
+ },
1466
+ {
1467
+ "type": "null"
1468
+ }
1469
+ ]
1470
+ },
1471
+ "compensationEffectId": {
1472
+ "anyOf": [
1473
+ {
1474
+ "$ref": "#/$defs/Identifier"
1475
+ },
1476
+ {
1477
+ "type": "null"
1478
+ }
1479
+ ]
1480
+ },
1481
+ "createdAt": {
1482
+ "$ref": "#/$defs/Timestamp"
1483
+ },
1484
+ "updatedAt": {
1485
+ "$ref": "#/$defs/Timestamp"
1486
+ }
1487
+ }
1488
+ },
1489
+ "Message": {
1490
+ "type": "object",
1491
+ "additionalProperties": false,
1492
+ "required": [
1493
+ "id",
1494
+ "runId",
1495
+ "fromAttemptId",
1496
+ "toAgentId",
1497
+ "mode",
1498
+ "status",
1499
+ "payload",
1500
+ "payloadDigest",
1501
+ "dataPolicy",
1502
+ "createdAt"
1503
+ ],
1504
+ "properties": {
1505
+ "id": {
1506
+ "$ref": "#/$defs/Identifier"
1507
+ },
1508
+ "runId": {
1509
+ "$ref": "#/$defs/Identifier"
1510
+ },
1511
+ "fromAttemptId": {
1512
+ "$ref": "#/$defs/Identifier"
1513
+ },
1514
+ "toAgentId": {
1515
+ "$ref": "#/$defs/Identifier"
1516
+ },
1517
+ "causationId": {
1518
+ "anyOf": [
1519
+ {
1520
+ "$ref": "#/$defs/Identifier"
1521
+ },
1522
+ {
1523
+ "type": "null"
1524
+ }
1525
+ ]
1526
+ },
1527
+ "correlationId": {
1528
+ "anyOf": [
1529
+ {
1530
+ "$ref": "#/$defs/Identifier"
1531
+ },
1532
+ {
1533
+ "type": "null"
1534
+ }
1535
+ ]
1536
+ },
1537
+ "mode": {
1538
+ "enum": [
1539
+ "send",
1540
+ "followup"
1541
+ ]
1542
+ },
1543
+ "status": {
1544
+ "enum": [
1545
+ "admitted",
1546
+ "delivered",
1547
+ "read",
1548
+ "processed",
1549
+ "dead_letter"
1550
+ ]
1551
+ },
1552
+ "payload": {
1553
+ "$ref": "#/$defs/JsonValue"
1554
+ },
1555
+ "payloadDigest": {
1556
+ "$ref": "#/$defs/Digest"
1557
+ },
1558
+ "dataPolicy": {
1559
+ "$ref": "#/$defs/DataPolicy"
1560
+ },
1561
+ "createdAt": {
1562
+ "$ref": "#/$defs/Timestamp"
1563
+ },
1564
+ "expiresAt": {
1565
+ "$ref": "#/$defs/Timestamp"
1566
+ }
1567
+ }
1568
+ },
1569
+ "Handoff": {
1570
+ "type": "object",
1571
+ "additionalProperties": false,
1572
+ "required": [
1573
+ "id",
1574
+ "runId",
1575
+ "nodeId",
1576
+ "fromAttemptId",
1577
+ "toAgentId",
1578
+ "revisionDigest",
1579
+ "authorityDigest",
1580
+ "status",
1581
+ "expiresAt"
1582
+ ],
1583
+ "properties": {
1584
+ "id": {
1585
+ "$ref": "#/$defs/Identifier"
1586
+ },
1587
+ "runId": {
1588
+ "$ref": "#/$defs/Identifier"
1589
+ },
1590
+ "nodeId": {
1591
+ "$ref": "#/$defs/Identifier"
1592
+ },
1593
+ "fromAttemptId": {
1594
+ "$ref": "#/$defs/Identifier"
1595
+ },
1596
+ "toAgentId": {
1597
+ "$ref": "#/$defs/Identifier"
1598
+ },
1599
+ "revisionDigest": {
1600
+ "$ref": "#/$defs/Digest"
1601
+ },
1602
+ "authorityDigest": {
1603
+ "$ref": "#/$defs/Digest"
1604
+ },
1605
+ "artifactIds": {
1606
+ "type": "array",
1607
+ "uniqueItems": true,
1608
+ "items": {
1609
+ "$ref": "#/$defs/Identifier"
1610
+ }
1611
+ },
1612
+ "status": {
1613
+ "enum": [
1614
+ "offered",
1615
+ "accepted",
1616
+ "rejected",
1617
+ "committed",
1618
+ "revoked",
1619
+ "expired"
1620
+ ]
1621
+ },
1622
+ "expiresAt": {
1623
+ "$ref": "#/$defs/Timestamp"
1624
+ }
1625
+ }
1626
+ },
1627
+ "HumanTask": {
1628
+ "type": "object",
1629
+ "additionalProperties": false,
1630
+ "required": [
1631
+ "id",
1632
+ "runId",
1633
+ "revisionDigest",
1634
+ "nodeId",
1635
+ "attemptId",
1636
+ "operationDigest",
1637
+ "status",
1638
+ "nonce",
1639
+ "expiresAt"
1640
+ ],
1641
+ "properties": {
1642
+ "id": {
1643
+ "$ref": "#/$defs/Identifier"
1644
+ },
1645
+ "runId": {
1646
+ "$ref": "#/$defs/Identifier"
1647
+ },
1648
+ "revisionDigest": {
1649
+ "$ref": "#/$defs/Digest"
1650
+ },
1651
+ "nodeId": {
1652
+ "$ref": "#/$defs/Identifier"
1653
+ },
1654
+ "attemptId": {
1655
+ "$ref": "#/$defs/Identifier"
1656
+ },
1657
+ "operationDigest": {
1658
+ "$ref": "#/$defs/Digest"
1659
+ },
1660
+ "status": {
1661
+ "enum": [
1662
+ "open",
1663
+ "claimed",
1664
+ "decided",
1665
+ "cancelled",
1666
+ "expired"
1667
+ ]
1668
+ },
1669
+ "claimActorId": {
1670
+ "anyOf": [
1671
+ {
1672
+ "$ref": "#/$defs/Identifier"
1673
+ },
1674
+ {
1675
+ "type": "null"
1676
+ }
1677
+ ]
1678
+ },
1679
+ "claimLeaseId": {
1680
+ "anyOf": [
1681
+ {
1682
+ "$ref": "#/$defs/Identifier"
1683
+ },
1684
+ {
1685
+ "type": "null"
1686
+ }
1687
+ ]
1688
+ },
1689
+ "nonce": {
1690
+ "$ref": "#/$defs/Identifier"
1691
+ },
1692
+ "expiresAt": {
1693
+ "$ref": "#/$defs/Timestamp"
1694
+ },
1695
+ "decision": {
1696
+ "anyOf": [
1697
+ {
1698
+ "$ref": "#/$defs/ApprovalDecision"
1699
+ },
1700
+ {
1701
+ "type": "null"
1702
+ }
1703
+ ]
1704
+ }
1705
+ }
1706
+ },
1707
+ "GraphRun": {
1708
+ "type": "object",
1709
+ "additionalProperties": false,
1710
+ "required": [
1711
+ "id",
1712
+ "definitionId",
1713
+ "revision",
1714
+ "revisionDigest",
1715
+ "phase",
1716
+ "status",
1717
+ "graphRevision",
1718
+ "createdAt"
1719
+ ],
1720
+ "properties": {
1721
+ "id": {
1722
+ "$ref": "#/$defs/Identifier"
1723
+ },
1724
+ "definitionId": {
1725
+ "$ref": "#/$defs/Identifier"
1726
+ },
1727
+ "revision": {
1728
+ "type": "integer",
1729
+ "minimum": 1
1730
+ },
1731
+ "revisionDigest": {
1732
+ "$ref": "#/$defs/Digest"
1733
+ },
1734
+ "occurrenceId": {
1735
+ "anyOf": [
1736
+ {
1737
+ "$ref": "#/$defs/Identifier"
1738
+ },
1739
+ {
1740
+ "type": "null"
1741
+ }
1742
+ ]
1743
+ },
1744
+ "phase": {
1745
+ "enum": [
1746
+ "open",
1747
+ "sealed"
1748
+ ]
1749
+ },
1750
+ "status": {
1751
+ "enum": [
1752
+ "running",
1753
+ "waiting_input",
1754
+ "waiting_external",
1755
+ "waiting_human",
1756
+ "reconciliation_required",
1757
+ "succeeded",
1758
+ "failed",
1759
+ "partial",
1760
+ "cancelled",
1761
+ "blocked",
1762
+ "deadlocked",
1763
+ "budget_exhausted"
1764
+ ]
1765
+ },
1766
+ "graphRevision": {
1767
+ "type": "integer",
1768
+ "minimum": 1
1769
+ },
1770
+ "createdAt": {
1771
+ "$ref": "#/$defs/Timestamp"
1772
+ },
1773
+ "completedAt": {
1774
+ "anyOf": [
1775
+ {
1776
+ "$ref": "#/$defs/Timestamp"
1777
+ },
1778
+ {
1779
+ "type": "null"
1780
+ }
1781
+ ]
1782
+ }
1783
+ }
1784
+ },
1785
+ "InitializeParams": {
1786
+ "type": "object",
1787
+ "additionalProperties": false,
1788
+ "required": [
1789
+ "protocolVersion",
1790
+ "minimumProtocolVersion",
1791
+ "client"
1792
+ ],
1793
+ "properties": {
1794
+ "protocolVersion": {
1795
+ "type": "integer",
1796
+ "minimum": 1
1797
+ },
1798
+ "minimumProtocolVersion": {
1799
+ "type": "integer",
1800
+ "minimum": 1
1801
+ },
1802
+ "client": {
1803
+ "type": "object",
1804
+ "additionalProperties": false,
1805
+ "required": [
1806
+ "name",
1807
+ "version"
1808
+ ],
1809
+ "properties": {
1810
+ "name": {
1811
+ "type": "string",
1812
+ "minLength": 1,
1813
+ "maxLength": 128
1814
+ },
1815
+ "version": {
1816
+ "type": "string",
1817
+ "minLength": 1,
1818
+ "maxLength": 64
1819
+ }
1820
+ }
1821
+ },
1822
+ "features": {
1823
+ "type": "array",
1824
+ "uniqueItems": true,
1825
+ "items": {
1826
+ "type": "string",
1827
+ "minLength": 1,
1828
+ "maxLength": 128
1829
+ }
1830
+ }
1831
+ }
1832
+ },
1833
+ "JsonRpcRequestBase": {
1834
+ "type": "object",
1835
+ "required": [
1836
+ "jsonrpc",
1837
+ "id",
1838
+ "method"
1839
+ ],
1840
+ "properties": {
1841
+ "jsonrpc": {
1842
+ "const": "2.0"
1843
+ },
1844
+ "id": {
1845
+ "type": [
1846
+ "string",
1847
+ "integer"
1848
+ ]
1849
+ },
1850
+ "method": {
1851
+ "type": "string"
1852
+ },
1853
+ "params": {
1854
+ "type": "object"
1855
+ }
1856
+ }
1857
+ },
1858
+ "ClientRequest": {
1859
+ "allOf": [
1860
+ {
1861
+ "$ref": "#/$defs/JsonRpcRequestBase"
1862
+ },
1863
+ {
1864
+ "oneOf": [
1865
+ {
1866
+ "properties": {
1867
+ "method": {
1868
+ "const": "initialize"
1869
+ },
1870
+ "params": {
1871
+ "$ref": "#/$defs/InitializeParams"
1872
+ }
1873
+ }
1874
+ },
1875
+ {
1876
+ "properties": {
1877
+ "method": {
1878
+ "enum": [
1879
+ "thread/start",
1880
+ "thread/resume",
1881
+ "thread/fork",
1882
+ "thread/read",
1883
+ "thread/list",
1884
+ "thread/archive",
1885
+ "turn/start",
1886
+ "turn/interrupt"
1887
+ ]
1888
+ }
1889
+ }
1890
+ }
1891
+ ]
1892
+ }
1893
+ ]
1894
+ },
1895
+ "ClientResponse": {
1896
+ "type": "object",
1897
+ "additionalProperties": false,
1898
+ "required": [
1899
+ "jsonrpc",
1900
+ "id"
1901
+ ],
1902
+ "properties": {
1903
+ "jsonrpc": {
1904
+ "const": "2.0"
1905
+ },
1906
+ "id": {
1907
+ "type": [
1908
+ "string",
1909
+ "integer"
1910
+ ]
1911
+ },
1912
+ "result": {
1913
+ "$ref": "#/$defs/JsonValue"
1914
+ },
1915
+ "error": {
1916
+ "type": "object",
1917
+ "additionalProperties": false,
1918
+ "required": [
1919
+ "code",
1920
+ "message"
1921
+ ],
1922
+ "properties": {
1923
+ "code": {
1924
+ "type": "integer"
1925
+ },
1926
+ "message": {
1927
+ "type": "string"
1928
+ },
1929
+ "data": {
1930
+ "$ref": "#/$defs/JsonValue"
1931
+ }
1932
+ }
1933
+ }
1934
+ },
1935
+ "oneOf": [
1936
+ {
1937
+ "required": [
1938
+ "result"
1939
+ ]
1940
+ },
1941
+ {
1942
+ "required": [
1943
+ "error"
1944
+ ]
1945
+ }
1946
+ ]
1947
+ },
1948
+ "ServerRequest": {
1949
+ "type": "object",
1950
+ "additionalProperties": false,
1951
+ "required": [
1952
+ "jsonrpc",
1953
+ "id",
1954
+ "method",
1955
+ "params"
1956
+ ],
1957
+ "properties": {
1958
+ "jsonrpc": {
1959
+ "const": "2.0"
1960
+ },
1961
+ "id": {
1962
+ "type": [
1963
+ "string",
1964
+ "integer"
1965
+ ]
1966
+ },
1967
+ "method": {
1968
+ "enum": [
1969
+ "approval/decide",
1970
+ "humanTask/decide"
1971
+ ]
1972
+ },
1973
+ "params": {
1974
+ "$ref": "#/$defs/JsonValue"
1975
+ }
1976
+ }
1977
+ },
1978
+ "ServerNotification": {
1979
+ "type": "object",
1980
+ "additionalProperties": false,
1981
+ "required": [
1982
+ "jsonrpc",
1983
+ "method",
1984
+ "params"
1985
+ ],
1986
+ "properties": {
1987
+ "jsonrpc": {
1988
+ "const": "2.0"
1989
+ },
1990
+ "method": {
1991
+ "enum": [
1992
+ "thread/updated",
1993
+ "turn/started",
1994
+ "turn/completed",
1995
+ "item/started",
1996
+ "item/delta",
1997
+ "item/completed",
1998
+ "approval/requested",
1999
+ "approval/resolved",
2000
+ "tool/requested",
2001
+ "tool/result",
2002
+ "subagent/started",
2003
+ "subagent/completed",
2004
+ "graph/event"
2005
+ ]
2006
+ },
2007
+ "params": {
2008
+ "$ref": "#/$defs/JsonValue"
2009
+ }
2010
+ }
2011
+ }
2012
+ }
2013
+ }