@pellux/goodvibes-sdk 0.37.2 → 1.0.0

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 (555) hide show
  1. package/dist/contracts/artifacts/operator-contract.json +3171 -929
  2. package/dist/daemon.d.ts +2 -0
  3. package/dist/daemon.d.ts.map +1 -1
  4. package/dist/daemon.js +4 -0
  5. package/dist/events/communication.d.ts +21 -1
  6. package/dist/events/communication.d.ts.map +1 -1
  7. package/dist/events/surfaces.d.ts +25 -3
  8. package/dist/events/surfaces.d.ts.map +1 -1
  9. package/dist/events/surfaces.js +22 -1
  10. package/dist/events/workflows.d.ts +7 -6
  11. package/dist/events/workflows.d.ts.map +1 -1
  12. package/dist/index.d.ts +1 -1
  13. package/dist/index.d.ts.map +1 -1
  14. package/dist/platform/agents/archetypes.d.ts.map +1 -1
  15. package/dist/platform/agents/archetypes.js +7 -0
  16. package/dist/platform/agents/index.d.ts +1 -0
  17. package/dist/platform/agents/index.d.ts.map +1 -1
  18. package/dist/platform/agents/index.js +1 -0
  19. package/dist/platform/agents/message-bus-core.d.ts +7 -0
  20. package/dist/platform/agents/message-bus-core.d.ts.map +1 -1
  21. package/dist/platform/agents/message-bus-core.js +2 -1
  22. package/dist/platform/agents/orchestrator-runner.d.ts +50 -1
  23. package/dist/platform/agents/orchestrator-runner.d.ts.map +1 -1
  24. package/dist/platform/agents/orchestrator-runner.js +172 -7
  25. package/dist/platform/agents/orchestrator.d.ts +78 -6
  26. package/dist/platform/agents/orchestrator.d.ts.map +1 -1
  27. package/dist/platform/agents/orchestrator.js +95 -18
  28. package/dist/platform/agents/planner-decomposition-runner.d.ts +38 -0
  29. package/dist/platform/agents/planner-decomposition-runner.d.ts.map +1 -0
  30. package/dist/platform/agents/planner-decomposition-runner.js +113 -0
  31. package/dist/platform/agents/turn-knowledge-injection.d.ts +192 -0
  32. package/dist/platform/agents/turn-knowledge-injection.d.ts.map +1 -0
  33. package/dist/platform/agents/turn-knowledge-injection.js +269 -0
  34. package/dist/platform/agents/worktree.d.ts +126 -8
  35. package/dist/platform/agents/worktree.d.ts.map +1 -1
  36. package/dist/platform/agents/worktree.js +240 -19
  37. package/dist/platform/agents/wrfc-controller.d.ts +46 -0
  38. package/dist/platform/agents/wrfc-controller.d.ts.map +1 -1
  39. package/dist/platform/agents/wrfc-controller.js +213 -32
  40. package/dist/platform/agents/wrfc-gate-runtime.d.ts +9 -0
  41. package/dist/platform/agents/wrfc-gate-runtime.d.ts.map +1 -1
  42. package/dist/platform/agents/wrfc-gate-runtime.js +7 -3
  43. package/dist/platform/agents/wrfc-gates.d.ts +1 -1
  44. package/dist/platform/agents/wrfc-gates.d.ts.map +1 -1
  45. package/dist/platform/agents/wrfc-gates.js +7 -1
  46. package/dist/platform/agents/wrfc-types.d.ts +23 -3
  47. package/dist/platform/agents/wrfc-types.d.ts.map +1 -1
  48. package/dist/platform/automation/types.d.ts +9 -1
  49. package/dist/platform/automation/types.d.ts.map +1 -1
  50. package/dist/platform/calendar/calendar-api-shared.d.ts +25 -0
  51. package/dist/platform/calendar/calendar-api-shared.d.ts.map +1 -0
  52. package/dist/platform/calendar/calendar-api-shared.js +100 -0
  53. package/dist/platform/calendar/calendar-connector.d.ts +79 -0
  54. package/dist/platform/calendar/calendar-connector.d.ts.map +1 -0
  55. package/dist/platform/calendar/calendar-connector.js +155 -0
  56. package/dist/platform/calendar/google-calendar-api.d.ts +25 -0
  57. package/dist/platform/calendar/google-calendar-api.d.ts.map +1 -0
  58. package/dist/platform/calendar/google-calendar-api.js +89 -0
  59. package/dist/platform/calendar/http-fetch-adapter.d.ts +25 -0
  60. package/dist/platform/calendar/http-fetch-adapter.d.ts.map +1 -0
  61. package/dist/platform/calendar/http-fetch-adapter.js +25 -0
  62. package/dist/platform/calendar/ics-parser.d.ts +35 -0
  63. package/dist/platform/calendar/ics-parser.d.ts.map +1 -0
  64. package/dist/platform/calendar/ics-parser.js +236 -0
  65. package/dist/platform/calendar/index.d.ts +41 -0
  66. package/dist/platform/calendar/index.d.ts.map +1 -0
  67. package/dist/platform/calendar/index.js +49 -0
  68. package/dist/platform/calendar/merged-calendar-model.d.ts +67 -0
  69. package/dist/platform/calendar/merged-calendar-model.d.ts.map +1 -0
  70. package/dist/platform/calendar/merged-calendar-model.js +181 -0
  71. package/dist/platform/calendar/microsoft-graph-api.d.ts +25 -0
  72. package/dist/platform/calendar/microsoft-graph-api.d.ts.map +1 -0
  73. package/dist/platform/calendar/microsoft-graph-api.js +95 -0
  74. package/dist/platform/calendar/oauth-flow.d.ts +62 -0
  75. package/dist/platform/calendar/oauth-flow.d.ts.map +1 -0
  76. package/dist/platform/calendar/oauth-flow.js +305 -0
  77. package/dist/platform/calendar/oauth-providers.d.ts +43 -0
  78. package/dist/platform/calendar/oauth-providers.d.ts.map +1 -0
  79. package/dist/platform/calendar/oauth-providers.js +120 -0
  80. package/dist/platform/calendar/oauth-token-store.d.ts +72 -0
  81. package/dist/platform/calendar/oauth-token-store.d.ts.map +1 -0
  82. package/dist/platform/calendar/oauth-token-store.js +189 -0
  83. package/dist/platform/calendar/oauth-types.d.ts +274 -0
  84. package/dist/platform/calendar/oauth-types.d.ts.map +1 -0
  85. package/dist/platform/calendar/oauth-types.js +22 -0
  86. package/dist/platform/calendar/rrule.d.ts +39 -0
  87. package/dist/platform/calendar/rrule.d.ts.map +1 -0
  88. package/dist/platform/calendar/rrule.js +261 -0
  89. package/dist/platform/calendar/subscription-store.d.ts +118 -0
  90. package/dist/platform/calendar/subscription-store.d.ts.map +1 -0
  91. package/dist/platform/calendar/subscription-store.js +293 -0
  92. package/dist/platform/calendar/types.d.ts +170 -0
  93. package/dist/platform/calendar/types.d.ts.map +1 -0
  94. package/dist/platform/calendar/types.js +21 -0
  95. package/dist/platform/companion/companion-chat-attachments.d.ts +29 -0
  96. package/dist/platform/companion/companion-chat-attachments.d.ts.map +1 -0
  97. package/dist/platform/companion/companion-chat-attachments.js +121 -0
  98. package/dist/platform/companion/companion-chat-broker-bridge.d.ts +40 -0
  99. package/dist/platform/companion/companion-chat-broker-bridge.d.ts.map +1 -0
  100. package/dist/platform/companion/companion-chat-broker-bridge.js +14 -0
  101. package/dist/platform/companion/companion-chat-broker-sync.d.ts +38 -0
  102. package/dist/platform/companion/companion-chat-broker-sync.d.ts.map +1 -0
  103. package/dist/platform/companion/companion-chat-broker-sync.js +80 -0
  104. package/dist/platform/companion/companion-chat-gc.d.ts +63 -0
  105. package/dist/platform/companion/companion-chat-gc.d.ts.map +1 -0
  106. package/dist/platform/companion/companion-chat-gc.js +38 -0
  107. package/dist/platform/companion/companion-chat-manager.d.ts +67 -20
  108. package/dist/platform/companion/companion-chat-manager.d.ts.map +1 -1
  109. package/dist/platform/companion/companion-chat-manager.js +130 -144
  110. package/dist/platform/companion/companion-chat-persistence.d.ts +9 -1
  111. package/dist/platform/companion/companion-chat-persistence.d.ts.map +1 -1
  112. package/dist/platform/companion/companion-chat-persistence.js +10 -2
  113. package/dist/platform/companion/companion-chat-routes.d.ts +2 -1
  114. package/dist/platform/companion/companion-chat-routes.d.ts.map +1 -1
  115. package/dist/platform/companion/companion-chat-routes.js +37 -4
  116. package/dist/platform/config/credential-status.d.ts +28 -0
  117. package/dist/platform/config/credential-status.d.ts.map +1 -0
  118. package/dist/platform/config/credential-status.js +75 -0
  119. package/dist/platform/config/index.d.ts +25 -0
  120. package/dist/platform/config/index.d.ts.map +1 -1
  121. package/dist/platform/config/index.js +18 -0
  122. package/dist/platform/config/manager.d.ts +18 -0
  123. package/dist/platform/config/manager.d.ts.map +1 -1
  124. package/dist/platform/config/manager.js +36 -2
  125. package/dist/platform/config/migrations.d.ts +48 -0
  126. package/dist/platform/config/migrations.d.ts.map +1 -0
  127. package/dist/platform/config/migrations.js +54 -0
  128. package/dist/platform/config/schema-domain-core.d.ts +10 -1
  129. package/dist/platform/config/schema-domain-core.d.ts.map +1 -1
  130. package/dist/platform/config/schema-domain-core.js +46 -3
  131. package/dist/platform/config/schema-types.d.ts +13 -7
  132. package/dist/platform/config/schema-types.d.ts.map +1 -1
  133. package/dist/platform/config/schema.d.ts.map +1 -1
  134. package/dist/platform/config/schema.js +2 -0
  135. package/dist/platform/control-plane/approval-broker.d.ts +11 -0
  136. package/dist/platform/control-plane/approval-broker.d.ts.map +1 -1
  137. package/dist/platform/control-plane/approval-broker.js +17 -1
  138. package/dist/platform/control-plane/approval-hunk-apply.d.ts +77 -0
  139. package/dist/platform/control-plane/approval-hunk-apply.d.ts.map +1 -0
  140. package/dist/platform/control-plane/approval-hunk-apply.js +80 -0
  141. package/dist/platform/control-plane/gateway-disabled-response.d.ts +20 -0
  142. package/dist/platform/control-plane/gateway-disabled-response.d.ts.map +1 -0
  143. package/dist/platform/control-plane/gateway-disabled-response.js +24 -0
  144. package/dist/platform/control-plane/gateway-scope-enforcement.d.ts +68 -0
  145. package/dist/platform/control-plane/gateway-scope-enforcement.d.ts.map +1 -0
  146. package/dist/platform/control-plane/gateway-scope-enforcement.js +91 -0
  147. package/dist/platform/control-plane/gateway-utils.d.ts +17 -0
  148. package/dist/platform/control-plane/gateway-utils.d.ts.map +1 -1
  149. package/dist/platform/control-plane/gateway-utils.js +30 -0
  150. package/dist/platform/control-plane/gateway.d.ts +12 -2
  151. package/dist/platform/control-plane/gateway.d.ts.map +1 -1
  152. package/dist/platform/control-plane/gateway.js +27 -31
  153. package/dist/platform/control-plane/index.d.ts +6 -1
  154. package/dist/platform/control-plane/index.d.ts.map +1 -1
  155. package/dist/platform/control-plane/index.js +4 -0
  156. package/dist/platform/control-plane/invoke-input-validation.d.ts +56 -0
  157. package/dist/platform/control-plane/invoke-input-validation.d.ts.map +1 -0
  158. package/dist/platform/control-plane/invoke-input-validation.js +163 -0
  159. package/dist/platform/control-plane/method-catalog-admin.d.ts.map +1 -1
  160. package/dist/platform/control-plane/method-catalog-admin.js +12 -1
  161. package/dist/platform/control-plane/method-catalog-calendar.d.ts +16 -0
  162. package/dist/platform/control-plane/method-catalog-calendar.d.ts.map +1 -1
  163. package/dist/platform/control-plane/method-catalog-calendar.js +21 -0
  164. package/dist/platform/control-plane/method-catalog-channels.d.ts.map +1 -1
  165. package/dist/platform/control-plane/method-catalog-channels.js +32 -3
  166. package/dist/platform/control-plane/method-catalog-control-automation.d.ts.map +1 -1
  167. package/dist/platform/control-plane/method-catalog-control-automation.js +19 -34
  168. package/dist/platform/control-plane/method-catalog-control-companion.d.ts +15 -0
  169. package/dist/platform/control-plane/method-catalog-control-companion.d.ts.map +1 -0
  170. package/dist/platform/control-plane/method-catalog-control-companion.js +133 -0
  171. package/dist/platform/control-plane/method-catalog-control-core.d.ts.map +1 -1
  172. package/dist/platform/control-plane/method-catalog-control-core.js +104 -122
  173. package/dist/platform/control-plane/method-catalog-control.d.ts.map +1 -1
  174. package/dist/platform/control-plane/method-catalog-control.js +4 -0
  175. package/dist/platform/control-plane/method-catalog-email.d.ts +17 -0
  176. package/dist/platform/control-plane/method-catalog-email.d.ts.map +1 -1
  177. package/dist/platform/control-plane/method-catalog-email.js +21 -0
  178. package/dist/platform/control-plane/method-catalog-events.d.ts +28 -0
  179. package/dist/platform/control-plane/method-catalog-events.d.ts.map +1 -1
  180. package/dist/platform/control-plane/method-catalog-events.js +74 -1
  181. package/dist/platform/control-plane/method-catalog-fleet.d.ts +24 -0
  182. package/dist/platform/control-plane/method-catalog-fleet.d.ts.map +1 -0
  183. package/dist/platform/control-plane/method-catalog-fleet.js +65 -0
  184. package/dist/platform/control-plane/method-catalog-route-reconcile.d.ts +84 -0
  185. package/dist/platform/control-plane/method-catalog-route-reconcile.d.ts.map +1 -0
  186. package/dist/platform/control-plane/method-catalog-route-reconcile.js +103 -0
  187. package/dist/platform/control-plane/method-catalog-shared.d.ts +29 -0
  188. package/dist/platform/control-plane/method-catalog-shared.d.ts.map +1 -1
  189. package/dist/platform/control-plane/method-catalog.d.ts +9 -0
  190. package/dist/platform/control-plane/method-catalog.d.ts.map +1 -1
  191. package/dist/platform/control-plane/method-catalog.js +32 -3
  192. package/dist/platform/control-plane/operator-contract-schemas-admin.d.ts +8 -0
  193. package/dist/platform/control-plane/operator-contract-schemas-admin.d.ts.map +1 -1
  194. package/dist/platform/control-plane/operator-contract-schemas-admin.js +22 -1
  195. package/dist/platform/control-plane/operator-contract-schemas-fleet.d.ts +18 -0
  196. package/dist/platform/control-plane/operator-contract-schemas-fleet.d.ts.map +1 -0
  197. package/dist/platform/control-plane/operator-contract-schemas-fleet.js +182 -0
  198. package/dist/platform/control-plane/operator-contract-schemas-permissions.d.ts.map +1 -1
  199. package/dist/platform/control-plane/operator-contract-schemas-permissions.js +5 -0
  200. package/dist/platform/control-plane/operator-contract-schemas-runtime.d.ts +29 -0
  201. package/dist/platform/control-plane/operator-contract-schemas-runtime.d.ts.map +1 -1
  202. package/dist/platform/control-plane/operator-contract-schemas-runtime.js +57 -3
  203. package/dist/platform/control-plane/operator-contract-schemas.d.ts +1 -0
  204. package/dist/platform/control-plane/operator-contract-schemas.d.ts.map +1 -1
  205. package/dist/platform/control-plane/operator-contract-schemas.js +1 -0
  206. package/dist/platform/control-plane/operator-contract.d.ts.map +1 -1
  207. package/dist/platform/control-plane/operator-contract.js +8 -0
  208. package/dist/platform/control-plane/routes/checkpoints.d.ts +39 -0
  209. package/dist/platform/control-plane/routes/checkpoints.d.ts.map +1 -0
  210. package/dist/platform/control-plane/routes/checkpoints.js +166 -0
  211. package/dist/platform/control-plane/routes/fleet.d.ts +53 -0
  212. package/dist/platform/control-plane/routes/fleet.d.ts.map +1 -0
  213. package/dist/platform/control-plane/routes/fleet.js +153 -0
  214. package/dist/platform/control-plane/routes/gateway-verb-error.d.ts +30 -0
  215. package/dist/platform/control-plane/routes/gateway-verb-error.d.ts.map +1 -0
  216. package/dist/platform/control-plane/routes/gateway-verb-error.js +36 -0
  217. package/dist/platform/control-plane/routes/index.d.ts +0 -6
  218. package/dist/platform/control-plane/routes/index.d.ts.map +1 -1
  219. package/dist/platform/control-plane/routes/index.js +5 -5
  220. package/dist/platform/control-plane/routes/invocation-params.d.ts +23 -0
  221. package/dist/platform/control-plane/routes/invocation-params.d.ts.map +1 -0
  222. package/dist/platform/control-plane/routes/invocation-params.js +9 -0
  223. package/dist/platform/control-plane/routes/register-w3-s2.d.ts +26 -0
  224. package/dist/platform/control-plane/routes/register-w3-s2.d.ts.map +1 -0
  225. package/dist/platform/control-plane/routes/register-w3-s2.js +8 -0
  226. package/dist/platform/control-plane/routes/session-search.d.ts +37 -0
  227. package/dist/platform/control-plane/routes/session-search.d.ts.map +1 -0
  228. package/dist/platform/control-plane/routes/session-search.js +113 -0
  229. package/dist/platform/control-plane/session-broker-gc.d.ts +16 -0
  230. package/dist/platform/control-plane/session-broker-gc.d.ts.map +1 -1
  231. package/dist/platform/control-plane/session-broker-gc.js +23 -6
  232. package/dist/platform/control-plane/session-broker-helpers.d.ts +3 -3
  233. package/dist/platform/control-plane/session-broker-helpers.d.ts.map +1 -1
  234. package/dist/platform/control-plane/session-broker-inputs.d.ts +18 -0
  235. package/dist/platform/control-plane/session-broker-inputs.d.ts.map +1 -1
  236. package/dist/platform/control-plane/session-broker-inputs.js +34 -0
  237. package/dist/platform/control-plane/session-broker-sessions.d.ts +102 -3
  238. package/dist/platform/control-plane/session-broker-sessions.d.ts.map +1 -1
  239. package/dist/platform/control-plane/session-broker-sessions.js +179 -5
  240. package/dist/platform/control-plane/session-broker-state.d.ts +20 -1
  241. package/dist/platform/control-plane/session-broker-state.d.ts.map +1 -1
  242. package/dist/platform/control-plane/session-broker-state.js +67 -5
  243. package/dist/platform/control-plane/session-broker.d.ts +51 -38
  244. package/dist/platform/control-plane/session-broker.d.ts.map +1 -1
  245. package/dist/platform/control-plane/session-broker.js +183 -75
  246. package/dist/platform/control-plane/session-store-importer.d.ts +57 -0
  247. package/dist/platform/control-plane/session-store-importer.d.ts.map +1 -0
  248. package/dist/platform/control-plane/session-store-importer.js +227 -0
  249. package/dist/platform/control-plane/session-types.d.ts +142 -7
  250. package/dist/platform/control-plane/session-types.d.ts.map +1 -1
  251. package/dist/platform/core/adaptive-planner.d.ts +50 -0
  252. package/dist/platform/core/adaptive-planner.d.ts.map +1 -1
  253. package/dist/platform/core/adaptive-planner.js +49 -0
  254. package/dist/platform/core/execution-plan.d.ts +43 -1
  255. package/dist/platform/core/execution-plan.d.ts.map +1 -1
  256. package/dist/platform/core/execution-plan.js +46 -10
  257. package/dist/platform/core/index.d.ts +2 -0
  258. package/dist/platform/core/index.d.ts.map +1 -1
  259. package/dist/platform/core/index.js +2 -0
  260. package/dist/platform/core/orchestrator-runtime.d.ts +31 -0
  261. package/dist/platform/core/orchestrator-runtime.d.ts.map +1 -1
  262. package/dist/platform/core/orchestrator-tool-runtime.d.ts +7 -0
  263. package/dist/platform/core/orchestrator-tool-runtime.d.ts.map +1 -1
  264. package/dist/platform/core/orchestrator-tool-runtime.js +10 -0
  265. package/dist/platform/core/orchestrator-turn-loop.d.ts +35 -1
  266. package/dist/platform/core/orchestrator-turn-loop.d.ts.map +1 -1
  267. package/dist/platform/core/orchestrator-turn-loop.js +121 -3
  268. package/dist/platform/core/orchestrator.d.ts +67 -0
  269. package/dist/platform/core/orchestrator.d.ts.map +1 -1
  270. package/dist/platform/core/orchestrator.js +89 -1
  271. package/dist/platform/core/plan-decomposition.d.ts +196 -0
  272. package/dist/platform/core/plan-decomposition.d.ts.map +1 -0
  273. package/dist/platform/core/plan-decomposition.js +417 -0
  274. package/dist/platform/core/plan-proposal.d.ts +204 -0
  275. package/dist/platform/core/plan-proposal.d.ts.map +1 -0
  276. package/dist/platform/core/plan-proposal.js +296 -0
  277. package/dist/platform/core/wrfc-routing.d.ts +1 -0
  278. package/dist/platform/core/wrfc-routing.d.ts.map +1 -1
  279. package/dist/platform/core/wrfc-routing.js +51 -1
  280. package/dist/platform/daemon/boot.d.ts +63 -0
  281. package/dist/platform/daemon/boot.d.ts.map +1 -0
  282. package/dist/platform/daemon/boot.js +60 -0
  283. package/dist/platform/daemon/cli.js +2 -1
  284. package/dist/platform/daemon/control-plane.d.ts.map +1 -1
  285. package/dist/platform/daemon/control-plane.js +50 -1
  286. package/dist/platform/daemon/facade-composition.d.ts.map +1 -1
  287. package/dist/platform/daemon/facade-composition.js +6 -0
  288. package/dist/platform/daemon/facade.d.ts +18 -6
  289. package/dist/platform/daemon/facade.d.ts.map +1 -1
  290. package/dist/platform/daemon/facade.js +50 -43
  291. package/dist/platform/daemon/http/router-route-contexts.d.ts +1 -0
  292. package/dist/platform/daemon/http/router-route-contexts.d.ts.map +1 -1
  293. package/dist/platform/daemon/http/router-route-contexts.js +1 -0
  294. package/dist/platform/daemon/http/router-session-broker-adapter.d.ts +13 -0
  295. package/dist/platform/daemon/http/router-session-broker-adapter.d.ts.map +1 -0
  296. package/dist/platform/daemon/http/router-session-broker-adapter.js +27 -0
  297. package/dist/platform/daemon/http/router.d.ts +1 -1
  298. package/dist/platform/daemon/http/router.d.ts.map +1 -1
  299. package/dist/platform/daemon/http/router.js +7 -22
  300. package/dist/platform/daemon/http/runtime-route-types.d.ts +42 -4
  301. package/dist/platform/daemon/http/runtime-route-types.d.ts.map +1 -1
  302. package/dist/platform/daemon/index.d.ts +2 -0
  303. package/dist/platform/daemon/index.d.ts.map +1 -1
  304. package/dist/platform/daemon/index.js +1 -0
  305. package/dist/platform/daemon/service-manager.d.ts +16 -0
  306. package/dist/platform/daemon/service-manager.d.ts.map +1 -1
  307. package/dist/platform/daemon/service-manager.js +79 -15
  308. package/dist/platform/intelligence/tree-sitter/service.d.ts.map +1 -1
  309. package/dist/platform/intelligence/tree-sitter/service.js +16 -2
  310. package/dist/platform/knowledge/browser-history/readers.d.ts.map +1 -1
  311. package/dist/platform/knowledge/browser-history/readers.js +15 -5
  312. package/dist/platform/knowledge/knowledge-api.d.ts +26 -0
  313. package/dist/platform/knowledge/knowledge-api.d.ts.map +1 -1
  314. package/dist/platform/knowledge/knowledge-api.js +11 -0
  315. package/dist/platform/knowledge/project-planning/service.d.ts +14 -1
  316. package/dist/platform/knowledge/project-planning/service.d.ts.map +1 -1
  317. package/dist/platform/knowledge/project-planning/service.js +77 -0
  318. package/dist/platform/knowledge/project-planning/types.d.ts +32 -0
  319. package/dist/platform/knowledge/project-planning/types.d.ts.map +1 -1
  320. package/dist/platform/orchestration/bookkeeping.d.ts +12 -0
  321. package/dist/platform/orchestration/bookkeeping.d.ts.map +1 -0
  322. package/dist/platform/orchestration/bookkeeping.js +91 -0
  323. package/dist/platform/orchestration/budget.d.ts +22 -0
  324. package/dist/platform/orchestration/budget.d.ts.map +1 -0
  325. package/dist/platform/orchestration/budget.js +35 -0
  326. package/dist/platform/orchestration/cancellation.d.ts +31 -0
  327. package/dist/platform/orchestration/cancellation.d.ts.map +1 -0
  328. package/dist/platform/orchestration/cancellation.js +25 -0
  329. package/dist/platform/orchestration/controller-compat.d.ts +46 -0
  330. package/dist/platform/orchestration/controller-compat.d.ts.map +1 -0
  331. package/dist/platform/orchestration/controller-compat.js +27 -0
  332. package/dist/platform/orchestration/dirty-guard.d.ts +32 -0
  333. package/dist/platform/orchestration/dirty-guard.d.ts.map +1 -0
  334. package/dist/platform/orchestration/dirty-guard.js +147 -0
  335. package/dist/platform/orchestration/engine.d.ts +82 -0
  336. package/dist/platform/orchestration/engine.d.ts.map +1 -0
  337. package/dist/platform/orchestration/engine.js +623 -0
  338. package/dist/platform/orchestration/index.d.ts +20 -0
  339. package/dist/platform/orchestration/index.d.ts.map +1 -0
  340. package/dist/platform/orchestration/index.js +11 -0
  341. package/dist/platform/orchestration/persistence.d.ts +24 -0
  342. package/dist/platform/orchestration/persistence.d.ts.map +1 -0
  343. package/dist/platform/orchestration/persistence.js +179 -0
  344. package/dist/platform/orchestration/phase-runner.d.ts +114 -0
  345. package/dist/platform/orchestration/phase-runner.d.ts.map +1 -0
  346. package/dist/platform/orchestration/phase-runner.js +347 -0
  347. package/dist/platform/orchestration/proposal-workstream.d.ts +56 -0
  348. package/dist/platform/orchestration/proposal-workstream.d.ts.map +1 -0
  349. package/dist/platform/orchestration/proposal-workstream.js +76 -0
  350. package/dist/platform/orchestration/scheduler.d.ts +64 -0
  351. package/dist/platform/orchestration/scheduler.d.ts.map +1 -0
  352. package/dist/platform/orchestration/scheduler.js +73 -0
  353. package/dist/platform/orchestration/types.d.ts +535 -0
  354. package/dist/platform/orchestration/types.d.ts.map +1 -0
  355. package/dist/platform/orchestration/types.js +47 -0
  356. package/dist/platform/orchestration/worktree-isolation.d.ts +33 -0
  357. package/dist/platform/orchestration/worktree-isolation.d.ts.map +1 -0
  358. package/dist/platform/orchestration/worktree-isolation.js +248 -0
  359. package/dist/platform/presentation/glyphs.d.ts +91 -0
  360. package/dist/platform/presentation/glyphs.d.ts.map +1 -0
  361. package/dist/platform/presentation/glyphs.js +93 -0
  362. package/dist/platform/presentation/index.d.ts +28 -0
  363. package/dist/platform/presentation/index.d.ts.map +1 -0
  364. package/dist/platform/presentation/index.js +27 -0
  365. package/dist/platform/presentation/thinking-phrases.d.ts +12 -0
  366. package/dist/platform/presentation/thinking-phrases.d.ts.map +1 -0
  367. package/dist/platform/presentation/thinking-phrases.js +32 -0
  368. package/dist/platform/presentation/tones.d.ts +121 -0
  369. package/dist/platform/presentation/tones.d.ts.map +1 -0
  370. package/dist/platform/presentation/tones.js +145 -0
  371. package/dist/platform/presentation/waiting-wording.d.ts +54 -0
  372. package/dist/platform/presentation/waiting-wording.d.ts.map +1 -0
  373. package/dist/platform/presentation/waiting-wording.js +51 -0
  374. package/dist/platform/providers/runtime-snapshot.d.ts.map +1 -1
  375. package/dist/platform/providers/runtime-snapshot.js +12 -2
  376. package/dist/platform/runtime/bootstrap-services.d.ts +62 -2
  377. package/dist/platform/runtime/bootstrap-services.d.ts.map +1 -1
  378. package/dist/platform/runtime/bootstrap-services.js +217 -50
  379. package/dist/platform/runtime/daemon-version-compat.d.ts +39 -0
  380. package/dist/platform/runtime/daemon-version-compat.d.ts.map +1 -0
  381. package/dist/platform/runtime/daemon-version-compat.js +75 -0
  382. package/dist/platform/runtime/detached-daemon-runtime.d.ts +26 -0
  383. package/dist/platform/runtime/detached-daemon-runtime.d.ts.map +1 -0
  384. package/dist/platform/runtime/detached-daemon-runtime.js +49 -0
  385. package/dist/platform/runtime/emitters/communication.d.ts +11 -0
  386. package/dist/platform/runtime/emitters/communication.d.ts.map +1 -1
  387. package/dist/platform/runtime/emitters/communication.js +9 -0
  388. package/dist/platform/runtime/emitters/workflows.d.ts +1 -1
  389. package/dist/platform/runtime/emitters/workflows.d.ts.map +1 -1
  390. package/dist/platform/runtime/events/index.d.ts +13 -0
  391. package/dist/platform/runtime/events/index.d.ts.map +1 -1
  392. package/dist/platform/runtime/events/index.js +13 -0
  393. package/dist/platform/runtime/feature-flags/flags.d.ts.map +1 -1
  394. package/dist/platform/runtime/feature-flags/flags.js +56 -1
  395. package/dist/platform/runtime/fleet/adapters/agent.d.ts +56 -0
  396. package/dist/platform/runtime/fleet/adapters/agent.d.ts.map +1 -0
  397. package/dist/platform/runtime/fleet/adapters/agent.js +143 -0
  398. package/dist/platform/runtime/fleet/adapters/automation.d.ts +30 -0
  399. package/dist/platform/runtime/fleet/adapters/automation.d.ts.map +1 -0
  400. package/dist/platform/runtime/fleet/adapters/automation.js +41 -0
  401. package/dist/platform/runtime/fleet/adapters/background-process.d.ts +12 -0
  402. package/dist/platform/runtime/fleet/adapters/background-process.d.ts.map +1 -0
  403. package/dist/platform/runtime/fleet/adapters/background-process.js +46 -0
  404. package/dist/platform/runtime/fleet/adapters/code-index.d.ts +21 -0
  405. package/dist/platform/runtime/fleet/adapters/code-index.d.ts.map +1 -0
  406. package/dist/platform/runtime/fleet/adapters/code-index.js +44 -0
  407. package/dist/platform/runtime/fleet/adapters/orchestration.d.ts +69 -0
  408. package/dist/platform/runtime/fleet/adapters/orchestration.d.ts.map +1 -0
  409. package/dist/platform/runtime/fleet/adapters/orchestration.js +329 -0
  410. package/dist/platform/runtime/fleet/adapters/schedule.d.ts +14 -0
  411. package/dist/platform/runtime/fleet/adapters/schedule.d.ts.map +1 -0
  412. package/dist/platform/runtime/fleet/adapters/schedule.js +28 -0
  413. package/dist/platform/runtime/fleet/adapters/trigger.d.ts +12 -0
  414. package/dist/platform/runtime/fleet/adapters/trigger.d.ts.map +1 -0
  415. package/dist/platform/runtime/fleet/adapters/trigger.js +22 -0
  416. package/dist/platform/runtime/fleet/adapters/watcher.d.ts +13 -0
  417. package/dist/platform/runtime/fleet/adapters/watcher.d.ts.map +1 -0
  418. package/dist/platform/runtime/fleet/adapters/watcher.js +47 -0
  419. package/dist/platform/runtime/fleet/adapters/workflow.d.ts +11 -0
  420. package/dist/platform/runtime/fleet/adapters/workflow.d.ts.map +1 -0
  421. package/dist/platform/runtime/fleet/adapters/workflow.js +34 -0
  422. package/dist/platform/runtime/fleet/adapters/wrfc.d.ts +35 -0
  423. package/dist/platform/runtime/fleet/adapters/wrfc.d.ts.map +1 -0
  424. package/dist/platform/runtime/fleet/adapters/wrfc.js +275 -0
  425. package/dist/platform/runtime/fleet/index.d.ts +10 -0
  426. package/dist/platform/runtime/fleet/index.d.ts.map +1 -0
  427. package/dist/platform/runtime/fleet/index.js +6 -0
  428. package/dist/platform/runtime/fleet/registry.d.ts +113 -0
  429. package/dist/platform/runtime/fleet/registry.d.ts.map +1 -0
  430. package/dist/platform/runtime/fleet/registry.js +664 -0
  431. package/dist/platform/runtime/fleet/types.d.ts +199 -0
  432. package/dist/platform/runtime/fleet/types.d.ts.map +1 -0
  433. package/dist/platform/runtime/fleet/types.js +2 -0
  434. package/dist/platform/runtime/operator-client.d.ts +20 -2
  435. package/dist/platform/runtime/operator-client.d.ts.map +1 -1
  436. package/dist/platform/runtime/operator-client.js +11 -1
  437. package/dist/platform/runtime/provider-accounts/registry.d.ts.map +1 -1
  438. package/dist/platform/runtime/provider-accounts/registry.js +11 -1
  439. package/dist/platform/runtime/runtime-knowledge-api.d.ts +1 -1
  440. package/dist/platform/runtime/runtime-knowledge-api.d.ts.map +1 -1
  441. package/dist/platform/runtime/runtime-knowledge-api.js +1 -0
  442. package/dist/platform/runtime/services.d.ts +48 -0
  443. package/dist/platform/runtime/services.d.ts.map +1 -1
  444. package/dist/platform/runtime/services.js +95 -2
  445. package/dist/platform/runtime/session-spine/client.d.ts +234 -0
  446. package/dist/platform/runtime/session-spine/client.d.ts.map +1 -0
  447. package/dist/platform/runtime/session-spine/client.js +449 -0
  448. package/dist/platform/runtime/session-spine/index.d.ts +12 -0
  449. package/dist/platform/runtime/session-spine/index.d.ts.map +1 -0
  450. package/dist/platform/runtime/session-spine/index.js +11 -0
  451. package/dist/platform/runtime/session-spine/union-cache.d.ts +225 -0
  452. package/dist/platform/runtime/session-spine/union-cache.d.ts.map +1 -0
  453. package/dist/platform/runtime/session-spine/union-cache.js +333 -0
  454. package/dist/platform/runtime/shell-command-ops.d.ts +3 -1
  455. package/dist/platform/runtime/shell-command-ops.d.ts.map +1 -1
  456. package/dist/platform/runtime/transports/daemon-http-client-validators.d.ts.map +1 -1
  457. package/dist/platform/runtime/transports/daemon-http-client-validators.js +22 -0
  458. package/dist/platform/runtime/transports/daemon-http-client.d.ts.map +1 -1
  459. package/dist/platform/runtime/transports/daemon-http-client.js +25 -2
  460. package/dist/platform/runtime/transports/http-types.d.ts +9 -2
  461. package/dist/platform/runtime/transports/http-types.d.ts.map +1 -1
  462. package/dist/platform/state/canonical-memory.d.ts +95 -0
  463. package/dist/platform/state/canonical-memory.d.ts.map +1 -0
  464. package/dist/platform/state/canonical-memory.js +155 -0
  465. package/dist/platform/state/code-index-chunking.d.ts +49 -0
  466. package/dist/platform/state/code-index-chunking.d.ts.map +1 -0
  467. package/dist/platform/state/code-index-chunking.js +111 -0
  468. package/dist/platform/state/code-index-db.d.ts +53 -0
  469. package/dist/platform/state/code-index-db.d.ts.map +1 -0
  470. package/dist/platform/state/code-index-db.js +101 -0
  471. package/dist/platform/state/code-index-reindex.d.ts +73 -0
  472. package/dist/platform/state/code-index-reindex.d.ts.map +1 -0
  473. package/dist/platform/state/code-index-reindex.js +156 -0
  474. package/dist/platform/state/code-index-store.d.ts +175 -0
  475. package/dist/platform/state/code-index-store.d.ts.map +1 -0
  476. package/dist/platform/state/code-index-store.js +620 -0
  477. package/dist/platform/state/index.d.ts +12 -2
  478. package/dist/platform/state/index.d.ts.map +1 -1
  479. package/dist/platform/state/index.js +6 -1
  480. package/dist/platform/state/knowledge-injection.d.ts +23 -0
  481. package/dist/platform/state/knowledge-injection.d.ts.map +1 -1
  482. package/dist/platform/state/knowledge-injection.js +34 -19
  483. package/dist/platform/state/memory-recall-contract.d.ts +63 -0
  484. package/dist/platform/state/memory-recall-contract.d.ts.map +1 -0
  485. package/dist/platform/state/memory-recall-contract.js +94 -0
  486. package/dist/platform/state/memory-store.d.ts +2 -0
  487. package/dist/platform/state/memory-store.d.ts.map +1 -1
  488. package/dist/platform/state/memory-store.js +4 -0
  489. package/dist/platform/state/memory-vector-store.d.ts +1 -13
  490. package/dist/platform/state/memory-vector-store.d.ts.map +1 -1
  491. package/dist/platform/state/memory-vector-store.js +18 -39
  492. package/dist/platform/state/sqlite-store.d.ts +2 -0
  493. package/dist/platform/state/sqlite-store.d.ts.map +1 -1
  494. package/dist/platform/state/sqlite-store.js +4 -0
  495. package/dist/platform/state/sqlite-vec-loader.d.ts +25 -0
  496. package/dist/platform/state/sqlite-vec-loader.d.ts.map +1 -0
  497. package/dist/platform/state/sqlite-vec-loader.js +43 -0
  498. package/dist/platform/state/vibe-projection.d.ts +67 -0
  499. package/dist/platform/state/vibe-projection.d.ts.map +1 -0
  500. package/dist/platform/state/vibe-projection.js +115 -0
  501. package/dist/platform/tools/agent/index.d.ts.map +1 -1
  502. package/dist/platform/tools/agent/index.js +8 -0
  503. package/dist/platform/tools/agent/manager.d.ts +140 -1
  504. package/dist/platform/tools/agent/manager.d.ts.map +1 -1
  505. package/dist/platform/tools/agent/manager.js +143 -1
  506. package/dist/platform/tools/agent/schema.d.ts +26 -0
  507. package/dist/platform/tools/agent/schema.d.ts.map +1 -1
  508. package/dist/platform/tools/agent/schema.js +2 -2
  509. package/dist/platform/tools/agent/wrfc-batch-policy.d.ts +13 -0
  510. package/dist/platform/tools/agent/wrfc-batch-policy.d.ts.map +1 -1
  511. package/dist/platform/tools/agent/wrfc-batch-policy.js +60 -0
  512. package/dist/platform/tools/exec/runtime.d.ts +10 -0
  513. package/dist/platform/tools/exec/runtime.d.ts.map +1 -1
  514. package/dist/platform/tools/exec/runtime.js +161 -49
  515. package/dist/platform/tools/exec/schema.d.ts +3 -1
  516. package/dist/platform/tools/exec/schema.d.ts.map +1 -1
  517. package/dist/platform/tools/exec/schema.js +2 -1
  518. package/dist/platform/tools/fetch/runtime.d.ts +7 -0
  519. package/dist/platform/tools/fetch/runtime.d.ts.map +1 -1
  520. package/dist/platform/tools/fetch/runtime.js +8 -6
  521. package/dist/platform/tools/index.d.ts +2 -0
  522. package/dist/platform/tools/index.d.ts.map +1 -1
  523. package/dist/platform/tools/index.js +2 -0
  524. package/dist/platform/tools/registry.d.ts +9 -3
  525. package/dist/platform/tools/registry.d.ts.map +1 -1
  526. package/dist/platform/tools/registry.js +9 -3
  527. package/dist/platform/tools/state/index.d.ts +9 -0
  528. package/dist/platform/tools/state/index.d.ts.map +1 -1
  529. package/dist/platform/tools/state/index.js +60 -3
  530. package/dist/platform/types/foundation-contract.d.ts +1 -1
  531. package/dist/platform/types/foundation-contract.d.ts.map +1 -1
  532. package/dist/platform/types/index.d.ts +1 -1
  533. package/dist/platform/types/index.d.ts.map +1 -1
  534. package/dist/platform/types/tools.d.ts +14 -1
  535. package/dist/platform/types/tools.d.ts.map +1 -1
  536. package/dist/platform/version.js +1 -1
  537. package/package.json +29 -9
  538. package/dist/platform/control-plane/routes/automation.d.ts +0 -3
  539. package/dist/platform/control-plane/routes/automation.d.ts.map +0 -1
  540. package/dist/platform/control-plane/routes/automation.js +0 -63
  541. package/dist/platform/control-plane/routes/context.d.ts +0 -2
  542. package/dist/platform/control-plane/routes/context.d.ts.map +0 -1
  543. package/dist/platform/control-plane/routes/context.js +0 -1
  544. package/dist/platform/control-plane/routes/operator.d.ts +0 -8
  545. package/dist/platform/control-plane/routes/operator.d.ts.map +0 -1
  546. package/dist/platform/control-plane/routes/operator.js +0 -415
  547. package/dist/platform/control-plane/routes/remote.d.ts +0 -3
  548. package/dist/platform/control-plane/routes/remote.d.ts.map +0 -1
  549. package/dist/platform/control-plane/routes/remote.js +0 -35
  550. package/dist/platform/control-plane/routes/sessions.d.ts +0 -3
  551. package/dist/platform/control-plane/routes/sessions.d.ts.map +0 -1
  552. package/dist/platform/control-plane/routes/sessions.js +0 -43
  553. package/dist/platform/control-plane/routes/tasks.d.ts +0 -3
  554. package/dist/platform/control-plane/routes/tasks.d.ts.map +0 -1
  555. package/dist/platform/control-plane/routes/tasks.js +0 -22
