@cleocode/cleo 2026.10.3 → 2026.10.5-rc.ci.672

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 (352) hide show
  1. package/README.md +7 -0
  2. package/bin/cleo.js +11 -1
  3. package/dist/cli/adapter-OUQRSFZL.js +159 -0
  4. package/dist/cli/add-4SRRJL4U.js +443 -0
  5. package/dist/cli/add-batch-TSWICA5J.js +164 -0
  6. package/dist/cli/admin-L3F6CDYH.js +1428 -0
  7. package/dist/cli/admin-YMU55YCU.js +341 -0
  8. package/dist/cli/adr-XESRMFMP.js +172 -0
  9. package/dist/cli/agent-TAFPIYUU.js +2404 -0
  10. package/dist/cli/agent-outputs-HVJJIPS4.js +84 -0
  11. package/dist/cli/analyze-YQ22QVGW.js +49 -0
  12. package/dist/cli/archive-W5XX6AH7.js +65 -0
  13. package/dist/cli/archive-stats-HP2KPAJU.js +101 -0
  14. package/dist/cli/attention-7JBDCRZX.js +124 -0
  15. package/dist/cli/attention-ZXZANHKC.js +168 -0
  16. package/dist/cli/audit-ICA2SEFN.js +122 -0
  17. package/dist/cli/auth-DXIG5OG7.js +491 -0
  18. package/dist/cli/backfill-LBSYBWLR.js +156 -0
  19. package/dist/cli/backup-NUGBZ7NA.js +588 -0
  20. package/dist/cli/backup-inspect-PDRXI45A.js +26 -0
  21. package/dist/cli/backup-recover-TVKAPERB.js +29 -0
  22. package/dist/cli/blockers-ZOPCGHDW.js +55 -0
  23. package/dist/cli/brain-EJOBKL4A.js +397 -0
  24. package/dist/cli/briefing-RDQJ6WHS.js +213 -0
  25. package/dist/cli/caamp-Z3XPKEHB.js +181 -0
  26. package/dist/cli/cancel-S7EHLCJN.js +85 -0
  27. package/dist/cli/canon-NPF5RODM.js +142 -0
  28. package/dist/cli/canon-docs-2GTOLF7Y.js +26 -0
  29. package/dist/cli/cant-CHNN6O57.js +239 -0
  30. package/dist/cli/changeset-RYPHPN2B.js +246 -0
  31. package/dist/cli/check-C67YAU7W.js +759 -0
  32. package/dist/cli/check-DHMURGHC.js +924 -0
  33. package/dist/cli/checkpoint-UWDFOGYQ.js +128 -0
  34. package/dist/cli/chunk-22YPFZYB.js +91 -0
  35. package/dist/cli/chunk-2MGFDMDF.js +272 -0
  36. package/dist/cli/chunk-47JYZAMS.js +30 -0
  37. package/dist/cli/chunk-4JYHPP4C.js +76 -0
  38. package/dist/cli/chunk-4PEODTHY.js +278 -0
  39. package/dist/cli/chunk-4RGSNUUP.js +950 -0
  40. package/dist/cli/chunk-4VASFLUW.js +35 -0
  41. package/dist/cli/chunk-5PNI276X.js +124 -0
  42. package/dist/cli/chunk-6JSJNYH2.js +114 -0
  43. package/dist/cli/chunk-6N6WGLXE.js +63 -0
  44. package/dist/cli/chunk-75UH3BLS.js +210 -0
  45. package/dist/cli/chunk-7ACK4EIN.js +92 -0
  46. package/dist/cli/chunk-7NMKLVMI.js +107 -0
  47. package/dist/cli/chunk-7SINJXB6.js +110 -0
  48. package/dist/cli/chunk-7UARFJYS.js +46 -0
  49. package/dist/cli/chunk-7ZYPQV4N.js +90 -0
  50. package/dist/cli/chunk-AQCYT3L4.js +72 -0
  51. package/dist/cli/chunk-BQK6XTOH.js +57 -0
  52. package/dist/cli/chunk-C3B7C43W.js +16 -0
  53. package/dist/cli/chunk-CAPAGD5E.js +98 -0
  54. package/dist/cli/chunk-CHGEDCKG.js +77 -0
  55. package/dist/cli/chunk-COXFJ3PT.js +74 -0
  56. package/dist/cli/chunk-D7BAQNV2.js +55 -0
  57. package/dist/cli/chunk-EIUXVHNF.js +258 -0
  58. package/dist/cli/chunk-EUGB6P5V.js +173 -0
  59. package/dist/cli/chunk-EW2CKNNZ.js +304 -0
  60. package/dist/cli/chunk-FSKN4DWC.js +108 -0
  61. package/dist/cli/chunk-FVKLULL7.js +48 -0
  62. package/dist/cli/chunk-GAGUBU4Z.js +280 -0
  63. package/dist/cli/chunk-GKRFH2YG.js +171 -0
  64. package/dist/cli/chunk-GRU74UE4.js +270 -0
  65. package/dist/cli/chunk-GZFVDR44.js +320 -0
  66. package/dist/cli/chunk-HFLLZE6A.js +83 -0
  67. package/dist/cli/chunk-HXRXT3XU.js +78 -0
  68. package/dist/cli/chunk-IIOGUY3B.js +258 -0
  69. package/dist/cli/chunk-ILWWL462.js +60 -0
  70. package/dist/cli/chunk-J5USPJKZ.js +48 -0
  71. package/dist/cli/chunk-KEQS36GD.js +88 -0
  72. package/dist/cli/chunk-L7ONYSV6.js +2497 -0
  73. package/dist/cli/chunk-LVGIFMCV.js +163 -0
  74. package/dist/cli/chunk-NEFMQYLE.js +656 -0
  75. package/dist/cli/chunk-NU6CQQVB.js +4501 -0
  76. package/dist/cli/chunk-OILHT47L.js +252 -0
  77. package/dist/cli/chunk-PKKZPOOP.js +352 -0
  78. package/dist/cli/chunk-PN4WW5VX.js +66 -0
  79. package/dist/cli/chunk-PSJ33WVO.js +56 -0
  80. package/dist/cli/chunk-QA6T2LQ5.js +71 -0
  81. package/dist/cli/chunk-QJJWWCIC.js +288 -0
  82. package/dist/cli/chunk-QKMBWYAS.js +93 -0
  83. package/dist/cli/chunk-QWNKLLLG.js +84 -0
  84. package/dist/cli/chunk-QWUFFDL3.js +85 -0
  85. package/dist/cli/chunk-QY76BRUZ.js +35 -0
  86. package/dist/cli/chunk-R45KVF5Y.js +117 -0
  87. package/dist/cli/chunk-RRKP7HLU.js +66 -0
  88. package/dist/cli/chunk-SXXOC6KZ.js +209 -0
  89. package/dist/cli/chunk-T6GZJYL3.js +108 -0
  90. package/dist/cli/chunk-TLQ37HRE.js +67 -0
  91. package/dist/cli/chunk-TPTNEJZJ.js +52 -0
  92. package/dist/cli/chunk-TYC7G5LF.js +100 -0
  93. package/dist/cli/chunk-UWCZY52R.js +766 -0
  94. package/dist/cli/chunk-VB3LDPL5.js +46 -0
  95. package/dist/cli/chunk-VLEYOOPH.js +31 -0
  96. package/dist/cli/chunk-W3JLYKKY.js +140 -0
  97. package/dist/cli/chunk-WWCYZYSN.js +56 -0
  98. package/dist/cli/chunk-XA5WISNV.js +52 -0
  99. package/dist/cli/chunk-XHRZ7OYZ.js +132 -0
  100. package/dist/cli/chunk-XLPMIGJJ.js +148 -0
  101. package/dist/cli/chunk-YY66LFZF.js +29 -0
  102. package/dist/cli/chunk-ZMGDZMSJ.js +210 -0
  103. package/dist/cli/claim-IGOG2QOC.js +97 -0
  104. package/dist/cli/classify-MG4N7GMQ.js +117 -0
  105. package/dist/cli/cli-A23Q335V.js +51 -0
  106. package/dist/cli/cloud-SILYJVKO.js +731 -0
  107. package/dist/cli/cockpit-RZKLGYPN.js +790 -0
  108. package/dist/cli/code-H2FQCVMW.js +178 -0
  109. package/dist/cli/complete-JLX7NBI4.js +35 -0
  110. package/dist/cli/complexity-OKV7PVZH.js +57 -0
  111. package/dist/cli/compliance-QMGZHJNQ.js +277 -0
  112. package/dist/cli/conduit-4H32UYEA.js +308 -0
  113. package/dist/cli/conduit-EY54WTZA.js +535 -0
  114. package/dist/cli/config-TDYOC7XO.js +519 -0
  115. package/dist/cli/consensus-4XCOFPPT.js +122 -0
  116. package/dist/cli/context-FN4YTGHD.js +142 -0
  117. package/dist/cli/contribution-7RWFBJLC.js +112 -0
  118. package/dist/cli/curator-HKZJCVRL.js +139 -0
  119. package/dist/cli/current-B2NU7V3G.js +43 -0
  120. package/dist/cli/daemon-GBD4TVCD.js +452 -0
  121. package/dist/cli/dash-IGDANIE5.js +71 -0
  122. package/dist/cli/decide-26SXC2V6.js +416 -0
  123. package/dist/cli/decompose-LQ76TEZG.js +78 -0
  124. package/dist/cli/decomposition-WFRWNUSJ.js +122 -0
  125. package/dist/cli/delete-T5DUQHOX.js +69 -0
  126. package/dist/cli/deps-UTPZJBXL.js +462 -0
  127. package/dist/cli/detect-FFZSMVDT.js +46 -0
  128. package/dist/cli/detect-drift-TVCJOFYJ.js +408 -0
  129. package/dist/cli/diagnostics-GN5CVD3N.js +93 -0
  130. package/dist/cli/diagnostics-ZNBKH6GX.js +133 -0
  131. package/dist/cli/docs-CLQKEEUK.js +1710 -0
  132. package/dist/cli/docs-DPPDFTWR.js +3098 -0
  133. package/dist/cli/doctor-GPENOP4N.js +1270 -0
  134. package/dist/cli/doctor-ac-bindings-S3IOEFP4.js +26 -0
  135. package/dist/cli/doctor-acceptance-drift-VNFKPBSQ.js +26 -0
  136. package/dist/cli/doctor-credentials-A5H4JMTF.js +26 -0
  137. package/dist/cli/doctor-db-substrate-FGCISE4Z.js +27 -0
  138. package/dist/cli/doctor-dep-cycles-BKKKHHYG.js +26 -0
  139. package/dist/cli/doctor-exodus-ND2DH2KP.js +26 -0
  140. package/dist/cli/doctor-exodus-residue-4EMRYMEQ.js +26 -0
  141. package/dist/cli/doctor-fk-check-VY3RIQV3.js +26 -0
  142. package/dist/cli/doctor-global-delivery-JN6IGHUL.js +26 -0
  143. package/dist/cli/doctor-heavy-command-hook-XSN44WXU.js +26 -0
  144. package/dist/cli/doctor-legacy-backups-QAG5NHYP.js +26 -0
  145. package/dist/cli/doctor-legacy-reaper-CIRGFE6R.js +26 -0
  146. package/dist/cli/doctor-malformed-ids-WL7HT4TB.js +26 -0
  147. package/dist/cli/doctor-manifest-rows-SMQCKJ2T.js +26 -0
  148. package/dist/cli/doctor-memory-guard-LJDOJG76.js +26 -0
  149. package/dist/cli/doctor-migrations-ETQPFNUP.js +26 -0
  150. package/dist/cli/doctor-nexus-residency-A4JMKBEJ.js +26 -0
  151. package/dist/cli/doctor-project-identity-FFQJ5LNX.js +26 -0
  152. package/dist/cli/doctor-projects-MFUTKRHP.js +30 -0
  153. package/dist/cli/doctor-projects-registry-76X6VTGM.js +26 -0
  154. package/dist/cli/doctor-release-readiness-QJCOPFTK.js +26 -0
  155. package/dist/cli/doctor-repair-AU76FIKY.js +26 -0
  156. package/dist/cli/doctor-row-identity-KW6JYZQE.js +26 -0
  157. package/dist/cli/doctor-skill-fixtures-G3T7JUHS.js +26 -0
  158. package/dist/cli/doctor-split-brain-FUW6L7FS.js +26 -0
  159. package/dist/cli/doctor-superseded-store-DUHGSBLC.js +26 -0
  160. package/dist/cli/doctor-sync-journal-SXMUIKF7.js +26 -0
  161. package/dist/cli/doctor-sync-triggers-6WNJZFRM.js +26 -0
  162. package/dist/cli/doctor-tool-locks-66LSLUBN.js +26 -0
  163. package/dist/cli/doctor-twin-collapse-AYBYBFC4.js +26 -0
  164. package/dist/cli/doctor-worktree-stores-C5XEH5OG.js +26 -0
  165. package/dist/cli/done-R64XRZ32.js +196 -0
  166. package/dist/cli/dynamic-RR4HB7BB.js +29 -0
  167. package/dist/cli/entities-3JIHDIOK.js +361 -0
  168. package/dist/cli/event-45KEWV5H.js +372 -0
  169. package/dist/cli/exists-BEDZS5RI.js +65 -0
  170. package/dist/cli/exodus-DUX62344.js +401 -0
  171. package/dist/cli/export-C5PQIQ5O.js +93 -0
  172. package/dist/cli/export-tasks-CUXDZPJB.js +97 -0
  173. package/dist/cli/federation-ESM35EGG.js +145 -0
  174. package/dist/cli/find-5EUZHHQJ.js +178 -0
  175. package/dist/cli/focus-6AH4KLRO.js +368 -0
  176. package/dist/cli/focus-ANKAIRO5.js +56 -0
  177. package/dist/cli/gateway-2GW2KTK3.js +77 -0
  178. package/dist/cli/gateway-auto-start-EDK7XI6E.js +36 -0
  179. package/dist/cli/gc-CTOQLUSA.js +291 -0
  180. package/dist/cli/go-YJPNHHYT.js +206 -0
  181. package/dist/cli/goal-4GW4G77D.js +213 -0
  182. package/dist/cli/grade-25WSZH4X.js +57 -0
  183. package/dist/cli/graph-JUO3TMF3.js +879 -0
  184. package/dist/cli/history-NACNUQTC.js +138 -0
  185. package/dist/cli/hook-UF7J7R6D.js +57 -0
  186. package/dist/cli/hook-entry.js +244 -19
  187. package/dist/cli/hygiene-3QZ2NI7P.js +55 -0
  188. package/dist/cli/import-7ESGL5SS.js +89 -0
  189. package/dist/cli/import-tasks-FLE2RPBR.js +109 -0
  190. package/dist/cli/index.js +601 -94637
  191. package/dist/cli/init-AN4DZ2XO.js +40 -0
  192. package/dist/cli/inject-HQWA5GWY.js +83 -0
  193. package/dist/cli/install-global-YQV4W5OG.js +95 -0
  194. package/dist/cli/intelligence-OFFNQGHE.js +238 -0
  195. package/dist/cli/intelligence-QIC4SN4X.js +182 -0
  196. package/dist/cli/issue-P5RNMRDG.js +159 -0
  197. package/dist/cli/janitor-ZNCFQ7E3.js +111 -0
  198. package/dist/cli/labels-ORBM3T57.js +88 -0
  199. package/dist/cli/lifecycle-MHR22TVI.js +273 -0
  200. package/dist/cli/list-LB6GCYYU.js +109 -0
  201. package/dist/cli/llm-H7LZWQKX.js +130 -0
  202. package/dist/cli/llm-OTJWPMGI.js +704 -0
  203. package/dist/cli/llm-cost-MLMXEAR4.js +25 -0
  204. package/dist/cli/llm-stream-AAEUNKRP.js +27 -0
  205. package/dist/cli/log-W2A5M2NA.js +76 -0
  206. package/dist/cli/login-SIXFFZSP.js +45 -0
  207. package/dist/cli/logout-G3KVLQQM.js +74 -0
  208. package/dist/cli/manifest-G4T6EBSI.js +354 -0
  209. package/dist/cli/map-VU5M72TK.js +53 -0
  210. package/dist/cli/memory-2E27G2G5.js +1952 -0
  211. package/dist/cli/memory-IAEYKXG6.js +1895 -0
  212. package/dist/cli/migrate-agents-v2-A52QIYNJ.js +33 -0
  213. package/dist/cli/migrate-claude-mem-TPDW3R4Z.js +206 -0
  214. package/dist/cli/next-SVH4LIDY.js +57 -0
  215. package/dist/cli/nexus-FPQV2EAF.js +1059 -0
  216. package/dist/cli/nexus-XSFXN5E6.js +2924 -0
  217. package/dist/cli/ops-K6LHY5J6.js +52 -0
  218. package/dist/cli/orchestrate-CZ2J6W3L.js +1650 -0
  219. package/dist/cli/orchestrate-HURUCQFT.js +950 -0
  220. package/dist/cli/otel-JCNPVJLZ.js +188 -0
  221. package/dist/cli/phase-VDFRASSO.js +221 -0
  222. package/dist/cli/pipeline-TCZPOEDR.js +697 -0
  223. package/dist/cli/pivot-V5MSQZ7L.js +88 -0
  224. package/dist/cli/plan-SQUGCKSM.js +49 -0
  225. package/dist/cli/playbook-L47GLDQD.js +230 -0
  226. package/dist/cli/playbook-NJVO4R6P.js +33 -0
  227. package/dist/cli/project-YZEC7GYF.js +331 -0
  228. package/dist/cli/promote-FINF4HVK.js +53 -0
  229. package/dist/cli/provenance-3TUWVBFR.js +141 -0
  230. package/dist/cli/provenance-YZG33JGM.js +129 -0
  231. package/dist/cli/provider-23JVLLG3.js +213 -0
  232. package/dist/cli/reason-FHN54O7O.js +138 -0
  233. package/dist/cli/reconcile-MOM5T4AX.js +128 -0
  234. package/dist/cli/refresh-memory-3OSTRAVK.js +45 -0
  235. package/dist/cli/relates-6FWUFUS2.js +260 -0
  236. package/dist/cli/release-G2DPSG5M.js +347 -0
  237. package/dist/cli/release-URX6JHZ2.js +525 -0
  238. package/dist/cli/remote-VIULU2T5.js +279 -0
  239. package/dist/cli/renderers-TGSW77J4.js +37 -0
  240. package/dist/cli/reorder-UIPN6TQY.js +87 -0
  241. package/dist/cli/reparent-ALOWWUIU.js +59 -0
  242. package/dist/cli/req-RH2Y3H7A.js +130 -0
  243. package/dist/cli/research-G2Y72HRC.js +366 -0
  244. package/dist/cli/restore-VBR5XNML.js +470 -0
  245. package/dist/cli/revert-32LDNSGP.js +240 -0
  246. package/dist/cli/roadmap-LFU3AG7D.js +62 -0
  247. package/dist/cli/run-HXRILSR7.js +245 -0
  248. package/dist/cli/safestop-Z5UC7NGQ.js +89 -0
  249. package/dist/cli/saga-Y6FZS6AM.js +286 -0
  250. package/dist/cli/schema-OOOKLWUE.js +195 -0
  251. package/dist/cli/self-update-26SOTJMH.js +504 -0
  252. package/dist/cli/selfimprove-4SMOCLUV.js +89 -0
  253. package/dist/cli/selfimprove-EB4RQLP4.js +139 -0
  254. package/dist/cli/sentient-QPETVE53.js +254 -0
  255. package/dist/cli/sentient-RGMWR4XJ.js +1088 -0
  256. package/dist/cli/sequence-H7DSAJPF.js +94 -0
  257. package/dist/cli/service-EK5MGB2D.js +156 -0
  258. package/dist/cli/service-GLOMZWPQ.js +437 -0
  259. package/dist/cli/session-HYUXAQGC.js +708 -0
  260. package/dist/cli/session-N5ISU56W.js +568 -0
  261. package/dist/cli/setup-L3YYV53D.js +323 -0
  262. package/dist/cli/show-364V3KY2.js +123 -0
  263. package/dist/cli/skill-F2KR6HW5.js +84 -0
  264. package/dist/cli/skills-FS3DCP6E.js +929 -0
  265. package/dist/cli/smoke-provider-SKUFMZXU.js +218 -0
  266. package/dist/cli/snapshot-EGXEQ5PR.js +120 -0
  267. package/dist/cli/src-LYLXHXHH.js +80 -0
  268. package/dist/cli/start-6DXOCCKL.js +68 -0
  269. package/dist/cli/stats-UVUQEGYC.js +96 -0
  270. package/dist/cli/status-XLKYLN42.js +157 -0
  271. package/dist/cli/sticky-VSTQ2I2O.js +264 -0
  272. package/dist/cli/sticky-XZXZDCFW.js +339 -0
  273. package/dist/cli/stop-VNOAFWNB.js +43 -0
  274. package/dist/cli/sync-YYPARW3A.js +155 -0
  275. package/dist/cli/tasks-C24KHTFF.js +1118 -0
  276. package/dist/cli/tasks-LBJC7CZV.js +175 -0
  277. package/dist/cli/telemetry-CU7W5WAY.js +120 -0
  278. package/dist/cli/templates-G42JBUY4.js +609 -0
  279. package/dist/cli/testing-HSRITHEY.js +147 -0
  280. package/dist/cli/token-J74E7TSU.js +221 -0
  281. package/dist/cli/tools-BI74W7VE.js +652 -0
  282. package/dist/cli/transcript-RGK7RSGQ.js +440 -0
  283. package/dist/cli/tui-BPUFHYKK.js +51 -0
  284. package/dist/cli/update-2KQWA27S.js +478 -0
  285. package/dist/cli/update-check-entry.js +124 -0
  286. package/dist/cli/update-notice-6SQ6WPQG.js +68 -0
  287. package/dist/cli/upgrade-E2MJAPC7.js +136 -0
  288. package/dist/cli/upgrade-XRSQ4RWH.js +243 -0
  289. package/dist/cli/verify-WASRGDBA.js +191 -0
  290. package/dist/cli/web-NJ3P67EU.js +275 -0
  291. package/dist/cli/workgraph-OHJ2VKJD.js +232 -0
  292. package/dist/cli/worktree-FVQLORFY.js +371 -0
  293. package/dist/cli/worktree-ZJ6JTQNG.js +287 -0
  294. package/package.json +13 -13
  295. package/studio-dist/client/_app/immutable/chunks/{DMj27Pxj.js → AH7dIemv.js} +1 -1
  296. package/studio-dist/client/_app/immutable/chunks/{Dc2owyvE.js → BDgH40i3.js} +1 -1
  297. package/studio-dist/client/_app/immutable/chunks/BXDCSJ7U.js +1 -0
  298. package/studio-dist/client/_app/immutable/chunks/{qq3pe1aT.js → Gg4iYl59.js} +1 -1
  299. package/studio-dist/client/_app/immutable/entry/{app.CHWXLeE9.js → app.DUDNK-37.js} +2 -2
  300. package/studio-dist/client/_app/immutable/entry/start.DNmZ0pA4.js +1 -0
  301. package/studio-dist/client/_app/immutable/nodes/{0.DmKQGvFh.js → 0.DWqP3ail.js} +1 -1
  302. package/studio-dist/client/_app/immutable/nodes/{1.DqJk_REO.js → 1.CZGVUP5B.js} +1 -1
  303. package/studio-dist/client/_app/immutable/nodes/{15.GUy6kdW1.js → 15.DGaflZRS.js} +1 -1
  304. package/studio-dist/client/_app/immutable/nodes/{16.CcnKZ8f9.js → 16.uYlarGXl.js} +1 -1
  305. package/studio-dist/client/_app/immutable/nodes/{17.DAlQF3lQ.js → 17.CZMR0E47.js} +1 -1
  306. package/studio-dist/client/_app/immutable/nodes/{18.vQFr-vFj.js → 18.CBC-AKH_.js} +1 -1
  307. package/studio-dist/client/_app/immutable/nodes/{20.GVOj5j_r.js → 20.BGi43MvQ.js} +1 -1
  308. package/studio-dist/client/_app/immutable/nodes/{24.2-wC6DOh.js → 24.Dv8ftCyR.js} +1 -1
  309. package/studio-dist/client/_app/immutable/nodes/25.DQPVlTDQ.js +39 -0
  310. package/studio-dist/client/_app/immutable/nodes/{26.C3rNqzZF.js → 26.Cl800304.js} +1 -1
  311. package/studio-dist/client/_app/immutable/nodes/{3.b-7pzc3M.js → 3.D_fQKj9f.js} +1 -1
  312. package/studio-dist/client/_app/version.json +1 -1
  313. package/studio-dist/server/chunks/{0-BaCce-O1.js → 0-BpOagOst.js} +3 -3
  314. package/studio-dist/server/chunks/1-D0oRGR-C.js +9 -0
  315. package/studio-dist/server/chunks/{15-DRMOSIC9.js → 15-BcjHz7Tv.js} +3 -3
  316. package/studio-dist/server/chunks/{16-BulXhoZZ.js → 16-CXm8TUk7.js} +3 -3
  317. package/studio-dist/server/chunks/{17-DUEOCM0H.js → 17-mSgUK-cp.js} +3 -3
  318. package/studio-dist/server/chunks/{18-DP7Q8zPs.js → 18-BtfnIw1d.js} +3 -3
  319. package/studio-dist/server/chunks/{20-9ta6MI7q.js → 20-By1e4QDS.js} +3 -3
  320. package/studio-dist/server/chunks/{24-DysdL1ab.js → 24-0i2YLVxG.js} +3 -3
  321. package/studio-dist/server/chunks/{dist-CdoCt9zT.js → 25-DPsrqbrh.js} +797 -10736
  322. package/studio-dist/server/chunks/{26-Df4YXgg0.js → 26-P0XkOibm.js} +3 -3
  323. package/studio-dist/server/chunks/{3-BEhOhYpL.js → 3-WudjUK7e.js} +3 -3
  324. package/studio-dist/server/chunks/{_layout.svelte-CnLcXYG-.js → _layout.svelte-D9m81Rle.js} +4 -4
  325. package/studio-dist/server/chunks/{_page.svelte-DGhXqeRc.js → _page.svelte-2PDLOF83.js} +3 -3
  326. package/studio-dist/server/chunks/{_page.svelte-Dv8tmDEC.js → _page.svelte-BjE3jm2K.js} +3 -3
  327. package/studio-dist/server/chunks/{_page.svelte-C0qgUvzA.js → _page.svelte-Clc0vmiZ.js} +4 -4
  328. package/studio-dist/server/chunks/{_page.svelte-ui7LnWkL.js → _page.svelte-DABdRT3h.js} +3 -3
  329. package/studio-dist/server/chunks/{_page.svelte-HUqTICJR.js → _page.svelte-DG3PjiHj.js} +3 -3
  330. package/studio-dist/server/chunks/{_page.svelte-DzcZljiy.js → _page.svelte-Edy9CaE8.js} +20 -7
  331. package/studio-dist/server/chunks/{_page.svelte-DOl0DGOO.js → _page.svelte-Hrf3-ZR8.js} +3 -3
  332. package/studio-dist/server/chunks/{_page.svelte-Da4q5l93.js → _page.svelte-VB4O4Nl5.js} +3 -3
  333. package/studio-dist/server/chunks/{_page.svelte-CbyEPj2j.js → _page.svelte-d3jEgjsI.js} +3 -3
  334. package/studio-dist/server/chunks/{_server.ts-P4wVVksg.js → _server.ts-BcRFsyo3.js} +4 -5
  335. package/studio-dist/server/chunks/{_server.ts-Cr57EKWf.js → _server.ts-CEWpIFrj.js} +6 -5
  336. package/studio-dist/server/chunks/{_server.ts-CnKVmf_s.js → _server.ts-CLVdVIF9.js} +2 -2
  337. package/studio-dist/server/chunks/{_server.ts-C0evMKCk.js → _server.ts-D_j7aSy5.js} +6 -5
  338. package/studio-dist/server/chunks/{_server.ts-2BazvYRP.js → _server.ts-QEZF8h2q.js} +4 -5
  339. package/studio-dist/server/chunks/{client-CPM4LrO2.js → client-Kp1dP1od.js} +2 -2
  340. package/studio-dist/server/chunks/{error.svelte-ShcZo43D.js → error.svelte-WOCioJVX.js} +3 -3
  341. package/studio-dist/server/chunks/{hooks.server-D2qbf3Zp.js → hooks.server-DH9zkIrJ.js} +3 -1
  342. package/studio-dist/server/chunks/{http-BiQjEmVU.js → http-DT5kxaWk.js} +5 -4
  343. package/studio-dist/server/chunks/{internal-Cgsrya1j.js → internal-z0vqd5_u.js} +3 -3
  344. package/studio-dist/server/chunks/operations-registry-DdzmYzqX.js +10584 -0
  345. package/studio-dist/server/chunks/{stores-BGrpEDMK.js → stores-s2kaL315.js} +2 -2
  346. package/studio-dist/server/index.js +1 -1
  347. package/studio-dist/server/manifest.js +17 -17
  348. package/studio-dist/client/_app/immutable/chunks/Bw6J8NDM.js +0 -1
  349. package/studio-dist/client/_app/immutable/entry/start.C9bwPpvc.js +0 -1
  350. package/studio-dist/client/_app/immutable/nodes/25.D1vYaH8g.js +0 -39
  351. package/studio-dist/server/chunks/1-CVo7Nk6d.js +0 -9
  352. package/studio-dist/server/chunks/25-CYsps38R.js +0 -366
