@cleocode/core 2026.4.30 → 2026.4.35

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 (1039) hide show
  1. package/dist/adapters/adapter-registry.js +64 -0
  2. package/dist/adapters/adapter-registry.js.map +1 -0
  3. package/dist/adapters/discovery.js +83 -0
  4. package/dist/adapters/discovery.js.map +1 -0
  5. package/dist/adapters/index.js +9 -0
  6. package/dist/adapters/index.js.map +1 -0
  7. package/dist/adapters/manager.js +260 -0
  8. package/dist/adapters/manager.js.map +1 -0
  9. package/dist/admin/export-tasks.js +171 -0
  10. package/dist/admin/export-tasks.js.map +1 -0
  11. package/dist/admin/export.js +103 -0
  12. package/dist/admin/export.js.map +1 -0
  13. package/dist/admin/help.js +106 -0
  14. package/dist/admin/help.js.map +1 -0
  15. package/dist/admin/import-tasks.js +182 -0
  16. package/dist/admin/import-tasks.js.map +1 -0
  17. package/dist/admin/import.js +129 -0
  18. package/dist/admin/import.js.map +1 -0
  19. package/dist/admin/index.js +13 -0
  20. package/dist/admin/index.js.map +1 -0
  21. package/dist/adrs/find.js +134 -0
  22. package/dist/adrs/find.js.map +1 -0
  23. package/dist/adrs/index.js +15 -0
  24. package/dist/adrs/index.js.map +1 -0
  25. package/dist/adrs/link-pipeline.js +160 -0
  26. package/dist/adrs/link-pipeline.js.map +1 -0
  27. package/dist/adrs/list.js +43 -0
  28. package/dist/adrs/list.js.map +1 -0
  29. package/dist/adrs/parse.js +51 -0
  30. package/dist/adrs/parse.js.map +1 -0
  31. package/dist/adrs/show.js +22 -0
  32. package/dist/adrs/show.js.map +1 -0
  33. package/dist/adrs/sync.js +232 -0
  34. package/dist/adrs/sync.js.map +1 -0
  35. package/dist/adrs/types.js +9 -0
  36. package/dist/adrs/types.js.map +1 -0
  37. package/dist/adrs/validate.js +57 -0
  38. package/dist/adrs/validate.js.map +1 -0
  39. package/dist/agents/agent-registry.js +288 -0
  40. package/dist/agents/agent-registry.js.map +1 -0
  41. package/dist/agents/agent-schema.js +82 -0
  42. package/dist/agents/agent-schema.js.map +1 -0
  43. package/dist/agents/capacity.js +116 -0
  44. package/dist/agents/capacity.js.map +1 -0
  45. package/dist/agents/execution-learning.js +474 -0
  46. package/dist/agents/execution-learning.js.map +1 -0
  47. package/dist/agents/health-monitor.js +217 -0
  48. package/dist/agents/health-monitor.js.map +1 -0
  49. package/dist/agents/index.js +29 -0
  50. package/dist/agents/index.js.map +1 -0
  51. package/dist/agents/registry.js +314 -0
  52. package/dist/agents/registry.js.map +1 -0
  53. package/dist/agents/retry.js +215 -0
  54. package/dist/agents/retry.js.map +1 -0
  55. package/dist/audit-prune.js +94 -0
  56. package/dist/audit-prune.js.map +1 -0
  57. package/dist/audit.js +68 -0
  58. package/dist/audit.js.map +1 -0
  59. package/dist/backfill/index.js +229 -0
  60. package/dist/backfill/index.js.map +1 -0
  61. package/dist/bootstrap.d.ts +35 -0
  62. package/dist/bootstrap.d.ts.map +1 -1
  63. package/dist/bootstrap.js +435 -0
  64. package/dist/bootstrap.js.map +1 -0
  65. package/dist/caamp/adapter.js +259 -0
  66. package/dist/caamp/adapter.js.map +1 -0
  67. package/dist/caamp/capability-check.js +38 -0
  68. package/dist/caamp/capability-check.js.map +1 -0
  69. package/dist/caamp/index.js +21 -0
  70. package/dist/caamp/index.js.map +1 -0
  71. package/dist/caamp-init.js +16 -0
  72. package/dist/caamp-init.js.map +1 -0
  73. package/dist/cleo.js +322 -0
  74. package/dist/cleo.js.map +1 -0
  75. package/dist/code/index.d.ts +8 -4
  76. package/dist/code/index.d.ts.map +1 -1
  77. package/dist/code/index.js +14 -0
  78. package/dist/code/index.js.map +1 -0
  79. package/dist/code/outline.js +165 -0
  80. package/dist/code/outline.js.map +1 -0
  81. package/dist/code/parser.d.ts +22 -9
  82. package/dist/code/parser.d.ts.map +1 -1
  83. package/dist/code/parser.js +420 -0
  84. package/dist/code/parser.js.map +1 -0
  85. package/dist/code/search.js +135 -0
  86. package/dist/code/search.js.map +1 -0
  87. package/dist/code/unfold.js +155 -0
  88. package/dist/code/unfold.js.map +1 -0
  89. package/dist/codebase-map/analyzers/architecture.js +129 -0
  90. package/dist/codebase-map/analyzers/architecture.js.map +1 -0
  91. package/dist/codebase-map/analyzers/concerns.js +122 -0
  92. package/dist/codebase-map/analyzers/concerns.js.map +1 -0
  93. package/dist/codebase-map/analyzers/conventions.js +149 -0
  94. package/dist/codebase-map/analyzers/conventions.js.map +1 -0
  95. package/dist/codebase-map/analyzers/integrations.js +108 -0
  96. package/dist/codebase-map/analyzers/integrations.js.map +1 -0
  97. package/dist/codebase-map/analyzers/stack.js +117 -0
  98. package/dist/codebase-map/analyzers/stack.js.map +1 -0
  99. package/dist/codebase-map/analyzers/structure.js +137 -0
  100. package/dist/codebase-map/analyzers/structure.js.map +1 -0
  101. package/dist/codebase-map/analyzers/testing.js +118 -0
  102. package/dist/codebase-map/analyzers/testing.js.map +1 -0
  103. package/dist/codebase-map/index.js +57 -0
  104. package/dist/codebase-map/index.js.map +1 -0
  105. package/dist/codebase-map/store.js +122 -0
  106. package/dist/codebase-map/store.js.map +1 -0
  107. package/dist/codebase-map/summary.js +152 -0
  108. package/dist/codebase-map/summary.js.map +1 -0
  109. package/dist/compliance/index.js +288 -0
  110. package/dist/compliance/index.js.map +1 -0
  111. package/dist/compliance/protocol-enforcement.js +332 -0
  112. package/dist/compliance/protocol-enforcement.js.map +1 -0
  113. package/dist/compliance/protocol-rules.js +786 -0
  114. package/dist/compliance/protocol-rules.js.map +1 -0
  115. package/dist/compliance/protocol-types.js +79 -0
  116. package/dist/compliance/protocol-types.js.map +1 -0
  117. package/dist/compliance/store.js +53 -0
  118. package/dist/compliance/store.js.map +1 -0
  119. package/dist/conduit/conduit-client.js +107 -0
  120. package/dist/conduit/conduit-client.js.map +1 -0
  121. package/dist/conduit/factory.js +52 -0
  122. package/dist/conduit/factory.js.map +1 -0
  123. package/dist/conduit/http-transport.js +155 -0
  124. package/dist/conduit/http-transport.js.map +1 -0
  125. package/dist/conduit/index.js +15 -0
  126. package/dist/conduit/index.js.map +1 -0
  127. package/dist/conduit/local-transport.js +255 -0
  128. package/dist/conduit/local-transport.js.map +1 -0
  129. package/dist/conduit/sse-transport.js +299 -0
  130. package/dist/conduit/sse-transport.js.map +1 -0
  131. package/dist/config/build-config.js +29 -0
  132. package/dist/config/build-config.js.map +1 -0
  133. package/dist/config.js +400 -0
  134. package/dist/config.js.map +1 -0
  135. package/dist/constants.js +18 -0
  136. package/dist/constants.js.map +1 -0
  137. package/dist/context/index.js +137 -0
  138. package/dist/context/index.js.map +1 -0
  139. package/dist/crypto/credentials.js +219 -0
  140. package/dist/crypto/credentials.js.map +1 -0
  141. package/dist/discovery.js +182 -0
  142. package/dist/discovery.js.map +1 -0
  143. package/dist/engine-result.js +12 -0
  144. package/dist/engine-result.js.map +1 -0
  145. package/dist/error-catalog.js +404 -0
  146. package/dist/error-catalog.js.map +1 -0
  147. package/dist/error-registry.js +393 -0
  148. package/dist/error-registry.js.map +1 -0
  149. package/dist/errors.js +173 -0
  150. package/dist/errors.js.map +1 -0
  151. package/dist/hooks/handlers/agent-hooks.js +106 -0
  152. package/dist/hooks/handlers/agent-hooks.js.map +1 -0
  153. package/dist/hooks/handlers/context-hooks.js +111 -0
  154. package/dist/hooks/handlers/context-hooks.js.map +1 -0
  155. package/dist/hooks/handlers/error-hooks.js +52 -0
  156. package/dist/hooks/handlers/error-hooks.js.map +1 -0
  157. package/dist/hooks/handlers/file-hooks.js +104 -0
  158. package/dist/hooks/handlers/file-hooks.js.map +1 -0
  159. package/dist/hooks/handlers/handler-helpers.js +61 -0
  160. package/dist/hooks/handlers/handler-helpers.js.map +1 -0
  161. package/dist/hooks/handlers/index.d.ts +4 -0
  162. package/dist/hooks/handlers/index.d.ts.map +1 -1
  163. package/dist/hooks/handlers/index.js +34 -0
  164. package/dist/hooks/handlers/index.js.map +1 -0
  165. package/dist/hooks/handlers/intelligence-hooks.d.ts +26 -0
  166. package/dist/hooks/handlers/intelligence-hooks.d.ts.map +1 -0
  167. package/dist/hooks/handlers/intelligence-hooks.js +69 -0
  168. package/dist/hooks/handlers/intelligence-hooks.js.map +1 -0
  169. package/dist/hooks/handlers/memory-bridge-refresh.js +42 -0
  170. package/dist/hooks/handlers/memory-bridge-refresh.js.map +1 -0
  171. package/dist/hooks/handlers/notification-hooks.js +62 -0
  172. package/dist/hooks/handlers/notification-hooks.js.map +1 -0
  173. package/dist/hooks/handlers/session-hooks.d.ts +27 -4
  174. package/dist/hooks/handlers/session-hooks.d.ts.map +1 -1
  175. package/dist/hooks/handlers/session-hooks.js +157 -0
  176. package/dist/hooks/handlers/session-hooks.js.map +1 -0
  177. package/dist/hooks/handlers/task-hooks.js +65 -0
  178. package/dist/hooks/handlers/task-hooks.js.map +1 -0
  179. package/dist/hooks/handlers/watchdog-hooks.d.ts +49 -0
  180. package/dist/hooks/handlers/watchdog-hooks.d.ts.map +1 -0
  181. package/dist/hooks/handlers/watchdog-hooks.js +162 -0
  182. package/dist/hooks/handlers/watchdog-hooks.js.map +1 -0
  183. package/dist/hooks/handlers/work-capture-hooks.js +165 -0
  184. package/dist/hooks/handlers/work-capture-hooks.js.map +1 -0
  185. package/dist/hooks/index.js +13 -0
  186. package/dist/hooks/index.js.map +1 -0
  187. package/dist/hooks/payload-schemas.d.ts +6 -6
  188. package/dist/hooks/payload-schemas.js +220 -0
  189. package/dist/hooks/payload-schemas.js.map +1 -0
  190. package/dist/hooks/provider-hooks.js +66 -0
  191. package/dist/hooks/provider-hooks.js.map +1 -0
  192. package/dist/hooks/registry.js +229 -0
  193. package/dist/hooks/registry.js.map +1 -0
  194. package/dist/hooks/types.js +66 -0
  195. package/dist/hooks/types.js.map +1 -0
  196. package/dist/hooks.js +136 -0
  197. package/dist/hooks.js.map +1 -0
  198. package/dist/index.d.ts +2 -0
  199. package/dist/index.d.ts.map +1 -1
  200. package/dist/index.js +8765 -6253
  201. package/dist/index.js.map +4 -4
  202. package/dist/init.js +920 -0
  203. package/dist/init.js.map +1 -0
  204. package/dist/inject/index.js +82 -0
  205. package/dist/inject/index.js.map +1 -0
  206. package/dist/injection.d.ts +13 -1
  207. package/dist/injection.d.ts.map +1 -1
  208. package/dist/injection.js +377 -0
  209. package/dist/injection.js.map +1 -0
  210. package/dist/intelligence/adaptive-validation.js +497 -0
  211. package/dist/intelligence/adaptive-validation.js.map +1 -0
  212. package/dist/intelligence/impact.js +675 -0
  213. package/dist/intelligence/impact.js.map +1 -0
  214. package/dist/intelligence/index.js +22 -0
  215. package/dist/intelligence/index.js.map +1 -0
  216. package/dist/intelligence/patterns.js +492 -0
  217. package/dist/intelligence/patterns.js.map +1 -0
  218. package/dist/intelligence/prediction.js +499 -0
  219. package/dist/intelligence/prediction.js.map +1 -0
  220. package/dist/intelligence/types.js +13 -0
  221. package/dist/intelligence/types.js.map +1 -0
  222. package/dist/internal.d.ts +18 -10
  223. package/dist/internal.d.ts.map +1 -1
  224. package/dist/internal.js +320 -0
  225. package/dist/internal.js.map +1 -0
  226. package/dist/issue/create.js +121 -0
  227. package/dist/issue/create.js.map +1 -0
  228. package/dist/issue/diagnostics.js +59 -0
  229. package/dist/issue/diagnostics.js.map +1 -0
  230. package/dist/issue/index.js +10 -0
  231. package/dist/issue/index.js.map +1 -0
  232. package/dist/issue/template-parser.js +267 -0
  233. package/dist/issue/template-parser.js.map +1 -0
  234. package/dist/json-schema-validator.js +76 -0
  235. package/dist/json-schema-validator.js.map +1 -0
  236. package/dist/lib/index.js +11 -0
  237. package/dist/lib/index.js.map +1 -0
  238. package/dist/lib/retry.js +152 -0
  239. package/dist/lib/retry.js.map +1 -0
  240. package/dist/lib/tree-sitter-languages.d.ts +11 -7
  241. package/dist/lib/tree-sitter-languages.d.ts.map +1 -1
  242. package/dist/lib/tree-sitter-languages.js +75 -0
  243. package/dist/lib/tree-sitter-languages.js.map +1 -0
  244. package/dist/lifecycle/chain-composition.js +152 -0
  245. package/dist/lifecycle/chain-composition.js.map +1 -0
  246. package/dist/lifecycle/chain-store.js +246 -0
  247. package/dist/lifecycle/chain-store.js.map +1 -0
  248. package/dist/lifecycle/consolidate-rcasd.js +352 -0
  249. package/dist/lifecycle/consolidate-rcasd.js.map +1 -0
  250. package/dist/lifecycle/default-chain.js +176 -0
  251. package/dist/lifecycle/default-chain.js.map +1 -0
  252. package/dist/lifecycle/evidence.js +180 -0
  253. package/dist/lifecycle/evidence.js.map +1 -0
  254. package/dist/lifecycle/frontmatter.js +363 -0
  255. package/dist/lifecycle/frontmatter.js.map +1 -0
  256. package/dist/lifecycle/index.js +756 -0
  257. package/dist/lifecycle/index.js.map +1 -0
  258. package/dist/lifecycle/pipeline.js +656 -0
  259. package/dist/lifecycle/pipeline.js.map +1 -0
  260. package/dist/lifecycle/rcasd-index.js +326 -0
  261. package/dist/lifecycle/rcasd-index.js.map +1 -0
  262. package/dist/lifecycle/rcasd-paths.js +220 -0
  263. package/dist/lifecycle/rcasd-paths.js.map +1 -0
  264. package/dist/lifecycle/resume.js +864 -0
  265. package/dist/lifecycle/resume.js.map +1 -0
  266. package/dist/lifecycle/stage-artifacts.js +94 -0
  267. package/dist/lifecycle/stage-artifacts.js.map +1 -0
  268. package/dist/lifecycle/stage-guidance.js +234 -0
  269. package/dist/lifecycle/stage-guidance.js.map +1 -0
  270. package/dist/lifecycle/stages.js +534 -0
  271. package/dist/lifecycle/stages.js.map +1 -0
  272. package/dist/lifecycle/state-machine.js +516 -0
  273. package/dist/lifecycle/state-machine.js.map +1 -0
  274. package/dist/lifecycle/tessera-engine.js +249 -0
  275. package/dist/lifecycle/tessera-engine.js.map +1 -0
  276. package/dist/logger.js +140 -0
  277. package/dist/logger.js.map +1 -0
  278. package/dist/memory/auto-extract.d.ts +27 -15
  279. package/dist/memory/auto-extract.d.ts.map +1 -1
  280. package/dist/memory/auto-extract.js +96 -0
  281. package/dist/memory/auto-extract.js.map +1 -0
  282. package/dist/memory/brain-backfill.d.ts +59 -0
  283. package/dist/memory/brain-backfill.d.ts.map +1 -0
  284. package/dist/memory/brain-backfill.js +389 -0
  285. package/dist/memory/brain-backfill.js.map +1 -0
  286. package/dist/memory/brain-consolidator.d.ts +48 -0
  287. package/dist/memory/brain-consolidator.d.ts.map +1 -0
  288. package/dist/memory/brain-consolidator.js +294 -0
  289. package/dist/memory/brain-consolidator.js.map +1 -0
  290. package/dist/memory/brain-embedding.js +66 -0
  291. package/dist/memory/brain-embedding.js.map +1 -0
  292. package/dist/memory/brain-lifecycle.d.ts +83 -2
  293. package/dist/memory/brain-lifecycle.d.ts.map +1 -1
  294. package/dist/memory/brain-lifecycle.js +807 -0
  295. package/dist/memory/brain-lifecycle.js.map +1 -0
  296. package/dist/memory/brain-links.js +161 -0
  297. package/dist/memory/brain-links.js.map +1 -0
  298. package/dist/memory/brain-maintenance.js +114 -0
  299. package/dist/memory/brain-maintenance.js.map +1 -0
  300. package/dist/memory/brain-migration.js +149 -0
  301. package/dist/memory/brain-migration.js.map +1 -0
  302. package/dist/memory/brain-purge.d.ts +51 -0
  303. package/dist/memory/brain-purge.d.ts.map +1 -0
  304. package/dist/memory/brain-purge.js +243 -0
  305. package/dist/memory/brain-purge.js.map +1 -0
  306. package/dist/memory/brain-reasoning.js +215 -0
  307. package/dist/memory/brain-reasoning.js.map +1 -0
  308. package/dist/memory/brain-retrieval.d.ts +69 -1
  309. package/dist/memory/brain-retrieval.d.ts.map +1 -1
  310. package/dist/memory/brain-retrieval.js +912 -0
  311. package/dist/memory/brain-retrieval.js.map +1 -0
  312. package/dist/memory/brain-row-types.js +10 -0
  313. package/dist/memory/brain-row-types.js.map +1 -0
  314. package/dist/memory/brain-search.d.ts.map +1 -1
  315. package/dist/memory/brain-search.js +528 -0
  316. package/dist/memory/brain-search.js.map +1 -0
  317. package/dist/memory/brain-similarity.js +145 -0
  318. package/dist/memory/brain-similarity.js.map +1 -0
  319. package/dist/memory/claude-mem-migration.js +277 -0
  320. package/dist/memory/claude-mem-migration.js.map +1 -0
  321. package/dist/memory/decisions.d.ts.map +1 -1
  322. package/dist/memory/decisions.js +218 -0
  323. package/dist/memory/decisions.js.map +1 -0
  324. package/dist/memory/embedding-local.js +102 -0
  325. package/dist/memory/embedding-local.js.map +1 -0
  326. package/dist/memory/embedding-queue.js +271 -0
  327. package/dist/memory/embedding-queue.js.map +1 -0
  328. package/dist/memory/embedding-worker.js +58 -0
  329. package/dist/memory/embedding-worker.js.map +1 -0
  330. package/dist/memory/engine-compat.d.ts +71 -0
  331. package/dist/memory/engine-compat.d.ts.map +1 -1
  332. package/dist/memory/engine-compat.js +1564 -0
  333. package/dist/memory/engine-compat.js.map +1 -0
  334. package/dist/memory/extraction-gate.d.ts +139 -0
  335. package/dist/memory/extraction-gate.d.ts.map +1 -0
  336. package/dist/memory/extraction-gate.js +459 -0
  337. package/dist/memory/extraction-gate.js.map +1 -0
  338. package/dist/memory/graph-auto-populate.d.ts +65 -0
  339. package/dist/memory/graph-auto-populate.d.ts.map +1 -0
  340. package/dist/memory/graph-auto-populate.js +148 -0
  341. package/dist/memory/graph-auto-populate.js.map +1 -0
  342. package/dist/memory/graph-queries.d.ts +127 -0
  343. package/dist/memory/graph-queries.d.ts.map +1 -0
  344. package/dist/memory/graph-queries.js +290 -0
  345. package/dist/memory/graph-queries.js.map +1 -0
  346. package/dist/memory/index.d.ts +2 -0
  347. package/dist/memory/index.d.ts.map +1 -1
  348. package/dist/memory/index.js +1144 -0
  349. package/dist/memory/index.js.map +1 -0
  350. package/dist/memory/learnings.d.ts +16 -0
  351. package/dist/memory/learnings.d.ts.map +1 -1
  352. package/dist/memory/learnings.js +178 -0
  353. package/dist/memory/learnings.js.map +1 -0
  354. package/dist/memory/memory-bridge.js +370 -0
  355. package/dist/memory/memory-bridge.js.map +1 -0
  356. package/dist/memory/mental-model-injection.js +61 -0
  357. package/dist/memory/mental-model-injection.js.map +1 -0
  358. package/dist/memory/mental-model-queue.js +211 -0
  359. package/dist/memory/mental-model-queue.js.map +1 -0
  360. package/dist/memory/patterns.d.ts +26 -4
  361. package/dist/memory/patterns.d.ts.map +1 -1
  362. package/dist/memory/patterns.js +174 -0
  363. package/dist/memory/patterns.js.map +1 -0
  364. package/dist/memory/pipeline-manifest-sqlite.js +975 -0
  365. package/dist/memory/pipeline-manifest-sqlite.js.map +1 -0
  366. package/dist/memory/quality-scoring.d.ts +127 -0
  367. package/dist/memory/quality-scoring.d.ts.map +1 -0
  368. package/dist/memory/quality-scoring.js +182 -0
  369. package/dist/memory/quality-scoring.js.map +1 -0
  370. package/dist/memory/session-memory.js +331 -0
  371. package/dist/memory/session-memory.js.map +1 -0
  372. package/dist/metrics/ab-test.js +260 -0
  373. package/dist/metrics/ab-test.js.map +1 -0
  374. package/dist/metrics/aggregation.js +363 -0
  375. package/dist/metrics/aggregation.js.map +1 -0
  376. package/dist/metrics/common.js +64 -0
  377. package/dist/metrics/common.js.map +1 -0
  378. package/dist/metrics/enums.js +78 -0
  379. package/dist/metrics/enums.js.map +1 -0
  380. package/dist/metrics/index.js +19 -0
  381. package/dist/metrics/index.js.map +1 -0
  382. package/dist/metrics/model-provider-registry.js +88 -0
  383. package/dist/metrics/model-provider-registry.js.map +1 -0
  384. package/dist/metrics/otel-integration.js +263 -0
  385. package/dist/metrics/otel-integration.js.map +1 -0
  386. package/dist/metrics/provider-detection.js +103 -0
  387. package/dist/metrics/provider-detection.js.map +1 -0
  388. package/dist/metrics/token-estimation.js +253 -0
  389. package/dist/metrics/token-estimation.js.map +1 -0
  390. package/dist/metrics/token-service.js +450 -0
  391. package/dist/metrics/token-service.js.map +1 -0
  392. package/dist/migration/agent-outputs.js +316 -0
  393. package/dist/migration/agent-outputs.js.map +1 -0
  394. package/dist/migration/checksum.js +92 -0
  395. package/dist/migration/checksum.js.map +1 -0
  396. package/dist/migration/index.js +282 -0
  397. package/dist/migration/index.js.map +1 -0
  398. package/dist/migration/logger.js +360 -0
  399. package/dist/migration/logger.js.map +1 -0
  400. package/dist/migration/preflight.js +9 -0
  401. package/dist/migration/preflight.js.map +1 -0
  402. package/dist/migration/state.js +421 -0
  403. package/dist/migration/state.js.map +1 -0
  404. package/dist/migration/validate.js +241 -0
  405. package/dist/migration/validate.js.map +1 -0
  406. package/dist/mvi-helpers.js +73 -0
  407. package/dist/mvi-helpers.js.map +1 -0
  408. package/dist/nexus/deps.js +375 -0
  409. package/dist/nexus/deps.js.map +1 -0
  410. package/dist/nexus/discover.js +288 -0
  411. package/dist/nexus/discover.js.map +1 -0
  412. package/dist/nexus/hash.js +10 -0
  413. package/dist/nexus/hash.js.map +1 -0
  414. package/dist/nexus/index.js +40 -0
  415. package/dist/nexus/index.js.map +1 -0
  416. package/dist/nexus/migrate-json-to-sqlite.js +115 -0
  417. package/dist/nexus/migrate-json-to-sqlite.js.map +1 -0
  418. package/dist/nexus/nexus-bridge.d.ts +51 -0
  419. package/dist/nexus/nexus-bridge.d.ts.map +1 -0
  420. package/dist/nexus/nexus-bridge.js +321 -0
  421. package/dist/nexus/nexus-bridge.js.map +1 -0
  422. package/dist/nexus/permissions.js +105 -0
  423. package/dist/nexus/permissions.js.map +1 -0
  424. package/dist/nexus/query.js +175 -0
  425. package/dist/nexus/query.js.map +1 -0
  426. package/dist/nexus/registry.js +584 -0
  427. package/dist/nexus/registry.js.map +1 -0
  428. package/dist/nexus/sharing/index.js +288 -0
  429. package/dist/nexus/sharing/index.js.map +1 -0
  430. package/dist/nexus/transfer-types.js +8 -0
  431. package/dist/nexus/transfer-types.js.map +1 -0
  432. package/dist/nexus/transfer.js +271 -0
  433. package/dist/nexus/transfer.js.map +1 -0
  434. package/dist/nexus/workspace.js +355 -0
  435. package/dist/nexus/workspace.js.map +1 -0
  436. package/dist/observability/index.js +103 -0
  437. package/dist/observability/index.js.map +1 -0
  438. package/dist/observability/log-filter.js +63 -0
  439. package/dist/observability/log-filter.js.map +1 -0
  440. package/dist/observability/log-parser.js +99 -0
  441. package/dist/observability/log-parser.js.map +1 -0
  442. package/dist/observability/log-reader.js +139 -0
  443. package/dist/observability/log-reader.js.map +1 -0
  444. package/dist/observability/types.js +19 -0
  445. package/dist/observability/types.js.map +1 -0
  446. package/dist/orchestration/analyze.js +107 -0
  447. package/dist/orchestration/analyze.js.map +1 -0
  448. package/dist/orchestration/bootstrap.js +132 -0
  449. package/dist/orchestration/bootstrap.js.map +1 -0
  450. package/dist/orchestration/context.js +56 -0
  451. package/dist/orchestration/context.js.map +1 -0
  452. package/dist/orchestration/critical-path.js +100 -0
  453. package/dist/orchestration/critical-path.js.map +1 -0
  454. package/dist/orchestration/hierarchy.js +183 -0
  455. package/dist/orchestration/hierarchy.js.map +1 -0
  456. package/dist/orchestration/index.js +287 -0
  457. package/dist/orchestration/index.js.map +1 -0
  458. package/dist/orchestration/parallel.js +89 -0
  459. package/dist/orchestration/parallel.js.map +1 -0
  460. package/dist/orchestration/protocol-validators.js +815 -0
  461. package/dist/orchestration/protocol-validators.js.map +1 -0
  462. package/dist/orchestration/skill-ops.js +98 -0
  463. package/dist/orchestration/skill-ops.js.map +1 -0
  464. package/dist/orchestration/status.js +107 -0
  465. package/dist/orchestration/status.js.map +1 -0
  466. package/dist/orchestration/unblock.js +103 -0
  467. package/dist/orchestration/unblock.js.map +1 -0
  468. package/dist/orchestration/validate-spawn.js +67 -0
  469. package/dist/orchestration/validate-spawn.js.map +1 -0
  470. package/dist/orchestration/waves.js +86 -0
  471. package/dist/orchestration/waves.js.map +1 -0
  472. package/dist/otel/index.js +163 -0
  473. package/dist/otel/index.js.map +1 -0
  474. package/dist/output.js +164 -0
  475. package/dist/output.js.map +1 -0
  476. package/dist/pagination.js +64 -0
  477. package/dist/pagination.js.map +1 -0
  478. package/dist/paths.js +882 -0
  479. package/dist/paths.js.map +1 -0
  480. package/dist/phases/deps.js +372 -0
  481. package/dist/phases/deps.js.map +1 -0
  482. package/dist/phases/index.js +349 -0
  483. package/dist/phases/index.js.map +1 -0
  484. package/dist/pipeline/index.js +10 -0
  485. package/dist/pipeline/index.js.map +1 -0
  486. package/dist/pipeline/phase.js +45 -0
  487. package/dist/pipeline/phase.js.map +1 -0
  488. package/dist/platform.js +211 -0
  489. package/dist/platform.js.map +1 -0
  490. package/dist/project-info.js +84 -0
  491. package/dist/project-info.js.map +1 -0
  492. package/dist/reconciliation/index.js +10 -0
  493. package/dist/reconciliation/index.js.map +1 -0
  494. package/dist/reconciliation/link-store.js +175 -0
  495. package/dist/reconciliation/link-store.js.map +1 -0
  496. package/dist/reconciliation/reconciliation-engine.js +298 -0
  497. package/dist/reconciliation/reconciliation-engine.js.map +1 -0
  498. package/dist/release/artifacts.js +427 -0
  499. package/dist/release/artifacts.js.map +1 -0
  500. package/dist/release/changelog-writer.js +151 -0
  501. package/dist/release/changelog-writer.js.map +1 -0
  502. package/dist/release/channel.js +144 -0
  503. package/dist/release/channel.js.map +1 -0
  504. package/dist/release/ci.js +166 -0
  505. package/dist/release/ci.js.map +1 -0
  506. package/dist/release/github-pr.js +225 -0
  507. package/dist/release/github-pr.js.map +1 -0
  508. package/dist/release/guards.js +116 -0
  509. package/dist/release/guards.js.map +1 -0
  510. package/dist/release/index.js +22 -0
  511. package/dist/release/index.js.map +1 -0
  512. package/dist/release/release-config.js +158 -0
  513. package/dist/release/release-config.js.map +1 -0
  514. package/dist/release/release-manifest.js +1019 -0
  515. package/dist/release/release-manifest.js.map +1 -0
  516. package/dist/release/version-bump.js +255 -0
  517. package/dist/release/version-bump.js.map +1 -0
  518. package/dist/remote/index.js +257 -0
  519. package/dist/remote/index.js.map +1 -0
  520. package/dist/repair.js +130 -0
  521. package/dist/repair.js.map +1 -0
  522. package/dist/research/index.js +2 -0
  523. package/dist/research/index.js.map +1 -0
  524. package/dist/roadmap/index.js +59 -0
  525. package/dist/roadmap/index.js.map +1 -0
  526. package/dist/routing/capability-matrix.js +1556 -0
  527. package/dist/routing/capability-matrix.js.map +1 -0
  528. package/dist/routing/index.js +9 -0
  529. package/dist/routing/index.js.map +1 -0
  530. package/dist/scaffold.d.ts +18 -0
  531. package/dist/scaffold.d.ts.map +1 -1
  532. package/dist/scaffold.js +1798 -0
  533. package/dist/scaffold.js.map +1 -0
  534. package/dist/schema-management.js +295 -0
  535. package/dist/schema-management.js.map +1 -0
  536. package/dist/security/index.js +9 -0
  537. package/dist/security/index.js.map +1 -0
  538. package/dist/security/input-sanitization.js +326 -0
  539. package/dist/security/input-sanitization.js.map +1 -0
  540. package/dist/sequence/index.js +295 -0
  541. package/dist/sequence/index.js.map +1 -0
  542. package/dist/sessions/assumptions.js +54 -0
  543. package/dist/sessions/assumptions.js.map +1 -0
  544. package/dist/sessions/briefing.js +377 -0
  545. package/dist/sessions/briefing.js.map +1 -0
  546. package/dist/sessions/context-alert.js +222 -0
  547. package/dist/sessions/context-alert.js.map +1 -0
  548. package/dist/sessions/context-inject.js +61 -0
  549. package/dist/sessions/context-inject.js.map +1 -0
  550. package/dist/sessions/context-monitor.js +98 -0
  551. package/dist/sessions/context-monitor.js.map +1 -0
  552. package/dist/sessions/decisions.js +65 -0
  553. package/dist/sessions/decisions.js.map +1 -0
  554. package/dist/sessions/find.js +65 -0
  555. package/dist/sessions/find.js.map +1 -0
  556. package/dist/sessions/handoff.js +328 -0
  557. package/dist/sessions/handoff.js.map +1 -0
  558. package/dist/sessions/hitl-warnings.js +254 -0
  559. package/dist/sessions/hitl-warnings.js.map +1 -0
  560. package/dist/sessions/index.js +327 -0
  561. package/dist/sessions/index.js.map +1 -0
  562. package/dist/sessions/session-archive.js +40 -0
  563. package/dist/sessions/session-archive.js.map +1 -0
  564. package/dist/sessions/session-cleanup.js +59 -0
  565. package/dist/sessions/session-cleanup.js.map +1 -0
  566. package/dist/sessions/session-drift.js +134 -0
  567. package/dist/sessions/session-drift.js.map +1 -0
  568. package/dist/sessions/session-enforcement.js +144 -0
  569. package/dist/sessions/session-enforcement.js.map +1 -0
  570. package/dist/sessions/session-grade.js +253 -0
  571. package/dist/sessions/session-grade.js.map +1 -0
  572. package/dist/sessions/session-history.js +42 -0
  573. package/dist/sessions/session-history.js.map +1 -0
  574. package/dist/sessions/session-id.js +81 -0
  575. package/dist/sessions/session-id.js.map +1 -0
  576. package/dist/sessions/session-memory-bridge.d.ts +16 -10
  577. package/dist/sessions/session-memory-bridge.d.ts.map +1 -1
  578. package/dist/sessions/session-memory-bridge.js +30 -0
  579. package/dist/sessions/session-memory-bridge.js.map +1 -0
  580. package/dist/sessions/session-show.js +24 -0
  581. package/dist/sessions/session-show.js.map +1 -0
  582. package/dist/sessions/session-stats.js +69 -0
  583. package/dist/sessions/session-stats.js.map +1 -0
  584. package/dist/sessions/session-suspend.js +39 -0
  585. package/dist/sessions/session-suspend.js.map +1 -0
  586. package/dist/sessions/session-switch.js +51 -0
  587. package/dist/sessions/session-switch.js.map +1 -0
  588. package/dist/sessions/session-view.js +76 -0
  589. package/dist/sessions/session-view.js.map +1 -0
  590. package/dist/sessions/snapshot.js +213 -0
  591. package/dist/sessions/snapshot.js.map +1 -0
  592. package/dist/sessions/statusline-setup.js +85 -0
  593. package/dist/sessions/statusline-setup.js.map +1 -0
  594. package/dist/sessions/types.js +8 -0
  595. package/dist/sessions/types.js.map +1 -0
  596. package/dist/skills/agents/config.js +94 -0
  597. package/dist/skills/agents/config.js.map +1 -0
  598. package/dist/skills/agents/install.js +116 -0
  599. package/dist/skills/agents/install.js.map +1 -0
  600. package/dist/skills/agents/registry.js +161 -0
  601. package/dist/skills/agents/registry.js.map +1 -0
  602. package/dist/skills/discovery.js +333 -0
  603. package/dist/skills/discovery.js.map +1 -0
  604. package/dist/skills/dispatch.js +347 -0
  605. package/dist/skills/dispatch.js.map +1 -0
  606. package/dist/skills/dynamic-skill-generator.js +87 -0
  607. package/dist/skills/dynamic-skill-generator.js.map +1 -0
  608. package/dist/skills/index.js +44 -0
  609. package/dist/skills/index.js.map +1 -0
  610. package/dist/skills/injection/subagent.js +195 -0
  611. package/dist/skills/injection/subagent.js.map +1 -0
  612. package/dist/skills/injection/token.js +260 -0
  613. package/dist/skills/injection/token.js.map +1 -0
  614. package/dist/skills/install.js +40 -0
  615. package/dist/skills/install.js.map +1 -0
  616. package/dist/skills/manifests/contribution.js +175 -0
  617. package/dist/skills/manifests/contribution.js.map +1 -0
  618. package/dist/skills/manifests/research.js +281 -0
  619. package/dist/skills/manifests/research.js.map +1 -0
  620. package/dist/skills/manifests/resolver.js +146 -0
  621. package/dist/skills/manifests/resolver.js.map +1 -0
  622. package/dist/skills/marketplace.js +90 -0
  623. package/dist/skills/marketplace.js.map +1 -0
  624. package/dist/skills/orchestrator/spawn.js +178 -0
  625. package/dist/skills/orchestrator/spawn.js.map +1 -0
  626. package/dist/skills/orchestrator/startup.js +451 -0
  627. package/dist/skills/orchestrator/startup.js.map +1 -0
  628. package/dist/skills/orchestrator/validator.js +301 -0
  629. package/dist/skills/orchestrator/validator.js.map +1 -0
  630. package/dist/skills/precedence-integration.js +73 -0
  631. package/dist/skills/precedence-integration.js.map +1 -0
  632. package/dist/skills/precedence-types.js +16 -0
  633. package/dist/skills/precedence-types.js.map +1 -0
  634. package/dist/skills/routing-table.js +63 -0
  635. package/dist/skills/routing-table.js.map +1 -0
  636. package/dist/skills/skill-paths.js +217 -0
  637. package/dist/skills/skill-paths.js.map +1 -0
  638. package/dist/skills/test-utility.js +55 -0
  639. package/dist/skills/test-utility.js.map +1 -0
  640. package/dist/skills/types.js +118 -0
  641. package/dist/skills/types.js.map +1 -0
  642. package/dist/skills/validation.js +183 -0
  643. package/dist/skills/validation.js.map +1 -0
  644. package/dist/skills/version.js +57 -0
  645. package/dist/skills/version.js.map +1 -0
  646. package/dist/snapshot/index.js +188 -0
  647. package/dist/snapshot/index.js.map +1 -0
  648. package/dist/spawn/adapter-registry.js +246 -0
  649. package/dist/spawn/adapter-registry.js.map +1 -0
  650. package/dist/spawn/index.js +10 -0
  651. package/dist/spawn/index.js.map +1 -0
  652. package/dist/stats/index.d.ts.map +1 -1
  653. package/dist/stats/index.js +350 -0
  654. package/dist/stats/index.js.map +1 -0
  655. package/dist/stats/workflow-telemetry.js +400 -0
  656. package/dist/stats/workflow-telemetry.js.map +1 -0
  657. package/dist/sticky/archive.js +47 -0
  658. package/dist/sticky/archive.js.map +1 -0
  659. package/dist/sticky/convert.js +235 -0
  660. package/dist/sticky/convert.js.map +1 -0
  661. package/dist/sticky/create.js +48 -0
  662. package/dist/sticky/create.js.map +1 -0
  663. package/dist/sticky/id.js +35 -0
  664. package/dist/sticky/id.js.map +1 -0
  665. package/dist/sticky/index.js +16 -0
  666. package/dist/sticky/index.js.map +1 -0
  667. package/dist/sticky/list.js +57 -0
  668. package/dist/sticky/list.js.map +1 -0
  669. package/dist/sticky/purge.js +45 -0
  670. package/dist/sticky/purge.js.map +1 -0
  671. package/dist/sticky/show.js +42 -0
  672. package/dist/sticky/show.js.map +1 -0
  673. package/dist/sticky/types.js +10 -0
  674. package/dist/sticky/types.js.map +1 -0
  675. package/dist/store/agent-registry-accessor.js +886 -0
  676. package/dist/store/agent-registry-accessor.js.map +1 -0
  677. package/dist/store/api-key-kdf.js +84 -0
  678. package/dist/store/api-key-kdf.js.map +1 -0
  679. package/dist/store/atomic.js +167 -0
  680. package/dist/store/atomic.js.map +1 -0
  681. package/dist/store/backup-crypto.js +184 -0
  682. package/dist/store/backup-crypto.js.map +1 -0
  683. package/dist/store/backup-pack.js +581 -0
  684. package/dist/store/backup-pack.js.map +1 -0
  685. package/dist/store/backup-unpack.js +449 -0
  686. package/dist/store/backup-unpack.js.map +1 -0
  687. package/dist/store/backup.js +94 -0
  688. package/dist/store/backup.js.map +1 -0
  689. package/dist/store/brain-accessor.d.ts +7 -0
  690. package/dist/store/brain-accessor.d.ts.map +1 -1
  691. package/dist/store/brain-accessor.js +429 -0
  692. package/dist/store/brain-accessor.js.map +1 -0
  693. package/dist/store/brain-schema.d.ts +712 -45
  694. package/dist/store/brain-schema.d.ts.map +1 -1
  695. package/dist/store/brain-schema.js +549 -0
  696. package/dist/store/brain-schema.js.map +1 -0
  697. package/dist/store/brain-sqlite.d.ts.map +1 -1
  698. package/dist/store/brain-sqlite.js +257 -0
  699. package/dist/store/brain-sqlite.js.map +1 -0
  700. package/dist/store/cache.js +168 -0
  701. package/dist/store/cache.js.map +1 -0
  702. package/dist/store/chain-schema.js +51 -0
  703. package/dist/store/chain-schema.js.map +1 -0
  704. package/dist/store/cleanup-legacy.js +171 -0
  705. package/dist/store/cleanup-legacy.js.map +1 -0
  706. package/dist/store/conduit-sqlite.js +570 -0
  707. package/dist/store/conduit-sqlite.js.map +1 -0
  708. package/dist/store/converters.js +124 -0
  709. package/dist/store/converters.js.map +1 -0
  710. package/dist/store/cross-db-cleanup.js +319 -0
  711. package/dist/store/cross-db-cleanup.js.map +1 -0
  712. package/dist/store/data-accessor.js +26 -0
  713. package/dist/store/data-accessor.js.map +1 -0
  714. package/dist/store/data-safety-central.js +269 -0
  715. package/dist/store/data-safety-central.js.map +1 -0
  716. package/dist/store/data-safety.js +274 -0
  717. package/dist/store/data-safety.js.map +1 -0
  718. package/dist/store/db-helpers.js +224 -0
  719. package/dist/store/db-helpers.js.map +1 -0
  720. package/dist/store/export.js +155 -0
  721. package/dist/store/export.js.map +1 -0
  722. package/dist/store/file-utils.js +270 -0
  723. package/dist/store/file-utils.js.map +1 -0
  724. package/dist/store/git-checkpoint.js +365 -0
  725. package/dist/store/git-checkpoint.js.map +1 -0
  726. package/dist/store/global-salt.js +147 -0
  727. package/dist/store/global-salt.js.map +1 -0
  728. package/dist/store/import-logging.js +139 -0
  729. package/dist/store/import-logging.js.map +1 -0
  730. package/dist/store/import-remap.js +145 -0
  731. package/dist/store/import-remap.js.map +1 -0
  732. package/dist/store/import-sort.js +121 -0
  733. package/dist/store/import-sort.js.map +1 -0
  734. package/dist/store/index.js +29 -0
  735. package/dist/store/index.js.map +1 -0
  736. package/dist/store/json.js +208 -0
  737. package/dist/store/json.js.map +1 -0
  738. package/dist/store/lifecycle-store.js +249 -0
  739. package/dist/store/lifecycle-store.js.map +1 -0
  740. package/dist/store/lock.js +70 -0
  741. package/dist/store/lock.js.map +1 -0
  742. package/dist/store/migrate-signaldock-to-conduit.js +562 -0
  743. package/dist/store/migrate-signaldock-to-conduit.js.map +1 -0
  744. package/dist/store/migration-manager.d.ts +5 -1
  745. package/dist/store/migration-manager.d.ts.map +1 -1
  746. package/dist/store/migration-manager.js +288 -0
  747. package/dist/store/migration-manager.js.map +1 -0
  748. package/dist/store/migration-sqlite.js +676 -0
  749. package/dist/store/migration-sqlite.js.map +1 -0
  750. package/dist/store/nexus-schema.d.ts +480 -2
  751. package/dist/store/nexus-schema.d.ts.map +1 -1
  752. package/dist/store/nexus-schema.js +268 -0
  753. package/dist/store/nexus-schema.js.map +1 -0
  754. package/dist/store/nexus-sqlite.js +242 -0
  755. package/dist/store/nexus-sqlite.js.map +1 -0
  756. package/dist/store/nexus-validation-schemas.js +40 -0
  757. package/dist/store/nexus-validation-schemas.js.map +1 -0
  758. package/dist/store/parsers.js +37 -0
  759. package/dist/store/parsers.js.map +1 -0
  760. package/dist/store/project-detect.js +457 -0
  761. package/dist/store/project-detect.js.map +1 -0
  762. package/dist/store/provider.js +101 -0
  763. package/dist/store/provider.js.map +1 -0
  764. package/dist/store/regenerators.js +207 -0
  765. package/dist/store/regenerators.js.map +1 -0
  766. package/dist/store/restore-conflict-report.js +206 -0
  767. package/dist/store/restore-conflict-report.js.map +1 -0
  768. package/dist/store/restore-json-merge.js +454 -0
  769. package/dist/store/restore-json-merge.js.map +1 -0
  770. package/dist/store/safety-data-accessor.js +257 -0
  771. package/dist/store/safety-data-accessor.js.map +1 -0
  772. package/dist/store/schema.js +7 -0
  773. package/dist/store/schema.js.map +1 -0
  774. package/dist/store/session-store.js +219 -0
  775. package/dist/store/session-store.js.map +1 -0
  776. package/dist/store/signaldock-sqlite.js +550 -0
  777. package/dist/store/signaldock-sqlite.js.map +1 -0
  778. package/dist/store/sqlite-backup.js +498 -0
  779. package/dist/store/sqlite-backup.js.map +1 -0
  780. package/dist/store/sqlite-data-accessor.js +787 -0
  781. package/dist/store/sqlite-data-accessor.js.map +1 -0
  782. package/dist/store/sqlite.js +483 -0
  783. package/dist/store/sqlite.js.map +1 -0
  784. package/dist/store/status-registry.js +8 -0
  785. package/dist/store/status-registry.js.map +1 -0
  786. package/dist/store/t310-readiness.js +115 -0
  787. package/dist/store/t310-readiness.js.map +1 -0
  788. package/dist/store/task-store.js +358 -0
  789. package/dist/store/task-store.js.map +1 -0
  790. package/dist/store/tasks-schema.d.ts +10 -10
  791. package/dist/store/tasks-schema.js +610 -0
  792. package/dist/store/tasks-schema.js.map +1 -0
  793. package/dist/store/typed-query.js +15 -0
  794. package/dist/store/typed-query.js.map +1 -0
  795. package/dist/store/validation-schemas.d.ts +50 -34
  796. package/dist/store/validation-schemas.d.ts.map +1 -1
  797. package/dist/store/validation-schemas.js +278 -0
  798. package/dist/store/validation-schemas.js.map +1 -0
  799. package/dist/system/archive-analytics.js +277 -0
  800. package/dist/system/archive-analytics.js.map +1 -0
  801. package/dist/system/archive-stats.js +64 -0
  802. package/dist/system/archive-stats.js.map +1 -0
  803. package/dist/system/audit.js +145 -0
  804. package/dist/system/audit.js.map +1 -0
  805. package/dist/system/backup.js +280 -0
  806. package/dist/system/backup.js.map +1 -0
  807. package/dist/system/cleanup.js +134 -0
  808. package/dist/system/cleanup.js.map +1 -0
  809. package/dist/system/dependencies.d.ts +43 -0
  810. package/dist/system/dependencies.d.ts.map +1 -0
  811. package/dist/system/dependencies.js +466 -0
  812. package/dist/system/dependencies.js.map +1 -0
  813. package/dist/system/health.d.ts +3 -0
  814. package/dist/system/health.d.ts.map +1 -1
  815. package/dist/system/health.js +1206 -0
  816. package/dist/system/health.js.map +1 -0
  817. package/dist/system/index.js +18 -0
  818. package/dist/system/index.js.map +1 -0
  819. package/dist/system/inject-generate.js +122 -0
  820. package/dist/system/inject-generate.js.map +1 -0
  821. package/dist/system/labels.js +38 -0
  822. package/dist/system/labels.js.map +1 -0
  823. package/dist/system/metrics.js +61 -0
  824. package/dist/system/metrics.js.map +1 -0
  825. package/dist/system/migrate.js +43 -0
  826. package/dist/system/migrate.js.map +1 -0
  827. package/dist/system/platform-paths.js +80 -0
  828. package/dist/system/platform-paths.js.map +1 -0
  829. package/dist/system/runtime.js +161 -0
  830. package/dist/system/runtime.js.map +1 -0
  831. package/dist/system/safestop.js +89 -0
  832. package/dist/system/safestop.js.map +1 -0
  833. package/dist/system/storage-preflight.js +123 -0
  834. package/dist/system/storage-preflight.js.map +1 -0
  835. package/dist/task-work/index.js +159 -0
  836. package/dist/task-work/index.js.map +1 -0
  837. package/dist/tasks/add.js +837 -0
  838. package/dist/tasks/add.js.map +1 -0
  839. package/dist/tasks/analyze.js +85 -0
  840. package/dist/tasks/analyze.js.map +1 -0
  841. package/dist/tasks/archive.js +90 -0
  842. package/dist/tasks/archive.js.map +1 -0
  843. package/dist/tasks/atomicity.js +83 -0
  844. package/dist/tasks/atomicity.js.map +1 -0
  845. package/dist/tasks/cancel-ops.js +83 -0
  846. package/dist/tasks/cancel-ops.js.map +1 -0
  847. package/dist/tasks/complete.d.ts.map +1 -1
  848. package/dist/tasks/complete.js +229 -0
  849. package/dist/tasks/complete.js.map +1 -0
  850. package/dist/tasks/crossref-extract.js +73 -0
  851. package/dist/tasks/crossref-extract.js.map +1 -0
  852. package/dist/tasks/delete-preview.js +192 -0
  853. package/dist/tasks/delete-preview.js.map +1 -0
  854. package/dist/tasks/delete.js +120 -0
  855. package/dist/tasks/delete.js.map +1 -0
  856. package/dist/tasks/deletion-strategy.js +200 -0
  857. package/dist/tasks/deletion-strategy.js.map +1 -0
  858. package/dist/tasks/dependency-check.js +278 -0
  859. package/dist/tasks/dependency-check.js.map +1 -0
  860. package/dist/tasks/deps-ready.js +32 -0
  861. package/dist/tasks/deps-ready.js.map +1 -0
  862. package/dist/tasks/enforcement.js +86 -0
  863. package/dist/tasks/enforcement.js.map +1 -0
  864. package/dist/tasks/epic-enforcement.js +294 -0
  865. package/dist/tasks/epic-enforcement.js.map +1 -0
  866. package/dist/tasks/find.js +163 -0
  867. package/dist/tasks/find.js.map +1 -0
  868. package/dist/tasks/graph-cache.js +127 -0
  869. package/dist/tasks/graph-cache.js.map +1 -0
  870. package/dist/tasks/graph-ops.d.ts.map +1 -1
  871. package/dist/tasks/graph-ops.js +173 -0
  872. package/dist/tasks/graph-ops.js.map +1 -0
  873. package/dist/tasks/graph-rag.js +328 -0
  874. package/dist/tasks/graph-rag.js.map +1 -0
  875. package/dist/tasks/hierarchy-policy.js +149 -0
  876. package/dist/tasks/hierarchy-policy.js.map +1 -0
  877. package/dist/tasks/hierarchy.js +185 -0
  878. package/dist/tasks/hierarchy.js.map +1 -0
  879. package/dist/tasks/id-generator.js +65 -0
  880. package/dist/tasks/id-generator.js.map +1 -0
  881. package/dist/tasks/index.js +14 -0
  882. package/dist/tasks/index.js.map +1 -0
  883. package/dist/tasks/labels.js +55 -0
  884. package/dist/tasks/labels.js.map +1 -0
  885. package/dist/tasks/list.js +75 -0
  886. package/dist/tasks/list.js.map +1 -0
  887. package/dist/tasks/phase-tracking.js +133 -0
  888. package/dist/tasks/phase-tracking.js.map +1 -0
  889. package/dist/tasks/pipeline-stage.js +248 -0
  890. package/dist/tasks/pipeline-stage.js.map +1 -0
  891. package/dist/tasks/plan.js +268 -0
  892. package/dist/tasks/plan.js.map +1 -0
  893. package/dist/tasks/relates.js +101 -0
  894. package/dist/tasks/relates.js.map +1 -0
  895. package/dist/tasks/show.js +83 -0
  896. package/dist/tasks/show.js.map +1 -0
  897. package/dist/tasks/size-weighting.js +86 -0
  898. package/dist/tasks/size-weighting.js.map +1 -0
  899. package/dist/tasks/staleness.js +86 -0
  900. package/dist/tasks/staleness.js.map +1 -0
  901. package/dist/tasks/task-ops.js +1741 -0
  902. package/dist/tasks/task-ops.js.map +1 -0
  903. package/dist/tasks/update.js +303 -0
  904. package/dist/tasks/update.js.map +1 -0
  905. package/dist/templates/index.js +10 -0
  906. package/dist/templates/index.js.map +1 -0
  907. package/dist/templates/parser.js +254 -0
  908. package/dist/templates/parser.js.map +1 -0
  909. package/dist/ui/aliases.js +153 -0
  910. package/dist/ui/aliases.js.map +1 -0
  911. package/dist/ui/changelog.js +184 -0
  912. package/dist/ui/changelog.js.map +1 -0
  913. package/dist/ui/command-registry.js +168 -0
  914. package/dist/ui/command-registry.js.map +1 -0
  915. package/dist/ui/flags.js +94 -0
  916. package/dist/ui/flags.js.map +1 -0
  917. package/dist/ui/index.js +24 -0
  918. package/dist/ui/index.js.map +1 -0
  919. package/dist/upgrade.js +1148 -0
  920. package/dist/upgrade.js.map +1 -0
  921. package/dist/validation/chain-validation.js +146 -0
  922. package/dist/validation/chain-validation.js.map +1 -0
  923. package/dist/validation/compliance.js +155 -0
  924. package/dist/validation/compliance.js.map +1 -0
  925. package/dist/validation/docs-sync.js +212 -0
  926. package/dist/validation/docs-sync.js.map +1 -0
  927. package/dist/validation/doctor/checks.js +1069 -0
  928. package/dist/validation/doctor/checks.js.map +1 -0
  929. package/dist/validation/doctor/index.js +9 -0
  930. package/dist/validation/doctor/index.js.map +1 -0
  931. package/dist/validation/doctor/project-cache.js +160 -0
  932. package/dist/validation/doctor/project-cache.js.map +1 -0
  933. package/dist/validation/doctor/utils.js +155 -0
  934. package/dist/validation/doctor/utils.js.map +1 -0
  935. package/dist/validation/engine.js +914 -0
  936. package/dist/validation/engine.js.map +1 -0
  937. package/dist/validation/gap-check.js +175 -0
  938. package/dist/validation/gap-check.js.map +1 -0
  939. package/dist/validation/index.js +40 -0
  940. package/dist/validation/index.js.map +1 -0
  941. package/dist/validation/manifest.js +237 -0
  942. package/dist/validation/manifest.js.map +1 -0
  943. package/dist/validation/operation-gate-validators.js +724 -0
  944. package/dist/validation/operation-gate-validators.js.map +1 -0
  945. package/dist/validation/operation-verification-gates.js +532 -0
  946. package/dist/validation/operation-verification-gates.js.map +1 -0
  947. package/dist/validation/param-utils.js +141 -0
  948. package/dist/validation/param-utils.js.map +1 -0
  949. package/dist/validation/protocol-common.js +300 -0
  950. package/dist/validation/protocol-common.js.map +1 -0
  951. package/dist/validation/protocols/_shared.js +82 -0
  952. package/dist/validation/protocols/_shared.js.map +1 -0
  953. package/dist/validation/protocols/architecture-decision.js +31 -0
  954. package/dist/validation/protocols/architecture-decision.js.map +1 -0
  955. package/dist/validation/protocols/artifact-publish.js +28 -0
  956. package/dist/validation/protocols/artifact-publish.js.map +1 -0
  957. package/dist/validation/protocols/consensus.js +41 -0
  958. package/dist/validation/protocols/consensus.js.map +1 -0
  959. package/dist/validation/protocols/contribution.js +27 -0
  960. package/dist/validation/protocols/contribution.js.map +1 -0
  961. package/dist/validation/protocols/decomposition.js +28 -0
  962. package/dist/validation/protocols/decomposition.js.map +1 -0
  963. package/dist/validation/protocols/implementation.js +24 -0
  964. package/dist/validation/protocols/implementation.js.map +1 -0
  965. package/dist/validation/protocols/provenance.js +29 -0
  966. package/dist/validation/protocols/provenance.js.map +1 -0
  967. package/dist/validation/protocols/release.js +29 -0
  968. package/dist/validation/protocols/release.js.map +1 -0
  969. package/dist/validation/protocols/research.js +24 -0
  970. package/dist/validation/protocols/research.js.map +1 -0
  971. package/dist/validation/protocols/specification.js +27 -0
  972. package/dist/validation/protocols/specification.js.map +1 -0
  973. package/dist/validation/protocols/testing.js +30 -0
  974. package/dist/validation/protocols/testing.js.map +1 -0
  975. package/dist/validation/protocols/validation.js +30 -0
  976. package/dist/validation/protocols/validation.js.map +1 -0
  977. package/dist/validation/schema-integrity.js +170 -0
  978. package/dist/validation/schema-integrity.js.map +1 -0
  979. package/dist/validation/schema-validator.js +176 -0
  980. package/dist/validation/schema-validator.js.map +1 -0
  981. package/dist/validation/validate-ops.js +937 -0
  982. package/dist/validation/validate-ops.js.map +1 -0
  983. package/dist/validation/validation-rules.js +226 -0
  984. package/dist/validation/validation-rules.js.map +1 -0
  985. package/dist/validation/verification.js +321 -0
  986. package/dist/validation/verification.js.map +1 -0
  987. package/migrations/drizzle-brain/20260411000001_t528-graph-schema-expansion/migration.sql +47 -0
  988. package/migrations/drizzle-brain/20260412000001_t531-quality-score-typed-tables/migration.sql +23 -0
  989. package/migrations/drizzle-brain/20260413000001_t549-tiered-typed-memory/migration.sql +195 -0
  990. package/migrations/drizzle-nexus/20260412000001_t529-nexus-graph-tables/migration.sql +49 -0
  991. package/package.json +19 -19
  992. package/src/bootstrap.ts +124 -0
  993. package/src/code/index.ts +20 -4
  994. package/src/code/parser.ts +310 -110
  995. package/src/hooks/handlers/__tests__/hook-automation-e2e.test.ts +19 -45
  996. package/src/hooks/handlers/__tests__/session-hooks.test.ts +42 -54
  997. package/src/hooks/handlers/index.ts +6 -0
  998. package/src/hooks/handlers/intelligence-hooks.ts +80 -0
  999. package/src/hooks/handlers/session-hooks.ts +52 -33
  1000. package/src/hooks/handlers/watchdog-hooks.ts +187 -0
  1001. package/src/index.ts +14 -0
  1002. package/src/injection.ts +41 -2
  1003. package/src/internal.ts +68 -9
  1004. package/src/lib/tree-sitter-languages.ts +11 -7
  1005. package/src/memory/__tests__/auto-extract.test.ts +20 -82
  1006. package/src/memory/__tests__/embedding-pipeline.test.ts +389 -0
  1007. package/src/memory/auto-extract.ts +34 -120
  1008. package/src/memory/brain-backfill.ts +471 -0
  1009. package/src/memory/brain-consolidator.ts +344 -0
  1010. package/src/memory/brain-lifecycle.ts +636 -2
  1011. package/src/memory/brain-purge.ts +315 -0
  1012. package/src/memory/brain-retrieval.ts +486 -2
  1013. package/src/memory/brain-search.ts +61 -10
  1014. package/src/memory/decisions.ts +96 -3
  1015. package/src/memory/engine-compat.ts +177 -11
  1016. package/src/memory/extraction-gate.ts +574 -0
  1017. package/src/memory/graph-auto-populate.ts +173 -0
  1018. package/src/memory/graph-queries.ts +424 -0
  1019. package/src/memory/index.ts +6 -2
  1020. package/src/memory/learnings.ts +87 -7
  1021. package/src/memory/patterns.ts +95 -13
  1022. package/src/memory/quality-scoring.ts +257 -0
  1023. package/src/nexus/nexus-bridge.ts +444 -0
  1024. package/src/scaffold.ts +42 -0
  1025. package/src/sessions/__tests__/session-memory-bridge.test.ts +27 -49
  1026. package/src/sessions/session-memory-bridge.ts +19 -47
  1027. package/src/stats/index.ts +11 -3
  1028. package/src/store/__tests__/brain-accessor-pageindex.test.ts +93 -22
  1029. package/src/store/brain-accessor.ts +48 -2
  1030. package/src/store/brain-schema.ts +403 -13
  1031. package/src/store/brain-sqlite.ts +90 -0
  1032. package/src/store/migration-manager.ts +83 -12
  1033. package/src/store/nexus-schema.ts +257 -3
  1034. package/src/system/dependencies.ts +534 -0
  1035. package/src/system/health.ts +143 -22
  1036. package/src/tasks/complete.ts +40 -0
  1037. package/src/tasks/graph-ops.ts +1 -0
  1038. package/src/tasks/task-ops.ts +1 -1
  1039. package/templates/CLEO-INJECTION.md +15 -0
