@iowarp/clio-coder 0.4.2 → 0.4.3
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 +35 -0
- package/CONTRIBUTING.md +86 -19
- package/README.md +35 -6
- package/dist/{acp-TMDQZDIG.js → acp-H2NGRPWO.js} +11 -11
- package/dist/{agents-5N5NG3XG.js → agents-TL5LLUQP.js} +54 -53
- package/dist/assets/codewiki.json +1 -1
- package/dist/{auth-Z5CCBXKQ.js → auth-E5SW4HMS.js} +19 -16
- package/dist/{builtins-K6TNDT24.js → builtins-IA7V7FUC.js} +9 -4
- package/dist/{chunk-ZW4HH5JJ.js → chunk-2APPQIER.js} +6 -6
- package/dist/{chunk-72GZI5EV.js → chunk-2JH2WHGE.js} +2 -2
- package/dist/{chunk-UBRFI4HS.js → chunk-2UG5F4C5.js} +127 -47
- package/dist/{chunk-UH632ZYL.js → chunk-2UH2KFUP.js} +2 -2
- package/dist/{chunk-3F7VUY77.js → chunk-2VIKGWFZ.js} +2 -2
- package/dist/{chunk-I66EAJFY.js → chunk-2WZ546HR.js} +267 -232
- package/dist/{chunk-RKSR6VSF.js → chunk-4IUZQIJ3.js} +29 -1
- package/dist/{chunk-2X4RYJTJ.js → chunk-4UVU7BJ5.js} +2 -2
- package/dist/{chunk-M2DAX4F6.js → chunk-4WR7VSYB.js} +2 -2
- package/dist/{chunk-5KW52TEP.js → chunk-54CBCGIR.js} +5 -5
- package/dist/{chunk-3KIPBMUA.js → chunk-5ICU3EUH.js} +2 -2
- package/dist/{chunk-77QIVUZB.js → chunk-5MEZN6CB.js} +4 -4
- package/dist/{chunk-O42A54GG.js → chunk-5OIVVPHF.js} +2 -2
- package/dist/{chunk-LJID3DYZ.js → chunk-64I3JVYM.js} +2 -2
- package/dist/{chunk-4JDLP6ZS.js → chunk-6PTFB5VS.js} +7 -7
- package/dist/{chunk-VN3SHNBN.js → chunk-7DICMOS6.js} +2 -2
- package/dist/{chunk-HLAFFSEK.js → chunk-7DRAWPTZ.js} +2 -2
- package/dist/chunk-7E7I3WLS.js +3762 -0
- package/dist/{chunk-YJISEZKC.js → chunk-7ZYNNDKC.js} +6 -6
- package/dist/{chunk-I66ZTYNP.js → chunk-AF4YM7Z4.js} +236 -101
- package/dist/{chunk-2HFQNRV3.js → chunk-AX2THNSA.js} +12 -12
- package/dist/{chunk-PGF63K6I.js → chunk-B4OAX3SI.js} +65 -3
- package/dist/{chunk-W6NIE6OW.js → chunk-B4VEBZKF.js} +3 -3
- package/dist/{chunk-JBCS7CRR.js → chunk-BEPZRGGU.js} +10 -10
- package/dist/{chunk-XGDPUNND.js → chunk-CE5AX47J.js} +2 -2
- package/dist/{chunk-I64IFBLB.js → chunk-DWUOQKRU.js} +17 -10
- package/dist/{chunk-DZAW46HP.js → chunk-E3TPLWFX.js} +3 -3
- package/dist/{chunk-HIICAHCJ.js → chunk-EKCHAPYA.js} +2 -2
- package/dist/{chunk-XE3PCIXH.js → chunk-F5JHEYZM.js} +7 -7
- package/dist/{chunk-5PFYMY2V.js → chunk-FTMGRKEF.js} +2 -2
- package/dist/{chunk-ZNT2M6TG.js → chunk-G76U63X4.js} +17 -17
- package/dist/{chunk-34BHNEE3.js → chunk-GHS5EBTQ.js} +58 -7
- package/dist/{chunk-2NHR3NAY.js → chunk-GI7YYQ3F.js} +40 -34
- package/dist/{chunk-DYHAXKHD.js → chunk-GWZNEVM2.js} +12 -8
- package/dist/chunk-GYV6VZOC.js +26 -0
- package/dist/{chunk-MQXIVJ35.js → chunk-HAXOFFRH.js} +5 -5
- package/dist/{chunk-W4YEMFBX.js → chunk-HEQY7ZFI.js} +2 -2
- package/dist/{chunk-IKOZFYBN.js → chunk-I7ZPNEJM.js} +145 -102
- package/dist/{chunk-WNP7O5WZ.js → chunk-ID64D7PE.js} +4 -4
- package/dist/{chunk-XQRY4DTA.js → chunk-IGLP3ODT.js} +10 -10
- package/dist/chunk-IJNZMHLA.js +101 -0
- package/dist/{chunk-JWJGP5DQ.js → chunk-INY6HTFL.js} +7 -7
- package/dist/{chunk-PBP4B7XR.js → chunk-IUE3Y34X.js} +2 -2
- package/dist/{chunk-B74PXLU7.js → chunk-IWT4SF4R.js} +3 -3
- package/dist/{chunk-B7HM5Z7T.js → chunk-JDAY6FIL.js} +5 -5
- package/dist/{chunk-PJX3WQUQ.js → chunk-JEQ3XTHC.js} +2 -2
- package/dist/{chunk-FSP7CMNU.js → chunk-JGRC33J2.js} +50 -4
- package/dist/{chunk-X7IARSHT.js → chunk-JKKCYP3C.js} +9 -9
- package/dist/{chunk-HJWWJ6IL.js → chunk-JSC3U7TI.js} +16 -4
- package/dist/{chunk-SSEYRH53.js → chunk-KK4JZPBQ.js} +19 -140
- package/dist/{chunk-IHXBNWMM.js → chunk-KXDSS5WJ.js} +7 -3
- package/dist/{chunk-Q4XWMHX6.js → chunk-L47TF46W.js} +2 -2
- package/dist/{chunk-O3YUNJZ2.js → chunk-LDJG7DW3.js} +81 -24
- package/dist/{chunk-CDNVLKUX.js → chunk-LLDJM5XK.js} +13 -7
- package/dist/{chunk-F2I26BDK.js → chunk-MUW2BDDH.js} +4 -4
- package/dist/{chunk-HKMD33FO.js → chunk-MWUZBSAQ.js} +79 -76
- package/dist/{chunk-QQLGQY2A.js → chunk-N2Z7HLVY.js} +20 -20
- package/dist/{chunk-DZEK6CJN.js → chunk-NIQJ66N4.js} +19 -19
- package/dist/{chunk-CWVRRIEI.js → chunk-NZMNUPZZ.js} +2 -2
- package/dist/{chunk-462T4EGZ.js → chunk-O5CVSAG5.js} +2 -2
- package/dist/{chunk-TPEQIQIE.js → chunk-OML5D5V5.js} +8 -8
- package/dist/{chunk-IKSLQ4XV.js → chunk-PAJQJ7BS.js} +558 -216
- package/dist/{chunk-ZW55JB7N.js → chunk-PUVDKJ2Y.js} +2 -2
- package/dist/{chunk-UH347SHR.js → chunk-QWGDJJYJ.js} +11 -11
- package/dist/chunk-R6Q67RJH.js +134 -0
- package/dist/{chunk-CRFOIAX3.js → chunk-RRNP2ANY.js} +6 -6
- package/dist/{chunk-IDNA72AH.js → chunk-RSJ25QSL.js} +2 -2
- package/dist/chunk-SKHCAU7K.js +385 -0
- package/dist/{chunk-RLYRBIYQ.js → chunk-TM6LQDI3.js} +20 -12
- package/dist/chunk-UOIZ7DA4.js +41 -0
- package/dist/{chunk-P75RZCJW.js → chunk-UPZU6GE4.js} +3 -3
- package/dist/{chunk-MCMZMDAC.js → chunk-V2ANDPVT.js} +4 -4
- package/dist/{chunk-AK5XEFVZ.js → chunk-VA5FNYMT.js} +26 -13
- package/dist/{chunk-IMXMHHMQ.js → chunk-VW6DOEDG.js} +332 -57
- package/dist/{chunk-XOXV5GKE.js → chunk-W6RRQCPQ.js} +16 -7
- package/dist/{chunk-CYZW7JHJ.js → chunk-WBKFA554.js} +8 -8
- package/dist/{chunk-BO7Y52RY.js → chunk-WCXUNS7U.js} +7 -7
- package/dist/{chunk-ZGNYYXQ6.js → chunk-WRBAGUNF.js} +3 -3
- package/dist/{chunk-FVDGR2ZL.js → chunk-XIVNBFZS.js} +85 -30
- package/dist/{chunk-BYMNWQ7O.js → chunk-XPWWI35G.js} +299 -58
- package/dist/{chunk-KPXDY6QF.js → chunk-XRZT5WY5.js} +2 -2
- package/dist/{chunk-AZ4WMN4W.js → chunk-Y3CBHOR6.js} +2 -2
- package/dist/{chunk-VXMFAE2W.js → chunk-YPC6ZR5L.js} +19 -6
- package/dist/{chunk-54ODD65L.js → chunk-YQWYVTMC.js} +4 -4
- package/dist/{chunk-M2WXEHER.js → chunk-ZA4VCIGV.js} +2 -2
- package/dist/{chunk-7BHIY2MW.js → chunk-ZDN3Y73Y.js} +6 -6
- package/dist/{chunk-E7GT7O5N.js → chunk-ZWPRK62N.js} +7 -4
- package/dist/cli/index.js +38 -37
- package/dist/{clio-7VB377CC.js → clio-CMMK4KRR.js} +7 -7
- package/dist/{code-nav-YVLCYA7V.js → code-nav-MDZNQS33.js} +7 -7
- package/dist/{components-UBWCQSRW.js → components-UCUQ4QXW.js} +4 -4
- package/dist/{config-4HVOS65E.js → config-SVM5P5YI.js} +76 -74
- package/dist/{configure-PIWO7B24.js → configure-LE3IK2TJ.js} +26 -24
- package/dist/{context-IYEHL3WQ.js → context-2OHRKS42.js} +66 -63
- package/dist/{context-N6ZE3LGJ.js → context-E3VC7RX5.js} +15 -11
- package/dist/{context-KQYIWPWT.js → context-VNCR7KAG.js} +60 -45
- package/dist/{context-clear-G4OGZJDS.js → context-clear-BW4O37TG.js} +61 -59
- package/dist/context-map-COB37XXN.js +505 -0
- package/dist/{context-working-set-BWLF6LJP.js → context-working-set-VDS25HXZ.js} +17 -16
- package/dist/{dispatch-runner-2QQAITS3.js → dispatch-runner-5AHT53RF.js} +85 -74
- package/dist/{doctor-LHBD36VU.js → doctor-WNNVO6FY.js} +37 -37
- package/dist/{eval-C45FYRJ6.js → eval-7G7SGAYO.js} +285 -114
- package/dist/{eval-inventory-6DEJPLBF.js → eval-inventory-Y6QRFOH5.js} +4 -4
- package/dist/{evidence-6SHONYAF.js → evidence-VD6736FQ.js} +63 -62
- package/dist/{evolve-KRKMV72X.js → evolve-AL3NGVRL.js} +62 -61
- package/dist/{extensions-KPZ2UHBB.js → extensions-MOVJ32NM.js} +7 -7
- package/dist/{fleet-IVTCKDHT.js → fleet-QZHUMAGI.js} +110 -108
- package/dist/{fleet-commands-EDWL3IT7.js → fleet-commands-BAYT5FJZ.js} +10 -10
- package/dist/{fleet-decisions-YP3YEFGK.js → fleet-decisions-IREVMRU4.js} +7 -6
- package/dist/{fleet-graph-ZFWKHY2M.js → fleet-graph-YCTT3HTI.js} +19 -18
- package/dist/{fleet-inspect-FVUNCBML.js → fleet-inspect-QVJTDAVB.js} +55 -54
- package/dist/{fleet-preflight-UN5XED4R.js → fleet-preflight-25QAFPK4.js} +4 -4
- package/dist/{fleet-validate-XOWC4HSX.js → fleet-validate-5O57AAJ7.js} +23 -22
- package/dist/{fleet-verify-UN3SODEL.js → fleet-verify-CPH2W2T6.js} +56 -55
- package/dist/{fleet-view-TWHJKCN6.js → fleet-view-SWBR3VGQ.js} +55 -54
- package/dist/{init-T2QORQ3Y.js → init-J477LKZH.js} +78 -76
- package/dist/{interop-IN5I2A66.js → interop-3FCM6XLG.js} +11 -11
- package/dist/{library-LSCATDLZ.js → library-QUQEIUG6.js} +28 -27
- package/dist/{memory-HYOKAGGJ.js → memory-SGGSEP65.js} +64 -63
- package/dist/{models-2GPMFYCM.js → models-HEKUAXXK.js} +49 -43
- package/dist/{monitor-E4ASVUJH.js → monitor-HKU57TYQ.js} +61 -60
- package/dist/{orchestrator-DDMPR3PY.js → orchestrator-VDFAEFAI.js} +919 -546
- package/dist/{panes-E3RUXOW5.js → panes-DN2SSFOH.js} +3 -3
- package/dist/{panes-IXKLOKA2.js → panes-TALGNPZT.js} +8 -8
- package/dist/{paths-L7LGY6RN.js → paths-NBMFAIEZ.js} +5 -5
- package/dist/reset-EAJFFJVB.js +344 -0
- package/dist/{resources-OTRSN34L.js → resources-OVKSEFVE.js} +27 -20
- package/dist/{run-5DEYH5QK.js → run-7DP7ZF2J.js} +113 -109
- package/dist/{share-IHWTLO3M.js → share-WML67FT3.js} +26 -25
- package/dist/{skills-IYMXMKW4.js → skills-SG662R2K.js} +39 -31
- package/dist/{skills-eval-DROHSJAR.js → skills-eval-VVZEUU46.js} +74 -73
- package/dist/{skills-inventory-D7X4L4ZX.js → skills-inventory-I2E23GET.js} +21 -20
- package/dist/{slash-commands-QBM7UZ3B.js → slash-commands-S7MBJDQK.js} +35 -34
- package/dist/{steer-Z5DO23FJ.js → steer-2LQOMCPB.js} +3 -3
- package/dist/{support-U7QOWY26.js → support-CC2UJBJ6.js} +6 -6
- package/dist/{targets-P2FUC4IL.js → targets-4QC3HIEW.js} +48 -45
- package/dist/{terminal-lease-YREJ3JX2.js → terminal-lease-TUHIJ6Y2.js} +2 -2
- package/dist/{tools-5B7RO6MV.js → tools-TFGJICCU.js} +8 -8
- package/dist/{trace-YMGMUM6A.js → trace-FXMXUZUF.js} +7 -7
- package/dist/uninstall-5PEVOE5B.js +408 -0
- package/dist/upgrade-M4WXY6KN.js +303 -0
- package/dist/{usage-ME5MPXGX.js → usage-N7ZNVLEM.js} +147 -102
- package/dist/{verifiers-BVZ7IWOO.js → verifiers-DJTP4XX6.js} +15 -15
- package/dist/{verify-5K7ZKQFC.js → verify-RWE4PPEK.js} +9 -9
- package/dist/{wiki-generate-F5W5QTYY.js → wiki-generate-C7IQOXSP.js} +84 -82
- package/dist/{with-panes-BYOJCLAM.js → with-panes-4GCGSL7J.js} +9 -9
- package/dist/worker/entry.js +61 -60
- package/docs/architecture/artifact-placement.md +1 -0
- package/docs/architecture/artifact-versions.md +1 -1
- package/docs/architecture/context-engine.md +4 -0
- package/docs/architecture/middleware-and-components.md +1 -1
- package/docs/architecture/model-catalog.md +21 -10
- package/docs/architecture/observability.md +12 -1
- package/docs/architecture/prompt-envelope-and-tools.md +2 -0
- package/docs/architecture/provider-adapter-cookbook.md +63 -0
- package/docs/architecture/safety-model.md +15 -5
- package/docs/guide/built-in-agents.md +17 -3
- package/docs/guide/commands-and-modes.md +1 -1
- package/docs/guide/configuration-and-targets.md +97 -9
- package/docs/guide/configuration-reference.md +7 -2
- package/docs/guide/environment-variables.md +2 -0
- package/docs/guide/installation-and-lifecycle.md +37 -4
- package/docs/guide/proactive-memory.md +66 -55
- package/docs/guide/skills-marketplace.md +18 -0
- package/docs/process/development-pipeline.md +34 -1
- package/docs/process/eval-runner.md +67 -3
- package/evals/behavioral-model.yaml +3 -2
- package/package.json +2 -2
- package/skills/README.md +7 -5
- package/skills/coding/ast-grep/SKILL.md +101 -30
- package/skills/coding/ast-grep/evals.md +26 -0
- package/skills/coding/coding-standards/SKILL.md +40 -5
- package/skills/coding/coding-standards/evals.md +23 -0
- package/skills/coding/prototype/SKILL.md +87 -28
- package/skills/coding/prototype/evals.md +19 -0
- package/skills/coding/tdd/SKILL.md +80 -53
- package/skills/coding/tdd/evals.md +20 -0
- package/skills/context/context-handoff/SKILL.md +43 -2
- package/skills/context/context-handoff/evals.md +44 -0
- package/skills/context/context-prime/SKILL.md +45 -15
- package/skills/context/context-prime/evals.md +45 -0
- package/skills/git/branch-closeout/SKILL.md +132 -0
- package/skills/git/branch-closeout/evals.md +133 -0
- package/skills/git/branch-closeout/references/closeout-checklist.md +81 -0
- package/skills/git/file-ticket/SKILL.md +77 -63
- package/skills/git/file-ticket/assets/issue-template.md +22 -0
- package/skills/git/file-ticket/evals.md +31 -26
- package/skills/git/file-ticket/references/issue-discovery.md +49 -0
- package/skills/git/fix-issue/SKILL.md +87 -64
- package/skills/git/fix-issue/evals.md +35 -31
- package/skills/git/fix-issue/references/diagnosis-and-rca.md +46 -0
- package/skills/git/resolve-merge-conflicts/SKILL.md +100 -51
- package/skills/git/resolve-merge-conflicts/evals.md +52 -25
- package/skills/git/resolve-merge-conflicts/references/conflict-matrix.md +126 -0
- package/skills/git/ship/SKILL.md +103 -67
- package/skills/git/ship/assets/pr-template.md +21 -0
- package/skills/git/ship/evals.md +44 -28
- package/skills/git/ship/references/remote-and-branch-policy.md +62 -0
- package/skills/git/worktree-create/SKILL.md +80 -50
- package/skills/git/worktree-create/evals.md +40 -33
- package/skills/git/worktree-create/references/worktree-setup.md +62 -66
- package/skills/git/worktree-merge/SKILL.md +112 -65
- package/skills/git/worktree-merge/evals.md +42 -34
- package/skills/git/worktree-merge/references/merge-strategies.md +52 -0
- package/skills/planning/archify/SKILL.md +196 -0
- package/skills/planning/archify/evals.md +65 -0
- package/skills/planning/architecture/SKILL.md +61 -12
- package/skills/planning/architecture/evals.md +65 -0
- package/skills/planning/backlog/SKILL.md +130 -14
- package/skills/planning/backlog/evals.md +142 -0
- package/skills/planning/prd/SKILL.md +46 -6
- package/skills/planning/prd/evals.md +54 -0
- package/skills/planning/product-intent/SKILL.md +57 -2
- package/skills/planning/product-intent/evals.md +70 -0
- package/skills/planning/tech-spec/SKILL.md +53 -2
- package/skills/planning/tech-spec/evals.md +73 -0
- package/skills/registry.yaml +58 -50
- package/skills/remote.yaml +13 -0
- package/skills/research/arxiv-literature/SKILL.md +76 -18
- package/skills/research/arxiv-literature/evals.md +50 -0
- package/skills/research/experiment-protocol/SKILL.md +20 -1
- package/skills/research/experiment-protocol/evals.md +23 -0
- package/skills/research/scientific-debugging/SKILL.md +23 -1
- package/skills/research/scientific-debugging/evals.md +18 -0
- package/skills/research/scientific-modernization/SKILL.md +26 -1
- package/skills/research/scientific-modernization/evals.md +27 -0
- package/skills/skill-marketplace.json +63 -28
- package/skills/workflow/cut-it/SKILL.md +65 -5
- package/skills/workflow/cut-it/evals.md +101 -0
- package/skills/workflow/design-council/SKILL.md +117 -27
- package/skills/workflow/design-council/evals.md +161 -0
- package/skills/workflow/grill-me/SKILL.md +86 -10
- package/skills/workflow/grill-me/evals.md +153 -0
- package/skills/workflow/workflow-distiller/SKILL.md +76 -17
- package/skills/workflow/workflow-distiller/evals.md +118 -0
- package/src/cli/configure-interop.ts +105 -13
- package/src/cli/configure-oauth.ts +57 -0
- package/src/cli/configure-onboarding.ts +980 -0
- package/src/cli/configure-target.ts +594 -0
- package/src/cli/configure.ts +1082 -528
- package/src/cli/context-map.ts +114 -0
- package/src/cli/context.ts +4 -0
- package/src/cli/index.ts +1 -0
- package/src/cli/lifecycle-presenter.ts +436 -0
- package/src/cli/models.ts +10 -2
- package/src/cli/modes/print.ts +5 -1
- package/src/cli/reset.ts +228 -106
- package/src/cli/run.ts +7 -2
- package/src/cli/select.ts +664 -0
- package/src/cli/skills.ts +9 -2
- package/src/cli/targets.ts +3 -0
- package/src/cli/uninstall.ts +233 -165
- package/src/cli/upgrade.ts +204 -149
- package/src/cli/usage.ts +86 -27
- package/src/cli/validate-model.ts +3 -3
- package/src/core/config.ts +56 -0
- package/src/core/external-diagnostic.ts +44 -0
- package/src/core/gateway-routing.ts +157 -0
- package/src/core/safe-exec.ts +17 -2
- package/src/core/skill-activation.ts +89 -2
- package/src/domains/agents/builtins/world-knowledge.md +31 -0
- package/src/domains/agents/catalog.ts +1 -1
- package/src/domains/agents/result-contract.ts +70 -0
- package/src/domains/context/wiki/map-seed.ts +589 -0
- package/src/domains/context/wiki/plan.ts +2 -2
- package/src/domains/dispatch/admission.ts +29 -0
- package/src/domains/dispatch/agent-candidates.ts +10 -0
- package/src/domains/dispatch/budget-envelope.ts +86 -1
- package/src/domains/dispatch/capability-match.ts +1 -0
- package/src/domains/dispatch/capacity-lease.ts +17 -0
- package/src/domains/dispatch/contract.ts +11 -1
- package/src/domains/dispatch/extension.ts +134 -29
- package/src/domains/dispatch/types.ts +3 -0
- package/src/domains/dispatch/worker-model-metadata.ts +38 -0
- package/src/domains/eval/metrics/call-ledger-stream.ts +34 -11
- package/src/domains/eval/metrics/token-stream.ts +201 -31
- package/src/domains/eval/metrics/tracked.ts +40 -4
- package/src/domains/eval/runners/clio-run.ts +5 -2
- package/src/domains/eval/schema/suite.ts +28 -0
- package/src/domains/eval/schema/verdict.ts +2 -2
- package/src/domains/eval/suites/resolve.ts +13 -1
- package/src/domains/eval/suites/run.ts +24 -3
- package/src/domains/interop/registry.ts +6 -2
- package/src/domains/interop/types.ts +4 -0
- package/src/domains/lifecycle/migrations/index.ts +4 -0
- package/src/domains/memory/task-memory-policy.ts +70 -26
- package/src/domains/memory/task-memory-telemetry.ts +1 -0
- package/src/domains/middleware/index.ts +0 -1
- package/src/domains/middleware/marketplace-offer.ts +3 -35
- package/src/domains/middleware/memory-intervention.ts +127 -32
- package/src/domains/middleware/memory-step-endpoint.ts +3 -2
- package/src/domains/middleware/skills-reminder.ts +31 -2
- package/src/domains/observability/compaction-usage.ts +118 -0
- package/src/domains/observability/cost.ts +1 -1
- package/src/domains/observability/extension.ts +6 -1
- package/src/domains/observability/out-of-turn-usage.ts +52 -21
- package/src/domains/providers/contract.ts +4 -1
- package/src/domains/providers/extension.ts +40 -9
- package/src/domains/providers/model-capabilities.ts +9 -0
- package/src/domains/providers/model-discovery.ts +2 -0
- package/src/domains/providers/model-runtime-capabilities.ts +15 -5
- package/src/domains/providers/models/local-models/clio-coder-local-coding-targets.yaml +32 -12
- package/src/domains/providers/runtimes/antigravity/antigravity-code.ts +225 -45
- package/src/domains/providers/runtimes/common/lmstudio-http.ts +6 -2
- package/src/domains/providers/runtimes/common/local-synth.ts +2 -0
- package/src/domains/providers/runtimes/protocol/litellm.ts +119 -29
- package/src/domains/providers/support.ts +11 -5
- package/src/domains/providers/target-model-cache.ts +25 -2
- package/src/domains/providers/types/capability-flags.ts +2 -0
- package/src/domains/providers/types/runtime-descriptor.ts +20 -1
- package/src/domains/providers/types/target-descriptor.ts +19 -0
- package/src/domains/resources/index.ts +3 -0
- package/src/domains/resources/skills/install.ts +72 -7
- package/src/domains/resources/skills/loader.ts +7 -0
- package/src/domains/resources/skills/marketplace.ts +63 -11
- package/src/domains/safety/autonomy.ts +15 -0
- package/src/domains/safety/index.ts +1 -0
- package/src/domains/safety/path-policy.ts +1 -1
- package/src/domains/safety/policy-engine.ts +34 -11
- package/src/domains/safety/protected-artifacts.ts +191 -88
- package/src/domains/safety/run-effects.ts +2 -22
- package/src/domains/safety/skill-authority.ts +55 -0
- package/src/domains/session/compaction/compact.ts +72 -22
- package/src/domains/session/entries.ts +6 -0
- package/src/domains/session/usage.ts +3 -3
- package/src/engine/agent.ts +13 -3
- package/src/engine/ai.ts +26 -8
- package/src/engine/antigravity/subprocess-runtime.ts +386 -120
- package/src/engine/api-registry.ts +3 -0
- package/src/engine/apis/openai-completions.ts +117 -14
- package/src/engine/external-subprocess.ts +114 -6
- package/src/entry/background-model-metadata.ts +18 -0
- package/src/entry/compaction-prompt.ts +57 -0
- package/src/entry/orchestrator.ts +405 -216
- package/src/entry/task-memory-lifecycle.ts +35 -0
- package/src/interactive/chat-loop-messages.ts +13 -4
- package/src/interactive/chat-loop.ts +65 -2
- package/src/interactive/chat-renderer.ts +1 -0
- package/src/interactive/cost-overlay.ts +26 -2
- package/src/interactive/interactive-slash-runtime.ts +2 -1
- package/src/interactive/renderers/worker-entry.ts +32 -0
- package/src/interactive/slash-commands.ts +24 -6
- package/src/interactive/theme/labels.ts +19 -13
- package/src/interactive/turn-context.ts +9 -5
- package/src/interactive/turn-recovery.ts +8 -0
- package/src/interactive/turn-runtime.ts +27 -11
- package/src/interactive/turn-state.ts +7 -0
- package/src/interactive/worker-receipts.ts +1 -0
- package/src/interactive/worker-stream.ts +6 -1
- package/src/tools/context/index.ts +30 -9
- package/src/tools/dispatch-arguments.ts +1 -0
- package/src/tools/dispatch-event-text.ts +10 -0
- package/src/tools/dispatch-plan.ts +1 -0
- package/src/tools/dispatch-runner.ts +12 -0
- package/src/tools/registry.ts +11 -5
- package/src/tools/worker-evidence.ts +3 -1
- package/src/worker/spec-contract.ts +4 -0
- package/dist/chunk-2Z2IKEXI.js +0 -1554
- package/dist/reset-OAQP3W4O.js +0 -230
- package/dist/uninstall-N34PCTGJ.js +0 -331
- package/dist/upgrade-PXK3S2YM.js +0 -325
|
@@ -2,10 +2,10 @@ import { createRequire as __clioCreateRequire } from "node:module"; const requir
|
|
|
2
2
|
import {
|
|
3
3
|
parseJsonObjectPayload,
|
|
4
4
|
parseVerifierResult
|
|
5
|
-
} from "./chunk-
|
|
5
|
+
} from "./chunk-B4OAX3SI.js";
|
|
6
6
|
import {
|
|
7
7
|
atomicWrite
|
|
8
|
-
} from "./chunk-
|
|
8
|
+
} from "./chunk-HAXOFFRH.js";
|
|
9
9
|
import {
|
|
10
10
|
clioStateDir
|
|
11
11
|
} from "./chunk-BYP5D4HI.js";
|
|
@@ -685,4 +685,4 @@ export {
|
|
|
685
685
|
readGateDecisionArtifacts,
|
|
686
686
|
readGateDecisionArtifactsForRunIds
|
|
687
687
|
};
|
|
688
|
-
//# sourceMappingURL=chunk-
|
|
688
|
+
//# sourceMappingURL=chunk-WRBAGUNF.js.map
|
|
@@ -1,21 +1,25 @@
|
|
|
1
1
|
import { createRequire as __clioCreateRequire } from "node:module"; const require = __clioCreateRequire(import.meta.url);
|
|
2
2
|
import {
|
|
3
3
|
loadProjectVerifierCatalog
|
|
4
|
-
} from "./chunk-
|
|
4
|
+
} from "./chunk-7DICMOS6.js";
|
|
5
5
|
import {
|
|
6
6
|
pathBoundaryCovers,
|
|
7
7
|
resolvePathBoundary
|
|
8
8
|
} from "./chunk-HHV2GANA.js";
|
|
9
9
|
import {
|
|
10
10
|
classify
|
|
11
|
-
} from "./chunk-
|
|
11
|
+
} from "./chunk-B4OAX3SI.js";
|
|
12
12
|
import {
|
|
13
|
-
|
|
13
|
+
extractCommandCdTargets,
|
|
14
14
|
extractCommandDeleteTargets,
|
|
15
15
|
extractCommandWriteTargets,
|
|
16
16
|
inlineShellScript,
|
|
17
|
-
|
|
18
|
-
|
|
17
|
+
invokesClioSkillMutation,
|
|
18
|
+
scanShellLike
|
|
19
|
+
} from "./chunk-I7ZPNEJM.js";
|
|
20
|
+
import {
|
|
21
|
+
artifactDefaultPath
|
|
22
|
+
} from "./chunk-GYV6VZOC.js";
|
|
19
23
|
import {
|
|
20
24
|
canonicalizeExistingPath
|
|
21
25
|
} from "./chunk-ECH6PKUQ.js";
|
|
@@ -24,7 +28,7 @@ import {
|
|
|
24
28
|
} from "./chunk-K6BSR66V.js";
|
|
25
29
|
import {
|
|
26
30
|
foreignAgentDirs
|
|
27
|
-
} from "./chunk-
|
|
31
|
+
} from "./chunk-KXDSS5WJ.js";
|
|
28
32
|
import {
|
|
29
33
|
resolvePackageRoot
|
|
30
34
|
} from "./chunk-IWHMRKLL.js";
|
|
@@ -48,7 +52,7 @@ function isSameOrDescendant(candidatePath, policyPath) {
|
|
|
48
52
|
const candidate = path.resolve(candidatePath);
|
|
49
53
|
const policy = path.resolve(policyPath);
|
|
50
54
|
const relative = path.relative(policy, candidate);
|
|
51
|
-
return relative === "" || !relative.startsWith(
|
|
55
|
+
return relative === "" || relative !== ".." && !relative.startsWith(`..${path.sep}`) && !path.isAbsolute(relative);
|
|
52
56
|
}
|
|
53
57
|
function expandTilde(rawPath) {
|
|
54
58
|
if (rawPath === "~") return homedir();
|
|
@@ -145,7 +149,7 @@ function normalizeSeparators(value) {
|
|
|
145
149
|
// src/domains/safety/policy-engine.ts
|
|
146
150
|
init_esm_shims();
|
|
147
151
|
import { createHash as createHash2 } from "node:crypto";
|
|
148
|
-
import
|
|
152
|
+
import path4 from "node:path";
|
|
149
153
|
|
|
150
154
|
// src/domains/safety/default-path-policy.ts
|
|
151
155
|
init_esm_shims();
|
|
@@ -730,6 +734,42 @@ function getCachedDefaultRulePacks() {
|
|
|
730
734
|
return cachedPacks;
|
|
731
735
|
}
|
|
732
736
|
|
|
737
|
+
// src/domains/safety/skill-authority.ts
|
|
738
|
+
init_esm_shims();
|
|
739
|
+
import { homedir as homedir2 } from "node:os";
|
|
740
|
+
import path3 from "node:path";
|
|
741
|
+
function activeClioSkillRoots(cwd) {
|
|
742
|
+
return [path3.join(cwd, ".clio-coder", "skills"), path3.join(clioConfigDir(), "skills")];
|
|
743
|
+
}
|
|
744
|
+
function skillMutationReason(roots, targets, cwd, command) {
|
|
745
|
+
const workingDirs = [cwd];
|
|
746
|
+
if (command !== null) {
|
|
747
|
+
for (const destination of extractCommandCdTargets(command)) {
|
|
748
|
+
workingDirs.push(path3.resolve(workingDirs.at(-1) ?? cwd, expandHome(destination)));
|
|
749
|
+
}
|
|
750
|
+
}
|
|
751
|
+
for (const target of targets) {
|
|
752
|
+
if (target.operation === "read") continue;
|
|
753
|
+
for (const directory of workingDirs) {
|
|
754
|
+
const lexical = path3.resolve(directory, expandHome(target.path));
|
|
755
|
+
const resolved = canonicalizeExistingPath(lexical);
|
|
756
|
+
for (const root of roots) {
|
|
757
|
+
for (const boundary of [root, canonicalizeExistingPath(root)]) {
|
|
758
|
+
for (const candidate of [lexical, resolved]) {
|
|
759
|
+
if (isSameOrDescendant(candidate, boundary) || target.operation === "delete" && isSameOrDescendant(boundary, candidate)) {
|
|
760
|
+
return `active skill tree ${root} is operator-owned; draft changes outside active skill roots and ask the operator to install or update them`;
|
|
761
|
+
}
|
|
762
|
+
}
|
|
763
|
+
}
|
|
764
|
+
}
|
|
765
|
+
}
|
|
766
|
+
}
|
|
767
|
+
return null;
|
|
768
|
+
}
|
|
769
|
+
function expandHome(value) {
|
|
770
|
+
return value === "~" ? homedir2() : value.startsWith("~/") ? path3.join(homedir2(), value.slice(2)) : value;
|
|
771
|
+
}
|
|
772
|
+
|
|
733
773
|
// src/domains/safety/policy-engine.ts
|
|
734
774
|
var BUILTIN_ALLOWLIST = [
|
|
735
775
|
{ id: "builtin:pwd", re: /^pwd$/ },
|
|
@@ -771,17 +811,18 @@ function evaluateWriteRoots(roots, writeRootCwd, call) {
|
|
|
771
811
|
if (roots.length === 0) return null;
|
|
772
812
|
const target = writeRootTargetPath(call);
|
|
773
813
|
if (target === null) return null;
|
|
774
|
-
const resolved =
|
|
814
|
+
const resolved = path4.resolve(writeRootCwd, target);
|
|
775
815
|
if (pathBoundaryCovers(roots, resolved)) return null;
|
|
776
816
|
return `write target '${target}' resolves to '${resolved}', which is outside the permitted write roots for this run: ${roots.join(", ")}`;
|
|
777
817
|
}
|
|
778
818
|
function createSafetyPolicyEngine(options = {}) {
|
|
779
|
-
const cwd = canonicalizeExistingPath(
|
|
780
|
-
const writeRootCwd =
|
|
819
|
+
const cwd = canonicalizeExistingPath(path4.resolve(options.cwd ?? process.cwd()));
|
|
820
|
+
const writeRootCwd = path4.resolve(options.cwd ?? process.cwd());
|
|
781
821
|
const writeRoots = (options.writeRoots ?? []).map((root) => resolvePathBoundary(writeRootCwd, root));
|
|
822
|
+
const skillRoots = activeClioSkillRoots(cwd);
|
|
782
823
|
const packs = options.rulePacks ?? getCachedDefaultRulePacks();
|
|
783
824
|
const projectPolicy = options.projectPolicy ?? loadProjectSafetyPolicy(cwd);
|
|
784
|
-
const projectPolicyRoot = projectPolicy.path === null ? cwd :
|
|
825
|
+
const projectPolicyRoot = projectPolicy.path === null ? cwd : path4.dirname(path4.dirname(canonicalizeExistingPath(projectPolicy.path)));
|
|
785
826
|
const pathPolicyInput = projectPolicy.disableDefaultPathPolicy ? projectPolicy.pathPolicy : mergePathPolicyInputs(DEFAULT_DAMAGE_CONTROL_PATH_POLICY, projectPolicy.pathPolicy);
|
|
786
827
|
const expandedDefaults = projectPolicy.disableDefaultPathPolicy ? pathPolicyInput : mergePathPolicyInputs(pathPolicyInput, { zeroAccessPaths: clioCredentialStorePaths() });
|
|
787
828
|
const pathPolicy = compilePathPolicy(expandedDefaults, projectPolicyRoot);
|
|
@@ -843,6 +884,21 @@ function createSafetyPolicyEngine(options = {}) {
|
|
|
843
884
|
if (projectPolicy.path !== null) blockInput.projectPolicyPath = projectPolicy.path;
|
|
844
885
|
return blockDecision(base, blockInput);
|
|
845
886
|
}
|
|
887
|
+
const mutationCommand = call.tool === ToolNames.Bash ? command : catalogCommand;
|
|
888
|
+
const skillReason = mutationCommand !== null && invokesClioSkillMutation(mutationCommand) ? "skill installation and updates require the operator CLI or an explicit operator install choice; draft outside active skill roots" : skillMutationReason(
|
|
889
|
+
skillRoots,
|
|
890
|
+
pathPolicyTargets(catalogCommand === null ? call : { tool: ToolNames.Bash, args: { command: catalogCommand } }),
|
|
891
|
+
callCwd,
|
|
892
|
+
mutationCommand
|
|
893
|
+
);
|
|
894
|
+
if (skillReason !== null) {
|
|
895
|
+
return blockDecision(base, {
|
|
896
|
+
ruleId: "skill-authority",
|
|
897
|
+
reasonCode: "skill-authority",
|
|
898
|
+
reasons: [skillReason],
|
|
899
|
+
policySource: "builtin-classifier"
|
|
900
|
+
});
|
|
901
|
+
}
|
|
846
902
|
const pathBlock = evaluateProjectPathPolicy(pathPolicy, call, callCwd);
|
|
847
903
|
if (pathBlock !== null) {
|
|
848
904
|
const blockInput = {
|
|
@@ -940,7 +996,7 @@ function createSafetyPolicyEngine(options = {}) {
|
|
|
940
996
|
}
|
|
941
997
|
function clioCredentialStorePaths() {
|
|
942
998
|
try {
|
|
943
|
-
return [
|
|
999
|
+
return [path4.join(clioConfigDir(), "credentials.yaml")];
|
|
944
1000
|
} catch {
|
|
945
1001
|
return [];
|
|
946
1002
|
}
|
|
@@ -962,10 +1018,10 @@ function stripQuotes(token) {
|
|
|
962
1018
|
}
|
|
963
1019
|
function bashPathTokenCandidates(command) {
|
|
964
1020
|
const candidates = [];
|
|
965
|
-
for (const
|
|
1021
|
+
for (const scanned of scanShellLike(command)) {
|
|
1022
|
+
if (scanned.operator) continue;
|
|
1023
|
+
const token = scanned.value;
|
|
966
1024
|
if (token.length === 0) continue;
|
|
967
|
-
if (token === ";" || token === "&&" || token === "||" || token === "|" || token === ">" || token === ">>") continue;
|
|
968
|
-
if (token === "<" || token === "<<") continue;
|
|
969
1025
|
if (/\s/.test(token)) continue;
|
|
970
1026
|
if (token.startsWith("-") && !token.includes("/") && !token.includes("=")) continue;
|
|
971
1027
|
candidates.push(token);
|
|
@@ -1205,29 +1261,28 @@ function effectiveClassification(classification, match) {
|
|
|
1205
1261
|
}
|
|
1206
1262
|
function matchingProjectCommand(policy, command, cwd) {
|
|
1207
1263
|
if (!policy.valid || policy.path === null) return null;
|
|
1208
|
-
const policyRoot =
|
|
1264
|
+
const policyRoot = path4.dirname(path4.dirname(policy.path));
|
|
1209
1265
|
for (const entry of policy.commands) {
|
|
1210
1266
|
if (entry.command !== command) continue;
|
|
1211
1267
|
if (entry.shellOperators === "deny" && hasShellOperators(command)) continue;
|
|
1212
|
-
const allowedCwd = entry.cwd !== void 0 ?
|
|
1268
|
+
const allowedCwd = entry.cwd !== void 0 ? path4.resolve(policyRoot, entry.cwd) : policyRoot;
|
|
1213
1269
|
if (!isUnderOrSame(cwd, allowedCwd)) continue;
|
|
1214
1270
|
return entry;
|
|
1215
1271
|
}
|
|
1216
1272
|
return null;
|
|
1217
1273
|
}
|
|
1218
|
-
var CHAIN_BREAKING_TOKENS = /* @__PURE__ */ new Set([";", "|", "||", ">", ">>", "<", "<<"]);
|
|
1219
1274
|
var CHAIN_MAX_SEGMENTS = 6;
|
|
1220
1275
|
function recognizeCommandChain(command, callCwd, workspaceRoot, policy) {
|
|
1221
1276
|
const segments = [];
|
|
1222
1277
|
let current = [];
|
|
1223
|
-
for (const token of
|
|
1224
|
-
if (token === "&&") {
|
|
1278
|
+
for (const token of scanShellLike(command)) {
|
|
1279
|
+
if (token.operator && token.value === "&&") {
|
|
1225
1280
|
segments.push(current);
|
|
1226
1281
|
current = [];
|
|
1227
1282
|
continue;
|
|
1228
1283
|
}
|
|
1229
|
-
if (
|
|
1230
|
-
current.push(token);
|
|
1284
|
+
if (token.operator) return null;
|
|
1285
|
+
current.push(token.value);
|
|
1231
1286
|
}
|
|
1232
1287
|
segments.push(current);
|
|
1233
1288
|
if (segments.length < 2 || segments.length > CHAIN_MAX_SEGMENTS) return null;
|
|
@@ -1238,7 +1293,7 @@ function recognizeCommandChain(command, callCwd, workspaceRoot, policy) {
|
|
|
1238
1293
|
if (segment[0] === "cd") {
|
|
1239
1294
|
if (segment.length !== 2) return null;
|
|
1240
1295
|
const target = segment[1] ?? "";
|
|
1241
|
-
if (target.startsWith("~") || !isUnderOrSame(
|
|
1296
|
+
if (target.startsWith("~") || !isUnderOrSame(path4.resolve(callCwd, target), workspaceRoot)) return null;
|
|
1242
1297
|
ruleIds.push("builtin:cd-workspace");
|
|
1243
1298
|
continue;
|
|
1244
1299
|
}
|
|
@@ -1265,11 +1320,11 @@ function hasShellOperators(command) {
|
|
|
1265
1320
|
return hasSequencingOperators(command) || hasCommandSubstitution(command);
|
|
1266
1321
|
}
|
|
1267
1322
|
function isUnderOrSame(child, parent) {
|
|
1268
|
-
const rel =
|
|
1269
|
-
canonicalizeExistingPath(
|
|
1270
|
-
canonicalizeExistingPath(
|
|
1323
|
+
const rel = path4.relative(
|
|
1324
|
+
canonicalizeExistingPath(path4.resolve(parent)),
|
|
1325
|
+
canonicalizeExistingPath(path4.resolve(child))
|
|
1271
1326
|
);
|
|
1272
|
-
return rel === "" || !rel.startsWith("..") && !
|
|
1327
|
+
return rel === "" || !rel.startsWith("..") && !path4.isAbsolute(rel);
|
|
1273
1328
|
}
|
|
1274
1329
|
function commandArg(args) {
|
|
1275
1330
|
return typeof args?.command === "string" ? args.command : null;
|
|
@@ -1280,7 +1335,7 @@ function pathArg(args) {
|
|
|
1280
1335
|
return typeof candidate === "string" && candidate.length > 0 ? candidate : null;
|
|
1281
1336
|
}
|
|
1282
1337
|
function cwdArg(args, fallback) {
|
|
1283
|
-
const resolved = typeof args?.cwd === "string" && args.cwd.length > 0 ?
|
|
1338
|
+
const resolved = typeof args?.cwd === "string" && args.cwd.length > 0 ? path4.resolve(fallback, args.cwd) : fallback;
|
|
1284
1339
|
return canonicalizeExistingPath(resolved);
|
|
1285
1340
|
}
|
|
1286
1341
|
var CONTENT_BEARING_TOOLS = /* @__PURE__ */ new Set([ToolNames.Write, ToolNames.Edit, ToolNames.Artifact]);
|
|
@@ -1340,4 +1395,4 @@ export {
|
|
|
1340
1395
|
WRITE_ROOT_REFUSED_TOOLS,
|
|
1341
1396
|
createSafetyPolicyEngine
|
|
1342
1397
|
};
|
|
1343
|
-
//# sourceMappingURL=chunk-
|
|
1398
|
+
//# sourceMappingURL=chunk-XIVNBFZS.js.map
|