@cleocode/core 2026.4.5 → 2026.4.7

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 (782) hide show
  1. package/dist/discovery.d.ts +69 -0
  2. package/dist/discovery.d.ts.map +1 -0
  3. package/dist/index.d.ts +3 -2
  4. package/dist/index.d.ts.map +1 -1
  5. package/dist/index.js +1643 -2349
  6. package/dist/index.js.map +4 -4
  7. package/dist/init.d.ts +51 -0
  8. package/dist/init.d.ts.map +1 -1
  9. package/dist/internal.d.ts +9 -1
  10. package/dist/internal.d.ts.map +1 -1
  11. package/dist/lifecycle/default-chain.d.ts +8 -2
  12. package/dist/lifecycle/default-chain.d.ts.map +1 -1
  13. package/dist/lifecycle/index.d.ts +1 -0
  14. package/dist/lifecycle/index.d.ts.map +1 -1
  15. package/dist/lifecycle/stage-guidance.d.ts +140 -0
  16. package/dist/lifecycle/stage-guidance.d.ts.map +1 -0
  17. package/dist/orchestration/protocol-validators.d.ts +122 -3
  18. package/dist/orchestration/protocol-validators.d.ts.map +1 -1
  19. package/dist/paths.d.ts +91 -0
  20. package/dist/paths.d.ts.map +1 -1
  21. package/dist/scaffold.d.ts +31 -1
  22. package/dist/scaffold.d.ts.map +1 -1
  23. package/dist/skills/dispatch.d.ts +1 -1
  24. package/dist/skills/skill-paths.d.ts +9 -6
  25. package/dist/skills/skill-paths.d.ts.map +1 -1
  26. package/dist/validation/protocols/_shared.d.ts +40 -0
  27. package/dist/validation/protocols/_shared.d.ts.map +1 -0
  28. package/dist/validation/protocols/architecture-decision.d.ts +23 -0
  29. package/dist/validation/protocols/architecture-decision.d.ts.map +1 -0
  30. package/dist/validation/protocols/artifact-publish.d.ts +22 -0
  31. package/dist/validation/protocols/artifact-publish.d.ts.map +1 -0
  32. package/dist/validation/protocols/consensus.d.ts +11 -17
  33. package/dist/validation/protocols/consensus.d.ts.map +1 -1
  34. package/dist/validation/protocols/contribution.d.ts +12 -17
  35. package/dist/validation/protocols/contribution.d.ts.map +1 -1
  36. package/dist/validation/protocols/decomposition.d.ts +18 -21
  37. package/dist/validation/protocols/decomposition.d.ts.map +1 -1
  38. package/dist/validation/protocols/implementation.d.ts +9 -17
  39. package/dist/validation/protocols/implementation.d.ts.map +1 -1
  40. package/dist/validation/protocols/provenance.d.ts +23 -0
  41. package/dist/validation/protocols/provenance.d.ts.map +1 -0
  42. package/dist/validation/protocols/release.d.ts +25 -0
  43. package/dist/validation/protocols/release.d.ts.map +1 -0
  44. package/dist/validation/protocols/research.d.ts +9 -17
  45. package/dist/validation/protocols/research.d.ts.map +1 -1
  46. package/dist/validation/protocols/specification.d.ts +7 -17
  47. package/dist/validation/protocols/specification.d.ts.map +1 -1
  48. package/dist/validation/protocols/testing.d.ts +22 -0
  49. package/dist/validation/protocols/testing.d.ts.map +1 -0
  50. package/dist/validation/protocols/validation.d.ts +22 -0
  51. package/dist/validation/protocols/validation.d.ts.map +1 -0
  52. package/package.json +7 -7
  53. package/src/discovery.ts +235 -0
  54. package/src/index.ts +16 -0
  55. package/src/init.ts +196 -0
  56. package/src/internal.ts +31 -1
  57. package/src/lifecycle/default-chain.ts +11 -2
  58. package/src/lifecycle/index.ts +10 -0
  59. package/src/lifecycle/stage-guidance.ts +282 -0
  60. package/src/orchestration/__tests__/protocol-validators.test.ts +259 -7
  61. package/src/orchestration/protocol-validators.ts +419 -4
  62. package/src/paths.ts +110 -0
  63. package/src/scaffold.ts +240 -4
  64. package/src/skills/dispatch.ts +6 -6
  65. package/src/skills/skill-paths.ts +27 -23
  66. package/src/validation/protocols/_shared.ts +88 -0
  67. package/src/validation/protocols/architecture-decision.ts +52 -0
  68. package/src/validation/protocols/artifact-publish.ts +49 -0
  69. package/src/validation/protocols/consensus.ts +44 -74
  70. package/src/validation/protocols/contribution.ts +28 -65
  71. package/src/validation/protocols/decomposition.ts +37 -64
  72. package/src/validation/protocols/implementation.ts +25 -65
  73. package/src/validation/protocols/protocols-markdown/architecture-decision.md +303 -0
  74. package/src/validation/protocols/protocols-markdown/artifact-publish.md +600 -0
  75. package/src/validation/protocols/protocols-markdown/consensus.md +322 -0
  76. package/src/validation/protocols/protocols-markdown/contribution.md +388 -0
  77. package/src/validation/protocols/protocols-markdown/decomposition.md +421 -0
  78. package/src/validation/protocols/protocols-markdown/implementation.md +357 -0
  79. package/src/validation/protocols/protocols-markdown/provenance.md +613 -0
  80. package/src/validation/protocols/protocols-markdown/release.md +783 -0
  81. package/src/validation/protocols/protocols-markdown/research.md +261 -0
  82. package/src/validation/protocols/protocols-markdown/specification.md +300 -0
  83. package/src/validation/protocols/protocols-markdown/testing.md +287 -0
  84. package/src/validation/protocols/protocols-markdown/validation.md +242 -0
  85. package/src/validation/protocols/provenance.ts +50 -0
  86. package/src/validation/protocols/release.ts +44 -0
  87. package/src/validation/protocols/research.ts +25 -87
  88. package/src/validation/protocols/specification.ts +27 -89
  89. package/src/validation/protocols/testing.ts +46 -0
  90. package/src/validation/protocols/validation.ts +46 -0
  91. package/dist/cant/approval.d.ts +0 -110
  92. package/dist/cant/approval.d.ts.map +0 -1
  93. package/dist/cant/context-builder.d.ts +0 -79
  94. package/dist/cant/context-builder.d.ts.map +0 -1
  95. package/dist/cant/discretion.d.ts +0 -95
  96. package/dist/cant/discretion.d.ts.map +0 -1
  97. package/dist/cant/index.d.ts +0 -25
  98. package/dist/cant/index.d.ts.map +0 -1
  99. package/dist/cant/parallel-runner.d.ts +0 -38
  100. package/dist/cant/parallel-runner.d.ts.map +0 -1
  101. package/dist/cant/types.d.ts +0 -127
  102. package/dist/cant/types.d.ts.map +0 -1
  103. package/dist/cant/workflow-executor.d.ts +0 -105
  104. package/dist/cant/workflow-executor.d.ts.map +0 -1
  105. package/dist/validation/protocols/release-protocol.d.ts +0 -27
  106. package/dist/validation/protocols/release-protocol.d.ts.map +0 -1
  107. package/dist/validation/protocols/testing-protocol.d.ts +0 -27
  108. package/dist/validation/protocols/testing-protocol.d.ts.map +0 -1
  109. package/dist/validation/protocols/validation-protocol.d.ts +0 -27
  110. package/dist/validation/protocols/validation-protocol.d.ts.map +0 -1
  111. package/schemas/agent-configs.schema.json +0 -120
  112. package/schemas/agent-registry.schema.json +0 -132
  113. package/schemas/archive.schema.json +0 -450
  114. package/schemas/brain-decision.schema.json +0 -69
  115. package/schemas/brain-learning.schema.json +0 -57
  116. package/schemas/brain-pattern.schema.json +0 -72
  117. package/schemas/critical-path.schema.json +0 -246
  118. package/schemas/deps-cache.schema.json +0 -97
  119. package/schemas/doctor-output.schema.json +0 -283
  120. package/schemas/error.schema.json +0 -161
  121. package/schemas/global-config.schema.json +0 -219
  122. package/schemas/grade.schema.json +0 -49
  123. package/schemas/log.schema.json +0 -250
  124. package/schemas/metrics.schema.json +0 -328
  125. package/schemas/migrations.schema.json +0 -150
  126. package/schemas/nexus-registry.schema.json +0 -90
  127. package/schemas/operation-constitution.schema.json +0 -438
  128. package/schemas/output.schema.json +0 -164
  129. package/schemas/projects-registry.schema.json +0 -107
  130. package/schemas/protocol-frontmatter.schema.json +0 -72
  131. package/schemas/rcasd-consensus-report.schema.json +0 -10
  132. package/schemas/rcasd-evidence.schema.json +0 -42
  133. package/schemas/rcasd-gate-result.schema.json +0 -46
  134. package/schemas/rcasd-hitl-resolution.schema.json +0 -10
  135. package/schemas/rcasd-index.schema.json +0 -10
  136. package/schemas/rcasd-manifest.schema.json +0 -10
  137. package/schemas/rcasd-research-output.schema.json +0 -10
  138. package/schemas/rcasd-spec-frontmatter.schema.json +0 -10
  139. package/schemas/rcasd-stage-transition.schema.json +0 -38
  140. package/schemas/releases.schema.json +0 -267
  141. package/schemas/skills-manifest.schema.json +0 -91
  142. package/schemas/spec-index.schema.json +0 -196
  143. package/schemas/system-flow-atlas.schema.json +0 -125
  144. package/src/__tests__/audit-prune.test.d.ts.map +0 -1
  145. package/src/__tests__/audit-prune.test.js +0 -162
  146. package/src/__tests__/audit-prune.test.js.map +0 -1
  147. package/src/__tests__/caamp-skill-install.test.d.ts.map +0 -1
  148. package/src/__tests__/caamp-skill-install.test.js +0 -147
  149. package/src/__tests__/caamp-skill-install.test.js.map +0 -1
  150. package/src/__tests__/cli-parity.test.d.ts.map +0 -1
  151. package/src/__tests__/cli-parity.test.js +0 -209
  152. package/src/__tests__/cli-parity.test.js.map +0 -1
  153. package/src/__tests__/config.test.d.ts.map +0 -1
  154. package/src/__tests__/config.test.js +0 -144
  155. package/src/__tests__/config.test.js.map +0 -1
  156. package/src/__tests__/core-parity.test.d.ts.map +0 -1
  157. package/src/__tests__/core-parity.test.js +0 -645
  158. package/src/__tests__/core-parity.test.js.map +0 -1
  159. package/src/__tests__/error-catalog.test.d.ts.map +0 -1
  160. package/src/__tests__/error-catalog.test.js +0 -127
  161. package/src/__tests__/error-catalog.test.js.map +0 -1
  162. package/src/__tests__/golden-parity.test.d.ts.map +0 -1
  163. package/src/__tests__/golden-parity.test.js +0 -212
  164. package/src/__tests__/golden-parity.test.js.map +0 -1
  165. package/src/__tests__/hooks.test.d.ts.map +0 -1
  166. package/src/__tests__/hooks.test.js +0 -201
  167. package/src/__tests__/hooks.test.js.map +0 -1
  168. package/src/__tests__/human-output.test.d.ts.map +0 -1
  169. package/src/__tests__/human-output.test.js +0 -158
  170. package/src/__tests__/human-output.test.js.map +0 -1
  171. package/src/__tests__/index-api-compat.test.d.ts.map +0 -1
  172. package/src/__tests__/index-api-compat.test.js +0 -16
  173. package/src/__tests__/index-api-compat.test.js.map +0 -1
  174. package/src/__tests__/init-e2e.test.d.ts.map +0 -1
  175. package/src/__tests__/init-e2e.test.js +0 -221
  176. package/src/__tests__/init-e2e.test.js.map +0 -1
  177. package/src/__tests__/injection-chain.test.d.ts.map +0 -1
  178. package/src/__tests__/injection-chain.test.js +0 -234
  179. package/src/__tests__/injection-chain.test.js.map +0 -1
  180. package/src/__tests__/injection-mvi-tiers.test.d.ts.map +0 -1
  181. package/src/__tests__/injection-mvi-tiers.test.js +0 -152
  182. package/src/__tests__/injection-mvi-tiers.test.js.map +0 -1
  183. package/src/__tests__/injection-shared.test.d.ts.map +0 -1
  184. package/src/__tests__/injection-shared.test.js +0 -194
  185. package/src/__tests__/injection-shared.test.js.map +0 -1
  186. package/src/__tests__/lafs-conformance.test.d.ts.map +0 -1
  187. package/src/__tests__/lafs-conformance.test.js +0 -786
  188. package/src/__tests__/lafs-conformance.test.js.map +0 -1
  189. package/src/__tests__/logger.test.d.ts.map +0 -1
  190. package/src/__tests__/logger.test.js +0 -75
  191. package/src/__tests__/logger.test.js.map +0 -1
  192. package/src/__tests__/paths.test.d.ts.map +0 -1
  193. package/src/__tests__/paths.test.js +0 -327
  194. package/src/__tests__/paths.test.js.map +0 -1
  195. package/src/__tests__/project-info.test.d.ts.map +0 -1
  196. package/src/__tests__/project-info.test.js +0 -156
  197. package/src/__tests__/project-info.test.js.map +0 -1
  198. package/src/__tests__/rcsd-pipeline-e2e.test.d.ts.map +0 -1
  199. package/src/__tests__/rcsd-pipeline-e2e.test.js +0 -263
  200. package/src/__tests__/rcsd-pipeline-e2e.test.js.map +0 -1
  201. package/src/__tests__/remote.test.d.ts.map +0 -1
  202. package/src/__tests__/remote.test.js +0 -149
  203. package/src/__tests__/remote.test.js.map +0 -1
  204. package/src/__tests__/scaffold.test.d.ts.map +0 -1
  205. package/src/__tests__/scaffold.test.js +0 -474
  206. package/src/__tests__/scaffold.test.js.map +0 -1
  207. package/src/__tests__/schema-management.test.d.ts.map +0 -1
  208. package/src/__tests__/schema-management.test.js +0 -287
  209. package/src/__tests__/schema-management.test.js.map +0 -1
  210. package/src/__tests__/schema.test.d.ts.map +0 -1
  211. package/src/__tests__/schema.test.js +0 -51
  212. package/src/__tests__/schema.test.js.map +0 -1
  213. package/src/__tests__/sharing.test.d.ts.map +0 -1
  214. package/src/__tests__/sharing.test.js +0 -160
  215. package/src/__tests__/sharing.test.js.map +0 -1
  216. package/src/__tests__/snapshot.test.d.ts.map +0 -1
  217. package/src/__tests__/snapshot.test.js +0 -72
  218. package/src/__tests__/snapshot.test.js.map +0 -1
  219. package/src/__tests__/upgrade.test.d.ts.map +0 -1
  220. package/src/__tests__/upgrade.test.js +0 -321
  221. package/src/__tests__/upgrade.test.js.map +0 -1
  222. package/src/adapters/__tests__/discovery.test.d.ts.map +0 -1
  223. package/src/adapters/__tests__/discovery.test.js +0 -56
  224. package/src/adapters/__tests__/discovery.test.js.map +0 -1
  225. package/src/adapters/__tests__/manager.test.d.ts.map +0 -1
  226. package/src/adapters/__tests__/manager.test.js +0 -260
  227. package/src/adapters/__tests__/manager.test.js.map +0 -1
  228. package/src/agents/__tests__/agent-registry.test.d.ts.map +0 -1
  229. package/src/agents/__tests__/agent-registry.test.js +0 -262
  230. package/src/agents/__tests__/agent-registry.test.js.map +0 -1
  231. package/src/agents/__tests__/capacity.test.d.ts.map +0 -1
  232. package/src/agents/__tests__/capacity.test.js +0 -173
  233. package/src/agents/__tests__/capacity.test.js.map +0 -1
  234. package/src/agents/__tests__/execution-learning.test.d.ts.map +0 -1
  235. package/src/agents/__tests__/execution-learning.test.js +0 -533
  236. package/src/agents/__tests__/execution-learning.test.js.map +0 -1
  237. package/src/agents/__tests__/health-monitor.test.d.ts.map +0 -1
  238. package/src/agents/__tests__/health-monitor.test.js +0 -259
  239. package/src/agents/__tests__/health-monitor.test.js.map +0 -1
  240. package/src/agents/__tests__/registry.test.d.ts.map +0 -1
  241. package/src/agents/__tests__/registry.test.js +0 -373
  242. package/src/agents/__tests__/registry.test.js.map +0 -1
  243. package/src/agents/__tests__/retry.test.d.ts.map +0 -1
  244. package/src/agents/__tests__/retry.test.js +0 -225
  245. package/src/agents/__tests__/retry.test.js.map +0 -1
  246. package/src/cant/__tests__/cant-agent-parse.test.d.ts.map +0 -1
  247. package/src/cant/__tests__/cant-agent-parse.test.js +0 -77
  248. package/src/cant/__tests__/cant-agent-parse.test.js.map +0 -1
  249. package/src/cant/__tests__/cant-agent-parse.test.ts +0 -94
  250. package/src/cant/approval.ts +0 -218
  251. package/src/cant/context-builder.ts +0 -135
  252. package/src/cant/discretion.ts +0 -149
  253. package/src/cant/index.ts +0 -58
  254. package/src/cant/parallel-runner.ts +0 -205
  255. package/src/cant/types.ts +0 -158
  256. package/src/cant/workflow-executor.ts +0 -618
  257. package/src/compliance/__tests__/sync.test.d.ts.map +0 -1
  258. package/src/compliance/__tests__/sync.test.js +0 -119
  259. package/src/compliance/__tests__/sync.test.js.map +0 -1
  260. package/src/conduit/__tests__/dual-api-e2e.test.d.ts.map +0 -1
  261. package/src/conduit/__tests__/dual-api-e2e.test.js +0 -178
  262. package/src/conduit/__tests__/dual-api-e2e.test.js.map +0 -1
  263. package/src/conduit/__tests__/dual-api-e2e.test.ts +0 -212
  264. package/src/conduit/__tests__/local-credential-flow.test.d.ts.map +0 -1
  265. package/src/conduit/__tests__/local-credential-flow.test.js +0 -185
  266. package/src/conduit/__tests__/local-credential-flow.test.js.map +0 -1
  267. package/src/conduit/__tests__/local-transport.test.d.ts.map +0 -1
  268. package/src/conduit/__tests__/local-transport.test.js +0 -404
  269. package/src/conduit/__tests__/local-transport.test.js.map +0 -1
  270. package/src/conduit/__tests__/sse-transport.test.d.ts.map +0 -1
  271. package/src/conduit/__tests__/sse-transport.test.js +0 -291
  272. package/src/conduit/__tests__/sse-transport.test.js.map +0 -1
  273. package/src/hooks/__tests__/provider-hooks.test.d.ts.map +0 -1
  274. package/src/hooks/__tests__/provider-hooks.test.js +0 -33
  275. package/src/hooks/__tests__/provider-hooks.test.js.map +0 -1
  276. package/src/hooks/__tests__/registry.test.d.ts.map +0 -1
  277. package/src/hooks/__tests__/registry.test.js +0 -37
  278. package/src/hooks/__tests__/registry.test.js.map +0 -1
  279. package/src/hooks/handlers/__tests__/error-hooks.test.d.ts.map +0 -1
  280. package/src/hooks/handlers/__tests__/error-hooks.test.js +0 -90
  281. package/src/hooks/handlers/__tests__/error-hooks.test.js.map +0 -1
  282. package/src/hooks/handlers/__tests__/file-hooks.test.d.ts.map +0 -1
  283. package/src/hooks/handlers/__tests__/file-hooks.test.js +0 -128
  284. package/src/hooks/handlers/__tests__/file-hooks.test.js.map +0 -1
  285. package/src/hooks/handlers/__tests__/hook-automation-e2e.test.d.ts.map +0 -1
  286. package/src/hooks/handlers/__tests__/hook-automation-e2e.test.js +0 -501
  287. package/src/hooks/handlers/__tests__/hook-automation-e2e.test.js.map +0 -1
  288. package/src/hooks/handlers/__tests__/session-hooks.test.d.ts.map +0 -1
  289. package/src/hooks/handlers/__tests__/session-hooks.test.js +0 -54
  290. package/src/hooks/handlers/__tests__/session-hooks.test.js.map +0 -1
  291. package/src/hooks/handlers/__tests__/task-hooks.test.d.ts.map +0 -1
  292. package/src/hooks/handlers/__tests__/task-hooks.test.js +0 -77
  293. package/src/hooks/handlers/__tests__/task-hooks.test.js.map +0 -1
  294. package/src/intelligence/__tests__/adaptive-validation.test.d.ts.map +0 -1
  295. package/src/intelligence/__tests__/adaptive-validation.test.js +0 -517
  296. package/src/intelligence/__tests__/adaptive-validation.test.js.map +0 -1
  297. package/src/intelligence/__tests__/impact.test.d.ts.map +0 -1
  298. package/src/intelligence/__tests__/impact.test.js +0 -515
  299. package/src/intelligence/__tests__/impact.test.js.map +0 -1
  300. package/src/intelligence/__tests__/patterns.test.d.ts.map +0 -1
  301. package/src/intelligence/__tests__/patterns.test.js +0 -370
  302. package/src/intelligence/__tests__/patterns.test.js.map +0 -1
  303. package/src/intelligence/__tests__/prediction.test.d.ts.map +0 -1
  304. package/src/intelligence/__tests__/prediction.test.js +0 -314
  305. package/src/intelligence/__tests__/prediction.test.js.map +0 -1
  306. package/src/lib/__tests__/retry.test.d.ts.map +0 -1
  307. package/src/lib/__tests__/retry.test.js +0 -225
  308. package/src/lib/__tests__/retry.test.js.map +0 -1
  309. package/src/lifecycle/__tests__/chain-store.test.d.ts.map +0 -1
  310. package/src/lifecycle/__tests__/chain-store.test.js +0 -243
  311. package/src/lifecycle/__tests__/chain-store.test.js.map +0 -1
  312. package/src/lifecycle/__tests__/consolidate-rcasd.test.d.ts.map +0 -1
  313. package/src/lifecycle/__tests__/consolidate-rcasd.test.js +0 -210
  314. package/src/lifecycle/__tests__/consolidate-rcasd.test.js.map +0 -1
  315. package/src/lifecycle/__tests__/default-chain.test.d.ts.map +0 -1
  316. package/src/lifecycle/__tests__/default-chain.test.js +0 -74
  317. package/src/lifecycle/__tests__/default-chain.test.js.map +0 -1
  318. package/src/lifecycle/__tests__/frontmatter.test.d.ts.map +0 -1
  319. package/src/lifecycle/__tests__/frontmatter.test.js +0 -229
  320. package/src/lifecycle/__tests__/frontmatter.test.js.map +0 -1
  321. package/src/lifecycle/__tests__/lifecycle.test.d.ts.map +0 -1
  322. package/src/lifecycle/__tests__/lifecycle.test.js +0 -126
  323. package/src/lifecycle/__tests__/lifecycle.test.js.map +0 -1
  324. package/src/lifecycle/__tests__/pipeline.integration.test.d.ts.map +0 -1
  325. package/src/lifecycle/__tests__/pipeline.integration.test.js +0 -977
  326. package/src/lifecycle/__tests__/pipeline.integration.test.js.map +0 -1
  327. package/src/lifecycle/__tests__/rcasd-paths.test.d.ts.map +0 -1
  328. package/src/lifecycle/__tests__/rcasd-paths.test.js +0 -206
  329. package/src/lifecycle/__tests__/rcasd-paths.test.js.map +0 -1
  330. package/src/lifecycle/__tests__/resume-schema-contract.test.d.ts.map +0 -1
  331. package/src/lifecycle/__tests__/resume-schema-contract.test.js +0 -246
  332. package/src/lifecycle/__tests__/resume-schema-contract.test.js.map +0 -1
  333. package/src/lifecycle/__tests__/stage-record-provenance.integration.test.d.ts.map +0 -1
  334. package/src/lifecycle/__tests__/stage-record-provenance.integration.test.js +0 -95
  335. package/src/lifecycle/__tests__/stage-record-provenance.integration.test.js.map +0 -1
  336. package/src/lifecycle/__tests__/tessera-engine.test.d.ts.map +0 -1
  337. package/src/lifecycle/__tests__/tessera-engine.test.js +0 -392
  338. package/src/lifecycle/__tests__/tessera-engine.test.js.map +0 -1
  339. package/src/memory/__tests__/auto-extract.test.d.ts.map +0 -1
  340. package/src/memory/__tests__/auto-extract.test.js +0 -197
  341. package/src/memory/__tests__/auto-extract.test.js.map +0 -1
  342. package/src/memory/__tests__/brain-automation.test.d.ts.map +0 -1
  343. package/src/memory/__tests__/brain-automation.test.js +0 -730
  344. package/src/memory/__tests__/brain-automation.test.js.map +0 -1
  345. package/src/memory/__tests__/brain-embedding.test.d.ts.map +0 -1
  346. package/src/memory/__tests__/brain-embedding.test.js +0 -92
  347. package/src/memory/__tests__/brain-embedding.test.js.map +0 -1
  348. package/src/memory/__tests__/brain-links.test.d.ts.map +0 -1
  349. package/src/memory/__tests__/brain-links.test.js +0 -221
  350. package/src/memory/__tests__/brain-links.test.js.map +0 -1
  351. package/src/memory/__tests__/brain-migration.test.d.ts.map +0 -1
  352. package/src/memory/__tests__/brain-migration.test.js +0 -180
  353. package/src/memory/__tests__/brain-migration.test.js.map +0 -1
  354. package/src/memory/__tests__/brain-retrieval.test.d.ts.map +0 -1
  355. package/src/memory/__tests__/brain-retrieval.test.js +0 -701
  356. package/src/memory/__tests__/brain-retrieval.test.js.map +0 -1
  357. package/src/memory/__tests__/brain-search.test.d.ts.map +0 -1
  358. package/src/memory/__tests__/brain-search.test.js +0 -180
  359. package/src/memory/__tests__/brain-search.test.js.map +0 -1
  360. package/src/memory/__tests__/claude-mem-migration.test.d.ts.map +0 -1
  361. package/src/memory/__tests__/claude-mem-migration.test.js +0 -424
  362. package/src/memory/__tests__/claude-mem-migration.test.js.map +0 -1
  363. package/src/memory/__tests__/decisions.test.d.ts.map +0 -1
  364. package/src/memory/__tests__/decisions.test.js +0 -253
  365. package/src/memory/__tests__/decisions.test.js.map +0 -1
  366. package/src/memory/__tests__/engine-compat.test.d.ts.map +0 -1
  367. package/src/memory/__tests__/engine-compat.test.js +0 -331
  368. package/src/memory/__tests__/engine-compat.test.js.map +0 -1
  369. package/src/memory/__tests__/memory-bridge.test.d.ts.map +0 -1
  370. package/src/memory/__tests__/memory-bridge.test.js +0 -231
  371. package/src/memory/__tests__/memory-bridge.test.js.map +0 -1
  372. package/src/memory/__tests__/pipeline-manifest-sqlite.test.d.ts.map +0 -1
  373. package/src/memory/__tests__/pipeline-manifest-sqlite.test.js +0 -516
  374. package/src/memory/__tests__/pipeline-manifest-sqlite.test.js.map +0 -1
  375. package/src/memory/__tests__/session-memory.test.d.ts.map +0 -1
  376. package/src/memory/__tests__/session-memory.test.js +0 -387
  377. package/src/memory/__tests__/session-memory.test.js.map +0 -1
  378. package/src/metrics/__tests__/model-provider-registry.test.d.ts.map +0 -1
  379. package/src/metrics/__tests__/model-provider-registry.test.js +0 -45
  380. package/src/metrics/__tests__/model-provider-registry.test.js.map +0 -1
  381. package/src/metrics/__tests__/provider-detection.test.d.ts.map +0 -1
  382. package/src/metrics/__tests__/provider-detection.test.js +0 -111
  383. package/src/metrics/__tests__/provider-detection.test.js.map +0 -1
  384. package/src/migration/__tests__/checksum.test.d.ts.map +0 -1
  385. package/src/migration/__tests__/checksum.test.js +0 -216
  386. package/src/migration/__tests__/checksum.test.js.map +0 -1
  387. package/src/migration/__tests__/logger.test.d.ts.map +0 -1
  388. package/src/migration/__tests__/logger.test.js +0 -256
  389. package/src/migration/__tests__/logger.test.js.map +0 -1
  390. package/src/migration/__tests__/migration-failure.integration.test.d.ts.map +0 -1
  391. package/src/migration/__tests__/migration-failure.integration.test.js +0 -515
  392. package/src/migration/__tests__/migration-failure.integration.test.js.map +0 -1
  393. package/src/migration/__tests__/migration.test.d.ts.map +0 -1
  394. package/src/migration/__tests__/migration.test.js +0 -82
  395. package/src/migration/__tests__/migration.test.js.map +0 -1
  396. package/src/migration/__tests__/state.test.d.ts.map +0 -1
  397. package/src/migration/__tests__/state.test.js +0 -330
  398. package/src/migration/__tests__/state.test.js.map +0 -1
  399. package/src/migration/__tests__/validate.test.d.ts.map +0 -1
  400. package/src/migration/__tests__/validate.test.js +0 -258
  401. package/src/migration/__tests__/validate.test.js.map +0 -1
  402. package/src/nexus/__tests__/deps.test.d.ts.map +0 -1
  403. package/src/nexus/__tests__/deps.test.js +0 -283
  404. package/src/nexus/__tests__/deps.test.js.map +0 -1
  405. package/src/nexus/__tests__/nexus-e2e.test.d.ts.map +0 -1
  406. package/src/nexus/__tests__/nexus-e2e.test.js +0 -1220
  407. package/src/nexus/__tests__/nexus-e2e.test.js.map +0 -1
  408. package/src/nexus/__tests__/permissions.test.d.ts.map +0 -1
  409. package/src/nexus/__tests__/permissions.test.js +0 -119
  410. package/src/nexus/__tests__/permissions.test.js.map +0 -1
  411. package/src/nexus/__tests__/query.test.d.ts.map +0 -1
  412. package/src/nexus/__tests__/query.test.js +0 -168
  413. package/src/nexus/__tests__/query.test.js.map +0 -1
  414. package/src/nexus/__tests__/reconcile.test.d.ts.map +0 -1
  415. package/src/nexus/__tests__/reconcile.test.js +0 -135
  416. package/src/nexus/__tests__/reconcile.test.js.map +0 -1
  417. package/src/nexus/__tests__/registry.test.d.ts.map +0 -1
  418. package/src/nexus/__tests__/registry.test.js +0 -229
  419. package/src/nexus/__tests__/registry.test.js.map +0 -1
  420. package/src/nexus/__tests__/transfer.test.d.ts.map +0 -1
  421. package/src/nexus/__tests__/transfer.test.js +0 -372
  422. package/src/nexus/__tests__/transfer.test.js.map +0 -1
  423. package/src/observability/__tests__/index.test.d.ts.map +0 -1
  424. package/src/observability/__tests__/index.test.js +0 -288
  425. package/src/observability/__tests__/index.test.js.map +0 -1
  426. package/src/observability/__tests__/log-filter.test.d.ts.map +0 -1
  427. package/src/observability/__tests__/log-filter.test.js +0 -151
  428. package/src/observability/__tests__/log-filter.test.js.map +0 -1
  429. package/src/observability/__tests__/log-parser.test.d.ts.map +0 -1
  430. package/src/observability/__tests__/log-parser.test.js +0 -170
  431. package/src/observability/__tests__/log-parser.test.js.map +0 -1
  432. package/src/observability/__tests__/log-reader.test.d.ts.map +0 -1
  433. package/src/observability/__tests__/log-reader.test.js +0 -150
  434. package/src/observability/__tests__/log-reader.test.js.map +0 -1
  435. package/src/orchestration/__tests__/autonomous-spec.test.d.ts.map +0 -1
  436. package/src/orchestration/__tests__/autonomous-spec.test.js +0 -419
  437. package/src/orchestration/__tests__/autonomous-spec.test.js.map +0 -1
  438. package/src/orchestration/__tests__/orchestration.test.d.ts.map +0 -1
  439. package/src/orchestration/__tests__/orchestration.test.js +0 -205
  440. package/src/orchestration/__tests__/orchestration.test.js.map +0 -1
  441. package/src/orchestration/__tests__/protocol-validators.test.d.ts.map +0 -1
  442. package/src/orchestration/__tests__/protocol-validators.test.js +0 -382
  443. package/src/orchestration/__tests__/protocol-validators.test.js.map +0 -1
  444. package/src/phases/__tests__/deps.test.d.ts.map +0 -1
  445. package/src/phases/__tests__/deps.test.js +0 -210
  446. package/src/phases/__tests__/deps.test.js.map +0 -1
  447. package/src/phases/__tests__/phases.test.d.ts.map +0 -1
  448. package/src/phases/__tests__/phases.test.js +0 -215
  449. package/src/phases/__tests__/phases.test.js.map +0 -1
  450. package/src/release/__tests__/artifacts.test.d.ts.map +0 -1
  451. package/src/release/__tests__/artifacts.test.js +0 -65
  452. package/src/release/__tests__/artifacts.test.js.map +0 -1
  453. package/src/release/__tests__/cancel-release.test.d.ts.map +0 -1
  454. package/src/release/__tests__/cancel-release.test.js +0 -154
  455. package/src/release/__tests__/cancel-release.test.js.map +0 -1
  456. package/src/release/__tests__/changelog-writer.test.d.ts.map +0 -1
  457. package/src/release/__tests__/changelog-writer.test.js +0 -132
  458. package/src/release/__tests__/changelog-writer.test.js.map +0 -1
  459. package/src/release/__tests__/push-policy.test.d.ts.map +0 -1
  460. package/src/release/__tests__/push-policy.test.js +0 -142
  461. package/src/release/__tests__/push-policy.test.js.map +0 -1
  462. package/src/release/__tests__/release.test.d.ts.map +0 -1
  463. package/src/release/__tests__/release.test.js +0 -25
  464. package/src/release/__tests__/release.test.js.map +0 -1
  465. package/src/sequence/__tests__/allocate.test.d.ts.map +0 -1
  466. package/src/sequence/__tests__/allocate.test.js +0 -113
  467. package/src/sequence/__tests__/allocate.test.js.map +0 -1
  468. package/src/sessions/__tests__/briefing-blocked.test.d.ts.map +0 -1
  469. package/src/sessions/__tests__/briefing-blocked.test.js +0 -117
  470. package/src/sessions/__tests__/briefing-blocked.test.js.map +0 -1
  471. package/src/sessions/__tests__/briefing.test.d.ts.map +0 -1
  472. package/src/sessions/__tests__/briefing.test.js +0 -336
  473. package/src/sessions/__tests__/briefing.test.js.map +0 -1
  474. package/src/sessions/__tests__/handoff-integration.test.d.ts.map +0 -1
  475. package/src/sessions/__tests__/handoff-integration.test.js +0 -264
  476. package/src/sessions/__tests__/handoff-integration.test.js.map +0 -1
  477. package/src/sessions/__tests__/handoff.test.d.ts.map +0 -1
  478. package/src/sessions/__tests__/handoff.test.js +0 -435
  479. package/src/sessions/__tests__/handoff.test.js.map +0 -1
  480. package/src/sessions/__tests__/index.test.d.ts.map +0 -1
  481. package/src/sessions/__tests__/index.test.js +0 -82
  482. package/src/sessions/__tests__/index.test.js.map +0 -1
  483. package/src/sessions/__tests__/session-cleanup.test.d.ts.map +0 -1
  484. package/src/sessions/__tests__/session-cleanup.test.js +0 -201
  485. package/src/sessions/__tests__/session-cleanup.test.js.map +0 -1
  486. package/src/sessions/__tests__/session-edge-cases.test.d.ts.map +0 -1
  487. package/src/sessions/__tests__/session-edge-cases.test.js +0 -251
  488. package/src/sessions/__tests__/session-edge-cases.test.js.map +0 -1
  489. package/src/sessions/__tests__/session-find.test.d.ts.map +0 -1
  490. package/src/sessions/__tests__/session-find.test.js +0 -210
  491. package/src/sessions/__tests__/session-find.test.js.map +0 -1
  492. package/src/sessions/__tests__/session-grade.integration.test.d.ts.map +0 -1
  493. package/src/sessions/__tests__/session-grade.integration.test.js +0 -287
  494. package/src/sessions/__tests__/session-grade.integration.test.js.map +0 -1
  495. package/src/sessions/__tests__/session-grade.test.d.ts.map +0 -1
  496. package/src/sessions/__tests__/session-grade.test.js +0 -630
  497. package/src/sessions/__tests__/session-grade.test.js.map +0 -1
  498. package/src/sessions/__tests__/session-memory-bridge.test.d.ts.map +0 -1
  499. package/src/sessions/__tests__/session-memory-bridge.test.js +0 -52
  500. package/src/sessions/__tests__/session-memory-bridge.test.js.map +0 -1
  501. package/src/sessions/__tests__/sessions.test.d.ts.map +0 -1
  502. package/src/sessions/__tests__/sessions.test.js +0 -113
  503. package/src/sessions/__tests__/sessions.test.js.map +0 -1
  504. package/src/skills/__tests__/discovery.test.d.ts.map +0 -1
  505. package/src/skills/__tests__/discovery.test.js +0 -171
  506. package/src/skills/__tests__/discovery.test.js.map +0 -1
  507. package/src/skills/__tests__/dispatch.test.d.ts.map +0 -1
  508. package/src/skills/__tests__/dispatch.test.js +0 -99
  509. package/src/skills/__tests__/dispatch.test.js.map +0 -1
  510. package/src/skills/__tests__/dynamic-skill-generator.test.d.ts.map +0 -1
  511. package/src/skills/__tests__/dynamic-skill-generator.test.js +0 -77
  512. package/src/skills/__tests__/dynamic-skill-generator.test.js.map +0 -1
  513. package/src/skills/__tests__/manifests.test.d.ts.map +0 -1
  514. package/src/skills/__tests__/manifests.test.js +0 -121
  515. package/src/skills/__tests__/manifests.test.js.map +0 -1
  516. package/src/skills/__tests__/precedence.test.d.ts.map +0 -1
  517. package/src/skills/__tests__/precedence.test.js +0 -325
  518. package/src/skills/__tests__/precedence.test.js.map +0 -1
  519. package/src/skills/__tests__/routing-table.test.d.ts.map +0 -1
  520. package/src/skills/__tests__/routing-table.test.js +0 -91
  521. package/src/skills/__tests__/routing-table.test.js.map +0 -1
  522. package/src/skills/__tests__/skill-paths.test.d.ts.map +0 -1
  523. package/src/skills/__tests__/skill-paths.test.js +0 -71
  524. package/src/skills/__tests__/skill-paths.test.js.map +0 -1
  525. package/src/skills/__tests__/test-utility.test.d.ts.map +0 -1
  526. package/src/skills/__tests__/test-utility.test.js +0 -59
  527. package/src/skills/__tests__/test-utility.test.js.map +0 -1
  528. package/src/skills/__tests__/token.test.d.ts.map +0 -1
  529. package/src/skills/__tests__/token.test.js +0 -135
  530. package/src/skills/__tests__/token.test.js.map +0 -1
  531. package/src/skills/__tests__/validation.test.d.ts.map +0 -1
  532. package/src/skills/__tests__/validation.test.js +0 -108
  533. package/src/skills/__tests__/validation.test.js.map +0 -1
  534. package/src/skills/__tests__/version.test.d.ts.map +0 -1
  535. package/src/skills/__tests__/version.test.js +0 -71
  536. package/src/skills/__tests__/version.test.js.map +0 -1
  537. package/src/skills/injection/__tests__/subagent.test.d.ts.map +0 -1
  538. package/src/skills/injection/__tests__/subagent.test.js +0 -122
  539. package/src/skills/injection/__tests__/subagent.test.js.map +0 -1
  540. package/src/skills/orchestrator/__tests__/spawn-tier.test.d.ts.map +0 -1
  541. package/src/skills/orchestrator/__tests__/spawn-tier.test.js +0 -228
  542. package/src/skills/orchestrator/__tests__/spawn-tier.test.js.map +0 -1
  543. package/src/spawn/__tests__/adapter-registry.test.d.ts.map +0 -1
  544. package/src/spawn/__tests__/adapter-registry.test.js +0 -76
  545. package/src/spawn/__tests__/adapter-registry.test.js.map +0 -1
  546. package/src/stats/__tests__/stats.test.d.ts.map +0 -1
  547. package/src/stats/__tests__/stats.test.js +0 -374
  548. package/src/stats/__tests__/stats.test.js.map +0 -1
  549. package/src/sticky/__tests__/purge.test.d.ts.map +0 -1
  550. package/src/sticky/__tests__/purge.test.js +0 -64
  551. package/src/sticky/__tests__/purge.test.js.map +0 -1
  552. package/src/store/__tests__/atomic.test.d.ts.map +0 -1
  553. package/src/store/__tests__/atomic.test.js +0 -81
  554. package/src/store/__tests__/atomic.test.js.map +0 -1
  555. package/src/store/__tests__/backup.test.d.ts.map +0 -1
  556. package/src/store/__tests__/backup.test.js +0 -131
  557. package/src/store/__tests__/backup.test.js.map +0 -1
  558. package/src/store/__tests__/brain-accessor-pageindex.test.d.ts.map +0 -1
  559. package/src/store/__tests__/brain-accessor-pageindex.test.js +0 -179
  560. package/src/store/__tests__/brain-accessor-pageindex.test.js.map +0 -1
  561. package/src/store/__tests__/brain-accessor.test.d.ts.map +0 -1
  562. package/src/store/__tests__/brain-accessor.test.js +0 -398
  563. package/src/store/__tests__/brain-accessor.test.js.map +0 -1
  564. package/src/store/__tests__/brain-pageindex.test.d.ts.map +0 -1
  565. package/src/store/__tests__/brain-pageindex.test.js +0 -137
  566. package/src/store/__tests__/brain-pageindex.test.js.map +0 -1
  567. package/src/store/__tests__/brain-schema.test.d.ts.map +0 -1
  568. package/src/store/__tests__/brain-schema.test.js +0 -137
  569. package/src/store/__tests__/brain-schema.test.js.map +0 -1
  570. package/src/store/__tests__/brain-vec.test.d.ts.map +0 -1
  571. package/src/store/__tests__/brain-vec.test.js +0 -100
  572. package/src/store/__tests__/brain-vec.test.js.map +0 -1
  573. package/src/store/__tests__/collision-detection.test.d.ts.map +0 -1
  574. package/src/store/__tests__/collision-detection.test.js +0 -165
  575. package/src/store/__tests__/collision-detection.test.js.map +0 -1
  576. package/src/store/__tests__/data-safety-central.test.d.ts.map +0 -1
  577. package/src/store/__tests__/data-safety-central.test.js +0 -408
  578. package/src/store/__tests__/data-safety-central.test.js.map +0 -1
  579. package/src/store/__tests__/db-helpers.test.d.ts.map +0 -1
  580. package/src/store/__tests__/db-helpers.test.js +0 -101
  581. package/src/store/__tests__/db-helpers.test.js.map +0 -1
  582. package/src/store/__tests__/e2e-safety-integration.test.d.ts.map +0 -1
  583. package/src/store/__tests__/e2e-safety-integration.test.js +0 -402
  584. package/src/store/__tests__/e2e-safety-integration.test.js.map +0 -1
  585. package/src/store/__tests__/git-checkpoint.test.d.ts.map +0 -1
  586. package/src/store/__tests__/git-checkpoint.test.js +0 -133
  587. package/src/store/__tests__/git-checkpoint.test.js.map +0 -1
  588. package/src/store/__tests__/idempotent-migration.test.d.ts.map +0 -1
  589. package/src/store/__tests__/idempotent-migration.test.js +0 -172
  590. package/src/store/__tests__/idempotent-migration.test.js.map +0 -1
  591. package/src/store/__tests__/import-logging.test.d.ts.map +0 -1
  592. package/src/store/__tests__/import-logging.test.js +0 -92
  593. package/src/store/__tests__/import-logging.test.js.map +0 -1
  594. package/src/store/__tests__/import-sort.test.d.ts.map +0 -1
  595. package/src/store/__tests__/import-sort.test.js +0 -109
  596. package/src/store/__tests__/import-sort.test.js.map +0 -1
  597. package/src/store/__tests__/json.test.d.ts.map +0 -1
  598. package/src/store/__tests__/json.test.js +0 -98
  599. package/src/store/__tests__/json.test.js.map +0 -1
  600. package/src/store/__tests__/lifecycle-schema-parity.test.d.ts.map +0 -1
  601. package/src/store/__tests__/lifecycle-schema-parity.test.js +0 -90
  602. package/src/store/__tests__/lifecycle-schema-parity.test.js.map +0 -1
  603. package/src/store/__tests__/migration-integration.test.d.ts.map +0 -1
  604. package/src/store/__tests__/migration-integration.test.js +0 -238
  605. package/src/store/__tests__/migration-integration.test.js.map +0 -1
  606. package/src/store/__tests__/migration-retry.test.d.ts.map +0 -1
  607. package/src/store/__tests__/migration-retry.test.js +0 -178
  608. package/src/store/__tests__/migration-retry.test.js.map +0 -1
  609. package/src/store/__tests__/migration-safety.test.d.ts.map +0 -1
  610. package/src/store/__tests__/migration-safety.test.js +0 -756
  611. package/src/store/__tests__/migration-safety.test.js.map +0 -1
  612. package/src/store/__tests__/migration-sqlite.test.d.ts.map +0 -1
  613. package/src/store/__tests__/migration-sqlite.test.js +0 -544
  614. package/src/store/__tests__/migration-sqlite.test.js.map +0 -1
  615. package/src/store/__tests__/performance-safety.test.d.ts.map +0 -1
  616. package/src/store/__tests__/performance-safety.test.js +0 -157
  617. package/src/store/__tests__/performance-safety.test.js.map +0 -1
  618. package/src/store/__tests__/project-detect.test.d.ts.map +0 -1
  619. package/src/store/__tests__/project-detect.test.js +0 -609
  620. package/src/store/__tests__/project-detect.test.js.map +0 -1
  621. package/src/store/__tests__/project-registry.test.d.ts.map +0 -1
  622. package/src/store/__tests__/project-registry.test.js +0 -28
  623. package/src/store/__tests__/project-registry.test.js.map +0 -1
  624. package/src/store/__tests__/provider.test.d.ts.map +0 -1
  625. package/src/store/__tests__/provider.test.js +0 -15
  626. package/src/store/__tests__/provider.test.js.map +0 -1
  627. package/src/store/__tests__/relations.test.d.ts.map +0 -1
  628. package/src/store/__tests__/relations.test.js +0 -318
  629. package/src/store/__tests__/relations.test.js.map +0 -1
  630. package/src/store/__tests__/safety-accessor.test.d.ts.map +0 -1
  631. package/src/store/__tests__/safety-accessor.test.js +0 -219
  632. package/src/store/__tests__/safety-accessor.test.js.map +0 -1
  633. package/src/store/__tests__/sequence-validation.test.d.ts.map +0 -1
  634. package/src/store/__tests__/sequence-validation.test.js +0 -94
  635. package/src/store/__tests__/sequence-validation.test.js.map +0 -1
  636. package/src/store/__tests__/session-store.test.d.ts.map +0 -1
  637. package/src/store/__tests__/session-store.test.js +0 -463
  638. package/src/store/__tests__/session-store.test.js.map +0 -1
  639. package/src/store/__tests__/sqlite-backup.test.d.ts.map +0 -1
  640. package/src/store/__tests__/sqlite-backup.test.js +0 -72
  641. package/src/store/__tests__/sqlite-backup.test.js.map +0 -1
  642. package/src/store/__tests__/sqlite.test.d.ts.map +0 -1
  643. package/src/store/__tests__/sqlite.test.js +0 -256
  644. package/src/store/__tests__/sqlite.test.js.map +0 -1
  645. package/src/store/__tests__/task-store.test.d.ts.map +0 -1
  646. package/src/store/__tests__/task-store.test.js +0 -514
  647. package/src/store/__tests__/task-store.test.js.map +0 -1
  648. package/src/store/__tests__/test-db-helper.d.ts.map +0 -1
  649. package/src/store/__tests__/test-db-helper.js +0 -110
  650. package/src/store/__tests__/test-db-helper.js.map +0 -1
  651. package/src/store/__tests__/write-verification.test.d.ts.map +0 -1
  652. package/src/store/__tests__/write-verification.test.js +0 -185
  653. package/src/store/__tests__/write-verification.test.js.map +0 -1
  654. package/src/system/__tests__/cleanup.test.d.ts.map +0 -1
  655. package/src/system/__tests__/cleanup.test.js +0 -87
  656. package/src/system/__tests__/cleanup.test.js.map +0 -1
  657. package/src/system/__tests__/health.test.d.ts.map +0 -1
  658. package/src/system/__tests__/health.test.js +0 -55
  659. package/src/system/__tests__/health.test.js.map +0 -1
  660. package/src/task-work/__tests__/start-deps.test.d.ts.map +0 -1
  661. package/src/task-work/__tests__/start-deps.test.js +0 -152
  662. package/src/task-work/__tests__/start-deps.test.js.map +0 -1
  663. package/src/tasks/__tests__/add.test.d.ts.map +0 -1
  664. package/src/tasks/__tests__/add.test.js +0 -226
  665. package/src/tasks/__tests__/add.test.js.map +0 -1
  666. package/src/tasks/__tests__/archive.test.d.ts.map +0 -1
  667. package/src/tasks/__tests__/archive.test.js +0 -196
  668. package/src/tasks/__tests__/archive.test.js.map +0 -1
  669. package/src/tasks/__tests__/assignee.test.d.ts.map +0 -1
  670. package/src/tasks/__tests__/assignee.test.js +0 -125
  671. package/src/tasks/__tests__/assignee.test.js.map +0 -1
  672. package/src/tasks/__tests__/atomicity.test.d.ts.map +0 -1
  673. package/src/tasks/__tests__/atomicity.test.js +0 -192
  674. package/src/tasks/__tests__/atomicity.test.js.map +0 -1
  675. package/src/tasks/__tests__/cancel-ops.test.d.ts.map +0 -1
  676. package/src/tasks/__tests__/cancel-ops.test.js +0 -115
  677. package/src/tasks/__tests__/cancel-ops.test.js.map +0 -1
  678. package/src/tasks/__tests__/complete-unblocks.test.d.ts.map +0 -1
  679. package/src/tasks/__tests__/complete-unblocks.test.js +0 -151
  680. package/src/tasks/__tests__/complete-unblocks.test.js.map +0 -1
  681. package/src/tasks/__tests__/complete.test.d.ts.map +0 -1
  682. package/src/tasks/__tests__/complete.test.js +0 -230
  683. package/src/tasks/__tests__/complete.test.js.map +0 -1
  684. package/src/tasks/__tests__/delete.test.d.ts.map +0 -1
  685. package/src/tasks/__tests__/delete.test.js +0 -183
  686. package/src/tasks/__tests__/delete.test.js.map +0 -1
  687. package/src/tasks/__tests__/dependency-check.test.d.ts.map +0 -1
  688. package/src/tasks/__tests__/dependency-check.test.js +0 -293
  689. package/src/tasks/__tests__/dependency-check.test.js.map +0 -1
  690. package/src/tasks/__tests__/deps-ready.test.d.ts.map +0 -1
  691. package/src/tasks/__tests__/deps-ready.test.js +0 -68
  692. package/src/tasks/__tests__/deps-ready.test.js.map +0 -1
  693. package/src/tasks/__tests__/epic-enforcement.test.d.ts.map +0 -1
  694. package/src/tasks/__tests__/epic-enforcement.test.js +0 -669
  695. package/src/tasks/__tests__/epic-enforcement.test.js.map +0 -1
  696. package/src/tasks/__tests__/find.test.d.ts.map +0 -1
  697. package/src/tasks/__tests__/find.test.js +0 -163
  698. package/src/tasks/__tests__/find.test.js.map +0 -1
  699. package/src/tasks/__tests__/graph-ops.test.d.ts.map +0 -1
  700. package/src/tasks/__tests__/graph-ops.test.js +0 -174
  701. package/src/tasks/__tests__/graph-ops.test.js.map +0 -1
  702. package/src/tasks/__tests__/hierarchy-policy.test.d.ts.map +0 -1
  703. package/src/tasks/__tests__/hierarchy-policy.test.js +0 -399
  704. package/src/tasks/__tests__/hierarchy-policy.test.js.map +0 -1
  705. package/src/tasks/__tests__/hierarchy.test.d.ts.map +0 -1
  706. package/src/tasks/__tests__/hierarchy.test.js +0 -302
  707. package/src/tasks/__tests__/hierarchy.test.js.map +0 -1
  708. package/src/tasks/__tests__/id-generator.test.d.ts.map +0 -1
  709. package/src/tasks/__tests__/id-generator.test.js +0 -59
  710. package/src/tasks/__tests__/id-generator.test.js.map +0 -1
  711. package/src/tasks/__tests__/labels.test.d.ts.map +0 -1
  712. package/src/tasks/__tests__/labels.test.js +0 -173
  713. package/src/tasks/__tests__/labels.test.js.map +0 -1
  714. package/src/tasks/__tests__/list.test.d.ts.map +0 -1
  715. package/src/tasks/__tests__/list.test.js +0 -272
  716. package/src/tasks/__tests__/list.test.js.map +0 -1
  717. package/src/tasks/__tests__/minimal-test.test.d.ts.map +0 -1
  718. package/src/tasks/__tests__/minimal-test.test.js +0 -25
  719. package/src/tasks/__tests__/minimal-test.test.js.map +0 -1
  720. package/src/tasks/__tests__/phase-tracking.test.d.ts.map +0 -1
  721. package/src/tasks/__tests__/phase-tracking.test.js +0 -209
  722. package/src/tasks/__tests__/phase-tracking.test.js.map +0 -1
  723. package/src/tasks/__tests__/pipeline-stage.test.d.ts.map +0 -1
  724. package/src/tasks/__tests__/pipeline-stage.test.js +0 -277
  725. package/src/tasks/__tests__/pipeline-stage.test.js.map +0 -1
  726. package/src/tasks/__tests__/plan-priority.test.d.ts.map +0 -1
  727. package/src/tasks/__tests__/plan-priority.test.js +0 -133
  728. package/src/tasks/__tests__/plan-priority.test.js.map +0 -1
  729. package/src/tasks/__tests__/priority-normalization.test.d.ts.map +0 -1
  730. package/src/tasks/__tests__/priority-normalization.test.js +0 -117
  731. package/src/tasks/__tests__/priority-normalization.test.js.map +0 -1
  732. package/src/tasks/__tests__/relates.test.d.ts.map +0 -1
  733. package/src/tasks/__tests__/relates.test.js +0 -84
  734. package/src/tasks/__tests__/relates.test.js.map +0 -1
  735. package/src/tasks/__tests__/show-deps.test.d.ts.map +0 -1
  736. package/src/tasks/__tests__/show-deps.test.js +0 -182
  737. package/src/tasks/__tests__/show-deps.test.js.map +0 -1
  738. package/src/tasks/__tests__/show.test.d.ts.map +0 -1
  739. package/src/tasks/__tests__/show.test.js +0 -126
  740. package/src/tasks/__tests__/show.test.js.map +0 -1
  741. package/src/tasks/__tests__/staleness.test.d.ts.map +0 -1
  742. package/src/tasks/__tests__/staleness.test.js +0 -154
  743. package/src/tasks/__tests__/staleness.test.js.map +0 -1
  744. package/src/tasks/__tests__/task-ops-depends.test.d.ts.map +0 -1
  745. package/src/tasks/__tests__/task-ops-depends.test.js +0 -118
  746. package/src/tasks/__tests__/task-ops-depends.test.js.map +0 -1
  747. package/src/tasks/__tests__/update.test.d.ts.map +0 -1
  748. package/src/tasks/__tests__/update.test.js +0 -320
  749. package/src/tasks/__tests__/update.test.js.map +0 -1
  750. package/src/validation/__tests__/chain-validation.test.d.ts.map +0 -1
  751. package/src/validation/__tests__/chain-validation.test.js +0 -204
  752. package/src/validation/__tests__/chain-validation.test.js.map +0 -1
  753. package/src/validation/__tests__/compliance.test.d.ts.map +0 -1
  754. package/src/validation/__tests__/compliance.test.js +0 -83
  755. package/src/validation/__tests__/compliance.test.js.map +0 -1
  756. package/src/validation/__tests__/docs-sync.test.d.ts.map +0 -1
  757. package/src/validation/__tests__/docs-sync.test.js +0 -243
  758. package/src/validation/__tests__/docs-sync.test.js.map +0 -1
  759. package/src/validation/__tests__/doctor-gitignore.test.d.ts.map +0 -1
  760. package/src/validation/__tests__/doctor-gitignore.test.js +0 -154
  761. package/src/validation/__tests__/doctor-gitignore.test.js.map +0 -1
  762. package/src/validation/__tests__/doctor-injection.test.d.ts.map +0 -1
  763. package/src/validation/__tests__/doctor-injection.test.js +0 -230
  764. package/src/validation/__tests__/doctor-injection.test.js.map +0 -1
  765. package/src/validation/__tests__/doctor.test.d.ts.map +0 -1
  766. package/src/validation/__tests__/doctor.test.js +0 -202
  767. package/src/validation/__tests__/doctor.test.js.map +0 -1
  768. package/src/validation/__tests__/engine.test.d.ts.map +0 -1
  769. package/src/validation/__tests__/engine.test.js +0 -346
  770. package/src/validation/__tests__/engine.test.js.map +0 -1
  771. package/src/validation/__tests__/manifest.test.d.ts.map +0 -1
  772. package/src/validation/__tests__/manifest.test.js +0 -244
  773. package/src/validation/__tests__/manifest.test.js.map +0 -1
  774. package/src/validation/__tests__/protocol-common.test.d.ts.map +0 -1
  775. package/src/validation/__tests__/protocol-common.test.js +0 -112
  776. package/src/validation/__tests__/protocol-common.test.js.map +0 -1
  777. package/src/validation/__tests__/verification.test.d.ts.map +0 -1
  778. package/src/validation/__tests__/verification.test.js +0 -277
  779. package/src/validation/__tests__/verification.test.js.map +0 -1
  780. package/src/validation/protocols/release-protocol.ts +0 -80
  781. package/src/validation/protocols/testing-protocol.ts +0 -93
  782. package/src/validation/protocols/validation-protocol.ts +0 -93
