@cleocode/core 2026.6.12 → 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 (730) 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-transport.d.ts +12 -0
  20. package/dist/conduit/local-transport.d.ts.map +1 -1
  21. package/dist/conduit/local-transport.js +53 -23
  22. package/dist/conduit/local-transport.js.map +1 -1
  23. package/dist/conduit/local-tui-adapter.d.ts +89 -0
  24. package/dist/conduit/local-tui-adapter.d.ts.map +1 -0
  25. package/dist/conduit/local-tui-adapter.js +225 -0
  26. package/dist/conduit/local-tui-adapter.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 +94 -2
  30. package/dist/config/registry.js.map +1 -1
  31. package/dist/crypto/credentials.d.ts +37 -0
  32. package/dist/crypto/credentials.d.ts.map +1 -1
  33. package/dist/crypto/credentials.js +110 -0
  34. package/dist/crypto/credentials.js.map +1 -1
  35. package/dist/deriver/queue-manager.d.ts +30 -2
  36. package/dist/deriver/queue-manager.d.ts.map +1 -1
  37. package/dist/deriver/queue-manager.js +54 -9
  38. package/dist/deriver/queue-manager.js.map +1 -1
  39. package/dist/dispatch/config-domain-handler.d.ts +125 -0
  40. package/dist/dispatch/config-domain-handler.d.ts.map +1 -0
  41. package/dist/dispatch/config-domain-handler.js +160 -0
  42. package/dist/dispatch/config-domain-handler.js.map +1 -0
  43. package/dist/dispatch/contracts/derive-output-contract.d.ts +86 -0
  44. package/dist/dispatch/contracts/derive-output-contract.d.ts.map +1 -0
  45. package/dist/dispatch/contracts/derive-output-contract.js +347 -0
  46. package/dist/dispatch/contracts/derive-output-contract.js.map +1 -0
  47. package/dist/dispatch/contracts/ensures-schema.d.ts +77 -0
  48. package/dist/dispatch/contracts/ensures-schema.d.ts.map +1 -0
  49. package/dist/dispatch/contracts/ensures-schema.js +91 -0
  50. package/dist/dispatch/contracts/ensures-schema.js.map +1 -0
  51. package/dist/dispatch/contracts/input-contracts.d.ts.map +1 -1
  52. package/dist/dispatch/contracts/input-contracts.js +19 -1
  53. package/dist/dispatch/contracts/input-contracts.js.map +1 -1
  54. package/dist/dispatch/contracts/output-contracts.d.ts +27 -5
  55. package/dist/dispatch/contracts/output-contracts.d.ts.map +1 -1
  56. package/dist/dispatch/contracts/output-contracts.js +29 -6
  57. package/dist/dispatch/contracts/output-contracts.js.map +1 -1
  58. package/dist/docs/export-document.js +5413 -1345
  59. package/dist/docs/export-document.js.map +3 -3
  60. package/dist/gateway-client/client.d.ts +123 -0
  61. package/dist/gateway-client/client.d.ts.map +1 -0
  62. package/dist/gateway-client/client.js +93 -0
  63. package/dist/gateway-client/client.js.map +1 -0
  64. package/dist/gateway-client/generated/client/client.gen.d.ts +3 -0
  65. package/dist/gateway-client/generated/client/client.gen.d.ts.map +1 -0
  66. package/dist/gateway-client/generated/client/client.gen.js +217 -0
  67. package/dist/gateway-client/generated/client/client.gen.js.map +1 -0
  68. package/dist/gateway-client/generated/client/index.d.ts +11 -0
  69. package/dist/gateway-client/generated/client/index.d.ts.map +1 -0
  70. package/dist/gateway-client/generated/client/index.js +7 -0
  71. package/dist/gateway-client/generated/client/index.js.map +1 -0
  72. package/dist/gateway-client/generated/client/types.gen.d.ts +121 -0
  73. package/dist/gateway-client/generated/client/types.gen.d.ts.map +1 -0
  74. package/dist/gateway-client/generated/client/types.gen.js +3 -0
  75. package/dist/gateway-client/generated/client/types.gen.js.map +1 -0
  76. package/dist/gateway-client/generated/client/utils.gen.d.ts +38 -0
  77. package/dist/gateway-client/generated/client/utils.gen.d.ts.map +1 -0
  78. package/dist/gateway-client/generated/client/utils.gen.js +229 -0
  79. package/dist/gateway-client/generated/client/utils.gen.js.map +1 -0
  80. package/dist/gateway-client/generated/client.gen.d.ts +13 -0
  81. package/dist/gateway-client/generated/client.gen.d.ts.map +1 -0
  82. package/dist/gateway-client/generated/client.gen.js +4 -0
  83. package/dist/gateway-client/generated/client.gen.js.map +1 -0
  84. package/dist/gateway-client/generated/core/auth.gen.d.ts +26 -0
  85. package/dist/gateway-client/generated/core/auth.gen.d.ts.map +1 -0
  86. package/dist/gateway-client/generated/core/auth.gen.js +15 -0
  87. package/dist/gateway-client/generated/core/auth.gen.js.map +1 -0
  88. package/dist/gateway-client/generated/core/bodySerializer.gen.d.ts +26 -0
  89. package/dist/gateway-client/generated/core/bodySerializer.gen.d.ts.map +1 -0
  90. package/dist/gateway-client/generated/core/bodySerializer.gen.js +58 -0
  91. package/dist/gateway-client/generated/core/bodySerializer.gen.js.map +1 -0
  92. package/dist/gateway-client/generated/core/params.gen.d.ts +44 -0
  93. package/dist/gateway-client/generated/core/params.gen.d.ts.map +1 -0
  94. package/dist/gateway-client/generated/core/params.gen.js +101 -0
  95. package/dist/gateway-client/generated/core/params.gen.js.map +1 -0
  96. package/dist/gateway-client/generated/core/pathSerializer.gen.d.ts +34 -0
  97. package/dist/gateway-client/generated/core/pathSerializer.gen.d.ts.map +1 -0
  98. package/dist/gateway-client/generated/core/pathSerializer.gen.js +107 -0
  99. package/dist/gateway-client/generated/core/pathSerializer.gen.js.map +1 -0
  100. package/dist/gateway-client/generated/core/queryKeySerializer.gen.d.ts +19 -0
  101. package/dist/gateway-client/generated/core/queryKeySerializer.gen.d.ts.map +1 -0
  102. package/dist/gateway-client/generated/core/queryKeySerializer.gen.js +93 -0
  103. package/dist/gateway-client/generated/core/queryKeySerializer.gen.js.map +1 -0
  104. package/dist/gateway-client/generated/core/serverSentEvents.gen.d.ts +72 -0
  105. package/dist/gateway-client/generated/core/serverSentEvents.gen.d.ts.map +1 -0
  106. package/dist/gateway-client/generated/core/serverSentEvents.gen.js +133 -0
  107. package/dist/gateway-client/generated/core/serverSentEvents.gen.js.map +1 -0
  108. package/dist/gateway-client/generated/core/types.gen.d.ts +84 -0
  109. package/dist/gateway-client/generated/core/types.gen.d.ts.map +1 -0
  110. package/dist/gateway-client/generated/core/types.gen.js +3 -0
  111. package/dist/gateway-client/generated/core/types.gen.js.map +1 -0
  112. package/dist/gateway-client/generated/core/utils.gen.d.ts +20 -0
  113. package/dist/gateway-client/generated/core/utils.gen.d.ts.map +1 -0
  114. package/dist/gateway-client/generated/core/utils.gen.js +88 -0
  115. package/dist/gateway-client/generated/core/utils.gen.js.map +1 -0
  116. package/dist/gateway-client/generated/index.d.ts +3 -0
  117. package/dist/gateway-client/generated/index.d.ts.map +1 -0
  118. package/dist/gateway-client/generated/index.js +3 -0
  119. package/dist/gateway-client/generated/index.js.map +1 -0
  120. package/dist/gateway-client/generated/namespaces.gen.d.ts +512 -0
  121. package/dist/gateway-client/generated/namespaces.gen.d.ts.map +1 -0
  122. package/dist/gateway-client/generated/namespaces.gen.js +521 -0
  123. package/dist/gateway-client/generated/namespaces.gen.js.map +1 -0
  124. package/dist/gateway-client/generated/sdk.gen.d.ts +1780 -0
  125. package/dist/gateway-client/generated/sdk.gen.d.ts.map +1 -0
  126. package/dist/gateway-client/generated/sdk.gen.js +3811 -0
  127. package/dist/gateway-client/generated/sdk.gen.js.map +1 -0
  128. package/dist/gateway-client/generated/types.gen.d.ts +14681 -0
  129. package/dist/gateway-client/generated/types.gen.d.ts.map +1 -0
  130. package/dist/gateway-client/generated/types.gen.js +3 -0
  131. package/dist/gateway-client/generated/types.gen.js.map +1 -0
  132. package/dist/gateway-client/index.d.ts +27 -0
  133. package/dist/gateway-client/index.d.ts.map +1 -0
  134. package/dist/gateway-client/index.js +25 -0
  135. package/dist/gateway-client/index.js.map +1 -0
  136. package/dist/go/driver.d.ts +132 -7
  137. package/dist/go/driver.d.ts.map +1 -1
  138. package/dist/go/driver.js +135 -10
  139. package/dist/go/driver.js.map +1 -1
  140. package/dist/go/index.d.ts +1 -1
  141. package/dist/go/index.d.ts.map +1 -1
  142. package/dist/go/index.js +1 -1
  143. package/dist/go/index.js.map +1 -1
  144. package/dist/index.d.ts +11 -0
  145. package/dist/index.d.ts.map +1 -1
  146. package/dist/index.js +25 -0
  147. package/dist/index.js.map +1 -1
  148. package/dist/init.d.ts.map +1 -1
  149. package/dist/init.js +28 -0
  150. package/dist/init.js.map +1 -1
  151. package/dist/internal.d.ts +23 -11
  152. package/dist/internal.d.ts.map +1 -1
  153. package/dist/internal.js +29 -12
  154. package/dist/internal.js.map +1 -1
  155. package/dist/lifecycle/engine-ops.d.ts.map +1 -1
  156. package/dist/lifecycle/engine-ops.js +7 -4
  157. package/dist/lifecycle/engine-ops.js.map +1 -1
  158. package/dist/lifecycle/ivtr-loop.d.ts +108 -183
  159. package/dist/lifecycle/ivtr-loop.d.ts.map +1 -1
  160. package/dist/lifecycle/ivtr-loop.js +207 -522
  161. package/dist/lifecycle/ivtr-loop.js.map +1 -1
  162. package/dist/llm/auxiliary-fallback.js +1 -1
  163. package/dist/llm/auxiliary-fallback.js.map +1 -1
  164. package/dist/llm/catalog-model-resolver.d.ts +19 -0
  165. package/dist/llm/catalog-model-resolver.d.ts.map +1 -1
  166. package/dist/llm/catalog-model-resolver.js +36 -0
  167. package/dist/llm/catalog-model-resolver.js.map +1 -1
  168. package/dist/llm/catalog-resolver.d.ts +112 -0
  169. package/dist/llm/catalog-resolver.d.ts.map +1 -0
  170. package/dist/llm/catalog-resolver.js +207 -0
  171. package/dist/llm/catalog-resolver.js.map +1 -0
  172. package/dist/llm/catalog-seeder.d.ts +96 -0
  173. package/dist/llm/catalog-seeder.d.ts.map +1 -0
  174. package/dist/llm/catalog-seeder.js +189 -0
  175. package/dist/llm/catalog-seeder.js.map +1 -0
  176. package/dist/llm/cli-ops.d.ts +14 -1
  177. package/dist/llm/cli-ops.d.ts.map +1 -1
  178. package/dist/llm/cli-ops.js +46 -17
  179. package/dist/llm/cli-ops.js.map +1 -1
  180. package/dist/llm/complexity-classifier.d.ts +208 -0
  181. package/dist/llm/complexity-classifier.d.ts.map +1 -0
  182. package/dist/llm/complexity-classifier.js +359 -0
  183. package/dist/llm/complexity-classifier.js.map +1 -0
  184. package/dist/llm/concrete-session.d.ts.map +1 -1
  185. package/dist/llm/concrete-session.js +4 -0
  186. package/dist/llm/concrete-session.js.map +1 -1
  187. package/dist/llm/credential-pool.d.ts +2 -0
  188. package/dist/llm/credential-pool.d.ts.map +1 -1
  189. package/dist/llm/credential-pool.js +5 -2
  190. package/dist/llm/credential-pool.js.map +1 -1
  191. package/dist/llm/credentials-store.d.ts +10 -14
  192. package/dist/llm/credentials-store.d.ts.map +1 -1
  193. package/dist/llm/credentials-store.js.map +1 -1
  194. package/dist/llm/credentials.d.ts +35 -0
  195. package/dist/llm/credentials.d.ts.map +1 -1
  196. package/dist/llm/credentials.js +49 -0
  197. package/dist/llm/credentials.js.map +1 -1
  198. package/dist/llm/entity-ops.d.ts +299 -0
  199. package/dist/llm/entity-ops.d.ts.map +1 -0
  200. package/dist/llm/entity-ops.js +441 -0
  201. package/dist/llm/entity-ops.js.map +1 -0
  202. package/dist/llm/index.d.ts +19 -0
  203. package/dist/llm/index.d.ts.map +1 -1
  204. package/dist/llm/index.js +12 -0
  205. package/dist/llm/index.js.map +1 -1
  206. package/dist/llm/llm-queue-admit.d.ts +118 -0
  207. package/dist/llm/llm-queue-admit.d.ts.map +1 -0
  208. package/dist/llm/llm-queue-admit.js +275 -0
  209. package/dist/llm/llm-queue-admit.js.map +1 -0
  210. package/dist/llm/oauth/device-code.d.ts.map +1 -1
  211. package/dist/llm/oauth/device-code.js +2 -8
  212. package/dist/llm/oauth/device-code.js.map +1 -1
  213. package/dist/llm/oauth/google-pkce.d.ts.map +1 -1
  214. package/dist/llm/oauth/google-pkce.js +2 -18
  215. package/dist/llm/oauth/google-pkce.js.map +1 -1
  216. package/dist/llm/oauth/pkce.d.ts +70 -0
  217. package/dist/llm/oauth/pkce.d.ts.map +1 -1
  218. package/dist/llm/oauth/pkce.js +106 -29
  219. package/dist/llm/oauth/pkce.js.map +1 -1
  220. package/dist/llm/onboarding/front-door.d.ts +146 -0
  221. package/dist/llm/onboarding/front-door.d.ts.map +1 -0
  222. package/dist/llm/onboarding/front-door.js +153 -0
  223. package/dist/llm/onboarding/front-door.js.map +1 -0
  224. package/dist/llm/onboarding/login-engine.d.ts +175 -0
  225. package/dist/llm/onboarding/login-engine.d.ts.map +1 -0
  226. package/dist/llm/onboarding/login-engine.js +286 -0
  227. package/dist/llm/onboarding/login-engine.js.map +1 -0
  228. package/dist/llm/pi/gondolin-loader.d.ts +241 -0
  229. package/dist/llm/pi/gondolin-loader.d.ts.map +1 -0
  230. package/dist/llm/pi/gondolin-loader.js +195 -0
  231. package/dist/llm/pi/gondolin-loader.js.map +1 -0
  232. package/dist/llm/pi/index.d.ts +28 -0
  233. package/dist/llm/pi/index.d.ts.map +1 -0
  234. package/dist/llm/pi/index.js +27 -0
  235. package/dist/llm/pi/index.js.map +1 -0
  236. package/dist/llm/pi/pi-agent-adapter.d.ts +135 -0
  237. package/dist/llm/pi/pi-agent-adapter.d.ts.map +1 -0
  238. package/dist/llm/pi/pi-agent-adapter.js +329 -0
  239. package/dist/llm/pi/pi-agent-adapter.js.map +1 -0
  240. package/dist/llm/pi/pi-errors.d.ts +161 -0
  241. package/dist/llm/pi/pi-errors.d.ts.map +1 -0
  242. package/dist/llm/pi/pi-errors.js +296 -0
  243. package/dist/llm/pi/pi-errors.js.map +1 -0
  244. package/dist/llm/pi/pi-execution-env.d.ts +286 -0
  245. package/dist/llm/pi/pi-execution-env.d.ts.map +1 -0
  246. package/dist/llm/pi/pi-execution-env.js +406 -0
  247. package/dist/llm/pi/pi-execution-env.js.map +1 -0
  248. package/dist/llm/pi/pi-gondolin-env.d.ts +250 -0
  249. package/dist/llm/pi/pi-gondolin-env.d.ts.map +1 -0
  250. package/dist/llm/pi/pi-gondolin-env.js +541 -0
  251. package/dist/llm/pi/pi-gondolin-env.js.map +1 -0
  252. package/dist/llm/pi/pi-session-storage.d.ts +154 -0
  253. package/dist/llm/pi/pi-session-storage.d.ts.map +1 -0
  254. package/dist/llm/pi/pi-session-storage.js +314 -0
  255. package/dist/llm/pi/pi-session-storage.js.map +1 -0
  256. package/dist/llm/pi/pi-stream-fn.d.ts +124 -0
  257. package/dist/llm/pi/pi-stream-fn.d.ts.map +1 -0
  258. package/dist/llm/pi/pi-stream-fn.js +504 -0
  259. package/dist/llm/pi/pi-stream-fn.js.map +1 -0
  260. package/dist/llm/pi/pi-tool-bridge.d.ts +99 -0
  261. package/dist/llm/pi/pi-tool-bridge.d.ts.map +1 -0
  262. package/dist/llm/pi/pi-tool-bridge.js +117 -0
  263. package/dist/llm/pi/pi-tool-bridge.js.map +1 -0
  264. package/dist/llm/pi/pi-types.d.ts +56 -0
  265. package/dist/llm/pi/pi-types.d.ts.map +1 -0
  266. package/dist/llm/pi/pi-types.js +16 -0
  267. package/dist/llm/pi/pi-types.js.map +1 -0
  268. package/dist/llm/pi/resolve-execution-env.d.ts +194 -0
  269. package/dist/llm/pi/resolve-execution-env.d.ts.map +1 -0
  270. package/dist/llm/pi/resolve-execution-env.js +132 -0
  271. package/dist/llm/pi/resolve-execution-env.js.map +1 -0
  272. package/dist/llm/plugin-facade.js +5472 -1331
  273. package/dist/llm/plugin-facade.js.map +3 -3
  274. package/dist/llm/provider-registry/builtin/anthropic.d.ts.map +1 -1
  275. package/dist/llm/provider-registry/builtin/anthropic.js +23 -10
  276. package/dist/llm/provider-registry/builtin/anthropic.js.map +1 -1
  277. package/dist/llm/provider-registry/provider-alias.d.ts +62 -0
  278. package/dist/llm/provider-registry/provider-alias.d.ts.map +1 -0
  279. package/dist/llm/provider-registry/provider-alias.js +85 -0
  280. package/dist/llm/provider-registry/provider-alias.js.map +1 -0
  281. package/dist/llm/provider-registry/provider-defs.d.ts +45 -0
  282. package/dist/llm/provider-registry/provider-defs.d.ts.map +1 -0
  283. package/dist/llm/provider-registry/provider-defs.js +145 -0
  284. package/dist/llm/provider-registry/provider-defs.js.map +1 -0
  285. package/dist/llm/provider-registry/provider-seed.d.ts +78 -0
  286. package/dist/llm/provider-registry/provider-seed.d.ts.map +1 -0
  287. package/dist/llm/provider-registry/provider-seed.js +113 -0
  288. package/dist/llm/provider-registry/provider-seed.js.map +1 -0
  289. package/dist/llm/role-executor.d.ts.map +1 -1
  290. package/dist/llm/role-executor.js +44 -5
  291. package/dist/llm/role-executor.js.map +1 -1
  292. package/dist/llm/role-resolver.d.ts +46 -14
  293. package/dist/llm/role-resolver.d.ts.map +1 -1
  294. package/dist/llm/role-resolver.js +185 -20
  295. package/dist/llm/role-resolver.js.map +1 -1
  296. package/dist/llm/sealed-credential.d.ts +125 -0
  297. package/dist/llm/sealed-credential.d.ts.map +1 -0
  298. package/dist/llm/sealed-credential.js +133 -0
  299. package/dist/llm/sealed-credential.js.map +1 -0
  300. package/dist/llm/session-factory.d.ts.map +1 -1
  301. package/dist/llm/session-factory.js +6 -2
  302. package/dist/llm/session-factory.js.map +1 -1
  303. package/dist/llm/system-key.d.ts +67 -0
  304. package/dist/llm/system-key.d.ts.map +1 -0
  305. package/dist/llm/system-key.js +87 -0
  306. package/dist/llm/system-key.js.map +1 -0
  307. package/dist/llm/system-of-use-registry.d.ts +119 -0
  308. package/dist/llm/system-of-use-registry.d.ts.map +1 -0
  309. package/dist/llm/system-of-use-registry.js +200 -0
  310. package/dist/llm/system-of-use-registry.js.map +1 -0
  311. package/dist/llm/system-resolver.d.ts +32 -10
  312. package/dist/llm/system-resolver.d.ts.map +1 -1
  313. package/dist/llm/system-resolver.js +138 -35
  314. package/dist/llm/system-resolver.js.map +1 -1
  315. package/dist/memory/brain-writer-thread.d.ts.map +1 -1
  316. package/dist/memory/brain-writer-thread.js +116 -11
  317. package/dist/memory/brain-writer-thread.js.map +1 -1
  318. package/dist/memory/claude-mem-migration.d.ts.map +1 -1
  319. package/dist/memory/claude-mem-migration.js +21 -0
  320. package/dist/memory/claude-mem-migration.js.map +1 -1
  321. package/dist/memory/graph-memory-bridge.d.ts.map +1 -1
  322. package/dist/memory/graph-memory-bridge.js +32 -25
  323. package/dist/memory/graph-memory-bridge.js.map +1 -1
  324. package/dist/memory/learnings.d.ts +4 -0
  325. package/dist/memory/learnings.d.ts.map +1 -1
  326. package/dist/memory/llm-backend-resolver.js +23 -5
  327. package/dist/memory/llm-backend-resolver.js.map +1 -1
  328. package/dist/memory/patterns.d.ts +4 -0
  329. package/dist/memory/patterns.d.ts.map +1 -1
  330. package/dist/metrics/index.d.ts +2 -0
  331. package/dist/metrics/index.d.ts.map +1 -1
  332. package/dist/metrics/index.js +1 -0
  333. package/dist/metrics/index.js.map +1 -1
  334. package/dist/nexus/migrations/M-split-graph.d.ts.map +1 -1
  335. package/dist/nexus/migrations/M-split-graph.js +60 -53
  336. package/dist/nexus/migrations/M-split-graph.js.map +1 -1
  337. package/dist/orchestrate/pivot.d.ts.map +1 -1
  338. package/dist/orchestrate/pivot.js +20 -2
  339. package/dist/orchestrate/pivot.js.map +1 -1
  340. package/dist/orchestration/spawn.d.ts +89 -0
  341. package/dist/orchestration/spawn.d.ts.map +1 -1
  342. package/dist/orchestration/spawn.js +68 -0
  343. package/dist/orchestration/spawn.js.map +1 -1
  344. package/dist/playbooks/cantbook-profile.d.ts +96 -0
  345. package/dist/playbooks/cantbook-profile.d.ts.map +1 -0
  346. package/dist/playbooks/cantbook-profile.js +97 -0
  347. package/dist/playbooks/cantbook-profile.js.map +1 -0
  348. package/dist/playbooks/guarded-deterministic-runner.d.ts +153 -0
  349. package/dist/playbooks/guarded-deterministic-runner.d.ts.map +1 -0
  350. package/dist/playbooks/guarded-deterministic-runner.js +155 -0
  351. package/dist/playbooks/guarded-deterministic-runner.js.map +1 -0
  352. package/dist/playbooks/index.d.ts +2 -0
  353. package/dist/playbooks/index.d.ts.map +1 -1
  354. package/dist/playbooks/index.js +10 -0
  355. package/dist/playbooks/index.js.map +1 -1
  356. package/dist/playbooks/pi-runner-wiring.d.ts +75 -0
  357. package/dist/playbooks/pi-runner-wiring.d.ts.map +1 -0
  358. package/dist/playbooks/pi-runner-wiring.js +82 -0
  359. package/dist/playbooks/pi-runner-wiring.js.map +1 -0
  360. package/dist/release/engine-ops.js +2 -2
  361. package/dist/release/engine-ops.js.map +1 -1
  362. package/dist/routing/capability-matrix.d.ts.map +1 -1
  363. package/dist/routing/capability-matrix.js +0 -57
  364. package/dist/routing/capability-matrix.js.map +1 -1
  365. package/dist/runtime/openapi/generate-openapi.d.ts +211 -0
  366. package/dist/runtime/openapi/generate-openapi.d.ts.map +1 -0
  367. package/dist/runtime/openapi/generate-openapi.js +300 -0
  368. package/dist/runtime/openapi/generate-openapi.js.map +1 -0
  369. package/dist/runtime/openapi/index.d.ts +16 -0
  370. package/dist/runtime/openapi/index.d.ts.map +1 -0
  371. package/dist/runtime/openapi/index.js +16 -0
  372. package/dist/runtime/openapi/index.js.map +1 -0
  373. package/dist/selfimprove/budget.d.ts +206 -0
  374. package/dist/selfimprove/budget.d.ts.map +1 -0
  375. package/dist/selfimprove/budget.js +203 -0
  376. package/dist/selfimprove/budget.js.map +1 -0
  377. package/dist/selfimprove/dhq-adapter.d.ts +105 -0
  378. package/dist/selfimprove/dhq-adapter.d.ts.map +1 -0
  379. package/dist/selfimprove/dhq-adapter.js +95 -0
  380. package/dist/selfimprove/dhq-adapter.js.map +1 -0
  381. package/dist/selfimprove/draft-pr.d.ts +129 -0
  382. package/dist/selfimprove/draft-pr.d.ts.map +1 -0
  383. package/dist/selfimprove/draft-pr.js +158 -0
  384. package/dist/selfimprove/draft-pr.js.map +1 -0
  385. package/dist/selfimprove/envelope-diff.d.ts +162 -0
  386. package/dist/selfimprove/envelope-diff.d.ts.map +1 -0
  387. package/dist/selfimprove/envelope-diff.js +321 -0
  388. package/dist/selfimprove/envelope-diff.js.map +1 -0
  389. package/dist/selfimprove/replay.d.ts +121 -0
  390. package/dist/selfimprove/replay.d.ts.map +1 -0
  391. package/dist/selfimprove/replay.js +109 -0
  392. package/dist/selfimprove/replay.js.map +1 -0
  393. package/dist/selfimprove/run-loop.d.ts +148 -0
  394. package/dist/selfimprove/run-loop.d.ts.map +1 -0
  395. package/dist/selfimprove/run-loop.js +240 -0
  396. package/dist/selfimprove/run-loop.js.map +1 -0
  397. package/dist/selfimprove/scenario.d.ts +145 -0
  398. package/dist/selfimprove/scenario.d.ts.map +1 -0
  399. package/dist/selfimprove/scenario.js +243 -0
  400. package/dist/selfimprove/scenario.js.map +1 -0
  401. package/dist/selfimprove/scenarios/dhq-replay-find/golden.json +32 -0
  402. package/dist/selfimprove/scenarios/dhq-replay-find/scenario.json +18 -0
  403. package/dist/sentient/daemon-entry.js +5 -0
  404. package/dist/sentient/daemon-entry.js.map +1 -1
  405. package/dist/sentient/daemon.d.ts.map +1 -1
  406. package/dist/sentient/daemon.js +19 -0
  407. package/dist/sentient/daemon.js.map +1 -1
  408. package/dist/sentient/hygiene-scan.d.ts.map +1 -1
  409. package/dist/sentient/hygiene-scan.js +14 -6
  410. package/dist/sentient/hygiene-scan.js.map +1 -1
  411. package/dist/sessions/briefing.d.ts.map +1 -1
  412. package/dist/sessions/briefing.js +13 -9
  413. package/dist/sessions/briefing.js.map +1 -1
  414. package/dist/sessions/connection-session-handle.d.ts +161 -0
  415. package/dist/sessions/connection-session-handle.d.ts.map +1 -0
  416. package/dist/sessions/connection-session-handle.js +168 -0
  417. package/dist/sessions/connection-session-handle.js.map +1 -0
  418. package/dist/sessions/handoff.d.ts.map +1 -1
  419. package/dist/sessions/handoff.js +9 -0
  420. package/dist/sessions/handoff.js.map +1 -1
  421. package/dist/sessions/index.d.ts +4 -1
  422. package/dist/sessions/index.d.ts.map +1 -1
  423. package/dist/sessions/index.js +31 -1
  424. package/dist/sessions/index.js.map +1 -1
  425. package/dist/sessions/session-id.d.ts +34 -0
  426. package/dist/sessions/session-id.d.ts.map +1 -1
  427. package/dist/sessions/session-id.js +37 -0
  428. package/dist/sessions/session-id.js.map +1 -1
  429. package/dist/sessions/session-manifest-mirror.d.ts +115 -0
  430. package/dist/sessions/session-manifest-mirror.d.ts.map +1 -0
  431. package/dist/sessions/session-manifest-mirror.js +250 -0
  432. package/dist/sessions/session-manifest-mirror.js.map +1 -0
  433. package/dist/sessions/session-switch.d.ts.map +1 -1
  434. package/dist/sessions/session-switch.js +5 -2
  435. package/dist/sessions/session-switch.js.map +1 -1
  436. package/dist/setup/config-json-merge.d.ts.map +1 -1
  437. package/dist/setup/config-json-merge.js +14 -0
  438. package/dist/setup/config-json-merge.js.map +1 -1
  439. package/dist/setup/index.d.ts +23 -11
  440. package/dist/setup/index.d.ts.map +1 -1
  441. package/dist/setup/index.js +25 -12
  442. package/dist/setup/index.js.map +1 -1
  443. package/dist/setup/sections/llm.d.ts +28 -1
  444. package/dist/setup/sections/llm.d.ts.map +1 -1
  445. package/dist/setup/sections/llm.js +27 -6
  446. package/dist/setup/sections/llm.js.map +1 -1
  447. package/dist/setup/sections/models-roles.d.ts +40 -0
  448. package/dist/setup/sections/models-roles.d.ts.map +1 -0
  449. package/dist/setup/sections/models-roles.js +219 -0
  450. package/dist/setup/sections/models-roles.js.map +1 -0
  451. package/dist/setup/wizard.d.ts +19 -1
  452. package/dist/setup/wizard.d.ts.map +1 -1
  453. package/dist/setup/wizard.js.map +1 -1
  454. package/dist/store/converters.d.ts.map +1 -1
  455. package/dist/store/converters.js +2 -0
  456. package/dist/store/converters.js.map +1 -1
  457. package/dist/store/db-helpers.d.ts.map +1 -1
  458. package/dist/store/db-helpers.js +2 -0
  459. package/dist/store/db-helpers.js.map +1 -1
  460. package/dist/store/dual-scope-db.d.ts.map +1 -1
  461. package/dist/store/dual-scope-db.js +87 -47
  462. package/dist/store/dual-scope-db.js.map +1 -1
  463. package/dist/store/pi-session-store.d.ts +151 -0
  464. package/dist/store/pi-session-store.d.ts.map +1 -0
  465. package/dist/store/pi-session-store.js +166 -0
  466. package/dist/store/pi-session-store.js.map +1 -0
  467. package/dist/store/safety-data-accessor.d.ts +1 -0
  468. package/dist/store/safety-data-accessor.d.ts.map +1 -1
  469. package/dist/store/safety-data-accessor.js +5 -0
  470. package/dist/store/safety-data-accessor.js.map +1 -1
  471. package/dist/store/schedule-schema.d.ts +195 -0
  472. package/dist/store/schedule-schema.d.ts.map +1 -0
  473. package/dist/store/schedule-schema.js +84 -0
  474. package/dist/store/schedule-schema.js.map +1 -0
  475. package/dist/store/schedule-store.d.ts +144 -0
  476. package/dist/store/schedule-store.d.ts.map +1 -0
  477. package/dist/store/schedule-store.js +162 -0
  478. package/dist/store/schedule-store.js.map +1 -0
  479. package/dist/store/schema/attachments.d.ts +1 -1
  480. package/dist/store/schema/cleo-global/accounts.d.ts +357 -0
  481. package/dist/store/schema/cleo-global/accounts.d.ts.map +1 -0
  482. package/dist/store/schema/cleo-global/accounts.js +136 -0
  483. package/dist/store/schema/cleo-global/accounts.js.map +1 -0
  484. package/dist/store/schema/cleo-global/index.d.ts +5 -0
  485. package/dist/store/schema/cleo-global/index.d.ts.map +1 -1
  486. package/dist/store/schema/cleo-global/index.js +7 -0
  487. package/dist/store/schema/cleo-global/index.js.map +1 -1
  488. package/dist/store/schema/cleo-global/models-catalog.d.ts +359 -0
  489. package/dist/store/schema/cleo-global/models-catalog.d.ts.map +1 -0
  490. package/dist/store/schema/cleo-global/models-catalog.js +114 -0
  491. package/dist/store/schema/cleo-global/models-catalog.js.map +1 -0
  492. package/dist/store/schema/cleo-global/providers.d.ts +279 -0
  493. package/dist/store/schema/cleo-global/providers.d.ts.map +1 -0
  494. package/dist/store/schema/cleo-global/providers.js +94 -0
  495. package/dist/store/schema/cleo-global/providers.js.map +1 -0
  496. package/dist/store/schema/cleo-global/services.d.ts +493 -0
  497. package/dist/store/schema/cleo-global/services.d.ts.map +1 -0
  498. package/dist/store/schema/cleo-global/services.js +200 -0
  499. package/dist/store/schema/cleo-global/services.js.map +1 -0
  500. package/dist/store/schema/cleo-global/session-manifest.d.ts +217 -0
  501. package/dist/store/schema/cleo-global/session-manifest.d.ts.map +1 -0
  502. package/dist/store/schema/cleo-global/session-manifest.js +99 -0
  503. package/dist/store/schema/cleo-global/session-manifest.js.map +1 -0
  504. package/dist/store/schema/cleo-project/docs.d.ts +1 -1
  505. package/dist/store/schema/cleo-project/provenance-rest.d.ts +1 -1
  506. package/dist/store/schema/cleo-project/tasks-core.d.ts +16 -0
  507. package/dist/store/schema/cleo-project/tasks-core.d.ts.map +1 -1
  508. package/dist/store/schema/cleo-project/tasks-core.js +14 -0
  509. package/dist/store/schema/cleo-project/tasks-core.js.map +1 -1
  510. package/dist/store/schema/cleo-shared/brain.d.ts +2 -2
  511. package/dist/store/schema/memory-schema.d.ts +182 -2
  512. package/dist/store/schema/memory-schema.d.ts.map +1 -1
  513. package/dist/store/schema/memory-schema.js +111 -2
  514. package/dist/store/schema/memory-schema.js.map +1 -1
  515. package/dist/store/schema/provenance/releases.d.ts +1 -1
  516. package/dist/store/schema/tasks.d.ts +16 -0
  517. package/dist/store/schema/tasks.d.ts.map +1 -1
  518. package/dist/store/schema/tasks.js +10 -0
  519. package/dist/store/schema/tasks.js.map +1 -1
  520. package/dist/store/selfimprove-dhq-schema.d.ts +284 -0
  521. package/dist/store/selfimprove-dhq-schema.d.ts.map +1 -0
  522. package/dist/store/selfimprove-dhq-schema.js +128 -0
  523. package/dist/store/selfimprove-dhq-schema.js.map +1 -0
  524. package/dist/store/selfimprove-dhq-store.d.ts +175 -0
  525. package/dist/store/selfimprove-dhq-store.d.ts.map +1 -0
  526. package/dist/store/selfimprove-dhq-store.js +182 -0
  527. package/dist/store/selfimprove-dhq-store.js.map +1 -0
  528. package/dist/store/service-connections-accessor.d.ts +313 -0
  529. package/dist/store/service-connections-accessor.d.ts.map +1 -0
  530. package/dist/store/service-connections-accessor.js +464 -0
  531. package/dist/store/service-connections-accessor.js.map +1 -0
  532. package/dist/store/service-host-matcher.d.ts +70 -0
  533. package/dist/store/service-host-matcher.d.ts.map +1 -0
  534. package/dist/store/service-host-matcher.js +127 -0
  535. package/dist/store/service-host-matcher.js.map +1 -0
  536. package/dist/store/service-injection.d.ts +152 -0
  537. package/dist/store/service-injection.d.ts.map +1 -0
  538. package/dist/store/service-injection.js +225 -0
  539. package/dist/store/service-injection.js.map +1 -0
  540. package/dist/store/service-oauth.d.ts +287 -0
  541. package/dist/store/service-oauth.d.ts.map +1 -0
  542. package/dist/store/service-oauth.js +524 -0
  543. package/dist/store/service-oauth.js.map +1 -0
  544. package/dist/store/service-trust-gate.d.ts +164 -0
  545. package/dist/store/service-trust-gate.d.ts.map +1 -0
  546. package/dist/store/service-trust-gate.js +122 -0
  547. package/dist/store/service-trust-gate.js.map +1 -0
  548. package/dist/store/session-store.d.ts +52 -13
  549. package/dist/store/session-store.d.ts.map +1 -1
  550. package/dist/store/session-store.js +71 -13
  551. package/dist/store/session-store.js.map +1 -1
  552. package/dist/store/sqlite-data-accessor.d.ts.map +1 -1
  553. package/dist/store/sqlite-data-accessor.js +7 -0
  554. package/dist/store/sqlite-data-accessor.js.map +1 -1
  555. package/dist/store/umbrella-data-accessor.d.ts +1 -0
  556. package/dist/store/umbrella-data-accessor.d.ts.map +1 -1
  557. package/dist/store/umbrella-data-accessor.js +5 -0
  558. package/dist/store/umbrella-data-accessor.js.map +1 -1
  559. package/dist/store/validation-schemas.d.ts +36 -4
  560. package/dist/store/validation-schemas.d.ts.map +1 -1
  561. package/dist/store/writer-lease-schema.d.ts +392 -0
  562. package/dist/store/writer-lease-schema.d.ts.map +1 -0
  563. package/dist/store/writer-lease-schema.js +142 -0
  564. package/dist/store/writer-lease-schema.js.map +1 -0
  565. package/dist/store/writer-lease.d.ts +368 -0
  566. package/dist/store/writer-lease.d.ts.map +1 -0
  567. package/dist/store/writer-lease.js +1002 -0
  568. package/dist/store/writer-lease.js.map +1 -0
  569. package/dist/tasks/agent-lifecycle-lane.d.ts +175 -0
  570. package/dist/tasks/agent-lifecycle-lane.d.ts.map +1 -0
  571. package/dist/tasks/agent-lifecycle-lane.js +176 -0
  572. package/dist/tasks/agent-lifecycle-lane.js.map +1 -0
  573. package/dist/tasks/backfill-child-projections.d.ts.map +1 -1
  574. package/dist/tasks/backfill-child-projections.js +14 -9
  575. package/dist/tasks/backfill-child-projections.js.map +1 -1
  576. package/dist/tasks/complete.d.ts +17 -0
  577. package/dist/tasks/complete.d.ts.map +1 -1
  578. package/dist/tasks/complete.js +60 -20
  579. package/dist/tasks/complete.js.map +1 -1
  580. package/dist/tasks/depends-waiver-audit.d.ts +52 -0
  581. package/dist/tasks/depends-waiver-audit.d.ts.map +1 -0
  582. package/dist/tasks/depends-waiver-audit.js +36 -0
  583. package/dist/tasks/depends-waiver-audit.js.map +1 -0
  584. package/dist/tasks/duplicate-detector.d.ts.map +1 -1
  585. package/dist/tasks/duplicate-detector.js +14 -7
  586. package/dist/tasks/duplicate-detector.js.map +1 -1
  587. package/dist/tasks/engine-wrap.d.ts +36 -2
  588. package/dist/tasks/engine-wrap.d.ts.map +1 -1
  589. package/dist/tasks/engine-wrap.js +44 -2
  590. package/dist/tasks/engine-wrap.js.map +1 -1
  591. package/dist/tasks/index.d.ts +1 -0
  592. package/dist/tasks/index.d.ts.map +1 -1
  593. package/dist/tasks/index.js +1 -0
  594. package/dist/tasks/index.js.map +1 -1
  595. package/dist/tasks/ops.d.ts +3 -0
  596. package/dist/tasks/ops.d.ts.map +1 -1
  597. package/dist/tasks/task-ops.d.ts +1 -1
  598. package/dist/tasks/task-ops.d.ts.map +1 -1
  599. package/dist/tasks/task-ops.js +3 -1
  600. package/dist/tasks/task-ops.js.map +1 -1
  601. package/dist/tasks/task-reparent.d.ts +90 -0
  602. package/dist/tasks/task-reparent.d.ts.map +1 -1
  603. package/dist/tasks/task-reparent.js +171 -0
  604. package/dist/tasks/task-reparent.js.map +1 -1
  605. package/dist/telemetry/index.d.ts.map +1 -1
  606. package/dist/telemetry/index.js +10 -4
  607. package/dist/telemetry/index.js.map +1 -1
  608. package/dist/tools/agent-registry.d.ts +250 -0
  609. package/dist/tools/agent-registry.d.ts.map +1 -0
  610. package/dist/tools/agent-registry.js +292 -0
  611. package/dist/tools/agent-registry.js.map +1 -0
  612. package/dist/tools/agent-tool-families.d.ts +107 -0
  613. package/dist/tools/agent-tool-families.d.ts.map +1 -0
  614. package/dist/tools/agent-tool-families.js +527 -0
  615. package/dist/tools/agent-tool-families.js.map +1 -0
  616. package/dist/tools/browser-driver.d.ts +183 -0
  617. package/dist/tools/browser-driver.d.ts.map +1 -0
  618. package/dist/tools/browser-driver.js +242 -0
  619. package/dist/tools/browser-driver.js.map +1 -0
  620. package/dist/tools/builtin-agent-tools.d.ts +36 -0
  621. package/dist/tools/builtin-agent-tools.d.ts.map +1 -0
  622. package/dist/tools/builtin-agent-tools.js +191 -0
  623. package/dist/tools/builtin-agent-tools.js.map +1 -0
  624. package/dist/tools/dispatch.d.ts +370 -0
  625. package/dist/tools/dispatch.d.ts.map +1 -0
  626. package/dist/tools/dispatch.js +505 -0
  627. package/dist/tools/dispatch.js.map +1 -0
  628. package/dist/tools/env-scrub.d.ts +93 -0
  629. package/dist/tools/env-scrub.d.ts.map +1 -0
  630. package/dist/tools/env-scrub.js +176 -0
  631. package/dist/tools/env-scrub.js.map +1 -0
  632. package/dist/tools/exec-code-agent-tool.d.ts +179 -0
  633. package/dist/tools/exec-code-agent-tool.d.ts.map +1 -0
  634. package/dist/tools/exec-code-agent-tool.js +239 -0
  635. package/dist/tools/exec-code-agent-tool.js.map +1 -0
  636. package/dist/tools/fs.d.ts +30 -0
  637. package/dist/tools/fs.d.ts.map +1 -1
  638. package/dist/tools/fs.js +55 -2
  639. package/dist/tools/fs.js.map +1 -1
  640. package/dist/tools/guard.d.ts +15 -0
  641. package/dist/tools/guard.d.ts.map +1 -1
  642. package/dist/tools/guard.js +49 -12
  643. package/dist/tools/guard.js.map +1 -1
  644. package/dist/tools/index.d.ts +16 -0
  645. package/dist/tools/index.d.ts.map +1 -1
  646. package/dist/tools/index.js +52 -0
  647. package/dist/tools/index.js.map +1 -1
  648. package/dist/tools/mcp-agent-tool.d.ts +189 -0
  649. package/dist/tools/mcp-agent-tool.d.ts.map +1 -0
  650. package/dist/tools/mcp-agent-tool.js +243 -0
  651. package/dist/tools/mcp-agent-tool.js.map +1 -0
  652. package/dist/tools/media-agent-tools.d.ts +105 -0
  653. package/dist/tools/media-agent-tools.d.ts.map +1 -0
  654. package/dist/tools/media-agent-tools.js +255 -0
  655. package/dist/tools/media-agent-tools.js.map +1 -0
  656. package/dist/tools/memory-agent-tools.d.ts +99 -0
  657. package/dist/tools/memory-agent-tools.d.ts.map +1 -0
  658. package/dist/tools/memory-agent-tools.js +190 -0
  659. package/dist/tools/memory-agent-tools.js.map +1 -0
  660. package/dist/tools/pty.d.ts +45 -0
  661. package/dist/tools/pty.d.ts.map +1 -0
  662. package/dist/tools/pty.js +166 -0
  663. package/dist/tools/pty.js.map +1 -0
  664. package/dist/tools/schedule-agent-tools.d.ts +151 -0
  665. package/dist/tools/schedule-agent-tools.d.ts.map +1 -0
  666. package/dist/tools/schedule-agent-tools.js +238 -0
  667. package/dist/tools/schedule-agent-tools.js.map +1 -0
  668. package/dist/tools/schema-gen.d.ts +57 -0
  669. package/dist/tools/schema-gen.d.ts.map +1 -0
  670. package/dist/tools/schema-gen.js +52 -0
  671. package/dist/tools/schema-gen.js.map +1 -0
  672. package/dist/tools/shell.d.ts +12 -0
  673. package/dist/tools/shell.d.ts.map +1 -1
  674. package/dist/tools/shell.js +14 -1
  675. package/dist/tools/shell.js.map +1 -1
  676. package/dist/tools/skill-agent-tool.d.ts +108 -0
  677. package/dist/tools/skill-agent-tool.d.ts.map +1 -0
  678. package/dist/tools/skill-agent-tool.js +135 -0
  679. package/dist/tools/skill-agent-tool.js.map +1 -0
  680. package/dist/tools/web-agent-tools.d.ts +72 -0
  681. package/dist/tools/web-agent-tools.d.ts.map +1 -0
  682. package/dist/tools/web-agent-tools.js +393 -0
  683. package/dist/tools/web-agent-tools.js.map +1 -0
  684. package/dist/tools/web-search-backends.d.ts +156 -0
  685. package/dist/tools/web-search-backends.d.ts.map +1 -0
  686. package/dist/tools/web-search-backends.js +290 -0
  687. package/dist/tools/web-search-backends.js.map +1 -0
  688. package/dist/validation/engine-ops.d.ts.map +1 -1
  689. package/dist/validation/engine-ops.js +17 -1
  690. package/dist/validation/engine-ops.js.map +1 -1
  691. package/dist/validation/ops.d.ts +1 -15
  692. package/dist/validation/ops.d.ts.map +1 -1
  693. package/dist/validation/ops.js +0 -20
  694. package/dist/validation/ops.js.map +1 -1
  695. package/migrations/drizzle-brain/20260610000001_t10405-bitemporal-network-columns/migration.sql +71 -0
  696. package/migrations/drizzle-cleo-global/20260607000000_t11891-writer-leases/migration.sql +55 -0
  697. package/migrations/drizzle-cleo-global/20260607010000_t11639-session-manifest/migration.sql +43 -0
  698. package/migrations/drizzle-cleo-global/20260608000000_t11899-pi-session-tree/migration.sql +52 -0
  699. package/migrations/drizzle-cleo-global/20260608010000_t11709-accounts-credential-pool/migration.sql +72 -0
  700. package/migrations/drizzle-cleo-global/20260608020000_t11889-selfimprove-dhq/migration.sql +64 -0
  701. package/migrations/drizzle-cleo-global/20260609000000_t11937-service-vault/migration.sql +93 -0
  702. package/migrations/drizzle-cleo-global/20260609010000_t11733-models-catalog/migration.sql +65 -0
  703. package/migrations/drizzle-cleo-global/20260609020000_t11703-providers/migration.sql +52 -0
  704. package/migrations/drizzle-cleo-global/20260610000000_t11962-schedules/migration.sql +48 -0
  705. package/migrations/drizzle-cleo-project/20260607000000_t11891-writer-leases/migration.sql +55 -0
  706. package/migrations/drizzle-cleo-project/20260607010000_t11639-session-parent/migration.sql +22 -0
  707. package/migrations/drizzle-cleo-project/20260608000000_t11899-pi-session-tree/migration.sql +52 -0
  708. package/migrations/drizzle-cleo-project/20260608020000_t11889-selfimprove-dhq/migration.sql +64 -0
  709. package/migrations/drizzle-cleo-project/20260610000000_t11962-schedules/migration.sql +48 -0
  710. package/package.json +26 -14
  711. package/dist/lifecycle/chain-composition.d.ts +0 -30
  712. package/dist/lifecycle/chain-composition.d.ts.map +0 -1
  713. package/dist/lifecycle/chain-composition.js +0 -152
  714. package/dist/lifecycle/chain-composition.js.map +0 -1
  715. package/dist/lifecycle/chain-store.d.ts +0 -70
  716. package/dist/lifecycle/chain-store.d.ts.map +0 -1
  717. package/dist/lifecycle/chain-store.js +0 -246
  718. package/dist/lifecycle/chain-store.js.map +0 -1
  719. package/dist/lifecycle/default-chain.d.ts +0 -39
  720. package/dist/lifecycle/default-chain.d.ts.map +0 -1
  721. package/dist/lifecycle/default-chain.js +0 -176
  722. package/dist/lifecycle/default-chain.js.map +0 -1
  723. package/dist/lifecycle/tessera-engine.d.ts +0 -48
  724. package/dist/lifecycle/tessera-engine.d.ts.map +0 -1
  725. package/dist/lifecycle/tessera-engine.js +0 -249
  726. package/dist/lifecycle/tessera-engine.js.map +0 -1
  727. package/dist/validation/chain-validation.d.ts +0 -43
  728. package/dist/validation/chain-validation.d.ts.map +0 -1
  729. package/dist/validation/chain-validation.js +0 -146
  730. package/dist/validation/chain-validation.js.map +0 -1
