@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
@@ -1 +1 @@
1
- {"version":3,"file":"queue-manager.d.ts","sourceRoot":"","sources":["../../src/deriver/queue-manager.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAOhD,+DAA+D;AAC/D,eAAO,MAAM,mBAAmB,KAAK,CAAC;AAEtC,oEAAoE;AACpE,eAAO,MAAM,eAAe,IAAI,CAAC;AASjC,yCAAyC;AACzC,MAAM,WAAW,YAAY;IAC3B;;;OAGG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,yCAAyC;IACzC,EAAE,CAAC,EAAE,YAAY,GAAG,IAAI,CAAC;CAC1B;AAED,4BAA4B;AAC5B,MAAM,WAAW,WAAW;IAC1B,EAAE,EAAE,MAAM,CAAC;IACX,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,6DAA6D;AAC7D,MAAM,WAAW,eAAe;IAC9B,yCAAyC;IACzC,EAAE,CAAC,EAAE,YAAY,GAAG,IAAI,CAAC;CAC1B;AAED,8CAA8C;AAC9C,MAAM,WAAW,mBAAmB;IAClC,6DAA6D;IAC7D,QAAQ,EAAE,MAAM,CAAC;IACjB,6DAA6D;IAC7D,MAAM,EAAE,MAAM,CAAC;CAChB;AAqCD;;;;;;;;;;;GAWG;AACH,wBAAgB,aAAa,CAAC,OAAO,GAAE,YAAiB,GAAG,WAAW,GAAG,IAAI,CA2D5E;AAED;;;;;;;GAOG;AACH,wBAAgB,YAAY,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,GAAE,eAAoB,GAAG,IAAI,CAYhF;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,QAAQ,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,GAAE,eAAoB,GAAG,IAAI,CAsB9F;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,iBAAiB,CAAC,OAAO,GAAE,eAAoB,GAAG,mBAAmB,CA0CpF"}
1
+ {"version":3,"file":"queue-manager.d.ts","sourceRoot":"","sources":["../../src/deriver/queue-manager.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAOhD,+DAA+D;AAC/D,eAAO,MAAM,mBAAmB,KAAK,CAAC;AAEtC,oEAAoE;AACpE,eAAO,MAAM,eAAe,IAAI,CAAC;AAEjC;;;;;;;;GAQG;AACH,eAAO,MAAM,oBAAoB,KAAK,CAAC;AAEvC,4FAA4F;AAC5F,eAAO,MAAM,mBAAmB,QAAU,CAAC;AAS3C,yCAAyC;AACzC,MAAM,WAAW,YAAY;IAC3B;;;OAGG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,yCAAyC;IACzC,EAAE,CAAC,EAAE,YAAY,GAAG,IAAI,CAAC;CAC1B;AAED,4BAA4B;AAC5B,MAAM,WAAW,WAAW;IAC1B,EAAE,EAAE,MAAM,CAAC;IACX,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,6DAA6D;AAC7D,MAAM,WAAW,eAAe;IAC9B,yCAAyC;IACzC,EAAE,CAAC,EAAE,YAAY,GAAG,IAAI,CAAC;CAC1B;AAED,8CAA8C;AAC9C,MAAM,WAAW,mBAAmB;IAClC,6DAA6D;IAC7D,QAAQ,EAAE,MAAM,CAAC;IACjB,6DAA6D;IAC7D,MAAM,EAAE,MAAM,CAAC;CAChB;AAiCD;;;;;;;;;;;;GAYG;AACH,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAI7D;AAWD;;;;;;;;;;;GAWG;AACH,wBAAgB,aAAa,CAAC,OAAO,GAAE,YAAiB,GAAG,WAAW,GAAG,IAAI,CA+D5E;AAED;;;;;;;GAOG;AACH,wBAAgB,YAAY,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,GAAE,eAAoB,GAAG,IAAI,CAYhF;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,QAAQ,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,GAAE,eAAoB,GAAG,IAAI,CAyB9F;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,iBAAiB,CAAC,OAAO,GAAE,eAAoB,GAAG,mBAAmB,CA4CpF"}
@@ -25,6 +25,18 @@ import { getBrainNativeDb } from '../store/memory-sqlite.js';
25
25
  export const STALE_CLAIM_MINUTES = 30;
26
26
  /** Max retry count before item is moved to 'failed' permanently. */
27
27
  export const MAX_RETRY_COUNT = 5;
28
+ /**
29
+ * Base exponential-backoff delay in seconds for a re-queued item (T10405).
30
+ *
31
+ * A failed/recovered item's next claim is gated until
32
+ * `now + BACKOFF_BASE_SECONDS * 2^(retryCount - 1)`, capped at
33
+ * {@link BACKOFF_MAX_SECONDS}. With base 30s the schedule is
34
+ * 30s → 60s → 120s → 240s (then capped), so a transiently-failing item
35
+ * backs off geometrically instead of hot-looping the worker.
36
+ */
37
+ export const BACKOFF_BASE_SECONDS = 30;
38
+ /** Maximum exponential-backoff delay in seconds (cap for {@link computeBackoffSeconds}). */
39
+ export const BACKOFF_MAX_SECONDS = 30 * 60;
28
40
  /** SQLite busy error string (returned when BEGIN IMMEDIATE cannot acquire lock). */
29
41
  const SQLITE_BUSY_STR = 'database is locked';
30
42
  // ============================================================================
@@ -38,6 +50,28 @@ function defaultWorkerId() {
38
50
  function minutesAgo(n) {
39
51
  return new Date(Date.now() - n * 60_000).toISOString();
40
52
  }
53
+ /**
54
+ * Compute the exponential-backoff delay (seconds) for a re-queued item (T10405).
55
+ *
56
+ * Returns `BACKOFF_BASE_SECONDS * 2^(attempt - 1)` capped at
57
+ * {@link BACKOFF_MAX_SECONDS}. `attempt` is the *new* retry count (1-based:
58
+ * the first failure backs off by the base delay). An `attempt` of 0 or less is
59
+ * clamped to 1 so the first retry always waits at least the base delay.
60
+ *
61
+ * @param attempt - The new (post-increment) retry count for the item.
62
+ * @returns Backoff delay in seconds, in `[BACKOFF_BASE_SECONDS, BACKOFF_MAX_SECONDS]`.
63
+ *
64
+ * @task T10405
65
+ */
66
+ export function computeBackoffSeconds(attempt) {
67
+ const safeAttempt = attempt < 1 ? 1 : attempt;
68
+ const delay = BACKOFF_BASE_SECONDS * 2 ** (safeAttempt - 1);
69
+ return Math.min(delay, BACKOFF_MAX_SECONDS);
70
+ }
71
+ /** Return ISO 8601 timestamp for N seconds in the future. */
72
+ function secondsFromNow(n) {
73
+ return new Date(Date.now() + n * 1000).toISOString();
74
+ }
41
75
  // ============================================================================
42
76
  // Public API
43
77
  // ============================================================================
@@ -70,18 +104,22 @@ export function claimNextItem(options = {}) {
70
104
  throw err;
71
105
  }
72
106
  try {
107
+ // T10405: gate on the exponential-backoff window — a re-queued item with a
108
+ // future `next_attempt_at` is skipped until its backoff elapses. Fresh items
109
+ // (next_attempt_at IS NULL) are always eligible.
110
+ const now = new Date().toISOString();
73
111
  const row = nativeDb
74
112
  .prepare(`SELECT id, item_type, item_id, priority, retry_count
75
113
  FROM deriver_queue
76
114
  WHERE status = 'pending'
115
+ AND (next_attempt_at IS NULL OR next_attempt_at <= ?)
77
116
  ORDER BY priority DESC, created_at ASC
78
117
  LIMIT 1`)
79
- .get();
118
+ .get(now);
80
119
  if (!row) {
81
120
  nativeDb.exec('ROLLBACK');
82
121
  return null;
83
122
  }
84
- const now = new Date().toISOString();
85
123
  nativeDb
86
124
  .prepare(`UPDATE deriver_queue
87
125
  SET status = 'in_progress', claimed_at = ?, claimed_by = ?
@@ -129,8 +167,10 @@ export function completeItem(itemId, options = {}) {
129
167
  * Mark a claimed item as failed (with optional error message).
130
168
  *
131
169
  * If `retryCount` is below {@link MAX_RETRY_COUNT}, the item is re-queued
132
- * to `pending` with `retryCount + 1` (for retry next batch).
133
- * Otherwise the item is permanently moved to `failed`.
170
+ * to `pending` with `retryCount + 1` and an exponential-backoff
171
+ * `next_attempt_at` (T10405) so it is not re-claimed until the backoff window
172
+ * elapses. Otherwise the item is permanently moved to `failed` (DLQ semantics)
173
+ * and its backoff gate is cleared.
134
174
  *
135
175
  * @param itemId - The deriver_queue.id to fail.
136
176
  * @param errorMsg - Human-readable error for the error_msg column.
@@ -147,13 +187,16 @@ export function failItem(itemId, errorMsg, options = {}) {
147
187
  if (!row)
148
188
  return;
149
189
  const nextRetry = (row.retry_count ?? 0) + 1;
150
- const nextStatus = nextRetry >= MAX_RETRY_COUNT ? 'failed' : 'pending';
190
+ const permanentFail = nextRetry >= MAX_RETRY_COUNT;
191
+ const nextStatus = permanentFail ? 'failed' : 'pending';
192
+ // Re-queued items back off geometrically; permanently-failed items clear the gate.
193
+ const nextAttemptAt = permanentFail ? null : secondsFromNow(computeBackoffSeconds(nextRetry));
151
194
  nativeDb
152
195
  .prepare(`UPDATE deriver_queue
153
196
  SET status = ?, retry_count = ?, error_msg = ?,
154
- claimed_at = NULL, claimed_by = NULL
197
+ claimed_at = NULL, claimed_by = NULL, next_attempt_at = ?
155
198
  WHERE id = ? AND status = 'in_progress'`)
156
- .run(nextStatus, nextRetry, errorMsg, itemId);
199
+ .run(nextStatus, nextRetry, errorMsg, nextAttemptAt, itemId);
157
200
  }
158
201
  /**
159
202
  * Re-queue stale in_progress items whose `claimed_at` is older than
@@ -192,12 +235,14 @@ export function recoverStaleItems(options = {}) {
192
235
  result.failed++;
193
236
  }
194
237
  else {
238
+ // T10405: re-queued stale items also back off geometrically.
239
+ const nextAttemptAt = secondsFromNow(computeBackoffSeconds(nextRetry));
195
240
  nativeDb
196
241
  .prepare(`UPDATE deriver_queue
197
242
  SET status = 'pending', retry_count = ?, error_msg = 'recovered from stale claim',
198
- claimed_at = NULL, claimed_by = NULL
243
+ claimed_at = NULL, claimed_by = NULL, next_attempt_at = ?
199
244
  WHERE id = ?`)
200
- .run(nextRetry, row.id);
245
+ .run(nextRetry, nextAttemptAt, row.id);
201
246
  result.requeued++;
202
247
  }
203
248
  }
@@ -1 +1 @@
1
- {"version":3,"file":"queue-manager.js","sourceRoot":"","sources":["../../src/deriver/queue-manager.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"queue-manager.js","sourceRoot":"","sources":["../../src/deriver/queue-manager.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,125 @@
1
+ /**
2
+ * ConfigDomainHandler — routes the config-as-domain operations to the
3
+ * `ConfigManifest` cascade resolver.
4
+ *
5
+ * This is the CORE-side routing surface for the four config-as-domain ops added
6
+ * in T11917 (`config.get`, `config.list`, `config.validate`, `config.unset`),
7
+ * plus the pre-existing `config.show` read. Every method delegates to the pure
8
+ * JSON cascade resolver in `../config/registry.js` (`resolveCleoConfig`,
9
+ * `getConfigValue`, `validateConfig`, `unsetConfigValue`) — the SSoT
10
+ * implementation of the {@link ConfigManifestEntry} contract from
11
+ * `@cleocode/contracts/config`.
12
+ *
13
+ * The handler lives in CORE (not the CLI `cleo/` dispatch layer) so the routing
14
+ * logic — and the cascade resolver it calls — is reusable by every consumer
15
+ * (CLI dispatch, the SDK gateway, REST clients) without crossing the
16
+ * package boundary back into `cleo/`. The thin `admin` DomainHandler in
17
+ * `packages/cleo/src/dispatch/domains/admin.ts` delegates its `config.*` ops to
18
+ * this class and wraps the {@link EngineResult} into the LAFS envelope.
19
+ *
20
+ * Pure JSON file IO only — does NOT open SQLite (ADR-068 DB Open Guard
21
+ * preserved; the cascade resolver it calls is also SQLite-free).
22
+ *
23
+ * @packageDocumentation
24
+ * @module @cleocode/core/dispatch/config-domain-handler
25
+ *
26
+ * @task T11917 — config-as-domain (M5/AC3)
27
+ * @epic T11769 — EP-API-STANDARD-FOUNDATION
28
+ * @saga T9855 — ConfigManifest SSoT
29
+ * @adr 076
30
+ */
31
+ import { type EngineResult } from '@cleocode/contracts';
32
+ import { type ResolveScope, type ValidateScope } from '../config/registry.js';
33
+ /** Result of `config.get`. */
34
+ export interface ConfigGetResult {
35
+ /** The dot-notation key that was resolved. */
36
+ key: string;
37
+ /** Cascade slice the value was resolved against. */
38
+ scope: ResolveScope;
39
+ /** Resolved value, or `null` when the key is absent. */
40
+ value: unknown;
41
+ /** `true` IFF the key resolved to a defined value in the cascade. */
42
+ found: boolean;
43
+ }
44
+ /** Result of `config.list`. */
45
+ export interface ConfigListResult {
46
+ /** Cascade slice the config was resolved against. */
47
+ scope: ResolveScope;
48
+ /** Full resolved config object for the slice. */
49
+ config: Record<string, unknown>;
50
+ /** Flattened dot-notation keys present in the resolved config. */
51
+ keys: string[];
52
+ }
53
+ /** Result of `config.validate`. */
54
+ export interface ConfigValidateResult {
55
+ /** Scope that was validated. */
56
+ scope: ValidateScope;
57
+ /** `true` IFF every gate passed. */
58
+ ok: boolean;
59
+ /** Human-readable schema issues. Empty when `ok === true`. */
60
+ issues: string[];
61
+ }
62
+ /** Result of `config.unset`. */
63
+ export interface ConfigUnsetResult {
64
+ /** Config key that was targeted. */
65
+ key: string;
66
+ /** Scope the key was removed from. */
67
+ scope: 'project' | 'global';
68
+ /** `true` IFF a value was actually deleted. */
69
+ removed: boolean;
70
+ }
71
+ /**
72
+ * Routes the config-as-domain operations to the ConfigManifest cascade
73
+ * resolver. Stateless — construct once and reuse, or instantiate per call.
74
+ *
75
+ * @task T11917
76
+ */
77
+ export declare class ConfigDomainHandler {
78
+ /**
79
+ * `config.get` — resolve a single config value by dot-notation key through
80
+ * the cascade resolver ({@link getConfigValue}).
81
+ *
82
+ * @param projectRoot - Absolute path to the project root.
83
+ * @param key - Dot-notation config key (required).
84
+ * @param scopeRaw - Cascade slice (`global` | `project` | `merged`). Defaults
85
+ * to `merged`.
86
+ */
87
+ get(projectRoot: string, key: string | undefined, scopeRaw?: string): Promise<EngineResult<ConfigGetResult>>;
88
+ /**
89
+ * `config.list` — resolve the full config cascade for a slice and surface its
90
+ * flattened dot-notation keys ({@link resolveCleoConfig} +
91
+ * {@link flattenConfigKeys}).
92
+ *
93
+ * @param projectRoot - Absolute path to the project root.
94
+ * @param scopeRaw - Cascade slice. Defaults to `merged`.
95
+ */
96
+ list(projectRoot: string, scopeRaw?: string): Promise<EngineResult<ConfigListResult>>;
97
+ /**
98
+ * `config.validate` — schema-validate a scoped config file against its
99
+ * manifest entry's schema ({@link validateConfig}). A rejected file resolves
100
+ * to `{ ok: false, issues: [...] }` — it does NOT throw.
101
+ *
102
+ * @param projectRoot - Absolute path to the project root.
103
+ * @param scopeRaw - `global` | `project`. Defaults to `project`. `merged` is
104
+ * rejected — validation runs against a single file's manifest entry.
105
+ */
106
+ validate(projectRoot: string, scopeRaw?: string): Promise<EngineResult<ConfigValidateResult>>;
107
+ /**
108
+ * `config.unset` — remove a key from a scoped config file and persist the
109
+ * result ({@link unsetConfigValue}). Idempotent: removing an absent key is a
110
+ * success with `removed: false`.
111
+ *
112
+ * @param projectRoot - Absolute path to the project root.
113
+ * @param key - Dot-notation config key to remove (required).
114
+ * @param global - When `true`, target the global config file.
115
+ */
116
+ unset(projectRoot: string, key: string | undefined, global?: boolean): Promise<EngineResult<ConfigUnsetResult>>;
117
+ }
118
+ /**
119
+ * Shared singleton {@link ConfigDomainHandler}. The handler is stateless, so a
120
+ * single instance is reused across the process.
121
+ *
122
+ * @task T11917
123
+ */
124
+ export declare const configDomainHandler: ConfigDomainHandler;
125
+ //# sourceMappingURL=config-domain-handler.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config-domain-handler.d.ts","sourceRoot":"","sources":["../../src/dispatch/config-domain-handler.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AAEH,OAAO,EAAE,KAAK,YAAY,EAA8B,MAAM,qBAAqB,CAAC;AACpF,OAAO,EAGL,KAAK,YAAY,EAGjB,KAAK,aAAa,EAEnB,MAAM,uBAAuB,CAAC;AAE/B,8BAA8B;AAC9B,MAAM,WAAW,eAAe;IAC9B,8CAA8C;IAC9C,GAAG,EAAE,MAAM,CAAC;IACZ,oDAAoD;IACpD,KAAK,EAAE,YAAY,CAAC;IACpB,wDAAwD;IACxD,KAAK,EAAE,OAAO,CAAC;IACf,qEAAqE;IACrE,KAAK,EAAE,OAAO,CAAC;CAChB;AAED,+BAA+B;AAC/B,MAAM,WAAW,gBAAgB;IAC/B,qDAAqD;IACrD,KAAK,EAAE,YAAY,CAAC;IACpB,iDAAiD;IACjD,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAChC,kEAAkE;IAClE,IAAI,EAAE,MAAM,EAAE,CAAC;CAChB;AAED,mCAAmC;AACnC,MAAM,WAAW,oBAAoB;IACnC,gCAAgC;IAChC,KAAK,EAAE,aAAa,CAAC;IACrB,oCAAoC;IACpC,EAAE,EAAE,OAAO,CAAC;IACZ,8DAA8D;IAC9D,MAAM,EAAE,MAAM,EAAE,CAAC;CAClB;AAED,gCAAgC;AAChC,MAAM,WAAW,iBAAiB;IAChC,oCAAoC;IACpC,GAAG,EAAE,MAAM,CAAC;IACZ,sCAAsC;IACtC,KAAK,EAAE,SAAS,GAAG,QAAQ,CAAC;IAC5B,+CAA+C;IAC/C,OAAO,EAAE,OAAO,CAAC;CAClB;AA2BD;;;;;GAKG;AACH,qBAAa,mBAAmB;IAC9B;;;;;;;;OAQG;IACG,GAAG,CACP,WAAW,EAAE,MAAM,EACnB,GAAG,EAAE,MAAM,GAAG,SAAS,EACvB,QAAQ,CAAC,EAAE,MAAM,GAChB,OAAO,CAAC,YAAY,CAAC,eAAe,CAAC,CAAC;IAmBzC;;;;;;;OAOG;IACG,IAAI,CAAC,WAAW,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC,gBAAgB,CAAC,CAAC;IAgB3F;;;;;;;;OAQG;IACG,QAAQ,CACZ,WAAW,EAAE,MAAM,EACnB,QAAQ,CAAC,EAAE,MAAM,GAChB,OAAO,CAAC,YAAY,CAAC,oBAAoB,CAAC,CAAC;IAmB9C;;;;;;;;OAQG;IACG,KAAK,CACT,WAAW,EAAE,MAAM,EACnB,GAAG,EAAE,MAAM,GAAG,SAAS,EACvB,MAAM,CAAC,EAAE,OAAO,GACf,OAAO,CAAC,YAAY,CAAC,iBAAiB,CAAC,CAAC;CAW5C;AAED;;;;;GAKG;AACH,eAAO,MAAM,mBAAmB,qBAA4B,CAAC"}
@@ -0,0 +1,160 @@
1
+ /**
2
+ * ConfigDomainHandler — routes the config-as-domain operations to the
3
+ * `ConfigManifest` cascade resolver.
4
+ *
5
+ * This is the CORE-side routing surface for the four config-as-domain ops added
6
+ * in T11917 (`config.get`, `config.list`, `config.validate`, `config.unset`),
7
+ * plus the pre-existing `config.show` read. Every method delegates to the pure
8
+ * JSON cascade resolver in `../config/registry.js` (`resolveCleoConfig`,
9
+ * `getConfigValue`, `validateConfig`, `unsetConfigValue`) — the SSoT
10
+ * implementation of the {@link ConfigManifestEntry} contract from
11
+ * `@cleocode/contracts/config`.
12
+ *
13
+ * The handler lives in CORE (not the CLI `cleo/` dispatch layer) so the routing
14
+ * logic — and the cascade resolver it calls — is reusable by every consumer
15
+ * (CLI dispatch, the SDK gateway, REST clients) without crossing the
16
+ * package boundary back into `cleo/`. The thin `admin` DomainHandler in
17
+ * `packages/cleo/src/dispatch/domains/admin.ts` delegates its `config.*` ops to
18
+ * this class and wraps the {@link EngineResult} into the LAFS envelope.
19
+ *
20
+ * Pure JSON file IO only — does NOT open SQLite (ADR-068 DB Open Guard
21
+ * preserved; the cascade resolver it calls is also SQLite-free).
22
+ *
23
+ * @packageDocumentation
24
+ * @module @cleocode/core/dispatch/config-domain-handler
25
+ *
26
+ * @task T11917 — config-as-domain (M5/AC3)
27
+ * @epic T11769 — EP-API-STANDARD-FOUNDATION
28
+ * @saga T9855 — ConfigManifest SSoT
29
+ * @adr 076
30
+ */
31
+ import { engineError, engineSuccess } from '@cleocode/contracts';
32
+ import { flattenConfigKeys, getConfigValue, resolveCleoConfig, unsetConfigValue, validateConfig, } from '../config/registry.js';
33
+ /** Cascade slice selector accepted by `config.get` / `config.list`. */
34
+ const RESOLVE_SCOPES = ['global', 'project', 'merged'];
35
+ /** Scope selector accepted by `config.validate`. */
36
+ const VALIDATE_SCOPES = ['global', 'project'];
37
+ /**
38
+ * Narrow an untrusted scope string to a {@link ResolveScope}, defaulting to
39
+ * `'merged'`. Returns `null` when the string is non-empty but invalid so the
40
+ * caller can reject with `E_INVALID_INPUT`.
41
+ */
42
+ function coerceResolveScope(scope) {
43
+ if (scope === undefined)
44
+ return 'merged';
45
+ return RESOLVE_SCOPES.includes(scope) ? scope : null;
46
+ }
47
+ /**
48
+ * Narrow an untrusted scope string to a {@link ValidateScope}, defaulting to
49
+ * `'project'`. Returns `null` when the string is non-empty but invalid.
50
+ */
51
+ function coerceValidateScope(scope) {
52
+ if (scope === undefined)
53
+ return 'project';
54
+ return VALIDATE_SCOPES.includes(scope) ? scope : null;
55
+ }
56
+ /**
57
+ * Routes the config-as-domain operations to the ConfigManifest cascade
58
+ * resolver. Stateless — construct once and reuse, or instantiate per call.
59
+ *
60
+ * @task T11917
61
+ */
62
+ export class ConfigDomainHandler {
63
+ /**
64
+ * `config.get` — resolve a single config value by dot-notation key through
65
+ * the cascade resolver ({@link getConfigValue}).
66
+ *
67
+ * @param projectRoot - Absolute path to the project root.
68
+ * @param key - Dot-notation config key (required).
69
+ * @param scopeRaw - Cascade slice (`global` | `project` | `merged`). Defaults
70
+ * to `merged`.
71
+ */
72
+ async get(projectRoot, key, scopeRaw) {
73
+ if (!key) {
74
+ return engineError('E_INVALID_INPUT', 'key is required', { fix: 'cleo config get <key>' });
75
+ }
76
+ const scope = coerceResolveScope(scopeRaw);
77
+ if (scope === null) {
78
+ return engineError('E_INVALID_INPUT', `scope must be one of: ${RESOLVE_SCOPES.join(', ')}`);
79
+ }
80
+ try {
81
+ const value = await getConfigValue(key, { scope, projectRoot });
82
+ return engineSuccess({ key, scope, value: value ?? null, found: value !== undefined });
83
+ }
84
+ catch (err) {
85
+ return engineError('E_CONFIG_RESOLVE_FAILED', err instanceof Error ? err.message : String(err));
86
+ }
87
+ }
88
+ /**
89
+ * `config.list` — resolve the full config cascade for a slice and surface its
90
+ * flattened dot-notation keys ({@link resolveCleoConfig} +
91
+ * {@link flattenConfigKeys}).
92
+ *
93
+ * @param projectRoot - Absolute path to the project root.
94
+ * @param scopeRaw - Cascade slice. Defaults to `merged`.
95
+ */
96
+ async list(projectRoot, scopeRaw) {
97
+ const scope = coerceResolveScope(scopeRaw);
98
+ if (scope === null) {
99
+ return engineError('E_INVALID_INPUT', `scope must be one of: ${RESOLVE_SCOPES.join(', ')}`);
100
+ }
101
+ try {
102
+ const config = await resolveCleoConfig({ scope, projectRoot });
103
+ return engineSuccess({ scope, config, keys: flattenConfigKeys(config) });
104
+ }
105
+ catch (err) {
106
+ return engineError('E_CONFIG_RESOLVE_FAILED', err instanceof Error ? err.message : String(err));
107
+ }
108
+ }
109
+ /**
110
+ * `config.validate` — schema-validate a scoped config file against its
111
+ * manifest entry's schema ({@link validateConfig}). A rejected file resolves
112
+ * to `{ ok: false, issues: [...] }` — it does NOT throw.
113
+ *
114
+ * @param projectRoot - Absolute path to the project root.
115
+ * @param scopeRaw - `global` | `project`. Defaults to `project`. `merged` is
116
+ * rejected — validation runs against a single file's manifest entry.
117
+ */
118
+ async validate(projectRoot, scopeRaw) {
119
+ const scope = coerceValidateScope(scopeRaw);
120
+ if (scope === null) {
121
+ return engineError('E_INVALID_INPUT', `scope must be one of: ${VALIDATE_SCOPES.join(', ')} (merged is not validatable)`);
122
+ }
123
+ try {
124
+ const result = await validateConfig(scope, projectRoot);
125
+ return engineSuccess({ scope, ok: result.ok, issues: result.issues });
126
+ }
127
+ catch (err) {
128
+ return engineError('E_CONFIG_VALIDATE_FAILED', err instanceof Error ? err.message : String(err));
129
+ }
130
+ }
131
+ /**
132
+ * `config.unset` — remove a key from a scoped config file and persist the
133
+ * result ({@link unsetConfigValue}). Idempotent: removing an absent key is a
134
+ * success with `removed: false`.
135
+ *
136
+ * @param projectRoot - Absolute path to the project root.
137
+ * @param key - Dot-notation config key to remove (required).
138
+ * @param global - When `true`, target the global config file.
139
+ */
140
+ async unset(projectRoot, key, global) {
141
+ if (!key) {
142
+ return engineError('E_INVALID_INPUT', 'key is required', { fix: 'cleo config unset <key>' });
143
+ }
144
+ try {
145
+ const result = await unsetConfigValue(key, { projectRoot, global });
146
+ return engineSuccess({ key: result.key, scope: result.scope, removed: result.removed });
147
+ }
148
+ catch (err) {
149
+ return engineError('E_CONFIG_UNSET_FAILED', err instanceof Error ? err.message : String(err));
150
+ }
151
+ }
152
+ }
153
+ /**
154
+ * Shared singleton {@link ConfigDomainHandler}. The handler is stateless, so a
155
+ * single instance is reused across the process.
156
+ *
157
+ * @task T11917
158
+ */
159
+ export const configDomainHandler = new ConfigDomainHandler();
160
+ //# sourceMappingURL=config-domain-handler.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config-domain-handler.js","sourceRoot":"","sources":["../../src/dispatch/config-domain-handler.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AAEH,OAAO,EAAqB,WAAW,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpF,OAAO,EACL,iBAAiB,EACjB,cAAc,EAEd,iBAAiB,EACjB,gBAAgB,EAEhB,cAAc,GACf,MAAM,uBAAuB,CAAC;AA4C/B,uEAAuE;AACvE,MAAM,cAAc,GAA4B,CAAC,QAAQ,EAAE,SAAS,EAAE,QAAQ,CAAC,CAAC;AAEhF,oDAAoD;AACpD,MAAM,eAAe,GAA6B,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC;AAExE;;;;GAIG;AACH,SAAS,kBAAkB,CAAC,KAAyB;IACnD,IAAI,KAAK,KAAK,SAAS;QAAE,OAAO,QAAQ,CAAC;IACzC,OAAO,cAAc,CAAC,QAAQ,CAAC,KAAqB,CAAC,CAAC,CAAC,CAAE,KAAsB,CAAC,CAAC,CAAC,IAAI,CAAC;AACzF,CAAC;AAED;;;GAGG;AACH,SAAS,mBAAmB,CAAC,KAAyB;IACpD,IAAI,KAAK,KAAK,SAAS;QAAE,OAAO,SAAS,CAAC;IAC1C,OAAO,eAAe,CAAC,QAAQ,CAAC,KAAsB,CAAC,CAAC,CAAC,CAAE,KAAuB,CAAC,CAAC,CAAC,IAAI,CAAC;AAC5F,CAAC;AAED;;;;;GAKG;AACH,MAAM,OAAO,mBAAmB;IAC9B;;;;;;;;OAQG;IACH,KAAK,CAAC,GAAG,CACP,WAAmB,EACnB,GAAuB,EACvB,QAAiB;QAEjB,IAAI,CAAC,GAAG,EAAE,CAAC;YACT,OAAO,WAAW,CAAC,iBAAiB,EAAE,iBAAiB,EAAE,EAAE,GAAG,EAAE,uBAAuB,EAAE,CAAC,CAAC;QAC7F,CAAC;QACD,MAAM,KAAK,GAAG,kBAAkB,CAAC,QAAQ,CAAC,CAAC;QAC3C,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;YACnB,OAAO,WAAW,CAAC,iBAAiB,EAAE,yBAAyB,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAC9F,CAAC;QACD,IAAI,CAAC;YACH,MAAM,KAAK,GAAG,MAAM,cAAc,CAAC,GAAG,EAAE,EAAE,KAAK,EAAE,WAAW,EAAE,CAAC,CAAC;YAChE,OAAO,aAAa,CAAC,EAAE,GAAG,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,IAAI,IAAI,EAAE,KAAK,EAAE,KAAK,KAAK,SAAS,EAAE,CAAC,CAAC;QACzF,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,OAAO,WAAW,CAChB,yBAAyB,EACzB,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CACjD,CAAC;QACJ,CAAC;IACH,CAAC;IAED;;;;;;;OAOG;IACH,KAAK,CAAC,IAAI,CAAC,WAAmB,EAAE,QAAiB;QAC/C,MAAM,KAAK,GAAG,kBAAkB,CAAC,QAAQ,CAAC,CAAC;QAC3C,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;YACnB,OAAO,WAAW,CAAC,iBAAiB,EAAE,yBAAyB,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAC9F,CAAC;QACD,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,iBAAiB,CAAC,EAAE,KAAK,EAAE,WAAW,EAAE,CAAC,CAAC;YAC/D,OAAO,aAAa,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,iBAAiB,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;QAC3E,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,OAAO,WAAW,CAChB,yBAAyB,EACzB,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CACjD,CAAC;QACJ,CAAC;IACH,CAAC;IAED;;;;;;;;OAQG;IACH,KAAK,CAAC,QAAQ,CACZ,WAAmB,EACnB,QAAiB;QAEjB,MAAM,KAAK,GAAG,mBAAmB,CAAC,QAAQ,CAAC,CAAC;QAC5C,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;YACnB,OAAO,WAAW,CAChB,iBAAiB,EACjB,yBAAyB,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,8BAA8B,CAClF,CAAC;QACJ,CAAC;QACD,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,cAAc,CAAC,KAAK,EAAE,WAAW,CAAC,CAAC;YACxD,OAAO,aAAa,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,MAAM,CAAC,EAAE,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;QACxE,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,OAAO,WAAW,CAChB,0BAA0B,EAC1B,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CACjD,CAAC;QACJ,CAAC;IACH,CAAC;IAED;;;;;;;;OAQG;IACH,KAAK,CAAC,KAAK,CACT,WAAmB,EACnB,GAAuB,EACvB,MAAgB;QAEhB,IAAI,CAAC,GAAG,EAAE,CAAC;YACT,OAAO,WAAW,CAAC,iBAAiB,EAAE,iBAAiB,EAAE,EAAE,GAAG,EAAE,yBAAyB,EAAE,CAAC,CAAC;QAC/F,CAAC;QACD,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,gBAAgB,CAAC,GAAG,EAAE,EAAE,WAAW,EAAE,MAAM,EAAE,CAAC,CAAC;YACpE,OAAO,aAAa,CAAC,EAAE,GAAG,EAAE,MAAM,CAAC,GAAG,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE,OAAO,EAAE,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC;QAC1F,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,OAAO,WAAW,CAAC,uBAAuB,EAAE,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC;QAChG,CAAC;IACH,CAAC;CACF;AAED;;;;;GAKG;AACH,MAAM,CAAC,MAAM,mBAAmB,GAAG,IAAI,mBAAmB,EAAE,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"input-contracts.d.ts","sourceRoot":"","sources":["../../../src/dispatch/contracts/input-contracts.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AAEH,OAAO,EACL,KAAK,sBAAsB,EAC3B,KAAK,8BAA8B,EAIpC,MAAM,qBAAqB,CAAC;AAE7B;;;;;;;;;;;;;;;;;;GAkBG;AACH,eAAO,MAAM,eAAe,EAAE,8BAI7B,CAAC;AAEF;;;;;;;;;;;;GAYG;AACH,wBAAgB,gBAAgB,CAAC,SAAS,EAAE,MAAM,GAAG,sBAAsB,CAAC,OAAO,CAAC,GAAG,IAAI,CAE1F"}
1
+ {"version":3,"file":"input-contracts.d.ts","sourceRoot":"","sources":["../../../src/dispatch/contracts/input-contracts.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AAEH,OAAO,EAML,KAAK,sBAAsB,EAC3B,KAAK,8BAA8B,EAepC,MAAM,qBAAqB,CAAC;AAE7B;;;;;;;;;;;;;;;;;;GAkBG;AACH,eAAO,MAAM,eAAe,EAAE,8BAsB7B,CAAC;AAEF;;;;;;;;;;;;GAYG;AACH,wBAAgB,gBAAgB,CAAC,SAAS,EAAE,MAAM,GAAG,sBAAsB,CAAC,OAAO,CAAC,GAAG,IAAI,CAE1F"}
@@ -26,7 +26,7 @@
26
26
  * @task T9918 — original seed entry + getInputContract accessor
27
27
  * @task T9917 — tasks.add + tasks.update extension; schemas moved to contracts
28
28
  */
29
- import { tasksAddBatchInputContract, tasksAddInputContract, tasksUpdateInputContract, } from '@cleocode/contracts';
29
+ import { accountAddInputContract, accountListInputContract, accountRemoveInputContract, modelQueryInputContract, modelShowInputContract, profileCreateInputContract, profileListInputContract, profilePinInputContract, profileUseInputContract, providerConnectInputContract, providerListInputContract, providerShowInputContract, serviceConnectInputContract, serviceListInputContract, serviceRevokeInputContract, serviceStatusInputContract, tasksAddBatchInputContract, tasksAddInputContract, tasksUpdateInputContract, } from '@cleocode/contracts';
30
30
  /**
31
31
  * Registry of every {@link OperationInputContract} known to the CLEO
32
32
  * runtime, keyed by the contract's `operation` identifier.
@@ -50,6 +50,24 @@ export const INPUT_CONTRACTS = {
50
50
  'tasks.add': tasksAddInputContract,
51
51
  'tasks.add-batch': tasksAddBatchInputContract,
52
52
  'tasks.update': tasksUpdateInputContract,
53
+ // service-vault CLI verbs (T11941 · epic T11765 · M2-W4)
54
+ 'service.connect': serviceConnectInputContract,
55
+ 'service.list': serviceListInputContract,
56
+ 'service.revoke': serviceRevokeInputContract,
57
+ 'service.status': serviceStatusInputContract,
58
+ // 5-entity provider-experience ops (T11700 · epic T11666)
59
+ 'account.add': accountAddInputContract,
60
+ 'account.list': accountListInputContract,
61
+ 'account.remove': accountRemoveInputContract,
62
+ 'provider.list': providerListInputContract,
63
+ 'provider.show': providerShowInputContract,
64
+ 'provider.connect': providerConnectInputContract,
65
+ 'model.query': modelQueryInputContract,
66
+ 'model.show': modelShowInputContract,
67
+ 'profile.create': profileCreateInputContract,
68
+ 'profile.list': profileListInputContract,
69
+ 'profile.pin': profilePinInputContract,
70
+ 'profile.use': profileUseInputContract,
53
71
  };
54
72
  /**
55
73
  * Resolve the {@link OperationInputContract} for an operation id, or
@@ -1 +1 @@
1
- {"version":3,"file":"input-contracts.js","sourceRoot":"","sources":["../../../src/dispatch/contracts/input-contracts.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AAEH,OAAO,EAGL,0BAA0B,EAC1B,qBAAqB,EACrB,wBAAwB,GACzB,MAAM,qBAAqB,CAAC;AAE7B;;;;;;;;;;;;;;;;;;GAkBG;AACH,MAAM,CAAC,MAAM,eAAe,GAAmC;IAC7D,WAAW,EAAE,qBAAqB;IAClC,iBAAiB,EAAE,0BAA0B;IAC7C,cAAc,EAAE,wBAAwB;CACzC,CAAC;AAEF;;;;;;;;;;;;GAYG;AACH,MAAM,UAAU,gBAAgB,CAAC,SAAiB;IAChD,OAAO,eAAe,CAAC,SAAS,CAAC,IAAI,IAAI,CAAC;AAC5C,CAAC"}
1
+ {"version":3,"file":"input-contracts.js","sourceRoot":"","sources":["../../../src/dispatch/contracts/input-contracts.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AAEH,OAAO,EACL,uBAAuB,EACvB,wBAAwB,EACxB,0BAA0B,EAC1B,uBAAuB,EACvB,sBAAsB,EAGtB,0BAA0B,EAC1B,wBAAwB,EACxB,uBAAuB,EACvB,uBAAuB,EACvB,4BAA4B,EAC5B,yBAAyB,EACzB,yBAAyB,EACzB,2BAA2B,EAC3B,wBAAwB,EACxB,0BAA0B,EAC1B,0BAA0B,EAC1B,0BAA0B,EAC1B,qBAAqB,EACrB,wBAAwB,GACzB,MAAM,qBAAqB,CAAC;AAE7B;;;;;;;;;;;;;;;;;;GAkBG;AACH,MAAM,CAAC,MAAM,eAAe,GAAmC;IAC7D,WAAW,EAAE,qBAAqB;IAClC,iBAAiB,EAAE,0BAA0B;IAC7C,cAAc,EAAE,wBAAwB;IACxC,yDAAyD;IACzD,iBAAiB,EAAE,2BAA2B;IAC9C,cAAc,EAAE,wBAAwB;IACxC,gBAAgB,EAAE,0BAA0B;IAC5C,gBAAgB,EAAE,0BAA0B;IAC5C,0DAA0D;IAC1D,aAAa,EAAE,uBAAuB;IACtC,cAAc,EAAE,wBAAwB;IACxC,gBAAgB,EAAE,0BAA0B;IAC5C,eAAe,EAAE,yBAAyB;IAC1C,eAAe,EAAE,yBAAyB;IAC1C,kBAAkB,EAAE,4BAA4B;IAChD,aAAa,EAAE,uBAAuB;IACtC,YAAY,EAAE,sBAAsB;IACpC,gBAAgB,EAAE,0BAA0B;IAC5C,cAAc,EAAE,wBAAwB;IACxC,aAAa,EAAE,uBAAuB;IACtC,aAAa,EAAE,uBAAuB;CACvC,CAAC;AAEF;;;;;;;;;;;;GAYG;AACH,MAAM,UAAU,gBAAgB,CAAC,SAAiB;IAChD,OAAO,eAAe,CAAC,SAAS,CAAC,IAAI,IAAI,CAAC;AAC5C,CAAC"}