@@ -0,0 +1,562 @@
1
+ /**
2
+ * Automatic first-run migration executor: project-tier signaldock.db → conduit.db.
3
+ *
4
+ * Implements ADR-037 §8 — on the first cleo invocation after upgrading to
5
+ * v2026.4.12, if a project-tier `.cleo/signaldock.db` exists and
6
+ * `.cleo/conduit.db` does not, this module migrates all project-local data to
7
+ * conduit.db and copies global-identity rows to the global-tier signaldock.db.
8
+ *
9
+ * Key properties:
10
+ * - Idempotent: `needsSignaldockToConduitMigration` returns false once conduit.db exists.
11
+ * - Atomic per file: transactions are used for conduit.db and global signaldock.db writes.
12
+ * - Non-destructive: legacy signaldock.db is renamed to `.pre-t310.bak`, not deleted.
13
+ * - Multi-project safe: `INSERT OR IGNORE` prevents duplicate global rows when multiple
14
+ * projects migrate the same agent.
15
+ * - Migrated agents flagged `requires_reauth=1` (new KDF scheme, ADR-037 §5).
16
+ *
17
+ * @task T358
18
+ * @epic T310
19
+ * @why ADR-037 §8 — automatic first-run migration from the pre-T310 project-tier
20
+ * signaldock.db to the new T310 topology (conduit.db + global signaldock.db
21
+ * + global-salt). Runs once per project on first cleo invocation after upgrade.
22
+ */
23
+ import { existsSync, mkdirSync, renameSync, unlinkSync } from 'node:fs';
24
+ import { createRequire } from 'node:module';
25
+ import { join } from 'node:path';
26
+ import { getLogger } from '../logger.js';
27
+ import { getCleoHome } from '../paths.js';
28
+ import { ensureConduitDb } from './conduit-sqlite.js';
29
+ import { getGlobalSalt } from './global-salt.js';
30
+ import { ensureGlobalSignaldockDb } from './signaldock-sqlite.js';
31
+ const _require = createRequire(import.meta.url);
32
+ const { DatabaseSync } = _require('node:sqlite');
33
+ // ---------------------------------------------------------------------------
34
+ // Constants
35
+ // ---------------------------------------------------------------------------
36
+ /** Project-local tables to copy verbatim from legacy signaldock.db to conduit.db. */
37
+ const PROJECT_TIER_TABLES = [
38
+ 'messages',
39
+ 'conversations',
40
+ 'delivery_jobs',
41
+ 'dead_letters',
42
+ 'message_pins',
43
+ 'attachments',
44
+ 'attachment_versions',
45
+ 'attachment_approvals',
46
+ 'attachment_contributors',
47
+ ];
48
+ /** Global-identity tables to copy using INSERT OR IGNORE from legacy to global signaldock.db. */
49
+ const GLOBAL_IDENTITY_TABLES = [
50
+ 'agents',
51
+ 'capabilities',
52
+ 'skills',
53
+ 'agent_capabilities',
54
+ 'agent_skills',
55
+ 'agent_connections',
56
+ 'users',
57
+ 'accounts',
58
+ 'sessions',
59
+ 'verifications',
60
+ 'organization',
61
+ 'claim_codes',
62
+ 'org_agent_keys',
63
+ ];
64
+ // ---------------------------------------------------------------------------
65
+ // Detection
66
+ // ---------------------------------------------------------------------------
67
+ /**
68
+ * Returns true when the legacy migration is needed for the given project.
69
+ *
70
+ * Detection heuristic (ADR-037 §8):
71
+ * - `.cleo/signaldock.db` EXISTS AND `.cleo/conduit.db` DOES NOT EXIST
72
+ *
73
+ * Idempotent: returns false once conduit.db is present, regardless of .bak state.
74
+ *
75
+ * @param projectRoot - Absolute path to the project root directory.
76
+ * @returns True if migration is needed; false otherwise.
77
+ *
78
+ * @task T358
79
+ * @epic T310
80
+ */
81
+ export function needsSignaldockToConduitMigration(projectRoot) {
82
+ const legacyPath = join(projectRoot, '.cleo', 'signaldock.db');
83
+ const conduitPath = join(projectRoot, '.cleo', 'conduit.db');
84
+ return existsSync(legacyPath) && !existsSync(conduitPath);
85
+ }
86
+ // ---------------------------------------------------------------------------
87
+ // Helpers
88
+ // ---------------------------------------------------------------------------
89
+ /**
90
+ * Check whether a table exists in the given database.
91
+ *
92
+ * @param db - An open DatabaseSync handle.
93
+ * @param tableName - Name of the table to check.
94
+ * @returns True if the table exists in sqlite_master.
95
+ */
96
+ function tableExistsInDb(db, tableName) {
97
+ const row = db
98
+ .prepare("SELECT name FROM sqlite_master WHERE type='table' AND name=?")
99
+ .get(tableName);
100
+ return !!row;
101
+ }
102
+ /**
103
+ * Get column names from a table in the given database.
104
+ *
105
+ * @param db - An open DatabaseSync handle.
106
+ * @param tableName - Name of the table.
107
+ * @returns Array of column names.
108
+ */
109
+ function getTableColumns(db, tableName) {
110
+ const rows = db.prepare(`PRAGMA table_info("${tableName}")`).all();
111
+ return rows.map((r) => r.name);
112
+ }
113
+ /**
114
+ * Copy all rows from `tableName` in `srcDb` to the same table in `destDb`.
115
+ * Only columns that exist in both source and destination are copied (schema safety).
116
+ * Uses INSERT OR IGNORE to handle unique constraint conflicts gracefully.
117
+ *
118
+ * @param srcDb - Source database (legacy signaldock.db).
119
+ * @param destDb - Destination database (conduit.db or global signaldock.db).
120
+ * @param tableName - Table to copy.
121
+ * @param ignoreConflicts - When true uses INSERT OR IGNORE; when false uses INSERT.
122
+ * @returns Number of rows found in source (not necessarily inserted — some may have been ignored).
123
+ */
124
+ function copyTableRows(srcDb, destDb, tableName, ignoreConflicts = false) {
125
+ const srcCols = getTableColumns(srcDb, tableName);
126
+ const destCols = getTableColumns(destDb, tableName);
127
+ // Only copy columns that exist in both tables
128
+ const cols = srcCols.filter((c) => destCols.includes(c));
129
+ if (cols.length === 0)
130
+ return 0;
131
+ const colList = cols.map((c) => `"${c}"`).join(', ');
132
+ const placeholders = cols.map(() => '?').join(', ');
133
+ const conflictClause = ignoreConflicts ? 'OR IGNORE' : '';
134
+ const insertSql = `INSERT ${conflictClause} INTO "${tableName}" (${colList}) VALUES (${placeholders})`;
135
+ const rows = srcDb.prepare(`SELECT ${colList} FROM "${tableName}"`).all();
136
+ if (rows.length === 0)
137
+ return 0;
138
+ const stmt = destDb.prepare(insertSql);
139
+ for (const row of rows) {
140
+ // Values originate from another SQLite row via prepare().all(), so at runtime
141
+ // they are already SQLInputValue-compatible (string | number | bigint | Uint8Array | null).
142
+ // The surrounding `Record<string, unknown>` type erases this, hence the narrow cast.
143
+ const values = cols.map((c) => (row[c] ?? null));
144
+ stmt.run(...values);
145
+ }
146
+ return rows.length;
147
+ }
148
+ /**
149
+ * Run PRAGMA integrity_check on `db` and return true if it passes.
150
+ *
151
+ * @param db - An open DatabaseSync handle.
152
+ * @returns True if integrity_check returns 'ok'.
153
+ */
154
+ function integrityCheckPasses(db) {
155
+ const rows = db.prepare('PRAGMA integrity_check').all();
156
+ return rows.length === 1 && rows[0]?.integrity_check === 'ok';
157
+ }
158
+ /**
159
+ * Generate a timestamp suffix for broken-file names: `YYYYMMDD-HHmmss-mmm`.
160
+ */
161
+ function brokenTimestamp() {
162
+ const now = new Date();
163
+ const pad2 = (n) => String(n).padStart(2, '0');
164
+ const pad3 = (n) => String(n).padStart(3, '0');
165
+ return (`${now.getFullYear()}${pad2(now.getMonth() + 1)}${pad2(now.getDate())}` +
166
+ `-${pad2(now.getHours())}${pad2(now.getMinutes())}${pad2(now.getSeconds())}` +
167
+ `-${pad3(now.getMilliseconds())}`);
168
+ }
169
+ // ---------------------------------------------------------------------------
170
+ // Main executor
171
+ // ---------------------------------------------------------------------------
172
+ /**
173
+ * Runs the signaldock.db → conduit.db migration for the given project.
174
+ *
175
+ * The migration is atomic per file (SQLite transactions for DB writes, atomic
176
+ * rename for the backup step). Failures are captured in `result.errors` and
177
+ * the function never throws — callers receive a `MigrationResult` with
178
+ * `status: 'failed'` on error.
179
+ *
180
+ * Safe to call when no migration is needed (returns `{status: 'no-op', ...}`).
181
+ * Safe to call on a partially-migrated install (idempotent via needsMigration check).
182
+ *
183
+ * @param projectRoot - Absolute path to the project root directory.
184
+ * @returns A `MigrationResult` describing what was done and any errors encountered.
185
+ *
186
+ * @task T358
187
+ * @epic T310
188
+ */
189
+ export function migrateSignaldockToConduit(projectRoot) {
190
+ const log = getLogger('migrate-signaldock-to-conduit');
191
+ const legacyPath = join(projectRoot, '.cleo', 'signaldock.db');
192
+ const conduitPath = join(projectRoot, '.cleo', 'conduit.db');
193
+ const globalSignaldockPath = join(getCleoHome(), 'signaldock.db');
194
+ const bakPath = `${legacyPath}.pre-t310.bak`;
195
+ const result = {
196
+ status: 'no-op',
197
+ projectRoot,
198
+ agentsCopied: 0,
199
+ conduitPath,
200
+ globalSignaldockPath,
201
+ bakPath: null,
202
+ errors: [],
203
+ };
204
+ // -----------------------------------------------------------------------
205
+ // Step 1: Check if migration is needed
206
+ // -----------------------------------------------------------------------
207
+ if (!needsSignaldockToConduitMigration(projectRoot)) {
208
+ return result;
209
+ }
210
+ log.info({ projectRoot, legacyPath }, 'T310 migration: starting signaldock.db → conduit.db');
211
+ // -----------------------------------------------------------------------
212
+ // Step 2: Open legacy signaldock.db in READ-ONLY mode
213
+ // -----------------------------------------------------------------------
214
+ let legacy = null;
215
+ try {
216
+ legacy = new DatabaseSync(legacyPath, { readOnly: true });
217
+ }
218
+ catch (err) {
219
+ const message = err instanceof Error ? err.message : String(err);
220
+ log.error({ legacyPath, error: message }, 'T310 migration: cannot open legacy signaldock.db');
221
+ result.errors.push({ step: 'step-2-open-legacy', error: message });
222
+ result.status = 'failed';
223
+ return result;
224
+ }
225
+ // -----------------------------------------------------------------------
226
+ // Step 3: Verify legacy integrity
227
+ // -----------------------------------------------------------------------
228
+ try {
229
+ if (!integrityCheckPasses(legacy)) {
230
+ const msg = 'Legacy signaldock.db failed PRAGMA integrity_check. ' +
231
+ 'Migration aborted — no changes written. ' +
232
+ 'Recovery: inspect the database with sqlite3 and attempt manual repair before re-running.';
233
+ log.error({ legacyPath }, msg);
234
+ result.errors.push({ step: 'step-3-legacy-integrity', error: msg });
235
+ result.status = 'failed';
236
+ legacy.close();
237
+ return result;
238
+ }
239
+ }
240
+ catch (err) {
241
+ const message = err instanceof Error ? err.message : String(err);
242
+ log.error({ legacyPath, error: message }, 'T310 migration: integrity_check threw on legacy DB');
243
+ result.errors.push({ step: 'step-3-legacy-integrity', error: message });
244
+ result.status = 'failed';
245
+ legacy.close();
246
+ return result;
247
+ }
248
+ // -----------------------------------------------------------------------
249
+ // Steps 4–5: Ensure global cleo home + global signaldock.db exist
250
+ // -----------------------------------------------------------------------
251
+ const cleoHome = getCleoHome();
252
+ try {
253
+ if (!existsSync(cleoHome)) {
254
+ mkdirSync(cleoHome, { recursive: true });
255
+ }
256
+ // ensureGlobalSignaldockDb is async but we need it sync here; open directly.
257
+ // The global signaldock schema is applied by ensureGlobalSignaldockDb() when
258
+ // the CLI starts. For migration purposes we open the DB (creating it if needed)
259
+ // and rely on the schema already having been applied (or apply it inline).
260
+ // We call ensureGlobalSignaldockDb() in a fire-and-forget style here, and
261
+ // handle the open synchronously below with DatabaseSync.
262
+ void ensureGlobalSignaldockDb();
263
+ }
264
+ catch {
265
+ // Non-fatal: the global DB open below will create the file if needed.
266
+ }
267
+ // -----------------------------------------------------------------------
268
+ // Step 6: Ensure global-salt exists (generates if absent)
269
+ // -----------------------------------------------------------------------
270
+ try {
271
+ getGlobalSalt();
272
+ }
273
+ catch (err) {
274
+ const message = err instanceof Error ? err.message : String(err);
275
+ log.error({ error: message }, 'T310 migration: getGlobalSalt failed — migration aborted');
276
+ result.errors.push({ step: 'step-6-global-salt', error: message });
277
+ result.status = 'failed';
278
+ legacy.close();
279
+ return result;
280
+ }
281
+ // -----------------------------------------------------------------------
282
+ // Step 7: Create conduit.db via ensureConduitDb (applies full schema)
283
+ // -----------------------------------------------------------------------
284
+ let conduit = null;
285
+ try {
286
+ const ensureResult = ensureConduitDb(projectRoot);
287
+ // Open a direct handle for migration writes (ensureConduitDb returns singleton;
288
+ // we open a fresh handle to avoid interfering with any singleton state).
289
+ conduit = new DatabaseSync(ensureResult.path);
290
+ conduit.exec('PRAGMA journal_mode = WAL');
291
+ conduit.exec('PRAGMA foreign_keys = OFF'); // Disable FK checks during bulk copy
292
+ }
293
+ catch (err) {
294
+ const message = err instanceof Error ? err.message : String(err);
295
+ log.error({ conduitPath, error: message }, 'T310 migration: failed to create conduit.db');
296
+ result.errors.push({ step: 'step-7-create-conduit', error: message });
297
+ result.status = 'failed';
298
+ legacy.close();
299
+ return result;
300
+ }
301
+ // -----------------------------------------------------------------------
302
+ // Steps 8–9: Copy project-tier tables + derive project_agent_refs + COMMIT
303
+ // -----------------------------------------------------------------------
304
+ try {
305
+ conduit.exec('BEGIN TRANSACTION');
306
+ // Copy project-local messaging tables verbatim
307
+ for (const tableName of PROJECT_TIER_TABLES) {
308
+ if (tableExistsInDb(legacy, tableName) && tableExistsInDb(conduit, tableName)) {
309
+ copyTableRows(legacy, conduit, tableName, false);
310
+ }
311
+ }
312
+ // Rebuild FTS after message copy
313
+ if (tableExistsInDb(conduit, 'messages_fts')) {
314
+ try {
315
+ conduit.exec("INSERT INTO messages_fts(messages_fts) VALUES('rebuild')");
316
+ }
317
+ catch {
318
+ // FTS rebuild failure is non-fatal — the triggers will populate it over time
319
+ }
320
+ }
321
+ // Derive project_agent_refs from legacy agents table
322
+ let agentsCountForConduit = 0;
323
+ if (tableExistsInDb(legacy, 'agents')) {
324
+ const legacyAgents = legacy.prepare('SELECT * FROM agents').all();
325
+ const hasClassificationCol = getTableColumns(legacy, 'agents').includes('classification');
326
+ const hasLastUsedAtCol = getTableColumns(legacy, 'agents').includes('last_used_at');
327
+ const hasCreatedAtCol = getTableColumns(legacy, 'agents').includes('created_at');
328
+ const hasAgentIdCol = getTableColumns(legacy, 'agents').includes('agent_id');
329
+ for (const agent of legacyAgents) {
330
+ const agentId = hasAgentIdCol ? agent['agent_id'] : agent['id'];
331
+ if (!agentId)
332
+ continue;
333
+ const createdAtRaw = hasCreatedAtCol ? agent['created_at'] : null;
334
+ const attachedAt = createdAtRaw != null
335
+ ? new Date(createdAtRaw * 1000).toISOString()
336
+ : new Date().toISOString();
337
+ const role = hasClassificationCol ? agent['classification'] : null;
338
+ const lastUsedAtRaw = hasLastUsedAtCol ? agent['last_used_at'] : null;
339
+ const lastUsedAt = lastUsedAtRaw != null ? new Date(lastUsedAtRaw * 1000).toISOString() : null;
340
+ conduit
341
+ .prepare(`INSERT OR IGNORE INTO project_agent_refs
342
+ (agent_id, attached_at, role, capabilities_override, last_used_at, enabled)
343
+ VALUES (?, ?, ?, NULL, ?, 1)`)
344
+ .run(agentId, attachedAt, role, lastUsedAt);
345
+ agentsCountForConduit++;
346
+ }
347
+ }
348
+ conduit.exec('COMMIT');
349
+ result.agentsCopied = agentsCountForConduit;
350
+ }
351
+ catch (err) {
352
+ const message = err instanceof Error ? err.message : String(err);
353
+ log.error({ error: message }, 'T310 migration: conduit.db write failed — rolling back');
354
+ result.errors.push({ step: 'step-8-conduit-write', error: message });
355
+ result.status = 'failed';
356
+ try {
357
+ conduit.exec('ROLLBACK');
358
+ }
359
+ catch {
360
+ // Ignore rollback errors
361
+ }
362
+ conduit.close();
363
+ conduit = null;
364
+ // Delete partial conduit.db
365
+ try {
366
+ if (existsSync(conduitPath)) {
367
+ unlinkSync(conduitPath);
368
+ }
369
+ }
370
+ catch {
371
+ // Ignore deletion errors
372
+ }
373
+ legacy.close();
374
+ return result;
375
+ }
376
+ // -----------------------------------------------------------------------
377
+ // Step 10: PRAGMA integrity_check on conduit.db
378
+ // -----------------------------------------------------------------------
379
+ try {
380
+ if (!integrityCheckPasses(conduit)) {
381
+ const msg = 'conduit.db failed PRAGMA integrity_check after write';
382
+ log.error({ conduitPath }, msg);
383
+ result.errors.push({ step: 'step-10-conduit-integrity', error: msg });
384
+ result.status = 'failed';
385
+ conduit.close();
386
+ conduit = null;
387
+ // Move broken conduit.db
388
+ const brokenPath = `${conduitPath}.broken-${brokenTimestamp()}`;
389
+ try {
390
+ renameSync(conduitPath, brokenPath);
391
+ }
392
+ catch {
393
+ // Ignore rename errors
394
+ }
395
+ legacy.close();
396
+ return result;
397
+ }
398
+ }
399
+ catch (err) {
400
+ const message = err instanceof Error ? err.message : String(err);
401
+ log.error({ error: message }, 'T310 migration: conduit.db integrity_check threw');
402
+ result.errors.push({ step: 'step-10-conduit-integrity', error: message });
403
+ result.status = 'failed';
404
+ if (conduit) {
405
+ conduit.close();
406
+ conduit = null;
407
+ }
408
+ legacy.close();
409
+ return result;
410
+ }
411
+ // Close our migration handle for conduit; the singleton from ensureConduitDb is untouched
412
+ conduit.close();
413
+ conduit = null;
414
+ // -----------------------------------------------------------------------
415
+ // Steps 11–13: Copy global-identity rows to global signaldock.db
416
+ // -----------------------------------------------------------------------
417
+ let globalDb = null;
418
+ try {
419
+ if (!existsSync(globalSignaldockPath)) {
420
+ // Ensure the schema exists — open and apply minimal schema
421
+ // ensureGlobalSignaldockDb() was called above (async); give it a chance
422
+ // to complete by opening directly here.
423
+ mkdirSync(cleoHome, { recursive: true });
424
+ }
425
+ globalDb = new DatabaseSync(globalSignaldockPath);
426
+ globalDb.exec('PRAGMA journal_mode = WAL');
427
+ globalDb.exec('PRAGMA foreign_keys = OFF'); // Disable FK checks during bulk copy
428
+ }
429
+ catch (err) {
430
+ const message = err instanceof Error ? err.message : String(err);
431
+ log.error({ globalSignaldockPath, error: message }, 'T310 migration: cannot open global signaldock.db');
432
+ result.errors.push({ step: 'step-11-open-global', error: message });
433
+ result.status = 'failed';
434
+ legacy.close();
435
+ return result;
436
+ }
437
+ let agentsCopiedToGlobal = 0;
438
+ try {
439
+ globalDb.exec('BEGIN TRANSACTION');
440
+ // Copy all global-identity tables using INSERT OR IGNORE
441
+ for (const tableName of GLOBAL_IDENTITY_TABLES) {
442
+ if (tableExistsInDb(legacy, tableName) && tableExistsInDb(globalDb, tableName)) {
443
+ copyTableRows(legacy, globalDb, tableName, true /* ignoreConflicts */);
444
+ }
445
+ }
446
+ // Count agents actually in legacy
447
+ if (tableExistsInDb(legacy, 'agents')) {
448
+ const countRow = legacy.prepare('SELECT COUNT(*) as cnt FROM agents').get();
449
+ agentsCopiedToGlobal = countRow.cnt;
450
+ }
451
+ // Mark ALL migrated agents as requiring reauth (new KDF scheme)
452
+ // Only mark rows that came from THIS legacy (i.e., all rows — INSERT OR IGNORE
453
+ // means existing rows were skipped; their requires_reauth stays unchanged).
454
+ // We mark every agent we inserted (agent_id from legacy) as requires_reauth=1.
455
+ if (tableExistsInDb(legacy, 'agents') && tableExistsInDb(globalDb, 'agents')) {
456
+ const legacyAgentIds = legacy.prepare('SELECT agent_id FROM agents').all();
457
+ for (const { agent_id } of legacyAgentIds) {
458
+ // Only update if this is a newly-inserted row (requires_reauth=0 means it was
459
+ // either newly inserted or pre-existing with requires_reauth not set).
460
+ // We unconditionally set requires_reauth=1 for all agents from this migration;
461
+ // if the row was already present (INSERT OR IGNORE skipped it), we leave it.
462
+ // To detect new insertions: compare changes() or use a marker.
463
+ // Per spec: mark all migrated agents requires_reauth=1.
464
+ // We use a conservative approach: only update if the row was NOT pre-existing.
465
+ // Since INSERT OR IGNORE doesn't tell us if a row was inserted or ignored,
466
+ // we use the approach of: set requires_reauth=1 WHERE requires_reauth=0.
467
+ // This safely marks newly-inserted agents and leaves pre-existing ones unchanged.
468
+ globalDb
469
+ .prepare('UPDATE agents SET requires_reauth = 1 WHERE agent_id = ? AND requires_reauth = 0')
470
+ .run(agent_id);
471
+ }
472
+ }
473
+ globalDb.exec('COMMIT');
474
+ result.agentsCopied = agentsCopiedToGlobal;
475
+ }
476
+ catch (err) {
477
+ const message = err instanceof Error ? err.message : String(err);
478
+ log.error({ error: message }, 'T310 migration: global signaldock.db write failed — rolling back');
479
+ result.errors.push({ step: 'step-12-global-write', error: message });
480
+ result.status = 'failed';
481
+ try {
482
+ globalDb.exec('ROLLBACK');
483
+ }
484
+ catch {
485
+ // Ignore rollback errors
486
+ }
487
+ globalDb.close();
488
+ globalDb = null;
489
+ legacy.close();
490
+ // conduit.db is valid — leave it in place
491
+ return result;
492
+ }
493
+ // -----------------------------------------------------------------------
494
+ // Step 14: PRAGMA integrity_check on global signaldock.db
495
+ // -----------------------------------------------------------------------
496
+ try {
497
+ if (!integrityCheckPasses(globalDb)) {
498
+ const msg = 'Global signaldock.db failed PRAGMA integrity_check after write';
499
+ log.error({ globalSignaldockPath }, msg);
500
+ result.errors.push({ step: 'step-14-global-integrity', error: msg });
501
+ result.status = 'failed';
502
+ globalDb.close();
503
+ globalDb = null;
504
+ const brokenPath = `${globalSignaldockPath}.broken-${brokenTimestamp()}`;
505
+ try {
506
+ renameSync(globalSignaldockPath, brokenPath);
507
+ }
508
+ catch {
509
+ // Ignore rename errors
510
+ }
511
+ legacy.close();
512
+ return result;
513
+ }
514
+ }
515
+ catch (err) {
516
+ const message = err instanceof Error ? err.message : String(err);
517
+ log.error({ error: message }, 'T310 migration: global signaldock.db integrity_check threw');
518
+ result.errors.push({ step: 'step-14-global-integrity', error: message });
519
+ result.status = 'failed';
520
+ if (globalDb) {
521
+ globalDb.close();
522
+ globalDb = null;
523
+ }
524
+ legacy.close();
525
+ return result;
526
+ }
527
+ globalDb.close();
528
+ globalDb = null;
529
+ // -----------------------------------------------------------------------
530
+ // Step 15: Ensure global-salt exists (already done in step 6, re-check)
531
+ // -----------------------------------------------------------------------
532
+ // Salt was already ensured in step 6 — no repeat action needed.
533
+ // -----------------------------------------------------------------------
534
+ // Step 16: Atomic rename legacy → .pre-t310.bak
535
+ // -----------------------------------------------------------------------
536
+ legacy.close();
537
+ legacy = null;
538
+ try {
539
+ renameSync(legacyPath, bakPath);
540
+ result.bakPath = bakPath;
541
+ }
542
+ catch (err) {
543
+ const message = err instanceof Error ? err.message : String(err);
544
+ // Non-fatal per spec §4.4: next run will re-attempt (conduit.db absent check
545
+ // handles idempotency). But here conduit.db IS present, so needsMigration
546
+ // returns false on next run — the legacy file stays around harmlessly.
547
+ log.error({ legacyPath, bakPath, error: message }, 'T310 migration: rename to .pre-t310.bak failed — legacy file left in place (harmless)');
548
+ result.errors.push({ step: 'step-16-rename-bak', error: message });
549
+ // Still consider the migration successful — conduit.db and global signaldock.db are valid.
550
+ }
551
+ // -----------------------------------------------------------------------
552
+ // Step 17: Success logs
553
+ // -----------------------------------------------------------------------
554
+ log.info({ projectRoot, agentsCopied: result.agentsCopied, conduitPath, bakPath: result.bakPath }, `T310 migration complete: ${result.agentsCopied} agents migrated to global, conduit.db created`);
555
+ log.warn({}, 'T310 migration: API keys have been re-keyed. External systems holding old API keys ' +
556
+ '(CI env vars, remote agent configs) must be updated.');
557
+ log.info({ legacyPath, bakPath: result.bakPath, conduitPath }, 'T310 migration recovery: if problems occur, rename .pre-t310.bak to signaldock.db ' +
558
+ 'and delete conduit.db to re-run migration.');
559
+ result.status = 'migrated';
560
+ return result;
561
+ }
562
+ //# sourceMappingURL=migrate-signaldock-to-conduit.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"migrate-signaldock-to-conduit.js","sourceRoot":"","sources":["../../src/store/migrate-signaldock-to-conduit.ts"],"names":[],"mappings":"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"}
@@ -37,7 +37,7 @@ export declare function createSafetyBackup(dbPath: string): void;
37
37
  /**
38
38
  * Bootstrap and reconcile the Drizzle migration journal.
39
39
  *
40
- * Handles three scenarios:
40
+ * Handles four scenarios:
41
41
  * 1. Tables exist but no __drizzle_migrations — bootstrap baseline as applied
42
42
  * 2. Journal has orphaned hashes (from older CLEO version) — clear and re-mark all as applied
43
43
  * 3. Journal exists but is missing entries for migrations whose DDL has already been applied
@@ -45,6 +45,10 @@ export declare function createSafetyBackup(dbPath: string): void;
45
45
  * migrations are cherry-picked from worktrees or the process crashes mid-migration).
46
46
  * Auto-inserts the missing journal entry so Drizzle skips the migration instead of
47
47
  * re-running ALTER TABLE and crashing on "duplicate column name".
48
+ * 4. Journal entries exist but have null `name` — Drizzle v1 beta identifies applied
49
+ * migrations by name, so entries without a name are invisible to it, causing already-
50
+ * applied migrations to be re-run and fail with "duplicate column name". Backfills
51
+ * the name from the local migration file matched by hash.
48
52
  *
49
53
  * @param nativeDb - Native SQLite database handle
50
54
  * @param migrationsFolder - Path to the drizzle migrations folder
@@ -1 +1 @@
1
- {"version":3,"file":"migration-manager.d.ts","sourceRoot":"","sources":["../../src/store/migration-manager.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAGH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAEhD,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAIlE,sDAAsD;AACtD,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,6EAA6E;IAC7E,GAAG,EAAE,MAAM,CAAC;CACb;AAOD;;GAEG;AACH,wBAAgB,WAAW,CAAC,QAAQ,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAK9E;AAED;;;;GAIG;AACH,wBAAgB,YAAY,CAAC,GAAG,EAAE,OAAO,GAAG,OAAO,CAIlD;AAED;;;;GAIG;AACH,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CASvD;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,gBAAgB,CAC9B,QAAQ,EAAE,YAAY,EACtB,gBAAgB,EAAE,MAAM,EACxB,cAAc,EAAE,MAAM,EACtB,YAAY,EAAE,MAAM,GACnB,IAAI,CA8FN;AAED;;;;;GAKG;AACH,wBAAgB,sBAAsB,CAAC,GAAG,EAAE,OAAO,GAAG,OAAO,CAG5D;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,gBAAgB,CAE9B,EAAE,EAAE,kBAAkB,CAAC,GAAG,CAAC,EAC3B,gBAAgB,EAAE,MAAM,EACxB,QAAQ,CAAC,EAAE,YAAY,EACvB,cAAc,CAAC,EAAE,MAAM,EACvB,YAAY,CAAC,EAAE,MAAM,GACpB,IAAI,CAkCN;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,aAAa,CAC3B,QAAQ,EAAE,YAAY,EACtB,SAAS,EAAE,MAAM,EACjB,eAAe,EAAE,cAAc,EAAE,EACjC,YAAY,EAAE,MAAM,GACnB,IAAI,CAmBN"}
1
+ {"version":3,"file":"migration-manager.d.ts","sourceRoot":"","sources":["../../src/store/migration-manager.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAGH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAEhD,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAIlE,sDAAsD;AACtD,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,6EAA6E;IAC7E,GAAG,EAAE,MAAM,CAAC;CACb;AAOD;;GAEG;AACH,wBAAgB,WAAW,CAAC,QAAQ,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAK9E;AAED;;;;GAIG;AACH,wBAAgB,YAAY,CAAC,GAAG,EAAE,OAAO,GAAG,OAAO,CAIlD;AAED;;;;GAIG;AACH,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CASvD;AAiCD;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,wBAAgB,gBAAgB,CAC9B,QAAQ,EAAE,YAAY,EACtB,gBAAgB,EAAE,MAAM,EACxB,cAAc,EAAE,MAAM,EACtB,YAAY,EAAE,MAAM,GACnB,IAAI,CAkIN;AAED;;;;;GAKG;AACH,wBAAgB,sBAAsB,CAAC,GAAG,EAAE,OAAO,GAAG,OAAO,CAG5D;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,gBAAgB,CAE9B,EAAE,EAAE,kBAAkB,CAAC,GAAG,CAAC,EAC3B,gBAAgB,EAAE,MAAM,EACxB,QAAQ,CAAC,EAAE,YAAY,EACvB,cAAc,CAAC,EAAE,MAAM,EACvB,YAAY,CAAC,EAAE,MAAM,GACpB,IAAI,CAkCN;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,aAAa,CAC3B,QAAQ,EAAE,YAAY,EACtB,SAAS,EAAE,MAAM,EACjB,eAAe,EAAE,cAAc,EAAE,EACjC,YAAY,EAAE,MAAM,GACnB,IAAI,CAmBN"}