@@ -0,0 +1,55 @@
1
+ -- T11627 (ST-2) — DbWriterLease arbitration tables (local-mode, daemon-disabled).
2
+ --
3
+ -- Co-located inside EACH scope's consolidated cleo.db (this file is byte-identical
4
+ -- in drizzle-cleo-project and drizzle-cleo-global so the two lineages produce the
5
+ -- SAME migration hash — the consolidated single-file journal converges across both
6
+ -- under the CONSOLIDATED_JOURNAL_LINEAGES cross-lineage guard, T11829).
7
+ --
8
+ -- The lease engine (packages/core/src/store/writer-lease.ts) arbitrates a single
9
+ -- in-process writer per (scope, lane) via BEGIN IMMEDIATE + epoch-CAS over the
10
+ -- `_writer_leases` row, healing the T5158 multi-writer corruption WITHOUT a running
11
+ -- supervisor daemon.
12
+ --
13
+ -- AC1 (at most one active writer per scope/lane) is enforced by the PARTIAL UNIQUE
14
+ -- index `ux_writer_leases_active … WHERE active = 1`. drizzle-orm cannot model a
15
+ -- partial WHERE index, so it is emitted here as raw SQL (the established repo
16
+ -- pattern — cf. project_agent_refs.enabled in conduit-schema). The drizzle schema
17
+ -- (writer-lease-schema.ts) declares ONLY the full-column tables; the runtime
18
+ -- bootstrap asserts this index exists (assertWriterLeaseActiveIndexPresent).
19
+ --
20
+ -- Each statement is separated by a drizzle breakpoint marker line so node:sqlite
21
+ -- prepare() does not silently truncate the multi-statement file to statement one.
22
+ -- (The marker token is intentionally NOT spelled out in this comment: drizzle's
23
+ -- readMigrationFiles splits the file on that literal substring, so writing it here
24
+ -- would split the comment mid-line and corrupt statement one.)
25
+ --
26
+ -- @task T11627
27
+ -- @epic T11625
28
+
29
+ CREATE TABLE IF NOT EXISTS `_writer_leases` (
30
+ `id` INTEGER PRIMARY KEY,
31
+ `scope` TEXT NOT NULL,
32
+ `lane` TEXT NOT NULL,
33
+ `holder_id` TEXT NOT NULL,
34
+ `holder_pid` INTEGER NOT NULL,
35
+ `epoch` INTEGER NOT NULL,
36
+ `acquired_at` INTEGER NOT NULL,
37
+ `heartbeat_at` INTEGER NOT NULL,
38
+ `ttl_ms` INTEGER NOT NULL,
39
+ `reentrancy_depth` INTEGER NOT NULL DEFAULT 1,
40
+ `active` INTEGER NOT NULL DEFAULT 1
41
+ );
42
+ --> statement-breakpoint
43
+ CREATE UNIQUE INDEX IF NOT EXISTS `ux_writer_leases_active` ON `_writer_leases` (`scope`, `lane`) WHERE `active` = 1;
44
+ --> statement-breakpoint
45
+ CREATE TABLE IF NOT EXISTS `_writer_queue` (
46
+ `ticket` INTEGER PRIMARY KEY AUTOINCREMENT,
47
+ `scope` TEXT NOT NULL,
48
+ `lane` TEXT NOT NULL,
49
+ `holder_id` TEXT NOT NULL,
50
+ `priority` INTEGER NOT NULL DEFAULT 100,
51
+ `enqueued_at` INTEGER NOT NULL,
52
+ `deadline_at` INTEGER NOT NULL
53
+ );
54
+ --> statement-breakpoint
55
+ CREATE INDEX IF NOT EXISTS `ix_writer_queue_order` ON `_writer_queue` (`scope`, `lane`, `priority` ASC, `ticket` ASC);
@@ -0,0 +1,22 @@
1
+ -- T11639 (EP-SESSION-MANIFEST · epic T11638) — add nullable `parent_session_id`
2
+ -- to `tasks_sessions` (consolidated PROJECT cleo.db, drizzle-cleo-project scope).
3
+ --
4
+ -- The fork-tree PARENT session edge: the orchestrator→worker spawn relationship,
5
+ -- sourced from CLEO_PARENT_SESSION_ID (stamped by the supervisor — T11629 / PR #996)
6
+ -- at session start. Distinct from `previous_session_id` (the linear resume chain).
7
+ -- Soft self-reference to `tasks_sessions.id`; nullable so a root session (no spawning
8
+ -- parent) and every existing row stay valid.
9
+ --
10
+ -- No CHECK constraint: `parent_session_id` is a plain free-text soft self-FK (not a
11
+ -- timestamp `_at`, boolean, or enum), so the T11363 consolidation-check injector
12
+ -- contributes nothing for it.
13
+ --
14
+ -- Each statement is separated by a drizzle breakpoint marker so node:sqlite prepare()
15
+ -- does not truncate the multi-statement file to statement one.
16
+ --
17
+ -- @task T11639
18
+ -- @epic T11638
19
+
20
+ ALTER TABLE `tasks_sessions` ADD COLUMN `parent_session_id` text;
21
+ --> statement-breakpoint
22
+ CREATE INDEX IF NOT EXISTS `idx_tasks_sessions_parent` ON `tasks_sessions` (`parent_session_id`);
@@ -0,0 +1,52 @@
1
+ -- T11761 (S3 · T11899) — Pi `SessionStorage` tree-persistence tables.
2
+ --
3
+ -- Backs `CleoSessionStorage` (packages/core/src/llm/pi/pi-session-storage.ts):
4
+ -- the durable cleo.db implementation of Pi's tree-structured `SessionStorage`
5
+ -- interface (@earendil-works/pi-agent-core). Every Pi session is a tree of
6
+ -- `SessionTreeEntry` nodes (id / parentId / timestamp / type / payload) plus one
7
+ -- leaf pointer per session; this file is the physical home for both.
8
+ --
9
+ -- Pure runtime infrastructure (like `_writer_leases` from T11627) — NOT part of
10
+ -- the exodus target shape under `schema/cleo-project/`. Co-located inside EACH
11
+ -- scope's consolidated cleo.db via the existing drizzle-cleo-project /
12
+ -- drizzle-cleo-global migration sets; this file is byte-identical across both
13
+ -- lineages so the two produce the SAME migration hash (the consolidated
14
+ -- single-file journal converges across both under CONSOLIDATED_JOURNAL_LINEAGES,
15
+ -- T11829). The Pi adapter resolves PROJECT scope; the global copy keeps the two
16
+ -- lineages' DDL convergent (the lease-table precedent).
17
+ --
18
+ -- ALL writes go through the writer lease (withWriterLease('project', 'bulk', …),
19
+ -- writer-lease.ts:1067) — the adapter NEVER opens a raw writer (Gate 3). These
20
+ -- tables are written by the store accessor (pi-session-store.ts) over the native
21
+ -- handle openDualScopeDb already holds, inside the leased section.
22
+ --
23
+ -- Each statement is separated by a drizzle breakpoint marker line so node:sqlite
24
+ -- prepare() does not silently truncate the multi-statement file to statement one
25
+ -- (the marker token is intentionally not spelled out in this comment — drizzle's
26
+ -- readMigrationFiles splits the file on that literal substring).
27
+ --
28
+ -- @task T11899
29
+ -- @task T11761
30
+ -- @epic T10403
31
+
32
+ CREATE TABLE IF NOT EXISTS `pi_session_entries` (
33
+ `session_id` TEXT NOT NULL,
34
+ `entry_id` TEXT NOT NULL,
35
+ `parent_id` TEXT,
36
+ `type` TEXT NOT NULL,
37
+ `payload_json` TEXT NOT NULL,
38
+ `seq` INTEGER NOT NULL,
39
+ `ts` TEXT NOT NULL,
40
+ PRIMARY KEY (`session_id`, `entry_id`)
41
+ );
42
+ --> statement-breakpoint
43
+ CREATE INDEX IF NOT EXISTS `ix_pi_session_entries_seq` ON `pi_session_entries` (`session_id`, `seq` ASC);
44
+ --> statement-breakpoint
45
+ CREATE INDEX IF NOT EXISTS `ix_pi_session_entries_parent` ON `pi_session_entries` (`session_id`, `parent_id`);
46
+ --> statement-breakpoint
47
+ CREATE TABLE IF NOT EXISTS `pi_session_leaf` (
48
+ `session_id` TEXT PRIMARY KEY,
49
+ `leaf_id` TEXT,
50
+ `created_at` TEXT NOT NULL,
51
+ `updated_at` TEXT NOT NULL
52
+ );
@@ -0,0 +1,64 @@
1
+ -- T11889 (T11889-A · T11911) — the self-improvement-loop DHQ sink (`selfimprove_dhq`).
2
+ --
3
+ -- One row per Dogfood-Harness-Question raised by `cleo selfimprove run`: the loop
4
+ -- replays a canned scenario, diffs the LAFS envelopes against a golden, and on
5
+ -- regression UPSERTs exactly ONE row here via the leased Gate-3 accessor
6
+ -- (selfimprove-dhq-store.ts). On green it writes nothing.
7
+ --
8
+ -- Co-located inside EACH scope's consolidated cleo.db (this file is byte-identical
9
+ -- in drizzle-cleo-project and drizzle-cleo-global so the two lineages produce the
10
+ -- SAME migration hash — the consolidated single-file journal converges across both
11
+ -- under the CONSOLIDATED_JOURNAL_LINEAGES cross-lineage guard, T11829). Pure runtime
12
+ -- infrastructure (like `_writer_leases` from T11627 and `pi_session_*` from T11899)
13
+ -- — NOT part of the exodus target shape under `schema/cleo-project/`.
14
+ --
15
+ -- ## Idempotency invariant (partial UNIQUE index)
16
+ --
17
+ -- At most ONE row per `question_hash` may carry `status = 'open'`, so a repeated
18
+ -- regression UPSERTs the same open row instead of spamming duplicates. drizzle-orm
19
+ -- cannot model a partial WHERE unique index, so it is emitted here as raw SQL (the
20
+ -- established repo pattern — cf. `_writer_leases.active`, T11627 ·
21
+ -- `project_agent_refs.enabled`). The drizzle schema (selfimprove-dhq-schema.ts)
22
+ -- declares ONLY the full-column table plus the two non-partial indexes drizzle CAN
23
+ -- emit; the runtime bootstrap asserts this partial index exists
24
+ -- (assertSelfimproveDhqOpenIndexPresent).
25
+ --
26
+ -- ## Page-2 invariant
27
+ --
28
+ -- This migration runs AFTER the consolidation baseline (…_t11363-consolidation-
29
+ -- cleo-project) which already creates dozens of tables, so `selfimprove_dhq` is
30
+ -- NEVER the first CREATE on a fresh DB — rootpage 2 is already owned by
31
+ -- `__drizzle_migrations` / the baseline tables. No journal pre-create is required
32
+ -- (the lease cold-open path pre-creates `__drizzle_migrations` before any first
33
+ -- table, so the precondition holds even on a freshly cold-opened DB).
34
+ --
35
+ -- `IF NOT EXISTS` so a re-open over an already-migrated DB is a no-op. Each
36
+ -- statement is separated by a drizzle breakpoint marker line so node:sqlite
37
+ -- prepare() does not silently truncate the multi-statement file to statement one
38
+ -- (the marker token is intentionally not spelled out in this comment — drizzle's
39
+ -- readMigrationFiles splits the file on that literal substring).
40
+ --
41
+ -- @task T11889
42
+ -- @task T11911
43
+ -- @epic T11889
44
+
45
+ CREATE TABLE IF NOT EXISTS `selfimprove_dhq` (
46
+ `id` INTEGER PRIMARY KEY,
47
+ `dhq_id` TEXT NOT NULL,
48
+ `scenario` TEXT NOT NULL,
49
+ `question_hash` TEXT NOT NULL,
50
+ `title` TEXT NOT NULL,
51
+ `regression_json` TEXT NOT NULL,
52
+ `status` TEXT NOT NULL DEFAULT 'open',
53
+ `severity` TEXT,
54
+ `pr_url` TEXT,
55
+ `run_id` TEXT NOT NULL,
56
+ `created_at` INTEGER NOT NULL,
57
+ `updated_at` INTEGER NOT NULL
58
+ );
59
+ --> statement-breakpoint
60
+ CREATE INDEX IF NOT EXISTS `ix_selfimprove_dhq_status` ON `selfimprove_dhq` (`status`);
61
+ --> statement-breakpoint
62
+ CREATE INDEX IF NOT EXISTS `ix_selfimprove_dhq_scenario` ON `selfimprove_dhq` (`scenario`);
63
+ --> statement-breakpoint
64
+ CREATE UNIQUE INDEX IF NOT EXISTS `ux_selfimprove_dhq_open` ON `selfimprove_dhq` (`question_hash`) WHERE `status` = 'open';
@@ -0,0 +1,48 @@
1
+ -- T11962 (under T11679) — the cron/todo schedule sink (`schedules`).
2
+ --
3
+ -- One row per recurring schedule registered by the `cron_schedule` agent tool
4
+ -- (T11950): a cron expression + the task template (title / description)
5
+ -- materialized on each fire, an `enabled` flag, and create/update timestamps. The
6
+ -- tool registers a row daemon-OFF via the leased Gate-3 accessor
7
+ -- (schedule-store.ts); a future daemon scheduler consumes the SAME table as a
8
+ -- separate reader (AC4).
9
+ --
10
+ -- Co-located inside EACH scope's consolidated cleo.db (this file is byte-identical
11
+ -- in drizzle-cleo-project and drizzle-cleo-global so the two lineages produce the
12
+ -- SAME migration hash — the consolidated single-file journal converges across both
13
+ -- under the CONSOLIDATED_JOURNAL_LINEAGES cross-lineage guard, T11829). Pure
14
+ -- runtime infrastructure (like `_writer_leases` from T11627, `pi_session_*` from
15
+ -- T11899, and `selfimprove_dhq` from T11911) — NOT part of the exodus target shape
16
+ -- under `schema/cleo-project/`, so the consolidated schema-parity gate (T11364)
17
+ -- does not re-derive its CHECK set.
18
+ --
19
+ -- ## Page-2 invariant
20
+ --
21
+ -- This migration runs AFTER the consolidation baseline (…_t11363-consolidation-
22
+ -- cleo-project) which already creates dozens of tables, so `schedules` is NEVER
23
+ -- the first CREATE on a fresh DB — rootpage 2 is already owned by
24
+ -- `__drizzle_migrations` / the baseline tables.
25
+ --
26
+ -- `IF NOT EXISTS` so a re-open over an already-migrated DB is a no-op. Each
27
+ -- statement is separated by a drizzle breakpoint marker line so node:sqlite
28
+ -- prepare() does not silently truncate the multi-statement file to statement one
29
+ -- (the marker token is intentionally not spelled out in this comment — drizzle's
30
+ -- readMigrationFiles splits the file on that literal substring).
31
+ --
32
+ -- @task T11962
33
+ -- @epic T11679
34
+
35
+ CREATE TABLE IF NOT EXISTS `schedules` (
36
+ `id` INTEGER PRIMARY KEY,
37
+ `schedule_id` TEXT NOT NULL,
38
+ `cron_expr` TEXT NOT NULL,
39
+ `title` TEXT NOT NULL,
40
+ `description` TEXT,
41
+ `enabled` INTEGER NOT NULL DEFAULT 1 CHECK (`enabled` IN (0, 1)),
42
+ `created_at` TEXT NOT NULL DEFAULT (datetime('now')),
43
+ `updated_at` TEXT NOT NULL DEFAULT (datetime('now'))
44
+ );
45
+ --> statement-breakpoint
46
+ CREATE UNIQUE INDEX IF NOT EXISTS `ux_schedules_schedule_id` ON `schedules` (`schedule_id`);
47
+ --> statement-breakpoint
48
+ CREATE INDEX IF NOT EXISTS `ix_schedules_enabled` ON `schedules` (`enabled`);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@cleocode/core",
3
- "version": "2026.6.12",
3
+ "version": "2026.6.14",
4
4
  "description": "CLEO core business logic kernel — tasks, sessions, memory, orchestration, lifecycle, with bundled SQLite store",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",