@@ -3,7 +3,7 @@
3
3
  "product": {
4
4
  "id": "goodvibes",
5
5
  "surface": "operator",
6
- "version": "0.37.2"
6
+ "version": "1.0.0"
7
7
  },
8
8
  "auth": {
9
9
  "modes": [
@@ -499,7 +499,7 @@
499
499
  {
500
500
  "id": "approvals.approve",
501
501
  "title": "Approve Approval",
502
- "description": "Approve a pending approval.",
502
+ "description": "Approve a pending approval. Optionally pass selectedHunks (edit-tool approvals only): the daemon filters the approval's own edit list to those hunk indices server-side, so every surface produces identical modified-edit args. Omitting selectedHunks approves the whole request (back-compat). An out-of-range index or a non-edit approval is rejected with a 400.",
503
503
  "category": "approvals",
504
504
  "source": "builtin",
505
505
  "access": "authenticated",
@@ -525,6 +525,12 @@
525
525
  },
526
526
  "remember": {
527
527
  "type": "boolean"
528
+ },
529
+ "selectedHunks": {
530
+ "type": "array",
531
+ "items": {
532
+ "type": "number"
533
+ }
528
534
  }
529
535
  },
530
536
  "required": [
@@ -721,6 +727,33 @@
721
727
  },
722
728
  "remember": {
723
729
  "type": "boolean"
730
+ },
731
+ "modifiedArgs": {
732
+ "type": "object",
733
+ "additionalProperties": {
734
+ "anyOf": [
735
+ {
736
+ "type": "string"
737
+ },
738
+ {
739
+ "type": "number"
740
+ },
741
+ {
742
+ "type": "boolean"
743
+ },
744
+ {
745
+ "type": "null"
746
+ },
747
+ {
748
+ "type": "object",
749
+ "additionalProperties": {}
750
+ },
751
+ {
752
+ "type": "array",
753
+ "items": {}
754
+ }
755
+ ]
756
+ }
724
757
  }
725
758
  },
