@cleocode/core 2026.3.65 → 2026.3.66

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 (823) hide show
  1. package/dist/agents/retry.d.ts.map +1 -1
  2. package/dist/cleo.d.ts +2 -2
  3. package/dist/config.d.ts.map +1 -1
  4. package/dist/index.d.ts +3 -3
  5. package/dist/index.d.ts.map +1 -1
  6. package/dist/index.js +128 -116
  7. package/dist/index.js.map +4 -4
  8. package/dist/tasks/complete.d.ts.map +1 -1
  9. package/dist/tasks/enforcement.d.ts.map +1 -1
  10. package/package.json +5 -5
  11. package/src/agents/retry.ts +18 -46
  12. package/src/cleo.ts +2 -2
  13. package/src/config.ts +13 -0
  14. package/src/index.ts +4 -1
  15. package/src/tasks/add.ts +5 -5
  16. package/src/tasks/complete.ts +14 -48
  17. package/src/tasks/enforcement.ts +12 -24
  18. package/dist/adapters/adapter-registry.js +0 -64
  19. package/dist/adapters/adapter-registry.js.map +0 -1
  20. package/dist/adapters/discovery.js +0 -83
  21. package/dist/adapters/discovery.js.map +0 -1
  22. package/dist/adapters/index.js +0 -9
  23. package/dist/adapters/index.js.map +0 -1
  24. package/dist/adapters/manager.js +0 -260
  25. package/dist/adapters/manager.js.map +0 -1
  26. package/dist/admin/export-tasks.js +0 -171
  27. package/dist/admin/export-tasks.js.map +0 -1
  28. package/dist/admin/export.js +0 -103
  29. package/dist/admin/export.js.map +0 -1
  30. package/dist/admin/help.js +0 -106
  31. package/dist/admin/help.js.map +0 -1
  32. package/dist/admin/import-tasks.js +0 -182
  33. package/dist/admin/import-tasks.js.map +0 -1
  34. package/dist/admin/import.js +0 -129
  35. package/dist/admin/import.js.map +0 -1
  36. package/dist/admin/index.js +0 -13
  37. package/dist/admin/index.js.map +0 -1
  38. package/dist/adrs/find.js +0 -134
  39. package/dist/adrs/find.js.map +0 -1
  40. package/dist/adrs/index.js +0 -15
  41. package/dist/adrs/index.js.map +0 -1
  42. package/dist/adrs/link-pipeline.js +0 -160
  43. package/dist/adrs/link-pipeline.js.map +0 -1
  44. package/dist/adrs/list.js +0 -43
  45. package/dist/adrs/list.js.map +0 -1
  46. package/dist/adrs/parse.js +0 -51
  47. package/dist/adrs/parse.js.map +0 -1
  48. package/dist/adrs/show.js +0 -22
  49. package/dist/adrs/show.js.map +0 -1
  50. package/dist/adrs/sync.js +0 -188
  51. package/dist/adrs/sync.js.map +0 -1
  52. package/dist/adrs/types.js +0 -9
  53. package/dist/adrs/types.js.map +0 -1
  54. package/dist/adrs/validate.js +0 -57
  55. package/dist/adrs/validate.js.map +0 -1
  56. package/dist/agents/agent-registry.js +0 -288
  57. package/dist/agents/agent-registry.js.map +0 -1
  58. package/dist/agents/agent-schema.js +0 -85
  59. package/dist/agents/agent-schema.js.map +0 -1
  60. package/dist/agents/capacity.js +0 -116
  61. package/dist/agents/capacity.js.map +0 -1
  62. package/dist/agents/execution-learning.js +0 -474
  63. package/dist/agents/execution-learning.js.map +0 -1
  64. package/dist/agents/health-monitor.js +0 -217
  65. package/dist/agents/health-monitor.js.map +0 -1
  66. package/dist/agents/index.js +0 -29
  67. package/dist/agents/index.js.map +0 -1
  68. package/dist/agents/registry.js +0 -314
  69. package/dist/agents/registry.js.map +0 -1
  70. package/dist/agents/retry.js +0 -229
  71. package/dist/agents/retry.js.map +0 -1
  72. package/dist/audit-prune.js +0 -94
  73. package/dist/audit-prune.js.map +0 -1
  74. package/dist/audit.js +0 -68
  75. package/dist/audit.js.map +0 -1
  76. package/dist/backfill/index.js +0 -229
  77. package/dist/backfill/index.js.map +0 -1
  78. package/dist/bootstrap.js +0 -367
  79. package/dist/bootstrap.js.map +0 -1
  80. package/dist/caamp/adapter.js +0 -434
  81. package/dist/caamp/adapter.js.map +0 -1
  82. package/dist/caamp/capability-check.js +0 -38
  83. package/dist/caamp/capability-check.js.map +0 -1
  84. package/dist/caamp/index.js +0 -23
  85. package/dist/caamp/index.js.map +0 -1
  86. package/dist/caamp-init.js +0 -16
  87. package/dist/caamp-init.js.map +0 -1
  88. package/dist/cleo.js +0 -302
  89. package/dist/cleo.js.map +0 -1
  90. package/dist/codebase-map/analyzers/architecture.js +0 -130
  91. package/dist/codebase-map/analyzers/architecture.js.map +0 -1
  92. package/dist/codebase-map/analyzers/concerns.js +0 -122
  93. package/dist/codebase-map/analyzers/concerns.js.map +0 -1
  94. package/dist/codebase-map/analyzers/conventions.js +0 -149
  95. package/dist/codebase-map/analyzers/conventions.js.map +0 -1
  96. package/dist/codebase-map/analyzers/integrations.js +0 -108
  97. package/dist/codebase-map/analyzers/integrations.js.map +0 -1
  98. package/dist/codebase-map/analyzers/stack.js +0 -117
  99. package/dist/codebase-map/analyzers/stack.js.map +0 -1
  100. package/dist/codebase-map/analyzers/structure.js +0 -137
  101. package/dist/codebase-map/analyzers/structure.js.map +0 -1
  102. package/dist/codebase-map/analyzers/testing.js +0 -118
  103. package/dist/codebase-map/analyzers/testing.js.map +0 -1
  104. package/dist/codebase-map/index.js +0 -57
  105. package/dist/codebase-map/index.js.map +0 -1
  106. package/dist/codebase-map/store.js +0 -122
  107. package/dist/codebase-map/store.js.map +0 -1
  108. package/dist/codebase-map/summary.js +0 -152
  109. package/dist/codebase-map/summary.js.map +0 -1
  110. package/dist/compliance/index.js +0 -288
  111. package/dist/compliance/index.js.map +0 -1
  112. package/dist/compliance/protocol-enforcement.js +0 -332
  113. package/dist/compliance/protocol-enforcement.js.map +0 -1
  114. package/dist/compliance/protocol-rules.js +0 -786
  115. package/dist/compliance/protocol-rules.js.map +0 -1
  116. package/dist/compliance/protocol-types.js +0 -80
  117. package/dist/compliance/protocol-types.js.map +0 -1
  118. package/dist/compliance/store.js +0 -53
  119. package/dist/compliance/store.js.map +0 -1
  120. package/dist/config/build-config.js +0 -29
  121. package/dist/config/build-config.js.map +0 -1
  122. package/dist/config.js +0 -370
  123. package/dist/config.js.map +0 -1
  124. package/dist/constants.js +0 -18
  125. package/dist/constants.js.map +0 -1
  126. package/dist/context/index.js +0 -137
  127. package/dist/context/index.js.map +0 -1
  128. package/dist/engine-result.js +0 -12
  129. package/dist/engine-result.js.map +0 -1
  130. package/dist/error-catalog.js +0 -404
  131. package/dist/error-catalog.js.map +0 -1
  132. package/dist/error-registry.js +0 -393
  133. package/dist/error-registry.js.map +0 -1
  134. package/dist/errors.js +0 -167
  135. package/dist/errors.js.map +0 -1
  136. package/dist/hooks/handlers/error-hooks.js +0 -43
  137. package/dist/hooks/handlers/error-hooks.js.map +0 -1
  138. package/dist/hooks/handlers/file-hooks.js +0 -80
  139. package/dist/hooks/handlers/file-hooks.js.map +0 -1
  140. package/dist/hooks/handlers/index.js +0 -19
  141. package/dist/hooks/handlers/index.js.map +0 -1
  142. package/dist/hooks/handlers/mcp-hooks.js +0 -80
  143. package/dist/hooks/handlers/mcp-hooks.js.map +0 -1
  144. package/dist/hooks/handlers/session-hooks.js +0 -73
  145. package/dist/hooks/handlers/session-hooks.js.map +0 -1
  146. package/dist/hooks/handlers/task-hooks.js +0 -63
  147. package/dist/hooks/handlers/task-hooks.js.map +0 -1
  148. package/dist/hooks/index.js +0 -13
  149. package/dist/hooks/index.js.map +0 -1
  150. package/dist/hooks/payload-schemas.js +0 -163
  151. package/dist/hooks/payload-schemas.js.map +0 -1
  152. package/dist/hooks/provider-hooks.js +0 -34
  153. package/dist/hooks/provider-hooks.js.map +0 -1
  154. package/dist/hooks/registry.js +0 -176
  155. package/dist/hooks/registry.js.map +0 -1
  156. package/dist/hooks/types.js +0 -62
  157. package/dist/hooks/types.js.map +0 -1
  158. package/dist/hooks.js +0 -136
  159. package/dist/hooks.js.map +0 -1
  160. package/dist/init.js +0 -711
  161. package/dist/init.js.map +0 -1
  162. package/dist/inject/index.js +0 -82
  163. package/dist/inject/index.js.map +0 -1
  164. package/dist/injection.js +0 -343
  165. package/dist/injection.js.map +0 -1
  166. package/dist/intelligence/adaptive-validation.js +0 -497
  167. package/dist/intelligence/adaptive-validation.js.map +0 -1
  168. package/dist/intelligence/impact.js +0 -675
  169. package/dist/intelligence/impact.js.map +0 -1
  170. package/dist/intelligence/index.js +0 -22
  171. package/dist/intelligence/index.js.map +0 -1
  172. package/dist/intelligence/patterns.js +0 -492
  173. package/dist/intelligence/patterns.js.map +0 -1
  174. package/dist/intelligence/prediction.js +0 -499
  175. package/dist/intelligence/prediction.js.map +0 -1
  176. package/dist/intelligence/types.js +0 -13
  177. package/dist/intelligence/types.js.map +0 -1
  178. package/dist/internal.js +0 -269
  179. package/dist/internal.js.map +0 -1
  180. package/dist/issue/create.js +0 -121
  181. package/dist/issue/create.js.map +0 -1
  182. package/dist/issue/diagnostics.js +0 -59
  183. package/dist/issue/diagnostics.js.map +0 -1
  184. package/dist/issue/index.js +0 -10
  185. package/dist/issue/index.js.map +0 -1
  186. package/dist/issue/template-parser.js +0 -267
  187. package/dist/issue/template-parser.js.map +0 -1
  188. package/dist/json-schema-validator.js +0 -76
  189. package/dist/json-schema-validator.js.map +0 -1
  190. package/dist/lib/index.js +0 -10
  191. package/dist/lib/index.js.map +0 -1
  192. package/dist/lib/retry.js +0 -152
  193. package/dist/lib/retry.js.map +0 -1
  194. package/dist/lifecycle/chain-composition.js +0 -152
  195. package/dist/lifecycle/chain-composition.js.map +0 -1
  196. package/dist/lifecycle/chain-store.js +0 -246
  197. package/dist/lifecycle/chain-store.js.map +0 -1
  198. package/dist/lifecycle/consolidate-rcasd.js +0 -352
  199. package/dist/lifecycle/consolidate-rcasd.js.map +0 -1
  200. package/dist/lifecycle/default-chain.js +0 -167
  201. package/dist/lifecycle/default-chain.js.map +0 -1
  202. package/dist/lifecycle/evidence.js +0 -180
  203. package/dist/lifecycle/evidence.js.map +0 -1
  204. package/dist/lifecycle/frontmatter.js +0 -363
  205. package/dist/lifecycle/frontmatter.js.map +0 -1
  206. package/dist/lifecycle/index.js +0 -753
  207. package/dist/lifecycle/index.js.map +0 -1
  208. package/dist/lifecycle/pipeline.js +0 -656
  209. package/dist/lifecycle/pipeline.js.map +0 -1
  210. package/dist/lifecycle/rcasd-index.js +0 -326
  211. package/dist/lifecycle/rcasd-index.js.map +0 -1
  212. package/dist/lifecycle/rcasd-paths.js +0 -220
  213. package/dist/lifecycle/rcasd-paths.js.map +0 -1
  214. package/dist/lifecycle/resume.js +0 -864
  215. package/dist/lifecycle/resume.js.map +0 -1
  216. package/dist/lifecycle/stage-artifacts.js +0 -94
  217. package/dist/lifecycle/stage-artifacts.js.map +0 -1
  218. package/dist/lifecycle/stages.js +0 -534
  219. package/dist/lifecycle/stages.js.map +0 -1
  220. package/dist/lifecycle/state-machine.js +0 -516
  221. package/dist/lifecycle/state-machine.js.map +0 -1
  222. package/dist/lifecycle/tessera-engine.js +0 -249
  223. package/dist/lifecycle/tessera-engine.js.map +0 -1
  224. package/dist/logger.js +0 -140
  225. package/dist/logger.js.map +0 -1
  226. package/dist/mcp/index.js +0 -146
  227. package/dist/mcp/index.js.map +0 -1
  228. package/dist/memory/auto-extract.js +0 -143
  229. package/dist/memory/auto-extract.js.map +0 -1
  230. package/dist/memory/brain-embedding.js +0 -49
  231. package/dist/memory/brain-embedding.js.map +0 -1
  232. package/dist/memory/brain-lifecycle.js +0 -298
  233. package/dist/memory/brain-lifecycle.js.map +0 -1
  234. package/dist/memory/brain-links.js +0 -148
  235. package/dist/memory/brain-links.js.map +0 -1
  236. package/dist/memory/brain-migration.js +0 -149
  237. package/dist/memory/brain-migration.js.map +0 -1
  238. package/dist/memory/brain-reasoning.js +0 -215
  239. package/dist/memory/brain-reasoning.js.map +0 -1
  240. package/dist/memory/brain-retrieval.js +0 -474
  241. package/dist/memory/brain-retrieval.js.map +0 -1
  242. package/dist/memory/brain-row-types.js +0 -10
  243. package/dist/memory/brain-row-types.js.map +0 -1
  244. package/dist/memory/brain-search.js +0 -519
  245. package/dist/memory/brain-search.js.map +0 -1
  246. package/dist/memory/brain-similarity.js +0 -145
  247. package/dist/memory/brain-similarity.js.map +0 -1
  248. package/dist/memory/claude-mem-migration.js +0 -277
  249. package/dist/memory/claude-mem-migration.js.map +0 -1
  250. package/dist/memory/decisions.js +0 -148
  251. package/dist/memory/decisions.js.map +0 -1
  252. package/dist/memory/engine-compat.js +0 -1030
  253. package/dist/memory/engine-compat.js.map +0 -1
  254. package/dist/memory/index.js +0 -773
  255. package/dist/memory/index.js.map +0 -1
  256. package/dist/memory/learnings.js +0 -121
  257. package/dist/memory/learnings.js.map +0 -1
  258. package/dist/memory/memory-bridge.js +0 -289
  259. package/dist/memory/memory-bridge.js.map +0 -1
  260. package/dist/memory/patterns.js +0 -122
  261. package/dist/memory/patterns.js.map +0 -1
  262. package/dist/memory/pipeline-manifest-sqlite.js +0 -975
  263. package/dist/memory/pipeline-manifest-sqlite.js.map +0 -1
  264. package/dist/memory/session-memory.js +0 -226
  265. package/dist/memory/session-memory.js.map +0 -1
  266. package/dist/metrics/ab-test.js +0 -260
  267. package/dist/metrics/ab-test.js.map +0 -1
  268. package/dist/metrics/aggregation.js +0 -363
  269. package/dist/metrics/aggregation.js.map +0 -1
  270. package/dist/metrics/common.js +0 -64
  271. package/dist/metrics/common.js.map +0 -1
  272. package/dist/metrics/enums.js +0 -78
  273. package/dist/metrics/enums.js.map +0 -1
  274. package/dist/metrics/index.js +0 -19
  275. package/dist/metrics/index.js.map +0 -1
  276. package/dist/metrics/model-provider-registry.js +0 -88
  277. package/dist/metrics/model-provider-registry.js.map +0 -1
  278. package/dist/metrics/otel-integration.js +0 -263
  279. package/dist/metrics/otel-integration.js.map +0 -1
  280. package/dist/metrics/provider-detection.js +0 -103
  281. package/dist/metrics/provider-detection.js.map +0 -1
  282. package/dist/metrics/token-estimation.js +0 -253
  283. package/dist/metrics/token-estimation.js.map +0 -1
  284. package/dist/metrics/token-service.js +0 -450
  285. package/dist/metrics/token-service.js.map +0 -1
  286. package/dist/migration/agent-outputs.js +0 -316
  287. package/dist/migration/agent-outputs.js.map +0 -1
  288. package/dist/migration/checksum.js +0 -92
  289. package/dist/migration/checksum.js.map +0 -1
  290. package/dist/migration/index.js +0 -282
  291. package/dist/migration/index.js.map +0 -1
  292. package/dist/migration/logger.js +0 -360
  293. package/dist/migration/logger.js.map +0 -1
  294. package/dist/migration/preflight.js +0 -9
  295. package/dist/migration/preflight.js.map +0 -1
  296. package/dist/migration/state.js +0 -421
  297. package/dist/migration/state.js.map +0 -1
  298. package/dist/migration/validate.js +0 -241
  299. package/dist/migration/validate.js.map +0 -1
  300. package/dist/nexus/deps.js +0 -375
  301. package/dist/nexus/deps.js.map +0 -1
  302. package/dist/nexus/discover.js +0 -288
  303. package/dist/nexus/discover.js.map +0 -1
  304. package/dist/nexus/hash.js +0 -10
  305. package/dist/nexus/hash.js.map +0 -1
  306. package/dist/nexus/index.js +0 -38
  307. package/dist/nexus/index.js.map +0 -1
  308. package/dist/nexus/migrate-json-to-sqlite.js +0 -115
  309. package/dist/nexus/migrate-json-to-sqlite.js.map +0 -1
  310. package/dist/nexus/permissions.js +0 -105
  311. package/dist/nexus/permissions.js.map +0 -1
  312. package/dist/nexus/query.js +0 -175
  313. package/dist/nexus/query.js.map +0 -1
  314. package/dist/nexus/registry.js +0 -584
  315. package/dist/nexus/registry.js.map +0 -1
  316. package/dist/nexus/sharing/index.js +0 -288
  317. package/dist/nexus/sharing/index.js.map +0 -1
  318. package/dist/nexus/transfer-types.js +0 -8
  319. package/dist/nexus/transfer-types.js.map +0 -1
  320. package/dist/nexus/transfer.js +0 -263
  321. package/dist/nexus/transfer.js.map +0 -1
  322. package/dist/observability/index.js +0 -103
  323. package/dist/observability/index.js.map +0 -1
  324. package/dist/observability/log-filter.js +0 -63
  325. package/dist/observability/log-filter.js.map +0 -1
  326. package/dist/observability/log-parser.js +0 -99
  327. package/dist/observability/log-parser.js.map +0 -1
  328. package/dist/observability/log-reader.js +0 -139
  329. package/dist/observability/log-reader.js.map +0 -1
  330. package/dist/observability/types.js +0 -19
  331. package/dist/observability/types.js.map +0 -1
  332. package/dist/orchestration/analyze.js +0 -107
  333. package/dist/orchestration/analyze.js.map +0 -1
  334. package/dist/orchestration/bootstrap.js +0 -132
  335. package/dist/orchestration/bootstrap.js.map +0 -1
  336. package/dist/orchestration/context.js +0 -56
  337. package/dist/orchestration/context.js.map +0 -1
  338. package/dist/orchestration/critical-path.js +0 -100
  339. package/dist/orchestration/critical-path.js.map +0 -1
  340. package/dist/orchestration/index.js +0 -286
  341. package/dist/orchestration/index.js.map +0 -1
  342. package/dist/orchestration/parallel.js +0 -89
  343. package/dist/orchestration/parallel.js.map +0 -1
  344. package/dist/orchestration/protocol-validators.js +0 -524
  345. package/dist/orchestration/protocol-validators.js.map +0 -1
  346. package/dist/orchestration/skill-ops.js +0 -98
  347. package/dist/orchestration/skill-ops.js.map +0 -1
  348. package/dist/orchestration/status.js +0 -107
  349. package/dist/orchestration/status.js.map +0 -1
  350. package/dist/orchestration/unblock.js +0 -103
  351. package/dist/orchestration/unblock.js.map +0 -1
  352. package/dist/orchestration/validate-spawn.js +0 -67
  353. package/dist/orchestration/validate-spawn.js.map +0 -1
  354. package/dist/orchestration/waves.js +0 -86
  355. package/dist/orchestration/waves.js.map +0 -1
  356. package/dist/otel/index.js +0 -163
  357. package/dist/otel/index.js.map +0 -1
  358. package/dist/output.js +0 -132
  359. package/dist/output.js.map +0 -1
  360. package/dist/pagination.js +0 -61
  361. package/dist/pagination.js.map +0 -1
  362. package/dist/paths.js +0 -337
  363. package/dist/paths.js.map +0 -1
  364. package/dist/phases/deps.js +0 -372
  365. package/dist/phases/deps.js.map +0 -1
  366. package/dist/phases/index.js +0 -349
  367. package/dist/phases/index.js.map +0 -1
  368. package/dist/pipeline/index.js +0 -10
  369. package/dist/pipeline/index.js.map +0 -1
  370. package/dist/pipeline/phase.js +0 -45
  371. package/dist/pipeline/phase.js.map +0 -1
  372. package/dist/platform.js +0 -211
  373. package/dist/platform.js.map +0 -1
  374. package/dist/project-info.js +0 -84
  375. package/dist/project-info.js.map +0 -1
  376. package/dist/reconciliation/index.js +0 -10
  377. package/dist/reconciliation/index.js.map +0 -1
  378. package/dist/reconciliation/link-store.js +0 -129
  379. package/dist/reconciliation/link-store.js.map +0 -1
  380. package/dist/reconciliation/reconciliation-engine.js +0 -298
  381. package/dist/reconciliation/reconciliation-engine.js.map +0 -1
  382. package/dist/release/artifacts.js +0 -427
  383. package/dist/release/artifacts.js.map +0 -1
  384. package/dist/release/changelog-writer.js +0 -151
  385. package/dist/release/changelog-writer.js.map +0 -1
  386. package/dist/release/channel.js +0 -144
  387. package/dist/release/channel.js.map +0 -1
  388. package/dist/release/ci.js +0 -166
  389. package/dist/release/ci.js.map +0 -1
  390. package/dist/release/github-pr.js +0 -225
  391. package/dist/release/github-pr.js.map +0 -1
  392. package/dist/release/guards.js +0 -116
  393. package/dist/release/guards.js.map +0 -1
  394. package/dist/release/index.js +0 -22
  395. package/dist/release/index.js.map +0 -1
  396. package/dist/release/release-config.js +0 -158
  397. package/dist/release/release-config.js.map +0 -1
  398. package/dist/release/release-manifest.js +0 -1019
  399. package/dist/release/release-manifest.js.map +0 -1
  400. package/dist/release/version-bump.js +0 -255
  401. package/dist/release/version-bump.js.map +0 -1
  402. package/dist/remote/index.js +0 -257
  403. package/dist/remote/index.js.map +0 -1
  404. package/dist/repair.js +0 -130
  405. package/dist/repair.js.map +0 -1
  406. package/dist/research/index.js +0 -2
  407. package/dist/research/index.js.map +0 -1
  408. package/dist/roadmap/index.js +0 -59
  409. package/dist/roadmap/index.js.map +0 -1
  410. package/dist/routing/capability-matrix.js +0 -1557
  411. package/dist/routing/capability-matrix.js.map +0 -1
  412. package/dist/routing/index.js +0 -9
  413. package/dist/routing/index.js.map +0 -1
  414. package/dist/scaffold.js +0 -1178
  415. package/dist/scaffold.js.map +0 -1
  416. package/dist/schema-management.js +0 -295
  417. package/dist/schema-management.js.map +0 -1
  418. package/dist/security/index.js +0 -9
  419. package/dist/security/index.js.map +0 -1
  420. package/dist/security/input-sanitization.js +0 -321
  421. package/dist/security/input-sanitization.js.map +0 -1
  422. package/dist/sequence/index.js +0 -295
  423. package/dist/sequence/index.js.map +0 -1
  424. package/dist/sessions/assumptions.js +0 -54
  425. package/dist/sessions/assumptions.js.map +0 -1
  426. package/dist/sessions/briefing.js +0 -377
  427. package/dist/sessions/briefing.js.map +0 -1
  428. package/dist/sessions/context-alert.js +0 -222
  429. package/dist/sessions/context-alert.js.map +0 -1
  430. package/dist/sessions/context-inject.js +0 -61
  431. package/dist/sessions/context-inject.js.map +0 -1
  432. package/dist/sessions/context-monitor.js +0 -98
  433. package/dist/sessions/context-monitor.js.map +0 -1
  434. package/dist/sessions/decisions.js +0 -65
  435. package/dist/sessions/decisions.js.map +0 -1
  436. package/dist/sessions/find.js +0 -63
  437. package/dist/sessions/find.js.map +0 -1
  438. package/dist/sessions/handoff.js +0 -328
  439. package/dist/sessions/handoff.js.map +0 -1
  440. package/dist/sessions/hitl-warnings.js +0 -254
  441. package/dist/sessions/hitl-warnings.js.map +0 -1
  442. package/dist/sessions/index.js +0 -318
  443. package/dist/sessions/index.js.map +0 -1
  444. package/dist/sessions/session-archive.js +0 -40
  445. package/dist/sessions/session-archive.js.map +0 -1
  446. package/dist/sessions/session-cleanup.js +0 -59
  447. package/dist/sessions/session-cleanup.js.map +0 -1
  448. package/dist/sessions/session-drift.js +0 -134
  449. package/dist/sessions/session-drift.js.map +0 -1
  450. package/dist/sessions/session-enforcement.js +0 -144
  451. package/dist/sessions/session-enforcement.js.map +0 -1
  452. package/dist/sessions/session-grade.js +0 -253
  453. package/dist/sessions/session-grade.js.map +0 -1
  454. package/dist/sessions/session-history.js +0 -42
  455. package/dist/sessions/session-history.js.map +0 -1
  456. package/dist/sessions/session-id.js +0 -81
  457. package/dist/sessions/session-id.js.map +0 -1
  458. package/dist/sessions/session-memory-bridge.js +0 -52
  459. package/dist/sessions/session-memory-bridge.js.map +0 -1
  460. package/dist/sessions/session-show.js +0 -24
  461. package/dist/sessions/session-show.js.map +0 -1
  462. package/dist/sessions/session-stats.js +0 -69
  463. package/dist/sessions/session-stats.js.map +0 -1
  464. package/dist/sessions/session-suspend.js +0 -39
  465. package/dist/sessions/session-suspend.js.map +0 -1
  466. package/dist/sessions/session-switch.js +0 -51
  467. package/dist/sessions/session-switch.js.map +0 -1
  468. package/dist/sessions/session-view.js +0 -76
  469. package/dist/sessions/session-view.js.map +0 -1
  470. package/dist/sessions/statusline-setup.js +0 -85
  471. package/dist/sessions/statusline-setup.js.map +0 -1
  472. package/dist/sessions/types.js +0 -8
  473. package/dist/sessions/types.js.map +0 -1
  474. package/dist/signaldock/claude-code-transport.js +0 -107
  475. package/dist/signaldock/claude-code-transport.js.map +0 -1
  476. package/dist/signaldock/factory.js +0 -25
  477. package/dist/signaldock/factory.js.map +0 -1
  478. package/dist/signaldock/index.js +0 -9
  479. package/dist/signaldock/index.js.map +0 -1
  480. package/dist/signaldock/signaldock-transport.js +0 -122
  481. package/dist/signaldock/signaldock-transport.js.map +0 -1
  482. package/dist/signaldock/transport.js +0 -11
  483. package/dist/signaldock/transport.js.map +0 -1
  484. package/dist/signaldock/types.js +0 -11
  485. package/dist/signaldock/types.js.map +0 -1
  486. package/dist/skills/agents/config.js +0 -94
  487. package/dist/skills/agents/config.js.map +0 -1
  488. package/dist/skills/agents/install.js +0 -116
  489. package/dist/skills/agents/install.js.map +0 -1
  490. package/dist/skills/agents/registry.js +0 -161
  491. package/dist/skills/agents/registry.js.map +0 -1
  492. package/dist/skills/discovery.js +0 -333
  493. package/dist/skills/discovery.js.map +0 -1
  494. package/dist/skills/dispatch.js +0 -347
  495. package/dist/skills/dispatch.js.map +0 -1
  496. package/dist/skills/dynamic-skill-generator.js +0 -100
  497. package/dist/skills/dynamic-skill-generator.js.map +0 -1
  498. package/dist/skills/index.js +0 -44
  499. package/dist/skills/index.js.map +0 -1
  500. package/dist/skills/injection/subagent.js +0 -195
  501. package/dist/skills/injection/subagent.js.map +0 -1
  502. package/dist/skills/injection/token.js +0 -260
  503. package/dist/skills/injection/token.js.map +0 -1
  504. package/dist/skills/install.js +0 -40
  505. package/dist/skills/install.js.map +0 -1
  506. package/dist/skills/manifests/contribution.js +0 -175
  507. package/dist/skills/manifests/contribution.js.map +0 -1
  508. package/dist/skills/manifests/research.js +0 -281
  509. package/dist/skills/manifests/research.js.map +0 -1
  510. package/dist/skills/manifests/resolver.js +0 -146
  511. package/dist/skills/manifests/resolver.js.map +0 -1
  512. package/dist/skills/marketplace.js +0 -90
  513. package/dist/skills/marketplace.js.map +0 -1
  514. package/dist/skills/orchestrator/spawn.js +0 -178
  515. package/dist/skills/orchestrator/spawn.js.map +0 -1
  516. package/dist/skills/orchestrator/startup.js +0 -451
  517. package/dist/skills/orchestrator/startup.js.map +0 -1
  518. package/dist/skills/orchestrator/validator.js +0 -301
  519. package/dist/skills/orchestrator/validator.js.map +0 -1
  520. package/dist/skills/precedence-integration.js +0 -73
  521. package/dist/skills/precedence-integration.js.map +0 -1
  522. package/dist/skills/precedence-types.js +0 -16
  523. package/dist/skills/precedence-types.js.map +0 -1
  524. package/dist/skills/routing-table.js +0 -63
  525. package/dist/skills/routing-table.js.map +0 -1
  526. package/dist/skills/skill-paths.js +0 -220
  527. package/dist/skills/skill-paths.js.map +0 -1
  528. package/dist/skills/test-utility.js +0 -55
  529. package/dist/skills/test-utility.js.map +0 -1
  530. package/dist/skills/types.js +0 -118
  531. package/dist/skills/types.js.map +0 -1
  532. package/dist/skills/validation.js +0 -183
  533. package/dist/skills/validation.js.map +0 -1
  534. package/dist/skills/version.js +0 -57
  535. package/dist/skills/version.js.map +0 -1
  536. package/dist/snapshot/index.js +0 -188
  537. package/dist/snapshot/index.js.map +0 -1
  538. package/dist/spawn/adapter-registry.js +0 -246
  539. package/dist/spawn/adapter-registry.js.map +0 -1
  540. package/dist/spawn/index.js +0 -10
  541. package/dist/spawn/index.js.map +0 -1
  542. package/dist/stats/index.js +0 -343
  543. package/dist/stats/index.js.map +0 -1
  544. package/dist/stats/workflow-telemetry.js +0 -400
  545. package/dist/stats/workflow-telemetry.js.map +0 -1
  546. package/dist/sticky/archive.js +0 -47
  547. package/dist/sticky/archive.js.map +0 -1
  548. package/dist/sticky/convert.js +0 -235
  549. package/dist/sticky/convert.js.map +0 -1
  550. package/dist/sticky/create.js +0 -48
  551. package/dist/sticky/create.js.map +0 -1
  552. package/dist/sticky/id.js +0 -35
  553. package/dist/sticky/id.js.map +0 -1
  554. package/dist/sticky/index.js +0 -16
  555. package/dist/sticky/index.js.map +0 -1
  556. package/dist/sticky/list.js +0 -44
  557. package/dist/sticky/list.js.map +0 -1
  558. package/dist/sticky/purge.js +0 -45
  559. package/dist/sticky/purge.js.map +0 -1
  560. package/dist/sticky/show.js +0 -42
  561. package/dist/sticky/show.js.map +0 -1
  562. package/dist/sticky/types.js +0 -10
  563. package/dist/sticky/types.js.map +0 -1
  564. package/dist/store/atomic.js +0 -167
  565. package/dist/store/atomic.js.map +0 -1
  566. package/dist/store/backup.js +0 -94
  567. package/dist/store/backup.js.map +0 -1
  568. package/dist/store/brain-accessor.js +0 -397
  569. package/dist/store/brain-accessor.js.map +0 -1
  570. package/dist/store/brain-schema.js +0 -215
  571. package/dist/store/brain-schema.js.map +0 -1
  572. package/dist/store/brain-sqlite.js +0 -271
  573. package/dist/store/brain-sqlite.js.map +0 -1
  574. package/dist/store/cache.js +0 -168
  575. package/dist/store/cache.js.map +0 -1
  576. package/dist/store/chain-schema.js +0 -51
  577. package/dist/store/chain-schema.js.map +0 -1
  578. package/dist/store/converters.js +0 -122
  579. package/dist/store/converters.js.map +0 -1
  580. package/dist/store/cross-db-cleanup.js +0 -169
  581. package/dist/store/cross-db-cleanup.js.map +0 -1
  582. package/dist/store/data-accessor.js +0 -26
  583. package/dist/store/data-accessor.js.map +0 -1
  584. package/dist/store/data-safety-central.js +0 -269
  585. package/dist/store/data-safety-central.js.map +0 -1
  586. package/dist/store/data-safety.js +0 -274
  587. package/dist/store/data-safety.js.map +0 -1
  588. package/dist/store/db-helpers.js +0 -223
  589. package/dist/store/db-helpers.js.map +0 -1
  590. package/dist/store/export.js +0 -155
  591. package/dist/store/export.js.map +0 -1
  592. package/dist/store/file-utils.js +0 -270
  593. package/dist/store/file-utils.js.map +0 -1
  594. package/dist/store/git-checkpoint.js +0 -365
  595. package/dist/store/git-checkpoint.js.map +0 -1
  596. package/dist/store/import-logging.js +0 -139
  597. package/dist/store/import-logging.js.map +0 -1
  598. package/dist/store/import-remap.js +0 -145
  599. package/dist/store/import-remap.js.map +0 -1
  600. package/dist/store/import-sort.js +0 -121
  601. package/dist/store/import-sort.js.map +0 -1
  602. package/dist/store/index.js +0 -28
  603. package/dist/store/index.js.map +0 -1
  604. package/dist/store/json.js +0 -208
  605. package/dist/store/json.js.map +0 -1
  606. package/dist/store/lifecycle-store.js +0 -249
  607. package/dist/store/lifecycle-store.js.map +0 -1
  608. package/dist/store/lock.js +0 -70
  609. package/dist/store/lock.js.map +0 -1
  610. package/dist/store/migration-sqlite.js +0 -676
  611. package/dist/store/migration-sqlite.js.map +0 -1
  612. package/dist/store/nexus-schema.js +0 -62
  613. package/dist/store/nexus-schema.js.map +0 -1
  614. package/dist/store/nexus-sqlite.js +0 -217
  615. package/dist/store/nexus-sqlite.js.map +0 -1
  616. package/dist/store/nexus-validation-schemas.js +0 -40
  617. package/dist/store/nexus-validation-schemas.js.map +0 -1
  618. package/dist/store/parsers.js +0 -37
  619. package/dist/store/parsers.js.map +0 -1
  620. package/dist/store/project-detect.js +0 -457
  621. package/dist/store/project-detect.js.map +0 -1
  622. package/dist/store/provider.js +0 -101
  623. package/dist/store/provider.js.map +0 -1
  624. package/dist/store/safety-data-accessor.js +0 -243
  625. package/dist/store/safety-data-accessor.js.map +0 -1
  626. package/dist/store/schema.js +0 -7
  627. package/dist/store/schema.js.map +0 -1
  628. package/dist/store/session-store.js +0 -219
  629. package/dist/store/session-store.js.map +0 -1
  630. package/dist/store/sqlite-backup.js +0 -105
  631. package/dist/store/sqlite-backup.js.map +0 -1
  632. package/dist/store/sqlite-data-accessor.js +0 -734
  633. package/dist/store/sqlite-data-accessor.js.map +0 -1
  634. package/dist/store/sqlite.js +0 -554
  635. package/dist/store/sqlite.js.map +0 -1
  636. package/dist/store/status-registry.js +0 -8
  637. package/dist/store/status-registry.js.map +0 -1
  638. package/dist/store/task-store.js +0 -348
  639. package/dist/store/task-store.js.map +0 -1
  640. package/dist/store/tasks-schema.js +0 -604
  641. package/dist/store/tasks-schema.js.map +0 -1
  642. package/dist/store/typed-query.js +0 -15
  643. package/dist/store/typed-query.js.map +0 -1
  644. package/dist/store/validation-schemas.js +0 -278
  645. package/dist/store/validation-schemas.js.map +0 -1
  646. package/dist/system/archive-analytics.js +0 -277
  647. package/dist/system/archive-analytics.js.map +0 -1
  648. package/dist/system/archive-stats.js +0 -64
  649. package/dist/system/archive-stats.js.map +0 -1
  650. package/dist/system/audit.js +0 -145
  651. package/dist/system/audit.js.map +0 -1
  652. package/dist/system/backup.js +0 -141
  653. package/dist/system/backup.js.map +0 -1
  654. package/dist/system/cleanup.js +0 -134
  655. package/dist/system/cleanup.js.map +0 -1
  656. package/dist/system/health.js +0 -1054
  657. package/dist/system/health.js.map +0 -1
  658. package/dist/system/index.js +0 -18
  659. package/dist/system/index.js.map +0 -1
  660. package/dist/system/inject-generate.js +0 -122
  661. package/dist/system/inject-generate.js.map +0 -1
  662. package/dist/system/labels.js +0 -38
  663. package/dist/system/labels.js.map +0 -1
  664. package/dist/system/metrics.js +0 -61
  665. package/dist/system/metrics.js.map +0 -1
  666. package/dist/system/migrate.js +0 -43
  667. package/dist/system/migrate.js.map +0 -1
  668. package/dist/system/platform-paths.js +0 -80
  669. package/dist/system/platform-paths.js.map +0 -1
  670. package/dist/system/runtime.js +0 -161
  671. package/dist/system/runtime.js.map +0 -1
  672. package/dist/system/safestop.js +0 -99
  673. package/dist/system/safestop.js.map +0 -1
  674. package/dist/system/storage-preflight.js +0 -123
  675. package/dist/system/storage-preflight.js.map +0 -1
  676. package/dist/task-work/index.js +0 -155
  677. package/dist/task-work/index.js.map +0 -1
  678. package/dist/tasks/add.js +0 -656
  679. package/dist/tasks/add.js.map +0 -1
  680. package/dist/tasks/analyze.js +0 -85
  681. package/dist/tasks/analyze.js.map +0 -1
  682. package/dist/tasks/archive.js +0 -90
  683. package/dist/tasks/archive.js.map +0 -1
  684. package/dist/tasks/atomicity.js +0 -83
  685. package/dist/tasks/atomicity.js.map +0 -1
  686. package/dist/tasks/cancel-ops.js +0 -83
  687. package/dist/tasks/cancel-ops.js.map +0 -1
  688. package/dist/tasks/complete.js +0 -235
  689. package/dist/tasks/complete.js.map +0 -1
  690. package/dist/tasks/crossref-extract.js +0 -73
  691. package/dist/tasks/crossref-extract.js.map +0 -1
  692. package/dist/tasks/delete-preview.js +0 -192
  693. package/dist/tasks/delete-preview.js.map +0 -1
  694. package/dist/tasks/delete.js +0 -120
  695. package/dist/tasks/delete.js.map +0 -1
  696. package/dist/tasks/deletion-strategy.js +0 -200
  697. package/dist/tasks/deletion-strategy.js.map +0 -1
  698. package/dist/tasks/dependency-check.js +0 -278
  699. package/dist/tasks/dependency-check.js.map +0 -1
  700. package/dist/tasks/deps-ready.js +0 -32
  701. package/dist/tasks/deps-ready.js.map +0 -1
  702. package/dist/tasks/enforcement.js +0 -89
  703. package/dist/tasks/enforcement.js.map +0 -1
  704. package/dist/tasks/epic-enforcement.js +0 -294
  705. package/dist/tasks/epic-enforcement.js.map +0 -1
  706. package/dist/tasks/find.js +0 -148
  707. package/dist/tasks/find.js.map +0 -1
  708. package/dist/tasks/graph-cache.js +0 -127
  709. package/dist/tasks/graph-cache.js.map +0 -1
  710. package/dist/tasks/graph-ops.js +0 -171
  711. package/dist/tasks/graph-ops.js.map +0 -1
  712. package/dist/tasks/graph-rag.js +0 -328
  713. package/dist/tasks/graph-rag.js.map +0 -1
  714. package/dist/tasks/hierarchy-policy.js +0 -149
  715. package/dist/tasks/hierarchy-policy.js.map +0 -1
  716. package/dist/tasks/hierarchy.js +0 -185
  717. package/dist/tasks/hierarchy.js.map +0 -1
  718. package/dist/tasks/id-generator.js +0 -65
  719. package/dist/tasks/id-generator.js.map +0 -1
  720. package/dist/tasks/index.js +0 -14
  721. package/dist/tasks/index.js.map +0 -1
  722. package/dist/tasks/labels.js +0 -52
  723. package/dist/tasks/labels.js.map +0 -1
  724. package/dist/tasks/list.js +0 -68
  725. package/dist/tasks/list.js.map +0 -1
  726. package/dist/tasks/phase-tracking.js +0 -133
  727. package/dist/tasks/phase-tracking.js.map +0 -1
  728. package/dist/tasks/pipeline-stage.js +0 -248
  729. package/dist/tasks/pipeline-stage.js.map +0 -1
  730. package/dist/tasks/plan.js +0 -268
  731. package/dist/tasks/plan.js.map +0 -1
  732. package/dist/tasks/relates.js +0 -89
  733. package/dist/tasks/relates.js.map +0 -1
  734. package/dist/tasks/reparent.d.ts +0 -38
  735. package/dist/tasks/reparent.d.ts.map +0 -1
  736. package/dist/tasks/show.js +0 -78
  737. package/dist/tasks/show.js.map +0 -1
  738. package/dist/tasks/size-weighting.js +0 -86
  739. package/dist/tasks/size-weighting.js.map +0 -1
  740. package/dist/tasks/staleness.js +0 -86
  741. package/dist/tasks/staleness.js.map +0 -1
  742. package/dist/tasks/task-ops.js +0 -1340
  743. package/dist/tasks/task-ops.js.map +0 -1
  744. package/dist/tasks/update.js +0 -271
  745. package/dist/tasks/update.js.map +0 -1
  746. package/dist/templates/index.js +0 -10
  747. package/dist/templates/index.js.map +0 -1
  748. package/dist/templates/parser.js +0 -254
  749. package/dist/templates/parser.js.map +0 -1
  750. package/dist/ui/aliases.js +0 -153
  751. package/dist/ui/aliases.js.map +0 -1
  752. package/dist/ui/changelog.js +0 -184
  753. package/dist/ui/changelog.js.map +0 -1
  754. package/dist/ui/command-registry.js +0 -168
  755. package/dist/ui/command-registry.js.map +0 -1
  756. package/dist/ui/flags.js +0 -94
  757. package/dist/ui/flags.js.map +0 -1
  758. package/dist/ui/index.js +0 -24
  759. package/dist/ui/index.js.map +0 -1
  760. package/dist/ui/injection-legacy.d.ts +0 -26
  761. package/dist/ui/injection-legacy.d.ts.map +0 -1
  762. package/dist/ui/injection-legacy.js +0 -42
  763. package/dist/ui/injection-legacy.js.map +0 -1
  764. package/dist/upgrade.js +0 -901
  765. package/dist/upgrade.js.map +0 -1
  766. package/dist/validation/chain-validation.js +0 -146
  767. package/dist/validation/chain-validation.js.map +0 -1
  768. package/dist/validation/compliance.js +0 -155
  769. package/dist/validation/compliance.js.map +0 -1
  770. package/dist/validation/docs-sync.js +0 -212
  771. package/dist/validation/docs-sync.js.map +0 -1
  772. package/dist/validation/doctor/checks.js +0 -1069
  773. package/dist/validation/doctor/checks.js.map +0 -1
  774. package/dist/validation/doctor/index.js +0 -9
  775. package/dist/validation/doctor/index.js.map +0 -1
  776. package/dist/validation/doctor/project-cache.js +0 -160
  777. package/dist/validation/doctor/project-cache.js.map +0 -1
  778. package/dist/validation/doctor/utils.js +0 -155
  779. package/dist/validation/doctor/utils.js.map +0 -1
  780. package/dist/validation/engine.js +0 -902
  781. package/dist/validation/engine.js.map +0 -1
  782. package/dist/validation/gap-check.js +0 -175
  783. package/dist/validation/gap-check.js.map +0 -1
  784. package/dist/validation/index.js +0 -40
  785. package/dist/validation/index.js.map +0 -1
  786. package/dist/validation/manifest.js +0 -237
  787. package/dist/validation/manifest.js.map +0 -1
  788. package/dist/validation/operation-gate-validators.js +0 -724
  789. package/dist/validation/operation-gate-validators.js.map +0 -1
  790. package/dist/validation/operation-verification-gates.js +0 -532
  791. package/dist/validation/operation-verification-gates.js.map +0 -1
  792. package/dist/validation/param-utils.js +0 -139
  793. package/dist/validation/param-utils.js.map +0 -1
  794. package/dist/validation/protocol-common.js +0 -300
  795. package/dist/validation/protocol-common.js.map +0 -1
  796. package/dist/validation/protocols/consensus.js +0 -71
  797. package/dist/validation/protocols/consensus.js.map +0 -1
  798. package/dist/validation/protocols/contribution.js +0 -59
  799. package/dist/validation/protocols/contribution.js.map +0 -1
  800. package/dist/validation/protocols/decomposition.js +0 -59
  801. package/dist/validation/protocols/decomposition.js.map +0 -1
  802. package/dist/validation/protocols/implementation.js +0 -59
  803. package/dist/validation/protocols/implementation.js.map +0 -1
  804. package/dist/validation/protocols/release-protocol.js +0 -60
  805. package/dist/validation/protocols/release-protocol.js.map +0 -1
  806. package/dist/validation/protocols/research.js +0 -77
  807. package/dist/validation/protocols/research.js.map +0 -1
  808. package/dist/validation/protocols/specification.js +0 -84
  809. package/dist/validation/protocols/specification.js.map +0 -1
  810. package/dist/validation/protocols/testing-protocol.js +0 -70
  811. package/dist/validation/protocols/testing-protocol.js.map +0 -1
  812. package/dist/validation/protocols/validation-protocol.js +0 -70
  813. package/dist/validation/protocols/validation-protocol.js.map +0 -1
  814. package/dist/validation/schema-integrity.js +0 -170
  815. package/dist/validation/schema-integrity.js.map +0 -1
  816. package/dist/validation/schema-validator.js +0 -176
  817. package/dist/validation/schema-validator.js.map +0 -1
  818. package/dist/validation/validate-ops.js +0 -937
  819. package/dist/validation/validate-ops.js.map +0 -1
  820. package/dist/validation/validation-rules.js +0 -226
  821. package/dist/validation/validation-rules.js.map +0 -1
  822. package/dist/validation/verification.js +0 -321
  823. package/dist/validation/verification.js.map +0 -1