@@ -16,6 +16,11 @@
16
16
  "import": "./dist/cleo.js",
17
17
  "require": "./dist/cleo.js"
18
18
  },
19
+ "./gateway-client": {
20
+ "types": "./dist/gateway-client/index.d.ts",
21
+ "import": "./dist/gateway-client/index.js",
22
+ "require": "./dist/gateway-client/index.js"
23
+ },
19
24
  "./formatters": {
20
25
  "types": "./dist/formatters/index.d.ts",
21
26
  "import": "./dist/formatters/index.js",
@@ -398,6 +403,8 @@
398
403
  "@anthropic-ai/sdk": "^0.88.0",
399
404
  "@aws-sdk/client-bedrock-runtime": "^3.0.0",
400
405
  "@aws-sdk/credential-providers": "^3.0.0",
406
+ "@earendil-works/pi-agent-core": "0.78.1",
407
+ "@earendil-works/pi-ai": "0.78.1",
401
408
  "@google/generative-ai": "^0.21.0",
402
409
  "@huggingface/transformers": "^4.0.1",
403
410
  "ai": "^6.0.162",
@@ -429,16 +436,16 @@
429
436
  "write-file-atomic": "^7.0.1",
430
437
  "yaml": "^2.8.3",
431
438
  "zod": "^4.3.6",
432
- "@cleocode/caamp": "2026.6.12",
433
- "@cleocode/agents": "2026.6.12",
434
- "@cleocode/contracts": "2026.6.12",
435
- "@cleocode/adapters": "2026.6.12",
436
- "@cleocode/git-shim": "2026.6.12",
437
- "@cleocode/lafs": "2026.6.12",
438
- "@cleocode/nexus": "2026.6.12",
439
- "@cleocode/worktree": "2026.6.12",
440
- "@cleocode/paths": "2026.6.12",
441
- "@cleocode/skills": "2026.6.12"
439
+ "@cleocode/adapters": "2026.6.14",
440
+ "@cleocode/agents": "2026.6.14",
441
+ "@cleocode/caamp": "2026.6.14",
442
+ "@cleocode/git-shim": "2026.6.14",
443
+ "@cleocode/contracts": "2026.6.14",
444
+ "@cleocode/lafs": "2026.6.14",
445
+ "@cleocode/nexus": "2026.6.14",
446
+ "@cleocode/skills": "2026.6.14",
447
+ "@cleocode/paths": "2026.6.14",
448
+ "@cleocode/worktree": "2026.6.14"
442
449
  },
