@cleocode/core 2026.6.13 → 2026.6.14

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 (392) 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 +179 -0
  8. package/dist/check/pr-gate.d.ts.map +1 -0
  9. package/dist/check/pr-gate.js +366 -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/registry.d.ts +54 -0
  24. package/dist/config/registry.d.ts.map +1 -1
  25. package/dist/config/registry.js +94 -2
  26. package/dist/config/registry.js.map +1 -1
  27. package/dist/deriver/queue-manager.d.ts +30 -2
  28. package/dist/deriver/queue-manager.d.ts.map +1 -1
  29. package/dist/deriver/queue-manager.js +54 -9
  30. package/dist/deriver/queue-manager.js.map +1 -1
  31. package/dist/dispatch/config-domain-handler.d.ts +125 -0
  32. package/dist/dispatch/config-domain-handler.d.ts.map +1 -0
  33. package/dist/dispatch/config-domain-handler.js +160 -0
  34. package/dist/dispatch/config-domain-handler.js.map +1 -0
  35. package/dist/dispatch/contracts/input-contracts.d.ts.map +1 -1
  36. package/dist/dispatch/contracts/input-contracts.js +19 -1
  37. package/dist/dispatch/contracts/input-contracts.js.map +1 -1
  38. package/dist/docs/export-document.js +3704 -680
  39. package/dist/docs/export-document.js.map +3 -3
  40. package/dist/gateway-client/client.d.ts +123 -0
  41. package/dist/gateway-client/client.d.ts.map +1 -0
  42. package/dist/gateway-client/client.js +93 -0
  43. package/dist/gateway-client/client.js.map +1 -0
  44. package/dist/gateway-client/generated/client/client.gen.d.ts +3 -0
  45. package/dist/gateway-client/generated/client/client.gen.d.ts.map +1 -0
  46. package/dist/gateway-client/generated/client/client.gen.js +217 -0
  47. package/dist/gateway-client/generated/client/client.gen.js.map +1 -0
  48. package/dist/gateway-client/generated/client/index.d.ts +11 -0
  49. package/dist/gateway-client/generated/client/index.d.ts.map +1 -0
  50. package/dist/gateway-client/generated/client/index.js +7 -0
  51. package/dist/gateway-client/generated/client/index.js.map +1 -0
  52. package/dist/gateway-client/generated/client/types.gen.d.ts +121 -0
  53. package/dist/gateway-client/generated/client/types.gen.d.ts.map +1 -0
  54. package/dist/gateway-client/generated/client/types.gen.js +3 -0
  55. package/dist/gateway-client/generated/client/types.gen.js.map +1 -0
  56. package/dist/gateway-client/generated/client/utils.gen.d.ts +38 -0
  57. package/dist/gateway-client/generated/client/utils.gen.d.ts.map +1 -0
  58. package/dist/gateway-client/generated/client/utils.gen.js +229 -0
  59. package/dist/gateway-client/generated/client/utils.gen.js.map +1 -0
  60. package/dist/gateway-client/generated/client.gen.d.ts +13 -0
  61. package/dist/gateway-client/generated/client.gen.d.ts.map +1 -0
  62. package/dist/gateway-client/generated/client.gen.js +4 -0
  63. package/dist/gateway-client/generated/client.gen.js.map +1 -0
  64. package/dist/gateway-client/generated/core/auth.gen.d.ts +26 -0
  65. package/dist/gateway-client/generated/core/auth.gen.d.ts.map +1 -0
  66. package/dist/gateway-client/generated/core/auth.gen.js +15 -0
  67. package/dist/gateway-client/generated/core/auth.gen.js.map +1 -0
  68. package/dist/gateway-client/generated/core/bodySerializer.gen.d.ts +26 -0
  69. package/dist/gateway-client/generated/core/bodySerializer.gen.d.ts.map +1 -0
  70. package/dist/gateway-client/generated/core/bodySerializer.gen.js +58 -0
  71. package/dist/gateway-client/generated/core/bodySerializer.gen.js.map +1 -0
  72. package/dist/gateway-client/generated/core/params.gen.d.ts +44 -0
  73. package/dist/gateway-client/generated/core/params.gen.d.ts.map +1 -0
  74. package/dist/gateway-client/generated/core/params.gen.js +101 -0
  75. package/dist/gateway-client/generated/core/params.gen.js.map +1 -0
  76. package/dist/gateway-client/generated/core/pathSerializer.gen.d.ts +34 -0
  77. package/dist/gateway-client/generated/core/pathSerializer.gen.d.ts.map +1 -0
  78. package/dist/gateway-client/generated/core/pathSerializer.gen.js +107 -0
  79. package/dist/gateway-client/generated/core/pathSerializer.gen.js.map +1 -0
  80. package/dist/gateway-client/generated/core/queryKeySerializer.gen.d.ts +19 -0
  81. package/dist/gateway-client/generated/core/queryKeySerializer.gen.d.ts.map +1 -0
  82. package/dist/gateway-client/generated/core/queryKeySerializer.gen.js +93 -0
  83. package/dist/gateway-client/generated/core/queryKeySerializer.gen.js.map +1 -0
  84. package/dist/gateway-client/generated/core/serverSentEvents.gen.d.ts +72 -0
  85. package/dist/gateway-client/generated/core/serverSentEvents.gen.d.ts.map +1 -0
  86. package/dist/gateway-client/generated/core/serverSentEvents.gen.js +133 -0
  87. package/dist/gateway-client/generated/core/serverSentEvents.gen.js.map +1 -0
  88. package/dist/gateway-client/generated/core/types.gen.d.ts +84 -0
  89. package/dist/gateway-client/generated/core/types.gen.d.ts.map +1 -0
  90. package/dist/gateway-client/generated/core/types.gen.js +3 -0
  91. package/dist/gateway-client/generated/core/types.gen.js.map +1 -0
  92. package/dist/gateway-client/generated/core/utils.gen.d.ts +20 -0
  93. package/dist/gateway-client/generated/core/utils.gen.d.ts.map +1 -0
  94. package/dist/gateway-client/generated/core/utils.gen.js +88 -0
  95. package/dist/gateway-client/generated/core/utils.gen.js.map +1 -0
  96. package/dist/gateway-client/generated/index.d.ts +3 -0
  97. package/dist/gateway-client/generated/index.d.ts.map +1 -0
  98. package/dist/gateway-client/generated/index.js +3 -0
  99. package/dist/gateway-client/generated/index.js.map +1 -0
  100. package/dist/gateway-client/generated/namespaces.gen.d.ts +512 -0
  101. package/dist/gateway-client/generated/namespaces.gen.d.ts.map +1 -0
  102. package/dist/gateway-client/generated/namespaces.gen.js +521 -0
  103. package/dist/gateway-client/generated/namespaces.gen.js.map +1 -0
  104. package/dist/gateway-client/generated/sdk.gen.d.ts +1780 -0
  105. package/dist/gateway-client/generated/sdk.gen.d.ts.map +1 -0
  106. package/dist/gateway-client/generated/sdk.gen.js +3811 -0
  107. package/dist/gateway-client/generated/sdk.gen.js.map +1 -0
  108. package/dist/gateway-client/generated/types.gen.d.ts +14681 -0
  109. package/dist/gateway-client/generated/types.gen.d.ts.map +1 -0
  110. package/dist/gateway-client/generated/types.gen.js +3 -0
  111. package/dist/gateway-client/generated/types.gen.js.map +1 -0
  112. package/dist/gateway-client/index.d.ts +27 -0
  113. package/dist/gateway-client/index.d.ts.map +1 -0
  114. package/dist/gateway-client/index.js +25 -0
  115. package/dist/gateway-client/index.js.map +1 -0
  116. package/dist/index.d.ts +10 -0
  117. package/dist/index.d.ts.map +1 -1
  118. package/dist/index.js +20 -0
  119. package/dist/index.js.map +1 -1
  120. package/dist/init.d.ts.map +1 -1
  121. package/dist/init.js +28 -0
  122. package/dist/init.js.map +1 -1
  123. package/dist/internal.d.ts +10 -1
  124. package/dist/internal.d.ts.map +1 -1
  125. package/dist/internal.js +18 -1
  126. package/dist/internal.js.map +1 -1
  127. package/dist/llm/catalog-model-resolver.d.ts +19 -0
  128. package/dist/llm/catalog-model-resolver.d.ts.map +1 -1
  129. package/dist/llm/catalog-model-resolver.js +36 -0
  130. package/dist/llm/catalog-model-resolver.js.map +1 -1
  131. package/dist/llm/catalog-resolver.d.ts +112 -0
  132. package/dist/llm/catalog-resolver.d.ts.map +1 -0
  133. package/dist/llm/catalog-resolver.js +207 -0
  134. package/dist/llm/catalog-resolver.js.map +1 -0
  135. package/dist/llm/catalog-seeder.d.ts +96 -0
  136. package/dist/llm/catalog-seeder.d.ts.map +1 -0
  137. package/dist/llm/catalog-seeder.js +189 -0
  138. package/dist/llm/catalog-seeder.js.map +1 -0
  139. package/dist/llm/cli-ops.js +5 -5
  140. package/dist/llm/cli-ops.js.map +1 -1
  141. package/dist/llm/complexity-classifier.d.ts +208 -0
  142. package/dist/llm/complexity-classifier.d.ts.map +1 -0
  143. package/dist/llm/complexity-classifier.js +359 -0
  144. package/dist/llm/complexity-classifier.js.map +1 -0
  145. package/dist/llm/credential-pool.d.ts +2 -0
  146. package/dist/llm/credential-pool.d.ts.map +1 -1
  147. package/dist/llm/credential-pool.js +5 -2
  148. package/dist/llm/credential-pool.js.map +1 -1
  149. package/dist/llm/credentials-store.d.ts +10 -14
  150. package/dist/llm/credentials-store.d.ts.map +1 -1
  151. package/dist/llm/credentials-store.js.map +1 -1
  152. package/dist/llm/entity-ops.d.ts +299 -0
  153. package/dist/llm/entity-ops.d.ts.map +1 -0
  154. package/dist/llm/entity-ops.js +441 -0
  155. package/dist/llm/entity-ops.js.map +1 -0
  156. package/dist/llm/index.d.ts +15 -0
  157. package/dist/llm/index.d.ts.map +1 -1
  158. package/dist/llm/index.js +8 -0
  159. package/dist/llm/index.js.map +1 -1
  160. package/dist/llm/llm-queue-admit.d.ts +118 -0
  161. package/dist/llm/llm-queue-admit.d.ts.map +1 -0
  162. package/dist/llm/llm-queue-admit.js +275 -0
  163. package/dist/llm/llm-queue-admit.js.map +1 -0
  164. package/dist/llm/oauth/device-code.d.ts.map +1 -1
  165. package/dist/llm/oauth/device-code.js +2 -8
  166. package/dist/llm/oauth/device-code.js.map +1 -1
  167. package/dist/llm/oauth/google-pkce.d.ts.map +1 -1
  168. package/dist/llm/oauth/google-pkce.js +2 -18
  169. package/dist/llm/oauth/google-pkce.js.map +1 -1
  170. package/dist/llm/oauth/pkce.d.ts +70 -0
  171. package/dist/llm/oauth/pkce.d.ts.map +1 -1
  172. package/dist/llm/oauth/pkce.js +106 -29
  173. package/dist/llm/oauth/pkce.js.map +1 -1
  174. package/dist/llm/onboarding/front-door.d.ts +146 -0
  175. package/dist/llm/onboarding/front-door.d.ts.map +1 -0
  176. package/dist/llm/onboarding/front-door.js +153 -0
  177. package/dist/llm/onboarding/front-door.js.map +1 -0
  178. package/dist/llm/onboarding/login-engine.d.ts +175 -0
  179. package/dist/llm/onboarding/login-engine.d.ts.map +1 -0
  180. package/dist/llm/onboarding/login-engine.js +286 -0
  181. package/dist/llm/onboarding/login-engine.js.map +1 -0
  182. package/dist/llm/pi/pi-gondolin-env.d.ts +23 -0
  183. package/dist/llm/pi/pi-gondolin-env.d.ts.map +1 -1
  184. package/dist/llm/pi/pi-gondolin-env.js +2 -2
  185. package/dist/llm/pi/pi-gondolin-env.js.map +1 -1
  186. package/dist/llm/plugin-facade.js +3853 -814
  187. package/dist/llm/plugin-facade.js.map +3 -3
  188. package/dist/llm/provider-registry/builtin/anthropic.d.ts.map +1 -1
  189. package/dist/llm/provider-registry/builtin/anthropic.js +23 -10
  190. package/dist/llm/provider-registry/builtin/anthropic.js.map +1 -1
  191. package/dist/llm/provider-registry/provider-alias.d.ts +62 -0
  192. package/dist/llm/provider-registry/provider-alias.d.ts.map +1 -0
  193. package/dist/llm/provider-registry/provider-alias.js +85 -0
  194. package/dist/llm/provider-registry/provider-alias.js.map +1 -0
  195. package/dist/llm/provider-registry/provider-defs.d.ts +45 -0
  196. package/dist/llm/provider-registry/provider-defs.d.ts.map +1 -0
  197. package/dist/llm/provider-registry/provider-defs.js +145 -0
  198. package/dist/llm/provider-registry/provider-defs.js.map +1 -0
  199. package/dist/llm/provider-registry/provider-seed.d.ts +78 -0
  200. package/dist/llm/provider-registry/provider-seed.d.ts.map +1 -0
  201. package/dist/llm/provider-registry/provider-seed.js +113 -0
  202. package/dist/llm/provider-registry/provider-seed.js.map +1 -0
  203. package/dist/llm/role-executor.d.ts.map +1 -1
  204. package/dist/llm/role-executor.js +36 -0
  205. package/dist/llm/role-executor.js.map +1 -1
  206. package/dist/llm/role-resolver.d.ts.map +1 -1
  207. package/dist/llm/role-resolver.js +9 -2
  208. package/dist/llm/role-resolver.js.map +1 -1
  209. package/dist/llm/system-resolver.d.ts.map +1 -1
  210. package/dist/llm/system-resolver.js +73 -22
  211. package/dist/llm/system-resolver.js.map +1 -1
  212. package/dist/memory/learnings.d.ts +4 -0
  213. package/dist/memory/learnings.d.ts.map +1 -1
  214. package/dist/memory/patterns.d.ts +4 -0
  215. package/dist/memory/patterns.d.ts.map +1 -1
  216. package/dist/metrics/index.d.ts +2 -0
  217. package/dist/metrics/index.d.ts.map +1 -1
  218. package/dist/metrics/index.js +1 -0
  219. package/dist/metrics/index.js.map +1 -1
  220. package/dist/orchestration/spawn.d.ts +89 -0
  221. package/dist/orchestration/spawn.d.ts.map +1 -1
  222. package/dist/orchestration/spawn.js +68 -0
  223. package/dist/orchestration/spawn.js.map +1 -1
  224. package/dist/playbooks/cantbook-profile.d.ts +96 -0
  225. package/dist/playbooks/cantbook-profile.d.ts.map +1 -0
  226. package/dist/playbooks/cantbook-profile.js +97 -0
  227. package/dist/playbooks/cantbook-profile.js.map +1 -0
  228. package/dist/playbooks/guarded-deterministic-runner.d.ts +153 -0
  229. package/dist/playbooks/guarded-deterministic-runner.d.ts.map +1 -0
  230. package/dist/playbooks/guarded-deterministic-runner.js +155 -0
  231. package/dist/playbooks/guarded-deterministic-runner.js.map +1 -0
  232. package/dist/playbooks/index.d.ts +2 -0
  233. package/dist/playbooks/index.d.ts.map +1 -1
  234. package/dist/playbooks/index.js +10 -0
  235. package/dist/playbooks/index.js.map +1 -1
  236. package/dist/playbooks/pi-runner-wiring.d.ts +75 -0
  237. package/dist/playbooks/pi-runner-wiring.d.ts.map +1 -0
  238. package/dist/playbooks/pi-runner-wiring.js +82 -0
  239. package/dist/playbooks/pi-runner-wiring.js.map +1 -0
  240. package/dist/runtime/openapi/generate-openapi.d.ts +211 -0
  241. package/dist/runtime/openapi/generate-openapi.d.ts.map +1 -0
  242. package/dist/runtime/openapi/generate-openapi.js +300 -0
  243. package/dist/runtime/openapi/generate-openapi.js.map +1 -0
  244. package/dist/runtime/openapi/index.d.ts +16 -0
  245. package/dist/runtime/openapi/index.d.ts.map +1 -0
  246. package/dist/runtime/openapi/index.js +16 -0
  247. package/dist/runtime/openapi/index.js.map +1 -0
  248. package/dist/selfimprove/scenarios/dhq-replay-find/golden.json +32 -0
  249. package/dist/selfimprove/scenarios/dhq-replay-find/scenario.json +18 -0
  250. package/dist/setup/config-json-merge.d.ts.map +1 -1
  251. package/dist/setup/config-json-merge.js +14 -0
  252. package/dist/setup/config-json-merge.js.map +1 -1
  253. package/dist/setup/index.d.ts +23 -11
  254. package/dist/setup/index.d.ts.map +1 -1
  255. package/dist/setup/index.js +25 -12
  256. package/dist/setup/index.js.map +1 -1
  257. package/dist/setup/sections/llm.d.ts +28 -1
  258. package/dist/setup/sections/llm.d.ts.map +1 -1
  259. package/dist/setup/sections/llm.js +27 -6
  260. package/dist/setup/sections/llm.js.map +1 -1
  261. package/dist/setup/sections/models-roles.d.ts +40 -0
  262. package/dist/setup/sections/models-roles.d.ts.map +1 -0
  263. package/dist/setup/sections/models-roles.js +219 -0
  264. package/dist/setup/sections/models-roles.js.map +1 -0
  265. package/dist/setup/wizard.d.ts +19 -1
  266. package/dist/setup/wizard.d.ts.map +1 -1
  267. package/dist/setup/wizard.js.map +1 -1
  268. package/dist/store/schedule-schema.d.ts +195 -0
  269. package/dist/store/schedule-schema.d.ts.map +1 -0
  270. package/dist/store/schedule-schema.js +84 -0
  271. package/dist/store/schedule-schema.js.map +1 -0
  272. package/dist/store/schedule-store.d.ts +144 -0
  273. package/dist/store/schedule-store.d.ts.map +1 -0
  274. package/dist/store/schedule-store.js +162 -0
  275. package/dist/store/schedule-store.js.map +1 -0
  276. package/dist/store/schema/attachments.d.ts +1 -1
  277. package/dist/store/schema/cleo-global/index.d.ts +3 -0
  278. package/dist/store/schema/cleo-global/index.d.ts.map +1 -1
  279. package/dist/store/schema/cleo-global/index.js +5 -0
  280. package/dist/store/schema/cleo-global/index.js.map +1 -1
  281. package/dist/store/schema/cleo-global/models-catalog.d.ts +359 -0
  282. package/dist/store/schema/cleo-global/models-catalog.d.ts.map +1 -0
  283. package/dist/store/schema/cleo-global/models-catalog.js +114 -0
  284. package/dist/store/schema/cleo-global/models-catalog.js.map +1 -0
  285. package/dist/store/schema/cleo-global/providers.d.ts +279 -0
  286. package/dist/store/schema/cleo-global/providers.d.ts.map +1 -0
  287. package/dist/store/schema/cleo-global/providers.js +94 -0
  288. package/dist/store/schema/cleo-global/providers.js.map +1 -0
  289. package/dist/store/schema/cleo-global/services.d.ts +493 -0
  290. package/dist/store/schema/cleo-global/services.d.ts.map +1 -0
  291. package/dist/store/schema/cleo-global/services.js +200 -0
  292. package/dist/store/schema/cleo-global/services.js.map +1 -0
  293. package/dist/store/schema/cleo-project/docs.d.ts +1 -1
  294. package/dist/store/schema/cleo-project/provenance-rest.d.ts +1 -1
  295. package/dist/store/schema/cleo-shared/brain.d.ts +2 -2
  296. package/dist/store/schema/memory-schema.d.ts +182 -2
  297. package/dist/store/schema/memory-schema.d.ts.map +1 -1
  298. package/dist/store/schema/memory-schema.js +111 -2
  299. package/dist/store/schema/memory-schema.js.map +1 -1
  300. package/dist/store/schema/provenance/releases.d.ts +1 -1
  301. package/dist/store/service-connections-accessor.d.ts +313 -0
  302. package/dist/store/service-connections-accessor.d.ts.map +1 -0
  303. package/dist/store/service-connections-accessor.js +464 -0
  304. package/dist/store/service-connections-accessor.js.map +1 -0
  305. package/dist/store/service-host-matcher.d.ts +70 -0
  306. package/dist/store/service-host-matcher.d.ts.map +1 -0
  307. package/dist/store/service-host-matcher.js +127 -0
  308. package/dist/store/service-host-matcher.js.map +1 -0
  309. package/dist/store/service-injection.d.ts +152 -0
  310. package/dist/store/service-injection.d.ts.map +1 -0
  311. package/dist/store/service-injection.js +225 -0
  312. package/dist/store/service-injection.js.map +1 -0
  313. package/dist/store/service-oauth.d.ts +287 -0
  314. package/dist/store/service-oauth.d.ts.map +1 -0
  315. package/dist/store/service-oauth.js +524 -0
  316. package/dist/store/service-oauth.js.map +1 -0
  317. package/dist/store/service-trust-gate.d.ts +164 -0
  318. package/dist/store/service-trust-gate.d.ts.map +1 -0
  319. package/dist/store/service-trust-gate.js +122 -0
  320. package/dist/store/service-trust-gate.js.map +1 -0
  321. package/dist/store/validation-schemas.d.ts +4 -4
  322. package/dist/tasks/agent-lifecycle-lane.d.ts +175 -0
  323. package/dist/tasks/agent-lifecycle-lane.d.ts.map +1 -0
  324. package/dist/tasks/agent-lifecycle-lane.js +176 -0
  325. package/dist/tasks/agent-lifecycle-lane.js.map +1 -0
  326. package/dist/tasks/complete.d.ts +17 -0
  327. package/dist/tasks/complete.d.ts.map +1 -1
  328. package/dist/tasks/complete.js +53 -10
  329. package/dist/tasks/complete.js.map +1 -1
  330. package/dist/tasks/depends-waiver-audit.d.ts +52 -0
  331. package/dist/tasks/depends-waiver-audit.d.ts.map +1 -0
  332. package/dist/tasks/depends-waiver-audit.js +36 -0
  333. package/dist/tasks/depends-waiver-audit.js.map +1 -0
  334. package/dist/tasks/engine-wrap.d.ts +36 -2
  335. package/dist/tasks/engine-wrap.d.ts.map +1 -1
  336. package/dist/tasks/engine-wrap.js +44 -2
  337. package/dist/tasks/engine-wrap.js.map +1 -1
  338. package/dist/tasks/index.d.ts +1 -0
  339. package/dist/tasks/index.d.ts.map +1 -1
  340. package/dist/tasks/index.js +1 -0
  341. package/dist/tasks/index.js.map +1 -1
  342. package/dist/tasks/ops.d.ts +3 -0
  343. package/dist/tasks/ops.d.ts.map +1 -1
  344. package/dist/tasks/task-ops.d.ts +1 -1
  345. package/dist/tasks/task-ops.d.ts.map +1 -1
  346. package/dist/tasks/task-ops.js +3 -1
  347. package/dist/tasks/task-ops.js.map +1 -1
  348. package/dist/tasks/task-reparent.d.ts +90 -0
  349. package/dist/tasks/task-reparent.d.ts.map +1 -1
  350. package/dist/tasks/task-reparent.js +171 -0
  351. package/dist/tasks/task-reparent.js.map +1 -1
  352. package/dist/tools/builtin-agent-tools.d.ts.map +1 -1
  353. package/dist/tools/builtin-agent-tools.js +41 -0
  354. package/dist/tools/builtin-agent-tools.js.map +1 -1
  355. package/dist/tools/exec-code-agent-tool.d.ts +179 -0
  356. package/dist/tools/exec-code-agent-tool.d.ts.map +1 -0
  357. package/dist/tools/exec-code-agent-tool.js +239 -0
  358. package/dist/tools/exec-code-agent-tool.js.map +1 -0
  359. package/dist/tools/index.d.ts +6 -0
  360. package/dist/tools/index.d.ts.map +1 -1
  361. package/dist/tools/index.js +15 -0
  362. package/dist/tools/index.js.map +1 -1
  363. package/dist/tools/mcp-agent-tool.d.ts +189 -0
  364. package/dist/tools/mcp-agent-tool.d.ts.map +1 -0
  365. package/dist/tools/mcp-agent-tool.js +243 -0
  366. package/dist/tools/mcp-agent-tool.js.map +1 -0
  367. package/dist/tools/media-agent-tools.d.ts +105 -0
  368. package/dist/tools/media-agent-tools.d.ts.map +1 -0
  369. package/dist/tools/media-agent-tools.js +255 -0
  370. package/dist/tools/media-agent-tools.js.map +1 -0
  371. package/dist/tools/memory-agent-tools.d.ts +99 -0
  372. package/dist/tools/memory-agent-tools.d.ts.map +1 -0
  373. package/dist/tools/memory-agent-tools.js +190 -0
  374. package/dist/tools/memory-agent-tools.js.map +1 -0
  375. package/dist/tools/schedule-agent-tools.d.ts +151 -0
  376. package/dist/tools/schedule-agent-tools.d.ts.map +1 -0
  377. package/dist/tools/schedule-agent-tools.js +238 -0
  378. package/dist/tools/schedule-agent-tools.js.map +1 -0
  379. package/dist/tools/skill-agent-tool.d.ts +108 -0
  380. package/dist/tools/skill-agent-tool.d.ts.map +1 -0
  381. package/dist/tools/skill-agent-tool.js +135 -0
  382. package/dist/tools/skill-agent-tool.js.map +1 -0
  383. package/dist/validation/engine-ops.d.ts.map +1 -1
  384. package/dist/validation/engine-ops.js +17 -1
  385. package/dist/validation/engine-ops.js.map +1 -1
  386. package/migrations/drizzle-brain/20260610000001_t10405-bitemporal-network-columns/migration.sql +71 -0
  387. package/migrations/drizzle-cleo-global/20260609000000_t11937-service-vault/migration.sql +93 -0
  388. package/migrations/drizzle-cleo-global/20260609010000_t11733-models-catalog/migration.sql +65 -0
  389. package/migrations/drizzle-cleo-global/20260609020000_t11703-providers/migration.sql +52 -0
  390. package/migrations/drizzle-cleo-global/20260610000000_t11962-schedules/migration.sql +48 -0
  391. package/migrations/drizzle-cleo-project/20260610000000_t11962-schedules/migration.sql +48 -0
  392. package/package.json +23 -13