@@ -0,0 +1,107 @@
1
+ (() => {
2
+ const _installed = Symbol.for('cleocode.cli.sqliteWarningFilter');
3
+ if (globalThis[_installed]) return;
4
+ globalThis[_installed] = true;
5
+ const _origEmitWarning = process.emitWarning;
6
+ process.emitWarning = function(warning, type, code, ctor) {
7
+ if (typeof warning === 'object' && warning.name === 'ExperimentalWarning' && typeof warning.message === 'string' && /SQLite is an experimental feature/i.test(warning.message)) {
8
+ return;
9
+ }
10
+ if (typeof warning === 'string' && /SQLite is an experimental feature/i.test(warning)) {
11
+ return;
12
+ }
13
+ return _origEmitWarning.call(process, warning, type, code, ctor);
14
+ };
15
+ })();
16
+ import {
17
+ defineCommand
18
+ } from "./chunk-PKKZPOOP.js";
19
+ import {
20
+ cliError,
21
+ cliOutput
22
+ } from "./chunk-4RGSNUUP.js";
23
+
24
+ // packages/cleo/src/cli/commands/doctor-projects-registry.ts
25
+ import {
26
+ applyProjectRegistryRepair,
27
+ inspectProjectRegistry,
28
+ RegistryRepairError,
29
+ rollbackProjectRegistryRepair
30
+ } from "@cleocode/core/doctor/projects.js";
31
+ import { NexusRegistryReadError } from "@cleocode/core/nexus/registry-errors.js";
32
+ var positiveInt = (value) => {
33
+ const n = typeof value === "string" ? Number.parseInt(value, 10) : Number.NaN;
34
+ return Number.isFinite(n) && n > 0 ? n : void 0;
35
+ };
36
+ var doctorRegistryCommand = defineCommand({
37
+ meta: {
38
+ name: "projects",
39
+ description: "Machine-wide registry integrity: rebind moved projects by id, flag split identities, missing, temp and home/root rows, each with the exact remedy. Read-only by default; --apply writes a receipt, --rollback <receiptId> restores the prior rows."
40
+ },
41
+ args: {
42
+ "dry-run": { type: "boolean", description: "Report only (the default); write nothing" },
43
+ apply: { type: "boolean", description: "Rebind moved rows and record missing locations" },
44
+ rollback: { type: "string", description: "Restore the rows changed by this receipt id" },
45
+ roots: {
46
+ type: "string",
47
+ description: "Comma-separated extra directories to scan for .cleo/project-id"
48
+ },
49
+ "max-depth": { type: "string", description: "Scan depth below each root (default 2)" },
50
+ concurrency: { type: "string", description: "Filesystem reads in flight (default 16)" },
51
+ "timeout-ms": { type: "string", description: "Budget per filesystem probe (default 2000)" },
52
+ json: { type: "boolean", description: "Output as JSON" },
53
+ human: { type: "boolean", description: "Force human-readable output" },
54
+ quiet: { type: "boolean", description: "Suppress non-essential output" }
55
+ },
56
+ async run({ args }) {
57
+ const operation = args.rollback ? "doctor.projects.rollback" : args.apply && !args["dry-run"] ? "doctor.projects.apply" : "doctor.projects.inspect";
58
+ try {
59
+ if (typeof args.rollback === "string" && args.rollback.length > 0) {
60
+ const result = await rollbackProjectRegistryRepair(args.rollback);
61
+ cliOutput(result, { command: "doctor", operation });
62
+ return;
63
+ }
64
+ const opts = {
65
+ roots: typeof args.roots === "string" ? args.roots.split(",").map((root) => root.trim()).filter((root) => root.length > 0) : void 0,
66
+ maxDepth: positiveInt(args["max-depth"]),
67
+ concurrency: positiveInt(args.concurrency),
68
+ timeoutMs: positiveInt(args["timeout-ms"])
69
+ };
70
+ if (operation === "doctor.projects.apply") {
71
+ cliOutput(await applyProjectRegistryRepair(opts), { command: "doctor", operation });
72
+ return;
73
+ }
74
+ const report = await inspectProjectRegistry(opts);
75
+ cliOutput(report, { command: "doctor", operation });
76
+ if ((report.findings.some((f) => f.kind !== "other-device") || report.ambiguousAliases.length > 0) && (process.exitCode ?? 0) === 0)
77
+ process.exitCode = 1;
78
+ } catch (error) {
79
+ if (error instanceof NexusRegistryReadError) {
80
+ cliError(
81
+ error.message,
82
+ error.code,
83
+ { name: error.codeName, fix: error.fix, details: error.details },
84
+ { operation }
85
+ );
86
+ process.exitCode = error.code;
87
+ return;
88
+ }
89
+ const code = error instanceof RegistryRepairError ? error.code : "E_DOCTOR_PROJECTS_FAILED";
90
+ const exitCode = code === "E_NOT_FOUND" ? 4 : 1;
91
+ cliError(
92
+ error instanceof Error ? error.message : String(error),
93
+ exitCode,
94
+ { name: code },
95
+ {
96
+ operation
97
+ }
98
+ );
99
+ process.exitCode = exitCode;
100
+ }
101
+ }
102
+ });
103
+
104
+ export {
105
+ doctorRegistryCommand
106
+ };
107
+ //# sourceMappingURL=chunk-7NMKLVMI.js.map
@@ -0,0 +1,110 @@
1
+ (() => {
2
+ const _installed = Symbol.for('cleocode.cli.sqliteWarningFilter');
3
+ if (globalThis[_installed]) return;
4
+ globalThis[_installed] = true;
5
+ const _origEmitWarning = process.emitWarning;
6
+ process.emitWarning = function(warning, type, code, ctor) {
7
+ if (typeof warning === 'object' && warning.name === 'ExperimentalWarning' && typeof warning.message === 'string' && /SQLite is an experimental feature/i.test(warning.message)) {
8
+ return;
9
+ }
10
+ if (typeof warning === 'string' && /SQLite is an experimental feature/i.test(warning)) {
11
+ return;
12
+ }
13
+ return _origEmitWarning.call(process, warning, type, code, ctor);
14
+ };
15
+ })();
16
+ import {
17
+ defineCommand
18
+ } from "./chunk-PKKZPOOP.js";
19
+ import {
20
+ cliOutput,
21
+ humanInfo
22
+ } from "./chunk-4RGSNUUP.js";
23
+
24
+ // packages/cleo/src/cli/commands/doctor-exodus-residue.ts
25
+ import {
26
+ archiveStrandedResidue,
27
+ buildExodusPlan,
28
+ detectStrandedResidue
29
+ } from "@cleocode/core/store/exodus/index.js";
30
+ var doctorExodusResidueCommand = defineCommand({
31
+ meta: {
32
+ name: "exodus-residue",
33
+ description: "Detect legacy exodus source DBs still present after a cutover (stranded residue that re-arms the exodus-on-open corruption trigger). Use --fix to archive them into _archive/ (reversible move, never deletes)."
34
+ },
35
+ args: {
36
+ fix: {
37
+ type: "boolean",
38
+ description: "Archive stranded legacy source DBs into _archive/ (move, never delete)",
39
+ default: false
40
+ }
41
+ },
42
+ run({ args }) {
43
+ const fix = args.fix === true;
44
+ const cwd = process.cwd();
45
+ const plan = buildExodusPlan(cwd);
46
+ const stranded = detectStrandedResidue(plan.sources, cwd);
47
+ if (stranded.length === 0) {
48
+ cliOutput(
49
+ {
50
+ kind: "generic",
51
+ ok: true,
52
+ strandedCount: 0,
53
+ stranded: [],
54
+ fixed: false
55
+ },
56
+ {
57
+ command: "doctor exodus-residue",
58
+ message: "No stranded legacy exodus source DBs (clean cutover or pre-migration install)."
59
+ }
60
+ );
61
+ return;
62
+ }
63
+ for (const entry of stranded) {
64
+ humanInfo(` STRANDED [${entry.scope}] ${entry.name} \u2192 ${entry.path}`);
65
+ }
66
+ if (!fix) {
67
+ cliOutput(
68
+ {
69
+ kind: "generic",
70
+ ok: false,
71
+ strandedCount: stranded.length,
72
+ stranded: stranded.map((s) => ({ name: s.name, path: s.path, scope: s.scope })),
73
+ fixed: false
74
+ },
75
+ {
76
+ command: "doctor exodus-residue",
77
+ message: `${stranded.length} stranded legacy source DB(s) found. Run \`cleo doctor exodus-residue --fix\` to archive them.`
78
+ }
79
+ );
80
+ process.exitCode = 1;
81
+ return;
82
+ }
83
+ const archived = archiveStrandedResidue(stranded, plan.sources, cwd);
84
+ const movedCount = archived.filter((a) => a.action === "archived").length;
85
+ humanInfo(` Archived ${movedCount} stranded source DB(s) \u2192 _archive/.`);
86
+ cliOutput(
87
+ {
88
+ kind: "generic",
89
+ ok: true,
90
+ strandedCount: stranded.length,
91
+ stranded: stranded.map((s) => ({ name: s.name, path: s.path, scope: s.scope })),
92
+ fixed: true,
93
+ archived: archived.map((a) => ({
94
+ name: a.name,
95
+ action: a.action,
96
+ archivedTo: a.archivedTo
97
+ }))
98
+ },
99
+ {
100
+ command: "doctor exodus-residue",
101
+ message: `Archived ${movedCount} stranded legacy source DB(s) into _archive/.`
102
+ }
103
+ );
104
+ }
105
+ });
106
+
107
+ export {
108
+ doctorExodusResidueCommand
109
+ };
110
+ //# sourceMappingURL=chunk-7SINJXB6.js.map
@@ -0,0 +1,46 @@
1
+ (() => {
2
+ const _installed = Symbol.for('cleocode.cli.sqliteWarningFilter');
3
+ if (globalThis[_installed]) return;
4
+ globalThis[_installed] = true;
5
+ const _origEmitWarning = process.emitWarning;
6
+ process.emitWarning = function(warning, type, code, ctor) {
7
+ if (typeof warning === 'object' && warning.name === 'ExperimentalWarning' && typeof warning.message === 'string' && /SQLite is an experimental feature/i.test(warning.message)) {
8
+ return;
9
+ }
10
+ if (typeof warning === 'string' && /SQLite is an experimental feature/i.test(warning)) {
11
+ return;
12
+ }
13
+ return _origEmitWarning.call(process, warning, type, code, ctor);
14
+ };
15
+ })();
16
+ import {
17
+ defineCommand
18
+ } from "./chunk-PKKZPOOP.js";
19
+ import {
20
+ cliOutput
21
+ } from "./chunk-4RGSNUUP.js";
22
+
23
+ // packages/cleo/src/cli/commands/doctor-migrations.ts
24
+ import { inspectMigrations } from "@cleocode/core/doctor/migrations.js";
25
+ import { getProjectRoot } from "@cleocode/core/project-scope";
26
+ var doctorMigrationsCommand = defineCommand({
27
+ meta: {
28
+ name: "migrations",
29
+ description: "Report the migration journal of the project and global stores: row count, head, applied and pending files per lineage, hash drift, and a journal rebuilt on a store that already held its schema. Read-only."
30
+ },
31
+ args: {
32
+ json: { type: "boolean", description: "Output as JSON" },
33
+ human: { type: "boolean", description: "Force human-readable output" },
34
+ quiet: { type: "boolean", description: "Suppress non-essential output" }
35
+ },
36
+ async run() {
37
+ const report = inspectMigrations(getProjectRoot());
38
+ cliOutput(report, { command: "doctor", operation: "doctor.migrations.run" });
39
+ if (report.scopes.some((s) => s.drift.length > 0)) process.exitCode = 1;
40
+ }
41
+ });
42
+
43
+ export {
44
+ doctorMigrationsCommand
45
+ };
46
+ //# sourceMappingURL=chunk-7UARFJYS.js.map
@@ -0,0 +1,90 @@
1
+ (() => {
2
+ const _installed = Symbol.for('cleocode.cli.sqliteWarningFilter');
3
+ if (globalThis[_installed]) return;
4
+ globalThis[_installed] = true;
5
+ const _origEmitWarning = process.emitWarning;
6
+ process.emitWarning = function(warning, type, code, ctor) {
7
+ if (typeof warning === 'object' && warning.name === 'ExperimentalWarning' && typeof warning.message === 'string' && /SQLite is an experimental feature/i.test(warning.message)) {
8
+ return;
9
+ }
10
+ if (typeof warning === 'string' && /SQLite is an experimental feature/i.test(warning)) {
11
+ return;
12
+ }
13
+ return _origEmitWarning.call(process, warning, type, code, ctor);
14
+ };
15
+ })();
16
+ import {
17
+ defineCommand
18
+ } from "./chunk-PKKZPOOP.js";
19
+ import {
20
+ cliOutput
21
+ } from "./chunk-4RGSNUUP.js";
22
+
23
+ // packages/cleo/src/cli/commands/doctor-legacy-backups.ts
24
+ import { pruneLegacyBackups, scanLegacyBackups } from "@cleocode/core/doctor/legacy-backups.js";
25
+ import { getProjectRoot } from "@cleocode/core/project-scope";
26
+ function parsePositiveInt(raw, fallback) {
27
+ if (raw === void 0 || raw === null) return fallback;
28
+ const parsed = Number.parseInt(String(raw), 10);
29
+ if (!Number.isFinite(parsed) || parsed <= 0) return fallback;
30
+ return parsed;
31
+ }
32
+ var doctorLegacyBackupsCommand = defineCommand({
33
+ meta: {
34
+ name: "legacy-backups",
35
+ description: "Enumerate legacy *-pre-cleo.db.bak / brain.db.PRE-DUP-FIX-* / pre-untrack / rotation-overflow artefacts and report origin + retention recommendation. Use --prune to delete 'delete'-recommended files (always dry-run unless --no-dry-run is passed)."
36
+ },
37
+ args: {
38
+ prune: {
39
+ type: "boolean",
40
+ description: "Remove every artefact whose recommendation is 'delete'. Defaults to --dry-run; pass --no-dry-run to physically remove."
41
+ },
42
+ "dry-run": {
43
+ type: "boolean",
44
+ description: "Combine with --prune to preview deletions without touching the filesystem.",
45
+ default: true
46
+ },
47
+ "soft-retention-days": {
48
+ type: "string",
49
+ description: "Days under which artefacts are always kept (default 30)."
50
+ },
51
+ "hard-retention-days": {
52
+ type: "string",
53
+ description: "Days over which artefacts are eligible for prune (default 90)."
54
+ },
55
+ json: { type: "boolean", description: "Output as JSON" },
56
+ human: { type: "boolean", description: "Force human-readable output" },
57
+ quiet: { type: "boolean", description: "Suppress non-essential output" }
58
+ },
59
+ async run({ args }) {
60
+ const softRetentionDays = parsePositiveInt(args["soft-retention-days"], 30);
61
+ const hardRetentionDays = parsePositiveInt(args["hard-retention-days"], 90);
62
+ const projectRoot = getProjectRoot();
63
+ let result;
64
+ if (args.prune === true) {
65
+ const dryRun = args["dry-run"] !== false;
66
+ result = pruneLegacyBackups(projectRoot, {
67
+ softRetentionDays,
68
+ hardRetentionDays,
69
+ dryRun
70
+ });
71
+ } else {
72
+ result = scanLegacyBackups(projectRoot, {
73
+ softRetentionDays,
74
+ hardRetentionDays
75
+ });
76
+ }
77
+ cliOutput(result, {
78
+ command: "doctor",
79
+ operation: "doctor.legacy-backups.run"
80
+ });
81
+ if (result.errors.length > 0 && (process.exitCode === void 0 || process.exitCode === 0)) {
82
+ process.exitCode = 1;
83
+ }
84
+ }
85
+ });
86
+
87
+ export {
88
+ doctorLegacyBackupsCommand
89
+ };
90
+ //# sourceMappingURL=chunk-7ZYPQV4N.js.map
@@ -0,0 +1,72 @@
1
+ (() => {
2
+ const _installed = Symbol.for('cleocode.cli.sqliteWarningFilter');
3
+ if (globalThis[_installed]) return;
4
+ globalThis[_installed] = true;
5
+ const _origEmitWarning = process.emitWarning;
6
+ process.emitWarning = function(warning, type, code, ctor) {
7
+ if (typeof warning === 'object' && warning.name === 'ExperimentalWarning' && typeof warning.message === 'string' && /SQLite is an experimental feature/i.test(warning.message)) {
8
+ return;
9
+ }
10
+ if (typeof warning === 'string' && /SQLite is an experimental feature/i.test(warning)) {
11
+ return;
12
+ }
13
+ return _origEmitWarning.call(process, warning, type, code, ctor);
14
+ };
15
+ })();
16
+ import {
17
+ defineCommand
18
+ } from "./chunk-PKKZPOOP.js";
19
+ import {
20
+ cliOutput,
21
+ humanInfo
22
+ } from "./chunk-4RGSNUUP.js";
23
+
24
+ // packages/cleo/src/cli/commands/doctor-exodus.ts
25
+ import { buildExodusHealth } from "@cleocode/core/store/exodus/index.js";
26
+ function fmtBytes(n) {
27
+ if (n < 1024) return `${n} B`;
28
+ if (n < 1024 * 1024) return `${(n / 1024).toFixed(1)} KB`;
29
+ if (n < 1024 * 1024 * 1024) return `${(n / 1024 / 1024).toFixed(1)} MB`;
30
+ return `${(n / 1024 / 1024 / 1024).toFixed(2)} GB`;
31
+ }
32
+ var doctorExodusCommand = defineCommand({
33
+ meta: {
34
+ name: "exodus-health",
35
+ description: "Read-only exodus health report: per-scope migration state, legacy DB sizes, completion markers, disk headroom, and the kill-switch \u2014 with recommended next steps."
36
+ },
37
+ run() {
38
+ const health = buildExodusHealth(process.cwd());
39
+ for (const sc of [health.project, health.global]) {
40
+ humanInfo(
41
+ ` [${sc.scope}] state=${sc.state} consolidated=${sc.consolidatedExists ? "yes" : "no"} marker=${sc.markerPresent ? "yes" : "no"}`
42
+ );
43
+ for (const s of sc.legacySources) {
44
+ humanInfo(
45
+ ` ${s.present ? "\u2713" : "\xB7"} ${s.name.padEnd(18)} ${s.present ? fmtBytes(s.bytes) : "-"}${s.large ? " \u26A0 LARGE" : ""}`
46
+ );
47
+ }
48
+ }
49
+ humanInfo(
50
+ ` disk: ${fmtBytes(health.availableBytes)} free / ${fmtBytes(health.requiredBytes)} required \u2014 ${health.diskHeadroomOk ? "OK" : "LOW"}`
51
+ );
52
+ humanInfo(
53
+ ` kill-switch (CLEO_DISABLE_EXODUS_ON_OPEN): ${health.killSwitchSet ? "SET" : "off"}`
54
+ );
55
+ if (health.recommendations.length > 0) {
56
+ humanInfo(" recommendations:");
57
+ for (const r of health.recommendations) humanInfo(` \u2022 ${r}`);
58
+ }
59
+ cliOutput(
60
+ { kind: "generic", ...health },
61
+ {
62
+ command: "doctor exodus",
63
+ message: `exodus health: project=${health.project.state}, global=${health.global.state}${health.dataParityOk ? "" : `, ${health.dataDeficits} DEFICIT(S)`}.`
64
+ }
65
+ );
66
+ }
67
+ });
68
+
69
+ export {
70
+ doctorExodusCommand
71
+ };
72
+ //# sourceMappingURL=chunk-AQCYT3L4.js.map
@@ -0,0 +1,57 @@
1
+ (() => {
2
+ const _installed = Symbol.for('cleocode.cli.sqliteWarningFilter');
3
+ if (globalThis[_installed]) return;
4
+ globalThis[_installed] = true;
5
+ const _origEmitWarning = process.emitWarning;
6
+ process.emitWarning = function(warning, type, code, ctor) {
7
+ if (typeof warning === 'object' && warning.name === 'ExperimentalWarning' && typeof warning.message === 'string' && /SQLite is an experimental feature/i.test(warning.message)) {
8
+ return;
9
+ }
10
+ if (typeof warning === 'string' && /SQLite is an experimental feature/i.test(warning)) {
11
+ return;
12
+ }
13
+ return _origEmitWarning.call(process, warning, type, code, ctor);
14
+ };
15
+ })();
16
+ import {
17
+ defineCommand
18
+ } from "./chunk-PKKZPOOP.js";
19
+ import {
20
+ cliOutput
21
+ } from "./chunk-4RGSNUUP.js";
22
+
23
+ // packages/cleo/src/cli/commands/doctor-worktree-stores.ts
24
+ import { scanWorktreeStores } from "@cleocode/core/doctor/worktree-stores.js";
25
+ import { getProjectRoot, resolveStoreOwnerRoot } from "@cleocode/core/paths.js";
26
+ var doctorWorktreeStoresCommand = defineCommand({
27
+ meta: {
28
+ name: "worktree-stores",
29
+ description: "List store files (.cleo/*.db, *.bak) stranded inside the project worktrees and report whether each holds rows newer than the parent store. Read-only \u2014 deletes nothing."
30
+ },
31
+ args: {
32
+ "skip-compare": {
33
+ type: "boolean",
34
+ description: "List files only; skip the per-table row comparison against the parent store"
35
+ },
36
+ json: { type: "boolean", description: "Output as JSON" },
37
+ human: { type: "boolean", description: "Force human-readable output" },
38
+ quiet: { type: "boolean", description: "Suppress non-essential output" }
39
+ },
40
+ async run({ args }) {
41
+ const projectRoot = resolveStoreOwnerRoot(getProjectRoot());
42
+ const result = scanWorktreeStores(projectRoot, { skipCompare: args["skip-compare"] === true });
43
+ cliOutput(result, {
44
+ command: "doctor",
45
+ operation: "doctor.worktree-stores.run",
46
+ message: `${result.strandedFileCount} stranded store file(s) in ${result.entries.length} worktree(s); ${result.filesWithNewerRows.length} hold rows the parent store lacks.`
47
+ });
48
+ if (result.filesWithNewerRows.length > 0 && (process.exitCode === void 0 || process.exitCode === 0)) {
49
+ process.exitCode = 1;
50
+ }
51
+ }
52
+ });
53
+
54
+ export {
55
+ doctorWorktreeStoresCommand
56
+ };
57
+ //# sourceMappingURL=chunk-BQK6XTOH.js.map
@@ -0,0 +1,16 @@
1
+ (() => {
2
+ const _installed = Symbol.for('cleocode.cli.sqliteWarningFilter');
3
+ if (globalThis[_installed]) return;
4
+ globalThis[_installed] = true;
5
+ const _origEmitWarning = process.emitWarning;
6
+ process.emitWarning = function(warning, type, code, ctor) {
7
+ if (typeof warning === 'object' && warning.name === 'ExperimentalWarning' && typeof warning.message === 'string' && /SQLite is an experimental feature/i.test(warning.message)) {
8
+ return;
9
+ }
10
+ if (typeof warning === 'string' && /SQLite is an experimental feature/i.test(warning)) {
11
+ return;
12
+ }
13
+ return _origEmitWarning.call(process, warning, type, code, ctor);
14
+ };
15
+ })();
16
+ //# sourceMappingURL=chunk-C3B7C43W.js.map
@@ -0,0 +1,98 @@
1
+ (() => {
2
+ const _installed = Symbol.for('cleocode.cli.sqliteWarningFilter');
3
+ if (globalThis[_installed]) return;
4
+ globalThis[_installed] = true;
5
+ const _origEmitWarning = process.emitWarning;
6
+ process.emitWarning = function(warning, type, code, ctor) {
7
+ if (typeof warning === 'object' && warning.name === 'ExperimentalWarning' && typeof warning.message === 'string' && /SQLite is an experimental feature/i.test(warning.message)) {
8
+ return;
9
+ }
10
+ if (typeof warning === 'string' && /SQLite is an experimental feature/i.test(warning)) {
11
+ return;
12
+ }
13
+ return _origEmitWarning.call(process, warning, type, code, ctor);
14
+ };
15
+ })();
16
+ import {
17
+ defineCommand
18
+ } from "./chunk-PKKZPOOP.js";
19
+ import {
20
+ cliError,
21
+ cliOutput,
22
+ humanInfo
23
+ } from "./chunk-4RGSNUUP.js";
24
+
25
+ // packages/cleo/src/cli/commands/doctor-repair.ts
26
+ import { DB_INVENTORY } from "@cleocode/contracts/db-inventory.js";
27
+ import { ExitCode } from "@cleocode/contracts/exit-codes.js";
28
+ import { getLogger } from "@cleocode/core/logger";
29
+ import { getProjectRoot } from "@cleocode/core/project-scope";
30
+ import { repairMalformedDbs } from "@cleocode/core/store/repair-malformed-dbs.js";
31
+ var doctorRepairCommand = defineCommand({
32
+ meta: {
33
+ name: "repair",
34
+ description: "Detect malformed CLEO databases (PRAGMA quick_check) and restore each from its freshest validated snapshot via the recovery pipeline (quarantine \u2192 restore \u2192 verify). Defaults to every present DB; use --role to narrow, --dry-run to plan without mutating."
35
+ },
36
+ args: {
37
+ role: {
38
+ type: "string",
39
+ description: `Repair only this DB role (one of: ${DB_INVENTORY.map((e) => e.role).join(", ")})`,
40
+ default: ""
41
+ },
42
+ "dry-run": {
43
+ type: "boolean",
44
+ description: "Detect + plan only \u2014 report what would be repaired without quarantining/restoring",
45
+ default: false
46
+ },
47
+ "confirm-owner-store": {
48
+ type: "boolean",
49
+ description: "From inside a git worktree: allow overwriting the owning project's LIVE store (refused without it)",
50
+ default: false
51
+ }
52
+ },
53
+ run({ args }) {
54
+ const roleArg = typeof args.role === "string" ? args.role.trim() : "";
55
+ const dryRun = args["dry-run"] === true;
56
+ if (roleArg.length > 0 && !DB_INVENTORY.some((e) => e.role === roleArg)) {
57
+ const validRoles = DB_INVENTORY.map((e) => e.role).join(", ");
58
+ cliError(
59
+ `Unknown DB role "${roleArg}". Valid roles: ${validRoles}.`,
60
+ ExitCode.VALIDATION_ERROR,
61
+ {
62
+ name: "E_VALIDATION",
63
+ fix: "Run `cleo doctor repair --help` for the list of valid roles."
64
+ },
65
+ { command: "doctor repair" }
66
+ );
67
+ process.exitCode = ExitCode.VALIDATION_ERROR;
68
+ return;
69
+ }
70
+ const result = repairMalformedDbs({
71
+ projectRoot: getProjectRoot(),
72
+ roles: roleArg.length > 0 ? [roleArg] : void 0,
73
+ dryRun,
74
+ logger: getLogger("doctor-repair"),
75
+ // T12708: the invocation directory; core never falls back to it.
76
+ cwd: process.cwd(),
77
+ confirmOwnerStore: args["confirm-owner-store"] === true
78
+ });
79
+ for (const r of result.roles) {
80
+ if (!r.healthy) {
81
+ humanInfo(` [${r.action.toUpperCase()}] ${r.role} \u2014 ${r.detail}`);
82
+ }
83
+ }
84
+ const verb = dryRun ? "would repair" : "repaired";
85
+ cliOutput(result, {
86
+ command: "doctor repair",
87
+ message: result.malformedCount === 0 ? `All ${result.roles.length} inspected DB(s) healthy \u2014 nothing to repair.` : `${result.malformedCount} malformed DB(s): ${verb} ${result.repairedCount}, ${result.failedCount} failed.`
88
+ });
89
+ if (result.failedCount > 0) {
90
+ process.exitCode = ExitCode.GENERAL_ERROR;
91
+ }
92
+ }
93
+ });
94
+
95
+ export {
96
+ doctorRepairCommand
97
+ };
98
+ //# sourceMappingURL=chunk-CAPAGD5E.js.map
@@ -0,0 +1,77 @@
1
+ (() => {
2
+ const _installed = Symbol.for('cleocode.cli.sqliteWarningFilter');
3
+ if (globalThis[_installed]) return;
4
+ globalThis[_installed] = true;
5
+ const _origEmitWarning = process.emitWarning;
6
+ process.emitWarning = function(warning, type, code, ctor) {
7
+ if (typeof warning === 'object' && warning.name === 'ExperimentalWarning' && typeof warning.message === 'string' && /SQLite is an experimental feature/i.test(warning.message)) {
8
+ return;
9
+ }
10
+ if (typeof warning === 'string' && /SQLite is an experimental feature/i.test(warning)) {
11
+ return;
12
+ }
13
+ return _origEmitWarning.call(process, warning, type, code, ctor);
14
+ };
15
+ })();
16
+ import {
17
+ defineCommand
18
+ } from "./chunk-PKKZPOOP.js";
19
+ import {
20
+ cliError,
21
+ cliOutput
22
+ } from "./chunk-4RGSNUUP.js";
23
+
24
+ // packages/cleo/src/cli/commands/doctor-ac-bindings.ts
25
+ import { ExitCode } from "@cleocode/contracts/exit-codes.js";
26
+ import { scanOrphanAcBindings } from "@cleocode/core/doctor/orphan-ac-bindings.js";
27
+ import { getProjectRoot } from "@cleocode/core/paths.js";
28
+ var doctorAcBindingsCommand = defineCommand({
29
+ meta: {
30
+ name: "ac-bindings",
31
+ description: "Report evidence bindings whose acceptance criterion no longer exists (dangling tasks_evidence_ac_bindings rows). Read-only unless --fix is given; --fix removes them, recording each removed row in the task audit log (ac.bindings.pruned)."
32
+ },
33
+ args: {
34
+ fix: {
35
+ type: "boolean",
36
+ description: "Delete the orphan bindings in one transaction, after writing each row to the task audit log so binding history (alias-drift detection) is kept."
37
+ },
38
+ limit: {
39
+ type: "string",
40
+ description: "Maximum orphan rows echoed in the report (default 50; counts are exact)"
41
+ },
42
+ json: { type: "boolean", description: "Output as JSON" },
43
+ human: { type: "boolean", description: "Force human-readable output" },
44
+ quiet: { type: "boolean", description: "Suppress non-essential output" }
45
+ },
46
+ async run({ args }) {
47
+ let limit;
48
+ if (typeof args.limit === "string") {
49
+ if (!/^\d+$/.test(args.limit.trim())) {
50
+ cliError(
51
+ `--limit must be a non-negative integer (got '${args.limit}')`,
52
+ ExitCode.VALIDATION_ERROR,
53
+ { name: "E_VALIDATION" }
54
+ );
55
+ return;
56
+ }
57
+ limit = Number.parseInt(args.limit, 10);
58
+ }
59
+ const report = await scanOrphanAcBindings(getProjectRoot(), {
60
+ fix: args.fix === true,
61
+ limit
62
+ });
63
+ cliOutput(report, {
64
+ command: "doctor",
65
+ operation: "doctor.ac-bindings.run"
66
+ });
67
+ const unresolved = report.orphanCount > report.removed;
68
+ if (unresolved && (process.exitCode === void 0 || process.exitCode === 0)) {
69
+ process.exitCode = 1;
70
+ }
71
+ }
72
+ });
73
+
74
+ export {
75
+ doctorAcBindingsCommand
76
+ };
77
+ //# sourceMappingURL=chunk-CHGEDCKG.js.map