443
450
  "engines": {
444
451
  "node": ">=24.16.0"
@@ -459,6 +466,7 @@
459
466
  "STABILITY.md"
460
467
  ],
461
468
  "devDependencies": {
469
+ "@hey-api/openapi-ts": "0.98.2",
462
470
  "@types/node-cron": "^3.0.11",
463
471
  "@types/proper-lockfile": "^4.1.4",
464
472
  "@types/tar": "^6.1.13",
@@ -472,13 +480,17 @@
472
480
  },
473
481
  "optionalDependencies": {
474
482
  "llmtxt": "^2026.5.15",
475
- "@cleocode/studio": "^2026.6.12"
483
+ "@cleocode/studio": "^2026.6.14"
476
484
  },
477
485
  "scripts": {
478
- "build": "tsc",
486
+ "build": "tsc && node scripts/copy-selfimprove-fixtures.mjs",
479
487
  "typecheck": "tsc --noEmit",
480
488
  "test": "vitest run",
481
- "test:integration": "vitest run --include 'src/store/__tests__/*-integration.test.ts'",
489
+ "test:integration": "cd ../.. && vitest run --config packages/core/vitest.integration.config.ts",
490
+ "gen:sdk": "node scripts/generate-sdk-client.mjs",
491
+ "gen:sdk:check": "node scripts/generate-sdk-client.mjs --check",
492
+ "gen:tier-snapshot": "node scripts/gen-tier-snapshot.mjs",
493
+ "gen:tier-snapshot:check": "node scripts/gen-tier-snapshot.mjs --check",
482
494
  "postinstall": "node scripts/install-supervisor-binary.mjs"
483
495
  }
