@cleocode/core 2026.10.27 → 2026.11.1-canary.3

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 (520) hide show
  1. package/README.md +2 -0
  2. package/binaries/README.md +30 -10
  3. package/dist/.source-stamp.json +4 -0
  4. package/dist/audit/reconstruct.d.ts.map +1 -1
  5. package/dist/audit/reconstruct.js +3 -13
  6. package/dist/audit/reconstruct.js.map +1 -1
  7. package/dist/build-provenance.json +2 -2
  8. package/dist/cloud/nexus-cloud.d.ts.map +1 -1
  9. package/dist/cloud/nexus-cloud.js +3 -3
  10. package/dist/cloud/nexus-cloud.js.map +1 -1
  11. package/dist/cloud/nexus-device.d.ts +1 -1
  12. package/dist/cloud/nexus-link.d.ts +18 -2
  13. package/dist/cloud/nexus-link.d.ts.map +1 -1
  14. package/dist/cloud/nexus-link.js +26 -6
  15. package/dist/cloud/nexus-link.js.map +1 -1
  16. package/dist/cloud/nexus-vault.d.ts.map +1 -1
  17. package/dist/cloud/nexus-vault.js +3 -9
  18. package/dist/cloud/nexus-vault.js.map +1 -1
  19. package/dist/decide/sites/registry.d.ts +40 -0
  20. package/dist/decide/sites/registry.d.ts.map +1 -1
  21. package/dist/decide/sites/registry.js +38 -0
  22. package/dist/decide/sites/registry.js.map +1 -1
  23. package/dist/docs/adr-allocator.d.ts +3 -3
  24. package/dist/docs/adr-allocator.d.ts.map +1 -1
  25. package/dist/docs/adr-allocator.js +8 -5
  26. package/dist/docs/adr-allocator.js.map +1 -1
  27. package/dist/docs/blob-consolidation.d.ts.map +1 -1
  28. package/dist/docs/blob-consolidation.js +3 -2
  29. package/dist/docs/blob-consolidation.js.map +1 -1
  30. package/dist/docs/derive-links.d.ts +12 -0
  31. package/dist/docs/derive-links.d.ts.map +1 -1
  32. package/dist/docs/derive-links.js +19 -0
  33. package/dist/docs/derive-links.js.map +1 -1
  34. package/dist/docs/doc-name-rule.d.ts +105 -0
  35. package/dist/docs/doc-name-rule.d.ts.map +1 -0
  36. package/dist/docs/doc-name-rule.js +212 -0
  37. package/dist/docs/doc-name-rule.js.map +1 -0
  38. package/dist/docs/docs-inconsistency-detector.d.ts.map +1 -1
  39. package/dist/docs/docs-inconsistency-detector.js +4 -3
  40. package/dist/docs/docs-inconsistency-detector.js.map +1 -1
  41. package/dist/docs/docs-ops.d.ts +27 -5
  42. package/dist/docs/docs-ops.d.ts.map +1 -1
  43. package/dist/docs/docs-ops.js +149 -17
  44. package/dist/docs/docs-ops.js.map +1 -1
  45. package/dist/docs/docs-read-model.d.ts +45 -15
  46. package/dist/docs/docs-read-model.d.ts.map +1 -1
  47. package/dist/docs/docs-read-model.js +22 -102
  48. package/dist/docs/docs-read-model.js.map +1 -1
  49. package/dist/docs/docs-update.d.ts.map +1 -1
  50. package/dist/docs/docs-update.js +8 -2
  51. package/dist/docs/docs-update.js.map +1 -1
  52. package/dist/docs/doctor.d.ts +71 -4
  53. package/dist/docs/doctor.d.ts.map +1 -1
  54. package/dist/docs/doctor.js +324 -23
  55. package/dist/docs/doctor.js.map +1 -1
  56. package/dist/docs/duplicate-check.d.ts +138 -0
  57. package/dist/docs/duplicate-check.d.ts.map +1 -0
  58. package/dist/docs/duplicate-check.js +286 -0
  59. package/dist/docs/duplicate-check.js.map +1 -0
  60. package/dist/docs/fetch-result.d.ts.map +1 -1
  61. package/dist/docs/fetch-result.js +27 -0
  62. package/dist/docs/fetch-result.js.map +1 -1
  63. package/dist/docs/import/scanner.d.ts +2 -0
  64. package/dist/docs/import/scanner.d.ts.map +1 -1
  65. package/dist/docs/import/scanner.js +3 -1
  66. package/dist/docs/import/scanner.js.map +1 -1
  67. package/dist/docs/lineage.d.ts +66 -0
  68. package/dist/docs/lineage.d.ts.map +1 -0
  69. package/dist/docs/lineage.js +190 -0
  70. package/dist/docs/lineage.js.map +1 -0
  71. package/dist/docs/modernize/apply.d.ts +139 -0
  72. package/dist/docs/modernize/apply.d.ts.map +1 -0
  73. package/dist/docs/modernize/apply.js +760 -0
  74. package/dist/docs/modernize/apply.js.map +1 -0
  75. package/dist/docs/modernize/guard.d.ts +92 -0
  76. package/dist/docs/modernize/guard.d.ts.map +1 -0
  77. package/dist/docs/modernize/guard.js +214 -0
  78. package/dist/docs/modernize/guard.js.map +1 -0
  79. package/dist/docs/modernize/index.d.ts +68 -0
  80. package/dist/docs/modernize/index.d.ts.map +1 -0
  81. package/dist/docs/modernize/index.js +97 -0
  82. package/dist/docs/modernize/index.js.map +1 -0
  83. package/dist/docs/modernize/judge.d.ts +85 -0
  84. package/dist/docs/modernize/judge.d.ts.map +1 -0
  85. package/dist/docs/modernize/judge.js +186 -0
  86. package/dist/docs/modernize/judge.js.map +1 -0
  87. package/dist/docs/modernize/plan.d.ts +77 -0
  88. package/dist/docs/modernize/plan.d.ts.map +1 -0
  89. package/dist/docs/modernize/plan.js +510 -0
  90. package/dist/docs/modernize/plan.js.map +1 -0
  91. package/dist/docs/modernize/restore.d.ts +41 -0
  92. package/dist/docs/modernize/restore.d.ts.map +1 -0
  93. package/dist/docs/modernize/restore.js +103 -0
  94. package/dist/docs/modernize/restore.js.map +1 -0
  95. package/dist/docs/modernize/rules.d.ts +197 -0
  96. package/dist/docs/modernize/rules.d.ts.map +1 -0
  97. package/dist/docs/modernize/rules.js +510 -0
  98. package/dist/docs/modernize/rules.js.map +1 -0
  99. package/dist/docs/modernize/store.d.ts +64 -0
  100. package/dist/docs/modernize/store.d.ts.map +1 -0
  101. package/dist/docs/modernize/store.js +390 -0
  102. package/dist/docs/modernize/store.js.map +1 -0
  103. package/dist/docs/publications-store.d.ts +16 -2
  104. package/dist/docs/publications-store.d.ts.map +1 -1
  105. package/dist/docs/publications-store.js +23 -2
  106. package/dist/docs/publications-store.js.map +1 -1
  107. package/dist/docs/publish-pr.d.ts.map +1 -1
  108. package/dist/docs/publish-pr.js +12 -1
  109. package/dist/docs/publish-pr.js.map +1 -1
  110. package/dist/docs/rot.d.ts +94 -0
  111. package/dist/docs/rot.d.ts.map +1 -0
  112. package/dist/docs/rot.js +298 -0
  113. package/dist/docs/rot.js.map +1 -0
  114. package/dist/docs/similarity-check.d.ts +2 -0
  115. package/dist/docs/similarity-check.d.ts.map +1 -1
  116. package/dist/docs/similarity-check.js +6 -49
  117. package/dist/docs/similarity-check.js.map +1 -1
  118. package/dist/docs/slug-rename.d.ts +84 -0
  119. package/dist/docs/slug-rename.d.ts.map +1 -0
  120. package/dist/docs/slug-rename.js +166 -0
  121. package/dist/docs/slug-rename.js.map +1 -0
  122. package/dist/docs/slug-similarity.d.ts +24 -0
  123. package/dist/docs/slug-similarity.d.ts.map +1 -0
  124. package/dist/docs/slug-similarity.js +63 -0
  125. package/dist/docs/slug-similarity.js.map +1 -0
  126. package/dist/docs/wikilinks.d.ts +20 -4
  127. package/dist/docs/wikilinks.d.ts.map +1 -1
  128. package/dist/docs/wikilinks.js +52 -7
  129. package/dist/docs/wikilinks.js.map +1 -1
  130. package/dist/docs/writer-registry.d.ts.map +1 -1
  131. package/dist/docs/writer-registry.js +33 -0
  132. package/dist/docs/writer-registry.js.map +1 -1
  133. package/dist/doctor/type-matrix-repair.d.ts +194 -0
  134. package/dist/doctor/type-matrix-repair.d.ts.map +1 -0
  135. package/dist/doctor/type-matrix-repair.js +662 -0
  136. package/dist/doctor/type-matrix-repair.js.map +1 -0
  137. package/dist/gateway-client/generated/index.d.ts +2 -2
  138. package/dist/gateway-client/generated/index.d.ts.map +1 -1
  139. package/dist/gateway-client/generated/index.js +1 -1
  140. package/dist/gateway-client/generated/index.js.map +1 -1
  141. package/dist/gateway-client/generated/namespaces.gen.d.ts +5 -0
  142. package/dist/gateway-client/generated/namespaces.gen.d.ts.map +1 -1
  143. package/dist/gateway-client/generated/namespaces.gen.js +6 -1
  144. package/dist/gateway-client/generated/namespaces.gen.js.map +1 -1
  145. package/dist/gateway-client/generated/sdk.gen.d.ts +21 -1
  146. package/dist/gateway-client/generated/sdk.gen.d.ts.map +1 -1
  147. package/dist/gateway-client/generated/sdk.gen.js +55 -0
  148. package/dist/gateway-client/generated/sdk.gen.js.map +1 -1
  149. package/dist/gateway-client/generated/types.gen.d.ts +222 -0
  150. package/dist/gateway-client/generated/types.gen.d.ts.map +1 -1
  151. package/dist/gc/gc-subsystem.d.ts +4 -0
  152. package/dist/gc/gc-subsystem.d.ts.map +1 -1
  153. package/dist/gc/gc-subsystem.js +16 -0
  154. package/dist/gc/gc-subsystem.js.map +1 -1
  155. package/dist/git/work-tree.d.ts +48 -0
  156. package/dist/git/work-tree.d.ts.map +1 -1
  157. package/dist/git/work-tree.js +63 -1
  158. package/dist/git/work-tree.js.map +1 -1
  159. package/dist/hooks/handlers/session-hooks.d.ts +5 -4
  160. package/dist/hooks/handlers/session-hooks.d.ts.map +1 -1
  161. package/dist/hooks/handlers/session-hooks.js +5 -21
  162. package/dist/hooks/handlers/session-hooks.js.map +1 -1
  163. package/dist/internal.d.ts +5 -1
  164. package/dist/internal.d.ts.map +1 -1
  165. package/dist/internal.js +5 -1
  166. package/dist/internal.js.map +1 -1
  167. package/dist/memory/brain-doctor.d.ts.map +1 -1
  168. package/dist/memory/brain-doctor.js +6 -1
  169. package/dist/memory/brain-doctor.js.map +1 -1
  170. package/dist/memory/engine-compat.d.ts.map +1 -1
  171. package/dist/memory/engine-compat.js +6 -0
  172. package/dist/memory/engine-compat.js.map +1 -1
  173. package/dist/nexus/analyze-orchestrator.d.ts +24 -0
  174. package/dist/nexus/analyze-orchestrator.d.ts.map +1 -1
  175. package/dist/nexus/analyze-orchestrator.js +43 -5
  176. package/dist/nexus/analyze-orchestrator.js.map +1 -1
  177. package/dist/nexus/user-profile.d.ts +2 -1
  178. package/dist/nexus/user-profile.d.ts.map +1 -1
  179. package/dist/nexus/user-profile.js +13 -5
  180. package/dist/nexus/user-profile.js.map +1 -1
  181. package/dist/orchestrate/admission.d.ts +8 -0
  182. package/dist/orchestrate/admission.d.ts.map +1 -1
  183. package/dist/orchestrate/admission.js +3 -1
  184. package/dist/orchestrate/admission.js.map +1 -1
  185. package/dist/orchestrate/query-ops.d.ts.map +1 -1
  186. package/dist/orchestrate/query-ops.js +15 -4
  187. package/dist/orchestrate/query-ops.js.map +1 -1
  188. package/dist/orchestrate/spawn-ops.d.ts.map +1 -1
  189. package/dist/orchestrate/spawn-ops.js +43 -2
  190. package/dist/orchestrate/spawn-ops.js.map +1 -1
  191. package/dist/orchestration/index.d.ts +6 -0
  192. package/dist/orchestration/index.d.ts.map +1 -1
  193. package/dist/orchestration/index.js +3 -0
  194. package/dist/orchestration/index.js.map +1 -1
  195. package/dist/orchestration/spawn-prompt.d.ts.map +1 -1
  196. package/dist/orchestration/spawn-prompt.js +3 -1
  197. package/dist/orchestration/spawn-prompt.js.map +1 -1
  198. package/dist/paths.d.ts +43 -1
  199. package/dist/paths.d.ts.map +1 -1
  200. package/dist/paths.js +51 -1
  201. package/dist/paths.js.map +1 -1
  202. package/dist/project-lifecycle.d.ts.map +1 -1
  203. package/dist/project-lifecycle.js +31 -0
  204. package/dist/project-lifecycle.js.map +1 -1
  205. package/dist/release/authorization.d.ts +156 -0
  206. package/dist/release/authorization.d.ts.map +1 -0
  207. package/dist/release/authorization.js +460 -0
  208. package/dist/release/authorization.js.map +1 -0
  209. package/dist/release/ci-evidence.d.ts +55 -4
  210. package/dist/release/ci-evidence.d.ts.map +1 -1
  211. package/dist/release/ci-evidence.js +251 -22
  212. package/dist/release/ci-evidence.js.map +1 -1
  213. package/dist/release/ci-run-evidence.d.ts +107 -0
  214. package/dist/release/ci-run-evidence.d.ts.map +1 -0
  215. package/dist/release/ci-run-evidence.js +234 -0
  216. package/dist/release/ci-run-evidence.js.map +1 -0
  217. package/dist/release/cut.d.ts +231 -0
  218. package/dist/release/cut.d.ts.map +1 -0
  219. package/dist/release/cut.js +775 -0
  220. package/dist/release/cut.js.map +1 -0
  221. package/dist/release/deploy-evidence.d.ts +173 -0
  222. package/dist/release/deploy-evidence.d.ts.map +1 -0
  223. package/dist/release/deploy-evidence.js +381 -0
  224. package/dist/release/deploy-evidence.js.map +1 -0
  225. package/dist/release/engine-ops.d.ts.map +1 -1
  226. package/dist/release/engine-ops.js +10 -4
  227. package/dist/release/engine-ops.js.map +1 -1
  228. package/dist/release/index.d.ts +3 -0
  229. package/dist/release/index.d.ts.map +1 -1
  230. package/dist/release/index.js +2 -0
  231. package/dist/release/index.js.map +1 -1
  232. package/dist/release/invariants/archive-reason-invariant.d.ts.map +1 -1
  233. package/dist/release/invariants/archive-reason-invariant.js +4 -1
  234. package/dist/release/invariants/archive-reason-invariant.js.map +1 -1
  235. package/dist/release/open.d.ts.map +1 -1
  236. package/dist/release/open.js +2 -6
  237. package/dist/release/open.js.map +1 -1
  238. package/dist/release/plan.d.ts +34 -2
  239. package/dist/release/plan.d.ts.map +1 -1
  240. package/dist/release/plan.js +30 -6
  241. package/dist/release/plan.js.map +1 -1
  242. package/dist/release/preflight-skip.d.ts +4 -19
  243. package/dist/release/preflight-skip.d.ts.map +1 -1
  244. package/dist/release/preflight-skip.js +5 -110
  245. package/dist/release/preflight-skip.js.map +1 -1
  246. package/dist/release/reconcile-latest.d.ts +29 -0
  247. package/dist/release/reconcile-latest.d.ts.map +1 -0
  248. package/dist/release/reconcile-latest.js +71 -0
  249. package/dist/release/reconcile-latest.js.map +1 -0
  250. package/dist/release/reconcile.d.ts +3 -1
  251. package/dist/release/reconcile.d.ts.map +1 -1
  252. package/dist/release/reconcile.js +18 -6
  253. package/dist/release/reconcile.js.map +1 -1
  254. package/dist/release/release-published.d.ts +27 -0
  255. package/dist/release/release-published.d.ts.map +1 -0
  256. package/dist/release/release-published.js +35 -0
  257. package/dist/release/release-published.js.map +1 -0
  258. package/dist/release/tty-confirm.d.ts +23 -0
  259. package/dist/release/tty-confirm.d.ts.map +1 -0
  260. package/dist/release/tty-confirm.js +50 -0
  261. package/dist/release/tty-confirm.js.map +1 -0
  262. package/dist/remote/index.js +1 -1
  263. package/dist/remote/index.js.map +1 -1
  264. package/dist/resources/admission-ledger.d.ts +103 -1
  265. package/dist/resources/admission-ledger.d.ts.map +1 -1
  266. package/dist/resources/admission-ledger.js +200 -17
  267. package/dist/resources/admission-ledger.js.map +1 -1
  268. package/dist/resources/agent-lease.d.ts +82 -0
  269. package/dist/resources/agent-lease.d.ts.map +1 -0
  270. package/dist/resources/agent-lease.js +167 -0
  271. package/dist/resources/agent-lease.js.map +1 -0
  272. package/dist/resources/governor.d.ts +27 -1
  273. package/dist/resources/governor.d.ts.map +1 -1
  274. package/dist/resources/governor.js +88 -4
  275. package/dist/resources/governor.js.map +1 -1
  276. package/dist/resources/hook-footprint.d.ts +13 -1
  277. package/dist/resources/hook-footprint.d.ts.map +1 -1
  278. package/dist/resources/hook-footprint.js +33 -7
  279. package/dist/resources/hook-footprint.js.map +1 -1
  280. package/dist/resources/run-governed.d.ts +25 -0
  281. package/dist/resources/run-governed.d.ts.map +1 -1
  282. package/dist/resources/run-governed.js +44 -3
  283. package/dist/resources/run-governed.js.map +1 -1
  284. package/dist/sagas/reconcile.d.ts.map +1 -1
  285. package/dist/sagas/reconcile.js +11 -0
  286. package/dist/sagas/reconcile.js.map +1 -1
  287. package/dist/scaffold/ensure-dirs.d.ts.map +1 -1
  288. package/dist/scaffold/ensure-dirs.js +8 -6
  289. package/dist/scaffold/ensure-dirs.js.map +1 -1
  290. package/dist/security/override-cap-setting.d.ts +132 -0
  291. package/dist/security/override-cap-setting.d.ts.map +1 -1
  292. package/dist/security/override-cap-setting.js +88 -10
  293. package/dist/security/override-cap-setting.js.map +1 -1
  294. package/dist/security/owner-override-authority.d.ts.map +1 -1
  295. package/dist/security/owner-override-authority.js +5 -1
  296. package/dist/security/owner-override-authority.js.map +1 -1
  297. package/dist/selfimprove/draft-pr.d.ts.map +1 -1
  298. package/dist/selfimprove/draft-pr.js +4 -1
  299. package/dist/selfimprove/draft-pr.js.map +1 -1
  300. package/dist/session/engine-ops.d.ts.map +1 -1
  301. package/dist/session/engine-ops.js +4 -16
  302. package/dist/session/engine-ops.js.map +1 -1
  303. package/dist/sessions/briefing.d.ts +6 -0
  304. package/dist/sessions/briefing.d.ts.map +1 -1
  305. package/dist/sessions/briefing.js +34 -0
  306. package/dist/sessions/briefing.js.map +1 -1
  307. package/dist/sessions/session-end-snapshot-entry.js +2 -2
  308. package/dist/sessions/session-end-snapshot-entry.js.map +1 -1
  309. package/dist/sessions/session-end-snapshot.js +4 -4
  310. package/dist/sessions/session-end-snapshot.js.map +1 -1
  311. package/dist/skills/injection/token.d.ts.map +1 -1
  312. package/dist/skills/injection/token.js +3 -6
  313. package/dist/skills/injection/token.js.map +1 -1
  314. package/dist/skills/orchestrator/spawn.d.ts.map +1 -1
  315. package/dist/skills/orchestrator/spawn.js +3 -4
  316. package/dist/skills/orchestrator/spawn.js.map +1 -1
  317. package/dist/skills/propose-patch.d.ts.map +1 -1
  318. package/dist/skills/propose-patch.js +4 -1
  319. package/dist/skills/propose-patch.js.map +1 -1
  320. package/dist/spawn/branch-integration.d.ts.map +1 -1
  321. package/dist/spawn/branch-integration.js +5 -2
  322. package/dist/spawn/branch-integration.js.map +1 -1
  323. package/dist/store/attachment-repair.d.ts.map +1 -1
  324. package/dist/store/attachment-repair.js +5 -4
  325. package/dist/store/attachment-repair.js.map +1 -1
  326. package/dist/store/attachment-store.d.ts +6 -0
  327. package/dist/store/attachment-store.d.ts.map +1 -1
  328. package/dist/store/attachment-store.js +19 -2
  329. package/dist/store/attachment-store.js.map +1 -1
  330. package/dist/store/blob-ops.d.ts +1 -1
  331. package/dist/store/blob-ops.d.ts.map +1 -1
  332. package/dist/store/blob-ops.js +7 -3
  333. package/dist/store/blob-ops.js.map +1 -1
  334. package/dist/store/conduit-doc-history.d.ts +15 -1
  335. package/dist/store/conduit-doc-history.d.ts.map +1 -1
  336. package/dist/store/conduit-doc-history.js +16 -10
  337. package/dist/store/conduit-doc-history.js.map +1 -1
  338. package/dist/store/db-helpers.d.ts +29 -0
  339. package/dist/store/db-helpers.d.ts.map +1 -1
  340. package/dist/store/db-helpers.js +89 -1
  341. package/dist/store/db-helpers.js.map +1 -1
  342. package/dist/store/decision-adr-links.d.ts.map +1 -1
  343. package/dist/store/decision-adr-links.js +5 -2
  344. package/dist/store/decision-adr-links.js.map +1 -1
  345. package/dist/store/git-checkpoint.d.ts +11 -1
  346. package/dist/store/git-checkpoint.d.ts.map +1 -1
  347. package/dist/store/git-checkpoint.js +14 -3
  348. package/dist/store/git-checkpoint.js.map +1 -1
  349. package/dist/store/llmtxt-blob-adapter.d.ts.map +1 -1
  350. package/dist/store/llmtxt-blob-adapter.js +4 -1
  351. package/dist/store/llmtxt-blob-adapter.js.map +1 -1
  352. package/dist/store/schema/attachments.d.ts +7 -5
  353. package/dist/store/schema/attachments.d.ts.map +1 -1
  354. package/dist/store/schema/attachments.js +5 -2
  355. package/dist/store/schema/attachments.js.map +1 -1
  356. package/dist/store/session-store.d.ts.map +1 -1
  357. package/dist/store/session-store.js +6 -0
  358. package/dist/store/session-store.js.map +1 -1
  359. package/dist/store/sqlite-backup.d.ts +6 -1
  360. package/dist/store/sqlite-backup.d.ts.map +1 -1
  361. package/dist/store/sqlite-backup.js +9 -5
  362. package/dist/store/sqlite-backup.js.map +1 -1
  363. package/dist/store/sqlite-data-accessor.d.ts.map +1 -1
  364. package/dist/store/sqlite-data-accessor.js +63 -36
  365. package/dist/store/sqlite-data-accessor.js.map +1 -1
  366. package/dist/system/backup.d.ts +29 -0
  367. package/dist/system/backup.d.ts.map +1 -1
  368. package/dist/system/backup.js +240 -37
  369. package/dist/system/backup.js.map +1 -1
  370. package/dist/system/dependencies.d.ts +22 -0
  371. package/dist/system/dependencies.d.ts.map +1 -1
  372. package/dist/system/dependencies.js +49 -2
  373. package/dist/system/dependencies.js.map +1 -1
  374. package/dist/system/health.d.ts.map +1 -1
  375. package/dist/system/health.js +23 -1
  376. package/dist/system/health.js.map +1 -1
  377. package/dist/task-work/claims.d.ts.map +1 -1
  378. package/dist/task-work/claims.js +14 -0
  379. package/dist/task-work/claims.js.map +1 -1
  380. package/dist/task-work/index.d.ts.map +1 -1
  381. package/dist/task-work/index.js +22 -0
  382. package/dist/task-work/index.js.map +1 -1
  383. package/dist/tasks/ac-coverage-gate.d.ts +27 -0
  384. package/dist/tasks/ac-coverage-gate.d.ts.map +1 -1
  385. package/dist/tasks/ac-coverage-gate.js +63 -28
  386. package/dist/tasks/ac-coverage-gate.js.map +1 -1
  387. package/dist/tasks/affected-packages.d.ts +26 -30
  388. package/dist/tasks/affected-packages.d.ts.map +1 -1
  389. package/dist/tasks/affected-packages.js +27 -50
  390. package/dist/tasks/affected-packages.js.map +1 -1
  391. package/dist/tasks/affected-scope.d.ts +13 -3
  392. package/dist/tasks/affected-scope.d.ts.map +1 -1
  393. package/dist/tasks/affected-scope.js +29 -11
  394. package/dist/tasks/affected-scope.js.map +1 -1
  395. package/dist/tasks/change-set.d.ts.map +1 -1
  396. package/dist/tasks/change-set.js +39 -20
  397. package/dist/tasks/change-set.js.map +1 -1
  398. package/dist/tasks/command-gate-cmd.d.ts +33 -0
  399. package/dist/tasks/command-gate-cmd.d.ts.map +1 -0
  400. package/dist/tasks/command-gate-cmd.js +45 -0
  401. package/dist/tasks/command-gate-cmd.js.map +1 -0
  402. package/dist/tasks/complete-ci.d.ts +9 -0
  403. package/dist/tasks/complete-ci.d.ts.map +1 -1
  404. package/dist/tasks/complete-ci.js +21 -4
  405. package/dist/tasks/complete-ci.js.map +1 -1
  406. package/dist/tasks/complete.d.ts.map +1 -1
  407. package/dist/tasks/complete.js +14 -0
  408. package/dist/tasks/complete.js.map +1 -1
  409. package/dist/tasks/component-pr.d.ts +37 -0
  410. package/dist/tasks/component-pr.d.ts.map +1 -1
  411. package/dist/tasks/component-pr.js +106 -14
  412. package/dist/tasks/component-pr.js.map +1 -1
  413. package/dist/tasks/done-plan.d.ts +14 -1
  414. package/dist/tasks/done-plan.d.ts.map +1 -1
  415. package/dist/tasks/done-plan.js +125 -15
  416. package/dist/tasks/done-plan.js.map +1 -1
  417. package/dist/tasks/done-record.d.ts.map +1 -1
  418. package/dist/tasks/done-record.js +4 -0
  419. package/dist/tasks/done-record.js.map +1 -1
  420. package/dist/tasks/engine-converters.d.ts.map +1 -1
  421. package/dist/tasks/engine-converters.js +2 -0
  422. package/dist/tasks/engine-converters.js.map +1 -1
  423. package/dist/tasks/evidence-tree.d.ts +28 -1
  424. package/dist/tasks/evidence-tree.d.ts.map +1 -1
  425. package/dist/tasks/evidence-tree.js +66 -2
  426. package/dist/tasks/evidence-tree.js.map +1 -1
  427. package/dist/tasks/evidence.d.ts +39 -27
  428. package/dist/tasks/evidence.d.ts.map +1 -1
  429. package/dist/tasks/evidence.js +382 -188
  430. package/dist/tasks/evidence.js.map +1 -1
  431. package/dist/tasks/gate-notes.d.ts +17 -0
  432. package/dist/tasks/gate-notes.d.ts.map +1 -1
  433. package/dist/tasks/gate-notes.js.map +1 -1
  434. package/dist/tasks/gate-preview.d.ts +7 -1
  435. package/dist/tasks/gate-preview.d.ts.map +1 -1
  436. package/dist/tasks/gate-preview.js +30 -4
  437. package/dist/tasks/gate-preview.js.map +1 -1
  438. package/dist/tasks/gate-runner.d.ts +42 -0
  439. package/dist/tasks/gate-runner.d.ts.map +1 -1
  440. package/dist/tasks/gate-runner.js +234 -94
  441. package/dist/tasks/gate-runner.js.map +1 -1
  442. package/dist/tasks/manifest-scope.d.ts +115 -0
  443. package/dist/tasks/manifest-scope.d.ts.map +1 -0
  444. package/dist/tasks/manifest-scope.js +352 -0
  445. package/dist/tasks/manifest-scope.js.map +1 -0
  446. package/dist/tasks/merge-close.d.ts +376 -0
  447. package/dist/tasks/merge-close.d.ts.map +1 -0
  448. package/dist/tasks/merge-close.js +1497 -0
  449. package/dist/tasks/merge-close.js.map +1 -0
  450. package/dist/tasks/qa-run-binding.d.ts +5 -0
  451. package/dist/tasks/qa-run-binding.d.ts.map +1 -1
  452. package/dist/tasks/qa-run-binding.js +6 -1
  453. package/dist/tasks/qa-run-binding.js.map +1 -1
  454. package/dist/tasks/req.d.ts.map +1 -1
  455. package/dist/tasks/req.js +29 -1
  456. package/dist/tasks/req.js.map +1 -1
  457. package/dist/tasks/review-verdict.d.ts +159 -0
  458. package/dist/tasks/review-verdict.d.ts.map +1 -0
  459. package/dist/tasks/review-verdict.js +442 -0
  460. package/dist/tasks/review-verdict.js.map +1 -0
  461. package/dist/tasks/task-reparent.d.ts.map +1 -1
  462. package/dist/tasks/task-reparent.js +22 -3
  463. package/dist/tasks/task-reparent.js.map +1 -1
  464. package/dist/tasks/test-report-counts.d.ts +274 -0
  465. package/dist/tasks/test-report-counts.d.ts.map +1 -0
  466. package/dist/tasks/test-report-counts.js +746 -0
  467. package/dist/tasks/test-report-counts.js.map +1 -0
  468. package/dist/tasks/test-run-binding.d.ts +20 -45
  469. package/dist/tasks/test-run-binding.d.ts.map +1 -1
  470. package/dist/tasks/test-run-binding.js +34 -119
  471. package/dist/tasks/test-run-binding.js.map +1 -1
  472. package/dist/tasks/update.d.ts.map +1 -1
  473. package/dist/tasks/update.js +42 -0
  474. package/dist/tasks/update.js.map +1 -1
  475. package/dist/tasks/verification-policy.d.ts +12 -0
  476. package/dist/tasks/verification-policy.d.ts.map +1 -1
  477. package/dist/tasks/verification-policy.js +13 -0
  478. package/dist/tasks/verification-policy.js.map +1 -1
  479. package/dist/tasks/workspace-resolution.d.ts +225 -0
  480. package/dist/tasks/workspace-resolution.d.ts.map +1 -0
  481. package/dist/tasks/workspace-resolution.js +497 -0
  482. package/dist/tasks/workspace-resolution.js.map +1 -0
  483. package/dist/validation/doctor/checks.d.ts +20 -0
  484. package/dist/validation/doctor/checks.d.ts.map +1 -1
  485. package/dist/validation/doctor/checks.js +112 -0
  486. package/dist/validation/doctor/checks.js.map +1 -1
  487. package/dist/validation/engine-ops.d.ts.map +1 -1
  488. package/dist/validation/engine-ops.js +37 -3
  489. package/dist/validation/engine-ops.js.map +1 -1
  490. package/dist/validation/validate-ops.d.ts +4 -0
  491. package/dist/validation/validate-ops.d.ts.map +1 -1
  492. package/dist/validation/validate-ops.js +79 -2
  493. package/dist/validation/validate-ops.js.map +1 -1
  494. package/dist/worktree/list.d.ts +4 -21
  495. package/dist/worktree/list.d.ts.map +1 -1
  496. package/dist/worktree/list.js +14 -44
  497. package/dist/worktree/list.js.map +1 -1
  498. package/dist/worktree/merged-cleanup.d.ts +63 -0
  499. package/dist/worktree/merged-cleanup.d.ts.map +1 -0
  500. package/dist/worktree/merged-cleanup.js +571 -0
  501. package/dist/worktree/merged-cleanup.js.map +1 -0
  502. package/dist/worktree/prune.d.ts +64 -2
  503. package/dist/worktree/prune.d.ts.map +1 -1
  504. package/dist/worktree/prune.js +151 -6
  505. package/dist/worktree/prune.js.map +1 -1
  506. package/dist/worktree/sentinel-index.d.ts +14 -0
  507. package/dist/worktree/sentinel-index.d.ts.map +1 -1
  508. package/dist/worktree/sentinel-index.js +17 -0
  509. package/dist/worktree/sentinel-index.js.map +1 -1
  510. package/dist/worktree/worktree-adopt.d.ts +1 -13
  511. package/dist/worktree/worktree-adopt.d.ts.map +1 -1
  512. package/dist/worktree/worktree-adopt.js +2 -17
  513. package/dist/worktree/worktree-adopt.js.map +1 -1
  514. package/package.json +12 -12
  515. package/schemas/project-context.schema.json +33 -0
  516. package/templates/CLEO-INJECTION.md +6 -16
  517. package/templates/CLEO-REFERENCE.md +27 -4
  518. package/templates/git-hooks/legacy-hashes.json +2 -1
  519. package/templates/git-hooks/pre-commit +43 -11
  520. package/templates/workflows/release-prepare.yml.tmpl +9 -88
