@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,175 @@
1
+ /**
2
+ * `runOnboardingLogin` — the 3-step onboarding login engine (T11724 · M3).
3
+ *
4
+ * The imperative front-door flow that takes a provider from a cold start to a
5
+ * usable, validated profile binding. It ORCHESTRATES the already-merged
6
+ * credential / catalog / config / resolver accessors — it does NOT reimplement
7
+ * OAuth, construct a transport, or open an LLM client (Gate-13: chokepoint only).
8
+ *
9
+ * ## The four steps
10
+ *
11
+ * 1. **connect** — resolve the provider (alias → canonical via
12
+ * {@link getProviderProfile}) and land a credential (Account) in the
13
+ * multi-credential pool via {@link addCredential}. The OAuth token / API
14
+ * key is supplied by the caller (`opts.token`): the owner-driven browser
15
+ * step (PKCE / device-code) runs in `cleo llm login` BEFORE this engine,
16
+ * so the engine itself is non-interactive and testable. OAuth-less
17
+ * providers pass the same `opts.token` as an API key (AC4).
18
+ * 2. **select** — choose a model from the catalog: `opts.model` when given
19
+ * (validated against the catalog), else the latest by `release_date` via
20
+ * {@link resolveProviderDefaultModel}.
21
+ * 3. **bind** — write the `llm.default` (or `llm.roles[role]`) config
22
+ * binding tying the account + model together via {@link setConfigValue}.
23
+ * 4. **validate** — round-trip the binding through {@link resolveLLMForSystem}
24
+ * and confirm the resolved provider/model are consistent. NOT a live LLM
25
+ * call: no token is materialized; only resolution metadata is asserted,
26
+ * and the secret stays behind the sealed handle.
27
+ *
28
+ * ## Security (AC2)
29
+ *
30
+ * The {@link OnboardingResult} envelope carries NO secret fields — never an
31
+ * access token, API key, or refresh token. The plaintext is materialized only
32
+ * at the wire via the sealed handle, never on this envelope.
33
+ *
34
+ * ## Testability (AC3)
35
+ *
36
+ * Every step depends only on the injectable {@link OnboardingDeps} seam, which
37
+ * defaults to the real core accessors. Tests pass a {@link StubOnboardingDeps}
38
+ * (stub catalog + in-memory pool/config + stub resolver) to exercise each step
39
+ * in isolation without a live browser, network, or disk.
40
+ *
41
+ * @module llm/onboarding/login-engine
42
+ * @task T11724
43
+ * @epic T11671 (E6-ONBOARDING-FRONT-DOOR)
44
+ */
45
+ import type { ModelTransport, OnboardingAuthMode, OnboardingResult, ProviderProfile, RoleName } from '@cleocode/contracts';
46
+ import { type StoredAuthType } from '../credentials-store.js';
47
+ /**
48
+ * Options for {@link runOnboardingLogin}.
49
+ *
50
+ * @task T11724
51
+ */
52
+ export interface OnboardingLoginOptions {
53
+ /**
54
+ * The credential secret to store — an OAuth access token (when
55
+ * `authMode: 'oauth'`) or a raw API key (when `authMode: 'api_key'`).
56
+ *
57
+ * The interactive OAuth browser/device-code exchange runs in
58
+ * `cleo llm login` BEFORE this engine; the resulting token is passed here so
59
+ * the engine is non-interactive and testable. When omitted, the connect step
60
+ * fails cleanly with `E_ONBOARDING_NO_CREDENTIAL` (no throw).
61
+ */
62
+ token?: string;
63
+ /**
64
+ * Auth scheme for the supplied `token`. Defaults to `'oauth'` when the
65
+ * resolved provider profile exposes an OAuth config, else `'api_key'` (AC4).
66
+ */
67
+ authMode?: OnboardingAuthMode;
68
+ /** Human-readable label stored alongside the credential. Defaults to `'oauth-login'`. */
69
+ label?: string;
70
+ /**
71
+ * Explicit model id to bind. When omitted, the latest catalog model for the
72
+ * provider (by `release_date`) is selected. When given, it is validated
73
+ * against the catalog and rejected with `E_MODEL_NOT_IN_CATALOG` on a miss.
74
+ */
75
+ model?: string;
76
+ /**
77
+ * Bind the model to a specific role (`llm.roles[role]`) instead of the
78
+ * global default (`llm.default`). The bound name surfaces as
79
+ * {@link OnboardingResult.profileName}.
80
+ */
81
+ role?: RoleName;
82
+ /** Project root passed through to the resolver during the validate step. */
83
+ projectRoot?: string;
84
+ /**
85
+ * Skip the connect-step credential write because an interactive OAuth flow
86
+ * (e.g. `cleo llm login`'s PKCE / device-code dance) has ALREADY landed the
87
+ * credential in the pool. The connect step still resolves the provider and
88
+ * records an `ok` trace, but does NOT call {@link addCredential} a second
89
+ * time. Used by the shared front-door orchestrator (T11725) so the OAuth
90
+ * token is stored exactly once.
91
+ *
92
+ * When `true`, {@link OnboardingLoginOptions.token} is NOT required.
93
+ */
94
+ credentialAlreadyStored?: boolean;
95
+ }
96
+ /**
97
+ * Minimal resolver result the validate step asserts against — a structural
98
+ * subset of `ResolvedLLMForSystem` so a stub resolver need not construct a full
99
+ * client/credential graph.
100
+ *
101
+ * @task T11724
102
+ */
103
+ export interface OnboardingResolution {
104
+ /** Provider the binding resolved to. */
105
+ provider: ModelTransport;
106
+ /** Model the binding resolved to. */
107
+ model: string;
108
+ /**
109
+ * Sealed credential handle (or `null`). The validate step reads only its
110
+ * presence + `tokenPreview` — it NEVER calls `fetch()`, so no secret is
111
+ * materialized during onboarding.
112
+ */
113
+ sealedCredential: {
114
+ tokenPreview: string;
115
+ } | null;
116
+ }
117
+ /**
118
+ * Injectable accessor seam. Defaults to the real `@cleocode/core` accessors;
119
+ * tests override individual members to exercise each step in isolation.
120
+ *
121
+ * @task T11724
122
+ */
123
+ export interface OnboardingDeps {
124
+ /** Resolve a provider profile by name/alias (alias → canonical). */
125
+ getProviderProfile: (name: string) => Promise<ProviderProfile | undefined>;
126
+ /** Persist a credential (Account) into the multi-credential pool. */
127
+ addCredential: (input: {
128
+ provider: ModelTransport;
129
+ label: string;
130
+ authType: StoredAuthType;
131
+ accessToken: string;
132
+ source: string;
133
+ }) => Promise<unknown>;
134
+ /** Map a CLEO provider name to its models.dev catalog key. */
135
+ catalogKeyForProvider: (providerName: string) => string;
136
+ /** Resolve the latest catalog model for a provider, or `null`. */
137
+ resolveProviderDefaultModel: (catalogKey: string) => string | null;
138
+ /** Validate a model id against the catalog for a provider. */
139
+ validateModelForProvider: (model: string, catalogKey: string) => {
140
+ valid: boolean;
141
+ reason: string;
142
+ };
143
+ /** Write a global config value (the `llm.default` / `llm.roles[role]` binding). */
144
+ setConfigValue: (key: string, value: unknown) => Promise<unknown>;
145
+ /**
146
+ * Round-trip resolve the binding for the validate step.
147
+ *
148
+ * `role` is the role the bind step just wrote (`llm.roles[role]`), so the
149
+ * validate resolution MUST target that role — resolving a different role
150
+ * would validate an unrelated binding (T11725 takeover review).
151
+ */
152
+ resolve: (provider: ModelTransport, projectRoot?: string, role?: RoleName) => Promise<OnboardingResolution>;
153
+ }
154
+ /**
155
+ * Run the 3-step onboarding login flow for a provider (T11724 · M3).
156
+ *
157
+ * Walks **connect → select → bind → validate**, reusing the merged credential /
158
+ * catalog / config / resolver accessors. Returns a typed {@link OnboardingResult}
159
+ * envelope with the per-step trace and the non-secret binding identifiers.
160
+ *
161
+ * Like the resolver chokepoint, this engine **never throws** for an expected
162
+ * failure (missing credential, unknown model, config write error): it returns
163
+ * an envelope whose failing step carries `status: 'failed'` and a stable `E_*`
164
+ * `code`, with `validated: false`. Unexpected accessor errors are caught and
165
+ * mapped to a failed step trace as well.
166
+ *
167
+ * @param provider - Provider name or alias (e.g. `'anthropic'`, `'codex'`).
168
+ * @param opts - {@link OnboardingLoginOptions} (token, model, role, …).
169
+ * @param deps - Injectable accessor seam (AC3); defaults to real core accessors.
170
+ * @returns The typed onboarding result envelope; never throws on expected failure.
171
+ *
172
+ * @task T11724
173
+ */
174
+ export declare function runOnboardingLogin(provider: string, opts?: OnboardingLoginOptions, deps?: OnboardingDeps): Promise<OnboardingResult>;
175
+ //# sourceMappingURL=login-engine.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"login-engine.d.ts","sourceRoot":"","sources":["../../../src/llm/onboarding/login-engine.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2CG;AAEH,OAAO,KAAK,EACV,cAAc,EACd,kBAAkB,EAClB,gBAAgB,EAGhB,eAAe,EACf,QAAQ,EACT,MAAM,qBAAqB,CAAC;AAS7B,OAAO,EAAiB,KAAK,cAAc,EAAE,MAAM,yBAAyB,CAAC;AAU7E;;;;GAIG;AACH,MAAM,WAAW,sBAAsB;IACrC;;;;;;;;OAQG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IACf;;;OAGG;IACH,QAAQ,CAAC,EAAE,kBAAkB,CAAC;IAC9B,yFAAyF;IACzF,KAAK,CAAC,EAAE,MAAM,CAAC;IACf;;;;OAIG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IACf;;;;OAIG;IACH,IAAI,CAAC,EAAE,QAAQ,CAAC;IAChB,4EAA4E;IAC5E,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB;;;;;;;;;OASG;IACH,uBAAuB,CAAC,EAAE,OAAO,CAAC;CACnC;AAMD;;;;;;GAMG;AACH,MAAM,WAAW,oBAAoB;IACnC,wCAAwC;IACxC,QAAQ,EAAE,cAAc,CAAC;IACzB,qCAAqC;IACrC,KAAK,EAAE,MAAM,CAAC;IACd;;;;OAIG;IACH,gBAAgB,EAAE;QAAE,YAAY,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI,CAAC;CACnD;AAED;;;;;GAKG;AACH,MAAM,WAAW,cAAc;IAC7B,oEAAoE;IACpE,kBAAkB,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC,eAAe,GAAG,SAAS,CAAC,CAAC;IAC3E,qEAAqE;IACrE,aAAa,EAAE,CAAC,KAAK,EAAE;QACrB,QAAQ,EAAE,cAAc,CAAC;QACzB,KAAK,EAAE,MAAM,CAAC;QACd,QAAQ,EAAE,cAAc,CAAC;QACzB,WAAW,EAAE,MAAM,CAAC;QACpB,MAAM,EAAE,MAAM,CAAC;KAChB,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;IACvB,8DAA8D;IAC9D,qBAAqB,EAAE,CAAC,YAAY,EAAE,MAAM,KAAK,MAAM,CAAC;IACxD,kEAAkE;IAClE,2BAA2B,EAAE,CAAC,UAAU,EAAE,MAAM,KAAK,MAAM,GAAG,IAAI,CAAC;IACnE,8DAA8D;IAC9D,wBAAwB,EAAE,CACxB,KAAK,EAAE,MAAM,EACb,UAAU,EAAE,MAAM,KACf;QAAE,KAAK,EAAE,OAAO,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC;IACxC,mFAAmF;IACnF,cAAc,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;IAClE;;;;;;OAMG;IACH,OAAO,EAAE,CACP,QAAQ,EAAE,cAAc,EACxB,WAAW,CAAC,EAAE,MAAM,EACpB,IAAI,CAAC,EAAE,QAAQ,KACZ,OAAO,CAAC,oBAAoB,CAAC,CAAC;CACpC;AA6ED;;;;;;;;;;;;;;;;;;;GAmBG;AACH,wBAAsB,kBAAkB,CACtC,QAAQ,EAAE,MAAM,EAChB,IAAI,GAAE,sBAA2B,EACjC,IAAI,GAAE,cAA8B,GACnC,OAAO,CAAC,gBAAgB,CAAC,CAqM3B"}
@@ -0,0 +1,286 @@
1
+ /**
2
+ * `runOnboardingLogin` — the 3-step onboarding login engine (T11724 · M3).
3
+ *
4
+ * The imperative front-door flow that takes a provider from a cold start to a
5
+ * usable, validated profile binding. It ORCHESTRATES the already-merged
6
+ * credential / catalog / config / resolver accessors — it does NOT reimplement
7
+ * OAuth, construct a transport, or open an LLM client (Gate-13: chokepoint only).
8
+ *
9
+ * ## The four steps
10
+ *
11
+ * 1. **connect** — resolve the provider (alias → canonical via
12
+ * {@link getProviderProfile}) and land a credential (Account) in the
13
+ * multi-credential pool via {@link addCredential}. The OAuth token / API
14
+ * key is supplied by the caller (`opts.token`): the owner-driven browser
15
+ * step (PKCE / device-code) runs in `cleo llm login` BEFORE this engine,
16
+ * so the engine itself is non-interactive and testable. OAuth-less
17
+ * providers pass the same `opts.token` as an API key (AC4).
18
+ * 2. **select** — choose a model from the catalog: `opts.model` when given
19
+ * (validated against the catalog), else the latest by `release_date` via
20
+ * {@link resolveProviderDefaultModel}.
21
+ * 3. **bind** — write the `llm.default` (or `llm.roles[role]`) config
22
+ * binding tying the account + model together via {@link setConfigValue}.
23
+ * 4. **validate** — round-trip the binding through {@link resolveLLMForSystem}
24
+ * and confirm the resolved provider/model are consistent. NOT a live LLM
25
+ * call: no token is materialized; only resolution metadata is asserted,
26
+ * and the secret stays behind the sealed handle.
27
+ *
28
+ * ## Security (AC2)
29
+ *
30
+ * The {@link OnboardingResult} envelope carries NO secret fields — never an
31
+ * access token, API key, or refresh token. The plaintext is materialized only
32
+ * at the wire via the sealed handle, never on this envelope.
33
+ *
34
+ * ## Testability (AC3)
35
+ *
36
+ * Every step depends only on the injectable {@link OnboardingDeps} seam, which
37
+ * defaults to the real core accessors. Tests pass a {@link StubOnboardingDeps}
38
+ * (stub catalog + in-memory pool/config + stub resolver) to exercise each step
39
+ * in isolation without a live browser, network, or disk.
40
+ *
41
+ * @module llm/onboarding/login-engine
42
+ * @task T11724
43
+ * @epic T11671 (E6-ONBOARDING-FRONT-DOOR)
44
+ */
45
+ import { WHOAMI_ROLE_IDS } from '@cleocode/contracts';
46
+ import { setConfigValue } from '../../config.js';
47
+ import { getLogger } from '../../logger.js';
48
+ import { catalogKeyForProvider, resolveProviderDefaultModel, validateModelForProvider, } from '../catalog-model-resolver.js';
49
+ import { addCredential } from '../credentials-store.js';
50
+ import { getProviderProfile } from '../provider-registry/index.js';
51
+ import { resolveLLMForSystem } from '../system-resolver.js';
52
+ const logger = getLogger('llm-onboarding');
53
+ /**
54
+ * The default dependency set — the real, merged core accessors.
55
+ *
56
+ * @task T11724
57
+ */
58
+ function defaultDeps() {
59
+ return {
60
+ getProviderProfile,
61
+ addCredential: (input) => addCredential(input),
62
+ catalogKeyForProvider,
63
+ resolveProviderDefaultModel: (catalogKey) => resolveProviderDefaultModel(catalogKey),
64
+ validateModelForProvider: (model, catalogKey) => validateModelForProvider(model, catalogKey),
65
+ setConfigValue: (key, value) => setConfigValue(key, value, undefined, { global: true }),
66
+ resolve: async (_provider, projectRoot, role) => {
67
+ const resolved = await resolveLLMForSystem({ kind: 'role', id: role ?? 'consolidation' }, projectRoot !== undefined ? { projectRoot } : undefined);
68
+ // Map the full resolver envelope down to the structural subset the
69
+ // validate step needs. NOTE: we never read or materialize the secret.
70
+ return {
71
+ provider: resolved.provider,
72
+ model: resolved.model,
73
+ sealedCredential: resolved.sealedCredential
74
+ ? { tokenPreview: resolved.sealedCredential.tokenPreview }
75
+ : null,
76
+ };
77
+ },
78
+ };
79
+ }
80
+ // ---------------------------------------------------------------------------
81
+ // Internal step-trace helpers
82
+ // ---------------------------------------------------------------------------
83
+ /** Build an `ok` step trace. @internal */
84
+ function ok(step, detail) {
85
+ return { step, status: 'ok', detail };
86
+ }
87
+ /** Build a `failed` step trace carrying a stable `E_*` code. @internal */
88
+ function fail(step, code, detail) {
89
+ return { step, status: 'failed', detail, code };
90
+ }
91
+ /** Build a `skipped` step trace (downstream of a failure). @internal */
92
+ function skipped(step, detail) {
93
+ return { step, status: 'skipped', detail };
94
+ }
95
+ /**
96
+ * Compose the partial envelope returned when a step fails: the failed step's
97
+ * trace plus a `skipped` trace for every remaining step, so the 4-row shape is
98
+ * always stable.
99
+ *
100
+ * @internal
101
+ */
102
+ function withSkips(done, failedAt) {
103
+ const order = ['connect', 'select', 'bind', 'validate'];
104
+ const steps = [...done, failedAt];
105
+ const seen = new Set(steps.map((s) => s.step));
106
+ for (const name of order) {
107
+ if (!seen.has(name))
108
+ steps.push(skipped(name, 'skipped — earlier step failed'));
109
+ }
110
+ // Re-sort into canonical execution order.
111
+ return order.map((name) => steps.find((s) => s.step === name));
112
+ }
113
+ // ---------------------------------------------------------------------------
114
+ // Public API
115
+ // ---------------------------------------------------------------------------
116
+ /**
117
+ * Run the 3-step onboarding login flow for a provider (T11724 · M3).
118
+ *
119
+ * Walks **connect → select → bind → validate**, reusing the merged credential /
120
+ * catalog / config / resolver accessors. Returns a typed {@link OnboardingResult}
121
+ * envelope with the per-step trace and the non-secret binding identifiers.
122
+ *
123
+ * Like the resolver chokepoint, this engine **never throws** for an expected
124
+ * failure (missing credential, unknown model, config write error): it returns
125
+ * an envelope whose failing step carries `status: 'failed'` and a stable `E_*`
126
+ * `code`, with `validated: false`. Unexpected accessor errors are caught and
127
+ * mapped to a failed step trace as well.
128
+ *
129
+ * @param provider - Provider name or alias (e.g. `'anthropic'`, `'codex'`).
130
+ * @param opts - {@link OnboardingLoginOptions} (token, model, role, …).
131
+ * @param deps - Injectable accessor seam (AC3); defaults to real core accessors.
132
+ * @returns The typed onboarding result envelope; never throws on expected failure.
133
+ *
134
+ * @task T11724
135
+ */
136
+ export async function runOnboardingLogin(provider, opts = {}, deps = defaultDeps()) {
137
+ const label = opts.label?.trim() ? opts.label.trim() : 'oauth-login';
138
+ const done = [];
139
+ // --- Step 1: connect ----------------------------------------------------
140
+ let canonicalProvider;
141
+ let authMode;
142
+ try {
143
+ const profile = await deps.getProviderProfile(provider);
144
+ if (!profile) {
145
+ const step = fail('connect', 'E_UNKNOWN_PROVIDER', `Unknown provider '${provider}'. Run \`cleo llm list-providers\` to see supported providers.`);
146
+ return envelope(withSkips(done, step), provider, label, null, null, null, false);
147
+ }
148
+ canonicalProvider = profile.name;
149
+ // OAuth when the provider profile advertises an OAuth config; else API key (AC4).
150
+ authMode = opts.authMode ?? (profile.oauth ? 'oauth' : 'api_key');
151
+ if (opts.credentialAlreadyStored) {
152
+ // An interactive OAuth flow already landed the credential in the pool
153
+ // (front-door orchestrator path — T11725). Resolve + record connect as
154
+ // ok WITHOUT a second write so the token is stored exactly once.
155
+ done.push(ok('connect', `account '${label}' connected (${authMode}, pre-stored)`));
156
+ }
157
+ else {
158
+ if (!opts.token) {
159
+ const step = fail('connect', 'E_ONBOARDING_NO_CREDENTIAL', `No credential supplied for '${canonicalProvider}'. ` +
160
+ `Complete \`cleo llm login ${canonicalProvider}\` (OAuth) or pass an API key.`);
161
+ return envelope(withSkips(done, step), canonicalProvider, label, null, null, null, false);
162
+ }
163
+ const storedAuthType = authMode === 'oauth' ? 'oauth' : 'api_key';
164
+ await deps.addCredential({
165
+ provider: canonicalProvider,
166
+ label,
167
+ authType: storedAuthType,
168
+ accessToken: opts.token,
169
+ source: 'onboarding-login',
170
+ });
171
+ done.push(ok('connect', `account '${label}' connected (${authMode})`));
172
+ }
173
+ }
174
+ catch (err) {
175
+ const step = fail('connect', 'E_ONBOARDING_CONNECT_FAILED', errMsg(err));
176
+ return envelope(withSkips(done, step), provider, label, null, null, null, false);
177
+ }
178
+ // --- Step 2: select -----------------------------------------------------
179
+ let modelId;
180
+ try {
181
+ const catalogKey = deps.catalogKeyForProvider(canonicalProvider);
182
+ if (opts.model) {
183
+ const validation = deps.validateModelForProvider(opts.model, catalogKey);
184
+ if (!validation.valid && validation.reason === 'not-found') {
185
+ const step = fail('select', 'E_MODEL_NOT_IN_CATALOG', `Model '${opts.model}' is not in the catalog for provider '${canonicalProvider}'. ` +
186
+ `Run \`cleo llm refresh-catalog\` to update the catalog.`);
187
+ return envelope(withSkips(done, step), canonicalProvider, label, authMode, null, null, false);
188
+ }
189
+ modelId = opts.model;
190
+ done.push(ok('select', `model '${modelId}' selected (explicit, validated)`));
191
+ }
192
+ else {
193
+ const latest = deps.resolveProviderDefaultModel(catalogKey);
194
+ if (!latest) {
195
+ const step = fail('select', 'E_NO_CATALOG_MODEL', `No catalog model available for '${canonicalProvider}'. ` +
196
+ `Run \`cleo llm refresh-catalog\`, or pass an explicit \`--model\`.`);
197
+ return envelope(withSkips(done, step), canonicalProvider, label, authMode, null, null, false);
198
+ }
199
+ modelId = latest;
200
+ done.push(ok('select', `model '${modelId}' selected (catalog default, latest release_date)`));
201
+ }
202
+ }
203
+ catch (err) {
204
+ const step = fail('select', 'E_ONBOARDING_SELECT_FAILED', errMsg(err));
205
+ return envelope(withSkips(done, step), canonicalProvider, label, authMode, null, null, false);
206
+ }
207
+ // --- Step 3: bind -------------------------------------------------------
208
+ let profileName;
209
+ try {
210
+ if (opts.role) {
211
+ if (!WHOAMI_ROLE_IDS.includes(opts.role)) {
212
+ const step = fail('bind', 'E_INVALID_ROLE', `Invalid role '${opts.role}'. Valid roles: ${WHOAMI_ROLE_IDS.join(', ')}.`);
213
+ return envelope(withSkips(done, step), canonicalProvider, label, authMode, modelId, null, false);
214
+ }
215
+ await deps.setConfigValue(`llm.roles.${opts.role}.provider`, canonicalProvider);
216
+ await deps.setConfigValue(`llm.roles.${opts.role}.model`, modelId);
217
+ await deps.setConfigValue(`llm.roles.${opts.role}.credentialLabel`, label);
218
+ profileName = opts.role;
219
+ done.push(ok('bind', `profile '${profileName}' bound → ${canonicalProvider}/${modelId}`));
220
+ }
221
+ else {
222
+ await deps.setConfigValue('llm.default.provider', canonicalProvider);
223
+ await deps.setConfigValue('llm.default.model', modelId);
224
+ profileName = 'default';
225
+ done.push(ok('bind', `default binding → ${canonicalProvider}/${modelId}`));
226
+ }
227
+ }
228
+ catch (err) {
229
+ const step = fail('bind', 'E_ONBOARDING_BIND_FAILED', errMsg(err));
230
+ return envelope(withSkips(done, step), canonicalProvider, label, authMode, modelId, null, false);
231
+ }
232
+ // --- Step 4: validate ---------------------------------------------------
233
+ try {
234
+ const resolved = await deps.resolve(canonicalProvider, opts.projectRoot, opts.role);
235
+ const providerMatch = resolved.provider === canonicalProvider;
236
+ const modelMatch = resolved.model === modelId;
237
+ const hasHandle = resolved.sealedCredential !== null;
238
+ if (providerMatch && modelMatch && hasHandle) {
239
+ done.push(ok('validate', `round-trip ok — resolves to ${resolved.provider}/${resolved.model} ` +
240
+ `(sealed handle ${resolved.sealedCredential?.tokenPreview ?? '…'})`));
241
+ return envelope(done, canonicalProvider, label, authMode, modelId, profileName, true);
242
+ }
243
+ const reason = !hasHandle
244
+ ? 'no credential handle resolved'
245
+ : `resolved ${resolved.provider}/${resolved.model}, expected ${canonicalProvider}/${modelId}`;
246
+ const step = fail('validate', 'E_ONBOARDING_VALIDATION_FAILED', `binding inconsistent — ${reason}`);
247
+ return envelope([...done, step], canonicalProvider, label, authMode, modelId, profileName, false);
248
+ }
249
+ catch (err) {
250
+ const step = fail('validate', 'E_ONBOARDING_VALIDATION_FAILED', errMsg(err));
251
+ return envelope([...done, step], canonicalProvider, label, authMode, modelId, profileName, false);
252
+ }
253
+ }
254
+ // ---------------------------------------------------------------------------
255
+ // Internal helpers
256
+ // ---------------------------------------------------------------------------
257
+ /**
258
+ * Assemble the {@link OnboardingResult} envelope. Centralised so every return
259
+ * path produces an identically-shaped, secret-free result.
260
+ *
261
+ * @internal
262
+ */
263
+ function envelope(steps, provider, accountLabel, authMode, modelId, profileName, validated) {
264
+ return {
265
+ steps,
266
+ provider,
267
+ accountLabel,
268
+ authMode,
269
+ modelId,
270
+ profileName,
271
+ validated,
272
+ };
273
+ }
274
+ /**
275
+ * Extract a short, secret-free message from an unknown thrown value. The
276
+ * onboarding accessors already redact their own error strings; this is a final
277
+ * defensive narrow so the envelope never carries a raw stack.
278
+ *
279
+ * @internal
280
+ */
281
+ function errMsg(err) {
282
+ const raw = err instanceof Error ? err.message : String(err);
283
+ logger.debug({ err: raw }, 'onboarding: step accessor error');
284
+ return raw;
285
+ }
286
+ //# sourceMappingURL=login-engine.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"login-engine.js","sourceRoot":"","sources":["../../../src/llm/onboarding/login-engine.ts"],"names":[],"mappings":"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"}