484
496
  }
@@ -1,30 +0,0 @@
1
- /**
2
- * Chain Composition Operators
3
- *
4
- * Provides operators to combine WarpChains via sequencing (A then B)
5
- * and parallel execution (fork-join).
6
- *
7
- * @task T5406
8
- */
9
- import type { WarpChain, WarpStage } from '@cleocode/contracts';
10
- /**
11
- * Sequence two chains: connect A's exit points to B's entry point.
12
- *
13
- * B's stage IDs are prefixed with "b" to avoid collision with A.
14
- * The result is validated and throws if invalid.
15
- *
16
- * @task T5406
17
- */
18
- export declare function sequenceChains(a: WarpChain, b: WarpChain): WarpChain;
19
- /**
20
- * Compose chains in parallel with a common fork entry and join stage.
21
- *
22
- * Creates a fork entry stage that links to each chain's entry, and
23
- * all chain exits link to the provided joinStage.
24
- *
25
- * Each chain's IDs are prefixed with "p{index}" to avoid collisions.
26
- *
27
- * @task T5406
28
- */
29
- export declare function parallelChains(chains: WarpChain[], joinStage: WarpStage): WarpChain;
30
- //# sourceMappingURL=chain-composition.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"chain-composition.d.ts","sourceRoot":"","sources":["../../src/lifecycle/chain-composition.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EAA4B,SAAS,EAAY,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAqDpG;;;;;;;GAOG;AACH,wBAAgB,cAAc,CAAC,CAAC,EAAE,SAAS,EAAE,CAAC,EAAE,SAAS,GAAG,SAAS,CA+BpE;AAED;;;;;;;;;GASG;AACH,wBAAgB,cAAc,CAAC,MAAM,EAAE,SAAS,EAAE,EAAE,SAAS,EAAE,SAAS,GAAG,SAAS,CAiEnF"}
@@ -1,152 +0,0 @@
1
- /**
2
- * Chain Composition Operators
3
- *
4
- * Provides operators to combine WarpChains via sequencing (A then B)
5
- * and parallel execution (fork-join).
6
- *
7
- * @task T5406
8
- */
9
- import { validateChain } from '../validation/chain-validation.js';
10
- /**
11
- * Prefix all stage IDs, link references, gate stageIds, and gate check stageIds
12
- * in a chain to avoid ID collisions during composition.
13
- *
14
- * @task T5406
15
- */
16
- function prefixChain(chain, prefix) {
17
- const pfx = (id) => `${prefix}_${id}`;
18
- const stages = chain.shape.stages.map((s) => ({
19
- ...s,
20
- id: pfx(s.id),
21
- }));
22
- const links = chain.shape.links.map((l) => ({
23
- ...l,
24
- from: pfx(l.from),
25
- to: pfx(l.to),
26
- }));
27
- const gates = chain.gates.map((g) => {
28
- const prefixed = {
29
- ...g,
30
- id: pfx(g.id),
31
- stageId: pfx(g.stageId),
32
- check: { ...g.check },
33
- };
34
- if (prefixed.check.type === 'stage_complete') {
35
- prefixed.check = {
36
- type: 'stage_complete',
37
- stageId: pfx(g.check.type === 'stage_complete' ? g.check.stageId : ''),
38
- };
39
- }
40
- return prefixed;
41
- });
42
- const shape = {
43
- stages,
44
- links,
45
- entryPoint: pfx(chain.shape.entryPoint),
46
- exitPoints: chain.shape.exitPoints.map(pfx),
47
- };
48
- return {
49
- ...chain,
50
- shape,
51
- gates,
52
- };
53
- }
54
- /**
55
- * Sequence two chains: connect A's exit points to B's entry point.
56
- *
57
- * B's stage IDs are prefixed with "b" to avoid collision with A.
58
- * The result is validated and throws if invalid.
59
- *
60
- * @task T5406
61
- */
62
- export function sequenceChains(a, b) {
63
- const prefixedB = prefixChain(b, 'b');
64
- const bridgeLinks = a.shape.exitPoints.map((exit) => ({
65
- from: exit,
66
- to: prefixedB.shape.entryPoint,
67
- type: 'linear',
68
- }));
69
- const shape = {
70
- stages: [...a.shape.stages, ...prefixedB.shape.stages],
71
- links: [...a.shape.links, ...bridgeLinks, ...prefixedB.shape.links],
72
- entryPoint: a.shape.entryPoint,
73
- exitPoints: prefixedB.shape.exitPoints,
74
- };
75
- const result = {
76
- id: `${a.id}+${b.id}`,
77
- name: `${a.name} -> ${b.name}`,
78
- version: '1.0.0',
79
- description: `Sequential composition of ${a.id} and ${b.id}`,
80
- shape,
81
- gates: [...a.gates, ...prefixedB.gates],
82
- };
83
- const validation = validateChain(result);
84
- if (validation.errors.length > 0) {
85
- throw new Error(`sequenceChains produced invalid chain: ${validation.errors.join('; ')}`);
86
- }
87
- return result;
88
- }
89
- /**
90
- * Compose chains in parallel with a common fork entry and join stage.
91
- *
92
- * Creates a fork entry stage that links to each chain's entry, and
93
- * all chain exits link to the provided joinStage.
94
- *
95
- * Each chain's IDs are prefixed with "p{index}" to avoid collisions.
96
- *
97
- * @task T5406
98
- */
99
- export function parallelChains(chains, joinStage) {
100
- if (chains.length === 0) {
101
- throw new Error('parallelChains requires at least one chain');
102
- }
103
- const forkStage = {
104
- id: 'parallel-fork',
105
- name: 'Parallel Fork',
106
- category: 'custom',
107
- skippable: false,
108
- description: 'Fork point for parallel chain execution',
109
- };
110
- const prefixedChains = chains.map((c, i) => prefixChain(c, `p${i}`));
111
- const forkLinks = prefixedChains.map((pc) => ({
112
- from: forkStage.id,
113
- to: pc.shape.entryPoint,
114
- type: 'fork',
115
- }));
116
- const joinLinks = prefixedChains.flatMap((pc) => pc.shape.exitPoints.map((exit) => ({
117
- from: exit,
118
- to: joinStage.id,
119
- type: 'branch',
120
- })));
121
- const allStages = [
122
- forkStage,
123
- ...prefixedChains.flatMap((pc) => pc.shape.stages),
124
- joinStage,
125
- ];
126
- const allLinks = [
127
- ...forkLinks,
128
- ...prefixedChains.flatMap((pc) => pc.shape.links),
129
- ...joinLinks,
130
- ];
131
- const allGates = prefixedChains.flatMap((pc) => pc.gates);
132
- const shape = {
133
- stages: allStages,
134
- links: allLinks,
135
- entryPoint: forkStage.id,
136
- exitPoints: [joinStage.id],
137
- };
138
- const result = {
139
- id: `parallel(${chains.map((c) => c.id).join(',')})`,
140
- name: `Parallel: ${chains.map((c) => c.name).join(' | ')}`,
141
- version: '1.0.0',
142
- description: `Parallel composition of ${chains.length} chains`,
143
- shape,
144
- gates: allGates,
145
- };
146
- const validation = validateChain(result);
147
- if (validation.errors.length > 0) {
148
- throw new Error(`parallelChains produced invalid chain: ${validation.errors.join('; ')}`);
149
- }
150
- return result;
151
- }
152
- //# sourceMappingURL=chain-composition.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"chain-composition.js","sourceRoot":"","sources":["../../src/lifecycle/chain-composition.ts"],"names":[],"mappings":"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"}
@@ -1,70 +0,0 @@
1
- /**
2
- * WarpChain Storage — CRUD operations for chain definitions and instances.
3
- *
4
- * Uses tasks.db (main database) via the native SQLite adapter.
5
- * Tables: warp_chains, warp_chain_instances (defined in chain-schema.ts).
6
- *
7
- * @task T5403
8
- */
9
- import type { GateResult, WarpChain, WarpChainInstance } from '@cleocode/contracts';
10
- export interface ChainFindCriteria {
11
- query?: string;
12
- category?: WarpChain['shape']['stages'][number]['category'];
13
- tessera?: string;
14
- archetype?: string;
15
- limit?: number;
16
- }
17
- /**
18
- * Store a validated WarpChain definition.
19
- *
20
- * Validates the chain before storing. Throws if validation fails.
21
- *
22
- * @task T5403
23
- */
24
- export declare function addChain(chain: WarpChain, projectRoot: string): Promise<void>;
25
- /**
26
- * Retrieve a WarpChain definition by ID.
27
- *
28
- * @task T5403
29
- */
30
- export declare function showChain(id: string, projectRoot: string): Promise<WarpChain | null>;
31
- /**
32
- * List all stored WarpChain definitions.
33
- *
34
- * @task T5403
35
- */
36
- export declare function listChains(projectRoot: string): Promise<WarpChain[]>;
37
- /**
38
- * Find WarpChain definitions by criteria.
39
- *
40
- * @task T5403
41
- */
42
- export declare function findChains(criteria: ChainFindCriteria, projectRoot: string): Promise<WarpChain[]>;
43
- /**
44
- * Create a chain instance binding a chain to an epic.
45
- *
46
- * @task T5403
47
- */
48
- export declare function createInstance(params: {
49
- chainId: string;
50
- epicId: string;
51
- variables?: Record<string, unknown>;
52
- stageToTask?: Record<string, string>;
53
- }, projectRoot: string): Promise<WarpChainInstance>;
54
- /**
55
- * Retrieve a chain instance by ID.
56
- *
57
- * @task T5403
58
- */
59
- export declare function showInstance(id: string, projectRoot: string): Promise<WarpChainInstance | null>;
60
- /**
61
- * Read persisted gate results for a chain instance.
62
- */
63
- export declare function listInstanceGateResults(id: string, projectRoot: string): Promise<GateResult[]>;
64
- /**
65
- * Advance a chain instance to the next stage, recording gate results.
66
- *
67
- * @task T5403
68
- */
69
- export declare function advanceInstance(id: string, nextStage: string, gateResults: GateResult[], projectRoot: string): Promise<WarpChainInstance>;
70
- //# sourceMappingURL=chain-store.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"chain-store.d.ts","sourceRoot":"","sources":["../../src/lifecycle/chain-store.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAGH,OAAO,KAAK,EAAE,UAAU,EAAE,SAAS,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAIpF,MAAM,WAAW,iBAAiB;IAChC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,SAAS,CAAC,OAAO,CAAC,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,CAAC,UAAU,CAAC,CAAC;IAC5D,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAiBD;;;;;;GAMG;AACH,wBAAsB,QAAQ,CAAC,KAAK,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAoBnF;AAED;;;;GAIG;AACH,wBAAsB,SAAS,CAAC,EAAE,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,GAAG,IAAI,CAAC,CAQ1F;AAED;;;;GAIG;AACH,wBAAsB,UAAU,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,EAAE,CAAC,CAK1E;AAED;;;;GAIG;AACH,wBAAsB,UAAU,CAC9B,QAAQ,EAAE,iBAAiB,EAC3B,WAAW,EAAE,MAAM,GAClB,OAAO,CAAC,SAAS,EAAE,CAAC,CAmCtB;AAED;;;;GAIG;AACH,wBAAsB,cAAc,CAClC,MAAM,EAAE;IACN,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACpC,WAAW,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CACtC,EACD,WAAW,EAAE,MAAM,GAClB,OAAO,CAAC,iBAAiB,CAAC,CAqC5B;AAED;;;;GAIG;AACH,wBAAsB,YAAY,CAChC,EAAE,EAAE,MAAM,EACV,WAAW,EAAE,MAAM,GAClB,OAAO,CAAC,iBAAiB,GAAG,IAAI,CAAC,CAoBnC;AAED;;GAEG;AACH,wBAAsB,uBAAuB,CAC3C,EAAE,EAAE,MAAM,EACV,WAAW,EAAE,MAAM,GAClB,OAAO,CAAC,UAAU,EAAE,CAAC,CAgBvB;AAED;;;;GAIG;AACH,wBAAsB,eAAe,CACnC,EAAE,EAAE,MAAM,EACV,SAAS,EAAE,MAAM,EACjB,WAAW,EAAE,UAAU,EAAE,EACzB,WAAW,EAAE,MAAM,GAClB,OAAO,CAAC,iBAAiB,CAAC,CAoE5B"}