@cleocode/core 2026.6.13 → 2026.6.15

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 (485) hide show
  1. package/dist/admin/ops.d.ts +4 -0
  2. package/dist/admin/ops.d.ts.map +1 -1
  3. package/dist/check/index.d.ts +12 -0
  4. package/dist/check/index.d.ts.map +1 -0
  5. package/dist/check/index.js +12 -0
  6. package/dist/check/index.js.map +1 -0
  7. package/dist/check/pr-gate.d.ts +183 -0
  8. package/dist/check/pr-gate.d.ts.map +1 -0
  9. package/dist/check/pr-gate.js +348 -0
  10. package/dist/check/pr-gate.js.map +1 -0
  11. package/dist/conduit/delivery-router.d.ts +134 -0
  12. package/dist/conduit/delivery-router.d.ts.map +1 -0
  13. package/dist/conduit/delivery-router.js +0 -0
  14. package/dist/conduit/delivery-router.js.map +1 -0
  15. package/dist/conduit/index.d.ts +5 -2
  16. package/dist/conduit/index.d.ts.map +1 -1
  17. package/dist/conduit/index.js +5 -2
  18. package/dist/conduit/index.js.map +1 -1
  19. package/dist/conduit/local-tui-adapter.d.ts +89 -0
  20. package/dist/conduit/local-tui-adapter.d.ts.map +1 -0
  21. package/dist/conduit/local-tui-adapter.js +225 -0
  22. package/dist/conduit/local-tui-adapter.js.map +1 -0
  23. package/dist/config/config-repair.d.ts +70 -0
  24. package/dist/config/config-repair.d.ts.map +1 -0
  25. package/dist/config/config-repair.js +248 -0
  26. package/dist/config/config-repair.js.map +1 -0
  27. package/dist/config/registry.d.ts +54 -0
  28. package/dist/config/registry.d.ts.map +1 -1
  29. package/dist/config/registry.js +92 -0
  30. package/dist/config/registry.js.map +1 -1
  31. package/dist/config.d.ts.map +1 -1
  32. package/dist/config.js +11 -10
  33. package/dist/config.js.map +1 -1
  34. package/dist/deriver/queue-manager.d.ts +30 -2
  35. package/dist/deriver/queue-manager.d.ts.map +1 -1
  36. package/dist/deriver/queue-manager.js +54 -9
  37. package/dist/deriver/queue-manager.js.map +1 -1
  38. package/dist/dispatch/config-domain-handler.d.ts +125 -0
  39. package/dist/dispatch/config-domain-handler.d.ts.map +1 -0
  40. package/dist/dispatch/config-domain-handler.js +160 -0
  41. package/dist/dispatch/config-domain-handler.js.map +1 -0
  42. package/dist/dispatch/contracts/input-contracts.d.ts.map +1 -1
  43. package/dist/dispatch/contracts/input-contracts.js +19 -1
  44. package/dist/dispatch/contracts/input-contracts.js.map +1 -1
  45. package/dist/docs/export-document.js +3721 -696
  46. package/dist/docs/export-document.js.map +3 -3
  47. package/dist/gateway-client/client.d.ts +123 -0
  48. package/dist/gateway-client/client.d.ts.map +1 -0
  49. package/dist/gateway-client/client.js +93 -0
  50. package/dist/gateway-client/client.js.map +1 -0
  51. package/dist/gateway-client/generated/client/client.gen.d.ts +3 -0
  52. package/dist/gateway-client/generated/client/client.gen.d.ts.map +1 -0
  53. package/dist/gateway-client/generated/client/client.gen.js +217 -0
  54. package/dist/gateway-client/generated/client/client.gen.js.map +1 -0
  55. package/dist/gateway-client/generated/client/index.d.ts +11 -0
  56. package/dist/gateway-client/generated/client/index.d.ts.map +1 -0
  57. package/dist/gateway-client/generated/client/index.js +7 -0
  58. package/dist/gateway-client/generated/client/index.js.map +1 -0
  59. package/dist/gateway-client/generated/client/types.gen.d.ts +121 -0
  60. package/dist/gateway-client/generated/client/types.gen.d.ts.map +1 -0
  61. package/dist/gateway-client/generated/client/types.gen.js +3 -0
  62. package/dist/gateway-client/generated/client/types.gen.js.map +1 -0
  63. package/dist/gateway-client/generated/client/utils.gen.d.ts +38 -0
  64. package/dist/gateway-client/generated/client/utils.gen.d.ts.map +1 -0
  65. package/dist/gateway-client/generated/client/utils.gen.js +229 -0
  66. package/dist/gateway-client/generated/client/utils.gen.js.map +1 -0
  67. package/dist/gateway-client/generated/client.gen.d.ts +13 -0
  68. package/dist/gateway-client/generated/client.gen.d.ts.map +1 -0
  69. package/dist/gateway-client/generated/client.gen.js +4 -0
  70. package/dist/gateway-client/generated/client.gen.js.map +1 -0
  71. package/dist/gateway-client/generated/core/auth.gen.d.ts +26 -0
  72. package/dist/gateway-client/generated/core/auth.gen.d.ts.map +1 -0
  73. package/dist/gateway-client/generated/core/auth.gen.js +15 -0
  74. package/dist/gateway-client/generated/core/auth.gen.js.map +1 -0
  75. package/dist/gateway-client/generated/core/bodySerializer.gen.d.ts +26 -0
  76. package/dist/gateway-client/generated/core/bodySerializer.gen.d.ts.map +1 -0
  77. package/dist/gateway-client/generated/core/bodySerializer.gen.js +58 -0
  78. package/dist/gateway-client/generated/core/bodySerializer.gen.js.map +1 -0
  79. package/dist/gateway-client/generated/core/params.gen.d.ts +44 -0
  80. package/dist/gateway-client/generated/core/params.gen.d.ts.map +1 -0
  81. package/dist/gateway-client/generated/core/params.gen.js +101 -0
  82. package/dist/gateway-client/generated/core/params.gen.js.map +1 -0
  83. package/dist/gateway-client/generated/core/pathSerializer.gen.d.ts +34 -0
  84. package/dist/gateway-client/generated/core/pathSerializer.gen.d.ts.map +1 -0
  85. package/dist/gateway-client/generated/core/pathSerializer.gen.js +107 -0
  86. package/dist/gateway-client/generated/core/pathSerializer.gen.js.map +1 -0
  87. package/dist/gateway-client/generated/core/queryKeySerializer.gen.d.ts +19 -0
  88. package/dist/gateway-client/generated/core/queryKeySerializer.gen.d.ts.map +1 -0
  89. package/dist/gateway-client/generated/core/queryKeySerializer.gen.js +93 -0
  90. package/dist/gateway-client/generated/core/queryKeySerializer.gen.js.map +1 -0
  91. package/dist/gateway-client/generated/core/serverSentEvents.gen.d.ts +72 -0
  92. package/dist/gateway-client/generated/core/serverSentEvents.gen.d.ts.map +1 -0
  93. package/dist/gateway-client/generated/core/serverSentEvents.gen.js +133 -0
  94. package/dist/gateway-client/generated/core/serverSentEvents.gen.js.map +1 -0
  95. package/dist/gateway-client/generated/core/types.gen.d.ts +84 -0
  96. package/dist/gateway-client/generated/core/types.gen.d.ts.map +1 -0
  97. package/dist/gateway-client/generated/core/types.gen.js +3 -0
  98. package/dist/gateway-client/generated/core/types.gen.js.map +1 -0
  99. package/dist/gateway-client/generated/core/utils.gen.d.ts +20 -0
  100. package/dist/gateway-client/generated/core/utils.gen.d.ts.map +1 -0
  101. package/dist/gateway-client/generated/core/utils.gen.js +88 -0
  102. package/dist/gateway-client/generated/core/utils.gen.js.map +1 -0
  103. package/dist/gateway-client/generated/index.d.ts +3 -0
  104. package/dist/gateway-client/generated/index.d.ts.map +1 -0
  105. package/dist/gateway-client/generated/index.js +3 -0
  106. package/dist/gateway-client/generated/index.js.map +1 -0
  107. package/dist/gateway-client/generated/namespaces.gen.d.ts +512 -0
  108. package/dist/gateway-client/generated/namespaces.gen.d.ts.map +1 -0
  109. package/dist/gateway-client/generated/namespaces.gen.js +521 -0
  110. package/dist/gateway-client/generated/namespaces.gen.js.map +1 -0
  111. package/dist/gateway-client/generated/sdk.gen.d.ts +1780 -0
  112. package/dist/gateway-client/generated/sdk.gen.d.ts.map +1 -0
  113. package/dist/gateway-client/generated/sdk.gen.js +3811 -0
  114. package/dist/gateway-client/generated/sdk.gen.js.map +1 -0
  115. package/dist/gateway-client/generated/types.gen.d.ts +14681 -0
  116. package/dist/gateway-client/generated/types.gen.d.ts.map +1 -0
  117. package/dist/gateway-client/generated/types.gen.js +3 -0
  118. package/dist/gateway-client/generated/types.gen.js.map +1 -0
  119. package/dist/gateway-client/index.d.ts +27 -0
  120. package/dist/gateway-client/index.d.ts.map +1 -0
  121. package/dist/gateway-client/index.js +25 -0
  122. package/dist/gateway-client/index.js.map +1 -0
  123. package/dist/gc/cleanup.d.ts +23 -8
  124. package/dist/gc/cleanup.d.ts.map +1 -1
  125. package/dist/gc/cleanup.js +287 -22
  126. package/dist/gc/cleanup.js.map +1 -1
  127. package/dist/index.d.ts +10 -0
  128. package/dist/index.d.ts.map +1 -1
  129. package/dist/index.js +20 -0
  130. package/dist/index.js.map +1 -1
  131. package/dist/init.d.ts.map +1 -1
  132. package/dist/init.js +28 -0
  133. package/dist/init.js.map +1 -1
  134. package/dist/internal.d.ts +10 -1
  135. package/dist/internal.d.ts.map +1 -1
  136. package/dist/internal.js +18 -1
  137. package/dist/internal.js.map +1 -1
  138. package/dist/llm/catalog-model-resolver.d.ts +19 -0
  139. package/dist/llm/catalog-model-resolver.d.ts.map +1 -1
  140. package/dist/llm/catalog-model-resolver.js +36 -0
  141. package/dist/llm/catalog-model-resolver.js.map +1 -1
  142. package/dist/llm/catalog-resolver.d.ts +112 -0
  143. package/dist/llm/catalog-resolver.d.ts.map +1 -0
  144. package/dist/llm/catalog-resolver.js +207 -0
  145. package/dist/llm/catalog-resolver.js.map +1 -0
  146. package/dist/llm/catalog-seeder.d.ts +96 -0
  147. package/dist/llm/catalog-seeder.d.ts.map +1 -0
  148. package/dist/llm/catalog-seeder.js +189 -0
  149. package/dist/llm/catalog-seeder.js.map +1 -0
  150. package/dist/llm/cli-ops.d.ts +16 -0
  151. package/dist/llm/cli-ops.d.ts.map +1 -1
  152. package/dist/llm/cli-ops.js +37 -10
  153. package/dist/llm/cli-ops.js.map +1 -1
  154. package/dist/llm/complexity-classifier.d.ts +208 -0
  155. package/dist/llm/complexity-classifier.d.ts.map +1 -0
  156. package/dist/llm/complexity-classifier.js +359 -0
  157. package/dist/llm/complexity-classifier.js.map +1 -0
  158. package/dist/llm/credential-pool.d.ts +2 -0
  159. package/dist/llm/credential-pool.d.ts.map +1 -1
  160. package/dist/llm/credential-pool.js +5 -2
  161. package/dist/llm/credential-pool.js.map +1 -1
  162. package/dist/llm/credentials-store.d.ts +10 -14
  163. package/dist/llm/credentials-store.d.ts.map +1 -1
  164. package/dist/llm/credentials-store.js.map +1 -1
  165. package/dist/llm/cross-provider-selector.d.ts +249 -0
  166. package/dist/llm/cross-provider-selector.d.ts.map +1 -0
  167. package/dist/llm/cross-provider-selector.js +572 -0
  168. package/dist/llm/cross-provider-selector.js.map +1 -0
  169. package/dist/llm/entity-ops.d.ts +299 -0
  170. package/dist/llm/entity-ops.d.ts.map +1 -0
  171. package/dist/llm/entity-ops.js +441 -0
  172. package/dist/llm/entity-ops.js.map +1 -0
  173. package/dist/llm/index.d.ts +17 -0
  174. package/dist/llm/index.d.ts.map +1 -1
  175. package/dist/llm/index.js +9 -0
  176. package/dist/llm/index.js.map +1 -1
  177. package/dist/llm/llm-queue-admit.d.ts +118 -0
  178. package/dist/llm/llm-queue-admit.d.ts.map +1 -0
  179. package/dist/llm/llm-queue-admit.js +275 -0
  180. package/dist/llm/llm-queue-admit.js.map +1 -0
  181. package/dist/llm/local-model-fit.d.ts +260 -0
  182. package/dist/llm/local-model-fit.d.ts.map +1 -0
  183. package/dist/llm/local-model-fit.js +563 -0
  184. package/dist/llm/local-model-fit.js.map +1 -0
  185. package/dist/llm/oauth/device-code.d.ts.map +1 -1
  186. package/dist/llm/oauth/device-code.js +2 -8
  187. package/dist/llm/oauth/device-code.js.map +1 -1
  188. package/dist/llm/oauth/google-pkce.d.ts.map +1 -1
  189. package/dist/llm/oauth/google-pkce.js +2 -18
  190. package/dist/llm/oauth/google-pkce.js.map +1 -1
  191. package/dist/llm/oauth/pkce.d.ts +70 -0
  192. package/dist/llm/oauth/pkce.d.ts.map +1 -1
  193. package/dist/llm/oauth/pkce.js +106 -29
  194. package/dist/llm/oauth/pkce.js.map +1 -1
  195. package/dist/llm/onboarding/front-door.d.ts +146 -0
  196. package/dist/llm/onboarding/front-door.d.ts.map +1 -0
  197. package/dist/llm/onboarding/front-door.js +153 -0
  198. package/dist/llm/onboarding/front-door.js.map +1 -0
  199. package/dist/llm/onboarding/login-engine.d.ts +175 -0
  200. package/dist/llm/onboarding/login-engine.d.ts.map +1 -0
  201. package/dist/llm/onboarding/login-engine.js +286 -0
  202. package/dist/llm/onboarding/login-engine.js.map +1 -0
  203. package/dist/llm/pi/pi-gondolin-env.d.ts +23 -0
  204. package/dist/llm/pi/pi-gondolin-env.d.ts.map +1 -1
  205. package/dist/llm/pi/pi-gondolin-env.js +2 -2
  206. package/dist/llm/pi/pi-gondolin-env.js.map +1 -1
  207. package/dist/llm/plugin-facade.js +4612 -1042
  208. package/dist/llm/plugin-facade.js.map +3 -3
  209. package/dist/llm/provider-registry/builtin/anthropic.d.ts.map +1 -1
  210. package/dist/llm/provider-registry/builtin/anthropic.js +23 -10
  211. package/dist/llm/provider-registry/builtin/anthropic.js.map +1 -1
  212. package/dist/llm/provider-registry/builtin/ollama.d.ts +18 -0
  213. package/dist/llm/provider-registry/builtin/ollama.d.ts.map +1 -1
  214. package/dist/llm/provider-registry/builtin/ollama.js +20 -2
  215. package/dist/llm/provider-registry/builtin/ollama.js.map +1 -1
  216. package/dist/llm/provider-registry/provider-alias.d.ts +62 -0
  217. package/dist/llm/provider-registry/provider-alias.d.ts.map +1 -0
  218. package/dist/llm/provider-registry/provider-alias.js +85 -0
  219. package/dist/llm/provider-registry/provider-alias.js.map +1 -0
  220. package/dist/llm/provider-registry/provider-defs.d.ts +45 -0
  221. package/dist/llm/provider-registry/provider-defs.d.ts.map +1 -0
  222. package/dist/llm/provider-registry/provider-defs.js +145 -0
  223. package/dist/llm/provider-registry/provider-defs.js.map +1 -0
  224. package/dist/llm/provider-registry/provider-seed.d.ts +78 -0
  225. package/dist/llm/provider-registry/provider-seed.d.ts.map +1 -0
  226. package/dist/llm/provider-registry/provider-seed.js +113 -0
  227. package/dist/llm/provider-registry/provider-seed.js.map +1 -0
  228. package/dist/llm/role-executor.d.ts.map +1 -1
  229. package/dist/llm/role-executor.js +36 -0
  230. package/dist/llm/role-executor.js.map +1 -1
  231. package/dist/llm/role-resolver.d.ts.map +1 -1
  232. package/dist/llm/role-resolver.js +52 -10
  233. package/dist/llm/role-resolver.js.map +1 -1
  234. package/dist/llm/system-resolver.d.ts.map +1 -1
  235. package/dist/llm/system-resolver.js +73 -22
  236. package/dist/llm/system-resolver.js.map +1 -1
  237. package/dist/llm/transports/codex-responses.d.ts +111 -88
  238. package/dist/llm/transports/codex-responses.d.ts.map +1 -1
  239. package/dist/llm/transports/codex-responses.js +456 -258
  240. package/dist/llm/transports/codex-responses.js.map +1 -1
  241. package/dist/memory/learnings.d.ts +4 -0
  242. package/dist/memory/learnings.d.ts.map +1 -1
  243. package/dist/memory/patterns.d.ts +4 -0
  244. package/dist/memory/patterns.d.ts.map +1 -1
  245. package/dist/metrics/index.d.ts +2 -0
  246. package/dist/metrics/index.d.ts.map +1 -1
  247. package/dist/metrics/index.js +1 -0
  248. package/dist/metrics/index.js.map +1 -1
  249. package/dist/orchestration/spawn.d.ts +89 -0
  250. package/dist/orchestration/spawn.d.ts.map +1 -1
  251. package/dist/orchestration/spawn.js +68 -0
  252. package/dist/orchestration/spawn.js.map +1 -1
  253. package/dist/playbooks/cantbook-profile.d.ts +96 -0
  254. package/dist/playbooks/cantbook-profile.d.ts.map +1 -0
  255. package/dist/playbooks/cantbook-profile.js +97 -0
  256. package/dist/playbooks/cantbook-profile.js.map +1 -0
  257. package/dist/playbooks/guarded-deterministic-runner.d.ts +153 -0
  258. package/dist/playbooks/guarded-deterministic-runner.d.ts.map +1 -0
  259. package/dist/playbooks/guarded-deterministic-runner.js +155 -0
  260. package/dist/playbooks/guarded-deterministic-runner.js.map +1 -0
  261. package/dist/playbooks/index.d.ts +2 -0
  262. package/dist/playbooks/index.d.ts.map +1 -1
  263. package/dist/playbooks/index.js +10 -0
  264. package/dist/playbooks/index.js.map +1 -1
  265. package/dist/playbooks/pi-runner-wiring.d.ts +75 -0
  266. package/dist/playbooks/pi-runner-wiring.d.ts.map +1 -0
  267. package/dist/playbooks/pi-runner-wiring.js +82 -0
  268. package/dist/playbooks/pi-runner-wiring.js.map +1 -0
  269. package/dist/release/index.d.ts +2 -2
  270. package/dist/release/index.d.ts.map +1 -1
  271. package/dist/release/index.js +1 -1
  272. package/dist/release/index.js.map +1 -1
  273. package/dist/release/reconcile.d.ts +97 -0
  274. package/dist/release/reconcile.d.ts.map +1 -1
  275. package/dist/release/reconcile.js +412 -5
  276. package/dist/release/reconcile.js.map +1 -1
  277. package/dist/resources/backend.d.ts +155 -0
  278. package/dist/resources/backend.d.ts.map +1 -0
  279. package/dist/resources/backend.js +23 -0
  280. package/dist/resources/backend.js.map +1 -0
  281. package/dist/resources/linux-backend.d.ts +167 -0
  282. package/dist/resources/linux-backend.d.ts.map +1 -0
  283. package/dist/resources/linux-backend.js +259 -0
  284. package/dist/resources/linux-backend.js.map +1 -0
  285. package/dist/resources/monitor.d.ts +230 -0
  286. package/dist/resources/monitor.d.ts.map +1 -0
  287. package/dist/resources/monitor.js +255 -0
  288. package/dist/resources/monitor.js.map +1 -0
  289. package/dist/resources/spawn-wrapper.d.ts +265 -0
  290. package/dist/resources/spawn-wrapper.d.ts.map +1 -0
  291. package/dist/resources/spawn-wrapper.js +304 -0
  292. package/dist/resources/spawn-wrapper.js.map +1 -0
  293. package/dist/runtime/openapi/generate-openapi.d.ts +211 -0
  294. package/dist/runtime/openapi/generate-openapi.d.ts.map +1 -0
  295. package/dist/runtime/openapi/generate-openapi.js +300 -0
  296. package/dist/runtime/openapi/generate-openapi.js.map +1 -0
  297. package/dist/runtime/openapi/index.d.ts +16 -0
  298. package/dist/runtime/openapi/index.d.ts.map +1 -0
  299. package/dist/runtime/openapi/index.js +16 -0
  300. package/dist/runtime/openapi/index.js.map +1 -0
  301. package/dist/selfimprove/budget.d.ts +11 -2
  302. package/dist/selfimprove/budget.d.ts.map +1 -1
  303. package/dist/selfimprove/budget.js +11 -2
  304. package/dist/selfimprove/budget.js.map +1 -1
  305. package/dist/selfimprove/fix-gen.d.ts +229 -0
  306. package/dist/selfimprove/fix-gen.d.ts.map +1 -0
  307. package/dist/selfimprove/fix-gen.js +266 -0
  308. package/dist/selfimprove/fix-gen.js.map +1 -0
  309. package/dist/selfimprove/run-loop.d.ts +44 -4
  310. package/dist/selfimprove/run-loop.d.ts.map +1 -1
  311. package/dist/selfimprove/run-loop.js +73 -6
  312. package/dist/selfimprove/run-loop.js.map +1 -1
  313. package/dist/selfimprove/scenarios/dhq-replay-find/golden.json +32 -0
  314. package/dist/selfimprove/scenarios/dhq-replay-find/scenario.json +18 -0
  315. package/dist/sentient/cross-project-hygiene.d.ts +11 -2
  316. package/dist/sentient/cross-project-hygiene.d.ts.map +1 -1
  317. package/dist/sentient/cross-project-hygiene.js +73 -10
  318. package/dist/sentient/cross-project-hygiene.js.map +1 -1
  319. package/dist/sentient/daemon.d.ts.map +1 -1
  320. package/dist/sentient/daemon.js +7 -2
  321. package/dist/sentient/daemon.js.map +1 -1
  322. package/dist/sentient/worktree-dispatch.d.ts.map +1 -1
  323. package/dist/sentient/worktree-dispatch.js +8 -1
  324. package/dist/sentient/worktree-dispatch.js.map +1 -1
  325. package/dist/setup/config-json-merge.d.ts.map +1 -1
  326. package/dist/setup/config-json-merge.js +14 -0
  327. package/dist/setup/config-json-merge.js.map +1 -1
  328. package/dist/setup/index.d.ts +23 -11
  329. package/dist/setup/index.d.ts.map +1 -1
  330. package/dist/setup/index.js +25 -12
  331. package/dist/setup/index.js.map +1 -1
  332. package/dist/setup/sections/llm.d.ts +28 -1
  333. package/dist/setup/sections/llm.d.ts.map +1 -1
  334. package/dist/setup/sections/llm.js +27 -6
  335. package/dist/setup/sections/llm.js.map +1 -1
  336. package/dist/setup/sections/models-roles.d.ts +40 -0
  337. package/dist/setup/sections/models-roles.d.ts.map +1 -0
  338. package/dist/setup/sections/models-roles.js +219 -0
  339. package/dist/setup/sections/models-roles.js.map +1 -0
  340. package/dist/setup/wizard.d.ts +19 -1
  341. package/dist/setup/wizard.d.ts.map +1 -1
  342. package/dist/setup/wizard.js.map +1 -1
  343. package/dist/spawn/branch-lock.d.ts.map +1 -1
  344. package/dist/spawn/branch-lock.js +7 -1
  345. package/dist/spawn/branch-lock.js.map +1 -1
  346. package/dist/store/attachment-repair.d.ts +110 -0
  347. package/dist/store/attachment-repair.d.ts.map +1 -0
  348. package/dist/store/attachment-repair.js +326 -0
  349. package/dist/store/attachment-repair.js.map +1 -0
  350. package/dist/store/attachment-store.d.ts.map +1 -1
  351. package/dist/store/attachment-store.js +24 -7
  352. package/dist/store/attachment-store.js.map +1 -1
  353. package/dist/store/schedule-schema.d.ts +195 -0
  354. package/dist/store/schedule-schema.d.ts.map +1 -0
  355. package/dist/store/schedule-schema.js +84 -0
  356. package/dist/store/schedule-schema.js.map +1 -0
  357. package/dist/store/schedule-store.d.ts +144 -0
  358. package/dist/store/schedule-store.d.ts.map +1 -0
  359. package/dist/store/schedule-store.js +162 -0
  360. package/dist/store/schedule-store.js.map +1 -0
  361. package/dist/store/schema/attachments.d.ts +1 -1
  362. package/dist/store/schema/cleo-global/index.d.ts +3 -0
  363. package/dist/store/schema/cleo-global/index.d.ts.map +1 -1
  364. package/dist/store/schema/cleo-global/index.js +5 -0
  365. package/dist/store/schema/cleo-global/index.js.map +1 -1
  366. package/dist/store/schema/cleo-global/models-catalog.d.ts +359 -0
  367. package/dist/store/schema/cleo-global/models-catalog.d.ts.map +1 -0
  368. package/dist/store/schema/cleo-global/models-catalog.js +114 -0
  369. package/dist/store/schema/cleo-global/models-catalog.js.map +1 -0
  370. package/dist/store/schema/cleo-global/providers.d.ts +279 -0
  371. package/dist/store/schema/cleo-global/providers.d.ts.map +1 -0
  372. package/dist/store/schema/cleo-global/providers.js +94 -0
  373. package/dist/store/schema/cleo-global/providers.js.map +1 -0
  374. package/dist/store/schema/cleo-global/services.d.ts +493 -0
  375. package/dist/store/schema/cleo-global/services.d.ts.map +1 -0
  376. package/dist/store/schema/cleo-global/services.js +200 -0
  377. package/dist/store/schema/cleo-global/services.js.map +1 -0
  378. package/dist/store/schema/cleo-project/docs.d.ts +1 -1
  379. package/dist/store/schema/cleo-project/provenance-rest.d.ts +1 -1
  380. package/dist/store/schema/cleo-shared/brain.d.ts +2 -2
  381. package/dist/store/schema/memory-schema.d.ts +182 -2
  382. package/dist/store/schema/memory-schema.d.ts.map +1 -1
  383. package/dist/store/schema/memory-schema.js +111 -2
  384. package/dist/store/schema/memory-schema.js.map +1 -1
  385. package/dist/store/schema/provenance/releases.d.ts +1 -1
  386. package/dist/store/service-connections-accessor.d.ts +313 -0
  387. package/dist/store/service-connections-accessor.d.ts.map +1 -0
  388. package/dist/store/service-connections-accessor.js +464 -0
  389. package/dist/store/service-connections-accessor.js.map +1 -0
  390. package/dist/store/service-host-matcher.d.ts +70 -0
  391. package/dist/store/service-host-matcher.d.ts.map +1 -0
  392. package/dist/store/service-host-matcher.js +127 -0
  393. package/dist/store/service-host-matcher.js.map +1 -0
  394. package/dist/store/service-injection.d.ts +152 -0
  395. package/dist/store/service-injection.d.ts.map +1 -0
  396. package/dist/store/service-injection.js +225 -0
  397. package/dist/store/service-injection.js.map +1 -0
  398. package/dist/store/service-oauth.d.ts +287 -0
  399. package/dist/store/service-oauth.d.ts.map +1 -0
  400. package/dist/store/service-oauth.js +524 -0
  401. package/dist/store/service-oauth.js.map +1 -0
  402. package/dist/store/service-trust-gate.d.ts +164 -0
  403. package/dist/store/service-trust-gate.d.ts.map +1 -0
  404. package/dist/store/service-trust-gate.js +122 -0
  405. package/dist/store/service-trust-gate.js.map +1 -0
  406. package/dist/store/validation-schemas.d.ts +4 -4
  407. package/dist/tasks/agent-lifecycle-lane.d.ts +175 -0
  408. package/dist/tasks/agent-lifecycle-lane.d.ts.map +1 -0
  409. package/dist/tasks/agent-lifecycle-lane.js +176 -0
  410. package/dist/tasks/agent-lifecycle-lane.js.map +1 -0
  411. package/dist/tasks/complete.d.ts +17 -0
  412. package/dist/tasks/complete.d.ts.map +1 -1
  413. package/dist/tasks/complete.js +53 -10
  414. package/dist/tasks/complete.js.map +1 -1
  415. package/dist/tasks/depends-waiver-audit.d.ts +52 -0
  416. package/dist/tasks/depends-waiver-audit.d.ts.map +1 -0
  417. package/dist/tasks/depends-waiver-audit.js +36 -0
  418. package/dist/tasks/depends-waiver-audit.js.map +1 -0
  419. package/dist/tasks/engine-wrap.d.ts +36 -2
  420. package/dist/tasks/engine-wrap.d.ts.map +1 -1
  421. package/dist/tasks/engine-wrap.js +44 -2
  422. package/dist/tasks/engine-wrap.js.map +1 -1
  423. package/dist/tasks/evidence.d.ts +34 -2
  424. package/dist/tasks/evidence.d.ts.map +1 -1
  425. package/dist/tasks/evidence.js +293 -35
  426. package/dist/tasks/evidence.js.map +1 -1
  427. package/dist/tasks/index.d.ts +1 -0
  428. package/dist/tasks/index.d.ts.map +1 -1
  429. package/dist/tasks/index.js +1 -0
  430. package/dist/tasks/index.js.map +1 -1
  431. package/dist/tasks/ops.d.ts +3 -0
  432. package/dist/tasks/ops.d.ts.map +1 -1
  433. package/dist/tasks/task-ops.d.ts +1 -1
  434. package/dist/tasks/task-ops.d.ts.map +1 -1
  435. package/dist/tasks/task-ops.js +3 -1
  436. package/dist/tasks/task-ops.js.map +1 -1
  437. package/dist/tasks/task-reparent.d.ts +90 -0
  438. package/dist/tasks/task-reparent.d.ts.map +1 -1
  439. package/dist/tasks/task-reparent.js +171 -0
  440. package/dist/tasks/task-reparent.js.map +1 -1
  441. package/dist/tools/builtin-agent-tools.d.ts.map +1 -1
  442. package/dist/tools/builtin-agent-tools.js +41 -0
  443. package/dist/tools/builtin-agent-tools.js.map +1 -1
  444. package/dist/tools/exec-code-agent-tool.d.ts +179 -0
  445. package/dist/tools/exec-code-agent-tool.d.ts.map +1 -0
  446. package/dist/tools/exec-code-agent-tool.js +239 -0
  447. package/dist/tools/exec-code-agent-tool.js.map +1 -0
  448. package/dist/tools/index.d.ts +6 -0
  449. package/dist/tools/index.d.ts.map +1 -1
  450. package/dist/tools/index.js +15 -0
  451. package/dist/tools/index.js.map +1 -1
  452. package/dist/tools/mcp-agent-tool.d.ts +189 -0
  453. package/dist/tools/mcp-agent-tool.d.ts.map +1 -0
  454. package/dist/tools/mcp-agent-tool.js +243 -0
  455. package/dist/tools/mcp-agent-tool.js.map +1 -0
  456. package/dist/tools/media-agent-tools.d.ts +105 -0
  457. package/dist/tools/media-agent-tools.d.ts.map +1 -0
  458. package/dist/tools/media-agent-tools.js +255 -0
  459. package/dist/tools/media-agent-tools.js.map +1 -0
  460. package/dist/tools/memory-agent-tools.d.ts +99 -0
  461. package/dist/tools/memory-agent-tools.d.ts.map +1 -0
  462. package/dist/tools/memory-agent-tools.js +190 -0
  463. package/dist/tools/memory-agent-tools.js.map +1 -0
  464. package/dist/tools/schedule-agent-tools.d.ts +151 -0
  465. package/dist/tools/schedule-agent-tools.d.ts.map +1 -0
  466. package/dist/tools/schedule-agent-tools.js +238 -0
  467. package/dist/tools/schedule-agent-tools.js.map +1 -0
  468. package/dist/tools/skill-agent-tool.d.ts +108 -0
  469. package/dist/tools/skill-agent-tool.d.ts.map +1 -0
  470. package/dist/tools/skill-agent-tool.js +135 -0
  471. package/dist/tools/skill-agent-tool.js.map +1 -0
  472. package/dist/validation/engine-ops.d.ts.map +1 -1
  473. package/dist/validation/engine-ops.js +17 -1
  474. package/dist/validation/engine-ops.js.map +1 -1
  475. package/dist/verification/verify-tools.d.ts.map +1 -1
  476. package/dist/verification/verify-tools.js +5 -6
  477. package/dist/verification/verify-tools.js.map +1 -1
  478. package/migrations/drizzle-brain/20260610000001_t10405-bitemporal-network-columns/migration.sql +71 -0
  479. package/migrations/drizzle-cleo-global/20260609000000_t11937-service-vault/migration.sql +93 -0
  480. package/migrations/drizzle-cleo-global/20260609010000_t11733-models-catalog/migration.sql +65 -0
  481. package/migrations/drizzle-cleo-global/20260609020000_t11703-providers/migration.sql +52 -0
  482. package/migrations/drizzle-cleo-global/20260610000000_t11962-schedules/migration.sql +48 -0
  483. package/migrations/drizzle-cleo-project/20260610000000_t11962-schedules/migration.sql +48 -0
  484. package/package.json +33 -13
  485. package/templates/workflows/release-prepare.yml.tmpl +48 -2
