@iowarp/clio-coder 0.4.0 → 0.4.2
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 +131 -0
- package/CONTRIBUTING.md +59 -36
- package/README.md +407 -375
- package/SECURITY.md +2 -1
- package/dist/{acp-G5WJBNCT.js → acp-TMDQZDIG.js} +14 -14
- package/dist/{agents-FMV2Q5G4.js → agents-5N5NG3XG.js} +45 -34
- package/dist/assets/codewiki.json +1 -1
- package/dist/{auth-3IDSJEIK.js → auth-Z5CCBXKQ.js} +22 -21
- package/dist/{builtins-XCZWXSC7.js → builtins-K6TNDT24.js} +6 -6
- package/dist/{chunk-GR5G2PVF.js → chunk-2HFQNRV3.js} +15 -10
- package/dist/{chunk-PQEFIJ36.js → chunk-2LEAKD4C.js} +1 -2
- package/dist/{chunk-HJJTYUHX.js → chunk-2NHR3NAY.js} +168 -1406
- package/dist/chunk-2X4RYJTJ.js +39 -0
- package/dist/{chunk-UXMFQ54G.js → chunk-2Z2IKEXI.js} +39 -43
- package/dist/{chunk-SST6Z5JA.js → chunk-336NSSKI.js} +1 -1
- package/dist/chunk-34BHNEE3.js +1846 -0
- package/dist/{chunk-YJX4SHTD.js → chunk-35MSIRKH.js} +9 -4
- package/dist/chunk-3EBYEESD.js +314 -0
- package/dist/{chunk-CTJ4RNAA.js → chunk-3F7VUY77.js} +2 -2
- package/dist/chunk-3KIPBMUA.js +308 -0
- package/dist/chunk-3M6DQK6S.js +362 -0
- package/dist/{chunk-BPKCPIL7.js → chunk-462T4EGZ.js} +3 -3
- package/dist/{chunk-QLFS5GO2.js → chunk-4JDLP6ZS.js} +44 -37
- package/dist/{chunk-LDQ2ZF2M.js → chunk-4O6MANBS.js} +6 -6
- package/dist/{chunk-O6TL7WWY.js → chunk-54ODD65L.js} +6 -6
- package/dist/{chunk-JDG2WCRO.js → chunk-5KW52TEP.js} +5 -5
- package/dist/{chunk-NHLBIGRH.js → chunk-5PFYMY2V.js} +41 -18
- package/dist/{chunk-P3FOHJT4.js → chunk-72GZI5EV.js} +2 -2
- package/dist/chunk-77QIVUZB.js +1334 -0
- package/dist/{chunk-HWHKMHUA.js → chunk-7BHIY2MW.js} +9 -15
- package/dist/{chunk-FWDFM5ZU.js → chunk-AK5XEFVZ.js} +3 -3
- package/dist/{chunk-VAZSBTKF.js → chunk-AZ4WMN4W.js} +2 -2
- package/dist/{chunk-B7OBL7PK.js → chunk-B74PXLU7.js} +21 -11
- package/dist/{chunk-CY6FY24N.js → chunk-B7HM5Z7T.js} +15 -15
- package/dist/{chunk-ULC6OTWO.js → chunk-BO7Y52RY.js} +88 -27
- package/dist/chunk-BTK3SSSK.js +67 -0
- package/dist/{chunk-M6L6IDJG.js → chunk-BWH6N36D.js} +1 -1
- package/dist/{chunk-DQITNCXG.js → chunk-BYMNWQ7O.js} +149 -159
- package/dist/{chunk-HI63TFOG.js → chunk-CDNVLKUX.js} +3 -3
- package/dist/{chunk-Z4TXYIEG.js → chunk-CRFOIAX3.js} +10 -10
- package/dist/{chunk-UM7N4G5A.js → chunk-CWVRRIEI.js} +2 -2
- package/dist/{chunk-3BT2XMV4.js → chunk-CYZW7JHJ.js} +53 -60
- package/dist/{chunk-BKFM6EJV.js → chunk-D4CJV46V.js} +2 -2
- package/dist/chunk-D7E7WCDF.js +27 -0
- package/dist/{chunk-X3YGUTOB.js → chunk-DYHAXKHD.js} +90 -62
- package/dist/{chunk-QBJA7R7N.js → chunk-DZAW46HP.js} +3 -3
- package/dist/{chunk-MLKNTWH2.js → chunk-DZEK6CJN.js} +22 -22
- package/dist/{chunk-K5C3NCBD.js → chunk-E7GT7O5N.js} +5 -5
- package/dist/{chunk-FQ4SKYE4.js → chunk-EBY63B7G.js} +2 -5
- package/dist/chunk-F2I26BDK.js +66 -0
- package/dist/{chunk-HLW2MRKE.js → chunk-F4EKGO4N.js} +3 -1
- package/dist/{chunk-RAPCMZL4.js → chunk-FSP7CMNU.js} +9 -1
- package/dist/{chunk-32KWKNSF.js → chunk-FVDGR2ZL.js} +4 -4
- package/dist/{chunk-TZSKNMZG.js → chunk-GTUD2WMY.js} +2 -1
- package/dist/{chunk-SJ5ZKQ4S.js → chunk-HIICAHCJ.js} +2 -2
- package/dist/chunk-HJWWJ6IL.js +184 -0
- package/dist/{chunk-WZR7K7ZX.js → chunk-HKMD33FO.js} +32 -83
- package/dist/chunk-HLAFFSEK.js +360 -0
- package/dist/{chunk-VO67MWHC.js → chunk-HRQMFLJP.js} +3 -3
- package/dist/{chunk-KFZI4NIL.js → chunk-I64IFBLB.js} +152 -31
- package/dist/{chunk-BKFJHQCA.js → chunk-I66EAJFY.js} +2 -2
- package/dist/{chunk-BUMFYQFY.js → chunk-I66ZTYNP.js} +543 -267
- package/dist/{chunk-2OQE55CK.js → chunk-I7XBWTYH.js} +2 -2
- package/dist/{chunk-GKF55TAZ.js → chunk-IDNA72AH.js} +104 -3
- package/dist/{chunk-GCSMB2KY.js → chunk-IKOZFYBN.js} +1 -1
- package/dist/{chunk-J4W7KFM7.js → chunk-IKSLQ4XV.js} +5439 -3475
- package/dist/{chunk-6DB53AJS.js → chunk-IMXMHHMQ.js} +171 -30
- package/dist/{chunk-AB44T6BB.js → chunk-JBCS7CRR.js} +8 -7
- package/dist/{chunk-BBVJUZHB.js → chunk-JIEGK6UF.js} +5 -173
- package/dist/{chunk-SP2RXXYO.js → chunk-JWJGP5DQ.js} +10 -10
- package/dist/{chunk-HZHHCK24.js → chunk-KKOJXO6R.js} +527 -325
- package/dist/chunk-KPXDY6QF.js +47 -0
- package/dist/{chunk-LQ3DZAMX.js → chunk-LJID3DYZ.js} +8 -2
- package/dist/{chunk-7MCTRUCE.js → chunk-M2DAX4F6.js} +2 -2
- package/dist/{chunk-VEO4AP2K.js → chunk-M2WXEHER.js} +4 -3
- package/dist/{chunk-YPI3QQCF.js → chunk-MCEPRMZW.js} +2 -4
- package/dist/{chunk-YDFRH54B.js → chunk-MCMZMDAC.js} +4 -4
- package/dist/{chunk-J5Q24KAG.js → chunk-MNJGS2IN.js} +5 -6
- package/dist/{chunk-76ONBSIA.js → chunk-MQXIVJ35.js} +14 -5
- package/dist/chunk-NDDGJUXD.js +81 -0
- package/dist/{chunk-TVHHYFHE.js → chunk-NEDJ26B5.js} +2 -2
- package/dist/chunk-NMJXSHBJ.js +283 -0
- package/dist/{chunk-VYMXRQI6.js → chunk-O3YUNJZ2.js} +88 -100
- package/dist/{chunk-VO2LKSTM.js → chunk-O42A54GG.js} +2 -2
- package/dist/{chunk-Z2RR6MAK.js → chunk-P75RZCJW.js} +28 -6
- package/dist/{chunk-NHCZP4K7.js → chunk-PBP4B7XR.js} +2 -2
- package/dist/{chunk-DYJP44XW.js → chunk-PGF63K6I.js} +2 -2
- package/dist/chunk-PJX3WQUQ.js +42 -0
- package/dist/{chunk-ZGVHUX3M.js → chunk-PMZVFWSR.js} +2 -2
- package/dist/{chunk-2JDWVJND.js → chunk-Q4XWMHX6.js} +5 -7
- package/dist/{chunk-W5VSYASO.js → chunk-QQLGQY2A.js} +46 -87
- package/dist/{chunk-KMVISBZR.js → chunk-RKSR6VSF.js} +1 -1
- package/dist/{chunk-C2LTL2W6.js → chunk-RLYRBIYQ.js} +463 -180
- package/dist/{chunk-4ZG3XFUR.js → chunk-S66XZJOF.js} +14 -23
- package/dist/{chunk-I5VEOC6I.js → chunk-SSEYRH53.js} +13 -14
- package/dist/chunk-SZAA6XDG.js +30 -0
- package/dist/{chunk-CODPRO7Q.js → chunk-TPEQIQIE.js} +7 -7
- package/dist/{chunk-QLL7ILRG.js → chunk-UBRFI4HS.js} +1151 -614
- package/dist/{chunk-O4XIVISU.js → chunk-UH347SHR.js} +227 -47
- package/dist/{chunk-OQBA45DZ.js → chunk-UH632ZYL.js} +2 -2
- package/dist/chunk-UXCU4E3T.js +303 -0
- package/dist/{chunk-CMZWFGD2.js → chunk-VAVR4IJY.js} +19 -15
- package/dist/{chunk-IQ7KR472.js → chunk-VIA6RFQZ.js} +8 -13
- package/dist/{chunk-V5DHCITQ.js → chunk-VKPAQYEB.js} +49 -19
- package/dist/{chunk-5LXZXPKX.js → chunk-VN3SHNBN.js} +2 -2
- package/dist/{chunk-UOSL25KY.js → chunk-VXMFAE2W.js} +1 -1
- package/dist/{chunk-3XML7CDN.js → chunk-W4YEMFBX.js} +3 -3
- package/dist/{chunk-U77AMWDL.js → chunk-W6NIE6OW.js} +44 -23
- package/dist/{chunk-BBVYXMFO.js → chunk-WNP7O5WZ.js} +2 -2
- package/dist/{chunk-QREDIESB.js → chunk-X7IARSHT.js} +15 -9
- package/dist/{chunk-3URVFKWK.js → chunk-XE3PCIXH.js} +5 -5
- package/dist/{chunk-FEFIFZTL.js → chunk-XGDPUNND.js} +2 -2
- package/dist/{chunk-F4CKPOEQ.js → chunk-XOXV5GKE.js} +119 -38
- package/dist/chunk-XQRY4DTA.js +657 -0
- package/dist/{chunk-NYS75XW5.js → chunk-YAKGTXEV.js} +5 -3
- package/dist/{chunk-NQQH3YT7.js → chunk-YJISEZKC.js} +3 -3
- package/dist/{chunk-X75E3D2N.js → chunk-ZGNYYXQ6.js} +18 -16
- package/dist/{chunk-LY4S7GJC.js → chunk-ZNT2M6TG.js} +20 -18
- package/dist/{chunk-HKIYEGME.js → chunk-ZTJUVLTU.js} +2 -2
- package/dist/{chunk-IBEBSCYA.js → chunk-ZW4HH5JJ.js} +43 -34
- package/dist/{chunk-2ANTL7MR.js → chunk-ZW55JB7N.js} +2 -2
- package/dist/cli/index.js +38 -37
- package/dist/{clio-2JXHBBY5.js → clio-7VB377CC.js} +12 -13
- package/dist/{code-nav-3YYRMYNF.js → code-nav-YVLCYA7V.js} +86 -18
- 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-4HVOS65E.js} +112 -63
- package/dist/{configure-TEGEBYCA.js → configure-PIWO7B24.js} +25 -22
- package/dist/{context-E6H5RNMC.js → context-IYEHL3WQ.js} +53 -47
- package/dist/{context-GSXUE4CT.js → context-KQYIWPWT.js} +68 -42
- package/dist/{context-AV7OEZ4D.js → context-N6ZE3LGJ.js} +11 -11
- package/dist/{context-clear-SHIBYK6T.js → context-clear-G4OGZJDS.js} +53 -47
- package/dist/{context-working-set-5ZGKPGZQ.js → context-working-set-BWLF6LJP.js} +12 -11
- package/dist/{dispatch-runner-EFMJT4LD.js → dispatch-runner-2QQAITS3.js} +67 -58
- package/dist/{docs-23KQS3XK.js → docs-PD3EXDKU.js} +20 -25
- package/dist/doctor-LHBD36VU.js +773 -0
- package/dist/{eval-TFBYQH4H.js → eval-C45FYRJ6.js} +68 -49
- package/dist/{eval-inventory-SXH7PDKX.js → eval-inventory-6DEJPLBF.js} +7 -8
- package/dist/{evidence-ERGESKGN.js → evidence-6SHONYAF.js} +50 -44
- package/dist/{evolve-VDXTSYCJ.js → evolve-KRKMV72X.js} +49 -43
- package/dist/{extensions-7BGBHN57.js → extensions-KPZ2UHBB.js} +8 -6
- package/dist/{fleet-2RRVDF2V.js → fleet-IVTCKDHT.js} +93 -79
- package/dist/{fleet-commands-VJ726XIA.js → fleet-commands-EDWL3IT7.js} +10 -9
- package/dist/{fleet-decisions-EPAPM3XJ.js → fleet-decisions-YP3YEFGK.js} +6 -6
- package/dist/{fleet-graph-JF5QOATM.js → fleet-graph-ZFWKHY2M.js} +19 -15
- package/dist/{fleet-inspect-VLY4S7QM.js → fleet-inspect-FVUNCBML.js} +50 -45
- package/dist/{fleet-preflight-AIZUEJOY.js → fleet-preflight-UN5XED4R.js} +5 -9
- package/dist/{fleet-validate-AJRPDMDV.js → fleet-validate-XOWC4HSX.js} +22 -17
- package/dist/{fleet-verify-JFEL2L3H.js → fleet-verify-UN3SODEL.js} +48 -43
- package/dist/fleet-view-TWHJKCN6.js +96 -0
- package/dist/{init-DN2WWLFE.js → init-T2QORQ3Y.js} +72 -66
- package/dist/{install-XGLBQY5E.js → install-NKNG7KD4.js} +2 -2
- package/dist/{interop-OZBKXAYL.js → interop-IN5I2A66.js} +13 -11
- package/dist/{library-YWZG7IMW.js → library-LSCATDLZ.js} +23 -18
- package/dist/{memory-I4C4HMLW.js → memory-HYOKAGGJ.js} +51 -45
- package/dist/{models-CEYXJBO6.js → models-2GPMFYCM.js} +42 -33
- package/dist/{monitor-NZ6GCI3P.js → monitor-E4ASVUJH.js} +56 -50
- package/dist/{orchestrator-GCGQ4N5I.js → orchestrator-DDMPR3PY.js} +2676 -1507
- package/dist/{panes-KY6W3V2E.js → panes-E3RUXOW5.js} +5 -5
- package/dist/panes-IXKLOKA2.js +75 -0
- package/dist/{paths-II4K7DNR.js → paths-L7LGY6RN.js} +4 -4
- package/dist/{reset-DQ6FGCSH.js → reset-OAQP3W4O.js} +7 -8
- package/dist/{resources-BB3MVJMD.js → resources-OTRSN34L.js} +23 -17
- package/dist/{run-H2GQDUER.js → run-5DEYH5QK.js} +95 -84
- package/dist/{share-GTJN6A5O.js → share-IHWTLO3M.js} +26 -19
- package/dist/{skills-L55TEW6R.js → skills-IYMXMKW4.js} +25 -20
- package/dist/{skills-eval-XVXPH2JI.js → skills-eval-DROHSJAR.js} +63 -65
- package/dist/{skills-inventory-S4MXPJFV.js → skills-inventory-D7X4L4ZX.js} +21 -16
- package/dist/{slash-commands-ZSGASKJC.js → slash-commands-QBM7UZ3B.js} +38 -33
- package/dist/{steer-RZGSCY4R.js → steer-Z5DO23FJ.js} +3 -3
- package/dist/{support-PKEUNNQL.js → support-U7QOWY26.js} +6 -6
- package/dist/{targets-NCPZ644J.js → targets-P2FUC4IL.js} +64 -61
- package/dist/{terminal-lease-44SV3YCN.js → terminal-lease-YREJ3JX2.js} +15 -10
- package/dist/{tools-DAF3DI3C.js → tools-5B7RO6MV.js} +10 -8
- package/dist/{trace-FYVW2MQA.js → trace-YMGMUM6A.js} +101 -8
- 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-PXK3S2YM.js} +36 -61
- package/dist/{usage-3NLHGTU2.js → usage-ME5MPXGX.js} +58 -53
- package/dist/{verifiers-SSQONKRT.js → verifiers-BVZ7IWOO.js} +10 -9
- package/dist/{verify-3U6J7FZI.js → verify-5K7ZKQFC.js} +9 -8
- package/dist/{web-fetch-S7RR6GZ7.js → web-fetch-MPARV2K7.js} +2 -3
- package/dist/{wiki-generate-CEHYGPGQ.js → wiki-generate-F5W5QTYY.js} +74 -70
- package/dist/{with-panes-MKB46MPQ.js → with-panes-BYOJCLAM.js} +78 -246
- package/dist/worker/entry.js +83 -63
- package/docs/README.md +176 -81
- package/docs/{acp.md → architecture/acp.md} +36 -20
- package/docs/{alcf-provider.md → architecture/alcf-provider.md} +8 -5
- package/docs/{architecture.md → architecture/architecture.md} +43 -22
- package/docs/{artifact-placement.md → architecture/artifact-placement.md} +26 -23
- package/docs/architecture/artifact-versions.md +90 -0
- package/docs/{capacity-and-scheduling.md → architecture/capacity-and-scheduling.md} +26 -13
- package/docs/{context-engine.md → architecture/context-engine.md} +25 -25
- package/docs/{context-working-set.md → architecture/context-working-set.md} +13 -10
- package/docs/{dispatch-architecture-rationale.md → architecture/dispatch-architecture-rationale.md} +12 -9
- package/docs/{dispatch-typed-intent.md → architecture/dispatch-typed-intent.md} +68 -46
- package/docs/{evidence-and-memory.md → architecture/evidence-and-memory.md} +23 -16
- package/docs/{middleware-and-components.md → architecture/middleware-and-components.md} +11 -5
- package/docs/{model-catalog.md → architecture/model-catalog.md} +40 -17
- package/docs/{observability.md → architecture/observability.md} +26 -13
- package/docs/{pi-boundary.md → architecture/pi-boundary.md} +24 -11
- package/docs/{prompt-envelope-and-tools.md → architecture/prompt-envelope-and-tools.md} +55 -20
- package/docs/{provider-adapter-cookbook.md → architecture/provider-adapter-cookbook.md} +35 -24
- package/docs/{safety-model.md → architecture/safety-model.md} +20 -15
- package/docs/{session-lifecycle.md → architecture/session-lifecycle.md} +8 -5
- package/docs/architecture/time-conventions.md +125 -0
- package/docs/{trace-store.md → architecture/trace-store.md} +26 -13
- package/docs/{tui-design.md → architecture/tui-design.md} +13 -13
- package/docs/{worker-dispatch-mechanics.md → architecture/worker-dispatch-mechanics.md} +27 -30
- package/docs/{built-in-agents.md → guide/built-in-agents.md} +70 -46
- package/docs/{commands-and-modes.md → guide/commands-and-modes.md} +73 -62
- package/docs/{configuration-and-targets.md → guide/configuration-and-targets.md} +323 -444
- package/docs/guide/configuration-reference.md +1158 -0
- package/docs/{environment-variables.md → guide/environment-variables.md} +31 -27
- package/docs/{exit-codes-and-output.md → guide/exit-codes-and-output.md} +8 -3
- package/docs/{extensions-and-sharing.md → guide/extensions-and-sharing.md} +41 -14
- package/docs/{fleet-dispatch.md → guide/fleet-dispatch.md} +47 -49
- package/docs/{glossary.md → guide/glossary.md} +14 -11
- package/docs/{installation-and-lifecycle.md → guide/installation-and-lifecycle.md} +45 -14
- package/docs/guide/panes-and-files.md +290 -0
- package/docs/{proactive-memory.md → guide/proactive-memory.md} +79 -66
- package/docs/{resource-library.md → guide/resource-library.md} +13 -4
- package/docs/{skills-marketplace.md → guide/skills-marketplace.md} +7 -3
- package/docs/{tool-usage.md → guide/tool-usage.md} +87 -23
- package/docs/{troubleshooting.md → guide/troubleshooting.md} +10 -5
- package/docs/{config-knobs-audit.md → history/config-knobs-audit.md} +13 -10
- package/docs/history/release-cut-checklist.md +207 -0
- package/docs/{development-pipeline.md → process/development-pipeline.md} +24 -26
- package/docs/process/documentation-coverage.md +100 -0
- package/docs/process/documentation-guide.md +187 -0
- package/docs/{eval-runner.md → process/eval-runner.md} +41 -50
- package/docs/{evals-internal.md → process/evals-internal.md} +10 -10
- package/docs/{evolution.md → process/evolution.md} +2 -2
- package/docs/{fleet-demo-runbook.md → process/fleet-demo-runbook.md} +17 -10
- package/docs/{git-commit-provenance.md → process/git-commit-provenance.md} +11 -4
- package/docs/{performance-methodology.md → process/performance-methodology.md} +87 -69
- package/docs/{scientific-validation.md → process/scientific-validation.md} +4 -4
- 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 +13 -21
- package/skills/README.md +51 -42
- package/skills/coding/ast-grep/SKILL.md +9 -3
- package/skills/coding/coding-standards/SKILL.md +9 -3
- package/skills/coding/prototype/SKILL.md +9 -3
- package/skills/coding/tdd/SKILL.md +9 -3
- package/skills/context/context-handoff/SKILL.md +13 -4
- package/skills/context/context-handoff/evals.md +3 -3
- package/skills/context/context-prime/SKILL.md +9 -3
- package/skills/context/context-prime/evals.md +2 -2
- package/skills/git/file-ticket/SKILL.md +10 -5
- 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 +9 -3
- package/skills/git/resolve-merge-conflicts/evals.md +2 -2
- package/skills/git/ship/SKILL.md +10 -4
- package/skills/git/ship/evals.md +4 -4
- package/skills/git/worktree-create/SKILL.md +8 -3
- package/skills/git/worktree-create/evals.md +6 -6
- package/skills/git/worktree-merge/SKILL.md +8 -3
- package/skills/git/worktree-merge/evals.md +6 -6
- package/skills/meta/{clio-dev → clio-coder-dev}/SKILL.md +22 -12
- package/skills/meta/{clio-dev → clio-coder-dev}/evals.md +5 -4
- package/skills/meta/clio-coder-test/SKILL.md +146 -0
- package/skills/meta/{clio-test → clio-coder-test}/evals.md +10 -5
- package/skills/meta/clio-coder-test/references/harness.md +102 -0
- package/skills/meta/clio-coder-test/references/test-map.md +96 -0
- package/skills/meta/credentials/SKILL.md +10 -3
- package/skills/meta/find-skills/SKILL.md +9 -3
- package/skills/meta/herdr/SKILL.md +9 -3
- package/skills/meta/skill-craft/SKILL.md +39 -16
- package/skills/planning/architecture/SKILL.md +9 -3
- package/skills/planning/backlog/SKILL.md +9 -3
- package/skills/planning/prd/SKILL.md +9 -3
- package/skills/planning/product-intent/SKILL.md +9 -3
- package/skills/planning/tech-spec/SKILL.md +9 -3
- package/skills/registry.yaml +66 -66
- package/skills/research/arxiv-literature/SKILL.md +9 -3
- package/skills/research/experiment-protocol/SKILL.md +10 -3
- package/skills/research/scientific-debugging/SKILL.md +10 -3
- package/skills/research/scientific-debugging/evals.md +2 -2
- package/skills/research/scientific-modernization/SKILL.md +10 -3
- package/skills/skill-marketplace.json +285 -66
- package/skills/workflow/cut-it/SKILL.md +11 -3
- package/skills/workflow/design-council/SKILL.md +12 -3
- package/skills/workflow/grill-me/SKILL.md +9 -3
- package/skills/workflow/workflow-distiller/SKILL.md +9 -3
- package/src/cli/acp.ts +2 -2
- package/src/cli/args.ts +2 -2
- package/src/cli/auth.ts +2 -2
- package/src/cli/bootstrap-generate.ts +6 -6
- package/src/cli/clio.ts +6 -1
- package/src/cli/config-inspect.ts +68 -15
- package/src/cli/configure-interop.ts +1 -1
- package/src/cli/configure.ts +27 -31
- package/src/cli/default-target.ts +1 -1
- package/src/cli/docs.ts +28 -20
- package/src/cli/doctor-naming.ts +323 -0
- package/src/cli/doctor-panes.ts +46 -14
- package/src/cli/doctor-toolchain.ts +31 -10
- package/src/cli/doctor.ts +15 -1
- package/src/cli/eval-inventory.ts +8 -8
- package/src/cli/eval.ts +1 -2
- package/src/cli/evidence-detail.ts +1 -1
- package/src/cli/evidence-inventory.ts +1 -1
- package/src/cli/extensions.ts +2 -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 +9 -6
- package/src/cli/index.ts +2 -1
- package/src/cli/internal-dispatch.ts +3 -4
- 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/panes.ts +19 -5
- package/src/cli/reset.ts +1 -1
- package/src/cli/run.ts +13 -17
- package/src/cli/share.ts +6 -2
- package/src/cli/skills-eval.ts +14 -14
- package/src/cli/targets.ts +25 -30
- package/src/cli/trace-inspect.ts +1 -1
- package/src/cli/trace.ts +96 -4
- 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 +6 -6
- package/src/core/artifact-paths.ts +1 -1
- package/src/core/bash-exec.ts +132 -87
- package/src/core/boot-trace.ts +3 -3
- package/src/core/bus-events.ts +51 -6
- package/src/core/bus-trace.ts +2 -2
- package/src/core/compile-cache.ts +1 -1
- package/src/core/config.ts +1066 -886
- package/src/core/defaults.ts +326 -530
- package/src/core/dispatch-outcome.ts +16 -0
- 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 +33 -52
- package/src/core/naming-compat.ts +45 -0
- package/src/core/naming-events.ts +62 -0
- package/src/core/prompt-hint.ts +9 -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/builtins/architect.md +2 -3
- package/src/domains/agents/builtins/coder.md +3 -2
- package/src/domains/agents/builtins/debugger.md +2 -2
- package/src/domains/agents/builtins/documenter.md +2 -2
- package/src/domains/agents/builtins/git-master.md +1 -1
- package/src/domains/agents/builtins/oracle.md +1 -1
- package/src/domains/agents/builtins/provenance.md +1 -1
- package/src/domains/agents/builtins/researcher.md +1 -1
- package/src/domains/agents/builtins/scout.md +1 -1
- package/src/domains/agents/builtins/tester.md +2 -2
- package/src/domains/agents/builtins/verifier.md +2 -2
- package/src/domains/agents/builtins/wiki-writer.md +1 -1
- package/src/domains/agents/catalog.ts +14 -26
- package/src/domains/agents/contract.ts +2 -0
- package/src/domains/agents/extension.ts +26 -4
- 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 +56 -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 -6
- package/src/domains/context/prompt-context.ts +1 -1
- package/src/domains/context/wiki/assemble.ts +2 -2
- package/src/domains/context/working-set/path-index.ts +1 -0
- 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/capability-match.ts +10 -0
- 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 +169 -82
- 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/host-verification.ts +435 -39
- package/src/domains/dispatch/intent-requirements.ts +10 -0
- package/src/domains/dispatch/intent.ts +18 -1
- package/src/domains/dispatch/joint-route-resolver.ts +1 -1
- package/src/domains/dispatch/path-scope.ts +220 -70
- 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 +9 -19
- package/src/domains/dispatch/state.ts +2 -3
- package/src/domains/dispatch/tool-stats.ts +1 -1
- package/src/domains/dispatch/transport.ts +47 -40
- package/src/domains/dispatch/types.ts +58 -6
- package/src/domains/dispatch/worker-protocol.ts +2 -2
- package/src/domains/eval/artifacts/store.ts +10 -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 +20 -3
- 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/trust-status.ts +10 -1
- package/src/domains/extensions/contract.ts +15 -1
- package/src/domains/extensions/discovery.ts +238 -41
- package/src/domains/extensions/extension.ts +105 -6
- package/src/domains/extensions/index.ts +24 -0
- package/src/domains/extensions/integrity.ts +189 -0
- package/src/domains/extensions/manager.ts +17 -1
- package/src/domains/extensions/resource-path.ts +27 -0
- package/src/domains/extensions/resources.ts +18 -38
- package/src/domains/extensions/snapshot-store.ts +39 -0
- package/src/domains/extensions/snapshot.ts +180 -0
- package/src/domains/extensions/state.ts +385 -57
- package/src/domains/extensions/types.ts +118 -1
- 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-extension-install-digests.ts +27 -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 +22 -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 +276 -0
- package/src/domains/lifecycle/naming-tool-markers.ts +139 -0
- package/src/domains/lifecycle/naming-yazi.ts +86 -0
- package/src/domains/lifecycle/upgrade-notice.ts +1 -1
- package/src/domains/memory/task-memory-handoff.ts +6 -3
- package/src/domains/middleware/contract.ts +26 -0
- package/src/domains/middleware/extension.ts +24 -24
- package/src/domains/middleware/hook-receipts.ts +27 -4
- package/src/domains/middleware/hooks-io.ts +65 -32
- package/src/domains/middleware/hooks.ts +64 -0
- package/src/domains/middleware/index.ts +35 -4
- package/src/domains/middleware/marketplace-offer.ts +339 -0
- package/src/domains/middleware/registrations.ts +326 -0
- package/src/domains/middleware/runtime.ts +30 -2
- package/src/domains/middleware/snapshot.ts +20 -7
- package/src/domains/mux/contract.ts +195 -25
- package/src/domains/mux/detect.ts +23 -6
- package/src/domains/mux/dock-controller.ts +365 -0
- package/src/domains/mux/extension.ts +7 -1
- package/src/domains/mux/index.ts +21 -1
- package/src/domains/mux/operations.ts +72 -5
- 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/assets/yazi.toml +2 -2
- 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 +79 -7
- package/src/domains/mux/yazi/theme.ts +117 -17
- package/src/domains/observability/contract.ts +10 -11
- package/src/domains/observability/extension.ts +12 -4
- package/src/domains/observability/out-of-turn-usage.ts +2 -2
- package/src/domains/observability/projection.ts +15 -91
- package/src/domains/observability/trace-store.ts +65 -19
- package/src/domains/prompts/compiler.ts +75 -55
- package/src/domains/prompts/contract.ts +15 -3
- package/src/domains/prompts/extension.ts +100 -12
- package/src/domains/prompts/fragments/identity/clio-worker.md +2 -4
- package/src/domains/prompts/fragments/identity/clio.md +6 -12
- package/src/domains/prompts/fragments/identity/docs-routing.md +1 -2
- package/src/domains/prompts/fragments/identity/self-awareness.md +3 -11
- package/src/domains/prompts/fragments/operating/contract.md +7 -15
- package/src/domains/prompts/fragments/operating/delegation.md +32 -34
- package/src/domains/prompts/fragments/operating/skills.md +11 -18
- package/src/domains/prompts/fragments/operating/worker.md +1 -8
- package/src/domains/providers/extension.ts +5 -5
- package/src/domains/providers/index.ts +1 -1
- package/src/domains/providers/knowledge-base-path.ts +1 -1
- package/src/domains/providers/model-runtime-capabilities.ts +99 -23
- 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} +671 -106
- package/src/domains/providers/plugins.ts +1 -1
- package/src/domains/providers/resolver.ts +1 -1
- package/src/domains/providers/runtime-resolution.ts +31 -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 +9 -4
- package/src/domains/providers/runtimes/local-native/llamacpp-completion.ts +1 -1
- package/src/domains/providers/runtimes/local-native/llamacpp.ts +9 -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/cost-provenance.ts +19 -0
- package/src/domains/providers/types/knowledge-base.ts +13 -0
- package/src/domains/providers/types/local-model-quirks.ts +87 -39
- 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 +41 -18
- 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/call-target.ts +1 -1
- package/src/domains/safety/finish-contract.ts +2 -1
- package/src/domains/safety/loop-detector.ts +7 -4
- 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/session/task-board.ts +10 -9
- package/src/domains/share/archive.ts +249 -43
- 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 +89 -35
- 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 +4 -23
- package/src/engine/apis/lmstudio.ts +4 -9
- package/src/engine/apis/ollama-native.ts +9 -9
- package/src/engine/apis/openai-completions.ts +30 -27
- package/src/engine/apis/output-budget.ts +8 -18
- package/src/engine/apis/residency.ts +10 -35
- 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/gemma-channel-filter.ts +19 -0
- package/src/engine/loop-guard.ts +92 -17
- 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 +54 -24
- package/src/engine/worker-tools.ts +3 -1
- package/src/entry/extension-hook-sources.ts +28 -0
- package/src/entry/extension-reload.ts +309 -0
- package/src/entry/orchestrator.ts +163 -120
- package/src/interactive/application-controller.ts +23 -22
- package/src/interactive/bus-notices.ts +10 -3
- package/src/interactive/chat-loop-messages.ts +3 -13
- package/src/interactive/chat-loop.ts +18 -9
- package/src/interactive/chat-panel.ts +37 -14
- package/src/interactive/chat-renderer.ts +71 -7
- 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 +36 -44
- 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 +15 -44
- package/src/interactive/interactive-application.ts +116 -61
- package/src/interactive/interactive-event-projection.ts +1 -1
- package/src/interactive/interactive-input-runtime.ts +6 -2
- package/src/interactive/interactive-presentation.ts +22 -17
- package/src/interactive/interactive-shell.ts +2 -2
- package/src/interactive/interactive-slash-runtime.ts +65 -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/extensions.ts +9 -1
- package/src/interactive/overlays/fleet-run-approval.ts +3 -3
- package/src/interactive/overlays/handoff-review.ts +2 -2
- package/src/interactive/overlays/help-reference.ts +13 -0
- 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 +360 -303
- 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 +145 -43
- package/src/interactive/permission-overlay.ts +2 -2
- package/src/interactive/prompt-cache-identity.ts +88 -0
- 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 +401 -190
- package/src/interactive/slash-spec.ts +160 -17
- package/src/interactive/status/controller.ts +2 -2
- package/src/interactive/stream-pacing-policy.ts +1 -24
- package/src/interactive/tasks-overlay.ts +20 -13
- package/src/interactive/terminal-lease.ts +6 -7
- package/src/interactive/turn-context.ts +41 -26
- 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 +72 -11
- package/src/tools/agent-tools.ts +30 -1
- package/src/tools/artifact.ts +2 -2
- package/src/tools/ask-user.ts +6 -6
- package/src/tools/bash.ts +2 -2
- package/src/tools/bootstrap.ts +4 -0
- package/src/tools/builtin-tool-catalog.ts +52 -22
- package/src/tools/codewiki/code-nav-surface.ts +6 -0
- package/src/tools/codewiki/code-nav.ts +99 -13
- package/src/tools/compete-worktrees.ts +27 -17
- package/src/tools/context/docs-engine.ts +20 -7
- package/src/tools/context/index.ts +44 -13
- package/src/tools/core-bootstrap.ts +28 -6
- package/src/tools/credential-present.ts +1 -2
- package/src/tools/dispatch-admission.ts +4 -2
- package/src/tools/dispatch-arguments.ts +6 -2
- package/src/tools/dispatch-plan.ts +48 -15
- package/src/tools/dispatch-run-events.ts +13 -11
- package/src/tools/dispatch-runner.ts +11 -6
- package/src/tools/dispatch-schema.ts +338 -0
- package/src/tools/dispatch-types.ts +3 -0
- package/src/tools/dispatch.ts +9 -254
- package/src/tools/find.ts +1 -6
- package/src/tools/ledger.ts +3 -5
- package/src/tools/monitor-surface.ts +5 -13
- package/src/tools/monitor.ts +4 -4
- package/src/tools/observation.ts +4 -5
- package/src/tools/observers.ts +0 -33
- package/src/tools/panes-surface.ts +4 -11
- package/src/tools/panes.ts +4 -2
- package/src/tools/policy.ts +15 -2
- package/src/tools/read.ts +5 -6
- package/src/tools/registry.ts +30 -7
- package/src/tools/result-shaping.ts +18 -14
- package/src/tools/steer-surface.ts +1 -1
- package/src/tools/task-worktree.ts +28 -7
- package/src/tools/tasks.ts +1 -1
- package/src/tools/truncate.ts +6 -5
- package/src/tools/verify/authoring.ts +3 -6
- package/src/tools/verify/frontend.ts +1 -1
- package/src/tools/verify/surface.ts +6 -12
- package/src/tools/web-fetch-surface.ts +1 -3
- 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-36EJLSQQ.js +0 -814
- package/dist/chunk-GXNLGKAB.js +0 -571
- package/dist/chunk-K7VKOLQQ.js +0 -15
- package/dist/chunk-PMZCIOCJ.js +0 -25
- package/dist/chunk-SUCTJL45.js +0 -45
- package/dist/chunk-SUW5DORT.js +0 -819
- package/dist/chunk-TZ3SGWZZ.js +0 -48
- package/dist/chunk-UOV2BYIW.js +0 -107
- package/dist/chunk-VFA6GDY5.js +0 -1625
- package/dist/doctor-QOA5FNY5.js +0 -313
- package/dist/fleet-view-ZCON35AG.js +0 -102
- package/dist/panes-HMABYVO4.js +0 -58
- package/docs/artifact-versions.md +0 -67
- package/docs/documentation-coverage.md +0 -46
- package/docs/documentation-guide.md +0 -167
- package/docs/release-cut-checklist.md +0 -193
- package/docs/time-conventions.md +0 -101
- package/skills/meta/clio-test/SKILL.md +0 -133
- package/skills/meta/clio-test/references/harness.md +0 -126
- package/skills/meta/clio-test/references/test-map.md +0 -69
- package/src/engine/apis/degraded-inference.ts +0 -95
|
@@ -5,46 +5,54 @@ import {
|
|
|
5
5
|
} from "./chunk-CFGTUFWB.js";
|
|
6
6
|
import {
|
|
7
7
|
credentialsPresent
|
|
8
|
-
} from "./chunk-
|
|
8
|
+
} from "./chunk-72GZI5EV.js";
|
|
9
9
|
import {
|
|
10
10
|
ceilChars,
|
|
11
11
|
estimateAgentMessageTokens,
|
|
12
12
|
toolSchemaChars
|
|
13
|
-
} from "./chunk-
|
|
13
|
+
} from "./chunk-CWVRRIEI.js";
|
|
14
14
|
import {
|
|
15
15
|
getSharedBus
|
|
16
|
-
} from "./chunk-
|
|
17
|
-
import {
|
|
18
|
-
BusChannels
|
|
19
|
-
} from "./chunk-HLW2MRKE.js";
|
|
16
|
+
} from "./chunk-PMZVFWSR.js";
|
|
20
17
|
import {
|
|
21
18
|
readSettings
|
|
22
|
-
} from "./chunk-
|
|
19
|
+
} from "./chunk-34BHNEE3.js";
|
|
20
|
+
import {
|
|
21
|
+
warnLegacyNaming
|
|
22
|
+
} from "./chunk-D7E7WCDF.js";
|
|
23
|
+
import {
|
|
24
|
+
BusChannels
|
|
25
|
+
} from "./chunk-F4EKGO4N.js";
|
|
23
26
|
import {
|
|
24
27
|
sleep
|
|
25
|
-
} from "./chunk-
|
|
28
|
+
} from "./chunk-EBY63B7G.js";
|
|
26
29
|
import {
|
|
27
30
|
CLIO_CONTEXT_WINDOW_WARN_BELOW,
|
|
28
31
|
CLIO_MIN_CONTEXT_WINDOW,
|
|
29
32
|
CLIO_MIN_MAX_OUTPUT_TOKENS,
|
|
33
|
+
EMPTY_CAPABILITIES,
|
|
34
|
+
VALID_THINKING_LEVELS,
|
|
35
|
+
availableThinkingLevels,
|
|
30
36
|
extractLocalModelQuirks,
|
|
37
|
+
inferLocalModelFamily,
|
|
38
|
+
isHarmonyModelId,
|
|
31
39
|
listLmStudioModels,
|
|
32
40
|
lmStudioReasoningEffort,
|
|
33
41
|
lmStudioRootUrl,
|
|
34
42
|
registerBuiltinRuntimes,
|
|
35
43
|
requestLmStudioJson,
|
|
36
44
|
resolveLmStudioInstance
|
|
37
|
-
} from "./chunk-
|
|
45
|
+
} from "./chunk-IMXMHHMQ.js";
|
|
38
46
|
import {
|
|
39
47
|
listKnownModelsForRuntime
|
|
40
|
-
} from "./chunk-
|
|
48
|
+
} from "./chunk-CDNVLKUX.js";
|
|
41
49
|
import {
|
|
42
50
|
authNotRequiredStatus,
|
|
43
51
|
openAuthStorage,
|
|
44
52
|
registerClioOAuthProviders,
|
|
45
53
|
resolveAuthTarget,
|
|
46
54
|
targetRequiresAuth
|
|
47
|
-
} from "./chunk-
|
|
55
|
+
} from "./chunk-WNP7O5WZ.js";
|
|
48
56
|
import {
|
|
49
57
|
withStateFileLock
|
|
50
58
|
} from "./chunk-IKCO5N3L.js";
|
|
@@ -67,17 +75,16 @@ import {
|
|
|
67
75
|
} from "./chunk-NUGM5KR6.js";
|
|
68
76
|
import {
|
|
69
77
|
capabilitiesFromCatalogModel,
|
|
70
|
-
catalogThinkingLevelsForRuntime,
|
|
71
78
|
getCatalogModelForRuntime,
|
|
72
79
|
mergeCapabilities,
|
|
73
80
|
resolveCostProvenance
|
|
74
|
-
} from "./chunk-
|
|
81
|
+
} from "./chunk-O42A54GG.js";
|
|
75
82
|
import {
|
|
76
83
|
activateExternalPluginApiBridge,
|
|
77
84
|
calculateEngineCost,
|
|
78
85
|
ensurePiAiRegistered,
|
|
79
86
|
registerEngineApiProvider
|
|
80
|
-
} from "./chunk-
|
|
87
|
+
} from "./chunk-VXMFAE2W.js";
|
|
81
88
|
import {
|
|
82
89
|
__toESM,
|
|
83
90
|
init_esm_shims
|
|
@@ -427,7 +434,7 @@ function evictionNotice(facts, entry) {
|
|
|
427
434
|
facts,
|
|
428
435
|
"swap",
|
|
429
436
|
"warning",
|
|
430
|
-
`swapping resident '${entry.modelId}' for requested '${facts.keepModelId}' on '${facts.targetId}' (Clio did not load it; recorded transition instead of a silent unload; set
|
|
437
|
+
`swapping resident '${entry.modelId}' for requested '${facts.keepModelId}' on '${facts.targetId}' (Clio did not load it; recorded transition instead of a silent unload; set lifecycle: user-managed to forbid swaps).`,
|
|
431
438
|
{
|
|
432
439
|
...entry.sizeVramBytes !== void 0 ? { freedVramBytes: entry.sizeVramBytes } : {},
|
|
433
440
|
swappedOut: entry.modelId
|
|
@@ -730,16 +737,8 @@ async function reconcileResidency(adapter) {
|
|
|
730
737
|
}
|
|
731
738
|
return plan;
|
|
732
739
|
}
|
|
733
|
-
function
|
|
734
|
-
|
|
735
|
-
if (opt === "observe" || opt === "off" || opt === "0" || opt === "false" || opt === "user" || opt === "user-managed") {
|
|
736
|
-
return false;
|
|
737
|
-
}
|
|
738
|
-
return true;
|
|
739
|
-
}
|
|
740
|
-
function residencyManagedFor(lifecycle, env = process.env) {
|
|
741
|
-
if (lifecycle === "user-managed") return false;
|
|
742
|
-
return residencyManaged(env);
|
|
740
|
+
function residencyManagedFor(lifecycle) {
|
|
741
|
+
return lifecycle !== "user-managed";
|
|
743
742
|
}
|
|
744
743
|
|
|
745
744
|
// src/core/run-overrides.ts
|
|
@@ -787,97 +786,6 @@ async function withRunOverrides(overrides, fn) {
|
|
|
787
786
|
}
|
|
788
787
|
}
|
|
789
788
|
|
|
790
|
-
// src/domains/providers/types/capability-flags.ts
|
|
791
|
-
init_esm_shims();
|
|
792
|
-
|
|
793
|
-
// src/domains/providers/model-family.ts
|
|
794
|
-
init_esm_shims();
|
|
795
|
-
function normalizeModelIdForFamily(modelId) {
|
|
796
|
-
return (modelId ?? "").trim().toLowerCase().replace(/_/g, "-");
|
|
797
|
-
}
|
|
798
|
-
function isHarmonyModelId(modelId) {
|
|
799
|
-
return normalizeModelIdForFamily(modelId).includes("gpt-oss");
|
|
800
|
-
}
|
|
801
|
-
function inferLocalModelFamily(modelId) {
|
|
802
|
-
const normalized = normalizeModelIdForFamily(modelId);
|
|
803
|
-
if (normalized.length === 0) return "unknown";
|
|
804
|
-
if (normalized.includes("gpt-oss")) return "openai-gpt-oss";
|
|
805
|
-
if (normalized.includes("nemotron-cascade-2") || normalized.includes("nemotron-cascade2")) {
|
|
806
|
-
return "nemotron-cascade-2";
|
|
807
|
-
}
|
|
808
|
-
if (normalized.includes("nemotron-3-nano-omni") || normalized.includes("nemotron-nano-omni")) {
|
|
809
|
-
return "nemotron-3-nano-omni";
|
|
810
|
-
}
|
|
811
|
-
if (normalized.includes("qwen3")) return "qwen3";
|
|
812
|
-
if (normalized.includes("gemma-4") || normalized.includes("gemma4") || normalized.includes("gemopus")) {
|
|
813
|
-
return "gemma-4";
|
|
814
|
-
}
|
|
815
|
-
return "unknown";
|
|
816
|
-
}
|
|
817
|
-
|
|
818
|
-
// src/domains/providers/types/capability-flags.ts
|
|
819
|
-
var EMPTY_CAPABILITIES = {
|
|
820
|
-
chat: false,
|
|
821
|
-
tools: false,
|
|
822
|
-
reasoning: false,
|
|
823
|
-
vision: false,
|
|
824
|
-
audio: false,
|
|
825
|
-
embeddings: false,
|
|
826
|
-
rerank: false,
|
|
827
|
-
fim: false,
|
|
828
|
-
contextWindow: 0,
|
|
829
|
-
maxTokens: 0
|
|
830
|
-
};
|
|
831
|
-
var VALID_THINKING_LEVELS = ["off", "minimal", "low", "medium", "high", "xhigh", "max"];
|
|
832
|
-
var THINKING_LEVELS_WITHOUT_XHIGH = ["off", "minimal", "low", "medium", "high"];
|
|
833
|
-
var THINKING_LEVELS_OPENAI_5_1_MINI = ["off", "minimal", "low", "medium", "high"];
|
|
834
|
-
var THINKING_LEVELS_OPENAI_5_2_PLUS = [
|
|
835
|
-
"off",
|
|
836
|
-
"minimal",
|
|
837
|
-
"low",
|
|
838
|
-
"medium",
|
|
839
|
-
"high",
|
|
840
|
-
"xhigh"
|
|
841
|
-
];
|
|
842
|
-
var THINKING_LEVELS_OPENAI_5_6 = [...THINKING_LEVELS_OPENAI_5_2_PLUS, "max"];
|
|
843
|
-
var THINKING_LEVELS_HARMONY = ["low", "medium", "high"];
|
|
844
|
-
function normalizeModelId(modelId) {
|
|
845
|
-
if (!modelId) return void 0;
|
|
846
|
-
const trimmed = modelId.trim();
|
|
847
|
-
if (trimmed.length === 0) return void 0;
|
|
848
|
-
return trimmed.includes("/") ? trimmed.split("/").pop() ?? trimmed : trimmed;
|
|
849
|
-
}
|
|
850
|
-
function availableOpenAICodexThinkingLevels(modelId) {
|
|
851
|
-
const normalized = normalizeModelId(modelId);
|
|
852
|
-
if (!normalized) return VALID_THINKING_LEVELS;
|
|
853
|
-
if (normalized === "gpt-5.1-codex-mini") return THINKING_LEVELS_OPENAI_5_1_MINI;
|
|
854
|
-
if (normalized.startsWith("gpt-5.2") || normalized.startsWith("gpt-5.3") || normalized.startsWith("gpt-5.4") || normalized.startsWith("gpt-5.5")) {
|
|
855
|
-
return THINKING_LEVELS_OPENAI_5_2_PLUS;
|
|
856
|
-
}
|
|
857
|
-
if (normalized.startsWith("gpt-5.6")) {
|
|
858
|
-
return THINKING_LEVELS_OPENAI_5_6;
|
|
859
|
-
}
|
|
860
|
-
return THINKING_LEVELS_WITHOUT_XHIGH;
|
|
861
|
-
}
|
|
862
|
-
function availableThinkingLevels(caps, options) {
|
|
863
|
-
if (!caps.reasoning) return ["off"];
|
|
864
|
-
if (caps.thinkingFormat === "harmony" || isHarmonyModelId(options?.modelId)) {
|
|
865
|
-
return THINKING_LEVELS_HARMONY;
|
|
866
|
-
}
|
|
867
|
-
const catalogLevels = options?.runtimeId && options.modelId ? catalogThinkingLevelsForRuntime(options.runtimeId, options.modelId) : void 0;
|
|
868
|
-
if (catalogLevels) {
|
|
869
|
-
if (!catalogLevels.includes("xhigh")) return catalogLevels.filter((level) => level !== "max");
|
|
870
|
-
return catalogLevels;
|
|
871
|
-
}
|
|
872
|
-
if (caps.thinkingFormat === "openai-codex" || options?.runtimeId === "openai-codex") {
|
|
873
|
-
return availableOpenAICodexThinkingLevels(options?.modelId);
|
|
874
|
-
}
|
|
875
|
-
if (caps.thinkingFormat === "anthropic-extended") {
|
|
876
|
-
return THINKING_LEVELS_WITHOUT_XHIGH;
|
|
877
|
-
}
|
|
878
|
-
return THINKING_LEVELS_WITHOUT_XHIGH;
|
|
879
|
-
}
|
|
880
|
-
|
|
881
789
|
// src/domains/providers/model-capabilities.ts
|
|
882
790
|
init_esm_shims();
|
|
883
791
|
function normalizedModelId(wireModelId) {
|
|
@@ -1137,14 +1045,15 @@ function supportedBudgetLevels(baseLevels, quirks) {
|
|
|
1137
1045
|
function supportedEffortLevels(baseLevels, quirks, harmony) {
|
|
1138
1046
|
if (harmony) return HARMONY_LEVELS;
|
|
1139
1047
|
const efforts = quirks?.thinking?.effortByLevel;
|
|
1140
|
-
|
|
1048
|
+
const byLevelValues = (quirks?.chatTemplateKwargs ?? quirks?.thinking?.chatTemplateKwargs)?.byLevel?.values;
|
|
1049
|
+
if (!efforts && !byLevelValues) return baseLevels;
|
|
1141
1050
|
const out = [];
|
|
1142
1051
|
if (baseLevels.includes("off")) out.push("off");
|
|
1143
|
-
if (efforts
|
|
1144
|
-
if (efforts
|
|
1145
|
-
if (efforts
|
|
1146
|
-
if (efforts
|
|
1147
|
-
if (efforts
|
|
1052
|
+
if (efforts?.minimal !== void 0 || byLevelValues?.minimal !== void 0) out.push("minimal");
|
|
1053
|
+
if (efforts?.low !== void 0 || byLevelValues?.low !== void 0) out.push("low");
|
|
1054
|
+
if (efforts?.medium !== void 0 || byLevelValues?.medium !== void 0) out.push("medium");
|
|
1055
|
+
if (efforts?.high !== void 0 || byLevelValues?.high !== void 0) out.push("high");
|
|
1056
|
+
if (efforts?.xhigh !== void 0 || byLevelValues?.xhigh !== void 0) out.push("xhigh");
|
|
1148
1057
|
return out.length > 0 ? out : baseLevels;
|
|
1149
1058
|
}
|
|
1150
1059
|
function restrictThinkingLevelsByMechanism(levels, mechanism, quirks, options) {
|
|
@@ -1280,12 +1189,45 @@ function resolveThinkingCapability(input, quirks, parser) {
|
|
|
1280
1189
|
budgetEnforcement
|
|
1281
1190
|
};
|
|
1282
1191
|
}
|
|
1283
|
-
var
|
|
1192
|
+
var REASONING_EFFORT_ONLY_RUNTIMES = /* @__PURE__ */ new Set(["lmstudio"]);
|
|
1284
1193
|
function onOffReasoningEffort(thinkingActive) {
|
|
1285
1194
|
return thinkingActive ? "low" : "none";
|
|
1286
1195
|
}
|
|
1287
|
-
function
|
|
1196
|
+
function resolveFamilyChatTemplateKwargs(quirks, effectiveLevel, configuredLevel) {
|
|
1197
|
+
const block = quirks?.chatTemplateKwargs ?? quirks?.thinking?.chatTemplateKwargs;
|
|
1198
|
+
if (!block) return void 0;
|
|
1199
|
+
const out = {};
|
|
1200
|
+
if (block.static) {
|
|
1201
|
+
for (const [k, v] of Object.entries(block.static)) {
|
|
1202
|
+
out[k] = v;
|
|
1203
|
+
}
|
|
1204
|
+
}
|
|
1205
|
+
if (block.byLevel) {
|
|
1206
|
+
const byLevel = block.byLevel;
|
|
1207
|
+
const val = byLevel.values[effectiveLevel] ?? byLevel.values[configuredLevel];
|
|
1208
|
+
if (val !== void 0) {
|
|
1209
|
+
out[byLevel.key] = val;
|
|
1210
|
+
}
|
|
1211
|
+
}
|
|
1212
|
+
return Object.keys(out).length > 0 ? out : void 0;
|
|
1213
|
+
}
|
|
1214
|
+
function familyKwargsDeclaredUnsupported(quirks, runtimeId) {
|
|
1215
|
+
if (runtimeId !== "lmstudio") return false;
|
|
1216
|
+
const block = quirks?.chatTemplateKwargs ?? quirks?.thinking?.chatTemplateKwargs;
|
|
1217
|
+
return block?.lmstudio === "unsupported" || block?.byLevel?.lmstudio === "unsupported";
|
|
1218
|
+
}
|
|
1219
|
+
function resolveRequestCapability(thinking, parser, runtimeId, quirks) {
|
|
1288
1220
|
const request = { budgetEnforcement: thinking.budgetEnforcement };
|
|
1221
|
+
const effortOnly = REASONING_EFFORT_ONLY_RUNTIMES.has(runtimeId);
|
|
1222
|
+
const familyKwargs = resolveFamilyChatTemplateKwargs(quirks, thinking.effectiveLevel, thinking.configuredLevel);
|
|
1223
|
+
if (familyKwargs && effortOnly) {
|
|
1224
|
+
request.undeliverableChatTemplateKwargs = {
|
|
1225
|
+
keys: Object.keys(familyKwargs),
|
|
1226
|
+
declaredUnsupported: familyKwargsDeclaredUnsupported(quirks, runtimeId)
|
|
1227
|
+
};
|
|
1228
|
+
} else if (familyKwargs) {
|
|
1229
|
+
request.chatTemplateKwargs = { ...familyKwargs };
|
|
1230
|
+
}
|
|
1289
1231
|
if (thinking.mechanism === "effort-levels" && thinking.effort) {
|
|
1290
1232
|
request.reasoningEffort = thinking.effort;
|
|
1291
1233
|
}
|
|
@@ -1296,15 +1238,16 @@ function resolveRequestCapability(thinking, parser, runtimeId) {
|
|
|
1296
1238
|
request.budgetTokens = thinking.budgetTokens;
|
|
1297
1239
|
}
|
|
1298
1240
|
if (thinking.mechanism === "on-off" && thinking.chatTemplateKwargs) {
|
|
1299
|
-
request.chatTemplateKwargs = { ...thinking.chatTemplateKwargs };
|
|
1300
|
-
if (REASONING_EFFORT_ON_OFF_RUNTIMES.has(runtimeId)) {
|
|
1301
|
-
request.reasoningEffort = onOffReasoningEffort(thinking.thinkingActive);
|
|
1302
|
-
}
|
|
1241
|
+
request.chatTemplateKwargs = { ...request.chatTemplateKwargs ?? {}, ...thinking.chatTemplateKwargs };
|
|
1303
1242
|
}
|
|
1304
1243
|
if (parser === "harmony" && thinking.effort) {
|
|
1305
1244
|
request.reasoningEffort = thinking.effort;
|
|
1306
1245
|
request.chatTemplateKwargs = { ...request.chatTemplateKwargs ?? {}, reasoning_effort: thinking.effort };
|
|
1307
1246
|
}
|
|
1247
|
+
if (effortOnly && thinking.mechanism !== "none" && thinking.mechanism !== "always-on") {
|
|
1248
|
+
if (!thinking.thinkingActive) request.reasoningEffort = onOffReasoningEffort(false);
|
|
1249
|
+
else if (thinking.mechanism === "on-off") request.reasoningEffort = onOffReasoningEffort(true);
|
|
1250
|
+
}
|
|
1308
1251
|
return request;
|
|
1309
1252
|
}
|
|
1310
1253
|
function resolveModelRuntimeCapabilities(input) {
|
|
@@ -1320,7 +1263,7 @@ function resolveModelRuntimeCapabilities(input) {
|
|
|
1320
1263
|
family,
|
|
1321
1264
|
capabilities: input.capabilities,
|
|
1322
1265
|
thinking,
|
|
1323
|
-
request: resolveRequestCapability(thinking, parser, input.runtimeId),
|
|
1266
|
+
request: resolveRequestCapability(thinking, parser, input.runtimeId, quirks),
|
|
1324
1267
|
response: {
|
|
1325
1268
|
parser,
|
|
1326
1269
|
stripTokenizerSentinels: true
|
|
@@ -1404,7 +1347,9 @@ function capabilitiesFromModel(model) {
|
|
|
1404
1347
|
return caps;
|
|
1405
1348
|
}
|
|
1406
1349
|
function resolveModelRuntimeCapabilitiesForModel(model, configuredThinkingLevel) {
|
|
1407
|
-
const
|
|
1350
|
+
const runtimeModel = model;
|
|
1351
|
+
if (runtimeModel.clio !== void 0) warnLegacyNaming("model.clio", "model.clioCoder");
|
|
1352
|
+
const metadata2 = runtimeModel.clioCoder ?? runtimeModel.clio;
|
|
1408
1353
|
const caps = capabilitiesFromModel(model);
|
|
1409
1354
|
return resolveModelRuntimeCapabilities({
|
|
1410
1355
|
targetId: metadata2?.targetId ?? null,
|
|
@@ -1816,6 +1761,20 @@ function appendThinkingDiagnostics(diagnostics, resolved, requested) {
|
|
|
1816
1761
|
const severity = thinking.noticeKind === "unsupported" || thinking.noticeKind === "always-on" || thinking.noticeKind === "ignored-on-off" ? "warning" : "info";
|
|
1817
1762
|
diagnostics.push(diagnostic(severity, `thinking-${thinking.noticeKind}`, thinking.notice));
|
|
1818
1763
|
}
|
|
1764
|
+
var CHAT_TEMPLATE_KWARGS_UNDELIVERABLE = "chat-template-kwargs-undeliverable";
|
|
1765
|
+
function appendChatTemplateKwargsDiagnostics(diagnostics, resolved) {
|
|
1766
|
+
const undeliverable = resolved.request.undeliverableChatTemplateKwargs;
|
|
1767
|
+
if (!undeliverable || undeliverable.keys.length === 0) return;
|
|
1768
|
+
const keys = undeliverable.keys.join(", ");
|
|
1769
|
+
const declared = undeliverable.declaredUnsupported ? "its family entry marks them unsupported there" : "its family entry does not say so";
|
|
1770
|
+
diagnostics.push(
|
|
1771
|
+
diagnostic(
|
|
1772
|
+
"warning",
|
|
1773
|
+
CHAT_TEMPLATE_KWARGS_UNDELIVERABLE,
|
|
1774
|
+
`chat-template kwargs ${keys} cannot reach ${resolved.runtimeId}, which ignores chat_template_kwargs; ${resolved.modelId} runs without them and ${declared}`
|
|
1775
|
+
)
|
|
1776
|
+
);
|
|
1777
|
+
}
|
|
1819
1778
|
function nonNegativeFiniteNumber(value) {
|
|
1820
1779
|
return typeof value === "number" && Number.isFinite(value) && value >= 0 ? value : void 0;
|
|
1821
1780
|
}
|
|
@@ -1943,6 +1902,7 @@ function resolveRuntimeTarget(providers, input) {
|
|
|
1943
1902
|
const decisions = capabilityDecisions(runtime, capabilities);
|
|
1944
1903
|
appendCapabilityDiagnostics(diagnostics, input, capabilities, decisions, targetId);
|
|
1945
1904
|
appendThinkingDiagnostics(diagnostics, modelRuntime, requestedThinkingLevel);
|
|
1905
|
+
appendChatTemplateKwargsDiagnostics(diagnostics, modelRuntime);
|
|
1946
1906
|
if (hasError(diagnostics)) return { ok: false, diagnostics };
|
|
1947
1907
|
const resolved = {
|
|
1948
1908
|
targetId: target.id,
|
|
@@ -1982,6 +1942,7 @@ function modelHintPatch(target, model) {
|
|
|
1982
1942
|
function withoutStaleRuntimeDiagnostics(diagnostics, decisions) {
|
|
1983
1943
|
return diagnostics.filter((entry) => {
|
|
1984
1944
|
if (entry.code.startsWith("thinking-")) return false;
|
|
1945
|
+
if (entry.code === CHAT_TEMPLATE_KWARGS_UNDELIVERABLE) return false;
|
|
1985
1946
|
if (entry.code === "output-budget-unknown" && decisions.maxTokens > 0) return false;
|
|
1986
1947
|
if (entry.code === "tools-unsupported" && decisions.tools) return false;
|
|
1987
1948
|
return true;
|
|
@@ -2020,6 +1981,7 @@ function refineRuntimeTargetWithModelHints(target, model, knowledgeBase) {
|
|
|
2020
1981
|
const decisions = capabilityDecisions(target.runtime, capabilities);
|
|
2021
1982
|
const diagnostics = withoutStaleRuntimeDiagnostics(target.diagnostics, decisions);
|
|
2022
1983
|
appendThinkingDiagnostics(diagnostics, modelRuntime, target.requestedThinkingLevel);
|
|
1984
|
+
appendChatTemplateKwargsDiagnostics(diagnostics, modelRuntime);
|
|
2023
1985
|
return {
|
|
2024
1986
|
...target,
|
|
2025
1987
|
capabilities,
|
|
@@ -2147,6 +2109,15 @@ init_esm_shims();
|
|
|
2147
2109
|
function normalizeCostProvenance(value) {
|
|
2148
2110
|
return value ?? "unknown";
|
|
2149
2111
|
}
|
|
2112
|
+
var COST_PROVENANCE_VALUES = /* @__PURE__ */ new Set([
|
|
2113
|
+
"known",
|
|
2114
|
+
"known_free",
|
|
2115
|
+
"estimated",
|
|
2116
|
+
"unknown"
|
|
2117
|
+
]);
|
|
2118
|
+
function resolveCostProvenance2(value, fallback) {
|
|
2119
|
+
return typeof value === "string" && COST_PROVENANCE_VALUES.has(value) ? value : fallback;
|
|
2120
|
+
}
|
|
2150
2121
|
|
|
2151
2122
|
// src/domains/providers/index.ts
|
|
2152
2123
|
init_esm_shims();
|
|
@@ -2180,6 +2151,9 @@ function residencyTargetKey(runtimeId, baseUrl) {
|
|
|
2180
2151
|
// src/engine/gemma-channel-filter.ts
|
|
2181
2152
|
init_esm_shims();
|
|
2182
2153
|
import { createAssistantMessageEventStream } from "@earendil-works/pi-ai";
|
|
2154
|
+
function usesGemmaChannelMarkers(modelId) {
|
|
2155
|
+
return inferLocalModelFamily(modelId) === "gemma-4";
|
|
2156
|
+
}
|
|
2183
2157
|
var THOUGHT_START = /<\|channel>[^\n]*\n/;
|
|
2184
2158
|
var BARE_THOUGHT_START = /^\s*(?:thought|own[- ]?(?:thought|think))\s*\n/i;
|
|
2185
2159
|
var BARE_THOUGHT_ONLY = /^\s*(?:thought|own[- ]?(?:thought|think))\s*$/i;
|
|
@@ -2379,7 +2353,6 @@ var globalDefaultMaxOutputTokens = 0;
|
|
|
2379
2353
|
function setGlobalDefaultMaxOutputTokens(value) {
|
|
2380
2354
|
globalDefaultMaxOutputTokens = Number.isFinite(value) && value > 0 ? Math.floor(value) : 0;
|
|
2381
2355
|
}
|
|
2382
|
-
var LOCAL_TOOL_TURN_MAX_OUTPUT_TOKENS = CLIO_MIN_MAX_OUTPUT_TOKENS;
|
|
2383
2356
|
function resolveReservedOutputTokens(maxOutputTokens) {
|
|
2384
2357
|
const limit = typeof maxOutputTokens === "number" && Number.isFinite(maxOutputTokens) && maxOutputTokens > 0 ? maxOutputTokens : DEFAULT_MAX_OUTPUT_TOKENS;
|
|
2385
2358
|
return Math.min(limit, DEFAULT_MAX_OUTPUT_TOKENS);
|
|
@@ -2398,7 +2371,7 @@ function remainingContextMaxTokens(model, context, options, limits) {
|
|
|
2398
2371
|
const contextWindow = Math.min(configuredContextWindow, loadedContextWindow);
|
|
2399
2372
|
const budget = Number.isFinite(contextWindow) ? Math.max(1, contextWindow - inputTokens - safety) : Number.POSITIVE_INFINITY;
|
|
2400
2373
|
const modelLimit = model.maxTokens > 0 ? model.maxTokens : Number.POSITIVE_INFINITY;
|
|
2401
|
-
const defaultLimit = limits?.maxOutputTokens !== void 0 && limits.maxOutputTokens > 0 ? limits.maxOutputTokens : globalDefaultMaxOutputTokens > 0 ? globalDefaultMaxOutputTokens : modelLimit;
|
|
2374
|
+
const defaultLimit = limits?.maxOutputTokens !== void 0 && limits.maxOutputTokens > 0 ? limits.maxOutputTokens : globalDefaultMaxOutputTokens > 0 ? globalDefaultMaxOutputTokens : model.maxTokens > 0 ? modelLimit : DEFAULT_MAX_OUTPUT_TOKENS;
|
|
2402
2375
|
const requested = options?.maxTokens ?? defaultLimit;
|
|
2403
2376
|
const resolved = Math.min(requested, modelLimit, budget);
|
|
2404
2377
|
return Number.isFinite(resolved) ? resolved : DEFAULT_MAX_OUTPUT_TOKENS;
|
|
@@ -2436,15 +2409,15 @@ function mergeSamplingOverride(profile, override = runSamplingOverrides()) {
|
|
|
2436
2409
|
// src/engine/apis/ollama-native.ts
|
|
2437
2410
|
var REASONING_CHARS_PER_TOKEN = 4;
|
|
2438
2411
|
function clioQuirks(model) {
|
|
2439
|
-
return model.
|
|
2412
|
+
return model.clioCoder?.quirks;
|
|
2440
2413
|
}
|
|
2441
2414
|
function ollamaTargetId(model) {
|
|
2442
|
-
return model.
|
|
2415
|
+
return model.clioCoder?.targetId ?? model.provider;
|
|
2443
2416
|
}
|
|
2444
2417
|
async function reconcileOllamaResidency(model, headers) {
|
|
2445
2418
|
const baseUrl = model.baseUrl;
|
|
2446
2419
|
if (!baseUrl) return;
|
|
2447
|
-
const metadata2 = model.
|
|
2420
|
+
const metadata2 = model.clioCoder;
|
|
2448
2421
|
const adapter = {
|
|
2449
2422
|
targetKey: residencyTargetKey("ollama-native", baseUrl),
|
|
2450
2423
|
targetId: ollamaTargetId(model),
|
|
@@ -2676,7 +2649,7 @@ function runStream(model, context, options, thinkingLevel) {
|
|
|
2676
2649
|
let doneReason;
|
|
2677
2650
|
const sentinelStripper = createSentinelStripper();
|
|
2678
2651
|
const resolved = resolveModelRuntimeCapabilitiesForModel(model, thinkingLevel);
|
|
2679
|
-
const channelFilter = resolved.
|
|
2652
|
+
const channelFilter = usesGemmaChannelMarkers(resolved.modelId) ? createGemmaChannelFilter() : null;
|
|
2680
2653
|
const closeActiveThinking = () => {
|
|
2681
2654
|
if (!activeThinking) return;
|
|
2682
2655
|
stream.push({
|
|
@@ -3108,7 +3081,7 @@ async function ensureLlamaCppResidency(input) {
|
|
|
3108
3081
|
targetId: input.targetId,
|
|
3109
3082
|
runtimeId: input.runtimeId,
|
|
3110
3083
|
keepModelId: input.keepModelId,
|
|
3111
|
-
managed: input.managed ??
|
|
3084
|
+
managed: input.managed ?? true,
|
|
3112
3085
|
strategy: "router",
|
|
3113
3086
|
listResident: async () => {
|
|
3114
3087
|
const models = await fetchRouterModels(input, fetchImpl);
|
|
@@ -3188,7 +3161,7 @@ function responseInstanceId(data) {
|
|
|
3188
3161
|
return typeof id === "string" && id.trim().length > 0 ? id.trim() : void 0;
|
|
3189
3162
|
}
|
|
3190
3163
|
function metadata(model) {
|
|
3191
|
-
return model.
|
|
3164
|
+
return model.clioCoder;
|
|
3192
3165
|
}
|
|
3193
3166
|
function targetForModel(model) {
|
|
3194
3167
|
const info = metadata(model);
|
|
@@ -3385,10 +3358,10 @@ async function ensureLmStudioResidency(model, options = {}) {
|
|
|
3385
3358
|
var piOpenAICompletions = openAICompletionsApi();
|
|
3386
3359
|
var REASONING_CHARS_PER_TOKEN2 = 4;
|
|
3387
3360
|
function chatTemplateKwargsUnsupported(model) {
|
|
3388
|
-
return model.
|
|
3361
|
+
return model.clioCoder?.chatTemplateKwargsUnsupported === true;
|
|
3389
3362
|
}
|
|
3390
3363
|
function clioQuirks2(model) {
|
|
3391
|
-
return model.
|
|
3364
|
+
return model.clioCoder?.quirks;
|
|
3392
3365
|
}
|
|
3393
3366
|
function pickSamplingProfile2(quirks, thinkingActive) {
|
|
3394
3367
|
const sampling = quirks?.sampling;
|
|
@@ -3419,7 +3392,7 @@ function backendCompletionTimings(value, source) {
|
|
|
3419
3392
|
};
|
|
3420
3393
|
}
|
|
3421
3394
|
function backendTimingsSourceForModel(model) {
|
|
3422
|
-
const metadata2 = model.
|
|
3395
|
+
const metadata2 = model.clioCoder;
|
|
3423
3396
|
if (model.provider === "llamacpp" && metadata2?.runtimeId === "llamacpp") return "llamacpp-timings";
|
|
3424
3397
|
if (model.provider === "lmstudio" && metadata2?.runtimeId === "lmstudio") return "lmstudio-timings";
|
|
3425
3398
|
return null;
|
|
@@ -3597,8 +3570,23 @@ function withStrippedPartial(event) {
|
|
|
3597
3570
|
return { ...event, partial: stripThinkingFromMessage(event.partial) };
|
|
3598
3571
|
}
|
|
3599
3572
|
function applyThinkingPayload(payload, applied, resolved, model) {
|
|
3600
|
-
if (applied.mechanism === "none")
|
|
3601
|
-
|
|
3573
|
+
if (applied.mechanism === "none") {
|
|
3574
|
+
const next2 = stripThinkingRequestFields(payload);
|
|
3575
|
+
if (resolved.request.chatTemplateKwargs && !chatTemplateKwargsUnsupported(model)) {
|
|
3576
|
+
const existing = isPlainRecord(next2.chat_template_kwargs) ? next2.chat_template_kwargs : {};
|
|
3577
|
+
next2.chat_template_kwargs = { ...existing, ...resolved.request.chatTemplateKwargs };
|
|
3578
|
+
}
|
|
3579
|
+
return next2;
|
|
3580
|
+
}
|
|
3581
|
+
if (applied.mechanism === "always-on") {
|
|
3582
|
+
if (resolved.request.chatTemplateKwargs && !chatTemplateKwargsUnsupported(model)) {
|
|
3583
|
+
const next2 = { ...payload };
|
|
3584
|
+
const existing = isPlainRecord(next2.chat_template_kwargs) ? next2.chat_template_kwargs : {};
|
|
3585
|
+
next2.chat_template_kwargs = { ...existing, ...resolved.request.chatTemplateKwargs };
|
|
3586
|
+
return next2;
|
|
3587
|
+
}
|
|
3588
|
+
return payload;
|
|
3589
|
+
}
|
|
3602
3590
|
const next = { ...payload };
|
|
3603
3591
|
if (resolved.request.reasoningEffort && (next.reasoning_effort === void 0 || resolved.response.parser === "harmony")) {
|
|
3604
3592
|
next.reasoning_effort = resolved.request.reasoningEffort;
|
|
@@ -3729,16 +3717,9 @@ function thinkingLevelFromSimple2(options) {
|
|
|
3729
3717
|
return reasoning;
|
|
3730
3718
|
}
|
|
3731
3719
|
function withRemainingContextBudget(model, context, options) {
|
|
3732
|
-
const metadata2 = runtimeMetadata(model);
|
|
3733
|
-
const localToolOutputLimit = options?.maxTokens === void 0 && (context.tools?.length ?? 0) > 0 && (model.provider === "llamacpp" || metadata2?.runtimeId === "llamacpp") ? LOCAL_TOOL_TURN_MAX_OUTPUT_TOKENS : void 0;
|
|
3734
3720
|
return {
|
|
3735
3721
|
...options ?? {},
|
|
3736
|
-
maxTokens: remainingContextMaxTokens(
|
|
3737
|
-
model,
|
|
3738
|
-
context,
|
|
3739
|
-
options,
|
|
3740
|
-
localToolOutputLimit === void 0 ? void 0 : { maxOutputTokens: localToolOutputLimit }
|
|
3741
|
-
)
|
|
3722
|
+
maxTokens: remainingContextMaxTokens(model, context, options)
|
|
3742
3723
|
};
|
|
3743
3724
|
}
|
|
3744
3725
|
function requiredToolArguments(tool) {
|
|
@@ -3752,7 +3733,7 @@ function hasEmptyArguments(args) {
|
|
|
3752
3733
|
return Object.keys(args).length === 0;
|
|
3753
3734
|
}
|
|
3754
3735
|
function runtimeMetadata(model) {
|
|
3755
|
-
return model.
|
|
3736
|
+
return model.clioCoder;
|
|
3756
3737
|
}
|
|
3757
3738
|
function emptyErrorMessage(model, message) {
|
|
3758
3739
|
return {
|
|
@@ -4026,7 +4007,7 @@ var openAICompletionsApiProvider = {
|
|
|
4026
4007
|
(requestModel) => piOpenAICompletions.stream(requestModel, effectiveContext, capturedOptions)
|
|
4027
4008
|
)
|
|
4028
4009
|
),
|
|
4029
|
-
resolved.
|
|
4010
|
+
usesGemmaChannelMarkers(resolved.modelId)
|
|
4030
4011
|
),
|
|
4031
4012
|
resolved
|
|
4032
4013
|
),
|
|
@@ -4058,7 +4039,7 @@ var openAICompletionsApiProvider = {
|
|
|
4058
4039
|
(requestModel) => piOpenAICompletions.streamSimple(requestModel, effectiveContext, capturedOptions)
|
|
4059
4040
|
)
|
|
4060
4041
|
),
|
|
4061
|
-
resolved.
|
|
4042
|
+
usesGemmaChannelMarkers(resolved.modelId)
|
|
4062
4043
|
),
|
|
4063
4044
|
resolved
|
|
4064
4045
|
),
|
|
@@ -4309,6 +4290,16 @@ function normalizeEntry(raw, file) {
|
|
|
4309
4290
|
}
|
|
4310
4291
|
entry.quirks = candidate.quirks;
|
|
4311
4292
|
}
|
|
4293
|
+
const canonicalMetadata = candidate["clio-coder"];
|
|
4294
|
+
const legacyMetadata = candidate.clio;
|
|
4295
|
+
if (legacyMetadata !== void 0) warnLegacyNaming("clio: model metadata", "clio-coder: model metadata");
|
|
4296
|
+
const metadata2 = canonicalMetadata ?? legacyMetadata;
|
|
4297
|
+
if (metadata2 !== void 0) {
|
|
4298
|
+
if (typeof metadata2 !== "object" || metadata2 === null || Array.isArray(metadata2)) {
|
|
4299
|
+
throw new Error(`knowledge base file ${file}: entry '${family}' clio-coder metadata must be an object`);
|
|
4300
|
+
}
|
|
4301
|
+
entry.clioCoder = metadata2;
|
|
4302
|
+
}
|
|
4312
4303
|
return entry;
|
|
4313
4304
|
}
|
|
4314
4305
|
|
|
@@ -4554,7 +4545,7 @@ function createProvidersBundle(context) {
|
|
|
4554
4545
|
}
|
|
4555
4546
|
if (probeResult.ok && options?.reasoning !== false && typeof desc.probeReasoning === "function") {
|
|
4556
4547
|
const settings = readConfig();
|
|
4557
|
-
const orchestratorTarget = settings.
|
|
4548
|
+
const orchestratorTarget = settings.chat.target === target.id ? settings.chat.model : null;
|
|
4558
4549
|
const candidateModelId = orchestratorTarget ?? target.defaultModel ?? null;
|
|
4559
4550
|
if (candidateModelId) {
|
|
4560
4551
|
try {
|
|
@@ -4632,7 +4623,7 @@ function createProvidersBundle(context) {
|
|
|
4632
4623
|
registerClioOAuthProviders();
|
|
4633
4624
|
registerBuiltinRuntimes(registry);
|
|
4634
4625
|
const settings = readConfig();
|
|
4635
|
-
setGlobalDefaultMaxOutputTokens(settings.
|
|
4626
|
+
setGlobalDefaultMaxOutputTokens(settings.chat.maxOutputTokens);
|
|
4636
4627
|
await loadPluginRuntimes(registry, settings);
|
|
4637
4628
|
await probeAll();
|
|
4638
4629
|
const config = context.getContract("config");
|
|
@@ -4768,8 +4759,6 @@ export {
|
|
|
4768
4759
|
setResidencyNoticeSink,
|
|
4769
4760
|
setProtectedModelsProvider,
|
|
4770
4761
|
withRunOverrides,
|
|
4771
|
-
EMPTY_CAPABILITIES,
|
|
4772
|
-
VALID_THINKING_LEVELS,
|
|
4773
4762
|
applyModelCapabilityPatch,
|
|
4774
4763
|
probeCapabilitiesForModel,
|
|
4775
4764
|
resolveModelCapabilities,
|
|
@@ -4798,6 +4787,7 @@ export {
|
|
|
4798
4787
|
runtimeResolutionWarnings,
|
|
4799
4788
|
runtimeResolutionWarningsBesideThinkingNotice,
|
|
4800
4789
|
normalizeCostProvenance,
|
|
4790
|
+
resolveCostProvenance2 as resolveCostProvenance,
|
|
4801
4791
|
ProvidersDomainModule
|
|
4802
4792
|
};
|
|
4803
|
-
//# sourceMappingURL=chunk-
|
|
4793
|
+
//# sourceMappingURL=chunk-BYMNWQ7O.js.map
|
|
@@ -2,14 +2,14 @@ import { createRequire as __clioCreateRequire } from "node:module"; const requir
|
|
|
2
2
|
import {
|
|
3
3
|
resolveAuthTarget,
|
|
4
4
|
resolveRuntimeAuthTarget
|
|
5
|
-
} from "./chunk-
|
|
5
|
+
} from "./chunk-WNP7O5WZ.js";
|
|
6
6
|
import {
|
|
7
7
|
getRuntimeRegistry
|
|
8
8
|
} from "./chunk-NUGM5KR6.js";
|
|
9
9
|
import {
|
|
10
10
|
catalogProviderForRuntime,
|
|
11
11
|
listCatalogModelsForRuntime
|
|
12
|
-
} from "./chunk-
|
|
12
|
+
} from "./chunk-O42A54GG.js";
|
|
13
13
|
import {
|
|
14
14
|
init_esm_shims
|
|
15
15
|
} from "./chunk-3R73A4XB.js";
|
|
@@ -170,4 +170,4 @@ export {
|
|
|
170
170
|
configuredTargetsForRuntime,
|
|
171
171
|
resolveProviderReference
|
|
172
172
|
};
|
|
173
|
-
//# sourceMappingURL=chunk-
|
|
173
|
+
//# sourceMappingURL=chunk-CDNVLKUX.js.map
|