@cleocode/cleo 2026.10.2 → 2026.10.4

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 (307) hide show
  1. package/bin/cleo.js +11 -1
  2. package/dist/cli/adapter-LVXHFBC4.js +158 -0
  3. package/dist/cli/add-WUAV7LDT.js +443 -0
  4. package/dist/cli/add-batch-U2DLKAQC.js +163 -0
  5. package/dist/cli/admin-I7BQYVZD.js +340 -0
  6. package/dist/cli/adr-K2THMQBS.js +171 -0
  7. package/dist/cli/agent-WQ6XY2DW.js +2366 -0
  8. package/dist/cli/agent-outputs-BJIYLVTU.js +84 -0
  9. package/dist/cli/analyze-PGQZWGOC.js +48 -0
  10. package/dist/cli/archive-5LZPF7C3.js +64 -0
  11. package/dist/cli/archive-stats-U6CYC6JM.js +100 -0
  12. package/dist/cli/attention-SOURWCNI.js +167 -0
  13. package/dist/cli/audit-FO2Y4LH2.js +122 -0
  14. package/dist/cli/auth-ED7TAIXI.js +491 -0
  15. package/dist/cli/backfill-32TRAYRD.js +156 -0
  16. package/dist/cli/backup-LEJMZJKL.js +587 -0
  17. package/dist/cli/backup-inspect-6HPLUEI2.js +26 -0
  18. package/dist/cli/backup-recover-2BTYBZU2.js +29 -0
  19. package/dist/cli/blockers-5JULUJTV.js +54 -0
  20. package/dist/cli/brain-273N3FW4.js +400 -0
  21. package/dist/cli/briefing-7H6OLECX.js +212 -0
  22. package/dist/cli/caamp-MFQVN6VU.js +181 -0
  23. package/dist/cli/cancel-SCMJTXZB.js +84 -0
  24. package/dist/cli/canon-NPF5RODM.js +142 -0
  25. package/dist/cli/canon-docs-2GTOLF7Y.js +26 -0
  26. package/dist/cli/cant-46XCUP4P.js +239 -0
  27. package/dist/cli/changeset-32NMBGG2.js +248 -0
  28. package/dist/cli/check-RWJLBCI2.js +907 -0
  29. package/dist/cli/checkpoint-37HMMKD7.js +128 -0
  30. package/dist/cli/chunk-2JIJD2I7.js +108 -0
  31. package/dist/cli/chunk-37NU2XDP.js +171 -0
  32. package/dist/cli/chunk-3IOQVUO7.js +17308 -0
  33. package/dist/cli/chunk-3PGH67MT.js +175 -0
  34. package/dist/cli/chunk-3ZO3M37V.js +1002 -0
  35. package/dist/cli/chunk-47JYZAMS.js +30 -0
  36. package/dist/cli/chunk-5J2VH3BC.js +66 -0
  37. package/dist/cli/chunk-5ZFFUFH7.js +92 -0
  38. package/dist/cli/chunk-6JSJNYH2.js +114 -0
  39. package/dist/cli/chunk-7INMKEAD.js +85 -0
  40. package/dist/cli/chunk-A2IUEIM5.js +278 -0
  41. package/dist/cli/chunk-AWCQH2W5.js +35 -0
  42. package/dist/cli/chunk-AYA6F4ZT.js +56 -0
  43. package/dist/cli/chunk-BCEXRFA2.js +76 -0
  44. package/dist/cli/chunk-BPEVD37G.js +124 -0
  45. package/dist/cli/chunk-C3B7C43W.js +16 -0
  46. package/dist/cli/chunk-DVTPIZJM.js +72 -0
  47. package/dist/cli/chunk-DYABOIHB.js +96 -0
  48. package/dist/cli/chunk-EBRZ76HS.js +51 -0
  49. package/dist/cli/chunk-EGOTK2HA.js +57 -0
  50. package/dist/cli/chunk-EOPQFCSR.js +148 -0
  51. package/dist/cli/chunk-FORFDPP5.js +288 -0
  52. package/dist/cli/chunk-GFGLLDXX.js +110 -0
  53. package/dist/cli/chunk-GH37QXW5.js +280 -0
  54. package/dist/cli/chunk-GZFVDR44.js +320 -0
  55. package/dist/cli/chunk-I3CRQQAD.js +225 -0
  56. package/dist/cli/chunk-J3ZFM3UQ.js +754 -0
  57. package/dist/cli/chunk-JNZJPIPJ.js +90 -0
  58. package/dist/cli/chunk-KHB52JNB.js +209 -0
  59. package/dist/cli/chunk-KJDWWQFY.js +46 -0
  60. package/dist/cli/chunk-LKNUA3SB.js +83 -0
  61. package/dist/cli/chunk-LVGIFMCV.js +163 -0
  62. package/dist/cli/chunk-LWQBJQSE.js +67 -0
  63. package/dist/cli/chunk-MNJRLSEQ.js +107 -0
  64. package/dist/cli/chunk-NRKWJLMS.js +91 -0
  65. package/dist/cli/chunk-NSHV2JNM.js +48 -0
  66. package/dist/cli/chunk-NWTATTEQ.js +210 -0
  67. package/dist/cli/chunk-OAPN46TC.js +89 -0
  68. package/dist/cli/chunk-OGV57L4J.js +59 -0
  69. package/dist/cli/chunk-OILHT47L.js +252 -0
  70. package/dist/cli/chunk-OPTEQKBB.js +258 -0
  71. package/dist/cli/chunk-PKKZPOOP.js +352 -0
  72. package/dist/cli/chunk-QA6T2LQ5.js +71 -0
  73. package/dist/cli/chunk-QFFQSKRC.js +4497 -0
  74. package/dist/cli/chunk-QPUY2HQZ.js +74 -0
  75. package/dist/cli/chunk-REUTEW3O.js +258 -0
  76. package/dist/cli/chunk-S24YI723.js +88 -0
  77. package/dist/cli/chunk-SXXOC6KZ.js +209 -0
  78. package/dist/cli/chunk-ULN4OKQQ.js +259 -0
  79. package/dist/cli/chunk-V5GBGOGM.js +46 -0
  80. package/dist/cli/chunk-VLEYOOPH.js +31 -0
  81. package/dist/cli/chunk-W33Q3FBH.js +66 -0
  82. package/dist/cli/chunk-W3JLYKKY.js +140 -0
  83. package/dist/cli/chunk-XRAX6XFP.js +48 -0
  84. package/dist/cli/chunk-YGKEECTI.js +78 -0
  85. package/dist/cli/chunk-YUZJI67I.js +108 -0
  86. package/dist/cli/chunk-YY66LFZF.js +29 -0
  87. package/dist/cli/chunk-ZBISIPCK.js +78 -0
  88. package/dist/cli/chunk-ZZTHTMQP.js +77 -0
  89. package/dist/cli/claim-KPENYHIQ.js +96 -0
  90. package/dist/cli/classify-DRVMCFQU.js +117 -0
  91. package/dist/cli/cli-T3CR7J57.js +48 -0
  92. package/dist/cli/cloud-PPQ4O5TX.js +565 -0
  93. package/dist/cli/cockpit-RZKLGYPN.js +790 -0
  94. package/dist/cli/code-Z5CTMVTD.js +178 -0
  95. package/dist/cli/complete-UBOCOBRB.js +34 -0
  96. package/dist/cli/complexity-BV2AGQRZ.js +56 -0
  97. package/dist/cli/compliance-32PD5Y47.js +276 -0
  98. package/dist/cli/conduit-VDKCH33F.js +307 -0
  99. package/dist/cli/config-I72JAXK4.js +516 -0
  100. package/dist/cli/consensus-LFILLSTK.js +121 -0
  101. package/dist/cli/context-XUUVFVTP.js +141 -0
  102. package/dist/cli/contribution-37NQ4N5R.js +111 -0
  103. package/dist/cli/curator-TFDXU2EX.js +139 -0
  104. package/dist/cli/current-C4SN5BWV.js +42 -0
  105. package/dist/cli/daemon-DV25JQ62.js +451 -0
  106. package/dist/cli/dash-TFU4RLQW.js +70 -0
  107. package/dist/cli/decide-5VPMNTSI.js +419 -0
  108. package/dist/cli/decompose-KOYEZNJL.js +77 -0
  109. package/dist/cli/decomposition-7OHUFIQN.js +121 -0
  110. package/dist/cli/delete-Q7YCAFY5.js +68 -0
  111. package/dist/cli/deps-6UZKLDGJ.js +463 -0
  112. package/dist/cli/detect-FERY35UL.js +45 -0
  113. package/dist/cli/detect-drift-UL2JTPUK.js +408 -0
  114. package/dist/cli/diagnostics-TI5QAZXR.js +132 -0
  115. package/dist/cli/docs-QI2PRN3T.js +3095 -0
  116. package/dist/cli/doctor-AX5TICQO.js +1253 -0
  117. package/dist/cli/doctor-ac-bindings-YPMYHU2G.js +26 -0
  118. package/dist/cli/doctor-acceptance-drift-PYNFGMKB.js +26 -0
  119. package/dist/cli/doctor-credentials-UZRIADKM.js +26 -0
  120. package/dist/cli/doctor-db-substrate-Q2TOYM2S.js +27 -0
  121. package/dist/cli/doctor-dep-cycles-GCVYZY6F.js +26 -0
  122. package/dist/cli/doctor-exodus-RO5SUTC2.js +26 -0
  123. package/dist/cli/doctor-exodus-residue-EM2AWQXP.js +26 -0
  124. package/dist/cli/doctor-fk-check-Q3FOLECE.js +26 -0
  125. package/dist/cli/doctor-global-delivery-TNOAQ3NP.js +26 -0
  126. package/dist/cli/doctor-heavy-command-hook-IO3QAQLG.js +26 -0
  127. package/dist/cli/doctor-legacy-backups-O2YH5VLS.js +26 -0
  128. package/dist/cli/doctor-legacy-reaper-VSEJEIFA.js +26 -0
  129. package/dist/cli/doctor-malformed-ids-LQ766V5K.js +26 -0
  130. package/dist/cli/doctor-manifest-rows-6FQDNHLH.js +26 -0
  131. package/dist/cli/doctor-memory-guard-J4PSEKB5.js +26 -0
  132. package/dist/cli/doctor-migrations-ONOH56YM.js +26 -0
  133. package/dist/cli/doctor-nexus-residency-FUQAX7PV.js +26 -0
  134. package/dist/cli/doctor-project-identity-GUDK3HYX.js +26 -0
  135. package/dist/cli/doctor-projects-7L3BNL4O.js +30 -0
  136. package/dist/cli/doctor-projects-registry-TEAVHFQU.js +26 -0
  137. package/dist/cli/doctor-release-readiness-IEGHX6SL.js +26 -0
  138. package/dist/cli/doctor-repair-NBONOSZU.js +26 -0
  139. package/dist/cli/doctor-skill-fixtures-7Y6L34A3.js +26 -0
  140. package/dist/cli/doctor-split-brain-TUKIGVHF.js +26 -0
  141. package/dist/cli/doctor-superseded-store-BHZY2B2L.js +26 -0
  142. package/dist/cli/doctor-tool-locks-REQMIVYK.js +26 -0
  143. package/dist/cli/doctor-twin-collapse-222GOSPE.js +26 -0
  144. package/dist/cli/doctor-worktree-stores-J7TCRVJ3.js +26 -0
  145. package/dist/cli/done-V3AOO65B.js +195 -0
  146. package/dist/cli/dynamic-RR4HB7BB.js +29 -0
  147. package/dist/cli/event-EGNPGE5A.js +372 -0
  148. package/dist/cli/exists-H4SDCBPL.js +65 -0
  149. package/dist/cli/exodus-KALO3B3X.js +401 -0
  150. package/dist/cli/export-ROFOCG4M.js +92 -0
  151. package/dist/cli/export-tasks-US3WBIEQ.js +96 -0
  152. package/dist/cli/federation-SUIB5QWT.js +145 -0
  153. package/dist/cli/find-YICG4BG6.js +177 -0
  154. package/dist/cli/focus-TKCZPKOM.js +55 -0
  155. package/dist/cli/gateway-H4HFDC3E.js +77 -0
  156. package/dist/cli/gateway-auto-start-EDK7XI6E.js +36 -0
  157. package/dist/cli/gc-5R2TUY5T.js +291 -0
  158. package/dist/cli/go-PRQFK5YG.js +206 -0
  159. package/dist/cli/goal-7CZRMLHC.js +212 -0
  160. package/dist/cli/grade-PY2YRPUS.js +56 -0
  161. package/dist/cli/graph-XIXMCFKG.js +878 -0
  162. package/dist/cli/history-EIXADPAD.js +137 -0
  163. package/dist/cli/hook-UF7J7R6D.js +57 -0
  164. package/dist/cli/hook-entry.js +244 -19
  165. package/dist/cli/hygiene-3QZ2NI7P.js +55 -0
  166. package/dist/cli/import-R73SO444.js +88 -0
  167. package/dist/cli/import-tasks-O22FZJ4U.js +108 -0
  168. package/dist/cli/index.js +419 -94607
  169. package/dist/cli/init-IHEJDQWU.js +40 -0
  170. package/dist/cli/inject-LSRVWNCP.js +82 -0
  171. package/dist/cli/install-global-4AZUCH6U.js +95 -0
  172. package/dist/cli/intelligence-2OSFOGD2.js +181 -0
  173. package/dist/cli/issue-IIWEDNFC.js +158 -0
  174. package/dist/cli/janitor-GPMC7VOR.js +111 -0
  175. package/dist/cli/labels-5NPOIQXN.js +87 -0
  176. package/dist/cli/lifecycle-4FFS2K2T.js +272 -0
  177. package/dist/cli/list-47KEUGPQ.js +108 -0
  178. package/dist/cli/llm-G5B3I6GD.js +703 -0
  179. package/dist/cli/llm-cost-S7RS6BVA.js +25 -0
  180. package/dist/cli/llm-stream-24A45NTS.js +27 -0
  181. package/dist/cli/log-XF6H2XSD.js +75 -0
  182. package/dist/cli/login-LBPLGHYG.js +43 -0
  183. package/dist/cli/logout-SX4JSJIV.js +74 -0
  184. package/dist/cli/manifest-NMCW4PIW.js +353 -0
  185. package/dist/cli/map-BU72KMGF.js +52 -0
  186. package/dist/cli/memory-UHYIVGVM.js +1956 -0
  187. package/dist/cli/migrate-agents-v2-OO7OILZK.js +33 -0
  188. package/dist/cli/migrate-claude-mem-EDNYUY3K.js +201 -0
  189. package/dist/cli/next-RZFRG5X7.js +56 -0
  190. package/dist/cli/nexus-4S4Z5EVU.js +2923 -0
  191. package/dist/cli/ops-KR7AWCG3.js +51 -0
  192. package/dist/cli/orchestrate-HOYZY3VX.js +948 -0
  193. package/dist/cli/otel-U7IIRBCT.js +188 -0
  194. package/dist/cli/phase-NYZFHUE5.js +220 -0
  195. package/dist/cli/pivot-FF2CVUZL.js +87 -0
  196. package/dist/cli/plan-3SL2NTRV.js +48 -0
  197. package/dist/cli/playbook-2FCBV7N3.js +229 -0
  198. package/dist/cli/project-WDX2TGMC.js +330 -0
  199. package/dist/cli/promote-YINYFBZY.js +52 -0
  200. package/dist/cli/provenance-C7AYD7WG.js +128 -0
  201. package/dist/cli/provider-QLJEDQBR.js +212 -0
  202. package/dist/cli/reason-JF5BHBM5.js +137 -0
  203. package/dist/cli/reconcile-NMISHDGX.js +127 -0
  204. package/dist/cli/refresh-memory-EY5YNICV.js +45 -0
  205. package/dist/cli/relates-R3ZPICAY.js +259 -0
  206. package/dist/cli/release-4ZJTMUUT.js +524 -0
  207. package/dist/cli/remote-QSONJDIK.js +279 -0
  208. package/dist/cli/renderers-64OR3IWX.js +37 -0
  209. package/dist/cli/reorder-J3DOE7ST.js +86 -0
  210. package/dist/cli/reparent-2OUMKEZX.js +58 -0
  211. package/dist/cli/req-TZB7OFKO.js +129 -0
  212. package/dist/cli/research-MTD7EX45.js +365 -0
  213. package/dist/cli/restore-VEUOX7NF.js +423 -0
  214. package/dist/cli/revert-3YF2IL5G.js +240 -0
  215. package/dist/cli/roadmap-7OOQLXKG.js +61 -0
  216. package/dist/cli/run-2U5NZV5Z.js +211 -0
  217. package/dist/cli/safestop-VR4VK56D.js +88 -0
  218. package/dist/cli/saga-SEWPIOX2.js +285 -0
  219. package/dist/cli/schema-C52WZ35V.js +195 -0
  220. package/dist/cli/self-update-GQIGUDPS.js +504 -0
  221. package/dist/cli/selfimprove-3Y5L4ECT.js +88 -0
  222. package/dist/cli/sentient-M4YMAVGV.js +1088 -0
  223. package/dist/cli/sequence-6UBMA4IF.js +93 -0
  224. package/dist/cli/service-5R7SILZ7.js +155 -0
  225. package/dist/cli/session-3C6AAC4Y.js +707 -0
  226. package/dist/cli/setup-BTUBW5PU.js +323 -0
  227. package/dist/cli/show-MXT2V7TF.js +122 -0
  228. package/dist/cli/skill-GFUZOU2C.js +84 -0
  229. package/dist/cli/skills-EDWLKAF3.js +928 -0
  230. package/dist/cli/smoke-provider-SKUFMZXU.js +218 -0
  231. package/dist/cli/snapshot-GUWMURCM.js +119 -0
  232. package/dist/cli/src-66GAKPXR.js +80 -0
  233. package/dist/cli/start-QFG56RGN.js +67 -0
  234. package/dist/cli/stats-GW55P7RR.js +95 -0
  235. package/dist/cli/status-46HTKNRR.js +157 -0
  236. package/dist/cli/sticky-2DUZOUGI.js +338 -0
  237. package/dist/cli/stop-J2QEUKHX.js +42 -0
  238. package/dist/cli/sync-GJP2QYT5.js +154 -0
  239. package/dist/cli/tasks-BNXTM7PB.js +174 -0
  240. package/dist/cli/telemetry-55Z2XJWL.js +120 -0
  241. package/dist/cli/templates-7O77TKPV.js +611 -0
  242. package/dist/cli/testing-37YTBNKP.js +146 -0
  243. package/dist/cli/token-UAVJMNUI.js +220 -0
  244. package/dist/cli/transcript-LORQTV5Z.js +440 -0
  245. package/dist/cli/tui-BPUFHYKK.js +51 -0
  246. package/dist/cli/update-NVCYV2FT.js +476 -0
  247. package/dist/cli/upgrade-OXJXOGEF.js +243 -0
  248. package/dist/cli/verify-LYLDHPT2.js +190 -0
  249. package/dist/cli/web-QP2RP266.js +275 -0
  250. package/dist/cli/workgraph-FXBSZDQE.js +232 -0
  251. package/dist/cli/worktree-6RXAJIST.js +370 -0
  252. package/package.json +13 -13
  253. package/studio-dist/client/_app/immutable/chunks/{Buaay_Q8.js → Btgeq_wq.js} +1 -1
  254. package/studio-dist/client/_app/immutable/chunks/{BJp57kf2.js → CgBjxmu6.js} +1 -1
  255. package/studio-dist/client/_app/immutable/chunks/{CLP4JZvZ.js → DgEKqO6r.js} +1 -1
  256. package/studio-dist/client/_app/immutable/chunks/t81h7afa.js +1 -0
  257. package/studio-dist/client/_app/immutable/entry/{app.CczVILch.js → app.a02HWaRB.js} +2 -2
  258. package/studio-dist/client/_app/immutable/entry/start.BreMSngo.js +1 -0
  259. package/studio-dist/client/_app/immutable/nodes/{0.Zy2IsLEl.js → 0.nTXyRfc-.js} +1 -1
  260. package/studio-dist/client/_app/immutable/nodes/{1.DJN1QI3l.js → 1.4zrWeHtl.js} +1 -1
  261. package/studio-dist/client/_app/immutable/nodes/{15.B4rwqbHV.js → 15.D9mk4JyY.js} +1 -1
  262. package/studio-dist/client/_app/immutable/nodes/{16.jn-5BG_L.js → 16._-wt-sQf.js} +1 -1
  263. package/studio-dist/client/_app/immutable/nodes/{17.DnWGC4t9.js → 17.CUu6LQDj.js} +1 -1
  264. package/studio-dist/client/_app/immutable/nodes/{18.0zddLZOY.js → 18.Dz4QRTkX.js} +1 -1
  265. package/studio-dist/client/_app/immutable/nodes/{20.DEKHq9Tc.js → 20.CJ2_EB0U.js} +1 -1
  266. package/studio-dist/client/_app/immutable/nodes/{24.CQB9KP-p.js → 24.Igj2FS7k.js} +1 -1
  267. package/studio-dist/client/_app/immutable/nodes/{25.BaqToZD-.js → 25.BnATjVGN.js} +2 -2
  268. package/studio-dist/client/_app/immutable/nodes/{26.BiE1i4iE.js → 26.6iPyjT44.js} +1 -1
  269. package/studio-dist/client/_app/immutable/nodes/{3.BObAOu_-.js → 3.AA5GwNgP.js} +1 -1
  270. package/studio-dist/client/_app/version.json +1 -1
  271. package/studio-dist/server/chunks/{0-BmUoS2yd.js → 0-DGmsoBYm.js} +3 -3
  272. package/studio-dist/server/chunks/1-8PfxPvlK.js +9 -0
  273. package/studio-dist/server/chunks/{15-Dt4kqUxW.js → 15-Bg6YTndh.js} +3 -3
  274. package/studio-dist/server/chunks/{16-kgTLJvbO.js → 16-BObLwgyD.js} +3 -3
  275. package/studio-dist/server/chunks/{17-mRYB5141.js → 17-BNXGyAHX.js} +3 -3
  276. package/studio-dist/server/chunks/{18-BjZ325q5.js → 18-UqQFRIID.js} +3 -3
  277. package/studio-dist/server/chunks/{20-DQ2Vrujq.js → 20-CMn8a_yP.js} +3 -3
  278. package/studio-dist/server/chunks/{24-DAeuAfXN.js → 24-BuOTDzib.js} +3 -3
  279. package/studio-dist/server/chunks/{25-DGCNmzAS.js → 25-CIMSmjVx.js} +4 -4
  280. package/studio-dist/server/chunks/{26-CiN6bbmR.js → 26-DWGObn2T.js} +3 -3
  281. package/studio-dist/server/chunks/{3-BS2FXYjP.js → 3-CyiffdJZ.js} +3 -3
  282. package/studio-dist/server/chunks/{_layout.svelte-DJ_UWmGp.js → _layout.svelte-DYtClaIk.js} +4 -4
  283. package/studio-dist/server/chunks/{_page.svelte-WR6jUiQE.js → _page.svelte-1h9E6s_f.js} +3 -3
  284. package/studio-dist/server/chunks/{_page.svelte-BUq8_eQH.js → _page.svelte-BNNF62Nm.js} +3 -3
  285. package/studio-dist/server/chunks/{_page.svelte-CRnYa4cW.js → _page.svelte-BT1EUadj.js} +5 -5
  286. package/studio-dist/server/chunks/{_page.svelte-Dk0znswQ.js → _page.svelte-Bip079LT.js} +3 -3
  287. package/studio-dist/server/chunks/{_page.svelte-CcP_KW3Y.js → _page.svelte-CEATWp_5.js} +3 -3
  288. package/studio-dist/server/chunks/{_page.svelte-Ca7x-ZvH.js → _page.svelte-CV3xiD1y.js} +4 -4
  289. package/studio-dist/server/chunks/{_page.svelte-Cfv9tDBA.js → _page.svelte-Cv_KVJDV.js} +3 -3
  290. package/studio-dist/server/chunks/{_page.svelte-J4HjPhfO.js → _page.svelte-DSSy6LuK.js} +3 -3
  291. package/studio-dist/server/chunks/{_page.svelte-D8dLEr7O.js → _page.svelte-TF795TAS.js} +3 -3
  292. package/studio-dist/server/chunks/{_server.ts-Bih2-_5O.js → _server.ts-BlhRFLY3.js} +2 -2
  293. package/studio-dist/server/chunks/{_server.ts-Cr57EKWf.js → _server.ts-C4w6UdU0.js} +3 -3
  294. package/studio-dist/server/chunks/{_server.ts-P4wVVksg.js → _server.ts-CzrwbhkQ.js} +3 -3
  295. package/studio-dist/server/chunks/{_server.ts-2BazvYRP.js → _server.ts-DWt8Dziu.js} +3 -3
  296. package/studio-dist/server/chunks/{_server.ts-C0evMKCk.js → _server.ts-Db6mEile.js} +3 -3
  297. package/studio-dist/server/chunks/{client-Cl295FWH.js → client-D8f2k-H_.js} +2 -2
  298. package/studio-dist/server/chunks/{dist-CdoCt9zT.js → dist-B8xbIrdB.js} +3 -1
  299. package/studio-dist/server/chunks/{error.svelte-ajn1HNOb.js → error.svelte-DbbOwIme.js} +3 -3
  300. package/studio-dist/server/chunks/{http-BiQjEmVU.js → http-1ftNGTs5.js} +2 -2
  301. package/studio-dist/server/chunks/{internal-D9MtKHIF.js → internal-CTULuLPB.js} +2 -2
  302. package/studio-dist/server/chunks/{stores-BlknvZ80.js → stores-CS5XOReX.js} +2 -2
  303. package/studio-dist/server/index.js +1 -1
  304. package/studio-dist/server/manifest.js +17 -17
  305. package/studio-dist/client/_app/immutable/chunks/C3l-lTkq.js +0 -1
  306. package/studio-dist/client/_app/immutable/entry/start.D7gHmBNS.js +0 -1
  307. package/studio-dist/server/chunks/1-CTjj2MYz.js +0 -9
