@cleocode/cleo 2026.10.4 → 2026.10.5
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/README.md +7 -0
- package/dist/cli/{adapter-LVXHFBC4.js → adapter-OUQRSFZL.js} +10 -9
- package/dist/cli/{add-WUAV7LDT.js → add-4SRRJL4U.js} +18 -18
- package/dist/cli/{add-batch-U2DLKAQC.js → add-batch-TSWICA5J.js} +12 -11
- package/dist/cli/admin-L3F6CDYH.js +1428 -0
- package/dist/cli/{admin-I7BQYVZD.js → admin-YMU55YCU.js} +10 -9
- package/dist/cli/{adr-K2THMQBS.js → adr-XESRMFMP.js} +10 -9
- package/dist/cli/{agent-WQ6XY2DW.js → agent-TAFPIYUU.js} +66 -28
- package/dist/cli/{agent-outputs-BJIYLVTU.js → agent-outputs-HVJJIPS4.js} +3 -3
- package/dist/cli/{analyze-PGQZWGOC.js → analyze-YQ22QVGW.js} +10 -9
- package/dist/cli/{archive-5LZPF7C3.js → archive-W5XX6AH7.js} +10 -9
- package/dist/cli/{archive-stats-U6CYC6JM.js → archive-stats-HP2KPAJU.js} +10 -9
- package/dist/cli/attention-7JBDCRZX.js +124 -0
- package/dist/cli/{attention-SOURWCNI.js → attention-ZXZANHKC.js} +13 -12
- package/dist/cli/{audit-FO2Y4LH2.js → audit-ICA2SEFN.js} +2 -2
- package/dist/cli/{auth-ED7TAIXI.js → auth-DXIG5OG7.js} +5 -5
- package/dist/cli/{backfill-32TRAYRD.js → backfill-LBSYBWLR.js} +2 -2
- package/dist/cli/{backup-LEJMZJKL.js → backup-NUGBZ7NA.js} +17 -16
- package/dist/cli/{backup-inspect-6HPLUEI2.js → backup-inspect-PDRXI45A.js} +3 -3
- package/dist/cli/{backup-recover-2BTYBZU2.js → backup-recover-TVKAPERB.js} +3 -3
- package/dist/cli/{blockers-5JULUJTV.js → blockers-ZOPCGHDW.js} +10 -9
- package/dist/cli/{brain-273N3FW4.js → brain-EJOBKL4A.js} +9 -12
- package/dist/cli/{briefing-7H6OLECX.js → briefing-RDQJ6WHS.js} +11 -10
- package/dist/cli/{caamp-MFQVN6VU.js → caamp-Z3XPKEHB.js} +2 -2
- package/dist/cli/{cancel-SCMJTXZB.js → cancel-S7EHLCJN.js} +10 -9
- package/dist/cli/{cant-46XCUP4P.js → cant-CHNN6O57.js} +2 -2
- package/dist/cli/{changeset-32NMBGG2.js → changeset-RYPHPN2B.js} +4 -6
- package/dist/cli/check-C67YAU7W.js +759 -0
- package/dist/cli/{check-RWJLBCI2.js → check-DHMURGHC.js} +30 -13
- package/dist/cli/{checkpoint-37HMMKD7.js → checkpoint-UWDFOGYQ.js} +3 -3
- package/dist/cli/{chunk-NRKWJLMS.js → chunk-22YPFZYB.js} +2 -2
- package/dist/cli/{chunk-I3CRQQAD.js → chunk-2MGFDMDF.js} +84 -37
- package/dist/cli/{chunk-BCEXRFA2.js → chunk-4JYHPP4C.js} +2 -2
- package/dist/cli/{chunk-A2IUEIM5.js → chunk-4PEODTHY.js} +2 -2
- package/dist/cli/{chunk-3ZO3M37V.js → chunk-4RGSNUUP.js} +118 -170
- package/dist/cli/{chunk-AWCQH2W5.js → chunk-4VASFLUW.js} +2 -2
- package/dist/cli/{chunk-BPEVD37G.js → chunk-5PNI276X.js} +2 -2
- package/dist/cli/{chunk-OGV57L4J.js → chunk-6N6WGLXE.js} +6 -2
- package/dist/cli/{chunk-KHB52JNB.js → chunk-75UH3BLS.js} +4 -3
- package/dist/cli/{chunk-5ZFFUFH7.js → chunk-7ACK4EIN.js} +2 -2
- package/dist/cli/{chunk-MNJRLSEQ.js → chunk-7NMKLVMI.js} +2 -2
- package/dist/cli/{chunk-GFGLLDXX.js → chunk-7SINJXB6.js} +2 -2
- package/dist/cli/{chunk-KJDWWQFY.js → chunk-7UARFJYS.js} +3 -3
- package/dist/cli/{chunk-JNZJPIPJ.js → chunk-7ZYPQV4N.js} +3 -3
- package/dist/cli/{chunk-DVTPIZJM.js → chunk-AQCYT3L4.js} +2 -2
- package/dist/cli/{chunk-EGOTK2HA.js → chunk-BQK6XTOH.js} +2 -2
- package/dist/cli/{chunk-DYABOIHB.js → chunk-CAPAGD5E.js} +6 -4
- package/dist/cli/{chunk-ZZTHTMQP.js → chunk-CHGEDCKG.js} +3 -3
- package/dist/cli/{chunk-QPUY2HQZ.js → chunk-COXFJ3PT.js} +2 -2
- package/dist/cli/chunk-D7BAQNV2.js +55 -0
- package/dist/cli/{chunk-OPTEQKBB.js → chunk-EIUXVHNF.js} +3 -3
- package/dist/cli/{chunk-3PGH67MT.js → chunk-EUGB6P5V.js} +4 -6
- package/dist/cli/chunk-EW2CKNNZ.js +304 -0
- package/dist/cli/{chunk-2JIJD2I7.js → chunk-FSKN4DWC.js} +2 -2
- package/dist/cli/{chunk-NSHV2JNM.js → chunk-FVKLULL7.js} +2 -2
- package/dist/cli/{chunk-GH37QXW5.js → chunk-GAGUBU4Z.js} +2 -2
- package/dist/cli/{chunk-37NU2XDP.js → chunk-GKRFH2YG.js} +2 -2
- package/dist/cli/{chunk-ULN4OKQQ.js → chunk-GRU74UE4.js} +21 -10
- package/dist/cli/{chunk-LKNUA3SB.js → chunk-HFLLZE6A.js} +2 -2
- package/dist/cli/{chunk-YGKEECTI.js → chunk-HXRXT3XU.js} +2 -2
- package/dist/cli/{chunk-REUTEW3O.js → chunk-IIOGUY3B.js} +6 -6
- package/dist/cli/chunk-ILWWL462.js +60 -0
- package/dist/cli/{chunk-XRAX6XFP.js → chunk-J5USPJKZ.js} +2 -2
- package/dist/cli/{chunk-S24YI723.js → chunk-KEQS36GD.js} +4 -4
- package/dist/cli/chunk-L7ONYSV6.js +2497 -0
- package/dist/cli/chunk-NEFMQYLE.js +656 -0
- package/dist/cli/{chunk-QFFQSKRC.js → chunk-NU6CQQVB.js} +6 -2
- package/dist/cli/{chunk-5J2VH3BC.js → chunk-PN4WW5VX.js} +3 -3
- package/dist/cli/{chunk-AYA6F4ZT.js → chunk-PSJ33WVO.js} +3 -3
- package/dist/cli/{chunk-FORFDPP5.js → chunk-QJJWWCIC.js} +3 -3
- package/dist/cli/{chunk-ZBISIPCK.js → chunk-QKMBWYAS.js} +16 -1
- package/dist/cli/chunk-QWNKLLLG.js +84 -0
- package/dist/cli/{chunk-7INMKEAD.js → chunk-QWUFFDL3.js} +2 -2
- package/dist/cli/chunk-QY76BRUZ.js +35 -0
- package/dist/cli/chunk-R45KVF5Y.js +117 -0
- package/dist/cli/{chunk-W33Q3FBH.js → chunk-RRKP7HLU.js} +3 -3
- package/dist/cli/{chunk-YUZJI67I.js → chunk-T6GZJYL3.js} +2 -2
- package/dist/cli/{chunk-LWQBJQSE.js → chunk-TLQ37HRE.js} +3 -3
- package/dist/cli/chunk-TPTNEJZJ.js +52 -0
- package/dist/cli/chunk-TYC7G5LF.js +100 -0
- package/dist/cli/{chunk-J3ZFM3UQ.js → chunk-UWCZY52R.js} +25 -13
- package/dist/cli/{chunk-V5GBGOGM.js → chunk-VB3LDPL5.js} +2 -2
- package/dist/cli/chunk-WWCYZYSN.js +56 -0
- package/dist/cli/{chunk-EBRZ76HS.js → chunk-XA5WISNV.js} +4 -3
- package/dist/cli/chunk-XHRZ7OYZ.js +132 -0
- package/dist/cli/{chunk-EOPQFCSR.js → chunk-XLPMIGJJ.js} +6 -6
- package/dist/cli/{chunk-NWTATTEQ.js → chunk-ZMGDZMSJ.js} +2 -2
- package/dist/cli/{claim-KPENYHIQ.js → claim-IGOG2QOC.js} +10 -9
- package/dist/cli/{classify-DRVMCFQU.js → classify-MG4N7GMQ.js} +2 -2
- package/dist/cli/{cli-T3CR7J57.js → cli-A23Q335V.js} +10 -7
- package/dist/cli/{cloud-PPQ4O5TX.js → cloud-SILYJVKO.js} +194 -28
- package/dist/cli/{code-Z5CTMVTD.js → code-H2FQCVMW.js} +2 -2
- package/dist/cli/{complete-UBOCOBRB.js → complete-JLX7NBI4.js} +9 -8
- package/dist/cli/{complexity-BV2AGQRZ.js → complexity-OKV7PVZH.js} +10 -9
- package/dist/cli/{compliance-32PD5Y47.js → compliance-QMGZHJNQ.js} +10 -9
- package/dist/cli/{conduit-VDKCH33F.js → conduit-4H32UYEA.js} +10 -9
- package/dist/cli/conduit-EY54WTZA.js +535 -0
- package/dist/cli/{config-I72JAXK4.js → config-TDYOC7XO.js} +21 -18
- package/dist/cli/{consensus-LFILLSTK.js → consensus-4XCOFPPT.js} +10 -9
- package/dist/cli/{context-XUUVFVTP.js → context-FN4YTGHD.js} +12 -11
- package/dist/cli/{contribution-37NQ4N5R.js → contribution-7RWFBJLC.js} +10 -9
- package/dist/cli/{curator-TFDXU2EX.js → curator-HKZJCVRL.js} +2 -2
- package/dist/cli/{current-C4SN5BWV.js → current-B2NU7V3G.js} +10 -9
- package/dist/cli/{daemon-DV25JQ62.js → daemon-GBD4TVCD.js} +11 -10
- package/dist/cli/{dash-TFU4RLQW.js → dash-IGDANIE5.js} +10 -9
- package/dist/cli/{decide-5VPMNTSI.js → decide-26SXC2V6.js} +5 -8
- package/dist/cli/{decompose-KOYEZNJL.js → decompose-LQ76TEZG.js} +11 -10
- package/dist/cli/{decomposition-7OHUFIQN.js → decomposition-WFRWNUSJ.js} +10 -9
- package/dist/cli/{delete-Q7YCAFY5.js → delete-T5DUQHOX.js} +11 -10
- package/dist/cli/{deps-6UZKLDGJ.js → deps-UTPZJBXL.js} +17 -18
- package/dist/cli/{detect-FERY35UL.js → detect-FFZSMVDT.js} +10 -9
- package/dist/cli/{detect-drift-UL2JTPUK.js → detect-drift-TVCJOFYJ.js} +7 -7
- package/dist/cli/diagnostics-GN5CVD3N.js +93 -0
- package/dist/cli/{diagnostics-TI5QAZXR.js → diagnostics-ZNBKH6GX.js} +10 -9
- package/dist/cli/docs-CLQKEEUK.js +1710 -0
- package/dist/cli/{docs-QI2PRN3T.js → docs-DPPDFTWR.js} +45 -42
- package/dist/cli/{doctor-AX5TICQO.js → doctor-GPENOP4N.js} +79 -62
- package/dist/cli/{doctor-ac-bindings-YPMYHU2G.js → doctor-ac-bindings-S3IOEFP4.js} +3 -3
- package/dist/cli/{doctor-acceptance-drift-PYNFGMKB.js → doctor-acceptance-drift-VNFKPBSQ.js} +3 -3
- package/dist/cli/{doctor-credentials-UZRIADKM.js → doctor-credentials-A5H4JMTF.js} +3 -3
- package/dist/cli/{doctor-db-substrate-Q2TOYM2S.js → doctor-db-substrate-FGCISE4Z.js} +3 -3
- package/dist/cli/{doctor-dep-cycles-GCVYZY6F.js → doctor-dep-cycles-BKKKHHYG.js} +3 -3
- package/dist/cli/{doctor-exodus-RO5SUTC2.js → doctor-exodus-ND2DH2KP.js} +3 -3
- package/dist/cli/{doctor-exodus-residue-EM2AWQXP.js → doctor-exodus-residue-4EMRYMEQ.js} +3 -3
- package/dist/cli/{doctor-fk-check-Q3FOLECE.js → doctor-fk-check-VY3RIQV3.js} +3 -3
- package/dist/cli/{doctor-global-delivery-TNOAQ3NP.js → doctor-global-delivery-JN6IGHUL.js} +3 -3
- package/dist/cli/{doctor-heavy-command-hook-IO3QAQLG.js → doctor-heavy-command-hook-XSN44WXU.js} +3 -3
- package/dist/cli/{doctor-legacy-backups-O2YH5VLS.js → doctor-legacy-backups-QAG5NHYP.js} +3 -3
- package/dist/cli/{doctor-legacy-reaper-VSEJEIFA.js → doctor-legacy-reaper-CIRGFE6R.js} +3 -3
- package/dist/cli/{doctor-malformed-ids-LQ766V5K.js → doctor-malformed-ids-WL7HT4TB.js} +3 -3
- package/dist/cli/{doctor-manifest-rows-6FQDNHLH.js → doctor-manifest-rows-SMQCKJ2T.js} +3 -3
- package/dist/cli/{doctor-memory-guard-J4PSEKB5.js → doctor-memory-guard-LJDOJG76.js} +3 -3
- package/dist/cli/{doctor-migrations-ONOH56YM.js → doctor-migrations-ETQPFNUP.js} +3 -3
- package/dist/cli/{doctor-nexus-residency-FUQAX7PV.js → doctor-nexus-residency-A4JMKBEJ.js} +3 -3
- package/dist/cli/{doctor-project-identity-GUDK3HYX.js → doctor-project-identity-FFQJ5LNX.js} +3 -3
- package/dist/cli/{doctor-projects-7L3BNL4O.js → doctor-projects-MFUTKRHP.js} +3 -3
- package/dist/cli/{doctor-projects-registry-TEAVHFQU.js → doctor-projects-registry-76X6VTGM.js} +3 -3
- package/dist/cli/{doctor-release-readiness-IEGHX6SL.js → doctor-release-readiness-QJCOPFTK.js} +3 -3
- package/dist/cli/{doctor-repair-NBONOSZU.js → doctor-repair-AU76FIKY.js} +3 -3
- package/dist/cli/doctor-row-identity-KW6JYZQE.js +26 -0
- package/dist/cli/{doctor-skill-fixtures-7Y6L34A3.js → doctor-skill-fixtures-G3T7JUHS.js} +3 -3
- package/dist/cli/{doctor-split-brain-TUKIGVHF.js → doctor-split-brain-FUW6L7FS.js} +3 -3
- package/dist/cli/{doctor-superseded-store-BHZY2B2L.js → doctor-superseded-store-DUHGSBLC.js} +3 -3
- package/dist/cli/doctor-sync-journal-SXMUIKF7.js +26 -0
- package/dist/cli/doctor-sync-triggers-6WNJZFRM.js +26 -0
- package/dist/cli/{doctor-tool-locks-REQMIVYK.js → doctor-tool-locks-66LSLUBN.js} +3 -3
- package/dist/cli/{doctor-twin-collapse-222GOSPE.js → doctor-twin-collapse-AYBYBFC4.js} +3 -3
- package/dist/cli/{doctor-worktree-stores-J7TCRVJ3.js → doctor-worktree-stores-C5XEH5OG.js} +3 -3
- package/dist/cli/{done-V3AOO65B.js → done-R64XRZ32.js} +11 -10
- package/dist/cli/entities-3JIHDIOK.js +361 -0
- package/dist/cli/{event-EGNPGE5A.js → event-45KEWV5H.js} +2 -2
- package/dist/cli/{exists-H4SDCBPL.js → exists-BEDZS5RI.js} +3 -3
- package/dist/cli/{exodus-KALO3B3X.js → exodus-DUX62344.js} +3 -3
- package/dist/cli/{export-ROFOCG4M.js → export-C5PQIQ5O.js} +11 -10
- package/dist/cli/{export-tasks-US3WBIEQ.js → export-tasks-CUXDZPJB.js} +11 -10
- package/dist/cli/{federation-SUIB5QWT.js → federation-ESM35EGG.js} +3 -3
- package/dist/cli/{find-YICG4BG6.js → find-5EUZHHQJ.js} +13 -12
- package/dist/cli/focus-6AH4KLRO.js +368 -0
- package/dist/cli/{focus-TKCZPKOM.js → focus-ANKAIRO5.js} +10 -9
- package/dist/cli/{gateway-H4HFDC3E.js → gateway-2GW2KTK3.js} +2 -2
- package/dist/cli/{gc-5R2TUY5T.js → gc-CTOQLUSA.js} +2 -2
- package/dist/cli/{go-PRQFK5YG.js → go-YJPNHHYT.js} +6 -6
- package/dist/cli/{goal-7CZRMLHC.js → goal-4GW4G77D.js} +4 -3
- package/dist/cli/{grade-PY2YRPUS.js → grade-25WSZH4X.js} +10 -9
- package/dist/cli/{graph-XIXMCFKG.js → graph-JUO3TMF3.js} +11 -10
- package/dist/cli/{history-EIXADPAD.js → history-NACNUQTC.js} +10 -9
- package/dist/cli/{import-R73SO444.js → import-7ESGL5SS.js} +10 -9
- package/dist/cli/{import-tasks-O22FZJ4U.js → import-tasks-FLE2RPBR.js} +10 -9
- package/dist/cli/index.js +395 -238
- package/dist/cli/{init-IHEJDQWU.js → init-AN4DZ2XO.js} +5 -5
- package/dist/cli/{inject-LSRVWNCP.js → inject-HQWA5GWY.js} +10 -9
- package/dist/cli/{install-global-4AZUCH6U.js → install-global-YQV4W5OG.js} +2 -2
- package/dist/cli/intelligence-OFFNQGHE.js +238 -0
- package/dist/cli/{intelligence-2OSFOGD2.js → intelligence-QIC4SN4X.js} +10 -9
- package/dist/cli/{issue-IIWEDNFC.js → issue-P5RNMRDG.js} +10 -9
- package/dist/cli/{janitor-GPMC7VOR.js → janitor-ZNCFQ7E3.js} +2 -2
- package/dist/cli/{labels-5NPOIQXN.js → labels-ORBM3T57.js} +10 -9
- package/dist/cli/{lifecycle-4FFS2K2T.js → lifecycle-MHR22TVI.js} +13 -12
- package/dist/cli/{list-47KEUGPQ.js → list-LB6GCYYU.js} +14 -13
- package/dist/cli/llm-H7LZWQKX.js +130 -0
- package/dist/cli/{llm-G5B3I6GD.js → llm-OTJWPMGI.js} +14 -13
- package/dist/cli/{llm-cost-S7RS6BVA.js → llm-cost-MLMXEAR4.js} +3 -3
- package/dist/cli/{llm-stream-24A45NTS.js → llm-stream-AAEUNKRP.js} +3 -3
- package/dist/cli/{log-XF6H2XSD.js → log-W2A5M2NA.js} +10 -9
- package/dist/cli/{login-LBPLGHYG.js → login-SIXFFZSP.js} +6 -4
- package/dist/cli/{logout-SX4JSJIV.js → logout-G3KVLQQM.js} +5 -5
- package/dist/cli/{manifest-NMCW4PIW.js → manifest-G4T6EBSI.js} +10 -9
- package/dist/cli/{map-BU72KMGF.js → map-VU5M72TK.js} +10 -9
- package/dist/cli/{memory-UHYIVGVM.js → memory-2E27G2G5.js} +17 -21
- package/dist/cli/memory-IAEYKXG6.js +1895 -0
- package/dist/cli/{migrate-agents-v2-OO7OILZK.js → migrate-agents-v2-A52QIYNJ.js} +3 -3
- package/dist/cli/{migrate-claude-mem-EDNYUY3K.js → migrate-claude-mem-TPDW3R4Z.js} +17 -12
- package/dist/cli/{next-RZFRG5X7.js → next-SVH4LIDY.js} +10 -9
- package/dist/cli/nexus-FPQV2EAF.js +1059 -0
- package/dist/cli/{nexus-4S4Z5EVU.js → nexus-XSFXN5E6.js} +14 -13
- package/dist/cli/{ops-KR7AWCG3.js → ops-K6LHY5J6.js} +10 -9
- package/dist/cli/orchestrate-CZ2J6W3L.js +1650 -0
- package/dist/cli/{orchestrate-HOYZY3VX.js → orchestrate-HURUCQFT.js} +13 -11
- package/dist/cli/{otel-U7IIRBCT.js → otel-JCNPVJLZ.js} +2 -2
- package/dist/cli/{phase-NYZFHUE5.js → phase-VDFRASSO.js} +10 -9
- package/dist/cli/pipeline-TCZPOEDR.js +697 -0
- package/dist/cli/{pivot-FF2CVUZL.js → pivot-V5MSQZ7L.js} +10 -9
- package/dist/cli/{plan-3SL2NTRV.js → plan-SQUGCKSM.js} +10 -9
- package/dist/cli/{playbook-2FCBV7N3.js → playbook-L47GLDQD.js} +10 -9
- package/dist/cli/playbook-NJVO4R6P.js +33 -0
- package/dist/cli/{project-WDX2TGMC.js → project-YZEC7GYF.js} +6 -5
- package/dist/cli/{promote-YINYFBZY.js → promote-FINF4HVK.js} +10 -9
- package/dist/cli/provenance-3TUWVBFR.js +141 -0
- package/dist/cli/{provenance-C7AYD7WG.js → provenance-YZG33JGM.js} +10 -9
- package/dist/cli/{provider-QLJEDQBR.js → provider-23JVLLG3.js} +10 -9
- package/dist/cli/{reason-JF5BHBM5.js → reason-FHN54O7O.js} +10 -9
- package/dist/cli/{reconcile-NMISHDGX.js → reconcile-MOM5T4AX.js} +11 -10
- package/dist/cli/{refresh-memory-EY5YNICV.js → refresh-memory-3OSTRAVK.js} +2 -2
- package/dist/cli/{relates-R3ZPICAY.js → relates-6FWUFUS2.js} +10 -9
- package/dist/cli/release-G2DPSG5M.js +347 -0
- package/dist/cli/{release-4ZJTMUUT.js → release-URX6JHZ2.js} +10 -9
- package/dist/cli/{remote-QSONJDIK.js → remote-VIULU2T5.js} +3 -3
- package/dist/cli/{renderers-64OR3IWX.js → renderers-TGSW77J4.js} +2 -2
- package/dist/cli/{reorder-J3DOE7ST.js → reorder-UIPN6TQY.js} +10 -9
- package/dist/cli/{reparent-2OUMKEZX.js → reparent-ALOWWUIU.js} +10 -9
- package/dist/cli/{req-TZB7OFKO.js → req-RH2Y3H7A.js} +10 -9
- package/dist/cli/{research-MTD7EX45.js → research-G2Y72HRC.js} +10 -9
- package/dist/cli/{restore-VEUOX7NF.js → restore-VBR5XNML.js} +62 -15
- package/dist/cli/{revert-3YF2IL5G.js → revert-32LDNSGP.js} +2 -2
- package/dist/cli/{roadmap-7OOQLXKG.js → roadmap-LFU3AG7D.js} +10 -9
- package/dist/cli/{run-2U5NZV5Z.js → run-HXRILSR7.js} +40 -6
- package/dist/cli/{safestop-VR4VK56D.js → safestop-Z5UC7NGQ.js} +10 -9
- package/dist/cli/{saga-SEWPIOX2.js → saga-Y6FZS6AM.js} +12 -11
- package/dist/cli/{schema-C52WZ35V.js → schema-OOOKLWUE.js} +5 -5
- package/dist/cli/{self-update-GQIGUDPS.js → self-update-26SOTJMH.js} +3 -3
- package/dist/cli/{selfimprove-3Y5L4ECT.js → selfimprove-4SMOCLUV.js} +10 -9
- package/dist/cli/selfimprove-EB4RQLP4.js +139 -0
- package/dist/cli/sentient-QPETVE53.js +254 -0
- package/dist/cli/{sentient-M4YMAVGV.js → sentient-RGMWR4XJ.js} +2 -2
- package/dist/cli/{sequence-6UBMA4IF.js → sequence-H7DSAJPF.js} +10 -9
- package/dist/cli/{service-5R7SILZ7.js → service-EK5MGB2D.js} +10 -9
- package/dist/cli/service-GLOMZWPQ.js +437 -0
- package/dist/cli/{session-3C6AAC4Y.js → session-HYUXAQGC.js} +12 -11
- package/dist/cli/session-N5ISU56W.js +568 -0
- package/dist/cli/{setup-BTUBW5PU.js → setup-L3YYV53D.js} +4 -4
- package/dist/cli/{show-MXT2V7TF.js → show-364V3KY2.js} +12 -11
- package/dist/cli/{skill-GFUZOU2C.js → skill-F2KR6HW5.js} +2 -2
- package/dist/cli/{skills-EDWLKAF3.js → skills-FS3DCP6E.js} +13 -12
- package/dist/cli/{snapshot-GUWMURCM.js → snapshot-EGXEQ5PR.js} +12 -11
- package/dist/cli/{src-66GAKPXR.js → src-LYLXHXHH.js} +2 -2
- package/dist/cli/{start-QFG56RGN.js → start-6DXOCCKL.js} +10 -9
- package/dist/cli/{stats-GW55P7RR.js → stats-UVUQEGYC.js} +10 -9
- package/dist/cli/{status-46HTKNRR.js → status-XLKYLN42.js} +3 -3
- package/dist/cli/sticky-VSTQ2I2O.js +264 -0
- package/dist/cli/{sticky-2DUZOUGI.js → sticky-XZXZDCFW.js} +12 -11
- package/dist/cli/{stop-J2QEUKHX.js → stop-VNOAFWNB.js} +10 -9
- package/dist/cli/{sync-GJP2QYT5.js → sync-YYPARW3A.js} +11 -10
- package/dist/cli/tasks-C24KHTFF.js +1118 -0
- package/dist/cli/{tasks-BNXTM7PB.js → tasks-LBJC7CZV.js} +10 -9
- package/dist/cli/{telemetry-55Z2XJWL.js → telemetry-CU7W5WAY.js} +2 -2
- package/dist/cli/{templates-7O77TKPV.js → templates-G42JBUY4.js} +9 -11
- package/dist/cli/{testing-37YTBNKP.js → testing-HSRITHEY.js} +10 -9
- package/dist/cli/{token-UAVJMNUI.js → token-J74E7TSU.js} +10 -9
- package/dist/cli/tools-BI74W7VE.js +652 -0
- package/dist/cli/{transcript-LORQTV5Z.js → transcript-RGK7RSGQ.js} +2 -2
- package/dist/cli/{update-NVCYV2FT.js → update-2KQWA27S.js} +19 -17
- package/dist/cli/update-check-entry.js +124 -0
- package/dist/cli/update-notice-6SQ6WPQG.js +68 -0
- package/dist/cli/upgrade-E2MJAPC7.js +136 -0
- package/dist/cli/{upgrade-OXJXOGEF.js → upgrade-XRSQ4RWH.js} +5 -5
- package/dist/cli/{verify-LYLDHPT2.js → verify-WASRGDBA.js} +10 -9
- package/dist/cli/{web-QP2RP266.js → web-NJ3P67EU.js} +4 -4
- package/dist/cli/{workgraph-FXBSZDQE.js → workgraph-OHJ2VKJD.js} +6 -6
- package/dist/cli/{worktree-6RXAJIST.js → worktree-FVQLORFY.js} +10 -9
- package/dist/cli/worktree-ZJ6JTQNG.js +287 -0
- package/package.json +13 -13
- package/studio-dist/client/_app/immutable/chunks/{Btgeq_wq.js → AH7dIemv.js} +1 -1
- package/studio-dist/client/_app/immutable/chunks/{DgEKqO6r.js → BDgH40i3.js} +1 -1
- package/studio-dist/client/_app/immutable/chunks/BXDCSJ7U.js +1 -0
- package/studio-dist/client/_app/immutable/chunks/{CgBjxmu6.js → Gg4iYl59.js} +1 -1
- package/studio-dist/client/_app/immutable/entry/{app.a02HWaRB.js → app.DUDNK-37.js} +2 -2
- package/studio-dist/client/_app/immutable/entry/start.DNmZ0pA4.js +1 -0
- package/studio-dist/client/_app/immutable/nodes/{0.nTXyRfc-.js → 0.DWqP3ail.js} +1 -1
- package/studio-dist/client/_app/immutable/nodes/{1.4zrWeHtl.js → 1.CZGVUP5B.js} +1 -1
- package/studio-dist/client/_app/immutable/nodes/{15.D9mk4JyY.js → 15.DGaflZRS.js} +1 -1
- package/studio-dist/client/_app/immutable/nodes/{16._-wt-sQf.js → 16.uYlarGXl.js} +1 -1
- package/studio-dist/client/_app/immutable/nodes/{17.CUu6LQDj.js → 17.CZMR0E47.js} +1 -1
- package/studio-dist/client/_app/immutable/nodes/{18.Dz4QRTkX.js → 18.CBC-AKH_.js} +1 -1
- package/studio-dist/client/_app/immutable/nodes/{20.CJ2_EB0U.js → 20.BGi43MvQ.js} +1 -1
- package/studio-dist/client/_app/immutable/nodes/{24.Igj2FS7k.js → 24.Dv8ftCyR.js} +1 -1
- package/studio-dist/client/_app/immutable/nodes/25.DQPVlTDQ.js +39 -0
- package/studio-dist/client/_app/immutable/nodes/{26.6iPyjT44.js → 26.Cl800304.js} +1 -1
- package/studio-dist/client/_app/immutable/nodes/{3.AA5GwNgP.js → 3.D_fQKj9f.js} +1 -1
- package/studio-dist/client/_app/version.json +1 -1
- package/studio-dist/server/chunks/{0-DGmsoBYm.js → 0-BpOagOst.js} +3 -3
- package/studio-dist/server/chunks/1-D0oRGR-C.js +9 -0
- package/studio-dist/server/chunks/{15-Bg6YTndh.js → 15-BcjHz7Tv.js} +3 -3
- package/studio-dist/server/chunks/{16-BObLwgyD.js → 16-CXm8TUk7.js} +3 -3
- package/studio-dist/server/chunks/{17-BNXGyAHX.js → 17-mSgUK-cp.js} +3 -3
- package/studio-dist/server/chunks/{18-UqQFRIID.js → 18-BtfnIw1d.js} +3 -3
- package/studio-dist/server/chunks/{20-CMn8a_yP.js → 20-By1e4QDS.js} +3 -3
- package/studio-dist/server/chunks/{24-BuOTDzib.js → 24-0i2YLVxG.js} +3 -3
- package/studio-dist/server/chunks/{dist-B8xbIrdB.js → 25-DPsrqbrh.js} +795 -10736
- package/studio-dist/server/chunks/{26-DWGObn2T.js → 26-P0XkOibm.js} +3 -3
- package/studio-dist/server/chunks/{3-CyiffdJZ.js → 3-WudjUK7e.js} +3 -3
- package/studio-dist/server/chunks/{_layout.svelte-DYtClaIk.js → _layout.svelte-D9m81Rle.js} +4 -4
- package/studio-dist/server/chunks/{_page.svelte-CEATWp_5.js → _page.svelte-2PDLOF83.js} +3 -3
- package/studio-dist/server/chunks/{_page.svelte-Bip079LT.js → _page.svelte-BjE3jm2K.js} +3 -3
- package/studio-dist/server/chunks/{_page.svelte-CV3xiD1y.js → _page.svelte-Clc0vmiZ.js} +4 -4
- package/studio-dist/server/chunks/{_page.svelte-DSSy6LuK.js → _page.svelte-DABdRT3h.js} +3 -3
- package/studio-dist/server/chunks/{_page.svelte-1h9E6s_f.js → _page.svelte-DG3PjiHj.js} +3 -3
- package/studio-dist/server/chunks/{_page.svelte-BT1EUadj.js → _page.svelte-Edy9CaE8.js} +20 -7
- package/studio-dist/server/chunks/{_page.svelte-BNNF62Nm.js → _page.svelte-Hrf3-ZR8.js} +3 -3
- package/studio-dist/server/chunks/{_page.svelte-TF795TAS.js → _page.svelte-VB4O4Nl5.js} +3 -3
- package/studio-dist/server/chunks/{_page.svelte-Cv_KVJDV.js → _page.svelte-d3jEgjsI.js} +3 -3
- package/studio-dist/server/chunks/{_server.ts-CzrwbhkQ.js → _server.ts-BcRFsyo3.js} +4 -5
- package/studio-dist/server/chunks/{_server.ts-C4w6UdU0.js → _server.ts-CEWpIFrj.js} +6 -5
- package/studio-dist/server/chunks/{_server.ts-BlhRFLY3.js → _server.ts-CLVdVIF9.js} +2 -2
- package/studio-dist/server/chunks/{_server.ts-Db6mEile.js → _server.ts-D_j7aSy5.js} +6 -5
- package/studio-dist/server/chunks/{_server.ts-DWt8Dziu.js → _server.ts-QEZF8h2q.js} +4 -5
- package/studio-dist/server/chunks/{client-D8f2k-H_.js → client-Kp1dP1od.js} +2 -2
- package/studio-dist/server/chunks/{error.svelte-DbbOwIme.js → error.svelte-WOCioJVX.js} +3 -3
- package/studio-dist/server/chunks/{hooks.server-D2qbf3Zp.js → hooks.server-DH9zkIrJ.js} +3 -1
- package/studio-dist/server/chunks/{http-1ftNGTs5.js → http-DT5kxaWk.js} +5 -4
- package/studio-dist/server/chunks/{internal-CTULuLPB.js → internal-z0vqd5_u.js} +3 -3
- package/studio-dist/server/chunks/operations-registry-DdzmYzqX.js +10584 -0
- package/studio-dist/server/chunks/{stores-CS5XOReX.js → stores-s2kaL315.js} +2 -2
- package/studio-dist/server/index.js +1 -1
- package/studio-dist/server/manifest.js +17 -17
- package/dist/cli/chunk-3IOQVUO7.js +0 -17308
- package/dist/cli/chunk-OAPN46TC.js +0 -89
- package/studio-dist/client/_app/immutable/chunks/t81h7afa.js +0 -1
- package/studio-dist/client/_app/immutable/entry/start.BreMSngo.js +0 -1
- package/studio-dist/client/_app/immutable/nodes/25.BnATjVGN.js +0 -39
- package/studio-dist/server/chunks/1-8PfxPvlK.js +0 -9
- package/studio-dist/server/chunks/25-CIMSmjVx.js +0 -366
package/dist/cli/index.js
CHANGED
|
@@ -33,8 +33,9 @@ import {
|
|
|
33
33
|
extractIdempotencyKeyArg,
|
|
34
34
|
setDescribeMode,
|
|
35
35
|
setIdempotencyKeyContext,
|
|
36
|
-
setProjectionOptOut
|
|
37
|
-
|
|
36
|
+
setProjectionOptOut,
|
|
37
|
+
settleThenExit
|
|
38
|
+
} from "./chunk-QKMBWYAS.js";
|
|
38
39
|
import {
|
|
39
40
|
resolveFieldContext,
|
|
40
41
|
resolveOutputMode,
|
|
@@ -45,9 +46,9 @@ import {
|
|
|
45
46
|
} from "./chunk-6JSJNYH2.js";
|
|
46
47
|
|
|
47
48
|
// packages/cleo/src/cli/index.ts
|
|
48
|
-
import { readFileSync as
|
|
49
|
-
import { dirname as
|
|
50
|
-
import { fileURLToPath as
|
|
49
|
+
import { existsSync as existsSync3, readFileSync as readFileSync3 } from "node:fs";
|
|
50
|
+
import { dirname as dirname3, join as join4 } from "node:path";
|
|
51
|
+
import { fileURLToPath as fileURLToPath3 } from "node:url";
|
|
51
52
|
import { enforceNodeVersion } from "@cleocode/paths";
|
|
52
53
|
|
|
53
54
|
// packages/cleo/src/cli/citty-error-envelope.ts
|
|
@@ -71,505 +72,523 @@ var COMMAND_MANIFEST = [
|
|
|
71
72
|
exportName: "adapterCommand",
|
|
72
73
|
name: "adapter",
|
|
73
74
|
description: "Provider adapter management: list, show, detect, health, activate, dispose",
|
|
74
|
-
load: async () => (await import("./adapter-
|
|
75
|
+
load: async () => (await import("./adapter-OUQRSFZL.js")).adapterCommand
|
|
75
76
|
},
|
|
76
77
|
{
|
|
77
78
|
exportName: "addBatchCommand",
|
|
78
79
|
name: "add-batch",
|
|
79
80
|
description: "Create multiple tasks in a single atomic transaction from a JSON file",
|
|
80
|
-
load: async () => (await import("./add-batch-
|
|
81
|
+
load: async () => (await import("./add-batch-TSWICA5J.js")).addBatchCommand
|
|
81
82
|
},
|
|
82
83
|
{
|
|
83
84
|
exportName: "addCommand",
|
|
84
85
|
name: "add",
|
|
85
86
|
description: "Create a new task (requires active session)\nFor 2+ tasks at once: cleo add-batch --file tasks.json (single transaction, atomic rollback)",
|
|
86
|
-
load: async () => (await import("./add-
|
|
87
|
+
load: async () => (await import("./add-4SRRJL4U.js")).addCommand
|
|
87
88
|
},
|
|
88
89
|
{
|
|
89
90
|
exportName: "adminCommand",
|
|
90
91
|
name: "admin",
|
|
91
92
|
description: "System administration and diagnostics",
|
|
92
|
-
load: async () => (await import("./admin-
|
|
93
|
+
load: async () => (await import("./admin-YMU55YCU.js")).adminCommand
|
|
93
94
|
},
|
|
94
95
|
{
|
|
95
96
|
exportName: "adrCommand",
|
|
96
97
|
name: "adr",
|
|
97
98
|
description: "Manage and validate Architecture Decision Records in .cleo/adrs/",
|
|
98
|
-
load: async () => (await import("./adr-
|
|
99
|
+
load: async () => (await import("./adr-XESRMFMP.js")).adrCommand
|
|
99
100
|
},
|
|
100
101
|
{
|
|
101
102
|
exportName: "agentOutputsCommand",
|
|
102
103
|
name: "agent-outputs",
|
|
103
104
|
description: "Agent output document management \u2014 find/search via DocsAccessor (find subcommand)",
|
|
104
|
-
load: async () => (await import("./agent-outputs-
|
|
105
|
+
load: async () => (await import("./agent-outputs-HVJJIPS4.js")).agentOutputsCommand
|
|
105
106
|
},
|
|
106
107
|
{
|
|
107
108
|
exportName: "agentCommand",
|
|
108
109
|
name: "agent",
|
|
109
110
|
description: "Agent lifecycle, credentials, and messaging",
|
|
110
|
-
load: async () => (await import("./agent-
|
|
111
|
+
load: async () => (await import("./agent-TAFPIYUU.js")).agentCommand
|
|
111
112
|
},
|
|
112
113
|
{
|
|
113
114
|
exportName: "analyzeCommand",
|
|
114
115
|
name: "analyze",
|
|
115
116
|
description: "Task triage with leverage scoring and bottleneck detection",
|
|
116
|
-
load: async () => (await import("./analyze-
|
|
117
|
+
load: async () => (await import("./analyze-YQ22QVGW.js")).analyzeCommand
|
|
117
118
|
},
|
|
118
119
|
{
|
|
119
120
|
exportName: "archiveStatsCommand",
|
|
120
121
|
name: "archive-stats",
|
|
121
122
|
description: "Generate analytics and insights from archived tasks",
|
|
122
|
-
load: async () => (await import("./archive-stats-
|
|
123
|
+
load: async () => (await import("./archive-stats-HP2KPAJU.js")).archiveStatsCommand
|
|
123
124
|
},
|
|
124
125
|
{
|
|
125
126
|
exportName: "archiveCommand",
|
|
126
127
|
name: "archive",
|
|
127
128
|
description: "Archive completed tasks",
|
|
128
|
-
load: async () => (await import("./archive-
|
|
129
|
+
load: async () => (await import("./archive-W5XX6AH7.js")).archiveCommand
|
|
129
130
|
},
|
|
130
131
|
{
|
|
131
132
|
exportName: "attentionCommand",
|
|
132
133
|
name: "attention",
|
|
133
134
|
description: "Tier-2 scope-keyed working memory \u2014 quick decaying jots (alias: jot)",
|
|
134
|
-
load: async () => (await import("./attention-
|
|
135
|
+
load: async () => (await import("./attention-ZXZANHKC.js")).attentionCommand
|
|
135
136
|
},
|
|
136
137
|
{
|
|
137
138
|
exportName: "auditCommand",
|
|
138
139
|
name: "audit",
|
|
139
140
|
description: "Git-backed audit tooling (lineage reconstruction, integrity checks). ",
|
|
140
|
-
load: async () => (await import("./audit-
|
|
141
|
+
load: async () => (await import("./audit-ICA2SEFN.js")).auditCommand
|
|
141
142
|
},
|
|
142
143
|
{
|
|
143
144
|
exportName: "authCommand",
|
|
144
145
|
name: "auth",
|
|
145
146
|
description: "Unified credential surface: auth login (front-door provider login, alias of cleo login), auth list, auth remove, auth consent. (cleo llm list is the LLM-scoped sister command.)",
|
|
146
|
-
load: async () => (await import("./auth-
|
|
147
|
+
load: async () => (await import("./auth-DXIG5OG7.js")).authCommand
|
|
147
148
|
},
|
|
148
149
|
{
|
|
149
150
|
exportName: "backfillCommand",
|
|
150
151
|
name: "backfill",
|
|
151
152
|
description: "Retroactively add acceptance criteria and verification metadata to existing tasks",
|
|
152
|
-
load: async () => (await import("./backfill-
|
|
153
|
+
load: async () => (await import("./backfill-LBSYBWLR.js")).backfillCommand
|
|
153
154
|
},
|
|
154
155
|
{
|
|
155
156
|
exportName: "backupInspectSubCommand",
|
|
156
157
|
name: "inspect",
|
|
157
158
|
description: "Inspect a bundle manifest or an exact observation in a read-only SQLite snapshot",
|
|
158
|
-
load: async () => (await import("./backup-inspect-
|
|
159
|
+
load: async () => (await import("./backup-inspect-PDRXI45A.js")).backupInspectSubCommand
|
|
159
160
|
},
|
|
160
161
|
{
|
|
161
162
|
exportName: "backupRecoverSubCommand",
|
|
162
163
|
name: "recover",
|
|
163
164
|
description: "Recover a malformed CLEO database from snapshot \u2014 accepts any role from DB_INVENTORY (T10318)",
|
|
164
|
-
load: async () => (await import("./backup-recover-
|
|
165
|
+
load: async () => (await import("./backup-recover-TVKAPERB.js")).backupRecoverSubCommand
|
|
165
166
|
},
|
|
166
167
|
{
|
|
167
168
|
exportName: "backupCommand",
|
|
168
169
|
name: "backup",
|
|
169
170
|
description: "Add backup of todo files or list available backups",
|
|
170
|
-
load: async () => (await import("./backup-
|
|
171
|
+
load: async () => (await import("./backup-NUGBZ7NA.js")).backupCommand
|
|
171
172
|
},
|
|
172
173
|
{
|
|
173
174
|
exportName: "blockersCommand",
|
|
174
175
|
name: "blockers",
|
|
175
176
|
description: "Show blocked tasks and analyze blocking chains",
|
|
176
|
-
load: async () => (await import("./blockers-
|
|
177
|
+
load: async () => (await import("./blockers-ZOPCGHDW.js")).blockersCommand
|
|
177
178
|
},
|
|
178
179
|
{
|
|
179
180
|
exportName: "brainCommand",
|
|
180
181
|
name: "brain",
|
|
181
182
|
description: "Brain memory optimization operations",
|
|
182
|
-
load: async () => (await import("./brain-
|
|
183
|
+
load: async () => (await import("./brain-EJOBKL4A.js")).brainCommand
|
|
183
184
|
},
|
|
184
185
|
{
|
|
185
186
|
exportName: "briefingCommand",
|
|
186
187
|
name: "briefing",
|
|
187
188
|
description: "Session resume context: last handoff, current task, next tasks, bugs, blockers, epics, and memory. Use at session start to restore context.",
|
|
188
|
-
load: async () => (await import("./briefing-
|
|
189
|
+
load: async () => (await import("./briefing-RDQJ6WHS.js")).briefingCommand
|
|
189
190
|
},
|
|
190
191
|
{
|
|
191
192
|
exportName: "caampCommand",
|
|
192
193
|
name: "caamp",
|
|
193
194
|
description: "CAAMP injection management: repair markers, deduplicate blocks",
|
|
194
|
-
load: async () => (await import("./caamp-
|
|
195
|
+
load: async () => (await import("./caamp-Z3XPKEHB.js")).caampCommand
|
|
195
196
|
},
|
|
196
197
|
{
|
|
197
198
|
exportName: "cancelCommand",
|
|
198
199
|
name: "cancel",
|
|
199
200
|
description: "Cancel a task (soft terminal state; reversible via restore)",
|
|
200
|
-
load: async () => (await import("./cancel-
|
|
201
|
+
load: async () => (await import("./cancel-S7EHLCJN.js")).cancelCommand
|
|
201
202
|
},
|
|
202
203
|
{
|
|
203
204
|
exportName: "cantCommand",
|
|
204
205
|
name: "cant",
|
|
205
206
|
description: "CANT DSL tooling",
|
|
206
|
-
load: async () => (await import("./cant-
|
|
207
|
+
load: async () => (await import("./cant-CHNN6O57.js")).cantCommand
|
|
207
208
|
},
|
|
208
209
|
{
|
|
209
210
|
exportName: "changesetCommand",
|
|
210
211
|
name: "changeset",
|
|
211
212
|
description: "Author + list task-anchored changeset entries \u2014 dual-writes go to ",
|
|
212
|
-
load: async () => (await import("./changeset-
|
|
213
|
+
load: async () => (await import("./changeset-RYPHPN2B.js")).changesetCommand
|
|
213
214
|
},
|
|
214
215
|
{
|
|
215
216
|
exportName: "checkCommand",
|
|
216
217
|
name: "check",
|
|
217
218
|
description: "Validation and compliance checks",
|
|
218
|
-
load: async () => (await import("./check-
|
|
219
|
+
load: async () => (await import("./check-DHMURGHC.js")).checkCommand
|
|
219
220
|
},
|
|
220
221
|
{
|
|
221
222
|
exportName: "checkpointCommand",
|
|
222
223
|
name: "checkpoint",
|
|
223
224
|
description: "Git checkpoint for CLEO state files (commits to isolated .cleo/.git repo)",
|
|
224
|
-
load: async () => (await import("./checkpoint-
|
|
225
|
+
load: async () => (await import("./checkpoint-UWDFOGYQ.js")).checkpointCommand
|
|
225
226
|
},
|
|
226
227
|
{
|
|
227
228
|
exportName: "claimCommand",
|
|
228
229
|
name: "claim",
|
|
229
230
|
description: "Take, renew (--renew) or override (--take-over expired, --force-claim live) your session's leased claim on a task",
|
|
230
|
-
load: async () => (await import("./claim-
|
|
231
|
+
load: async () => (await import("./claim-IGOG2QOC.js")).claimCommand
|
|
231
232
|
},
|
|
232
233
|
{
|
|
233
234
|
exportName: "unclaimCommand",
|
|
234
235
|
name: "unclaim",
|
|
235
236
|
description: "Release your session's claim lease on a task (--force-claim: another session's)",
|
|
236
|
-
load: async () => (await import("./claim-
|
|
237
|
+
load: async () => (await import("./claim-IGOG2QOC.js")).unclaimCommand
|
|
237
238
|
},
|
|
238
239
|
{
|
|
239
240
|
exportName: "classifyCommand",
|
|
240
241
|
name: "classify",
|
|
241
242
|
description: "Classify a task: readiness verdict (proceed|grill) + persona routing (agent, confidence)",
|
|
242
|
-
load: async () => (await import("./classify-
|
|
243
|
+
load: async () => (await import("./classify-MG4N7GMQ.js")).classifyCommand
|
|
243
244
|
},
|
|
244
245
|
{
|
|
245
246
|
exportName: "cloudCommand",
|
|
246
247
|
name: "cloud",
|
|
247
|
-
description: "Cleo Nexus with the device credential: status (one-call verification), whoami, devices, projects [show], activity; the encrypted vault: push, pull, restore, verify, vault, lease release.",
|
|
248
|
-
load: async () => (await import("./cloud-
|
|
248
|
+
description: "Cleo Nexus with the device credential: status (one-call verification), whoami, devices, projects [show], activity; the encrypted vault: push, pull, restore, verify, vault, lease release; the local sync conflict log: conflicts [resolve <id>].",
|
|
249
|
+
load: async () => (await import("./cloud-SILYJVKO.js")).cloudCommand
|
|
249
250
|
},
|
|
250
251
|
{
|
|
251
252
|
exportName: "codeCommand",
|
|
252
253
|
name: "code",
|
|
253
254
|
description: "Code analysis via tree-sitter AST",
|
|
254
|
-
load: async () => (await import("./code-
|
|
255
|
+
load: async () => (await import("./code-H2FQCVMW.js")).codeCommand
|
|
255
256
|
},
|
|
256
257
|
{
|
|
257
258
|
exportName: "completeCommand",
|
|
258
259
|
name: "complete",
|
|
259
260
|
description: "Mark a task as completed (requires active session)",
|
|
260
|
-
load: async () => (await import("./complete-
|
|
261
|
+
load: async () => (await import("./complete-JLX7NBI4.js")).completeCommand
|
|
261
262
|
},
|
|
262
263
|
{
|
|
263
264
|
exportName: "complexityCommand",
|
|
264
265
|
name: "complexity",
|
|
265
266
|
description: "Task complexity analysis",
|
|
266
|
-
load: async () => (await import("./complexity-
|
|
267
|
+
load: async () => (await import("./complexity-OKV7PVZH.js")).complexityCommand
|
|
267
268
|
},
|
|
268
269
|
{
|
|
269
270
|
exportName: "complianceCommand",
|
|
270
271
|
name: "compliance",
|
|
271
272
|
description: "Monitor and report compliance metrics for orchestrator and agent outputs",
|
|
272
|
-
load: async () => (await import("./compliance-
|
|
273
|
+
load: async () => (await import("./compliance-QMGZHJNQ.js")).complianceCommand
|
|
273
274
|
},
|
|
274
275
|
{
|
|
275
276
|
exportName: "conduitCommand",
|
|
276
277
|
name: "conduit",
|
|
277
278
|
description: "Manage Conduit inter-agent messaging",
|
|
278
|
-
load: async () => (await import("./conduit-
|
|
279
|
+
load: async () => (await import("./conduit-4H32UYEA.js")).conduitCommand
|
|
279
280
|
},
|
|
280
281
|
{
|
|
281
282
|
exportName: "configCommand",
|
|
282
283
|
name: "config",
|
|
283
284
|
description: "CleoConfig SSoT registry surface (show, get, set, validate, drift-check) + legacy presets/list",
|
|
284
|
-
load: async () => (await import("./config-
|
|
285
|
+
load: async () => (await import("./config-TDYOC7XO.js")).configCommand
|
|
285
286
|
},
|
|
286
287
|
{
|
|
287
288
|
exportName: "consensusCommand",
|
|
288
289
|
name: "consensus",
|
|
289
290
|
description: "Validate consensus protocol compliance (alias for `cleo check protocol consensus`)",
|
|
290
|
-
load: async () => (await import("./consensus-
|
|
291
|
+
load: async () => (await import("./consensus-4XCOFPPT.js")).consensusCommand
|
|
291
292
|
},
|
|
292
293
|
{
|
|
293
294
|
exportName: "contextCommand",
|
|
294
295
|
name: "context",
|
|
295
296
|
description: "Monitor context window usage for agent safeguard system",
|
|
296
|
-
load: async () => (await import("./context-
|
|
297
|
+
load: async () => (await import("./context-FN4YTGHD.js")).contextCommand
|
|
297
298
|
},
|
|
298
299
|
{
|
|
299
300
|
exportName: "contributionCommand",
|
|
300
301
|
name: "contribution",
|
|
301
302
|
description: "Validate contribution protocol compliance (alias for `cleo check protocol contribution`)",
|
|
302
|
-
load: async () => (await import("./contribution-
|
|
303
|
+
load: async () => (await import("./contribution-7RWFBJLC.js")).contributionCommand
|
|
303
304
|
},
|
|
304
305
|
{
|
|
305
306
|
exportName: "curatorCommand",
|
|
306
307
|
name: "curator",
|
|
307
308
|
description: "Skill curator: lifecycle transitions for agent-created skills",
|
|
308
|
-
load: async () => (await import("./curator-
|
|
309
|
+
load: async () => (await import("./curator-HKZJCVRL.js")).curatorCommand
|
|
309
310
|
},
|
|
310
311
|
{
|
|
311
312
|
exportName: "currentCommand",
|
|
312
313
|
name: "current",
|
|
313
314
|
description: "",
|
|
314
|
-
load: async () => (await import("./current-
|
|
315
|
+
load: async () => (await import("./current-B2NU7V3G.js")).currentCommand
|
|
315
316
|
},
|
|
316
317
|
{
|
|
317
318
|
exportName: "daemonCommand",
|
|
318
319
|
name: "daemon",
|
|
319
320
|
description: "Manage the CLEO GC sidecar daemon for autonomous transcript cleanup",
|
|
320
|
-
load: async () => (await import("./daemon-
|
|
321
|
+
load: async () => (await import("./daemon-GBD4TVCD.js")).daemonCommand
|
|
321
322
|
},
|
|
322
323
|
{
|
|
323
324
|
exportName: "dashCommand",
|
|
324
325
|
name: "dash",
|
|
325
326
|
description: "Project health dashboard: status summary, phase progress, recent activity, high priority tasks. Use for overall project status.",
|
|
326
|
-
load: async () => (await import("./dash-
|
|
327
|
+
load: async () => (await import("./dash-IGDANIE5.js")).dashCommand
|
|
327
328
|
},
|
|
328
329
|
{
|
|
329
330
|
exportName: "decideCommand",
|
|
330
331
|
name: "decide",
|
|
331
332
|
description: "System One integration (typed decisions): decide config (named provider profile + API key; wizard on a terminal), decide use (switch the active profile), decide profiles (list them), decide status (reachability probe), decide ask (one debug question), decide sites (the registered decision sites), decide bench (accuracy benchmark). Unconfigured means heuristics answer.",
|
|
332
|
-
load: async () => (await import("./decide-
|
|
333
|
+
load: async () => (await import("./decide-26SXC2V6.js")).decideCommand
|
|
333
334
|
},
|
|
334
335
|
{
|
|
335
336
|
exportName: "decomposeCommand",
|
|
336
337
|
name: "decompose",
|
|
337
338
|
description: "Move a task's text acceptance criteria onto a new child so it can hold subtasks",
|
|
338
|
-
load: async () => (await import("./decompose-
|
|
339
|
+
load: async () => (await import("./decompose-LQ76TEZG.js")).decomposeCommand
|
|
339
340
|
},
|
|
340
341
|
{
|
|
341
342
|
exportName: "decompositionCommand",
|
|
342
343
|
name: "decomposition",
|
|
343
344
|
description: "Validate decomposition protocol compliance (alias for `cleo check protocol decomposition`)",
|
|
344
|
-
load: async () => (await import("./decomposition-
|
|
345
|
+
load: async () => (await import("./decomposition-WFRWNUSJ.js")).decompositionCommand
|
|
345
346
|
},
|
|
346
347
|
{
|
|
347
348
|
exportName: "deleteCommand",
|
|
348
349
|
name: "delete",
|
|
349
350
|
description: "Delete a task (soft delete to archive)",
|
|
350
|
-
load: async () => (await import("./delete-
|
|
351
|
+
load: async () => (await import("./delete-T5DUQHOX.js")).deleteCommand
|
|
351
352
|
},
|
|
352
353
|
{
|
|
353
354
|
exportName: "depsCommand",
|
|
354
355
|
name: "deps",
|
|
355
356
|
description: "Dependency visualization and analysis",
|
|
356
|
-
load: async () => (await import("./deps-
|
|
357
|
+
load: async () => (await import("./deps-UTPZJBXL.js")).depsCommand
|
|
357
358
|
},
|
|
358
359
|
{
|
|
359
360
|
exportName: "treeCommand",
|
|
360
361
|
name: "tree",
|
|
361
362
|
description: "Task hierarchy tree visualization",
|
|
362
|
-
load: async () => (await import("./deps-
|
|
363
|
+
load: async () => (await import("./deps-UTPZJBXL.js")).treeCommand
|
|
363
364
|
},
|
|
364
365
|
{
|
|
365
366
|
exportName: "detectDriftCommand",
|
|
366
367
|
name: "detect-drift",
|
|
367
368
|
description: "Detect documentation drift against TypeScript source of truth",
|
|
368
|
-
load: async () => (await import("./detect-drift-
|
|
369
|
+
load: async () => (await import("./detect-drift-TVCJOFYJ.js")).detectDriftCommand
|
|
369
370
|
},
|
|
370
371
|
{
|
|
371
372
|
exportName: "detectCommand",
|
|
372
373
|
name: "detect",
|
|
373
374
|
description: "Re-detect project type and update project-context.json",
|
|
374
|
-
load: async () => (await import("./detect-
|
|
375
|
+
load: async () => (await import("./detect-FFZSMVDT.js")).detectCommand
|
|
375
376
|
},
|
|
376
377
|
{
|
|
377
378
|
exportName: "diagnosticsCommand",
|
|
378
379
|
name: "diagnostics",
|
|
379
380
|
description: "Autonomous self-improvement telemetry \u2014 opt-in command analytics that feed BRAIN observations",
|
|
380
|
-
load: async () => (await import("./diagnostics-
|
|
381
|
+
load: async () => (await import("./diagnostics-ZNBKH6GX.js")).diagnosticsCommand
|
|
381
382
|
},
|
|
382
383
|
{
|
|
383
384
|
exportName: "_llmOutputCommand",
|
|
384
385
|
name: "llm-output",
|
|
385
386
|
description: "Unified LLM output: task export (rich Markdown with frontmatter + body + attachments + memory refs) ",
|
|
386
|
-
load: async () => (await import("./docs-
|
|
387
|
+
load: async () => (await import("./docs-DPPDFTWR.js"))._llmOutputCommand
|
|
387
388
|
},
|
|
388
389
|
{
|
|
389
390
|
exportName: "docsCommand",
|
|
390
391
|
name: "docs",
|
|
391
392
|
description: "Canonical six-verb docs path: add, update, fetch, list, remove, publish. ",
|
|
392
|
-
load: async () => (await import("./docs-
|
|
393
|
+
load: async () => (await import("./docs-DPPDFTWR.js")).docsCommand
|
|
393
394
|
},
|
|
394
395
|
{
|
|
395
396
|
exportName: "doctorAcBindingsCommand",
|
|
396
397
|
name: "ac-bindings",
|
|
397
398
|
description: "Report evidence bindings whose acceptance criterion no longer exists (dangling ",
|
|
398
|
-
load: async () => (await import("./doctor-ac-bindings-
|
|
399
|
+
load: async () => (await import("./doctor-ac-bindings-S3IOEFP4.js")).doctorAcBindingsCommand
|
|
399
400
|
},
|
|
400
401
|
{
|
|
401
402
|
exportName: "doctorAcceptanceDriftCommand",
|
|
402
403
|
name: "acceptance-drift",
|
|
403
404
|
description: "Report tasks whose acceptance criteria disagree between the JSON column and the typed rows ",
|
|
404
|
-
load: async () => (await import("./doctor-acceptance-drift-
|
|
405
|
+
load: async () => (await import("./doctor-acceptance-drift-VNFKPBSQ.js")).doctorAcceptanceDriftCommand
|
|
405
406
|
},
|
|
406
407
|
{
|
|
407
408
|
exportName: "doctorCredentialsCommand",
|
|
408
409
|
name: "credentials",
|
|
409
410
|
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.",
|
|
410
|
-
load: async () => (await import("./doctor-credentials-
|
|
411
|
+
load: async () => (await import("./doctor-credentials-A5H4JMTF.js")).doctorCredentialsCommand
|
|
411
412
|
},
|
|
412
413
|
{
|
|
413
414
|
exportName: "doctorDbSubstrateCommand",
|
|
414
415
|
name: "db-substrate",
|
|
415
416
|
description: "Walk every DB in the inventory + report integrity, row counts, orphan dirs. ",
|
|
416
|
-
load: async () => (await import("./doctor-db-substrate-
|
|
417
|
+
load: async () => (await import("./doctor-db-substrate-FGCISE4Z.js")).doctorDbSubstrateCommand
|
|
417
418
|
},
|
|
418
419
|
{
|
|
419
420
|
exportName: "doctorDepCyclesCommand",
|
|
420
421
|
name: "dep-cycles",
|
|
421
422
|
description: "Report task dependency cycles already stored (edges written before the T12886 cycle ",
|
|
422
|
-
load: async () => (await import("./doctor-dep-cycles-
|
|
423
|
+
load: async () => (await import("./doctor-dep-cycles-BKKKHHYG.js")).doctorDepCyclesCommand
|
|
423
424
|
},
|
|
424
425
|
{
|
|
425
426
|
exportName: "doctorExodusResidueCommand",
|
|
426
427
|
name: "exodus-residue",
|
|
427
428
|
description: "Detect legacy exodus source DBs still present after a cutover (stranded residue that ",
|
|
428
|
-
load: async () => (await import("./doctor-exodus-residue-
|
|
429
|
+
load: async () => (await import("./doctor-exodus-residue-4EMRYMEQ.js")).doctorExodusResidueCommand
|
|
429
430
|
},
|
|
430
431
|
{
|
|
431
432
|
exportName: "doctorExodusCommand",
|
|
432
433
|
name: "exodus-health",
|
|
433
434
|
description: "Read-only exodus health report: per-scope migration state, legacy DB sizes, completion ",
|
|
434
|
-
load: async () => (await import("./doctor-exodus-
|
|
435
|
+
load: async () => (await import("./doctor-exodus-ND2DH2KP.js")).doctorExodusCommand
|
|
435
436
|
},
|
|
436
437
|
{
|
|
437
438
|
exportName: "doctorFkCheckCommand",
|
|
438
439
|
name: "fk-check",
|
|
439
440
|
description: "Verify foreign-key integrity of the consolidated project + global cleo.db ",
|
|
440
|
-
load: async () => (await import("./doctor-fk-check-
|
|
441
|
+
load: async () => (await import("./doctor-fk-check-VY3RIQV3.js")).doctorFkCheckCommand
|
|
441
442
|
},
|
|
442
443
|
{
|
|
443
444
|
exportName: "doctorGlobalDeliveryCommand",
|
|
444
445
|
name: "global-delivery",
|
|
445
446
|
description: "Check that ~/.cleo, the global hub reference and every harness CLEO skill install ",
|
|
446
|
-
load: async () => (await import("./doctor-global-delivery-
|
|
447
|
+
load: async () => (await import("./doctor-global-delivery-JN6IGHUL.js")).doctorGlobalDeliveryCommand
|
|
447
448
|
},
|
|
448
449
|
{
|
|
449
450
|
exportName: "doctorHeavyCommandHookCommand",
|
|
450
451
|
name: "heavy-command-hook",
|
|
451
452
|
description: "Report, per agent harness in use, whether the heavy-command hook (routes agent-run tests and ",
|
|
452
|
-
load: async () => (await import("./doctor-heavy-command-hook-
|
|
453
|
+
load: async () => (await import("./doctor-heavy-command-hook-XSN44WXU.js")).doctorHeavyCommandHookCommand
|
|
453
454
|
},
|
|
454
455
|
{
|
|
455
456
|
exportName: "doctorLegacyBackupsCommand",
|
|
456
457
|
name: "legacy-backups",
|
|
457
458
|
description: "Enumerate legacy *-pre-cleo.db.bak / brain.db.PRE-DUP-FIX-* / pre-untrack / rotation-overflow ",
|
|
458
|
-
load: async () => (await import("./doctor-legacy-backups-
|
|
459
|
+
load: async () => (await import("./doctor-legacy-backups-QAG5NHYP.js")).doctorLegacyBackupsCommand
|
|
459
460
|
},
|
|
460
461
|
{
|
|
461
462
|
exportName: "doctorLegacyReaperCommand",
|
|
462
463
|
name: "legacy-reaper",
|
|
463
464
|
description: "Detect the legacy cleo-mcp-reaper user timer that kills processes by generic `MainThread` ",
|
|
464
|
-
load: async () => (await import("./doctor-legacy-reaper-
|
|
465
|
+
load: async () => (await import("./doctor-legacy-reaper-CIRGFE6R.js")).doctorLegacyReaperCommand
|
|
465
466
|
},
|
|
466
467
|
{
|
|
467
468
|
exportName: "doctorMalformedIdsCommand",
|
|
468
469
|
name: "malformed-ids",
|
|
469
470
|
description: "Report task rows whose id is not a valid task identifier \u2014 rows that `cleo list` returns ",
|
|
470
|
-
load: async () => (await import("./doctor-malformed-ids-
|
|
471
|
+
load: async () => (await import("./doctor-malformed-ids-WL7HT4TB.js")).doctorMalformedIdsCommand
|
|
471
472
|
},
|
|
472
473
|
{
|
|
473
474
|
exportName: "doctorManifestRowsCommand",
|
|
474
475
|
name: "manifest-rows",
|
|
475
476
|
description: "List manifest rows whose metadata violates the stored field contract, and (read-only) rows with an invalid id, linked task id or file reference. --repair shows the plan (writes nothing); --repair --apply moves each bad field under _malformed (nothing lost) with a receipt; --rollback <receipt> undoes it.",
|
|
476
|
-
load: async () => (await import("./doctor-manifest-rows-
|
|
477
|
+
load: async () => (await import("./doctor-manifest-rows-SMQCKJ2T.js")).doctorManifestRowsCommand
|
|
477
478
|
},
|
|
478
479
|
{
|
|
479
480
|
exportName: "doctorMemoryGuardCommand",
|
|
480
481
|
name: "memory-guard",
|
|
481
482
|
description: "Audit the machine-wide memory guard that bounds test runs an agent starts OUTSIDE cleo ",
|
|
482
|
-
load: async () => (await import("./doctor-memory-guard-
|
|
483
|
+
load: async () => (await import("./doctor-memory-guard-LJDOJG76.js")).doctorMemoryGuardCommand
|
|
483
484
|
},
|
|
484
485
|
{
|
|
485
486
|
exportName: "doctorMigrationsCommand",
|
|
486
487
|
name: "migrations",
|
|
487
488
|
description: "Report the migration journal of the project and global stores: row count, head, applied ",
|
|
488
|
-
load: async () => (await import("./doctor-migrations-
|
|
489
|
+
load: async () => (await import("./doctor-migrations-ETQPFNUP.js")).doctorMigrationsCommand
|
|
489
490
|
},
|
|
490
491
|
{
|
|
491
492
|
exportName: "doctorNexusResidencyCommand",
|
|
492
493
|
name: "nexus-residency",
|
|
493
494
|
description: "Report nexus tables resident in the wrong store \u2014 graph tables orphaned in the global ",
|
|
494
|
-
load: async () => (await import("./doctor-nexus-residency-
|
|
495
|
+
load: async () => (await import("./doctor-nexus-residency-A4JMKBEJ.js")).doctorNexusResidencyCommand
|
|
495
496
|
},
|
|
496
497
|
{
|
|
497
498
|
exportName: "doctorProjectIdentityCommand",
|
|
498
499
|
name: "project-identity",
|
|
499
500
|
description: "Check .cleo/project.json, its legacy .cleo/project-id mirror and the project-info.json cache ",
|
|
500
|
-
load: async () => (await import("./doctor-project-identity-
|
|
501
|
+
load: async () => (await import("./doctor-project-identity-FFQJ5LNX.js")).doctorProjectIdentityCommand
|
|
501
502
|
},
|
|
502
503
|
{
|
|
503
504
|
exportName: "doctorRegistryCommand",
|
|
504
505
|
name: "projects",
|
|
505
506
|
description: "Machine-wide registry integrity: rebind moved projects by id, flag split identities, ",
|
|
506
|
-
load: async () => (await import("./doctor-projects-registry-
|
|
507
|
+
load: async () => (await import("./doctor-projects-registry-76X6VTGM.js")).doctorRegistryCommand
|
|
507
508
|
},
|
|
508
509
|
{
|
|
509
510
|
exportName: "doctorProjectsCommand",
|
|
510
511
|
name: "doctor-projects",
|
|
511
512
|
description: "Probe every registered project (nexus.db) for DB + config health",
|
|
512
|
-
load: async () => (await import("./doctor-projects-
|
|
513
|
+
load: async () => (await import("./doctor-projects-MFUTKRHP.js")).doctorProjectsCommand
|
|
513
514
|
},
|
|
514
515
|
{
|
|
515
516
|
exportName: "doctorReleaseReadinessCommand",
|
|
516
517
|
name: "release-readiness",
|
|
517
518
|
description: "Pre-flight release readiness check \u2014 lint matrix + changelog + changeset + npm OIDC + tag-trigger sanity (T10458)",
|
|
518
|
-
load: async () => (await import("./doctor-release-readiness-
|
|
519
|
+
load: async () => (await import("./doctor-release-readiness-QJCOPFTK.js")).doctorReleaseReadinessCommand
|
|
519
520
|
},
|
|
520
521
|
{
|
|
521
522
|
exportName: "doctorRepairCommand",
|
|
522
523
|
name: "repair",
|
|
523
524
|
description: "Detect malformed CLEO databases (PRAGMA quick_check) and restore each from its ",
|
|
524
|
-
load: async () => (await import("./doctor-repair-
|
|
525
|
+
load: async () => (await import("./doctor-repair-AU76FIKY.js")).doctorRepairCommand
|
|
526
|
+
},
|
|
527
|
+
{
|
|
528
|
+
exportName: "doctorRowIdentityCommand",
|
|
529
|
+
name: "row-identity",
|
|
530
|
+
description: "Plan the from-scratch row-identity refill of a store whose identity predates the current ",
|
|
531
|
+
load: async () => (await import("./doctor-row-identity-KW6JYZQE.js")).doctorRowIdentityCommand
|
|
525
532
|
},
|
|
526
533
|
{
|
|
527
534
|
exportName: "doctorSkillFixturesCommand",
|
|
528
535
|
name: "skill-fixtures",
|
|
529
536
|
description: "Find caamp test fixtures left in the real skills root (UUID-named and known fixture ",
|
|
530
|
-
load: async () => (await import("./doctor-skill-fixtures-
|
|
537
|
+
load: async () => (await import("./doctor-skill-fixtures-G3T7JUHS.js")).doctorSkillFixturesCommand
|
|
531
538
|
},
|
|
532
539
|
{
|
|
533
540
|
exportName: "doctorSplitBrainCommand",
|
|
534
541
|
name: "split-brain",
|
|
535
542
|
description: "Import rows that exist only in a diverged copy of a store (--source) into another (--target) ",
|
|
536
|
-
load: async () => (await import("./doctor-split-brain-
|
|
543
|
+
load: async () => (await import("./doctor-split-brain-FUW6L7FS.js")).doctorSplitBrainCommand
|
|
537
544
|
},
|
|
538
545
|
{
|
|
539
546
|
exportName: "doctorSupersededStoreCommand",
|
|
540
547
|
name: "superseded-store",
|
|
541
548
|
description: "Report pre-dual-scope store files (.cleo/tasks.db, .cleo/brain.db) still on disk under ",
|
|
542
|
-
load: async () => (await import("./doctor-superseded-store-
|
|
549
|
+
load: async () => (await import("./doctor-superseded-store-DUHGSBLC.js")).doctorSupersededStoreCommand
|
|
550
|
+
},
|
|
551
|
+
{
|
|
552
|
+
exportName: "doctorSyncJournalCommand",
|
|
553
|
+
name: "sync-journal",
|
|
554
|
+
description: "Plan the repair diff of the project store's suspect tables (rows written uncaptured). ",
|
|
555
|
+
load: async () => (await import("./doctor-sync-journal-SXMUIKF7.js")).doctorSyncJournalCommand
|
|
556
|
+
},
|
|
557
|
+
{
|
|
558
|
+
exportName: "doctorSyncTriggersCommand",
|
|
559
|
+
name: "sync-triggers",
|
|
560
|
+
description: "Check the project store's triggers: the suspension table, owned guard triggers, capture ",
|
|
561
|
+
load: async () => (await import("./doctor-sync-triggers-6WNJZFRM.js")).doctorSyncTriggersCommand
|
|
543
562
|
},
|
|
544
563
|
{
|
|
545
564
|
exportName: "doctorToolLocksCommand",
|
|
546
565
|
name: "tool-locks",
|
|
547
|
-
description: "Inspect the machine-wide
|
|
548
|
-
load: async () => (await import("./doctor-tool-locks-
|
|
566
|
+
description: "Inspect the machine-wide admission ledger: which heavy runs hold the memory budget or ",
|
|
567
|
+
load: async () => (await import("./doctor-tool-locks-66LSLUBN.js")).doctorToolLocksCommand
|
|
549
568
|
},
|
|
550
569
|
{
|
|
551
570
|
exportName: "doctorTwinCollapseCommand",
|
|
552
571
|
name: "twin-collapse",
|
|
553
572
|
description: "Report the twin collapses (bare schema_meta / sticky_tags kept in step with their prefixed ",
|
|
554
|
-
load: async () => (await import("./doctor-twin-collapse-
|
|
573
|
+
load: async () => (await import("./doctor-twin-collapse-AYBYBFC4.js")).doctorTwinCollapseCommand
|
|
555
574
|
},
|
|
556
575
|
{
|
|
557
576
|
exportName: "doctorWorktreeStoresCommand",
|
|
558
577
|
name: "worktree-stores",
|
|
559
578
|
description: "List store files (.cleo/*.db, *.bak) stranded inside the project worktrees and report ",
|
|
560
|
-
load: async () => (await import("./doctor-worktree-stores-
|
|
579
|
+
load: async () => (await import("./doctor-worktree-stores-C5XEH5OG.js")).doctorWorktreeStoresCommand
|
|
561
580
|
},
|
|
562
581
|
{
|
|
563
582
|
exportName: "doctorCommand",
|
|
564
583
|
name: "doctor",
|
|
565
584
|
description: "Run system diagnostics and health checks",
|
|
566
|
-
load: async () => (await import("./doctor-
|
|
585
|
+
load: async () => (await import("./doctor-GPENOP4N.js")).doctorCommand
|
|
567
586
|
},
|
|
568
587
|
{
|
|
569
588
|
exportName: "doneCommand",
|
|
570
589
|
name: "done",
|
|
571
590
|
description: "Record every required gate from derived evidence (change set, tools, typed gates, AC links) in one write, then complete. --plan: read-only plan; writes nothing",
|
|
572
|
-
load: async () => (await import("./done-
|
|
591
|
+
load: async () => (await import("./done-R64XRZ32.js")).doneCommand
|
|
573
592
|
},
|
|
574
593
|
{
|
|
575
594
|
exportName: "dynamicCommand",
|
|
@@ -581,103 +600,103 @@ var COMMAND_MANIFEST = [
|
|
|
581
600
|
exportName: "orchestratorCommand",
|
|
582
601
|
name: "orchestrator",
|
|
583
602
|
description: "Orchestration observability: stream worker event logs",
|
|
584
|
-
load: async () => (await import("./event-
|
|
603
|
+
load: async () => (await import("./event-45KEWV5H.js")).orchestratorCommand
|
|
585
604
|
},
|
|
586
605
|
{
|
|
587
606
|
exportName: "eventCommand",
|
|
588
607
|
name: "event",
|
|
589
608
|
description: "CLEO Observability event bus: append lifecycle events and tail agent logs",
|
|
590
|
-
load: async () => (await import("./event-
|
|
609
|
+
load: async () => (await import("./event-45KEWV5H.js")).eventCommand
|
|
591
610
|
},
|
|
592
611
|
{
|
|
593
612
|
exportName: "existsCommand",
|
|
594
613
|
name: "exists",
|
|
595
614
|
description: "Check if a task ID exists (exit 0=exists, 4=not found)",
|
|
596
|
-
load: async () => (await import("./exists-
|
|
615
|
+
load: async () => (await import("./exists-BEDZS5RI.js")).existsCommand
|
|
597
616
|
},
|
|
598
617
|
{
|
|
599
618
|
exportName: "exodusCommand",
|
|
600
619
|
name: "exodus",
|
|
601
620
|
description: "[TRANSITIONAL] Migrate legacy multi-DB fleet to consolidated dual-scope cleo.db (SG-DB-SUBSTRATE-V2)",
|
|
602
|
-
load: async () => (await import("./exodus-
|
|
621
|
+
load: async () => (await import("./exodus-DUX62344.js")).exodusCommand
|
|
603
622
|
},
|
|
604
623
|
{
|
|
605
624
|
exportName: "exportTasksCommand",
|
|
606
625
|
name: "export-tasks",
|
|
607
626
|
description: "Export tasks to portable .cleo-export.json package for cross-project transfer",
|
|
608
|
-
load: async () => (await import("./export-tasks-
|
|
627
|
+
load: async () => (await import("./export-tasks-CUXDZPJB.js")).exportTasksCommand
|
|
609
628
|
},
|
|
610
629
|
{
|
|
611
630
|
exportName: "exportCommand",
|
|
612
631
|
name: "export",
|
|
613
632
|
description: "Export tasks to CSV, TSV, JSON, or markdown format",
|
|
614
|
-
load: async () => (await import("./export-
|
|
633
|
+
load: async () => (await import("./export-C5PQIQ5O.js")).exportCommand
|
|
615
634
|
},
|
|
616
635
|
{
|
|
617
636
|
exportName: "federationCommand",
|
|
618
637
|
name: "federation",
|
|
619
638
|
description: "Federation peer management: add, remove, list trusted peers",
|
|
620
|
-
load: async () => (await import("./federation-
|
|
639
|
+
load: async () => (await import("./federation-ESM35EGG.js")).federationCommand
|
|
621
640
|
},
|
|
622
641
|
{
|
|
623
642
|
exportName: "findCommand",
|
|
624
643
|
name: "find",
|
|
625
644
|
description: "Lexical task search; fuzzy matching requires --fuzzy",
|
|
626
|
-
load: async () => (await import("./find-
|
|
645
|
+
load: async () => (await import("./find-5EUZHHQJ.js")).findCommand
|
|
627
646
|
},
|
|
628
647
|
{
|
|
629
648
|
exportName: "focusCommand",
|
|
630
649
|
name: "focus",
|
|
631
650
|
description: "Single-envelope orientation for a task, epic, or saga \u2014 replaces 8 separate calls with one",
|
|
632
|
-
load: async () => (await import("./focus-
|
|
651
|
+
load: async () => (await import("./focus-ANKAIRO5.js")).focusCommand
|
|
633
652
|
},
|
|
634
653
|
{
|
|
635
654
|
exportName: "gatewayOpenapiSubCommand",
|
|
636
655
|
name: "openapi",
|
|
637
656
|
description: "Emit the OpenAPI 3.1 spec projected from the OPERATIONS registry",
|
|
638
|
-
load: async () => (await import("./gateway-
|
|
657
|
+
load: async () => (await import("./gateway-2GW2KTK3.js")).gatewayOpenapiSubCommand
|
|
639
658
|
},
|
|
640
659
|
{
|
|
641
660
|
exportName: "gatewayCommand",
|
|
642
661
|
name: "gateway",
|
|
643
662
|
description: "REST gateway introspection (openapi spec projection)",
|
|
644
|
-
load: async () => (await import("./gateway-
|
|
663
|
+
load: async () => (await import("./gateway-2GW2KTK3.js")).gatewayCommand
|
|
645
664
|
},
|
|
646
665
|
{
|
|
647
666
|
exportName: "gcCommand",
|
|
648
667
|
name: "gc",
|
|
649
668
|
description: "Transcript garbage collection: manual trigger and status",
|
|
650
|
-
load: async () => (await import("./gc-
|
|
669
|
+
load: async () => (await import("./gc-CTOQLUSA.js")).gcCommand
|
|
651
670
|
},
|
|
652
671
|
{
|
|
653
672
|
exportName: "goCommand",
|
|
654
673
|
name: "go",
|
|
655
674
|
description: "SG-AUTOPILOT: run one turn of briefing\u2192sagaNext\u2192ready\u2192stage-branch\u2192ivtr loop",
|
|
656
|
-
load: async () => (await import("./go-
|
|
675
|
+
load: async () => (await import("./go-YJPNHHYT.js")).goCommand
|
|
657
676
|
},
|
|
658
677
|
{
|
|
659
678
|
exportName: "goalCommand",
|
|
660
679
|
name: "goal",
|
|
661
680
|
description: "DB-persisted, per-agent, evidence-gate-aware goal loop (set/status/advance/subgoal/append).",
|
|
662
|
-
load: async () => (await import("./goal-
|
|
681
|
+
load: async () => (await import("./goal-4GW4G77D.js")).goalCommand
|
|
663
682
|
},
|
|
664
683
|
{
|
|
665
684
|
exportName: "gradeCommand",
|
|
666
685
|
name: "grade",
|
|
667
686
|
description: "Grade agent behavior for a session (requires --grade flag on session start)",
|
|
668
|
-
load: async () => (await import("./grade-
|
|
687
|
+
load: async () => (await import("./grade-25WSZH4X.js")).gradeCommand
|
|
669
688
|
},
|
|
670
689
|
{
|
|
671
690
|
exportName: "graphCommand",
|
|
672
691
|
name: "graph",
|
|
673
692
|
description: "Project-scoped code intelligence: symbol graph, impact analysis, clusters, flows",
|
|
674
|
-
load: async () => (await import("./graph-
|
|
693
|
+
load: async () => (await import("./graph-JUO3TMF3.js")).graphCommand
|
|
675
694
|
},
|
|
676
695
|
{
|
|
677
696
|
exportName: "historyCommand",
|
|
678
697
|
name: "history",
|
|
679
698
|
description: "Completion timeline and productivity analytics",
|
|
680
|
-
load: async () => (await import("./history-
|
|
699
|
+
load: async () => (await import("./history-NACNUQTC.js")).historyCommand
|
|
681
700
|
},
|
|
682
701
|
{
|
|
683
702
|
exportName: "hookCommand",
|
|
@@ -695,463 +714,463 @@ var COMMAND_MANIFEST = [
|
|
|
695
714
|
exportName: "importTasksCommand",
|
|
696
715
|
name: "import-tasks",
|
|
697
716
|
description: "Import tasks from .cleo-export.json package with ID remapping",
|
|
698
|
-
load: async () => (await import("./import-tasks-
|
|
717
|
+
load: async () => (await import("./import-tasks-FLE2RPBR.js")).importTasksCommand
|
|
699
718
|
},
|
|
700
719
|
{
|
|
701
720
|
exportName: "importCommand",
|
|
702
721
|
name: "import",
|
|
703
722
|
description: "Import tasks from export package",
|
|
704
|
-
load: async () => (await import("./import-
|
|
723
|
+
load: async () => (await import("./import-7ESGL5SS.js")).importCommand
|
|
705
724
|
},
|
|
706
725
|
{
|
|
707
726
|
exportName: "initCommand",
|
|
708
727
|
name: "init",
|
|
709
728
|
description: "Initialize CLEO in a project directory",
|
|
710
|
-
load: async () => (await import("./init-
|
|
729
|
+
load: async () => (await import("./init-AN4DZ2XO.js")).initCommand
|
|
711
730
|
},
|
|
712
731
|
{
|
|
713
732
|
exportName: "injectCommand",
|
|
714
733
|
name: "inject",
|
|
715
734
|
description: "Prepare tasks for external system injection",
|
|
716
|
-
load: async () => (await import("./inject-
|
|
735
|
+
load: async () => (await import("./inject-HQWA5GWY.js")).injectCommand
|
|
717
736
|
},
|
|
718
737
|
{
|
|
719
738
|
exportName: "installGlobalCommand",
|
|
720
739
|
name: "install-global",
|
|
721
740
|
description: "Run the global bootstrap manually (install templates, ~/.cleo symlink, agents, skills). Same as npm postinstall.",
|
|
722
|
-
load: async () => (await import("./install-global-
|
|
741
|
+
load: async () => (await import("./install-global-YQV4W5OG.js")).installGlobalCommand
|
|
723
742
|
},
|
|
724
743
|
{
|
|
725
744
|
exportName: "intelligenceCommand",
|
|
726
745
|
name: "intelligence",
|
|
727
746
|
description: "Predictive intelligence and quality analysis",
|
|
728
|
-
load: async () => (await import("./intelligence-
|
|
747
|
+
load: async () => (await import("./intelligence-QIC4SN4X.js")).intelligenceCommand
|
|
729
748
|
},
|
|
730
749
|
{
|
|
731
750
|
exportName: "issueCommand",
|
|
732
751
|
name: "issue",
|
|
733
752
|
description: "File bug reports, feature requests, or questions to CLEO GitHub repo",
|
|
734
|
-
load: async () => (await import("./issue-
|
|
753
|
+
load: async () => (await import("./issue-P5RNMRDG.js")).issueCommand
|
|
735
754
|
},
|
|
736
755
|
{
|
|
737
756
|
exportName: "janitorCommand",
|
|
738
757
|
name: "janitor",
|
|
739
758
|
description: "Orphan process reaper and stale scope/lock/debris sweep (silent, idempotent)",
|
|
740
|
-
load: async () => (await import("./janitor-
|
|
759
|
+
load: async () => (await import("./janitor-ZNCFQ7E3.js")).janitorCommand
|
|
741
760
|
},
|
|
742
761
|
{
|
|
743
762
|
exportName: "labelsCommand",
|
|
744
763
|
name: "labels",
|
|
745
764
|
description: "List all labels (no args), or show tasks for a label (cleo labels <name>)",
|
|
746
|
-
load: async () => (await import("./labels-
|
|
765
|
+
load: async () => (await import("./labels-ORBM3T57.js")).labelsCommand
|
|
747
766
|
},
|
|
748
767
|
{
|
|
749
768
|
exportName: "lifecycleCommand",
|
|
750
769
|
name: "lifecycle",
|
|
751
770
|
description: "RCASD-IVTR+C lifecycle pipeline management",
|
|
752
|
-
load: async () => (await import("./lifecycle-
|
|
771
|
+
load: async () => (await import("./lifecycle-MHR22TVI.js")).lifecycleCommand
|
|
753
772
|
},
|
|
754
773
|
{
|
|
755
774
|
exportName: "listCommand",
|
|
756
775
|
name: "list",
|
|
757
776
|
description: "List tasks with optional filters",
|
|
758
|
-
load: async () => (await import("./list-
|
|
777
|
+
load: async () => (await import("./list-LB6GCYYU.js")).listCommand
|
|
759
778
|
},
|
|
760
779
|
{
|
|
761
780
|
exportName: "costCommand",
|
|
762
781
|
name: "cost",
|
|
763
782
|
description: "Compute cumulative USD cost for an LLM session from recorded token_usage entries. ",
|
|
764
|
-
load: async () => (await import("./llm-cost-
|
|
783
|
+
load: async () => (await import("./llm-cost-MLMXEAR4.js")).costCommand
|
|
765
784
|
},
|
|
766
785
|
{
|
|
767
786
|
exportName: "streamCommand",
|
|
768
787
|
name: "stream",
|
|
769
788
|
description: "Stream a single-prompt completion via LlmTransport.stream(). ",
|
|
770
|
-
load: async () => (await import("./llm-stream-
|
|
789
|
+
load: async () => (await import("./llm-stream-AAEUNKRP.js")).streamCommand
|
|
771
790
|
},
|
|
772
791
|
{
|
|
773
792
|
exportName: "llmCommand",
|
|
774
793
|
name: "llm",
|
|
775
794
|
description: "Manage LLM credentials, role profiles, and resolver diagnostics",
|
|
776
|
-
load: async () => (await import("./llm-
|
|
795
|
+
load: async () => (await import("./llm-OTJWPMGI.js")).llmCommand
|
|
777
796
|
},
|
|
778
797
|
{
|
|
779
798
|
exportName: "logCommand",
|
|
780
799
|
name: "log",
|
|
781
800
|
description: "View audit log entries (operations, timestamps, changes)",
|
|
782
|
-
load: async () => (await import("./log-
|
|
801
|
+
load: async () => (await import("./log-W2A5M2NA.js")).logCommand
|
|
783
802
|
},
|
|
784
803
|
{
|
|
785
804
|
exportName: "loginCommand",
|
|
786
805
|
name: "login",
|
|
787
|
-
description: "Log in to a Cleo Nexus account (cleo login nexus: device code, --api-url, --no-browser) or to an LLM provider, binding a usable profile in one step. The picker lists the Cleo Nexus account first, then the providers. After a Cleo Nexus sign-in inside an unlinked CLEO project it
|
|
788
|
-
load: async () => (await import("./login-
|
|
806
|
+
description: "Log in to a Cleo Nexus account (cleo login nexus: device code, --api-url, --no-browser) or to an LLM provider, binding a usable profile in one step. The picker lists the Cleo Nexus account first, then the providers. Without a terminal and no target, cleo login signs in to Cleo Nexus (an agent needs no extra word). After a Cleo Nexus sign-in inside an unlinked CLEO project it links the project and backs it up: a terminal is asked, --yes or a non-interactive run (an agent) does it, a restore over this copy is never done unasked, and CI only prints the next command; outside a project it lists your projects with the cleo cloud restore command for each. For a provider it picks an auth method (browser OAuth or API key), selects a model, binds it, and validates the binding. cleo auth login and cleo llm login resolve to this same flow. Prompts/URLs go to stderr; the result is a human line on a terminal or a JSON envelope when piped / --json.",
|
|
807
|
+
load: async () => (await import("./login-SIXFFZSP.js")).loginCommand
|
|
789
808
|
},
|
|
790
809
|
{
|
|
791
810
|
exportName: "logoutCommand",
|
|
792
811
|
name: "logout",
|
|
793
812
|
description: "Sign out. cleo logout [nexus] signs this machine out of Cleo Nexus (the device keeps its id for the next login; --revoke burns it), confirmed by the server; cleo logout <provider> [label] removes an LLM credential exactly like cleo auth remove (the label may be omitted when the provider has one credential).",
|
|
794
|
-
load: async () => (await import("./logout-
|
|
813
|
+
load: async () => (await import("./logout-G3KVLQQM.js")).logoutCommand
|
|
795
814
|
},
|
|
796
815
|
{
|
|
797
816
|
exportName: "manifestCommand",
|
|
798
817
|
name: "manifest",
|
|
799
818
|
description: "Manifest operations (pipeline_manifest table)",
|
|
800
|
-
load: async () => (await import("./manifest-
|
|
819
|
+
load: async () => (await import("./manifest-G4T6EBSI.js")).manifestCommand
|
|
801
820
|
},
|
|
802
821
|
{
|
|
803
822
|
exportName: "mapCommand",
|
|
804
823
|
name: "map",
|
|
805
824
|
description: "Analyze codebase structure and return structured mapping",
|
|
806
|
-
load: async () => (await import("./map-
|
|
825
|
+
load: async () => (await import("./map-VU5M72TK.js")).mapCommand
|
|
807
826
|
},
|
|
808
827
|
{
|
|
809
828
|
exportName: "memoryCommand",
|
|
810
829
|
name: "memory",
|
|
811
830
|
description: "BRAIN memory operations (patterns, learnings, decisions \u2014 use decision-store/-find for architectural decisions)",
|
|
812
|
-
load: async () => (await import("./memory-
|
|
831
|
+
load: async () => (await import("./memory-2E27G2G5.js")).memoryCommand
|
|
813
832
|
},
|
|
814
833
|
{
|
|
815
834
|
exportName: "migrateAgentsV2Command",
|
|
816
835
|
name: "agents-v2",
|
|
817
836
|
description: "Register existing .cant agent files into signaldock.db (idempotent, conflict-safe)",
|
|
818
|
-
load: async () => (await import("./migrate-agents-v2-
|
|
837
|
+
load: async () => (await import("./migrate-agents-v2-A52QIYNJ.js")).migrateAgentsV2Command
|
|
819
838
|
},
|
|
820
839
|
{
|
|
821
840
|
exportName: "migrateClaudeMemCommand",
|
|
822
841
|
name: "migrate",
|
|
823
842
|
description: "Data migration utilities",
|
|
824
|
-
load: async () => (await import("./migrate-claude-mem-
|
|
843
|
+
load: async () => (await import("./migrate-claude-mem-TPDW3R4Z.js")).migrateClaudeMemCommand
|
|
825
844
|
},
|
|
826
845
|
{
|
|
827
846
|
exportName: "nextCommand",
|
|
828
847
|
name: "next",
|
|
829
848
|
description: "Suggest next task to work on based on priority and dependencies",
|
|
830
|
-
load: async () => (await import("./next-
|
|
849
|
+
load: async () => (await import("./next-SVH4LIDY.js")).nextCommand
|
|
831
850
|
},
|
|
832
851
|
{
|
|
833
852
|
exportName: "nexusCommand",
|
|
834
853
|
name: "nexus",
|
|
835
854
|
description: "Cross-project NEXUS operations",
|
|
836
|
-
load: async () => (await import("./nexus-
|
|
855
|
+
load: async () => (await import("./nexus-XSFXN5E6.js")).nexusCommand
|
|
837
856
|
},
|
|
838
857
|
{
|
|
839
858
|
exportName: "opsCommand",
|
|
840
859
|
name: "ops",
|
|
841
860
|
description: "Show available operations filtered to disclosure tier",
|
|
842
|
-
load: async () => (await import("./ops-
|
|
861
|
+
load: async () => (await import("./ops-K6LHY5J6.js")).opsCommand
|
|
843
862
|
},
|
|
844
863
|
{
|
|
845
864
|
exportName: "orchestrateCommand",
|
|
846
865
|
name: "orchestrate",
|
|
847
866
|
description: "Multi-agent orchestration commands",
|
|
848
|
-
load: async () => (await import("./orchestrate-
|
|
867
|
+
load: async () => (await import("./orchestrate-HURUCQFT.js")).orchestrateCommand
|
|
849
868
|
},
|
|
850
869
|
{
|
|
851
870
|
exportName: "otelCommand",
|
|
852
871
|
name: "otel",
|
|
853
872
|
description: "Lightweight token metrics from .cleo/metrics/TOKEN_USAGE.jsonl (session-level, spawn-level events)",
|
|
854
|
-
load: async () => (await import("./otel-
|
|
873
|
+
load: async () => (await import("./otel-JCNPVJLZ.js")).otelCommand
|
|
855
874
|
},
|
|
856
875
|
{
|
|
857
876
|
exportName: "phaseCommand",
|
|
858
877
|
name: "phase",
|
|
859
878
|
description: "Project-level phase lifecycle management",
|
|
860
|
-
load: async () => (await import("./phase-
|
|
879
|
+
load: async () => (await import("./phase-VDFRASSO.js")).phaseCommand
|
|
861
880
|
},
|
|
862
881
|
{
|
|
863
882
|
exportName: "pivotCommand",
|
|
864
883
|
name: "pivot",
|
|
865
884
|
description: "Record an audited context switch from one task to another (replaces silent reframes)",
|
|
866
|
-
load: async () => (await import("./pivot-
|
|
885
|
+
load: async () => (await import("./pivot-V5MSQZ7L.js")).pivotCommand
|
|
867
886
|
},
|
|
868
887
|
{
|
|
869
888
|
exportName: "planCommand",
|
|
870
889
|
name: "plan",
|
|
871
890
|
description: "Task prioritization view: in-progress epics, ready tasks, blocked tasks, open bugs with scoring. Use when deciding what to work on next.",
|
|
872
|
-
load: async () => (await import("./plan-
|
|
891
|
+
load: async () => (await import("./plan-SQUGCKSM.js")).planCommand
|
|
873
892
|
},
|
|
874
893
|
{
|
|
875
894
|
exportName: "playbookCommand",
|
|
876
895
|
name: "playbook",
|
|
877
896
|
description: "Playbook runtime operations (run, status, resume, list, create, validate)",
|
|
878
|
-
load: async () => (await import("./playbook-
|
|
897
|
+
load: async () => (await import("./playbook-L47GLDQD.js")).playbookCommand
|
|
879
898
|
},
|
|
880
899
|
{
|
|
881
900
|
exportName: "projectCommand",
|
|
882
901
|
name: "project",
|
|
883
902
|
description: "Project lifecycle management (move, reroot, rename, re-register, link).",
|
|
884
|
-
load: async () => (await import("./project-
|
|
903
|
+
load: async () => (await import("./project-YZEC7GYF.js")).projectCommand
|
|
885
904
|
},
|
|
886
905
|
{
|
|
887
906
|
exportName: "promoteCommand",
|
|
888
907
|
name: "promote",
|
|
889
908
|
description: "Remove parent from task, making it root-level",
|
|
890
|
-
load: async () => (await import("./promote-
|
|
909
|
+
load: async () => (await import("./promote-FINF4HVK.js")).promoteCommand
|
|
891
910
|
},
|
|
892
911
|
{
|
|
893
912
|
exportName: "provenanceCommand",
|
|
894
913
|
name: "provenance",
|
|
895
914
|
description: "Provenance-graph maintenance: backfill, verify, repair",
|
|
896
|
-
load: async () => (await import("./provenance-
|
|
915
|
+
load: async () => (await import("./provenance-YZG33JGM.js")).provenanceCommand
|
|
897
916
|
},
|
|
898
917
|
{
|
|
899
918
|
exportName: "providerCommand",
|
|
900
919
|
name: "provider",
|
|
901
920
|
description: "CAAMP provider registry: list, detect, supports, hooks, inject",
|
|
902
|
-
load: async () => (await import("./provider-
|
|
921
|
+
load: async () => (await import("./provider-23JVLLG3.js")).providerCommand
|
|
903
922
|
},
|
|
904
923
|
{
|
|
905
924
|
exportName: "reasonCommand",
|
|
906
925
|
name: "reason",
|
|
907
926
|
description: "Reasoning and intelligence operations (impact, timeline)",
|
|
908
|
-
load: async () => (await import("./reason-
|
|
927
|
+
load: async () => (await import("./reason-FHN54O7O.js")).reasonCommand
|
|
909
928
|
},
|
|
910
929
|
{
|
|
911
930
|
exportName: "reconcileCommand",
|
|
912
931
|
name: "reconcile",
|
|
913
932
|
description: "Reconcile state against external sources (release tags, schema, etc.)",
|
|
914
|
-
load: async () => (await import("./reconcile-
|
|
933
|
+
load: async () => (await import("./reconcile-MOM5T4AX.js")).reconcileCommand
|
|
915
934
|
},
|
|
916
935
|
{
|
|
917
936
|
exportName: "refreshMemoryCommand",
|
|
918
937
|
name: "refresh-memory",
|
|
919
938
|
description: "Regenerate .cleo/memory-bridge.md from brain.db",
|
|
920
|
-
load: async () => (await import("./refresh-memory-
|
|
939
|
+
load: async () => (await import("./refresh-memory-3OSTRAVK.js")).refreshMemoryCommand
|
|
921
940
|
},
|
|
922
941
|
{
|
|
923
942
|
exportName: "relatesCommand",
|
|
924
943
|
name: "relates",
|
|
925
944
|
description: "Semantic relationship discovery and management between tasks",
|
|
926
|
-
load: async () => (await import("./relates-
|
|
945
|
+
load: async () => (await import("./relates-6FWUFUS2.js")).relatesCommand
|
|
927
946
|
},
|
|
928
947
|
{
|
|
929
948
|
exportName: "releaseCommand",
|
|
930
949
|
name: "release",
|
|
931
950
|
description: "Release lifecycle management \u2014 4-verb pipeline: plan \u2192 open \u2192 reconcile / rollback. ",
|
|
932
|
-
load: async () => (await import("./release-
|
|
951
|
+
load: async () => (await import("./release-URX6JHZ2.js")).releaseCommand
|
|
933
952
|
},
|
|
934
953
|
{
|
|
935
954
|
exportName: "remoteCommand",
|
|
936
955
|
name: "remote",
|
|
937
956
|
description: "Manage .cleo/.git remotes for multi-contributor state sharing",
|
|
938
|
-
load: async () => (await import("./remote-
|
|
957
|
+
load: async () => (await import("./remote-VIULU2T5.js")).remoteCommand
|
|
939
958
|
},
|
|
940
959
|
{
|
|
941
960
|
exportName: "pushCommand",
|
|
942
961
|
name: "push",
|
|
943
962
|
description: "Push .cleo/ state to remote (operates on .cleo/.git)",
|
|
944
|
-
load: async () => (await import("./remote-
|
|
963
|
+
load: async () => (await import("./remote-VIULU2T5.js")).pushCommand
|
|
945
964
|
},
|
|
946
965
|
{
|
|
947
966
|
exportName: "pullCommand",
|
|
948
967
|
name: "pull",
|
|
949
968
|
description: "Pull .cleo/ state from remote (operates on .cleo/.git)",
|
|
950
|
-
load: async () => (await import("./remote-
|
|
969
|
+
load: async () => (await import("./remote-VIULU2T5.js")).pullCommand
|
|
951
970
|
},
|
|
952
971
|
{
|
|
953
972
|
exportName: "reorderCommand",
|
|
954
973
|
name: "reorder",
|
|
955
974
|
description: "Change task position within sibling group",
|
|
956
|
-
load: async () => (await import("./reorder-
|
|
975
|
+
load: async () => (await import("./reorder-UIPN6TQY.js")).reorderCommand
|
|
957
976
|
},
|
|
958
977
|
{
|
|
959
978
|
exportName: "reparentCommand",
|
|
960
979
|
name: "reparent",
|
|
961
980
|
description: "Move task to a different parent in hierarchy",
|
|
962
|
-
load: async () => (await import("./reparent-
|
|
981
|
+
load: async () => (await import("./reparent-ALOWWUIU.js")).reparentCommand
|
|
963
982
|
},
|
|
964
983
|
{
|
|
965
984
|
exportName: "reqCommand",
|
|
966
985
|
name: "req",
|
|
967
986
|
description: "Manage REQ-ID-addressable acceptance gates on tasks (in-task gates only). For cross-task dependency edges, use `cleo update <id> --add-depends <ids>` or `cleo update <id> --add-relates <id>:blocks` (gh-394).",
|
|
968
|
-
load: async () => (await import("./req-
|
|
987
|
+
load: async () => (await import("./req-RH2Y3H7A.js")).reqCommand
|
|
969
988
|
},
|
|
970
989
|
{
|
|
971
990
|
exportName: "researchCommand",
|
|
972
991
|
name: "research",
|
|
973
992
|
description: "Research commands and manifest operations",
|
|
974
|
-
load: async () => (await import("./research-
|
|
993
|
+
load: async () => (await import("./research-G2Y72HRC.js")).researchCommand
|
|
975
994
|
},
|
|
976
995
|
{
|
|
977
996
|
exportName: "restoreCommand",
|
|
978
997
|
name: "restore",
|
|
979
998
|
description: "Restore from backup or restore tasks from terminal states (archived, cancelled, completed)",
|
|
980
|
-
load: async () => (await import("./restore-
|
|
999
|
+
load: async () => (await import("./restore-VBR5XNML.js")).restoreCommand
|
|
981
1000
|
},
|
|
982
1001
|
{
|
|
983
1002
|
exportName: "revertCommand",
|
|
984
1003
|
name: "revert",
|
|
985
1004
|
description: "Owner kill-switch: squash-revert all sentient merge commits from a receipt ID",
|
|
986
|
-
load: async () => (await import("./revert-
|
|
1005
|
+
load: async () => (await import("./revert-32LDNSGP.js")).revertCommand
|
|
987
1006
|
},
|
|
988
1007
|
{
|
|
989
1008
|
exportName: "roadmapCommand",
|
|
990
1009
|
name: "roadmap",
|
|
991
1010
|
description: "Generate project roadmap from task provenance \u2014 epics grouped by status with progress",
|
|
992
|
-
load: async () => (await import("./roadmap-
|
|
1011
|
+
load: async () => (await import("./roadmap-LFU3AG7D.js")).roadmapCommand
|
|
993
1012
|
},
|
|
994
1013
|
{
|
|
995
1014
|
exportName: "runCommand",
|
|
996
1015
|
name: "run",
|
|
997
1016
|
description: "Run a heavy command (tests, builds, installs) under the machine-wide resource budget: cleo run [--class test|build|full-build] [--wait] [--passthrough] -- <command...>",
|
|
998
|
-
load: async () => (await import("./run-
|
|
1017
|
+
load: async () => (await import("./run-HXRILSR7.js")).runCommand
|
|
999
1018
|
},
|
|
1000
1019
|
{
|
|
1001
1020
|
exportName: "safestopCommand",
|
|
1002
1021
|
name: "safestop",
|
|
1003
1022
|
description: "Graceful shutdown for agents approaching context limits",
|
|
1004
|
-
load: async () => (await import("./safestop-
|
|
1023
|
+
load: async () => (await import("./safestop-Z5UC7NGQ.js")).safestopCommand
|
|
1005
1024
|
},
|
|
1006
1025
|
{
|
|
1007
1026
|
exportName: "sagaCommand",
|
|
1008
1027
|
name: "saga",
|
|
1009
1028
|
description: "Saga management \u2014 above-Epic grouping tier (ADR-073)",
|
|
1010
|
-
load: async () => (await import("./saga-
|
|
1029
|
+
load: async () => (await import("./saga-Y6FZS6AM.js")).sagaCommand
|
|
1011
1030
|
},
|
|
1012
1031
|
{
|
|
1013
1032
|
exportName: "schemaCommand",
|
|
1014
1033
|
name: "schema",
|
|
1015
1034
|
description: "Introspect a CLEO operation: show params, types, enums, and declared gates",
|
|
1016
|
-
load: async () => (await import("./schema-
|
|
1035
|
+
load: async () => (await import("./schema-OOOKLWUE.js")).schemaCommand
|
|
1017
1036
|
},
|
|
1018
1037
|
{
|
|
1019
1038
|
exportName: "selfUpdateCommand",
|
|
1020
1039
|
name: "self-update",
|
|
1021
1040
|
description: "Check for and install CLEO updates, then run post-update diagnostics",
|
|
1022
|
-
load: async () => (await import("./self-update-
|
|
1041
|
+
load: async () => (await import("./self-update-26SOTJMH.js")).selfUpdateCommand
|
|
1023
1042
|
},
|
|
1024
1043
|
{
|
|
1025
1044
|
exportName: "selfimproveCommand",
|
|
1026
1045
|
name: "selfimprove",
|
|
1027
1046
|
description: "Self-improvement loop \u2014 replay a canned dogfood scenario, diff vs golden, and surface ",
|
|
1028
|
-
load: async () => (await import("./selfimprove-
|
|
1047
|
+
load: async () => (await import("./selfimprove-4SMOCLUV.js")).selfimproveCommand
|
|
1029
1048
|
},
|
|
1030
1049
|
{
|
|
1031
1050
|
exportName: "sentientCommand",
|
|
1032
1051
|
name: "sentient",
|
|
1033
1052
|
description: "Manage the Tier-1 sentient autonomous loop daemon and Tier-2 proposals",
|
|
1034
|
-
load: async () => (await import("./sentient-
|
|
1053
|
+
load: async () => (await import("./sentient-RGMWR4XJ.js")).sentientCommand
|
|
1035
1054
|
},
|
|
1036
1055
|
{
|
|
1037
1056
|
exportName: "sequenceCommand",
|
|
1038
1057
|
name: "sequence",
|
|
1039
1058
|
description: "Inspect and manage task ID sequence (show/check/repair)",
|
|
1040
|
-
load: async () => (await import("./sequence-
|
|
1059
|
+
load: async () => (await import("./sequence-H7DSAJPF.js")).sequenceCommand
|
|
1041
1060
|
},
|
|
1042
1061
|
{
|
|
1043
1062
|
exportName: "serviceCommand",
|
|
1044
1063
|
name: "service",
|
|
1045
1064
|
description: "Connect, list, revoke, and inspect service-vault credentials (github, google, \u2026)",
|
|
1046
|
-
load: async () => (await import("./service-
|
|
1065
|
+
load: async () => (await import("./service-EK5MGB2D.js")).serviceCommand
|
|
1047
1066
|
},
|
|
1048
1067
|
{
|
|
1049
1068
|
exportName: "sessionCommand",
|
|
1050
1069
|
name: "session",
|
|
1051
1070
|
description: "Manage work sessions",
|
|
1052
|
-
load: async () => (await import("./session-
|
|
1071
|
+
load: async () => (await import("./session-HYUXAQGC.js")).sessionCommand
|
|
1053
1072
|
},
|
|
1054
1073
|
{
|
|
1055
1074
|
exportName: "setupCommand",
|
|
1056
1075
|
name: "setup",
|
|
1057
1076
|
description: "Interactive setup wizard \u2014 runs every section in canonical order (llm \u2192 system-one \u2192 models-roles \u2192 identity \u2192 sentient \u2192 project-conventions \u2192 harness \u2192 brain \u2192 integrations \u2192 telemetry \u2192 verification); system-one is optional. Use --section <name> for a single section, --non-interactive with section-specific flags to configure without prompts, --config-json for fully scripted setup, or --reset to reconfigure already-set sections.",
|
|
1058
|
-
load: async () => (await import("./setup-
|
|
1077
|
+
load: async () => (await import("./setup-L3YYV53D.js")).setupCommand
|
|
1059
1078
|
},
|
|
1060
1079
|
{
|
|
1061
1080
|
exportName: "showCommand",
|
|
1062
1081
|
name: "show",
|
|
1063
1082
|
description: "Show task details by ID. Accepts SEVERAL ids \u2014 `cleo show T1 T2 T3` returns them in one envelope and pays CLI startup once instead of per task (gh#1207). MVI-projected (id + title + status + key metadata) by default; pass --verbose / --full to receive the complete record with description, acceptance, verification, evidence, etc. (T9922)",
|
|
1064
|
-
load: async () => (await import("./show-
|
|
1083
|
+
load: async () => (await import("./show-364V3KY2.js")).showCommand
|
|
1065
1084
|
},
|
|
1066
1085
|
{
|
|
1067
1086
|
exportName: "skillCommand",
|
|
1068
1087
|
name: "skill",
|
|
1069
1088
|
description: "Single-skill operations (restore, \u2026)",
|
|
1070
|
-
load: async () => (await import("./skill-
|
|
1089
|
+
load: async () => (await import("./skill-F2KR6HW5.js")).skillCommand
|
|
1071
1090
|
},
|
|
1072
1091
|
{
|
|
1073
1092
|
exportName: "skillsCommand",
|
|
1074
1093
|
name: "skills",
|
|
1075
1094
|
description: "Skill management: list, search, validate, info, install",
|
|
1076
|
-
load: async () => (await import("./skills-
|
|
1095
|
+
load: async () => (await import("./skills-FS3DCP6E.js")).skillsCommand
|
|
1077
1096
|
},
|
|
1078
1097
|
{
|
|
1079
1098
|
exportName: "snapshotCommand",
|
|
1080
1099
|
name: "snapshot",
|
|
1081
1100
|
description: "Export/import task state snapshots for multi-contributor sharing",
|
|
1082
|
-
load: async () => (await import("./snapshot-
|
|
1101
|
+
load: async () => (await import("./snapshot-EGXEQ5PR.js")).snapshotCommand
|
|
1083
1102
|
},
|
|
1084
1103
|
{
|
|
1085
1104
|
exportName: "startCommand",
|
|
1086
1105
|
name: "start",
|
|
1087
1106
|
description: "Start working on a task (sets it as the current task and takes your session's claim lease)",
|
|
1088
|
-
load: async () => (await import("./start-
|
|
1107
|
+
load: async () => (await import("./start-6DXOCCKL.js")).startCommand
|
|
1089
1108
|
},
|
|
1090
1109
|
{
|
|
1091
1110
|
exportName: "statsCommand",
|
|
1092
1111
|
name: "stats",
|
|
1093
1112
|
description: "Project statistics (counts, completion rates, velocity)",
|
|
1094
|
-
load: async () => (await import("./stats-
|
|
1113
|
+
load: async () => (await import("./stats-UVUQEGYC.js")).statsCommand
|
|
1095
1114
|
},
|
|
1096
1115
|
{
|
|
1097
1116
|
exportName: "statusCommand",
|
|
1098
1117
|
name: "status",
|
|
1099
1118
|
description: "Unified config + credential + session + harness + daemon snapshot. ",
|
|
1100
|
-
load: async () => (await import("./status-
|
|
1119
|
+
load: async () => (await import("./status-XLKYLN42.js")).statusCommand
|
|
1101
1120
|
},
|
|
1102
1121
|
{
|
|
1103
1122
|
exportName: "stickyCommand",
|
|
1104
1123
|
name: "sticky",
|
|
1105
1124
|
description: "Manage sticky notes - quick project-wide ephemeral captures",
|
|
1106
|
-
load: async () => (await import("./sticky-
|
|
1125
|
+
load: async () => (await import("./sticky-XZXZDCFW.js")).stickyCommand
|
|
1107
1126
|
},
|
|
1108
1127
|
{
|
|
1109
1128
|
exportName: "stopCommand",
|
|
1110
1129
|
name: "stop",
|
|
1111
1130
|
description: "",
|
|
1112
|
-
load: async () => (await import("./stop-
|
|
1131
|
+
load: async () => (await import("./stop-VNOAFWNB.js")).stopCommand
|
|
1113
1132
|
},
|
|
1114
1133
|
{
|
|
1115
1134
|
exportName: "syncCommand",
|
|
1116
1135
|
name: "sync",
|
|
1117
1136
|
description: "External task synchronisation management",
|
|
1118
|
-
load: async () => (await import("./sync-
|
|
1137
|
+
load: async () => (await import("./sync-YYPARW3A.js")).syncCommand
|
|
1119
1138
|
},
|
|
1120
1139
|
{
|
|
1121
1140
|
exportName: "tasksCommand",
|
|
1122
1141
|
name: "tasks",
|
|
1123
1142
|
description: "Task query namespace: show, find, next, current, plan, analyze, slice",
|
|
1124
|
-
load: async () => (await import("./tasks-
|
|
1143
|
+
load: async () => (await import("./tasks-LBJC7CZV.js")).tasksCommand
|
|
1125
1144
|
},
|
|
1126
1145
|
{
|
|
1127
1146
|
exportName: "telemetryCommand",
|
|
1128
1147
|
name: "telemetry",
|
|
1129
1148
|
description: "Manage anonymous skills-usage telemetry (enable/disable/status)",
|
|
1130
|
-
load: async () => (await import("./telemetry-
|
|
1149
|
+
load: async () => (await import("./telemetry-CU7W5WAY.js")).telemetryCommand
|
|
1131
1150
|
},
|
|
1132
1151
|
{
|
|
1133
1152
|
exportName: "templatesCommand",
|
|
1134
1153
|
name: "templates",
|
|
1135
1154
|
description: "TemplateManifest SSoT registry surface (list, show, install, upgrade, diff, validate)",
|
|
1136
|
-
load: async () => (await import("./templates-
|
|
1155
|
+
load: async () => (await import("./templates-G42JBUY4.js")).templatesCommand
|
|
1137
1156
|
},
|
|
1138
1157
|
{
|
|
1139
1158
|
exportName: "testingCommand",
|
|
1140
1159
|
name: "testing",
|
|
1141
1160
|
description: "Validate testing protocol compliance",
|
|
1142
|
-
load: async () => (await import("./testing-
|
|
1161
|
+
load: async () => (await import("./testing-HSRITHEY.js")).testingCommand
|
|
1143
1162
|
},
|
|
1144
1163
|
{
|
|
1145
1164
|
exportName: "tokenCommand",
|
|
1146
1165
|
name: "token",
|
|
1147
1166
|
description: "Provider-aware token telemetry from tasks.db (historical, per-operation tracking)",
|
|
1148
|
-
load: async () => (await import("./token-
|
|
1167
|
+
load: async () => (await import("./token-J74E7TSU.js")).tokenCommand
|
|
1149
1168
|
},
|
|
1150
1169
|
{
|
|
1151
1170
|
exportName: "transcriptCommand",
|
|
1152
1171
|
name: "transcript",
|
|
1153
1172
|
description: "Transcript lifecycle management: scan, extract, and prune session transcripts",
|
|
1154
|
-
load: async () => (await import("./transcript-
|
|
1173
|
+
load: async () => (await import("./transcript-RGK7RSGQ.js")).transcriptCommand
|
|
1155
1174
|
},
|
|
1156
1175
|
{
|
|
1157
1176
|
exportName: "tuiCommand",
|
|
@@ -1163,37 +1182,37 @@ var COMMAND_MANIFEST = [
|
|
|
1163
1182
|
exportName: "updateCommand",
|
|
1164
1183
|
name: "update",
|
|
1165
1184
|
description: "Update a task. Safe under concurrent invocation \u2014 retries on SQLITE_BUSY up to 4 attempts (gh#391).",
|
|
1166
|
-
load: async () => (await import("./update-
|
|
1185
|
+
load: async () => (await import("./update-2KQWA27S.js")).updateCommand
|
|
1167
1186
|
},
|
|
1168
1187
|
{
|
|
1169
1188
|
exportName: "upgradeCommand",
|
|
1170
1189
|
name: "upgrade",
|
|
1171
1190
|
description: "Unified project maintenance (storage migration, schema repair, structural fixes, doc refresh)",
|
|
1172
|
-
load: async () => (await import("./upgrade-
|
|
1191
|
+
load: async () => (await import("./upgrade-XRSQ4RWH.js")).upgradeCommand
|
|
1173
1192
|
},
|
|
1174
1193
|
{
|
|
1175
1194
|
exportName: "verifyCommand",
|
|
1176
1195
|
name: "verify",
|
|
1177
1196
|
description: "View or modify verification gates for a task",
|
|
1178
|
-
load: async () => (await import("./verify-
|
|
1197
|
+
load: async () => (await import("./verify-WASRGDBA.js")).verifyCommand
|
|
1179
1198
|
},
|
|
1180
1199
|
{
|
|
1181
1200
|
exportName: "webCommand",
|
|
1182
1201
|
name: "web",
|
|
1183
1202
|
description: "Open CLEO Studio in the browser (starts gateway on demand)",
|
|
1184
|
-
load: async () => (await import("./web-
|
|
1203
|
+
load: async () => (await import("./web-NJ3P67EU.js")).webCommand
|
|
1185
1204
|
},
|
|
1186
1205
|
{
|
|
1187
1206
|
exportName: "workgraphCommand",
|
|
1188
1207
|
name: "workgraph",
|
|
1189
1208
|
description: "PM-Core V2 WorkGraph operations \u2014 validate, apply, plan, structure, status",
|
|
1190
|
-
load: async () => (await import("./workgraph-
|
|
1209
|
+
load: async () => (await import("./workgraph-OHJ2VKJD.js")).workgraphCommand
|
|
1191
1210
|
},
|
|
1192
1211
|
{
|
|
1193
1212
|
exportName: "worktreeCommand",
|
|
1194
1213
|
name: "worktree",
|
|
1195
1214
|
description: "Inspect and manage CLEO-attached git worktrees. ",
|
|
1196
|
-
load: async () => (await import("./worktree-
|
|
1215
|
+
load: async () => (await import("./worktree-FVQLORFY.js")).worktreeCommand
|
|
1197
1216
|
}
|
|
1198
1217
|
];
|
|
1199
1218
|
|
|
@@ -1338,10 +1357,14 @@ async function validateCommandPath(command, rawArgs, label) {
|
|
|
1338
1357
|
assertKnownFlags(rawArgs, schema, label);
|
|
1339
1358
|
}
|
|
1340
1359
|
}
|
|
1360
|
+
async function installRetiredHostGuard() {
|
|
1361
|
+
const { installRetiredHostFetchGuard } = await import("@cleocode/core/conduit/cloud-endpoint.js");
|
|
1362
|
+
installRetiredHostFetchGuard();
|
|
1363
|
+
}
|
|
1341
1364
|
function lazyCommand(meta, loader) {
|
|
1342
1365
|
let promise = null;
|
|
1343
1366
|
const load = () => {
|
|
1344
|
-
promise ??= loader();
|
|
1367
|
+
promise ??= Promise.all([loader(), installRetiredHostGuard()]).then(([command]) => command);
|
|
1345
1368
|
return promise;
|
|
1346
1369
|
};
|
|
1347
1370
|
const validate = async (cmd, rawArgs) => {
|
|
@@ -1349,8 +1372,8 @@ function lazyCommand(meta, loader) {
|
|
|
1349
1372
|
await validateCommandPath(cmd, rawArgs, meta.name);
|
|
1350
1373
|
} catch (err) {
|
|
1351
1374
|
if (err instanceof UnknownFlagError) {
|
|
1352
|
-
const { cliError } = await import("./renderers-
|
|
1353
|
-
const { ExitCode } = await import("@cleocode/contracts");
|
|
1375
|
+
const { cliError } = await import("./renderers-TGSW77J4.js");
|
|
1376
|
+
const { ExitCode } = await import("@cleocode/contracts/exit-codes.js");
|
|
1354
1377
|
cliError(err.message, ExitCode.VALIDATION_ERROR, {
|
|
1355
1378
|
name: err.code,
|
|
1356
1379
|
fix: err.fix,
|
|
@@ -1411,15 +1434,76 @@ function releaseCliThreadpoolEnv(env = process.env, startPool = startThreadPool)
|
|
|
1411
1434
|
return true;
|
|
1412
1435
|
}
|
|
1413
1436
|
|
|
1437
|
+
// packages/cleo/src/cli/lib/exit-path.ts
|
|
1438
|
+
import { existsSync, readFileSync } from "node:fs";
|
|
1439
|
+
import { dirname, join } from "node:path";
|
|
1440
|
+
import { fileURLToPath } from "node:url";
|
|
1441
|
+
var preloaded = null;
|
|
1442
|
+
function preloadExitPath() {
|
|
1443
|
+
preloaded ??= Promise.all([
|
|
1444
|
+
import("./renderers-TGSW77J4.js"),
|
|
1445
|
+
import("@cleocode/core/shutdown"),
|
|
1446
|
+
import("@cleocode/core/shutdown-deadline")
|
|
1447
|
+
]).then(([renderers, shutdown, deadline]) => ({
|
|
1448
|
+
cliError: renderers.cliError,
|
|
1449
|
+
shutdownCliRuntime: shutdown.shutdownCliRuntime,
|
|
1450
|
+
armExitBackstop: deadline.armExitBackstop,
|
|
1451
|
+
formatShutdownOutcomes: deadline.formatShutdownOutcomes
|
|
1452
|
+
}));
|
|
1453
|
+
preloaded.catch(() => {
|
|
1454
|
+
});
|
|
1455
|
+
return preloaded;
|
|
1456
|
+
}
|
|
1457
|
+
function exitPath() {
|
|
1458
|
+
return preloadExitPath();
|
|
1459
|
+
}
|
|
1460
|
+
function errorCode(err) {
|
|
1461
|
+
return err instanceof Error && "code" in err && typeof err.code === "string" ? err.code : void 0;
|
|
1462
|
+
}
|
|
1463
|
+
function isVanishedModule(err) {
|
|
1464
|
+
const code = errorCode(err);
|
|
1465
|
+
return code === "ERR_MODULE_NOT_FOUND" || code === "MODULE_NOT_FOUND";
|
|
1466
|
+
}
|
|
1467
|
+
function vanishedModuleNotice(err, runningVersion, packageJsonPath = defaultPackageJson()) {
|
|
1468
|
+
const installed2 = installedVersion(packageJsonPath);
|
|
1469
|
+
const missing = err instanceof Error ? err.message.split("\n")[0] : String(err);
|
|
1470
|
+
if (installed2 !== null && installed2 !== runningVersion) {
|
|
1471
|
+
return `[cleo] CLEO was upgraded from ${runningVersion} to ${installed2} while this command ran, and the code it needed to finish is gone (${missing}). The command itself ran; check its result, and run it again if needed.
|
|
1472
|
+
`;
|
|
1473
|
+
}
|
|
1474
|
+
return `[cleo] a CLEO module is missing from the installation (${missing}). Reinstall CLEO.
|
|
1475
|
+
`;
|
|
1476
|
+
}
|
|
1477
|
+
function exitPathLoadFailureNotice(err, runningVersion, packageJsonPath) {
|
|
1478
|
+
if (isVanishedModule(err)) return vanishedModuleNotice(err, runningVersion, packageJsonPath);
|
|
1479
|
+
const code = errorCode(err);
|
|
1480
|
+
const detail = err instanceof Error ? err.stack ?? err.message : String(err);
|
|
1481
|
+
return `[cleo] the CLI could not load the code that finishes this command${code ? ` (${code})` : ""}:
|
|
1482
|
+
${detail}
|
|
1483
|
+
`;
|
|
1484
|
+
}
|
|
1485
|
+
function defaultPackageJson() {
|
|
1486
|
+
return join(dirname(fileURLToPath(import.meta.url)), "../../package.json");
|
|
1487
|
+
}
|
|
1488
|
+
function installedVersion(packageJsonPath) {
|
|
1489
|
+
try {
|
|
1490
|
+
if (!existsSync(packageJsonPath)) return null;
|
|
1491
|
+
const pkg = JSON.parse(readFileSync(packageJsonPath, "utf-8"));
|
|
1492
|
+
return typeof pkg.version === "string" ? pkg.version : null;
|
|
1493
|
+
} catch {
|
|
1494
|
+
return null;
|
|
1495
|
+
}
|
|
1496
|
+
}
|
|
1497
|
+
|
|
1414
1498
|
// packages/cleo/src/cli/lib/first-run-detection.ts
|
|
1415
|
-
import { existsSync } from "node:fs";
|
|
1416
|
-
import { join } from "node:path";
|
|
1499
|
+
import { existsSync as existsSync2 } from "node:fs";
|
|
1500
|
+
import { join as join2 } from "node:path";
|
|
1417
1501
|
async function detectFirstRun() {
|
|
1418
1502
|
const envKey = process.env["ANTHROPIC_API_KEY"];
|
|
1419
1503
|
if (typeof envKey === "string" && envKey.length > 0) return false;
|
|
1420
1504
|
const { getCleoPlatformPaths } = await import("@cleocode/paths");
|
|
1421
|
-
const configPath =
|
|
1422
|
-
if (
|
|
1505
|
+
const configPath = join2(getCleoPlatformPaths().config, "config.json");
|
|
1506
|
+
if (existsSync2(configPath)) return false;
|
|
1423
1507
|
try {
|
|
1424
1508
|
const { getCredentialPool } = await import("@cleocode/core/llm/credential-pool.js");
|
|
1425
1509
|
const pool = getCredentialPool();
|
|
@@ -1460,9 +1544,9 @@ function waitForEnterOrTimeout(timeoutMs) {
|
|
|
1460
1544
|
}
|
|
1461
1545
|
async function maybePromptFirstRun() {
|
|
1462
1546
|
try {
|
|
1547
|
+
if (process.stdin.isTTY !== true) return;
|
|
1463
1548
|
const isFirstRun = await detectFirstRun();
|
|
1464
1549
|
if (!isFirstRun) return;
|
|
1465
|
-
if (process.stdin.isTTY !== true) return;
|
|
1466
1550
|
process.stderr.write(
|
|
1467
1551
|
"CLEO is not configured. Run 'cleo setup' to get started. (Press Enter to skip, or wait 10s)\n"
|
|
1468
1552
|
);
|
|
@@ -1514,10 +1598,10 @@ function resolveFormat(opts, defaults, tty) {
|
|
|
1514
1598
|
}
|
|
1515
1599
|
|
|
1516
1600
|
// packages/cleo/src/cli/module-resolve-fast-path.ts
|
|
1517
|
-
import { readFileSync, realpathSync, statSync } from "node:fs";
|
|
1601
|
+
import { readFileSync as readFileSync2, realpathSync, statSync } from "node:fs";
|
|
1518
1602
|
import * as nodeModule from "node:module";
|
|
1519
|
-
import { basename, dirname, join as
|
|
1520
|
-
import { fileURLToPath, pathToFileURL } from "node:url";
|
|
1603
|
+
import { basename, dirname as dirname2, join as join3 } from "node:path";
|
|
1604
|
+
import { fileURLToPath as fileURLToPath2, pathToFileURL } from "node:url";
|
|
1521
1605
|
var RELATIVE_JS_SPECIFIER = /^\.\.?\/[^?#%\\]*\.(js|mjs|cjs)$/;
|
|
1522
1606
|
var DISABLE_ENV = "CLEO_RESOLVE_FAST_PATH";
|
|
1523
1607
|
var NODE_FS = {
|
|
@@ -1525,10 +1609,17 @@ var NODE_FS = {
|
|
|
1525
1609
|
realpath: (path) => realpathSync(path),
|
|
1526
1610
|
readText: (path) => {
|
|
1527
1611
|
try {
|
|
1528
|
-
return
|
|
1612
|
+
return readFileSync2(path, "utf8");
|
|
1529
1613
|
} catch {
|
|
1530
1614
|
return void 0;
|
|
1531
1615
|
}
|
|
1616
|
+
},
|
|
1617
|
+
isDirectory: (path) => {
|
|
1618
|
+
try {
|
|
1619
|
+
return statSync(path).isDirectory();
|
|
1620
|
+
} catch {
|
|
1621
|
+
return false;
|
|
1622
|
+
}
|
|
1532
1623
|
}
|
|
1533
1624
|
};
|
|
1534
1625
|
function declaredFormat(raw) {
|
|
@@ -1547,6 +1638,26 @@ function declaredFormat(raw) {
|
|
|
1547
1638
|
function createFastResolve(fs = NODE_FS) {
|
|
1548
1639
|
const scopeByDir = /* @__PURE__ */ new Map();
|
|
1549
1640
|
const bareByKey = /* @__PURE__ */ new Map();
|
|
1641
|
+
const bareScopeByDir = /* @__PURE__ */ new Map();
|
|
1642
|
+
const bareScope = (dir) => {
|
|
1643
|
+
const cached = bareScopeByDir.get(dir);
|
|
1644
|
+
if (cached !== void 0) return cached;
|
|
1645
|
+
let scope = dir;
|
|
1646
|
+
let current = dir;
|
|
1647
|
+
for (; ; ) {
|
|
1648
|
+
if (fs.readText(join3(current, "package.json")) !== void 0) {
|
|
1649
|
+
scope = current;
|
|
1650
|
+
break;
|
|
1651
|
+
}
|
|
1652
|
+
if (basename(current) === "node_modules" || fs.isDirectory(join3(current, "node_modules")))
|
|
1653
|
+
break;
|
|
1654
|
+
const parent = dirname2(current);
|
|
1655
|
+
if (parent === current) break;
|
|
1656
|
+
current = parent;
|
|
1657
|
+
}
|
|
1658
|
+
bareScopeByDir.set(dir, scope);
|
|
1659
|
+
return scope;
|
|
1660
|
+
};
|
|
1550
1661
|
const scopeFormat = (dir) => {
|
|
1551
1662
|
const visited = [];
|
|
1552
1663
|
let current = dir;
|
|
@@ -1559,12 +1670,12 @@ function createFastResolve(fs = NODE_FS) {
|
|
|
1559
1670
|
}
|
|
1560
1671
|
visited.push(current);
|
|
1561
1672
|
if (basename(current) === "node_modules") break;
|
|
1562
|
-
const raw = fs.readText(
|
|
1673
|
+
const raw = fs.readText(join3(current, "package.json"));
|
|
1563
1674
|
if (raw !== void 0) {
|
|
1564
1675
|
found = declaredFormat(raw);
|
|
1565
1676
|
break;
|
|
1566
1677
|
}
|
|
1567
|
-
const parent =
|
|
1678
|
+
const parent = dirname2(current);
|
|
1568
1679
|
if (parent === current) break;
|
|
1569
1680
|
current = parent;
|
|
1570
1681
|
}
|
|
@@ -1574,13 +1685,13 @@ function createFastResolve(fs = NODE_FS) {
|
|
|
1574
1685
|
const resolveRelative = (specifier, parentURL, extension) => {
|
|
1575
1686
|
let real;
|
|
1576
1687
|
try {
|
|
1577
|
-
const path =
|
|
1688
|
+
const path = fileURLToPath2(new URL(specifier, parentURL));
|
|
1578
1689
|
if (!fs.isFile(path)) return null;
|
|
1579
1690
|
real = fs.realpath(path);
|
|
1580
1691
|
} catch {
|
|
1581
1692
|
return null;
|
|
1582
1693
|
}
|
|
1583
|
-
const format = extension === "mjs" ? "module" : extension === "cjs" ? "commonjs" : scopeFormat(
|
|
1694
|
+
const format = extension === "mjs" ? "module" : extension === "cjs" ? "commonjs" : scopeFormat(dirname2(real));
|
|
1584
1695
|
if (format === null) return null;
|
|
1585
1696
|
return { url: pathToFileURL(real).href, format, shortCircuit: true };
|
|
1586
1697
|
};
|
|
@@ -1594,7 +1705,13 @@ function createFastResolve(fs = NODE_FS) {
|
|
|
1594
1705
|
}
|
|
1595
1706
|
const bare = !specifier.startsWith(".") && !specifier.startsWith("/") && !specifier.startsWith("#") && !specifier.includes(":") && !specifier.includes("\\");
|
|
1596
1707
|
if (!bare) return nextResolve(specifier, context);
|
|
1597
|
-
|
|
1708
|
+
let parentDir;
|
|
1709
|
+
try {
|
|
1710
|
+
parentDir = dirname2(fileURLToPath2(parentURL));
|
|
1711
|
+
} catch {
|
|
1712
|
+
return nextResolve(specifier, context);
|
|
1713
|
+
}
|
|
1714
|
+
const key = `${specifier}\0${bareScope(parentDir)}\0${conditions.join(",")}`;
|
|
1598
1715
|
const cached = bareByKey.get(key);
|
|
1599
1716
|
if (cached) return cached;
|
|
1600
1717
|
const resolved = nextResolve(specifier, context);
|
|
@@ -1650,8 +1767,8 @@ enforceNodeVersion();
|
|
|
1650
1767
|
releaseCliThreadpoolEnv();
|
|
1651
1768
|
installModuleResolveFastPath();
|
|
1652
1769
|
function getPackageVersion() {
|
|
1653
|
-
const pkgPath =
|
|
1654
|
-
const pkg = JSON.parse(
|
|
1770
|
+
const pkgPath = join4(dirname3(fileURLToPath3(import.meta.url)), "../../package.json");
|
|
1771
|
+
const pkg = JSON.parse(readFileSync3(pkgPath, "utf-8"));
|
|
1655
1772
|
return pkg.version;
|
|
1656
1773
|
}
|
|
1657
1774
|
var CLI_VERSION = getPackageVersion();
|
|
@@ -1665,7 +1782,7 @@ for (const entry of COMMAND_MANIFEST) {
|
|
|
1665
1782
|
subCommands["version"] = defineCommand({
|
|
1666
1783
|
meta: { name: "version", description: "Display CLEO version" },
|
|
1667
1784
|
async run() {
|
|
1668
|
-
const { cliOutput } = await import("./renderers-
|
|
1785
|
+
const { cliOutput } = await import("./renderers-TGSW77J4.js");
|
|
1669
1786
|
cliOutput({ version: CLI_VERSION }, { command: "version" });
|
|
1670
1787
|
}
|
|
1671
1788
|
});
|
|
@@ -1737,7 +1854,7 @@ Valid modes: ${validModes.join(", ")}
|
|
|
1737
1854
|
const { runCockpit } = await import("./cockpit-RZKLGYPN.js");
|
|
1738
1855
|
let autoStart = true;
|
|
1739
1856
|
try {
|
|
1740
|
-
const { getRawConfig } = await import("@cleocode/core");
|
|
1857
|
+
const { getRawConfig } = await import("@cleocode/core/config");
|
|
1741
1858
|
const cfg = await getRawConfig();
|
|
1742
1859
|
const { shouldAutoStartGateway } = await import("./gateway-auto-start-EDK7XI6E.js");
|
|
1743
1860
|
autoStart = shouldAutoStartGateway(cfg);
|
|
@@ -1748,15 +1865,17 @@ Valid modes: ${validModes.join(", ")}
|
|
|
1748
1865
|
}
|
|
1749
1866
|
const isHelpOrVersion = argv.length === 0 || argv[0] === "--help" || argv[0] === "-h" || argv[0] === "--version" || argv[0] === "-V" || argv[0] === "help";
|
|
1750
1867
|
if (argv[0] === "--version" || argv[0] === "-V") {
|
|
1751
|
-
const { cliOutput } = await import("./renderers-
|
|
1868
|
+
const { cliOutput } = await import("./renderers-TGSW77J4.js");
|
|
1752
1869
|
cliOutput({ version: CLI_VERSION }, { command: "version" });
|
|
1753
1870
|
return;
|
|
1754
1871
|
}
|
|
1755
1872
|
if (!isHelpOrVersion) {
|
|
1756
1873
|
if (rawOpts["quiet"] === true) {
|
|
1757
|
-
const { setLoggerQuiet } = await import("@cleocode/core/
|
|
1874
|
+
const { setLoggerQuiet } = await import("@cleocode/core/logger");
|
|
1758
1875
|
setLoggerQuiet(true);
|
|
1759
1876
|
}
|
|
1877
|
+
const { showUpdateNotice } = await import("./update-notice-6SQ6WPQG.js");
|
|
1878
|
+
showUpdateNotice({ version: CLI_VERSION, argv, quiet: rawOpts["quiet"] === true });
|
|
1760
1879
|
await runStartupMaintenance();
|
|
1761
1880
|
}
|
|
1762
1881
|
if (!isHelpOrVersion) {
|
|
@@ -1823,7 +1942,7 @@ async function runMainWithLafsEnvelope(cmd, rawArgs, showUsage2) {
|
|
|
1823
1942
|
const meta = typeof cmd.meta === "function" ? await cmd.meta() : await cmd.meta;
|
|
1824
1943
|
const version = meta?.version;
|
|
1825
1944
|
if (!version) {
|
|
1826
|
-
const { cliError } = await import("./renderers-
|
|
1945
|
+
const { cliError } = await import("./renderers-TGSW77J4.js");
|
|
1827
1946
|
cliError("No version specified", 1, { name: "E_NO_VERSION" });
|
|
1828
1947
|
process.exit(1);
|
|
1829
1948
|
}
|
|
@@ -1833,8 +1952,12 @@ async function runMainWithLafsEnvelope(cmd, rawArgs, showUsage2) {
|
|
|
1833
1952
|
}
|
|
1834
1953
|
const { WarningCollector, withWarningCollector } = await import("@cleocode/lafs");
|
|
1835
1954
|
const collector = new WarningCollector();
|
|
1955
|
+
preloadExitPath();
|
|
1836
1956
|
await withWarningCollector(collector, async () => {
|
|
1837
|
-
const { recordProjectEncounter, setProjectMovedRefusal } = await
|
|
1957
|
+
const [{ recordProjectEncounter }, { setProjectMovedRefusal }] = await Promise.all([
|
|
1958
|
+
import("@cleocode/core/paths.js"),
|
|
1959
|
+
import("@cleocode/core/project-tombstone")
|
|
1960
|
+
]);
|
|
1838
1961
|
const isDoctor = rawArgs.find((a) => !a.startsWith("-")) === "doctor";
|
|
1839
1962
|
if (isDoctor) setProjectMovedRefusal(false);
|
|
1840
1963
|
try {
|
|
@@ -1850,7 +1973,7 @@ async function runMainWithLafsEnvelope(cmd, rawArgs, showUsage2) {
|
|
|
1850
1973
|
);
|
|
1851
1974
|
}
|
|
1852
1975
|
try {
|
|
1853
|
-
const { heartbeatThisDevice } = await import("@cleocode/core/
|
|
1976
|
+
const { heartbeatThisDevice } = await import("@cleocode/core/nexus/devices");
|
|
1854
1977
|
const outcome = await heartbeatThisDevice();
|
|
1855
1978
|
if (process.env["CLEO_DEBUG"])
|
|
1856
1979
|
process.stderr.write(`[cleo][debug] Device heartbeat: ${outcome}
|
|
@@ -1859,20 +1982,43 @@ async function runMainWithLafsEnvelope(cmd, rawArgs, showUsage2) {
|
|
|
1859
1982
|
if (process.env["CLEO_DEBUG"])
|
|
1860
1983
|
process.stderr.write(
|
|
1861
1984
|
`[cleo][debug] Device heartbeat not recorded: ${error instanceof Error ? error.message : String(error)}
|
|
1985
|
+
`
|
|
1986
|
+
);
|
|
1987
|
+
}
|
|
1988
|
+
try {
|
|
1989
|
+
const [{ getProjectRoot }, { getCleoDirAbsolute }] = await Promise.all([
|
|
1990
|
+
import("@cleocode/core/project-scope"),
|
|
1991
|
+
import("@cleocode/core/paths.js")
|
|
1992
|
+
]);
|
|
1993
|
+
const projectRoot = getProjectRoot();
|
|
1994
|
+
if (existsSync3(join4(getCleoDirAbsolute(projectRoot), "nexus-link.json"))) {
|
|
1995
|
+
const { startProjectPresenceRefresh } = await import("@cleocode/core/cloud/nexus-presence-refresh.js");
|
|
1996
|
+
startProjectPresenceRefresh({ projectRoot, cliVersion: CLI_VERSION });
|
|
1997
|
+
}
|
|
1998
|
+
} catch (error) {
|
|
1999
|
+
if (process.env["CLEO_DEBUG"])
|
|
2000
|
+
process.stderr.write(
|
|
2001
|
+
`[cleo][debug] Presence refresh not started: ${error instanceof Error ? error.message : String(error)}
|
|
1862
2002
|
`
|
|
1863
2003
|
);
|
|
1864
2004
|
}
|
|
1865
2005
|
try {
|
|
1866
2006
|
await runCommand(cmd, { rawArgs });
|
|
1867
2007
|
} catch (err) {
|
|
1868
|
-
|
|
2008
|
+
let cliError;
|
|
2009
|
+
try {
|
|
2010
|
+
({ cliError } = await exitPath());
|
|
2011
|
+
} catch (loadError) {
|
|
2012
|
+
process.stderr.write(exitPathLoadFailureNotice(loadError, CLI_VERSION));
|
|
2013
|
+
return await settleThenExit(1);
|
|
2014
|
+
}
|
|
1869
2015
|
const cittyCliError = asCittyCliError(err);
|
|
1870
2016
|
if (cittyCliError) {
|
|
1871
2017
|
cliError(stripAnsi(cittyCliError.message), 1, {
|
|
1872
2018
|
name: cittyErrorCodeName(cittyCliError.code),
|
|
1873
2019
|
fix: cittyErrorFix(cittyCliError.code)
|
|
1874
2020
|
});
|
|
1875
|
-
|
|
2021
|
+
await settleThenExit(1);
|
|
1876
2022
|
}
|
|
1877
2023
|
const typed = asCleoErrorLike(err);
|
|
1878
2024
|
if (typed) {
|
|
@@ -1882,14 +2028,20 @@ async function runMainWithLafsEnvelope(cmd, rawArgs, showUsage2) {
|
|
|
1882
2028
|
alternatives: typed.alternatives,
|
|
1883
2029
|
details: typed.details
|
|
1884
2030
|
});
|
|
1885
|
-
|
|
2031
|
+
await settleThenExit(typed.code);
|
|
1886
2032
|
}
|
|
1887
2033
|
const message = err instanceof Error ? err.message : String(err);
|
|
1888
2034
|
cliError(message, 1, { name: "E_CLI_UNCAUGHT" });
|
|
1889
|
-
|
|
2035
|
+
await settleThenExit(1);
|
|
1890
2036
|
} finally {
|
|
1891
|
-
|
|
1892
|
-
|
|
2037
|
+
let teardown;
|
|
2038
|
+
try {
|
|
2039
|
+
teardown = await exitPath();
|
|
2040
|
+
} catch (loadError) {
|
|
2041
|
+
process.stderr.write(exitPathLoadFailureNotice(loadError, CLI_VERSION));
|
|
2042
|
+
process.exit(process.exitCode ?? 0);
|
|
2043
|
+
}
|
|
2044
|
+
const { shutdownCliRuntime, armExitBackstop, formatShutdownOutcomes } = teardown;
|
|
1893
2045
|
const outcomes = await shutdownCliRuntime();
|
|
1894
2046
|
const diagnostics = formatShutdownOutcomes(outcomes);
|
|
1895
2047
|
if (diagnostics) process.stderr.write(diagnostics);
|
|
@@ -1898,19 +2050,24 @@ async function runMainWithLafsEnvelope(cmd, rawArgs, showUsage2) {
|
|
|
1898
2050
|
});
|
|
1899
2051
|
}
|
|
1900
2052
|
async function runStartupMaintenance() {
|
|
1901
|
-
const
|
|
1902
|
-
|
|
1903
|
-
|
|
1904
|
-
|
|
1905
|
-
|
|
1906
|
-
|
|
1907
|
-
|
|
1908
|
-
|
|
1909
|
-
|
|
1910
|
-
|
|
1911
|
-
|
|
1912
|
-
|
|
1913
|
-
|
|
2053
|
+
const [
|
|
2054
|
+
{
|
|
2055
|
+
detectAndRemoveLegacyGlobalFiles,
|
|
2056
|
+
detectAndRemoveStrayProjectNexus,
|
|
2057
|
+
isCleanupMarkerSet,
|
|
2058
|
+
setCleanupMarker
|
|
2059
|
+
},
|
|
2060
|
+
{ getGlobalSalt, validateGlobalSalt },
|
|
2061
|
+
{ getLogger },
|
|
2062
|
+
{ getProjectRoot, isMissingProjectError },
|
|
2063
|
+
{ migrateSignaldockToConduit, needsSignaldockToConduitMigration }
|
|
2064
|
+
] = await Promise.all([
|
|
2065
|
+
import("@cleocode/core/store/cleanup-legacy"),
|
|
2066
|
+
import("@cleocode/core/store/global-salt"),
|
|
2067
|
+
import("@cleocode/core/logger"),
|
|
2068
|
+
import("@cleocode/core/project-scope"),
|
|
2069
|
+
import("@cleocode/core/store/migrate-signaldock-to-conduit")
|
|
2070
|
+
]);
|
|
1914
2071
|
let projectRootForCleanup = "";
|
|
1915
2072
|
try {
|
|
1916
2073
|
projectRootForCleanup = getProjectRoot();
|
|
@@ -1969,7 +2126,7 @@ async function runStartupMaintenance() {
|
|
|
1969
2126
|
}
|
|
1970
2127
|
async function bootstrap() {
|
|
1971
2128
|
if (process.env["CLEO_WORKTREE_ROOT"]) {
|
|
1972
|
-
const { runWithWorktreeScopeFromEnv } = await import("@cleocode/core/
|
|
2129
|
+
const { runWithWorktreeScopeFromEnv } = await import("@cleocode/core/paths.js");
|
|
1973
2130
|
runWithWorktreeScopeFromEnv(() => {
|
|
1974
2131
|
void startCli();
|
|
1975
2132
|
});
|