726
759
  "required": [
@@ -1043,172 +1076,351 @@
1043
1076
  },
1044
1077
  "remember": {
1045
1078
  "type": "boolean"
1046
- }
1047
- },
1048
- "required": [
1049
- "approved"
1050
- ],
1051
- "additionalProperties": false
1052
- },
1053
- "metadata": {
1054
- "type": "object",
1055
- "additionalProperties": {
1056
- "anyOf": [
1057
- {
1058
- "type": "string"
1059
- },
1060
- {
1061
- "type": "number"
1062
- },
1063
- {
1064
- "type": "boolean"
1065
- },
1066
- {
1067
- "type": "null"
1068
- },
1069
- {
1070
- "type": "object",
1071
- "additionalProperties": {}
1072
- },
1073
- {
1074
- "type": "array",
1075
- "items": {}
1076
- }
1077
- ]
1078
- }
1079
- },
1080
- "audit": {
1081
- "type": "array",
1082
- "items": {
1083
- "type": "object",
1084
- "properties": {
1085
- "id": {
1086
- "type": "string"
1087
- },
1088
- "action": {
1089
- "type": "string",
1090
- "enum": [
1091
- "created",
1092
- "claimed",
1093
- "approved",
1094
- "denied",
1095
- "cancelled",
1096
- "expired",
1097
- "updated"
1098
- ]
1099
- },
1100
- "actor": {
1101
- "type": "string"
1102
- },
1103
- "actorSurface": {
1104
- "type": "string"
1105
- },
1106
- "createdAt": {
1107
- "type": "number"
1108
- },
1109
- "note": {
1110
- "type": "string"
1111
- }
1112
1079
  },
1113
- "required": [
1114
- "id",
1115
- "action",
1116
- "actor",
1117
- "createdAt"
1118
- ],
1119
- "additionalProperties": false
1120
- }
1121
- }
1122
- },
1123
- "required": [
1124
- "id",
1125
- "callId",
1126
- "status",
1127
- "request",
1128
- "createdAt",
1129
- "updatedAt",
1130
- "metadata",
1131
- "audit"
1132
- ],
1133
- "additionalProperties": false
1134
- }
1135
- },
1136
- "required": [
1137
- "approval"
1138
- ],
1139
- "additionalProperties": false
1140
- },
1141
- "invokable": true
1142
- },
1143
- {
1144
- "id": "approvals.claim",
1145
- "title": "Claim Approval",
1146
- "description": "Claim a pending approval for operator handling.",
1147
- "category": "approvals",
1148
- "source": "builtin",
1149
- "access": "authenticated",
1150
- "transport": [
1151
- "http",
1152
- "ws"
1153
- ],
1154
- "scopes": [
1155
- "write:approvals"
1156
- ],
1157
- "http": {
1158
- "method": "POST",
1159
- "path": "/api/approvals/{approvalId}/claim"
1160
- },
1161
- "inputSchema": {
1162
- "type": "object",
1163
- "properties": {
1164
- "approvalId": {
1165
- "type": "string"
1166
- }
1167
- },
1168
- "required": [
1169
- "approvalId"
1170
- ],
1171
- "additionalProperties": false
1172
- },
1173
- "outputSchema": {
1174
- "type": "object",
1175
- "properties": {
1176
- "approval": {
1177
- "type": "object",
1178
- "properties": {
1179
- "id": {
1180
- "type": "string"
1181
- },
1182
- "callId": {
1183
- "type": "string"
1184
- },
1185
- "sessionId": {
1186
- "type": "string"
1187
- },
1188
- "routeId": {
1189
- "type": "string"
1190
- },
1191
- "status": {
1192
- "type": "string",
1193
- "enum": [
1194
- "pending",
1195
- "claimed",
1196
- "approved",
1197
- "denied",
1198
- "cancelled",
1199
- "expired"
1200
- ]
1201
- },
1202
- "request": {
1203
- "type": "object",
1204
- "properties": {
1205
- "callId": {
1206
- "type": "string"
1207
- },
1208
- "tool": {
1209
- "type": "string"
1210
- },
1211
- "args": {
1080
+ "modifiedArgs": {
1081
+ "type": "object",
1082
+ "additionalProperties": {
1083
+ "anyOf": [
1084
+ {
1085
+ "type": "string"
1086
+ },
1087
+ {
1088
+ "type": "number"
1089
+ },
1090
+ {
1091
+ "type": "boolean"
1092
+ },
1093
+ {
1094
+ "type": "null"
1095
+ },
1096
+ {
1097
+ "type": "object",
1098
+ "additionalProperties": {}
1099
+ },
1100
+ {
1101
+ "type": "array",
1102
+ "items": {}
1103
+ }
1104
+ ]
1105
+ }
1106
+ }
1107
+ },
1108
+ "required": [
1109
+ "approved"
1110
+ ],
1111
+ "additionalProperties": false
1112
+ },
1113
+ "metadata": {
1114
+ "type": "object",
1115
+ "additionalProperties": {
1116
+ "anyOf": [
1117
+ {
1118
+ "type": "string"
1119
+ },
1120
+ {
1121
+ "type": "number"
1122
+ },
1123
+ {
1124
+ "type": "boolean"
1125
+ },
1126
+ {
1127
+ "type": "null"
1128
+ },
1129
+ {
1130
+ "type": "object",
1131
+ "additionalProperties": {}
1132
+ },
1133
+ {
1134
+ "type": "array",
1135
+ "items": {}
1136
+ }
1137
+ ]
1138
+ }
1139
+ },
1140
+ "audit": {
1141
+ "type": "array",
1142
+ "items": {
1143
+ "type": "object",
1144
+ "properties": {
1145
+ "id": {
1146
+ "type": "string"
1147
+ },
1148
+ "action": {
1149
+ "type": "string",
1150
+ "enum": [
1151
+ "created",
1152
+ "claimed",
1153
+ "approved",
1154
+ "denied",
1155
+ "cancelled",
1156
+ "expired",
1157
+ "updated"
1158
+ ]
1159
+ },
1160
+ "actor": {
1161
+ "type": "string"
1162
+ },
1163
+ "actorSurface": {
1164
+ "type": "string"
1165
+ },
1166
+ "createdAt": {
1167
+ "type": "number"
1168
+ },
1169
+ "note": {
1170
+ "type": "string"
1171
+ }
1172
+ },
1173
+ "required": [
1174
+ "id",
1175
+ "action",
1176
+ "actor",
1177
+ "createdAt"
1178
+ ],
1179
+ "additionalProperties": false
1180
+ }
1181
+ }
1182
+ },
1183
+ "required": [
1184
+ "id",
1185
+ "callId",
1186
+ "status",
1187
+ "request",
1188
+ "createdAt",
1189
+ "updatedAt",
1190
+ "metadata",
1191
+ "audit"
1192
+ ],
1193
+ "additionalProperties": false
1194
+ }
1195
+ },
1196
+ "required": [
1197
+ "approval"
1198
+ ],
1199
+ "additionalProperties": false
1200
+ },
1201
+ "invokable": true
1202
+ },
1203
+ {
1204
+ "id": "approvals.claim",
1205
+ "title": "Claim Approval",
1206
+ "description": "Claim a pending approval for operator handling.",
1207
+ "category": "approvals",
1208
+ "source": "builtin",
1209
+ "access": "authenticated",
1210
+ "transport": [
1211
+ "http",
1212
+ "ws"
1213
+ ],
1214
+ "scopes": [
1215
+ "write:approvals"
1216
+ ],
1217
+ "http": {
1218
+ "method": "POST",
1219
+ "path": "/api/approvals/{approvalId}/claim"
1220
+ },
1221
+ "inputSchema": {
1222
+ "type": "object",
1223
+ "properties": {
1224
+ "approvalId": {
1225
+ "type": "string"
1226
+ }
1227
+ },
1228
+ "required": [
1229
+ "approvalId"
1230
+ ],
1231
+ "additionalProperties": false
1232
+ },
1233
+ "outputSchema": {
1234
+ "type": "object",
1235
+ "properties": {
1236
+ "approval": {
1237
+ "type": "object",
1238
+ "properties": {
1239
+ "id": {
1240
+ "type": "string"
1241
+ },
1242
+ "callId": {
1243
+ "type": "string"
1244
+ },
1245
+ "sessionId": {
1246
+ "type": "string"
1247
+ },
1248
+ "routeId": {
1249
+ "type": "string"
1250
+ },
1251
+ "status": {
1252
+ "type": "string",
1253
+ "enum": [
1254
+ "pending",
1255
+ "claimed",
1256
+ "approved",
1257
+ "denied",
1258
+ "cancelled",
1259
+ "expired"
1260
+ ]
1261
+ },
1262
+ "request": {
1263
+ "type": "object",
1264
+ "properties": {
1265
+ "callId": {
1266
+ "type": "string"
1267
+ },
1268
+ "tool": {
1269
+ "type": "string"
1270
+ },
1271
+ "args": {
1272
+ "type": "object",
1273
+ "additionalProperties": {
1274
+ "anyOf": [
1275
+ {
1276
+ "type": "string"
1277
+ },
1278
+ {
1279
+ "type": "number"
1280
+ },
1281
+ {
1282
+ "type": "boolean"
1283
+ },
1284
+ {
1285
+ "type": "null"
1286
+ },
1287
+ {
1288
+ "type": "object",
1289
+ "additionalProperties": {}
1290
+ },
1291
+ {
1292
+ "type": "array",
1293
+ "items": {}
1294
+ }
1295
+ ]
1296
+ }
1297
+ },
1298
+ "category": {
1299
+ "type": "string",
1300
+ "enum": [
1301
+ "read",
1302
+ "write",
1303
+ "execute",
1304
+ "delegate"
1305
+ ]
1306
+ },
1307
+ "analysis": {
1308
+ "type": "object",
1309
+ "properties": {
1310
+ "classification": {
1311
+ "type": "string"
1312
+ },
1313
+ "riskLevel": {
1314
+ "type": "string",
1315
+ "enum": [
1316
+ "low",
1317
+ "medium",
1318
+ "high",
1319
+ "critical"
1320
+ ]
1321
+ },
1322
+ "summary": {
1323
+ "type": "string"
1324
+ },
1325
+ "reasons": {
1326
+ "type": "array",
1327
+ "items": {
1328
+ "type": "string"
1329
+ }
1330
+ },
1331
+ "target": {
1332
+ "type": "string"
1333
+ },
1334
+ "targetKind": {
1335
+ "type": "string",
1336
+ "enum": [
1337
+ "command",
1338
+ "path",
1339
+ "url",
1340
+ "task",
1341
+ "generic"
1342
+ ]
1343
+ },
1344
+ "surface": {
1345
+ "type": "string",
1346
+ "enum": [
1347
+ "filesystem",
1348
+ "shell",
1349
+ "network",
1350
+ "orchestration",
1351
+ "platform",
1352
+ "generic"
1353
+ ]
1354
+ },
1355
+ "blastRadius": {
1356
+ "type": "string",
1357
+ "enum": [
1358
+ "local",
1359
+ "project",
1360
+ "external",
1361
+ "delegated",
1362
+ "platform"
1363
+ ]
1364
+ },
1365
+ "sideEffects": {
1366
+ "type": "array",
1367
+ "items": {
1368
+ "type": "string"
1369
+ }
1370
+ },
1371
+ "host": {
1372
+ "type": "string"
1373
+ }
1374
+ },
1375
+ "required": [
1376
+ "classification",
1377
+ "riskLevel",
1378
+ "summary",
1379
+ "reasons"
1380
+ ],
1381
+ "additionalProperties": false
1382
+ },
1383
+ "workingDirectory": {
1384
+ "type": "string"
1385
+ }
1386
+ },
1387
+ "required": [
1388
+ "callId",
1389
+ "tool",
1390
+ "args",
1391
+ "category",
1392
+ "analysis"
1393
+ ],
1394
+ "additionalProperties": false
1395
+ },
1396
+ "createdAt": {
1397
+ "type": "number"
1398
+ },
1399
+ "updatedAt": {
1400
+ "type": "number"
1401
+ },
1402
+ "claimedBy": {
1403
+ "type": "string"
1404
+ },
1405
+ "claimedAt": {
1406
+ "type": "number"
1407
+ },
1408
+ "resolvedAt": {
1409
+ "type": "number"
1410
+ },
1411
+ "resolvedBy": {
1412
+ "type": "string"
1413
+ },
1414
+ "decision": {
1415
+ "type": "object",
1416
+ "properties": {
1417
+ "approved": {
1418
+ "type": "boolean"
1419
+ },
1420
+ "remember": {
1421
+ "type": "boolean"
1422
+ },
1423
+ "modifiedArgs": {
1212
1424
  "type": "object",
1213
1425
  "additionalProperties": {
1214
1426
  "anyOf": [
@@ -1234,131 +1446,6 @@
1234
1446
  }
1235
1447
  ]
1236
1448
  }
1237
- },
1238
- "category": {
1239
- "type": "string",
1240
- "enum": [
1241
- "read",
1242
- "write",
1243
- "execute",
1244
- "delegate"
1245
- ]
1246
- },
1247
- "analysis": {
1248
- "type": "object",
1249
- "properties": {
1250
- "classification": {
1251
- "type": "string"
1252
- },
1253
- "riskLevel": {
1254
- "type": "string",
1255
- "enum": [
1256
- "low",
1257
- "medium",
1258
- "high",
1259
- "critical"
1260
- ]
1261
- },
1262
- "summary": {
1263
- "type": "string"
1264
- },
1265
- "reasons": {
1266
- "type": "array",
1267
- "items": {
1268
- "type": "string"
1269
- }
1270
- },
1271
- "target": {
1272
- "type": "string"
1273
- },
1274
- "targetKind": {
1275
- "type": "string",
1276
- "enum": [
1277
- "command",
1278
- "path",
1279
- "url",
1280
- "task",
1281
- "generic"
1282
- ]
1283
- },
1284
- "surface": {
1285
- "type": "string",
1286
- "enum": [
1287
- "filesystem",
1288
- "shell",
1289
- "network",
1290
- "orchestration",
1291
- "platform",
1292
- "generic"
1293
- ]
1294
- },
1295
- "blastRadius": {
1296
- "type": "string",
1297
- "enum": [
1298
- "local",
1299
- "project",
1300
- "external",
1301
- "delegated",
1302
- "platform"
1303
- ]
1304
- },
1305
- "sideEffects": {
1306
- "type": "array",
1307
- "items": {
1308
- "type": "string"
1309
- }
1310
- },
1311
- "host": {
1312
- "type": "string"
1313
- }
1314
- },
1315
- "required": [
1316
- "classification",
1317
- "riskLevel",
1318
- "summary",
1319
- "reasons"
1320
- ],
1321
- "additionalProperties": false
1322
- },
1323
- "workingDirectory": {
1324
- "type": "string"
1325
- }
1326
- },
1327
- "required": [
1328
- "callId",
1329
- "tool",
1330
- "args",
1331
- "category",
1332
- "analysis"
1333
- ],
1334
- "additionalProperties": false
1335
- },
1336
- "createdAt": {
1337
- "type": "number"
1338
- },
1339
- "updatedAt": {
1340
- "type": "number"
1341
- },
1342
- "claimedBy": {
1343
- "type": "string"
1344
- },
1345
- "claimedAt": {
1346
- "type": "number"
1347
- },
1348
- "resolvedAt": {
1349
- "type": "number"
1350
- },
1351
- "resolvedBy": {
1352
- "type": "string"
1353
- },
1354
- "decision": {
1355
- "type": "object",
1356
- "properties": {
1357
- "approved": {
1358
- "type": "boolean"
1359
- },
1360
- "remember": {
1361
- "type": "boolean"
1362
1449
  }
1363
1450
  },
1364
1451
  "required": [
@@ -1681,6 +1768,33 @@
1681
1768
  },
1682
1769
  "remember": {
1683
1770
  "type": "boolean"
1771
+ },
1772
+ "modifiedArgs": {
1773
+ "type": "object",
1774
+ "additionalProperties": {
1775
+ "anyOf": [
1776
+ {
1777
+ "type": "string"
1778
+ },
1779
+ {
1780
+ "type": "number"
1781
+ },
1782
+ {
1783
+ "type": "boolean"
1784
+ },
1785
+ {
1786
+ "type": "null"
1787
+ },
1788
+ {
1789
+ "type": "object",
1790
+ "additionalProperties": {}
1791
+ },
1792
+ {
1793
+ "type": "array",
1794
+ "items": {}
1795
+ }
1796
+ ]
1797
+ }
1684
1798
  }
1685
1799
  },
1686
1800
  "required": [
@@ -2119,6 +2233,33 @@
2119
2233
  },
2120
2234
  "remember": {
2121
2235
  "type": "boolean"
2236
+ },
2237
+ "modifiedArgs": {
2238
+ "type": "object",
2239
+ "additionalProperties": {
2240
+ "anyOf": [
2241
+ {
2242
+ "type": "string"
2243
+ },
2244
+ {
2245
+ "type": "number"
2246
+ },
2247
+ {
2248
+ "type": "boolean"
2249
+ },
2250
+ {
2251
+ "type": "null"
2252
+ },
2253
+ {
2254
+ "type": "object",
2255
+ "additionalProperties": {}
2256
+ },
2257
+ {
2258
+ "type": "array",
2259
+ "items": {}
2260
+ }
2261
+ ]
2262
+ }
2122
2263
  }
2123
2264
  },
2124
2265
  "required": [
@@ -6598,9 +6739,67 @@
6598
6739
  "invokable": true
6599
6740
  },
6600
6741
  {
6601
- "id": "automation.jobs.patch",
6602
- "title": "Patch Automation Job",
6603
- "description": "Patch a durable automation job.",
6742
+ "id": "automation.jobs.run",
6743
+ "title": "Run Automation Job Now",
6744
+ "description": "Trigger an automation job immediately.",
6745
+ "category": "automation",
6746
+ "source": "builtin",
6747
+ "access": "authenticated",
6748
+ "transport": [
6749
+ "http",
6750
+ "ws"
6751
+ ],
6752
+ "scopes": [
6753
+ "write:automation"
6754
+ ],
6755
+ "http": {
6756
+ "method": "POST",
6757
+ "path": "/api/automation/jobs/{jobId}/run"
6758
+ },
6759
+ "events": [
6760
+ "runtime.automation"
6761
+ ],
6762
+ "inputSchema": {
6763
+ "type": "object",
6764
+ "properties": {
6765
+ "jobId": {
6766
+ "type": "string"
6767
+ }
6768
+ },
6769
+ "required": [
6770
+ "jobId"
6771
+ ],
6772
+ "additionalProperties": false
6773
+ },
6774
+ "outputSchema": {
6775
+ "type": "object",
6776
+ "properties": {
6777
+ "jobId": {
6778
+ "type": "string"
6779
+ },
6780
+ "runId": {
6781
+ "type": "string"
6782
+ },
6783
+ "agentId": {
6784
+ "type": "string"
6785
+ },
6786
+ "status": {
6787
+ "type": "string"
6788
+ }
6789
+ },
6790
+ "required": [
6791
+ "jobId",
6792
+ "runId",
6793
+ "status"
6794
+ ],
6795
+ "additionalProperties": true
6796
+ },
6797
+ "invokable": true
6798
+ },
6799
+ {
6800
+ "id": "automation.jobs.update",
6801
+ "title": "Update Automation Job",
6802
+ "description": "Update a durable automation job. (Renamed from automation.jobs.patch in the Wave-6 core-verb pass — canonical verb is update, not patch.)",
6604
6803
  "category": "automation",
6605
6804
  "source": "builtin",
6606
6805
  "access": "authenticated",
@@ -7880,166 +8079,6 @@
7880
8079
  },
7881
8080
  "invokable": true
7882
8081
  },
7883
- {
7884
- "id": "automation.jobs.pause",
7885
- "title": "Pause Automation Job",
7886
- "description": "Pause a durable automation job.",
7887
- "category": "automation",
7888
- "source": "builtin",
7889
- "access": "authenticated",
7890
- "transport": [
7891
- "http",
7892
- "ws"
7893
- ],
7894
- "scopes": [
7895
- "write:automation"
7896
- ],
7897
- "http": {
7898
- "method": "POST",
7899
- "path": "/api/automation/jobs/{jobId}/pause"
7900
- },
7901
- "events": [
7902
- "runtime.automation"
7903
- ],
7904
- "inputSchema": {
7905
- "type": "object",
7906
- "properties": {
7907
- "jobId": {
7908
- "type": "string"
7909
- }
7910
- },
7911
- "required": [
7912
- "jobId"
7913
- ],
7914
- "additionalProperties": false
7915
- },
7916
- "outputSchema": {
7917
- "type": "object",
7918
- "properties": {
7919
- "id": {
7920
- "type": "string"
7921
- },
7922
- "enabled": {
7923
- "type": "boolean"
7924
- }
7925
- },
7926
- "required": [
7927
- "id",
7928
- "enabled"
7929
- ],
7930
- "additionalProperties": true
7931
- },
7932
- "invokable": true
7933
- },
7934
- {
7935
- "id": "automation.jobs.resume",
7936
- "title": "Resume Automation Job",
7937
- "description": "Resume a durable automation job.",
7938
- "category": "automation",
7939
- "source": "builtin",
7940
- "access": "authenticated",
7941
- "transport": [
7942
- "http",
7943
- "ws"
7944
- ],
7945
- "scopes": [
7946
- "write:automation"
7947
- ],
7948
- "http": {
7949
- "method": "POST",
7950
- "path": "/api/automation/jobs/{jobId}/resume"
7951
- },
7952
- "events": [
7953
- "runtime.automation"
7954
- ],
7955
- "inputSchema": {
7956
- "type": "object",
7957
- "properties": {
7958
- "jobId": {
7959
- "type": "string"
7960
- }
7961
- },
7962
- "required": [
7963
- "jobId"
7964
- ],
7965
- "additionalProperties": false
7966
- },
7967
- "outputSchema": {
7968
- "type": "object",
7969
- "properties": {
7970
- "id": {
7971
- "type": "string"
7972
- },
7973
- "enabled": {
7974
- "type": "boolean"
7975
- }
7976
- },
7977
- "required": [
7978
- "id",
7979
- "enabled"
7980
- ],
7981
- "additionalProperties": true
7982
- },
7983
- "invokable": true
7984
- },
7985
- {
7986
- "id": "automation.jobs.run",
7987
- "title": "Run Automation Job Now",
7988
- "description": "Trigger an automation job immediately.",
7989
- "category": "automation",
7990
- "source": "builtin",
7991
- "access": "authenticated",
7992
- "transport": [
7993
- "http",
7994
- "ws"
7995
- ],
7996
- "scopes": [
7997
- "write:automation"
7998
- ],
7999
- "http": {
8000
- "method": "POST",
8001
- "path": "/api/automation/jobs/{jobId}/run"
8002
- },
8003
- "events": [
8004
- "runtime.automation"
8005
- ],
8006
- "inputSchema": {
8007
- "type": "object",
8008
- "properties": {
8009
- "jobId": {
8010
- "type": "string"
8011
- }
8012
- },
8013
- "required": [
8014
- "jobId"
8015
- ],
8016
- "additionalProperties": false
8017
- },
8018
- "outputSchema": {
8019
- "type": "object",
8020
- "properties": {
8021
- "jobId": {
8022
- "type": "string"
8023
- },
8024
- "runId": {
8025
- "type": "string"
8026
- },
8027
- "agentId": {
8028
- "type": "string"
8029
- },
8030
- "status": {
8031
- "type": "string"
8032
- }
8033
- },
8034
- "required": [
8035
- "jobId",
8036
- "runId",
8037
- "status"
8038
- ],
8039
- "additionalProperties": true
8040
- },
8041
- "invokable": true
8042
- },
8043
8082
  {
8044
8083
  "id": "automation.runs.cancel",
8045
8084
  "title": "Cancel Automation Run",
@@ -12103,7 +12142,7 @@
12103
12142
  "invokable": true
12104
12143
  },
12105
12144
  {
12106
- "id": "schedules.create",
12145
+ "id": "automation.schedules.create",
12107
12146
  "title": "Create Schedule",
12108
12147
  "description": "Create a schedule record.",
12109
12148
  "category": "automation",
@@ -13266,7 +13305,7 @@
13266
13305
  "invokable": true
13267
13306
  },
13268
13307
  {
13269
- "id": "schedules.delete",
13308
+ "id": "automation.schedules.delete",
13270
13309
  "title": "Delete Schedule",
13271
13310
  "description": "Delete a schedule record.",
13272
13311
  "category": "automation",
@@ -13314,7 +13353,7 @@
13314
13353
  "invokable": true
13315
13354
  },
13316
13355
  {
13317
- "id": "schedules.disable",
13356
+ "id": "automation.schedules.disable",
13318
13357
  "title": "Disable Schedule",
13319
13358
  "description": "Disable a schedule record.",
13320
13359
  "category": "automation",
@@ -13362,7 +13401,7 @@
13362
13401
  "invokable": true
13363
13402
  },
13364
13403
  {
13365
- "id": "schedules.enable",
13404
+ "id": "automation.schedules.enable",
13366
13405
  "title": "Enable Schedule",
13367
13406
  "description": "Enable a schedule record.",
13368
13407
  "category": "automation",
@@ -13410,7 +13449,7 @@
13410
13449
  "invokable": true
13411
13450
  },
13412
13451
  {
13413
- "id": "schedules.list",
13452
+ "id": "automation.schedules.list",
13414
13453
  "title": "List Schedules",
13415
13454
  "description": "Return schedule records.",
13416
13455
  "category": "automation",
@@ -15183,7 +15222,7 @@
15183
15222
  "invokable": true
15184
15223
  },
15185
15224
  {
15186
- "id": "schedules.run",
15225
+ "id": "automation.schedules.run",
15187
15226
  "title": "Run Schedule Now",
15188
15227
  "description": "Trigger a schedule immediately.",
15189
15228
  "category": "automation",
@@ -15314,7 +15353,7 @@
15314
15353
  ],
15315
15354
  "additionalProperties": false
15316
15355
  },
15317
- "invokable": true
15356
+ "invokable": false
15318
15357
  },
15319
15358
  {
15320
15359
  "id": "calendar.events.get",
@@ -15391,7 +15430,7 @@
15391
15430
  ],
15392
15431
  "additionalProperties": false
15393
15432
  },
