@iowarp/clio-coder 0.3.9 → 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 +92 -0
- package/NOTICE +33 -0
- package/README.md +121 -16
- package/dist/{acp-7LOELQFP.js → acp-ZILU3AUO.js} +19 -18
- package/dist/{agents-FIBG2SHA.js → agents-HYWGBGQR.js} +53 -39
- package/dist/assets/codewiki.json +1 -1
- package/dist/{auth-OI4LIH2I.js → auth-N3QT7CBO.js} +24 -21
- package/dist/{builtins-AD25UL3C.js → builtins-UJLMOVOV.js} +6 -6
- package/dist/{chunk-I4HZDVNP.js → chunk-2LEAKD4C.js} +2 -3
- package/dist/{chunk-465CC7FK.js → chunk-2NM363SV.js} +60 -64
- package/dist/{chunk-4H6ULJ3H.js → chunk-2VG7KLYV.js} +1046 -1370
- package/dist/{chunk-SST6Z5JA.js → chunk-336NSSKI.js} +1 -1
- package/dist/{chunk-NZU6YDNV.js → chunk-3I5NY75V.js} +5 -5
- package/dist/{chunk-47CMYGET.js → chunk-3QSOM6PA.js} +2 -2
- package/dist/chunk-42FMPA75.js +101 -0
- package/dist/{chunk-HAY4ZE2P.js → chunk-5PSMVOLM.js} +2 -2
- package/dist/{chunk-IHKBWSXF.js → chunk-5QIAJV2D.js} +3 -3
- package/dist/chunk-5YHDIDBP.js +97 -0
- package/dist/chunk-6CCS4G3W.js +1529 -0
- package/dist/{chunk-2JDWVJND.js → chunk-6DWBAZ5U.js} +2 -2
- package/dist/{chunk-BVDVID7E.js → chunk-6FN3E6KX.js} +6 -6
- package/dist/{chunk-DG4M6ZUE.js → chunk-6HMJX2VU.js} +59 -59
- package/dist/{chunk-3MRC2YSQ.js → chunk-6I5ILFOF.js} +3 -2
- package/dist/chunk-6NJQITNH.js +1412 -0
- package/dist/chunk-6VC4OV3Z.js +365 -0
- package/dist/{chunk-LU7P4LHA.js → chunk-72GZI5EV.js} +2 -2
- package/dist/{chunk-5T7RBWN2.js → chunk-74YWRRU5.js} +9 -8
- package/dist/{chunk-VPTUJU4P.js → chunk-7EPLI7VL.js} +2 -2
- package/dist/{chunk-CA42X6KT.js → chunk-7OBGU7UB.js} +7 -7
- package/dist/{chunk-56KB5IJP.js → chunk-7PWAODYW.js} +3 -3
- package/dist/chunk-7RY5VZPH.js +573 -0
- package/dist/{chunk-OEDBCISO.js → chunk-ABLSQ6JX.js} +3 -3
- package/dist/{chunk-5HFBWUMU.js → chunk-AFKWHWXF.js} +13 -23
- package/dist/{chunk-FWDFM5ZU.js → chunk-AK5XEFVZ.js} +3 -3
- package/dist/{chunk-WXCJ7VME.js → chunk-AKB4GYDL.js} +7 -7
- package/dist/chunk-AP73CFDC.js +308 -0
- package/dist/{chunk-4LJX2PUC.js → chunk-BBTJOK6Y.js} +5 -5
- package/dist/{chunk-QQ7EKM72.js → chunk-BDPT6GTK.js} +13 -61
- package/dist/chunk-BJGUKIG4.js +302 -0
- package/dist/chunk-BMS5RKQY.js +27 -0
- package/dist/{chunk-TD7UE2L5.js → chunk-BTGG6BG2.js} +81 -40
- 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-BNAZZHFG.js → chunk-BYP5D4HI.js} +1 -1
- package/dist/{chunk-HJB5IUKP.js → chunk-C537JADH.js} +18 -18
- package/dist/{chunk-774ILSRL.js → chunk-CDNVLKUX.js} +5 -4
- package/dist/{chunk-HPCTNZM2.js → chunk-CTJ4RNAA.js} +4 -4
- package/dist/{chunk-AEYBF3TB.js → chunk-CWVRRIEI.js} +2 -2
- package/dist/chunk-D4CJV46V.js +462 -0
- package/dist/chunk-D7E7WCDF.js +27 -0
- package/dist/{chunk-5PVQ4SRS.js → chunk-E67WX76H.js} +10 -126
- package/dist/{chunk-FQ4SKYE4.js → chunk-EBY63B7G.js} +2 -5
- package/dist/chunk-EIMVLWB3.js +1842 -0
- package/dist/{chunk-AMKHQW3C.js → chunk-FEFIFZTL.js} +3 -3
- package/dist/{chunk-RAPCMZL4.js → chunk-FSP7CMNU.js} +9 -1
- package/dist/{chunk-3DUR4WUA.js → chunk-FYUN5KZ3.js} +25 -25
- package/dist/{chunk-MV3K5QF2.js → chunk-GCSMB2KY.js} +2 -2
- package/dist/chunk-GIZNH63R.js +40 -0
- package/dist/chunk-GPPB3JBE.js +688 -0
- package/dist/{chunk-B5XRQOLB.js → chunk-GVQJ5CCZ.js} +17 -11
- package/dist/chunk-HHV2GANA.js +88 -0
- package/dist/chunk-HJWWJ6IL.js +184 -0
- package/dist/{chunk-RKRLDWD3.js → chunk-HLW2MRKE.js} +1 -1
- package/dist/chunk-HRQMFLJP.js +75 -0
- package/dist/{chunk-AD7Y7STJ.js → chunk-HUAS7ITX.js} +107 -97
- package/dist/{chunk-O6I4CIEU.js → chunk-I66EAJFY.js} +6 -6
- package/dist/{chunk-S4COXYBG.js → chunk-IG7BCQBA.js} +129 -106
- package/dist/{chunk-N3PBVRTZ.js → chunk-IXJT6DCX.js} +9 -7
- package/dist/chunk-J4HBWF6Y.js +2635 -0
- package/dist/chunk-J5LZHVIT.js +284 -0
- package/dist/{chunk-GAYUJ7LE.js → chunk-JA5QWE4Z.js} +544 -227
- package/dist/{chunk-B5CSFE7B.js → chunk-JIEGK6UF.js} +6 -174
- package/dist/{chunk-VKBMFOYV.js → chunk-JZWT5J3Y.js} +23 -27
- package/dist/chunk-K6BF4U2H.js +1785 -0
- package/dist/{chunk-CGKSTWHD.js → chunk-K6BSR66V.js} +2 -1
- package/dist/{chunk-YSEHGPCT.js → chunk-MA3H6DM5.js} +6 -6
- package/dist/{chunk-EBOC7MT3.js → chunk-MOPSG2X7.js} +9 -9
- package/dist/{chunk-KV2AOLDF.js → chunk-MQXIVJ35.js} +18 -29
- package/dist/{chunk-P3JGPQFL.js → chunk-N5UK64DP.js} +4 -4
- package/dist/chunk-NDDGJUXD.js +81 -0
- package/dist/chunk-NEKRRTYW.js +56 -0
- package/dist/{chunk-4ZG3XFUR.js → chunk-NLFAQR7Z.js} +12 -1
- package/dist/{chunk-VO2LKSTM.js → chunk-O42A54GG.js} +2 -2
- package/dist/{chunk-T3Z6VAAF.js → chunk-OJTRZGR3.js} +53 -92
- package/dist/{chunk-5DQRIYDZ.js → chunk-PBP4B7XR.js} +3 -3
- package/dist/{chunk-NQ6UCCOD.js → chunk-PJJ6MY27.js} +8 -8
- package/dist/chunk-PMZCIOCJ.js +25 -0
- package/dist/{chunk-ZGVHUX3M.js → chunk-PMZVFWSR.js} +2 -2
- package/dist/{chunk-7C6RYZGQ.js → chunk-PVAMAVBB.js} +5 -4
- package/dist/chunk-QDC3K2U3.js +262 -0
- package/dist/{chunk-JEQQR47K.js → chunk-QKIFBZKT.js} +173 -14
- package/dist/{chunk-R7LNVMCS.js → chunk-QMXC4JB7.js} +70 -78
- package/dist/chunk-QSNYB6ZV.js +195 -0
- package/dist/chunk-QTFGO774.js +644 -0
- package/dist/{chunk-ODFEOB4F.js → chunk-R23Z6K6I.js} +27 -9
- package/dist/{chunk-3UUY7R3Z.js → chunk-R32CLGZ6.js} +14 -14
- package/dist/chunk-R346GLFC.js +31 -0
- package/dist/chunk-RKSR6VSF.js +132 -0
- package/dist/{chunk-N5XKWMDW.js → chunk-SCYB3HA4.js} +73 -27
- package/dist/{chunk-PZ4I4JE2.js → chunk-SINK3QR6.js} +135 -125
- package/dist/{chunk-5QKCQQ3E.js → chunk-SUW5DORT.js} +2 -2
- package/dist/chunk-T56WDKA5.js +183 -0
- package/dist/{chunk-ECUO3KDP.js → chunk-TD3PGPQA.js} +87 -26
- package/dist/{chunk-HKO36JWF.js → chunk-THYWACCR.js} +31 -3
- package/dist/{chunk-LXPJXFM5.js → chunk-TVH4ONAM.js} +18 -12
- package/dist/chunk-TVHHYFHE.js +255 -0
- package/dist/chunk-U2WB7TZS.js +271 -0
- package/dist/{chunk-NNNWO6F2.js → chunk-UAPGZHYC.js} +237 -33
- package/dist/{chunk-MIX5N5AC.js → chunk-UEDMSP56.js} +415 -160
- package/dist/{chunk-WIE7ZOSW.js → chunk-UXN6JT4W.js} +3 -3
- package/dist/{chunk-CMZWFGD2.js → chunk-VAVR4IJY.js} +19 -15
- package/dist/{chunk-MV2VUEJC.js → chunk-VEGN6WIQ.js} +2 -2
- package/dist/chunk-VKFQTNDV.js +66 -0
- package/dist/{chunk-FALJGAWU.js → chunk-VKRH2TCS.js} +2 -2
- package/dist/{chunk-A2NJGIB3.js → chunk-VN3SHNBN.js} +2 -2
- package/dist/{chunk-XK56QHLX.js → chunk-VPKWYKEY.js} +19 -5
- package/dist/{chunk-UOSL25KY.js → chunk-VXMFAE2W.js} +1 -1
- package/dist/{chunk-EQ63NRB7.js → chunk-WNP7O5WZ.js} +3 -3
- package/dist/chunk-WR6U3OVP.js +45 -0
- package/dist/{chunk-TEO2TLVN.js → chunk-XKA2ICR3.js} +1051 -1196
- package/dist/{chunk-3V5AYSEQ.js → chunk-Y45G3AXC.js} +72 -65
- package/dist/{chunk-J5Q24KAG.js → chunk-Y4CAGMM6.js} +2 -2
- package/dist/chunk-YAKGTXEV.js +17 -0
- package/dist/{chunk-ZI647VB5.js → chunk-YPI3QQCF.js} +2 -2
- package/dist/{chunk-YW7UVM5V.js → chunk-ZAZB4JMW.js} +55 -11
- package/dist/{chunk-HCBCAYZU.js → chunk-ZJLUDYFY.js} +11 -11
- package/dist/{chunk-HKIYEGME.js → chunk-ZTJUVLTU.js} +2 -2
- package/dist/{chunk-IFBNV6H6.js → chunk-ZW55JB7N.js} +3 -3
- package/dist/cli/index.js +48 -37
- package/dist/clio-IT3G3VQH.js +25 -0
- package/dist/{code-nav-LMW275PA.js → code-nav-RK6S7F6E.js} +8 -8
- package/dist/codewiki/build-worker.js +1 -1
- package/dist/{compile-cache-CVJMMODC.js → compile-cache-OQAVB7Y5.js} +3 -5
- package/dist/{components-ZFA3SAER.js → components-UBWCQSRW.js} +6 -6
- package/dist/{config-RXS5T3JT.js → config-3QZRWZJF.js} +73 -61
- package/dist/configure-FL7Y3KJF.js +54 -0
- package/dist/{context-MVOORGMF.js → context-5HE7ODYK.js} +61 -49
- package/dist/{context-I3BTOTCS.js → context-KYQFRVDC.js} +11 -11
- package/dist/{context-PALKKQYL.js → context-XNHL75JV.js} +43 -28
- package/dist/{context-clear-N2WOYZ2K.js → context-clear-N545L53A.js} +60 -48
- package/dist/{context-working-set-MIEVECVZ.js → context-working-set-QHKXSV2F.js} +15 -13
- package/dist/{dispatch-runner-VVA4SRRH.js → dispatch-runner-RGIE5PCT.js} +109 -72
- package/dist/{docs-7LQ23DLM.js → docs-5NAF6AU7.js} +7 -13
- package/dist/doctor-ZGPEGHIP.js +772 -0
- package/dist/{eval-IJ5VEZDJ.js → eval-GXLL44RD.js} +106 -86
- package/dist/eval-inventory-HBWSWQOK.js +315 -0
- package/dist/{evidence-L5APPXNV.js → evidence-HWLBRH3Q.js} +209 -51
- package/dist/{evolve-RGNKFJ52.js → evolve-FTZBMNVW.js} +57 -45
- package/dist/{extensions-7WYWUX5A.js → extensions-VHRBEID7.js} +7 -7
- package/dist/{fleet-6CNVBZZP.js → fleet-CKZHJWZJ.js} +215 -114
- package/dist/{fleet-commands-L2SXSYEI.js → fleet-commands-EXDXBMV6.js} +13 -12
- package/dist/fleet-decisions-OTHB6KRL.js +157 -0
- package/dist/{fleet-graph-2J3OOIPO.js → fleet-graph-YTEZUCUT.js} +20 -17
- package/dist/fleet-inspect-SS6YMDCK.js +445 -0
- package/dist/{fleet-preflight-CZRJ4JP5.js → fleet-preflight-PBY4VYOM.js} +6 -9
- package/dist/{fleet-validate-C5RI6DP7.js → fleet-validate-KMEM5L3S.js} +25 -20
- package/dist/fleet-verify-QD5M7E7Q.js +178 -0
- package/dist/fleet-view-WAMJYNDT.js +94 -0
- package/dist/{init-VBN2ACVA.js → init-5XQRBOFV.js} +79 -66
- package/dist/install-NKNG7KD4.js +13 -0
- package/dist/interop-34TVO25M.js +116 -0
- package/dist/{library-JHGUMLY2.js → library-3QY6KF57.js} +25 -21
- package/dist/{memory-K4OQIYWG.js → memory-L4UTIIIW.js} +59 -47
- package/dist/{models-2NCZUWDD.js → models-ZVX3QOWE.js} +47 -37
- package/dist/{monitor-MMVTJABD.js → monitor-CEKVSYTS.js} +67 -57
- package/dist/{orchestrator-ZKBPCHW6.js → orchestrator-77BAP6BC.js} +7633 -7699
- package/dist/panes-7STHOAUJ.js +103 -0
- package/dist/panes-SHAUIRXY.js +60 -0
- package/dist/{paths-DBXMZMDU.js → paths-L7LGY6RN.js} +6 -6
- package/dist/{reset-DD5JGOY3.js → reset-EOLM7GVE.js} +15 -14
- package/dist/resources-74GKTLSF.js +115 -0
- package/dist/{run-QEGNX7FL.js → run-HBAUJNNZ.js} +139 -98
- package/dist/{share-JKD3BQMW.js → share-G3APVLVP.js} +25 -21
- package/dist/{skills-LMQIKDOZ.js → skills-35HHUKCR.js} +37 -27
- package/dist/{skills-eval-I7X2774U.js → skills-eval-QN4HSHDC.js} +80 -73
- package/dist/skills-inventory-J357J34F.js +129 -0
- package/dist/slash-commands-JZZCQA32.js +79 -0
- package/dist/{steer-CF5TDANS.js → steer-XAVHJM22.js} +4 -4
- package/dist/{support-I7LOJLIF.js → support-U7QOWY26.js} +7 -7
- package/dist/{targets-RUSR6B5Z.js → targets-DSM6CY3M.js} +67 -59
- package/dist/{terminal-lease-QYVORFR4.js → terminal-lease-JOPFUVEM.js} +15 -10
- package/dist/tools-MKNWVPBH.js +29 -0
- package/dist/{trace-ODOQIVIW.js → trace-ECQ7TIYZ.js} +194 -7
- package/dist/tui-primitives-K5PASC3O.js +17 -0
- package/dist/{uninstall-ZJF5H5ZN.js → uninstall-N34PCTGJ.js} +6 -8
- package/dist/{upgrade-XANW3FXB.js → upgrade-H7TOM7YL.js} +37 -62
- package/dist/{usage-4H7ZRXQT.js → usage-X52N3IDJ.js} +70 -59
- package/dist/{verifiers-UZXNBZEB.js → verifiers-EJTVVSMA.js} +174 -14
- package/dist/{verify-BVKWTNDL.js → verify-YJL6XET2.js} +12 -11
- package/dist/{web-fetch-2YHJ3KTG.js → web-fetch-MPIFL3LL.js} +3 -4
- package/dist/{wiki-generate-MY7WV2QI.js → wiki-generate-4NDZTQ4B.js} +86 -75
- package/dist/with-panes-OBOBFIIR.js +818 -0
- package/dist/worker/entry.js +131 -91
- package/docs/README.md +3 -2
- package/docs/acp.md +25 -4
- package/docs/alcf-provider.md +1 -1
- package/docs/architecture.md +2 -2
- package/docs/artifact-versions.md +4 -1
- package/docs/built-in-agents.md +40 -32
- package/docs/capacity-and-scheduling.md +43 -5
- package/docs/commands-and-modes.md +39 -4
- package/docs/config-knobs-audit.md +3 -0
- package/docs/configuration-and-targets.md +138 -167
- package/docs/context-engine.md +1 -1
- package/docs/development-pipeline.md +19 -0
- package/docs/dispatch-typed-intent.md +385 -0
- package/docs/documentation-coverage.md +2 -2
- package/docs/documentation-guide.md +1 -1
- package/docs/environment-variables.md +3 -1
- package/docs/eval-runner.md +1 -1
- package/docs/evals-internal.md +1 -1
- package/docs/evidence-and-memory.md +2 -2
- package/docs/evolution.md +1 -1
- package/docs/exit-codes-and-output.md +3 -1
- package/docs/extensions-and-sharing.md +25 -1
- package/docs/fleet-demo-runbook.md +6 -3
- package/docs/fleet-dispatch.md +30 -7
- package/docs/installation-and-lifecycle.md +16 -3
- package/docs/middleware-and-components.md +1 -1
- package/docs/model-catalog.md +10 -1
- package/docs/observability.md +3 -3
- package/docs/proactive-memory.md +1 -1
- package/docs/prompt-envelope-and-tools.md +1 -1
- package/docs/provider-adapter-cookbook.md +1 -1
- package/docs/release-cut-checklist.md +164 -177
- package/docs/safety-model.md +2 -2
- package/docs/scientific-validation.md +3 -3
- package/docs/session-lifecycle.md +1 -1
- package/docs/skills-marketplace.md +1 -1
- package/docs/tool-usage.md +18 -8
- package/docs/trace-store.md +16 -11
- package/docs/troubleshooting.md +2 -2
- package/docs/tui-design.md +1 -1
- package/docs/worker-dispatch-mechanics.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 +8 -16
- 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 +8 -4
- package/src/cli/argv.ts +25 -0
- 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 +50 -48
- 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 +156 -0
- package/src/cli/doctor-toolchain.ts +78 -0
- package/src/cli/doctor.ts +34 -1
- package/src/cli/eval-inventory.ts +436 -0
- package/src/cli/eval.ts +13 -0
- package/src/cli/evidence-detail.ts +88 -0
- package/src/cli/evidence-inventory.ts +183 -0
- package/src/cli/evidence.ts +30 -5
- package/src/cli/fleet-decisions.ts +69 -0
- package/src/cli/fleet-inspect.ts +334 -0
- package/src/cli/fleet-preflight.ts +1 -1
- package/src/cli/fleet-verify.ts +133 -0
- package/src/cli/fleet-view.ts +827 -0
- package/src/cli/fleet.ts +154 -40
- package/src/cli/index.ts +14 -2
- package/src/cli/interop-inspect.ts +128 -0
- package/src/cli/interop.ts +34 -0
- package/src/cli/models.ts +3 -3
- package/src/cli/modes/print.ts +1 -1
- package/src/cli/panes.ts +35 -0
- package/src/cli/reset.ts +6 -3
- package/src/cli/run.ts +67 -13
- package/src/cli/share.ts +1 -1
- package/src/cli/skills-eval.ts +11 -11
- package/src/cli/skills-inventory.ts +185 -0
- package/src/cli/skills.ts +16 -13
- package/src/cli/targets.ts +23 -24
- package/src/cli/tools.ts +321 -0
- package/src/cli/trace-inspect.ts +252 -0
- package/src/cli/trace.ts +64 -2
- 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 +347 -0
- package/src/cli/verifiers.ts +9 -0
- 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-events.ts +4 -0
- package/src/core/bus-trace.ts +2 -2
- package/src/core/compile-cache.ts +1 -1
- package/src/core/config.ts +1070 -845
- package/src/core/defaults.ts +342 -463
- 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/response-schema.ts +44 -4
- 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/theme-token-hex.ts +43 -0
- package/src/core/timers.ts +2 -12
- package/src/core/tool-names.ts +2 -1
- package/src/core/xdg.ts +1 -1
- package/src/domains/agents/catalog.ts +2 -12
- package/src/domains/agents/extension.ts +3 -3
- package/src/domains/agents/fleets/build-review.md +0 -3
- package/src/domains/agents/fleets/build-test.md +0 -3
- package/src/domains/agents/registry.ts +7 -7
- package/src/domains/agents/result-contract-filesystem.ts +32 -0
- package/src/domains/agents/result-contract.ts +165 -36
- package/src/domains/agents/spec.ts +0 -11
- package/src/domains/config/classify.ts +37 -46
- 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/admission-error.ts +9 -0
- package/src/domains/dispatch/admission.ts +22 -21
- 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 +23 -6
- package/src/domains/dispatch/code-step.ts +1 -1
- package/src/domains/dispatch/contract.ts +2 -2
- package/src/domains/dispatch/council-topology.ts +398 -0
- package/src/domains/dispatch/extension.ts +287 -111
- package/src/domains/dispatch/fleet-node-prompt.ts +62 -0
- package/src/domains/dispatch/fleet-plan.ts +7 -2
- package/src/domains/dispatch/fleet-preflight.ts +8 -17
- package/src/domains/dispatch/fleet-run.ts +59 -3
- package/src/domains/dispatch/gate-decisions.ts +36 -15
- package/src/domains/dispatch/gate-role-prompts.ts +9 -0
- package/src/domains/dispatch/gate-topology.ts +289 -0
- package/src/domains/dispatch/index.ts +19 -0
- package/src/domains/dispatch/intent-compatibility.ts +330 -0
- package/src/domains/dispatch/intent.ts +85 -1
- 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 +24 -27
- 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-bridge.ts +149 -0
- package/src/domains/dispatch/run-event-journal.ts +599 -0
- package/src/domains/dispatch/state.ts +45 -1
- package/src/domains/dispatch/tool-stats.ts +1 -1
- package/src/domains/dispatch/transport.ts +2 -19
- package/src/domains/dispatch/types.ts +16 -3
- package/src/domains/dispatch/validation.ts +33 -8
- package/src/domains/dispatch/worker-protocol.ts +2 -2
- package/src/domains/eval/artifacts/store.ts +5 -4
- package/src/domains/eval/compare/compare.ts +3 -16
- package/src/domains/eval/compare/thresholds.ts +0 -8
- package/src/domains/eval/execution-provenance.ts +1 -1
- package/src/domains/eval/inventory.ts +113 -0
- 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/serving.ts +31 -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/evidence/store.ts +6 -0
- 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/index.ts +0 -1
- package/src/domains/memory/task-memory-handoff.ts +6 -3
- package/src/domains/memory/task-memory-policy.ts +6 -10
- package/src/domains/memory/task-memory-telemetry.ts +1 -0
- package/src/domains/middleware/index.ts +7 -0
- package/src/domains/middleware/marketplace-offer.ts +339 -0
- package/src/domains/middleware/memory-intervention.ts +33 -21
- package/src/domains/middleware/runtime.ts +2 -2
- package/src/domains/mux/contract.ts +566 -0
- package/src/domains/mux/detect.ts +182 -0
- package/src/domains/mux/dock-controller.ts +365 -0
- package/src/domains/mux/extension.ts +53 -0
- package/src/domains/mux/index.ts +116 -0
- package/src/domains/mux/manifest.ts +6 -0
- package/src/domains/mux/operations.ts +192 -0
- package/src/domains/mux/pane-registry.ts +90 -0
- package/src/domains/mux/protocol.ts +62 -0
- package/src/domains/mux/socket-client.ts +964 -0
- package/src/domains/mux/types.ts +265 -0
- package/src/domains/mux/viewer-command.ts +59 -0
- package/src/domains/mux/yazi/assets/init.lua +2 -0
- package/src/domains/mux/yazi/assets/plugins/git.yazi/LICENSE +21 -0
- package/src/domains/mux/yazi/assets/plugins/git.yazi/README.md +78 -0
- package/src/domains/mux/yazi/assets/plugins/git.yazi/main.lua +255 -0
- package/src/domains/mux/yazi/assets/plugins/git.yazi/types.lua +12 -0
- package/src/domains/mux/yazi/assets/yazi.toml +17 -0
- package/src/domains/mux/yazi/event-stream.ts +182 -0
- package/src/domains/mux/yazi/profile.ts +299 -0
- package/src/domains/mux/yazi/session.ts +251 -0
- package/src/domains/mux/yazi/theme.ts +30 -0
- package/src/domains/observability/cost.ts +21 -0
- package/src/domains/observability/extension.ts +1 -1
- package/src/domains/observability/index.ts +2 -0
- 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 +63 -11
- 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/endpoint-capacity.ts +154 -22
- package/src/domains/providers/endpoint-slots-store.ts +189 -0
- package/src/domains/providers/extension.ts +25 -8
- package/src/domains/providers/index.ts +22 -0
- package/src/domains/providers/knowledge-base-path.ts +1 -1
- package/src/domains/providers/model-runtime-capabilities.ts +46 -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/boot-manifest.ts +1 -0
- package/src/domains/providers/runtimes/builtins.ts +2 -0
- 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 +285 -0
- package/src/domains/providers/support.ts +1 -0
- package/src/domains/providers/target-model-cache.ts +124 -0
- 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/index.ts +3 -0
- 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 +72 -13
- package/src/domains/resources/skills/marketplace.ts +21 -2
- package/src/domains/resources/skills/promotion.ts +214 -0
- package/src/domains/safety/action-classifier.ts +6 -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/archive.ts +175 -0
- package/src/domains/toolchain/contract.ts +28 -0
- package/src/domains/toolchain/extension.ts +47 -0
- package/src/domains/toolchain/index.ts +39 -0
- package/src/domains/toolchain/install.ts +327 -0
- package/src/domains/toolchain/manifest.ts +8 -0
- package/src/domains/toolchain/paths.ts +34 -0
- package/src/domains/toolchain/registry.ts +265 -0
- package/src/domains/toolchain/remove.ts +218 -0
- package/src/domains/toolchain/resolve.ts +182 -0
- package/src/domains/toolchain/types.ts +113 -0
- package/src/domains/toolchain/version.ts +88 -0
- package/src/engine/acp/adapter.ts +3 -3
- package/src/engine/acp/event-mapper.ts +3 -3
- package/src/engine/acp/server.ts +440 -96
- package/src/engine/acp/tool-mediator.ts +2 -2
- package/src/engine/acp/types.ts +20 -2
- 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 +87 -0
- package/src/engine/claude/sdk-runtime.ts +25 -17
- 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 +21 -0
- package/src/engine/tui.ts +1 -0
- package/src/engine/worker-events.ts +6 -6
- package/src/engine/worker-runtime.ts +16 -26
- package/src/entry/boot-options.ts +2 -0
- package/src/entry/orchestrator.ts +207 -90
- package/src/entry/panes-activation.ts +31 -0
- package/src/entry/with-panes.ts +20 -0
- 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 +2 -1
- package/src/interactive/cost-overlay.ts +3 -1
- package/src/interactive/council-grid.ts +3 -5
- package/src/interactive/council.ts +11 -0
- package/src/interactive/dispatch-board.ts +56 -49
- 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 +229 -62
- package/src/interactive/interactive-event-projection.ts +1 -1
- package/src/interactive/interactive-input-runtime.ts +9 -2
- package/src/interactive/interactive-presentation.ts +21 -16
- package/src/interactive/interactive-shell.ts +2 -2
- package/src/interactive/interactive-slash-runtime.ts +99 -23
- 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 +3 -2
- package/src/interactive/modal-marker.ts +151 -0
- package/src/interactive/mutation-preview.ts +1 -1
- package/src/interactive/mux-bridge.ts +214 -0
- package/src/interactive/overlay-frame.ts +62 -14
- package/src/interactive/overlay-general-openers.ts +7 -2
- package/src/interactive/overlay-key-routing.ts +21 -10
- package/src/interactive/overlay-lifecycle.ts +20 -4
- package/src/interactive/overlay-model-selectors.ts +43 -6
- package/src/interactive/overlay-permission-lifecycle.ts +90 -22
- package/src/interactive/overlay-transitions.ts +18 -4
- package/src/interactive/overlays/agents.ts +3 -2
- package/src/interactive/overlays/ask-user.ts +161 -41
- package/src/interactive/overlays/auth-dialog.ts +1 -0
- package/src/interactive/overlays/context-reset.ts +29 -4
- package/src/interactive/overlays/cwd-fallback.ts +29 -4
- package/src/interactive/overlays/decisions.ts +15 -13
- package/src/interactive/overlays/extensions.ts +1 -0
- package/src/interactive/overlays/fleet-run-approval.ts +4 -3
- package/src/interactive/overlays/handoff-review.ts +3 -2
- package/src/interactive/overlays/help-reference.ts +2 -0
- package/src/interactive/overlays/interop.ts +2 -1
- package/src/interactive/overlays/library-install-confirm.ts +2 -1
- package/src/interactive/overlays/library-tabs.ts +28 -0
- package/src/interactive/overlays/list-overlay.ts +10 -1
- package/src/interactive/overlays/message-picker.ts +2 -1
- package/src/interactive/overlays/model-scope.ts +86 -0
- package/src/interactive/overlays/model-selector.ts +40 -31
- package/src/interactive/overlays/prompts.ts +11 -4
- package/src/interactive/overlays/session-selector.ts +3 -2
- package/src/interactive/overlays/settings-sections.ts +30 -0
- package/src/interactive/overlays/settings.ts +849 -268
- package/src/interactive/overlays/side-question.ts +3 -2
- package/src/interactive/overlays/skills-hub.ts +11 -19
- package/src/interactive/overlays/tree-selector.ts +3 -2
- package/src/interactive/pane-policy.ts +46 -0
- package/src/interactive/panes-runtime.ts +318 -0
- package/src/interactive/permission-overlay.ts +2 -2
- package/src/interactive/renderers/compaction-summary.ts +29 -0
- package/src/interactive/renderers/retry-status.ts +12 -4
- package/src/interactive/renderers/tool-execution.ts +4 -4
- package/src/interactive/renderers/worker-entry.ts +122 -14
- package/src/interactive/session-transcript.ts +3 -3
- package/src/interactive/slash-autocomplete.ts +454 -165
- package/src/interactive/slash-commands.ts +521 -189
- 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 +21 -13
- package/src/interactive/terminal-lease.ts +6 -7
- package/src/interactive/theme/tokens.ts +3 -14
- package/src/interactive/turn-context.ts +58 -13
- 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 +120 -9
- package/src/interactive/view/view-overlay.ts +14 -10
- package/src/interactive/watch-pane.ts +180 -0
- package/src/interactive/welcome-dashboard.ts +15 -15
- package/src/interactive/worker-progress.ts +11 -5
- package/src/interactive/worker-receipts.ts +20 -2
- package/src/interactive/worker-stream.ts +6 -4
- package/src/interactive/yazi-bridge.ts +451 -0
- package/src/tools/ask-user.ts +3 -3
- package/src/tools/bash.ts +1 -1
- package/src/tools/bootstrap.ts +26 -2
- package/src/tools/builtin-tool-catalog.ts +16 -1
- package/src/tools/compete-worktrees.ts +108 -17
- package/src/tools/context/index.ts +15 -1
- package/src/tools/core-bootstrap.ts +2 -1
- package/src/tools/dispatch-admission.ts +18 -5
- package/src/tools/dispatch-arguments.ts +21 -21
- package/src/tools/dispatch-plan.ts +0 -11
- package/src/tools/dispatch-run-events.ts +145 -28
- package/src/tools/dispatch-runner.ts +40 -13
- package/src/tools/dispatch-types.ts +15 -3
- package/src/tools/dispatch.ts +2 -2
- package/src/tools/executables.ts +17 -14
- package/src/tools/find.ts +1 -6
- package/src/tools/monitor.ts +4 -4
- package/src/tools/observation.ts +54 -4
- package/src/tools/observers.ts +0 -33
- package/src/tools/panes-surface.ts +38 -0
- package/src/tools/panes.ts +112 -0
- package/src/tools/policy.ts +10 -1
- package/src/tools/presentation.ts +1 -0
- 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-D73KXYPF.js +0 -37
- package/dist/chunk-MLOK6ZOS.js +0 -2888
- package/dist/chunk-PNY46YEY.js +0 -1581
- package/dist/chunk-XDOQXGFO.js +0 -515
- package/dist/chunk-YKOFT37S.js +0 -279
- package/dist/clio-LT5V7SSZ.js +0 -26
- package/dist/configure-2WYWSCSD.js +0 -49
- package/dist/doctor-TWBWFK5V.js +0 -165
- 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
package/dist/worker/entry.js
CHANGED
|
@@ -16,28 +16,32 @@ import {
|
|
|
16
16
|
resolveDeliveryTools,
|
|
17
17
|
sanitizeLockedSynthesisMessage,
|
|
18
18
|
workerLoopBlockBudget
|
|
19
|
-
} from "../chunk-
|
|
19
|
+
} from "../chunk-QMXC4JB7.js";
|
|
20
20
|
import "../chunk-K7VKOLQQ.js";
|
|
21
21
|
import {
|
|
22
22
|
createMiddlewareContractFromSnapshot,
|
|
23
23
|
createMiddlewareToolChoiceControl,
|
|
24
24
|
shouldRequestStalledTurnContinuation
|
|
25
|
-
} from "../chunk-
|
|
25
|
+
} from "../chunk-JA5QWE4Z.js";
|
|
26
26
|
import {
|
|
27
27
|
CONFIRMED_SCOPE,
|
|
28
28
|
READONLY_SCOPE,
|
|
29
29
|
WORKSPACE_SCOPE,
|
|
30
30
|
isSubset
|
|
31
|
-
} from "../chunk-
|
|
31
|
+
} from "../chunk-5PSMVOLM.js";
|
|
32
32
|
import {
|
|
33
33
|
createLoopState,
|
|
34
34
|
observe
|
|
35
35
|
} from "../chunk-UOV2BYIW.js";
|
|
36
|
-
import "../chunk-
|
|
37
|
-
import "../chunk-
|
|
38
|
-
import "../chunk-
|
|
39
|
-
import "../chunk-
|
|
40
|
-
import "../chunk-
|
|
36
|
+
import "../chunk-BMS5RKQY.js";
|
|
37
|
+
import "../chunk-QSNYB6ZV.js";
|
|
38
|
+
import "../chunk-QDC3K2U3.js";
|
|
39
|
+
import "../chunk-YPI3QQCF.js";
|
|
40
|
+
import "../chunk-7OBGU7UB.js";
|
|
41
|
+
import "../chunk-ABLSQ6JX.js";
|
|
42
|
+
import "../chunk-PBP4B7XR.js";
|
|
43
|
+
import "../chunk-JZWT5J3Y.js";
|
|
44
|
+
import "../chunk-I66EAJFY.js";
|
|
41
45
|
import "../chunk-VG7TBQIY.js";
|
|
42
46
|
import {
|
|
43
47
|
DEFAULT_ESCALATION_FALLBACK,
|
|
@@ -46,43 +50,37 @@ import {
|
|
|
46
50
|
claudeToolsOutsideProfile,
|
|
47
51
|
coerceToolInput,
|
|
48
52
|
createRunEffectsRecorder,
|
|
49
|
-
describeCallTarget,
|
|
50
53
|
emitClaudeToolPermissionDecision,
|
|
51
54
|
isClaudeCodeSessionId,
|
|
55
|
+
nodeResultContractFilesystem,
|
|
52
56
|
parseWorkerSpec,
|
|
53
57
|
runtimeSpeaksResponseSchemaDialect,
|
|
54
58
|
startAntigravityWorkerRun,
|
|
55
59
|
startClaudeCodeWorkerRun,
|
|
56
60
|
validateRehydratedWorkerRuntime
|
|
57
|
-
} from "../chunk-
|
|
58
|
-
import "../chunk-
|
|
59
|
-
import "../chunk-
|
|
60
|
-
import "../chunk-
|
|
61
|
-
import "../chunk-7C6RYZGQ.js";
|
|
61
|
+
} from "../chunk-2VG7KLYV.js";
|
|
62
|
+
import "../chunk-7EPLI7VL.js";
|
|
63
|
+
import "../chunk-6DWBAZ5U.js";
|
|
64
|
+
import "../chunk-PVAMAVBB.js";
|
|
62
65
|
import {
|
|
63
66
|
createSafetyPolicyEngine
|
|
64
|
-
} from "../chunk-
|
|
65
|
-
import "../chunk-A2NJGIB3.js";
|
|
66
|
-
import "../chunk-OQE5J4C6.js";
|
|
67
|
-
import {
|
|
68
|
-
RESULT_CONTRACT_REPAIR_LIMIT,
|
|
69
|
-
classify,
|
|
70
|
-
parseWorkerResultContract,
|
|
71
|
-
resultContractRepairMessages,
|
|
72
|
-
validateResultContract
|
|
73
|
-
} from "../chunk-S4COXYBG.js";
|
|
67
|
+
} from "../chunk-IXJT6DCX.js";
|
|
74
68
|
import {
|
|
75
|
-
|
|
76
|
-
} from "../chunk-
|
|
69
|
+
describeCallTarget
|
|
70
|
+
} from "../chunk-TVHHYFHE.js";
|
|
71
|
+
import "../chunk-42FMPA75.js";
|
|
72
|
+
import "../chunk-H7IXIC72.js";
|
|
73
|
+
import "../chunk-VN3SHNBN.js";
|
|
74
|
+
import "../chunk-OQE5J4C6.js";
|
|
77
75
|
import {
|
|
78
76
|
DEFAULT_AUTONOMY_LEVEL,
|
|
79
77
|
agentSkillToolPolicy
|
|
80
|
-
} from "../chunk-
|
|
81
|
-
import "../chunk-
|
|
82
|
-
import "../chunk-ODFEOB4F.js";
|
|
78
|
+
} from "../chunk-FSP7CMNU.js";
|
|
79
|
+
import "../chunk-R23Z6K6I.js";
|
|
83
80
|
import "../chunk-OZNBF4L3.js";
|
|
84
81
|
import "../chunk-4BJ5BYCE.js";
|
|
85
|
-
import "../chunk-
|
|
82
|
+
import "../chunk-6XLNIQDB.js";
|
|
83
|
+
import "../chunk-U2WB7TZS.js";
|
|
86
84
|
import {
|
|
87
85
|
UNKNOWN_RESOURCE,
|
|
88
86
|
WORKER_PROTOCOL_VERSION,
|
|
@@ -97,16 +95,27 @@ import {
|
|
|
97
95
|
toolSignatureOf,
|
|
98
96
|
withinFrameBudget,
|
|
99
97
|
workerSpecDigest
|
|
100
|
-
} from "../chunk-
|
|
98
|
+
} from "../chunk-VAVR4IJY.js";
|
|
101
99
|
import {
|
|
102
100
|
deleteInjectedCompileCacheFrom
|
|
103
|
-
} from "../chunk-
|
|
104
|
-
import "../chunk-
|
|
105
|
-
import
|
|
101
|
+
} from "../chunk-2LEAKD4C.js";
|
|
102
|
+
import "../chunk-HHV2GANA.js";
|
|
103
|
+
import {
|
|
104
|
+
RESULT_CONTRACT_REPAIR_LIMIT,
|
|
105
|
+
classify,
|
|
106
|
+
parseWorkerResultContract,
|
|
107
|
+
resultContractRepairMessages,
|
|
108
|
+
validateResultContract
|
|
109
|
+
} from "../chunk-IG7BCQBA.js";
|
|
110
|
+
import {
|
|
111
|
+
protectedArtifactMutationBlockReason
|
|
112
|
+
} from "../chunk-GCSMB2KY.js";
|
|
113
|
+
import "../chunk-UL3WSD3F.js";
|
|
114
|
+
import "../chunk-ECH6PKUQ.js";
|
|
106
115
|
import "../chunk-5B2AEOW5.js";
|
|
107
116
|
import {
|
|
108
117
|
ToolNames
|
|
109
|
-
} from "../chunk-
|
|
118
|
+
} from "../chunk-K6BSR66V.js";
|
|
110
119
|
import "../chunk-65DEGPJ6.js";
|
|
111
120
|
import {
|
|
112
121
|
FileKnowledgeBase,
|
|
@@ -118,23 +127,27 @@ import {
|
|
|
118
127
|
setGlobalDefaultMaxOutputTokens,
|
|
119
128
|
setProtectedModelsProvider,
|
|
120
129
|
setResidencyNoticeSink
|
|
121
|
-
} from "../chunk-
|
|
130
|
+
} from "../chunk-UEDMSP56.js";
|
|
122
131
|
import "../chunk-CFGTUFWB.js";
|
|
123
|
-
import "../chunk-
|
|
124
|
-
import "../chunk-
|
|
132
|
+
import "../chunk-72GZI5EV.js";
|
|
133
|
+
import "../chunk-CWVRRIEI.js";
|
|
134
|
+
import "../chunk-MQXIVJ35.js";
|
|
135
|
+
import "../chunk-R346GLFC.js";
|
|
136
|
+
import "../chunk-PMZVFWSR.js";
|
|
137
|
+
import "../chunk-HLW2MRKE.js";
|
|
138
|
+
import "../chunk-BTK3SSSK.js";
|
|
125
139
|
import "../chunk-IHXBNWMM.js";
|
|
126
|
-
import {
|
|
127
|
-
setGitCommitAttributionEnabled,
|
|
128
|
-
withManagedGitCommitAttributionEnvironment
|
|
129
|
-
} from "../chunk-B5CSFE7B.js";
|
|
130
140
|
import {
|
|
131
141
|
readSettings,
|
|
132
142
|
validateSettingsFile
|
|
133
|
-
} from "../chunk-
|
|
134
|
-
import "../chunk-
|
|
135
|
-
import "../chunk-
|
|
136
|
-
import
|
|
137
|
-
|
|
143
|
+
} from "../chunk-EIMVLWB3.js";
|
|
144
|
+
import "../chunk-D7E7WCDF.js";
|
|
145
|
+
import "../chunk-HJWWJ6IL.js";
|
|
146
|
+
import {
|
|
147
|
+
setGitCommitAttributionEnabled,
|
|
148
|
+
withManagedGitCommitAttributionEnvironment
|
|
149
|
+
} from "../chunk-JIEGK6UF.js";
|
|
150
|
+
import "../chunk-EBY63B7G.js";
|
|
138
151
|
import {
|
|
139
152
|
AI_AGENT_NAME
|
|
140
153
|
} from "../chunk-6EJMN2Y3.js";
|
|
@@ -143,29 +156,30 @@ import {
|
|
|
143
156
|
} from "../chunk-IWHMRKLL.js";
|
|
144
157
|
import {
|
|
145
158
|
registerBuiltinRuntimes
|
|
146
|
-
} from "../chunk-
|
|
147
|
-
import "../chunk-
|
|
159
|
+
} from "../chunk-QKIFBZKT.js";
|
|
160
|
+
import "../chunk-BWW4HLO4.js";
|
|
148
161
|
import "../chunk-LL4KHSZI.js";
|
|
149
162
|
import {
|
|
150
163
|
configureGuardrails,
|
|
164
|
+
guardrailValuesFromSettings,
|
|
151
165
|
isWorkerToolCallCapExceededReason,
|
|
152
166
|
isWorkerToolCallCapSynthesisReason
|
|
153
|
-
} from "../chunk-
|
|
154
|
-
import "../chunk-
|
|
155
|
-
import "../chunk-
|
|
156
|
-
import "../chunk-
|
|
167
|
+
} from "../chunk-NLFAQR7Z.js";
|
|
168
|
+
import "../chunk-CDNVLKUX.js";
|
|
169
|
+
import "../chunk-WNP7O5WZ.js";
|
|
170
|
+
import "../chunk-336NSSKI.js";
|
|
157
171
|
import "../chunk-IKCO5N3L.js";
|
|
158
172
|
import "../chunk-3I7MS7N2.js";
|
|
159
173
|
import "../chunk-APJ265NV.js";
|
|
160
|
-
import "../chunk-
|
|
174
|
+
import "../chunk-BYP5D4HI.js";
|
|
161
175
|
import "../chunk-WEPFGWHJ.js";
|
|
162
176
|
import {
|
|
163
177
|
getRuntimeRegistry
|
|
164
178
|
} from "../chunk-NUGM5KR6.js";
|
|
165
|
-
import "../chunk-
|
|
179
|
+
import "../chunk-O42A54GG.js";
|
|
166
180
|
import {
|
|
167
181
|
registerFauxFromEnv
|
|
168
|
-
} from "../chunk-
|
|
182
|
+
} from "../chunk-VXMFAE2W.js";
|
|
169
183
|
import "../chunk-YXLYO42X.js";
|
|
170
184
|
import {
|
|
171
185
|
init_esm_shims
|
|
@@ -176,14 +190,10 @@ init_esm_shims();
|
|
|
176
190
|
|
|
177
191
|
// src/engine/worker-runtime.ts
|
|
178
192
|
init_esm_shims();
|
|
179
|
-
import { existsSync, readFileSync } from "node:fs";
|
|
180
193
|
import path from "node:path";
|
|
181
194
|
|
|
182
195
|
// src/engine/claude/sdk-runtime.ts
|
|
183
196
|
init_esm_shims();
|
|
184
|
-
import {
|
|
185
|
-
query
|
|
186
|
-
} from "@anthropic-ai/claude-agent-sdk";
|
|
187
197
|
|
|
188
198
|
// src/engine/worker-tools.ts
|
|
189
199
|
init_esm_shims();
|
|
@@ -305,6 +315,46 @@ function attestedToolSignature(input) {
|
|
|
305
315
|
);
|
|
306
316
|
}
|
|
307
317
|
|
|
318
|
+
// src/engine/claude/sdk-module.ts
|
|
319
|
+
init_esm_shims();
|
|
320
|
+
var CLAUDE_AGENT_SDK_PACKAGE = "@anthropic-ai/claude-agent-sdk";
|
|
321
|
+
var CLAUDE_AGENT_SDK_VERSION = "0.3.186";
|
|
322
|
+
var CLAUDE_AGENT_SDK_INSTALL_COMMAND = `npm install ${CLAUDE_AGENT_SDK_PACKAGE}@${CLAUDE_AGENT_SDK_VERSION}`;
|
|
323
|
+
var ClaudeAgentSdkUnavailableError = class extends Error {
|
|
324
|
+
code = "CLAUDE_AGENT_SDK_UNAVAILABLE";
|
|
325
|
+
packageName = CLAUDE_AGENT_SDK_PACKAGE;
|
|
326
|
+
installCommand = CLAUDE_AGENT_SDK_INSTALL_COMMAND;
|
|
327
|
+
constructor(cause) {
|
|
328
|
+
super(
|
|
329
|
+
`The claude-sdk runtime needs the optional package ${CLAUDE_AGENT_SDK_PACKAGE}, which is not installed. Install it with \`${CLAUDE_AGENT_SDK_INSTALL_COMMAND}\` (or reinstall clio-coder without \`--omit=optional\`), then select the target again. Every other runtime works without it.`,
|
|
330
|
+
cause === void 0 ? void 0 : { cause }
|
|
331
|
+
);
|
|
332
|
+
this.name = "ClaudeAgentSdkUnavailableError";
|
|
333
|
+
}
|
|
334
|
+
};
|
|
335
|
+
var MISSING_MODULE_CODES = /* @__PURE__ */ new Set([
|
|
336
|
+
"ERR_MODULE_NOT_FOUND",
|
|
337
|
+
"MODULE_NOT_FOUND",
|
|
338
|
+
"ERR_PACKAGE_PATH_NOT_EXPORTED"
|
|
339
|
+
]);
|
|
340
|
+
function isMissingModuleError(error) {
|
|
341
|
+
const code = error?.code;
|
|
342
|
+
return typeof code === "string" && MISSING_MODULE_CODES.has(code);
|
|
343
|
+
}
|
|
344
|
+
var realLoader = async () => await import("@anthropic-ai/claude-agent-sdk");
|
|
345
|
+
var loader = realLoader;
|
|
346
|
+
var cached = null;
|
|
347
|
+
async function loadClaudeAgentSdk() {
|
|
348
|
+
if (cached) return cached;
|
|
349
|
+
try {
|
|
350
|
+
cached = await loader();
|
|
351
|
+
return cached;
|
|
352
|
+
} catch (error) {
|
|
353
|
+
if (isMissingModuleError(error)) throw new ClaudeAgentSdkUnavailableError(error);
|
|
354
|
+
throw error;
|
|
355
|
+
}
|
|
356
|
+
}
|
|
357
|
+
|
|
308
358
|
// src/engine/claude/sdk-runtime.ts
|
|
309
359
|
var DEFAULT_CLAUDE_TOOLS = { type: "preset", preset: "claude_code" };
|
|
310
360
|
function sdkUserTextMessage(text, shouldQuery) {
|
|
@@ -597,8 +647,8 @@ function decideToolUse(input, toolCallId, toolName, toolInput) {
|
|
|
597
647
|
});
|
|
598
648
|
}
|
|
599
649
|
function decideClaudeSdkToolUseOnce(handled, toolUseID, decide) {
|
|
600
|
-
const
|
|
601
|
-
if (
|
|
650
|
+
const cached2 = toolUseID ? handled.get(toolUseID) : void 0;
|
|
651
|
+
if (cached2) return cached2;
|
|
602
652
|
const decision = decide();
|
|
603
653
|
if (toolUseID) handled.set(toolUseID, decision);
|
|
604
654
|
return decision;
|
|
@@ -672,7 +722,7 @@ function startClaudeSdkWorkerRun(input, emit) {
|
|
|
672
722
|
},
|
|
673
723
|
() => {
|
|
674
724
|
budgetFailure = true;
|
|
675
|
-
emit({ type: "
|
|
725
|
+
emit({ type: "clio_coder_run_outcome", payload: { outcomeCode: "worker_tool_call_cap_exhausted" } });
|
|
676
726
|
abort();
|
|
677
727
|
},
|
|
678
728
|
resolveDeliveryTools(allowedToolSet, input.product)
|
|
@@ -697,7 +747,7 @@ function startClaudeSdkWorkerRun(input, emit) {
|
|
|
697
747
|
if (hookInput.hook_event_name !== "PostToolBatch" || !budgetGate?.phaseReached()) return { continue: true };
|
|
698
748
|
if (input.budget?.synthesis === false) {
|
|
699
749
|
budgetFailure = true;
|
|
700
|
-
emit({ type: "
|
|
750
|
+
emit({ type: "clio_coder_run_outcome", payload: { outcomeCode: "worker_tool_call_cap_exhausted" } });
|
|
701
751
|
return { continue: false, stopReason: `worker agent budget reached (${input.budget.toolCalls})` };
|
|
702
752
|
}
|
|
703
753
|
return {
|
|
@@ -740,6 +790,7 @@ function startClaudeSdkWorkerRun(input, emit) {
|
|
|
740
790
|
let responseId;
|
|
741
791
|
emit({ type: "agent_start" });
|
|
742
792
|
try {
|
|
793
|
+
const { query } = await loadClaudeAgentSdk();
|
|
743
794
|
queryHandle = query({ prompt: buildClaudeSdkPrompt(input), options });
|
|
744
795
|
for await (const sdkMessage of queryHandle) {
|
|
745
796
|
if (sdkMessage.type === "system" && sdkMessage.subtype === "init") {
|
|
@@ -869,18 +920,7 @@ function terminalContractViolation(contract, message, cwd, observedReadRanges, o
|
|
|
869
920
|
// Repair rounds judge shape and grounding only. Network posture belongs to
|
|
870
921
|
// the orchestrator's sealed validation, which runs again on the receipt.
|
|
871
922
|
networkAllowed: true,
|
|
872
|
-
filesystem:
|
|
873
|
-
readFile(filePath) {
|
|
874
|
-
try {
|
|
875
|
-
return readFileSync(filePath, "utf8");
|
|
876
|
-
} catch {
|
|
877
|
-
return null;
|
|
878
|
-
}
|
|
879
|
-
},
|
|
880
|
-
pathExists(filePath) {
|
|
881
|
-
return existsSync(filePath);
|
|
882
|
-
}
|
|
883
|
-
}
|
|
923
|
+
filesystem: nodeResultContractFilesystem()
|
|
884
924
|
});
|
|
885
925
|
return validation.conformance === "pass" ? null : validation.reason ?? "invalid result";
|
|
886
926
|
}
|
|
@@ -958,8 +998,8 @@ function startWorkerRun(input, emit) {
|
|
|
958
998
|
}
|
|
959
999
|
registerClioApiProviders();
|
|
960
1000
|
const workerSettings = validateSettingsFile().settings;
|
|
961
|
-
setGlobalDefaultMaxOutputTokens(workerSettings.
|
|
962
|
-
configureGuardrails(workerSettings
|
|
1001
|
+
setGlobalDefaultMaxOutputTokens(workerSettings.chat.maxOutputTokens);
|
|
1002
|
+
configureGuardrails(guardrailValuesFromSettings(workerSettings));
|
|
963
1003
|
const fauxModel = registerFauxFromEnv();
|
|
964
1004
|
const agentSkillPolicy = input.allowedTools.includes(ToolNames.Context) && input.noSkills !== true ? agentSkillToolPolicy(input.agentSkills ?? []) : void 0;
|
|
965
1005
|
const activeWorkerTools = workerProviderSupportsTools(input) ? input.allowedTools : [];
|
|
@@ -1072,13 +1112,13 @@ function startWorkerRun(input, emit) {
|
|
|
1072
1112
|
);
|
|
1073
1113
|
const telemetry = {
|
|
1074
1114
|
onStart(event) {
|
|
1075
|
-
emit({ type: "
|
|
1115
|
+
emit({ type: "clio_coder_tool_start", payload: event });
|
|
1076
1116
|
},
|
|
1077
1117
|
onFinish(event) {
|
|
1078
|
-
emit({ type: "
|
|
1118
|
+
emit({ type: "clio_coder_tool_finish", payload: event });
|
|
1079
1119
|
if (event.outcome !== "blocked" || typeof event.reason !== "string") return;
|
|
1080
1120
|
if (isWorkerToolCallCapSynthesisReason(event.reason)) {
|
|
1081
|
-
emit({ type: "
|
|
1121
|
+
emit({ type: "clio_coder_run_outcome", payload: { outcomeCode: "worker_tool_call_cap_exhausted" } });
|
|
1082
1122
|
if (workerBoundFailure === null) {
|
|
1083
1123
|
workerBoundFailure = event.reason;
|
|
1084
1124
|
process.stderr.write(`[worker] ${event.reason}
|
|
@@ -1088,7 +1128,7 @@ function startWorkerRun(input, emit) {
|
|
|
1088
1128
|
}
|
|
1089
1129
|
if (isWorkerToolCallCapExceededReason(event.reason) || isLoopGuardSynthesisBackstopReason(event.reason)) {
|
|
1090
1130
|
emit({
|
|
1091
|
-
type: "
|
|
1131
|
+
type: "clio_coder_run_outcome",
|
|
1092
1132
|
payload: {
|
|
1093
1133
|
outcomeCode: isLoopGuardSynthesisBackstopReason(event.reason) ? "loop_guard_tools_disabled_exhausted" : "worker_tool_call_cap_exhausted"
|
|
1094
1134
|
}
|
|
@@ -1207,7 +1247,7 @@ function startWorkerRun(input, emit) {
|
|
|
1207
1247
|
for (const message of repair) agent.followUp(message);
|
|
1208
1248
|
} else if (workerBoundFailure === null) {
|
|
1209
1249
|
workerBoundFailure = `result contract failed after ${RESULT_CONTRACT_REPAIR_LIMIT} bounded repair rounds: ${violation}`;
|
|
1210
|
-
emit({ type: "
|
|
1250
|
+
emit({ type: "clio_coder_run_outcome", payload: { outcomeCode: "result_contract_exhausted" } });
|
|
1211
1251
|
process.stderr.write(`[worker] ${workerBoundFailure}
|
|
1212
1252
|
`);
|
|
1213
1253
|
}
|
|
@@ -1244,7 +1284,7 @@ function startWorkerRun(input, emit) {
|
|
|
1244
1284
|
answeredEscalations.set(active.callKey, { decision, requestId });
|
|
1245
1285
|
if (decision === "approve") {
|
|
1246
1286
|
emit({
|
|
1247
|
-
type: "
|
|
1287
|
+
type: "clio_coder_permission_resolved",
|
|
1248
1288
|
payload: {
|
|
1249
1289
|
tool: active.tool,
|
|
1250
1290
|
actionClass: active.actionClass,
|
|
@@ -1267,7 +1307,7 @@ function startWorkerRun(input, emit) {
|
|
|
1267
1307
|
const denialContext = source === "timeout" ? "escalation timed out with no operator decision" : "operator denied";
|
|
1268
1308
|
const reason = effectiveFail ? `permission required for ${active.tool} (${active.actionClass}); ${denialContext} and workers fallback=fail ends this run` : `permission denied by ${source === "timeout" ? "escalation timeout fallback" : "operator"}: ${active.tool} requires ${active.actionClass} confirmation`;
|
|
1269
1309
|
emit({
|
|
1270
|
-
type: "
|
|
1310
|
+
type: "clio_coder_permission_resolved",
|
|
1271
1311
|
payload: {
|
|
1272
1312
|
tool: active.tool,
|
|
1273
1313
|
actionClass: active.actionClass,
|
|
@@ -1292,7 +1332,7 @@ function startWorkerRun(input, emit) {
|
|
|
1292
1332
|
const active = activeEscalation;
|
|
1293
1333
|
if (!active) return;
|
|
1294
1334
|
emit({
|
|
1295
|
-
type: "
|
|
1335
|
+
type: "clio_coder_permission_resolved",
|
|
1296
1336
|
payload: {
|
|
1297
1337
|
tool: active.tool,
|
|
1298
1338
|
actionClass: active.actionClass,
|
|
@@ -1314,7 +1354,7 @@ function startWorkerRun(input, emit) {
|
|
|
1314
1354
|
const approved = remembered.decision === "approve";
|
|
1315
1355
|
const reason2 = approved ? `operator approved an identical ${call.tool} call earlier in this run (request ${remembered.requestId}); the answer stands without a new prompt` : `permission denied by operator: an identical ${call.tool} call was already denied earlier in this run (request ${remembered.requestId}); the answer stands, so do not repeat this call`;
|
|
1316
1356
|
emit({
|
|
1317
|
-
type: "
|
|
1357
|
+
type: "clio_coder_permission_resolved",
|
|
1318
1358
|
payload: {
|
|
1319
1359
|
tool: call.tool,
|
|
1320
1360
|
actionClass,
|
|
@@ -1342,7 +1382,7 @@ function startWorkerRun(input, emit) {
|
|
|
1342
1382
|
activeEscalation = { requestId, tool: call.tool, actionClass, callKey, timer };
|
|
1343
1383
|
const target = describeCallTarget(call.tool, call.args);
|
|
1344
1384
|
emit({
|
|
1345
|
-
type: "
|
|
1385
|
+
type: "clio_coder_permission_escalated",
|
|
1346
1386
|
payload: {
|
|
1347
1387
|
requestId,
|
|
1348
1388
|
tool: call.tool,
|
|
@@ -1363,7 +1403,7 @@ function startWorkerRun(input, emit) {
|
|
|
1363
1403
|
}
|
|
1364
1404
|
const reason = onPermission === "fail" ? failReason(call.tool, actionClass) : denyReason(call.tool, actionClass);
|
|
1365
1405
|
emit({
|
|
1366
|
-
type: "
|
|
1406
|
+
type: "clio_coder_permission_resolved",
|
|
1367
1407
|
payload: {
|
|
1368
1408
|
tool: call.tool,
|
|
1369
1409
|
actionClass,
|
|
@@ -1864,7 +1904,7 @@ async function main() {
|
|
|
1864
1904
|
process.stderr.write(`[worker] residency ${notice.kind}: ${notice.message}
|
|
1865
1905
|
`);
|
|
1866
1906
|
if (notice.kind === "will-not-fit") {
|
|
1867
|
-
emitEvent({ type: "
|
|
1907
|
+
emitEvent({ type: "clio_coder_run_outcome", payload: { outcomeCode: "vram_capacity_fit_failure" } });
|
|
1868
1908
|
}
|
|
1869
1909
|
});
|
|
1870
1910
|
const demux = createWorkerStdinDemux();
|
|
@@ -1953,7 +1993,7 @@ async function main() {
|
|
|
1953
1993
|
demux.onSteer(
|
|
1954
1994
|
createOrderedSteerHandler(
|
|
1955
1995
|
(text) => handle.steer?.(text) ?? false,
|
|
1956
|
-
({ text, sequence }) => emitEvent({ type: "
|
|
1996
|
+
({ text, sequence }) => emitEvent({ type: "clio_coder_steer_received", payload: { chars: text.trim().length, sequence } }),
|
|
1957
1997
|
(reason) => process.stderr.write(`[worker] dropped steer: ${reason}
|
|
1958
1998
|
`)
|
|
1959
1999
|
)
|
package/docs/README.md
CHANGED
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
|
|
5
5
|
# Clio Coder Documentation
|
|
6
6
|
|
|
7
|
-
These pages document `v0.
|
|
7
|
+
These pages document `v0.4.0` of Clio Coder, an open-source coding orchestrator within the [IOWarp](https://iowarp.ai) scientific computing platform, created by the [Gnosis Research Center](https://grc.iit.edu) at the [Illinois Institute of Technology](https://www.iit.edu).
|
|
8
8
|
|
|
9
9
|
They are source-aligned guides: when prose and source disagree, prefer the
|
|
10
10
|
current source, tests, and `CHANGELOG.md`.
|
|
@@ -23,6 +23,7 @@ current source, tests, and `CHANGELOG.md`.
|
|
|
23
23
|
| Safety posture, default-deny Bash, project policy, damage-control rules, and typed validation | [safety-model.md](safety-model.md) ([Interactive Blueprint](html/safety_blueprint.html)) |
|
|
24
24
|
| Source layout, compile-time boundaries, domain loading, and runtime data flow | [architecture.md](architecture.md) ([Interactive Blueprint](html/architecture_blueprint.html)) |
|
|
25
25
|
| Why the dispatch domain is not split, which invariants cross the obvious seams, and why direct subpath imports are permitted | [dispatch-architecture-rationale.md](dispatch-architecture-rationale.md) ([Interactive Blueprint](html/dispatch_rationale_blueprint.html)) |
|
|
26
|
+
| Typed dispatch intent: the producer and persisted-contract compatibility tables, refusal reason codes, and the legacy-inference retirement criterion | [dispatch-typed-intent.md](dispatch-typed-intent.md) |
|
|
26
27
|
| Prompt envelope reuse, provider tool delivery, and bounded tool results | [prompt-envelope-and-tools.md](prompt-envelope-and-tools.md) ([Interactive Blueprints: prompt_envelope](html/prompt_envelope_blueprint.html), [tools](html/tools_blueprint.html)) |
|
|
27
28
|
| In-depth reference for all 20 worker tools: parameters, typical payloads, and error examples | [tool-usage.md](tool-usage.md) ([Interactive Blueprint](html/tool_usage_blueprint.html)) |
|
|
28
29
|
| Developer guide to implementing custom model runtimes and inference server integrations | [provider-adapter-cookbook.md](provider-adapter-cookbook.md) ([Interactive Blueprint](html/provider_adapter_blueprint.html)) |
|
|
@@ -84,7 +85,7 @@ under `src/`, run `npm run build` again or keep `npm run dev` running.
|
|
|
84
85
|
## Release Notes
|
|
85
86
|
|
|
86
87
|
The release entry point is [../README.md](../README.md); detailed release
|
|
87
|
-
history lives in [../CHANGELOG.md](../CHANGELOG.md). For v0.
|
|
88
|
+
history lives in [../CHANGELOG.md](../CHANGELOG.md). For v0.4.0 the supported
|
|
88
89
|
install paths are `npm install -g @iowarp/clio-coder` and a source checkout
|
|
89
90
|
through `npm run install:local`, the deterministic release gate is
|
|
90
91
|
`npm run ci:release`, and live model smoke validation is local/manual and
|
package/docs/acp.md
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# Agent Client Protocol (ACP) Server
|
|
2
2
|
|
|
3
|
-
This document defines the architecture, transport protocols, tool mediation layers, permission handling, and error taxonomy for Clio Coder's Agent Client Protocol (ACP) server implementation in `v0.
|
|
3
|
+
This document defines the architecture, transport protocols, tool mediation layers, permission handling, and error taxonomy for Clio Coder's Agent Client Protocol (ACP) server implementation in `v0.4.0`.
|
|
4
4
|
|
|
5
5
|
Source implementations: `src/engine/acp/` and `src/cli/acp.ts`.
|
|
6
6
|
|
|
@@ -11,7 +11,11 @@ Source implementations: `src/engine/acp/` and `src/cli/acp.ts`.
|
|
|
11
11
|
Clio Coder provides a native ACP server via the `clio-coder acp` command. The server implements the open Agent Client Protocol specification (ACP v1 / schema 0.4.5) over standard I/O JSON-RPC 2.0 transport (`src/engine/acp/transport.ts`).
|
|
12
12
|
|
|
13
13
|
The ACP server allows external IDEs, editors (such as Zed), and automated orchestration engines to drive Clio Coder sessions over a structured protocol.
|
|
14
|
-
|
|
14
|
+
The source tree includes the `apps/workbench` localhost desktop client. Its ACP
|
|
15
|
+
adapter supports session browsing and deletion, safe settings, target probes,
|
|
16
|
+
usage, recovery, evaluation inventory, routing and dispatch inspection, toolchain
|
|
17
|
+
status, agent attribution, and the live fleet event strip. The workbench is a
|
|
18
|
+
source application and is not included in the published CLI package.
|
|
15
19
|
|
|
16
20
|
```mermaid
|
|
17
21
|
graph LR
|
|
@@ -31,8 +35,12 @@ The server is invoked via:
|
|
|
31
35
|
clio-coder acp [--cwd PATH] [--permission-timeout MS]
|
|
32
36
|
```
|
|
33
37
|
|
|
38
|
+
`clio-coder --acp [--cwd PATH] [--permission-timeout MS]` is an exact alias;
|
|
39
|
+
both spellings reach the same command dispatcher, option parser, stdout guard,
|
|
40
|
+
and server boot path.
|
|
41
|
+
|
|
34
42
|
- `--cwd PATH`: Workspace root the server boots in. The path is resolved and then canonicalized with `fs.realpath`, so a symlinked launch root, a trailing slash, and a `/.` suffix all name the same workspace. Clio changes into that canonical path before it reads settings, builds project context, or opens a session ledger, so a session opens at that root. A path that does not exist or that the process cannot enter exits 2 without starting the server. The canonical path is the server's workspace identity for its whole life: `session/new` must carry a `cwd` that canonicalizes to the same path, and nothing after boot ever changes the process directory.
|
|
35
|
-
- `--permission-timeout MS`: The server-side fail-safe ceiling for one mediated permission request, as a whole number from 1 through Node's maximum schedulable timer delay (`2147483647`) milliseconds. Values outside that range are refused before the protocol server starts. If the timer wins, the approval expires, the active turn is aborted, every parked call for that turn is settled only so execution can unwind, and `session/prompt` fails with `permission_expired`. Expiry is audited as `expired`, never as a human denial, and no denial result is fed into a continuing model loop. The flag overrides `delegation.defaults.permissionTimeoutMs` for this server only, which itself defaults to `DEFAULT_DELEGATION_PERMISSION_TIMEOUT_MS = 120000` (`src/core/defaults.ts:149`).
|
|
43
|
+
- `--permission-timeout MS`: The server-side fail-safe ceiling for one mediated permission request, as a whole number from 1 through Node's maximum schedulable timer delay (`2147483647`) milliseconds. Values outside that range are refused before the protocol server starts. If the timer wins, the approval expires, the active turn is aborted, every parked call for that turn is settled only so execution can unwind, and `session/prompt` fails with `permission_expired`. Expiry is audited as `expired`, never as a human denial, and no denial result is fed into a continuing model loop. The flag overrides `delegation.defaults.permissionTimeoutMs` for this server only, which itself defaults to `DEFAULT_DELEGATION_PERMISSION_TIMEOUT_MS = 120000` (`src/core/defaults.ts:149`). The shipped Workbench treats the remaining ACP request window as a hard ceiling on its own approval budget, projects that duration onto the Workbench clock, escalates immediately when the remaining window is shorter than its escalation delay, and cancels without publishing a card if the window has already elapsed. Other clients may enforce a shorter operator-facing policy by sending ordinary `session/cancel`.
|
|
36
44
|
|
|
37
45
|
Transport frames are JSON-RPC 2.0 messages serialized over `stdin`/`stdout`. All logging and diagnostic output is strictly routed to `stderr` to preserve standard I/O framing integrity.
|
|
38
46
|
|
|
@@ -59,7 +67,7 @@ These are every method the server answers (`src/engine/acp/server.ts`). Anything
|
|
|
59
67
|
| `clio-coder/targets/list` | Client → Server | Lists bounded, credential-free target/model summaries from configuration and the in-memory cache without network traffic. |
|
|
60
68
|
| `clio-coder/targets/probe` | Client → Server | Explicitly probes one configured target through the provider domain and returns only a closed health result. |
|
|
61
69
|
| `session/request_permission` | Server → Client | Requests permission from the client for a gated tool operation. |
|
|
62
|
-
| `clio-coder/event` | Server → Client | Sends a versioned extension event only to a client that opted into a recognized kind. The
|
|
70
|
+
| `clio-coder/event` | Server → Client | Sends a versioned extension event only to a client that opted into a recognized kind. The v1 allowlist is `safety.loopBlocked` plus `dispatch.enqueued`, `dispatch.started`, `dispatch.progress`, `dispatch.completed`, and `dispatch.failed`. |
|
|
63
71
|
|
|
64
72
|
`agentCapabilities.loadSession` is `true`. All non-standard methods are advertised only under `agentCapabilities._meta`; a strict generic ACP v1 client sees the standard new/load/prompt/cancel/permission surface, ignores namespaced result metadata, and receives no non-standard notification unless it explicitly opts into a recognized event kind.
|
|
65
73
|
|
|
@@ -263,6 +271,19 @@ name only the protocol it was reached through, so its header reads `◇ codex
|
|
|
263
271
|
token usage, the count of mediated tool calls in place of a token count; a peer
|
|
264
272
|
that does report usage gets the same `tok` unit a local worker does.
|
|
265
273
|
|
|
274
|
+
### Typed intent on a delegated dispatch
|
|
275
|
+
|
|
276
|
+
A dispatch to a delegation agent accepts typed intent and renders the declared
|
|
277
|
+
scope into the plan approval artifact, so an operator sees what the peer was
|
|
278
|
+
told to work on before it starts. The declaration grants nothing on this
|
|
279
|
+
transport: the peer runs its own tool surface and Clio mediates no per-tool
|
|
280
|
+
call, so a resolved write boundary would be a claim nothing enforces and is
|
|
281
|
+
refused outright rather than accepted and left unenforced. Declare `read_roots`
|
|
282
|
+
and `relevant_paths` to bound what the peer is asked to look at; run the writing
|
|
283
|
+
half of the work on a native or `claude-sdk` worker. The compatibility rules and
|
|
284
|
+
reason codes are the same as for any other producer; see
|
|
285
|
+
[dispatch-typed-intent.md](dispatch-typed-intent.md).
|
|
286
|
+
|
|
266
287
|
---
|
|
267
288
|
|
|
268
289
|
## 8. Error Taxonomy
|
package/docs/alcf-provider.md
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
# ALCF Inference Provider
|
|
2
2
|
|
|
3
3
|
> [!TIP]
|
|
4
|
-
> **Interactive Spec Available:** An interactive target configurator and Globus OAuth flow diagram is located at [docs/html/alcf_blueprint.html](html/alcf_blueprint.html) (Version: 0.
|
|
4
|
+
> **Interactive Spec Available:** An interactive target configurator and Globus OAuth flow diagram is located at [docs/html/alcf_blueprint.html](html/alcf_blueprint.html) (Version: 0.4.0).
|
|
5
5
|
|
|
6
6
|
Clio can use Argonne's ALCF inference gateway as an OpenAI-compatible target
|
|
7
7
|
backed by Globus OAuth. The runtime id is `alcf`; each configured target points
|
package/docs/architecture.md
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
# Clio Coder Architecture and Boundaries
|
|
2
2
|
|
|
3
3
|
> [!TIP]
|
|
4
|
-
> **Interactive Spec Available:** An interactive dashboard is located at [docs/html/architecture_blueprint.html](html/architecture_blueprint.html) (Version: 0.
|
|
4
|
+
> **Interactive Spec Available:** An interactive dashboard is located at [docs/html/architecture_blueprint.html](html/architecture_blueprint.html) (Version: 0.4.0).
|
|
5
5
|
|
|
6
6
|
Clio Coder is an experimental, terminal-first coding harness for the CLIO ecosystem. CLIO stands for Context Layer for Input/Output; the project is named for the Greek muse of history and developed by the Gnosis Research Center at Illinois Tech. Its architecture favors small, auditable subsystems over a single monolithic agent loop: CLI entry points, the interactive TUI, provider/runtime code, worker subprocesses, tools, and feature domains are kept separate so local-model support and scientific-software workflows can evolve without collapsing safety boundaries.
|
|
7
7
|
|
|
8
|
-
This page is source-code aligned for the current `v0.
|
|
8
|
+
This page is source-code aligned for the current `v0.4.0` development line.
|
|
9
9
|
|
|
10
10
|
---
|
|
11
11
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# Artifact Versions & Serialization Contracts
|
|
2
2
|
|
|
3
|
-
This document is the canonical registry of all versioned file formats, serialized data structures, integrity digests, and migration rules across Clio Coder in `v0.
|
|
3
|
+
This document is the canonical registry of all versioned file formats, serialized data structures, integrity digests, and migration rules across Clio Coder in `v0.4.0`.
|
|
4
4
|
|
|
5
5
|
---
|
|
6
6
|
|
|
@@ -11,6 +11,9 @@ Clio Coder strictly versions every persistent or network-transported data struct
|
|
|
11
11
|
| Artifact / Subsystem | Current Version | Symbol / Type & Source Location | Persisted Path / Wire Location | Schema Semantics & Version Differences | Mismatch Handling |
|
|
12
12
|
| :--- | :--- | :--- | :--- | :--- | :--- |
|
|
13
13
|
| **Run Receipt** | `20` | `RUN_RECEIPT_INTEGRITY_VERSION = 20`<br>`src/domains/dispatch/receipt-integrity.ts:13` | `<stateDir>/receipts/<runId>.json` | Cryptographically sealed run record. Version 20 adds `pathProvenance` on dispatch intent and the resolved `pathScope`, over the v19 base of provenance fields, routing intent, quality labels, `validationGrounding`, `capabilityMismatch`, council provenance, and fleet gate provenance. | Fail-closed. A receipt below v20 is reported as retired rather than invalid, is never read as evidence, and is never migrated; a malformed or tampered v20 receipt fails verification. |
|
|
14
|
+
| **Dispatch Intent** | `2` | `DISPATCH_INTENT_VERSION = 2`, `DISPATCH_INTENT_SUPPORTED_VERSIONS = [2]`<br>`src/domains/dispatch/intent-compatibility.ts` | Inside the resolved dispatch plan artifact, the `JobSpec`/`DispatchRequest`, and the sealed run receipt | Typed model- and producer-declared scope: `read_roots`, `write_roots`, `relevant_paths`, `expected_outputs`, and declared-id `verification`, plus the `pathProvenance` binding every policy-bearing path to the field that declared it. Version 2 adds `pathProvenance` over the v1 path-and-output shape. | Fail-closed, never migrated. The supported set is a membership list, not a range: any other version is refused with `intent_version_unsupported` and the caller restates the fields on a fresh dispatch call. Omitted intent is accepted through the separately tracked legacy inference path; contradictory intent is a terminal refusal. See [dispatch-typed-intent.md](dispatch-typed-intent.md). |
|
|
15
|
+
| **Dispatch Path Scope Provenance** | `1` | `version: 1` in `interface DispatchPathScopeProvenance`<br>`src/domains/dispatch/path-scope.ts` | `pathScope` on the sealed run receipt | Resolved policy-bearing paths with per-field provenance (`declared`/`derived`/`inferred`), source, and confidence. Never carries the task or briefing prose an inferred path came from. | Sealed inside the receipt integrity digest; shares the receipt's fail-closed policy. |
|
|
16
|
+
| **Resolved Dispatch Plan Artifact** | `3` | `version: 3` in `interface ResolvedDispatchPlanArtifact`<br>`src/tools/dispatch-plan.ts:122` | Trusted admission-time tool argument, rendered and hashed into the plan approval | Pinned agent/target/model/node per task plus the sealed `intent` and admission-resolved `resolvedVerification`. The rendered artifact carries `intent_sha256` for a declared task and the full inferred scope table for a legacy one. | Fail-closed. Any version but 3 parses as `null`, as does any task whose `intent` is not a normalized v2 intent; the call falls back to unresolved admission rather than executing a half-understood plan. |
|
|
14
17
|
| **Session Ledger** | `3` | `CURRENT_SESSION_FORMAT_VERSION = 3`<br>`src/engine/session.ts:66` | `<stateDir>/sessions/<cwdHash>/<sessionId>/` (`meta.json`, `current.jsonl`, `tree.json`) | Append-only ledger format with UUIDv7 turn IDs, session header line, and tree graph linkage. | Automated migration via `src/domains/session/migrations/` on `/resume`. Earlier unmigratable versions rejected. |
|
|
15
18
|
| **Worker Spec** | `3` | `WORKER_SPEC_VERSION = 3`<br>`src/worker/spec-contract.ts:22` | Subprocess `stdin` control plane JSON payload | Worker invocation parameters, tool surface profile, and execution bounds. | Fail-closed preflight rejection before worker activation. |
|
|
16
19
|
| **Worker Runtime Descriptor** | `2` | `WORKER_RUNTIME_DESCRIPTOR_VERSION = 2`<br>`src/worker/spec-contract.ts:23` | Worker attestation descriptor payload | Attestation descriptor for worker runtime environment and hardware facts. | Attestation mismatch causes immediate process termination. |
|