@@ -0,0 +1 @@
1
+ {"version":3,"file":"guarded-deterministic-runner.js","sourceRoot":"","sources":["../../src/playbooks/guarded-deterministic-runner.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+CG;AAIH;;;;;;;;;;;GAWG;AACH,MAAM,CAAC,MAAM,qCAAqC,GAAsB,MAAM,CAAC,MAAM,CAAC;IACpF,IAAI;IACJ,OAAO;IACP,UAAU;IACV,QAAQ;IACR,MAAM;IACN,IAAI;IACJ,OAAO;IACP,OAAO;IACP,QAAQ;IACR,MAAM;IACN,SAAS;CACV,CAAC,CAAC;AAgEH;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AACH,MAAM,UAAU,gCAAgC,CAC9C,IAAuC;IAEvC,MAAM,EAAE,KAAK,EAAE,GAAG,IAAI,CAAC;IACvB,OAAO;QACL,KAAK,CAAC,GAAG,CAAC,KAAgC;YACxC,IAAI,CAAC;gBACH,oEAAoE;gBACpE,yEAAyE;gBACzE,sEAAsE;gBACtE,8BAA8B;gBAC9B,MAAM,MAAM,GAAG,MAAM,KAAK,CAAC,YAAY,CAAC;oBACtC,OAAO,EAAE,KAAK,CAAC,OAAO;oBACtB,IAAI,EAAE,CAAC,GAAG,KAAK,CAAC,IAAI,CAAC;oBACrB,GAAG,CAAC,KAAK,CAAC,GAAG,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;oBACtD,GAAG,CAAC,KAAK,CAAC,GAAG,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;oBACtD,GAAG,CAAC,KAAK,CAAC,UAAU,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,KAAK,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;iBAC3E,CAAC,CAAC;gBACH,qEAAqE;gBACrE,wDAAwD;gBACxD,IAAI,MAAM,CAAC,IAAI,KAAK,CAAC,EAAE,CAAC;oBACtB,OAAO;wBACL,MAAM,EAAE,SAAS;wBACjB,MAAM,EAAE;4BACN,CAAC,GAAG,KAAK,CAAC,MAAM,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM;4BACzC,CAAC,GAAG,KAAK,CAAC,MAAM,WAAW,CAAC,EAAE,MAAM,CAAC,IAAI;yBAC1C;qBACF,CAAC;gBACJ,CAAC;gBACD,OAAO;oBACL,MAAM,EAAE,SAAS;oBACjB,MAAM,EAAE;wBACN,CAAC,GAAG,KAAK,CAAC,MAAM,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM;wBACzC,CAAC,GAAG,KAAK,CAAC,MAAM,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM;wBACzC,CAAC,GAAG,KAAK,CAAC,MAAM,WAAW,CAAC,EAAE,MAAM,CAAC,IAAI;qBAC1C;oBACD,KAAK,EACH,uBAAuB,KAAK,CAAC,MAAM,cAAc,KAAK,CAAC,OAAO,WAAW;wBACzE,GAAG,MAAM,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC,CAAC,mBAAmB,CAAC,CAAC,CAAC,aAAa,MAAM,CAAC,IAAI,EAAE,EAAE;iBAC/E,CAAC;YACJ,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,0EAA0E;gBAC1E,gDAAgD;gBAChD,OAAO;oBACL,MAAM,EAAE,SAAS;oBACjB,MAAM,EAAE,EAAE;oBACV,KAAK,EAAE,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC;iBACxD,CAAC;YACJ,CAAC;QACH,CAAC;KACF,CAAC;AACJ,CAAC"}
@@ -11,7 +11,9 @@
11
11
  * @task T1239 — meta-agent infrastructure (epic T1232)
12
12
  */
13
13
  export { AGENT_TIER_META, type AgentDispatcher, CoreAgentDispatcher, type CoreAgentDispatcherOptions, createAgentDispatcher, type DispatchContext, type DispatchResult, resolveMetaAgent, } from './agent-dispatcher.js';
14
+ export { type CantbookProfilePin, cantbookNodeSystemKey, hasCantbookProfilePin, type ResolveCantbookNodeProfileInput, resolveCantbookNodeProfile, } from './cantbook-profile.js';
14
15
  export type { playbookCoreOps } from './ops.js';
16
+ export { type MaybePiRunnerDeps, maybeCreatePiRunner } from './pi-runner-wiring.js';
15
17
  export { listPlaybooks, PlaybookNotFoundError, type PlaybookTier, type ResolvedPlaybook, type ResolvePlaybookOptions, resolvePlaybook, } from './playbook-resolver.js';
16
18
  export { createSkillNodeExecutor, ISOLATION_CONTEXT_KEY, runSkillNodeOrSpawn, type SkillNodeDispatchInput, type SkillNodeExecutorOptions, type SubprocessSpawnExecutor, } from './skill-node-executor.js';
17
19
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/playbooks/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,EACL,eAAe,EACf,KAAK,eAAe,EACpB,mBAAmB,EACnB,KAAK,0BAA0B,EAC/B,qBAAqB,EACrB,KAAK,eAAe,EACpB,KAAK,cAAc,EACnB,gBAAgB,GACjB,MAAM,uBAAuB,CAAC;AAE/B,YAAY,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;AAEhD,OAAO,EACL,aAAa,EACb,qBAAqB,EACrB,KAAK,YAAY,EACjB,KAAK,gBAAgB,EACrB,KAAK,sBAAsB,EAC3B,eAAe,GAChB,MAAM,wBAAwB,CAAC;AAKhC,OAAO,EACL,uBAAuB,EACvB,qBAAqB,EACrB,mBAAmB,EACnB,KAAK,sBAAsB,EAC3B,KAAK,wBAAwB,EAC7B,KAAK,uBAAuB,GAC7B,MAAM,0BAA0B,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/playbooks/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,EACL,eAAe,EACf,KAAK,eAAe,EACpB,mBAAmB,EACnB,KAAK,0BAA0B,EAC/B,qBAAqB,EACrB,KAAK,eAAe,EACpB,KAAK,cAAc,EACnB,gBAAgB,GACjB,MAAM,uBAAuB,CAAC;AAM/B,OAAO,EACL,KAAK,kBAAkB,EACvB,qBAAqB,EACrB,qBAAqB,EACrB,KAAK,+BAA+B,EACpC,0BAA0B,GAC3B,MAAM,uBAAuB,CAAC;AAC/B,YAAY,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;AAKhD,OAAO,EAAE,KAAK,iBAAiB,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AACpF,OAAO,EACL,aAAa,EACb,qBAAqB,EACrB,KAAK,YAAY,EACjB,KAAK,gBAAgB,EACrB,KAAK,sBAAsB,EAC3B,eAAe,GAChB,MAAM,wBAAwB,CAAC;AAIhC,OAAO,EACL,uBAAuB,EACvB,qBAAqB,EACrB,mBAAmB,EACnB,KAAK,sBAAsB,EAC3B,KAAK,wBAAwB,EAC7B,KAAK,uBAAuB,GAC7B,MAAM,0BAA0B,CAAC"}
@@ -11,6 +11,16 @@
11
11
  * @task T1239 — meta-agent infrastructure (epic T1232)
12
12
  */
13
13
  export { AGENT_TIER_META, CoreAgentDispatcher, createAgentDispatcher, resolveMetaAgent, } from './agent-dispatcher.js';
14
+ // Cantbook stage LLM-profile resolution — the seam the production cantbook
15
+ // dispatchers call to resolve a node's `profile:` / `model:` / `provider:` pin
16
+ // through the E9 chokepoint (`resolveLLMForSystem`). Gate-13: resolves metadata
17
+ // only, never constructs a transport (T11759 · M4).
18
+ export { cantbookNodeSystemKey, hasCantbookProfilePin, resolveCantbookNodeProfile, } from './cantbook-profile.js';
19
+ // Pi in-process runner wiring — default-OFF, lazy-imported Pi `SkillRunner` the
20
+ // production cantbook dispatchers pass into `runSkillNodeOrSpawn`'s `runner`
21
+ // slot (T11945 · M4). Exported here (the eager core graph) so its live binding
22
+ // is initialised before `internal.ts` re-exports it.
23
+ export { maybeCreatePiRunner } from './pi-runner-wiring.js';
14
24
  export { listPlaybooks, PlaybookNotFoundError, resolvePlaybook, } from './playbook-resolver.js';
15
25
  // Skill-node executor — injects the in-process SkillExecutorAdapter as the
16
26
  // dispatcher's executor while retaining subprocess-spawn for isolation nodes
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/playbooks/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,EACL,eAAe,EAEf,mBAAmB,EAEnB,qBAAqB,EAGrB,gBAAgB,GACjB,MAAM,uBAAuB,CAAC;AAI/B,OAAO,EACL,aAAa,EACb,qBAAqB,EAIrB,eAAe,GAChB,MAAM,wBAAwB,CAAC;AAEhC,2EAA2E;AAC3E,6EAA6E;AAC7E,0BAA0B;AAC1B,OAAO,EACL,uBAAuB,EACvB,qBAAqB,EACrB,mBAAmB,GAIpB,MAAM,0BAA0B,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/playbooks/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,EACL,eAAe,EAEf,mBAAmB,EAEnB,qBAAqB,EAGrB,gBAAgB,GACjB,MAAM,uBAAuB,CAAC;AAE/B,2EAA2E;AAC3E,+EAA+E;AAC/E,gFAAgF;AAChF,oDAAoD;AACpD,OAAO,EAEL,qBAAqB,EACrB,qBAAqB,EAErB,0BAA0B,GAC3B,MAAM,uBAAuB,CAAC;AAE/B,gFAAgF;AAChF,6EAA6E;AAC7E,+EAA+E;AAC/E,qDAAqD;AACrD,OAAO,EAA0B,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AACpF,OAAO,EACL,aAAa,EACb,qBAAqB,EAIrB,eAAe,GAChB,MAAM,wBAAwB,CAAC;AAChC,2EAA2E;AAC3E,6EAA6E;AAC7E,0BAA0B;AAC1B,OAAO,EACL,uBAAuB,EACvB,qBAAqB,EACrB,mBAAmB,GAIpB,MAAM,0BAA0B,CAAC"}
@@ -0,0 +1,75 @@
1
+ /**
2
+ * Production wiring helper for the Pi in-process `SkillRunner` (T11945 · M4).
3
+ *
4
+ * THE M4 keystone seam: this is the single place the two production cantbook
5
+ * dispatchers (`buildDefaultDispatcher` in `playbook.ts` and `buildGoDispatcher`
6
+ * in `go-ivtr-runner.ts`) reach to obtain the Pi-backed `SkillRunner` they pass
7
+ * into {@link runSkillNodeOrSpawn}'s `runner` slot. When the runner is supplied,
8
+ * an in-process `ct-*` skill node routes THROUGH the {@link
9
+ * import('../llm/pi/pi-agent-adapter.js').PiAgentAdapter} (the Pi agent loop);
10
+ * when it is `undefined`, the adapter falls back to `defaultSkillRunner` — the
11
+ * pre-T11945 behaviour.
12
+ *
13
+ * ## Default-OFF + lazy-import (Gate-13 + OOM safety)
14
+ *
15
+ * The Pi embed is gated behind the **default-OFF** `CLEO_PI_RUNNER_ENABLED`
16
+ * flag. When the flag is unset (the default) this helper returns `undefined`
17
+ * WITHOUT importing the Pi barrel — so `@earendil-works/pi-ai`'s `register-
18
+ * builtins` side effect is never paid on the hot dispatch path, and there is
19
+ * ZERO behaviour change. Only when the flag is explicitly `'1'` do we
20
+ * dynamically import the barrel and construct the runner. The import is dynamic
21
+ * (not a top-level `import`) precisely so the heavy `pi-ai` dependency stays out
22
+ * of `@cleocode/core/internal`'s eager module graph (every CLI dispatcher loads
23
+ * `internal`, but must not load `pi-ai` unless Pi is enabled).
24
+ *
25
+ * Keeping this helper in `core` keeps the CLI dispatchers thin (CLI package
26
+ * boundary, Gate-6): each call site is a single `await maybeCreatePiRunner(...)`.
27
+ *
28
+ * @epic T10403
29
+ * @task T11761
30
+ * @task T11945
31
+ */
32
+ import type { SystemOfUseLabel } from '@cleocode/contracts';
33
+ import type { SkillRunner } from '../skills/skill-executor-adapter.js';
34
+ /**
35
+ * Resolution + project-root deps forwarded to `createPiSkillRunner` when the Pi
36
+ * runner is constructed. Mirrors the subset of `PiAgentAdapterDeps` the
37
+ * dispatchers can supply at their call site.
38
+ */
39
+ export interface MaybePiRunnerDeps {
40
+ /**
41
+ * The system-of-use label the Pi adapter resolves its LLM through (E9). When
42
+ * omitted, `createPiSkillRunner` defaults to `'task-executor'`.
43
+ */
44
+ readonly system?: SystemOfUseLabel;
45
+ /**
46
+ * Project root for config + credential resolution. When omitted, resolution
47
+ * defaults to `process.cwd()` inside `resolveLLMForSystem`.
48
+ */
49
+ readonly projectRoot?: string;
50
+ }
51
+ /**
52
+ * Return the Pi-backed {@link SkillRunner} when `CLEO_PI_RUNNER_ENABLED=1`, else
53
+ * `undefined`.
54
+ *
55
+ * The two production cantbook dispatchers call this and pass the result into
56
+ * {@link runSkillNodeOrSpawn}'s `runner` slot:
57
+ *
58
+ * @example
59
+ * ```ts
60
+ * const runner = await maybeCreatePiRunner({ system: 'task-executor', projectRoot });
61
+ * await runSkillNodeOrSpawn(input, { tools, cwd: projectRoot, subprocessSpawn, runner });
62
+ * ```
63
+ *
64
+ * Default-OFF: when the flag is unset (the common case) this short-circuits to
65
+ * `undefined` before importing the Pi barrel, so `pi-ai`'s `register-builtins`
66
+ * is never loaded and the dispatcher behaves exactly as it did pre-T11945
67
+ * (`defaultSkillRunner` runs the in-process skill node).
68
+ *
69
+ * @param deps - Optional resolution system + project root forwarded to the Pi
70
+ * adapter when the runner is constructed.
71
+ * @returns The Pi `SkillRunner` when enabled, otherwise `undefined`.
72
+ * @task T11945
73
+ */
74
+ export declare function maybeCreatePiRunner(deps?: MaybePiRunnerDeps): Promise<SkillRunner | undefined>;
75
+ //# sourceMappingURL=pi-runner-wiring.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pi-runner-wiring.d.ts","sourceRoot":"","sources":["../../src/playbooks/pi-runner-wiring.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AAEH,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAC5D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,qCAAqC,CAAC;AAUvE;;;;GAIG;AACH,MAAM,WAAW,iBAAiB;IAChC;;;OAGG;IACH,QAAQ,CAAC,MAAM,CAAC,EAAE,gBAAgB,CAAC;IACnC;;;OAGG;IACH,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;CAC/B;AAED;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,wBAAsB,mBAAmB,CACvC,IAAI,GAAE,iBAAsB,GAC3B,OAAO,CAAC,WAAW,GAAG,SAAS,CAAC,CAoBlC"}
@@ -0,0 +1,82 @@
1
+ /**
2
+ * Production wiring helper for the Pi in-process `SkillRunner` (T11945 · M4).
3
+ *
4
+ * THE M4 keystone seam: this is the single place the two production cantbook
5
+ * dispatchers (`buildDefaultDispatcher` in `playbook.ts` and `buildGoDispatcher`
6
+ * in `go-ivtr-runner.ts`) reach to obtain the Pi-backed `SkillRunner` they pass
7
+ * into {@link runSkillNodeOrSpawn}'s `runner` slot. When the runner is supplied,
8
+ * an in-process `ct-*` skill node routes THROUGH the {@link
9
+ * import('../llm/pi/pi-agent-adapter.js').PiAgentAdapter} (the Pi agent loop);
10
+ * when it is `undefined`, the adapter falls back to `defaultSkillRunner` — the
11
+ * pre-T11945 behaviour.
12
+ *
13
+ * ## Default-OFF + lazy-import (Gate-13 + OOM safety)
14
+ *
15
+ * The Pi embed is gated behind the **default-OFF** `CLEO_PI_RUNNER_ENABLED`
16
+ * flag. When the flag is unset (the default) this helper returns `undefined`
17
+ * WITHOUT importing the Pi barrel — so `@earendil-works/pi-ai`'s `register-
18
+ * builtins` side effect is never paid on the hot dispatch path, and there is
19
+ * ZERO behaviour change. Only when the flag is explicitly `'1'` do we
20
+ * dynamically import the barrel and construct the runner. The import is dynamic
21
+ * (not a top-level `import`) precisely so the heavy `pi-ai` dependency stays out
22
+ * of `@cleocode/core/internal`'s eager module graph (every CLI dispatcher loads
23
+ * `internal`, but must not load `pi-ai` unless Pi is enabled).
24
+ *
25
+ * Keeping this helper in `core` keeps the CLI dispatchers thin (CLI package
26
+ * boundary, Gate-6): each call site is a single `await maybeCreatePiRunner(...)`.
27
+ *
28
+ * @epic T10403
29
+ * @task T11761
30
+ * @task T11945
31
+ */
32
+ /**
33
+ * The default-OFF env flag controlling the Pi in-process runner. Mirrors
34
+ * `isPiRunnerEnabled()` in the Pi barrel exactly (strict `'1'`), read here as a
35
+ * cheap pre-check so the heavy Pi/`pi-ai` barrel is only dynamically imported
36
+ * when Pi is actually enabled.
37
+ */
38
+ const PI_RUNNER_FLAG = 'CLEO_PI_RUNNER_ENABLED';
39
+ /**
40
+ * Return the Pi-backed {@link SkillRunner} when `CLEO_PI_RUNNER_ENABLED=1`, else
41
+ * `undefined`.
42
+ *
43
+ * The two production cantbook dispatchers call this and pass the result into
44
+ * {@link runSkillNodeOrSpawn}'s `runner` slot:
45
+ *
46
+ * @example
47
+ * ```ts
48
+ * const runner = await maybeCreatePiRunner({ system: 'task-executor', projectRoot });
49
+ * await runSkillNodeOrSpawn(input, { tools, cwd: projectRoot, subprocessSpawn, runner });
50
+ * ```
51
+ *
52
+ * Default-OFF: when the flag is unset (the common case) this short-circuits to
53
+ * `undefined` before importing the Pi barrel, so `pi-ai`'s `register-builtins`
54
+ * is never loaded and the dispatcher behaves exactly as it did pre-T11945
55
+ * (`defaultSkillRunner` runs the in-process skill node).
56
+ *
57
+ * @param deps - Optional resolution system + project root forwarded to the Pi
58
+ * adapter when the runner is constructed.
59
+ * @returns The Pi `SkillRunner` when enabled, otherwise `undefined`.
60
+ * @task T11945
61
+ */
62
+ export async function maybeCreatePiRunner(deps = {}) {
63
+ // Cheap default-OFF gate — read the raw flag WITHOUT importing the Pi barrel
64
+ // (which transitively pulls the heavy `pi-ai` dependency). This is the hot
65
+ // path on every dispatch when Pi is disabled.
66
+ if (process.env[PI_RUNNER_FLAG] !== '1') {
67
+ return undefined;
68
+ }
69
+ // Flag is on — lazy-import the Pi barrel (subpath, NOT via `internal`) so
70
+ // `pi-ai` stays out of the eager module graph. `isPiRunnerEnabled()` is the
71
+ // authoritative predicate; re-confirm in case the env changed between the
72
+ // raw pre-check and the import.
73
+ const { createPiSkillRunner, isPiRunnerEnabled } = await import('../llm/pi/index.js');
74
+ if (!isPiRunnerEnabled()) {
75
+ return undefined;
76
+ }
77
+ return createPiSkillRunner({
78
+ ...(deps.system !== undefined ? { system: deps.system } : {}),
79
+ ...(deps.projectRoot !== undefined ? { projectRoot: deps.projectRoot } : {}),
80
+ });
81
+ }
82
+ //# sourceMappingURL=pi-runner-wiring.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pi-runner-wiring.js","sourceRoot":"","sources":["../../src/playbooks/pi-runner-wiring.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AAKH;;;;;GAKG;AACH,MAAM,cAAc,GAAG,wBAAwB,CAAC;AAoBhD;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,MAAM,CAAC,KAAK,UAAU,mBAAmB,CACvC,OAA0B,EAAE;IAE5B,6EAA6E;IAC7E,2EAA2E;IAC3E,8CAA8C;IAC9C,IAAI,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC,KAAK,GAAG,EAAE,CAAC;QACxC,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,0EAA0E;IAC1E,4EAA4E;IAC5E,0EAA0E;IAC1E,gCAAgC;IAChC,MAAM,EAAE,mBAAmB,EAAE,iBAAiB,EAAE,GAAG,MAAM,MAAM,CAAC,oBAAoB,CAAC,CAAC;IACtF,IAAI,CAAC,iBAAiB,EAAE,EAAE,CAAC;QACzB,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,OAAO,mBAAmB,CAAC;QACzB,GAAG,CAAC,IAAI,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC7D,GAAG,CAAC,IAAI,CAAC,WAAW,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KAC7E,CAAC,CAAC;AACL,CAAC"}
@@ -0,0 +1,211 @@
1
+ /**
2
+ * generateOpenApi — projects the CLEO operations registry into an OpenAPI 3.1
3
+ * document (DHQ-033/057 SDK-projection · T11918 · AC2 · M5/E-API-STANDARD-FOUNDATION
4
+ * T11769).
5
+ *
6
+ * ## Why this exists
7
+ *
8
+ * The `/v1` REST gateway routes `POST /v1/<domain>/<operation>` for every entry
9
+ * in the 413-row {@link OPERATIONS} registry. Downstream task T11920 generates a
10
+ * typed SDK client; its projection source is an OpenAPI 3.1 spec. Hand-authoring
11
+ * 413 path objects (and keeping them in lock-step with the registry) is exactly
12
+ * the drift trap the schema-first SSoT (`inputSchema`/`outputSchema`) was built
13
+ * to close. This builder DERIVES the whole spec from the single source of truth:
14
+ *
15
+ * - paths ← {@link OPERATIONS} (`POST /v1/<domain>/<operation>`)
16
+ * - requestBody ← {@link getInputContract}(op).schema, else a JSON Schema
17
+ * synthesised from `def.params` (richest available input shape)
18
+ * - 200 response ← {@link getOutputContract}(op).dataSchema (hand-authored
19
+ * {@link OUTPUT_CONTRACTS}, else {@link deriveOutputContract})
20
+ *
21
+ * Because `OperationInputContract.schema` and `OperationOutputContract.dataSchema`
22
+ * are ALREADY JSON Schema (draft-07) documents, and OpenAPI 3.1's Schema Object
23
+ * IS a superset of JSON Schema (it adopts the JSON Schema 2020-12 vocabulary),
24
+ * the schemas embed directly — no zod→OpenAPI conversion pass, no `zod-to-openapi`
25
+ * dependency. Zod (v4) is the authoring substrate for the contracts upstream; by
26
+ * the time a schema reaches this builder it is already plain JSON Schema, so this
27
+ * module stays a zero-runtime-dependency projection over the registry.
28
+ *
29
+ * ## Boundary
30
+ *
31
+ * Lives in `core/src/runtime` (NOT `contracts`): it reads {@link getOutputContract}
32
+ * / {@link getInputContract}, which are core-resident bodied resolvers, and it is
33
+ * itself a bodied runtime helper (the contracts-purity Gate 10 forbids net-new
34
+ * bodied functions in `contracts`). Import-time side-effect-free: it builds
35
+ * nothing at module load, only when {@link generateOpenApi} is called.
36
+ *
37
+ * @packageDocumentation
38
+ * @module @cleocode/core/runtime/openapi/generate-openapi
39
+ *
40
+ * @see {@link https://spec.openapis.org/oas/v3.1.0 | OpenAPI 3.1.0 Specification}
41
+ * @see OperationOutputContract — the OUTPUT-side JSON Schema SSoT this projects
42
+ * @see OperationInputContract — the INPUT-side JSON Schema SSoT this projects
43
+ *
44
+ * @epic T11769
45
+ * @task T11918 — AC2: zod→OpenAPI 3.1 bridge + `cleo gateway openapi`
46
+ */
47
+ import { type JsonSchema } from '@cleocode/contracts';
48
+ /**
49
+ * OpenAPI 3.1 `info` object — API identity surfaced to SDK generators and docs
50
+ * tooling.
51
+ *
52
+ * @see {@link https://spec.openapis.org/oas/v3.1.0#info-object}
53
+ */
54
+ export interface OpenApiInfo {
55
+ /** Human-readable API title. */
56
+ title: string;
57
+ /**
58
+ * Semantic version of the API surface (NOT the package version). The `/v1`
59
+ * REST gateway is version `1.x`; defaults to `'1.0.0'`.
60
+ */
61
+ version: string;
62
+ /** Optional one-line summary (OpenAPI 3.1 adds `summary` to the info object). */
63
+ summary?: string;
64
+ /** Optional CommonMark description. */
65
+ description?: string;
66
+ }
67
+ /**
68
+ * OpenAPI 3.1 Media Type object — pairs a content type with its schema.
69
+ *
70
+ * @see {@link https://spec.openapis.org/oas/v3.1.0#media-type-object}
71
+ */
72
+ export interface OpenApiMediaType {
73
+ /** The JSON Schema (2020-12 vocabulary) describing the payload. */
74
+ schema: JsonSchema;
75
+ }
76
+ /**
77
+ * OpenAPI 3.1 Request Body object.
78
+ *
79
+ * @see {@link https://spec.openapis.org/oas/v3.1.0#request-body-object}
80
+ */
81
+ export interface OpenApiRequestBody {
82
+ /** Content keyed by media type (always `application/json` here). */
83
+ content: Record<string, OpenApiMediaType>;
84
+ /** Whether the request body is required (true iff the op has required params). */
85
+ required: boolean;
86
+ /** Optional human description. */
87
+ description?: string;
88
+ }
89
+ /**
90
+ * OpenAPI 3.1 Response object.
91
+ *
92
+ * @see {@link https://spec.openapis.org/oas/v3.1.0#response-object}
93
+ */
94
+ export interface OpenApiResponse {
95
+ /** Required CommonMark description of the response. */
96
+ description: string;
97
+ /** Optional content keyed by media type. */
98
+ content?: Record<string, OpenApiMediaType>;
99
+ }
100
+ /**
101
+ * OpenAPI 3.1 Operation object — one HTTP operation on a path.
102
+ *
103
+ * @see {@link https://spec.openapis.org/oas/v3.1.0#operation-object}
104
+ */
105
+ export interface OpenApiOperation {
106
+ /** Unique, machine-friendly id (`<gateway>.<domain>.<operation>`) for SDK method naming. */
107
+ operationId: string;
108
+ /** Short summary (the registry `description`). */
109
+ summary: string;
110
+ /** Grouping tags — the canonical domain. */
111
+ tags: string[];
112
+ /** Request body, omitted when the op declares no input params. */
113
+ requestBody?: OpenApiRequestBody;
114
+ /** Responses keyed by HTTP status code (always at least `'200'`). */
115
+ responses: Record<string, OpenApiResponse>;
116
+ /**
117
+ * Vendor extension carrying the CQRS gateway (`'query'` | `'mutate'`) this
118
+ * operation routes through. The clean `/v1/<domain>/<operation>` path omits the
119
+ * gateway for readability, so the SDK reads this extension to pick the right
120
+ * dispatch gateway. OpenAPI tooling ignores `x-`-prefixed members it does not
121
+ * recognise, so emitting it keeps the document valid.
122
+ */
123
+ 'x-cleo-gateway': 'query' | 'mutate';
124
+ }
125
+ /**
126
+ * OpenAPI 3.1 Path Item object — the set of HTTP operations on one path. The
127
+ * CLEO `/v1` gateway only routes `POST`, so only `post` is ever populated.
128
+ *
129
+ * @see {@link https://spec.openapis.org/oas/v3.1.0#path-item-object}
130
+ */
131
+ export interface OpenApiPathItem {
132
+ /** The single `POST` operation served at this path. */
133
+ post: OpenApiOperation;
134
+ }
135
+ /**
136
+ * A minimal, structurally-typed OpenAPI 3.1 document — exactly the members
137
+ * {@link generateOpenApi} emits. The `openapi` field is pinned to the `3.1.x`
138
+ * literal family so consumers can statically assert the version.
139
+ *
140
+ * @see {@link https://spec.openapis.org/oas/v3.1.0#openapi-object}
141
+ */
142
+ export interface OpenApiDocument {
143
+ /** OpenAPI version string — always `'3.1.0'`. */
144
+ openapi: '3.1.0';
145
+ /** API identity. */
146
+ info: OpenApiInfo;
147
+ /**
148
+ * The JSON Schema dialect every embedded Schema Object uses, declared once at
149
+ * the document root per OpenAPI 3.1. The contracts ship draft-07 schemas,
150
+ * which validate under the 2020-12 dialect OpenAPI 3.1 mandates.
151
+ */
152
+ jsonSchemaDialect: string;
153
+ /**
154
+ * Path → path-item map, keyed by `<pathPrefix>/<domain>/<operation>` (with a
155
+ * trailing `/<gateway>` segment for the cross-gateway collision pairs).
156
+ */
157
+ paths: Record<string, OpenApiPathItem>;
158
+ }
159
+ /**
160
+ * Options for {@link generateOpenApi}.
161
+ */
162
+ export interface GenerateOpenApiOptions {
163
+ /**
164
+ * Semantic version stamped into `info.version`. This is the API-surface
165
+ * version (the `/v1` gateway), NOT the npm package version.
166
+ *
167
+ * @default '1.0.0'
168
+ */
169
+ version?: string;
170
+ /**
171
+ * Path prefix prepended to every operation route. The SDK-facing REST surface
172
+ * is versioned under `/v1` (T11769); each op maps to
173
+ * `POST <pathPrefix>/<domain>/<operation>`.
174
+ *
175
+ * @default '/v1'
176
+ */
177
+ pathPrefix?: string;
178
+ }
179
+ /**
180
+ * Project the {@link OPERATIONS} registry into a complete OpenAPI 3.1 document.
181
+ *
182
+ * Walks every registry entry, mapping each to a `POST` path whose `requestBody`
183
+ * is the resolved input schema and whose `200` response is the resolved output
184
+ * schema (`deriveOutputContract` coverage), wrapped in the LAFS envelope.
185
+ *
186
+ * Routing: the clean form is `POST <pathPrefix>/<domain>/<operation>`. Because
187
+ * the registry has cross-gateway collisions on `<domain>/<operation>` (the same
188
+ * pair under both `query` and `mutate`), a colliding entry is disambiguated by
189
+ * appending its gateway segment (`<pathPrefix>/<domain>/<operation>/<gateway>`).
190
+ * Each operation also carries an `x-cleo-gateway` extension so the SDK knows
191
+ * which CQRS gateway to dispatch through regardless of the path form.
192
+ *
193
+ * The number of paths in the returned document equals `OPERATIONS.length` (AC5):
194
+ * every registry entry gets a unique route (and a unique operationId).
195
+ *
196
+ * @param options - {@link GenerateOpenApiOptions} (version, path prefix).
197
+ * @returns A structurally-valid OpenAPI 3.1 {@link OpenApiDocument}.
198
+ *
199
+ * @example
200
+ * ```ts
201
+ * const doc = generateOpenApi();
202
+ * doc.openapi; // '3.1.0'
203
+ * Object.keys(doc.paths).length; // === OPERATIONS.length
204
+ * doc.paths['/v1/tasks/show'].post.operationId; // 'query.tasks.show'
205
+ * doc.paths['/v1/tasks/show'].post['x-cleo-gateway'];// 'query'
206
+ * ```
207
+ *
208
+ * @task T11918 — AC1/AC2/AC5
209
+ */
210
+ export declare function generateOpenApi(options?: GenerateOpenApiOptions): OpenApiDocument;
211
+ //# sourceMappingURL=generate-openapi.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"generate-openapi.d.ts","sourceRoot":"","sources":["../../../src/runtime/openapi/generate-openapi.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6CG;AAEH,OAAO,EAAE,KAAK,UAAU,EAAgD,MAAM,qBAAqB,CAAC;AAQpG;;;;;GAKG;AACH,MAAM,WAAW,WAAW;IAC1B,gCAAgC;IAChC,KAAK,EAAE,MAAM,CAAC;IACd;;;OAGG;IACH,OAAO,EAAE,MAAM,CAAC;IAChB,iFAAiF;IACjF,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,uCAAuC;IACvC,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED;;;;GAIG;AACH,MAAM,WAAW,gBAAgB;IAC/B,mEAAmE;IACnE,MAAM,EAAE,UAAU,CAAC;CACpB;AAED;;;;GAIG;AACH,MAAM,WAAW,kBAAkB;IACjC,oEAAoE;IACpE,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAC;IAC1C,kFAAkF;IAClF,QAAQ,EAAE,OAAO,CAAC;IAClB,kCAAkC;IAClC,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED;;;;GAIG;AACH,MAAM,WAAW,eAAe;IAC9B,uDAAuD;IACvD,WAAW,EAAE,MAAM,CAAC;IACpB,4CAA4C;IAC5C,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAC;CAC5C;AAED;;;;GAIG;AACH,MAAM,WAAW,gBAAgB;IAC/B,4FAA4F;IAC5F,WAAW,EAAE,MAAM,CAAC;IACpB,kDAAkD;IAClD,OAAO,EAAE,MAAM,CAAC;IAChB,4CAA4C;IAC5C,IAAI,EAAE,MAAM,EAAE,CAAC;IACf,kEAAkE;IAClE,WAAW,CAAC,EAAE,kBAAkB,CAAC;IACjC,qEAAqE;IACrE,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,eAAe,CAAC,CAAC;IAC3C;;;;;;OAMG;IACH,gBAAgB,EAAE,OAAO,GAAG,QAAQ,CAAC;CACtC;AAED;;;;;GAKG;AACH,MAAM,WAAW,eAAe;IAC9B,uDAAuD;IACvD,IAAI,EAAE,gBAAgB,CAAC;CACxB;AAED;;;;;;GAMG;AACH,MAAM,WAAW,eAAe;IAC9B,iDAAiD;IACjD,OAAO,EAAE,OAAO,CAAC;IACjB,oBAAoB;IACpB,IAAI,EAAE,WAAW,CAAC;IAClB;;;;OAIG;IACH,iBAAiB,EAAE,MAAM,CAAC;IAC1B;;;OAGG;IACH,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,eAAe,CAAC,CAAC;CACxC;AAMD;;GAEG;AACH,MAAM,WAAW,sBAAsB;IACrC;;;;;OAKG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB;;;;;;OAMG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AA+LD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AACH,wBAAgB,eAAe,CAAC,OAAO,GAAE,sBAA2B,GAAG,eAAe,CAkDrF"}