@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
|
@@ -4,23 +4,23 @@ import {
|
|
|
4
4
|
loadProjectRules,
|
|
5
5
|
renderOperatorProfile,
|
|
6
6
|
selectActiveRules
|
|
7
|
-
} from "./chunk-
|
|
7
|
+
} from "./chunk-C537JADH.js";
|
|
8
8
|
import {
|
|
9
9
|
loadFragments
|
|
10
|
-
} from "./chunk-
|
|
10
|
+
} from "./chunk-3QSOM6PA.js";
|
|
11
11
|
import {
|
|
12
12
|
compile,
|
|
13
13
|
compileWorker
|
|
14
|
-
} from "./chunk-
|
|
14
|
+
} from "./chunk-XKA2ICR3.js";
|
|
15
15
|
import {
|
|
16
16
|
sha256
|
|
17
|
-
} from "./chunk-
|
|
17
|
+
} from "./chunk-6NJQITNH.js";
|
|
18
18
|
import {
|
|
19
19
|
classifyProjectPreload
|
|
20
20
|
} from "./chunk-JVCV3ICN.js";
|
|
21
21
|
import {
|
|
22
22
|
isUserVisibleAgent
|
|
23
|
-
} from "./chunk-
|
|
23
|
+
} from "./chunk-IG7BCQBA.js";
|
|
24
24
|
import {
|
|
25
25
|
BusChannels
|
|
26
26
|
} from "./chunk-HLW2MRKE.js";
|
|
@@ -210,7 +210,7 @@ function createPromptsBundle(context, options = {}) {
|
|
|
210
210
|
table = loadFragments();
|
|
211
211
|
} catch (err) {
|
|
212
212
|
const msg = err instanceof Error ? err.message : String(err);
|
|
213
|
-
process.stderr.write(`[clio:prompts] reload failed: ${msg}
|
|
213
|
+
process.stderr.write(`[clio-coder:prompts] reload failed: ${msg}
|
|
214
214
|
`);
|
|
215
215
|
}
|
|
216
216
|
}
|
|
@@ -228,7 +228,7 @@ function createPromptsBundle(context, options = {}) {
|
|
|
228
228
|
}
|
|
229
229
|
const configContract = config();
|
|
230
230
|
const settings = configContract?.get();
|
|
231
|
-
const safety = input.autonomy ?? settings?.autonomy ?? "auto-edit";
|
|
231
|
+
const safety = input.autonomy ?? settings?.safety.autonomy ?? "auto-edit";
|
|
232
232
|
const cwd = input.cwd ?? process.cwd();
|
|
233
233
|
let contextFiles = "";
|
|
234
234
|
let projectPreload = null;
|
|
@@ -292,7 +292,7 @@ function createPromptsBundle(context, options = {}) {
|
|
|
292
292
|
table = loadFragments();
|
|
293
293
|
} catch (err) {
|
|
294
294
|
const msg = err instanceof Error ? err.message : String(err);
|
|
295
|
-
process.stderr.write(`[clio:prompts] initial load failed: ${msg}
|
|
295
|
+
process.stderr.write(`[clio-coder:prompts] initial load failed: ${msg}
|
|
296
296
|
`);
|
|
297
297
|
table = { byId: /* @__PURE__ */ new Map(), rootDir: "" };
|
|
298
298
|
}
|
|
@@ -584,13 +584,13 @@ function createSchedulingBundle(context) {
|
|
|
584
584
|
const config = maybeConfig;
|
|
585
585
|
const observability = context.getContract("observability");
|
|
586
586
|
const settings = config.get();
|
|
587
|
-
let budget = createBudgetState(settings.
|
|
587
|
+
let budget = createBudgetState(settings.safety.limits.sessionCostUsd);
|
|
588
588
|
const fleet = createFleetRegistry(() => config.get().fleet?.nodes ?? [], {
|
|
589
|
-
localMaxWorkers: () => resolveMaxWorkers(config.get().
|
|
589
|
+
localMaxWorkers: () => resolveMaxWorkers(config.get().fleet.concurrency)
|
|
590
590
|
});
|
|
591
591
|
const unsubscribes = [];
|
|
592
592
|
function syncBudget() {
|
|
593
|
-
const nextCeiling = config.get().
|
|
593
|
+
const nextCeiling = config.get().safety.limits.sessionCostUsd;
|
|
594
594
|
if (nextCeiling === budget.ceilingUsd) return;
|
|
595
595
|
budget = createBudgetState(nextCeiling);
|
|
596
596
|
}
|
|
@@ -635,7 +635,7 @@ function createSchedulingBundle(context) {
|
|
|
635
635
|
const { verdict, currentUsd } = evaluate();
|
|
636
636
|
return { verdict, currentUsd, ceilingUsd: budget.ceilingUsd };
|
|
637
637
|
},
|
|
638
|
-
maxWorkers: () => resolveMaxWorkers(config.get().
|
|
638
|
+
maxWorkers: () => resolveMaxWorkers(config.get().fleet.concurrency),
|
|
639
639
|
fleet
|
|
640
640
|
};
|
|
641
641
|
return { extension, contract };
|
|
@@ -659,4 +659,4 @@ export {
|
|
|
659
659
|
createPromptsDomainModule,
|
|
660
660
|
SchedulingDomainModule
|
|
661
661
|
};
|
|
662
|
-
//# sourceMappingURL=chunk-
|
|
662
|
+
//# sourceMappingURL=chunk-R32CLGZ6.js.map
|
|
@@ -2,12 +2,12 @@ import { createRequire as __clioCreateRequire } from "node:module"; const requir
|
|
|
2
2
|
import {
|
|
3
3
|
canonicalJson,
|
|
4
4
|
sha256
|
|
5
|
-
} from "./chunk-
|
|
5
|
+
} from "./chunk-6NJQITNH.js";
|
|
6
6
|
import {
|
|
7
7
|
addResponseModelIdObservationCount,
|
|
8
8
|
emptyResponseModelIdObservationCounts,
|
|
9
9
|
responseModelIdObservationFromRecord
|
|
10
|
-
} from "./chunk-
|
|
10
|
+
} from "./chunk-TVH4ONAM.js";
|
|
11
11
|
import {
|
|
12
12
|
uncachedPrefillTokens
|
|
13
13
|
} from "./chunk-3DPEIQKN.js";
|
|
@@ -17,16 +17,16 @@ import {
|
|
|
17
17
|
import {
|
|
18
18
|
ceilChars,
|
|
19
19
|
extractReasoningTokens
|
|
20
|
-
} from "./chunk-
|
|
20
|
+
} from "./chunk-CWVRRIEI.js";
|
|
21
21
|
import {
|
|
22
22
|
settingsPath
|
|
23
|
-
} from "./chunk-
|
|
23
|
+
} from "./chunk-EIMVLWB3.js";
|
|
24
24
|
import {
|
|
25
25
|
expandConfigPath
|
|
26
|
-
} from "./chunk-
|
|
26
|
+
} from "./chunk-336NSSKI.js";
|
|
27
27
|
import {
|
|
28
28
|
isEngineContextOverflow
|
|
29
|
-
} from "./chunk-
|
|
29
|
+
} from "./chunk-VXMFAE2W.js";
|
|
30
30
|
import {
|
|
31
31
|
init_esm_shims
|
|
32
32
|
} from "./chunk-3R73A4XB.js";
|
|
@@ -907,8 +907,58 @@ function formatDimensionNote(result2) {
|
|
|
907
907
|
}
|
|
908
908
|
|
|
909
909
|
// src/core/file-references.ts
|
|
910
|
-
var FILE_REF = /(^|\s)@(\S+)/g;
|
|
911
910
|
var DEFAULT_IMAGE_MAX_BASE64_BYTES = 4.5 * 1024 * 1024;
|
|
911
|
+
function decodeQuotedFileArg(input, start, quote) {
|
|
912
|
+
let value = "";
|
|
913
|
+
let escaped = false;
|
|
914
|
+
for (let index = start; index < input.length; index += 1) {
|
|
915
|
+
const character = input[index] ?? "";
|
|
916
|
+
if (escaped) {
|
|
917
|
+
value += character;
|
|
918
|
+
escaped = false;
|
|
919
|
+
continue;
|
|
920
|
+
}
|
|
921
|
+
if (character === "\\") {
|
|
922
|
+
escaped = true;
|
|
923
|
+
continue;
|
|
924
|
+
}
|
|
925
|
+
if (character === quote) return { value, end: index + 1 };
|
|
926
|
+
value += character;
|
|
927
|
+
}
|
|
928
|
+
return null;
|
|
929
|
+
}
|
|
930
|
+
function inlineFileReferences(input) {
|
|
931
|
+
const references = [];
|
|
932
|
+
for (let start = 0; start < input.length; start += 1) {
|
|
933
|
+
if (input[start] !== "@" || start > 0 && !/\s/u.test(input[start - 1] ?? "")) continue;
|
|
934
|
+
const next = input[start + 1];
|
|
935
|
+
if (next === '"' || next === "'") {
|
|
936
|
+
const decoded = decodeQuotedFileArg(input, start + 2, next);
|
|
937
|
+
if (!decoded || decoded.value.length === 0) continue;
|
|
938
|
+
references.push({
|
|
939
|
+
start,
|
|
940
|
+
end: decoded.end,
|
|
941
|
+
raw: input.slice(start, decoded.end),
|
|
942
|
+
fileArg: decoded.value,
|
|
943
|
+
quoted: true
|
|
944
|
+
});
|
|
945
|
+
start = decoded.end - 1;
|
|
946
|
+
continue;
|
|
947
|
+
}
|
|
948
|
+
let end = start + 1;
|
|
949
|
+
while (end < input.length && !/\s/u.test(input[end] ?? "")) end += 1;
|
|
950
|
+
if (end === start + 1) continue;
|
|
951
|
+
references.push({
|
|
952
|
+
start,
|
|
953
|
+
end,
|
|
954
|
+
raw: input.slice(start, end),
|
|
955
|
+
fileArg: input.slice(start + 1, end),
|
|
956
|
+
quoted: false
|
|
957
|
+
});
|
|
958
|
+
start = end - 1;
|
|
959
|
+
}
|
|
960
|
+
return references;
|
|
961
|
+
}
|
|
912
962
|
function renderTextFile(filePath, content) {
|
|
913
963
|
return `<file name="${filePath}">
|
|
914
964
|
${content}
|
|
@@ -1024,29 +1074,25 @@ async function expandInlineFileReferencesAsync(input, options = {}) {
|
|
|
1024
1074
|
const referencedPaths = [];
|
|
1025
1075
|
let text = "";
|
|
1026
1076
|
let lastIndex = 0;
|
|
1027
|
-
for (const
|
|
1028
|
-
|
|
1029
|
-
const
|
|
1030
|
-
const prefix = match[1] ?? "";
|
|
1031
|
-
const token = match[2] ?? "";
|
|
1032
|
-
text += input.slice(lastIndex, index);
|
|
1033
|
-
const direct = await readFileReferenceAsync(token, {
|
|
1077
|
+
for (const reference of inlineFileReferences(input)) {
|
|
1078
|
+
text += input.slice(lastIndex, reference.start);
|
|
1079
|
+
const direct = await readFileReferenceAsync(reference.fileArg, {
|
|
1034
1080
|
...options,
|
|
1035
1081
|
missing: "leave",
|
|
1036
1082
|
includeImages: options.includeImages === true
|
|
1037
1083
|
});
|
|
1038
|
-
if (direct.text !== `@${
|
|
1084
|
+
if (direct.text !== `@${reference.fileArg}`) {
|
|
1039
1085
|
diagnostics.push(...direct.diagnostics);
|
|
1040
1086
|
images.push(...direct.images);
|
|
1041
1087
|
referencedPaths.push(...direct.referencedPaths);
|
|
1042
|
-
text +=
|
|
1043
|
-
lastIndex =
|
|
1088
|
+
text += direct.text;
|
|
1089
|
+
lastIndex = reference.end;
|
|
1044
1090
|
continue;
|
|
1045
1091
|
}
|
|
1046
|
-
const { fileArg, suffix } = splitTrailingPunctuation(
|
|
1047
|
-
if (fileArg ===
|
|
1048
|
-
text +=
|
|
1049
|
-
lastIndex =
|
|
1092
|
+
const { fileArg, suffix } = reference.quoted ? { fileArg: reference.fileArg, suffix: "" } : splitTrailingPunctuation(reference.fileArg);
|
|
1093
|
+
if (fileArg === reference.fileArg) {
|
|
1094
|
+
text += reference.raw;
|
|
1095
|
+
lastIndex = reference.end;
|
|
1050
1096
|
continue;
|
|
1051
1097
|
}
|
|
1052
1098
|
const stripped = await readFileReferenceAsync(fileArg, {
|
|
@@ -1055,15 +1101,15 @@ async function expandInlineFileReferencesAsync(input, options = {}) {
|
|
|
1055
1101
|
includeImages: options.includeImages === true
|
|
1056
1102
|
});
|
|
1057
1103
|
if (stripped.text === `@${fileArg}`) {
|
|
1058
|
-
text +=
|
|
1059
|
-
lastIndex =
|
|
1104
|
+
text += reference.raw;
|
|
1105
|
+
lastIndex = reference.end;
|
|
1060
1106
|
continue;
|
|
1061
1107
|
}
|
|
1062
1108
|
diagnostics.push(...stripped.diagnostics);
|
|
1063
1109
|
images.push(...stripped.images);
|
|
1064
1110
|
referencedPaths.push(...stripped.referencedPaths);
|
|
1065
|
-
text += `${
|
|
1066
|
-
lastIndex =
|
|
1111
|
+
text += `${stripped.text}${suffix}`;
|
|
1112
|
+
lastIndex = reference.end;
|
|
1067
1113
|
}
|
|
1068
1114
|
text += input.slice(lastIndex);
|
|
1069
1115
|
return { text, images, diagnostics, referencedPaths };
|
|
@@ -1104,4 +1150,4 @@ export {
|
|
|
1104
1150
|
readFileArgsAsync,
|
|
1105
1151
|
expandInlineFileReferencesAsync
|
|
1106
1152
|
};
|
|
1107
|
-
//# sourceMappingURL=chunk-
|
|
1153
|
+
//# sourceMappingURL=chunk-SCYB3HA4.js.map
|
|
@@ -1,16 +1,18 @@
|
|
|
1
1
|
import { createRequire as __clioCreateRequire } from "node:module"; const require = __clioCreateRequire(import.meta.url);
|
|
2
2
|
import {
|
|
3
3
|
parseAgentRecipeSchema
|
|
4
|
-
} from "./chunk-
|
|
4
|
+
} from "./chunk-ZJLUDYFY.js";
|
|
5
5
|
import {
|
|
6
6
|
discoverMarketplaceSkills,
|
|
7
7
|
expandSkillInvocationInput,
|
|
8
8
|
installSkill,
|
|
9
9
|
loadSkills,
|
|
10
|
-
normalizedSkillHash,
|
|
11
10
|
parsePendingSkillRequests,
|
|
12
11
|
projectCompatTrusted
|
|
13
|
-
} from "./chunk-
|
|
12
|
+
} from "./chunk-HUAS7ITX.js";
|
|
13
|
+
import {
|
|
14
|
+
normalizedSkillHash
|
|
15
|
+
} from "./chunk-NDDGJUXD.js";
|
|
14
16
|
import {
|
|
15
17
|
COMPAT_RESOURCE_PRECEDENCE,
|
|
16
18
|
defaultScopedResourceRoots,
|
|
@@ -27,20 +29,20 @@ import {
|
|
|
27
29
|
import {
|
|
28
30
|
assertAgentSpecPolicy,
|
|
29
31
|
normalizeAgentSpec
|
|
30
|
-
} from "./chunk-
|
|
32
|
+
} from "./chunk-IG7BCQBA.js";
|
|
31
33
|
import {
|
|
32
34
|
INTEROP_AGENT_KINDS
|
|
33
35
|
} from "./chunk-IHXBNWMM.js";
|
|
34
36
|
import {
|
|
35
37
|
readSettings,
|
|
36
38
|
updateSettings
|
|
37
|
-
} from "./chunk-
|
|
39
|
+
} from "./chunk-EIMVLWB3.js";
|
|
38
40
|
import {
|
|
39
41
|
runCommandVector
|
|
40
|
-
} from "./chunk-
|
|
42
|
+
} from "./chunk-HJWWJ6IL.js";
|
|
41
43
|
import {
|
|
42
44
|
expandConfigPath
|
|
43
|
-
} from "./chunk-
|
|
45
|
+
} from "./chunk-336NSSKI.js";
|
|
44
46
|
import {
|
|
45
47
|
require_dist
|
|
46
48
|
} from "./chunk-APJ265NV.js";
|
|
@@ -345,7 +347,7 @@ function expandPromptTemplateInput(input, templates) {
|
|
|
345
347
|
};
|
|
346
348
|
}
|
|
347
349
|
if (!template.trusted) {
|
|
348
|
-
const message = `prompt template ${template.name} comes from an untrusted project root; set
|
|
350
|
+
const message = `prompt template ${template.name} comes from an untrusted project root; set integrations.projectResources.trustProjectImports to use it`;
|
|
349
351
|
return {
|
|
350
352
|
expanded: false,
|
|
351
353
|
text: input,
|
|
@@ -405,7 +407,7 @@ function createResourcesBundle(context, options = {}) {
|
|
|
405
407
|
...options.cwd !== void 0 ? { cwd: options.cwd } : {},
|
|
406
408
|
...options.reservedPromptNames !== void 0 ? { reservedPromptNames: options.reservedPromptNames } : {},
|
|
407
409
|
skills: () => ({
|
|
408
|
-
...skillOptions(config()?.get().
|
|
410
|
+
...skillOptions(config()?.get().integrations.projectResources.trustProjectImports === true, options)
|
|
409
411
|
})
|
|
410
412
|
});
|
|
411
413
|
const extension = {
|
|
@@ -464,7 +466,7 @@ function isRecord(value) {
|
|
|
464
466
|
return typeof value === "object" && value !== null && !Array.isArray(value);
|
|
465
467
|
}
|
|
466
468
|
function catalogPath() {
|
|
467
|
-
const configured = readSettings().library.catalog;
|
|
469
|
+
const configured = readSettings().integrations.library.catalog;
|
|
468
470
|
return path2.resolve(configured ?? path2.join(clioConfigDir(), "library.yaml"));
|
|
469
471
|
}
|
|
470
472
|
function parseCatalog(filePath, diagnostics) {
|
|
@@ -647,20 +649,20 @@ function installLibraryPlan(plan) {
|
|
|
647
649
|
recordPin(plan);
|
|
648
650
|
}
|
|
649
651
|
function confirmedRemote() {
|
|
650
|
-
const settings = readSettings().library;
|
|
652
|
+
const settings = readSettings().integrations.library;
|
|
651
653
|
if (!settings.remote || settings.remote !== settings.confirmedRemote) throw new Error("library_remote_unconfirmed");
|
|
652
654
|
return settings.remote;
|
|
653
655
|
}
|
|
654
656
|
function confirmLibraryRemote(url) {
|
|
655
|
-
const current = readSettings().library.remote;
|
|
657
|
+
const current = readSettings().integrations.library.remote;
|
|
656
658
|
if (current !== null && current !== url) throw new Error("library_remote_mismatch");
|
|
657
659
|
updateSettings((settings) => {
|
|
658
|
-
if (settings.library.remote === null) settings.library.remote = url;
|
|
659
|
-
settings.library.confirmedRemote = url;
|
|
660
|
+
if (settings.integrations.library.remote === null) settings.integrations.library.remote = url;
|
|
661
|
+
settings.integrations.library.confirmedRemote = url;
|
|
660
662
|
});
|
|
661
663
|
}
|
|
662
664
|
async function syncLibrary(direction, runner = runCommandVector) {
|
|
663
|
-
const settings = readSettings().library;
|
|
665
|
+
const settings = readSettings().integrations.library;
|
|
664
666
|
if (!settings.sync) throw new Error("library_sync_disabled");
|
|
665
667
|
const remote = confirmedRemote();
|
|
666
668
|
const cwd = path2.dirname(catalogPath());
|
|
@@ -906,4 +908,4 @@ export {
|
|
|
906
908
|
ResourcesDomainModule,
|
|
907
909
|
createResourcesDomainModule
|
|
908
910
|
};
|
|
909
|
-
//# sourceMappingURL=chunk-
|
|
911
|
+
//# sourceMappingURL=chunk-SINK3QR6.js.map
|
|
@@ -11,7 +11,7 @@ import {
|
|
|
11
11
|
} from "./chunk-HHV2GANA.js";
|
|
12
12
|
import {
|
|
13
13
|
atomicWrite
|
|
14
|
-
} from "./chunk-
|
|
14
|
+
} from "./chunk-MQXIVJ35.js";
|
|
15
15
|
import {
|
|
16
16
|
clioStateDir
|
|
17
17
|
} from "./chunk-BYP5D4HI.js";
|
|
@@ -28,7 +28,7 @@ import {
|
|
|
28
28
|
lstatSync,
|
|
29
29
|
mkdirSync as mkdirSync2,
|
|
30
30
|
readdirSync,
|
|
31
|
-
readFileSync,
|
|
31
|
+
readFileSync as readFileSync2,
|
|
32
32
|
realpathSync as realpathSync2,
|
|
33
33
|
renameSync,
|
|
34
34
|
rmdirSync,
|
|
@@ -43,11 +43,13 @@ import { join as join2, relative as relative2, resolve as resolve2 } from "node:
|
|
|
43
43
|
init_esm_shims();
|
|
44
44
|
import { execFileSync } from "node:child_process";
|
|
45
45
|
import { createHash, randomBytes } from "node:crypto";
|
|
46
|
-
import { existsSync, mkdirSync, realpathSync, rmSync, writeFileSync } from "node:fs";
|
|
46
|
+
import { existsSync, mkdirSync, readFileSync, realpathSync, rmSync, writeFileSync } from "node:fs";
|
|
47
47
|
import { isAbsolute, join, relative, resolve, sep } from "node:path";
|
|
48
48
|
var SAFE_RUN_ID = /^[A-Za-z0-9][A-Za-z0-9._-]{0,127}$/u;
|
|
49
49
|
var OWNER_FILE_SUFFIX = ".task-owner.json";
|
|
50
|
-
var
|
|
50
|
+
var TASK_WORKTREE_KIND = "clio-coder-task-worktree";
|
|
51
|
+
var LEGACY_TASK_WORKTREE_KIND = "clio-task-worktree";
|
|
52
|
+
var COMMIT_IDENTITY = "clio-coder-task";
|
|
51
53
|
function gitBytes(root, args) {
|
|
52
54
|
return execFileSync("git", ["-C", root, ...args], {
|
|
53
55
|
stdio: ["ignore", "pipe", "pipe"],
|
|
@@ -155,7 +157,7 @@ function createTaskWorktree(root, runId, base) {
|
|
|
155
157
|
const resolvedBase = base ?? git(canonical, ["rev-parse", "HEAD"]);
|
|
156
158
|
const parent = join(canonical, ".clio-coder", "worktrees");
|
|
157
159
|
const path = join(parent, runId);
|
|
158
|
-
const branch = `clio/task/${runId}`;
|
|
160
|
+
const branch = `clio-coder/task/${runId}`;
|
|
159
161
|
mkdirSync(parent, { recursive: true });
|
|
160
162
|
if (!isCanonicalWorktreePathInside(parent, path))
|
|
161
163
|
throw new Error(`task worktree path escapes its parent for run ${runId}`);
|
|
@@ -163,7 +165,7 @@ function createTaskWorktree(root, runId, base) {
|
|
|
163
165
|
const ownerToken = randomBytes(16).toString("hex");
|
|
164
166
|
writeFileSync(
|
|
165
167
|
`${path}${OWNER_FILE_SUFFIX}`,
|
|
166
|
-
`${JSON.stringify({ version: 1, kind:
|
|
168
|
+
`${JSON.stringify({ version: 1, kind: TASK_WORKTREE_KIND, root: canonical, runId, branch, base: resolvedBase, ownerToken }, null, 2)}
|
|
167
169
|
`,
|
|
168
170
|
{ encoding: "utf8", flag: "wx" }
|
|
169
171
|
);
|
|
@@ -174,10 +176,21 @@ function assertOwnership(worktree) {
|
|
|
174
176
|
if (resolve(worktree.path) !== resolve(expected) || !isCanonicalWorktreePathInside(join(worktree.root, ".clio-coder", "worktrees"), worktree.path)) {
|
|
175
177
|
throw new Error(`task worktree ${worktree.runId} has an invalid ownership path`);
|
|
176
178
|
}
|
|
177
|
-
|
|
178
|
-
|
|
179
|
+
const ownerPath = `${worktree.path}${OWNER_FILE_SUFFIX}`;
|
|
180
|
+
if (!existsSync(ownerPath)) throw new Error(`task worktree ${worktree.runId} has no ownership file`);
|
|
181
|
+
let marker;
|
|
182
|
+
try {
|
|
183
|
+
const value = JSON.parse(readFileSync(ownerPath, "utf8"));
|
|
184
|
+
if (typeof value !== "object" || value === null || Array.isArray(value)) throw new Error("not an object");
|
|
185
|
+
marker = value;
|
|
186
|
+
} catch {
|
|
187
|
+
throw new Error(`task worktree ${worktree.runId} has an invalid ownership file`);
|
|
188
|
+
}
|
|
189
|
+
if (marker.version !== 1 || marker.kind !== TASK_WORKTREE_KIND && marker.kind !== LEGACY_TASK_WORKTREE_KIND || marker.root !== worktree.root || marker.runId !== worktree.runId || marker.branch !== worktree.branch || marker.base !== worktree.base || marker.ownerToken !== worktree.ownerToken) {
|
|
190
|
+
throw new Error(`task worktree ${worktree.runId} ownership facts do not match`);
|
|
191
|
+
}
|
|
179
192
|
}
|
|
180
|
-
function commitTaskWorktree(worktree, message = `Clio task ${worktree.runId}`) {
|
|
193
|
+
function commitTaskWorktree(worktree, message = `Clio Coder task ${worktree.runId}`) {
|
|
181
194
|
assertOwnership(worktree);
|
|
182
195
|
return commitWorktreePath(worktree.path, COMMIT_IDENTITY, message);
|
|
183
196
|
}
|
|
@@ -220,8 +233,9 @@ function cleanupTaskWorktree(worktree, deleteBranch) {
|
|
|
220
233
|
// src/tools/compete-worktrees.ts
|
|
221
234
|
var COMPETE_PARENT_SEGMENTS = [".clio-coder", "worktrees"];
|
|
222
235
|
var COMPETE_MANIFEST_FILE = ".clio-coder-compete-owner.json";
|
|
223
|
-
var COMPETE_MANIFEST_KIND = "clio-compete-group";
|
|
224
|
-
var
|
|
236
|
+
var COMPETE_MANIFEST_KIND = "clio-coder-compete-group";
|
|
237
|
+
var LEGACY_COMPETE_MANIFEST_KIND = "clio-compete-group";
|
|
238
|
+
var COMPETE_COMMIT_IDENTITY = "clio-coder-compete";
|
|
225
239
|
var SAFE_GROUP = /^[A-Za-z0-9][A-Za-z0-9._-]{0,127}$/;
|
|
226
240
|
var PROCESS_EXIT_GRACE_MS = 750;
|
|
227
241
|
var PROCESS_POLL_MS = 25;
|
|
@@ -243,7 +257,7 @@ function processSnapshot(pid) {
|
|
|
243
257
|
if (err.code !== "EPERM") return { alive: false, birthToken: null };
|
|
244
258
|
}
|
|
245
259
|
try {
|
|
246
|
-
const stat =
|
|
260
|
+
const stat = readFileSync2(`/proc/${pid}/stat`, "utf8").trim();
|
|
247
261
|
const close = stat.lastIndexOf(")");
|
|
248
262
|
if (close > 0) {
|
|
249
263
|
const fields = stat.slice(close + 1).trim().split(/\s+/u);
|
|
@@ -363,7 +377,7 @@ function isCanonicalPathInside(parent, candidate) {
|
|
|
363
377
|
function manifestFromUnknown(value) {
|
|
364
378
|
if (typeof value !== "object" || value === null || Array.isArray(value)) return null;
|
|
365
379
|
const manifest = value;
|
|
366
|
-
if (manifest.version !== 2 || manifest.kind !== COMPETE_MANIFEST_KIND || typeof manifest.root !== "string" || typeof manifest.group !== "string" || typeof manifest.token !== "string" || manifest.token.length === 0 || manifest.state !== "active" && manifest.state !== "cleanup-ready" && manifest.state !== "winner-preserved" || typeof manifest.createdAt !== "string" || typeof manifest.updatedAt !== "string") {
|
|
380
|
+
if (manifest.version !== 2 || manifest.kind !== COMPETE_MANIFEST_KIND && manifest.kind !== LEGACY_COMPETE_MANIFEST_KIND || typeof manifest.root !== "string" || typeof manifest.group !== "string" || typeof manifest.token !== "string" || manifest.token.length === 0 || manifest.state !== "active" && manifest.state !== "cleanup-ready" && manifest.state !== "winner-preserved" || typeof manifest.createdAt !== "string" || typeof manifest.updatedAt !== "string") {
|
|
367
381
|
return null;
|
|
368
382
|
}
|
|
369
383
|
if (!validProcessLease(manifest.owner) || !Array.isArray(manifest.runs) || !manifest.runs.every(validRunLease) || new Set(manifest.runs.map((run) => run.runId)).size !== manifest.runs.length) {
|
|
@@ -379,7 +393,7 @@ function readManifest(root, group) {
|
|
|
379
393
|
const directory = groupDirectory(canonical, group);
|
|
380
394
|
if (!isCanonicalDirectoryAt(directory)) return null;
|
|
381
395
|
try {
|
|
382
|
-
const parsed = JSON.parse(
|
|
396
|
+
const parsed = JSON.parse(readFileSync2(manifestPath(directory), "utf8"));
|
|
383
397
|
const manifest = manifestFromUnknown(parsed);
|
|
384
398
|
if (manifest === null || manifest.root !== canonical || manifest.group !== group) return null;
|
|
385
399
|
return manifest;
|
|
@@ -426,10 +440,13 @@ function isGitRepository(root) {
|
|
|
426
440
|
return false;
|
|
427
441
|
}
|
|
428
442
|
}
|
|
429
|
-
function competeBranch(group, index) {
|
|
443
|
+
function competeBranch(group, index, legacy = false) {
|
|
430
444
|
validateGroup(group);
|
|
431
445
|
if (!Number.isInteger(index) || index < 1) throw new Error(`invalid compete candidate index ${index}`);
|
|
432
|
-
return
|
|
446
|
+
return `${legacy ? "clio" : "clio-coder"}/compete/${group}/${index}`;
|
|
447
|
+
}
|
|
448
|
+
function competeBranchMatches(branch, group, index) {
|
|
449
|
+
return branch === competeBranch(group, index) || branch === competeBranch(group, index, true);
|
|
433
450
|
}
|
|
434
451
|
function claimCompeteGroup(root, group) {
|
|
435
452
|
const canonical = canonicalRoot(root);
|
|
@@ -556,7 +573,7 @@ async function createCandidateWorktreeMapped(ownership, index, baseline, mux) {
|
|
|
556
573
|
branch,
|
|
557
574
|
base: baseline,
|
|
558
575
|
path,
|
|
559
|
-
label: `clio compete ${ownership.group} candidate ${index}`,
|
|
576
|
+
label: `clio-coder compete ${ownership.group} candidate ${index}`,
|
|
560
577
|
focus: false
|
|
561
578
|
}).catch(() => null);
|
|
562
579
|
if (created !== null) {
|
|
@@ -591,9 +608,13 @@ function registeredWorktreePaths(root) {
|
|
|
591
608
|
function exactGroupBranches(root, group) {
|
|
592
609
|
return git2(root, ["branch", "--list", "--format=%(refname:short)"]).split("\n").filter((branch) => {
|
|
593
610
|
const parts = branch.split("/");
|
|
594
|
-
return parts.length === 4 && parts[0] === "clio" && parts[1] === "compete" && parts[2] === group && /^\d+$/.test(parts[3] ?? "");
|
|
611
|
+
return parts.length === 4 && (parts[0] === "clio-coder" || parts[0] === "clio") && parts[1] === "compete" && parts[2] === group && /^\d+$/.test(parts[3] ?? "");
|
|
595
612
|
});
|
|
596
613
|
}
|
|
614
|
+
function competeBranchForCandidate(root, group, index) {
|
|
615
|
+
const branches = exactGroupBranches(root, group);
|
|
616
|
+
return branches.find((branch) => branch === competeBranch(group, index)) ?? branches.find((branch) => branch === competeBranch(group, index, true)) ?? competeBranch(group, index);
|
|
617
|
+
}
|
|
597
618
|
function removeRegisteredWorktree(root, path) {
|
|
598
619
|
try {
|
|
599
620
|
git2(root, ["worktree", "remove", "--force", path]);
|
|
@@ -605,8 +626,7 @@ function removeRegisteredWorktree(root, path) {
|
|
|
605
626
|
function removeCandidateWorktree(ownership, worktree, deleteBranch) {
|
|
606
627
|
assertOwnership2(ownership);
|
|
607
628
|
const expectedPath = join2(ownership.directory, `candidate-${worktree.index}`);
|
|
608
|
-
|
|
609
|
-
if (resolve2(worktree.path) !== resolve2(expectedPath) || worktree.branch !== expectedBranch || !isCanonicalPathInside(ownership.directory, worktree.path)) {
|
|
629
|
+
if (resolve2(worktree.path) !== resolve2(expectedPath) || !competeBranchMatches(worktree.branch, ownership.group, worktree.index) || !isCanonicalPathInside(ownership.directory, worktree.path)) {
|
|
610
630
|
throw new Error(`candidate ${worktree.index} does not belong to compete group ${ownership.group}`);
|
|
611
631
|
}
|
|
612
632
|
removeRegisteredWorktree(ownership.root, worktree.path);
|
|
@@ -697,8 +717,8 @@ function settleRecoveredCompeteDecision(root, group, winnerIndex) {
|
|
|
697
717
|
cleanupWorktreeGroup(ownership);
|
|
698
718
|
return null;
|
|
699
719
|
}
|
|
700
|
-
const winnerBranch = competeBranch(group, winnerIndex);
|
|
701
720
|
const branches = exactGroupBranches(ownership.root, group);
|
|
721
|
+
const winnerBranch = competeBranchForCandidate(ownership.root, group, winnerIndex);
|
|
702
722
|
const winnerPath = join2(ownership.directory, `candidate-${winnerIndex}`);
|
|
703
723
|
if (!branches.includes(winnerBranch) || !registeredWorktreePaths(ownership.root).some((path) => resolve2(path) === resolve2(winnerPath))) {
|
|
704
724
|
throw new Error(`recovered winner ${winnerBranch} has no intact candidate worktree`);
|
|
@@ -1167,6 +1187,7 @@ export {
|
|
|
1167
1187
|
commitCandidateWork,
|
|
1168
1188
|
candidateDiffStat,
|
|
1169
1189
|
protectedPathsChangedByCompeteBranch,
|
|
1190
|
+
competeBranchForCandidate,
|
|
1170
1191
|
removeCandidateWorktreeMapped,
|
|
1171
1192
|
mergeWinnerBranch,
|
|
1172
1193
|
cleanupCompeteGroup,
|
|
@@ -1178,4 +1199,4 @@ export {
|
|
|
1178
1199
|
preflightWriteBoundaries,
|
|
1179
1200
|
createWriteBoundaryEnforcer
|
|
1180
1201
|
};
|
|
1181
|
-
//# sourceMappingURL=chunk-
|
|
1202
|
+
//# sourceMappingURL=chunk-TD3PGPQA.js.map
|
|
@@ -6,7 +6,7 @@ import {
|
|
|
6
6
|
} from "./chunk-CTJ4RNAA.js";
|
|
7
7
|
import {
|
|
8
8
|
resultContractShape
|
|
9
|
-
} from "./chunk-
|
|
9
|
+
} from "./chunk-IG7BCQBA.js";
|
|
10
10
|
import {
|
|
11
11
|
init_esm_shims
|
|
12
12
|
} from "./chunk-3R73A4XB.js";
|
|
@@ -435,4 +435,4 @@ export {
|
|
|
435
435
|
spliceExecutionPlan,
|
|
436
436
|
compileFleetExecutionPlan
|
|
437
437
|
};
|
|
438
|
-
//# sourceMappingURL=chunk-
|
|
438
|
+
//# sourceMappingURL=chunk-THYWACCR.js.map
|
|
@@ -8,16 +8,13 @@ import {
|
|
|
8
8
|
import {
|
|
9
9
|
isSessionEntry,
|
|
10
10
|
isSessionHeader
|
|
11
|
-
} from "./chunk-
|
|
11
|
+
} from "./chunk-FSP7CMNU.js";
|
|
12
12
|
import {
|
|
13
13
|
protectArtifact
|
|
14
14
|
} from "./chunk-GCSMB2KY.js";
|
|
15
15
|
import {
|
|
16
16
|
stripTokenizerSentinels
|
|
17
17
|
} from "./chunk-CFGTUFWB.js";
|
|
18
|
-
import {
|
|
19
|
-
BusChannels
|
|
20
|
-
} from "./chunk-HLW2MRKE.js";
|
|
21
18
|
import {
|
|
22
19
|
CURRENT_SESSION_FORMAT_VERSION,
|
|
23
20
|
appendSessionFileEntry,
|
|
@@ -29,7 +26,10 @@ import {
|
|
|
29
26
|
readSessionMeta,
|
|
30
27
|
resumeSession,
|
|
31
28
|
sessionPaths
|
|
32
|
-
} from "./chunk-
|
|
29
|
+
} from "./chunk-MQXIVJ35.js";
|
|
30
|
+
import {
|
|
31
|
+
BusChannels
|
|
32
|
+
} from "./chunk-HLW2MRKE.js";
|
|
33
33
|
import {
|
|
34
34
|
clioStateDir,
|
|
35
35
|
stateRootRemoved
|
|
@@ -1139,7 +1139,7 @@ function createSessionBundle(context) {
|
|
|
1139
1139
|
await performCheckpoint(state, "shutdown");
|
|
1140
1140
|
} catch (err) {
|
|
1141
1141
|
process.stderr.write(
|
|
1142
|
-
`[clio:session] shutdown checkpoint failed: ${err instanceof Error ? err.message : String(err)}
|
|
1142
|
+
`[clio-coder:session] shutdown checkpoint failed: ${err instanceof Error ? err.message : String(err)}
|
|
1143
1143
|
`
|
|
1144
1144
|
);
|
|
1145
1145
|
}
|
|
@@ -1311,6 +1311,12 @@ var SessionDomainModule = {
|
|
|
1311
1311
|
};
|
|
1312
1312
|
|
|
1313
1313
|
// src/domains/session/archive-readers.ts
|
|
1314
|
+
var ROUTING_NOTICE_CUSTOM_TYPE = "clio-coder.routing-notice";
|
|
1315
|
+
var LEGACY_ROUTING_NOTICE_CUSTOM_TYPE = "clio.routing-notice";
|
|
1316
|
+
function normalizeReleasedCustomType(entry) {
|
|
1317
|
+
if (entry.kind !== "custom" || entry.customType !== LEGACY_ROUTING_NOTICE_CUSTOM_TYPE) return entry;
|
|
1318
|
+
return { ...entry, customType: ROUTING_NOTICE_CUSTOM_TYPE };
|
|
1319
|
+
}
|
|
1314
1320
|
async function readAuditRows(stateDir) {
|
|
1315
1321
|
const root = join3(stateDir, "audit");
|
|
1316
1322
|
let files;
|
|
@@ -1415,7 +1421,7 @@ function parseSessionEntries(raw, source) {
|
|
|
1415
1421
|
}
|
|
1416
1422
|
if (isSessionHeader(parsed)) continue;
|
|
1417
1423
|
if (isSessionEntry(parsed)) {
|
|
1418
|
-
entries.push(parsed);
|
|
1424
|
+
entries.push(normalizeReleasedCustomType(parsed));
|
|
1419
1425
|
continue;
|
|
1420
1426
|
}
|
|
1421
1427
|
errors.push(
|
|
@@ -1475,4 +1481,4 @@ export {
|
|
|
1475
1481
|
ledgerUsageCalls,
|
|
1476
1482
|
SessionDomainModule
|
|
1477
1483
|
};
|
|
1478
|
-
//# sourceMappingURL=chunk-
|
|
1484
|
+
//# sourceMappingURL=chunk-TVH4ONAM.js.map
|