15394
- "invokable": true
15433
+ "invokable": false
15395
15434
  },
15396
15435
  {
15397
15436
  "id": "calendar.events.list",
@@ -15477,7 +15516,7 @@
15477
15516
  ],
15478
15517
  "additionalProperties": false
15479
15518
  },
15480
- "invokable": true
15519
+ "invokable": false
15481
15520
  },
15482
15521
  {
15483
15522
  "id": "calendar.ics.export",
@@ -15528,7 +15567,7 @@
15528
15567
  ],
15529
15568
  "additionalProperties": false
15530
15569
  },
15531
- "invokable": true
15570
+ "invokable": false
15532
15571
  },
15533
15572
  {
15534
15573
  "id": "calendar.ics.import",
@@ -15593,7 +15632,7 @@
15593
15632
  ],
15594
15633
  "additionalProperties": false
15595
15634
  },
15596
- "invokable": true
15635
+ "invokable": false
15597
15636
  },
15598
15637
  {
15599
15638
  "id": "channels.accounts.action.default",
@@ -18736,7 +18775,7 @@
18736
18775
  "additionalProperties": false
18737
18776
  },
18738
18777
  "dangerous": true,
18739
- "invokable": true
18778
+ "invokable": false
18740
18779
  },
18741
18780
  {
18742
18781
  "id": "channels.drafts.get",
@@ -18822,7 +18861,7 @@
18822
18861
  },
18823
18862
  "additionalProperties": true
18824
18863
  },
18825
- "invokable": true
18864
+ "invokable": false
18826
18865
  },
18827
18866
  {
18828
18867
  "id": "channels.drafts.list",
@@ -18929,7 +18968,7 @@
18929
18968
  ],
18930
18969
  "additionalProperties": false
18931
18970
  },
18932
- "invokable": true
18971
+ "invokable": false
18933
18972
  },
18934
18973
  {
18935
18974
  "id": "channels.drafts.save",
@@ -19081,7 +19120,7 @@
19081
19120
  "additionalProperties": false
19082
19121
  },
19083
19122
  "dangerous": true,
19084
- "invokable": true
19123
+ "invokable": false
19085
19124
  },
19086
19125
  {
19087
19126
  "id": "channels.inbox.list",
@@ -19190,7 +19229,7 @@
19190
19229
  ],
19191
19230
  "additionalProperties": false
19192
19231
  },
19193
- "invokable": true
19232
+ "invokable": false
19194
19233
  },
19195
19234
  {
19196
19235
  "id": "channels.lifecycle.get",
@@ -20215,7 +20254,7 @@
20215
20254
  "additionalProperties": false
20216
20255
  },
20217
20256
  "dangerous": true,
20218
- "invokable": true
20257
+ "invokable": false
20219
20258
  },
20220
20259
  {
20221
20260
  "id": "channels.routing.delete",
@@ -20264,7 +20303,7 @@
20264
20303
  "additionalProperties": false
20265
20304
  },
20266
20305
  "dangerous": true,
20267
- "invokable": true
20306
+ "invokable": false
20268
20307
  },
20269
20308
  {
20270
20309
  "id": "channels.routing.list",
@@ -20349,7 +20388,7 @@
20349
20388
  ],
20350
20389
  "additionalProperties": false
20351
20390
  },
20352
- "invokable": true
20391
+ "invokable": false
20353
20392
  },
20354
20393
  {
20355
20394
  "id": "channels.setup.get",
@@ -21276,6 +21315,407 @@
21276
21315
  },
21277
21316
  "invokable": true
21278
21317
  },
21318
+ {
21319
+ "id": "checkpoints.create",
21320
+ "title": "Create Workspace Checkpoint",
21321
+ "description": "Create a new workspace checkpoint. Returns checkpoint:null, noop:true (not an error) when the workspace tree is identical to the most recent checkpoint — no commit, ref, or manifest entry is created in that case.",
21322
+ "category": "checkpoints",
21323
+ "source": "builtin",
21324
+ "access": "authenticated",
21325
+ "transport": [
21326
+ "ws"
21327
+ ],
21328
+ "scopes": [
21329
+ "write:checkpoints"
21330
+ ],
21331
+ "inputSchema": {
21332
+ "type": "object",
21333
+ "properties": {
21334
+ "kind": {
21335
+ "type": "string",
21336
+ "enum": [
21337
+ "turn",
21338
+ "agent-run",
21339
+ "manual"
21340
+ ]
21341
+ },
21342
+ "label": {
21343
+ "type": "string"
21344
+ },
21345
+ "retentionClass": {
21346
+ "type": "string",
21347
+ "enum": [
21348
+ "short",
21349
+ "standard",
21350
+ "forensic"
21351
+ ]
21352
+ },
21353
+ "turnId": {
21354
+ "type": "string"
21355
+ },
21356
+ "agentId": {
21357
+ "type": "string"
21358
+ },
21359
+ "paths": {
21360
+ "type": "array",
21361
+ "items": {
21362
+ "type": "string"
21363
+ }
21364
+ }
21365
+ },
21366
+ "required": [
21367
+ "kind"
21368
+ ],
21369
+ "additionalProperties": false
21370
+ },
21371
+ "outputSchema": {
21372
+ "type": "object",
21373
+ "properties": {
21374
+ "checkpoint": {
21375
+ "anyOf": [
21376
+ {
21377
+ "type": "object",
21378
+ "properties": {
21379
+ "id": {
21380
+ "type": "string"
21381
+ },
21382
+ "kind": {
21383
+ "type": "string",
21384
+ "enum": [
21385
+ "turn",
21386
+ "agent-run",
21387
+ "manual"
21388
+ ]
21389
+ },
21390
+ "label": {
21391
+ "type": "string"
21392
+ },
21393
+ "createdAt": {
21394
+ "type": "number"
21395
+ },
21396
+ "parentId": {
21397
+ "anyOf": [
21398
+ {
21399
+ "type": "string"
21400
+ },
21401
+ {
21402
+ "type": "null"
21403
+ }
21404
+ ]
21405
+ },
21406
+ "turnId": {
21407
+ "type": "string"
21408
+ },
21409
+ "agentId": {
21410
+ "type": "string"
21411
+ },
21412
+ "retentionClass": {
21413
+ "type": "string",
21414
+ "enum": [
21415
+ "short",
21416
+ "standard",
21417
+ "forensic"
21418
+ ]
21419
+ },
21420
+ "commit": {
21421
+ "type": "string"
21422
+ },
21423
+ "sizeBytes": {
21424
+ "type": "number"
21425
+ }
21426
+ },
21427
+ "required": [
21428
+ "id",
21429
+ "kind",
21430
+ "label",
21431
+ "createdAt",
21432
+ "parentId",
21433
+ "retentionClass",
21434
+ "commit",
21435
+ "sizeBytes"
21436
+ ],
21437
+ "additionalProperties": false
21438
+ },
21439
+ {
21440
+ "type": "null"
21441
+ }
21442
+ ]
21443
+ },
21444
+ "noop": {
21445
+ "type": "boolean"
21446
+ }
21447
+ },
21448
+ "required": [
21449
+ "checkpoint",
21450
+ "noop"
21451
+ ],
21452
+ "additionalProperties": false
21453
+ },
21454
+ "invokable": true
21455
+ },
21456
+ {
21457
+ "id": "checkpoints.diff",
21458
+ "title": "Diff Workspace Checkpoints",
21459
+ "description": "Diff two checkpoints, or one checkpoint against the live working tree when `b` is omitted. An unknown/gc'd checkpoint id is an honest 404, not a silent empty diff.",
21460
+ "category": "checkpoints",
21461
+ "source": "builtin",
21462
+ "access": "authenticated",
21463
+ "transport": [
21464
+ "ws"
21465
+ ],
21466
+ "scopes": [
21467
+ "read:checkpoints"
21468
+ ],
21469
+ "inputSchema": {
21470
+ "type": "object",
21471
+ "properties": {
21472
+ "a": {
21473
+ "type": "string"
21474
+ },
21475
+ "b": {
21476
+ "type": "string"
21477
+ }
21478
+ },
21479
+ "required": [
21480
+ "a"
21481
+ ],
21482
+ "additionalProperties": false
21483
+ },
21484
+ "outputSchema": {
21485
+ "type": "object",
21486
+ "properties": {
21487
+ "diff": {
21488
+ "type": "object",
21489
+ "properties": {
21490
+ "from": {
21491
+ "type": "string"
21492
+ },
21493
+ "to": {
21494
+ "type": "string"
21495
+ },
21496
+ "files": {
21497
+ "type": "array",
21498
+ "items": {
21499
+ "type": "string"
21500
+ }
21501
+ },
21502
+ "unifiedDiff": {
21503
+ "type": "string"
21504
+ },
21505
+ "stat": {
21506
+ "type": "string"
21507
+ }
21508
+ },
21509
+ "required": [
21510
+ "from",
21511
+ "to",
21512
+ "files",
21513
+ "unifiedDiff",
21514
+ "stat"
21515
+ ],
21516
+ "additionalProperties": false
21517
+ }
21518
+ },
21519
+ "required": [
21520
+ "diff"
21521
+ ],
21522
+ "additionalProperties": false
21523
+ },
21524
+ "invokable": true
21525
+ },
21526
+ {
21527
+ "id": "checkpoints.list",
21528
+ "title": "List Workspace Checkpoints",
21529
+ "description": "Return workspace checkpoints (whole-workspace filesystem snapshots), newest first, optionally filtered by kind/since and capped by limit.",
21530
+ "category": "checkpoints",
21531
+ "source": "builtin",
21532
+ "access": "authenticated",
21533
+ "transport": [
21534
+ "ws"
21535
+ ],
21536
+ "scopes": [
21537
+ "read:checkpoints"
21538
+ ],
21539
+ "inputSchema": {
21540
+ "type": "object",
21541
+ "properties": {
21542
+ "kind": {
21543
+ "type": "string",
21544
+ "enum": [
21545
+ "turn",
21546
+ "agent-run",
21547
+ "manual"
21548
+ ]
21549
+ },
21550
+ "since": {
21551
+ "type": "number"
21552
+ },
21553
+ "limit": {
21554
+ "type": "number"
21555
+ }
21556
+ },
21557
+ "additionalProperties": false
21558
+ },
21559
+ "outputSchema": {
21560
+ "type": "object",
21561
+ "properties": {
21562
+ "checkpoints": {
21563
+ "type": "array",
21564
+ "items": {
21565
+ "type": "object",
21566
+ "properties": {
21567
+ "id": {
21568
+ "type": "string"
21569
+ },
21570
+ "kind": {
21571
+ "type": "string",
21572
+ "enum": [
21573
+ "turn",
21574
+ "agent-run",
21575
+ "manual"
21576
+ ]
21577
+ },
21578
+ "label": {
21579
+ "type": "string"
21580
+ },
21581
+ "createdAt": {
21582
+ "type": "number"
21583
+ },
21584
+ "parentId": {
21585
+ "anyOf": [
21586
+ {
21587
+ "type": "string"
21588
+ },
21589
+ {
21590
+ "type": "null"
21591
+ }
21592
+ ]
21593
+ },
21594
+ "turnId": {
21595
+ "type": "string"
21596
+ },
21597
+ "agentId": {
21598
+ "type": "string"
21599
+ },
21600
+ "retentionClass": {
21601
+ "type": "string",
21602
+ "enum": [
21603
+ "short",
21604
+ "standard",
21605
+ "forensic"
21606
+ ]
21607
+ },
21608
+ "commit": {
21609
+ "type": "string"
21610
+ },
21611
+ "sizeBytes": {
21612
+ "type": "number"
21613
+ }
21614
+ },
21615
+ "required": [
21616
+ "id",
21617
+ "kind",
21618
+ "label",
21619
+ "createdAt",
21620
+ "parentId",
21621
+ "retentionClass",
21622
+ "commit",
21623
+ "sizeBytes"
21624
+ ],
21625
+ "additionalProperties": false
21626
+ }
21627
+ }
21628
+ },
21629
+ "required": [
21630
+ "checkpoints"
21631
+ ],
21632
+ "additionalProperties": false
21633
+ },
21634
+ "invokable": true
21635
+ },
21636
+ {
21637
+ "id": "checkpoints.restore",
21638
+ "title": "Restore Workspace Checkpoint",
21639
+ "description": "DESTRUCTIVE: restore the workspace to the state captured by a checkpoint (git-backed workspace rewrite). Executes immediately with NO server-side confirmation — the calling surface (TUI/webui) owns the confirm UX before invoking this verb. An unknown/gc'd checkpoint id is an honest 404, not a silent no-op.",
21640
+ "category": "checkpoints",
21641
+ "source": "builtin",
21642
+ "access": "authenticated",
21643
+ "transport": [
21644
+ "ws"
21645
+ ],
21646
+ "scopes": [
21647
+ "write:checkpoints"
21648
+ ],
21649
+ "inputSchema": {
21650
+ "type": "object",
21651
+ "properties": {
21652
+ "id": {
21653
+ "type": "string"
21654
+ },
21655
+ "paths": {
21656
+ "type": "array",
21657
+ "items": {
21658
+ "type": "string"
21659
+ }
21660
+ },
21661
+ "safetyCheckpoint": {
21662
+ "type": "boolean"
21663
+ }
21664
+ },
21665
+ "required": [
21666
+ "id"
21667
+ ],
21668
+ "additionalProperties": false
21669
+ },
21670
+ "outputSchema": {
21671
+ "type": "object",
21672
+ "properties": {
21673
+ "result": {
21674
+ "type": "object",
21675
+ "properties": {
21676
+ "checkpointId": {
21677
+ "type": "string"
21678
+ },
21679
+ "safetyCheckpointId": {
21680
+ "anyOf": [
21681
+ {
21682
+ "type": "string"
21683
+ },
21684
+ {
21685
+ "type": "null"
21686
+ }
21687
+ ]
21688
+ },
21689
+ "restoredFiles": {
21690
+ "type": "array",
21691
+ "items": {
21692
+ "type": "string"
21693
+ }
21694
+ },
21695
+ "removedFiles": {
21696
+ "type": "array",
21697
+ "items": {
21698
+ "type": "string"
21699
+ }
21700
+ }
21701
+ },
21702
+ "required": [
21703
+ "checkpointId",
21704
+ "safetyCheckpointId",
21705
+ "restoredFiles",
21706
+ "removedFiles"
21707
+ ],
21708
+ "additionalProperties": false
21709
+ }
21710
+ },
21711
+ "required": [
21712
+ "result"
21713
+ ],
21714
+ "additionalProperties": false
21715
+ },
21716
+ "dangerous": true,
21717
+ "invokable": true
21718
+ },
21279
21719
  {
21280
21720
  "id": "companion.chat.events.stream",
21281
21721
  "title": "Stream Companion Chat Events",
@@ -21556,151 +21996,9 @@
21556
21996
  "invokable": true
21557
21997
  },
21558
21998
  {
21559
- "id": "companion.chat.sessions.create",
21560
- "title": "Create Companion Chat Session",
21561
- "description": "Create a new companion-chat session. Optional `provider` / `model` override the registry default; `title` and `systemPrompt` are stored on the session record.",
21562
- "category": "companion",
21563
- "source": "builtin",
21564
- "access": "authenticated",
21565
- "transport": [
21566
- "http",
21567
- "ws"
21568
- ],
21569
- "scopes": [
21570
- "write:sessions"
21571
- ],
21572
- "http": {
21573
- "method": "POST",
21574
- "path": "/api/companion/chat/sessions"
21575
- },
21576
- "inputSchema": {
21577
- "type": "object",
21578
- "properties": {
21579
- "title": {
21580
- "type": "string"
21581
- },
21582
- "model": {
21583
- "type": "string"
21584
- },
21585
- "provider": {
21586
- "type": "string"
21587
- },
21588
- "systemPrompt": {
21589
- "type": "string"
21590
- }
21591
- },
21592
- "additionalProperties": true
21593
- },
21594
- "outputSchema": {
21595
- "type": "object",
21596
- "properties": {
21597
- "sessionId": {
21598
- "type": "string"
21599
- },
21600
- "createdAt": {
21601
- "type": "number"
21602
- },
21603
- "session": {
21604
- "type": "object",
21605
- "properties": {
21606
- "id": {
21607
- "type": "string"
21608
- },
21609
- "kind": {
21610
- "type": "string",
21611
- "enum": [
21612
- "companion-chat"
21613
- ]
21614
- },
21615
- "title": {
21616
- "type": "string"
21617
- },
21618
- "model": {
21619
- "anyOf": [
21620
- {
21621
- "type": "string"
21622
- },
21623
- {
21624
- "type": "null"
21625
- }
21626
- ]
21627
- },
21628
- "provider": {
21629
- "anyOf": [
21630
- {
21631
- "type": "string"
21632
- },
21633
- {
21634
- "type": "null"
21635
- }
21636
- ]
21637
- },
21638
- "systemPrompt": {
21639
- "anyOf": [
21640
- {
21641
- "type": "string"
21642
- },
21643
- {
21644
- "type": "null"
21645
- }
21646
- ]
21647
- },
21648
- "status": {
21649
- "type": "string",
21650
- "enum": [
21651
- "active",
21652
- "closed"
21653
- ]
21654
- },
21655
- "createdAt": {
21656
- "type": "number"
21657
- },
21658
- "updatedAt": {
21659
- "type": "number"
21660
- },
21661
- "closedAt": {
21662
- "anyOf": [
21663
- {
21664
- "type": "number"
21665
- },
21666
- {
21667
- "type": "null"
21668
- }
21669
- ]
21670
- },
21671
- "messageCount": {
21672
- "type": "number"
21673
- }
21674
- },
21675
- "required": [
21676
- "id",
21677
- "kind",
21678
- "title",
21679
- "model",
21680
- "provider",
21681
- "systemPrompt",
21682
- "status",
21683
- "createdAt",
21684
- "updatedAt",
21685
- "closedAt",
21686
- "messageCount"
21687
- ],
21688
- "additionalProperties": false
21689
- }
21690
- },
21691
- "required": [
21692
- "sessionId",
21693
- "createdAt",
21694
- "session"
21695
- ],
21696
- "additionalProperties": false
21697
- },
21698
- "invokable": true
21699
- },
21700
- {
21701
- "id": "companion.chat.sessions.delete",
21999
+ "id": "companion.chat.sessions.close",
21702
22000
  "title": "Close Companion Chat Session",
21703
- "description": "Close a companion-chat session. The session record is preserved in closed state.",
22001
+ "description": "Close a companion-chat session (soft close). The session record and its messages are preserved in closed state and remain listable with includeClosed. Distinct from companion.chat.sessions.delete, which permanently removes the record.",
21704
22002
  "category": "companion",
21705
22003
  "source": "builtin",
21706
22004
  "access": "authenticated",
@@ -21712,8 +22010,8 @@
21712
22010
  "write:sessions"
21713
22011
  ],