@@ -0,0 +1 @@
1
+ {"version":3,"file":"apply.js","sourceRoot":"","sources":["../../../src/docs/modernize/apply.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,92 @@
1
+ /**
2
+ * Input guards for `cleo docs modernize` (T14113): a plan or receipt read
3
+ * from disk is untrusted, so its shape is schema-checked and every path it
4
+ * names must stay inside the modernize root, which itself must sit inside the
5
+ * project. Absolute paths, `..` escapes and symlinks are refused.
6
+ *
7
+ * @task T14113
8
+ * @epic T14106
9
+ */
10
+ import type { DocsModernizeOverrides, DocsModernizePlan, DocsModernizeReceipt } from '@cleocode/contracts';
11
+ /** Raised when a plan, receipt or path fails a guard. */
12
+ export declare class DocsModernizeUnsafeError extends Error {
13
+ /** Stable code for the envelope. */
14
+ readonly code = "E_MODERNIZE_UNSAFE";
15
+ }
16
+ /**
17
+ * Resolve a root-relative path, refusing anything that leaves the root.
18
+ *
19
+ * @param root - Absolute modernize root.
20
+ * @param rel - Path relative to it, POSIX separators.
21
+ * @returns The absolute path.
22
+ * @throws DocsModernizeUnsafeError for an absolute path, an escape or a symlink.
23
+ */
24
+ export declare function safeJoin(root: string, rel: string): string;
25
+ /**
26
+ * Check that the invoking checkout is the project root or a git worktree of
27
+ * the SAME repository (one git common dir), so no checkout of an unrelated
28
+ * repository can be written to or read as the project's (T14188).
29
+ *
30
+ * @param projectRoot - Project root.
31
+ * @param checkoutRoot - The invoking checkout.
32
+ * @throws DocsModernizeUnsafeError when it is another repository, or git cannot tell.
33
+ */
34
+ export declare function assertCheckoutOfProject(projectRoot: string, checkoutRoot: string): void;
35
+ /**
36
+ * Check that a modernize root sits inside the project, or inside the checkout
37
+ * the command was started from, once that checkout is proven a worktree of
38
+ * the project's repository ({@link assertCheckoutOfProject}, T14188).
39
+ *
40
+ * @param projectRoot - Project root.
41
+ * @param root - Absolute modernize root.
42
+ * @param checkoutRoot - The invoking checkout (default: the project root).
43
+ * @throws DocsModernizeUnsafeError when it sits in neither, or the checkout is
44
+ * another repository's.
45
+ */
46
+ export declare function assertRootInProject(projectRoot: string, root: string, checkoutRoot?: string): void;
47
+ /**
48
+ * Parse and check a plan read from disk.
49
+ *
50
+ * @param raw - File text.
51
+ * @param projectRoot - Project root.
52
+ * @param checkoutRoot - The invoking checkout (default: the project root).
53
+ * @returns The plan, with every path checked.
54
+ * @throws DocsModernizeUnsafeError on a bad shape or an unsafe path.
55
+ */
56
+ export declare function parseModernizePlan(raw: string, projectRoot: string, checkoutRoot?: string): DocsModernizePlan;
57
+ /**
58
+ * Check every path a plan names.
59
+ *
60
+ * @param plan - The plan.
61
+ * @param projectRoot - Project root.
62
+ * @param checkoutRoot - The invoking checkout (default: the project root).
63
+ */
64
+ export declare function assertPlanPaths(plan: DocsModernizePlan, projectRoot: string, checkoutRoot?: string): void;
65
+ /**
66
+ * Parse and check a receipt read back for rollback.
67
+ *
68
+ * @param raw - File text.
69
+ * @param projectRoot - Project root.
70
+ * @param checkoutRoot - The invoking checkout (default: the project root).
71
+ * @returns The receipt, with every path checked.
72
+ */
73
+ export declare function parseModernizeReceipt(raw: string, projectRoot: string, checkoutRoot?: string): DocsModernizeReceipt;
74
+ /**
75
+ * Check that a plan hangs together: every `merge-into`/`delete` row names a
76
+ * survivor's slug (so its content has somewhere to go), every `keep` row
77
+ * targets its own path, every survivor target is a `.md`/`.txt` file, and
78
+ * every `link-fix` names a kept file of a tree plan.
79
+ *
80
+ * @param plan - The plan.
81
+ * @throws DocsModernizeUnsafeError on the first inconsistent row.
82
+ */
83
+ export declare function assertPlanConsistent(plan: DocsModernizePlan): void;
84
+ /**
85
+ * Parse and check an `--overrides` file.
86
+ *
87
+ * @param raw - File text.
88
+ * @returns The overrides.
89
+ * @throws DocsModernizeUnsafeError on a bad shape.
90
+ */
91
+ export declare function parseModernizeOverrides(raw: string): DocsModernizeOverrides;
92
+ //# sourceMappingURL=guard.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"guard.d.ts","sourceRoot":"","sources":["../../../src/docs/modernize/guard.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAIH,OAAO,KAAK,EACV,sBAAsB,EACtB,iBAAiB,EACjB,oBAAoB,EACrB,MAAM,qBAAqB,CAAC;AAQ7B,yDAAyD;AACzD,qBAAa,wBAAyB,SAAQ,KAAK;IACjD,oCAAoC;IACpC,QAAQ,CAAC,IAAI,wBAAwB;CACtC;AAqBD;;;;;;;GAOG;AACH,wBAAgB,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,MAAM,CAkB1D;AAED;;;;;;;;GAQG;AACH,wBAAgB,uBAAuB,CAAC,WAAW,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,GAAG,IAAI,CAWvF;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,mBAAmB,CACjC,WAAW,EAAE,MAAM,EACnB,IAAI,EAAE,MAAM,EACZ,YAAY,GAAE,MAAoB,GACjC,IAAI,CAaN;AAED;;;;;;;;GAQG;AACH,wBAAgB,kBAAkB,CAChC,GAAG,EAAE,MAAM,EACX,WAAW,EAAE,MAAM,EACnB,YAAY,GAAE,MAAoB,GACjC,iBAAiB,CAWnB;AAED;;;;;;GAMG;AACH,wBAAgB,eAAe,CAC7B,IAAI,EAAE,iBAAiB,EACvB,WAAW,EAAE,MAAM,EACnB,YAAY,GAAE,MAAoB,GACjC,IAAI,CAQN;AAED;;;;;;;GAOG;AACH,wBAAgB,qBAAqB,CACnC,GAAG,EAAE,MAAM,EACX,WAAW,EAAE,MAAM,EACnB,YAAY,GAAE,MAAoB,GACjC,oBAAoB,CAYtB;AAED;;;;;;;;GAQG;AACH,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,iBAAiB,GAAG,IAAI,CAiClE;AAED;;;;;;GAMG;AACH,wBAAgB,uBAAuB,CAAC,GAAG,EAAE,MAAM,GAAG,sBAAsB,CAS3E"}
@@ -0,0 +1,214 @@
1
+ /**
2
+ * Input guards for `cleo docs modernize` (T14113): a plan or receipt read
3
+ * from disk is untrusted, so its shape is schema-checked and every path it
4
+ * names must stay inside the modernize root, which itself must sit inside the
5
+ * project. Absolute paths, `..` escapes and symlinks are refused.
6
+ *
7
+ * @task T14113
8
+ * @epic T14106
9
+ */
10
+ import { existsSync, lstatSync, realpathSync } from 'node:fs';
11
+ import { dirname, isAbsolute, relative, resolve, sep } from 'node:path';
12
+ import { docsModernizeOverridesSchema, docsModernizePlanSchema, docsModernizeReceiptSchema, } from '@cleocode/contracts/docs/modernize.js';
13
+ import { gitCommonDir } from '../../git/work-tree.js';
14
+ /** Raised when a plan, receipt or path fails a guard. */
15
+ export class DocsModernizeUnsafeError extends Error {
16
+ /** Stable code for the envelope. */
17
+ code = 'E_MODERNIZE_UNSAFE';
18
+ }
19
+ /** Whether `child` is `parent` or inside it (both absolute, resolved). */
20
+ function within(parent, child) {
21
+ const rel = relative(parent, child);
22
+ return rel === '' || (!rel.startsWith('..') && !isAbsolute(rel));
23
+ }
24
+ /** The real path of `p`, or of its nearest existing ancestor joined with the rest. */
25
+ function realOrNearest(p) {
26
+ let current = p;
27
+ const tail = [];
28
+ while (!existsSync(current)) {
29
+ const parent = dirname(current);
30
+ if (parent === current)
31
+ break;
32
+ tail.unshift(current.slice(parent.length + 1));
33
+ current = parent;
34
+ }
35
+ return resolve(realpathSync(current), ...tail);
36
+ }
37
+ /**
38
+ * Resolve a root-relative path, refusing anything that leaves the root.
39
+ *
40
+ * @param root - Absolute modernize root.
41
+ * @param rel - Path relative to it, POSIX separators.
42
+ * @returns The absolute path.
43
+ * @throws DocsModernizeUnsafeError for an absolute path, an escape or a symlink.
44
+ */
45
+ export function safeJoin(root, rel) {
46
+ if (isAbsolute(rel) || rel.includes('\0') || rel.split(/[\\/]/).includes('..')) {
47
+ // @sync-invariant none:input-shape a path that is absolute or climbs out of the root is refused before any write
48
+ throw new DocsModernizeUnsafeError(`unsafe path ${JSON.stringify(rel)}: must be relative to the root`);
49
+ }
50
+ const abs = resolve(root, rel.split('/').join(sep));
51
+ const realRoot = realpathSync(root);
52
+ if (!within(realRoot, realOrNearest(abs))) {
53
+ // @sync-invariant none:input-shape a path that resolves outside the root (through a symlink) is refused before any write
54
+ throw new DocsModernizeUnsafeError(`unsafe path ${rel}: resolves outside ${root}`);
55
+ }
56
+ if (existsSync(abs) && lstatSync(abs).isSymbolicLink()) {
57
+ // @sync-invariant none:input-shape a symlinked file is refused before any write; modernize reads and moves real files only
58
+ throw new DocsModernizeUnsafeError(`unsafe path ${rel}: is a symlink`);
59
+ }
60
+ return abs;
61
+ }
62
+ /**
63
+ * Check that the invoking checkout is the project root or a git worktree of
64
+ * the SAME repository (one git common dir), so no checkout of an unrelated
65
+ * repository can be written to or read as the project's (T14188).
66
+ *
67
+ * @param projectRoot - Project root.
68
+ * @param checkoutRoot - The invoking checkout.
69
+ * @throws DocsModernizeUnsafeError when it is another repository, or git cannot tell.
70
+ */
71
+ export function assertCheckoutOfProject(projectRoot, checkoutRoot) {
72
+ if (resolve(projectRoot) === resolve(checkoutRoot))
73
+ return;
74
+ const project = gitCommonDir(projectRoot);
75
+ const checkout = gitCommonDir(checkoutRoot);
76
+ if (project === null || project !== checkout) {
77
+ // @sync-invariant none:input-shape a checkout of another repository is refused before any read or write
78
+ throw new DocsModernizeUnsafeError(`checkout ${checkoutRoot} is not a worktree of the project ${projectRoot} ` +
79
+ `(git common dir ${checkout ?? 'unknown'} vs ${project ?? 'unknown'})`);
80
+ }
81
+ }
82
+ /**
83
+ * Check that a modernize root sits inside the project, or inside the checkout
84
+ * the command was started from, once that checkout is proven a worktree of
85
+ * the project's repository ({@link assertCheckoutOfProject}, T14188).
86
+ *
87
+ * @param projectRoot - Project root.
88
+ * @param root - Absolute modernize root.
89
+ * @param checkoutRoot - The invoking checkout (default: the project root).
90
+ * @throws DocsModernizeUnsafeError when it sits in neither, or the checkout is
91
+ * another repository's.
92
+ */
93
+ export function assertRootInProject(projectRoot, root, checkoutRoot = projectRoot) {
94
+ assertCheckoutOfProject(projectRoot, checkoutRoot);
95
+ if (!isAbsolute(root) ||
96
+ !existsSync(root) ||
97
+ ![projectRoot, checkoutRoot].some((r) => within(realpathSync(r), realpathSync(root)))) {
98
+ // @sync-invariant none:input-shape a modernize root outside the project is refused before any write
99
+ throw new DocsModernizeUnsafeError(`modernize root ${root} is not inside the project ${projectRoot}` +
100
+ (checkoutRoot === projectRoot ? '' : ` or the checkout ${checkoutRoot}`));
101
+ }
102
+ }
103
+ /**
104
+ * Parse and check a plan read from disk.
105
+ *
106
+ * @param raw - File text.
107
+ * @param projectRoot - Project root.
108
+ * @param checkoutRoot - The invoking checkout (default: the project root).
109
+ * @returns The plan, with every path checked.
110
+ * @throws DocsModernizeUnsafeError on a bad shape or an unsafe path.
111
+ */
112
+ export function parseModernizePlan(raw, projectRoot, checkoutRoot = projectRoot) {
113
+ const parsed = docsModernizePlanSchema.safeParse(JSON.parse(raw));
114
+ if (!parsed.success) {
115
+ // @sync-invariant none:input-shape a malformed plan file is refused before any write
116
+ throw new DocsModernizeUnsafeError(`plan file does not match the plan schema: ${parsed.error.message}`);
117
+ }
118
+ const plan = parsed.data;
119
+ assertPlanPaths(plan, projectRoot, checkoutRoot);
120
+ return plan;
121
+ }
122
+ /**
123
+ * Check every path a plan names.
124
+ *
125
+ * @param plan - The plan.
126
+ * @param projectRoot - Project root.
127
+ * @param checkoutRoot - The invoking checkout (default: the project root).
128
+ */
129
+ export function assertPlanPaths(plan, projectRoot, checkoutRoot = projectRoot) {
130
+ assertRootInProject(projectRoot, plan.root, checkoutRoot);
131
+ for (const row of plan.rows) {
132
+ safeJoin(plan.root, row.path);
133
+ if ((row.disposition === 'keep' || row.disposition === 'rename') && row.target) {
134
+ safeJoin(plan.root, row.target);
135
+ }
136
+ }
137
+ }
138
+ /**
139
+ * Parse and check a receipt read back for rollback.
140
+ *
141
+ * @param raw - File text.
142
+ * @param projectRoot - Project root.
143
+ * @param checkoutRoot - The invoking checkout (default: the project root).
144
+ * @returns The receipt, with every path checked.
145
+ */
146
+ export function parseModernizeReceipt(raw, projectRoot, checkoutRoot = projectRoot) {
147
+ const parsed = docsModernizeReceiptSchema.safeParse(JSON.parse(raw));
148
+ if (!parsed.success) {
149
+ // @sync-invariant none:input-shape a malformed receipt is refused before any rollback step
150
+ throw new DocsModernizeUnsafeError(`receipt does not match the receipt schema: ${parsed.error.message}`);
151
+ }
152
+ const receipt = parsed.data;
153
+ assertRootInProject(projectRoot, receipt.root, checkoutRoot);
154
+ for (const op of receipt.ops)
155
+ if (op.path)
156
+ safeJoin(receipt.root, op.path);
157
+ return receipt;
158
+ }
159
+ /**
160
+ * Check that a plan hangs together: every `merge-into`/`delete` row names a
161
+ * survivor's slug (so its content has somewhere to go), every `keep` row
162
+ * targets its own path, every survivor target is a `.md`/`.txt` file, and
163
+ * every `link-fix` names a kept file of a tree plan.
164
+ *
165
+ * @param plan - The plan.
166
+ * @throws DocsModernizeUnsafeError on the first inconsistent row.
167
+ */
168
+ export function assertPlanConsistent(plan) {
169
+ const survivors = new Set(plan.rows
170
+ .filter((r) => r.disposition === 'keep' || r.disposition === 'rename')
171
+ .map((r) => r.slug));
172
+ for (const row of plan.rows) {
173
+ const bad = (why) => {
174
+ // @sync-invariant none:input-shape an inconsistent plan row is refused before any write
175
+ throw new DocsModernizeUnsafeError(`plan row ${row.path}: ${why}`);
176
+ };
177
+ if (row.disposition === 'merge-into' || row.disposition === 'delete') {
178
+ if (!row.target || !survivors.has(row.target)) {
179
+ bad(`${row.disposition} must name a survivor's slug (got ${row.target ?? 'none'})`);
180
+ }
181
+ }
182
+ else if (plan.mode !== 'store-only') {
183
+ if (row.disposition === 'keep' && row.target !== row.path)
184
+ bad('keep must target its own path');
185
+ if (!row.target || !/\.(md|txt)$/i.test(row.target))
186
+ bad('a survivor must target a .md or .txt file');
187
+ }
188
+ }
189
+ const kept = new Set(plan.mode === 'tree'
190
+ ? plan.rows.filter((r) => r.disposition === 'keep').map((r) => r.path)
191
+ : []);
192
+ for (const fix of plan.linkFixes ?? []) {
193
+ if (!kept.has(fix.path)) {
194
+ // @sync-invariant none:input-shape a link fix for a file the plan does not keep is refused before any write
195
+ throw new DocsModernizeUnsafeError(`link-fix ${fix.path}: only a kept file of a tree plan`);
196
+ }
197
+ }
198
+ }
199
+ /**
200
+ * Parse and check an `--overrides` file.
201
+ *
202
+ * @param raw - File text.
203
+ * @returns The overrides.
204
+ * @throws DocsModernizeUnsafeError on a bad shape.
205
+ */
206
+ export function parseModernizeOverrides(raw) {
207
+ const parsed = docsModernizeOverridesSchema.safeParse(JSON.parse(raw));
208
+ if (!parsed.success) {
209
+ // @sync-invariant none:input-shape a malformed overrides file is refused before any write
210
+ throw new DocsModernizeUnsafeError(`overrides file does not match the schema: ${parsed.error.message}`);
211
+ }
212
+ return parsed.data;
213
+ }
214
+ //# sourceMappingURL=guard.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"guard.js","sourceRoot":"","sources":["../../../src/docs/modernize/guard.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,68 @@
1
+ /**
2
+ * `cleo docs modernize` entry point (T14113): one call for the dry run, the
3
+ * apply and the rollback, so the dispatch handler stays a pass-through.
4
+ *
5
+ * @task T14113
6
+ * @epic T14106
7
+ */
8
+ import type { DocsModernizePlan, DocsModernizeReceipt } from '@cleocode/contracts';
9
+ import { type PlanDocsModernizeOptions } from './plan.js';
10
+ export { applyDocsModernize, DocsModernizeBlobError, DocsModernizeDirtyError, DocsModernizeReceiptError, DocsModernizeStaleError, modernizeReceiptPath, readDocsModernizeReceipt, rollbackDocsModernize, } from './apply.js';
11
+ export { DocsModernizeOverrideError, planDocsModernize } from './plan.js';
12
+ /** Parameters of `docs.modernize`. */
13
+ export interface RunDocsModernizeParams {
14
+ /** Folder to modernize (relative to the invoking checkout, or absolute). Required unless `rollback`. */
15
+ readonly path?: string;
16
+ /** Execute the plan; otherwise the run is a dry run. */
17
+ readonly apply?: boolean;
18
+ /** Apply this saved plan JSON verbatim instead of re-planning. */
19
+ readonly planFile?: string;
20
+ /** Write the dry-run plan JSON here. */
21
+ readonly out?: string;
22
+ /** Roll back the run with this id. */
23
+ readonly rollback?: string;
24
+ /** Extra folder names to skip. */
25
+ readonly exclude?: readonly string[];
26
+ /** Override JSON (`DocsModernizeOverrides`), keyed by root-relative path. */
27
+ readonly overrides?: string;
28
+ /** Use this kind for every file instead of classifying. */
29
+ readonly kind?: string;
30
+ /** Ingest every file into the store and leave the folder untouched. */
31
+ readonly storeOnly?: boolean;
32
+ /** Apply even when the root is not a clean git checkout. */
33
+ readonly allowDirty?: boolean;
34
+ /** Rewrite relative links to planned docs as `[[slug]]` wikilinks (opt-in; default keeps markdown links). */
35
+ readonly wikilinks?: boolean;
36
+ /** Modernize the docs already in the store (re-kind, re-slug, ADR numbers) instead of a folder. */
37
+ readonly store?: boolean;
38
+ }
39
+ /** Result of {@link runDocsModernize}. */
40
+ export interface RunDocsModernizeResult {
41
+ /** What ran. */
42
+ readonly mode: 'dry-run' | 'apply' | 'rollback';
43
+ /** The plan (dry run and apply). */
44
+ readonly plan: DocsModernizePlan | null;
45
+ /** Where the plan was saved, when `out` was given. */
46
+ readonly planPath: string | null;
47
+ /** The receipt (apply and rollback). */
48
+ readonly receipt: DocsModernizeReceipt | null;
49
+ }
50
+ /**
51
+ * Run `cleo docs modernize`.
52
+ *
53
+ * The store, publication ledger, journal and backups live at `projectRoot`;
54
+ * the folder, plan, overrides and `--out` paths resolve against
55
+ * `checkoutRoot`, the checkout the command was started from (a CLEO
56
+ * worktree, T14188).
57
+ *
58
+ * @param projectRoot - Project root.
59
+ * @param params - Path and mode flags.
60
+ * @param overrides - Invoking checkout, plus System One and clock overrides (tests).
61
+ * @returns What ran, with its plan and/or receipt.
62
+ */
63
+ export declare function runDocsModernize(projectRoot: string, params: RunDocsModernizeParams, overrides?: Pick<PlanDocsModernizeOptions, 'mode' | 'decide' | 'now'> & {
64
+ readonly allowDirty?: boolean;
65
+ /** The checkout the command was started from (default: the project root). */
66
+ readonly checkoutRoot?: string;
67
+ }): Promise<RunDocsModernizeResult>;
68
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/docs/modernize/index.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAIH,OAAO,KAAK,EAEV,iBAAiB,EACjB,oBAAoB,EACrB,MAAM,qBAAqB,CAAC;AAI7B,OAAO,EAAE,KAAK,wBAAwB,EAAqB,MAAM,WAAW,CAAC;AAE7E,OAAO,EACL,kBAAkB,EAClB,sBAAsB,EACtB,uBAAuB,EACvB,yBAAyB,EACzB,uBAAuB,EACvB,oBAAoB,EACpB,wBAAwB,EACxB,qBAAqB,GACtB,MAAM,YAAY,CAAC;AACpB,OAAO,EAAE,0BAA0B,EAAE,iBAAiB,EAAE,MAAM,WAAW,CAAC;AAE1E,sCAAsC;AACtC,MAAM,WAAW,sBAAsB;IACrC,wGAAwG;IACxG,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IACvB,wDAAwD;IACxD,QAAQ,CAAC,KAAK,CAAC,EAAE,OAAO,CAAC;IACzB,kEAAkE;IAClE,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAC3B,wCAAwC;IACxC,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC;IACtB,sCAAsC;IACtC,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAC3B,kCAAkC;IAClC,QAAQ,CAAC,OAAO,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IACrC,6EAA6E;IAC7E,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAC5B,2DAA2D;IAC3D,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IACvB,uEAAuE;IACvE,QAAQ,CAAC,SAAS,CAAC,EAAE,OAAO,CAAC;IAC7B,4DAA4D;IAC5D,QAAQ,CAAC,UAAU,CAAC,EAAE,OAAO,CAAC;IAC9B,6GAA6G;IAC7G,QAAQ,CAAC,SAAS,CAAC,EAAE,OAAO,CAAC;IAC7B,mGAAmG;IACnG,QAAQ,CAAC,KAAK,CAAC,EAAE,OAAO,CAAC;CAC1B;AAED,0CAA0C;AAC1C,MAAM,WAAW,sBAAsB;IACrC,gBAAgB;IAChB,QAAQ,CAAC,IAAI,EAAE,SAAS,GAAG,OAAO,GAAG,UAAU,CAAC;IAChD,oCAAoC;IACpC,QAAQ,CAAC,IAAI,EAAE,iBAAiB,GAAG,IAAI,CAAC;IACxC,sDAAsD;IACtD,QAAQ,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACjC,wCAAwC;IACxC,QAAQ,CAAC,OAAO,EAAE,oBAAoB,GAAG,IAAI,CAAC;CAC/C;AAED;;;;;;;;;;;;GAYG;AACH,wBAAsB,gBAAgB,CACpC,WAAW,EAAE,MAAM,EACnB,MAAM,EAAE,sBAAsB,EAC9B,SAAS,GAAE,IAAI,CAAC,wBAAwB,EAAE,MAAM,GAAG,QAAQ,GAAG,KAAK,CAAC,GAAG;IACrE,QAAQ,CAAC,UAAU,CAAC,EAAE,OAAO,CAAC;IAC9B,6EAA6E;IAC7E,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,CAAC;CAC3B,GACL,OAAO,CAAC,sBAAsB,CAAC,CAuEjC"}
@@ -0,0 +1,97 @@
1
+ /**
2
+ * `cleo docs modernize` entry point (T14113): one call for the dry run, the
3
+ * apply and the rollback, so the dispatch handler stays a pass-through.
4
+ *
5
+ * @task T14113
6
+ * @epic T14106
7
+ */
8
+ import { existsSync, readFileSync } from 'node:fs';
9
+ import { isAbsolute, resolve } from 'node:path';
10
+ import { writeFileAtomic } from '../../tools/fs.js';
11
+ import { applyDocsModernize, DocsModernizeReceiptError, rollbackDocsModernize } from './apply.js';
12
+ import { assertCheckoutOfProject, parseModernizeOverrides, parseModernizePlan } from './guard.js';
13
+ import { planDocsModernize } from './plan.js';
14
+ export { applyDocsModernize, DocsModernizeBlobError, DocsModernizeDirtyError, DocsModernizeReceiptError, DocsModernizeStaleError, modernizeReceiptPath, readDocsModernizeReceipt, rollbackDocsModernize, } from './apply.js';
15
+ export { DocsModernizeOverrideError, planDocsModernize } from './plan.js';
16
+ /**
17
+ * Run `cleo docs modernize`.
18
+ *
19
+ * The store, publication ledger, journal and backups live at `projectRoot`;
20
+ * the folder, plan, overrides and `--out` paths resolve against
21
+ * `checkoutRoot`, the checkout the command was started from (a CLEO
22
+ * worktree, T14188).
23
+ *
24
+ * @param projectRoot - Project root.
25
+ * @param params - Path and mode flags.
26
+ * @param overrides - Invoking checkout, plus System One and clock overrides (tests).
27
+ * @returns What ran, with its plan and/or receipt.
28
+ */
29
+ export async function runDocsModernize(projectRoot, params, overrides = {}) {
30
+ const { checkoutRoot = projectRoot, ...judge } = overrides;
31
+ assertCheckoutOfProject(projectRoot, checkoutRoot);
32
+ if (params.rollback) {
33
+ const receipt = await rollbackDocsModernize(projectRoot, params.rollback, judge.now, checkoutRoot);
34
+ return { mode: 'rollback', plan: null, planPath: null, receipt };
35
+ }
36
+ const abs = (p) => (isAbsolute(p) ? p : resolve(checkoutRoot, p));
37
+ let plan;
38
+ if (params.planFile) {
39
+ const file = abs(params.planFile);
40
+ if (!existsSync(file)) {
41
+ // @sync-invariant none:input-shape a missing plan file is refused before any write
42
+ throw new DocsModernizeReceiptError(`plan file ${params.planFile} does not exist`);
43
+ }
44
+ plan = parseModernizePlan(readFileSync(file, 'utf-8'), projectRoot, checkoutRoot);
45
+ }
46
+ else if (params.store) {
47
+ const { planDocsStoreModernize } = await import('./store.js');
48
+ plan = await planDocsStoreModernize({ projectRoot, ...judge });
49
+ }
50
+ else {
51
+ if (!params.path || !existsSync(abs(params.path))) {
52
+ // @sync-invariant none:input-shape a missing modernize root is refused before any write
53
+ throw new DocsModernizeReceiptError(`modernize root ${params.path ?? '(none)'} does not exist`);
54
+ }
55
+ let reviewed;
56
+ if (params.overrides) {
57
+ const file = abs(params.overrides);
58
+ if (!existsSync(file)) {
59
+ // @sync-invariant none:input-shape a missing overrides file is refused before any write
60
+ throw new DocsModernizeReceiptError(`overrides file ${params.overrides} does not exist`);
61
+ }
62
+ reviewed = parseModernizeOverrides(readFileSync(file, 'utf-8'));
63
+ }
64
+ plan = await planDocsModernize({
65
+ root: abs(params.path),
66
+ projectRoot,
67
+ exclude: params.exclude,
68
+ overrides: reviewed,
69
+ kind: params.kind,
70
+ storeOnly: params.storeOnly,
71
+ repoRoot: checkoutRoot,
72
+ ...judge,
73
+ });
74
+ }
75
+ let planPath = null;
76
+ if (params.out) {
77
+ planPath = abs(params.out);
78
+ await writeFileAtomic({ path: planPath, content: `${JSON.stringify(plan, null, 2)}\n` });
79
+ }
80
+ if (!params.apply)
81
+ return { mode: 'dry-run', plan, planPath, receipt: null };
82
+ if (plan.mode === 'store') {
83
+ const { applyDocsStoreModernize } = await import('./store.js');
84
+ const receipt = await applyDocsStoreModernize(plan, projectRoot, judge.now);
85
+ return { mode: 'apply', plan, planPath, receipt };
86
+ }
87
+ const receipt = await applyDocsModernize({
88
+ plan,
89
+ projectRoot,
90
+ now: judge.now,
91
+ allowDirty: params.allowDirty === true || judge.allowDirty === true,
92
+ wikilinks: params.wikilinks === true,
93
+ checkoutRoot,
94
+ });
95
+ return { mode: 'apply', plan, planPath, receipt };
96
+ }
97
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/docs/modernize/index.ts"],"names":[],"mappings":"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"}