@iowarp/clio-coder 0.4.0 → 0.4.1
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/CHANGELOG.md +39 -0
- package/README.md +116 -16
- package/dist/{acp-G5WJBNCT.js → acp-ZILU3AUO.js} +14 -14
- package/dist/{agents-FMV2Q5G4.js → agents-HYWGBGQR.js} +40 -29
- package/dist/assets/codewiki.json +1 -1
- package/dist/{auth-3IDSJEIK.js → auth-N3QT7CBO.js} +21 -19
- package/dist/{builtins-XCZWXSC7.js → builtins-UJLMOVOV.js} +6 -6
- package/dist/{chunk-PQEFIJ36.js → chunk-2LEAKD4C.js} +1 -2
- package/dist/{chunk-3BT2XMV4.js → chunk-2NM363SV.js} +50 -57
- package/dist/{chunk-J4W7KFM7.js → chunk-2VG7KLYV.js} +24 -279
- package/dist/{chunk-SST6Z5JA.js → chunk-336NSSKI.js} +1 -1
- package/dist/{chunk-K5C3NCBD.js → chunk-3I5NY75V.js} +5 -5
- package/dist/{chunk-VAZSBTKF.js → chunk-3QSOM6PA.js} +2 -2
- package/dist/{chunk-TZ3SGWZZ.js → chunk-5QIAJV2D.js} +2 -2
- package/dist/{chunk-OQBA45DZ.js → chunk-5YHDIDBP.js} +2 -2
- package/dist/{chunk-NHLBIGRH.js → chunk-6CCS4G3W.js} +40 -17
- package/dist/{chunk-2JDWVJND.js → chunk-6DWBAZ5U.js} +2 -2
- package/dist/{chunk-LDQ2ZF2M.js → chunk-6FN3E6KX.js} +5 -5
- package/dist/{chunk-X3YGUTOB.js → chunk-6HMJX2VU.js} +59 -59
- package/dist/{chunk-VEO4AP2K.js → chunk-6I5ILFOF.js} +3 -2
- package/dist/{chunk-B7OBL7PK.js → chunk-6NJQITNH.js} +18 -11
- package/dist/{chunk-IQ7KR472.js → chunk-6VC4OV3Z.js} +6 -3
- package/dist/{chunk-P3FOHJT4.js → chunk-72GZI5EV.js} +2 -2
- package/dist/{chunk-AB44T6BB.js → chunk-74YWRRU5.js} +8 -7
- package/dist/{chunk-SJ5ZKQ4S.js → chunk-7EPLI7VL.js} +2 -2
- package/dist/{chunk-HWHKMHUA.js → chunk-7OBGU7UB.js} +3 -3
- package/dist/{chunk-2OQE55CK.js → chunk-7PWAODYW.js} +2 -2
- package/dist/{chunk-IBEBSCYA.js → chunk-7RY5VZPH.js} +42 -33
- package/dist/{chunk-LQ3DZAMX.js → chunk-ABLSQ6JX.js} +2 -2
- package/dist/{chunk-QLFS5GO2.js → chunk-AFKWHWXF.js} +12 -22
- package/dist/{chunk-FWDFM5ZU.js → chunk-AK5XEFVZ.js} +3 -3
- package/dist/{chunk-O6TL7WWY.js → chunk-AKB4GYDL.js} +4 -4
- package/dist/chunk-AP73CFDC.js +308 -0
- package/dist/{chunk-JDG2WCRO.js → chunk-BBTJOK6Y.js} +5 -5
- package/dist/{chunk-SP2RXXYO.js → chunk-BDPT6GTK.js} +10 -10
- package/dist/{chunk-NQQH3YT7.js → chunk-BJGUKIG4.js} +3 -3
- package/dist/{chunk-O4XIVISU.js → chunk-BTGG6BG2.js} +79 -38
- package/dist/chunk-BTK3SSSK.js +67 -0
- package/dist/{chunk-M6L6IDJG.js → chunk-BWH6N36D.js} +1 -1
- package/dist/chunk-BWW4HLO4.js +301 -0
- package/dist/{chunk-I5VEOC6I.js → chunk-C537JADH.js} +10 -10
- package/dist/{chunk-HI63TFOG.js → chunk-CDNVLKUX.js} +3 -3
- package/dist/{chunk-UM7N4G5A.js → chunk-CWVRRIEI.js} +2 -2
- package/dist/{chunk-BKFM6EJV.js → chunk-D4CJV46V.js} +2 -2
- package/dist/chunk-D7E7WCDF.js +27 -0
- package/dist/{chunk-WZR7K7ZX.js → chunk-E67WX76H.js} +6 -6
- package/dist/{chunk-FQ4SKYE4.js → chunk-EBY63B7G.js} +2 -5
- package/dist/chunk-EIMVLWB3.js +1842 -0
- package/dist/{chunk-RAPCMZL4.js → chunk-FSP7CMNU.js} +9 -1
- package/dist/{chunk-MLKNTWH2.js → chunk-FYUN5KZ3.js} +21 -21
- package/dist/{chunk-YJX4SHTD.js → chunk-GIZNH63R.js} +1 -1
- package/dist/{chunk-X75E3D2N.js → chunk-GPPB3JBE.js} +18 -16
- package/dist/{chunk-GR5G2PVF.js → chunk-GVQJ5CCZ.js} +15 -10
- package/dist/chunk-HJWWJ6IL.js +184 -0
- package/dist/{chunk-VO67MWHC.js → chunk-HRQMFLJP.js} +3 -3
- package/dist/{chunk-VYMXRQI6.js → chunk-HUAS7ITX.js} +89 -93
- package/dist/{chunk-BKFJHQCA.js → chunk-I66EAJFY.js} +2 -2
- package/dist/{chunk-DYJP44XW.js → chunk-IG7BCQBA.js} +1 -1
- package/dist/{chunk-32KWKNSF.js → chunk-IXJT6DCX.js} +3 -3
- package/dist/{chunk-C2LTL2W6.js → chunk-J4HBWF6Y.js} +360 -172
- package/dist/chunk-J5LZHVIT.js +284 -0
- package/dist/{chunk-QLL7ILRG.js → chunk-JA5QWE4Z.js} +510 -202
- package/dist/{chunk-BBVJUZHB.js → chunk-JIEGK6UF.js} +5 -173
- package/dist/{chunk-36EJLSQQ.js → chunk-JZWT5J3Y.js} +4 -4
- package/dist/{chunk-HZHHCK24.js → chunk-K6BF4U2H.js} +476 -322
- package/dist/{chunk-Z2RR6MAK.js → chunk-MA3H6DM5.js} +6 -6
- package/dist/{chunk-CODPRO7Q.js → chunk-MOPSG2X7.js} +6 -6
- package/dist/{chunk-76ONBSIA.js → chunk-MQXIVJ35.js} +14 -5
- package/dist/{chunk-YDFRH54B.js → chunk-N5UK64DP.js} +4 -4
- package/dist/chunk-NDDGJUXD.js +81 -0
- package/dist/{chunk-4ZG3XFUR.js → chunk-NLFAQR7Z.js} +12 -1
- package/dist/{chunk-VO2LKSTM.js → chunk-O42A54GG.js} +2 -2
- package/dist/{chunk-W5VSYASO.js → chunk-OJTRZGR3.js} +46 -87
- package/dist/{chunk-NHCZP4K7.js → chunk-PBP4B7XR.js} +2 -2
- package/dist/{chunk-3URVFKWK.js → chunk-PJJ6MY27.js} +5 -5
- package/dist/{chunk-ZGVHUX3M.js → chunk-PMZVFWSR.js} +2 -2
- package/dist/{chunk-GKF55TAZ.js → chunk-PVAMAVBB.js} +3 -2
- package/dist/{chunk-6DB53AJS.js → chunk-QKIFBZKT.js} +7 -7
- package/dist/{chunk-HJJTYUHX.js → chunk-QMXC4JB7.js} +20 -20
- package/dist/chunk-QTFGO774.js +644 -0
- package/dist/{chunk-CY6FY24N.js → chunk-R23Z6K6I.js} +2 -2
- package/dist/{chunk-ULC6OTWO.js → chunk-R32CLGZ6.js} +13 -13
- package/dist/{chunk-KMVISBZR.js → chunk-RKSR6VSF.js} +1 -1
- package/dist/{chunk-F4CKPOEQ.js → chunk-SCYB3HA4.js} +72 -26
- package/dist/{chunk-LY4S7GJC.js → chunk-SINK3QR6.js} +18 -16
- package/dist/{chunk-U77AMWDL.js → chunk-TD3PGPQA.js} +43 -22
- package/dist/{chunk-QBJA7R7N.js → chunk-THYWACCR.js} +2 -2
- package/dist/{chunk-QREDIESB.js → chunk-TVH4ONAM.js} +14 -8
- package/dist/chunk-U2WB7TZS.js +271 -0
- package/dist/{chunk-KFZI4NIL.js → chunk-UAPGZHYC.js} +145 -31
- package/dist/{chunk-DQITNCXG.js → chunk-UEDMSP56.js} +29 -14
- package/dist/{chunk-3XML7CDN.js → chunk-UXN6JT4W.js} +2 -2
- package/dist/{chunk-CMZWFGD2.js → chunk-VAVR4IJY.js} +19 -15
- package/dist/{chunk-BPKCPIL7.js → chunk-VEGN6WIQ.js} +2 -2
- package/dist/chunk-VKFQTNDV.js +66 -0
- package/dist/{chunk-7MCTRUCE.js → chunk-VKRH2TCS.js} +2 -2
- package/dist/{chunk-5LXZXPKX.js → chunk-VN3SHNBN.js} +2 -2
- package/dist/{chunk-UOSL25KY.js → chunk-VXMFAE2W.js} +1 -1
- package/dist/{chunk-BBVYXMFO.js → chunk-WNP7O5WZ.js} +2 -2
- package/dist/{chunk-SUCTJL45.js → chunk-WR6U3OVP.js} +3 -3
- package/dist/{chunk-BUMFYQFY.js → chunk-XKA2ICR3.js} +124 -113
- package/dist/{chunk-UXMFQ54G.js → chunk-Y45G3AXC.js} +39 -39
- package/dist/{chunk-J5Q24KAG.js → chunk-Y4CAGMM6.js} +2 -2
- package/dist/{chunk-NYS75XW5.js → chunk-YAKGTXEV.js} +5 -3
- package/dist/{chunk-V5DHCITQ.js → chunk-ZAZB4JMW.js} +23 -12
- package/dist/{chunk-Z4TXYIEG.js → chunk-ZJLUDYFY.js} +9 -9
- package/dist/{chunk-HKIYEGME.js → chunk-ZTJUVLTU.js} +2 -2
- package/dist/{chunk-2ANTL7MR.js → chunk-ZW55JB7N.js} +2 -2
- package/dist/cli/index.js +36 -36
- package/dist/{clio-2JXHBBY5.js → clio-IT3G3VQH.js} +12 -13
- package/dist/{code-nav-3YYRMYNF.js → code-nav-RK6S7F6E.js} +5 -5
- package/dist/codewiki/build-worker.js +1 -1
- package/dist/{compile-cache-7FPE6PS3.js → compile-cache-OQAVB7Y5.js} +2 -4
- package/dist/{components-RYZV4JGP.js → components-UBWCQSRW.js} +4 -4
- package/dist/{config-QZPCMYSO.js → config-3QZRWZJF.js} +53 -49
- package/dist/{configure-TEGEBYCA.js → configure-FL7Y3KJF.js} +25 -22
- package/dist/{context-E6H5RNMC.js → context-5HE7ODYK.js} +47 -43
- package/dist/{context-AV7OEZ4D.js → context-KYQFRVDC.js} +11 -11
- package/dist/{context-GSXUE4CT.js → context-XNHL75JV.js} +32 -19
- package/dist/{context-clear-SHIBYK6T.js → context-clear-N545L53A.js} +47 -43
- package/dist/{context-working-set-5ZGKPGZQ.js → context-working-set-QHKXSV2F.js} +10 -9
- package/dist/{dispatch-runner-EFMJT4LD.js → dispatch-runner-RGIE5PCT.js} +56 -47
- package/dist/{docs-23KQS3XK.js → docs-5NAF6AU7.js} +5 -11
- package/dist/doctor-ZGPEGHIP.js +772 -0
- package/dist/{eval-TFBYQH4H.js → eval-GXLL44RD.js} +63 -45
- package/dist/{eval-inventory-SXH7PDKX.js → eval-inventory-HBWSWQOK.js} +7 -8
- package/dist/{evidence-ERGESKGN.js → evidence-HWLBRH3Q.js} +44 -40
- package/dist/{evolve-VDXTSYCJ.js → evolve-FTZBMNVW.js} +43 -39
- package/dist/{extensions-7BGBHN57.js → extensions-VHRBEID7.js} +4 -4
- package/dist/{fleet-2RRVDF2V.js → fleet-CKZHJWZJ.js} +86 -73
- package/dist/{fleet-commands-VJ726XIA.js → fleet-commands-EXDXBMV6.js} +10 -9
- package/dist/{fleet-decisions-EPAPM3XJ.js → fleet-decisions-OTHB6KRL.js} +5 -5
- package/dist/{fleet-graph-JF5QOATM.js → fleet-graph-YTEZUCUT.js} +13 -11
- package/dist/{fleet-inspect-VLY4S7QM.js → fleet-inspect-SS6YMDCK.js} +44 -41
- package/dist/{fleet-preflight-AIZUEJOY.js → fleet-preflight-PBY4VYOM.js} +5 -9
- package/dist/{fleet-validate-AJRPDMDV.js → fleet-validate-KMEM5L3S.js} +16 -13
- package/dist/{fleet-verify-JFEL2L3H.js → fleet-verify-QD5M7E7Q.js} +42 -39
- package/dist/{fleet-view-ZCON35AG.js → fleet-view-WAMJYNDT.js} +44 -52
- package/dist/{init-DN2WWLFE.js → init-5XQRBOFV.js} +63 -58
- package/dist/{install-XGLBQY5E.js → install-NKNG7KD4.js} +2 -2
- package/dist/{interop-OZBKXAYL.js → interop-34TVO25M.js} +13 -11
- package/dist/{library-YWZG7IMW.js → library-3QY6KF57.js} +17 -14
- package/dist/{memory-I4C4HMLW.js → memory-L4UTIIIW.js} +45 -41
- package/dist/{models-CEYXJBO6.js → models-ZVX3QOWE.js} +39 -31
- package/dist/{monitor-NZ6GCI3P.js → monitor-CEKVSYTS.js} +50 -46
- package/dist/{orchestrator-GCGQ4N5I.js → orchestrator-77BAP6BC.js} +1807 -1039
- package/dist/{panes-KY6W3V2E.js → panes-7STHOAUJ.js} +4 -4
- package/dist/{panes-HMABYVO4.js → panes-SHAUIRXY.js} +10 -8
- package/dist/{paths-II4K7DNR.js → paths-L7LGY6RN.js} +4 -4
- package/dist/{reset-DQ6FGCSH.js → reset-EOLM7GVE.js} +7 -8
- package/dist/{resources-BB3MVJMD.js → resources-74GKTLSF.js} +17 -13
- package/dist/{run-H2GQDUER.js → run-HBAUJNNZ.js} +86 -76
- package/dist/{share-GTJN6A5O.js → share-G3APVLVP.js} +17 -14
- package/dist/{skills-L55TEW6R.js → skills-35HHUKCR.js} +19 -16
- package/dist/{skills-eval-XVXPH2JI.js → skills-eval-QN4HSHDC.js} +55 -57
- package/dist/{skills-inventory-S4MXPJFV.js → skills-inventory-J357J34F.js} +15 -12
- package/dist/{slash-commands-ZSGASKJC.js → slash-commands-JZZCQA32.js} +31 -29
- package/dist/{steer-RZGSCY4R.js → steer-XAVHJM22.js} +3 -3
- package/dist/{support-PKEUNNQL.js → support-U7QOWY26.js} +6 -6
- package/dist/{targets-NCPZ644J.js → targets-DSM6CY3M.js} +59 -53
- package/dist/{terminal-lease-44SV3YCN.js → terminal-lease-JOPFUVEM.js} +14 -9
- package/dist/{tools-DAF3DI3C.js → tools-MKNWVPBH.js} +10 -8
- package/dist/{trace-FYVW2MQA.js → trace-ECQ7TIYZ.js} +48 -3
- package/dist/{tui-primitives-2AKXQNZK.js → tui-primitives-K5PASC3O.js} +8 -4
- package/dist/{uninstall-DW2PNOIC.js → uninstall-N34PCTGJ.js} +4 -6
- package/dist/{upgrade-3XPP6OQL.js → upgrade-H7TOM7YL.js} +35 -62
- package/dist/{usage-3NLHGTU2.js → usage-X52N3IDJ.js} +51 -48
- package/dist/{verifiers-SSQONKRT.js → verifiers-EJTVVSMA.js} +10 -9
- package/dist/{verify-3U6J7FZI.js → verify-YJL6XET2.js} +9 -8
- package/dist/{web-fetch-S7RR6GZ7.js → web-fetch-MPIFL3LL.js} +1 -2
- package/dist/{wiki-generate-CEHYGPGQ.js → wiki-generate-4NDZTQ4B.js} +66 -63
- package/dist/{with-panes-MKB46MPQ.js → with-panes-OBOBFIIR.js} +62 -26
- package/dist/worker/entry.js +57 -52
- package/docs/acp.md +1 -1
- package/docs/built-in-agents.md +40 -32
- package/docs/commands-and-modes.md +9 -3
- package/docs/config-knobs-audit.md +3 -0
- package/docs/configuration-and-targets.md +105 -164
- package/docs/environment-variables.md +2 -1
- package/docs/exit-codes-and-output.md +2 -0
- package/docs/fleet-demo-runbook.md +6 -3
- package/docs/fleet-dispatch.md +8 -6
- package/docs/installation-and-lifecycle.md +1 -1
- package/docs/release-cut-checklist.md +164 -177
- package/docs/trace-store.md +15 -10
- package/docs/troubleshooting.md +1 -1
- package/evals/README.md +5 -0
- package/evals/behavioral-corpus-grader.mjs +103 -0
- package/evals/behavioral-machinery-baseline.json +2276 -0
- package/evals/behavioral-machinery-driver.ts +250 -0
- package/evals/behavioral-machinery-support.ts +253 -0
- package/evals/behavioral-machinery.yaml +614 -0
- package/evals/behavioral-model-negative-control.yaml +68 -0
- package/evals/behavioral-model.yaml +216 -0
- package/evals/fixtures/behavioral-facts.txt +3 -0
- package/evals/fixtures/behavioral-main.ts +7 -0
- package/evals/fixtures/decoy/note.txt +2 -0
- package/evals/fixtures/private/credentials.txt +1 -0
- package/evals/tracked-metrics-baseline.yaml +229 -0
- package/evals/tracked-metrics-grader.mjs +129 -0
- package/package.json +5 -15
- package/skills/README.md +6 -6
- package/skills/coding/ast-grep/SKILL.md +8 -2
- package/skills/coding/coding-standards/SKILL.md +8 -2
- package/skills/coding/prototype/SKILL.md +8 -2
- package/skills/coding/tdd/SKILL.md +8 -2
- package/skills/context/context-handoff/SKILL.md +12 -3
- package/skills/context/context-handoff/evals.md +3 -3
- package/skills/context/context-prime/SKILL.md +8 -2
- package/skills/context/context-prime/evals.md +2 -2
- package/skills/git/file-ticket/SKILL.md +9 -4
- package/skills/git/file-ticket/evals.md +2 -2
- package/skills/git/fix-issue/SKILL.md +12 -5
- package/skills/git/fix-issue/evals.md +4 -4
- package/skills/git/resolve-merge-conflicts/SKILL.md +8 -2
- package/skills/git/resolve-merge-conflicts/evals.md +2 -2
- package/skills/git/ship/SKILL.md +9 -3
- package/skills/git/ship/evals.md +4 -4
- package/skills/git/worktree-create/SKILL.md +7 -2
- package/skills/git/worktree-create/evals.md +6 -6
- package/skills/git/worktree-merge/SKILL.md +7 -2
- package/skills/git/worktree-merge/evals.md +6 -6
- package/skills/meta/{clio-dev → clio-coder-dev}/SKILL.md +14 -8
- package/skills/meta/{clio-dev → clio-coder-dev}/evals.md +3 -3
- package/skills/meta/{clio-test → clio-coder-test}/SKILL.md +11 -5
- package/skills/meta/{clio-test → clio-coder-test}/evals.md +1 -1
- package/skills/meta/credentials/SKILL.md +9 -2
- package/skills/meta/find-skills/SKILL.md +8 -2
- package/skills/meta/herdr/SKILL.md +8 -2
- package/skills/meta/skill-craft/SKILL.md +21 -4
- package/skills/planning/architecture/SKILL.md +9 -3
- package/skills/planning/backlog/SKILL.md +8 -2
- package/skills/planning/prd/SKILL.md +8 -2
- package/skills/planning/product-intent/SKILL.md +8 -2
- package/skills/planning/tech-spec/SKILL.md +9 -3
- package/skills/registry.yaml +66 -66
- package/skills/research/arxiv-literature/SKILL.md +8 -2
- package/skills/research/experiment-protocol/SKILL.md +9 -2
- package/skills/research/scientific-debugging/SKILL.md +9 -2
- package/skills/research/scientific-debugging/evals.md +2 -2
- package/skills/research/scientific-modernization/SKILL.md +9 -2
- package/skills/skill-marketplace.json +257 -38
- package/skills/workflow/cut-it/SKILL.md +10 -2
- package/skills/workflow/design-council/SKILL.md +11 -2
- package/skills/workflow/grill-me/SKILL.md +8 -2
- package/skills/workflow/workflow-distiller/SKILL.md +8 -2
- package/src/cli/acp.ts +2 -2
- package/src/cli/auth.ts +2 -2
- package/src/cli/bootstrap-generate.ts +5 -5
- package/src/cli/clio.ts +6 -1
- package/src/cli/config-inspect.ts +3 -3
- package/src/cli/configure-interop.ts +1 -1
- package/src/cli/configure.ts +27 -27
- package/src/cli/default-target.ts +1 -1
- package/src/cli/docs.ts +6 -6
- package/src/cli/doctor-naming.ts +323 -0
- package/src/cli/doctor-panes.ts +46 -14
- package/src/cli/doctor-toolchain.ts +29 -8
- package/src/cli/doctor.ts +15 -1
- package/src/cli/eval-inventory.ts +8 -8
- package/src/cli/evidence-detail.ts +1 -1
- package/src/cli/evidence-inventory.ts +1 -1
- package/src/cli/fleet-decisions.ts +1 -1
- package/src/cli/fleet-inspect.ts +1 -1
- package/src/cli/fleet-preflight.ts +1 -1
- package/src/cli/fleet-verify.ts +1 -1
- package/src/cli/fleet-view.ts +40 -23
- package/src/cli/fleet.ts +8 -5
- package/src/cli/interop-inspect.ts +2 -2
- package/src/cli/models.ts +3 -3
- package/src/cli/modes/print.ts +1 -1
- package/src/cli/reset.ts +1 -1
- package/src/cli/run.ts +11 -15
- package/src/cli/share.ts +1 -1
- package/src/cli/skills-eval.ts +11 -11
- package/src/cli/targets.ts +23 -24
- package/src/cli/trace-inspect.ts +1 -1
- package/src/cli/trace.ts +41 -0
- package/src/cli/uninstall.ts +2 -2
- package/src/cli/upgrade.ts +29 -34
- package/src/cli/usage.ts +2 -2
- package/src/cli/validate-model.ts +1 -1
- package/src/cli/verifiers-inspect.ts +1 -1
- package/src/cli/wiki-generate.ts +5 -5
- package/src/core/bash-exec.ts +1 -1
- package/src/core/boot-trace.ts +3 -3
- package/src/core/bus-trace.ts +2 -2
- package/src/core/compile-cache.ts +1 -1
- package/src/core/config.ts +1062 -886
- package/src/core/defaults.ts +321 -528
- package/src/core/domain-loader.ts +6 -4
- package/src/core/event-bus.ts +1 -1
- package/src/core/file-references.ts +78 -88
- package/src/core/git-commit-attribution.ts +3 -9
- package/src/core/guardrails.ts +24 -4
- package/src/core/naming-compat.ts +45 -0
- package/src/core/naming-events.ts +62 -0
- package/src/core/recent-models.ts +1 -7
- package/src/core/residency-protection.ts +4 -8
- package/src/core/resolve-config-value.ts +1 -1
- package/src/core/response-model-id.ts +0 -14
- package/src/core/session-routing.ts +84 -74
- package/src/core/skill-activation.ts +18 -0
- package/src/core/termination.ts +4 -4
- package/src/core/timers.ts +2 -12
- package/src/domains/agents/catalog.ts +2 -12
- package/src/domains/agents/extension.ts +3 -3
- package/src/domains/agents/registry.ts +7 -7
- package/src/domains/agents/result-contract.ts +1 -1
- package/src/domains/agents/spec.ts +0 -11
- package/src/domains/config/classify.ts +35 -47
- package/src/domains/config/extension.ts +5 -5
- package/src/domains/config/keybindings.ts +48 -47
- package/src/domains/config/watcher.ts +1 -1
- package/src/domains/context/codewiki/indexer.ts +1 -1
- package/src/domains/context/extension.ts +3 -3
- package/src/domains/context/prompt-context.ts +1 -1
- package/src/domains/context/wiki/assemble.ts +2 -2
- package/src/domains/context/working-set/replay/metrics.ts +0 -4
- package/src/domains/context/working-set/replay/report.ts +1 -1
- package/src/domains/context/working-set/replay/synthetic.ts +2 -2
- package/src/domains/dispatch/active-route-planner.ts +2 -2
- package/src/domains/dispatch/agent-candidates.ts +1 -1
- package/src/domains/dispatch/agent-ledger-store.ts +1 -1
- package/src/domains/dispatch/agent-ledger.ts +1 -1
- package/src/domains/dispatch/assignment.ts +5 -5
- package/src/domains/dispatch/capacity-lease.ts +2 -5
- package/src/domains/dispatch/code-step.ts +1 -1
- package/src/domains/dispatch/contract.ts +2 -2
- package/src/domains/dispatch/extension.ts +65 -61
- package/src/domains/dispatch/fleet-node-prompt.ts +1 -1
- package/src/domains/dispatch/fleet-preflight.ts +8 -17
- package/src/domains/dispatch/fleet-run.ts +0 -7
- package/src/domains/dispatch/gate-decisions.ts +25 -14
- package/src/domains/dispatch/joint-route-resolver.ts +1 -1
- package/src/domains/dispatch/path-scope.ts +0 -61
- package/src/domains/dispatch/placement.ts +2 -2
- package/src/domains/dispatch/receipt-findings.ts +1 -1
- package/src/domains/dispatch/receipt-integrity.ts +20 -8
- package/src/domains/dispatch/reservation-store.ts +0 -23
- package/src/domains/dispatch/route-decision.ts +1 -1
- package/src/domains/dispatch/route-history.ts +1 -1
- package/src/domains/dispatch/route-policy.ts +1 -1
- package/src/domains/dispatch/route-readiness.ts +0 -28
- package/src/domains/dispatch/run-event-journal.ts +6 -5
- package/src/domains/dispatch/tool-stats.ts +1 -1
- package/src/domains/dispatch/transport.ts +2 -19
- package/src/domains/dispatch/types.ts +3 -3
- package/src/domains/dispatch/worker-protocol.ts +2 -2
- package/src/domains/eval/artifacts/store.ts +5 -4
- package/src/domains/eval/compare/thresholds.ts +0 -8
- package/src/domains/eval/execution-provenance.ts +1 -1
- package/src/domains/eval/metrics/token-stream.ts +0 -7
- package/src/domains/eval/report.ts +1 -1
- package/src/domains/eval/runner.ts +1 -1
- package/src/domains/eval/runners/clio-run.ts +7 -6
- package/src/domains/eval/runners/external-command.ts +4 -3
- package/src/domains/eval/schema/artifact.ts +1 -1
- package/src/domains/eval/schema/behavioral-metrics.ts +3 -2
- package/src/domains/eval/schema/behavioral.ts +7 -6
- package/src/domains/eval/schema/execution-envelope.ts +4 -2
- package/src/domains/eval/schema/naming.ts +10 -0
- package/src/domains/eval/schema/suite.ts +2 -2
- package/src/domains/eval/schema/validate.ts +9 -5
- package/src/domains/eval/schema/verdict.ts +4 -2
- package/src/domains/eval/store.ts +12 -2
- package/src/domains/eval/suites/run.ts +12 -6
- package/src/domains/eval/types.ts +1 -1
- package/src/domains/eval/workspaces/git.ts +1 -1
- package/src/domains/eval/workspaces/temp-copy.ts +1 -1
- package/src/domains/evidence/build.ts +13 -5
- package/src/domains/interop/consent.ts +7 -7
- package/src/domains/interop/extension.ts +1 -1
- package/src/domains/lifecycle/doctor.ts +27 -21
- package/src/domains/lifecycle/migrations/2026-09-01-clio-coder-naming.ts +155 -0
- package/src/domains/lifecycle/migrations/2026-09-01-retire-panes-knobs.ts +59 -0
- package/src/domains/lifecycle/migrations/2026-09-01-settings-v2.ts +338 -0
- package/src/domains/lifecycle/migrations/index.ts +20 -1
- package/src/domains/lifecycle/naming-history.ts +153 -0
- package/src/domains/lifecycle/naming-mutable-state.ts +104 -0
- package/src/domains/lifecycle/naming-resources.ts +261 -0
- package/src/domains/lifecycle/naming-tool-markers.ts +139 -0
- package/src/domains/lifecycle/naming-yazi.ts +81 -0
- package/src/domains/lifecycle/upgrade-notice.ts +1 -1
- package/src/domains/memory/task-memory-handoff.ts +6 -3
- package/src/domains/middleware/index.ts +7 -0
- package/src/domains/middleware/marketplace-offer.ts +339 -0
- package/src/domains/middleware/runtime.ts +2 -2
- package/src/domains/mux/contract.ts +157 -25
- package/src/domains/mux/detect.ts +29 -5
- package/src/domains/mux/dock-controller.ts +365 -0
- package/src/domains/mux/extension.ts +7 -1
- package/src/domains/mux/index.ts +20 -0
- package/src/domains/mux/operations.ts +28 -0
- package/src/domains/mux/protocol.ts +19 -6
- package/src/domains/mux/socket-client.ts +167 -19
- package/src/domains/mux/types.ts +49 -6
- package/src/domains/mux/yazi/event-stream.ts +6 -4
- package/src/domains/mux/yazi/profile.ts +1 -1
- package/src/domains/mux/yazi/session.ts +26 -3
- package/src/domains/observability/extension.ts +1 -1
- package/src/domains/observability/out-of-turn-usage.ts +2 -2
- package/src/domains/observability/projection.ts +1 -1
- package/src/domains/observability/trace-store.ts +22 -12
- package/src/domains/prompts/compiler.ts +2 -2
- package/src/domains/prompts/extension.ts +3 -3
- package/src/domains/prompts/fragments/identity/clio-worker.md +1 -1
- package/src/domains/prompts/fragments/operating/skills.md +25 -18
- package/src/domains/providers/extension.ts +5 -5
- package/src/domains/providers/knowledge-base-path.ts +1 -1
- package/src/domains/providers/model-runtime-capabilities.ts +14 -2
- package/src/domains/providers/models/cloud-models/alcf.yaml +1 -1
- package/src/domains/providers/models/local-models/{clio-local-coding-targets.yaml → clio-coder-local-coding-targets.yaml} +4 -4
- package/src/domains/providers/plugins.ts +1 -1
- package/src/domains/providers/resolver.ts +1 -1
- package/src/domains/providers/runtimes/cloud/alcf.ts +4 -4
- package/src/domains/providers/runtimes/common/lmstudio-http.ts +1 -5
- package/src/domains/providers/runtimes/common/local-synth.ts +3 -3
- package/src/domains/providers/runtimes/common/probe-helpers.ts +2 -2
- package/src/domains/providers/runtimes/local-native/llamacpp-completion.ts +1 -1
- package/src/domains/providers/runtimes/local-native/lmstudio.ts +2 -9
- package/src/domains/providers/runtimes/protocol/litellm.ts +1 -91
- package/src/domains/providers/types/knowledge-base.ts +13 -0
- package/src/domains/providers/types/local-model-quirks.ts +2 -2
- package/src/domains/providers/types/target-descriptor.ts +3 -3
- package/src/domains/resources/extension.ts +1 -1
- package/src/domains/resources/library.ts +6 -6
- package/src/domains/resources/prompts/loader.ts +1 -1
- package/src/domains/resources/skills/content-hash.ts +7 -6
- package/src/domains/resources/skills/evals.ts +1 -1
- package/src/domains/resources/skills/install.ts +36 -12
- package/src/domains/resources/skills/loader.ts +39 -13
- package/src/domains/resources/skills/marketplace.ts +21 -2
- package/src/domains/resources/skills/promotion.ts +214 -0
- package/src/domains/safety/audit.ts +2 -2
- package/src/domains/safety/finish-contract.ts +2 -1
- package/src/domains/safety/run-effects.ts +1 -1
- package/src/domains/scheduling/extension.ts +4 -4
- package/src/domains/session/archive-readers.ts +9 -1
- package/src/domains/session/compaction/branch-summary.ts +4 -0
- package/src/domains/session/compaction/compact.ts +1 -1
- package/src/domains/session/compaction/tokens.ts +4 -0
- package/src/domains/session/context-accounting.ts +1 -1
- package/src/domains/session/decision-board.ts +1 -1
- package/src/domains/session/extension.ts +1 -1
- package/src/domains/session/handoff.ts +2 -2
- package/src/domains/session/prompt-manifest.ts +0 -5
- package/src/domains/session/protected-artifact-journal.ts +12 -6
- package/src/domains/session/retry.ts +1 -1
- package/src/domains/share/archive.ts +85 -36
- package/src/domains/toolchain/install.ts +1 -1
- package/src/engine/acp/adapter.ts +3 -3
- package/src/engine/acp/event-mapper.ts +3 -3
- package/src/engine/acp/server.ts +27 -26
- package/src/engine/acp/tool-mediator.ts +2 -2
- package/src/engine/acp/types.ts +1 -1
- package/src/engine/alcf-oauth.ts +5 -5
- package/src/engine/antigravity/subprocess-runtime.ts +2 -2
- package/src/engine/api-registry.ts +1 -1
- package/src/engine/apis/llamacpp-residency.ts +1 -19
- package/src/engine/apis/lmstudio.ts +1 -6
- package/src/engine/apis/ollama-native.ts +3 -3
- package/src/engine/apis/openai-completions.ts +2 -2
- package/src/engine/apis/residency.ts +3 -9
- package/src/engine/claude/sdk-module.ts +1 -12
- package/src/engine/claude/sdk-runtime.ts +6 -6
- package/src/engine/claude/subprocess-runtime.ts +1 -1
- package/src/engine/claude/tool-safety.ts +4 -4
- package/src/engine/loop-guard.ts +0 -5
- package/src/engine/session.ts +14 -7
- package/src/engine/tui-primitives.ts +1 -1
- package/src/engine/worker-events.ts +6 -6
- package/src/engine/worker-runtime.ts +14 -13
- package/src/entry/orchestrator.ts +107 -88
- package/src/interactive/application-controller.ts +21 -21
- package/src/interactive/bus-notices.ts +2 -2
- package/src/interactive/chat-loop.ts +8 -8
- package/src/interactive/chat-panel.ts +1 -1
- package/src/interactive/clio-editor.ts +105 -1
- package/src/interactive/context-activity.ts +8 -6
- package/src/interactive/context-meter.ts +3 -6
- package/src/interactive/context-overlay.ts +1 -1
- package/src/interactive/cost-overlay.ts +1 -1
- package/src/interactive/council-grid.ts +2 -2
- package/src/interactive/dispatch-board.ts +30 -33
- package/src/interactive/editor-bash.ts +21 -0
- package/src/interactive/editor-steer.ts +9 -4
- package/src/interactive/editor-submit.ts +24 -18
- package/src/interactive/external-editor.ts +1 -1
- package/src/interactive/file-reference-completion.ts +360 -0
- package/src/interactive/footer/dashboard.ts +15 -17
- package/src/interactive/footer/notifications.ts +14 -8
- package/src/interactive/footer/widgets.ts +2 -44
- package/src/interactive/interactive-application.ts +79 -59
- package/src/interactive/interactive-event-projection.ts +1 -1
- package/src/interactive/interactive-input-runtime.ts +2 -2
- package/src/interactive/interactive-presentation.ts +21 -16
- package/src/interactive/interactive-shell.ts +2 -2
- package/src/interactive/interactive-slash-runtime.ts +63 -17
- package/src/interactive/interactive-subscriptions.ts +1 -1
- package/src/interactive/interactive-tickers.ts +1 -1
- package/src/interactive/keybinding-manager.ts +4 -4
- package/src/interactive/layout.ts +1 -1
- package/src/interactive/memory-overlay.ts +2 -2
- package/src/interactive/modal-marker.ts +2 -21
- package/src/interactive/mutation-preview.ts +1 -1
- package/src/interactive/overlay-frame.ts +4 -12
- package/src/interactive/overlay-general-openers.ts +6 -2
- package/src/interactive/overlay-key-routing.ts +7 -7
- package/src/interactive/overlay-lifecycle.ts +1 -1
- package/src/interactive/overlay-model-selectors.ts +3 -3
- package/src/interactive/overlays/agents.ts +2 -2
- package/src/interactive/overlays/ask-user.ts +25 -11
- package/src/interactive/overlays/context-reset.ts +28 -4
- package/src/interactive/overlays/cwd-fallback.ts +28 -4
- package/src/interactive/overlays/decisions.ts +4 -2
- package/src/interactive/overlays/fleet-run-approval.ts +3 -3
- package/src/interactive/overlays/handoff-review.ts +2 -2
- package/src/interactive/overlays/interop.ts +1 -1
- package/src/interactive/overlays/library-install-confirm.ts +1 -1
- package/src/interactive/overlays/message-picker.ts +1 -1
- package/src/interactive/overlays/model-selector.ts +39 -31
- package/src/interactive/overlays/prompts.ts +10 -4
- package/src/interactive/overlays/session-selector.ts +2 -2
- package/src/interactive/overlays/settings.ts +339 -293
- package/src/interactive/overlays/side-question.ts +2 -2
- package/src/interactive/overlays/skills-hub.ts +8 -8
- package/src/interactive/overlays/tree-selector.ts +2 -2
- package/src/interactive/panes-runtime.ts +36 -10
- package/src/interactive/permission-overlay.ts +2 -2
- package/src/interactive/renderers/retry-status.ts +12 -4
- package/src/interactive/renderers/tool-execution.ts +4 -4
- package/src/interactive/session-transcript.ts +3 -3
- package/src/interactive/slash-autocomplete.ts +454 -165
- package/src/interactive/slash-commands.ts +279 -183
- package/src/interactive/slash-spec.ts +160 -17
- package/src/interactive/status/controller.ts +2 -2
- package/src/interactive/stream-pacing-policy.ts +1 -1
- package/src/interactive/tasks-overlay.ts +20 -13
- package/src/interactive/terminal-lease.ts +6 -7
- package/src/interactive/turn-context.ts +11 -11
- package/src/interactive/turn-persistence.ts +2 -2
- package/src/interactive/turn-prewarm.ts +2 -2
- package/src/interactive/turn-runtime.ts +8 -8
- package/src/interactive/turn-state.ts +1 -1
- package/src/interactive/view/artifacts.ts +12 -9
- package/src/interactive/view/view-overlay.ts +13 -10
- package/src/interactive/watch-pane.ts +38 -10
- package/src/interactive/welcome-dashboard.ts +15 -15
- package/src/interactive/worker-progress.ts +4 -4
- package/src/interactive/worker-receipts.ts +1 -1
- package/src/interactive/worker-stream.ts +1 -4
- package/src/interactive/yazi-bridge.ts +12 -5
- package/src/tools/ask-user.ts +3 -3
- package/src/tools/bash.ts +1 -1
- package/src/tools/builtin-tool-catalog.ts +1 -1
- package/src/tools/compete-worktrees.ts +27 -17
- package/src/tools/context/index.ts +15 -1
- package/src/tools/dispatch-admission.ts +4 -2
- package/src/tools/dispatch-arguments.ts +1 -1
- package/src/tools/dispatch-plan.ts +0 -11
- package/src/tools/dispatch-run-events.ts +12 -10
- package/src/tools/dispatch-runner.ts +11 -6
- package/src/tools/dispatch.ts +1 -1
- package/src/tools/find.ts +1 -6
- package/src/tools/monitor.ts +4 -4
- package/src/tools/observers.ts +0 -33
- package/src/tools/task-worktree.ts +28 -7
- package/src/tools/verify/authoring.ts +3 -6
- package/src/tools/verify/frontend.ts +1 -1
- package/src/tools/web-fetch.ts +1 -1
- package/src/worker/entry.ts +4 -3
- package/src/worker/protocol.ts +16 -14
- package/src/worker/spec-contract.ts +2 -2
- package/src/worker/stdin-demux.ts +2 -2
- package/dist/chunk-GXNLGKAB.js +0 -571
- package/dist/chunk-VFA6GDY5.js +0 -1625
- package/dist/doctor-QOA5FNY5.js +0 -313
- package/src/engine/apis/degraded-inference.ts +0 -95
- /package/skills/meta/{clio-test → clio-coder-test}/references/harness.md +0 -0
- /package/skills/meta/{clio-test → clio-coder-test}/references/test-map.md +0 -0
|
@@ -3,7 +3,7 @@ import {
|
|
|
3
3
|
PANES_PRESETS,
|
|
4
4
|
PANES_PRESET_IDS,
|
|
5
5
|
isPanesPresetId
|
|
6
|
-
} from "./chunk-
|
|
6
|
+
} from "./chunk-GIZNH63R.js";
|
|
7
7
|
import {
|
|
8
8
|
AdmissionCanceledError,
|
|
9
9
|
WORKER_OUTPUT_MAX_BYTES,
|
|
@@ -11,7 +11,7 @@ import {
|
|
|
11
11
|
} from "./chunk-T56WDKA5.js";
|
|
12
12
|
import {
|
|
13
13
|
parseSkillCommand
|
|
14
|
-
} from "./chunk-
|
|
14
|
+
} from "./chunk-HUAS7ITX.js";
|
|
15
15
|
import {
|
|
16
16
|
TOOL_PROFILE_NAMES,
|
|
17
17
|
isToolProfileName
|
|
@@ -25,16 +25,16 @@ import {
|
|
|
25
25
|
import {
|
|
26
26
|
parseCouncilReport,
|
|
27
27
|
parseOracleResult
|
|
28
|
-
} from "./chunk-
|
|
28
|
+
} from "./chunk-IG7BCQBA.js";
|
|
29
29
|
import {
|
|
30
30
|
resolveModelReference
|
|
31
|
-
} from "./chunk-
|
|
31
|
+
} from "./chunk-UEDMSP56.js";
|
|
32
32
|
import {
|
|
33
33
|
BusChannels
|
|
34
34
|
} from "./chunk-HLW2MRKE.js";
|
|
35
35
|
import {
|
|
36
36
|
THINKING_LEVELS
|
|
37
|
-
} from "./chunk-
|
|
37
|
+
} from "./chunk-BWW4HLO4.js";
|
|
38
38
|
import {
|
|
39
39
|
init_esm_shims
|
|
40
40
|
} from "./chunk-3R73A4XB.js";
|
|
@@ -178,24 +178,35 @@ function isLibraryTab(value) {
|
|
|
178
178
|
return LIBRARY_TABS.some((tab) => tab.id === value);
|
|
179
179
|
}
|
|
180
180
|
|
|
181
|
-
// src/interactive/overlays/settings-sections.ts
|
|
182
|
-
init_esm_shims();
|
|
183
|
-
var SETTINGS_SECTIONS = [
|
|
184
|
-
{ id: "safety", label: "Autonomy & Safety", group: "CORE" },
|
|
185
|
-
{ id: "orchestrator", label: "Orchestrator", group: "CORE" },
|
|
186
|
-
{ id: "fleet", label: "Fleet", group: "ROUTING" },
|
|
187
|
-
{ id: "targets", label: "Targets", group: "ROUTING" },
|
|
188
|
-
{ id: "models", label: "Models", group: "ROUTING" },
|
|
189
|
-
{ id: "budget", label: "Budget", group: "RUNTIME" },
|
|
190
|
-
{ id: "compaction", label: "Compaction", group: "RUNTIME" },
|
|
191
|
-
{ id: "retry", label: "Retry", group: "RUNTIME" },
|
|
192
|
-
{ id: "terminal", label: "Terminal", group: "EXPERIENCE" },
|
|
193
|
-
{ id: "watchdog", label: "Watchdog", group: "EXPERIENCE" },
|
|
194
|
-
{ id: "advanced", label: "Advanced", group: "EXPERIENCE" }
|
|
195
|
-
];
|
|
196
|
-
|
|
197
181
|
// src/interactive/slash-spec.ts
|
|
198
182
|
init_esm_shims();
|
|
183
|
+
var COMPLETION_SLOT_NAMES = [
|
|
184
|
+
"agents",
|
|
185
|
+
"agent-profiles",
|
|
186
|
+
"worker-runtimes",
|
|
187
|
+
"targets",
|
|
188
|
+
"models",
|
|
189
|
+
"capabilities",
|
|
190
|
+
"external-agents",
|
|
191
|
+
"rosters",
|
|
192
|
+
"shareable-runs",
|
|
193
|
+
"skills",
|
|
194
|
+
"fleet-contracts",
|
|
195
|
+
"fleet-vars",
|
|
196
|
+
"fleet-var-values",
|
|
197
|
+
"tasks",
|
|
198
|
+
"context-refs",
|
|
199
|
+
"receipts",
|
|
200
|
+
"pane-runs-agents",
|
|
201
|
+
"pane-presets",
|
|
202
|
+
"pane-targets",
|
|
203
|
+
"library-tabs",
|
|
204
|
+
"thinking-levels",
|
|
205
|
+
"settings-areas",
|
|
206
|
+
"settings-groups",
|
|
207
|
+
"help-queries",
|
|
208
|
+
"paths"
|
|
209
|
+
];
|
|
199
210
|
function getFlagValuePlaceholder(flag) {
|
|
200
211
|
if (flag.valueName) return flag.valueName;
|
|
201
212
|
if (flag.values && flag.values.length > 0) {
|
|
@@ -426,6 +437,54 @@ function parseArgs(spec, argsLine) {
|
|
|
426
437
|
...rest !== void 0 ? { rest } : {}
|
|
427
438
|
};
|
|
428
439
|
}
|
|
440
|
+
function completionTokens(text) {
|
|
441
|
+
const tokens = [];
|
|
442
|
+
let index = 0;
|
|
443
|
+
while (index < text.length) {
|
|
444
|
+
while (index < text.length && /\s/.test(text[index] ?? "")) index++;
|
|
445
|
+
if (index >= text.length) break;
|
|
446
|
+
const start = index;
|
|
447
|
+
let quote;
|
|
448
|
+
if (text[index] === '"' || text[index] === "'") {
|
|
449
|
+
quote = text[index];
|
|
450
|
+
index++;
|
|
451
|
+
}
|
|
452
|
+
const contentStart = index;
|
|
453
|
+
let value = "";
|
|
454
|
+
while (index < text.length) {
|
|
455
|
+
const char = text[index] ?? "";
|
|
456
|
+
if (quote) {
|
|
457
|
+
if (char === quote) break;
|
|
458
|
+
} else if (/\s/.test(char)) {
|
|
459
|
+
break;
|
|
460
|
+
} else if (char === '"' || char === "'") {
|
|
461
|
+
const embedded = char;
|
|
462
|
+
index++;
|
|
463
|
+
while (index < text.length && text[index] !== embedded) value += text[index++] ?? "";
|
|
464
|
+
if (text[index] === embedded) index++;
|
|
465
|
+
continue;
|
|
466
|
+
}
|
|
467
|
+
value += char;
|
|
468
|
+
index++;
|
|
469
|
+
}
|
|
470
|
+
const contentEnd = index;
|
|
471
|
+
if (quote && text[index] === quote) index++;
|
|
472
|
+
tokens.push({ value, start, end: index, contentStart, contentEnd, ...quote ? { quote } : {} });
|
|
473
|
+
}
|
|
474
|
+
return tokens;
|
|
475
|
+
}
|
|
476
|
+
function tokenAtCursor(text, cursor) {
|
|
477
|
+
const safeCursor = Math.max(0, Math.min(cursor, text.length));
|
|
478
|
+
const tokens = completionTokens(text);
|
|
479
|
+
const containing = tokens.find((token) => safeCursor >= token.start && safeCursor <= token.end);
|
|
480
|
+
if (containing) {
|
|
481
|
+
return { current: containing, completed: tokens.filter((token) => token.end <= containing.start) };
|
|
482
|
+
}
|
|
483
|
+
return {
|
|
484
|
+
current: { value: "", start: safeCursor, end: safeCursor, contentStart: safeCursor, contentEnd: safeCursor },
|
|
485
|
+
completed: tokens.filter((token) => token.end <= safeCursor)
|
|
486
|
+
};
|
|
487
|
+
}
|
|
429
488
|
function walkCompletedTokens(spec, tokens) {
|
|
430
489
|
const flagSpecs = spec.flags ?? [];
|
|
431
490
|
const positionalSpecs = spec.positionals ?? [];
|
|
@@ -453,28 +512,40 @@ function walkCompletedTokens(spec, tokens) {
|
|
|
453
512
|
}
|
|
454
513
|
function flagCompletions(spec, walk, current) {
|
|
455
514
|
const available = (spec.flags ?? []).filter((flag) => flag.repeatable === true || !walk.usedFlags.has(flag.name));
|
|
456
|
-
const
|
|
515
|
+
const lower = current.toLowerCase();
|
|
516
|
+
const rows = available.filter((flag) => flag.name.toLowerCase().startsWith(lower)).map((flag) => ({ flag, name: flag.name }));
|
|
457
517
|
return rows.map(({ flag, name }) => ({
|
|
458
518
|
token: name,
|
|
459
|
-
...flag.takesValue ? { hint: `<${getFlagValuePlaceholder(flag)}>` } : {}
|
|
519
|
+
...flag.takesValue ? { hint: `<${getFlagValuePlaceholder(flag)}>` } : {},
|
|
520
|
+
hasNextSlot: flag.takesValue === true
|
|
460
521
|
}));
|
|
461
522
|
}
|
|
462
|
-
function completeArgs(spec, argumentText) {
|
|
463
|
-
const
|
|
464
|
-
const
|
|
465
|
-
const
|
|
466
|
-
const
|
|
523
|
+
function completeArgs(spec, argumentText, cursor = argumentText.length) {
|
|
524
|
+
const { current: currentToken, completed: completedTokens } = tokenAtCursor(argumentText, cursor);
|
|
525
|
+
const current = currentToken.value.slice(0, Math.max(0, cursor - currentToken.contentStart));
|
|
526
|
+
const completed = completedTokens.map((token) => token.value);
|
|
527
|
+
const range = {
|
|
528
|
+
tokenStart: currentToken.contentStart,
|
|
529
|
+
tokenEnd: currentToken.contentEnd,
|
|
530
|
+
...currentToken.quote ? { quote: currentToken.quote } : {}
|
|
531
|
+
};
|
|
467
532
|
const completions = [];
|
|
468
533
|
let active = spec;
|
|
469
534
|
let walkTokens = completed;
|
|
535
|
+
let submenu;
|
|
470
536
|
if (spec.subcommands) {
|
|
471
537
|
const first = completed[0];
|
|
472
538
|
if (first === void 0) {
|
|
473
539
|
for (const [name, subSpec] of Object.entries(spec.subcommands)) {
|
|
474
|
-
if (!name.startsWith(current)) continue;
|
|
540
|
+
if (!name.toLowerCase().startsWith(current.toLowerCase())) continue;
|
|
475
541
|
const hint = renderArgsSpec(subSpec);
|
|
476
|
-
completions.push({
|
|
542
|
+
completions.push({
|
|
543
|
+
token: name,
|
|
544
|
+
...hint.length > 0 ? { hint } : {},
|
|
545
|
+
hasNextSlot: hint.length > 0
|
|
546
|
+
});
|
|
477
547
|
}
|
|
548
|
+
submenu = { parent: "", canGoBack: true };
|
|
478
549
|
} else if (spec.subcommands[first]) {
|
|
479
550
|
active = spec.subcommands[first];
|
|
480
551
|
walkTokens = completed.slice(1);
|
|
@@ -482,20 +553,36 @@ function completeArgs(spec, argumentText) {
|
|
|
482
553
|
}
|
|
483
554
|
const walk = walkCompletedTokens(active, walkTokens);
|
|
484
555
|
if (walk.restBegun) {
|
|
485
|
-
return completions.length > 0 ? { completions,
|
|
556
|
+
return completions.length > 0 ? { completions, ...range, ...submenu ? { submenu } : {} } : null;
|
|
486
557
|
}
|
|
487
558
|
if (walk.awaitingValue) {
|
|
488
559
|
for (const value of walk.awaitingValue.values ?? []) {
|
|
489
|
-
if (value.startsWith(current)) completions.push({ token: value });
|
|
560
|
+
if (value.toLowerCase().startsWith(current.toLowerCase())) completions.push({ token: value, hasNextSlot: true });
|
|
561
|
+
}
|
|
562
|
+
if (walk.awaitingValue.completionSlot) {
|
|
563
|
+
completions.push({ token: current, completionSlot: walk.awaitingValue.completionSlot, hasNextSlot: true });
|
|
490
564
|
}
|
|
491
|
-
return completions.length > 0 ? { completions,
|
|
565
|
+
return completions.length > 0 ? { completions, ...range, ...submenu ? { submenu } : {} } : null;
|
|
492
566
|
}
|
|
493
567
|
const atRest = (active.positionals ?? [])[walk.positionalIndex]?.rest === true;
|
|
568
|
+
const positional = (active.positionals ?? [])[walk.positionalIndex];
|
|
569
|
+
for (const value of positional?.values ?? []) {
|
|
570
|
+
if (value.toLowerCase().startsWith(current.toLowerCase())) {
|
|
571
|
+
completions.push({ token: value, hasNextSlot: walk.positionalIndex + 1 < (active.positionals?.length ?? 0) });
|
|
572
|
+
}
|
|
573
|
+
}
|
|
574
|
+
if (positional?.completionSlot && !current.startsWith("-")) {
|
|
575
|
+
completions.push({
|
|
576
|
+
token: current,
|
|
577
|
+
completionSlot: positional.completionSlot,
|
|
578
|
+
hasNextSlot: walk.positionalIndex + 1 < (active.positionals?.length ?? 0)
|
|
579
|
+
});
|
|
580
|
+
}
|
|
494
581
|
const flagsParseable = !atRest || active.parseFlagsBeforeRest === true;
|
|
495
582
|
if (flagsParseable && (current.length === 0 || current.startsWith("-"))) {
|
|
496
583
|
completions.push(...flagCompletions(active, walk, current));
|
|
497
584
|
}
|
|
498
|
-
return completions.length > 0 ? { completions,
|
|
585
|
+
return completions.length > 0 ? { completions, ...range, ...submenu ? { submenu } : {} } : null;
|
|
499
586
|
}
|
|
500
587
|
function matchFromSpec(entry, trimmed) {
|
|
501
588
|
const matchedPrefix = `/${entry.name}`;
|
|
@@ -547,7 +634,7 @@ function isThinkingEvent(event) {
|
|
|
547
634
|
return assistantEvent?.type === "thinking_delta";
|
|
548
635
|
}
|
|
549
636
|
function toolEventAction(event) {
|
|
550
|
-
if (event.type !== "
|
|
637
|
+
if (event.type !== "clio_coder_tool_start" && event.type !== "clio_coder_tool_finish") return null;
|
|
551
638
|
const payload = isRecord(event.payload) ? event.payload : null;
|
|
552
639
|
const tool = nonEmptyString(payload?.tool);
|
|
553
640
|
if (tool === void 0) return null;
|
|
@@ -708,7 +795,7 @@ function createWorkerProgressFold() {
|
|
|
708
795
|
betweenAssistantMessages = true;
|
|
709
796
|
}
|
|
710
797
|
const action = toolEventAction(event);
|
|
711
|
-
if (action !== null && event.type === "
|
|
798
|
+
if (action !== null && event.type === "clio_coder_tool_start") {
|
|
712
799
|
if (action.toolCallId !== void 0) {
|
|
713
800
|
const duplicate = pendingActionsById.get(action.toolCallId);
|
|
714
801
|
if (duplicate !== void 0) removePendingAction(duplicate);
|
|
@@ -720,7 +807,7 @@ function createWorkerProgressFold() {
|
|
|
720
807
|
touch();
|
|
721
808
|
setPhase("tool");
|
|
722
809
|
changed = true;
|
|
723
|
-
} else if (action !== null && event.type === "
|
|
810
|
+
} else if (action !== null && event.type === "clio_coder_tool_finish") {
|
|
724
811
|
const finished = (action.toolCallId !== void 0 ? pendingActionsById.get(action.toolCallId) : void 0) ?? lastPendingActionForTool(action.tool) ?? action;
|
|
725
812
|
removePendingAction(finished);
|
|
726
813
|
currentAction = pendingActions[pendingActions.length - 1] ?? null;
|
|
@@ -1032,6 +1119,15 @@ function selectWorkerRunToShare(entries, id) {
|
|
|
1032
1119
|
}
|
|
1033
1120
|
|
|
1034
1121
|
// src/interactive/slash-commands.ts
|
|
1122
|
+
var SETTINGS_AREA_IDS = [
|
|
1123
|
+
"chat",
|
|
1124
|
+
"fleet",
|
|
1125
|
+
"targets",
|
|
1126
|
+
"context",
|
|
1127
|
+
"safety",
|
|
1128
|
+
"interface",
|
|
1129
|
+
"integrations"
|
|
1130
|
+
];
|
|
1035
1131
|
function shareReceipt(agentId, receipt, deps) {
|
|
1036
1132
|
if (!deps.submitOperatorNote) {
|
|
1037
1133
|
deps.notice("error", "--share is not wired in this session; the result stayed local");
|
|
@@ -1247,13 +1343,13 @@ function formatUserTaskHandoff(task) {
|
|
|
1247
1343
|
const note = task.note ? ` ${task.note}.` : "";
|
|
1248
1344
|
return `Operator task ${task.id}: ${task.title}.${note} Pick it up with tasks action="pick" id="${task.id}" and work it when appropriate.`;
|
|
1249
1345
|
}
|
|
1250
|
-
var SLASH_COMMAND_GROUPS = ["
|
|
1346
|
+
var SLASH_COMMAND_GROUPS = ["Work", "Inspect", "Configure", "Session"];
|
|
1251
1347
|
var RUN_THINKING_LEVELS = THINKING_LEVELS;
|
|
1252
1348
|
function isRunThinkingLevel(value) {
|
|
1253
1349
|
return RUN_THINKING_LEVELS.some((level) => level === value);
|
|
1254
1350
|
}
|
|
1255
|
-
function
|
|
1256
|
-
return
|
|
1351
|
+
function isSettingsAreaId(value) {
|
|
1352
|
+
return SETTINGS_AREA_IDS.some((area) => area === value);
|
|
1257
1353
|
}
|
|
1258
1354
|
var COMPACT_POSITIONALS = [
|
|
1259
1355
|
{ name: "instructions", required: false, rest: true }
|
|
@@ -1262,17 +1358,6 @@ var RECALL_POSITIONALS = [{ name: "ref", required: true }];
|
|
|
1262
1358
|
function fromArgsOrUsage(name, command) {
|
|
1263
1359
|
return (parsed) => parsed.error ? { kind: "usage-error", command: name, reason: parsed.error } : command;
|
|
1264
1360
|
}
|
|
1265
|
-
function settingsDeepLink(name, section, description, rowId) {
|
|
1266
|
-
return {
|
|
1267
|
-
name,
|
|
1268
|
-
description,
|
|
1269
|
-
group: "Configure",
|
|
1270
|
-
kinds: [],
|
|
1271
|
-
args: {},
|
|
1272
|
-
fromArgs: fromArgsOrUsage(name, { kind: "settings", section, ...rowId ? { rowId } : {} }),
|
|
1273
|
-
handle: () => void 0
|
|
1274
|
-
};
|
|
1275
|
-
}
|
|
1276
1361
|
function usageNotice(entry, subcommand) {
|
|
1277
1362
|
return usageLine(entry, subcommand).trim();
|
|
1278
1363
|
}
|
|
@@ -1282,10 +1367,15 @@ function formatPanesStatus(status) {
|
|
|
1282
1367
|
`panes: mode=${status.mode} ${status.available ? "available" : "unavailable"} (${server})`,
|
|
1283
1368
|
` ${status.reason}`,
|
|
1284
1369
|
...status.socketPath ? [` socket ${status.socketPath}`] : [],
|
|
1285
|
-
` settings: enabled=${status.settings.enabled} notifications=${status.settings.notifications} journal=${status.settings.journal}`,
|
|
1370
|
+
` settings: enabled=${status.settings.enabled} notifications=${status.settings.notifications} layout=${status.settings.layout} journal=${status.settings.journal}`,
|
|
1286
1371
|
` files: enabled=${status.settings.yazi.enabled} mode=${status.settings.yazi.mode} profile=${status.settings.yazi.profile} followCwd=${status.settings.yazi.followCwd}`,
|
|
1287
1372
|
` file pane: mode=${status.yazi.mode} pane=${status.yazi.paneId ?? "none"} cwd=${status.yazi.paneCwd ?? "unknown"} lastLine=${status.yazi.lastLineAt === null ? "never" : new Date(status.yazi.lastLineAt).toISOString()} dropped=${status.yazi.droppedLines}`
|
|
1288
1373
|
];
|
|
1374
|
+
if (status.docks.length > 0) {
|
|
1375
|
+
lines.push(
|
|
1376
|
+
` docks: ${status.docks.map((dock) => `${dock.slot}=${dock.paneId} @${(dock.targetShare * 100).toFixed(0)}%`).join(", ")}`
|
|
1377
|
+
);
|
|
1378
|
+
}
|
|
1289
1379
|
if (status.panes.length === 0) {
|
|
1290
1380
|
lines.push(" no Clio-owned panes");
|
|
1291
1381
|
} else {
|
|
@@ -1303,7 +1393,7 @@ var BUILTIN_SLASH_COMMANDS = [
|
|
|
1303
1393
|
{
|
|
1304
1394
|
name: "quit",
|
|
1305
1395
|
description: "Exit Clio Coder",
|
|
1306
|
-
group: "
|
|
1396
|
+
group: "Session",
|
|
1307
1397
|
kinds: ["quit"],
|
|
1308
1398
|
args: {},
|
|
1309
1399
|
fromArgs: fromArgsOrUsage("quit", { kind: "quit" }),
|
|
@@ -1329,7 +1419,7 @@ var BUILTIN_SLASH_COMMANDS = [
|
|
|
1329
1419
|
{
|
|
1330
1420
|
name: "skill",
|
|
1331
1421
|
description: "Open the Skills Hub or invoke a skill",
|
|
1332
|
-
group: "
|
|
1422
|
+
group: "Work",
|
|
1333
1423
|
kinds: ["skill-selector", "skill-invocation"],
|
|
1334
1424
|
args: {
|
|
1335
1425
|
positionals: [
|
|
@@ -1356,65 +1446,74 @@ var BUILTIN_SLASH_COMMANDS = [
|
|
|
1356
1446
|
}
|
|
1357
1447
|
},
|
|
1358
1448
|
{
|
|
1359
|
-
name: "
|
|
1360
|
-
description: "
|
|
1361
|
-
group: "
|
|
1362
|
-
kinds: ["
|
|
1363
|
-
|
|
1449
|
+
name: "resources",
|
|
1450
|
+
description: "Browse skills, prompts, libraries, and extensions",
|
|
1451
|
+
group: "Inspect",
|
|
1452
|
+
kinds: ["resources"],
|
|
1453
|
+
subcommandDescriptions: {
|
|
1454
|
+
skills: "Browse installed skills",
|
|
1455
|
+
prompts: "Browse prompt templates",
|
|
1456
|
+
library: "Browse resource libraries",
|
|
1457
|
+
extensions: "Browse installed extensions"
|
|
1458
|
+
},
|
|
1459
|
+
args: {
|
|
1460
|
+
subcommands: {
|
|
1461
|
+
skills: {},
|
|
1462
|
+
prompts: {},
|
|
1463
|
+
library: { positionals: [{ name: "kind", required: false }] },
|
|
1464
|
+
extensions: {}
|
|
1465
|
+
}
|
|
1466
|
+
},
|
|
1364
1467
|
fromArgs(parsed) {
|
|
1365
|
-
if (parsed.error) return { kind: "usage-error", command: "
|
|
1468
|
+
if (parsed.error) return { kind: "usage-error", command: "resources", reason: parsed.error };
|
|
1469
|
+
if (parsed.subcommand === void 0 || parsed.subcommand === "skills")
|
|
1470
|
+
return { kind: "resources", family: "skills" };
|
|
1471
|
+
if (parsed.subcommand === "prompts" || parsed.subcommand === "extensions")
|
|
1472
|
+
return { kind: "resources", family: parsed.subcommand };
|
|
1366
1473
|
const tab = parsed.positionals[0];
|
|
1367
|
-
if (tab === void 0) return { kind: "
|
|
1474
|
+
if (tab === void 0) return { kind: "resources" };
|
|
1368
1475
|
if (!isLibraryTab(tab)) {
|
|
1369
1476
|
const known = LIBRARY_TABS.map((entry) => entry.id).join(", ");
|
|
1370
|
-
return { kind: "usage-error", command: "
|
|
1477
|
+
return { kind: "usage-error", command: "resources", reason: `Unknown kind: ${tab} (one of ${known})` };
|
|
1371
1478
|
}
|
|
1372
|
-
return { kind: "
|
|
1479
|
+
return { kind: "resources", tab };
|
|
1373
1480
|
},
|
|
1374
1481
|
handle(command, ctx) {
|
|
1375
|
-
if (command.kind
|
|
1376
|
-
|
|
1377
|
-
|
|
1378
|
-
|
|
1379
|
-
name: "prompts",
|
|
1380
|
-
description: "List prompt templates",
|
|
1381
|
-
group: "Inspect",
|
|
1382
|
-
kinds: ["prompts"],
|
|
1383
|
-
args: {},
|
|
1384
|
-
fromArgs: fromArgsOrUsage("prompts", { kind: "prompts" }),
|
|
1385
|
-
handle(_command, ctx) {
|
|
1386
|
-
ctx.openPrompts();
|
|
1387
|
-
}
|
|
1388
|
-
},
|
|
1389
|
-
{
|
|
1390
|
-
name: "extensions",
|
|
1391
|
-
description: "List installed extensions",
|
|
1392
|
-
group: "Inspect",
|
|
1393
|
-
kinds: ["extensions"],
|
|
1394
|
-
args: {},
|
|
1395
|
-
fromArgs: fromArgsOrUsage("extensions", { kind: "extensions" }),
|
|
1396
|
-
handle(_command, ctx) {
|
|
1397
|
-
ctx.openExtensions?.();
|
|
1482
|
+
if (command.kind !== "resources") return;
|
|
1483
|
+
if (command.family === "prompts") ctx.openPrompts();
|
|
1484
|
+
else if (command.family === "extensions") ctx.openExtensions();
|
|
1485
|
+
else ctx.openSkillsHub?.(command.tab);
|
|
1398
1486
|
}
|
|
1399
1487
|
},
|
|
1400
1488
|
{
|
|
1401
|
-
name: "
|
|
1402
|
-
description: "
|
|
1403
|
-
group: "
|
|
1404
|
-
kinds: ["
|
|
1405
|
-
args: {},
|
|
1406
|
-
fromArgs
|
|
1407
|
-
|
|
1408
|
-
|
|
1489
|
+
name: "share",
|
|
1490
|
+
description: "Share a worker result with the main agent",
|
|
1491
|
+
group: "Work",
|
|
1492
|
+
kinds: ["share"],
|
|
1493
|
+
args: { positionals: [{ name: "run-id", required: false }] },
|
|
1494
|
+
fromArgs(parsed) {
|
|
1495
|
+
const retiredArchiveVerb = parsed.positionals[0];
|
|
1496
|
+
if (retiredArchiveVerb === "export" || retiredArchiveVerb === "import") {
|
|
1497
|
+
return {
|
|
1498
|
+
kind: "usage-error",
|
|
1499
|
+
command: "share",
|
|
1500
|
+
reason: `/share ${retiredArchiveVerb} is retired and did not run; use /archive ${retiredArchiveVerb}`
|
|
1501
|
+
};
|
|
1502
|
+
}
|
|
1503
|
+
if (parsed.error) return { kind: "usage-error", command: "share", reason: parsed.error };
|
|
1504
|
+
return { kind: "share", ...parsed.positionals[0] ? { runId: parsed.positionals[0] } : {} };
|
|
1505
|
+
},
|
|
1506
|
+
handle(command, ctx) {
|
|
1507
|
+
if (command.kind === "share") shareWorkerRun(command.runId, ctx);
|
|
1409
1508
|
}
|
|
1410
1509
|
},
|
|
1411
1510
|
{
|
|
1412
|
-
name: "
|
|
1413
|
-
description: "
|
|
1414
|
-
group: "
|
|
1415
|
-
kinds: ["
|
|
1511
|
+
name: "archive",
|
|
1512
|
+
description: "Export or import a full Clio archive",
|
|
1513
|
+
group: "Session",
|
|
1514
|
+
kinds: ["archive-export", "archive-import", "archive-usage"],
|
|
1515
|
+
subcommandDescriptions: { export: "Export a full Clio archive", import: "Import a full Clio archive" },
|
|
1416
1516
|
args: {
|
|
1417
|
-
positionals: [{ name: "runId", required: false }],
|
|
1418
1517
|
subcommands: {
|
|
1419
1518
|
export: {
|
|
1420
1519
|
positionals: [{ name: "path", required: true }]
|
|
@@ -1429,54 +1528,44 @@ var BUILTIN_SLASH_COMMANDS = [
|
|
|
1429
1528
|
const subcommand = parsed.subcommand === "export" || parsed.subcommand === "import" ? parsed.subcommand : void 0;
|
|
1430
1529
|
if (parsed.error) {
|
|
1431
1530
|
return {
|
|
1432
|
-
kind: "
|
|
1433
|
-
action: "usage",
|
|
1531
|
+
kind: "archive-usage",
|
|
1434
1532
|
...subcommand !== void 0 ? { subcommand } : {},
|
|
1435
1533
|
error: parsed.error
|
|
1436
1534
|
};
|
|
1437
1535
|
}
|
|
1438
1536
|
const path = parsed.positionals[0];
|
|
1439
|
-
if (subcommand === "export" && path !== void 0) return { kind: "
|
|
1537
|
+
if (subcommand === "export" && path !== void 0) return { kind: "archive-export", path };
|
|
1440
1538
|
if (subcommand === "import" && path !== void 0) {
|
|
1441
1539
|
return {
|
|
1442
|
-
kind: "
|
|
1443
|
-
action: "import",
|
|
1540
|
+
kind: "archive-import",
|
|
1444
1541
|
path,
|
|
1445
1542
|
dryRun: parsed.flags.has("--dry-run"),
|
|
1446
1543
|
force: parsed.flags.has("--force")
|
|
1447
1544
|
};
|
|
1448
1545
|
}
|
|
1449
|
-
|
|
1450
|
-
return { kind: "share", action: "worker-run", ...path !== void 0 ? { runId: path } : {} };
|
|
1451
|
-
}
|
|
1452
|
-
return { kind: "share", action: "usage", ...subcommand !== void 0 ? { subcommand } : {} };
|
|
1546
|
+
return { kind: "archive-usage", ...subcommand !== void 0 ? { subcommand } : {} };
|
|
1453
1547
|
},
|
|
1454
1548
|
handle(command, ctx) {
|
|
1455
|
-
if (command.kind
|
|
1456
|
-
|
|
1457
|
-
shareWorkerRun(command.runId, ctx);
|
|
1458
|
-
return;
|
|
1459
|
-
}
|
|
1460
|
-
if (command.action === "usage") {
|
|
1461
|
-
const entry = BUILTIN_SLASH_COMMANDS.find((candidate) => candidate.name === "share");
|
|
1549
|
+
if (command.kind === "archive-usage") {
|
|
1550
|
+
const entry = BUILTIN_SLASH_COMMANDS.find((candidate) => candidate.name === "archive");
|
|
1462
1551
|
if (!entry) return;
|
|
1463
1552
|
const usage = usageNotice(entry, command.subcommand);
|
|
1464
1553
|
ctx.notice("info", command.error ? `${command.error}
|
|
1465
1554
|
${usage}` : usage);
|
|
1466
1555
|
return;
|
|
1467
1556
|
}
|
|
1468
|
-
if (command.
|
|
1557
|
+
if (command.kind === "archive-export") {
|
|
1469
1558
|
if (!ctx.exportShareArchive) {
|
|
1470
|
-
ctx.notice("error", "
|
|
1559
|
+
ctx.notice("error", "archive export is not wired");
|
|
1471
1560
|
return;
|
|
1472
1561
|
}
|
|
1473
1562
|
const result = ctx.exportShareArchive(command.path);
|
|
1474
1563
|
ctx.notice("success", `exported ${result.fileCount} item(s) to ${result.path}`);
|
|
1475
1564
|
return;
|
|
1476
1565
|
}
|
|
1477
|
-
if (command.
|
|
1566
|
+
if (command.kind === "archive-import") {
|
|
1478
1567
|
if (!ctx.importShareArchive) {
|
|
1479
|
-
ctx.notice("error", "
|
|
1568
|
+
ctx.notice("error", "archive import is not wired");
|
|
1480
1569
|
return;
|
|
1481
1570
|
}
|
|
1482
1571
|
const plan = ctx.importShareArchive(command.path, { dryRun: command.dryRun, force: command.force });
|
|
@@ -1497,7 +1586,7 @@ ${usage}` : usage);
|
|
|
1497
1586
|
{
|
|
1498
1587
|
name: "run",
|
|
1499
1588
|
description: "Run a fleet agent",
|
|
1500
|
-
group: "
|
|
1589
|
+
group: "Work",
|
|
1501
1590
|
kinds: ["run", "run-usage"],
|
|
1502
1591
|
args: {
|
|
1503
1592
|
parseFlagsBeforeRest: true,
|
|
@@ -1578,7 +1667,7 @@ ${usage}` : usage);
|
|
|
1578
1667
|
{
|
|
1579
1668
|
name: "delegate",
|
|
1580
1669
|
description: "Run an ACP delegation agent",
|
|
1581
|
-
group: "
|
|
1670
|
+
group: "Work",
|
|
1582
1671
|
kinds: ["delegate", "delegate-usage"],
|
|
1583
1672
|
args: {
|
|
1584
1673
|
parseFlagsBeforeRest: true,
|
|
@@ -1625,7 +1714,7 @@ ${usage}` : usage);
|
|
|
1625
1714
|
{
|
|
1626
1715
|
name: "btw",
|
|
1627
1716
|
description: "Ask a side question that never enters the session transcript",
|
|
1628
|
-
group: "
|
|
1717
|
+
group: "Work",
|
|
1629
1718
|
kinds: ["btw", "btw-usage"],
|
|
1630
1719
|
args: {
|
|
1631
1720
|
positionals: [{ name: "question", required: true, rest: true }]
|
|
@@ -1648,7 +1737,7 @@ ${usage}` : usage);
|
|
|
1648
1737
|
{
|
|
1649
1738
|
name: "oracle",
|
|
1650
1739
|
description: "Ask a read-only advisor to challenge a question against this session's settled decisions",
|
|
1651
|
-
group: "
|
|
1740
|
+
group: "Work",
|
|
1652
1741
|
kinds: ["oracle", "oracle-usage"],
|
|
1653
1742
|
args: {
|
|
1654
1743
|
positionals: [{ name: "question", required: true, rest: true }]
|
|
@@ -1674,7 +1763,7 @@ ${usage}` : usage);
|
|
|
1674
1763
|
{
|
|
1675
1764
|
name: "council",
|
|
1676
1765
|
description: "Ask a roster of read-only members the same task, with an optional vote or judge synthesis",
|
|
1677
|
-
group: "
|
|
1766
|
+
group: "Work",
|
|
1678
1767
|
kinds: ["council", "council-usage"],
|
|
1679
1768
|
args: {
|
|
1680
1769
|
parseFlagsBeforeRest: true,
|
|
@@ -1724,16 +1813,24 @@ ${usage}` : usage);
|
|
|
1724
1813
|
},
|
|
1725
1814
|
{
|
|
1726
1815
|
name: "agents",
|
|
1727
|
-
description: "List
|
|
1816
|
+
description: "List agents or connect a detected external agent",
|
|
1728
1817
|
group: "Inspect",
|
|
1729
1818
|
kinds: ["agents"],
|
|
1730
|
-
|
|
1731
|
-
|
|
1732
|
-
|
|
1733
|
-
|
|
1819
|
+
subcommandDescriptions: {
|
|
1820
|
+
list: "List native and external agents",
|
|
1821
|
+
connect: "Review detected external-agent proposals"
|
|
1822
|
+
},
|
|
1823
|
+
args: { subcommands: { list: {}, connect: {} } },
|
|
1824
|
+
fromArgs(parsed) {
|
|
1825
|
+
if (parsed.error) return { kind: "usage-error", command: "agents", reason: parsed.error };
|
|
1826
|
+
return { kind: "agents", ...parsed.subcommand === "connect" ? { connect: true } : {} };
|
|
1827
|
+
},
|
|
1828
|
+
handle(command, ctx) {
|
|
1829
|
+
if (command.kind !== "agents") return;
|
|
1830
|
+
if (command.connect) ctx.openInterop?.();
|
|
1831
|
+
else ctx.openAgents();
|
|
1734
1832
|
}
|
|
1735
1833
|
},
|
|
1736
|
-
settingsDeepLink("targets", "targets", "Open Settings \u2192 Targets: health, use, connect, probe, remove"),
|
|
1737
1834
|
{
|
|
1738
1835
|
name: "cost",
|
|
1739
1836
|
description: "Show session token and cost totals",
|
|
@@ -1818,9 +1915,9 @@ ${usage}` : usage);
|
|
|
1818
1915
|
},
|
|
1819
1916
|
{
|
|
1820
1917
|
name: "fleet",
|
|
1821
|
-
description: "Open
|
|
1822
|
-
group: "
|
|
1823
|
-
kinds: ["fleet-run", "fleet-run-usage"],
|
|
1918
|
+
description: "Open Fleet Runs or run a fleet contract with an approval preview",
|
|
1919
|
+
group: "Work",
|
|
1920
|
+
kinds: ["fleet", "fleet-run", "fleet-run-usage"],
|
|
1824
1921
|
subcommandDescriptions: { run: "Preview and run a repo-owned fleet contract" },
|
|
1825
1922
|
args: {
|
|
1826
1923
|
subcommands: {
|
|
@@ -1830,15 +1927,9 @@ ${usage}` : usage);
|
|
|
1830
1927
|
}
|
|
1831
1928
|
}
|
|
1832
1929
|
},
|
|
1833
|
-
/**
|
|
1834
|
-
* `/fleet` alone keeps the settings deep link it has always been, and
|
|
1835
|
-
* only `run` parses as a command of its own, so an operator who types
|
|
1836
|
-
* `/fleet` out of habit still lands in Settings → Fleet. Anything else
|
|
1837
|
-
* on the line stays the usage error every other deep link reports.
|
|
1838
|
-
*/
|
|
1839
1930
|
fromArgs(parsed) {
|
|
1840
1931
|
if (parsed.subcommand !== "run") {
|
|
1841
|
-
return parsed.error ? { kind: "usage-error", command: "fleet", reason: parsed.error } : { kind: "
|
|
1932
|
+
return parsed.error ? { kind: "usage-error", command: "fleet", reason: parsed.error } : { kind: "fleet" };
|
|
1842
1933
|
}
|
|
1843
1934
|
if (parsed.error) return { kind: "fleet-run-usage", reason: parsed.error };
|
|
1844
1935
|
const name = parsed.positionals[0] ?? "";
|
|
@@ -1853,6 +1944,11 @@ ${usage}` : usage);
|
|
|
1853
1944
|
return { kind: "fleet-run", name, vars };
|
|
1854
1945
|
},
|
|
1855
1946
|
handle(command, ctx) {
|
|
1947
|
+
if (command.kind === "fleet") {
|
|
1948
|
+
if (ctx.openFleetRuns) ctx.openFleetRuns();
|
|
1949
|
+
else ctx.notice("error", "Fleet Runs is not wired in this session");
|
|
1950
|
+
return;
|
|
1951
|
+
}
|
|
1856
1952
|
if (command.kind === "fleet-run-usage") {
|
|
1857
1953
|
const entry = BUILTIN_SLASH_COMMANDS.find((candidate) => candidate.name === "fleet");
|
|
1858
1954
|
const usage = entry ? usageNotice(entry, "run") : "usage: /fleet run <name> [--var key=value ...]";
|
|
@@ -2036,19 +2132,21 @@ ${usage}` : usage);
|
|
|
2036
2132
|
name: "panes",
|
|
2037
2133
|
description: "Inspect the pane layer, watch a live run in a pane, or open a utility pane",
|
|
2038
2134
|
group: "Inspect",
|
|
2039
|
-
kinds: ["panes", "panes-show", "panes-open", "panes-close", "panes-usage"],
|
|
2135
|
+
kinds: ["panes", "panes-show", "panes-open", "panes-zoom", "panes-close", "panes-usage"],
|
|
2040
2136
|
args: {
|
|
2041
2137
|
subcommands: {
|
|
2042
2138
|
show: { positionals: [{ name: "run-or-agent", required: true }] },
|
|
2043
2139
|
// A rest positional, so an argv pane keeps its own flags: the parser
|
|
2044
2140
|
// would otherwise refuse `--follow` as an unknown flag of `/panes`.
|
|
2045
2141
|
open: { positionals: [{ name: "preset-or-argv", required: true, rest: true }] },
|
|
2142
|
+
zoom: { positionals: [{ name: "target", required: false }] },
|
|
2046
2143
|
close: { positionals: [{ name: "target", required: false }] }
|
|
2047
2144
|
}
|
|
2048
2145
|
},
|
|
2049
2146
|
subcommandDescriptions: {
|
|
2050
2147
|
show: "watch a live run or agent in the watch pane",
|
|
2051
2148
|
open: `open a utility pane (${PANES_PRESET_IDS.join(", ")}, or a command)`,
|
|
2149
|
+
zoom: "toggle zoom on a Clio-owned pane (default: the watch pane)",
|
|
2052
2150
|
close: "close a Clio-owned pane, or all of them"
|
|
2053
2151
|
},
|
|
2054
2152
|
fromArgs(parsed) {
|
|
@@ -2067,6 +2165,9 @@ ${usage}` : usage);
|
|
|
2067
2165
|
}
|
|
2068
2166
|
return { kind: "panes-open", argv };
|
|
2069
2167
|
}
|
|
2168
|
+
if (parsed.subcommand === "zoom") {
|
|
2169
|
+
return { kind: "panes-zoom", target: parsed.positionals[0] ?? "" };
|
|
2170
|
+
}
|
|
2070
2171
|
if (parsed.subcommand === "close") {
|
|
2071
2172
|
return { kind: "panes-close", target: parsed.positionals[0] ?? "all" };
|
|
2072
2173
|
}
|
|
@@ -2132,6 +2233,19 @@ ${usageNotice(entry)}` : usageNotice(entry));
|
|
|
2132
2233
|
});
|
|
2133
2234
|
return;
|
|
2134
2235
|
}
|
|
2236
|
+
if (command.kind === "panes-zoom") {
|
|
2237
|
+
runLocal(async () => {
|
|
2238
|
+
const result = await panes.zoom(command.target);
|
|
2239
|
+
if (result.status === "zoomed") {
|
|
2240
|
+
ctx.notice("success", `toggled zoom on ${result.label} (${result.paneId})`);
|
|
2241
|
+
} else if (result.status === "not-found") {
|
|
2242
|
+
ctx.notice("warn", `no Clio-owned pane matches ${result.target}`);
|
|
2243
|
+
} else {
|
|
2244
|
+
ctx.notice("warn", result.reason);
|
|
2245
|
+
}
|
|
2246
|
+
});
|
|
2247
|
+
return;
|
|
2248
|
+
}
|
|
2135
2249
|
if (command.kind !== "panes-close") return;
|
|
2136
2250
|
runLocal(async () => {
|
|
2137
2251
|
const result = await panes.close(command.target);
|
|
@@ -2148,16 +2262,21 @@ ${usageNotice(entry)}` : usageNotice(entry));
|
|
|
2148
2262
|
},
|
|
2149
2263
|
{
|
|
2150
2264
|
name: "thinking",
|
|
2151
|
-
description: "Set the chat thinking level
|
|
2265
|
+
description: "Set the chat thinking level",
|
|
2152
2266
|
group: "Configure",
|
|
2153
|
-
kinds: ["thinking-set"],
|
|
2267
|
+
kinds: ["thinking-set", "thinking-picker"],
|
|
2154
2268
|
args: { positionals: [{ name: "level", required: false }] },
|
|
2155
2269
|
fromArgs(parsed) {
|
|
2156
2270
|
if (parsed.error) return { kind: "usage-error", command: "thinking", reason: parsed.error };
|
|
2157
2271
|
const level = parsed.positionals[0];
|
|
2158
|
-
return level ? { kind: "thinking-set", level } : { kind: "
|
|
2272
|
+
return level ? { kind: "thinking-set", level } : { kind: "thinking-picker" };
|
|
2159
2273
|
},
|
|
2160
2274
|
handle(command, ctx) {
|
|
2275
|
+
if (command.kind === "thinking-picker") {
|
|
2276
|
+
if (ctx.openThinkingPicker) ctx.openThinkingPicker();
|
|
2277
|
+
else ctx.notice("error", "thinking picker is not wired in this session");
|
|
2278
|
+
return;
|
|
2279
|
+
}
|
|
2161
2280
|
if (command.kind !== "thinking-set") return;
|
|
2162
2281
|
const result = ctx.setThinkingLevel?.(command.level) ?? { status: "unavailable" };
|
|
2163
2282
|
if (result.status === "applied") {
|
|
@@ -2172,16 +2291,21 @@ ${usageNotice(entry)}` : usageNotice(entry));
|
|
|
2172
2291
|
},
|
|
2173
2292
|
{
|
|
2174
2293
|
name: "output",
|
|
2175
|
-
description: "Set transcript detail
|
|
2294
|
+
description: "Set transcript detail to minimal, default, or verbose",
|
|
2176
2295
|
group: "Configure",
|
|
2177
|
-
kinds: ["output-set"],
|
|
2296
|
+
kinds: ["output-set", "output-picker"],
|
|
2178
2297
|
args: { positionals: [{ name: "verbosity", required: false }] },
|
|
2179
2298
|
fromArgs(parsed) {
|
|
2180
2299
|
if (parsed.error) return { kind: "usage-error", command: "output", reason: parsed.error };
|
|
2181
2300
|
const verbosity = parsed.positionals[0];
|
|
2182
|
-
return verbosity ? { kind: "output-set", verbosity } : { kind: "
|
|
2301
|
+
return verbosity ? { kind: "output-set", verbosity } : { kind: "output-picker" };
|
|
2183
2302
|
},
|
|
2184
2303
|
handle(command, ctx) {
|
|
2304
|
+
if (command.kind === "output-picker") {
|
|
2305
|
+
if (ctx.openOutputPicker) ctx.openOutputPicker();
|
|
2306
|
+
else ctx.notice("error", "output picker is not wired in this session");
|
|
2307
|
+
return;
|
|
2308
|
+
}
|
|
2185
2309
|
if (command.kind !== "output-set") return;
|
|
2186
2310
|
const result = ctx.setOutputVerbosity?.(command.verbosity) ?? { status: "unavailable" };
|
|
2187
2311
|
if (result.status === "applied") {
|
|
@@ -2237,36 +2361,38 @@ ${usageNotice(entry)}` : usageNotice(entry));
|
|
|
2237
2361
|
})();
|
|
2238
2362
|
}
|
|
2239
2363
|
},
|
|
2240
|
-
settingsDeepLink(
|
|
2241
|
-
"scoped-models",
|
|
2242
|
-
"models",
|
|
2243
|
-
"Open Settings \u2192 Models: the Alt+J / Alt+K cycle set and favorites",
|
|
2244
|
-
"scope"
|
|
2245
|
-
),
|
|
2246
2364
|
{
|
|
2247
2365
|
name: "settings",
|
|
2248
2366
|
description: "Open interactive settings",
|
|
2249
2367
|
group: "Configure",
|
|
2250
2368
|
kinds: ["settings"],
|
|
2251
|
-
args: {
|
|
2369
|
+
args: {
|
|
2370
|
+
positionals: [
|
|
2371
|
+
{ name: "area", required: false },
|
|
2372
|
+
{ name: "group", required: false }
|
|
2373
|
+
]
|
|
2374
|
+
},
|
|
2252
2375
|
fromArgs(parsed) {
|
|
2253
2376
|
if (parsed.error) return { kind: "usage-error", command: "settings", reason: parsed.error };
|
|
2254
|
-
const
|
|
2255
|
-
if (
|
|
2256
|
-
if (!
|
|
2257
|
-
|
|
2258
|
-
|
|
2377
|
+
const area = parsed.positionals[0];
|
|
2378
|
+
if (area === void 0) return { kind: "settings" };
|
|
2379
|
+
if (!isSettingsAreaId(area)) {
|
|
2380
|
+
return {
|
|
2381
|
+
kind: "usage-error",
|
|
2382
|
+
command: "settings",
|
|
2383
|
+
reason: `Unknown area: ${area} (one of ${SETTINGS_AREA_IDS.join(", ")})`
|
|
2384
|
+
};
|
|
2259
2385
|
}
|
|
2260
|
-
return { kind: "settings",
|
|
2386
|
+
return { kind: "settings", area, ...parsed.positionals[1] ? { group: parsed.positionals[1] } : {} };
|
|
2261
2387
|
},
|
|
2262
2388
|
handle(command, ctx) {
|
|
2263
|
-
if (command.kind === "settings") ctx.openSettings(command.
|
|
2389
|
+
if (command.kind === "settings") ctx.openSettings(command.area, command.group);
|
|
2264
2390
|
}
|
|
2265
2391
|
},
|
|
2266
2392
|
{
|
|
2267
2393
|
name: "resume",
|
|
2268
2394
|
description: "Resume a past session",
|
|
2269
|
-
group: "
|
|
2395
|
+
group: "Session",
|
|
2270
2396
|
kinds: ["resume"],
|
|
2271
2397
|
args: {},
|
|
2272
2398
|
fromArgs: fromArgsOrUsage("resume", { kind: "resume" }),
|
|
@@ -2277,7 +2403,7 @@ ${usageNotice(entry)}` : usageNotice(entry));
|
|
|
2277
2403
|
{
|
|
2278
2404
|
name: "new",
|
|
2279
2405
|
description: "Start a fresh session",
|
|
2280
|
-
group: "
|
|
2406
|
+
group: "Session",
|
|
2281
2407
|
kinds: ["new"],
|
|
2282
2408
|
args: {},
|
|
2283
2409
|
fromArgs: fromArgsOrUsage("new", { kind: "new" }),
|
|
@@ -2288,7 +2414,7 @@ ${usageNotice(entry)}` : usageNotice(entry));
|
|
|
2288
2414
|
{
|
|
2289
2415
|
name: "handoff",
|
|
2290
2416
|
description: "Hand this session's working state to a fresh session for a stated goal",
|
|
2291
|
-
group: "
|
|
2417
|
+
group: "Session",
|
|
2292
2418
|
kinds: ["handoff", "handoff-usage"],
|
|
2293
2419
|
args: {
|
|
2294
2420
|
positionals: [{ name: "goal", required: true, rest: true }]
|
|
@@ -2311,7 +2437,7 @@ ${usageNotice(entry)}` : usageNotice(entry));
|
|
|
2311
2437
|
{
|
|
2312
2438
|
name: "tree",
|
|
2313
2439
|
description: "Open session tree navigator",
|
|
2314
|
-
group: "
|
|
2440
|
+
group: "Session",
|
|
2315
2441
|
kinds: ["tree"],
|
|
2316
2442
|
args: {},
|
|
2317
2443
|
fromArgs: fromArgsOrUsage("tree", { kind: "tree" }),
|
|
@@ -2322,7 +2448,7 @@ ${usageNotice(entry)}` : usageNotice(entry));
|
|
|
2322
2448
|
{
|
|
2323
2449
|
name: "fork",
|
|
2324
2450
|
description: "Fork from an assistant turn",
|
|
2325
|
-
group: "
|
|
2451
|
+
group: "Session",
|
|
2326
2452
|
kinds: ["fork"],
|
|
2327
2453
|
args: {},
|
|
2328
2454
|
fromArgs: fromArgsOrUsage("fork", { kind: "fork" }),
|
|
@@ -2333,7 +2459,7 @@ ${usageNotice(entry)}` : usageNotice(entry));
|
|
|
2333
2459
|
{
|
|
2334
2460
|
name: "export",
|
|
2335
2461
|
description: "Export a self-contained HTML transcript by default; a .md path writes Markdown",
|
|
2336
|
-
group: "
|
|
2462
|
+
group: "Session",
|
|
2337
2463
|
kinds: ["export"],
|
|
2338
2464
|
args: {
|
|
2339
2465
|
positionals: [{ name: "path", required: false }]
|
|
@@ -2364,6 +2490,30 @@ for (const entry of BUILTIN_SLASH_COMMANDS) {
|
|
|
2364
2490
|
}
|
|
2365
2491
|
var COMMAND_SHAPED_TOKEN = /^[A-Za-z][A-Za-z0-9:-]*$/u;
|
|
2366
2492
|
var COMMAND_ESCAPE = "\\/";
|
|
2493
|
+
var RETIRED_COMMAND_HINTS = Object.freeze({
|
|
2494
|
+
status: "Use the footer or Alt+U for status; /cost, /context, and /fleet inspect their own domains.",
|
|
2495
|
+
receipts: "Use /view or /view verify <run-id>.",
|
|
2496
|
+
"context-init": "Use /context init.",
|
|
2497
|
+
"context-clear": "Use /context reset for project context or /new for a fresh session.",
|
|
2498
|
+
"context-view": "Use /context.",
|
|
2499
|
+
compact: "Use /context compact [instructions].",
|
|
2500
|
+
skills: "Use /skill or /resources skills.",
|
|
2501
|
+
exit: "Use /quit.",
|
|
2502
|
+
config: "Use /settings.",
|
|
2503
|
+
ctx: "Use /context.",
|
|
2504
|
+
models: "Use /model.",
|
|
2505
|
+
clear: "Use /new for a fresh session or /context reset for project context.",
|
|
2506
|
+
library: "Use /resources library [kind].",
|
|
2507
|
+
prompts: "Use /resources prompts.",
|
|
2508
|
+
extensions: "Use /resources extensions.",
|
|
2509
|
+
interop: "Use /agents connect.",
|
|
2510
|
+
targets: "Use /settings targets.",
|
|
2511
|
+
"scoped-models": "Use /settings chat model-picker."
|
|
2512
|
+
});
|
|
2513
|
+
function retiredCommandHint(token) {
|
|
2514
|
+
if (/^skills?:[^\s]+$/u.test(token)) return "Use /skill <name> [task].";
|
|
2515
|
+
return RETIRED_COMMAND_HINTS[token];
|
|
2516
|
+
}
|
|
2367
2517
|
function parseSlashCommand(input) {
|
|
2368
2518
|
const trimmed = input.trim();
|
|
2369
2519
|
if (trimmed.length === 0) return { kind: "empty" };
|
|
@@ -2385,6 +2535,12 @@ function dispatchSlashCommand(command, ctx) {
|
|
|
2385
2535
|
return "accepted";
|
|
2386
2536
|
}
|
|
2387
2537
|
if (command.kind === "unknown-command") {
|
|
2538
|
+
const retiredHint = retiredCommandHint(command.token);
|
|
2539
|
+
if (retiredHint) {
|
|
2540
|
+
ctx.notice("error", `/${command.token} is retired and did not run. ${retiredHint}`);
|
|
2541
|
+
ctx.render();
|
|
2542
|
+
return "rejected";
|
|
2543
|
+
}
|
|
2388
2544
|
const expansion = ctx.expandPromptTemplate?.(command.text);
|
|
2389
2545
|
if (expansion?.expanded === true) {
|
|
2390
2546
|
ctx.submitChat(command.text);
|
|
@@ -2407,8 +2563,41 @@ function dispatchSlashCommand(command, ctx) {
|
|
|
2407
2563
|
entry.handle(command, ctx);
|
|
2408
2564
|
return "accepted";
|
|
2409
2565
|
}
|
|
2566
|
+
var COMMAND_ORDER = [
|
|
2567
|
+
"run",
|
|
2568
|
+
"fleet",
|
|
2569
|
+
"delegate",
|
|
2570
|
+
"council",
|
|
2571
|
+
"oracle",
|
|
2572
|
+
"btw",
|
|
2573
|
+
"share",
|
|
2574
|
+
"skill",
|
|
2575
|
+
"agents",
|
|
2576
|
+
"tasks",
|
|
2577
|
+
"context",
|
|
2578
|
+
"memory",
|
|
2579
|
+
"view",
|
|
2580
|
+
"panes",
|
|
2581
|
+
"cost",
|
|
2582
|
+
"decisions",
|
|
2583
|
+
"resources",
|
|
2584
|
+
"help",
|
|
2585
|
+
"model",
|
|
2586
|
+
"thinking",
|
|
2587
|
+
"output",
|
|
2588
|
+
"settings",
|
|
2589
|
+
"new",
|
|
2590
|
+
"resume",
|
|
2591
|
+
"handoff",
|
|
2592
|
+
"fork",
|
|
2593
|
+
"tree",
|
|
2594
|
+
"export",
|
|
2595
|
+
"archive",
|
|
2596
|
+
"quit"
|
|
2597
|
+
];
|
|
2598
|
+
var COMMAND_ORDER_INDEX = new Map(COMMAND_ORDER.map((name, index) => [name, index]));
|
|
2410
2599
|
function commandReference() {
|
|
2411
|
-
return BUILTIN_SLASH_COMMANDS.filter((entry) => entry.hidden !== true).map((entry) => {
|
|
2600
|
+
return BUILTIN_SLASH_COMMANDS.filter((entry) => entry.hidden !== true).slice().sort((a, b) => (COMMAND_ORDER_INDEX.get(a.name) ?? 99) - (COMMAND_ORDER_INDEX.get(b.name) ?? 99)).map((entry) => {
|
|
2412
2601
|
const usage = usageLine(entry).replace(/^\nusage:\s*/, "").replace(/\n$/, "");
|
|
2413
2602
|
return {
|
|
2414
2603
|
name: entry.name,
|
|
@@ -2431,17 +2620,16 @@ export {
|
|
|
2431
2620
|
createWorkerStream,
|
|
2432
2621
|
isWorkerShareNote,
|
|
2433
2622
|
LIBRARY_TABS,
|
|
2434
|
-
|
|
2623
|
+
COMPLETION_SLOT_NAMES,
|
|
2435
2624
|
renderArgsSpec,
|
|
2436
2625
|
completeArgs,
|
|
2626
|
+
SETTINGS_AREA_IDS,
|
|
2437
2627
|
handleRun,
|
|
2438
|
-
formatReceiptVerificationBlock,
|
|
2439
2628
|
formatUserTaskHandoff,
|
|
2440
2629
|
SLASH_COMMAND_GROUPS,
|
|
2441
|
-
formatPanesStatus,
|
|
2442
2630
|
BUILTIN_SLASH_COMMANDS,
|
|
2443
2631
|
parseSlashCommand,
|
|
2444
2632
|
dispatchSlashCommand,
|
|
2445
2633
|
commandReference
|
|
2446
2634
|
};
|
|
2447
|
-
//# sourceMappingURL=chunk-
|
|
2635
|
+
//# sourceMappingURL=chunk-J4HBWF6Y.js.map
|