@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.
- package/bin/cleo.js +11 -1
- package/dist/cli/adapter-LVXHFBC4.js +158 -0
- package/dist/cli/add-WUAV7LDT.js +443 -0
- package/dist/cli/add-batch-U2DLKAQC.js +163 -0
- package/dist/cli/admin-I7BQYVZD.js +340 -0
- package/dist/cli/adr-K2THMQBS.js +171 -0
- package/dist/cli/agent-WQ6XY2DW.js +2366 -0
- package/dist/cli/agent-outputs-BJIYLVTU.js +84 -0
- package/dist/cli/analyze-PGQZWGOC.js +48 -0
- package/dist/cli/archive-5LZPF7C3.js +64 -0
- package/dist/cli/archive-stats-U6CYC6JM.js +100 -0
- package/dist/cli/attention-SOURWCNI.js +167 -0
- package/dist/cli/audit-FO2Y4LH2.js +122 -0
- package/dist/cli/auth-ED7TAIXI.js +491 -0
- package/dist/cli/backfill-32TRAYRD.js +156 -0
- package/dist/cli/backup-LEJMZJKL.js +587 -0
- package/dist/cli/backup-inspect-6HPLUEI2.js +26 -0
- package/dist/cli/backup-recover-2BTYBZU2.js +29 -0
- package/dist/cli/blockers-5JULUJTV.js +54 -0
- package/dist/cli/brain-273N3FW4.js +400 -0
- package/dist/cli/briefing-7H6OLECX.js +212 -0
- package/dist/cli/caamp-MFQVN6VU.js +181 -0
- package/dist/cli/cancel-SCMJTXZB.js +84 -0
- package/dist/cli/canon-NPF5RODM.js +142 -0
- package/dist/cli/canon-docs-2GTOLF7Y.js +26 -0
- package/dist/cli/cant-46XCUP4P.js +239 -0
- package/dist/cli/changeset-32NMBGG2.js +248 -0
- package/dist/cli/check-RWJLBCI2.js +907 -0
- package/dist/cli/checkpoint-37HMMKD7.js +128 -0
- package/dist/cli/chunk-2JIJD2I7.js +108 -0
- package/dist/cli/chunk-37NU2XDP.js +171 -0
- package/dist/cli/chunk-3IOQVUO7.js +17308 -0
- package/dist/cli/chunk-3PGH67MT.js +175 -0
- package/dist/cli/chunk-3ZO3M37V.js +1002 -0
- package/dist/cli/chunk-47JYZAMS.js +30 -0
- package/dist/cli/chunk-5J2VH3BC.js +66 -0
- package/dist/cli/chunk-5ZFFUFH7.js +92 -0
- package/dist/cli/chunk-6JSJNYH2.js +114 -0
- package/dist/cli/chunk-7INMKEAD.js +85 -0
- package/dist/cli/chunk-A2IUEIM5.js +278 -0
- package/dist/cli/chunk-AWCQH2W5.js +35 -0
- package/dist/cli/chunk-AYA6F4ZT.js +56 -0
- package/dist/cli/chunk-BCEXRFA2.js +76 -0
- package/dist/cli/chunk-BPEVD37G.js +124 -0
- package/dist/cli/chunk-C3B7C43W.js +16 -0
- package/dist/cli/chunk-DVTPIZJM.js +72 -0
- package/dist/cli/chunk-DYABOIHB.js +96 -0
- package/dist/cli/chunk-EBRZ76HS.js +51 -0
- package/dist/cli/chunk-EGOTK2HA.js +57 -0
- package/dist/cli/chunk-EOPQFCSR.js +148 -0
- package/dist/cli/chunk-FORFDPP5.js +288 -0
- package/dist/cli/chunk-GFGLLDXX.js +110 -0
- package/dist/cli/chunk-GH37QXW5.js +280 -0
- package/dist/cli/chunk-GZFVDR44.js +320 -0
- package/dist/cli/chunk-I3CRQQAD.js +225 -0
- package/dist/cli/chunk-J3ZFM3UQ.js +754 -0
- package/dist/cli/chunk-JNZJPIPJ.js +90 -0
- package/dist/cli/chunk-KHB52JNB.js +209 -0
- package/dist/cli/chunk-KJDWWQFY.js +46 -0
- package/dist/cli/chunk-LKNUA3SB.js +83 -0
- package/dist/cli/chunk-LVGIFMCV.js +163 -0
- package/dist/cli/chunk-LWQBJQSE.js +67 -0
- package/dist/cli/chunk-MNJRLSEQ.js +107 -0
- package/dist/cli/chunk-NRKWJLMS.js +91 -0
- package/dist/cli/chunk-NSHV2JNM.js +48 -0
- package/dist/cli/chunk-NWTATTEQ.js +210 -0
- package/dist/cli/chunk-OAPN46TC.js +89 -0
- package/dist/cli/chunk-OGV57L4J.js +59 -0
- package/dist/cli/chunk-OILHT47L.js +252 -0
- package/dist/cli/chunk-OPTEQKBB.js +258 -0
- package/dist/cli/chunk-PKKZPOOP.js +352 -0
- package/dist/cli/chunk-QA6T2LQ5.js +71 -0
- package/dist/cli/chunk-QFFQSKRC.js +4497 -0
- package/dist/cli/chunk-QPUY2HQZ.js +74 -0
- package/dist/cli/chunk-REUTEW3O.js +258 -0
- package/dist/cli/chunk-S24YI723.js +88 -0
- package/dist/cli/chunk-SXXOC6KZ.js +209 -0
- package/dist/cli/chunk-ULN4OKQQ.js +259 -0
- package/dist/cli/chunk-V5GBGOGM.js +46 -0
- package/dist/cli/chunk-VLEYOOPH.js +31 -0
- package/dist/cli/chunk-W33Q3FBH.js +66 -0
- package/dist/cli/chunk-W3JLYKKY.js +140 -0
- package/dist/cli/chunk-XRAX6XFP.js +48 -0
- package/dist/cli/chunk-YGKEECTI.js +78 -0
- package/dist/cli/chunk-YUZJI67I.js +108 -0
- package/dist/cli/chunk-YY66LFZF.js +29 -0
- package/dist/cli/chunk-ZBISIPCK.js +78 -0
- package/dist/cli/chunk-ZZTHTMQP.js +77 -0
- package/dist/cli/claim-KPENYHIQ.js +96 -0
- package/dist/cli/classify-DRVMCFQU.js +117 -0
- package/dist/cli/cli-T3CR7J57.js +48 -0
- package/dist/cli/cloud-PPQ4O5TX.js +565 -0
- package/dist/cli/cockpit-RZKLGYPN.js +790 -0
- package/dist/cli/code-Z5CTMVTD.js +178 -0
- package/dist/cli/complete-UBOCOBRB.js +34 -0
- package/dist/cli/complexity-BV2AGQRZ.js +56 -0
- package/dist/cli/compliance-32PD5Y47.js +276 -0
- package/dist/cli/conduit-VDKCH33F.js +307 -0
- package/dist/cli/config-I72JAXK4.js +516 -0
- package/dist/cli/consensus-LFILLSTK.js +121 -0
- package/dist/cli/context-XUUVFVTP.js +141 -0
- package/dist/cli/contribution-37NQ4N5R.js +111 -0
- package/dist/cli/curator-TFDXU2EX.js +139 -0
- package/dist/cli/current-C4SN5BWV.js +42 -0
- package/dist/cli/daemon-DV25JQ62.js +451 -0
- package/dist/cli/dash-TFU4RLQW.js +70 -0
- package/dist/cli/decide-5VPMNTSI.js +419 -0
- package/dist/cli/decompose-KOYEZNJL.js +77 -0
- package/dist/cli/decomposition-7OHUFIQN.js +121 -0
- package/dist/cli/delete-Q7YCAFY5.js +68 -0
- package/dist/cli/deps-6UZKLDGJ.js +463 -0
- package/dist/cli/detect-FERY35UL.js +45 -0
- package/dist/cli/detect-drift-UL2JTPUK.js +408 -0
- package/dist/cli/diagnostics-TI5QAZXR.js +132 -0
- package/dist/cli/docs-QI2PRN3T.js +3095 -0
- package/dist/cli/doctor-AX5TICQO.js +1253 -0
- package/dist/cli/doctor-ac-bindings-YPMYHU2G.js +26 -0
- package/dist/cli/doctor-acceptance-drift-PYNFGMKB.js +26 -0
- package/dist/cli/doctor-credentials-UZRIADKM.js +26 -0
- package/dist/cli/doctor-db-substrate-Q2TOYM2S.js +27 -0
- package/dist/cli/doctor-dep-cycles-GCVYZY6F.js +26 -0
- package/dist/cli/doctor-exodus-RO5SUTC2.js +26 -0
- package/dist/cli/doctor-exodus-residue-EM2AWQXP.js +26 -0
- package/dist/cli/doctor-fk-check-Q3FOLECE.js +26 -0
- package/dist/cli/doctor-global-delivery-TNOAQ3NP.js +26 -0
- package/dist/cli/doctor-heavy-command-hook-IO3QAQLG.js +26 -0
- package/dist/cli/doctor-legacy-backups-O2YH5VLS.js +26 -0
- package/dist/cli/doctor-legacy-reaper-VSEJEIFA.js +26 -0
- package/dist/cli/doctor-malformed-ids-LQ766V5K.js +26 -0
- package/dist/cli/doctor-manifest-rows-6FQDNHLH.js +26 -0
- package/dist/cli/doctor-memory-guard-J4PSEKB5.js +26 -0
- package/dist/cli/doctor-migrations-ONOH56YM.js +26 -0
- package/dist/cli/doctor-nexus-residency-FUQAX7PV.js +26 -0
- package/dist/cli/doctor-project-identity-GUDK3HYX.js +26 -0
- package/dist/cli/doctor-projects-7L3BNL4O.js +30 -0
- package/dist/cli/doctor-projects-registry-TEAVHFQU.js +26 -0
- package/dist/cli/doctor-release-readiness-IEGHX6SL.js +26 -0
- package/dist/cli/doctor-repair-NBONOSZU.js +26 -0
- package/dist/cli/doctor-skill-fixtures-7Y6L34A3.js +26 -0
- package/dist/cli/doctor-split-brain-TUKIGVHF.js +26 -0
- package/dist/cli/doctor-superseded-store-BHZY2B2L.js +26 -0
- package/dist/cli/doctor-tool-locks-REQMIVYK.js +26 -0
- package/dist/cli/doctor-twin-collapse-222GOSPE.js +26 -0
- package/dist/cli/doctor-worktree-stores-J7TCRVJ3.js +26 -0
- package/dist/cli/done-V3AOO65B.js +195 -0
- package/dist/cli/dynamic-RR4HB7BB.js +29 -0
- package/dist/cli/event-EGNPGE5A.js +372 -0
- package/dist/cli/exists-H4SDCBPL.js +65 -0
- package/dist/cli/exodus-KALO3B3X.js +401 -0
- package/dist/cli/export-ROFOCG4M.js +92 -0
- package/dist/cli/export-tasks-US3WBIEQ.js +96 -0
- package/dist/cli/federation-SUIB5QWT.js +145 -0
- package/dist/cli/find-YICG4BG6.js +177 -0
- package/dist/cli/focus-TKCZPKOM.js +55 -0
- package/dist/cli/gateway-H4HFDC3E.js +77 -0
- package/dist/cli/gateway-auto-start-EDK7XI6E.js +36 -0
- package/dist/cli/gc-5R2TUY5T.js +291 -0
- package/dist/cli/go-PRQFK5YG.js +206 -0
- package/dist/cli/goal-7CZRMLHC.js +212 -0
- package/dist/cli/grade-PY2YRPUS.js +56 -0
- package/dist/cli/graph-XIXMCFKG.js +878 -0
- package/dist/cli/history-EIXADPAD.js +137 -0
- package/dist/cli/hook-UF7J7R6D.js +57 -0
- package/dist/cli/hook-entry.js +244 -19
- package/dist/cli/hygiene-3QZ2NI7P.js +55 -0
- package/dist/cli/import-R73SO444.js +88 -0
- package/dist/cli/import-tasks-O22FZJ4U.js +108 -0
- package/dist/cli/index.js +419 -94607
- package/dist/cli/init-IHEJDQWU.js +40 -0
- package/dist/cli/inject-LSRVWNCP.js +82 -0
- package/dist/cli/install-global-4AZUCH6U.js +95 -0
- package/dist/cli/intelligence-2OSFOGD2.js +181 -0
- package/dist/cli/issue-IIWEDNFC.js +158 -0
- package/dist/cli/janitor-GPMC7VOR.js +111 -0
- package/dist/cli/labels-5NPOIQXN.js +87 -0
- package/dist/cli/lifecycle-4FFS2K2T.js +272 -0
- package/dist/cli/list-47KEUGPQ.js +108 -0
- package/dist/cli/llm-G5B3I6GD.js +703 -0
- package/dist/cli/llm-cost-S7RS6BVA.js +25 -0
- package/dist/cli/llm-stream-24A45NTS.js +27 -0
- package/dist/cli/log-XF6H2XSD.js +75 -0
- package/dist/cli/login-LBPLGHYG.js +43 -0
- package/dist/cli/logout-SX4JSJIV.js +74 -0
- package/dist/cli/manifest-NMCW4PIW.js +353 -0
- package/dist/cli/map-BU72KMGF.js +52 -0
- package/dist/cli/memory-UHYIVGVM.js +1956 -0
- package/dist/cli/migrate-agents-v2-OO7OILZK.js +33 -0
- package/dist/cli/migrate-claude-mem-EDNYUY3K.js +201 -0
- package/dist/cli/next-RZFRG5X7.js +56 -0
- package/dist/cli/nexus-4S4Z5EVU.js +2923 -0
- package/dist/cli/ops-KR7AWCG3.js +51 -0
- package/dist/cli/orchestrate-HOYZY3VX.js +948 -0
- package/dist/cli/otel-U7IIRBCT.js +188 -0
- package/dist/cli/phase-NYZFHUE5.js +220 -0
- package/dist/cli/pivot-FF2CVUZL.js +87 -0
- package/dist/cli/plan-3SL2NTRV.js +48 -0
- package/dist/cli/playbook-2FCBV7N3.js +229 -0
- package/dist/cli/project-WDX2TGMC.js +330 -0
- package/dist/cli/promote-YINYFBZY.js +52 -0
- package/dist/cli/provenance-C7AYD7WG.js +128 -0
- package/dist/cli/provider-QLJEDQBR.js +212 -0
- package/dist/cli/reason-JF5BHBM5.js +137 -0
- package/dist/cli/reconcile-NMISHDGX.js +127 -0
- package/dist/cli/refresh-memory-EY5YNICV.js +45 -0
- package/dist/cli/relates-R3ZPICAY.js +259 -0
- package/dist/cli/release-4ZJTMUUT.js +524 -0
- package/dist/cli/remote-QSONJDIK.js +279 -0
- package/dist/cli/renderers-64OR3IWX.js +37 -0
- package/dist/cli/reorder-J3DOE7ST.js +86 -0
- package/dist/cli/reparent-2OUMKEZX.js +58 -0
- package/dist/cli/req-TZB7OFKO.js +129 -0
- package/dist/cli/research-MTD7EX45.js +365 -0
- package/dist/cli/restore-VEUOX7NF.js +423 -0
- package/dist/cli/revert-3YF2IL5G.js +240 -0
- package/dist/cli/roadmap-7OOQLXKG.js +61 -0
- package/dist/cli/run-2U5NZV5Z.js +211 -0
- package/dist/cli/safestop-VR4VK56D.js +88 -0
- package/dist/cli/saga-SEWPIOX2.js +285 -0
- package/dist/cli/schema-C52WZ35V.js +195 -0
- package/dist/cli/self-update-GQIGUDPS.js +504 -0
- package/dist/cli/selfimprove-3Y5L4ECT.js +88 -0
- package/dist/cli/sentient-M4YMAVGV.js +1088 -0
- package/dist/cli/sequence-6UBMA4IF.js +93 -0
- package/dist/cli/service-5R7SILZ7.js +155 -0
- package/dist/cli/session-3C6AAC4Y.js +707 -0
- package/dist/cli/setup-BTUBW5PU.js +323 -0
- package/dist/cli/show-MXT2V7TF.js +122 -0
- package/dist/cli/skill-GFUZOU2C.js +84 -0
- package/dist/cli/skills-EDWLKAF3.js +928 -0
- package/dist/cli/smoke-provider-SKUFMZXU.js +218 -0
- package/dist/cli/snapshot-GUWMURCM.js +119 -0
- package/dist/cli/src-66GAKPXR.js +80 -0
- package/dist/cli/start-QFG56RGN.js +67 -0
- package/dist/cli/stats-GW55P7RR.js +95 -0
- package/dist/cli/status-46HTKNRR.js +157 -0
- package/dist/cli/sticky-2DUZOUGI.js +338 -0
- package/dist/cli/stop-J2QEUKHX.js +42 -0
- package/dist/cli/sync-GJP2QYT5.js +154 -0
- package/dist/cli/tasks-BNXTM7PB.js +174 -0
- package/dist/cli/telemetry-55Z2XJWL.js +120 -0
- package/dist/cli/templates-7O77TKPV.js +611 -0
- package/dist/cli/testing-37YTBNKP.js +146 -0
- package/dist/cli/token-UAVJMNUI.js +220 -0
- package/dist/cli/transcript-LORQTV5Z.js +440 -0
- package/dist/cli/tui-BPUFHYKK.js +51 -0
- package/dist/cli/update-NVCYV2FT.js +476 -0
- package/dist/cli/upgrade-OXJXOGEF.js +243 -0
- package/dist/cli/verify-LYLDHPT2.js +190 -0
- package/dist/cli/web-QP2RP266.js +275 -0
- package/dist/cli/workgraph-FXBSZDQE.js +232 -0
- package/dist/cli/worktree-6RXAJIST.js +370 -0
- package/package.json +13 -13
- package/studio-dist/client/_app/immutable/chunks/{Buaay_Q8.js → Btgeq_wq.js} +1 -1
- package/studio-dist/client/_app/immutable/chunks/{BJp57kf2.js → CgBjxmu6.js} +1 -1
- package/studio-dist/client/_app/immutable/chunks/{CLP4JZvZ.js → DgEKqO6r.js} +1 -1
- package/studio-dist/client/_app/immutable/chunks/t81h7afa.js +1 -0
- package/studio-dist/client/_app/immutable/entry/{app.CczVILch.js → app.a02HWaRB.js} +2 -2
- package/studio-dist/client/_app/immutable/entry/start.BreMSngo.js +1 -0
- package/studio-dist/client/_app/immutable/nodes/{0.Zy2IsLEl.js → 0.nTXyRfc-.js} +1 -1
- package/studio-dist/client/_app/immutable/nodes/{1.DJN1QI3l.js → 1.4zrWeHtl.js} +1 -1
- package/studio-dist/client/_app/immutable/nodes/{15.B4rwqbHV.js → 15.D9mk4JyY.js} +1 -1
- package/studio-dist/client/_app/immutable/nodes/{16.jn-5BG_L.js → 16._-wt-sQf.js} +1 -1
- package/studio-dist/client/_app/immutable/nodes/{17.DnWGC4t9.js → 17.CUu6LQDj.js} +1 -1
- package/studio-dist/client/_app/immutable/nodes/{18.0zddLZOY.js → 18.Dz4QRTkX.js} +1 -1
- package/studio-dist/client/_app/immutable/nodes/{20.DEKHq9Tc.js → 20.CJ2_EB0U.js} +1 -1
- package/studio-dist/client/_app/immutable/nodes/{24.CQB9KP-p.js → 24.Igj2FS7k.js} +1 -1
- package/studio-dist/client/_app/immutable/nodes/{25.BaqToZD-.js → 25.BnATjVGN.js} +2 -2
- package/studio-dist/client/_app/immutable/nodes/{26.BiE1i4iE.js → 26.6iPyjT44.js} +1 -1
- package/studio-dist/client/_app/immutable/nodes/{3.BObAOu_-.js → 3.AA5GwNgP.js} +1 -1
- package/studio-dist/client/_app/version.json +1 -1
- package/studio-dist/server/chunks/{0-BmUoS2yd.js → 0-DGmsoBYm.js} +3 -3
- package/studio-dist/server/chunks/1-8PfxPvlK.js +9 -0
- package/studio-dist/server/chunks/{15-Dt4kqUxW.js → 15-Bg6YTndh.js} +3 -3
- package/studio-dist/server/chunks/{16-kgTLJvbO.js → 16-BObLwgyD.js} +3 -3
- package/studio-dist/server/chunks/{17-mRYB5141.js → 17-BNXGyAHX.js} +3 -3
- package/studio-dist/server/chunks/{18-BjZ325q5.js → 18-UqQFRIID.js} +3 -3
- package/studio-dist/server/chunks/{20-DQ2Vrujq.js → 20-CMn8a_yP.js} +3 -3
- package/studio-dist/server/chunks/{24-DAeuAfXN.js → 24-BuOTDzib.js} +3 -3
- package/studio-dist/server/chunks/{25-DGCNmzAS.js → 25-CIMSmjVx.js} +4 -4
- package/studio-dist/server/chunks/{26-CiN6bbmR.js → 26-DWGObn2T.js} +3 -3
- package/studio-dist/server/chunks/{3-BS2FXYjP.js → 3-CyiffdJZ.js} +3 -3
- package/studio-dist/server/chunks/{_layout.svelte-DJ_UWmGp.js → _layout.svelte-DYtClaIk.js} +4 -4
- package/studio-dist/server/chunks/{_page.svelte-WR6jUiQE.js → _page.svelte-1h9E6s_f.js} +3 -3
- package/studio-dist/server/chunks/{_page.svelte-BUq8_eQH.js → _page.svelte-BNNF62Nm.js} +3 -3
- package/studio-dist/server/chunks/{_page.svelte-CRnYa4cW.js → _page.svelte-BT1EUadj.js} +5 -5
- package/studio-dist/server/chunks/{_page.svelte-Dk0znswQ.js → _page.svelte-Bip079LT.js} +3 -3
- package/studio-dist/server/chunks/{_page.svelte-CcP_KW3Y.js → _page.svelte-CEATWp_5.js} +3 -3
- package/studio-dist/server/chunks/{_page.svelte-Ca7x-ZvH.js → _page.svelte-CV3xiD1y.js} +4 -4
- package/studio-dist/server/chunks/{_page.svelte-Cfv9tDBA.js → _page.svelte-Cv_KVJDV.js} +3 -3
- package/studio-dist/server/chunks/{_page.svelte-J4HjPhfO.js → _page.svelte-DSSy6LuK.js} +3 -3
- package/studio-dist/server/chunks/{_page.svelte-D8dLEr7O.js → _page.svelte-TF795TAS.js} +3 -3
- package/studio-dist/server/chunks/{_server.ts-Bih2-_5O.js → _server.ts-BlhRFLY3.js} +2 -2
- package/studio-dist/server/chunks/{_server.ts-Cr57EKWf.js → _server.ts-C4w6UdU0.js} +3 -3
- package/studio-dist/server/chunks/{_server.ts-P4wVVksg.js → _server.ts-CzrwbhkQ.js} +3 -3
- package/studio-dist/server/chunks/{_server.ts-2BazvYRP.js → _server.ts-DWt8Dziu.js} +3 -3
- package/studio-dist/server/chunks/{_server.ts-C0evMKCk.js → _server.ts-Db6mEile.js} +3 -3
- package/studio-dist/server/chunks/{client-Cl295FWH.js → client-D8f2k-H_.js} +2 -2
- package/studio-dist/server/chunks/{dist-CdoCt9zT.js → dist-B8xbIrdB.js} +3 -1
- package/studio-dist/server/chunks/{error.svelte-ajn1HNOb.js → error.svelte-DbbOwIme.js} +3 -3
- package/studio-dist/server/chunks/{http-BiQjEmVU.js → http-1ftNGTs5.js} +2 -2
- package/studio-dist/server/chunks/{internal-D9MtKHIF.js → internal-CTULuLPB.js} +2 -2
- package/studio-dist/server/chunks/{stores-BlknvZ80.js → stores-CS5XOReX.js} +2 -2
- package/studio-dist/server/index.js +1 -1
- package/studio-dist/server/manifest.js +17 -17
- package/studio-dist/client/_app/immutable/chunks/C3l-lTkq.js +0 -1
- package/studio-dist/client/_app/immutable/entry/start.D7gHmBNS.js +0 -1
- package/studio-dist/server/chunks/1-CTjj2MYz.js +0 -9
|
@@ -0,0 +1,35 @@
|
|
|
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
|
+
|
|
17
|
+
// packages/cleo/src/dispatch/registry.ts
|
|
18
|
+
import {
|
|
19
|
+
deriveGatewayMatrix,
|
|
20
|
+
getActiveDomains,
|
|
21
|
+
getByDomain,
|
|
22
|
+
getByGateway,
|
|
23
|
+
getByTier,
|
|
24
|
+
getCounts,
|
|
25
|
+
getGatewayDomains,
|
|
26
|
+
OPERATIONS,
|
|
27
|
+
resolve,
|
|
28
|
+
validateRequiredParams
|
|
29
|
+
} from "@cleocode/runtime/gateway";
|
|
30
|
+
|
|
31
|
+
export {
|
|
32
|
+
OPERATIONS,
|
|
33
|
+
resolve
|
|
34
|
+
};
|
|
35
|
+
//# sourceMappingURL=chunk-AWCQH2W5.js.map
|
|
@@ -0,0 +1,56 @@
|
|
|
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-3ZO3M37V.js";
|
|
22
|
+
|
|
23
|
+
// packages/cleo/src/cli/commands/doctor-malformed-ids.ts
|
|
24
|
+
import { getProjectRoot } from "@cleocode/core";
|
|
25
|
+
import { scanMalformedTaskIds } from "@cleocode/core/doctor/malformed-task-ids.js";
|
|
26
|
+
var doctorMalformedIdsCommand = defineCommand({
|
|
27
|
+
meta: {
|
|
28
|
+
name: "malformed-ids",
|
|
29
|
+
description: "Report task rows whose id is not a valid task identifier \u2014 rows that `cleo list` returns but `show`/`update`/`delete` cannot address. Read-only unless --fix is given; --fix refuses any row other tables still reference, and reports them instead."
|
|
30
|
+
},
|
|
31
|
+
args: {
|
|
32
|
+
fix: {
|
|
33
|
+
type: "boolean",
|
|
34
|
+
description: "Delete unaddressable rows in one transaction. Refuses any row still referenced by another table \u2014 deleting those would manufacture the orphans `doctor fk-check` detects."
|
|
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 report = await scanMalformedTaskIds(getProjectRoot(), { fix: args.fix === true });
|
|
42
|
+
cliOutput(report, {
|
|
43
|
+
command: "doctor",
|
|
44
|
+
operation: "doctor.malformed-ids.run"
|
|
45
|
+
});
|
|
46
|
+
const unresolved = report.rows.length > 0 && !report.deleted;
|
|
47
|
+
if (unresolved && (process.exitCode === void 0 || process.exitCode === 0)) {
|
|
48
|
+
process.exitCode = 1;
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
});
|
|
52
|
+
|
|
53
|
+
export {
|
|
54
|
+
doctorMalformedIdsCommand
|
|
55
|
+
};
|
|
56
|
+
//# sourceMappingURL=chunk-AYA6F4ZT.js.map
|
|
@@ -0,0 +1,76 @@
|
|
|
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-3ZO3M37V.js";
|
|
22
|
+
|
|
23
|
+
// packages/cleo/src/cli/commands/doctor-credentials.ts
|
|
24
|
+
import { join } from "node:path";
|
|
25
|
+
import { getCleoHome, getProjectRoot } from "@cleocode/core/paths.js";
|
|
26
|
+
import {
|
|
27
|
+
auditAgentRegistryKeys,
|
|
28
|
+
migrateProjectCredentialsAtRoot
|
|
29
|
+
} from "@cleocode/core/store/credential-transfer.js";
|
|
30
|
+
var doctorCredentialsCommand = defineCommand({
|
|
31
|
+
meta: {
|
|
32
|
+
name: "credentials",
|
|
33
|
+
description: "Report project credentials still encrypted under the legacy path-bound key (moving the project would strand them) and agent registry keys that are not recoverable. --fix re-keys project credentials to the project's identity in place and flags unrecoverable agent keys requires_reauth. Idempotent; never deletes. Unrecoverable credentials are listed with their re-entry command."
|
|
34
|
+
},
|
|
35
|
+
args: {
|
|
36
|
+
fix: {
|
|
37
|
+
type: "boolean",
|
|
38
|
+
description: "Re-key path-bound credentials in place (default: report only)."
|
|
39
|
+
},
|
|
40
|
+
json: { type: "boolean", description: "Output as JSON" },
|
|
41
|
+
human: { type: "boolean", description: "Force human-readable output" },
|
|
42
|
+
quiet: { type: "boolean", description: "Suppress non-essential output" }
|
|
43
|
+
},
|
|
44
|
+
async run({ args }) {
|
|
45
|
+
const dryRun = args.fix !== true;
|
|
46
|
+
const result = await migrateProjectCredentialsAtRoot(getProjectRoot(), { dryRun });
|
|
47
|
+
const agents = await auditAgentRegistryKeys(join(getCleoHome(), "cleo.db"), { dryRun });
|
|
48
|
+
cliOutput(
|
|
49
|
+
{
|
|
50
|
+
projectDbPath: result.projectDbPath,
|
|
51
|
+
projectId: result.projectId,
|
|
52
|
+
applied: !result.dryRun,
|
|
53
|
+
[result.dryRun ? "wouldMigrate" : "migrated"]: result.migrated,
|
|
54
|
+
current: result.current,
|
|
55
|
+
requiresReentry: result.reentry,
|
|
56
|
+
agentRegistry: {
|
|
57
|
+
globalDbPath: agents.globalDbPath,
|
|
58
|
+
current: agents.current,
|
|
59
|
+
requiresReentry: agents.reentry,
|
|
60
|
+
flaggedRequiresReauth: agents.flagged
|
|
61
|
+
}
|
|
62
|
+
},
|
|
63
|
+
{ command: "doctor", operation: "doctor.credentials.run" }
|
|
64
|
+
);
|
|
65
|
+
const pending = result.dryRun && result.migrated.length > 0;
|
|
66
|
+
const unrecoverable = result.reentry.length + agents.reentry.length;
|
|
67
|
+
if ((pending || unrecoverable > 0) && (process.exitCode ?? 0) === 0) {
|
|
68
|
+
process.exitCode = 1;
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
});
|
|
72
|
+
|
|
73
|
+
export {
|
|
74
|
+
doctorCredentialsCommand
|
|
75
|
+
};
|
|
76
|
+
//# sourceMappingURL=chunk-BCEXRFA2.js.map
|
|
@@ -0,0 +1,124 @@
|
|
|
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-3ZO3M37V.js";
|
|
23
|
+
|
|
24
|
+
// packages/cleo/src/cli/commands/llm-cost.ts
|
|
25
|
+
import { getProjectRoot } from "@cleocode/core/internal";
|
|
26
|
+
import { computeCost } from "@cleocode/core/llm/usage-pricing";
|
|
27
|
+
function resolveSessionId(raw) {
|
|
28
|
+
if (raw === "current") {
|
|
29
|
+
const envId = process.env["CLEO_SESSION_ID"];
|
|
30
|
+
if (envId) return envId;
|
|
31
|
+
return "current";
|
|
32
|
+
}
|
|
33
|
+
return raw;
|
|
34
|
+
}
|
|
35
|
+
async function loadSessionCostBreakdown(projectRoot, sessionId) {
|
|
36
|
+
const { listTokenUsage } = await import(
|
|
37
|
+
/* webpackIgnore: true */
|
|
38
|
+
"@cleocode/core/internal"
|
|
39
|
+
);
|
|
40
|
+
const result = await listTokenUsage(projectRoot, {
|
|
41
|
+
sessionId,
|
|
42
|
+
limit: 1e3
|
|
43
|
+
// Practical upper bound for a single session.
|
|
44
|
+
});
|
|
45
|
+
const entries = result.records.map(
|
|
46
|
+
(row) => {
|
|
47
|
+
const usage = {
|
|
48
|
+
inputTokens: row.inputTokens,
|
|
49
|
+
outputTokens: row.outputTokens
|
|
50
|
+
};
|
|
51
|
+
const model = row.model ?? "unknown";
|
|
52
|
+
return {
|
|
53
|
+
id: row.id,
|
|
54
|
+
provider: row.provider,
|
|
55
|
+
model: row.model,
|
|
56
|
+
usage,
|
|
57
|
+
costUsd: computeCost(usage, model),
|
|
58
|
+
createdAt: row.createdAt
|
|
59
|
+
};
|
|
60
|
+
}
|
|
61
|
+
);
|
|
62
|
+
entries.sort((a, b) => a.createdAt.localeCompare(b.createdAt));
|
|
63
|
+
return entries;
|
|
64
|
+
}
|
|
65
|
+
var costCommand = defineCommand({
|
|
66
|
+
meta: {
|
|
67
|
+
name: "cost",
|
|
68
|
+
description: 'Compute cumulative USD cost for an LLM session from recorded token_usage entries. Use "current" to resolve the active session from CLEO_SESSION_ID. Returns totalUsd=0 when no usage records exist yet (ADR-072 Wave 4b pending).'
|
|
69
|
+
},
|
|
70
|
+
args: {
|
|
71
|
+
sessionId: {
|
|
72
|
+
type: "positional",
|
|
73
|
+
description: 'Session id to query, or "current" for the active session',
|
|
74
|
+
required: true
|
|
75
|
+
},
|
|
76
|
+
json: {
|
|
77
|
+
type: "boolean",
|
|
78
|
+
description: "Output as JSON"
|
|
79
|
+
}
|
|
80
|
+
},
|
|
81
|
+
async run({ args }) {
|
|
82
|
+
const a = args;
|
|
83
|
+
const rawSessionId = String(a["sessionId"] ?? "");
|
|
84
|
+
if (!rawSessionId) {
|
|
85
|
+
cliError("session-id is required", 6, {
|
|
86
|
+
name: "E_VALIDATION",
|
|
87
|
+
fix: 'Provide a session id or "current": cleo llm cost <session-id>'
|
|
88
|
+
});
|
|
89
|
+
process.exit(6);
|
|
90
|
+
}
|
|
91
|
+
const sessionId = resolveSessionId(rawSessionId);
|
|
92
|
+
const projectRoot = getProjectRoot(process.cwd());
|
|
93
|
+
let breakdown;
|
|
94
|
+
try {
|
|
95
|
+
breakdown = await loadSessionCostBreakdown(projectRoot, sessionId);
|
|
96
|
+
} catch (err) {
|
|
97
|
+
const message = err instanceof Error ? err.message : String(err);
|
|
98
|
+
cliError(`Failed to query token_usage: ${message}`, 1, {
|
|
99
|
+
name: "E_QUERY_FAILED",
|
|
100
|
+
fix: "Ensure tasks.db is initialized: cleo session start"
|
|
101
|
+
});
|
|
102
|
+
process.exit(1);
|
|
103
|
+
}
|
|
104
|
+
const totalUsd = breakdown.reduce((sum, entry) => sum + entry.costUsd, 0);
|
|
105
|
+
const result = {
|
|
106
|
+
sessionId,
|
|
107
|
+
totalUsd,
|
|
108
|
+
recordCount: breakdown.length,
|
|
109
|
+
breakdown
|
|
110
|
+
};
|
|
111
|
+
if (breakdown.length === 0) {
|
|
112
|
+
result.note = "No token_usage records found for this session. Live usage wiring is pending ADR-072 Wave 4b (LlmExecutor done event). Records will appear automatically once that wave ships.";
|
|
113
|
+
}
|
|
114
|
+
cliOutput(result, {
|
|
115
|
+
command: "llm-cost",
|
|
116
|
+
operation: "llm.cost"
|
|
117
|
+
});
|
|
118
|
+
}
|
|
119
|
+
});
|
|
120
|
+
|
|
121
|
+
export {
|
|
122
|
+
costCommand
|
|
123
|
+
};
|
|
124
|
+
//# sourceMappingURL=chunk-BPEVD37G.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,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-3ZO3M37V.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-DVTPIZJM.js.map
|
|
@@ -0,0 +1,96 @@
|
|
|
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-3ZO3M37V.js";
|
|
24
|
+
|
|
25
|
+
// packages/cleo/src/cli/commands/doctor-repair.ts
|
|
26
|
+
import { DB_INVENTORY, ExitCode } from "@cleocode/contracts";
|
|
27
|
+
import { getLogger, getProjectRoot } from "@cleocode/core";
|
|
28
|
+
import { repairMalformedDbs } from "@cleocode/core/store/repair-malformed-dbs.js";
|
|
29
|
+
var doctorRepairCommand = defineCommand({
|
|
30
|
+
meta: {
|
|
31
|
+
name: "repair",
|
|
32
|
+
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."
|
|
33
|
+
},
|
|
34
|
+
args: {
|
|
35
|
+
role: {
|
|
36
|
+
type: "string",
|
|
37
|
+
description: `Repair only this DB role (one of: ${DB_INVENTORY.map((e) => e.role).join(", ")})`,
|
|
38
|
+
default: ""
|
|
39
|
+
},
|
|
40
|
+
"dry-run": {
|
|
41
|
+
type: "boolean",
|
|
42
|
+
description: "Detect + plan only \u2014 report what would be repaired without quarantining/restoring",
|
|
43
|
+
default: false
|
|
44
|
+
},
|
|
45
|
+
"confirm-owner-store": {
|
|
46
|
+
type: "boolean",
|
|
47
|
+
description: "From inside a git worktree: allow overwriting the owning project's LIVE store (refused without it)",
|
|
48
|
+
default: false
|
|
49
|
+
}
|
|
50
|
+
},
|
|
51
|
+
run({ args }) {
|
|
52
|
+
const roleArg = typeof args.role === "string" ? args.role.trim() : "";
|
|
53
|
+
const dryRun = args["dry-run"] === true;
|
|
54
|
+
if (roleArg.length > 0 && !DB_INVENTORY.some((e) => e.role === roleArg)) {
|
|
55
|
+
const validRoles = DB_INVENTORY.map((e) => e.role).join(", ");
|
|
56
|
+
cliError(
|
|
57
|
+
`Unknown DB role "${roleArg}". Valid roles: ${validRoles}.`,
|
|
58
|
+
ExitCode.VALIDATION_ERROR,
|
|
59
|
+
{
|
|
60
|
+
name: "E_VALIDATION",
|
|
61
|
+
fix: "Run `cleo doctor repair --help` for the list of valid roles."
|
|
62
|
+
},
|
|
63
|
+
{ command: "doctor repair" }
|
|
64
|
+
);
|
|
65
|
+
process.exitCode = ExitCode.VALIDATION_ERROR;
|
|
66
|
+
return;
|
|
67
|
+
}
|
|
68
|
+
const result = repairMalformedDbs({
|
|
69
|
+
projectRoot: getProjectRoot(),
|
|
70
|
+
roles: roleArg.length > 0 ? [roleArg] : void 0,
|
|
71
|
+
dryRun,
|
|
72
|
+
logger: getLogger("doctor-repair"),
|
|
73
|
+
// T12708: the invocation directory; core never falls back to it.
|
|
74
|
+
cwd: process.cwd(),
|
|
75
|
+
confirmOwnerStore: args["confirm-owner-store"] === true
|
|
76
|
+
});
|
|
77
|
+
for (const r of result.roles) {
|
|
78
|
+
if (!r.healthy) {
|
|
79
|
+
humanInfo(` [${r.action.toUpperCase()}] ${r.role} \u2014 ${r.detail}`);
|
|
80
|
+
}
|
|
81
|
+
}
|
|
82
|
+
const verb = dryRun ? "would repair" : "repaired";
|
|
83
|
+
cliOutput(result, {
|
|
84
|
+
command: "doctor repair",
|
|
85
|
+
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.`
|
|
86
|
+
});
|
|
87
|
+
if (result.failedCount > 0) {
|
|
88
|
+
process.exitCode = ExitCode.GENERAL_ERROR;
|
|
89
|
+
}
|
|
90
|
+
}
|
|
91
|
+
});
|
|
92
|
+
|
|
93
|
+
export {
|
|
94
|
+
doctorRepairCommand
|
|
95
|
+
};
|
|
96
|
+
//# sourceMappingURL=chunk-DYABOIHB.js.map
|
|
@@ -0,0 +1,51 @@
|
|
|
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-3ZO3M37V.js";
|
|
22
|
+
|
|
23
|
+
// packages/cleo/src/cli/commands/doctor-nexus-residency.ts
|
|
24
|
+
import { getCleoHome, getProjectRoot } from "@cleocode/core";
|
|
25
|
+
import { scanNexusSchemaResidency } from "@cleocode/core/doctor/nexus-schema-residency.js";
|
|
26
|
+
var doctorNexusResidencyCommand = defineCommand({
|
|
27
|
+
meta: {
|
|
28
|
+
name: "nexus-residency",
|
|
29
|
+
description: "Report nexus tables resident in the wrong store \u2014 graph tables orphaned in the global cleo.db, or a bare-name registry table that resolves in both schemas. 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 result = scanNexusSchemaResidency(getProjectRoot(), getCleoHome());
|
|
38
|
+
cliOutput(result, {
|
|
39
|
+
command: "doctor",
|
|
40
|
+
operation: "doctor.nexus-residency.run"
|
|
41
|
+
});
|
|
42
|
+
if (result.findings.length > 0 && (process.exitCode === void 0 || process.exitCode === 0)) {
|
|
43
|
+
process.exitCode = 1;
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
});
|
|
47
|
+
|
|
48
|
+
export {
|
|
49
|
+
doctorNexusResidencyCommand
|
|
50
|
+
};
|
|
51
|
+
//# sourceMappingURL=chunk-EBRZ76HS.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-3ZO3M37V.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-EGOTK2HA.js.map
|