@@ -1,330 +0,0 @@
1
- /**
2
- * Migration state tracking tests.
3
- *
4
- * @task T4726
5
- * @epic T4454
6
- */
7
- import { existsSync, mkdirSync, mkdtempSync, writeFileSync } from 'node:fs';
8
- import { tmpdir } from 'node:os';
9
- import { join } from 'node:path';
10
- import { afterEach, beforeEach, describe, expect, it } from 'vitest';
11
- import { addMigrationError, addMigrationWarning, canResumeMigration, clearMigrationState, completeMigration, createMigrationState, failMigration, getMigrationSummary, isMigrationInProgress, loadMigrationState, updateMigrationPhase, updateMigrationProgress, updateMigrationState, verifySourceIntegrity, } from '../state.js';
12
- describe('migration state tracking', () => {
13
- let tempDir;
14
- let cleoDir;
15
- beforeEach(() => {
16
- tempDir = mkdtempSync(join(tmpdir(), 'cleo-migration-test-'));
17
- cleoDir = join(tempDir, '.cleo');
18
- mkdirSync(cleoDir, { recursive: true });
19
- // Create test JSON files
20
- writeFileSync(join(cleoDir, 'todo.json'), JSON.stringify({
21
- tasks: [
22
- { id: '1', title: 'Task 1' },
23
- { id: '2', title: 'Task 2' },
24
- ],
25
- }));
26
- writeFileSync(join(cleoDir, 'sessions.json'), JSON.stringify({
27
- sessions: [{ id: 's1', name: 'Session 1' }],
28
- }));
29
- writeFileSync(join(cleoDir, 'todo-archive.json'), JSON.stringify({
30
- archivedTasks: [{ id: 'a1', title: 'Archived 1' }],
31
- }));
32
- });
33
- afterEach(async () => {
34
- try {
35
- await clearMigrationState(cleoDir);
36
- // Clean up temp dir
37
- const { rmSync } = await import('node:fs');
38
- rmSync(tempDir, { recursive: true, force: true });
39
- }
40
- catch {
41
- // Ignore cleanup errors
42
- }
43
- });
44
- describe('createMigrationState', () => {
45
- it('should create initial state with correct structure', async () => {
46
- const state = await createMigrationState(cleoDir);
47
- expect(state.version).toBe('1.0.0');
48
- expect(state.phase).toBe('init');
49
- expect(state.startedAt).toBeDefined();
50
- expect(state.errors).toEqual([]);
51
- expect(state.warnings).toEqual([]);
52
- });
53
- it('should capture source file info', async () => {
54
- const state = await createMigrationState(cleoDir);
55
- expect(state.sourceFiles.todoJson).toBeDefined();
56
- expect(state.sourceFiles.todoJson?.taskCount).toBe(2);
57
- expect(state.sourceFiles.todoJson?.checksum).toBeDefined();
58
- expect(state.sourceFiles.todoJson?.checksum.length).toBeGreaterThan(0);
59
- expect(state.sourceFiles.sessionsJson).toBeDefined();
60
- expect(state.sourceFiles.sessionsJson?.sessionCount).toBe(1);
61
- expect(state.sourceFiles.archiveJson).toBeDefined();
62
- expect(state.sourceFiles.archiveJson?.archivedCount).toBe(1);
63
- });
64
- it('should initialize progress counters', async () => {
65
- const state = await createMigrationState(cleoDir);
66
- expect(state.progress.tasksImported).toBe(0);
67
- expect(state.progress.archivedImported).toBe(0);
68
- expect(state.progress.sessionsImported).toBe(0);
69
- expect(state.progress.totalTasks).toBe(2);
70
- expect(state.progress.totalArchived).toBe(1);
71
- expect(state.progress.totalSessions).toBe(1);
72
- });
73
- it('should write state file to disk', async () => {
74
- await createMigrationState(cleoDir);
75
- const statePath = join(cleoDir, '.migration-state.json');
76
- expect(existsSync(statePath)).toBe(true);
77
- });
78
- });
79
- describe('updateMigrationState', () => {
80
- it('should update state with partial updates', async () => {
81
- await createMigrationState(cleoDir);
82
- const updated = await updateMigrationState(cleoDir, {
83
- phase: 'import',
84
- backupPath: '/some/backup/path',
85
- });
86
- expect(updated.phase).toBe('import');
87
- expect(updated.backupPath).toBe('/some/backup/path');
88
- });
89
- it('should throw if no state exists', async () => {
90
- await expect(updateMigrationState(cleoDir, { phase: 'import' })).rejects.toThrow('No migration state exists');
91
- });
92
- it('should merge progress updates', async () => {
93
- await createMigrationState(cleoDir);
94
- const updated = await updateMigrationState(cleoDir, {
95
- progress: {
96
- tasksImported: 5,
97
- archivedImported: 0,
98
- sessionsImported: 0,
99
- totalTasks: 2,
100
- totalArchived: 1,
101
- totalSessions: 1,
102
- },
103
- });
104
- expect(updated.progress.tasksImported).toBe(5);
105
- expect(updated.progress.archivedImported).toBe(0); // unchanged
106
- expect(updated.progress.totalTasks).toBe(2); // preserved from init
107
- });
108
- });
109
- describe('updateMigrationPhase', () => {
110
- it('should update phase', async () => {
111
- await createMigrationState(cleoDir);
112
- const updated = await updateMigrationPhase(cleoDir, 'backup');
113
- expect(updated.phase).toBe('backup');
114
- const updated2 = await updateMigrationPhase(cleoDir, 'import');
115
- expect(updated2.phase).toBe('import');
116
- });
117
- it('should update through all phases', async () => {
118
- await createMigrationState(cleoDir);
119
- const phases = ['backup', 'validate', 'import', 'verify', 'cleanup', 'complete'];
120
- for (const phase of phases) {
121
- const updated = await updateMigrationPhase(cleoDir, phase);
122
- expect(updated.phase).toBe(phase);
123
- }
124
- });
125
- });
126
- describe('updateMigrationProgress', () => {
127
- it('should update progress counters', async () => {
128
- await createMigrationState(cleoDir);
129
- const updated = await updateMigrationProgress(cleoDir, {
130
- tasksImported: 1,
131
- archivedImported: 0,
132
- sessionsImported: 1,
133
- });
134
- expect(updated.progress.tasksImported).toBe(1);
135
- expect(updated.progress.archivedImported).toBe(0);
136
- expect(updated.progress.sessionsImported).toBe(1);
137
- });
138
- it('should preserve total counters', async () => {
139
- await createMigrationState(cleoDir);
140
- const updated = await updateMigrationProgress(cleoDir, { tasksImported: 1 });
141
- expect(updated.progress.totalTasks).toBe(2);
142
- expect(updated.progress.totalArchived).toBe(1);
143
- expect(updated.progress.totalSessions).toBe(1);
144
- });
145
- });
146
- describe('addMigrationError', () => {
147
- it('should add error to state', async () => {
148
- await createMigrationState(cleoDir);
149
- const updated = await addMigrationError(cleoDir, 'Something went wrong');
150
- expect(updated.errors).toContain('Something went wrong');
151
- expect(updated.phase).toBe('failed');
152
- });
153
- it('should accumulate multiple errors', async () => {
154
- await createMigrationState(cleoDir);
155
- await addMigrationError(cleoDir, 'Error 1');
156
- await addMigrationError(cleoDir, 'Error 2');
157
- const state = await loadMigrationState(cleoDir);
158
- expect(state?.errors).toContain('Error 1');
159
- expect(state?.errors).toContain('Error 2');
160
- });
161
- });
162
- describe('addMigrationWarning', () => {
163
- it('should add warning to state', async () => {
164
- await createMigrationState(cleoDir);
165
- const updated = await addMigrationWarning(cleoDir, 'This is a warning');
166
- expect(updated.warnings).toContain('This is a warning');
167
- });
168
- it('should not change phase', async () => {
169
- await createMigrationState(cleoDir);
170
- await updateMigrationPhase(cleoDir, 'import');
171
- const updated = await addMigrationWarning(cleoDir, 'Warning');
172
- expect(updated.phase).toBe('import');
173
- });
174
- });
175
- describe('loadMigrationState', () => {
176
- it('should return null if no state exists', async () => {
177
- const state = await loadMigrationState(cleoDir);
178
- expect(state).toBeNull();
179
- });
180
- it('should return state if it exists', async () => {
181
- await createMigrationState(cleoDir);
182
- const state = await loadMigrationState(cleoDir);
183
- expect(state).not.toBeNull();
184
- expect(state?.version).toBe('1.0.0');
185
- });
186
- });
187
- describe('isMigrationInProgress', () => {
188
- it('should return false if no state exists', async () => {
189
- const inProgress = await isMigrationInProgress(cleoDir);
190
- expect(inProgress).toBe(false);
191
- });
192
- it('should return true during migration', async () => {
193
- await createMigrationState(cleoDir);
194
- await updateMigrationPhase(cleoDir, 'import');
195
- const inProgress = await isMigrationInProgress(cleoDir);
196
- expect(inProgress).toBe(true);
197
- });
198
- it('should return false when complete', async () => {
199
- await createMigrationState(cleoDir);
200
- await completeMigration(cleoDir);
201
- const inProgress = await isMigrationInProgress(cleoDir);
202
- expect(inProgress).toBe(false);
203
- });
204
- it('should return false when failed', async () => {
205
- await createMigrationState(cleoDir);
206
- await failMigration(cleoDir, 'Error');
207
- const inProgress = await isMigrationInProgress(cleoDir);
208
- expect(inProgress).toBe(false);
209
- });
210
- });
211
- describe('canResumeMigration', () => {
212
- it('should return null if no state exists', async () => {
213
- const result = await canResumeMigration(cleoDir);
214
- expect(result).toBeNull();
215
- });
216
- it('should indicate can resume during migration', async () => {
217
- await createMigrationState(cleoDir);
218
- await updateMigrationPhase(cleoDir, 'import');
219
- await updateMigrationProgress(cleoDir, { tasksImported: 5 });
220
- const result = await canResumeMigration(cleoDir);
221
- expect(result?.canResume).toBe(true);
222
- expect(result?.phase).toBe('import');
223
- expect(result?.progress.tasksImported).toBe(5);
224
- });
225
- it('should indicate cannot resume when complete', async () => {
226
- await createMigrationState(cleoDir);
227
- await completeMigration(cleoDir);
228
- const result = await canResumeMigration(cleoDir);
229
- expect(result?.canResume).toBe(false);
230
- expect(result?.phase).toBe('complete');
231
- });
232
- it('should indicate cannot resume when failed', async () => {
233
- await createMigrationState(cleoDir);
234
- await failMigration(cleoDir, 'Error');
235
- const result = await canResumeMigration(cleoDir);
236
- expect(result?.canResume).toBe(false);
237
- expect(result?.phase).toBe('failed');
238
- });
239
- });
240
- describe('completeMigration', () => {
241
- it('should mark migration complete', async () => {
242
- await createMigrationState(cleoDir);
243
- const completed = await completeMigration(cleoDir);
244
- expect(completed.phase).toBe('complete');
245
- expect(completed.completedAt).toBeDefined();
246
- });
247
- it('should eventually clean up state', async () => {
248
- await createMigrationState(cleoDir);
249
- await completeMigration(cleoDir);
250
- // State is cleaned up after delay, so wait
251
- await new Promise((resolve) => setTimeout(resolve, 6000));
252
- const state = await loadMigrationState(cleoDir);
253
- expect(state).toBeNull();
254
- }, 10000);
255
- });
256
- describe('failMigration', () => {
257
- it('should mark migration failed', async () => {
258
- await createMigrationState(cleoDir);
259
- const failed = await failMigration(cleoDir, 'Migration failed');
260
- expect(failed.phase).toBe('failed');
261
- expect(failed.errors).toContain('Migration failed');
262
- });
263
- it('should preserve state for debugging', async () => {
264
- await createMigrationState(cleoDir);
265
- await updateMigrationPhase(cleoDir, 'import');
266
- await updateMigrationProgress(cleoDir, { tasksImported: 5 });
267
- await failMigration(cleoDir, 'Error occurred');
268
- const state = await loadMigrationState(cleoDir);
269
- expect(state?.phase).toBe('failed');
270
- expect(state?.progress.tasksImported).toBe(5);
271
- });
272
- });
273
- describe('clearMigrationState', () => {
274
- it('should remove state file', async () => {
275
- await createMigrationState(cleoDir);
276
- await clearMigrationState(cleoDir);
277
- const state = await loadMigrationState(cleoDir);
278
- expect(state).toBeNull();
279
- });
280
- it('should not throw if state does not exist', async () => {
281
- await expect(clearMigrationState(cleoDir)).resolves.not.toThrow();
282
- });
283
- });
284
- describe('getMigrationSummary', () => {
285
- it('should return null if no state exists', async () => {
286
- const summary = await getMigrationSummary(cleoDir);
287
- expect(summary).toBeNull();
288
- });
289
- it('should return formatted summary', async () => {
290
- await createMigrationState(cleoDir);
291
- await updateMigrationPhase(cleoDir, 'import');
292
- await updateMigrationProgress(cleoDir, { tasksImported: 1 });
293
- const summary = await getMigrationSummary(cleoDir);
294
- expect(summary).toContain('IMPORT');
295
- expect(summary).toContain('1/2 tasks');
296
- });
297
- });
298
- describe('verifySourceIntegrity', () => {
299
- it('should return invalid if no state exists', async () => {
300
- const result = await verifySourceIntegrity(cleoDir);
301
- expect(result.valid).toBe(false);
302
- expect(result.missing).toContain('state');
303
- });
304
- it('should detect unchanged files', async () => {
305
- await createMigrationState(cleoDir);
306
- const result = await verifySourceIntegrity(cleoDir);
307
- expect(result.valid).toBe(true);
308
- expect(result.changed).toEqual([]);
309
- expect(result.missing).toEqual([]);
310
- });
311
- it('should detect changed files', async () => {
312
- await createMigrationState(cleoDir);
313
- // Modify file
314
- writeFileSync(join(cleoDir, 'todo.json'), JSON.stringify({ tasks: [{ id: '1', title: 'Modified' }] }));
315
- const result = await verifySourceIntegrity(cleoDir);
316
- expect(result.valid).toBe(false);
317
- expect(result.changed).toContain('todoJson');
318
- });
319
- it('should detect missing files', async () => {
320
- await createMigrationState(cleoDir);
321
- // Delete file
322
- const { unlinkSync } = await import('node:fs');
323
- unlinkSync(join(cleoDir, 'todo.json'));
324
- const result = await verifySourceIntegrity(cleoDir);
325
- expect(result.valid).toBe(false);
326
- expect(result.missing).toContain('todoJson');
327
- });
328
- });
329
- });
330
- //# sourceMappingURL=state.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"state.test.js","sourceRoot":"","sources":["state.test.ts"],"names":[],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"validate.test.d.ts","sourceRoot":"","sources":["validate.test.ts"],"names":[],"mappings":"AAAA;;;;;GAKG"}
@@ -1,258 +0,0 @@
1
- /**
2
- * Tests for pre-migration JSON validation.
3
- *
4
- * @task T4725
5
- * @epic T4454
6
- */
7
- import { mkdir, mkdtemp, rm, writeFile } from 'node:fs/promises';
8
- import { tmpdir } from 'node:os';
9
- import { join } from 'node:path';
10
- import { afterEach, beforeEach, describe, expect, it } from 'vitest';
11
- import { checkTaskCountMismatch, formatValidationResult, validateSourceFiles, } from '../validate.js';
12
- let tempDir;
13
- let cleoDir;
14
- describe('validateSourceFiles', () => {
15
- beforeEach(async () => {
16
- tempDir = await mkdtemp(join(tmpdir(), 'cleo-validate-test-'));
17
- cleoDir = join(tempDir, '.cleo');
18
- await mkdir(cleoDir, { recursive: true });
19
- });
20
- afterEach(async () => {
21
- await rm(tempDir, { recursive: true, force: true });
22
- });
23
- describe('valid JSON files', () => {
24
- it('validates all files successfully with data', async () => {
25
- await writeFile(join(cleoDir, 'todo.json'), JSON.stringify({
26
- version: '2.10.0',
27
- tasks: [
28
- { id: 'T001', title: 'Task 1', status: 'pending' },
29
- { id: 'T002', title: 'Task 2', status: 'done' },
30
- ],
31
- _meta: { schemaVersion: '2.10.0' },
32
- }));
33
- await writeFile(join(cleoDir, 'sessions.json'), JSON.stringify({
34
- version: '1.0.0',
35
- sessions: [{ id: 'sess-001', name: 'Session 1', status: 'ended' }],
36
- _meta: { schemaVersion: '1.0.0' },
37
- }));
38
- await writeFile(join(cleoDir, 'todo-archive.json'), JSON.stringify({
39
- _meta: { schemaVersion: '2.4.0' },
40
- archivedTasks: [{ id: 'T100', title: 'Archived', status: 'done' }],
41
- }));
42
- const result = validateSourceFiles(cleoDir);
43
- expect(result.valid).toBe(true);
44
- expect(result.todoJson.valid).toBe(true);
45
- expect(result.todoJson.exists).toBe(true);
46
- expect(result.todoJson.count).toBe(2);
47
- expect(result.sessionsJson.valid).toBe(true);
48
- expect(result.sessionsJson.count).toBe(1);
49
- expect(result.archiveJson.valid).toBe(true);
50
- expect(result.archiveJson.count).toBe(1);
51
- expect(result.totalTasks).toBe(3); // 2 active + 1 archived
52
- });
53
- it('validates successfully with missing optional files', async () => {
54
- await writeFile(join(cleoDir, 'todo.json'), JSON.stringify({
55
- tasks: [{ id: 'T001', title: 'Task 1', status: 'pending' }],
56
- _meta: { schemaVersion: '2.10.0' },
57
- }));
58
- // No sessions.json or archive.json
59
- const result = validateSourceFiles(cleoDir);
60
- expect(result.valid).toBe(true);
61
- expect(result.todoJson.valid).toBe(true);
62
- expect(result.todoJson.count).toBe(1);
63
- expect(result.sessionsJson.exists).toBe(false);
64
- expect(result.sessionsJson.valid).toBe(true); // Non-existent is valid
65
- expect(result.archiveJson.exists).toBe(false);
66
- expect(result.archiveJson.valid).toBe(true);
67
- });
68
- it('accepts archive.json with "tasks" key instead of "archivedTasks"', async () => {
69
- await writeFile(join(cleoDir, 'todo.json'), JSON.stringify({ tasks: [], _meta: { schemaVersion: '2.10.0' } }));
70
- await writeFile(join(cleoDir, 'todo-archive.json'), JSON.stringify({
71
- _meta: { schemaVersion: '2.4.0' },
72
- tasks: [
73
- { id: 'T100', title: 'Archived', status: 'done' },
74
- { id: 'T101', title: 'Archived 2', status: 'done' },
75
- ],
76
- }));
77
- const result = validateSourceFiles(cleoDir);
78
- expect(result.valid).toBe(true);
79
- expect(result.archiveJson.count).toBe(2);
80
- expect(result.totalTasks).toBe(2);
81
- });
82
- });
83
- describe('corrupted JSON detection', () => {
84
- it('detects corrupted todo.json with syntax error', async () => {
85
- await writeFile(join(cleoDir, 'todo.json'), '{ "tasks": [ { "id": "T001", "title": "Test", "status": "pending" }, ] }');
86
- const result = validateSourceFiles(cleoDir);
87
- expect(result.valid).toBe(false);
88
- expect(result.todoJson.valid).toBe(false);
89
- expect(result.todoJson.exists).toBe(true);
90
- expect(result.todoJson.error).toContain('Parse error');
91
- expect(result.todoJson.error).toContain('todo.json');
92
- });
93
- it('detects corrupted sessions.json', async () => {
94
- await writeFile(join(cleoDir, 'todo.json'), JSON.stringify({ tasks: [], _meta: { schemaVersion: '2.10.0' } }));
95
- await writeFile(join(cleoDir, 'sessions.json'), '{ invalid json content }');
96
- const result = validateSourceFiles(cleoDir);
97
- expect(result.valid).toBe(false);
98
- expect(result.sessionsJson.valid).toBe(false);
99
- expect(result.sessionsJson.error).toContain('Parse error');
100
- });
101
- it('detects corrupted archive.json', async () => {
102
- await writeFile(join(cleoDir, 'todo.json'), JSON.stringify({ tasks: [], _meta: { schemaVersion: '2.10.0' } }));
103
- await writeFile(join(cleoDir, 'todo-archive.json'), '[ "not", "an", "object" ]');
104
- const result = validateSourceFiles(cleoDir);
105
- expect(result.valid).toBe(true); // File parses, just has wrong structure
106
- expect(result.archiveJson.count).toBe(0); // No valid tasks array found
107
- });
108
- it('detects empty file', async () => {
109
- await writeFile(join(cleoDir, 'todo.json'), '');
110
- const result = validateSourceFiles(cleoDir);
111
- expect(result.valid).toBe(false);
112
- expect(result.todoJson.valid).toBe(false);
113
- expect(result.todoJson.error).toContain('empty');
114
- });
115
- it('detects whitespace-only file', async () => {
116
- await writeFile(join(cleoDir, 'todo.json'), ' \n\t ');
117
- const result = validateSourceFiles(cleoDir);
118
- expect(result.valid).toBe(false);
119
- expect(result.todoJson.valid).toBe(false);
120
- expect(result.todoJson.error).toContain('whitespace');
121
- });
122
- });
123
- describe('empty JSON warnings', () => {
124
- it('warns about empty tasks array', async () => {
125
- await writeFile(join(cleoDir, 'todo.json'), JSON.stringify({ tasks: [], _meta: { schemaVersion: '2.10.0' } }));
126
- const result = validateSourceFiles(cleoDir);
127
- expect(result.valid).toBe(true);
128
- expect(result.todoJson.count).toBe(0);
129
- expect(result.warnings).toHaveLength(1);
130
- expect(result.warnings[0]).toContain('todo.json has 0 tasks');
131
- });
132
- it('warns about empty sessions array', async () => {
133
- await writeFile(join(cleoDir, 'todo.json'), JSON.stringify({ tasks: [{ id: 'T001', title: 'Test', status: 'pending' }] }));
134
- await writeFile(join(cleoDir, 'sessions.json'), JSON.stringify({ sessions: [], _meta: { schemaVersion: '1.0.0' } }));
135
- const result = validateSourceFiles(cleoDir);
136
- expect(result.valid).toBe(true);
137
- expect(result.warnings).toHaveLength(1);
138
- expect(result.warnings[0]).toContain('sessions.json has 0 sessions');
139
- });
140
- it('warns about empty archive', async () => {
141
- await writeFile(join(cleoDir, 'todo.json'), JSON.stringify({ tasks: [{ id: 'T001', title: 'Test', status: 'pending' }] }));
142
- await writeFile(join(cleoDir, 'todo-archive.json'), JSON.stringify({ archivedTasks: [], _meta: { schemaVersion: '2.4.0' } }));
143
- const result = validateSourceFiles(cleoDir);
144
- expect(result.valid).toBe(true);
145
- expect(result.warnings).toHaveLength(1);
146
- expect(result.warnings[0]).toContain('todo-archive.json has 0 archived tasks');
147
- });
148
- it('reports multiple warnings', async () => {
149
- await writeFile(join(cleoDir, 'todo.json'), JSON.stringify({ tasks: [], _meta: { schemaVersion: '2.10.0' } }));
150
- await writeFile(join(cleoDir, 'sessions.json'), JSON.stringify({ sessions: [] }));
151
- await writeFile(join(cleoDir, 'todo-archive.json'), JSON.stringify({ archivedTasks: [] }));
152
- const result = validateSourceFiles(cleoDir);
153
- expect(result.valid).toBe(true);
154
- expect(result.warnings).toHaveLength(3);
155
- });
156
- });
157
- describe('multiple file validation', () => {
158
- it('fails if any file is corrupted', async () => {
159
- await writeFile(join(cleoDir, 'todo.json'), JSON.stringify({ tasks: [{ id: 'T001', title: 'Valid', status: 'pending' }] }));
160
- await writeFile(join(cleoDir, 'sessions.json'), '{ invalid }');
161
- await writeFile(join(cleoDir, 'todo-archive.json'), JSON.stringify({ archivedTasks: [{ id: 'T100', title: 'Archived', status: 'done' }] }));
162
- const result = validateSourceFiles(cleoDir);
163
- expect(result.valid).toBe(false);
164
- expect(result.todoJson.valid).toBe(true);
165
- expect(result.sessionsJson.valid).toBe(false);
166
- expect(result.archiveJson.valid).toBe(true);
167
- });
168
- it('includes file paths in error messages', async () => {
169
- await writeFile(join(cleoDir, 'todo.json'), '{ "tasks": [invalid] }');
170
- const result = validateSourceFiles(cleoDir);
171
- expect(result.todoJson.error).toContain(cleoDir);
172
- expect(result.todoJson.error).toContain('todo.json');
173
- });
174
- });
175
- });
176
- describe('formatValidationResult', () => {
177
- it('formats successful validation', () => {
178
- const result = {
179
- valid: true,
180
- todoJson: { valid: true, exists: true, count: 5 },
181
- sessionsJson: { valid: true, exists: true, count: 2 },
182
- archiveJson: { valid: true, exists: false, count: 0 },
183
- totalTasks: 5,
184
- warnings: [],
185
- };
186
- const formatted = formatValidationResult(result);
187
- expect(formatted).toContain('✓ All JSON files are valid');
188
- expect(formatted).toContain('todo.json: 5 tasks');
189
- expect(formatted).toContain('sessions.json: 2 sessions');
190
- expect(formatted).toContain('todo-archive.json: not found');
191
- expect(formatted).toContain('Total tasks to migrate: 5');
192
- });
193
- it('formats failed validation', () => {
194
- const result = {
195
- valid: false,
196
- todoJson: { valid: false, exists: true, count: 0, error: 'Parse error: unexpected token' },
197
- sessionsJson: { valid: true, exists: false, count: 0 },
198
- archiveJson: { valid: true, exists: true, count: 3 },
199
- totalTasks: 3,
200
- warnings: [],
201
- };
202
- const formatted = formatValidationResult(result);
203
- expect(formatted).toContain('✗ JSON validation failed');
204
- expect(formatted).toContain('todo.json: ERROR');
205
- expect(formatted).toContain('Parse error');
206
- });
207
- it('includes warnings in output', () => {
208
- const result = {
209
- valid: true,
210
- todoJson: { valid: true, exists: true, count: 0 },
211
- sessionsJson: { valid: true, exists: false, count: 0 },
212
- archiveJson: { valid: true, exists: false, count: 0 },
213
- totalTasks: 0,
214
- warnings: ['todo.json has 0 tasks', 'sessions.json has 0 sessions'],
215
- };
216
- const formatted = formatValidationResult(result);
217
- expect(formatted).toContain('Warnings:');
218
- expect(formatted).toContain('⚠ todo.json has 0 tasks');
219
- expect(formatted).toContain('⚠ sessions.json has 0 sessions');
220
- });
221
- });
222
- describe('checkTaskCountMismatch', () => {
223
- beforeEach(async () => {
224
- tempDir = await mkdtemp(join(tmpdir(), 'cleo-mismatch-test-'));
225
- cleoDir = join(tempDir, '.cleo');
226
- await mkdir(cleoDir, { recursive: true });
227
- });
228
- afterEach(async () => {
229
- await rm(tempDir, { recursive: true, force: true });
230
- });
231
- it('returns null when no database exists', async () => {
232
- const warning = checkTaskCountMismatch(cleoDir, 5);
233
- expect(warning).toBeNull();
234
- });
235
- it('returns null when JSON has tasks', async () => {
236
- // Create a database file
237
- await writeFile(join(cleoDir, 'tasks.db'), Buffer.alloc(4096));
238
- const warning = checkTaskCountMismatch(cleoDir, 5);
239
- expect(warning).toBeNull();
240
- });
241
- it('warns when DB exists but JSON has 0 tasks', async () => {
242
- // Create a database file with content
243
- await writeFile(join(cleoDir, 'tasks.db'), Buffer.alloc(8192));
244
- const warning = checkTaskCountMismatch(cleoDir, 0);
245
- expect(warning).not.toBeNull();
246
- expect(warning).toContain('WARNING');
247
- expect(warning).toContain('Existing database');
248
- expect(warning).toContain('JSON has 0 tasks');
249
- expect(warning).toContain('data loss');
250
- });
251
- it('includes DB size in warning', async () => {
252
- const dbSize = 16384;
253
- await writeFile(join(cleoDir, 'tasks.db'), Buffer.alloc(dbSize));
254
- const warning = checkTaskCountMismatch(cleoDir, 0);
255
- expect(warning).toContain(`${dbSize} bytes`);
256
- });
257
- });
258
- //# sourceMappingURL=validate.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"validate.test.js","sourceRoot":"","sources":["validate.test.ts"],"names":[],"mappings":"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"}