21714
22012
  "http": {
21715
- "method": "DELETE",
21716
- "path": "/api/companion/chat/sessions/{sessionId}"
22013
+ "method": "POST",
22014
+ "path": "/api/companion/chat/sessions/{sessionId}/close"
21717
22015
  },
21718
22016
  "inputSchema": {
21719
22017
  "type": "object",
@@ -21745,6 +22043,196 @@
21745
22043
  },
21746
22044
  "invokable": true
21747
22045
  },
22046
+ {
22047
+ "id": "companion.chat.sessions.create",
22048
+ "title": "Create Companion Chat Session",
22049
+ "description": "Create a new companion-chat session. Optional `provider` / `model` override the registry default; `title` and `systemPrompt` are stored on the session record.",
22050
+ "category": "companion",
22051
+ "source": "builtin",
22052
+ "access": "authenticated",
22053
+ "transport": [
22054
+ "http",
22055
+ "ws"
22056
+ ],
22057
+ "scopes": [
22058
+ "write:sessions"
22059
+ ],
22060
+ "http": {
22061
+ "method": "POST",
22062
+ "path": "/api/companion/chat/sessions"
22063
+ },
22064
+ "inputSchema": {
22065
+ "type": "object",
22066
+ "properties": {
22067
+ "title": {
22068
+ "type": "string"
22069
+ },
22070
+ "model": {
22071
+ "type": "string"
22072
+ },
22073
+ "provider": {
22074
+ "type": "string"
22075
+ },
22076
+ "systemPrompt": {
22077
+ "type": "string"
22078
+ }
22079
+ },
22080
+ "additionalProperties": true
22081
+ },
22082
+ "outputSchema": {
22083
+ "type": "object",
22084
+ "properties": {
22085
+ "sessionId": {
22086
+ "type": "string"
22087
+ },
22088
+ "createdAt": {
22089
+ "type": "number"
22090
+ },
22091
+ "session": {
22092
+ "type": "object",
22093
+ "properties": {
22094
+ "id": {
22095
+ "type": "string"
22096
+ },
22097
+ "kind": {
22098
+ "type": "string",
22099
+ "enum": [
22100
+ "companion-chat"
22101
+ ]
22102
+ },
22103
+ "title": {
22104
+ "type": "string"
22105
+ },
22106
+ "model": {
22107
+ "anyOf": [
22108
+ {
22109
+ "type": "string"
22110
+ },
22111
+ {
22112
+ "type": "null"
22113
+ }
22114
+ ]
22115
+ },
22116
+ "provider": {
22117
+ "anyOf": [
22118
+ {
22119
+ "type": "string"
22120
+ },
22121
+ {
22122
+ "type": "null"
22123
+ }
22124
+ ]
22125
+ },
22126
+ "systemPrompt": {
22127
+ "anyOf": [
22128
+ {
22129
+ "type": "string"
22130
+ },
22131
+ {
22132
+ "type": "null"
22133
+ }
22134
+ ]
22135
+ },
22136
+ "status": {
22137
+ "type": "string",
22138
+ "enum": [
22139
+ "active",
22140
+ "closed"
22141
+ ]
22142
+ },
22143
+ "createdAt": {
22144
+ "type": "number"
22145
+ },
22146
+ "updatedAt": {
22147
+ "type": "number"
22148
+ },
22149
+ "closedAt": {
22150
+ "anyOf": [
22151
+ {
22152
+ "type": "number"
22153
+ },
22154
+ {
22155
+ "type": "null"
22156
+ }
22157
+ ]
22158
+ },
22159
+ "messageCount": {
22160
+ "type": "number"
22161
+ }
22162
+ },
22163
+ "required": [
22164
+ "id",
22165
+ "kind",
22166
+ "title",
22167
+ "model",
22168
+ "provider",
22169
+ "systemPrompt",
22170
+ "status",
22171
+ "createdAt",
22172
+ "updatedAt",
22173
+ "closedAt",
22174
+ "messageCount"
22175
+ ],
22176
+ "additionalProperties": false
22177
+ }
22178
+ },
22179
+ "required": [
22180
+ "sessionId",
22181
+ "createdAt",
22182
+ "session"
22183
+ ],
22184
+ "additionalProperties": false
22185
+ },
22186
+ "invokable": true
22187
+ },
22188
+ {
22189
+ "id": "companion.chat.sessions.delete",
22190
+ "title": "Delete Companion Chat Session",
22191
+ "description": "Permanently remove a companion-chat session: the on-disk record file is deleted and the session is dropped from the shared session store — this does NOT merely close it (use companion.chat.sessions.close for a soft close). Requires the session to already be closed: deleting a still-active session is rejected with 409 SESSION_ACTIVE (close it, then delete). An unknown or already-deleted id is a 404 SESSION_NOT_FOUND, never a 200-noop.",
22192
+ "category": "companion",
22193
+ "source": "builtin",
22194
+ "access": "authenticated",
22195
+ "transport": [
22196
+ "http",
22197
+ "ws"
22198
+ ],
22199
+ "scopes": [
22200
+ "write:sessions"
22201
+ ],
22202
+ "http": {
22203
+ "method": "DELETE",
22204
+ "path": "/api/companion/chat/sessions/{sessionId}"
22205
+ },
22206
+ "inputSchema": {
22207
+ "type": "object",
22208
+ "properties": {
22209
+ "sessionId": {
22210
+ "type": "string"
22211
+ }
22212
+ },
22213
+ "required": [
22214
+ "sessionId"
22215
+ ],
22216
+ "additionalProperties": false
22217
+ },
22218
+ "outputSchema": {
22219
+ "type": "object",
22220
+ "properties": {
22221
+ "sessionId": {
22222
+ "type": "string"
22223
+ },
22224
+ "deleted": {
22225
+ "type": "boolean"
22226
+ }
22227
+ },
22228
+ "required": [
22229
+ "sessionId",
22230
+ "deleted"
22231
+ ],
22232
+ "additionalProperties": false
22233
+ },
22234
+ "invokable": true
22235
+ },
21748
22236
  {
21749
22237
  "id": "companion.chat.sessions.get",
21750
22238
  "title": "Get Companion Chat Session",
@@ -22654,6 +23142,90 @@
22654
23142
  },
22655
23143
  "invokable": true
22656
23144
  },
23145
+ {
23146
+ "id": "credentials.get",
23147
+ "title": "Get Credential Status",
23148
+ "description": "Return secret-free credential status (configured/usable) for the shared store. Never returns raw secret bytes. Optional ?key= narrows to one credential.",
23149
+ "category": "config",
23150
+ "source": "builtin",
23151
+ "access": "admin",
23152
+ "transport": [
23153
+ "http",
23154
+ "ws"
23155
+ ],
23156
+ "scopes": [
23157
+ "read:config"
23158
+ ],
23159
+ "http": {
23160
+ "method": "GET",
23161
+ "path": "/config/credentials"
23162
+ },
23163
+ "inputSchema": {
23164
+ "type": "object",
23165
+ "properties": {
23166
+ "key": {
23167
+ "type": "string"
23168
+ }
23169
+ },
23170
+ "additionalProperties": false
23171
+ },
23172
+ "outputSchema": {
23173
+ "type": "object",
23174
+ "properties": {
23175
+ "available": {
23176
+ "type": "boolean"
23177
+ },
23178
+ "credentials": {
23179
+ "type": "array",
23180
+ "items": {
23181
+ "type": "object",
23182
+ "properties": {
23183
+ "key": {
23184
+ "type": "string"
23185
+ },
23186
+ "configured": {
23187
+ "type": "boolean"
23188
+ },
23189
+ "usable": {
23190
+ "type": "boolean"
23191
+ },
23192
+ "source": {
23193
+ "type": "string"
23194
+ },
23195
+ "scope": {
23196
+ "type": "string"
23197
+ },
23198
+ "secure": {
23199
+ "type": "boolean"
23200
+ },
23201
+ "overriddenByEnv": {
23202
+ "type": "boolean"
23203
+ },
23204
+ "refSource": {
23205
+ "type": "string"
23206
+ }
23207
+ },
23208
+ "required": [
23209
+ "key",
23210
+ "configured",
23211
+ "usable",
23212
+ "source",
23213
+ "scope",
23214
+ "secure",
23215
+ "overriddenByEnv"
23216
+ ],
23217
+ "additionalProperties": false
23218
+ }
23219
+ }
23220
+ },
23221
+ "required": [
23222
+ "available",
23223
+ "credentials"
23224
+ ],
23225
+ "additionalProperties": false
23226
+ },
23227
+ "invokable": true
23228
+ },
22657
23229
  {
22658
23230
  "id": "continuity.snapshot",
22659
23231
  "title": "Continuity Snapshot",
@@ -23752,6 +24324,30 @@
23752
24324
  "withWireEvents"
23753
24325
  ],
23754
24326
  "additionalProperties": false
24327
+ },
24328
+ "validationCoverage": {
24329
+ "type": "object",
24330
+ "properties": {
24331
+ "methods": {
24332
+ "type": "number"
24333
+ },
24334
+ "validated": {
24335
+ "type": "number"
24336
+ },
24337
+ "skippedGeneric": {
24338
+ "type": "number"
24339
+ },
24340
+ "skippedUntyped": {
24341
+ "type": "number"
24342
+ }
24343
+ },
24344
+ "required": [
24345
+ "methods",
24346
+ "validated",
24347
+ "skippedGeneric",
24348
+ "skippedUntyped"
24349
+ ],
24350
+ "additionalProperties": false
23755
24351
  }
23756
24352
  },
23757
24353
  "required": [
@@ -25386,7 +25982,7 @@
25386
25982
  "additionalProperties": false
25387
25983
  },
25388
25984
  "dangerous": true,
25389
- "invokable": true
25985
+ "invokable": false
25390
25986
  },
25391
25987
  {
25392
25988
  "id": "email.inbox.list",
@@ -25473,7 +26069,7 @@
25473
26069
  ],
25474
26070
  "additionalProperties": false
25475
26071
  },
25476
- "invokable": true
26072
+ "invokable": false
25477
26073
  },
25478
26074
  {
25479
26075
  "id": "email.inbox.read",
@@ -25563,7 +26159,7 @@
25563
26159
  ],
25564
26160
  "additionalProperties": false
25565
26161
  },
25566
- "invokable": true
26162
+ "invokable": false
25567
26163
  },
25568
26164
  {
25569
26165
  "id": "email.send",
@@ -25627,6 +26223,516 @@
25627
26223
  "additionalProperties": false
25628
26224
  },
25629
26225
  "dangerous": true,
26226
+ "invokable": false
26227
+ },
26228
+ {
26229
+ "id": "fleet.list",
26230
+ "title": "List Fleet Processes",
26231
+ "description": "Paginated, filtered (kinds/states) query over the live process registry. Cursor pagination returns disjoint pages that union to the full matching set at query time.",
26232
+ "category": "fleet",
26233
+ "source": "builtin",
26234
+ "access": "authenticated",
26235
+ "transport": [
26236
+ "ws"
26237
+ ],
26238
+ "scopes": [
26239
+ "read:fleet"
26240
+ ],
26241
+ "inputSchema": {
26242
+ "type": "object",
26243
+ "properties": {
26244
+ "kinds": {
26245
+ "type": "array",
26246
+ "items": {
26247
+ "type": "string"
26248
+ }
26249
+ },
26250
+ "states": {
26251
+ "type": "array",
26252
+ "items": {
26253
+ "type": "string"
26254
+ }
26255
+ },
26256
+ "limit": {
26257
+ "type": "number"
26258
+ },
26259
+ "cursor": {
26260
+ "type": "string"
26261
+ }
26262
+ },
26263
+ "additionalProperties": false
26264
+ },
26265
+ "outputSchema": {
26266
+ "type": "object",
26267
+ "properties": {
26268
+ "items": {
26269
+ "type": "array",
26270
+ "items": {
26271
+ "type": "object",
26272
+ "properties": {
26273
+ "id": {
26274
+ "type": "string"
26275
+ },
26276
+ "kind": {
26277
+ "type": "string",
26278
+ "enum": [
26279
+ "agent",
26280
+ "wrfc-chain",
26281
+ "wrfc-subtask",
26282
+ "workflow",
26283
+ "trigger",
26284
+ "schedule",
26285
+ "watcher",
26286
+ "background-process",
26287
+ "workstream",
26288
+ "phase",
26289
+ "work-item",
26290
+ "code-index"
26291
+ ]
26292
+ },
26293
+ "parentId": {
26294
+ "type": "string"
26295
+ },
26296
+ "label": {
26297
+ "type": "string"
26298
+ },
26299
+ "task": {
26300
+ "type": "string"
26301
+ },
26302
+ "state": {
26303
+ "type": "string",
26304
+ "enum": [
26305
+ "thinking",
26306
+ "executing-tool",
26307
+ "awaiting-approval",
26308
+ "streaming",
26309
+ "stalled",
26310
+ "retrying",
26311
+ "done",
26312
+ "failed",
26313
+ "killed",
26314
+ "interrupted",
26315
+ "idle",
26316
+ "queued",
26317
+ "paused"
26318
+ ]
26319
+ },
26320
+ "startedAt": {
26321
+ "type": "number"
26322
+ },
26323
+ "completedAt": {
26324
+ "type": "number"
26325
+ },
26326
+ "elapsedMs": {
26327
+ "type": "number"
26328
+ },
26329
+ "usage": {
26330
+ "type": "object",
26331
+ "properties": {
26332
+ "inputTokens": {
26333
+ "type": "number"
26334
+ },
26335
+ "outputTokens": {
26336
+ "type": "number"
26337
+ },
26338
+ "cacheReadTokens": {
26339
+ "type": "number"
26340
+ },
26341
+ "cacheWriteTokens": {
26342
+ "type": "number"
26343
+ },
26344
+ "reasoningTokens": {
26345
+ "type": "number"
26346
+ },
26347
+ "llmCallCount": {
26348
+ "type": "number"
26349
+ },
26350
+ "turnCount": {
26351
+ "type": "number"
26352
+ },
26353
+ "toolCallCount": {
26354
+ "type": "number"
26355
+ }
26356
+ },
26357
+ "required": [
26358
+ "inputTokens",
26359
+ "outputTokens",
26360
+ "cacheReadTokens",
26361
+ "cacheWriteTokens",
26362
+ "llmCallCount",
26363
+ "turnCount",
26364
+ "toolCallCount"
26365
+ ],
26366
+ "additionalProperties": false
26367
+ },
26368
+ "model": {
26369
+ "type": "string"
26370
+ },
26371
+ "provider": {
26372
+ "type": "string"
26373
+ },
26374
+ "costUsd": {
26375
+ "anyOf": [
26376
+ {
26377
+ "type": "number"
26378
+ },
26379
+ {
26380
+ "type": "null"
26381
+ }
26382
+ ]
26383
+ },
26384
+ "costState": {
26385
+ "type": "string",
26386
+ "enum": [
26387
+ "priced",
26388
+ "unpriced",
26389
+ "estimated"
26390
+ ]
26391
+ },
26392
+ "currentActivity": {
26393
+ "type": "object",
26394
+ "properties": {
26395
+ "kind": {
26396
+ "type": "string",
26397
+ "enum": [
26398
+ "tool",
26399
+ "output-line",
26400
+ "phase"
26401
+ ]
26402
+ },
26403
+ "text": {
26404
+ "type": "string"
26405
+ },
26406
+ "toolName": {
26407
+ "type": "string"
26408
+ },
26409
+ "at": {
26410
+ "type": "number"
26411
+ }
26412
+ },
26413
+ "required": [
26414
+ "kind",
26415
+ "text",
26416
+ "at"
26417
+ ],
26418
+ "additionalProperties": false
26419
+ },
26420
+ "capabilities": {
26421
+ "type": "object",
26422
+ "properties": {
26423
+ "interruptible": {
26424
+ "type": "boolean"
26425
+ },
26426
+ "killable": {
26427
+ "type": "boolean"
26428
+ },
26429
+ "pausable": {
26430
+ "type": "boolean"
26431
+ },
26432
+ "resumable": {
26433
+ "type": "boolean"
26434
+ },
26435
+ "steerable": {
26436
+ "type": "boolean"
26437
+ }
26438
+ },
26439
+ "required": [
26440
+ "interruptible",
26441
+ "killable",
26442
+ "pausable",
26443
+ "resumable",
26444
+ "steerable"
26445
+ ],
26446
+ "additionalProperties": false
26447
+ },
26448
+ "sessionRef": {
26449
+ "type": "object",
26450
+ "properties": {
26451
+ "sessionId": {
26452
+ "type": "string"
26453
+ },
26454
+ "agentId": {
26455
+ "type": "string"
26456
+ }
26457
+ },
26458
+ "additionalProperties": false
26459
+ }
26460
+ },
26461
+ "required": [
26462
+ "id",
26463
+ "kind",
26464
+ "label",
26465
+ "state",
26466
+ "elapsedMs",
26467
+ "costState",
26468
+ "capabilities"
26469
+ ],
26470
+ "additionalProperties": true
26471
+ }
26472
+ },
26473
+ "nextCursor": {
26474
+ "type": "string"
26475
+ },
26476
+ "hasMore": {
26477
+ "type": "boolean"
26478
+ },
26479
+ "capturedAt": {
26480
+ "type": "number"
26481
+ }
26482
+ },
26483
+ "required": [
26484
+ "items",
26485
+ "hasMore",
26486
+ "capturedAt"
26487
+ ],
26488
+ "additionalProperties": false
26489
+ },
26490
+ "invokable": true
26491
+ },
26492
+ {
26493
+ "id": "fleet.snapshot",
26494
+ "title": "Fleet Snapshot",
26495
+ "description": "Return a point-in-time capture of every live/completed runtime process (agents, WRFC chains/subtasks, workflow FSMs/triggers/schedules, watchers, background processes) as a flat, parentId-linked node list. Capped at 2000 nodes (truncated:true + totalCount when the live fleet exceeds the cap) — use fleet.list to page through a larger fleet.",
26496
+ "category": "fleet",
26497
+ "source": "builtin",
26498
+ "access": "authenticated",
26499
+ "transport": [
26500
+ "ws"
26501
+ ],
26502
+ "scopes": [
26503
+ "read:fleet"
26504
+ ],
26505
+ "inputSchema": {
26506
+ "type": "object",
26507
+ "properties": {},
26508
+ "additionalProperties": false
26509
+ },
26510
+ "outputSchema": {
26511
+ "type": "object",
26512
+ "properties": {
26513
+ "capturedAt": {
26514
+ "type": "number"
26515
+ },
26516
+ "nodes": {
26517
+ "type": "array",
26518
+ "items": {
26519
+ "type": "object",
26520
+ "properties": {
26521
+ "id": {
26522
+ "type": "string"
26523
+ },
26524
+ "kind": {
26525
+ "type": "string",
26526
+ "enum": [
26527
+ "agent",
26528
+ "wrfc-chain",
26529
+ "wrfc-subtask",
26530
+ "workflow",
26531
+ "trigger",
26532
+ "schedule",
26533
+ "watcher",
26534
+ "background-process",
26535
+ "workstream",
26536
+ "phase",
26537
+ "work-item",
26538
+ "code-index"
26539
+ ]
26540
+ },
26541
+ "parentId": {
26542
+ "type": "string"
26543
+ },
26544
+ "label": {
26545
+ "type": "string"
26546
+ },
26547
+ "task": {
26548
+ "type": "string"
26549
+ },
26550
+ "state": {
26551
+ "type": "string",
26552
+ "enum": [
26553
+ "thinking",
26554
+ "executing-tool",
26555
+ "awaiting-approval",
26556
+ "streaming",
26557
+ "stalled",
26558
+ "retrying",
26559
+ "done",
26560
+ "failed",
26561
+ "killed",
26562
+ "interrupted",
26563
+ "idle",
26564
+ "queued",
26565
+ "paused"
26566
+ ]
26567
+ },
26568
+ "startedAt": {
26569
+ "type": "number"
26570
+ },
26571
+ "completedAt": {
26572
+ "type": "number"
26573
+ },
26574
+ "elapsedMs": {
26575
+ "type": "number"
26576
+ },
26577
+ "usage": {
26578
+ "type": "object",
26579
+ "properties": {
26580
+ "inputTokens": {
26581
+ "type": "number"
26582
+ },
26583
+ "outputTokens": {
26584
+ "type": "number"
26585
+ },
26586
+ "cacheReadTokens": {
26587
+ "type": "number"
26588
+ },
26589
+ "cacheWriteTokens": {
26590
+ "type": "number"
26591
+ },
26592
+ "reasoningTokens": {
26593
+ "type": "number"
26594
+ },
26595
+ "llmCallCount": {
26596
+ "type": "number"
26597
+ },
26598
+ "turnCount": {
26599
+ "type": "number"
26600
+ },
26601
+ "toolCallCount": {
26602
+ "type": "number"
26603
+ }
26604
+ },
26605
+ "required": [
26606
+ "inputTokens",
26607
+ "outputTokens",
26608
+ "cacheReadTokens",
26609
+ "cacheWriteTokens",
26610
+ "llmCallCount",
26611
+ "turnCount",
26612
+ "toolCallCount"
26613
+ ],
26614
+ "additionalProperties": false
26615
+ },
26616
+ "model": {
26617
+ "type": "string"
26618
+ },
26619
+ "provider": {
26620
+ "type": "string"
26621
+ },
26622
+ "costUsd": {
26623
+ "anyOf": [
26624
+ {
26625
+ "type": "number"
26626
+ },
26627
+ {
26628
+ "type": "null"
26629
+ }
26630
+ ]
26631
+ },
26632
+ "costState": {
26633
+ "type": "string",
26634
+ "enum": [
26635
+ "priced",
26636
+ "unpriced",
26637
+ "estimated"
26638
+ ]
26639
+ },
26640
+ "currentActivity": {
26641
+ "type": "object",
26642
+ "properties": {
26643
+ "kind": {
26644
+ "type": "string",
26645
+ "enum": [
26646
+ "tool",
26647
+ "output-line",
26648
+ "phase"
26649
+ ]
26650
+ },
26651
+ "text": {
26652
+ "type": "string"
26653
+ },
26654
+ "toolName": {
26655
+ "type": "string"
26656
+ },
26657
+ "at": {
26658
+ "type": "number"
26659
+ }
26660
+ },
26661
+ "required": [
26662
+ "kind",
26663
+ "text",
26664
+ "at"
26665
+ ],
26666
+ "additionalProperties": false
26667
+ },
26668
+ "capabilities": {
26669
+ "type": "object",
26670
+ "properties": {
26671
+ "interruptible": {
26672
+ "type": "boolean"
26673
+ },
26674
+ "killable": {
26675
+ "type": "boolean"
26676
+ },
26677
+ "pausable": {
26678
+ "type": "boolean"
26679
+ },
26680
+ "resumable": {
26681
+ "type": "boolean"
26682
+ },
26683
+ "steerable": {
26684
+ "type": "boolean"
26685
+ }
26686
+ },
26687
+ "required": [
26688
+ "interruptible",
26689
+ "killable",
26690
+ "pausable",
26691
+ "resumable",
26692
+ "steerable"
26693
+ ],
26694
+ "additionalProperties": false
26695
+ },
26696
+ "sessionRef": {
26697
+ "type": "object",
26698
+ "properties": {
26699
+ "sessionId": {
26700
+ "type": "string"
26701
+ },
26702
+ "agentId": {
26703
+ "type": "string"
26704
+ }
26705
+ },
26706
+ "additionalProperties": false
26707
+ }
26708
+ },
26709
+ "required": [
26710
+ "id",
26711
+ "kind",
26712
+ "label",
26713
+ "state",
26714
+ "elapsedMs",
26715
+ "costState",
26716
+ "capabilities"
26717
+ ],
26718
+ "additionalProperties": true
26719
+ }
26720
+ },
26721
+ "truncated": {
26722
+ "type": "boolean"
26723
+ },
26724
+ "totalCount": {
26725
+ "type": "number"
26726
+ }
26727
+ },
26728
+ "required": [
26729
+ "capturedAt",
26730
+ "nodes",
26731
+ "truncated",
26732
+ "totalCount"
26733
+ ],
26734
+ "additionalProperties": false
26735
+ },
25630
26736
  "invokable": true
25631
26737
  },