@@ -0,0 +1,148 @@
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
+ dispatchRaw,
21
+ handleRawError,
22
+ maybeEmitDescribe
23
+ } from "./chunk-3IOQVUO7.js";
24
+ import {
25
+ cliOutput
26
+ } from "./chunk-3ZO3M37V.js";
27
+
28
+ // packages/cleo/src/cli/commands/complete.ts
29
+ var completeCommandArgs = {
30
+ taskId: {
31
+ type: "positional",
32
+ description: "ID of the task to complete",
33
+ required: true
34
+ },
35
+ notes: {
36
+ type: "string",
37
+ description: "Completion notes"
38
+ },
39
+ changeset: {
40
+ type: "string",
41
+ description: "Changeset reference"
42
+ },
43
+ "verification-note": {
44
+ type: "string",
45
+ description: "Evidence that acceptance criteria were met"
46
+ },
47
+ "acknowledge-risk": {
48
+ type: "string",
49
+ description: "Reason for acknowledging CRITICAL impact risk (bypasses nexusImpact gate)"
50
+ },
51
+ "override-reason": {
52
+ type: "string",
53
+ description: "Reason for bypassing E_EPIC_HAS_PENDING_CHILDREN guard (audited to .cleo/audit/premature-close.jsonl)"
54
+ },
55
+ // T10509 — AC-coverage gate (load-bearing IVTR closure)
56
+ "waive-ac": {
57
+ type: "string",
58
+ description: "Comma-separated AC tokens (UUIDs or AC<n> aliases) to waive from the AC-coverage gate. Requires --waive-reason. Audited to .cleo/audit/ac-waiver.jsonl."
59
+ },
60
+ "waive-reason": {
61
+ type: "string",
62
+ description: "Mandatory justification text for --waive-ac. Captured verbatim in the audit row."
63
+ },
64
+ // T10538 — cancelled-child waiver gate (PM-Core V2 agent-trust)
65
+ "waive-cancelled-children": {
66
+ type: "string",
67
+ description: "Reason for completing a parent that has cancelled children. Cancelled work does not silently satisfy completion; the reason is audited to .cleo/audit/cancelled-child-waiver.jsonl."
68
+ },
69
+ // T11954 (DHQ-071) — depends-edge waiver for stale/over-specified deps
70
+ "waive-depends": {
71
+ type: "string",
72
+ description: "Reason for completing a task whose own work is done but whose depends edges point at not-yet-terminal tasks (stale/over-specified). Audited to .cleo/audit/depends-waiver.jsonl."
73
+ },
74
+ // T12503 — optimistic concurrency
75
+ "if-match": {
76
+ type: "string",
77
+ description: "Fail with E_CONFLICT unless the task updatedAt still equals this version (from cleo show). Guards against completing over a concurrent edit."
78
+ }
79
+ };
80
+ function completeDispatchParams(args) {
81
+ const str = (key) => args[key];
82
+ return {
83
+ taskId: args.taskId,
84
+ notes: str("notes"),
85
+ changeset: str("changeset"),
86
+ verificationNote: str("verification-note"),
87
+ acknowledgeRisk: str("acknowledge-risk"),
88
+ overrideReason: str("override-reason"),
89
+ // T10509 — AC-coverage gate waiver path
90
+ waiveAc: str("waive-ac"),
91
+ waiveReason: str("waive-reason"),
92
+ // T10538 — cancelled-child waiver (PM-Core V2 agent-trust)
93
+ cancelledChildWaiverReason: str("waive-cancelled-children"),
94
+ // T11954 (DHQ-071) — depends-edge waiver for stale/over-specified deps
95
+ waiveDependsReason: str("waive-depends"),
96
+ // T12503 — optimistic concurrency
97
+ expectedUpdatedAt: str("if-match")
98
+ };
99
+ }
100
+ var completeCommand = defineCommand({
101
+ meta: {
102
+ name: "complete",
103
+ description: "Mark a task as completed (requires active session)"
104
+ },
105
+ args: completeCommandArgs,
106
+ async run({ args }) {
107
+ if (maybeEmitDescribe("mutate", "tasks", "complete", { command: "complete" })) return;
108
+ const response = await dispatchRaw("mutate", "tasks", "complete", completeDispatchParams(args));
109
+ if (!response.success) {
110
+ handleRawError(response, { command: "complete", operation: "tasks.complete" });
111
+ }
112
+ const data = response.data;
113
+ if (response.meta.mutateProjection === "mvi") {
114
+ cliOutput(response.data, { command: "complete", operation: "tasks.complete" });
115
+ return;
116
+ }
117
+ const task = data?.task ?? data;
118
+ const output = { task };
119
+ if (data?.alreadyDone === true) {
120
+ output["alreadyDone"] = true;
121
+ }
122
+ if (typeof data?.note === "string") {
123
+ output["note"] = data.note;
124
+ }
125
+ const autoCompleted = data?.autoCompleted;
126
+ if (Array.isArray(autoCompleted) && autoCompleted.length > 0) {
127
+ output["autoCompleted"] = autoCompleted;
128
+ }
129
+ const unblockedTasks = data?.unblockedTasks;
130
+ if (Array.isArray(unblockedTasks) && unblockedTasks.length > 0) {
131
+ output["unblockedTasks"] = unblockedTasks;
132
+ }
133
+ if (typeof data?.focusCleared === "boolean") output["focusCleared"] = data.focusCleared;
134
+ if (data?.nextSuggested !== void 0) output["nextSuggested"] = data.nextSuggested;
135
+ const worktreeAutoComplete = data?.worktreeAutoComplete;
136
+ if (worktreeAutoComplete && typeof worktreeAutoComplete === "object") {
137
+ output["worktreeAutoComplete"] = worktreeAutoComplete;
138
+ }
139
+ cliOutput(output, { command: "complete", operation: "tasks.complete" });
140
+ }
141
+ });
142
+
143
+ export {
144
+ completeCommandArgs,
145
+ completeDispatchParams,
146
+ completeCommand
147
+ };
148
+ //# sourceMappingURL=chunk-EOPQFCSR.js.map
@@ -0,0 +1,288 @@
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
+ humanLine
23
+ } from "./chunk-3ZO3M37V.js";
24
+
25
+ // packages/cleo/src/cli/commands/backup-inspect.ts
26
+ import fs from "node:fs";
27
+ import os from "node:os";
28
+ import path from "node:path";
29
+ import zlib from "node:zlib";
30
+ import { ExitCode } from "@cleocode/contracts";
31
+ import {
32
+ BackupObservationInspectionError,
33
+ detectEncryption,
34
+ ENC_MIN_LENGTH,
35
+ ENC_VERSION_OFFSET,
36
+ ENC_VERSION_SUPPORTED,
37
+ extractManifestFromTar,
38
+ fmtBytes,
39
+ inspectBackupObservation,
40
+ verifyManifestHash
41
+ } from "@cleocode/core/store/backup-inspect.js";
42
+ function printInspectReport(bundlePath, bundleSize, encrypted, manifest, integrityOk) {
43
+ const backup = manifest["backup"] ?? {};
44
+ const databases = manifest["databases"] ?? [];
45
+ const jsonFiles = manifest["json"] ?? [];
46
+ const manifestVersion = manifest["manifestVersion"] ?? "unknown";
47
+ const scope = backup["scope"] ?? "unknown";
48
+ const createdAt = backup["createdAt"] ?? "unknown";
49
+ const createdBy = backup["createdBy"] ?? "unknown";
50
+ const machineFingerprint = backup["machineFingerprint"] ?? "unknown";
51
+ const projectName = backup["projectName"] ?? "";
52
+ const projectFingerprint = backup["projectFingerprint"] ?? null;
53
+ const machineSame = false;
54
+ const lines = [
55
+ `Bundle: ${bundlePath} (${fmtBytes(bundleSize)})`,
56
+ `Format: CLEO Backup Bundle v${manifestVersion}`,
57
+ `Scope: ${scope}`,
58
+ `Created: ${createdAt} by ${createdBy}`,
59
+ `Encrypted: ${encrypted ? "yes" : "no"}`,
60
+ `Source machine: ${machineFingerprint} (${machineSame ? "same" : "different"} as this machine)`
61
+ ];
62
+ if (projectName) {
63
+ lines.push(
64
+ `Project: ${projectName}${projectFingerprint ? ` (${projectFingerprint})` : ""}`
65
+ );
66
+ }
67
+ if (databases.length > 0) {
68
+ lines.push("");
69
+ lines.push("Databases:");
70
+ for (const db of databases) {
71
+ const filename = db["filename"] ?? "";
72
+ const basename = path.basename(filename);
73
+ const size = db["size"] ?? 0;
74
+ const schemaVersion = db["schemaVersion"] ?? "unknown";
75
+ const rowCounts = db["rowCounts"] ?? {};
76
+ const rowSummary = Object.entries(rowCounts).map(([tbl, count]) => `${tbl}: ${count}`).join(", ");
77
+ const rowPart = rowSummary ? ` ${rowSummary}` : "";
78
+ lines.push(
79
+ ` ${basename.padEnd(20)} ${fmtBytes(size).padEnd(10)} schema: ${schemaVersion}${rowPart}`
80
+ );
81
+ }
82
+ }
83
+ if (jsonFiles.length > 0) {
84
+ lines.push("");
85
+ lines.push("JSON files:");
86
+ for (const jf of jsonFiles) {
87
+ const filename = jf["filename"] ?? "";
88
+ const basename = path.basename(filename);
89
+ const size = jf["size"] ?? 0;
90
+ lines.push(` ${basename.padEnd(30)} ${fmtBytes(size)}`);
91
+ }
92
+ }
93
+ lines.push("");
94
+ lines.push(`Manifest integrity: [${integrityOk ? "OK" : "TAMPERED"}]`);
95
+ humanLine(lines.join("\n"));
96
+ }
97
+ async function inspectAction(bundlePath) {
98
+ const resolved = path.resolve(bundlePath);
99
+ if (!fs.existsSync(resolved)) {
100
+ cliError(`Bundle not found: ${bundlePath}`, 4, { name: "E_NOT_FOUND" });
101
+ process.exitCode = 4;
102
+ return;
103
+ }
104
+ const encrypted = detectEncryption(resolved);
105
+ if (encrypted) {
106
+ const passphrase = process.env["CLEO_BACKUP_PASSPHRASE"];
107
+ if (!passphrase) {
108
+ humanLine(
109
+ [
110
+ `Bundle: ${bundlePath}`,
111
+ "Encrypted: yes",
112
+ "",
113
+ "Bundle is encrypted. Set the CLEO_BACKUP_PASSPHRASE environment variable",
114
+ "to decrypt and inspect the manifest contents.",
115
+ "",
116
+ "Example:",
117
+ ` CLEO_BACKUP_PASSPHRASE=<passphrase> cleo backup inspect ${bundlePath}`
118
+ ].join("\n")
119
+ );
120
+ process.exitCode = 0;
121
+ return;
122
+ }
123
+ const { decryptBundle } = await import("@cleocode/core/internal");
124
+ const encrypted_buf = fs.readFileSync(resolved);
125
+ if (encrypted_buf.length < ENC_MIN_LENGTH) {
126
+ cliError("Encrypted bundle payload too short", 70, { name: "E_DECRYPT_FAILED" });
127
+ process.exitCode = 70;
128
+ return;
129
+ }
130
+ const versionByte = encrypted_buf[ENC_VERSION_OFFSET];
131
+ if (versionByte !== ENC_VERSION_SUPPORTED) {
132
+ cliError(
133
+ `Unsupported encrypted bundle version ${versionByte ?? "undefined"}; expected ${ENC_VERSION_SUPPORTED}`,
134
+ 70,
135
+ { name: "E_DECRYPT_FAILED" }
136
+ );
137
+ process.exitCode = 70;
138
+ return;
139
+ }
140
+ let decryptedBuf;
141
+ try {
142
+ decryptedBuf = decryptBundle(encrypted_buf, passphrase);
143
+ } catch (err) {
144
+ const msg = err instanceof Error ? err.message : String(err);
145
+ cliError(`Decryption failed: ${msg}`, 70, {
146
+ name: "E_DECRYPT_FAILED",
147
+ fix: "Verify CLEO_BACKUP_PASSPHRASE matches the bundle."
148
+ });
149
+ process.exitCode = 70;
150
+ return;
151
+ }
152
+ const tmpPath = path.join(os.tmpdir(), `cleo-inspect-${process.pid}-${Date.now()}.tar.gz`);
153
+ try {
154
+ fs.writeFileSync(tmpPath, decryptedBuf);
155
+ await inspectTarball(tmpPath, resolved, encrypted);
156
+ } finally {
157
+ try {
158
+ fs.unlinkSync(tmpPath);
159
+ } catch {
160
+ }
161
+ }
162
+ return;
163
+ }
164
+ await inspectTarball(resolved, resolved, false);
165
+ }
166
+ async function inspectTarball(tarPath, displayPath, encrypted) {
167
+ const compressedBuf = fs.readFileSync(tarPath);
168
+ let tarBuf;
169
+ try {
170
+ tarBuf = zlib.gunzipSync(compressedBuf);
171
+ } catch (err) {
172
+ const msg = err instanceof Error ? err.message : String(err);
173
+ cliError(`Failed to decompress bundle: ${msg}`, 71, { name: "E_DECOMPRESS_FAILED" });
174
+ process.exitCode = 71;
175
+ return;
176
+ }
177
+ const manifestContent = extractManifestFromTar(tarBuf);
178
+ if (!manifestContent) {
179
+ cliError("manifest.json not found in bundle", 74, { name: "E_MANIFEST_MISSING" });
180
+ process.exitCode = 74;
181
+ return;
182
+ }
183
+ let manifest;
184
+ try {
185
+ manifest = JSON.parse(manifestContent);
186
+ } catch (err) {
187
+ const msg = err instanceof Error ? err.message : String(err);
188
+ cliError(`Failed to parse manifest.json: ${msg}`, 71, { name: "E_MANIFEST_PARSE" });
189
+ process.exitCode = 71;
190
+ return;
191
+ }
192
+ const integrityOk = verifyManifestHash(manifestContent, manifest);
193
+ const stat = fs.statSync(displayPath);
194
+ printInspectReport(displayPath, stat.size, encrypted, manifest, integrityOk);
195
+ process.exitCode = 0;
196
+ }
197
+ function resolveSnapshotPath(input) {
198
+ const absolute = path.resolve(input);
199
+ try {
200
+ return path.join(fs.realpathSync(path.dirname(absolute)), path.basename(absolute));
201
+ } catch {
202
+ return absolute;
203
+ }
204
+ }
205
+ var backupInspectSubCommand = defineCommand({
206
+ meta: {
207
+ name: "inspect",
208
+ description: "Inspect a bundle manifest or an exact observation in a read-only SQLite snapshot"
209
+ },
210
+ args: {
211
+ bundle: {
212
+ type: "positional",
213
+ description: "Path to a backup bundle, or SQLite snapshot when --record-id is supplied",
214
+ required: true
215
+ },
216
+ "record-id": {
217
+ type: "string",
218
+ description: "Exact observation ID to inspect in the supplied SQLite snapshot"
219
+ },
220
+ "expected-project-id": {
221
+ type: "string",
222
+ description: "Expected stable identity; absent historical provenance remains unknown"
223
+ },
224
+ label: {
225
+ type: "string",
226
+ description: "Advisory original snapshot label; does not establish ownership"
227
+ },
228
+ "max-snapshot-bytes": {
229
+ type: "string",
230
+ description: "Positive integer source byte ceiling (default 512 MiB, maximum 1 GiB)"
231
+ },
232
+ "max-payload-bytes": {
233
+ type: "string",
234
+ description: "Positive integer payload byte ceiling (default 1 MiB, maximum 16 MiB)"
235
+ },
236
+ json: { type: "boolean", description: "Output structured JSON" },
237
+ human: { type: "boolean", description: "Force human-readable output" },
238
+ quiet: { type: "boolean", description: "Suppress non-essential output" }
239
+ },
240
+ async run({ args }) {
241
+ const recordId = args["record-id"];
242
+ if (recordId === void 0) {
243
+ if ([
244
+ args["expected-project-id"],
245
+ args.label,
246
+ args["max-snapshot-bytes"],
247
+ args["max-payload-bytes"]
248
+ ].some((value) => value !== void 0)) {
249
+ cliError(
250
+ "Snapshot inspection flags require --record-id.",
251
+ ExitCode.VALIDATION_ERROR,
252
+ { name: "E_BACKUP_INSPECT_INVALID_INPUT" },
253
+ { operation: "backup.inspect" }
254
+ );
255
+ process.exitCode = ExitCode.VALIDATION_ERROR;
256
+ return;
257
+ }
258
+ await inspectAction(args.bundle);
259
+ return;
260
+ }
261
+ try {
262
+ const result = await inspectBackupObservation({
263
+ snapshotPath: resolveSnapshotPath(args.bundle),
264
+ recordId,
265
+ expectedProjectId: args["expected-project-id"],
266
+ label: args.label,
267
+ maxSnapshotBytes: args["max-snapshot-bytes"] === void 0 ? void 0 : Number(args["max-snapshot-bytes"]),
268
+ maxPayloadBytes: args["max-payload-bytes"] === void 0 ? void 0 : Number(args["max-payload-bytes"])
269
+ });
270
+ cliOutput(result, { command: "backup", operation: "backup.inspect" });
271
+ } catch (error) {
272
+ cliError(
273
+ error instanceof Error ? error.message : String(error),
274
+ ExitCode.VALIDATION_ERROR,
275
+ {
276
+ name: error instanceof BackupObservationInspectionError ? `E_BACKUP_INSPECT_${error.code}` : "E_BACKUP_INSPECT_FAILED"
277
+ },
278
+ { operation: "backup.inspect" }
279
+ );
280
+ process.exitCode = ExitCode.VALIDATION_ERROR;
281
+ }
282
+ }
283
+ });
284
+
285
+ export {
286
+ backupInspectSubCommand
287
+ };
288
+ //# sourceMappingURL=chunk-FORFDPP5.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-3ZO3M37V.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-GFGLLDXX.js.map