@@ -1 +0,0 @@
1
- {"version":3,"file":"sqlite-data-accessor.js","sourceRoot":"","sources":["../../src/store/sqlite-data-accessor.ts"],"names":[],"mappings":"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"}
@@ -1,554 +0,0 @@
1
- /**
2
- * SQLite store via drizzle-orm/node-sqlite + node:sqlite (DatabaseSync).
3
- *
4
- * Zero native npm dependencies, 100% cross-platform (Windows/Linux/macOS).
5
- * File-backed SQLite with WAL mode for multi-process concurrent access.
6
- * Database stored at .cleo/tasks.db.
7
- *
8
- * Architecture: node:sqlite provides the synchronous file-backed SQLite engine,
9
- * wrapped via drizzle-orm/node-sqlite for a fully synchronous interface. All
10
- * writes go directly to disk through SQLite's native WAL mechanism -- no
11
- * saveToFile() pattern needed.
12
- *
13
- * @epic T4454
14
- * @task T4817 - node:sqlite engine migration (ADR-006, ADR-010)
15
- * @task T4810 - Data loss prevention guards
16
- */
17
- import { copyFileSync, existsSync, mkdirSync, renameSync, unlinkSync } from 'node:fs';
18
- import { createRequire } from 'node:module';
19
- const _require = createRequire(import.meta.url);
20
- const { DatabaseSync } = _require('node:sqlite');
21
- import { dirname, join, resolve, sep } from 'node:path';
22
- import { fileURLToPath } from 'node:url';
23
- import { eq } from 'drizzle-orm';
24
- import { readMigrationFiles } from 'drizzle-orm/migrator';
25
- import { drizzle } from 'drizzle-orm/node-sqlite';
26
- import { migrate } from 'drizzle-orm/node-sqlite/migrator';
27
- import { getLogger } from '../logger.js';
28
- import { getCleoDirAbsolute } from '../paths.js';
29
- import { listSqliteBackups } from './sqlite-backup.js';
30
- import * as schema from './tasks-schema.js';
31
- /**
32
- * Open a node:sqlite DatabaseSync with CLEO standard pragmas.
33
- *
34
- * CRITICAL: WAL mode is verified, not just requested. If another process holds
35
- * an EXCLUSIVE lock in DELETE mode, PRAGMA journal_mode=WAL silently returns
36
- * 'delete'. This caused data loss (T5173) when concurrent MCP servers opened
37
- * the same database — writes were silently dropped under lock contention.
38
- */
39
- export function openNativeDatabase(path, options) {
40
- const db = new DatabaseSync(path, {
41
- enableForeignKeyConstraints: true,
42
- readOnly: options?.readonly ?? false,
43
- timeout: options?.timeout ?? 5000,
44
- allowExtension: options?.allowExtension ?? false,
45
- });
46
- // Set busy_timeout FIRST so WAL pragma can wait for locks
47
- db.exec('PRAGMA busy_timeout=5000');
48
- // Enable WAL for concurrent multi-process access (ADR-006, ADR-010)
49
- if (options?.enableWal !== false) {
50
- const MAX_WAL_RETRIES = 3;
51
- const RETRY_DELAY_MS = 200;
52
- let walSet = false;
53
- for (let attempt = 1; attempt <= MAX_WAL_RETRIES; attempt++) {
54
- db.exec('PRAGMA journal_mode=WAL');
55
- // CRITICAL: Verify WAL was actually set — the PRAGMA returns the mode
56
- // that was applied, which may be 'delete' if another connection holds a lock
57
- const result = db.prepare('PRAGMA journal_mode').get();
58
- const currentMode = result?.journal_mode?.toLowerCase?.() ?? 'unknown';
59
- if (currentMode === 'wal') {
60
- walSet = true;
61
- break;
62
- }
63
- // WAL not set — another connection likely holds an EXCLUSIVE lock
64
- if (attempt < MAX_WAL_RETRIES) {
65
- // Sync sleep via Atomics for retry delay (node:sqlite is sync-only)
66
- const buf = new SharedArrayBuffer(4);
67
- Atomics.wait(new Int32Array(buf), 0, 0, RETRY_DELAY_MS * attempt);
68
- }
69
- }
70
- if (!walSet) {
71
- // Verify one final time
72
- const finalResult = db.prepare('PRAGMA journal_mode').get();
73
- const finalMode = finalResult?.journal_mode?.toLowerCase?.() ?? 'unknown';
74
- if (finalMode !== 'wal') {
75
- db.close();
76
- throw new Error(`CRITICAL: Failed to set WAL journal mode after ${MAX_WAL_RETRIES} attempts. ` +
77
- `Database is in '${finalMode}' mode. Another process likely holds an EXCLUSIVE lock ` +
78
- `on ${path}. Refusing to open — concurrent writes in DELETE mode cause data loss. ` +
79
- `Kill other cleo/MCP processes and retry. (T5173)`);
80
- }
81
- }
82
- }
83
- // FK enforcement enabled in production. Disabled in vitest where test
84
- // fixtures insert data without full referential integrity (orphan refs).
85
- // VITEST env var is auto-set by vitest — no config needed.
86
- if (!process.env.VITEST) {
87
- db.exec('PRAGMA foreign_keys=ON');
88
- }
89
- return db;
90
- }
91
- /** Database file name within .cleo/ directory. */
92
- const DB_FILENAME = 'tasks.db';
93
- /** Schema version for newly created databases. Single source of truth. */
94
- export const SQLITE_SCHEMA_VERSION = '2.0.0';
95
- const SCHEMA_VERSION = SQLITE_SCHEMA_VERSION;
96
- /** Singleton state for lazy initialization. */
97
- let _db = null;
98
- let _nativeDb = null;
99
- let _dbPath = null;
100
- /** Guard against concurrent initialization (async migration). */
101
- let _initPromise = null;
102
- /** Guard: git-tracking check runs only once per process. */
103
- let _gitTrackingChecked = false;
104
- /**
105
- * Get the path to the SQLite database file.
106
- */
107
- export function getDbPath(cwd) {
108
- return join(getCleoDirAbsolute(cwd), DB_FILENAME);
109
- }
110
- /**
111
- * Minimum task count in a backup to consider it a valid recovery source.
112
- * Prevents restoring from a backup that's also empty or nearly empty.
113
- * @task T5188
114
- */
115
- const MIN_BACKUP_TASK_COUNT = 10;
116
- /**
117
- * Auto-recover from backup if the database has tables but zero tasks
118
- * and a backup with data exists.
119
- *
120
- * Root cause (T5188): WAL/SHM files were tracked by git. On branch switch,
121
- * git overwrites the WAL with an empty (committed) version, discarding all
122
- * pending WAL writes. The main DB file (which may not have been checkpointed)
123
- * appears empty because all recent writes were in the WAL.
124
- *
125
- * This function runs after migrations (so tables exist) and before the
126
- * singleton is set. It checks if the tasks table is empty and a VACUUM INTO
127
- * backup exists with real data. If so, it closes the current connection,
128
- * replaces the DB file from backup, and re-opens.
129
- *
130
- * @task T5188
131
- */
132
- async function autoRecoverFromBackup(nativeDb, dbPath, cwd) {
133
- const log = getLogger('sqlite');
134
- try {
135
- // Count tasks in current database
136
- const countResult = nativeDb.prepare('SELECT COUNT(*) as cnt FROM tasks').get();
137
- const taskCount = countResult?.cnt ?? 0;
138
- if (taskCount > 0)
139
- return; // Database has data, no recovery needed
140
- // Database is empty — check for backups
141
- const backups = listSqliteBackups(cwd);
142
- if (backups.length === 0) {
143
- // No backups available — this is a genuinely new database
144
- return;
145
- }
146
- // Check the newest backup for task count
147
- const newestBackup = backups[0];
148
- // Open backup read-only to verify it has data
149
- const backupDb = new DatabaseSync(newestBackup.path, { readOnly: true });
150
- let backupTaskCount = 0;
151
- try {
152
- const backupCount = backupDb.prepare('SELECT COUNT(*) as cnt FROM tasks').get();
153
- backupTaskCount = backupCount?.cnt ?? 0;
154
- }
155
- finally {
156
- backupDb.close();
157
- }
158
- if (backupTaskCount < MIN_BACKUP_TASK_COUNT) {
159
- // Backup also has very few tasks — not a reliable recovery source
160
- return;
161
- }
162
- // We have an empty database AND a backup with data — auto-recover
163
- log.warn({ dbPath, backupPath: newestBackup.path, backupTasks: backupTaskCount }, `Empty database detected with ${backupTaskCount}-task backup available. ` +
164
- 'Auto-recovering from backup. This likely happened because git-tracked ' +
165
- 'WAL/SHM files were overwritten during a branch switch (T5188).');
166
- // Close current connection
167
- nativeDb.close();
168
- // Remove stale WAL/SHM files that may have been corrupted by git
169
- const walPath = dbPath + '-wal';
170
- const shmPath = dbPath + '-shm';
171
- try {
172
- unlinkSync(walPath);
173
- }
174
- catch {
175
- /* may not exist */
176
- }
177
- try {
178
- unlinkSync(shmPath);
179
- }
180
- catch {
181
- /* may not exist */
182
- }
183
- // Restore from backup (atomic: copy to temp, rename)
184
- const tempPath = dbPath + '.recovery-tmp';
185
- copyFileSync(newestBackup.path, tempPath);
186
- // Rename in place — on the same filesystem this is atomic
187
- renameSync(tempPath, dbPath);
188
- log.info({ dbPath, backupPath: newestBackup.path, restoredTasks: backupTaskCount }, 'Database auto-recovered from backup successfully.');
189
- // Re-open the restored database — update the native singleton
190
- const restoredNativeDb = openNativeDatabase(dbPath);
191
- _nativeDb = restoredNativeDb;
192
- // Re-run migrations on restored DB to ensure schema is current
193
- const restoredDb = drizzle({ client: restoredNativeDb, schema });
194
- runMigrations(restoredNativeDb, restoredDb);
195
- // Update the singleton drizzle instance
196
- _db = restoredDb;
197
- }
198
- catch (err) {
199
- // Auto-recovery failure is non-fatal — log and continue with empty DB
200
- log.error({ err, dbPath }, 'Auto-recovery from backup failed. Continuing with empty database.');
201
- }
202
- }
203
- /**
204
- * Initialize the SQLite database (lazy, singleton).
205
- * Creates the database file and tables if they don't exist.
206
- * Returns the drizzle ORM instance (node-sqlite driver).
207
- *
208
- * Uses a promise guard so concurrent callers wait for the same
209
- * initialization to complete (migrations are async).
210
- */
211
- export async function getDb(cwd) {
212
- const requestedPath = getDbPath(cwd);
213
- // If singleton exists but points to different path, reset it
214
- if (_db && _dbPath !== requestedPath) {
215
- resetDbState();
216
- }
217
- if (_db)
218
- return _db;
219
- // If already initializing, wait for the in-flight init
220
- if (_initPromise)
221
- return _initPromise;
222
- _initPromise = (async () => {
223
- const dbPath = requestedPath;
224
- _dbPath = dbPath;
225
- // Ensure directory exists
226
- mkdirSync(dirname(dbPath), { recursive: true });
227
- // Open file-backed SQLite via node:sqlite with WAL mode
228
- const nativeDb = openNativeDatabase(dbPath);
229
- _nativeDb = nativeDb;
230
- // Create drizzle ORM wrapper via node-sqlite
231
- const db = drizzle({ client: nativeDb, schema });
232
- // Run drizzle migrations (creates/updates tables)
233
- runMigrations(nativeDb, db);
234
- // Migration SQL contains PRAGMA foreign_keys=ON statements.
235
- // In test environments, disable FKs after migration to allow test
236
- // fixtures to insert data without full referential integrity.
237
- if (process.env.VITEST) {
238
- nativeDb.exec('PRAGMA foreign_keys=OFF');
239
- }
240
- // Seed schema version for new databases (no-op if already set)
241
- nativeDb.exec(`INSERT OR IGNORE INTO schema_meta (key, value) VALUES ('schemaVersion', '${SCHEMA_VERSION}')`);
242
- nativeDb.exec(`INSERT OR IGNORE INTO schema_meta (key, value) VALUES ('task_id_sequence', '{"counter":0,"lastId":"T000","checksum":"seed"}')`);
243
- // Auto-recovery: detect empty database with available backups (T5188)
244
- // Root cause: git-tracked WAL/SHM files get overwritten on branch switch,
245
- // causing data loss when the WAL contained uncommitted writes.
246
- await autoRecoverFromBackup(nativeDb, dbPath, cwd);
247
- // Check if tasks.db or its WAL/SHM are dangerously tracked by git (ADR-013, T5158, T5188)
248
- if (!_gitTrackingChecked) {
249
- _gitTrackingChecked = true;
250
- try {
251
- const { execFileSync } = await import('node:child_process');
252
- const gitCwd = resolve(dbPath, '..', '..');
253
- const filesToCheck = [dbPath, dbPath + '-wal', dbPath + '-shm'];
254
- const log = getLogger('sqlite');
255
- for (const fileToCheck of filesToCheck) {
256
- try {
257
- execFileSync('git', ['ls-files', '--error-unmatch', fileToCheck], {
258
- cwd: gitCwd,
259
- stdio: 'pipe',
260
- });
261
- // If we get here, the file IS tracked — that's dangerous
262
- const basename = fileToCheck.split(/[\\/]/).pop();
263
- log.warn({ path: fileToCheck }, `${basename} is tracked by project git — this risks data loss on branch switch. ` +
264
- `Run: git rm --cached ${fileToCheck.replace(gitCwd + sep, '')} (see ADR-013, T5188)`);
265
- }
266
- catch {
267
- // Exit code 1 = not tracked = good
268
- }
269
- }
270
- }
271
- catch {
272
- // git not available, skip check
273
- }
274
- }
275
- // Set singleton only after migrations complete
276
- _db = db;
277
- return db;
278
- })();
279
- try {
280
- return await _initPromise;
281
- }
282
- finally {
283
- _initPromise = null;
284
- }
285
- }
286
- /**
287
- * Resolve the path to the drizzle migrations folder.
288
- * Works from both src/ (dev via tsx) and dist/ (compiled via esbuild bundle).
289
- *
290
- * - Source layout: __dirname = src/store/ → need ../../migrations/drizzle-tasks
291
- * - Bundled layout: __dirname = dist/ → need ../migrations/drizzle-tasks
292
- */
293
- export function resolveMigrationsFolder() {
294
- const __filename = fileURLToPath(import.meta.url);
295
- const __dirname = dirname(__filename);
296
- // When esbuild bundles into dist/index.js, __dirname is dist/ (1 level deep).
297
- // When running from source via tsx, __dirname is src/store/ (2 levels deep).
298
- const isBundled = __dirname.endsWith('/dist') || __dirname.endsWith('\\dist');
299
- const pkgRoot = isBundled ? join(__dirname, '..') : join(__dirname, '..', '..');
300
- return join(pkgRoot, 'migrations', 'drizzle-tasks');
301
- }
302
- /**
303
- * Check whether a table exists in the SQLite database.
304
- */
305
- function tableExists(nativeDb, tableName) {
306
- const result = nativeDb
307
- .prepare("SELECT name FROM sqlite_master WHERE type='table' AND name=?")
308
- .get(tableName);
309
- return !!result;
310
- }
311
- /**
312
- * Check if an error is a SQLite BUSY error (database locked by another process).
313
- * node:sqlite throws native Error with message containing the SQLite error code.
314
- * @task T5185
315
- */
316
- export function isSqliteBusy(err) {
317
- if (!(err instanceof Error))
318
- return false;
319
- const msg = err.message.toLowerCase();
320
- return msg.includes('sqlite_busy') || msg.includes('database is locked');
321
- }
322
- /** Migration retry constants for SQLITE_BUSY handling (T5185). */
323
- const MAX_MIGRATION_RETRIES = 5;
324
- const MIGRATION_RETRY_BASE_DELAY_MS = 100;
325
- const MIGRATION_RETRY_MAX_DELAY_MS = 2000;
326
- /**
327
- * Run drizzle migrations to create/update tables.
328
- *
329
- * Handles three cases:
330
- * 1. New database — runs all migrations from scratch.
331
- * 2. Existing database created by legacy createTablesIfNeeded() — bootstraps
332
- * the baseline migration as already applied, then runs remaining migrations.
333
- * 3. Already-migrated database — runs only pending migrations.
334
- *
335
- * BEGIN IMMEDIATE acquires a RESERVED lock upfront, preventing concurrent
336
- * migration runners from racing (T5173). If another process already holds a
337
- * RESERVED lock, BEGIN IMMEDIATE throws SQLITE_BUSY. This function retries
338
- * with exponential backoff + jitter to handle concurrent MCP server starts (T5185).
339
- *
340
- * @task T4837 - ADR-012 drizzle-kit migration system
341
- * @task T5185 - Retry+backoff for SQLITE_BUSY during migrations
342
- */
343
- function runMigrations(nativeDb, db) {
344
- const migrationsFolder = resolveMigrationsFolder();
345
- // If existing DB with pending migrations, create safety backup (cleo compat)
346
- if (tableExists(nativeDb, 'tasks') && _dbPath) {
347
- const backupPath = _dbPath.replace(/\.db$/, '-pre-cleo.db.bak');
348
- if (!existsSync(backupPath)) {
349
- try {
350
- copyFileSync(_dbPath, backupPath);
351
- }
352
- catch {
353
- /* non-fatal */
354
- }
355
- }
356
- }
357
- // Bootstrap existing databases that predate drizzle migrations (ADR-012 Step D).
358
- // These have tables (e.g., 'tasks') but no __drizzle_migrations record.
359
- // Mark the baseline migration as already applied so migrate() doesn't
360
- // try to re-create existing tables.
361
- if (tableExists(nativeDb, 'tasks') && !tableExists(nativeDb, '__drizzle_migrations')) {
362
- const migrations = readMigrationFiles({ migrationsFolder });
363
- const baseline = migrations[0];
364
- if (baseline) {
365
- nativeDb.exec(`
366
- CREATE TABLE IF NOT EXISTS "__drizzle_migrations" (
367
- id SERIAL PRIMARY KEY,
368
- hash text NOT NULL,
369
- created_at numeric
370
- )
371
- `);
372
- nativeDb.exec(`INSERT INTO "__drizzle_migrations" ("hash", "created_at") VALUES ('${baseline.hash}', ${baseline.folderMillis})`);
373
- }
374
- }
375
- // Fix #63: Reconcile stale migration journal entries from older CLEO versions.
376
- // When the DB has __drizzle_migrations entries whose hashes don't match ANY
377
- // local migration file, drizzle's migrate() either throws or tries to re-run
378
- // all migrations (causing "table already exists" errors). Fix by clearing stale
379
- // entries and marking all local migrations as applied (tables already exist),
380
- // then relying on ensureRequiredColumns() to patch any schema gaps.
381
- if (tableExists(nativeDb, '__drizzle_migrations') && tableExists(nativeDb, 'tasks')) {
382
- const localMigrations = readMigrationFiles({ migrationsFolder });
383
- const localHashes = new Set(localMigrations.map((m) => m.hash));
384
- const dbEntries = nativeDb.prepare('SELECT hash FROM "__drizzle_migrations"').all();
385
- const hasOrphanedEntries = dbEntries.some((e) => !localHashes.has(e.hash));
386
- if (hasOrphanedEntries) {
387
- const log = getLogger('sqlite');
388
- log.warn({ orphaned: dbEntries.filter((e) => !localHashes.has(e.hash)).length }, 'Detected stale migration journal entries from a previous CLEO version. Reconciling.');
389
- // Clear all entries and mark every local migration as applied.
390
- // The existing tables were created by the previous version's migrations,
391
- // so we skip re-running them. ensureRequiredColumns() fills any schema gaps.
392
- nativeDb.exec('DELETE FROM "__drizzle_migrations"');
393
- for (const m of localMigrations) {
394
- nativeDb.exec(`INSERT INTO "__drizzle_migrations" ("hash", "created_at") VALUES ('${m.hash}', ${m.folderMillis})`);
395
- }
396
- }
397
- }
398
- // Run pending migrations via drizzle-orm/node-sqlite/migrator (synchronous).
399
- // The new migrator handles its own transactions. T5185: retry on SQLITE_BUSY.
400
- for (let attempt = 1; attempt <= MAX_MIGRATION_RETRIES; attempt++) {
401
- try {
402
- migrate(db, { migrationsFolder });
403
- break;
404
- }
405
- catch (err) {
406
- if (!isSqliteBusy(err) || attempt === MAX_MIGRATION_RETRIES) {
407
- throw err;
408
- }
409
- const delay = Math.min(MIGRATION_RETRY_BASE_DELAY_MS * 2 ** (attempt - 1) * (1 + Math.random() * 0.5), MIGRATION_RETRY_MAX_DELAY_MS);
410
- Atomics.wait(new Int32Array(new SharedArrayBuffer(4)), 0, 0, Math.round(delay));
411
- }
412
- }
413
- // Fix #63: Defensive column safety net — add any columns the schema expects
414
- // but that are missing from the actual table. This catches gaps from stale
415
- // migration journals, partial migrations, or version skew.
416
- ensureRequiredColumns(nativeDb);
417
- }
418
- /**
419
- * Required columns that MUST exist on the tasks table.
420
- * Maps column name → ALTER TABLE ADD COLUMN DDL suffix.
421
- * Only TEXT columns with no constraints are safe for ALTER TABLE ADD in SQLite.
422
- *
423
- * @see https://github.com/anthropics/cleo/issues/63
424
- */
425
- const REQUIRED_TASK_COLUMNS = [
426
- { name: 'pipeline_stage', ddl: 'text' },
427
- ];
428
- /**
429
- * Ensure all required columns exist on the tasks table.
430
- * Uses PRAGMA table_info to inspect the schema and adds any missing columns
431
- * via ALTER TABLE ADD COLUMN. This is a safety net for databases where
432
- * Drizzle migrations could not run due to journal corruption or version skew.
433
- *
434
- * @see https://github.com/anthropics/cleo/issues/63
435
- */
436
- function ensureRequiredColumns(nativeDb) {
437
- if (!tableExists(nativeDb, 'tasks'))
438
- return;
439
- const columns = nativeDb.prepare('PRAGMA table_info(tasks)').all();
440
- const existingCols = new Set(columns.map((c) => c.name));
441
- for (const req of REQUIRED_TASK_COLUMNS) {
442
- if (!existingCols.has(req.name)) {
443
- const log = getLogger('sqlite');
444
- log.warn({ column: req.name }, `Adding missing column tasks.${req.name} via ALTER TABLE`);
445
- nativeDb.exec(`ALTER TABLE tasks ADD COLUMN ${req.name} ${req.ddl}`);
446
- }
447
- }
448
- }
449
- /**
450
- * Close the database connection and release resources.
451
- */
452
- export function closeDb() {
453
- if (_nativeDb) {
454
- try {
455
- if (_nativeDb.isOpen) {
456
- _nativeDb.close();
457
- }
458
- }
459
- catch {
460
- // Ignore close errors
461
- }
462
- _nativeDb = null;
463
- }
464
- _db = null;
465
- _dbPath = null;
466
- _initPromise = null;
467
- }
468
- /**
469
- * Reset database singleton state without saving.
470
- * Used during migrations when database file is deleted and recreated.
471
- * Safe to call multiple times.
472
- */
473
- export function resetDbState() {
474
- if (_nativeDb) {
475
- try {
476
- if (_nativeDb.isOpen) {
477
- _nativeDb.close();
478
- }
479
- }
480
- catch {
481
- // Ignore close errors
482
- }
483
- _nativeDb = null;
484
- }
485
- _db = null;
486
- _dbPath = null;
487
- _initPromise = null;
488
- }
489
- /**
490
- * Get the schema version from the database.
491
- */
492
- export async function getSchemaVersion(cwd) {
493
- const db = await getDb(cwd);
494
- const result = await db
495
- .select()
496
- .from(schema.schemaMeta)
497
- .where(eq(schema.schemaMeta.key, 'schemaVersion'));
498
- return result[0]?.value ?? null;
499
- }
500
- /**
501
- * Check if the database file exists.
502
- */
503
- export function dbExists(cwd) {
504
- return existsSync(getDbPath(cwd));
505
- }
506
- /**
507
- * Get the underlying node:sqlite DatabaseSync instance.
508
- * Useful for direct PRAGMA calls or raw SQL operations.
509
- * Returns null if the database hasn't been initialized.
510
- */
511
- export function getNativeDb() {
512
- return _nativeDb;
513
- }
514
- /**
515
- * Get the underlying node:sqlite DatabaseSync instance for tasks.db.
516
- * Alias for getNativeDb() — mirrors getBrainNativeDb() naming convention.
517
- */
518
- export function getNativeTasksDb() {
519
- return _nativeDb;
520
- }
521
- /**
522
- * Re-export schema for external use.
523
- */
524
- export { schema };
525
- /**
526
- * Close ALL database singletons (tasks.db, brain.db, nexus.db).
527
- *
528
- * Must be called before deleting temp directories on Windows, where
529
- * SQLite holds exclusive file handles on .db, .db-wal, and .db-shm files.
530
- * Safe to call even if some databases were never opened.
531
- *
532
- * @task T5508
533
- */
534
- export async function closeAllDatabases() {
535
- // Close tasks.db
536
- closeDb();
537
- // Close brain.db (dynamic import to avoid circular deps)
538
- try {
539
- const { closeBrainDb } = await import('./brain-sqlite.js');
540
- closeBrainDb();
541
- }
542
- catch {
543
- /* module may not be loaded */
544
- }
545
- // Close nexus.db (dynamic import to avoid circular deps)
546
- try {
547
- const { closeNexusDb } = await import('./nexus-sqlite.js');
548
- closeNexusDb();
549
- }
550
- catch {
551
- /* module may not be loaded */
552
- }
553
- }
554
- //# sourceMappingURL=sqlite.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"sqlite.js","sourceRoot":"","sources":["../../src/store/sqlite.ts"],"names":[],"mappings":"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"}
@@ -1,8 +0,0 @@
1
- /**
2
- * Status Registry — re-exports from @cleocode/contracts.
3
- *
4
- * The canonical status definitions now live in @cleocode/contracts.
5
- * This file exists for backward compatibility within the store layer.
6
- */
7
- export { ADR_STATUSES, GATE_STATUSES, isValidStatus, LIFECYCLE_PIPELINE_STATUSES, LIFECYCLE_STAGE_STATUSES, MANIFEST_STATUSES, PIPELINE_STATUS_ICONS, SESSION_STATUSES, STAGE_STATUS_ICONS, STATUS_REGISTRY, TASK_STATUS_SYMBOLS_ASCII, TASK_STATUS_SYMBOLS_UNICODE, TASK_STATUSES, TERMINAL_PIPELINE_STATUSES, TERMINAL_STAGE_STATUSES, TERMINAL_TASK_STATUSES, } from '@cleocode/contracts';
8
- //# sourceMappingURL=status-registry.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"status-registry.js","sourceRoot":"","sources":["../../src/store/status-registry.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAYH,OAAO,EACL,YAAY,EACZ,aAAa,EACb,aAAa,EACb,2BAA2B,EAC3B,wBAAwB,EACxB,iBAAiB,EACjB,qBAAqB,EACrB,gBAAgB,EAChB,kBAAkB,EAClB,eAAe,EACf,yBAAyB,EACzB,2BAA2B,EAC3B,aAAa,EACb,0BAA0B,EAC1B,uBAAuB,EACvB,sBAAsB,GACvB,MAAM,qBAAqB,CAAC"}