25632
26738
  {
@@ -61688,9 +62794,9 @@
61688
62794
  "invokable": true
61689
62795
  },
61690
62796
  {
61691
- "id": "routes.bindings.patch",
61692
- "title": "Patch Route Binding",
61693
- "description": "Patch an existing route binding.",
62797
+ "id": "routes.bindings.update",
62798
+ "title": "Update Route Binding",
62799
+ "description": "Update an existing route binding. (Renamed from routes.bindings.patch in the Wave-6 core-verb pass — canonical verb is update, not patch.)",
61694
62800
  "category": "routes",
61695
62801
  "source": "builtin",
61696
62802
  "access": "admin",
@@ -62296,6 +63402,9 @@
62296
63402
  "platform": {
62297
63403
  "type": "string"
62298
63404
  },
63405
+ "serviceName": {
63406
+ "type": "string"
63407
+ },
62299
63408
  "path": {
62300
63409
  "type": "string"
62301
63410
  },
@@ -62561,6 +63670,7 @@
62561
63670
  },
62562
63671
  "required": [
62563
63672
  "platform",
63673
+ "serviceName",
62564
63674
  "path",
62565
63675
  "installed",
62566
63676
  "autostart",
@@ -62601,6 +63711,9 @@
62601
63711
  "platform": {
62602
63712
  "type": "string"
62603
63713
  },
63714
+ "serviceName": {
63715
+ "type": "string"
63716
+ },
62604
63717
  "path": {
62605
63718
  "type": "string"
62606
63719
  },
@@ -62866,6 +63979,7 @@
62866
63979
  },
62867
63980
  "required": [
62868
63981
  "platform",
63982
+ "serviceName",
62869
63983
  "path",
62870
63984
  "installed",
62871
63985
  "autostart",
@@ -62906,6 +64020,9 @@
62906
64020
  "platform": {
62907
64021
  "type": "string"
62908
64022
  },
64023
+ "serviceName": {
64024
+ "type": "string"
64025
+ },
62909
64026
  "path": {
62910
64027
  "type": "string"
62911
64028
  },
@@ -63171,6 +64288,7 @@
63171
64288
  },
63172
64289
  "required": [
63173
64290
  "platform",
64291
+ "serviceName",
63174
64292
  "path",
63175
64293
  "installed",
63176
64294
  "autostart",
@@ -63211,6 +64329,9 @@
63211
64329
  "platform": {
63212
64330
  "type": "string"
63213
64331
  },
64332
+ "serviceName": {
64333
+ "type": "string"
64334
+ },
63214
64335
  "path": {
63215
64336
  "type": "string"
63216
64337
  },
@@ -63476,6 +64597,7 @@
63476
64597
  },
63477
64598
  "required": [
63478
64599
  "platform",
64600
+ "serviceName",
63479
64601
  "path",
63480
64602
  "installed",
63481
64603
  "autostart",
@@ -63516,6 +64638,9 @@
63516
64638
  "platform": {
63517
64639
  "type": "string"
63518
64640
  },
64641
+ "serviceName": {
64642
+ "type": "string"
64643
+ },
63519
64644
  "path": {
63520
64645
  "type": "string"
63521
64646
  },
@@ -63781,6 +64906,7 @@
63781
64906
  },
63782
64907
  "required": [
63783
64908
  "platform",
64909
+ "serviceName",
63784
64910
  "path",
63785
64911
  "installed",
63786
64912
  "autostart",
@@ -63821,6 +64947,9 @@
63821
64947
  "platform": {
63822
64948
  "type": "string"
63823
64949
  },
64950
+ "serviceName": {
64951
+ "type": "string"
64952
+ },
63824
64953
  "path": {
63825
64954
  "type": "string"
63826
64955
  },
@@ -64086,6 +65215,7 @@
64086
65215
  },
64087
65216
  "required": [
64088
65217
  "platform",
65218
+ "serviceName",
64089
65219
  "path",
64090
65220
  "installed",
64091
65221
  "autostart",
@@ -64116,6 +65246,9 @@
64116
65246
  "method": "POST",
64117
65247
  "path": "/api/sessions/{sessionId}/close"
64118
65248
  },
65249
+ "events": [
65250
+ "control.session_update"
65251
+ ],
64119
65252
  "inputSchema": {
64120
65253
  "type": "object",
64121
65254
  "properties": {
@@ -64138,12 +65271,10 @@
64138
65271
  "type": "string"
64139
65272
  },
64140
65273
  "kind": {
64141
- "type": "string",
64142
- "enum": [
64143
- "tui",
64144
- "companion-task",
64145
- "companion-chat"
64146
- ]
65274
+ "type": "string"
65275
+ },
65276
+ "project": {
65277
+ "type": "string"
64147
65278
  },
64148
65279
  "title": {
64149
65280
  "type": "string"
@@ -64173,6 +65304,9 @@
64173
65304
  "messageCount": {
64174
65305
  "type": "number"
64175
65306
  },
65307
+ "retainedMessageCount": {
65308
+ "type": "number"
65309
+ },
64176
65310
  "pendingInputCount": {
64177
65311
  "type": "number"
64178
65312
  },
@@ -64303,6 +65437,9 @@
64303
65437
  "method": "POST",
64304
65438
  "path": "/api/sessions"
64305
65439
  },
65440
+ "events": [
65441
+ "control.session_update"
65442
+ ],
64306
65443
  "inputSchema": {
64307
65444
  "type": "object",
64308
65445
  "properties": {
@@ -64328,12 +65465,10 @@
64328
65465
  "type": "string"
64329
65466
  },
64330
65467
  "kind": {
64331
- "type": "string",
64332
- "enum": [
64333
- "tui",
64334
- "companion-task",
64335
- "companion-chat"
64336
- ]
65468
+ "type": "string"
65469
+ },
65470
+ "project": {
65471
+ "type": "string"
64337
65472
  },
64338
65473
  "title": {
64339
65474
  "type": "string"
@@ -64363,6 +65498,9 @@
64363
65498
  "messageCount": {
64364
65499
  "type": "number"
64365
65500
  },
65501
+ "retainedMessageCount": {
65502
+ "type": "number"
65503
+ },
64366
65504
  "pendingInputCount": {
64367
65505
  "type": "number"
64368
65506
  },
@@ -64475,6 +65613,252 @@
64475
65613
  },
64476
65614
  "invokable": true
64477
65615
  },
65616
+ {
65617
+ "id": "sessions.delete",
65618
+ "title": "Delete Shared Session",
65619
+ "description": "Permanently remove a shared session record and its queued inputs/messages from the home-scoped store. A distinct, explicit hard-delete verb — NEVER triggered by close; closed sessions stay listable (includeClosed) and deletionRetentionMs semantics for non-deleted records are untouched. Requires the session to already be closed: deleting a still-active session is rejected with 409 SESSION_ACTIVE (close it, then delete). An unknown or already-deleted id is a 404 SESSION_NOT_FOUND, never a 200-noop. Emits control.session_update (session-deleted) so subscribers drop the row live.",
65620
+ "category": "sessions",
65621
+ "source": "builtin",
65622
+ "access": "authenticated",
65623
+ "transport": [
65624
+ "http",
65625
+ "ws"
65626
+ ],
65627
+ "scopes": [
65628
+ "write:sessions"
65629
+ ],
65630
+ "http": {
65631
+ "method": "DELETE",
65632
+ "path": "/api/sessions/{sessionId}"
65633
+ },
65634
+ "events": [
65635
+ "control.session_update"
65636
+ ],
65637
+ "inputSchema": {
65638
+ "type": "object",
65639
+ "properties": {
65640
+ "sessionId": {
65641
+ "type": "string"
65642
+ }
65643
+ },
65644
+ "required": [
65645
+ "sessionId"
65646
+ ],
65647
+ "additionalProperties": false
65648
+ },
65649
+ "outputSchema": {
65650
+ "type": "object",
65651
+ "properties": {
65652
+ "sessionId": {
65653
+ "type": "string"
65654
+ },
65655
+ "deleted": {
65656
+ "type": "boolean"
65657
+ }
65658
+ },
65659
+ "required": [
65660
+ "sessionId",
65661
+ "deleted"
65662
+ ],
65663
+ "additionalProperties": false
65664
+ },
65665
+ "invokable": true
65666
+ },
65667
+ {
65668
+ "id": "sessions.detach",
65669
+ "title": "Detach Shared Session Participant",
65670
+ "description": "Remove a surface's participant and its route binding from a session so that surface stops receiving updates, WITHOUT closing or killing the session (detach != close != kill). Every participant carrying the given surfaceId is removed and any route binding they alone held is unbound; the session and all other participants keep running. Idempotent: detaching an already-detached surface, or detaching from a closed session, is a no-op success. An unknown session is a 404.",
65671
+ "category": "sessions",
65672
+ "source": "builtin",
65673
+ "access": "authenticated",
65674
+ "transport": [
65675
+ "http",
65676
+ "ws"
65677
+ ],
65678
+ "scopes": [
65679
+ "write:sessions"
65680
+ ],
65681
+ "http": {
65682
+ "method": "POST",
65683
+ "path": "/api/sessions/{sessionId}/detach"
65684
+ },
65685
+ "events": [
65686
+ "control.session_update"
65687
+ ],
65688
+ "inputSchema": {
65689
+ "type": "object",
65690
+ "properties": {
65691
+ "sessionId": {
65692
+ "type": "string"
65693
+ },
65694
+ "surfaceId": {
65695
+ "type": "string"
65696
+ }
65697
+ },
65698
+ "required": [
65699
+ "sessionId",
65700
+ "surfaceId"
65701
+ ],
65702
+ "additionalProperties": false
65703
+ },
65704
+ "outputSchema": {
65705
+ "type": "object",
65706
+ "properties": {
65707
+ "session": {
65708
+ "type": "object",
65709
+ "properties": {
65710
+ "id": {
65711
+ "type": "string"
65712
+ },
65713
+ "kind": {
65714
+ "type": "string"
65715
+ },
65716
+ "project": {
65717
+ "type": "string"
65718
+ },
65719
+ "title": {
65720
+ "type": "string"
65721
+ },
65722
+ "status": {
65723
+ "type": "string",
65724
+ "enum": [
65725
+ "active",
65726
+ "closed"
65727
+ ]
65728
+ },
65729
+ "createdAt": {
65730
+ "type": "number"
65731
+ },
65732
+ "updatedAt": {
65733
+ "type": "number"
65734
+ },
65735
+ "lastMessageAt": {
65736
+ "type": "number"
65737
+ },
65738
+ "closedAt": {
65739
+ "type": "number"
65740
+ },
65741
+ "lastActivityAt": {
65742
+ "type": "number"
65743
+ },
65744
+ "messageCount": {
65745
+ "type": "number"
65746
+ },
65747
+ "retainedMessageCount": {
65748
+ "type": "number"
65749
+ },
65750
+ "pendingInputCount": {
65751
+ "type": "number"
65752
+ },
65753
+ "routeIds": {
65754
+ "type": "array",
65755
+ "items": {
65756
+ "type": "string"
65757
+ }
65758
+ },
65759
+ "surfaceKinds": {
65760
+ "type": "array",
65761
+ "items": {
65762
+ "type": "string"
65763
+ }
65764
+ },
65765
+ "participants": {
65766
+ "type": "array",
65767
+ "items": {
65768
+ "type": "object",
65769
+ "properties": {
65770
+ "surfaceKind": {
65771
+ "type": "string"
65772
+ },
65773
+ "surfaceId": {
65774
+ "type": "string"
65775
+ },
65776
+ "externalId": {
65777
+ "type": "string"
65778
+ },
65779
+ "userId": {
65780
+ "type": "string"
65781
+ },
65782
+ "displayName": {
65783
+ "type": "string"
65784
+ },
65785
+ "routeId": {
65786
+ "type": "string"
65787
+ },
65788
+ "lastSeenAt": {
65789
+ "type": "number"
65790
+ }
65791
+ },
65792
+ "required": [
65793
+ "surfaceKind",
65794
+ "surfaceId",
65795
+ "lastSeenAt"
65796
+ ],
65797
+ "additionalProperties": false
65798
+ }
65799
+ },
65800
+ "activeAgentId": {
65801
+ "type": "string"
65802
+ },
65803
+ "lastAgentId": {
65804
+ "type": "string"
65805
+ },
65806
+ "lastError": {
65807
+ "type": "string"
65808
+ },
65809
+ "metadata": {
65810
+ "type": "object",
65811
+ "additionalProperties": {
65812
+ "anyOf": [
65813
+ {
65814
+ "type": "string"
65815
+ },
65816
+ {
65817
+ "type": "number"
65818
+ },
65819
+ {
65820
+ "type": "boolean"
65821
+ },
65822
+ {
65823
+ "type": "null"
65824
+ },
65825
+ {
65826
+ "type": "object",
65827
+ "additionalProperties": {}
65828
+ },
65829
+ {
65830
+ "type": "array",
65831
+ "items": {}
65832
+ }
65833
+ ]
65834
+ }
65835
+ }
65836
+ },
65837
+ "required": [
65838
+ "id",
65839
+ "kind",
65840
+ "title",
65841
+ "status",
65842
+ "createdAt",
65843
+ "updatedAt",
65844
+ "lastActivityAt",
65845
+ "messageCount",
65846
+ "pendingInputCount",
65847
+ "routeIds",
65848
+ "surfaceKinds",
65849
+ "participants",
65850
+ "metadata"
65851
+ ],
65852
+ "additionalProperties": false
65853
+ }
65854
+ },
65855
+ "required": [
65856
+ "session"
65857
+ ],
65858
+ "additionalProperties": true
65859
+ },
65860
+ "invokable": true
65861
+ },
64478
65862
  {
64479
65863
  "id": "sessions.followUp",
64480
65864
  "title": "Queue Shared Session Follow-Up",
@@ -64493,6 +65877,9 @@
64493
65877
  "method": "POST",
64494
65878
  "path": "/api/sessions/{sessionId}/follow-up"
64495
65879
  },
65880
+ "events": [
65881
+ "control.session_update"
65882
+ ],
64496
65883
  "inputSchema": {
64497
65884
  "type": "object",
64498
65885
  "properties": {
@@ -64622,12 +66009,10 @@
64622
66009
  "type": "string"
64623
66010
  },
64624
66011
  "kind": {
64625
- "type": "string",
64626
- "enum": [
64627
- "tui",
64628
- "companion-task",
64629
- "companion-chat"
64630
- ]
66012
+ "type": "string"
66013
+ },
66014
+ "project": {
66015
+ "type": "string"
64631
66016
  },
64632
66017
  "title": {
64633
66018
  "type": "string"
@@ -64657,6 +66042,9 @@
64657
66042
  "messageCount": {
64658
66043
  "type": "number"
64659
66044
  },
66045
+ "retainedMessageCount": {
66046
+ "type": "number"
66047
+ },
64660
66048
  "pendingInputCount": {
64661
66049
  "type": "number"
64662
66050
  },
@@ -65062,6 +66450,7 @@
65062
66450
  "spawn",
65063
66451
  "continued-live",
65064
66452
  "queued-follow-up",
66453
+ "queued-for-surface",
65065
66454
  "rejected"
65066
66455
  ]
65067
66456
  },
@@ -65127,12 +66516,10 @@
65127
66516
  "type": "string"
65128
66517
  },
65129
66518
  "kind": {
65130
- "type": "string",
65131
- "enum": [
65132
- "tui",
65133
- "companion-task",
65134
- "companion-chat"
65135
- ]
66519
+ "type": "string"
66520
+ },
66521
+ "project": {
66522
+ "type": "string"
65136
66523
  },
65137
66524
  "title": {
65138
66525
  "type": "string"
@@ -65162,6 +66549,9 @@
65162
66549
  "messageCount": {
65163
66550
  "type": "number"
65164
66551
  },
66552
+ "retainedMessageCount": {
66553
+ "type": "number"
66554
+ },
65165
66555
  "pendingInputCount": {
65166
66556
  "type": "number"
65167
66557
  },
@@ -65375,6 +66765,9 @@
65375
66765
  "method": "POST",
65376
66766
  "path": "/api/sessions/{sessionId}/inputs/{inputId}/cancel"
65377
66767
  },
66768
+ "events": [
66769
+ "control.session_update"
66770
+ ],
65378
66771
  "inputSchema": {
65379
66772
  "type": "object",
65380
66773
  "properties": {
@@ -65613,10 +67006,272 @@
65613
67006
  },
65614
67007
  "invokable": true
65615
67008
  },