@@ -0,0 +1,3811 @@
1
+ // This file is auto-generated by @hey-api/openapi-ts
2
+ import { client } from './client.gen.js';
3
+ /**
4
+ * tasks.show (query)
5
+ */
6
+ export const queryTasksShow = (options) => (options.client ?? client).post({
7
+ url: '/v1/tasks/show',
8
+ ...options,
9
+ headers: {
10
+ 'Content-Type': 'application/json',
11
+ ...options.headers
12
+ }
13
+ });
14
+ /**
15
+ * tasks.traverse (query) — WorkGraph traversal from a task root
16
+ */
17
+ export const queryTasksTraverse = (options) => (options.client ?? client).post({
18
+ url: '/v1/tasks/traverse',
19
+ ...options,
20
+ headers: {
21
+ 'Content-Type': 'application/json',
22
+ ...options.headers
23
+ }
24
+ });
25
+ /**
26
+ * tasks.tree (query) — WorkGraph containment tree projection
27
+ */
28
+ export const queryTasksTree = (options) => (options.client ?? client).post({
29
+ url: '/v1/tasks/tree/query',
30
+ ...options,
31
+ headers: {
32
+ 'Content-Type': 'application/json',
33
+ ...options.headers
34
+ }
35
+ });
36
+ /**
37
+ * tasks.rollup (query) — WorkGraph direct and subtree status/type summary
38
+ */
39
+ export const queryTasksRollup = (options) => (options.client ?? client).post({
40
+ url: '/v1/tasks/rollup',
41
+ ...options,
42
+ headers: {
43
+ 'Content-Type': 'application/json',
44
+ ...options.headers
45
+ }
46
+ });
47
+ /**
48
+ * tasks.frontier (query) — WorkGraph ready and blocked frontier under a root
49
+ */
50
+ export const queryTasksFrontier = (options) => (options.client ?? client).post({
51
+ url: '/v1/tasks/frontier',
52
+ ...options,
53
+ headers: {
54
+ 'Content-Type': 'application/json',
55
+ ...options.headers
56
+ }
57
+ });
58
+ /**
59
+ * tasks.workgraph.audit (query) — aggregate WorkGraph hierarchy/traversal/frontier/rollup diagnostics
60
+ */
61
+ export const queryTasksWorkgraphAudit = (options) => (options.client ?? client).post({
62
+ url: '/v1/tasks/workgraph.audit',
63
+ ...options,
64
+ headers: {
65
+ 'Content-Type': 'application/json',
66
+ ...options.headers
67
+ }
68
+ });
69
+ /**
70
+ * tasks.subscribe (query, streaming) — SSE stream of task/board lifecycle events (created/updated/deleted), optionally scoped to a saga/parent root
71
+ */
72
+ export const queryTasksSubscribe = (options) => (options?.client ?? client).post({
73
+ url: '/v1/tasks/subscribe',
74
+ ...options,
75
+ headers: {
76
+ 'Content-Type': 'application/json',
77
+ ...options?.headers
78
+ }
79
+ });
80
+ /**
81
+ * tasks.list (query)
82
+ */
83
+ export const queryTasksList = (options) => (options?.client ?? client).post({
84
+ url: '/v1/tasks/list',
85
+ ...options,
86
+ headers: {
87
+ 'Content-Type': 'application/json',
88
+ ...options?.headers
89
+ }
90
+ });
91
+ /**
92
+ * tasks.find (query)
93
+ */
94
+ export const queryTasksFind = (options) => (options?.client ?? client).post({ url: '/v1/tasks/find', ...options });
95
+ /**
96
+ * tasks.tree (query)
97
+ */
98
+ export const queryTasksTree2 = (options) => (options?.client ?? client).post({ url: '/v1/tasks/tree/query/2', ...options });
99
+ /**
100
+ * tasks.blockers (query)
101
+ */
102
+ export const queryTasksBlockers = (options) => (options?.client ?? client).post({ url: '/v1/tasks/blockers', ...options });
103
+ /**
104
+ * tasks.depends (query)
105
+ */
106
+ export const queryTasksDepends = (options) => (options?.client ?? client).post({ url: '/v1/tasks/depends', ...options });
107
+ /**
108
+ * tasks.deps.validate (query) — validate dependency graph integrity for an epic or all tasks
109
+ */
110
+ export const queryTasksDepsValidate = (options) => (options?.client ?? client).post({
111
+ url: '/v1/tasks/deps.validate',
112
+ ...options,
113
+ headers: {
114
+ 'Content-Type': 'application/json',
115
+ ...options?.headers
116
+ }
117
+ });
118
+ /**
119
+ * tasks.deps.tree (query) — render dependency tree for an epic in text, mermaid, or json format
120
+ */
121
+ export const queryTasksDepsTree = (options) => (options.client ?? client).post({
122
+ url: '/v1/tasks/deps.tree',
123
+ ...options,
124
+ headers: {
125
+ 'Content-Type': 'application/json',
126
+ ...options.headers
127
+ }
128
+ });
129
+ /**
130
+ * tasks.analyze (query)
131
+ */
132
+ export const queryTasksAnalyze = (options) => (options?.client ?? client).post({ url: '/v1/tasks/analyze', ...options });
133
+ /**
134
+ * tasks.impact (query) — predict downstream effects of a free-text change description using keyword matching and reverse dependency graph traversal
135
+ */
136
+ export const queryTasksImpact = (options) => (options.client ?? client).post({
137
+ url: '/v1/tasks/impact',
138
+ ...options,
139
+ headers: {
140
+ 'Content-Type': 'application/json',
141
+ ...options.headers
142
+ }
143
+ });
144
+ /**
145
+ * tasks.next (query)
146
+ */
147
+ export const queryTasksNext = (options) => (options?.client ?? client).post({ url: '/v1/tasks/next', ...options });
148
+ /**
149
+ * Composite planning view with in-progress epics, ready tasks, blocked tasks, and open bugs (query)
150
+ */
151
+ export const queryTasksPlan = (options) => (options?.client ?? client).post({ url: '/v1/tasks/plan', ...options });
152
+ /**
153
+ * tasks.completion.list (query) — list typed completion criteria results
154
+ */
155
+ export const queryTasksCompletionList = (options) => (options.client ?? client).post({
156
+ url: '/v1/tasks/completion.list',
157
+ ...options,
158
+ headers: {
159
+ 'Content-Type': 'application/json',
160
+ ...options.headers
161
+ }
162
+ });
163
+ /**
164
+ * tasks.completion.evaluate (query) — evaluate completion readiness with typed AC results
165
+ */
166
+ export const queryTasksCompletionEvaluate = (options) => (options.client ?? client).post({
167
+ url: '/v1/tasks/completion.evaluate',
168
+ ...options,
169
+ headers: {
170
+ 'Content-Type': 'application/json',
171
+ ...options.headers
172
+ }
173
+ });
174
+ /**
175
+ * tasks.completion.explain (query) — explain completion blockers and stale state
176
+ */
177
+ export const queryTasksCompletionExplain = (options) => (options.client ?? client).post({
178
+ url: '/v1/tasks/completion.explain',
179
+ ...options,
180
+ headers: {
181
+ 'Content-Type': 'application/json',
182
+ ...options.headers
183
+ }
184
+ });
185
+ /**
186
+ * tasks.projection.repair (mutate) — repair stale completion projection state with typed errors
187
+ */
188
+ export const mutateTasksProjectionRepair = (options) => (options.client ?? client).post({
189
+ url: '/v1/tasks/projection.repair',
190
+ ...options,
191
+ headers: {
192
+ 'Content-Type': 'application/json',
193
+ ...options.headers
194
+ }
195
+ });
196
+ /**
197
+ * tasks.relates (query) — absorbs relates.find via mode param
198
+ */
199
+ export const queryTasksRelates = (options) => (options.client ?? client).post({
200
+ url: '/v1/tasks/relates',
201
+ ...options,
202
+ headers: {
203
+ 'Content-Type': 'application/json',
204
+ ...options.headers
205
+ }
206
+ });
207
+ /**
208
+ * tasks.complexity.estimate (query)
209
+ */
210
+ export const queryTasksComplexityEstimate = (options) => (options.client ?? client).post({
211
+ url: '/v1/tasks/complexity.estimate',
212
+ ...options,
213
+ headers: {
214
+ 'Content-Type': 'application/json',
215
+ ...options.headers
216
+ }
217
+ });
218
+ /**
219
+ * Show task work history (time tracked per task)
220
+ */
221
+ export const queryTasksHistory = (options) => (options?.client ?? client).post({ url: '/v1/tasks/history', ...options });
222
+ /**
223
+ * tasks.current (query)
224
+ */
225
+ export const queryTasksCurrent = (options) => (options?.client ?? client).post({ url: '/v1/tasks/current', ...options });
226
+ /**
227
+ * List all labels with task counts
228
+ */
229
+ export const queryTasksLabelList = (options) => (options?.client ?? client).post({ url: '/v1/tasks/label.list', ...options });
230
+ /**
231
+ * session.status (query)
232
+ */
233
+ export const querySessionStatus = (options) => (options?.client ?? client).post({ url: '/v1/session/status', ...options });
234
+ /**
235
+ * session.list (query)
236
+ */
237
+ export const querySessionList = (options) => (options?.client ?? client).post({
238
+ url: '/v1/session/list',
239
+ ...options,
240
+ headers: {
241
+ 'Content-Type': 'application/json',
242
+ ...options?.headers
243
+ }
244
+ });
245
+ /**
246
+ * session.show (query) — absorbs debrief.show via include param
247
+ */
248
+ export const querySessionShow = (options) => (options?.client ?? client).post({ url: '/v1/session/show', ...options });
249
+ /**
250
+ * session.decision.log (query)
251
+ */
252
+ export const querySessionDecisionLog = (options) => (options?.client ?? client).post({ url: '/v1/session/decision.log', ...options });
253
+ /**
254
+ * session.context.drift (query)
255
+ */
256
+ export const querySessionContextDrift = (options) => (options?.client ?? client).post({ url: '/v1/session/context.drift', ...options });
257
+ /**
258
+ * session.handoff.show - Show handoff data from the most recent ended session (query)
259
+ */
260
+ export const querySessionHandoffShow = (options) => (options?.client ?? client).post({ url: '/v1/session/handoff.show', ...options });
261
+ /**
262
+ * session.briefing.show - Composite session-start context (query)
263
+ */
264
+ export const querySessionBriefingShow = (options) => (options?.client ?? client).post({ url: '/v1/session/briefing.show', ...options });
265
+ /**
266
+ * session.find (query) — lightweight session discovery
267
+ */
268
+ export const querySessionFind = (options) => (options?.client ?? client).post({ url: '/v1/session/find', ...options });
269
+ /**
270
+ * session.lint (query) — agent-accountability harness: flag raw-md writes to canonical doc paths in a transcript (T9797)
271
+ */
272
+ export const querySessionLint = (options) => (options.client ?? client).post({
273
+ url: '/v1/session/lint',
274
+ ...options,
275
+ headers: {
276
+ 'Content-Type': 'application/json',
277
+ ...options.headers
278
+ }
279
+ });
280
+ /**
281
+ * orchestrate.status (query)
282
+ */
283
+ export const queryOrchestrateStatus = (options) => (options?.client ?? client).post({ url: '/v1/orchestrate/status', ...options });
284
+ /**
285
+ * orchestrate.events (query, streaming) — SSE stream of agent/worker/board lifecycle events
286
+ */
287
+ export const queryOrchestrateEvents = (options) => (options?.client ?? client).post({
288
+ url: '/v1/orchestrate/events',
289
+ ...options,
290
+ headers: {
291
+ 'Content-Type': 'application/json',
292
+ ...options?.headers
293
+ }
294
+ });
295
+ /**
296
+ * orchestrate.ivtr.status (query) — current IVTR phase + history
297
+ */
298
+ export const queryOrchestrateIvtrStatus = (options) => (options.client ?? client).post({
299
+ url: '/v1/orchestrate/ivtr.status',
300
+ ...options,
301
+ headers: {
302
+ 'Content-Type': 'application/json',
303
+ ...options.headers
304
+ }
305
+ });
306
+ /**
307
+ * orchestrate.ivtr.start (mutate) — begin Implement phase
308
+ */
309
+ export const mutateOrchestrateIvtrStart = (options) => (options.client ?? client).post({
310
+ url: '/v1/orchestrate/ivtr.start',
311
+ ...options,
312
+ headers: {
313
+ 'Content-Type': 'application/json',
314
+ ...options.headers
315
+ }
316
+ });
317
+ /**
318
+ * orchestrate.ivtr.next (mutate) — advance to next phase (requires prior evidence)
319
+ */
320
+ export const mutateOrchestrateIvtrNext = (options) => (options.client ?? client).post({
321
+ url: '/v1/orchestrate/ivtr.next',
322
+ ...options,
323
+ headers: {
324
+ 'Content-Type': 'application/json',
325
+ ...options.headers
326
+ }
327
+ });
328
+ /**
329
+ * orchestrate.ivtr.release (mutate) — final gate, requires I+V+T evidence
330
+ */
331
+ export const mutateOrchestrateIvtrRelease = (options) => (options.client ?? client).post({
332
+ url: '/v1/orchestrate/ivtr.release',
333
+ ...options,
334
+ headers: {
335
+ 'Content-Type': 'application/json',
336
+ ...options.headers
337
+ }
338
+ });
339
+ /**
340
+ * orchestrate.ivtr.loop-back (mutate) — rewind to phase on failure
341
+ */
342
+ export const mutateOrchestrateIvtrLoopBack = (options) => (options.client ?? client).post({
343
+ url: '/v1/orchestrate/ivtr.loop-back',
344
+ ...options,
345
+ headers: {
346
+ 'Content-Type': 'application/json',
347
+ ...options.headers
348
+ }
349
+ });
350
+ /**
351
+ * orchestrate.next (query)
352
+ */
353
+ export const queryOrchestrateNext = (options) => (options?.client ?? client).post({ url: '/v1/orchestrate/next', ...options });
354
+ /**
355
+ * orchestrate.ready (query)
356
+ */
357
+ export const queryOrchestrateReady = (options) => (options?.client ?? client).post({ url: '/v1/orchestrate/ready', ...options });
358
+ /**
359
+ * orchestrate.analyze (query) — absorbs critical.path via mode param; Wave 7a adds mode="parallel-safety"
360
+ */
361
+ export const queryOrchestrateAnalyze = (options) => (options?.client ?? client).post({
362
+ url: '/v1/orchestrate/analyze',
363
+ ...options,
364
+ headers: {
365
+ 'Content-Type': 'application/json',
366
+ ...options?.headers
367
+ }
368
+ });
369
+ /**
370
+ * orchestrate.context (query)
371
+ */
372
+ export const queryOrchestrateContext = (options) => (options?.client ?? client).post({ url: '/v1/orchestrate/context', ...options });
373
+ /**
374
+ * orchestrate.waves (query)
375
+ */
376
+ export const queryOrchestrateWaves = (options) => (options?.client ?? client).post({ url: '/v1/orchestrate/waves', ...options });
377
+ /**
378
+ * orchestrate.report (query) — grouped readiness report: ready, blocked, blockedBy, gate-blocked, invalid (T10631)
379
+ */
380
+ export const queryOrchestrateReport = (options) => (options.client ?? client).post({
381
+ url: '/v1/orchestrate/report',
382
+ ...options,
383
+ headers: {
384
+ 'Content-Type': 'application/json',
385
+ ...options.headers
386
+ }
387
+ });
388
+ /**
389
+ * orchestrate.plan (query) — deterministic wave+worker plan (T889)
390
+ */
391
+ export const queryOrchestratePlan = (options) => (options.client ?? client).post({
392
+ url: '/v1/orchestrate/plan',
393
+ ...options,
394
+ headers: {
395
+ 'Content-Type': 'application/json',
396
+ ...options.headers
397
+ }
398
+ });
399
+ /**
400
+ * orchestrate.bootstrap (query)
401
+ */
402
+ export const queryOrchestrateBootstrap = (options) => (options?.client ?? client).post({ url: '/v1/orchestrate/bootstrap', ...options });
403
+ /**
404
+ * orchestrate.unblock.opportunities (query)
405
+ */
406
+ export const queryOrchestrateUnblockOpportunities = (options) => (options?.client ?? client).post({ url: '/v1/orchestrate/unblock.opportunities', ...options });
407
+ /**
408
+ * memory.find (query) — cross-table brain.db FTS5 search
409
+ */
410
+ export const queryMemoryFind = (options) => (options.client ?? client).post({
411
+ url: '/v1/memory/find',
412
+ ...options,
413
+ headers: {
414
+ 'Content-Type': 'application/json',
415
+ ...options.headers
416
+ }
417
+ });
418
+ /**
419
+ * memory.timeline (query) — chronological context around anchor
420
+ */
421
+ export const queryMemoryTimeline = (options) => (options.client ?? client).post({
422
+ url: '/v1/memory/timeline',
423
+ ...options,
424
+ headers: {
425
+ 'Content-Type': 'application/json',
426
+ ...options.headers
427
+ }
428
+ });
429
+ /**
430
+ * memory.fetch (query) — batch fetch brain entries by IDs
431
+ */
432
+ export const queryMemoryFetch = (options) => (options.client ?? client).post({
433
+ url: '/v1/memory/fetch',
434
+ ...options,
435
+ headers: {
436
+ 'Content-Type': 'application/json',
437
+ ...options.headers
438
+ }
439
+ });
440
+ /**
441
+ * memory.decision.find (query) — search decisions in brain.db
442
+ */
443
+ export const queryMemoryDecisionFind = (options) => (options?.client ?? client).post({ url: '/v1/memory/decision.find', ...options });
444
+ /**
445
+ * memory.pattern.find (query) — search BRAIN pattern memory by type, impact, or keyword
446
+ */
447
+ export const queryMemoryPatternFind = (options) => (options?.client ?? client).post({ url: '/v1/memory/pattern.find', ...options });
448
+ /**
449
+ * memory.learning.find (query) — search BRAIN learning memory by confidence, actionability, or keyword
450
+ */
451
+ export const queryMemoryLearningFind = (options) => (options?.client ?? client).post({ url: '/v1/memory/learning.find', ...options });
452
+ /**
453
+ * memory.graph.show (query) — get a PageIndex graph node and its edges
454
+ */
455
+ export const queryMemoryGraphShow = (options) => (options.client ?? client).post({
456
+ url: '/v1/memory/graph.show',
457
+ ...options,
458
+ headers: {
459
+ 'Content-Type': 'application/json',
460
+ ...options.headers
461
+ }
462
+ });
463
+ /**
464
+ * memory.graph.neighbors (query) — get neighbor nodes from the PageIndex graph
465
+ */
466
+ export const queryMemoryGraphNeighbors = (options) => (options.client ?? client).post({
467
+ url: '/v1/memory/graph.neighbors',
468
+ ...options,
469
+ headers: {
470
+ 'Content-Type': 'application/json',
471
+ ...options.headers
472
+ }
473
+ });
474
+ /**
475
+ * memory.graph.trace (query) — BFS traversal from a seed node via recursive CTE (T535)
476
+ */
477
+ export const queryMemoryGraphTrace = (options) => (options.client ?? client).post({
478
+ url: '/v1/memory/graph.trace',
479
+ ...options,
480
+ headers: {
481
+ 'Content-Type': 'application/json',
482
+ ...options.headers
483
+ }
484
+ });
485
+ /**
486
+ * memory.graph.related (query) — 1-hop typed neighbours of a brain graph node (T535)
487
+ */
488
+ export const queryMemoryGraphRelated = (options) => (options.client ?? client).post({
489
+ url: '/v1/memory/graph.related',
490
+ ...options,
491
+ headers: {
492
+ 'Content-Type': 'application/json',
493
+ ...options.headers
494
+ }
495
+ });
496
+ /**
497
+ * memory.graph.context (query) — 360-degree context view: node + all edges + neighbours (T535)
498
+ */
499
+ export const queryMemoryGraphContext = (options) => (options.client ?? client).post({
500
+ url: '/v1/memory/graph.context',
501
+ ...options,
502
+ headers: {
503
+ 'Content-Type': 'application/json',
504
+ ...options.headers
505
+ }
506
+ });
507
+ /**
508
+ * memory.graph.stats (query) — aggregate node and edge counts by type (T535)
509
+ */
510
+ export const queryMemoryGraphStats = (options) => (options?.client ?? client).post({ url: '/v1/memory/graph.stats', ...options });
511
+ /**
512
+ * memory.reason.why (query) — causal trace through task dependency chains
513
+ */
514
+ export const queryMemoryReasonWhy = (options) => (options.client ?? client).post({
515
+ url: '/v1/memory/reason.why',
516
+ ...options,
517
+ headers: {
518
+ 'Content-Type': 'application/json',
519
+ ...options.headers
520
+ }
521
+ });
522
+ /**
523
+ * memory.reason.similar (query) — find semantically similar brain entries
524
+ */
525
+ export const queryMemoryReasonSimilar = (options) => (options.client ?? client).post({
526
+ url: '/v1/memory/reason.similar',
527
+ ...options,
528
+ headers: {
529
+ 'Content-Type': 'application/json',
530
+ ...options.headers
531
+ }
532
+ });
533
+ /**
534
+ * memory.search.hybrid (query) — hybrid search across FTS5, vector, and graph
535
+ */
536
+ export const queryMemorySearchHybrid = (options) => (options.client ?? client).post({
537
+ url: '/v1/memory/search.hybrid',
538
+ ...options,
539
+ headers: {
540
+ 'Content-Type': 'application/json',
541
+ ...options.headers
542
+ }
543
+ });
544
+ /**
545
+ * pipeline.stage.validate (query) — absorbs stage.prerequisites in response
546
+ */
547
+ export const queryPipelineStageValidate = (options) => (options?.client ?? client).post({ url: '/v1/pipeline/stage.validate', ...options });
548
+ /**
549
+ * pipeline.stage.status (query) — absorbs stage.gates via include param
550
+ */
551
+ export const queryPipelineStageStatus = (options) => (options?.client ?? client).post({ url: '/v1/pipeline/stage.status', ...options });
552
+ /**
553
+ * pipeline.stage.history (query)
554
+ */
555
+ export const queryPipelineStageHistory = (options) => (options?.client ?? client).post({ url: '/v1/pipeline/stage.history', ...options });
556
+ /**
557
+ * pipeline.stage.guidance (query) — stage-aware LLM prompt guidance (Phase 2). Pi extensions shell out to this on before_agent_start.
558
+ */
559
+ export const queryPipelineStageGuidance = (options) => (options?.client ?? client).post({ url: '/v1/pipeline/stage.guidance', ...options });
560
+ /**
561
+ * Show phase details by slug or current phase (query)
562
+ */
563
+ export const queryPipelinePhaseShow = (options) => (options?.client ?? client).post({
564
+ url: '/v1/pipeline/phase.show',
565
+ ...options,
566
+ headers: {
567
+ 'Content-Type': 'application/json',
568
+ ...options?.headers
569
+ }
570
+ });
571
+ /**
572
+ * List all phases with status and task counts (query)
573
+ */
574
+ export const queryPipelinePhaseList = (options) => (options?.client ?? client).post({ url: '/v1/pipeline/phase.list', ...options });
575
+ /**
576
+ * pipeline.manifest.show (query) — get manifest entry by ID
577
+ */
578
+ export const queryPipelineManifestShow = (options) => (options.client ?? client).post({
579
+ url: '/v1/pipeline/manifest.show',
580
+ ...options,
581
+ headers: {
582
+ 'Content-Type': 'application/json',
583
+ ...options.headers
584
+ }
585
+ });
586
+ /**
587
+ * pipeline.manifest.list (query) — list manifest entries with filters
588
+ */
589
+ export const queryPipelineManifestList = (options) => (options?.client ?? client).post({ url: '/v1/pipeline/manifest.list', ...options });
590
+ /**
591
+ * pipeline.manifest.find (query) — search manifest entries by text
592
+ */
593
+ export const queryPipelineManifestFind = (options) => (options.client ?? client).post({
594
+ url: '/v1/pipeline/manifest.find',
595
+ ...options,
596
+ headers: {
597
+ 'Content-Type': 'application/json',
598
+ ...options.headers
599
+ }
600
+ });
601
+ /**
602
+ * pipeline.manifest.stats (query) — manifest statistics
603
+ */
604
+ export const queryPipelineManifestStats = (options) => (options?.client ?? client).post({ url: '/v1/pipeline/manifest.stats', ...options });
605
+ /**
606
+ * check.schema (query)
607
+ */
608
+ export const queryCheckSchema = (options) => (options.client ?? client).post({
609
+ url: '/v1/check/schema',
610
+ ...options,
611
+ headers: {
612
+ 'Content-Type': 'application/json',
613
+ ...options.headers
614
+ }
615
+ });
616
+ /**
617
+ * check.protocol (query) — absorbs all protocol.* ops via protocolType param
618
+ */
619
+ export const queryCheckProtocol = (options) => (options?.client ?? client).post({ url: '/v1/check/protocol', ...options });
620
+ /**
621
+ * check.task (query)
622
+ */
623
+ export const queryCheckTask = (options) => (options?.client ?? client).post({ url: '/v1/check/task', ...options });
624
+ /**
625
+ * check.manifest (query)
626
+ */
627
+ export const queryCheckManifest = (options) => (options?.client ?? client).post({ url: '/v1/check/manifest', ...options });
628
+ /**
629
+ * check.output (query)
630
+ */
631
+ export const queryCheckOutput = (options) => (options?.client ?? client).post({ url: '/v1/check/output', ...options });
632
+ /**
633
+ * check.compliance.summary (query) — absorbs compliance.violations via detail param
634
+ */
635
+ export const queryCheckComplianceSummary = (options) => (options?.client ?? client).post({ url: '/v1/check/compliance.summary', ...options });
636
+ /**
637
+ * check.test (query) — combined test status and coverage via format param
638
+ */
639
+ export const queryCheckTest = (options) => (options?.client ?? client).post({ url: '/v1/check/test', ...options });
640
+ /**
641
+ * check.test.coverage (query) — dedicated test coverage sub-op (T1434)
642
+ */
643
+ export const queryCheckTestCoverage = (options) => (options?.client ?? client).post({ url: '/v1/check/test.coverage', ...options });
644
+ /**
645
+ * check.coherence (query) — renamed from coherence.check (T5615)
646
+ */
647
+ export const queryCheckCoherence = (options) => (options?.client ?? client).post({ url: '/v1/check/coherence', ...options });
648
+ /**
649
+ * check.gate.status (query) — read-only gate state; split from gate.verify (T5615)
650
+ */
651
+ export const queryCheckGateStatus = (options) => (options.client ?? client).post({
652
+ url: '/v1/check/gate.status',
653
+ ...options,
654
+ headers: {
655
+ 'Content-Type': 'application/json',
656
+ ...options.headers
657
+ }
658
+ });
659
+ /**
660
+ * check.archive.stats (query) — archive analytics; moved from admin (T5615)
661
+ */
662
+ export const queryCheckArchiveStats = (options) => (options?.client ?? client).post({ url: '/v1/check/archive.stats', ...options });
663
+ /**
664
+ * check.grade (query) — grade agent behavioral session; moved from admin (T5615)
665
+ */
666
+ export const queryCheckGrade = (options) => (options.client ?? client).post({
667
+ url: '/v1/check/grade',
668
+ ...options,
669
+ headers: {
670
+ 'Content-Type': 'application/json',
671
+ ...options.headers
672
+ }
673
+ });
674
+ /**
675
+ * check.grade.list (query) — list past session grade results; moved from admin (T5615)
676
+ */
677
+ export const queryCheckGradeList = (options) => (options?.client ?? client).post({
678
+ url: '/v1/check/grade.list',
679
+ ...options,
680
+ headers: {
681
+ 'Content-Type': 'application/json',
682
+ ...options?.headers
683
+ }
684
+ });
685
+ /**
686
+ * check.canon (query) — CI gate: detects canon drift between docs and live code (CANONICAL_DOMAINS count, forbidden phrases, required assertions)
687
+ */
688
+ export const queryCheckCanon = (options) => (options?.client ?? client).post({ url: '/v1/check/canon', ...options });
689
+ /**
690
+ * check.canon.docs (query) — CI gate: rejects new *.md files that bypass the docs SSoT (.cleo/canon.yml routing). Scans git diff additions against rawMdPaths whose owning DocKind has rawMdAllowed:false.
691
+ */
692
+ export const queryCheckCanonDocs = (options) => (options?.client ?? client).post({
693
+ url: '/v1/check/canon.docs',
694
+ ...options,
695
+ headers: {
696
+ 'Content-Type': 'application/json',
697
+ ...options?.headers
698
+ }
699
+ });
700
+ /**
701
+ * check.workflow.compliance (query) — WF-001..WF-005 compliance dashboard; AC rate, session rate, gate rate
702
+ */
703
+ export const queryCheckWorkflowCompliance = (options) => (options?.client ?? client).post({
704
+ url: '/v1/check/workflow.compliance',
705
+ ...options,
706
+ headers: {
707
+ 'Content-Type': 'application/json',
708
+ ...options?.headers
709
+ }
710
+ });
711
+ /**
712
+ * admin.version (query)
713
+ */
714
+ export const queryAdminVersion = (options) => (options?.client ?? client).post({ url: '/v1/admin/version', ...options });
715
+ /**
716
+ * admin.health (query) — absorbs doctor via mode param
717
+ */
718
+ export const queryAdminHealth = (options) => (options?.client ?? client).post({ url: '/v1/admin/health/query', ...options });
719
+ /**
720
+ * admin.config.show (query) — show config value
721
+ */
722
+ export const queryAdminConfigShow = (options) => (options?.client ?? client).post({ url: '/v1/admin/config.show', ...options });
723
+ /**
724
+ * admin.config.presets (query) — list all strictness presets with descriptions and values
725
+ */
726
+ export const queryAdminConfigPresets = (options) => (options?.client ?? client).post({ url: '/v1/admin/config.presets', ...options });
727
+ /**
728
+ * admin.config.get (query) — resolve a single config value via the ConfigManifest cascade (T11917)
729
+ */
730
+ export const queryAdminConfigGet = (options) => (options.client ?? client).post({
731
+ url: '/v1/admin/config.get',
732
+ ...options,
733
+ headers: {
734
+ 'Content-Type': 'application/json',
735
+ ...options.headers
736
+ }
737
+ });
738
+ /**
739
+ * admin.config.list (query) — resolve the full config cascade and its flattened keys (T11917)
740
+ */
741
+ export const queryAdminConfigList = (options) => (options?.client ?? client).post({
742
+ url: '/v1/admin/config.list',
743
+ ...options,
744
+ headers: {
745
+ 'Content-Type': 'application/json',
746
+ ...options?.headers
747
+ }
748
+ });
749
+ /**
750
+ * admin.config.validate (query) — schema-validate a scoped config file via its manifest entry (T11917)
751
+ */
752
+ export const queryAdminConfigValidate = (options) => (options?.client ?? client).post({
753
+ url: '/v1/admin/config.validate',
754
+ ...options,
755
+ headers: {
756
+ 'Content-Type': 'application/json',
757
+ ...options?.headers
758
+ }
759
+ });
760
+ /**
761
+ * admin.stats (query)
762
+ */
763
+ export const queryAdminStats = (options) => (options?.client ?? client).post({ url: '/v1/admin/stats', ...options });
764
+ /**
765
+ * admin.context (query)
766
+ */
767
+ export const queryAdminContext = (options) => (options?.client ?? client).post({ url: '/v1/admin/context', ...options });
768
+ /**
769
+ * admin.context.pull (query) — JIT bundle: task details + brain memories + last handoff
770
+ */
771
+ export const queryAdminContextPull = (options) => (options.client ?? client).post({
772
+ url: '/v1/admin/context.pull',
773
+ ...options,
774
+ headers: {
775
+ 'Content-Type': 'application/json',
776
+ ...options.headers
777
+ }
778
+ });
779
+ /**
780
+ * admin.runtime (query)
781
+ */
782
+ export const queryAdminRuntime = (options) => (options?.client ?? client).post({ url: '/v1/admin/runtime', ...options });
783
+ /**
784
+ * admin.paths (query) — report all CleoOS paths (project + global hub) and scaffolding status
785
+ */
786
+ export const queryAdminPaths = (options) => (options?.client ?? client).post({ url: '/v1/admin/paths', ...options });
787
+ /**
788
+ * admin.job (query) — absorbs job.status and job.list via action param
789
+ */
790
+ export const queryAdminJob = (options) => (options?.client ?? client).post({
791
+ url: '/v1/admin/job',
792
+ ...options,
793
+ headers: {
794
+ 'Content-Type': 'application/json',
795
+ ...options?.headers
796
+ }
797
+ });
798
+ /**
799
+ * admin.dash (query)
800
+ */
801
+ export const queryAdminDash = (options) => (options?.client ?? client).post({ url: '/v1/admin/dash', ...options });
802
+ /**
803
+ * admin.roadmap (query) — project roadmap from task provenance, epics grouped by status with progress
804
+ */
805
+ export const queryAdminRoadmap = (options) => (options?.client ?? client).post({
806
+ url: '/v1/admin/roadmap',
807
+ ...options,
808
+ headers: {
809
+ 'Content-Type': 'application/json',
810
+ ...options?.headers
811
+ }
812
+ });
813
+ /**
814
+ * admin.log (query)
815
+ */
816
+ export const queryAdminLog = (options) => (options?.client ?? client).post({ url: '/v1/admin/log', ...options });
817
+ /**
818
+ * admin.sequence (query)
819
+ */
820
+ export const queryAdminSequence = (options) => (options?.client ?? client).post({ url: '/v1/admin/sequence', ...options });
821
+ /**
822
+ * Get operations list and guidance filtered to specified disclosure tier
823
+ */
824
+ export const queryAdminHelp = (options) => (options?.client ?? client).post({
825
+ url: '/v1/admin/help',
826
+ ...options,
827
+ headers: {
828
+ 'Content-Type': 'application/json',
829
+ ...options?.headers
830
+ }
831
+ });
832
+ /**
833
+ * tools.issue.diagnostics (query) — CLEO install integrity check
834
+ */
835
+ export const queryToolsIssueDiagnostics = (options) => (options?.client ?? client).post({ url: '/v1/tools/issue.diagnostics', ...options });
836
+ /**
837
+ * tools.skill.list (query)
838
+ */
839
+ export const queryToolsSkillList = (options) => (options?.client ?? client).post({ url: '/v1/tools/skill.list', ...options });
840
+ /**
841
+ * tools.skill.show (query)
842
+ */
843
+ export const queryToolsSkillShow = (options) => (options?.client ?? client).post({ url: '/v1/tools/skill.show', ...options });
844
+ /**
845
+ * tools.skill.find (query)
846
+ */
847
+ export const queryToolsSkillFind = (options) => (options?.client ?? client).post({ url: '/v1/tools/skill.find', ...options });
848
+ /**
849
+ * tools.skill.federated.find (T9731 federation-aware multi-source query)
850
+ */
851
+ export const queryToolsSkillFederatedFind = (options) => (options?.client ?? client).post({ url: '/v1/tools/skill.federated.find', ...options });
852
+ /**
853
+ * tools.skill.dispatch (query)
854
+ */
855
+ export const queryToolsSkillDispatch = (options) => (options?.client ?? client).post({ url: '/v1/tools/skill.dispatch', ...options });
856
+ /**
857
+ * tools.skill.verify (query)
858
+ */
859
+ export const queryToolsSkillVerify = (options) => (options?.client ?? client).post({ url: '/v1/tools/skill.verify', ...options });
860
+ /**
861
+ * tools.skill.dependencies (query)
862
+ */
863
+ export const queryToolsSkillDependencies = (options) => (options?.client ?? client).post({ url: '/v1/tools/skill.dependencies', ...options });
864
+ /**
865
+ * List spawn-capable providers by capability (query)
866
+ */
867
+ export const queryToolsSkillSpawnProviders = (options) => (options?.client ?? client).post({ url: '/v1/tools/skill.spawn.providers', ...options });
868
+ /**
869
+ * tools.skill.catalog (query) — CAAMP catalog; absorbs catalog.protocols/profiles/resources/info via type param
870
+ */
871
+ export const queryToolsSkillCatalog = (options) => (options?.client ?? client).post({
872
+ url: '/v1/tools/skill.catalog',
873
+ ...options,
874
+ headers: {
875
+ 'Content-Type': 'application/json',
876
+ ...options?.headers
877
+ }
878
+ });
879
+ /**
880
+ * tools.skill.precedence (query) — absorbs precedence.show and precedence.resolve via action param
881
+ */
882
+ export const queryToolsSkillPrecedence = (options) => (options?.client ?? client).post({
883
+ url: '/v1/tools/skill.precedence',
884
+ ...options,
885
+ headers: {
886
+ 'Content-Type': 'application/json',
887
+ ...options?.headers
888
+ }
889
+ });
890
+ /**
891
+ * tools.skill.doctor.diagnose (query) — read-only health report on skill storage layout, db drift, orphans, and bridge symlinks
892
+ */
893
+ export const queryToolsSkillDoctorDiagnose = (options) => (options?.client ?? client).post({
894
+ url: '/v1/tools/skill.doctor.diagnose',
895
+ ...options,
896
+ headers: {
897
+ 'Content-Type': 'application/json',
898
+ ...options?.headers
899
+ }
900
+ });
901
+ /**
902
+ * tools.skill.prune.telemetry (mutate) — delete skill_usage rows older than --older-than DAYS (default 180)
903
+ */
904
+ export const mutateToolsSkillPruneTelemetry = (options) => (options?.client ?? client).post({
905
+ url: '/v1/tools/skill.prune.telemetry',
906
+ ...options,
907
+ headers: {
908
+ 'Content-Type': 'application/json',
909
+ ...options?.headers
910
+ }
911
+ });
912
+ /**
913
+ * tools.skill.import.hermes (mutate) — migrate ~/.hermes/skills/.usage.json sidecars into CLEO skills.db
914
+ */
915
+ export const mutateToolsSkillImportHermes = (options) => (options?.client ?? client).post({
916
+ url: '/v1/tools/skill.import.hermes',
917
+ ...options,
918
+ headers: {
919
+ 'Content-Type': 'application/json',
920
+ ...options?.headers
921
+ }
922
+ });
923
+ /**
924
+ * tools.skill.migrate (mutate) — migrate ~/.local/share/agents/skills into ~/.cleo/skills (SSoT); supports --dry-run preview + --rollback restore
925
+ */
926
+ export const mutateToolsSkillMigrate = (options) => (options?.client ?? client).post({
927
+ url: '/v1/tools/skill.migrate',
928
+ ...options,
929
+ headers: {
930
+ 'Content-Type': 'application/json',
931
+ ...options?.headers
932
+ }
933
+ });
934
+ /**
935
+ * tools.skill.stats (query) — Sphere B telemetry rollup; top-N usage, lifecycle / source-type breakdowns, agent-created list
936
+ */
937
+ export const queryToolsSkillStats = (options) => (options?.client ?? client).post({
938
+ url: '/v1/tools/skill.stats',
939
+ ...options,
940
+ headers: {
941
+ 'Content-Type': 'application/json',
942
+ ...options?.headers
943
+ }
944
+ });
945
+ /**
946
+ * tools.provider.list (query)
947
+ */
948
+ export const queryToolsProviderList = (options) => (options?.client ?? client).post({ url: '/v1/tools/provider.list', ...options });
949
+ /**
950
+ * tools.provider.detect (query)
951
+ */
952
+ export const queryToolsProviderDetect = (options) => (options?.client ?? client).post({ url: '/v1/tools/provider.detect', ...options });
953
+ /**
954
+ * tools.provider.inject.status (query)
955
+ */
956
+ export const queryToolsProviderInjectStatus = (options) => (options?.client ?? client).post({ url: '/v1/tools/provider.inject.status', ...options });
957
+ /**
958
+ * tools.provider.supports (query) - check if provider supports capability
959
+ */
960
+ export const queryToolsProviderSupports = (options) => (options.client ?? client).post({
961
+ url: '/v1/tools/provider.supports',
962
+ ...options,
963
+ headers: {
964
+ 'Content-Type': 'application/json',
965
+ ...options.headers
966
+ }
967
+ });
968
+ /**
969
+ * tools.provider.hooks (query) - list providers by hook event support
970
+ */
971
+ export const queryToolsProviderHooks = (options) => (options.client ?? client).post({
972
+ url: '/v1/tools/provider.hooks',
973
+ ...options,
974
+ headers: {
975
+ 'Content-Type': 'application/json',
976
+ ...options.headers
977
+ }
978
+ });
979
+ /**
980
+ * tasks.add (mutate)
981
+ */
982
+ export const mutateTasksAdd = (options) => (options.client ?? client).post({
983
+ url: '/v1/tasks/add',
984
+ ...options,
985
+ headers: {
986
+ 'Content-Type': 'application/json',
987
+ ...options.headers
988
+ }
989
+ });
990
+ /**
991
+ * tasks.add-batch (mutate) — bulk-create N tasks atomically in a single transaction (epic decomposition: 1 call instead of N)
992
+ */
993
+ export const mutateTasksAddBatch = (options) => (options.client ?? client).post({
994
+ url: '/v1/tasks/add-batch',
995
+ ...options,
996
+ headers: {
997
+ 'Content-Type': 'application/json',
998
+ ...options.headers
999
+ }
1000
+ });
1001
+ /**
1002
+ * tasks.update (mutate) — partial update; only supplied fields are mutated
1003
+ */
1004
+ export const mutateTasksUpdate = (options) => (options.client ?? client).post({
1005
+ url: '/v1/tasks/update',
1006
+ ...options,
1007
+ headers: {
1008
+ 'Content-Type': 'application/json',
1009
+ ...options.headers
1010
+ }
1011
+ });
1012
+ /**
1013
+ * tasks.complete (mutate)
1014
+ */
1015
+ export const mutateTasksComplete = (options) => (options.client ?? client).post({
1016
+ url: '/v1/tasks/complete',
1017
+ ...options,
1018
+ headers: {
1019
+ 'Content-Type': 'application/json',
1020
+ ...options.headers
1021
+ }
1022
+ });
1023
+ /**
1024
+ * tasks.cancel (mutate) — cancel task (soft terminal state; reversible via tasks.restore)
1025
+ */
1026
+ export const mutateTasksCancel = (options) => (options.client ?? client).post({
1027
+ url: '/v1/tasks/cancel',
1028
+ ...options,
1029
+ headers: {
1030
+ 'Content-Type': 'application/json',
1031
+ ...options.headers
1032
+ }
1033
+ });
1034
+ /**
1035
+ * tasks.delete (mutate)
1036
+ */
1037
+ export const mutateTasksDelete = (options) => (options.client ?? client).post({
1038
+ url: '/v1/tasks/delete',
1039
+ ...options,
1040
+ headers: {
1041
+ 'Content-Type': 'application/json',
1042
+ ...options.headers
1043
+ }
1044
+ });
1045
+ /**
1046
+ * tasks.archive (mutate)
1047
+ */
1048
+ export const mutateTasksArchive = (options) => (options?.client ?? client).post({ url: '/v1/tasks/archive', ...options });
1049
+ /**
1050
+ * tasks.restore (mutate) — absorbs reopen and unarchive via from param
1051
+ */
1052
+ export const mutateTasksRestore = (options) => (options.client ?? client).post({
1053
+ url: '/v1/tasks/restore',
1054
+ ...options,
1055
+ headers: {
1056
+ 'Content-Type': 'application/json',
1057
+ ...options.headers
1058
+ }
1059
+ });
1060
+ /**
1061
+ * tasks.reparent (mutate) — absorbs promote via newParentId:null
1062
+ */
1063
+ export const mutateTasksReparent = (options) => (options.client ?? client).post({
1064
+ url: '/v1/tasks/reparent',
1065
+ ...options,
1066
+ headers: {
1067
+ 'Content-Type': 'application/json',
1068
+ ...options.headers
1069
+ }
1070
+ });
1071
+ /**
1072
+ * tasks.reorder (mutate)
1073
+ */
1074
+ export const mutateTasksReorder = (options) => (options.client ?? client).post({
1075
+ url: '/v1/tasks/reorder',
1076
+ ...options,
1077
+ headers: {
1078
+ 'Content-Type': 'application/json',
1079
+ ...options.headers
1080
+ }
1081
+ });
1082
+ /**
1083
+ * tasks.reorder-rank (mutate) — within-column positional re-rank from an explicit top-to-bottom task-ID order (Kanban drag-reorder)
1084
+ */
1085
+ export const mutateTasksReorderRank = (options) => (options.client ?? client).post({
1086
+ url: '/v1/tasks/reorder-rank',
1087
+ ...options,
1088
+ headers: {
1089
+ 'Content-Type': 'application/json',
1090
+ ...options.headers
1091
+ }
1092
+ });
1093
+ /**
1094
+ * tasks.bulk-move (mutate) — atomically move N tasks to a new status and/or pipeline stage in a single transaction (Kanban multi-card column move)
1095
+ */
1096
+ export const mutateTasksBulkMove = (options) => (options.client ?? client).post({
1097
+ url: '/v1/tasks/bulk-move',
1098
+ ...options,
1099
+ headers: {
1100
+ 'Content-Type': 'application/json',
1101
+ ...options.headers
1102
+ }
1103
+ });
1104
+ /**
1105
+ * tasks.assignee (mutate) — set/clear a first-class human assignee (DISTINCT from the agent claim/unclaim lock; pass assignee:null to clear)
1106
+ */
1107
+ export const mutateTasksAssignee = (options) => (options.client ?? client).post({
1108
+ url: '/v1/tasks/assignee',
1109
+ ...options,
1110
+ headers: {
1111
+ 'Content-Type': 'application/json',
1112
+ ...options.headers
1113
+ }
1114
+ });
1115
+ /**
1116
+ * tasks.relates.add (mutate)
1117
+ */
1118
+ export const mutateTasksRelatesAdd = (options) => (options.client ?? client).post({
1119
+ url: '/v1/tasks/relates.add',
1120
+ ...options,
1121
+ headers: {
1122
+ 'Content-Type': 'application/json',
1123
+ ...options.headers
1124
+ }
1125
+ });
1126
+ /**
1127
+ * tasks.relates.add-batch (mutate) — bulk-add advisory relation edges from a JSON payload ({relations:[...]} or {edges:[...]}); use dryRun to preview without writing.
1128
+ */
1129
+ export const mutateTasksRelatesAddBatch = (options) => (options?.client ?? client).post({
1130
+ url: '/v1/tasks/relates.add-batch',
1131
+ ...options,
1132
+ headers: {
1133
+ 'Content-Type': 'application/json',
1134
+ ...options?.headers
1135
+ }
1136
+ });
1137
+ /**
1138
+ * tasks.relates.remove (mutate) — delete a relation between two tasks. Pass `type` to scope deletion to a single relation kind; omit to remove any type.
1139
+ */
1140
+ export const mutateTasksRelatesRemove = (options) => (options.client ?? client).post({
1141
+ url: '/v1/tasks/relates.remove',
1142
+ ...options,
1143
+ headers: {
1144
+ 'Content-Type': 'application/json',
1145
+ ...options.headers
1146
+ }
1147
+ });
1148
+ /**
1149
+ * tasks.saga.create (mutate) — create a Saga as a first-class TaskType (type=saga) per ADR-083
1150
+ */
1151
+ export const mutateTasksSagaCreate = (options) => (options.client ?? client).post({
1152
+ url: '/v1/tasks/saga.create',
1153
+ ...options,
1154
+ headers: {
1155
+ 'Content-Type': 'application/json',
1156
+ ...options.headers
1157
+ }
1158
+ });
1159
+ /**
1160
+ * tasks.saga.add (mutate) — link an Epic to a Saga via task_relations type=groups
1161
+ */
1162
+ export const mutateTasksSagaAdd = (options) => (options.client ?? client).post({
1163
+ url: '/v1/tasks/saga.add',
1164
+ ...options,
1165
+ headers: {
1166
+ 'Content-Type': 'application/json',
1167
+ ...options.headers
1168
+ }
1169
+ });
1170
+ /**
1171
+ * tasks.saga.detach (mutate) — remove a Saga member relation (task_relations type=groups); idempotent; appends to .cleo/audit/saga-detach.jsonl (T10118)
1172
+ */
1173
+ export const mutateTasksSagaDetach = (options) => (options.client ?? client).post({
1174
+ url: '/v1/tasks/saga.detach',
1175
+ ...options,
1176
+ headers: {
1177
+ 'Content-Type': 'application/json',
1178
+ ...options.headers
1179
+ }
1180
+ });
1181
+ /**
1182
+ * tasks.saga.list (query) — list all Sagas (labeled top-level Epics)
1183
+ */
1184
+ export const queryTasksSagaList = (options) => (options?.client ?? client).post({ url: '/v1/tasks/saga.list', ...options });
1185
+ /**
1186
+ * tasks.saga.members (query) — list member Epics linked to a Saga
1187
+ */
1188
+ export const queryTasksSagaMembers = (options) => (options.client ?? client).post({
1189
+ url: '/v1/tasks/saga.members',
1190
+ ...options,
1191
+ headers: {
1192
+ 'Content-Type': 'application/json',
1193
+ ...options.headers
1194
+ }
1195
+ });
1196
+ /**
1197
+ * tasks.saga.rollup (query) — aggregate member Epic statuses (total/done/active/blocked/pending + completionPct)
1198
+ */
1199
+ export const queryTasksSagaRollup = (options) => (options.client ?? client).post({
1200
+ url: '/v1/tasks/saga.rollup',
1201
+ ...options,
1202
+ headers: {
1203
+ 'Content-Type': 'application/json',
1204
+ ...options.headers
1205
+ }
1206
+ });
1207
+ /**
1208
+ * tasks.saga.repair (mutate) — detach I5-violating parentId and re-attach via task_relations type=groups; idempotent
1209
+ */
1210
+ export const mutateTasksSagaRepair = (options) => (options.client ?? client).post({
1211
+ url: '/v1/tasks/saga.repair',
1212
+ ...options,
1213
+ headers: {
1214
+ 'Content-Type': 'application/json',
1215
+ ...options.headers
1216
+ }
1217
+ });
1218
+ /**
1219
+ * tasks.saga.reconcile (mutate) — idempotent cron-safe saga auto-close repair; per-saga advisory lock + audit log; supersedes T10098
1220
+ */
1221
+ export const mutateTasksSagaReconcile = (options) => (options?.client ?? client).post({
1222
+ url: '/v1/tasks/saga.reconcile',
1223
+ ...options,
1224
+ headers: {
1225
+ 'Content-Type': 'application/json',
1226
+ ...options?.headers
1227
+ }
1228
+ });
1229
+ /**
1230
+ * tasks.saga.migrate-containment (mutate) — convert parent_id-based Saga membership to groups relations; idempotent; audits to saga-contain-migration.jsonl
1231
+ */
1232
+ export const mutateTasksSagaMigrateContainment = (options) => (options?.client ?? client).post({
1233
+ url: '/v1/tasks/saga.migrate-containment',
1234
+ ...options,
1235
+ headers: {
1236
+ 'Content-Type': 'application/json',
1237
+ ...options?.headers
1238
+ }
1239
+ });
1240
+ /**
1241
+ * tasks.start (mutate)
1242
+ */
1243
+ export const mutateTasksStart = (options) => (options.client ?? client).post({
1244
+ url: '/v1/tasks/start',
1245
+ ...options,
1246
+ headers: {
1247
+ 'Content-Type': 'application/json',
1248
+ ...options.headers
1249
+ }
1250
+ });
1251
+ /**
1252
+ * tasks.stop (mutate)
1253
+ */
1254
+ export const mutateTasksStop = (options) => (options?.client ?? client).post({ url: '/v1/tasks/stop', ...options });
1255
+ /**
1256
+ * tasks.sync.reconcile (mutate) — reconcile external tasks with CLEO as SSoT
1257
+ */
1258
+ export const mutateTasksSyncReconcile = (options) => (options.client ?? client).post({
1259
+ url: '/v1/tasks/sync.reconcile',
1260
+ ...options,
1261
+ headers: {
1262
+ 'Content-Type': 'application/json',
1263
+ ...options.headers
1264
+ }
1265
+ });
1266
+ /**
1267
+ * tasks.sync.links (query) — list external task links by provider or task ID
1268
+ */
1269
+ export const queryTasksSyncLinks = (options) => (options?.client ?? client).post({
1270
+ url: '/v1/tasks/sync.links',
1271
+ ...options,
1272
+ headers: {
1273
+ 'Content-Type': 'application/json',
1274
+ ...options?.headers
1275
+ }
1276
+ });
1277
+ /**
1278
+ * tasks.sync.links.remove (mutate) — remove all external task links for a provider
1279
+ */
1280
+ export const mutateTasksSyncLinksRemove = (options) => (options.client ?? client).post({
1281
+ url: '/v1/tasks/sync.links.remove',
1282
+ ...options,
1283
+ headers: {
1284
+ 'Content-Type': 'application/json',
1285
+ ...options.headers
1286
+ }
1287
+ });
1288
+ /**
1289
+ * tasks.claim (mutate) — claim a task by assigning it to the current session
1290
+ */
1291
+ export const mutateTasksClaim = (options) => (options.client ?? client).post({
1292
+ url: '/v1/tasks/claim',
1293
+ ...options,
1294
+ headers: {
1295
+ 'Content-Type': 'application/json',
1296
+ ...options.headers
1297
+ }
1298
+ });
1299
+ /**
1300
+ * tasks.unclaim (mutate) — unclaim a task by removing the current assignee
1301
+ */
1302
+ export const mutateTasksUnclaim = (options) => (options.client ?? client).post({
1303
+ url: '/v1/tasks/unclaim',
1304
+ ...options,
1305
+ headers: {
1306
+ 'Content-Type': 'application/json',
1307
+ ...options.headers
1308
+ }
1309
+ });
1310
+ /**
1311
+ * session.start (mutate)
1312
+ */
1313
+ export const mutateSessionStart = (options) => (options?.client ?? client).post({ url: '/v1/session/start', ...options });
1314
+ /**
1315
+ * session.end (mutate)
1316
+ */
1317
+ export const mutateSessionEnd = (options) => (options?.client ?? client).post({ url: '/v1/session/end', ...options });
1318
+ /**
1319
+ * session.resume (mutate)
1320
+ */
1321
+ export const mutateSessionResume = (options) => (options?.client ?? client).post({ url: '/v1/session/resume', ...options });
1322
+ /**
1323
+ * session.suspend (mutate)
1324
+ */
1325
+ export const mutateSessionSuspend = (options) => (options?.client ?? client).post({ url: '/v1/session/suspend', ...options });
1326
+ /**
1327
+ * session.gc (mutate)
1328
+ */
1329
+ export const mutateSessionGc = (options) => (options?.client ?? client).post({ url: '/v1/session/gc', ...options });
1330
+ /**
1331
+ * session.record.decision (mutate)
1332
+ */
1333
+ export const mutateSessionRecordDecision = (options) => (options?.client ?? client).post({ url: '/v1/session/record.decision', ...options });
1334
+ /**
1335
+ * session.record.assumption (mutate)
1336
+ */
1337
+ export const mutateSessionRecordAssumption = (options) => (options?.client ?? client).post({ url: '/v1/session/record.assumption', ...options });
1338
+ /**
1339
+ * session.adopt — rebind env to a specific session for multi-agent isolation (T9975)
1340
+ */
1341
+ export const mutateSessionAdopt = (options) => (options?.client ?? client).post({
1342
+ url: '/v1/session/adopt',
1343
+ ...options,
1344
+ headers: {
1345
+ 'Content-Type': 'application/json',
1346
+ ...options?.headers
1347
+ }
1348
+ });
1349
+ /**
1350
+ * orchestrate.start (mutate)
1351
+ */
1352
+ export const mutateOrchestrateStart = (options) => (options?.client ?? client).post({ url: '/v1/orchestrate/start', ...options });
1353
+ /**
1354
+ * orchestrate.spawn (mutate)
1355
+ */
1356
+ export const mutateOrchestrateSpawn = (options) => (options?.client ?? client).post({ url: '/v1/orchestrate/spawn', ...options });
1357
+ /**
1358
+ * orchestrate.handoff (mutate) — composite handoff (context.inject -> session.end -> spawn)
1359
+ */
1360
+ export const mutateOrchestrateHandoff = (options) => (options.client ?? client).post({
1361
+ url: '/v1/orchestrate/handoff',
1362
+ ...options,
1363
+ headers: {
1364
+ 'Content-Type': 'application/json',
1365
+ ...options.headers
1366
+ }
1367
+ });
1368
+ /**
1369
+ * orchestrate.spawn.execute (mutate) — execute spawn for a task using adapter registry
1370
+ */
1371
+ export const mutateOrchestrateSpawnExecute = (options) => (options.client ?? client).post({
1372
+ url: '/v1/orchestrate/spawn.execute',
1373
+ ...options,
1374
+ headers: {
1375
+ 'Content-Type': 'application/json',
1376
+ ...options.headers
1377
+ }
1378
+ });
1379
+ /**
1380
+ * orchestrate.validate (mutate)
1381
+ */
1382
+ export const mutateOrchestrateValidate = (options) => (options?.client ?? client).post({ url: '/v1/orchestrate/validate', ...options });
1383
+ /**
1384
+ * orchestrate.pivot (mutate) — record an audited context switch from one task to another (replaces silent reframes)
1385
+ */
1386
+ export const mutateOrchestratePivot = (options) => (options.client ?? client).post({
1387
+ url: '/v1/orchestrate/pivot',
1388
+ ...options,
1389
+ headers: {
1390
+ 'Content-Type': 'application/json',
1391
+ ...options.headers
1392
+ }
1393
+ });
1394
+ /**
1395
+ * orchestrate.parallel (mutate) — absorbs parallel.start and parallel.end via action param
1396
+ */
1397
+ export const mutateOrchestrateParallel = (options) => (options.client ?? client).post({
1398
+ url: '/v1/orchestrate/parallel',
1399
+ ...options,
1400
+ headers: {
1401
+ 'Content-Type': 'application/json',
1402
+ ...options.headers
1403
+ }
1404
+ });
1405
+ /**
1406
+ * memory.observe (mutate) — save observation to brain.db
1407
+ */
1408
+ export const mutateMemoryObserve = (options) => (options.client ?? client).post({
1409
+ url: '/v1/memory/observe',
1410
+ ...options,
1411
+ headers: {
1412
+ 'Content-Type': 'application/json',
1413
+ ...options.headers
1414
+ }
1415
+ });
1416
+ /**
1417
+ * memory.decision.store (mutate) — store decision to brain.db
1418
+ */
1419
+ export const mutateMemoryDecisionStore = (options) => (options.client ?? client).post({
1420
+ url: '/v1/memory/decision.store',
1421
+ ...options,
1422
+ headers: {
1423
+ 'Content-Type': 'application/json',
1424
+ ...options.headers
1425
+ }
1426
+ });
1427
+ /**
1428
+ * memory.pattern.store (mutate) — store a reusable workflow or anti-pattern in BRAIN pattern memory
1429
+ */
1430
+ export const mutateMemoryPatternStore = (options) => (options.client ?? client).post({
1431
+ url: '/v1/memory/pattern.store',
1432
+ ...options,
1433
+ headers: {
1434
+ 'Content-Type': 'application/json',
1435
+ ...options.headers
1436
+ }
1437
+ });
1438
+ /**
1439
+ * memory.learning.store (mutate) — store an insight or lesson learned in BRAIN learning memory
1440
+ */
1441
+ export const mutateMemoryLearningStore = (options) => (options.client ?? client).post({
1442
+ url: '/v1/memory/learning.store',
1443
+ ...options,
1444
+ headers: {
1445
+ 'Content-Type': 'application/json',
1446
+ ...options.headers
1447
+ }
1448
+ });
1449
+ /**
1450
+ * memory.link (mutate) — link brain entry to task
1451
+ */
1452
+ export const mutateMemoryLink = (options) => (options.client ?? client).post({
1453
+ url: '/v1/memory/link',
1454
+ ...options,
1455
+ headers: {
1456
+ 'Content-Type': 'application/json',
1457
+ ...options.headers
1458
+ }
1459
+ });
1460
+ /**
1461
+ * memory.graph.add (mutate) — add a node or edge to the PageIndex graph
1462
+ */
1463
+ export const mutateMemoryGraphAdd = (options) => (options?.client ?? client).post({ url: '/v1/memory/graph.add', ...options });
1464
+ /**
1465
+ * memory.graph.remove (mutate) — remove a node or edge from the PageIndex graph
1466
+ */
1467
+ export const mutateMemoryGraphRemove = (options) => (options?.client ?? client).post({ url: '/v1/memory/graph.remove', ...options });
1468
+ /**
1469
+ * Memory quality report: retrieval stats, noise ratio, tier distribution
1470
+ */
1471
+ export const queryMemoryQuality = (options) => (options?.client ?? client).post({ url: '/v1/memory/quality', ...options });
1472
+ /**
1473
+ * List code_reference edges connecting memories to nexus code symbols
1474
+ */
1475
+ export const queryMemoryCodeLinks = (options) => (options?.client ?? client).post({ url: '/v1/memory/code.links', ...options });
1476
+ /**
1477
+ * Find memories linked to a code symbol via code_reference edges
1478
+ */
1479
+ export const queryMemoryCodeMemoriesForCode = (options) => (options.client ?? client).post({
1480
+ url: '/v1/memory/code.memories-for-code',
1481
+ ...options,
1482
+ headers: {
1483
+ 'Content-Type': 'application/json',
1484
+ ...options.headers
1485
+ }
1486
+ });
1487
+ /**
1488
+ * Find code symbols linked to a memory entry via code_reference edges
1489
+ */
1490
+ export const queryMemoryCodeForMemory = (options) => (options.client ?? client).post({
1491
+ url: '/v1/memory/code.for-memory',
1492
+ ...options,
1493
+ headers: {
1494
+ 'Content-Type': 'application/json',
1495
+ ...options.headers
1496
+ }
1497
+ });
1498
+ /**
1499
+ * Create code_reference edge from memory to nexus symbol
1500
+ */
1501
+ export const mutateMemoryCodeLink = (options) => (options.client ?? client).post({
1502
+ url: '/v1/memory/code.link',
1503
+ ...options,
1504
+ headers: {
1505
+ 'Content-Type': 'application/json',
1506
+ ...options.headers
1507
+ }
1508
+ });
1509
+ /**
1510
+ * Scan memories for entity references and auto-link to nexus nodes
1511
+ */
1512
+ export const mutateMemoryCodeAutoLink = (options) => (options?.client ?? client).post({ url: '/v1/memory/code.auto-link', ...options });
1513
+ /**
1514
+ * memory.doctor (query) — read-only brain noise scan: detects duplicate-content, missing-type, missing-provenance, orphan-edge, low-confidence, stale-unverified patterns. Used as M7 assert-clean gate for Sentient v1 activation.
1515
+ */
1516
+ export const queryMemoryDoctor = (options) => (options?.client ?? client).post({
1517
+ url: '/v1/memory/doctor',
1518
+ ...options,
1519
+ headers: {
1520
+ 'Content-Type': 'application/json',
1521
+ ...options?.headers
1522
+ }
1523
+ });
1524
+ /**
1525
+ * memory.sweep (query/mutate) — T1147 W7 BRAIN noise sweep. dry-run: detect noise candidates and write sample JSON to agent-outputs. approve <runId>: apply sweep to live brain tables (sets killSwitch during tx). status: list all noise-sweep-2440 runs. rollback <runId>: discard a staged run without applying changes.
1526
+ */
1527
+ export const queryMemorySweep = (options) => (options?.client ?? client).post({
1528
+ url: '/v1/memory/sweep/query',
1529
+ ...options,
1530
+ headers: {
1531
+ 'Content-Type': 'application/json',
1532
+ ...options?.headers
1533
+ }
1534
+ });
1535
+ /**
1536
+ * memory.sweep (mutate) — T1147 W7 BRAIN noise sweep approve/rollback. approve <runId>: apply sweep to live brain tables. rollback <runId>: discard a staged run without applying changes.
1537
+ */
1538
+ export const mutateMemorySweep = (options) => (options?.client ?? client).post({
1539
+ url: '/v1/memory/sweep/mutate',
1540
+ ...options,
1541
+ headers: {
1542
+ 'Content-Type': 'application/json',
1543
+ ...options?.headers
1544
+ }
1545
+ });
1546
+ /**
1547
+ * memory.llm-status (query) — report LLM backend resolution status and extraction readiness
1548
+ */
1549
+ export const queryMemoryLlmStatus = (options) => (options?.client ?? client).post({ url: '/v1/memory/llm-status', ...options });
1550
+ /**
1551
+ * memory.pending-verify (query) — list unverified brain entries with citation_count >= threshold
1552
+ */
1553
+ export const queryMemoryPendingVerify = (options) => (options?.client ?? client).post({
1554
+ url: '/v1/memory/pending-verify',
1555
+ ...options,
1556
+ headers: {
1557
+ 'Content-Type': 'application/json',
1558
+ ...options?.headers
1559
+ }
1560
+ });
1561
+ /**
1562
+ * memory.bridge (query) — stream brain.db memory-bridge content directly (cli mode default)
1563
+ */
1564
+ export const queryMemoryBridge = (options) => (options?.client ?? client).post({ url: '/v1/memory/bridge', ...options });
1565
+ /**
1566
+ * memory.promote-explain (query) — read-only view over STDP weights, retrieval log, and citation_count for a brain entry; returns tier decision and score breakdown
1567
+ */
1568
+ export const queryMemoryPromoteExplain = (options) => (options.client ?? client).post({
1569
+ url: '/v1/memory/promote-explain',
1570
+ ...options,
1571
+ headers: {
1572
+ 'Content-Type': 'application/json',
1573
+ ...options.headers
1574
+ }
1575
+ });
1576
+ /**
1577
+ * memory.digest (query) — summarized top-N observations by citation_count for session briefings
1578
+ */
1579
+ export const queryMemoryDigest = (options) => (options?.client ?? client).post({
1580
+ url: '/v1/memory/digest',
1581
+ ...options,
1582
+ headers: {
1583
+ 'Content-Type': 'application/json',
1584
+ ...options?.headers
1585
+ }
1586
+ });
1587
+ /**
1588
+ * memory.recent (query) — tail recent brain_observations with optional filters (since, type, session, tier)
1589
+ */
1590
+ export const queryMemoryRecent = (options) => (options?.client ?? client).post({
1591
+ url: '/v1/memory/recent',
1592
+ ...options,
1593
+ headers: {
1594
+ 'Content-Type': 'application/json',
1595
+ ...options?.headers
1596
+ }
1597
+ });
1598
+ /**
1599
+ * memory.diary (query) — list observations with type='diary' in reverse chronological order
1600
+ */
1601
+ export const queryMemoryDiary = (options) => (options?.client ?? client).post({
1602
+ url: '/v1/memory/diary',
1603
+ ...options,
1604
+ headers: {
1605
+ 'Content-Type': 'application/json',
1606
+ ...options?.headers
1607
+ }
1608
+ });
1609
+ /**
1610
+ * memory.watch (query) — poll for new brain_observations since a cursor; returns nextCursor for chained polling
1611
+ */
1612
+ export const queryMemoryWatch = (options) => (options?.client ?? client).post({
1613
+ url: '/v1/memory/watch',
1614
+ ...options,
1615
+ headers: {
1616
+ 'Content-Type': 'application/json',
1617
+ ...options?.headers
1618
+ }
1619
+ });
1620
+ /**
1621
+ * memory.diary.write (mutate) — store an observation with type='diary' (thin wrapper over observe)
1622
+ */
1623
+ export const mutateMemoryDiaryWrite = (options) => (options.client ?? client).post({
1624
+ url: '/v1/memory/diary.write',
1625
+ ...options,
1626
+ headers: {
1627
+ 'Content-Type': 'application/json',
1628
+ ...options.headers
1629
+ }
1630
+ });
1631
+ /**
1632
+ * memory.verify (mutate) — flip verified=1 on a brain entry; requires project-orchestrator or owner identity
1633
+ */
1634
+ export const mutateMemoryVerify = (options) => (options.client ?? client).post({
1635
+ url: '/v1/memory/verify',
1636
+ ...options,
1637
+ headers: {
1638
+ 'Content-Type': 'application/json',
1639
+ ...options.headers
1640
+ }
1641
+ });
1642
+ /**
1643
+ * memory.precompact-flush (mutate) — flush in-flight brain observations and issue a WAL checkpoint before context window compaction
1644
+ */
1645
+ export const mutateMemoryPrecompactFlush = (options) => (options?.client ?? client).post({ url: '/v1/memory/precompact-flush', ...options });
1646
+ /**
1647
+ * memory.backfill.list (query) — list staged backfill runs with status (pending/approved/rolled-back)
1648
+ */
1649
+ export const queryMemoryBackfillList = (options) => (options?.client ?? client).post({ url: '/v1/memory/backfill.list', ...options });
1650
+ /**
1651
+ * memory.backfill.run (mutate) — stage a new graph backfill run (rows held pending approval)
1652
+ */
1653
+ export const mutateMemoryBackfillRun = (options) => (options?.client ?? client).post({ url: '/v1/memory/backfill.run', ...options });
1654
+ /**
1655
+ * memory.backfill.approve (mutate) — approve a staged backfill run (commits rows to live tables)
1656
+ */
1657
+ export const mutateMemoryBackfillApprove = (options) => (options.client ?? client).post({
1658
+ url: '/v1/memory/backfill.approve',
1659
+ ...options,
1660
+ headers: {
1661
+ 'Content-Type': 'application/json',
1662
+ ...options.headers
1663
+ }
1664
+ });
1665
+ /**
1666
+ * memory.backfill.rollback (mutate) — rollback a backfill run (removes staged/committed rows)
1667
+ */
1668
+ export const mutateMemoryBackfillRollback = (options) => (options.client ?? client).post({
1669
+ url: '/v1/memory/backfill.rollback',
1670
+ ...options,
1671
+ headers: {
1672
+ 'Content-Type': 'application/json',
1673
+ ...options.headers
1674
+ }
1675
+ });
1676
+ /**
1677
+ * pipeline.stage.record (mutate)
1678
+ */
1679
+ export const mutatePipelineStageRecord = (options) => (options?.client ?? client).post({ url: '/v1/pipeline/stage.record', ...options });
1680
+ /**
1681
+ * pipeline.stage.skip (mutate)
1682
+ */
1683
+ export const mutatePipelineStageSkip = (options) => (options?.client ?? client).post({ url: '/v1/pipeline/stage.skip', ...options });
1684
+ /**
1685
+ * pipeline.stage.reset (mutate)
1686
+ */
1687
+ export const mutatePipelineStageReset = (options) => (options?.client ?? client).post({ url: '/v1/pipeline/stage.reset', ...options });
1688
+ /**
1689
+ * pipeline.stage.gate.pass (mutate)
1690
+ */
1691
+ export const mutatePipelineStageGatePass = (options) => (options?.client ?? client).post({ url: '/v1/pipeline/stage.gate.pass', ...options });
1692
+ /**
1693
+ * pipeline.stage.gate.fail (mutate)
1694
+ */
1695
+ export const mutatePipelineStageGateFail = (options) => (options?.client ?? client).post({ url: '/v1/pipeline/stage.gate.fail', ...options });
1696
+ /**
1697
+ * pipeline.manifest.append (mutate) — append entry to pipeline_manifest (SQLite table per ADR-027)
1698
+ */
1699
+ export const mutatePipelineManifestAppend = (options) => (options.client ?? client).post({
1700
+ url: '/v1/pipeline/manifest.append',
1701
+ ...options,
1702
+ headers: {
1703
+ 'Content-Type': 'application/json',
1704
+ ...options.headers
1705
+ }
1706
+ });
1707
+ /**
1708
+ * pipeline.manifest.archive (mutate) — archive old manifest entries
1709
+ */
1710
+ export const mutatePipelineManifestArchive = (options) => (options.client ?? client).post({
1711
+ url: '/v1/pipeline/manifest.archive',
1712
+ ...options,
1713
+ headers: {
1714
+ 'Content-Type': 'application/json',
1715
+ ...options.headers
1716
+ }
1717
+ });
1718
+ /**
1719
+ * Set the active phase
1720
+ */
1721
+ export const mutatePipelinePhaseSet = (options) => (options.client ?? client).post({
1722
+ url: '/v1/pipeline/phase.set',
1723
+ ...options,
1724
+ headers: {
1725
+ 'Content-Type': 'application/json',
1726
+ ...options.headers
1727
+ }
1728
+ });
1729
+ /**
1730
+ * Complete current phase and start next
1731
+ */
1732
+ export const mutatePipelinePhaseAdvance = (options) => (options?.client ?? client).post({
1733
+ url: '/v1/pipeline/phase.advance',
1734
+ ...options,
1735
+ headers: {
1736
+ 'Content-Type': 'application/json',
1737
+ ...options?.headers
1738
+ }
1739
+ });
1740
+ /**
1741
+ * Rename a phase and update all task references
1742
+ */
1743
+ export const mutatePipelinePhaseRename = (options) => (options.client ?? client).post({
1744
+ url: '/v1/pipeline/phase.rename',
1745
+ ...options,
1746
+ headers: {
1747
+ 'Content-Type': 'application/json',
1748
+ ...options.headers
1749
+ }
1750
+ });
1751
+ /**
1752
+ * Delete a phase with task reassignment protection
1753
+ */
1754
+ export const mutatePipelinePhaseDelete = (options) => (options.client ?? client).post({
1755
+ url: '/v1/pipeline/phase.delete',
1756
+ ...options,
1757
+ headers: {
1758
+ 'Content-Type': 'application/json',
1759
+ ...options.headers
1760
+ }
1761
+ });
1762
+ /**
1763
+ * check.compliance.record (mutate)
1764
+ */
1765
+ export const mutateCheckComplianceRecord = (options) => (options?.client ?? client).post({ url: '/v1/check/compliance.record', ...options });
1766
+ /**
1767
+ * check.test.run (mutate)
1768
+ */
1769
+ export const mutateCheckTestRun = (options) => (options?.client ?? client).post({ url: '/v1/check/test.run', ...options });
1770
+ /**
1771
+ * check.compliance.sync (mutate) — sync project compliance metrics to global
1772
+ */
1773
+ export const mutateCheckComplianceSync = (options) => (options?.client ?? client).post({ url: '/v1/check/compliance.sync', ...options });
1774
+ /**
1775
+ * check.gate.set (mutate) — write path of former gate.verify; set/reset gates (T5615)
1776
+ */
1777
+ export const mutateCheckGateSet = (options) => (options?.client ?? client).post({ url: '/v1/check/gate.set', ...options });
1778
+ /**
1779
+ * check.verify.explain (query) — show evidence atoms + gate state for a task in human-readable format (read-only)
1780
+ */
1781
+ export const queryCheckVerifyExplain = (options) => (options.client ?? client).post({
1782
+ url: '/v1/check/verify.explain',
1783
+ ...options,
1784
+ headers: {
1785
+ 'Content-Type': 'application/json',
1786
+ ...options.headers
1787
+ }
1788
+ });
1789
+ /**
1790
+ * List all releases from release_manifests table
1791
+ */
1792
+ export const queryPipelineReleaseList = (options) => (options?.client ?? client).post({ url: '/v1/pipeline/release.list', ...options });
1793
+ /**
1794
+ * Show details for a specific release version
1795
+ */
1796
+ export const queryPipelineReleaseShow = (options) => (options.client ?? client).post({
1797
+ url: '/v1/pipeline/release.show',
1798
+ ...options,
1799
+ headers: {
1800
+ 'Content-Type': 'application/json',
1801
+ ...options.headers
1802
+ }
1803
+ });
1804
+ /**
1805
+ * Show the current release channel based on git branch (latest/beta/alpha)
1806
+ */
1807
+ export const queryPipelineReleaseChannelShow = (options) => (options?.client ?? client).post({ url: '/v1/pipeline/release.channel.show', ...options });
1808
+ /**
1809
+ * Poll GitHub CI check statuses for the open release PR matching release/v<version> (T9095)
1810
+ */
1811
+ export const queryPipelineReleasePrStatus = (options) => (options.client ?? client).post({
1812
+ url: '/v1/pipeline/release.pr-status',
1813
+ ...options,
1814
+ headers: {
1815
+ 'Content-Type': 'application/json',
1816
+ ...options.headers
1817
+ }
1818
+ });
1819
+ /**
1820
+ * pipeline.release.cancel (mutate)
1821
+ */
1822
+ export const mutatePipelineReleaseCancel = (options) => (options.client ?? client).post({
1823
+ url: '/v1/pipeline/release.cancel',
1824
+ ...options,
1825
+ headers: {
1826
+ 'Content-Type': 'application/json',
1827
+ ...options.headers
1828
+ }
1829
+ });
1830
+ /**
1831
+ * pipeline.release.rollback (mutate)
1832
+ */
1833
+ export const mutatePipelineReleaseRollback = (options) => (options?.client ?? client).post({ url: '/v1/pipeline/release.rollback', ...options });
1834
+ /**
1835
+ * Full rollback: delete git tag (local + remote), revert release commit, remove manifest record (T820 RELEASE-05)
1836
+ */
1837
+ export const mutatePipelineReleaseRollbackFull = (options) => (options.client ?? client).post({
1838
+ url: '/v1/pipeline/release.rollback.full',
1839
+ ...options,
1840
+ headers: {
1841
+ 'Content-Type': 'application/json',
1842
+ ...options.headers
1843
+ }
1844
+ });
1845
+ /**
1846
+ * admin.init (mutate)
1847
+ */
1848
+ export const mutateAdminInit = (options) => (options?.client ?? client).post({ url: '/v1/admin/init', ...options });
1849
+ /**
1850
+ * admin.scaffold-hub (mutate) — create CleoOS Hub dirs (global-recipes, pi-extensions, cant-workflows, agents) and seed starter justfile
1851
+ */
1852
+ export const mutateAdminScaffoldHub = (options) => (options?.client ?? client).post({ url: '/v1/admin/scaffold-hub', ...options });
1853
+ /**
1854
+ * admin.config.set (mutate)
1855
+ */
1856
+ export const mutateAdminConfigSet = (options) => (options?.client ?? client).post({ url: '/v1/admin/config.set', ...options });
1857
+ /**
1858
+ * admin.config.set-preset (mutate) — apply a strictness preset (strict, standard, minimal)
1859
+ */
1860
+ export const mutateAdminConfigSetPreset = (options) => (options.client ?? client).post({
1861
+ url: '/v1/admin/config.set-preset',
1862
+ ...options,
1863
+ headers: {
1864
+ 'Content-Type': 'application/json',
1865
+ ...options.headers
1866
+ }
1867
+ });
1868
+ /**
1869
+ * admin.config.unset (mutate) — remove a key from a scoped config file (idempotent) (T11917)
1870
+ */
1871
+ export const mutateAdminConfigUnset = (options) => (options.client ?? client).post({
1872
+ url: '/v1/admin/config.unset',
1873
+ ...options,
1874
+ headers: {
1875
+ 'Content-Type': 'application/json',
1876
+ ...options.headers
1877
+ }
1878
+ });
1879
+ /**
1880
+ * admin.backup (query) — list available backups (read-only)
1881
+ */
1882
+ export const queryAdminBackup = (options) => (options?.client ?? client).post({ url: '/v1/admin/backup/query', ...options });
1883
+ /**
1884
+ * admin.backup (mutate) — absorbs restore and backup.restore via action param
1885
+ */
1886
+ export const mutateAdminBackup = (options) => (options?.client ?? client).post({ url: '/v1/admin/backup/mutate', ...options });
1887
+ /**
1888
+ * admin.migrate (mutate)
1889
+ */
1890
+ export const mutateAdminMigrate = (options) => (options?.client ?? client).post({ url: '/v1/admin/migrate', ...options });
1891
+ /**
1892
+ * admin.cleanup (mutate)
1893
+ */
1894
+ export const mutateAdminCleanup = (options) => (options?.client ?? client).post({ url: '/v1/admin/cleanup', ...options });
1895
+ /**
1896
+ * admin.job.cancel (mutate)
1897
+ */
1898
+ export const mutateAdminJobCancel = (options) => (options?.client ?? client).post({ url: '/v1/admin/job.cancel', ...options });
1899
+ /**
1900
+ * admin.safestop (mutate)
1901
+ */
1902
+ export const mutateAdminSafestop = (options) => (options?.client ?? client).post({ url: '/v1/admin/safestop', ...options });
1903
+ /**
1904
+ * admin.inject.generate (mutate)
1905
+ */
1906
+ export const mutateAdminInjectGenerate = (options) => (options?.client ?? client).post({ url: '/v1/admin/inject.generate', ...options });
1907
+ /**
1908
+ * tools.skill.install (mutate)
1909
+ */
1910
+ export const mutateToolsSkillInstall = (options) => (options?.client ?? client).post({ url: '/v1/tools/skill.install', ...options });
1911
+ /**
1912
+ * tools.skill.uninstall (mutate)
1913
+ */
1914
+ export const mutateToolsSkillUninstall = (options) => (options?.client ?? client).post({ url: '/v1/tools/skill.uninstall', ...options });
1915
+ /**
1916
+ * tools.skill.refresh (mutate)
1917
+ */
1918
+ export const mutateToolsSkillRefresh = (options) => (options?.client ?? client).post({ url: '/v1/tools/skill.refresh', ...options });
1919
+ /**
1920
+ * tools.provider.inject (mutate)
1921
+ */
1922
+ export const mutateToolsProviderInject = (options) => (options?.client ?? client).post({ url: '/v1/tools/provider.inject', ...options });
1923
+ /**
1924
+ * tools.adapter.list (query) — list all discovered provider adapters
1925
+ */
1926
+ export const queryToolsAdapterList = (options) => (options?.client ?? client).post({ url: '/v1/tools/adapter.list', ...options });
1927
+ /**
1928
+ * tools.adapter.show (query) — show details for a specific adapter
1929
+ */
1930
+ export const queryToolsAdapterShow = (options) => (options.client ?? client).post({
1931
+ url: '/v1/tools/adapter.show',
1932
+ ...options,
1933
+ headers: {
1934
+ 'Content-Type': 'application/json',
1935
+ ...options.headers
1936
+ }
1937
+ });
1938
+ /**
1939
+ * tools.adapter.detect (query) — detect active providers in current environment
1940
+ */
1941
+ export const queryToolsAdapterDetect = (options) => (options?.client ?? client).post({ url: '/v1/tools/adapter.detect', ...options });
1942
+ /**
1943
+ * tools.adapter.health (query) — health status for adapters
1944
+ */
1945
+ export const queryToolsAdapterHealth = (options) => (options?.client ?? client).post({
1946
+ url: '/v1/tools/adapter.health',
1947
+ ...options,
1948
+ headers: {
1949
+ 'Content-Type': 'application/json',
1950
+ ...options?.headers
1951
+ }
1952
+ });
1953
+ /**
1954
+ * tools.adapter.activate (mutate) — load and activate a provider adapter
1955
+ */
1956
+ export const mutateToolsAdapterActivate = (options) => (options.client ?? client).post({
1957
+ url: '/v1/tools/adapter.activate',
1958
+ ...options,
1959
+ headers: {
1960
+ 'Content-Type': 'application/json',
1961
+ ...options.headers
1962
+ }
1963
+ });
1964
+ /**
1965
+ * tools.adapter.dispose (mutate) — dispose one or all adapters
1966
+ */
1967
+ export const mutateToolsAdapterDispose = (options) => (options?.client ?? client).post({
1968
+ url: '/v1/tools/adapter.dispose',
1969
+ ...options,
1970
+ headers: {
1971
+ 'Content-Type': 'application/json',
1972
+ ...options?.headers
1973
+ }
1974
+ });
1975
+ /**
1976
+ * Refresh global CLEO setup: provider files, configs, ~/.agents/AGENTS.md
1977
+ */
1978
+ export const mutateAdminInstallGlobal = (options) => (options?.client ?? client).post({ url: '/v1/admin/install.global', ...options });
1979
+ /**
1980
+ * admin.token (query) — summarize/list/show token telemetry; absorbs token.summary, token.list, token.show via action param
1981
+ */
1982
+ export const queryAdminToken = (options) => (options?.client ?? client).post({
1983
+ url: '/v1/admin/token/query',
1984
+ ...options,
1985
+ headers: {
1986
+ 'Content-Type': 'application/json',
1987
+ ...options?.headers
1988
+ }
1989
+ });
1990
+ /**
1991
+ * admin.token (mutate) — record/delete/clear token telemetry; absorbs token.record, token.delete, token.clear via action param
1992
+ */
1993
+ export const mutateAdminToken = (options) => (options?.client ?? client).post({
1994
+ url: '/v1/admin/token/mutate',
1995
+ ...options,
1996
+ headers: {
1997
+ 'Content-Type': 'application/json',
1998
+ ...options?.headers
1999
+ }
2000
+ });
2001
+ /**
2002
+ * admin.adr.show (query) — retrieve single ADR by ID with frontmatter
2003
+ */
2004
+ export const queryAdminAdrShow = (options) => (options.client ?? client).post({
2005
+ url: '/v1/admin/adr.show',
2006
+ ...options,
2007
+ headers: {
2008
+ 'Content-Type': 'application/json',
2009
+ ...options.headers
2010
+ }
2011
+ });
2012
+ /**
2013
+ * admin.adr.sync (mutate) — sync .cleo/adrs/ markdown files into architecture_decisions DB table; absorbs adr.validate via validate flag
2014
+ */
2015
+ export const mutateAdminAdrSync = (options) => (options?.client ?? client).post({ url: '/v1/admin/adr.sync', ...options });
2016
+ /**
2017
+ * admin.adr.find (query) — fuzzy search ADRs; absorbs adr.list when query absent
2018
+ */
2019
+ export const queryAdminAdrFind = (options) => (options?.client ?? client).post({
2020
+ url: '/v1/admin/adr.find',
2021
+ ...options,
2022
+ headers: {
2023
+ 'Content-Type': 'application/json',
2024
+ ...options?.headers
2025
+ }
2026
+ });
2027
+ /**
2028
+ * admin.health (mutate) — auto-fix failed health/doctor checks; mode:"repair" form of admin.health query (T5615)
2029
+ */
2030
+ export const mutateAdminHealth = (options) => (options?.client ?? client).post({ url: '/v1/admin/health/mutate', ...options });
2031
+ /**
2032
+ * admin.context.inject (mutate) — inject protocol content into session context; moved from session domain (T5615)
2033
+ */
2034
+ export const mutateAdminContextInject = (options) => (options.client ?? client).post({
2035
+ url: '/v1/admin/context.inject',
2036
+ ...options,
2037
+ headers: {
2038
+ 'Content-Type': 'application/json',
2039
+ ...options.headers
2040
+ }
2041
+ });
2042
+ /**
2043
+ * admin.export (query) — export tasks; absorbs snapshot.export and export.tasks via scope param
2044
+ */
2045
+ export const queryAdminExport = (options) => (options?.client ?? client).post({ url: '/v1/admin/export', ...options });
2046
+ /**
2047
+ * admin.import (mutate) — import tasks; absorbs snapshot.import and import.tasks via scope param
2048
+ */
2049
+ export const mutateAdminImport = (options) => (options.client ?? client).post({
2050
+ url: '/v1/admin/import',
2051
+ ...options,
2052
+ headers: {
2053
+ 'Content-Type': 'application/json',
2054
+ ...options.headers
2055
+ }
2056
+ });
2057
+ /**
2058
+ * Refresh project-context.json — re-detect project type, framework, and LLM hints
2059
+ */
2060
+ export const mutateAdminDetect = (options) => (options?.client ?? client).post({ url: '/v1/admin/detect', ...options });
2061
+ /**
2062
+ * admin.smoke (query) — operational smoke test: one read-only query per domain
2063
+ */
2064
+ export const queryAdminSmoke = (options) => (options?.client ?? client).post({ url: '/v1/admin/smoke', ...options });
2065
+ /**
2066
+ * admin.smoke.provider (query) — ADR-049 harness sovereignty probe: verify adapter shape, DB locality, hooks, spawn, and agent folder for a named provider
2067
+ */
2068
+ export const queryAdminSmokeProvider = (options) => (options.client ?? client).post({
2069
+ url: '/v1/admin/smoke.provider',
2070
+ ...options,
2071
+ headers: {
2072
+ 'Content-Type': 'application/json',
2073
+ ...options.headers
2074
+ }
2075
+ });
2076
+ /**
2077
+ * admin.hooks.matrix (query) — cross-provider hook support matrix using CAAMP canonical taxonomy
2078
+ */
2079
+ export const queryAdminHooksMatrix = (options) => (options?.client ?? client).post({
2080
+ url: '/v1/admin/hooks.matrix',
2081
+ ...options,
2082
+ headers: {
2083
+ 'Content-Type': 'application/json',
2084
+ ...options?.headers
2085
+ }
2086
+ });
2087
+ /**
2088
+ * admin.map (query) — analyze codebase structure, return structured mapping
2089
+ */
2090
+ export const queryAdminMap = (options) => (options?.client ?? client).post({
2091
+ url: '/v1/admin/map/query',
2092
+ ...options,
2093
+ headers: {
2094
+ 'Content-Type': 'application/json',
2095
+ ...options?.headers
2096
+ }
2097
+ });
2098
+ /**
2099
+ * admin.map (mutate) — analyze codebase and store findings to brain.db
2100
+ */
2101
+ export const mutateAdminMap = (options) => (options?.client ?? client).post({
2102
+ url: '/v1/admin/map/mutate',
2103
+ ...options,
2104
+ headers: {
2105
+ 'Content-Type': 'application/json',
2106
+ ...options?.headers
2107
+ }
2108
+ });
2109
+ /**
2110
+ * nexus.augment (query) — BM25 symbol context for PreToolUse hooks and search-code
2111
+ */
2112
+ export const queryNexusAugment = (options) => (options.client ?? client).post({
2113
+ url: '/v1/nexus/augment',
2114
+ ...options,
2115
+ headers: {
2116
+ 'Content-Type': 'application/json',
2117
+ ...options.headers
2118
+ }
2119
+ });
2120
+ /**
2121
+ * nexus.share.status (query) — sharing status
2122
+ */
2123
+ export const queryNexusShareStatus = (options) => (options?.client ?? client).post({ url: '/v1/nexus/share.status', ...options });
2124
+ /**
2125
+ * nexus.share.snapshot.export (mutate) — export project snapshot
2126
+ */
2127
+ export const mutateNexusShareSnapshotExport = (options) => (options?.client ?? client).post({ url: '/v1/nexus/share.snapshot.export', ...options });
2128
+ /**
2129
+ * nexus.share.snapshot.import (mutate) — import project snapshot
2130
+ */
2131
+ export const mutateNexusShareSnapshotImport = (options) => (options?.client ?? client).post({ url: '/v1/nexus/share.snapshot.import', ...options });
2132
+ /**
2133
+ * nexus.status (query) — overall NEXUS health status
2134
+ */
2135
+ export const queryNexusStatus = (options) => (options?.client ?? client).post({ url: '/v1/nexus/status', ...options });
2136
+ /**
2137
+ * nexus.list (query) — list all registered NEXUS projects
2138
+ */
2139
+ export const queryNexusList = (options) => (options?.client ?? client).post({ url: '/v1/nexus/list', ...options });
2140
+ /**
2141
+ * nexus.show (query) — show a specific project by name or hash
2142
+ */
2143
+ export const queryNexusShow = (options) => (options.client ?? client).post({
2144
+ url: '/v1/nexus/show',
2145
+ ...options,
2146
+ headers: {
2147
+ 'Content-Type': 'application/json',
2148
+ ...options.headers
2149
+ }
2150
+ });
2151
+ /**
2152
+ * nexus.resolve (query) — resolve a cross-project project:taskId reference; renamed from nexus.query (T5615)
2153
+ */
2154
+ export const queryNexusResolve = (options) => (options.client ?? client).post({
2155
+ url: '/v1/nexus/resolve',
2156
+ ...options,
2157
+ headers: {
2158
+ 'Content-Type': 'application/json',
2159
+ ...options.headers
2160
+ }
2161
+ });
2162
+ /**
2163
+ * nexus.deps (query) — cross-project dependency analysis
2164
+ */
2165
+ export const queryNexusDeps = (options) => (options.client ?? client).post({
2166
+ url: '/v1/nexus/deps',
2167
+ ...options,
2168
+ headers: {
2169
+ 'Content-Type': 'application/json',
2170
+ ...options.headers
2171
+ }
2172
+ });
2173
+ /**
2174
+ * nexus.graph (query) — global dependency graph across all projects
2175
+ */
2176
+ export const queryNexusGraph = (options) => (options?.client ?? client).post({ url: '/v1/nexus/graph', ...options });
2177
+ /**
2178
+ * nexus.path.show (query) — show critical dependency path across projects
2179
+ */
2180
+ export const queryNexusPathShow = (options) => (options?.client ?? client).post({ url: '/v1/nexus/path.show', ...options });
2181
+ /**
2182
+ * nexus.blockers.show (query) — show blocking impact for a task query
2183
+ */
2184
+ export const queryNexusBlockersShow = (options) => (options.client ?? client).post({
2185
+ url: '/v1/nexus/blockers.show',
2186
+ ...options,
2187
+ headers: {
2188
+ 'Content-Type': 'application/json',
2189
+ ...options.headers
2190
+ }
2191
+ });
2192
+ /**
2193
+ * nexus.orphans.list (query) — list orphaned cross-project dependencies
2194
+ */
2195
+ export const queryNexusOrphansList = (options) => (options?.client ?? client).post({ url: '/v1/nexus/orphans.list', ...options });
2196
+ /**
2197
+ * nexus.discover (query) — discover related tasks across registered projects
2198
+ */
2199
+ export const queryNexusDiscover = (options) => (options.client ?? client).post({
2200
+ url: '/v1/nexus/discover',
2201
+ ...options,
2202
+ headers: {
2203
+ 'Content-Type': 'application/json',
2204
+ ...options.headers
2205
+ }
2206
+ });
2207
+ /**
2208
+ * nexus.search (query) — search for patterns across registered projects
2209
+ */
2210
+ export const queryNexusSearch = (options) => (options.client ?? client).post({
2211
+ url: '/v1/nexus/search',
2212
+ ...options,
2213
+ headers: {
2214
+ 'Content-Type': 'application/json',
2215
+ ...options.headers
2216
+ }
2217
+ });
2218
+ /**
2219
+ * nexus.init (mutate) — initialize NEXUS (creates registry and directories)
2220
+ */
2221
+ export const mutateNexusInit = (options) => (options?.client ?? client).post({ url: '/v1/nexus/init', ...options });
2222
+ /**
2223
+ * nexus.register (mutate) — register a project in NEXUS
2224
+ */
2225
+ export const mutateNexusRegister = (options) => (options.client ?? client).post({
2226
+ url: '/v1/nexus/register',
2227
+ ...options,
2228
+ headers: {
2229
+ 'Content-Type': 'application/json',
2230
+ ...options.headers
2231
+ }
2232
+ });
2233
+ /**
2234
+ * nexus.unregister (mutate) — remove a project from NEXUS
2235
+ */
2236
+ export const mutateNexusUnregister = (options) => (options.client ?? client).post({
2237
+ url: '/v1/nexus/unregister',
2238
+ ...options,
2239
+ headers: {
2240
+ 'Content-Type': 'application/json',
2241
+ ...options.headers
2242
+ }
2243
+ });
2244
+ /**
2245
+ * nexus.sync (mutate) — sync project(s) metadata; absorbs sync.all when name omitted
2246
+ */
2247
+ export const mutateNexusSync = (options) => (options?.client ?? client).post({
2248
+ url: '/v1/nexus/sync',
2249
+ ...options,
2250
+ headers: {
2251
+ 'Content-Type': 'application/json',
2252
+ ...options?.headers
2253
+ }
2254
+ });
2255
+ /**
2256
+ * nexus.permission.set (mutate) — update project permissions
2257
+ */
2258
+ export const mutateNexusPermissionSet = (options) => (options.client ?? client).post({
2259
+ url: '/v1/nexus/permission.set',
2260
+ ...options,
2261
+ headers: {
2262
+ 'Content-Type': 'application/json',
2263
+ ...options.headers
2264
+ }
2265
+ });
2266
+ /**
2267
+ * nexus.reconcile (mutate) — reconcile project identity with global nexus registry
2268
+ */
2269
+ export const mutateNexusReconcile = (options) => (options?.client ?? client).post({ url: '/v1/nexus/reconcile', ...options });
2270
+ /**
2271
+ * nexus.transfer.preview (query) — preview a cross-project task transfer
2272
+ */
2273
+ export const queryNexusTransferPreview = (options) => (options.client ?? client).post({
2274
+ url: '/v1/nexus/transfer.preview',
2275
+ ...options,
2276
+ headers: {
2277
+ 'Content-Type': 'application/json',
2278
+ ...options.headers
2279
+ }
2280
+ });
2281
+ /**
2282
+ * nexus.transfer (mutate) — transfer tasks between NEXUS projects
2283
+ */
2284
+ export const mutateNexusTransfer = (options) => (options.client ?? client).post({
2285
+ url: '/v1/nexus/transfer',
2286
+ ...options,
2287
+ headers: {
2288
+ 'Content-Type': 'application/json',
2289
+ ...options.headers
2290
+ }
2291
+ });
2292
+ /**
2293
+ * nexus.top-entries (query) — top-weighted symbols from nexus_relations by weight DESC (Hebbian plasticity aggregate)
2294
+ */
2295
+ export const queryNexusTopEntries = (options) => (options?.client ?? client).post({
2296
+ url: '/v1/nexus/top-entries',
2297
+ ...options,
2298
+ headers: {
2299
+ 'Content-Type': 'application/json',
2300
+ ...options?.headers
2301
+ }
2302
+ });
2303
+ /**
2304
+ * nexus.impact (query) — BFS blast radius for a symbol with optional reasons[] path-strings when why=true
2305
+ */
2306
+ export const queryNexusImpact = (options) => (options.client ?? client).post({
2307
+ url: '/v1/nexus/impact',
2308
+ ...options,
2309
+ headers: {
2310
+ 'Content-Type': 'application/json',
2311
+ ...options.headers
2312
+ }
2313
+ });
2314
+ /**
2315
+ * nexus.full-context (query) — full 5-substrate Living Brain context for a code symbol (NEXUS callers/callees, BRAIN memories, TASKS, sentient proposals, conduit threads)
2316
+ */
2317
+ export const queryNexusFullContext = (options) => (options.client ?? client).post({
2318
+ url: '/v1/nexus/full-context',
2319
+ ...options,
2320
+ headers: {
2321
+ 'Content-Type': 'application/json',
2322
+ ...options.headers
2323
+ }
2324
+ });
2325
+ /**
2326
+ * nexus.task-footprint (query) — full code impact for a task: files, symbols, blast radius, brain observations, decisions, risk tier
2327
+ */
2328
+ export const queryNexusTaskFootprint = (options) => (options.client ?? client).post({
2329
+ url: '/v1/nexus/task-footprint',
2330
+ ...options,
2331
+ headers: {
2332
+ 'Content-Type': 'application/json',
2333
+ ...options.headers
2334
+ }
2335
+ });
2336
+ /**
2337
+ * nexus.brain-anchors (query) — code anchors for a brain memory entry: linked nexus nodes, tasks that touched them, plasticity signal
2338
+ */
2339
+ export const queryNexusBrainAnchors = (options) => (options.client ?? client).post({
2340
+ url: '/v1/nexus/brain-anchors',
2341
+ ...options,
2342
+ headers: {
2343
+ 'Content-Type': 'application/json',
2344
+ ...options.headers
2345
+ }
2346
+ });
2347
+ /**
2348
+ * nexus.why (query) — causal trace: why is a code symbol structured this way? walks BRAIN decisions, observations, and tasks
2349
+ */
2350
+ export const queryNexusWhy = (options) => (options.client ?? client).post({
2351
+ url: '/v1/nexus/why',
2352
+ ...options,
2353
+ headers: {
2354
+ 'Content-Type': 'application/json',
2355
+ ...options.headers
2356
+ }
2357
+ });
2358
+ /**
2359
+ * nexus.impact-full (query) — merged structural + task + brain impact report for a code symbol
2360
+ */
2361
+ export const queryNexusImpactFull = (options) => (options.client ?? client).post({
2362
+ url: '/v1/nexus/impact-full',
2363
+ ...options,
2364
+ headers: {
2365
+ 'Content-Type': 'application/json',
2366
+ ...options.headers
2367
+ }
2368
+ });
2369
+ /**
2370
+ * nexus.route-map (query) — display all routes with their handlers and dependencies for a project (route ID, handler name, HTTP method/path, dep count, caller count)
2371
+ */
2372
+ export const queryNexusRouteMap = (options) => (options?.client ?? client).post({
2373
+ url: '/v1/nexus/route-map',
2374
+ ...options,
2375
+ headers: {
2376
+ 'Content-Type': 'application/json',
2377
+ ...options?.headers
2378
+ }
2379
+ });
2380
+ /**
2381
+ * nexus.shape-check (query) — check response shape compatibility between a route handler and its callers; returns per-caller compatibility status and recommendations
2382
+ */
2383
+ export const queryNexusShapeCheck = (options) => (options.client ?? client).post({
2384
+ url: '/v1/nexus/shape-check',
2385
+ ...options,
2386
+ headers: {
2387
+ 'Content-Type': 'application/json',
2388
+ ...options.headers
2389
+ }
2390
+ });
2391
+ /**
2392
+ * nexus.search-code (query) — BM25 search of code symbols in nexus.db; returns symbol names, kinds, file paths, and relevance scores
2393
+ */
2394
+ export const queryNexusSearchCode = (options) => (options.client ?? client).post({
2395
+ url: '/v1/nexus/search-code',
2396
+ ...options,
2397
+ headers: {
2398
+ 'Content-Type': 'application/json',
2399
+ ...options.headers
2400
+ }
2401
+ });
2402
+ /**
2403
+ * nexus.wiki (query) — generate community-grouped wiki index from the nexus code graph; scaffold mode when LOOM provider unavailable
2404
+ */
2405
+ export const queryNexusWiki = (options) => (options?.client ?? client).post({
2406
+ url: '/v1/nexus/wiki',
2407
+ ...options,
2408
+ headers: {
2409
+ 'Content-Type': 'application/json',
2410
+ ...options?.headers
2411
+ }
2412
+ });
2413
+ /**
2414
+ * nexus.contracts-show (query) — show contract compatibility matrix between two registered projects; matches HTTP/gRPC/topic contracts and returns per-match compatibility scores
2415
+ */
2416
+ export const queryNexusContractsShow = (options) => (options.client ?? client).post({
2417
+ url: '/v1/nexus/contracts-show',
2418
+ ...options,
2419
+ headers: {
2420
+ 'Content-Type': 'application/json',
2421
+ ...options.headers
2422
+ }
2423
+ });
2424
+ /**
2425
+ * nexus.task-symbols (query) — show code symbols touched by a task via task_touches_symbol forward-lookup; returns symbol label, kind, filePath, weight, matchStrategy
2426
+ */
2427
+ export const queryNexusTaskSymbols = (options) => (options.client ?? client).post({
2428
+ url: '/v1/nexus/task-symbols',
2429
+ ...options,
2430
+ headers: {
2431
+ 'Content-Type': 'application/json',
2432
+ ...options.headers
2433
+ }
2434
+ });
2435
+ /**
2436
+ * nexus.contracts-sync (mutate) — extract HTTP, gRPC, and topic contracts from a project and store them in nexus.db; idempotent upsert
2437
+ */
2438
+ export const mutateNexusContractsSync = (options) => (options?.client ?? client).post({
2439
+ url: '/v1/nexus/contracts-sync',
2440
+ ...options,
2441
+ headers: {
2442
+ 'Content-Type': 'application/json',
2443
+ ...options?.headers
2444
+ }
2445
+ });
2446
+ /**
2447
+ * nexus.contracts-link-tasks (mutate) — link extracted contracts to tasks that touch their source symbols via task_touches_symbol edges; runs git-log task linker
2448
+ */
2449
+ export const mutateNexusContractsLinkTasks = (options) => (options?.client ?? client).post({
2450
+ url: '/v1/nexus/contracts-link-tasks',
2451
+ ...options,
2452
+ headers: {
2453
+ 'Content-Type': 'application/json',
2454
+ ...options?.headers
2455
+ }
2456
+ });
2457
+ /**
2458
+ * nexus.conduit-scan (mutate) — scan conduit messages for symbol mentions and write conduit_mentions_symbol edges to brain_page_edges; gracefully no-ops when conduit.db or nexus.db is absent
2459
+ */
2460
+ export const mutateNexusConduitScan = (options) => (options?.client ?? client).post({ url: '/v1/nexus/conduit-scan', ...options });
2461
+ /**
2462
+ * nexus.profile.view (query) — list all user-profile traits, optionally filtered by minimum confidence
2463
+ */
2464
+ export const queryNexusProfileView = (options) => (options?.client ?? client).post({
2465
+ url: '/v1/nexus/profile.view',
2466
+ ...options,
2467
+ headers: {
2468
+ 'Content-Type': 'application/json',
2469
+ ...options?.headers
2470
+ }
2471
+ });
2472
+ /**
2473
+ * nexus.profile.get (query) — fetch a single user-profile trait by key
2474
+ */
2475
+ export const queryNexusProfileGet = (options) => (options.client ?? client).post({
2476
+ url: '/v1/nexus/profile.get',
2477
+ ...options,
2478
+ headers: {
2479
+ 'Content-Type': 'application/json',
2480
+ ...options.headers
2481
+ }
2482
+ });
2483
+ /**
2484
+ * nexus.profile.import (mutate) — import user-profile traits from a portable JSON file (default: ~/.cleo/user_profile.json)
2485
+ */
2486
+ export const mutateNexusProfileImport = (options) => (options?.client ?? client).post({
2487
+ url: '/v1/nexus/profile.import',
2488
+ ...options,
2489
+ headers: {
2490
+ 'Content-Type': 'application/json',
2491
+ ...options?.headers
2492
+ }
2493
+ });
2494
+ /**
2495
+ * nexus.profile.export (mutate) — export user-profile traits to a portable JSON file (default: ~/.cleo/user_profile.json)
2496
+ */
2497
+ export const mutateNexusProfileExport = (options) => (options?.client ?? client).post({
2498
+ url: '/v1/nexus/profile.export',
2499
+ ...options,
2500
+ headers: {
2501
+ 'Content-Type': 'application/json',
2502
+ ...options?.headers
2503
+ }
2504
+ });
2505
+ /**
2506
+ * nexus.profile.reinforce (mutate) — increment reinforcement count and boost confidence for a user-profile trait
2507
+ */
2508
+ export const mutateNexusProfileReinforce = (options) => (options.client ?? client).post({
2509
+ url: '/v1/nexus/profile.reinforce',
2510
+ ...options,
2511
+ headers: {
2512
+ 'Content-Type': 'application/json',
2513
+ ...options.headers
2514
+ }
2515
+ });
2516
+ /**
2517
+ * nexus.profile.upsert (mutate) — create or update a user-profile trait in nexus.db
2518
+ */
2519
+ export const mutateNexusProfileUpsert = (options) => (options.client ?? client).post({
2520
+ url: '/v1/nexus/profile.upsert',
2521
+ ...options,
2522
+ headers: {
2523
+ 'Content-Type': 'application/json',
2524
+ ...options.headers
2525
+ }
2526
+ });
2527
+ /**
2528
+ * nexus.profile.supersede (mutate) — mark a user-profile trait as superseded by another (T1139 supersession prep)
2529
+ */
2530
+ export const mutateNexusProfileSupersede = (options) => (options.client ?? client).post({
2531
+ url: '/v1/nexus/profile.supersede',
2532
+ ...options,
2533
+ headers: {
2534
+ 'Content-Type': 'application/json',
2535
+ ...options.headers
2536
+ }
2537
+ });
2538
+ /**
2539
+ * nexus.sigil.list (query) — list every sigil currently stored in nexus.db, optionally filtered by role
2540
+ */
2541
+ export const queryNexusSigilList = (options) => (options?.client ?? client).post({
2542
+ url: '/v1/nexus/sigil.list',
2543
+ ...options,
2544
+ headers: {
2545
+ 'Content-Type': 'application/json',
2546
+ ...options?.headers
2547
+ }
2548
+ });
2549
+ /**
2550
+ * nexus.sigil.sync (mutate) — populate the sigils table with one row per canonical CANT agent (cleo-subagent + 5 seed roles + 2 meta agents). Idempotent.
2551
+ */
2552
+ export const mutateNexusSigilSync = (options) => (options?.client ?? client).post({ url: '/v1/nexus/sigil.sync', ...options });
2553
+ /**
2554
+ * nexus.clusters (query) — list all detected Louvain community clusters for a project from nexus.db
2555
+ */
2556
+ export const queryNexusClusters = (options) => (options?.client ?? client).post({
2557
+ url: '/v1/nexus/clusters',
2558
+ ...options,
2559
+ headers: {
2560
+ 'Content-Type': 'application/json',
2561
+ ...options?.headers
2562
+ }
2563
+ });
2564
+ /**
2565
+ * nexus.flows (query) — list all detected execution flow nodes for a project from nexus.db
2566
+ */
2567
+ export const queryNexusFlows = (options) => (options?.client ?? client).post({
2568
+ url: '/v1/nexus/flows',
2569
+ ...options,
2570
+ headers: {
2571
+ 'Content-Type': 'application/json',
2572
+ ...options?.headers
2573
+ }
2574
+ });
2575
+ /**
2576
+ * nexus.context (query) — show callers, callees, community membership, and process participation for a code symbol
2577
+ */
2578
+ export const queryNexusContext = (options) => (options.client ?? client).post({
2579
+ url: '/v1/nexus/context',
2580
+ ...options,
2581
+ headers: {
2582
+ 'Content-Type': 'application/json',
2583
+ ...options.headers
2584
+ }
2585
+ });
2586
+ /**
2587
+ * nexus.projects.list (query) — list all projects registered in the global nexus registry
2588
+ */
2589
+ export const queryNexusProjectsList = (options) => (options?.client ?? client).post({ url: '/v1/nexus/projects.list', ...options });
2590
+ /**
2591
+ * nexus.projects.register (mutate) — register a project in the global nexus registry
2592
+ */
2593
+ export const mutateNexusProjectsRegister = (options) => (options.client ?? client).post({
2594
+ url: '/v1/nexus/projects.register',
2595
+ ...options,
2596
+ headers: {
2597
+ 'Content-Type': 'application/json',
2598
+ ...options.headers
2599
+ }
2600
+ });
2601
+ /**
2602
+ * nexus.projects.remove (mutate) — remove a project from the global nexus registry
2603
+ */
2604
+ export const mutateNexusProjectsRemove = (options) => (options.client ?? client).post({
2605
+ url: '/v1/nexus/projects.remove',
2606
+ ...options,
2607
+ headers: {
2608
+ 'Content-Type': 'application/json',
2609
+ ...options.headers
2610
+ }
2611
+ });
2612
+ /**
2613
+ * nexus.projects.scan (mutate) — walk filesystem roots to discover unregistered .cleo/ project directories
2614
+ */
2615
+ export const mutateNexusProjectsScan = (options) => (options?.client ?? client).post({
2616
+ url: '/v1/nexus/projects.scan',
2617
+ ...options,
2618
+ headers: {
2619
+ 'Content-Type': 'application/json',
2620
+ ...options?.headers
2621
+ }
2622
+ });
2623
+ /**
2624
+ * nexus.projects.clean (mutate) — bulk-purge project registry rows matching configurable criteria
2625
+ */
2626
+ export const mutateNexusProjectsClean = (options) => (options?.client ?? client).post({
2627
+ url: '/v1/nexus/projects.clean',
2628
+ ...options,
2629
+ headers: {
2630
+ 'Content-Type': 'application/json',
2631
+ ...options?.headers
2632
+ }
2633
+ });
2634
+ /**
2635
+ * nexus.refresh-bridge (mutate) — regenerate .cleo/nexus-bridge.md from the existing nexus.db index
2636
+ */
2637
+ export const mutateNexusRefreshBridge = (options) => (options?.client ?? client).post({
2638
+ url: '/v1/nexus/refresh-bridge',
2639
+ ...options,
2640
+ headers: {
2641
+ 'Content-Type': 'application/json',
2642
+ ...options?.headers
2643
+ }
2644
+ });
2645
+ /**
2646
+ * nexus.diff (query) — compare NEXUS index state between two git commits; shows new/removed relations and broken call chains
2647
+ */
2648
+ export const queryNexusDiff = (options) => (options?.client ?? client).post({
2649
+ url: '/v1/nexus/diff',
2650
+ ...options,
2651
+ headers: {
2652
+ 'Content-Type': 'application/json',
2653
+ ...options?.headers
2654
+ }
2655
+ });
2656
+ /**
2657
+ * nexus.query-cte (query) — execute a recursive CTE query against nexus.db; supports template aliases (callers-of, callees-of, co-changed, co-cited, path-between, community-members)
2658
+ */
2659
+ export const queryNexusQueryCte = (options) => (options.client ?? client).post({
2660
+ url: '/v1/nexus/query-cte',
2661
+ ...options,
2662
+ headers: {
2663
+ 'Content-Type': 'application/json',
2664
+ ...options.headers
2665
+ }
2666
+ });
2667
+ /**
2668
+ * nexus.hot-paths (query) — list highest-weight relation edges by Hebbian plasticity weight
2669
+ */
2670
+ export const queryNexusHotPaths = (options) => (options?.client ?? client).post({
2671
+ url: '/v1/nexus/hot-paths',
2672
+ ...options,
2673
+ headers: {
2674
+ 'Content-Type': 'application/json',
2675
+ ...options?.headers
2676
+ }
2677
+ });
2678
+ /**
2679
+ * nexus.hot-nodes (query) — list symbols with highest aggregate Hebbian weight
2680
+ */
2681
+ export const queryNexusHotNodes = (options) => (options?.client ?? client).post({
2682
+ url: '/v1/nexus/hot-nodes',
2683
+ ...options,
2684
+ headers: {
2685
+ 'Content-Type': 'application/json',
2686
+ ...options?.headers
2687
+ }
2688
+ });
2689
+ /**
2690
+ * nexus.cold-symbols (query) — list cold symbols (stale access + low weight) as pruning candidates
2691
+ */
2692
+ export const queryNexusColdSymbols = (options) => (options?.client ?? client).post({
2693
+ url: '/v1/nexus/cold-symbols',
2694
+ ...options,
2695
+ headers: {
2696
+ 'Content-Type': 'application/json',
2697
+ ...options?.headers
2698
+ }
2699
+ });
2700
+ /**
2701
+ * sticky.list (query) — list sticky notes
2702
+ */
2703
+ export const queryStickyList = (options) => (options?.client ?? client).post({ url: '/v1/sticky/list', ...options });
2704
+ /**
2705
+ * sticky.show (query) — show a specific sticky note
2706
+ */
2707
+ export const queryStickyShow = (options) => (options.client ?? client).post({
2708
+ url: '/v1/sticky/show',
2709
+ ...options,
2710
+ headers: {
2711
+ 'Content-Type': 'application/json',
2712
+ ...options.headers
2713
+ }
2714
+ });
2715
+ /**
2716
+ * sticky.add (mutate) — create a new sticky note
2717
+ */
2718
+ export const mutateStickyAdd = (options) => (options.client ?? client).post({
2719
+ url: '/v1/sticky/add',
2720
+ ...options,
2721
+ headers: {
2722
+ 'Content-Type': 'application/json',
2723
+ ...options.headers
2724
+ }
2725
+ });
2726
+ /**
2727
+ * sticky.convert (mutate) — convert sticky to task, memory, task_note, or session_note
2728
+ */
2729
+ export const mutateStickyConvert = (options) => (options.client ?? client).post({
2730
+ url: '/v1/sticky/convert',
2731
+ ...options,
2732
+ headers: {
2733
+ 'Content-Type': 'application/json',
2734
+ ...options.headers
2735
+ }
2736
+ });
2737
+ /**
2738
+ * sticky.archive (mutate) — archive sticky notes
2739
+ */
2740
+ export const mutateStickyArchive = (options) => (options.client ?? client).post({
2741
+ url: '/v1/sticky/archive',
2742
+ ...options,
2743
+ headers: {
2744
+ 'Content-Type': 'application/json',
2745
+ ...options.headers
2746
+ }
2747
+ });
2748
+ /**
2749
+ * sticky.purge (mutate) — permanently delete sticky notes
2750
+ */
2751
+ export const mutateStickyPurge = (options) => (options.client ?? client).post({
2752
+ url: '/v1/sticky/purge',
2753
+ ...options,
2754
+ headers: {
2755
+ 'Content-Type': 'application/json',
2756
+ ...options.headers
2757
+ }
2758
+ });
2759
+ /**
2760
+ * orchestrate.classify (query) — classify a request against CANT team registry to route to correct team/lead/protocol
2761
+ */
2762
+ export const queryOrchestrateClassify = (options) => (options.client ?? client).post({
2763
+ url: '/v1/orchestrate/classify',
2764
+ ...options,
2765
+ headers: {
2766
+ 'Content-Type': 'application/json',
2767
+ ...options.headers
2768
+ }
2769
+ });
2770
+ /**
2771
+ * orchestrate.fanout.status (query) — get status of a running fanout by its manifest entry ID
2772
+ */
2773
+ export const queryOrchestrateFanoutStatus = (options) => (options.client ?? client).post({
2774
+ url: '/v1/orchestrate/fanout.status',
2775
+ ...options,
2776
+ headers: {
2777
+ 'Content-Type': 'application/json',
2778
+ ...options.headers
2779
+ }
2780
+ });
2781
+ /**
2782
+ * orchestrate.fanout (mutate) — fan out N spawn requests in parallel via Promise.allSettled
2783
+ */
2784
+ export const mutateOrchestrateFanout = (options) => (options.client ?? client).post({
2785
+ url: '/v1/orchestrate/fanout',
2786
+ ...options,
2787
+ headers: {
2788
+ 'Content-Type': 'application/json',
2789
+ ...options.headers
2790
+ }
2791
+ });
2792
+ /**
2793
+ * conduit.status (query) — check agent connection status and unread count
2794
+ */
2795
+ export const queryConduitStatus = (options) => (options?.client ?? client).post({
2796
+ url: '/v1/conduit/status',
2797
+ ...options,
2798
+ headers: {
2799
+ 'Content-Type': 'application/json',
2800
+ ...options?.headers
2801
+ }
2802
+ });
2803
+ /**
2804
+ * conduit.peek (query) — one-shot poll for new messages without acking
2805
+ */
2806
+ export const queryConduitPeek = (options) => (options?.client ?? client).post({
2807
+ url: '/v1/conduit/peek',
2808
+ ...options,
2809
+ headers: {
2810
+ 'Content-Type': 'application/json',
2811
+ ...options?.headers
2812
+ }
2813
+ });
2814
+ /**
2815
+ * conduit.start (mutate) — start continuous message polling for the active agent
2816
+ */
2817
+ export const mutateConduitStart = (options) => (options?.client ?? client).post({
2818
+ url: '/v1/conduit/start',
2819
+ ...options,
2820
+ headers: {
2821
+ 'Content-Type': 'application/json',
2822
+ ...options?.headers
2823
+ }
2824
+ });
2825
+ /**
2826
+ * conduit.stop (mutate) — stop the active polling loop
2827
+ */
2828
+ export const mutateConduitStop = (options) => (options?.client ?? client).post({ url: '/v1/conduit/stop', ...options });
2829
+ /**
2830
+ * conduit.send (mutate) — send a message to an agent or conversation
2831
+ */
2832
+ export const mutateConduitSend = (options) => (options.client ?? client).post({
2833
+ url: '/v1/conduit/send',
2834
+ ...options,
2835
+ headers: {
2836
+ 'Content-Type': 'application/json',
2837
+ ...options.headers
2838
+ }
2839
+ });
2840
+ /**
2841
+ * conduit.publish (mutate) — publish message to a topic (A2A, T1252)
2842
+ */
2843
+ export const mutateConduitPublish = (options) => (options.client ?? client).post({
2844
+ url: '/v1/conduit/publish',
2845
+ ...options,
2846
+ headers: {
2847
+ 'Content-Type': 'application/json',
2848
+ ...options.headers
2849
+ }
2850
+ });
2851
+ /**
2852
+ * conduit.subscribe (mutate) — subscribe agent to a topic (A2A, T1252)
2853
+ */
2854
+ export const mutateConduitSubscribe = (options) => (options.client ?? client).post({
2855
+ url: '/v1/conduit/subscribe',
2856
+ ...options,
2857
+ headers: {
2858
+ 'Content-Type': 'application/json',
2859
+ ...options.headers
2860
+ }
2861
+ });
2862
+ /**
2863
+ * conduit.listen (query) — one-shot poll for topic messages (A2A, T1252)
2864
+ */
2865
+ export const queryConduitListen = (options) => (options.client ?? client).post({
2866
+ url: '/v1/conduit/listen',
2867
+ ...options,
2868
+ headers: {
2869
+ 'Content-Type': 'application/json',
2870
+ ...options.headers
2871
+ }
2872
+ });
2873
+ /**
2874
+ * Calculate risk score for a task, or predict validation outcome for a stage
2875
+ */
2876
+ export const queryIntelligencePredict = (options) => (options.client ?? client).post({
2877
+ url: '/v1/intelligence/predict',
2878
+ ...options,
2879
+ headers: {
2880
+ 'Content-Type': 'application/json',
2881
+ ...options.headers
2882
+ }
2883
+ });
2884
+ /**
2885
+ * Suggest verification gate focus for a task
2886
+ */
2887
+ export const queryIntelligenceSuggest = (options) => (options.client ?? client).post({
2888
+ url: '/v1/intelligence/suggest',
2889
+ ...options,
2890
+ headers: {
2891
+ 'Content-Type': 'application/json',
2892
+ ...options.headers
2893
+ }
2894
+ });
2895
+ /**
2896
+ * Extract recurring failure patterns from task and brain history
2897
+ */
2898
+ export const queryIntelligenceLearnErrors = (options) => (options?.client ?? client).post({
2899
+ url: '/v1/intelligence/learn-errors',
2900
+ ...options,
2901
+ headers: {
2902
+ 'Content-Type': 'application/json',
2903
+ ...options?.headers
2904
+ }
2905
+ });
2906
+ /**
2907
+ * Score verification confidence for a task based on current gate state
2908
+ */
2909
+ export const queryIntelligenceConfidence = (options) => (options.client ?? client).post({
2910
+ url: '/v1/intelligence/confidence',
2911
+ ...options,
2912
+ headers: {
2913
+ 'Content-Type': 'application/json',
2914
+ ...options.headers
2915
+ }
2916
+ });
2917
+ /**
2918
+ * Match known brain patterns against a task
2919
+ */
2920
+ export const queryIntelligenceMatch = (options) => (options.client ?? client).post({
2921
+ url: '/v1/intelligence/match',
2922
+ ...options,
2923
+ headers: {
2924
+ 'Content-Type': 'application/json',
2925
+ ...options.headers
2926
+ }
2927
+ });
2928
+ /**
2929
+ * diagnostics.status (query) — show telemetry opt-in state and DB path
2930
+ */
2931
+ export const queryDiagnosticsStatus = (options) => (options?.client ?? client).post({ url: '/v1/diagnostics/status', ...options });
2932
+ /**
2933
+ * diagnostics.analyze (query) — aggregate telemetry patterns; surface failing/slow commands and generate BRAIN observations
2934
+ */
2935
+ export const queryDiagnosticsAnalyze = (options) => (options?.client ?? client).post({
2936
+ url: '/v1/diagnostics/analyze',
2937
+ ...options,
2938
+ headers: {
2939
+ 'Content-Type': 'application/json',
2940
+ ...options?.headers
2941
+ }
2942
+ });
2943
+ /**
2944
+ * diagnostics.export (query) — JSON dump of all telemetry events
2945
+ */
2946
+ export const queryDiagnosticsExport = (options) => (options?.client ?? client).post({
2947
+ url: '/v1/diagnostics/export',
2948
+ ...options,
2949
+ headers: {
2950
+ 'Content-Type': 'application/json',
2951
+ ...options?.headers
2952
+ }
2953
+ });
2954
+ /**
2955
+ * diagnostics.enable (mutate) — opt in to anonymous command telemetry; generates stable anonymousId
2956
+ */
2957
+ export const mutateDiagnosticsEnable = (options) => (options?.client ?? client).post({ url: '/v1/diagnostics/enable', ...options });
2958
+ /**
2959
+ * diagnostics.disable (mutate) — opt out of telemetry collection
2960
+ */
2961
+ export const mutateDiagnosticsDisable = (options) => (options?.client ?? client).post({ url: '/v1/diagnostics/disable', ...options });
2962
+ /**
2963
+ * docs.add (mutate) — attach a local file, URL, or inline content to a CLEO owner entity (task, session, observation)
2964
+ */
2965
+ export const mutateDocsAdd = (options) => (options.client ?? client).post({
2966
+ url: '/v1/docs/add',
2967
+ ...options,
2968
+ headers: {
2969
+ 'Content-Type': 'application/json',
2970
+ ...options.headers
2971
+ }
2972
+ });
2973
+ /**
2974
+ * docs.list (query) — list attachments associated with a CLEO owner entity
2975
+ */
2976
+ export const queryDocsList = (options) => (options?.client ?? client).post({
2977
+ url: '/v1/docs/list',
2978
+ ...options,
2979
+ headers: {
2980
+ 'Content-Type': 'application/json',
2981
+ ...options?.headers
2982
+ }
2983
+ });
2984
+ /**
2985
+ * docs.fetch (query) — retrieve attachment bytes and metadata by attachment ID or SHA-256
2986
+ */
2987
+ export const queryDocsFetch = (options) => (options.client ?? client).post({
2988
+ url: '/v1/docs/fetch',
2989
+ ...options,
2990
+ headers: {
2991
+ 'Content-Type': 'application/json',
2992
+ ...options.headers
2993
+ }
2994
+ });
2995
+ /**
2996
+ * docs.remove (mutate) — remove an attachment ref from an owner; purges blob when refCount reaches zero
2997
+ */
2998
+ export const mutateDocsRemove = (options) => (options.client ?? client).post({
2999
+ url: '/v1/docs/remove',
3000
+ ...options,
3001
+ headers: {
3002
+ 'Content-Type': 'application/json',
3003
+ ...options.headers
3004
+ }
3005
+ });
3006
+ /**
3007
+ * docs.supersede (mutate) — atomically flip an older doc to `superseded` and link both rows via the supersedes/superseded_by self-FK pointers (T10162 · Saga T9855)
3008
+ */
3009
+ export const mutateDocsSupersede = (options) => (options.client ?? client).post({
3010
+ url: '/v1/docs/supersede',
3011
+ ...options,
3012
+ headers: {
3013
+ 'Content-Type': 'application/json',
3014
+ ...options.headers
3015
+ }
3016
+ });
3017
+ /**
3018
+ * docs.generate (query) — generate llms.txt-format doc summarising all attachments on a CLEO entity
3019
+ */
3020
+ export const queryDocsGenerate = (options) => (options.client ?? client).post({
3021
+ url: '/v1/docs/generate',
3022
+ ...options,
3023
+ headers: {
3024
+ 'Content-Type': 'application/json',
3025
+ ...options.headers
3026
+ }
3027
+ });
3028
+ /**
3029
+ * docs.llm-output (query) — unified LLM output: task export (rich Markdown) or attachment-bundle (llms.txt). Replaces `docs export` and `docs generate`.
3030
+ */
3031
+ export const queryDocsLlmOutput = (options) => (options.client ?? client).post({
3032
+ url: '/v1/docs/llm-output',
3033
+ ...options,
3034
+ headers: {
3035
+ 'Content-Type': 'application/json',
3036
+ ...options.headers
3037
+ }
3038
+ });
3039
+ /**
3040
+ * docs.update (mutate) — replace blob content for an existing slug while preserving the slug. New sha256 + new attachment row; the old row stays reachable by ID for history. NO supersession edge (use `cleo docs supersede` for that). Audit log entry appended to .cleo/audit/docs-versioning.jsonl (squashed within a 5-min window).
3041
+ */
3042
+ export const mutateDocsUpdate = (options) => (options.client ?? client).post({
3043
+ url: '/v1/docs/update',
3044
+ ...options,
3045
+ headers: {
3046
+ 'Content-Type': 'application/json',
3047
+ ...options.headers
3048
+ }
3049
+ });
3050
+ /**
3051
+ * playbook.run (mutate) — load a .cantbook by name and execute it via the playbook runtime state machine
3052
+ */
3053
+ export const mutatePlaybookRun = (options) => (options.client ?? client).post({
3054
+ url: '/v1/playbook/run',
3055
+ ...options,
3056
+ headers: {
3057
+ 'Content-Type': 'application/json',
3058
+ ...options.headers
3059
+ }
3060
+ });
3061
+ /**
3062
+ * playbook.status (query) — return the current state of a playbook run from playbook_runs
3063
+ */
3064
+ export const queryPlaybookStatus = (options) => (options.client ?? client).post({
3065
+ url: '/v1/playbook/status',
3066
+ ...options,
3067
+ headers: {
3068
+ 'Content-Type': 'application/json',
3069
+ ...options.headers
3070
+ }
3071
+ });
3072
+ /**
3073
+ * playbook.resume (mutate) — resume a paused playbook run once its HITL gate is approved
3074
+ */
3075
+ export const mutatePlaybookResume = (options) => (options.client ?? client).post({
3076
+ url: '/v1/playbook/resume',
3077
+ ...options,
3078
+ headers: {
3079
+ 'Content-Type': 'application/json',
3080
+ ...options.headers
3081
+ }
3082
+ });
3083
+ /**
3084
+ * playbook.list (query) — enumerate playbook runs with optional status filter (active|completed|pending)
3085
+ */
3086
+ export const queryPlaybookList = (options) => (options?.client ?? client).post({
3087
+ url: '/v1/playbook/list',
3088
+ ...options,
3089
+ headers: {
3090
+ 'Content-Type': 'application/json',
3091
+ ...options?.headers
3092
+ }
3093
+ });
3094
+ /**
3095
+ * playbook.validate (query) — parse and validate a .cantbook file without executing it; exit 0 on success, exit 70 on parse error
3096
+ */
3097
+ export const queryPlaybookValidate = (options) => (options?.client ?? client).post({
3098
+ url: '/v1/playbook/validate',
3099
+ ...options,
3100
+ headers: {
3101
+ 'Content-Type': 'application/json',
3102
+ ...options?.headers
3103
+ }
3104
+ });
3105
+ /**
3106
+ * orchestrate.approve (mutate) — approve a pending playbook approval gate to unblock the run
3107
+ */
3108
+ export const mutateOrchestrateApprove = (options) => (options.client ?? client).post({
3109
+ url: '/v1/orchestrate/approve',
3110
+ ...options,
3111
+ headers: {
3112
+ 'Content-Type': 'application/json',
3113
+ ...options.headers
3114
+ }
3115
+ });
3116
+ /**
3117
+ * orchestrate.reject (mutate) — reject a pending playbook approval gate with a mandatory reason
3118
+ */
3119
+ export const mutateOrchestrateReject = (options) => (options.client ?? client).post({
3120
+ url: '/v1/orchestrate/reject',
3121
+ ...options,
3122
+ headers: {
3123
+ 'Content-Type': 'application/json',
3124
+ ...options.headers
3125
+ }
3126
+ });
3127
+ /**
3128
+ * orchestrate.pending (query) — list all approval gates awaiting a decision across every run
3129
+ */
3130
+ export const queryOrchestratePending = (options) => (options?.client ?? client).post({ url: '/v1/orchestrate/pending', ...options });
3131
+ /**
3132
+ * orchestrate.worktree.complete (mutate) — merge (--no-ff) a task worktree branch into the project default branch (preserves agent commit SHAs per ADR-062) and clean up the worktree. T9548: idempotent (re-run on completed worktree = no-op).
3133
+ */
3134
+ export const mutateOrchestrateWorktreeComplete = (options) => (options.client ?? client).post({
3135
+ url: '/v1/orchestrate/worktree.complete',
3136
+ ...options,
3137
+ headers: {
3138
+ 'Content-Type': 'application/json',
3139
+ ...options.headers
3140
+ }
3141
+ });
3142
+ /**
3143
+ * orchestrate.worktree.cleanup (mutate) — prune orphaned agent worktrees (e.g. after agent crash or session end)
3144
+ */
3145
+ export const mutateOrchestrateWorktreeCleanup = (options) => (options?.client ?? client).post({
3146
+ url: '/v1/orchestrate/worktree.cleanup',
3147
+ ...options,
3148
+ headers: {
3149
+ 'Content-Type': 'application/json',
3150
+ ...options?.headers
3151
+ }
3152
+ });
3153
+ /**
3154
+ * orchestrate.worktree.prune (mutate) — prune the worktree for a single completed task, or all orphaned worktrees when no taskId is supplied
3155
+ */
3156
+ export const mutateOrchestrateWorktreePrune = (options) => (options?.client ?? client).post({
3157
+ url: '/v1/orchestrate/worktree.prune',
3158
+ ...options,
3159
+ headers: {
3160
+ 'Content-Type': 'application/json',
3161
+ ...options?.headers
3162
+ }
3163
+ });
3164
+ /**
3165
+ * sentient.status (query) — daemon state, kill-switch status, Tier-2 enabled flag, and proposal statistics
3166
+ */
3167
+ export const querySentientStatus = (options) => (options?.client ?? client).post({ url: '/v1/sentient/status', ...options });
3168
+ /**
3169
+ * sentient.propose.list (query) — list all pending Tier-2 proposals (status=proposed)
3170
+ */
3171
+ export const querySentientProposeList = (options) => (options?.client ?? client).post({
3172
+ url: '/v1/sentient/propose.list',
3173
+ ...options,
3174
+ headers: {
3175
+ 'Content-Type': 'application/json',
3176
+ ...options?.headers
3177
+ }
3178
+ });
3179
+ /**
3180
+ * sentient.propose.diff (query) — show what a proposal would change (Tier-3 stub)
3181
+ */
3182
+ export const querySentientProposeDiff = (options) => (options.client ?? client).post({
3183
+ url: '/v1/sentient/propose.diff',
3184
+ ...options,
3185
+ headers: {
3186
+ 'Content-Type': 'application/json',
3187
+ ...options.headers
3188
+ }
3189
+ });
3190
+ /**
3191
+ * sentient.allowlist.list (query) — list owner pubkeys in the sentient allowlist
3192
+ */
3193
+ export const querySentientAllowlistList = (options) => (options?.client ?? client).post({ url: '/v1/sentient/allowlist.list', ...options });
3194
+ /**
3195
+ * sentient.propose.accept (mutate) — accept a Tier-2 proposal, transitioning proposed → pending
3196
+ */
3197
+ export const mutateSentientProposeAccept = (options) => (options.client ?? client).post({
3198
+ url: '/v1/sentient/propose.accept',
3199
+ ...options,
3200
+ headers: {
3201
+ 'Content-Type': 'application/json',
3202
+ ...options.headers
3203
+ }
3204
+ });
3205
+ /**
3206
+ * sentient.propose.reject (mutate) — reject a Tier-2 proposal, transitioning proposed → cancelled
3207
+ */
3208
+ export const mutateSentientProposeReject = (options) => (options.client ?? client).post({
3209
+ url: '/v1/sentient/propose.reject',
3210
+ ...options,
3211
+ headers: {
3212
+ 'Content-Type': 'application/json',
3213
+ ...options.headers
3214
+ }
3215
+ });
3216
+ /**
3217
+ * sentient.propose.run (mutate) — manually trigger a single Tier-2 propose tick in-process
3218
+ */
3219
+ export const mutateSentientProposeRun = (options) => (options?.client ?? client).post({ url: '/v1/sentient/propose.run', ...options });
3220
+ /**
3221
+ * sentient.propose.enable (mutate) — enable Tier-2 autonomous proposal generation (M7 gate)
3222
+ */
3223
+ export const mutateSentientProposeEnable = (options) => (options?.client ?? client).post({ url: '/v1/sentient/propose.enable', ...options });
3224
+ /**
3225
+ * sentient.propose.disable (mutate) — disable Tier-2 autonomous proposal generation
3226
+ */
3227
+ export const mutateSentientProposeDisable = (options) => (options?.client ?? client).post({ url: '/v1/sentient/propose.disable', ...options });
3228
+ /**
3229
+ * sentient.allowlist.add (mutate) — add a base64-encoded owner pubkey to the sentient allowlist
3230
+ */
3231
+ export const mutateSentientAllowlistAdd = (options) => (options.client ?? client).post({
3232
+ url: '/v1/sentient/allowlist.add',
3233
+ ...options,
3234
+ headers: {
3235
+ 'Content-Type': 'application/json',
3236
+ ...options.headers
3237
+ }
3238
+ });
3239
+ /**
3240
+ * sentient.allowlist.remove (mutate) — remove a base64-encoded owner pubkey from the sentient allowlist
3241
+ */
3242
+ export const mutateSentientAllowlistRemove = (options) => (options.client ?? client).post({
3243
+ url: '/v1/sentient/allowlist.remove',
3244
+ ...options,
3245
+ headers: {
3246
+ 'Content-Type': 'application/json',
3247
+ ...options.headers
3248
+ }
3249
+ });
3250
+ /**
3251
+ * release.gate (query) — check all IVTR loops in a release epic have reached the released phase before allowing release.ship (T820 RELEASE-03)
3252
+ */
3253
+ export const queryReleaseGate = (options) => (options.client ?? client).post({
3254
+ url: '/v1/release/gate/query',
3255
+ ...options,
3256
+ headers: {
3257
+ 'Content-Type': 'application/json',
3258
+ ...options.headers
3259
+ }
3260
+ });
3261
+ /**
3262
+ * release.gate (mutate) — same IVTR gate check as query.gate; safe in both gateways (no DB writes)
3263
+ */
3264
+ export const mutateReleaseGate = (options) => (options.client ?? client).post({
3265
+ url: '/v1/release/gate/mutate',
3266
+ ...options,
3267
+ headers: {
3268
+ 'Content-Type': 'application/json',
3269
+ ...options.headers
3270
+ }
3271
+ });
3272
+ /**
3273
+ * release.ivtr-suggest (query) — check if all epic tasks are released and suggest cleo release ship (T820 RELEASE-07)
3274
+ */
3275
+ export const queryReleaseIvtrSuggest = (options) => (options.client ?? client).post({
3276
+ url: '/v1/release/ivtr-suggest/query',
3277
+ ...options,
3278
+ headers: {
3279
+ 'Content-Type': 'application/json',
3280
+ ...options.headers
3281
+ }
3282
+ });
3283
+ /**
3284
+ * release.ivtr-suggest (mutate) — same auto-suggest as query.ivtr-suggest; safe in both gateways (no DB writes)
3285
+ */
3286
+ export const mutateReleaseIvtrSuggest = (options) => (options.client ?? client).post({
3287
+ url: '/v1/release/ivtr-suggest/mutate',
3288
+ ...options,
3289
+ headers: {
3290
+ 'Content-Type': 'application/json',
3291
+ ...options.headers
3292
+ }
3293
+ });
3294
+ /**
3295
+ * release.plan (mutate) — build canonical Release Plan envelope, write .cleo/release/<version>.plan.json, INSERT/UPDATE releases row status=planned (T9525 / SPEC-T9345 §4.2).
3296
+ */
3297
+ export const mutateReleasePlan = (options) => (options.client ?? client).post({
3298
+ url: '/v1/release/plan',
3299
+ ...options,
3300
+ headers: {
3301
+ 'Content-Type': 'application/json',
3302
+ ...options.headers
3303
+ }
3304
+ });
3305
+ /**
3306
+ * release.open (mutate) — dispatch release-prepare.yml via gh workflow run, UPDATE releases.status to pr-opened (T9530 / SPEC-T9345 §4.3).
3307
+ */
3308
+ export const mutateReleaseOpen = (options) => (options.client ?? client).post({
3309
+ url: '/v1/release/open',
3310
+ ...options,
3311
+ headers: {
3312
+ 'Content-Type': 'application/json',
3313
+ ...options.headers
3314
+ }
3315
+ });
3316
+ /**
3317
+ * release.reconcile (mutate) — v2 reconcile verb: backfill the 11 provenance tables from git log + gh api. Single SQLite TX, UPSERT-everywhere, idempotent (T9526 / SPEC-T9345 §4.4).
3318
+ */
3319
+ export const mutateReleaseReconcile = (options) => (options.client ?? client).post({
3320
+ url: '/v1/release/reconcile',
3321
+ ...options,
3322
+ headers: {
3323
+ 'Content-Type': 'application/json',
3324
+ ...options.headers
3325
+ }
3326
+ });
3327
+ /**
3328
+ * release.validate-changelog (query) — validate that CHANGELOG.md contains the canonical `## [VERSION]` header per ADR-028 §2.5. Replaces the brittle inline grep in .github/workflows/release.yml (T9937 / Saga T9862).
3329
+ */
3330
+ export const queryReleaseValidateChangelog = (options) => (options.client ?? client).post({
3331
+ url: '/v1/release/validate-changelog',
3332
+ ...options,
3333
+ headers: {
3334
+ 'Content-Type': 'application/json',
3335
+ ...options.headers
3336
+ }
3337
+ });
3338
+ /**
3339
+ * provenance.backfill (mutate) — walk historical git tags from --since forward and populate the 11 provenance tables. UPSERT-everywhere, idempotent, restartable via .cleo/release/backfill-state.json (T9528 / SPEC-T9345 §8.3).
3340
+ */
3341
+ export const mutateProvenanceBackfill = (options) => (options.client ?? client).post({
3342
+ url: '/v1/provenance/backfill',
3343
+ ...options,
3344
+ headers: {
3345
+ 'Content-Type': 'application/json',
3346
+ ...options.headers
3347
+ }
3348
+ });
3349
+ /**
3350
+ * provenance.verify (query) — READ-ONLY audit of the 11 provenance tables for a release. Checks FK integrity (release_commits, task_commits, pr_commits, pr_tasks, release_changes, release_artifacts), orphan rows, and ADR-051 evidence-atom staleness. Exit code 0 on pass, non-zero on any fail (T9529 / SPEC-T9345 §4.6).
3351
+ */
3352
+ export const queryProvenanceVerify = (options) => (options?.client ?? client).post({
3353
+ url: '/v1/provenance/verify',
3354
+ ...options,
3355
+ headers: {
3356
+ 'Content-Type': 'application/json',
3357
+ ...options?.headers
3358
+ }
3359
+ });
3360
+ /**
3361
+ * llm.list (query) — list redacted credentials from the multi-credential pool, optionally filtered by provider
3362
+ */
3363
+ export const queryLlmList = (options) => (options?.client ?? client).post({
3364
+ url: '/v1/llm/list',
3365
+ ...options,
3366
+ headers: {
3367
+ 'Content-Type': 'application/json',
3368
+ ...options?.headers
3369
+ }
3370
+ });
3371
+ /**
3372
+ * llm.test (query) — round-trip ping against the resolved provider; returns latency + response id (tokens never surfaced)
3373
+ */
3374
+ export const queryLlmTest = (options) => (options.client ?? client).post({
3375
+ url: '/v1/llm/test',
3376
+ ...options,
3377
+ headers: {
3378
+ 'Content-Type': 'application/json',
3379
+ ...options.headers
3380
+ }
3381
+ });
3382
+ /**
3383
+ * llm.whoami (query) — resolve every role and report which provider / model / credential would be picked
3384
+ */
3385
+ export const queryLlmWhoami = (options) => (options?.client ?? client).post({
3386
+ url: '/v1/llm/whoami',
3387
+ ...options,
3388
+ headers: {
3389
+ 'Content-Type': 'application/json',
3390
+ ...options?.headers
3391
+ }
3392
+ });
3393
+ /**
3394
+ * llm.auxiliary-status (query) — show the active multi-provider auxiliary fallback chain and how to configure it (T9319)
3395
+ */
3396
+ export const queryLlmAuxiliaryStatus = (options) => (options?.client ?? client).post({
3397
+ url: '/v1/llm/auxiliary-status',
3398
+ ...options,
3399
+ headers: {
3400
+ 'Content-Type': 'application/json',
3401
+ ...options?.headers
3402
+ }
3403
+ });
3404
+ /**
3405
+ * llm.add (mutate) — upsert a credential into the multi-credential pool; auto-detects authType from token prefix
3406
+ */
3407
+ export const mutateLlmAdd = (options) => (options.client ?? client).post({
3408
+ url: '/v1/llm/add',
3409
+ ...options,
3410
+ headers: {
3411
+ 'Content-Type': 'application/json',
3412
+ ...options.headers
3413
+ }
3414
+ });
3415
+ /**
3416
+ * llm.remove (mutate) — delete a (provider, label) credential pair from the pool
3417
+ */
3418
+ export const mutateLlmRemove = (options) => (options.client ?? client).post({
3419
+ url: '/v1/llm/remove',
3420
+ ...options,
3421
+ headers: {
3422
+ 'Content-Type': 'application/json',
3423
+ ...options.headers
3424
+ }
3425
+ });
3426
+ /**
3427
+ * llm.use (mutate) — set llm.default.{provider,model} in the global config
3428
+ */
3429
+ export const mutateLlmUse = (options) => (options.client ?? client).post({
3430
+ url: '/v1/llm/use',
3431
+ ...options,
3432
+ headers: {
3433
+ 'Content-Type': 'application/json',
3434
+ ...options.headers
3435
+ }
3436
+ });
3437
+ /**
3438
+ * llm.profile (mutate) — pin a role to a specific provider / model / credential label
3439
+ */
3440
+ export const mutateLlmProfile = (options) => (options.client ?? client).post({
3441
+ url: '/v1/llm/profile',
3442
+ ...options,
3443
+ headers: {
3444
+ 'Content-Type': 'application/json',
3445
+ ...options.headers
3446
+ }
3447
+ });
3448
+ /**
3449
+ * upgrade.workflows (query) — re-render the four release-pipeline workflow templates and report drift against .github/workflows/release-*.yml. Read-only (forces dryRun). Honours .workflow-overrides.yml for operator-declared customizations (T9536).
3450
+ */
3451
+ export const queryUpgradeWorkflows = (options) => (options?.client ?? client).post({
3452
+ url: '/v1/upgrade/workflows/query',
3453
+ ...options,
3454
+ headers: {
3455
+ 'Content-Type': 'application/json',
3456
+ ...options?.headers
3457
+ }
3458
+ });
3459
+ /**
3460
+ * upgrade.workflows (mutate) — re-render the four release-pipeline workflow templates; with force=true, overwrite drifted files and audit-log to .cleo/audit/upgrade-workflows.jsonl. .workflow-overrides.yml entries are preserved (operator-declared customization). hasDrift flag in the response drives the --check exit-code contract (T9536).
3461
+ */
3462
+ export const mutateUpgradeWorkflows = (options) => (options?.client ?? client).post({
3463
+ url: '/v1/upgrade/workflows/mutate',
3464
+ ...options,
3465
+ headers: {
3466
+ 'Content-Type': 'application/json',
3467
+ ...options?.headers
3468
+ }
3469
+ });
3470
+ /**
3471
+ * worktree.list (query) — enumerate git worktrees with 5 status categories (active|stale|merged|orphan|locked). Reads tasks.db for owning-task status. 60s git timeout (T9546).
3472
+ */
3473
+ export const queryWorktreeList = (options) => (options?.client ?? client).post({
3474
+ url: '/v1/worktree/list',
3475
+ ...options,
3476
+ headers: {
3477
+ 'Content-Type': 'application/json',
3478
+ ...options?.headers
3479
+ }
3480
+ });
3481
+ /**
3482
+ * worktree.prune (mutate) — remove orphaned worktrees with per-orphan confirmation. Audit-logs to .cleo/audit/worktree-lifecycle.jsonl (T9547).
3483
+ */
3484
+ export const mutateWorktreePrune = (options) => (options?.client ?? client).post({
3485
+ url: '/v1/worktree/prune',
3486
+ ...options,
3487
+ headers: {
3488
+ 'Content-Type': 'application/json',
3489
+ ...options?.headers
3490
+ }
3491
+ });
3492
+ /**
3493
+ * worktree.forceUnlock (mutate) — remove .git/index.lock and run git worktree unlock for a task. Warns on uncommitted changes (T9547).
3494
+ */
3495
+ export const mutateWorktreeForceUnlock = (options) => (options.client ?? client).post({
3496
+ url: '/v1/worktree/forceUnlock',
3497
+ ...options,
3498
+ headers: {
3499
+ 'Content-Type': 'application/json',
3500
+ ...options.headers
3501
+ }
3502
+ });
3503
+ /**
3504
+ * worktree.adopt (mutate) — register an externally-created worktree (e.g. Claude Code Agent isolation:worktree) in the CLEO SSoT. Writes to .cleo/worktrees.json sentinel index and appends audit entry (T9804).
3505
+ */
3506
+ export const mutateWorktreeAdopt = (options) => (options.client ?? client).post({
3507
+ url: '/v1/worktree/adopt',
3508
+ ...options,
3509
+ headers: {
3510
+ 'Content-Type': 'application/json',
3511
+ ...options.headers
3512
+ }
3513
+ });
3514
+ /**
3515
+ * worktree.destroy (mutate) — explicitly destroy the XDG worktree for a task, remove its sentinel index entry, and append an audit-log row to .cleo/audit/worktree-lifecycle.jsonl (T9805 AC1).
3516
+ */
3517
+ export const mutateWorktreeDestroy = (options) => (options.client ?? client).post({
3518
+ url: '/v1/worktree/destroy',
3519
+ ...options,
3520
+ headers: {
3521
+ 'Content-Type': 'application/json',
3522
+ ...options.headers
3523
+ }
3524
+ });
3525
+ /**
3526
+ * focus.show (query) — single-envelope orientation for a task, epic, or saga. Aggregates identity + scope + members + blockers + readyWave + attachedDocs + recentActivity + brainContext into ≤ 1 500 tokens.
3527
+ */
3528
+ export const queryFocusShow = (options) => (options.client ?? client).post({
3529
+ url: '/v1/focus/show',
3530
+ ...options,
3531
+ headers: {
3532
+ 'Content-Type': 'application/json',
3533
+ ...options.headers
3534
+ }
3535
+ });
3536
+ /**
3537
+ * attention.add (mutate · alias jot) — record a scope-keyed working-memory jot. Session/agent identity + current task are auto-resolved from the environment (E0); the item keys to the narrowest scope (agent>task>epic>saga>session>global). No session/agent/task flags by default.
3538
+ */
3539
+ export const mutateAttentionAdd = (options) => (options.client ?? client).post({
3540
+ url: '/v1/attention/add',
3541
+ ...options,
3542
+ headers: {
3543
+ 'Content-Type': 'application/json',
3544
+ ...options.headers
3545
+ }
3546
+ });
3547
+ /**
3548
+ * attention.list (query) — list open working-memory jots visible to the calling agent across its resolved scope chain. Optional --scope / --tag filters.
3549
+ */
3550
+ export const queryAttentionList = (options) => (options?.client ?? client).post({
3551
+ url: '/v1/attention/list',
3552
+ ...options,
3553
+ headers: {
3554
+ 'Content-Type': 'application/json',
3555
+ ...options?.headers
3556
+ }
3557
+ });
3558
+ /**
3559
+ * attention.show (query) — synonym for attention.list; emits the open working-memory jots for the calling agent within token budget.
3560
+ */
3561
+ export const queryAttentionShow = (options) => (options?.client ?? client).post({
3562
+ url: '/v1/attention/show',
3563
+ ...options,
3564
+ headers: {
3565
+ 'Content-Type': 'application/json',
3566
+ ...options?.headers
3567
+ }
3568
+ });
3569
+ /**
3570
+ * tasks.context (query) — bounded context pack for a single task. Combines identity + acceptance criteria + blockers + attached docs + graph edges (from tasks.slice) + recent activity within a configurable token budget, with explicit omission tracking and expansion hints.
3571
+ */
3572
+ export const queryTasksContext = (options) => (options.client ?? client).post({
3573
+ url: '/v1/tasks/context',
3574
+ ...options,
3575
+ headers: {
3576
+ 'Content-Type': 'application/json',
3577
+ ...options.headers
3578
+ }
3579
+ });
3580
+ /**
3581
+ * selfimprove.run (mutate) — boot ONE sandbox, replay a canned dogfood scenario, diff vs golden; on regression emit ONE leased selfimprove_dhq row + ONE DRAFT PR. Default OFF — requires --execute (else DRY-RUN). Budget-capped + circuit-broken (T11889 / T11889-D).
3582
+ */
3583
+ export const mutateSelfimproveRun = (options) => (options.client ?? client).post({
3584
+ url: '/v1/selfimprove/run',
3585
+ ...options,
3586
+ headers: {
3587
+ 'Content-Type': 'application/json',
3588
+ ...options.headers
3589
+ }
3590
+ });
3591
+ /**
3592
+ * service.auth-url (query) — build a PKCE OAuth authorization URL for a service provider; returns the URL + the code verifier + state to round-trip into service.exchange.
3593
+ */
3594
+ export const queryServiceAuthUrl = (options) => (options.client ?? client).post({
3595
+ url: '/v1/service/auth-url',
3596
+ ...options,
3597
+ headers: {
3598
+ 'Content-Type': 'application/json',
3599
+ ...options.headers
3600
+ }
3601
+ });
3602
+ /**
3603
+ * service.exchange (mutate) — exchange an OAuth authorization code (+ PKCE verifier) for tokens and PERSIST them encryptGlobal-encrypted into service_connections. Returns the non-secret connection identity.
3604
+ */
3605
+ export const mutateServiceExchange = (options) => (options.client ?? client).post({
3606
+ url: '/v1/service/exchange',
3607
+ ...options,
3608
+ headers: {
3609
+ 'Content-Type': 'application/json',
3610
+ ...options.headers
3611
+ }
3612
+ });
3613
+ /**
3614
+ * service.refresh (mutate) — refresh a service connection access token honoring the per-provider RefreshConfig (Form/Json × Body/BasicAuth, plus github-app / service-account-jwt / client-credentials variants); re-encrypts + persists the new blob.
3615
+ */
3616
+ export const mutateServiceRefresh = (options) => (options.client ?? client).post({
3617
+ url: '/v1/service/refresh',
3618
+ ...options,
3619
+ headers: {
3620
+ 'Content-Type': 'application/json',
3621
+ ...options.headers
3622
+ }
3623
+ });
3624
+ /**
3625
+ * service.self-heal (mutate) — resolve a service connection and, when its expires_at is past, transparently refresh + re-encrypt + persist; returns a fresh sealed-credential reference (agents never see a stale token).
3626
+ */
3627
+ export const mutateServiceSelfHeal = (options) => (options.client ?? client).post({
3628
+ url: '/v1/service/self-heal',
3629
+ ...options,
3630
+ headers: {
3631
+ 'Content-Type': 'application/json',
3632
+ ...options.headers
3633
+ }
3634
+ });
3635
+ /**
3636
+ * service.connect (mutate) — connect a service credential: store an already-obtained token (--token) OR exchange an OAuth authorization code (--paste-code + --code-verifier + --redirect-uri). Persists the token blob encryptGlobal-encrypted; returns the NON-SECRET connection identity (never the token).
3637
+ */
3638
+ export const mutateServiceConnect = (options) => (options.client ?? client).post({
3639
+ url: '/v1/service/connect',
3640
+ ...options,
3641
+ headers: {
3642
+ 'Content-Type': 'application/json',
3643
+ ...options.headers
3644
+ }
3645
+ });
3646
+ /**
3647
+ * service.list (query) — list service connections as NON-SECRET views (provider/label/status/scopes/expiresAt/hasCredentials). The decrypted token is NEVER surfaced.
3648
+ */
3649
+ export const queryServiceList = (options) => (options?.client ?? client).post({
3650
+ url: '/v1/service/list',
3651
+ ...options,
3652
+ headers: {
3653
+ 'Content-Type': 'application/json',
3654
+ ...options?.headers
3655
+ }
3656
+ });
3657
+ /**
3658
+ * service.revoke (mutate) — DELETE a service connection and CASCADE its agent_service_grants. Returns the {count, deleted, grantsRemoved} envelope (count=0 when no such connection).
3659
+ */
3660
+ export const mutateServiceRevoke = (options) => (options.client ?? client).post({
3661
+ url: '/v1/service/revoke',
3662
+ ...options,
3663
+ headers: {
3664
+ 'Content-Type': 'application/json',
3665
+ ...options.headers
3666
+ }
3667
+ });
3668
+ /**
3669
+ * service.status (query) — report connection health: each connection adds `expired` + `needsRefresh` booleans computed from expires_at. NON-SECRET; never surfaces a token.
3670
+ */
3671
+ export const queryServiceStatus = (options) => (options?.client ?? client).post({
3672
+ url: '/v1/service/status',
3673
+ ...options,
3674
+ headers: {
3675
+ 'Content-Type': 'application/json',
3676
+ ...options?.headers
3677
+ }
3678
+ });
3679
+ /**
3680
+ * account.add (mutate) — store a pooled provider credential. SECRET-BEARING (cli-only): accepts an API key / OAuth token and persists it encrypted; returns the NON-SECRET redacted view (tokenPreview last-4 ONLY — never the raw secret).
3681
+ */
3682
+ export const mutateAccountAdd = (options) => (options.client ?? client).post({
3683
+ url: '/v1/account/add',
3684
+ ...options,
3685
+ headers: {
3686
+ 'Content-Type': 'application/json',
3687
+ ...options.headers
3688
+ }
3689
+ });
3690
+ /**
3691
+ * account.list (query) — list pooled accounts as NON-SECRET redacted views (provider/label/authType/tokenPreview). The decrypted secret is NEVER surfaced.
3692
+ */
3693
+ export const queryAccountList = (options) => (options?.client ?? client).post({
3694
+ url: '/v1/account/list',
3695
+ ...options,
3696
+ headers: {
3697
+ 'Content-Type': 'application/json',
3698
+ ...options?.headers
3699
+ }
3700
+ });
3701
+ /**
3702
+ * account.remove (mutate) — delete a (provider, label) account from the pool. Returns the {count, deleted} envelope (count=0 when absent — idempotent).
3703
+ */
3704
+ export const mutateAccountRemove = (options) => (options.client ?? client).post({
3705
+ url: '/v1/account/remove',
3706
+ ...options,
3707
+ headers: {
3708
+ 'Content-Type': 'application/json',
3709
+ ...options.headers
3710
+ }
3711
+ });
3712
+ /**
3713
+ * provider.list (query) — list every declarative provider as a NON-SECRET view (id/displayName/aliases/authMethods/modelsDevId) from the providers table.
3714
+ */
3715
+ export const queryProviderList = (options) => (options?.client ?? client).post({
3716
+ url: '/v1/provider/list',
3717
+ ...options,
3718
+ headers: {
3719
+ 'Content-Type': 'application/json',
3720
+ ...options?.headers
3721
+ }
3722
+ });
3723
+ /**
3724
+ * provider.show (query) — resolve ONE provider by id OR case-insensitive alias against the declarative alias index; returns the provider view + the id/alias matched.
3725
+ */
3726
+ export const queryProviderShow = (options) => (options.client ?? client).post({
3727
+ url: '/v1/provider/show',
3728
+ ...options,
3729
+ headers: {
3730
+ 'Content-Type': 'application/json',
3731
+ ...options.headers
3732
+ }
3733
+ });
3734
+ /**
3735
+ * provider.connect (mutate) — connect a provider by storing a token as one of its accounts (token-direct). SECRET-BEARING (cli-only): resolves the provider (id/alias) then delegates to the secret-bearing account write; returns the NON-SECRET account identity (never the raw token). OAuth flows route through `cleo service`.
3736
+ */
3737
+ export const mutateProviderConnect = (options) => (options.client ?? client).post({
3738
+ url: '/v1/provider/connect',
3739
+ ...options,
3740
+ headers: {
3741
+ 'Content-Type': 'application/json',
3742
+ ...options.headers
3743
+ }
3744
+ });
3745
+ /**
3746
+ * model.query (query) — read the models.dev catalog (models_catalog table) newest-first by release date; optionally filtered by provider (models.dev id) and capped by --limit. Returns NON-SECRET catalog views.
3747
+ */
3748
+ export const queryModelQuery = (options) => (options?.client ?? client).post({
3749
+ url: '/v1/model/query',
3750
+ ...options,
3751
+ headers: {
3752
+ 'Content-Type': 'application/json',
3753
+ ...options?.headers
3754
+ }
3755
+ });
3756
+ /**
3757
+ * model.show (query) — resolve ONE catalog model by id; returns {found, model} (found=false when the id is absent — not an error).
3758
+ */
3759
+ export const queryModelShow = (options) => (options.client ?? client).post({
3760
+ url: '/v1/model/show',
3761
+ ...options,
3762
+ headers: {
3763
+ 'Content-Type': 'application/json',
3764
+ ...options.headers
3765
+ }
3766
+ });
3767
+ /**
3768
+ * profile.create (mutate) — bind an account + model into a named, addressable profile. Validates the binding (the pinned account must exist; the model must be in the catalog) then persists into llm.profiles[name]. Returns {count, created, profile}.
3769
+ */
3770
+ export const mutateProfileCreate = (options) => (options.client ?? client).post({
3771
+ url: '/v1/profile/create',
3772
+ ...options,
3773
+ headers: {
3774
+ 'Content-Type': 'application/json',
3775
+ ...options.headers
3776
+ }
3777
+ });
3778
+ /**
3779
+ * profile.list (query) — list every named profile from llm.profiles (name + provider + model + optional credentialLabel).
3780
+ */
3781
+ export const queryProfileList = (options) => (options?.client ?? client).post({
3782
+ url: '/v1/profile/list',
3783
+ ...options,
3784
+ headers: {
3785
+ 'Content-Type': 'application/json',
3786
+ ...options?.headers
3787
+ }
3788
+ });
3789
+ /**
3790
+ * profile.pin (mutate) — pin a role to a named profile (llm.roles[role].profile). The role must be a valid background role and the profile must already exist.
3791
+ */
3792
+ export const mutateProfilePin = (options) => (options.client ?? client).post({
3793
+ url: '/v1/profile/pin',
3794
+ ...options,
3795
+ headers: {
3796
+ 'Content-Type': 'application/json',
3797
+ ...options.headers
3798
+ }
3799
+ });
3800
+ /**
3801
+ * profile.use (mutate) — set a named profile as the global default binding (llm.defaultProfile). The profile must already exist.
3802
+ */
3803
+ export const mutateProfileUse = (options) => (options.client ?? client).post({
3804
+ url: '/v1/profile/use',
3805
+ ...options,
3806
+ headers: {
3807
+ 'Content-Type': 'application/json',
3808
+ ...options.headers
3809
+ }
3810
+ });
3811
+ //# sourceMappingURL=sdk.gen.js.map