@cleocode/cleo 2026.10.2 → 2026.10.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/bin/cleo.js +11 -1
- package/dist/cli/adapter-LVXHFBC4.js +158 -0
- package/dist/cli/add-WUAV7LDT.js +443 -0
- package/dist/cli/add-batch-U2DLKAQC.js +163 -0
- package/dist/cli/admin-I7BQYVZD.js +340 -0
- package/dist/cli/adr-K2THMQBS.js +171 -0
- package/dist/cli/agent-WQ6XY2DW.js +2366 -0
- package/dist/cli/agent-outputs-BJIYLVTU.js +84 -0
- package/dist/cli/analyze-PGQZWGOC.js +48 -0
- package/dist/cli/archive-5LZPF7C3.js +64 -0
- package/dist/cli/archive-stats-U6CYC6JM.js +100 -0
- package/dist/cli/attention-SOURWCNI.js +167 -0
- package/dist/cli/audit-FO2Y4LH2.js +122 -0
- package/dist/cli/auth-ED7TAIXI.js +491 -0
- package/dist/cli/backfill-32TRAYRD.js +156 -0
- package/dist/cli/backup-LEJMZJKL.js +587 -0
- package/dist/cli/backup-inspect-6HPLUEI2.js +26 -0
- package/dist/cli/backup-recover-2BTYBZU2.js +29 -0
- package/dist/cli/blockers-5JULUJTV.js +54 -0
- package/dist/cli/brain-273N3FW4.js +400 -0
- package/dist/cli/briefing-7H6OLECX.js +212 -0
- package/dist/cli/caamp-MFQVN6VU.js +181 -0
- package/dist/cli/cancel-SCMJTXZB.js +84 -0
- package/dist/cli/canon-NPF5RODM.js +142 -0
- package/dist/cli/canon-docs-2GTOLF7Y.js +26 -0
- package/dist/cli/cant-46XCUP4P.js +239 -0
- package/dist/cli/changeset-32NMBGG2.js +248 -0
- package/dist/cli/check-RWJLBCI2.js +907 -0
- package/dist/cli/checkpoint-37HMMKD7.js +128 -0
- package/dist/cli/chunk-2JIJD2I7.js +108 -0
- package/dist/cli/chunk-37NU2XDP.js +171 -0
- package/dist/cli/chunk-3IOQVUO7.js +17308 -0
- package/dist/cli/chunk-3PGH67MT.js +175 -0
- package/dist/cli/chunk-3ZO3M37V.js +1002 -0
- package/dist/cli/chunk-47JYZAMS.js +30 -0
- package/dist/cli/chunk-5J2VH3BC.js +66 -0
- package/dist/cli/chunk-5ZFFUFH7.js +92 -0
- package/dist/cli/chunk-6JSJNYH2.js +114 -0
- package/dist/cli/chunk-7INMKEAD.js +85 -0
- package/dist/cli/chunk-A2IUEIM5.js +278 -0
- package/dist/cli/chunk-AWCQH2W5.js +35 -0
- package/dist/cli/chunk-AYA6F4ZT.js +56 -0
- package/dist/cli/chunk-BCEXRFA2.js +76 -0
- package/dist/cli/chunk-BPEVD37G.js +124 -0
- package/dist/cli/chunk-C3B7C43W.js +16 -0
- package/dist/cli/chunk-DVTPIZJM.js +72 -0
- package/dist/cli/chunk-DYABOIHB.js +96 -0
- package/dist/cli/chunk-EBRZ76HS.js +51 -0
- package/dist/cli/chunk-EGOTK2HA.js +57 -0
- package/dist/cli/chunk-EOPQFCSR.js +148 -0
- package/dist/cli/chunk-FORFDPP5.js +288 -0
- package/dist/cli/chunk-GFGLLDXX.js +110 -0
- package/dist/cli/chunk-GH37QXW5.js +280 -0
- package/dist/cli/chunk-GZFVDR44.js +320 -0
- package/dist/cli/chunk-I3CRQQAD.js +225 -0
- package/dist/cli/chunk-J3ZFM3UQ.js +754 -0
- package/dist/cli/chunk-JNZJPIPJ.js +90 -0
- package/dist/cli/chunk-KHB52JNB.js +209 -0
- package/dist/cli/chunk-KJDWWQFY.js +46 -0
- package/dist/cli/chunk-LKNUA3SB.js +83 -0
- package/dist/cli/chunk-LVGIFMCV.js +163 -0
- package/dist/cli/chunk-LWQBJQSE.js +67 -0
- package/dist/cli/chunk-MNJRLSEQ.js +107 -0
- package/dist/cli/chunk-NRKWJLMS.js +91 -0
- package/dist/cli/chunk-NSHV2JNM.js +48 -0
- package/dist/cli/chunk-NWTATTEQ.js +210 -0
- package/dist/cli/chunk-OAPN46TC.js +89 -0
- package/dist/cli/chunk-OGV57L4J.js +59 -0
- package/dist/cli/chunk-OILHT47L.js +252 -0
- package/dist/cli/chunk-OPTEQKBB.js +258 -0
- package/dist/cli/chunk-PKKZPOOP.js +352 -0
- package/dist/cli/chunk-QA6T2LQ5.js +71 -0
- package/dist/cli/chunk-QFFQSKRC.js +4497 -0
- package/dist/cli/chunk-QPUY2HQZ.js +74 -0
- package/dist/cli/chunk-REUTEW3O.js +258 -0
- package/dist/cli/chunk-S24YI723.js +88 -0
- package/dist/cli/chunk-SXXOC6KZ.js +209 -0
- package/dist/cli/chunk-ULN4OKQQ.js +259 -0
- package/dist/cli/chunk-V5GBGOGM.js +46 -0
- package/dist/cli/chunk-VLEYOOPH.js +31 -0
- package/dist/cli/chunk-W33Q3FBH.js +66 -0
- package/dist/cli/chunk-W3JLYKKY.js +140 -0
- package/dist/cli/chunk-XRAX6XFP.js +48 -0
- package/dist/cli/chunk-YGKEECTI.js +78 -0
- package/dist/cli/chunk-YUZJI67I.js +108 -0
- package/dist/cli/chunk-YY66LFZF.js +29 -0
- package/dist/cli/chunk-ZBISIPCK.js +78 -0
- package/dist/cli/chunk-ZZTHTMQP.js +77 -0
- package/dist/cli/claim-KPENYHIQ.js +96 -0
- package/dist/cli/classify-DRVMCFQU.js +117 -0
- package/dist/cli/cli-T3CR7J57.js +48 -0
- package/dist/cli/cloud-PPQ4O5TX.js +565 -0
- package/dist/cli/cockpit-RZKLGYPN.js +790 -0
- package/dist/cli/code-Z5CTMVTD.js +178 -0
- package/dist/cli/complete-UBOCOBRB.js +34 -0
- package/dist/cli/complexity-BV2AGQRZ.js +56 -0
- package/dist/cli/compliance-32PD5Y47.js +276 -0
- package/dist/cli/conduit-VDKCH33F.js +307 -0
- package/dist/cli/config-I72JAXK4.js +516 -0
- package/dist/cli/consensus-LFILLSTK.js +121 -0
- package/dist/cli/context-XUUVFVTP.js +141 -0
- package/dist/cli/contribution-37NQ4N5R.js +111 -0
- package/dist/cli/curator-TFDXU2EX.js +139 -0
- package/dist/cli/current-C4SN5BWV.js +42 -0
- package/dist/cli/daemon-DV25JQ62.js +451 -0
- package/dist/cli/dash-TFU4RLQW.js +70 -0
- package/dist/cli/decide-5VPMNTSI.js +419 -0
- package/dist/cli/decompose-KOYEZNJL.js +77 -0
- package/dist/cli/decomposition-7OHUFIQN.js +121 -0
- package/dist/cli/delete-Q7YCAFY5.js +68 -0
- package/dist/cli/deps-6UZKLDGJ.js +463 -0
- package/dist/cli/detect-FERY35UL.js +45 -0
- package/dist/cli/detect-drift-UL2JTPUK.js +408 -0
- package/dist/cli/diagnostics-TI5QAZXR.js +132 -0
- package/dist/cli/docs-QI2PRN3T.js +3095 -0
- package/dist/cli/doctor-AX5TICQO.js +1253 -0
- package/dist/cli/doctor-ac-bindings-YPMYHU2G.js +26 -0
- package/dist/cli/doctor-acceptance-drift-PYNFGMKB.js +26 -0
- package/dist/cli/doctor-credentials-UZRIADKM.js +26 -0
- package/dist/cli/doctor-db-substrate-Q2TOYM2S.js +27 -0
- package/dist/cli/doctor-dep-cycles-GCVYZY6F.js +26 -0
- package/dist/cli/doctor-exodus-RO5SUTC2.js +26 -0
- package/dist/cli/doctor-exodus-residue-EM2AWQXP.js +26 -0
- package/dist/cli/doctor-fk-check-Q3FOLECE.js +26 -0
- package/dist/cli/doctor-global-delivery-TNOAQ3NP.js +26 -0
- package/dist/cli/doctor-heavy-command-hook-IO3QAQLG.js +26 -0
- package/dist/cli/doctor-legacy-backups-O2YH5VLS.js +26 -0
- package/dist/cli/doctor-legacy-reaper-VSEJEIFA.js +26 -0
- package/dist/cli/doctor-malformed-ids-LQ766V5K.js +26 -0
- package/dist/cli/doctor-manifest-rows-6FQDNHLH.js +26 -0
- package/dist/cli/doctor-memory-guard-J4PSEKB5.js +26 -0
- package/dist/cli/doctor-migrations-ONOH56YM.js +26 -0
- package/dist/cli/doctor-nexus-residency-FUQAX7PV.js +26 -0
- package/dist/cli/doctor-project-identity-GUDK3HYX.js +26 -0
- package/dist/cli/doctor-projects-7L3BNL4O.js +30 -0
- package/dist/cli/doctor-projects-registry-TEAVHFQU.js +26 -0
- package/dist/cli/doctor-release-readiness-IEGHX6SL.js +26 -0
- package/dist/cli/doctor-repair-NBONOSZU.js +26 -0
- package/dist/cli/doctor-skill-fixtures-7Y6L34A3.js +26 -0
- package/dist/cli/doctor-split-brain-TUKIGVHF.js +26 -0
- package/dist/cli/doctor-superseded-store-BHZY2B2L.js +26 -0
- package/dist/cli/doctor-tool-locks-REQMIVYK.js +26 -0
- package/dist/cli/doctor-twin-collapse-222GOSPE.js +26 -0
- package/dist/cli/doctor-worktree-stores-J7TCRVJ3.js +26 -0
- package/dist/cli/done-V3AOO65B.js +195 -0
- package/dist/cli/dynamic-RR4HB7BB.js +29 -0
- package/dist/cli/event-EGNPGE5A.js +372 -0
- package/dist/cli/exists-H4SDCBPL.js +65 -0
- package/dist/cli/exodus-KALO3B3X.js +401 -0
- package/dist/cli/export-ROFOCG4M.js +92 -0
- package/dist/cli/export-tasks-US3WBIEQ.js +96 -0
- package/dist/cli/federation-SUIB5QWT.js +145 -0
- package/dist/cli/find-YICG4BG6.js +177 -0
- package/dist/cli/focus-TKCZPKOM.js +55 -0
- package/dist/cli/gateway-H4HFDC3E.js +77 -0
- package/dist/cli/gateway-auto-start-EDK7XI6E.js +36 -0
- package/dist/cli/gc-5R2TUY5T.js +291 -0
- package/dist/cli/go-PRQFK5YG.js +206 -0
- package/dist/cli/goal-7CZRMLHC.js +212 -0
- package/dist/cli/grade-PY2YRPUS.js +56 -0
- package/dist/cli/graph-XIXMCFKG.js +878 -0
- package/dist/cli/history-EIXADPAD.js +137 -0
- package/dist/cli/hook-UF7J7R6D.js +57 -0
- package/dist/cli/hook-entry.js +244 -19
- package/dist/cli/hygiene-3QZ2NI7P.js +55 -0
- package/dist/cli/import-R73SO444.js +88 -0
- package/dist/cli/import-tasks-O22FZJ4U.js +108 -0
- package/dist/cli/index.js +419 -94607
- package/dist/cli/init-IHEJDQWU.js +40 -0
- package/dist/cli/inject-LSRVWNCP.js +82 -0
- package/dist/cli/install-global-4AZUCH6U.js +95 -0
- package/dist/cli/intelligence-2OSFOGD2.js +181 -0
- package/dist/cli/issue-IIWEDNFC.js +158 -0
- package/dist/cli/janitor-GPMC7VOR.js +111 -0
- package/dist/cli/labels-5NPOIQXN.js +87 -0
- package/dist/cli/lifecycle-4FFS2K2T.js +272 -0
- package/dist/cli/list-47KEUGPQ.js +108 -0
- package/dist/cli/llm-G5B3I6GD.js +703 -0
- package/dist/cli/llm-cost-S7RS6BVA.js +25 -0
- package/dist/cli/llm-stream-24A45NTS.js +27 -0
- package/dist/cli/log-XF6H2XSD.js +75 -0
- package/dist/cli/login-LBPLGHYG.js +43 -0
- package/dist/cli/logout-SX4JSJIV.js +74 -0
- package/dist/cli/manifest-NMCW4PIW.js +353 -0
- package/dist/cli/map-BU72KMGF.js +52 -0
- package/dist/cli/memory-UHYIVGVM.js +1956 -0
- package/dist/cli/migrate-agents-v2-OO7OILZK.js +33 -0
- package/dist/cli/migrate-claude-mem-EDNYUY3K.js +201 -0
- package/dist/cli/next-RZFRG5X7.js +56 -0
- package/dist/cli/nexus-4S4Z5EVU.js +2923 -0
- package/dist/cli/ops-KR7AWCG3.js +51 -0
- package/dist/cli/orchestrate-HOYZY3VX.js +948 -0
- package/dist/cli/otel-U7IIRBCT.js +188 -0
- package/dist/cli/phase-NYZFHUE5.js +220 -0
- package/dist/cli/pivot-FF2CVUZL.js +87 -0
- package/dist/cli/plan-3SL2NTRV.js +48 -0
- package/dist/cli/playbook-2FCBV7N3.js +229 -0
- package/dist/cli/project-WDX2TGMC.js +330 -0
- package/dist/cli/promote-YINYFBZY.js +52 -0
- package/dist/cli/provenance-C7AYD7WG.js +128 -0
- package/dist/cli/provider-QLJEDQBR.js +212 -0
- package/dist/cli/reason-JF5BHBM5.js +137 -0
- package/dist/cli/reconcile-NMISHDGX.js +127 -0
- package/dist/cli/refresh-memory-EY5YNICV.js +45 -0
- package/dist/cli/relates-R3ZPICAY.js +259 -0
- package/dist/cli/release-4ZJTMUUT.js +524 -0
- package/dist/cli/remote-QSONJDIK.js +279 -0
- package/dist/cli/renderers-64OR3IWX.js +37 -0
- package/dist/cli/reorder-J3DOE7ST.js +86 -0
- package/dist/cli/reparent-2OUMKEZX.js +58 -0
- package/dist/cli/req-TZB7OFKO.js +129 -0
- package/dist/cli/research-MTD7EX45.js +365 -0
- package/dist/cli/restore-VEUOX7NF.js +423 -0
- package/dist/cli/revert-3YF2IL5G.js +240 -0
- package/dist/cli/roadmap-7OOQLXKG.js +61 -0
- package/dist/cli/run-2U5NZV5Z.js +211 -0
- package/dist/cli/safestop-VR4VK56D.js +88 -0
- package/dist/cli/saga-SEWPIOX2.js +285 -0
- package/dist/cli/schema-C52WZ35V.js +195 -0
- package/dist/cli/self-update-GQIGUDPS.js +504 -0
- package/dist/cli/selfimprove-3Y5L4ECT.js +88 -0
- package/dist/cli/sentient-M4YMAVGV.js +1088 -0
- package/dist/cli/sequence-6UBMA4IF.js +93 -0
- package/dist/cli/service-5R7SILZ7.js +155 -0
- package/dist/cli/session-3C6AAC4Y.js +707 -0
- package/dist/cli/setup-BTUBW5PU.js +323 -0
- package/dist/cli/show-MXT2V7TF.js +122 -0
- package/dist/cli/skill-GFUZOU2C.js +84 -0
- package/dist/cli/skills-EDWLKAF3.js +928 -0
- package/dist/cli/smoke-provider-SKUFMZXU.js +218 -0
- package/dist/cli/snapshot-GUWMURCM.js +119 -0
- package/dist/cli/src-66GAKPXR.js +80 -0
- package/dist/cli/start-QFG56RGN.js +67 -0
- package/dist/cli/stats-GW55P7RR.js +95 -0
- package/dist/cli/status-46HTKNRR.js +157 -0
- package/dist/cli/sticky-2DUZOUGI.js +338 -0
- package/dist/cli/stop-J2QEUKHX.js +42 -0
- package/dist/cli/sync-GJP2QYT5.js +154 -0
- package/dist/cli/tasks-BNXTM7PB.js +174 -0
- package/dist/cli/telemetry-55Z2XJWL.js +120 -0
- package/dist/cli/templates-7O77TKPV.js +611 -0
- package/dist/cli/testing-37YTBNKP.js +146 -0
- package/dist/cli/token-UAVJMNUI.js +220 -0
- package/dist/cli/transcript-LORQTV5Z.js +440 -0
- package/dist/cli/tui-BPUFHYKK.js +51 -0
- package/dist/cli/update-NVCYV2FT.js +476 -0
- package/dist/cli/upgrade-OXJXOGEF.js +243 -0
- package/dist/cli/verify-LYLDHPT2.js +190 -0
- package/dist/cli/web-QP2RP266.js +275 -0
- package/dist/cli/workgraph-FXBSZDQE.js +232 -0
- package/dist/cli/worktree-6RXAJIST.js +370 -0
- package/package.json +13 -13
- package/studio-dist/client/_app/immutable/chunks/{Buaay_Q8.js → Btgeq_wq.js} +1 -1
- package/studio-dist/client/_app/immutable/chunks/{BJp57kf2.js → CgBjxmu6.js} +1 -1
- package/studio-dist/client/_app/immutable/chunks/{CLP4JZvZ.js → DgEKqO6r.js} +1 -1
- package/studio-dist/client/_app/immutable/chunks/t81h7afa.js +1 -0
- package/studio-dist/client/_app/immutable/entry/{app.CczVILch.js → app.a02HWaRB.js} +2 -2
- package/studio-dist/client/_app/immutable/entry/start.BreMSngo.js +1 -0
- package/studio-dist/client/_app/immutable/nodes/{0.Zy2IsLEl.js → 0.nTXyRfc-.js} +1 -1
- package/studio-dist/client/_app/immutable/nodes/{1.DJN1QI3l.js → 1.4zrWeHtl.js} +1 -1
- package/studio-dist/client/_app/immutable/nodes/{15.B4rwqbHV.js → 15.D9mk4JyY.js} +1 -1
- package/studio-dist/client/_app/immutable/nodes/{16.jn-5BG_L.js → 16._-wt-sQf.js} +1 -1
- package/studio-dist/client/_app/immutable/nodes/{17.DnWGC4t9.js → 17.CUu6LQDj.js} +1 -1
- package/studio-dist/client/_app/immutable/nodes/{18.0zddLZOY.js → 18.Dz4QRTkX.js} +1 -1
- package/studio-dist/client/_app/immutable/nodes/{20.DEKHq9Tc.js → 20.CJ2_EB0U.js} +1 -1
- package/studio-dist/client/_app/immutable/nodes/{24.CQB9KP-p.js → 24.Igj2FS7k.js} +1 -1
- package/studio-dist/client/_app/immutable/nodes/{25.BaqToZD-.js → 25.BnATjVGN.js} +2 -2
- package/studio-dist/client/_app/immutable/nodes/{26.BiE1i4iE.js → 26.6iPyjT44.js} +1 -1
- package/studio-dist/client/_app/immutable/nodes/{3.BObAOu_-.js → 3.AA5GwNgP.js} +1 -1
- package/studio-dist/client/_app/version.json +1 -1
- package/studio-dist/server/chunks/{0-BmUoS2yd.js → 0-DGmsoBYm.js} +3 -3
- package/studio-dist/server/chunks/1-8PfxPvlK.js +9 -0
- package/studio-dist/server/chunks/{15-Dt4kqUxW.js → 15-Bg6YTndh.js} +3 -3
- package/studio-dist/server/chunks/{16-kgTLJvbO.js → 16-BObLwgyD.js} +3 -3
- package/studio-dist/server/chunks/{17-mRYB5141.js → 17-BNXGyAHX.js} +3 -3
- package/studio-dist/server/chunks/{18-BjZ325q5.js → 18-UqQFRIID.js} +3 -3
- package/studio-dist/server/chunks/{20-DQ2Vrujq.js → 20-CMn8a_yP.js} +3 -3
- package/studio-dist/server/chunks/{24-DAeuAfXN.js → 24-BuOTDzib.js} +3 -3
- package/studio-dist/server/chunks/{25-DGCNmzAS.js → 25-CIMSmjVx.js} +4 -4
- package/studio-dist/server/chunks/{26-CiN6bbmR.js → 26-DWGObn2T.js} +3 -3
- package/studio-dist/server/chunks/{3-BS2FXYjP.js → 3-CyiffdJZ.js} +3 -3
- package/studio-dist/server/chunks/{_layout.svelte-DJ_UWmGp.js → _layout.svelte-DYtClaIk.js} +4 -4
- package/studio-dist/server/chunks/{_page.svelte-WR6jUiQE.js → _page.svelte-1h9E6s_f.js} +3 -3
- package/studio-dist/server/chunks/{_page.svelte-BUq8_eQH.js → _page.svelte-BNNF62Nm.js} +3 -3
- package/studio-dist/server/chunks/{_page.svelte-CRnYa4cW.js → _page.svelte-BT1EUadj.js} +5 -5
- package/studio-dist/server/chunks/{_page.svelte-Dk0znswQ.js → _page.svelte-Bip079LT.js} +3 -3
- package/studio-dist/server/chunks/{_page.svelte-CcP_KW3Y.js → _page.svelte-CEATWp_5.js} +3 -3
- package/studio-dist/server/chunks/{_page.svelte-Ca7x-ZvH.js → _page.svelte-CV3xiD1y.js} +4 -4
- package/studio-dist/server/chunks/{_page.svelte-Cfv9tDBA.js → _page.svelte-Cv_KVJDV.js} +3 -3
- package/studio-dist/server/chunks/{_page.svelte-J4HjPhfO.js → _page.svelte-DSSy6LuK.js} +3 -3
- package/studio-dist/server/chunks/{_page.svelte-D8dLEr7O.js → _page.svelte-TF795TAS.js} +3 -3
- package/studio-dist/server/chunks/{_server.ts-Bih2-_5O.js → _server.ts-BlhRFLY3.js} +2 -2
- package/studio-dist/server/chunks/{_server.ts-Cr57EKWf.js → _server.ts-C4w6UdU0.js} +3 -3
- package/studio-dist/server/chunks/{_server.ts-P4wVVksg.js → _server.ts-CzrwbhkQ.js} +3 -3
- package/studio-dist/server/chunks/{_server.ts-2BazvYRP.js → _server.ts-DWt8Dziu.js} +3 -3
- package/studio-dist/server/chunks/{_server.ts-C0evMKCk.js → _server.ts-Db6mEile.js} +3 -3
- package/studio-dist/server/chunks/{client-Cl295FWH.js → client-D8f2k-H_.js} +2 -2
- package/studio-dist/server/chunks/{dist-CdoCt9zT.js → dist-B8xbIrdB.js} +3 -1
- package/studio-dist/server/chunks/{error.svelte-ajn1HNOb.js → error.svelte-DbbOwIme.js} +3 -3
- package/studio-dist/server/chunks/{http-BiQjEmVU.js → http-1ftNGTs5.js} +2 -2
- package/studio-dist/server/chunks/{internal-D9MtKHIF.js → internal-CTULuLPB.js} +2 -2
- package/studio-dist/server/chunks/{stores-BlknvZ80.js → stores-CS5XOReX.js} +2 -2
- package/studio-dist/server/index.js +1 -1
- package/studio-dist/server/manifest.js +17 -17
- package/studio-dist/client/_app/immutable/chunks/C3l-lTkq.js +0 -1
- package/studio-dist/client/_app/immutable/entry/start.D7gHmBNS.js +0 -1
- package/studio-dist/server/chunks/1-CTjj2MYz.js +0 -9
|
@@ -0,0 +1,419 @@
|
|
|
1
|
+
(() => {
|
|
2
|
+
const _installed = Symbol.for('cleocode.cli.sqliteWarningFilter');
|
|
3
|
+
if (globalThis[_installed]) return;
|
|
4
|
+
globalThis[_installed] = true;
|
|
5
|
+
const _origEmitWarning = process.emitWarning;
|
|
6
|
+
process.emitWarning = function(warning, type, code, ctor) {
|
|
7
|
+
if (typeof warning === 'object' && warning.name === 'ExperimentalWarning' && typeof warning.message === 'string' && /SQLite is an experimental feature/i.test(warning.message)) {
|
|
8
|
+
return;
|
|
9
|
+
}
|
|
10
|
+
if (typeof warning === 'string' && /SQLite is an experimental feature/i.test(warning)) {
|
|
11
|
+
return;
|
|
12
|
+
}
|
|
13
|
+
return _origEmitWarning.call(process, warning, type, code, ctor);
|
|
14
|
+
};
|
|
15
|
+
})();
|
|
16
|
+
import {
|
|
17
|
+
ReadlineWizardIO
|
|
18
|
+
} from "./chunk-GZFVDR44.js";
|
|
19
|
+
import "./chunk-C3B7C43W.js";
|
|
20
|
+
import {
|
|
21
|
+
defineCommand,
|
|
22
|
+
showUsage
|
|
23
|
+
} from "./chunk-PKKZPOOP.js";
|
|
24
|
+
import {
|
|
25
|
+
cliError,
|
|
26
|
+
cliOutput
|
|
27
|
+
} from "./chunk-3ZO3M37V.js";
|
|
28
|
+
import "./chunk-6JSJNYH2.js";
|
|
29
|
+
|
|
30
|
+
// packages/cleo/src/cli/commands/decide.ts
|
|
31
|
+
import {
|
|
32
|
+
DECISION_PROVIDER_KINDS,
|
|
33
|
+
DECISION_RUNGS,
|
|
34
|
+
DECISION_SITE_MODES,
|
|
35
|
+
ExitCode
|
|
36
|
+
} from "@cleocode/contracts";
|
|
37
|
+
import {
|
|
38
|
+
askDecideDebug,
|
|
39
|
+
clearDecideConfig,
|
|
40
|
+
configureDecide,
|
|
41
|
+
DecideCredentialsError,
|
|
42
|
+
describeDecideCredentials,
|
|
43
|
+
listDecideProfilesReport,
|
|
44
|
+
listDecisionSites,
|
|
45
|
+
parseDecisionProviderKind,
|
|
46
|
+
probeDecideProvider,
|
|
47
|
+
removeDecideProfile,
|
|
48
|
+
resetDecideBudget,
|
|
49
|
+
runDecideWizard,
|
|
50
|
+
SpendResetRefusedError,
|
|
51
|
+
useDecideProfile
|
|
52
|
+
} from "@cleocode/core/decide/index.js";
|
|
53
|
+
import { WizardInterruptError } from "@cleocode/core/setup";
|
|
54
|
+
async function readSecretFromStdin() {
|
|
55
|
+
if (process.stdin.isTTY) return "";
|
|
56
|
+
process.stdin.setEncoding("utf-8");
|
|
57
|
+
let buf = "";
|
|
58
|
+
for await (const chunk of process.stdin) buf += chunk;
|
|
59
|
+
return buf.trim();
|
|
60
|
+
}
|
|
61
|
+
function failValidation(message, operation, fix) {
|
|
62
|
+
cliError(message, ExitCode.VALIDATION_ERROR, { name: "E_VALIDATION", fix }, { operation });
|
|
63
|
+
process.exitCode = ExitCode.VALIDATION_ERROR;
|
|
64
|
+
}
|
|
65
|
+
var CONFIG_FIX = 'printf %s "$KEY" | cleo decide config --provider layahost --key-stdin';
|
|
66
|
+
var PROFILES_FIX = "cleo decide profiles";
|
|
67
|
+
var ASK_FIX = 'cleo decide ask --state "<text>" --question "<yes/no question>"';
|
|
68
|
+
async function runConfigWizard(op) {
|
|
69
|
+
const io = new ReadlineWizardIO(process.stdin, process.stderr);
|
|
70
|
+
try {
|
|
71
|
+
cliOutput(await runDecideWizard(io), { command: "decide-config", operation: op });
|
|
72
|
+
} catch (err) {
|
|
73
|
+
if (err instanceof WizardInterruptError) {
|
|
74
|
+
process.stderr.write("System One setup cancelled.\n");
|
|
75
|
+
process.exitCode = 130;
|
|
76
|
+
return;
|
|
77
|
+
}
|
|
78
|
+
failValidation(err instanceof Error ? err.message : "setup failed", op, CONFIG_FIX);
|
|
79
|
+
} finally {
|
|
80
|
+
io.close();
|
|
81
|
+
}
|
|
82
|
+
}
|
|
83
|
+
var decideConfigCommand = defineCommand({
|
|
84
|
+
meta: {
|
|
85
|
+
name: "config",
|
|
86
|
+
description: "Store a System One profile, <provider>/<name> (several per provider, each with its own key): API key, URL and model (0600 file in the CLEO home), then probe it and detect its capabilities. Each provider has a default URL (layahost https://layahost.com, jev https://api.typesafe.ai); --url overrides it. Other profiles are kept and exactly one is active. Prefer --key-stdin so the key stays out of shell history. No flags on a terminal runs the setup wizard (the key is masked); no flags without a terminal shows the active settings (key masked)."
|
|
87
|
+
},
|
|
88
|
+
args: {
|
|
89
|
+
provider: {
|
|
90
|
+
type: "string",
|
|
91
|
+
description: `Provider: ${DECISION_PROVIDER_KINDS.join("|")} (layahost: model laya-auto; jev: model from the provider listing)`
|
|
92
|
+
},
|
|
93
|
+
url: {
|
|
94
|
+
type: "string",
|
|
95
|
+
description: 'Override URL for the profile, or "default" for the provider default URL (resolved at call time)'
|
|
96
|
+
},
|
|
97
|
+
key: {
|
|
98
|
+
type: "string",
|
|
99
|
+
description: "API key. Visible in the process list (ps) and shell history; prefer --key-stdin"
|
|
100
|
+
},
|
|
101
|
+
"key-stdin": { type: "boolean", description: "Read the API key from stdin (recommended)" },
|
|
102
|
+
model: {
|
|
103
|
+
type: "string",
|
|
104
|
+
description: "Default model; omitted \u2192 the stored model, the preset (layahost: laya-auto) or the first listed (jev)"
|
|
105
|
+
},
|
|
106
|
+
profile: {
|
|
107
|
+
type: "string",
|
|
108
|
+
description: "Profile to add or update: <provider>/<name> or a name (a-z, 0-9, -); default: the active profile of that provider, else <provider>/default"
|
|
109
|
+
},
|
|
110
|
+
activate: {
|
|
111
|
+
type: "boolean",
|
|
112
|
+
description: "Make the profile active (default: only for the first profile or one already active)"
|
|
113
|
+
},
|
|
114
|
+
remove: {
|
|
115
|
+
type: "string",
|
|
116
|
+
description: "Remove this profile (<provider>/<name>); the active one needs --use"
|
|
117
|
+
},
|
|
118
|
+
use: {
|
|
119
|
+
type: "string",
|
|
120
|
+
description: "With --remove: the profile (<provider>/<name>) to activate instead"
|
|
121
|
+
},
|
|
122
|
+
clear: { type: "boolean", description: "Remove every profile (URLs, keys and models)" }
|
|
123
|
+
},
|
|
124
|
+
async run({ args }) {
|
|
125
|
+
const op = "decide.config";
|
|
126
|
+
if (args.clear === true)
|
|
127
|
+
return cliOutput(await clearDecideConfig(), { command: "decide-config", operation: op });
|
|
128
|
+
if (args.remove !== void 0) {
|
|
129
|
+
try {
|
|
130
|
+
const result = await removeDecideProfile(args.remove, args.use);
|
|
131
|
+
return cliOutput(result, { command: "decide-config", operation: "decide.config.remove" });
|
|
132
|
+
} catch (err) {
|
|
133
|
+
if (!(err instanceof DecideCredentialsError)) throw err;
|
|
134
|
+
return failValidation(err.message, op, PROFILES_FIX);
|
|
135
|
+
}
|
|
136
|
+
}
|
|
137
|
+
const provider = parseDecisionProviderKind(args.provider);
|
|
138
|
+
if (args.provider !== void 0 && provider === void 0) {
|
|
139
|
+
return failValidation(`unknown provider '${args.provider}'`, op, CONFIG_FIX);
|
|
140
|
+
}
|
|
141
|
+
const apiKey = args["key-stdin"] === true ? await readSecretFromStdin() : args.key;
|
|
142
|
+
if (args["key-stdin"] === true && !apiKey)
|
|
143
|
+
return failValidation("--key-stdin set but stdin is empty or a TTY", op, CONFIG_FIX);
|
|
144
|
+
const noSettings = provider === void 0 && args.url === void 0 && apiKey === void 0 && args.model === void 0 && args.profile === void 0 && args.activate === void 0;
|
|
145
|
+
if (noSettings && process.stdin.isTTY && process.stderr.isTTY) return runConfigWizard(op);
|
|
146
|
+
if (noSettings) {
|
|
147
|
+
return cliOutput(describeDecideCredentials(), { command: "decide-config", operation: op });
|
|
148
|
+
}
|
|
149
|
+
try {
|
|
150
|
+
const result = await configureDecide({
|
|
151
|
+
provider,
|
|
152
|
+
baseUrl: args.url,
|
|
153
|
+
apiKey,
|
|
154
|
+
model: args.model,
|
|
155
|
+
profile: args.profile,
|
|
156
|
+
...args.activate === true ? { activate: true } : {}
|
|
157
|
+
});
|
|
158
|
+
cliOutput(result, { command: "decide-config", operation: op });
|
|
159
|
+
} catch (err) {
|
|
160
|
+
failValidation(err instanceof Error ? err.message : "invalid settings", op, CONFIG_FIX);
|
|
161
|
+
}
|
|
162
|
+
}
|
|
163
|
+
});
|
|
164
|
+
var decideUseCommand = defineCommand({
|
|
165
|
+
meta: {
|
|
166
|
+
name: "use",
|
|
167
|
+
description: "Switch the active System One profile (<provider>/<name>, e.g. layahost/work; a bare provider means <provider>/default): everyday decisions use it from now on. Other profiles stay stored and can still be addressed by id."
|
|
168
|
+
},
|
|
169
|
+
args: {
|
|
170
|
+
profile: {
|
|
171
|
+
type: "positional",
|
|
172
|
+
description: "Profile to activate, <provider>/<name>",
|
|
173
|
+
required: true
|
|
174
|
+
}
|
|
175
|
+
},
|
|
176
|
+
async run({ args }) {
|
|
177
|
+
const op = "decide.use";
|
|
178
|
+
try {
|
|
179
|
+
cliOutput(await useDecideProfile(args.profile), {
|
|
180
|
+
command: "decide-profiles",
|
|
181
|
+
operation: op
|
|
182
|
+
});
|
|
183
|
+
} catch (err) {
|
|
184
|
+
if (!(err instanceof DecideCredentialsError)) throw err;
|
|
185
|
+
failValidation(err.message, op, PROFILES_FIX);
|
|
186
|
+
}
|
|
187
|
+
}
|
|
188
|
+
});
|
|
189
|
+
var decideProfilesCommand = defineCommand({
|
|
190
|
+
meta: {
|
|
191
|
+
name: "profiles",
|
|
192
|
+
description: "List the stored System One profiles: the active one marked, keys masked. --probe also checks each profile (GET {url}/v1/models, in parallel)."
|
|
193
|
+
},
|
|
194
|
+
args: {
|
|
195
|
+
probe: { type: "boolean", description: "Probe each profile's reachability" },
|
|
196
|
+
"timeout-ms": { type: "string", description: "Probe timeout in ms (default 3000)" }
|
|
197
|
+
},
|
|
198
|
+
async run({ args }) {
|
|
199
|
+
const timeoutMs = args["timeout-ms"] ? Number(args["timeout-ms"]) : void 0;
|
|
200
|
+
const result = await listDecideProfilesReport({ probe: args.probe === true, timeoutMs });
|
|
201
|
+
cliOutput(result, { command: "decide-profiles", operation: "decide.profiles" });
|
|
202
|
+
}
|
|
203
|
+
});
|
|
204
|
+
var decideStatusCommand = defineCommand({
|
|
205
|
+
meta: {
|
|
206
|
+
name: "status",
|
|
207
|
+
description: "Probe the decision provider (GET {url}/v1/models, short timeout): reachable, unauthorized, key_limit_reached (the key monthly limit), unconfigured or unreachable. Also reports the registered sites count, the provider capabilities and balance (GET /v1/usage, refreshed at most every 10 minutes) and month-to-date spend against decide.budget.monthlyMicros. Exits 1 unless reachable."
|
|
208
|
+
},
|
|
209
|
+
args: {
|
|
210
|
+
"timeout-ms": { type: "string", description: "Probe timeout in ms (default 3000)" }
|
|
211
|
+
},
|
|
212
|
+
async run({ args }) {
|
|
213
|
+
const timeoutMs = args["timeout-ms"] ? Number(args["timeout-ms"]) : void 0;
|
|
214
|
+
const result = await probeDecideProvider({ timeoutMs });
|
|
215
|
+
cliOutput(result, { command: "decide-status", operation: "decide.status" });
|
|
216
|
+
if (result.state !== "reachable" && (process.exitCode ?? 0) === 0) process.exitCode = 1;
|
|
217
|
+
}
|
|
218
|
+
});
|
|
219
|
+
var decideAskCommand = defineCommand({
|
|
220
|
+
meta: {
|
|
221
|
+
name: "ask",
|
|
222
|
+
description: "Debug: ask one yes/no question about a state through the configured provider. Shows the typed answer, source (provider or fallback), latency and cost."
|
|
223
|
+
},
|
|
224
|
+
args: {
|
|
225
|
+
state: { type: "string", description: "The state (text) to judge" },
|
|
226
|
+
question: { type: "string", description: "The yes/no question" },
|
|
227
|
+
noul: { type: "string", description: "Alias of --question" },
|
|
228
|
+
"timeout-ms": { type: "string", description: "Deadline in ms (default 10000)" },
|
|
229
|
+
profile: {
|
|
230
|
+
type: "string",
|
|
231
|
+
description: "Ask through this profile, <provider>/<name> (default: the active one)"
|
|
232
|
+
}
|
|
233
|
+
},
|
|
234
|
+
async run({ args }) {
|
|
235
|
+
const question = args.question ?? args.noul;
|
|
236
|
+
if (!args.state || !question) {
|
|
237
|
+
return failValidation(
|
|
238
|
+
"cleo decide ask needs a state and a yes/no question",
|
|
239
|
+
"decide.ask",
|
|
240
|
+
ASK_FIX
|
|
241
|
+
);
|
|
242
|
+
}
|
|
243
|
+
const timeoutMs = args["timeout-ms"] ? Number(args["timeout-ms"]) : void 0;
|
|
244
|
+
const result = await askDecideDebug({
|
|
245
|
+
state: args.state,
|
|
246
|
+
question,
|
|
247
|
+
timeoutMs,
|
|
248
|
+
...args.profile ? { profile: args.profile } : {}
|
|
249
|
+
});
|
|
250
|
+
cliOutput(result, { command: "decide-ask", operation: "decide.ask" });
|
|
251
|
+
}
|
|
252
|
+
});
|
|
253
|
+
function oneOf(value, allowed) {
|
|
254
|
+
return allowed.find((a) => a === value);
|
|
255
|
+
}
|
|
256
|
+
var decideSitesCommand = defineCommand({
|
|
257
|
+
meta: {
|
|
258
|
+
name: "sites",
|
|
259
|
+
description: "List the System One integration decision sites: rung, ladder, fallback, owner escalation, configured and effective mode, go-live evidence and last-7-day activity. A site that uses System One is effectively off while no provider is configured."
|
|
260
|
+
},
|
|
261
|
+
args: {
|
|
262
|
+
rung: {
|
|
263
|
+
type: "string",
|
|
264
|
+
description: `Only sites with this primary rung (${DECISION_RUNGS.join("|")})`
|
|
265
|
+
},
|
|
266
|
+
mode: {
|
|
267
|
+
type: "string",
|
|
268
|
+
description: `Only sites with this effective mode (${DECISION_SITE_MODES.join("|")})`
|
|
269
|
+
},
|
|
270
|
+
id: { type: "string", description: "Only the site with this id" },
|
|
271
|
+
evidence: { type: "boolean", description: "Only sites with recorded go-live evidence" }
|
|
272
|
+
},
|
|
273
|
+
async run({ args }) {
|
|
274
|
+
const op = "decide.sites";
|
|
275
|
+
const rung = oneOf(args.rung, DECISION_RUNGS);
|
|
276
|
+
if (args.rung !== void 0 && rung === void 0) {
|
|
277
|
+
return failValidation(
|
|
278
|
+
`unknown rung '${args.rung}'`,
|
|
279
|
+
op,
|
|
280
|
+
`--rung ${DECISION_RUNGS.join("|")}`
|
|
281
|
+
);
|
|
282
|
+
}
|
|
283
|
+
const mode = oneOf(args.mode, DECISION_SITE_MODES);
|
|
284
|
+
if (args.mode !== void 0 && mode === void 0) {
|
|
285
|
+
return failValidation(
|
|
286
|
+
`unknown mode '${args.mode}'`,
|
|
287
|
+
op,
|
|
288
|
+
`--mode ${DECISION_SITE_MODES.join("|")}`
|
|
289
|
+
);
|
|
290
|
+
}
|
|
291
|
+
const result = await listDecisionSites({
|
|
292
|
+
rung,
|
|
293
|
+
mode,
|
|
294
|
+
id: args.id,
|
|
295
|
+
evidenceOnly: args.evidence === true
|
|
296
|
+
});
|
|
297
|
+
cliOutput(result, { command: "decide", operation: op });
|
|
298
|
+
}
|
|
299
|
+
});
|
|
300
|
+
function commaList(value) {
|
|
301
|
+
return value === void 0 ? void 0 : value.split(",").map((v) => v.trim()).filter(Boolean);
|
|
302
|
+
}
|
|
303
|
+
function numberFlag(value) {
|
|
304
|
+
return value === void 0 ? void 0 : Number(value);
|
|
305
|
+
}
|
|
306
|
+
var decideBenchCommand = defineCommand({
|
|
307
|
+
meta: {
|
|
308
|
+
name: "bench",
|
|
309
|
+
description: "System One accuracy benchmark (T12495): build a labelled dataset from this project's own history (duplicate task pairs, explicitly typed observations, superseding decisions; redacted), write a stratified spot-check sample for the owner, then compare providers against each site's heuristic with batched calls (provider cache off, 30s or longer deadline): accuracy, precision, recall, F1, false-positive rate, p50/p95 latency, cost and fallbacks, mean and spread over --runs. A hard total cap (--max-usd, default 5) is checked before every batch; the run stops cleanly at it. Each --profiles entry is a System One profile (cleo decide profiles): an id <provider>/<name> (e.g. layahost/work), or a bare provider meaning its active profile, else <provider>/default; a default URL resolves to the provider preset. A name no profile holds falls back to CLEO_DECIDE_PROFILE_<NAME>_KEY (plus _URL, _MODEL, _PROVIDER) for a one-off key. An unknown name fails listing the stored profiles (keys masked). --sample-only never contacts a provider."
|
|
310
|
+
},
|
|
311
|
+
args: {
|
|
312
|
+
profiles: {
|
|
313
|
+
type: "string",
|
|
314
|
+
description: "Comma list of profiles to compare: <provider>/<name> ids or bare providers, e.g. layahost/work,jev"
|
|
315
|
+
},
|
|
316
|
+
sites: {
|
|
317
|
+
type: "string",
|
|
318
|
+
description: "Comma list: duplicateDetection,observationType,decisionContradiction (default all)"
|
|
319
|
+
},
|
|
320
|
+
"sample-only": {
|
|
321
|
+
type: "boolean",
|
|
322
|
+
description: "Build the dataset and the spot-check sample only (offline, no spend)"
|
|
323
|
+
},
|
|
324
|
+
corrections: {
|
|
325
|
+
type: "string",
|
|
326
|
+
description: 'Owner corrections file ({"corrections":[{"id","label"}|{"id","drop":true}]}) to apply'
|
|
327
|
+
},
|
|
328
|
+
"max-usd": { type: "string", description: "Hard total spend cap in USD (default 5)" },
|
|
329
|
+
runs: { type: "string", description: "Repeated runs for mean and spread (default 1)" },
|
|
330
|
+
out: { type: "string", description: "Output directory (default .cleo/decide-bench)" },
|
|
331
|
+
"batch-size": { type: "string", description: "Rows per batch call, 1-64 (default 16)" },
|
|
332
|
+
rebuild: {
|
|
333
|
+
type: "boolean",
|
|
334
|
+
description: "Rebuild the dataset from the stores (drops corrections)"
|
|
335
|
+
},
|
|
336
|
+
seed: { type: "string", description: "Seed for negatives and the sample (default 12495)" }
|
|
337
|
+
},
|
|
338
|
+
async run({ args }) {
|
|
339
|
+
const op = "decide.bench";
|
|
340
|
+
const { DecideBenchInputError, runDecideBenchOperation } = await import("@cleocode/core/decide/bench/index.js");
|
|
341
|
+
try {
|
|
342
|
+
const result = await runDecideBenchOperation({
|
|
343
|
+
profiles: commaList(args.profiles),
|
|
344
|
+
sites: commaList(args.sites),
|
|
345
|
+
sampleOnly: args["sample-only"] === true,
|
|
346
|
+
correctionsPath: args.corrections,
|
|
347
|
+
maxUsd: numberFlag(args["max-usd"]),
|
|
348
|
+
runs: numberFlag(args.runs),
|
|
349
|
+
outDir: args.out,
|
|
350
|
+
batchSize: numberFlag(args["batch-size"]),
|
|
351
|
+
rebuild: args.rebuild === true,
|
|
352
|
+
seed: numberFlag(args.seed)
|
|
353
|
+
});
|
|
354
|
+
cliOutput(result, { command: "decide", operation: op });
|
|
355
|
+
} catch (err) {
|
|
356
|
+
if (!(err instanceof DecideBenchInputError)) throw err;
|
|
357
|
+
failValidation(err.message, op, err.fix);
|
|
358
|
+
}
|
|
359
|
+
}
|
|
360
|
+
});
|
|
361
|
+
var decideBudgetResetCommand = defineCommand({
|
|
362
|
+
meta: {
|
|
363
|
+
name: "reset",
|
|
364
|
+
description: "Repair a corrupt System One spend ledger (<cleoHome>/decide/spend.json): start a fresh one for this month, moving the old file aside as a receipt. Refuses a readable ledger unless --force; month-to-date spend is always kept when readable, so a reset never lifts a reached cap."
|
|
365
|
+
},
|
|
366
|
+
args: {
|
|
367
|
+
force: {
|
|
368
|
+
type: "boolean",
|
|
369
|
+
description: "Reset a ledger that is not corrupt (keeps month-to-date spend; clears in-flight reservations and the key-limit stop)"
|
|
370
|
+
}
|
|
371
|
+
},
|
|
372
|
+
async run({ args }) {
|
|
373
|
+
const op = "decide.budget.reset";
|
|
374
|
+
try {
|
|
375
|
+
const receipt = await resetDecideBudget(void 0, { force: args.force === true });
|
|
376
|
+
cliOutput(receipt, { command: "decide", operation: op });
|
|
377
|
+
} catch (err) {
|
|
378
|
+
if (!(err instanceof SpendResetRefusedError)) throw err;
|
|
379
|
+
failValidation(err.message, op, "cleo decide status");
|
|
380
|
+
}
|
|
381
|
+
}
|
|
382
|
+
});
|
|
383
|
+
var decideBudgetCommand = defineCommand({
|
|
384
|
+
meta: {
|
|
385
|
+
name: "budget",
|
|
386
|
+
description: "System One monthly spend cap (decide.budget.monthlyMicros): budget reset"
|
|
387
|
+
},
|
|
388
|
+
subCommands: { reset: decideBudgetResetCommand },
|
|
389
|
+
async run({ cmd, rawArgs }) {
|
|
390
|
+
const firstArg = rawArgs?.find((a) => !a.startsWith("-"));
|
|
391
|
+
if (firstArg && cmd.subCommands && firstArg in cmd.subCommands) return;
|
|
392
|
+
await showUsage(cmd);
|
|
393
|
+
}
|
|
394
|
+
});
|
|
395
|
+
var decideCommand = defineCommand({
|
|
396
|
+
meta: {
|
|
397
|
+
name: "decide",
|
|
398
|
+
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."
|
|
399
|
+
},
|
|
400
|
+
subCommands: {
|
|
401
|
+
config: decideConfigCommand,
|
|
402
|
+
use: decideUseCommand,
|
|
403
|
+
profiles: decideProfilesCommand,
|
|
404
|
+
status: decideStatusCommand,
|
|
405
|
+
ask: decideAskCommand,
|
|
406
|
+
sites: decideSitesCommand,
|
|
407
|
+
budget: decideBudgetCommand,
|
|
408
|
+
bench: decideBenchCommand
|
|
409
|
+
},
|
|
410
|
+
async run({ cmd, rawArgs }) {
|
|
411
|
+
const firstArg = rawArgs?.find((a) => !a.startsWith("-"));
|
|
412
|
+
if (firstArg && cmd.subCommands && firstArg in cmd.subCommands) return;
|
|
413
|
+
await showUsage(cmd);
|
|
414
|
+
}
|
|
415
|
+
});
|
|
416
|
+
export {
|
|
417
|
+
decideCommand
|
|
418
|
+
};
|
|
419
|
+
//# sourceMappingURL=decide-5VPMNTSI.js.map
|
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
(() => {
|
|
2
|
+
const _installed = Symbol.for('cleocode.cli.sqliteWarningFilter');
|
|
3
|
+
if (globalThis[_installed]) return;
|
|
4
|
+
globalThis[_installed] = true;
|
|
5
|
+
const _origEmitWarning = process.emitWarning;
|
|
6
|
+
process.emitWarning = function(warning, type, code, ctor) {
|
|
7
|
+
if (typeof warning === 'object' && warning.name === 'ExperimentalWarning' && typeof warning.message === 'string' && /SQLite is an experimental feature/i.test(warning.message)) {
|
|
8
|
+
return;
|
|
9
|
+
}
|
|
10
|
+
if (typeof warning === 'string' && /SQLite is an experimental feature/i.test(warning)) {
|
|
11
|
+
return;
|
|
12
|
+
}
|
|
13
|
+
return _origEmitWarning.call(process, warning, type, code, ctor);
|
|
14
|
+
};
|
|
15
|
+
})();
|
|
16
|
+
import "./chunk-C3B7C43W.js";
|
|
17
|
+
import {
|
|
18
|
+
defineCommand
|
|
19
|
+
} from "./chunk-PKKZPOOP.js";
|
|
20
|
+
import {
|
|
21
|
+
dispatchRaw,
|
|
22
|
+
handleRawError
|
|
23
|
+
} from "./chunk-3IOQVUO7.js";
|
|
24
|
+
import "./chunk-AWCQH2W5.js";
|
|
25
|
+
import "./chunk-OGV57L4J.js";
|
|
26
|
+
import "./chunk-ZBISIPCK.js";
|
|
27
|
+
import {
|
|
28
|
+
cliOutput
|
|
29
|
+
} from "./chunk-3ZO3M37V.js";
|
|
30
|
+
import "./chunk-6JSJNYH2.js";
|
|
31
|
+
import "./chunk-QFFQSKRC.js";
|
|
32
|
+
|
|
33
|
+
// packages/cleo/src/cli/commands/decompose.ts
|
|
34
|
+
var decomposeCommand = defineCommand({
|
|
35
|
+
meta: {
|
|
36
|
+
name: "decompose",
|
|
37
|
+
description: "Move a task's text acceptance criteria onto a new child so it can hold subtasks"
|
|
38
|
+
},
|
|
39
|
+
args: {
|
|
40
|
+
taskId: {
|
|
41
|
+
type: "positional",
|
|
42
|
+
description: "ID of the task to decompose",
|
|
43
|
+
required: true
|
|
44
|
+
},
|
|
45
|
+
"child-title": {
|
|
46
|
+
type: "string",
|
|
47
|
+
description: "Title for the child that inherits the criteria (default: the parent's)"
|
|
48
|
+
},
|
|
49
|
+
"child-description": {
|
|
50
|
+
type: "string",
|
|
51
|
+
description: "Description for the child (default: the parent's)"
|
|
52
|
+
},
|
|
53
|
+
"dry-run": {
|
|
54
|
+
type: "boolean",
|
|
55
|
+
description: "Preview the move without writing"
|
|
56
|
+
}
|
|
57
|
+
},
|
|
58
|
+
async run({ args }) {
|
|
59
|
+
const response = await dispatchRaw("mutate", "tasks", "decompose", {
|
|
60
|
+
taskId: args.taskId,
|
|
61
|
+
childTitle: args["child-title"],
|
|
62
|
+
childDescription: args["child-description"],
|
|
63
|
+
dryRun: args["dry-run"]
|
|
64
|
+
});
|
|
65
|
+
if (!response.success) {
|
|
66
|
+
handleRawError(response, { command: "decompose", operation: "tasks.decompose" });
|
|
67
|
+
}
|
|
68
|
+
cliOutput(response.data, {
|
|
69
|
+
command: "decompose",
|
|
70
|
+
operation: "tasks.decompose"
|
|
71
|
+
});
|
|
72
|
+
}
|
|
73
|
+
});
|
|
74
|
+
export {
|
|
75
|
+
decomposeCommand
|
|
76
|
+
};
|
|
77
|
+
//# sourceMappingURL=decompose-KOYEZNJL.js.map
|
|
@@ -0,0 +1,121 @@
|
|
|
1
|
+
(() => {
|
|
2
|
+
const _installed = Symbol.for('cleocode.cli.sqliteWarningFilter');
|
|
3
|
+
if (globalThis[_installed]) return;
|
|
4
|
+
globalThis[_installed] = true;
|
|
5
|
+
const _origEmitWarning = process.emitWarning;
|
|
6
|
+
process.emitWarning = function(warning, type, code, ctor) {
|
|
7
|
+
if (typeof warning === 'object' && warning.name === 'ExperimentalWarning' && typeof warning.message === 'string' && /SQLite is an experimental feature/i.test(warning.message)) {
|
|
8
|
+
return;
|
|
9
|
+
}
|
|
10
|
+
if (typeof warning === 'string' && /SQLite is an experimental feature/i.test(warning)) {
|
|
11
|
+
return;
|
|
12
|
+
}
|
|
13
|
+
return _origEmitWarning.call(process, warning, type, code, ctor);
|
|
14
|
+
};
|
|
15
|
+
})();
|
|
16
|
+
import {
|
|
17
|
+
defineCommand,
|
|
18
|
+
showUsage
|
|
19
|
+
} from "./chunk-PKKZPOOP.js";
|
|
20
|
+
import {
|
|
21
|
+
dispatchFromCli
|
|
22
|
+
} from "./chunk-3IOQVUO7.js";
|
|
23
|
+
import "./chunk-AWCQH2W5.js";
|
|
24
|
+
import "./chunk-OGV57L4J.js";
|
|
25
|
+
import "./chunk-ZBISIPCK.js";
|
|
26
|
+
import "./chunk-3ZO3M37V.js";
|
|
27
|
+
import "./chunk-6JSJNYH2.js";
|
|
28
|
+
import "./chunk-QFFQSKRC.js";
|
|
29
|
+
|
|
30
|
+
// packages/cleo/src/cli/commands/decomposition.ts
|
|
31
|
+
var validateCommand = defineCommand({
|
|
32
|
+
meta: {
|
|
33
|
+
name: "validate",
|
|
34
|
+
description: "Validate decomposition protocol compliance for task"
|
|
35
|
+
},
|
|
36
|
+
args: {
|
|
37
|
+
taskId: {
|
|
38
|
+
type: "positional",
|
|
39
|
+
description: "Task ID to validate",
|
|
40
|
+
required: true
|
|
41
|
+
},
|
|
42
|
+
strict: {
|
|
43
|
+
type: "boolean",
|
|
44
|
+
description: "Exit with error code on violations"
|
|
45
|
+
},
|
|
46
|
+
epic: {
|
|
47
|
+
type: "string",
|
|
48
|
+
description: "Specify parent epic ID"
|
|
49
|
+
}
|
|
50
|
+
},
|
|
51
|
+
async run({ args }) {
|
|
52
|
+
await dispatchFromCli(
|
|
53
|
+
"query",
|
|
54
|
+
"check",
|
|
55
|
+
"protocol",
|
|
56
|
+
{
|
|
57
|
+
protocolType: "decomposition",
|
|
58
|
+
mode: "task",
|
|
59
|
+
taskId: args.taskId,
|
|
60
|
+
strict: args.strict,
|
|
61
|
+
epicId: args.epic
|
|
62
|
+
},
|
|
63
|
+
{ command: "decomposition" }
|
|
64
|
+
);
|
|
65
|
+
}
|
|
66
|
+
});
|
|
67
|
+
var checkCommand = defineCommand({
|
|
68
|
+
meta: {
|
|
69
|
+
name: "check",
|
|
70
|
+
description: "Validate manifest entry directly"
|
|
71
|
+
},
|
|
72
|
+
args: {
|
|
73
|
+
manifestFile: {
|
|
74
|
+
type: "positional",
|
|
75
|
+
description: "Manifest file to validate",
|
|
76
|
+
required: true
|
|
77
|
+
},
|
|
78
|
+
strict: {
|
|
79
|
+
type: "boolean",
|
|
80
|
+
description: "Exit with error code on violations"
|
|
81
|
+
},
|
|
82
|
+
epic: {
|
|
83
|
+
type: "string",
|
|
84
|
+
description: "Specify parent epic ID"
|
|
85
|
+
}
|
|
86
|
+
},
|
|
87
|
+
async run({ args }) {
|
|
88
|
+
await dispatchFromCli(
|
|
89
|
+
"query",
|
|
90
|
+
"check",
|
|
91
|
+
"protocol",
|
|
92
|
+
{
|
|
93
|
+
protocolType: "decomposition",
|
|
94
|
+
mode: "manifest",
|
|
95
|
+
manifestFile: args.manifestFile,
|
|
96
|
+
strict: args.strict,
|
|
97
|
+
epicId: args.epic
|
|
98
|
+
},
|
|
99
|
+
{ command: "decomposition" }
|
|
100
|
+
);
|
|
101
|
+
}
|
|
102
|
+
});
|
|
103
|
+
var decompositionCommand = defineCommand({
|
|
104
|
+
meta: {
|
|
105
|
+
name: "decomposition",
|
|
106
|
+
description: "Validate decomposition protocol compliance (alias for `cleo check protocol decomposition`)"
|
|
107
|
+
},
|
|
108
|
+
subCommands: {
|
|
109
|
+
validate: validateCommand,
|
|
110
|
+
check: checkCommand
|
|
111
|
+
},
|
|
112
|
+
async run({ cmd, rawArgs }) {
|
|
113
|
+
const firstArg = rawArgs?.find((a) => !a.startsWith("-"));
|
|
114
|
+
if (firstArg && cmd.subCommands && firstArg in cmd.subCommands) return;
|
|
115
|
+
await showUsage(cmd);
|
|
116
|
+
}
|
|
117
|
+
});
|
|
118
|
+
export {
|
|
119
|
+
decompositionCommand
|
|
120
|
+
};
|
|
121
|
+
//# sourceMappingURL=decomposition-7OHUFIQN.js.map
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
(() => {
|
|
2
|
+
const _installed = Symbol.for('cleocode.cli.sqliteWarningFilter');
|
|
3
|
+
if (globalThis[_installed]) return;
|
|
4
|
+
globalThis[_installed] = true;
|
|
5
|
+
const _origEmitWarning = process.emitWarning;
|
|
6
|
+
process.emitWarning = function(warning, type, code, ctor) {
|
|
7
|
+
if (typeof warning === 'object' && warning.name === 'ExperimentalWarning' && typeof warning.message === 'string' && /SQLite is an experimental feature/i.test(warning.message)) {
|
|
8
|
+
return;
|
|
9
|
+
}
|
|
10
|
+
if (typeof warning === 'string' && /SQLite is an experimental feature/i.test(warning)) {
|
|
11
|
+
return;
|
|
12
|
+
}
|
|
13
|
+
return _origEmitWarning.call(process, warning, type, code, ctor);
|
|
14
|
+
};
|
|
15
|
+
})();
|
|
16
|
+
import {
|
|
17
|
+
defineCommand
|
|
18
|
+
} from "./chunk-PKKZPOOP.js";
|
|
19
|
+
import {
|
|
20
|
+
dispatchRaw,
|
|
21
|
+
handleRawError
|
|
22
|
+
} from "./chunk-3IOQVUO7.js";
|
|
23
|
+
import "./chunk-AWCQH2W5.js";
|
|
24
|
+
import "./chunk-OGV57L4J.js";
|
|
25
|
+
import "./chunk-ZBISIPCK.js";
|
|
26
|
+
import {
|
|
27
|
+
cliOutput
|
|
28
|
+
} from "./chunk-3ZO3M37V.js";
|
|
29
|
+
import "./chunk-6JSJNYH2.js";
|
|
30
|
+
import "./chunk-QFFQSKRC.js";
|
|
31
|
+
|
|
32
|
+
// packages/cleo/src/cli/commands/delete.ts
|
|
33
|
+
var deleteCommand = defineCommand({
|
|
34
|
+
meta: {
|
|
35
|
+
name: "delete",
|
|
36
|
+
description: "Delete a task (soft delete to archive)"
|
|
37
|
+
},
|
|
38
|
+
args: {
|
|
39
|
+
taskId: {
|
|
40
|
+
type: "positional",
|
|
41
|
+
description: "ID of the task to delete",
|
|
42
|
+
required: true
|
|
43
|
+
},
|
|
44
|
+
force: {
|
|
45
|
+
type: "boolean",
|
|
46
|
+
description: "Force delete even with dependents or children"
|
|
47
|
+
},
|
|
48
|
+
cascade: {
|
|
49
|
+
type: "boolean",
|
|
50
|
+
description: "Delete children recursively"
|
|
51
|
+
}
|
|
52
|
+
},
|
|
53
|
+
async run({ args }) {
|
|
54
|
+
const response = await dispatchRaw("mutate", "tasks", "delete", {
|
|
55
|
+
taskId: args.taskId,
|
|
56
|
+
force: args.force,
|
|
57
|
+
cascade: args.cascade
|
|
58
|
+
});
|
|
59
|
+
if (!response.success) {
|
|
60
|
+
handleRawError(response, { command: "delete", operation: "tasks.delete" });
|
|
61
|
+
}
|
|
62
|
+
cliOutput(response.data, { command: "delete", operation: "tasks.delete" });
|
|
63
|
+
}
|
|
64
|
+
});
|
|
65
|
+
export {
|
|
66
|
+
deleteCommand
|
|
67
|
+
};
|
|
68
|
+
//# sourceMappingURL=delete-Q7YCAFY5.js.map
|