67009
+ {
67010
+ "id": "sessions.inputs.deliver",
67011
+ "title": "Mark Shared Session Input Delivered",
67012
+ "description": "A live registered surface reports that it collected a queued input (moves it to `delivered`) or finished acting on it (`consumed:true` moves it to `completed`). This is how a surface-managed session — where steer/follow-up inputs queue for the surface rather than spawn a daemon executor — closes the input lifecycle honestly. Only queued/delivered inputs advance; others are returned unchanged.",
67013
+ "category": "sessions",
67014
+ "source": "builtin",
67015
+ "access": "authenticated",
67016
+ "transport": [
67017
+ "http",
67018
+ "ws"
67019
+ ],
67020
+ "scopes": [
67021
+ "write:sessions"
67022
+ ],
67023
+ "http": {
67024
+ "method": "POST",
67025
+ "path": "/api/sessions/{sessionId}/inputs/{inputId}/deliver"
67026
+ },
67027
+ "events": [
67028
+ "control.session_update"
67029
+ ],
67030
+ "inputSchema": {
67031
+ "type": "object",
67032
+ "properties": {
67033
+ "sessionId": {
67034
+ "type": "string"
67035
+ },
67036
+ "inputId": {
67037
+ "type": "string"
67038
+ },
67039
+ "consumed": {
67040
+ "type": "boolean"
67041
+ }
67042
+ },
67043
+ "required": [
67044
+ "sessionId",
67045
+ "inputId"
67046
+ ],
67047
+ "additionalProperties": false
67048
+ },
67049
+ "outputSchema": {
67050
+ "type": "object",
67051
+ "properties": {
67052
+ "input": {
67053
+ "type": "object",
67054
+ "properties": {
67055
+ "id": {
67056
+ "type": "string"
67057
+ },
67058
+ "sessionId": {
67059
+ "type": "string"
67060
+ },
67061
+ "intent": {
67062
+ "type": "string",
67063
+ "enum": [
67064
+ "submit",
67065
+ "steer",
67066
+ "follow-up"
67067
+ ]
67068
+ },
67069
+ "state": {
67070
+ "type": "string",
67071
+ "enum": [
67072
+ "queued",
67073
+ "delivered",
67074
+ "spawned",
67075
+ "completed",
67076
+ "cancelled",
67077
+ "failed",
67078
+ "rejected"
67079
+ ]
67080
+ },
67081
+ "correlationId": {
67082
+ "type": "string"
67083
+ },
67084
+ "causationId": {
67085
+ "type": "string"
67086
+ },
67087
+ "body": {
67088
+ "type": "string"
67089
+ },
67090
+ "createdAt": {
67091
+ "type": "number"
67092
+ },
67093
+ "updatedAt": {
67094
+ "type": "number"
67095
+ },
67096
+ "routeId": {
67097
+ "type": "string"
67098
+ },
67099
+ "surfaceKind": {
67100
+ "type": "string"
67101
+ },
67102
+ "surfaceId": {
67103
+ "type": "string"
67104
+ },
67105
+ "externalId": {
67106
+ "type": "string"
67107
+ },
67108
+ "threadId": {
67109
+ "type": "string"
67110
+ },
67111
+ "userId": {
67112
+ "type": "string"
67113
+ },
67114
+ "displayName": {
67115
+ "type": "string"
67116
+ },
67117
+ "activeAgentId": {
67118
+ "type": "string"
67119
+ },
67120
+ "metadata": {
67121
+ "type": "object",
67122
+ "additionalProperties": {
67123
+ "anyOf": [
67124
+ {
67125
+ "type": "string"
67126
+ },
67127
+ {
67128
+ "type": "number"
67129
+ },
67130
+ {
67131
+ "type": "boolean"
67132
+ },
67133
+ {
67134
+ "type": "null"
67135
+ },
67136
+ {
67137
+ "type": "object",
67138
+ "additionalProperties": {}
67139
+ },
67140
+ {
67141
+ "type": "array",
67142
+ "items": {}
67143
+ }
67144
+ ]
67145
+ }
67146
+ },
67147
+ "routing": {
67148
+ "type": "object",
67149
+ "properties": {
67150
+ "providerId": {
67151
+ "type": "string"
67152
+ },
67153
+ "modelId": {
67154
+ "type": "string"
67155
+ },
67156
+ "providerSelection": {
67157
+ "type": "string",
67158
+ "enum": [
67159
+ "inherit-current",
67160
+ "concrete",
67161
+ "synthetic"
67162
+ ]
67163
+ },
67164
+ "providerFailurePolicy": {
67165
+ "type": "string",
67166
+ "enum": [
67167
+ "ordered-fallbacks",
67168
+ "fail"
67169
+ ]
67170
+ },
67171
+ "fallbackModels": {
67172
+ "type": "array",
67173
+ "items": {
67174
+ "type": "string"
67175
+ }
67176
+ },
67177
+ "helperModel": {
67178
+ "type": "object",
67179
+ "properties": {
67180
+ "providerId": {
67181
+ "type": "string"
67182
+ },
67183
+ "modelId": {
67184
+ "type": "string"
67185
+ }
67186
+ },
67187
+ "required": [
67188
+ "providerId",
67189
+ "modelId"
67190
+ ],
67191
+ "additionalProperties": false
67192
+ },
67193
+ "executionIntent": {
67194
+ "type": "object",
67195
+ "properties": {
67196
+ "riskClass": {
67197
+ "type": "string",
67198
+ "enum": [
67199
+ "safe",
67200
+ "elevated",
67201
+ "dangerous"
67202
+ ]
67203
+ },
67204
+ "requiresApproval": {
67205
+ "type": "boolean"
67206
+ },
67207
+ "networkPolicy": {
67208
+ "type": "string",
67209
+ "enum": [
67210
+ "inherit",
67211
+ "allow",
67212
+ "deny",
67213
+ "scoped"
67214
+ ]
67215
+ },
67216
+ "filesystemPolicy": {
67217
+ "type": "string",
67218
+ "enum": [
67219
+ "inherit",
67220
+ "workspace-write",
67221
+ "read-only",
67222
+ "isolated"
67223
+ ]
67224
+ }
67225
+ },
67226
+ "additionalProperties": false
67227
+ },
67228
+ "tools": {
67229
+ "type": "array",
67230
+ "items": {
67231
+ "type": "string"
67232
+ }
67233
+ },
67234
+ "reasoningEffort": {
67235
+ "type": "string",
67236
+ "enum": [
67237
+ "instant",
67238
+ "low",
67239
+ "medium",
67240
+ "high"
67241
+ ]
67242
+ }
67243
+ },
67244
+ "additionalProperties": false
67245
+ },
67246
+ "error": {
67247
+ "type": "string"
67248
+ }
67249
+ },
67250
+ "required": [
67251
+ "id",
67252
+ "sessionId",
67253
+ "intent",
67254
+ "state",
67255
+ "correlationId",
67256
+ "body",
67257
+ "createdAt",
67258
+ "updatedAt",
67259
+ "metadata"
67260
+ ],
67261
+ "additionalProperties": false
67262
+ }
67263
+ },
67264
+ "required": [
67265
+ "input"
67266
+ ],
67267
+ "additionalProperties": false
67268
+ },
67269
+ "invokable": true
67270
+ },
65616
67271
  {
65617
67272
  "id": "sessions.inputs.list",
65618
67273
  "title": "List Shared Session Inputs",
65619
- "description": "Return explicit session inputs, including queued follow-ups and delivered steering requests.",
67274
+ "description": "Return explicit session inputs, including queued follow-ups and delivered steering requests. A live surface collects work by filtering `state` (e.g. queued) and paging past a `since` createdAt cursor (exclusive), draining only inputs it has not yet collected.",
65620
67275
  "category": "sessions",
65621
67276
  "source": "builtin",
65622
67277
  "access": "authenticated",
@@ -65639,6 +67294,12 @@
65639
67294
  },
65640
67295
  "limit": {
65641
67296
  "type": "number"
67297
+ },
67298
+ "state": {
67299
+ "type": "string"
67300
+ },
67301
+ "since": {
67302
+ "type": "number"
65642
67303
  }
65643
67304
  },
65644
67305
  "required": [
@@ -65656,12 +67317,10 @@
65656
67317
  "type": "string"
65657
67318
  },
65658
67319
  "kind": {
65659
- "type": "string",
65660
- "enum": [
65661
- "tui",
65662
- "companion-task",
65663
- "companion-chat"
65664
- ]
67320
+ "type": "string"
67321
+ },
67322
+ "project": {
67323
+ "type": "string"
65665
67324
  },
65666
67325
  "title": {
65667
67326
  "type": "string"
@@ -65691,6 +67350,9 @@
65691
67350
  "messageCount": {
65692
67351
  "type": "number"
65693
67352
  },
67353
+ "retainedMessageCount": {
67354
+ "type": "number"
67355
+ },
65694
67356
  "pendingInputCount": {
65695
67357
  "type": "number"
65696
67358
  },
@@ -66150,12 +67812,10 @@
66150
67812
  "type": "string"
66151
67813
  },
66152
67814
  "kind": {
66153
- "type": "string",
66154
- "enum": [
66155
- "tui",
66156
- "companion-task",
66157
- "companion-chat"
66158
- ]
67815
+ "type": "string"
67816
+ },
67817
+ "project": {
67818
+ "type": "string"
66159
67819
  },
66160
67820
  "title": {
66161
67821
  "type": "string"
@@ -66185,6 +67845,9 @@
66185
67845
  "messageCount": {
66186
67846
  "type": "number"
66187
67847
  },
67848
+ "retainedMessageCount": {
67849
+ "type": "number"
67850
+ },
66188
67851
  "pendingInputCount": {
66189
67852
  "type": "number"
66190
67853
  },
@@ -66317,6 +67980,9 @@
66317
67980
  "method": "POST",
66318
67981
  "path": "/api/sessions/{sessionId}/messages"
66319
67982
  },
67983
+ "events": [
67984
+ "control.session_update"
67985
+ ],
66320
67986
  "inputSchema": {
66321
67987
  "type": "object",
66322
67988
  "properties": {
@@ -66471,12 +68137,10 @@
66471
68137
  "type": "string"
66472
68138
  },
66473
68139
  "kind": {
66474
- "type": "string",
66475
- "enum": [
66476
- "tui",
66477
- "companion-task",
66478
- "companion-chat"
66479
- ]
68140
+ "type": "string"
68141
+ },
68142
+ "project": {
68143
+ "type": "string"
66480
68144
  },
66481
68145
  "title": {
66482
68146
  "type": "string"
@@ -66506,6 +68170,9 @@
66506
68170
  "messageCount": {
66507
68171
  "type": "number"
66508
68172
  },
68173
+ "retainedMessageCount": {
68174
+ "type": "number"
68175
+ },
66509
68176
  "pendingInputCount": {
66510
68177
  "type": "number"
66511
68178
  },
@@ -66911,6 +68578,7 @@
66911
68578
  "spawn",
66912
68579
  "continued-live",
66913
68580
  "queued-follow-up",
68581
+ "queued-for-surface",
66914
68582
  "rejected"
66915
68583
  ]
66916
68584
  },
@@ -66984,12 +68652,10 @@
66984
68652
  "type": "string"
66985
68653
  },
66986
68654
  "kind": {
66987
- "type": "string",
66988
- "enum": [
66989
- "tui",
66990
- "companion-task",
66991
- "companion-chat"
66992
- ]
68655
+ "type": "string"
68656
+ },
68657
+ "project": {
68658
+ "type": "string"
66993
68659
  },
66994
68660
  "title": {
66995
68661
  "type": "string"
@@ -67019,6 +68685,9 @@
67019
68685
  "messageCount": {
67020
68686
  "type": "number"
67021
68687
  },
68688
+ "retainedMessageCount": {
68689
+ "type": "number"
68690
+ },
67022
68691
  "pendingInputCount": {
67023
68692
  "type": "number"
67024
68693
  },
@@ -67214,6 +68883,269 @@
67214
68883
  },
67215
68884
  "invokable": true
67216
68885
  },
68886
+ {
68887
+ "id": "sessions.register",
68888
+ "title": "Register Shared Session",
68889
+ "description": "Idempotently register (or heartbeat) a session keyed on a caller-supplied id, carrying its kind, project, and participant identity. Re-calling with the same id advances the participant lastSeenAt (heartbeat). Registering against a CLOSED session does NOT silently reopen it — the heartbeat is recorded and the still-closed record is returned with reopened=false and conflict={status:closed}; pass reopen=true to reopen. A titled session is never renamed by the heartbeat. An unknown kind is rejected (400), not coerced. Prefer this over sessions.create for external runtimes that own their session id.",
68890
+ "category": "sessions",
68891
+ "source": "builtin",
68892
+ "access": "authenticated",
68893
+ "transport": [
68894
+ "http",
68895
+ "ws"
68896
+ ],
68897
+ "scopes": [
68898
+ "write:sessions"
68899
+ ],
68900
+ "http": {
68901
+ "method": "POST",
68902
+ "path": "/api/sessions/register"
68903
+ },
68904
+ "events": [
68905
+ "control.session_update"
68906
+ ],
68907
+ "inputSchema": {
68908
+ "type": "object",
68909
+ "properties": {
68910
+ "sessionId": {
68911
+ "type": "string"
68912
+ },
68913
+ "kind": {
68914
+ "type": "string",
68915
+ "enum": [
68916
+ "tui",
68917
+ "agent",
68918
+ "webui",
68919
+ "companion-task",
68920
+ "companion-chat",
68921
+ "automation"
68922
+ ]
68923
+ },
68924
+ "project": {
68925
+ "type": "string"
68926
+ },
68927
+ "title": {
68928
+ "type": "string"
68929
+ },
68930
+ "participant": {
68931
+ "type": "object",
68932
+ "properties": {
68933
+ "surfaceKind": {
68934
+ "type": "string"
68935
+ },
68936
+ "surfaceId": {
68937
+ "type": "string"
68938
+ },
68939
+ "externalId": {
68940
+ "type": "string"
68941
+ },
68942
+ "userId": {
68943
+ "type": "string"
68944
+ },
68945
+ "displayName": {
68946
+ "type": "string"
68947
+ },
68948
+ "routeId": {
68949
+ "type": "string"
68950
+ },
68951
+ "lastSeenAt": {
68952
+ "type": "number"
68953
+ }
68954
+ },
68955
+ "required": [
68956
+ "surfaceKind",
68957
+ "surfaceId",
68958
+ "lastSeenAt"
68959
+ ],
68960
+ "additionalProperties": false
68961
+ },
68962
+ "reopen": {
68963
+ "type": "boolean"
68964
+ }
68965
+ },
68966
+ "required": [
68967
+ "sessionId",
68968
+ "participant"
68969
+ ],
68970
+ "additionalProperties": true
68971
+ },
68972
+ "outputSchema": {
68973
+ "type": "object",
68974
+ "properties": {
68975
+ "session": {
68976
+ "type": "object",
68977
+ "properties": {
68978
+ "id": {
68979
+ "type": "string"
68980
+ },
68981
+ "kind": {
68982
+ "type": "string"
68983
+ },
68984
+ "project": {
68985
+ "type": "string"
68986
+ },
68987
+ "title": {
68988
+ "type": "string"
68989
+ },
68990
+ "status": {
68991
+ "type": "string",
68992
+ "enum": [
68993
+ "active",
68994
+ "closed"
68995
+ ]
68996
+ },
68997
+ "createdAt": {
68998
+ "type": "number"
68999
+ },
69000
+ "updatedAt": {
69001
+ "type": "number"
69002
+ },
69003
+ "lastMessageAt": {
69004
+ "type": "number"
69005
+ },
69006
+ "closedAt": {
69007
+ "type": "number"
69008
+ },
69009
+ "lastActivityAt": {
69010
+ "type": "number"
69011
+ },
69012
+ "messageCount": {
69013
+ "type": "number"
69014
+ },
69015
+ "retainedMessageCount": {
69016
+ "type": "number"
69017
+ },
69018
+ "pendingInputCount": {
69019
+ "type": "number"
69020
+ },
69021
+ "routeIds": {
69022
+ "type": "array",
69023
+ "items": {
69024
+ "type": "string"
69025
+ }
69026
+ },
69027
+ "surfaceKinds": {
69028
+ "type": "array",
69029
+ "items": {
69030
+ "type": "string"
69031
+ }
69032
+ },
69033
+ "participants": {
69034
+ "type": "array",
69035
+ "items": {
69036
+ "type": "object",
69037
+ "properties": {
69038
+ "surfaceKind": {
69039
+ "type": "string"
69040
+ },
69041
+ "surfaceId": {
69042
+ "type": "string"
69043
+ },
69044
+ "externalId": {
69045
+ "type": "string"
69046
+ },
69047
+ "userId": {
69048
+ "type": "string"
69049
+ },
69050
+ "displayName": {
69051
+ "type": "string"
69052
+ },
69053
+ "routeId": {
69054
+ "type": "string"
69055
+ },
69056
+ "lastSeenAt": {
69057
+ "type": "number"
69058
+ }
69059
+ },
69060
+ "required": [
69061
+ "surfaceKind",
69062
+ "surfaceId",
69063
+ "lastSeenAt"
69064
+ ],
69065
+ "additionalProperties": false
69066
+ }
69067
+ },
69068
+ "activeAgentId": {
69069
+ "type": "string"
69070
+ },
69071
+ "lastAgentId": {
69072
+ "type": "string"
69073
+ },
69074
+ "lastError": {
69075
+ "type": "string"
69076
+ },
69077
+ "metadata": {
69078
+ "type": "object",
69079
+ "additionalProperties": {
69080
+ "anyOf": [
69081
+ {
69082
+ "type": "string"
69083
+ },
69084
+ {
69085
+ "type": "number"
69086
+ },
69087
+ {
69088
+ "type": "boolean"
69089
+ },
69090
+ {
69091
+ "type": "null"
69092
+ },
69093
+ {
69094
+ "type": "object",
69095
+ "additionalProperties": {}
69096
+ },
69097
+ {
69098
+ "type": "array",
69099
+ "items": {}
69100
+ }
69101
+ ]
69102
+ }
69103
+ }
69104
+ },
69105
+ "required": [
69106
+ "id",
69107
+ "kind",
69108
+ "title",
69109
+ "status",
69110
+ "createdAt",
69111
+ "updatedAt",
69112
+ "lastActivityAt",
69113
+ "messageCount",
69114
+ "pendingInputCount",
69115
+ "routeIds",
69116
+ "surfaceKinds",
69117
+ "participants",
69118
+ "metadata"
69119
+ ],
69120
+ "additionalProperties": false
69121
+ },
69122
+ "reopened": {
69123
+ "type": "boolean"
69124
+ },
69125
+ "conflict": {
69126
+ "type": "object",
69127
+ "properties": {
69128
+ "status": {
69129
+ "type": "string",
69130
+ "enum": [
69131
+ "closed"
69132
+ ]
69133
+ }
69134
+ },
69135
+ "required": [
69136
+ "status"
69137
+ ],
69138
+ "additionalProperties": false
69139
+ }
69140
+ },
69141
+ "required": [
69142
+ "session",
69143
+ "reopened"
69144
+ ],
69145
+ "additionalProperties": false
69146
+ },
69147
+ "invokable": true
69148
+ },
67217
69149
  {
67218
69150
  "id": "sessions.reopen",
67219
69151
  "title": "Reopen Shared Session",
@@ -67232,6 +69164,9 @@
67232
69164
  "method": "POST",
67233
69165
  "path": "/api/sessions/{sessionId}/reopen"
67234
69166
  },
69167
+ "events": [
69168
+ "control.session_update"
69169
+ ],
67235
69170
  "inputSchema": {
67236
69171
  "type": "object",
67237
69172
  "properties": {
@@ -67254,12 +69189,10 @@
67254
69189
  "type": "string"
67255
69190
  },
67256
69191
  "kind": {
67257
- "type": "string",
67258
- "enum": [
67259
- "tui",
67260
- "companion-task",
67261
- "companion-chat"
67262
- ]
69192
+ "type": "string"
69193
+ },
69194
+ "project": {
69195
+ "type": "string"
67263
69196
  },
67264
69197
  "title": {
67265
69198
  "type": "string"
@@ -67289,6 +69222,9 @@
67289
69222
  "messageCount": {
67290
69223
  "type": "number"
67291
69224
  },
69225
+ "retainedMessageCount": {
69226
+ "type": "number"
69227
+ },
67292
69228
  "pendingInputCount": {
67293
69229
  "type": "number"
67294
69230
  },
@@ -67401,6 +69337,221 @@
67401
69337
  },
67402
69338
  "invokable": true
67403
69339
  },
69340
+ {
69341
+ "id": "sessions.search",
69342
+ "title": "Search Shared Sessions",
69343
+ "description": "Paginated, filtered query over shared sessions: free-text query (matches id/title), project, kind, surfaceKind, and status. Closed sessions are EXCLUDED by default — pass includeClosed:true to include them, and a returned closed session always carries an honest status:\"closed\" (never hidden, never relabeled). Cursor pagination returns disjoint pages that union to the full matching set.",
69344
+ "category": "sessions",
69345
+ "source": "builtin",
69346
+ "access": "authenticated",
69347
+ "transport": [
69348
+ "ws"
69349
+ ],
69350
+ "scopes": [
69351
+ "read:sessions"
69352
+ ],
69353
+ "inputSchema": {
69354
+ "type": "object",
69355
+ "properties": {
69356
+ "query": {
69357
+ "type": "string"
69358
+ },
69359
+ "project": {
69360
+ "type": "string"
69361
+ },
69362
+ "kind": {
69363
+ "type": "string"
69364
+ },
69365
+ "surfaceKind": {
69366
+ "type": "string"
69367
+ },
69368
+ "status": {
69369
+ "type": "string",
69370
+ "enum": [
69371
+ "active",
69372
+ "closed"
69373
+ ]
69374
+ },
69375
+ "includeClosed": {
69376
+ "type": "boolean"
69377
+ },
69378
+ "limit": {
69379
+ "type": "number"
69380
+ },
69381
+ "cursor": {
69382
+ "type": "string"
69383
+ }
69384
+ },
69385
+ "additionalProperties": false
69386
+ },
69387
+ "outputSchema": {
69388
+ "type": "object",
69389
+ "properties": {
69390
+ "sessions": {
69391
+ "type": "array",
69392
+ "items": {
69393
+ "type": "object",
69394
+ "properties": {
69395
+ "id": {
69396
+ "type": "string"
69397
+ },
69398
+ "kind": {
69399
+ "type": "string"
69400
+ },
69401
+ "project": {
69402
+ "type": "string"
69403
+ },
69404
+ "title": {
69405
+ "type": "string"
69406
+ },
69407
+ "status": {
69408
+ "type": "string",
69409
+ "enum": [
69410
+ "active",
69411
+ "closed"
69412
+ ]
69413
+ },
69414
+ "createdAt": {
69415
+ "type": "number"
69416
+ },
69417
+ "updatedAt": {
69418
+ "type": "number"
69419
+ },
69420
+ "lastMessageAt": {
69421
+ "type": "number"
69422
+ },
69423
+ "closedAt": {
69424
+ "type": "number"
69425
+ },
69426
+ "lastActivityAt": {
69427
+ "type": "number"
69428
+ },
69429
+ "messageCount": {
69430
+ "type": "number"
69431
+ },
69432
+ "retainedMessageCount": {
69433
+ "type": "number"
69434
+ },
69435
+ "pendingInputCount": {
69436
+ "type": "number"
69437
+ },
69438
+ "routeIds": {
69439
+ "type": "array",
69440
+ "items": {
69441
+ "type": "string"
69442
+ }
69443
+ },
69444
+ "surfaceKinds": {
69445
+ "type": "array",
69446
+ "items": {
69447
+ "type": "string"
69448
+ }
69449
+ },
69450
+ "participants": {
69451
+ "type": "array",
69452
+ "items": {
69453
+ "type": "object",
69454
+ "properties": {
69455
+ "surfaceKind": {
69456
+ "type": "string"
69457
+ },
69458
+ "surfaceId": {
69459
+ "type": "string"
69460
+ },
69461
+ "externalId": {
69462
+ "type": "string"
69463
+ },
69464
+ "userId": {
69465
+ "type": "string"
69466
+ },
69467
+ "displayName": {
69468
+ "type": "string"
69469
+ },
69470
+ "routeId": {
69471
+ "type": "string"
69472
+ },
69473
+ "lastSeenAt": {
69474
+ "type": "number"
69475
+ }
69476
+ },
69477
+ "required": [
69478
+ "surfaceKind",
69479
+ "surfaceId",
69480
+ "lastSeenAt"
69481
+ ],
69482
+ "additionalProperties": false
69483
+ }
69484
+ },
69485
+ "activeAgentId": {
69486
+ "type": "string"
69487
+ },
69488
+ "lastAgentId": {
69489
+ "type": "string"
69490
+ },
69491
+ "lastError": {
69492
+ "type": "string"
69493
+ },
69494
+ "metadata": {
69495
+ "type": "object",
69496
+ "additionalProperties": {
69497
+ "anyOf": [
69498
+ {
69499
+ "type": "string"
69500
+ },
69501
+ {
69502
+ "type": "number"
69503
+ },
69504
+ {
69505
+ "type": "boolean"
69506
+ },
69507
+ {
69508
+ "type": "null"
69509
+ },
69510
+ {
69511
+ "type": "object",
69512
+ "additionalProperties": {}
69513
+ },
69514
+ {
69515
+ "type": "array",
69516
+ "items": {}
69517
+ }
69518
+ ]
69519
+ }
69520
+ }
69521
+ },
69522
+ "required": [
69523
+ "id",
69524
+ "kind",
69525
+ "title",
69526
+ "status",
69527
+ "createdAt",
69528
+ "updatedAt",
69529
+ "lastActivityAt",
69530
+ "messageCount",
69531
+ "pendingInputCount",
69532
+ "routeIds",
69533
+ "surfaceKinds",
69534
+ "participants",
69535
+ "metadata"
69536
+ ],
69537
+ "additionalProperties": false
69538
+ }
69539
+ },
69540
+ "nextCursor": {
69541
+ "type": "string"
69542
+ },
69543
+ "hasMore": {
69544
+ "type": "boolean"
69545
+ }
69546
+ },
69547
+ "required": [
69548
+ "sessions",
69549
+ "hasMore"
69550
+ ],
69551
+ "additionalProperties": false
69552
+ },
69553
+ "invokable": true
69554
+ },
67404
69555
  {
67405
69556
  "id": "sessions.steer",
67406
69557
  "title": "Steer Shared Session",
@@ -67419,6 +69570,9 @@
67419
69570
  "method": "POST",
67420
69571
  "path": "/api/sessions/{sessionId}/steer"
67421
69572
  },
69573
+ "events": [
69574
+ "control.session_update"
69575
+ ],
67422
69576
  "inputSchema": {
67423
69577
  "type": "object",
67424
69578
  "properties": {
@@ -67551,12 +69705,10 @@
67551
69705
  "type": "string"
67552
69706
  },
67553
69707
  "kind": {
67554
- "type": "string",
67555
- "enum": [
67556
- "tui",
67557
- "companion-task",
67558
- "companion-chat"
67559
- ]
69708
+ "type": "string"
69709
+ },
69710
+ "project": {
69711
+ "type": "string"
67560
69712
  },
67561
69713
  "title": {
67562
69714
  "type": "string"
@@ -67586,6 +69738,9 @@
67586
69738
  "messageCount": {
67587
69739
  "type": "number"
67588
69740
  },
69741
+ "retainedMessageCount": {
69742
+ "type": "number"
69743
+ },
67589
69744
  "pendingInputCount": {
67590
69745
  "type": "number"
67591
69746
  },
@@ -67991,6 +70146,7 @@
67991
70146
  "spawn",
67992
70147
  "continued-live",
67993
70148
  "queued-follow-up",
70149
+ "queued-for-surface",
67994
70150
  "rejected"
67995
70151
  ]
67996
70152
  },
@@ -73770,9 +75926,9 @@
73770
75926
  "invokable": true
73771
75927
  },
73772
75928
  {
73773
- "id": "watchers.patch",
73774
- "title": "Patch Watcher",
73775
- "description": "Patch an existing watcher.",
75929
+ "id": "watchers.run",
75930
+ "title": "Run Watcher",
75931
+ "description": "Trigger a watcher immediately.",
73776
75932
  "category": "watchers",
73777
75933
  "source": "builtin",
73778
75934
  "access": "admin",
@@ -73784,8 +75940,8 @@
73784
75940
  "write:watchers"
73785
75941
  ],
73786
75942
  "http": {
73787
- "method": "PATCH",
73788
- "path": "/api/watchers/{watcherId}"
75943
+ "method": "POST",
75944
+ "path": "/api/watchers/{watcherId}/run"
73789
75945
  },
73790
75946
  "events": [
73791
75947
  "runtime.watchers"
@@ -73795,25 +75951,109 @@
73795
75951
  "properties": {
73796
75952
  "watcherId": {
73797
75953
  "type": "string"
73798
- },
73799
- "label": {
75954
+ }
75955
+ },
75956
+ "required": [
75957
+ "watcherId"
75958
+ ],
75959
+ "additionalProperties": false
75960
+ },
75961
+ "outputSchema": {
75962
+ "type": "object",
75963
+ "properties": {
75964
+ "id": {
73800
75965
  "type": "string"
73801
75966
  },
73802
75967
  "kind": {
73803
75968
  "type": "string"
73804
75969
  },
73805
- "sourceId": {
75970
+ "label": {
73806
75971
  "type": "string"
73807
75972
  },
73808
- "sourceKind": {
75973
+ "state": {
73809
75974
  "type": "string"
73810
75975
  },
73811
- "enabled": {
73812
- "type": "boolean"
75976
+ "source": {
75977
+ "type": "object",
75978
+ "properties": {
75979
+ "id": {
75980
+ "type": "string"
75981
+ },
75982
+ "kind": {
75983
+ "type": "string"
75984
+ },
75985
+ "label": {
75986
+ "type": "string"
75987
+ },
75988
+ "enabled": {
75989
+ "type": "boolean"
75990
+ },
75991
+ "createdAt": {
75992
+ "type": "number"
75993
+ },
75994
+ "updatedAt": {
75995
+ "type": "number"
75996
+ },
75997
+ "metadata": {
75998
+ "type": "object",
75999
+ "additionalProperties": {
76000
+ "anyOf": [
76001
+ {
76002
+ "type": "string"
76003
+ },
76004
+ {
76005
+ "type": "number"
76006
+ },
76007
+ {
76008
+ "type": "boolean"
76009
+ },
76010
+ {
76011
+ "type": "null"
76012
+ },
76013
+ {
76014
+ "type": "object",
76015
+ "additionalProperties": {}
76016
+ },
76017
+ {
76018
+ "type": "array",
76019
+ "items": {}
76020
+ }
76021
+ ]
76022
+ }
76023
+ }
76024
+ },
76025
+ "required": [
76026
+ "id",
76027
+ "kind",
76028
+ "label",
76029
+ "enabled",
76030
+ "createdAt",
76031
+ "updatedAt",
76032
+ "metadata"
76033
+ ],
76034
+ "additionalProperties": true
73813
76035
  },
73814
76036
  "intervalMs": {
73815
76037
  "type": "number"
73816
76038
  },
76039
+ "lastHeartbeatAt": {
76040
+ "type": "number"
76041
+ },
76042
+ "sourceLagMs": {
76043
+ "type": "number"
76044
+ },
76045
+ "sourceStatus": {
76046
+ "type": "string"
76047
+ },
76048
+ "degradedReason": {
76049
+ "type": "string"
76050
+ },
76051
+ "lastCheckpoint": {
76052
+ "type": "string"
76053
+ },
76054
+ "lastError": {
76055
+ "type": "string"
76056
+ },
73817
76057
  "metadata": {
73818
76058
  "type": "object",
73819
76059
  "additionalProperties": {
@@ -73840,34 +76080,53 @@
73840
76080
  }
73841
76081
  ]
73842
76082
  }
73843
- },
73844
- "url": {
73845
- "type": "string"
73846
- },
73847
- "method": {
73848
- "type": "string"
73849
- },
73850
- "path": {
73851
- "type": "string"
73852
- },
73853
- "endpoint": {
73854
- "type": "string"
73855
- },
73856
- "address": {
73857
- "type": "string"
73858
- },
73859
- "headers": {
73860
- "type": "object",
73861
- "additionalProperties": {
73862
- "type": "string"
73863
- }
73864
- },
73865
- "run": {
73866
- "type": "string"
73867
76083
  }
73868
76084
  },
76085
+ "required": [
76086
+ "id",
76087
+ "kind",
76088
+ "label",
76089
+ "state",
76090
+ "source",
76091
+ "metadata"
76092
+ ],
73869
76093
  "additionalProperties": true
73870
76094
  },
76095
+ "invokable": true
76096
+ },
76097
+ {
76098
+ "id": "watchers.start",
76099
+ "title": "Start Watcher",
76100
+ "description": "Start a watcher instance.",
76101
+ "category": "watchers",
76102
+ "source": "builtin",
76103
+ "access": "admin",
76104
+ "transport": [
76105
+ "http",
76106
+ "ws"
76107
+ ],
76108
+ "scopes": [
76109
+ "write:watchers"
76110
+ ],
76111
+ "http": {
76112
+ "method": "POST",
76113
+ "path": "/api/watchers/{watcherId}/start"
76114
+ },
76115
+ "events": [
76116
+ "runtime.watchers"
76117
+ ],
76118
+ "inputSchema": {
76119
+ "type": "object",
76120
+ "properties": {
76121
+ "watcherId": {
76122
+ "type": "string"
76123
+ }
76124
+ },
76125
+ "required": [
76126
+ "watcherId"
76127
+ ],
76128
+ "additionalProperties": false
76129
+ },
73871
76130
  "outputSchema": {
73872
76131
  "type": "object",
73873
76132
  "properties": {
@@ -74005,9 +76264,9 @@
74005
76264
  "invokable": true
74006
76265
  },
74007
76266
  {
74008
- "id": "watchers.run",
74009
- "title": "Run Watcher",
74010
- "description": "Trigger a watcher immediately.",
76267
+ "id": "watchers.stop",
76268
+ "title": "Stop Watcher",
76269
+ "description": "Stop a watcher instance.",
74011
76270
  "category": "watchers",
74012
76271
  "source": "builtin",
74013
76272
  "access": "admin",
@@ -74020,7 +76279,7 @@
74020
76279
  ],
74021
76280
  "http": {
74022
76281
  "method": "POST",
74023
- "path": "/api/watchers/{watcherId}/run"
76282
+ "path": "/api/watchers/{watcherId}/stop"
74024
76283
  },
74025
76284
  "events": [
74026
76285
  "runtime.watchers"
@@ -74159,221 +76418,118 @@
74159
76418
  }
74160
76419
  ]
74161
76420
  }
74162
- }
74163
- },
74164
- "required": [
74165
- "id",
74166
- "kind",
74167
- "label",
74168
- "state",
74169
- "source",
74170
- "metadata"
74171
- ],
74172
- "additionalProperties": true
74173
- },
74174
- "invokable": true
74175
- },
74176
- {
74177
- "id": "watchers.start",
74178
- "title": "Start Watcher",
74179
- "description": "Start a watcher instance.",
74180
- "category": "watchers",
74181
- "source": "builtin",
74182
- "access": "admin",
74183
- "transport": [
74184
- "http",
74185
- "ws"
74186
- ],
74187
- "scopes": [
74188
- "write:watchers"
74189
- ],
74190
- "http": {
74191
- "method": "POST",
74192
- "path": "/api/watchers/{watcherId}/start"
74193
- },
74194
- "events": [
74195
- "runtime.watchers"
74196
- ],
74197
- "inputSchema": {
74198
- "type": "object",
74199
- "properties": {
74200
- "watcherId": {
74201
- "type": "string"
74202
- }
74203
- },
74204
- "required": [
74205
- "watcherId"
74206
- ],
74207
- "additionalProperties": false
74208
- },
74209
- "outputSchema": {
74210
- "type": "object",
74211
- "properties": {
74212
- "id": {
74213
- "type": "string"
74214
- },
74215
- "kind": {
74216
- "type": "string"
74217
- },
74218
- "label": {
74219
- "type": "string"
76421
+ }
76422
+ },
76423
+ "required": [
76424
+ "id",
76425
+ "kind",
76426
+ "label",
76427
+ "state",
76428
+ "source",
76429
+ "metadata"
76430
+ ],
76431
+ "additionalProperties": true
76432
+ },
76433
+ "invokable": true
76434
+ },
76435
+ {
76436
+ "id": "watchers.update",
76437
+ "title": "Update Watcher",
76438
+ "description": "Update an existing watcher. (Renamed from watchers.patch in the Wave-6 core-verb pass — canonical verb is update, not patch.)",
76439
+ "category": "watchers",
76440
+ "source": "builtin",
76441
+ "access": "admin",
76442
+ "transport": [
76443
+ "http",
76444
+ "ws"
76445
+ ],
76446
+ "scopes": [
76447
+ "write:watchers"
76448
+ ],
76449
+ "http": {
76450
+ "method": "PATCH",
76451
+ "path": "/api/watchers/{watcherId}"
76452
+ },
76453
+ "events": [
76454
+ "runtime.watchers"
76455
+ ],
76456
+ "inputSchema": {
76457
+ "type": "object",
76458
+ "properties": {
76459
+ "watcherId": {
76460
+ "type": "string"
76461
+ },
76462
+ "label": {
76463
+ "type": "string"
76464
+ },
76465
+ "kind": {
76466
+ "type": "string"
76467
+ },
76468
+ "sourceId": {
76469
+ "type": "string"
76470
+ },
76471
+ "sourceKind": {
76472
+ "type": "string"
76473
+ },
76474
+ "enabled": {
76475
+ "type": "boolean"
76476
+ },
76477
+ "intervalMs": {
76478
+ "type": "number"
76479
+ },
76480
+ "metadata": {
76481
+ "type": "object",
76482
+ "additionalProperties": {
76483
+ "anyOf": [
76484
+ {
76485
+ "type": "string"
76486
+ },
76487
+ {
76488
+ "type": "number"
76489
+ },
76490
+ {
76491
+ "type": "boolean"
76492
+ },
76493
+ {
76494
+ "type": "null"
76495
+ },
76496
+ {
76497
+ "type": "object",
76498
+ "additionalProperties": {}
76499
+ },
76500
+ {
76501
+ "type": "array",
76502
+ "items": {}
76503
+ }
76504
+ ]
76505
+ }
74220
76506
  },
74221
- "state": {
76507
+ "url": {
74222
76508
  "type": "string"
74223
76509
  },
74224
- "source": {
74225
- "type": "object",
74226
- "properties": {
74227
- "id": {
74228
- "type": "string"
74229
- },
74230
- "kind": {
74231
- "type": "string"
74232
- },
74233
- "label": {
74234
- "type": "string"
74235
- },
74236
- "enabled": {
74237
- "type": "boolean"
74238
- },
74239
- "createdAt": {
74240
- "type": "number"
74241
- },
74242
- "updatedAt": {
74243
- "type": "number"
74244
- },
74245
- "metadata": {
74246
- "type": "object",
74247
- "additionalProperties": {
74248
- "anyOf": [
74249
- {
74250
- "type": "string"
74251
- },
74252
- {
74253
- "type": "number"
74254
- },
74255
- {
74256
- "type": "boolean"
74257
- },
74258
- {
74259
- "type": "null"
74260
- },
74261
- {
74262
- "type": "object",
74263
- "additionalProperties": {}
74264
- },
74265
- {
74266
- "type": "array",
74267
- "items": {}
74268
- }
74269
- ]
74270
- }
74271
- }
74272
- },
74273
- "required": [
74274
- "id",
74275
- "kind",
74276
- "label",
74277
- "enabled",
74278
- "createdAt",
74279
- "updatedAt",
74280
- "metadata"
74281
- ],
74282
- "additionalProperties": true
74283
- },
74284
- "intervalMs": {
74285
- "type": "number"
74286
- },
74287
- "lastHeartbeatAt": {
74288
- "type": "number"
74289
- },
74290
- "sourceLagMs": {
74291
- "type": "number"
74292
- },
74293
- "sourceStatus": {
76510
+ "method": {
74294
76511
  "type": "string"
74295
76512
  },
74296
- "degradedReason": {
76513
+ "path": {
74297
76514
  "type": "string"
74298
76515
  },
74299
- "lastCheckpoint": {
76516
+ "endpoint": {
74300
76517
  "type": "string"
74301
76518
  },
74302
- "lastError": {
76519
+ "address": {
74303
76520
  "type": "string"
74304
76521
  },
74305
- "metadata": {
76522
+ "headers": {
74306
76523
  "type": "object",
74307
76524
  "additionalProperties": {
74308
- "anyOf": [
74309
- {
74310
- "type": "string"
74311
- },
74312
- {
74313
- "type": "number"
74314
- },
74315
- {
74316
- "type": "boolean"
74317
- },
74318
- {
74319
- "type": "null"
74320
- },
74321
- {
74322
- "type": "object",
74323
- "additionalProperties": {}
74324
- },
74325
- {
74326
- "type": "array",
74327
- "items": {}
74328
- }
74329
- ]
76525
+ "type": "string"
74330
76526
  }
74331
- }
74332
- },
74333
- "required": [
74334
- "id",
74335
- "kind",
74336
- "label",
74337
- "state",
74338
- "source",
74339
- "metadata"
74340
- ],
74341
- "additionalProperties": true
74342
- },
74343
- "invokable": true
74344
- },
74345
- {
74346
- "id": "watchers.stop",
74347
- "title": "Stop Watcher",
74348
- "description": "Stop a watcher instance.",
74349
- "category": "watchers",
74350
- "source": "builtin",
74351
- "access": "admin",
74352
- "transport": [
74353
- "http",
74354
- "ws"
74355
- ],
74356
- "scopes": [
74357
- "write:watchers"
74358
- ],
74359
- "http": {
74360
- "method": "POST",
74361
- "path": "/api/watchers/{watcherId}/stop"
74362
- },
74363
- "events": [
74364
- "runtime.watchers"
74365
- ],
74366
- "inputSchema": {
74367
- "type": "object",
74368
- "properties": {
74369
- "watcherId": {
76527
+ },
76528
+ "run": {
74370
76529
  "type": "string"
74371
76530
  }
74372
76531
  },
74373
- "required": [
74374
- "watcherId"
74375
- ],
74376
- "additionalProperties": false
76532
+ "additionalProperties": true
74377
76533
  },
74378
76534
  "outputSchema": {
74379
76535
  "type": "object",
@@ -76304,6 +78460,86 @@
76304
78460
  "additionalProperties": false
76305
78461
  }
76306
78462
  },
78463
+ {
78464
+ "id": "control.session_update",
78465
+ "title": "Session Lifecycle Update",
78466
+ "description": "Shared-session lifecycle broadcast. Every session created / closed / deleted / reopened / agent-bound / agent-completed / message-appended / message-forwarded / route-attached and every input & follow-up lifecycle transition is published on the single `session-update` wire event; the specific lifecycle name is the discriminated `payload.event` field. Cross-surface invalidation mapping (webui/TUI): created ⇐ session-created; updated ⇐ session-message-appended / session-agent-completed / session-route-attached / session-reopened; steered ⇐ session-input-delivered / session-message-forwarded; closed ⇐ session-closed; deleted ⇐ session-deleted (a hard removal — the record is gone, not merely closed). This channel is un-domained: it reaches every live SSE/WS client regardless of subscribed domains, and is dropped entirely when the control-plane-gateway flag is turned off (no phantom buffering).",
78467
+ "category": "transport",
78468
+ "source": "builtin",
78469
+ "transport": [
78470
+ "sse",
78471
+ "ws"
78472
+ ],
78473
+ "scopes": [
78474
+ "read:sessions"
78475
+ ],
78476
+ "wireEvents": [
78477
+ "session-update"
78478
+ ],
78479
+ "outputSchema": {
78480
+ "type": "object",
78481
+ "properties": {
78482
+ "event": {
78483
+ "type": "string",
78484
+ "enum": [
78485
+ "session-created",
78486
+ "session-closed",
78487
+ "session-deleted",
78488
+ "session-reopened",
78489
+ "session-agent-bound",
78490
+ "session-agent-completed",
78491
+ "session-message-appended",
78492
+ "session-message-forwarded",
78493
+ "session-route-attached",
78494
+ "session-detached",
78495
+ "session-input-queued",
78496
+ "session-input-queued-for-surface",
78497
+ "session-input-delivered",
78498
+ "session-input-spawned",
78499
+ "session-input-completed",
78500
+ "session-input-failed",
78501
+ "session-input-rejected",
78502
+ "session-input-cancelled",
78503
+ "session-follow-up-queued",
78504
+ "session-follow-up-spawned"
78505
+ ]
78506
+ },
78507
+ "payload": {
78508
+ "type": "object",
78509
+ "additionalProperties": {
78510
+ "anyOf": [
78511
+ {
78512
+ "type": "string"
78513
+ },
78514
+ {
78515
+ "type": "number"
78516
+ },
78517
+ {
78518
+ "type": "boolean"
78519
+ },
78520
+ {
78521
+ "type": "null"
78522
+ },
78523
+ {},
78524
+ {
78525
+ "type": "array",
78526
+ "items": {}
78527
+ }
78528
+ ]
78529
+ }
78530
+ },
78531
+ "createdAt": {
78532
+ "type": "number"
78533
+ }
78534
+ },
78535
+ "required": [
78536
+ "event",
78537
+ "payload",
78538
+ "createdAt"
78539
+ ],
78540
+ "additionalProperties": false
78541
+ }
78542
+ },
76307
78543
  {
76308
78544
  "id": "control.surface_message",
76309
78545
  "title": "Surface Message",
@@ -76491,16 +78727,22 @@
76491
78727
  }
76492
78728
  ],
76493
78729
  "schemaCoverage": {
76494
- "methods": 297,
76495
- "typedInputs": 297,
78730
+ "methods": 308,
78731
+ "typedInputs": 308,
76496
78732
  "genericInputs": 0,
76497
- "typedOutputs": 297,
78733
+ "typedOutputs": 308,
76498
78734
  "genericOutputs": 0
76499
78735
  },
76500
78736
  "eventCoverage": {
76501
- "events": 30,
78737
+ "events": 31,
76502
78738
  "withDomains": 27,
76503
- "withWireEvents": 30
78739
+ "withWireEvents": 31
78740
+ },
78741
+ "validationCoverage": {
78742
+ "methods": 308,
78743
+ "validated": 308,
78744
+ "skippedGeneric": 0,
78745
+ "skippedUntyped": 0
76504
78746
  }
76505
78747
  },
76506
78748
  "peer": {