@iowarp/clio-coder 0.4.1 → 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 +127 -0
- package/CONTRIBUTING.md +142 -52
- package/README.md +434 -473
- package/SECURITY.md +2 -1
- package/dist/{acp-ZILU3AUO.js → acp-H2NGRPWO.js} +12 -12
- package/dist/{agents-HYWGBGQR.js → agents-TL5LLUQP.js} +56 -55
- package/dist/assets/codewiki.json +1 -1
- package/dist/{auth-N3QT7CBO.js → auth-E5SW4HMS.js} +23 -21
- package/dist/builtins-IA7V7FUC.js +22 -0
- package/dist/{chunk-7RY5VZPH.js → chunk-2APPQIER.js} +8 -8
- package/dist/{chunk-72GZI5EV.js → chunk-2JH2WHGE.js} +2 -2
- package/dist/{chunk-JA5QWE4Z.js → chunk-2UG5F4C5.js} +1973 -1664
- package/dist/{chunk-5YHDIDBP.js → chunk-2UH2KFUP.js} +2 -2
- package/dist/{chunk-CTJ4RNAA.js → chunk-2VIKGWFZ.js} +2 -2
- package/dist/{chunk-I66EAJFY.js → chunk-2WZ546HR.js} +267 -232
- package/dist/{chunk-GIZNH63R.js → chunk-35MSIRKH.js} +9 -4
- package/dist/chunk-3EBYEESD.js +314 -0
- package/dist/{chunk-J5LZHVIT.js → chunk-3M6DQK6S.js} +113 -35
- package/dist/{chunk-RKSR6VSF.js → chunk-4IUZQIJ3.js} +29 -1
- package/dist/{chunk-6FN3E6KX.js → chunk-4O6MANBS.js} +2 -2
- package/dist/chunk-4UVU7BJ5.js +39 -0
- package/dist/{chunk-VKRH2TCS.js → chunk-4WR7VSYB.js} +2 -2
- package/dist/{chunk-BBTJOK6Y.js → chunk-54CBCGIR.js} +5 -5
- package/dist/{chunk-AP73CFDC.js → chunk-5ICU3EUH.js} +2 -2
- package/dist/chunk-5MEZN6CB.js +1334 -0
- package/dist/{chunk-O42A54GG.js → chunk-5OIVVPHF.js} +2 -2
- package/dist/{chunk-ABLSQ6JX.js → chunk-64I3JVYM.js} +8 -2
- package/dist/{chunk-AFKWHWXF.js → chunk-6PTFB5VS.js} +39 -22
- package/dist/{chunk-VN3SHNBN.js → chunk-7DICMOS6.js} +2 -2
- package/dist/chunk-7DRAWPTZ.js +360 -0
- package/dist/chunk-7E7I3WLS.js +3762 -0
- package/dist/{chunk-BJGUKIG4.js → chunk-7ZYNNDKC.js} +7 -7
- package/dist/{chunk-XKA2ICR3.js → chunk-AF4YM7Z4.js} +652 -252
- package/dist/{chunk-GVQJ5CCZ.js → chunk-AX2THNSA.js} +12 -12
- package/dist/{chunk-IG7BCQBA.js → chunk-B4OAX3SI.js} +65 -3
- package/dist/{chunk-TD3PGPQA.js → chunk-B4VEBZKF.js} +3 -3
- package/dist/{chunk-74YWRRU5.js → chunk-BEPZRGGU.js} +10 -10
- package/dist/{chunk-FEFIFZTL.js → chunk-CE5AX47J.js} +2 -2
- package/dist/{chunk-UAPGZHYC.js → chunk-DWUOQKRU.js} +25 -11
- package/dist/{chunk-THYWACCR.js → chunk-E3TPLWFX.js} +3 -3
- package/dist/{chunk-7EPLI7VL.js → chunk-EKCHAPYA.js} +2 -2
- package/dist/{chunk-HLW2MRKE.js → chunk-F4EKGO4N.js} +3 -1
- package/dist/{chunk-PJJ6MY27.js → chunk-F5JHEYZM.js} +7 -7
- package/dist/{chunk-6CCS4G3W.js → chunk-FTMGRKEF.js} +3 -3
- package/dist/{chunk-SINK3QR6.js → chunk-G76U63X4.js} +17 -17
- package/dist/{chunk-EIMVLWB3.js → chunk-GHS5EBTQ.js} +64 -9
- package/dist/{chunk-QMXC4JB7.js → chunk-GI7YYQ3F.js} +187 -1419
- package/dist/{chunk-TZSKNMZG.js → chunk-GTUD2WMY.js} +2 -1
- package/dist/{chunk-6HMJX2VU.js → chunk-GWZNEVM2.js} +44 -12
- package/dist/chunk-GYV6VZOC.js +26 -0
- package/dist/{chunk-MQXIVJ35.js → chunk-HAXOFFRH.js} +5 -5
- package/dist/{chunk-UXN6JT4W.js → chunk-HEQY7ZFI.js} +3 -3
- package/dist/{chunk-7PWAODYW.js → chunk-I7XBWTYH.js} +2 -2
- package/dist/{chunk-GCSMB2KY.js → chunk-I7ZPNEJM.js} +145 -102
- package/dist/{chunk-WNP7O5WZ.js → chunk-ID64D7PE.js} +4 -4
- package/dist/{chunk-QTFGO774.js → chunk-IGLP3ODT.js} +29 -16
- package/dist/chunk-IJNZMHLA.js +101 -0
- package/dist/{chunk-BDPT6GTK.js → chunk-INY6HTFL.js} +7 -7
- package/dist/{chunk-PBP4B7XR.js → chunk-IUE3Y34X.js} +2 -2
- package/dist/{chunk-6NJQITNH.js → chunk-IWT4SF4R.js} +6 -3
- package/dist/{chunk-R23Z6K6I.js → chunk-JDAY6FIL.js} +19 -19
- package/dist/chunk-JEQ3XTHC.js +42 -0
- package/dist/{chunk-FSP7CMNU.js → chunk-JGRC33J2.js} +50 -4
- package/dist/{chunk-TVH4ONAM.js → chunk-JKKCYP3C.js} +10 -10
- package/dist/{chunk-HJWWJ6IL.js → chunk-JSC3U7TI.js} +16 -4
- package/dist/{chunk-C537JADH.js → chunk-KK4JZPBQ.js} +19 -141
- package/dist/{chunk-K6BF4U2H.js → chunk-KKOJXO6R.js} +62 -14
- package/dist/{chunk-IHXBNWMM.js → chunk-KXDSS5WJ.js} +7 -3
- package/dist/{chunk-6DWBAZ5U.js → chunk-L47TF46W.js} +5 -7
- package/dist/{chunk-HUAS7ITX.js → chunk-LDJG7DW3.js} +91 -42
- package/dist/{chunk-CDNVLKUX.js → chunk-LLDJM5XK.js} +13 -7
- package/dist/{chunk-YPI3QQCF.js → chunk-MCEPRMZW.js} +2 -4
- package/dist/{chunk-Y4CAGMM6.js → chunk-MNJGS2IN.js} +5 -6
- package/dist/{chunk-VKFQTNDV.js → chunk-MUW2BDDH.js} +4 -4
- package/dist/{chunk-E67WX76H.js → chunk-MWUZBSAQ.js} +104 -152
- package/dist/{chunk-OJTRZGR3.js → chunk-N2Z7HLVY.js} +21 -21
- package/dist/{chunk-TVHHYFHE.js → chunk-NEDJ26B5.js} +2 -2
- package/dist/{chunk-FYUN5KZ3.js → chunk-NIQJ66N4.js} +21 -21
- package/dist/{chunk-U2WB7TZS.js → chunk-NMJXSHBJ.js} +97 -85
- package/dist/{chunk-CWVRRIEI.js → chunk-NZMNUPZZ.js} +2 -2
- package/dist/{chunk-VEGN6WIQ.js → chunk-O5CVSAG5.js} +3 -3
- package/dist/{chunk-MOPSG2X7.js → chunk-OML5D5V5.js} +8 -8
- package/dist/{chunk-2VG7KLYV.js → chunk-PAJQJ7BS.js} +5816 -3255
- package/dist/{chunk-ZW55JB7N.js → chunk-PUVDKJ2Y.js} +2 -2
- package/dist/{chunk-BTGG6BG2.js → chunk-QWGDJJYJ.js} +158 -19
- package/dist/chunk-R6Q67RJH.js +134 -0
- package/dist/{chunk-ZJLUDYFY.js → chunk-RRNP2ANY.js} +6 -6
- package/dist/{chunk-PVAMAVBB.js → chunk-RSJ25QSL.js} +102 -2
- package/dist/{chunk-NLFAQR7Z.js → chunk-S66XZJOF.js} +3 -23
- package/dist/chunk-SKHCAU7K.js +385 -0
- package/dist/chunk-SZAA6XDG.js +30 -0
- package/dist/{chunk-J4HBWF6Y.js → chunk-TM6LQDI3.js} +131 -28
- package/dist/chunk-UOIZ7DA4.js +41 -0
- package/dist/{chunk-MA3H6DM5.js → chunk-UPZU6GE4.js} +25 -3
- package/dist/{chunk-BWW4HLO4.js → chunk-UXCU4E3T.js} +8 -6
- package/dist/{chunk-N5UK64DP.js → chunk-V2ANDPVT.js} +4 -4
- package/dist/{chunk-AK5XEFVZ.js → chunk-VA5FNYMT.js} +26 -13
- package/dist/{chunk-6VC4OV3Z.js → chunk-VIA6RFQZ.js} +3 -11
- package/dist/{chunk-ZAZB4JMW.js → chunk-VKPAQYEB.js} +27 -8
- package/dist/{chunk-QKIFBZKT.js → chunk-VW6DOEDG.js} +497 -81
- package/dist/{chunk-SCYB3HA4.js → chunk-W6RRQCPQ.js} +63 -19
- package/dist/{chunk-2NM363SV.js → chunk-WBKFA554.js} +10 -10
- package/dist/{chunk-R32CLGZ6.js → chunk-WCXUNS7U.js} +82 -21
- package/dist/{chunk-GPPB3JBE.js → chunk-WRBAGUNF.js} +3 -3
- package/dist/{chunk-IXJT6DCX.js → chunk-XIVNBFZS.js} +85 -30
- package/dist/{chunk-UEDMSP56.js → chunk-XPWWI35G.js} +417 -201
- package/dist/chunk-XRZT5WY5.js +47 -0
- package/dist/{chunk-3QSOM6PA.js → chunk-Y3CBHOR6.js} +2 -2
- package/dist/{chunk-VXMFAE2W.js → chunk-YPC6ZR5L.js} +19 -6
- package/dist/{chunk-AKB4GYDL.js → chunk-YQWYVTMC.js} +5 -5
- package/dist/{chunk-6I5ILFOF.js → chunk-ZA4VCIGV.js} +3 -3
- package/dist/{chunk-7OBGU7UB.js → chunk-ZDN3Y73Y.js} +12 -18
- package/dist/{chunk-3I5NY75V.js → chunk-ZWPRK62N.js} +8 -5
- package/dist/cli/index.js +41 -39
- package/dist/{clio-IT3G3VQH.js → clio-CMMK4KRR.js} +9 -9
- package/dist/{code-nav-RK6S7F6E.js → code-nav-MDZNQS33.js} +89 -21
- package/dist/{components-UBWCQSRW.js → components-UCUQ4QXW.js} +4 -4
- package/dist/{config-3QZRWZJF.js → config-SVM5P5YI.js} +131 -84
- package/dist/{configure-FL7Y3KJF.js → configure-LE3IK2TJ.js} +28 -26
- package/dist/{context-5HE7ODYK.js → context-2OHRKS42.js} +69 -64
- package/dist/{context-KYQFRVDC.js → context-E3VC7RX5.js} +15 -11
- package/dist/{context-XNHL75JV.js → context-VNCR7KAG.js} +93 -65
- package/dist/{context-clear-N545L53A.js → context-clear-BW4O37TG.js} +64 -60
- package/dist/context-map-COB37XXN.js +505 -0
- package/dist/{context-working-set-QHKXSV2F.js → context-working-set-VDS25HXZ.js} +19 -18
- package/dist/{dispatch-runner-RGIE5PCT.js → dispatch-runner-5AHT53RF.js} +93 -82
- package/dist/{docs-5NAF6AU7.js → docs-PD3EXDKU.js} +21 -20
- package/dist/{doctor-ZGPEGHIP.js → doctor-WNNVO6FY.js} +48 -47
- package/dist/{eval-GXLL44RD.js → eval-7G7SGAYO.js} +287 -115
- package/dist/{eval-inventory-HBWSWQOK.js → eval-inventory-Y6QRFOH5.js} +4 -4
- package/dist/{evidence-HWLBRH3Q.js → evidence-VD6736FQ.js} +67 -64
- package/dist/{evolve-FTZBMNVW.js → evolve-AL3NGVRL.js} +65 -62
- package/dist/{extensions-VHRBEID7.js → extensions-MOVJ32NM.js} +9 -7
- package/dist/{fleet-CKZHJWZJ.js → fleet-QZHUMAGI.js} +114 -111
- package/dist/{fleet-commands-EXDXBMV6.js → fleet-commands-BAYT5FJZ.js} +10 -10
- package/dist/{fleet-decisions-OTHB6KRL.js → fleet-decisions-IREVMRU4.js} +7 -6
- package/dist/{fleet-graph-YTEZUCUT.js → fleet-graph-YCTT3HTI.js} +22 -19
- package/dist/{fleet-inspect-SS6YMDCK.js → fleet-inspect-QVJTDAVB.js} +58 -55
- package/dist/{fleet-preflight-PBY4VYOM.js → fleet-preflight-25QAFPK4.js} +4 -4
- package/dist/{fleet-validate-KMEM5L3S.js → fleet-validate-5O57AAJ7.js} +26 -23
- package/dist/{fleet-verify-QD5M7E7Q.js → fleet-verify-CPH2W2T6.js} +59 -56
- package/dist/{fleet-view-WAMJYNDT.js → fleet-view-SWBR3VGQ.js} +58 -55
- package/dist/{init-5XQRBOFV.js → init-J477LKZH.js} +82 -79
- package/dist/{interop-34TVO25M.js → interop-3FCM6XLG.js} +11 -11
- package/dist/{library-3QY6KF57.js → library-QUQEIUG6.js} +30 -27
- package/dist/{memory-L4UTIIIW.js → memory-SGGSEP65.js} +67 -64
- package/dist/{models-ZVX3QOWE.js → models-HEKUAXXK.js} +53 -46
- package/dist/{monitor-CEKVSYTS.js → monitor-HKU57TYQ.js} +63 -60
- package/dist/{orchestrator-77BAP6BC.js → orchestrator-VDFAEFAI.js} +1831 -1057
- package/dist/{panes-7STHOAUJ.js → panes-DN2SSFOH.js} +5 -5
- package/dist/{panes-SHAUIRXY.js → panes-TALGNPZT.js} +29 -14
- package/dist/{paths-L7LGY6RN.js → paths-NBMFAIEZ.js} +5 -5
- package/dist/reset-EAJFFJVB.js +344 -0
- package/dist/{resources-74GKTLSF.js → resources-OVKSEFVE.js} +29 -20
- package/dist/{run-HBAUJNNZ.js → run-7DP7ZF2J.js} +120 -115
- package/dist/{share-G3APVLVP.js → share-WML67FT3.js} +32 -27
- package/dist/{skills-35HHUKCR.js → skills-SG662R2K.js} +41 -31
- package/dist/{skills-eval-QN4HSHDC.js → skills-eval-VVZEUU46.js} +78 -77
- package/dist/{skills-inventory-J357J34F.js → skills-inventory-I2E23GET.js} +23 -20
- package/dist/{slash-commands-JZZCQA32.js → slash-commands-S7MBJDQK.js} +40 -36
- package/dist/{steer-XAVHJM22.js → steer-2LQOMCPB.js} +3 -3
- package/dist/{support-U7QOWY26.js → support-CC2UJBJ6.js} +6 -6
- package/dist/{targets-DSM6CY3M.js → targets-4QC3HIEW.js} +54 -54
- package/dist/{terminal-lease-JOPFUVEM.js → terminal-lease-TUHIJ6Y2.js} +5 -5
- package/dist/{tools-MKNWVPBH.js → tools-TFGJICCU.js} +10 -10
- package/dist/{trace-ECQ7TIYZ.js → trace-FXMXUZUF.js} +55 -7
- package/dist/uninstall-5PEVOE5B.js +408 -0
- package/dist/upgrade-M4WXY6KN.js +303 -0
- package/dist/{usage-X52N3IDJ.js → usage-N7ZNVLEM.js} +151 -104
- package/dist/{verifiers-EJTVVSMA.js → verifiers-DJTP4XX6.js} +15 -15
- package/dist/{verify-YJL6XET2.js → verify-RWE4PPEK.js} +9 -9
- package/dist/{web-fetch-MPIFL3LL.js → web-fetch-MPARV2K7.js} +2 -2
- package/dist/{wiki-generate-4NDZTQ4B.js → wiki-generate-C7IQOXSP.js} +89 -86
- package/dist/{with-panes-OBOBFIIR.js → with-panes-4GCGSL7J.js} +53 -257
- package/dist/worker/entry.js +90 -74
- 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} +27 -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} +29 -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} +61 -27
- package/docs/{observability.md → architecture/observability.md} +38 -14
- package/docs/{pi-boundary.md → architecture/pi-boundary.md} +24 -11
- package/docs/{prompt-envelope-and-tools.md → architecture/prompt-envelope-and-tools.md} +57 -20
- package/docs/{provider-adapter-cookbook.md → architecture/provider-adapter-cookbook.md} +99 -25
- package/docs/{safety-model.md → architecture/safety-model.md} +35 -20
- 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} +13 -5
- 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} +65 -35
- package/docs/{commands-and-modes.md → guide/commands-and-modes.md} +66 -61
- package/docs/{configuration-and-targets.md → guide/configuration-and-targets.md} +323 -297
- package/docs/guide/configuration-reference.md +1163 -0
- package/docs/{environment-variables.md → guide/environment-variables.md} +33 -28
- package/docs/{exit-codes-and-output.md → guide/exit-codes-and-output.md} +6 -3
- package/docs/{extensions-and-sharing.md → guide/extensions-and-sharing.md} +41 -14
- package/docs/{fleet-dispatch.md → guide/fleet-dispatch.md} +39 -43
- package/docs/{glossary.md → guide/glossary.md} +14 -11
- package/docs/{installation-and-lifecycle.md → guide/installation-and-lifecycle.md} +81 -17
- package/docs/guide/panes-and-files.md +290 -0
- package/docs/{proactive-memory.md → guide/proactive-memory.md} +131 -107
- package/docs/{resource-library.md → guide/resource-library.md} +13 -4
- package/docs/{skills-marketplace.md → guide/skills-marketplace.md} +25 -3
- package/docs/{tool-usage.md → guide/tool-usage.md} +87 -23
- package/docs/{troubleshooting.md → guide/troubleshooting.md} +9 -4
- package/docs/{config-knobs-audit.md → history/config-knobs-audit.md} +11 -11
- package/docs/{release-cut-checklist.md → history/release-cut-checklist.md} +29 -2
- package/docs/process/development-pipeline.md +152 -0
- 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} +108 -53
- 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} +11 -7
- 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 +2 -2
- package/evals/behavioral-model.yaml +3 -2
- package/package.json +10 -8
- package/skills/README.md +52 -41
- package/skills/coding/ast-grep/SKILL.md +102 -31
- package/skills/coding/ast-grep/evals.md +26 -0
- package/skills/coding/coding-standards/SKILL.md +41 -6
- package/skills/coding/coding-standards/evals.md +23 -0
- package/skills/coding/prototype/SKILL.md +88 -29
- package/skills/coding/prototype/evals.md +19 -0
- package/skills/coding/tdd/SKILL.md +81 -54
- package/skills/coding/tdd/evals.md +20 -0
- package/skills/context/context-handoff/SKILL.md +44 -3
- package/skills/context/context-handoff/evals.md +44 -0
- package/skills/context/context-prime/SKILL.md +46 -16
- 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 +78 -64
- 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 +88 -65
- 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 +101 -52
- 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/meta/clio-coder-dev/SKILL.md +9 -5
- package/skills/meta/clio-coder-dev/evals.md +3 -2
- package/skills/meta/clio-coder-test/SKILL.md +102 -95
- package/skills/meta/clio-coder-test/evals.md +9 -4
- package/skills/meta/clio-coder-test/references/harness.md +100 -124
- package/skills/meta/clio-coder-test/references/test-map.md +77 -50
- package/skills/meta/credentials/SKILL.md +2 -2
- package/skills/meta/find-skills/SKILL.md +2 -2
- package/skills/meta/herdr/SKILL.md +2 -2
- package/skills/meta/skill-craft/SKILL.md +22 -16
- package/skills/planning/archify/SKILL.md +196 -0
- package/skills/planning/archify/evals.md +65 -0
- package/skills/planning/architecture/SKILL.md +62 -13
- package/skills/planning/architecture/evals.md +65 -0
- package/skills/planning/backlog/SKILL.md +131 -15
- package/skills/planning/backlog/evals.md +142 -0
- package/skills/planning/prd/SKILL.md +47 -7
- package/skills/planning/prd/evals.md +54 -0
- package/skills/planning/product-intent/SKILL.md +58 -3
- package/skills/planning/product-intent/evals.md +70 -0
- package/skills/planning/tech-spec/SKILL.md +54 -3
- package/skills/planning/tech-spec/evals.md +73 -0
- package/skills/registry.yaml +70 -62
- package/skills/remote.yaml +13 -0
- package/skills/research/arxiv-literature/SKILL.md +77 -19
- package/skills/research/arxiv-literature/evals.md +50 -0
- package/skills/research/experiment-protocol/SKILL.md +21 -2
- package/skills/research/experiment-protocol/evals.md +23 -0
- package/skills/research/scientific-debugging/SKILL.md +24 -2
- package/skills/research/scientific-debugging/evals.md +18 -0
- package/skills/research/scientific-modernization/SKILL.md +27 -2
- package/skills/research/scientific-modernization/evals.md +27 -0
- package/skills/skill-marketplace.json +97 -62
- package/skills/workflow/cut-it/SKILL.md +66 -6
- package/skills/workflow/cut-it/evals.md +101 -0
- package/skills/workflow/design-council/SKILL.md +118 -28
- package/skills/workflow/design-council/evals.md +161 -0
- package/skills/workflow/grill-me/SKILL.md +87 -11
- package/skills/workflow/grill-me/evals.md +153 -0
- package/skills/workflow/workflow-distiller/SKILL.md +77 -18
- package/skills/workflow/workflow-distiller/evals.md +118 -0
- package/src/cli/args.ts +2 -2
- package/src/cli/bootstrap-generate.ts +1 -1
- package/src/cli/config-inspect.ts +65 -12
- 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 -532
- package/src/cli/context-map.ts +114 -0
- package/src/cli/context.ts +4 -0
- package/src/cli/docs.ts +22 -14
- package/src/cli/doctor-naming.ts +5 -5
- package/src/cli/doctor-toolchain.ts +3 -3
- package/src/cli/eval.ts +1 -2
- package/src/cli/extensions.ts +2 -1
- package/src/cli/fleet.ts +1 -1
- package/src/cli/index.ts +3 -1
- package/src/cli/internal-dispatch.ts +3 -4
- 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/panes.ts +19 -5
- package/src/cli/reset.ts +228 -106
- package/src/cli/run.ts +9 -4
- package/src/cli/select.ts +664 -0
- package/src/cli/share.ts +5 -1
- package/src/cli/skills-eval.ts +3 -3
- package/src/cli/skills.ts +9 -2
- package/src/cli/targets.ts +5 -6
- package/src/cli/trace.ts +55 -4
- 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/cli/wiki-generate.ts +1 -1
- package/src/core/artifact-paths.ts +1 -1
- package/src/core/bash-exec.ts +131 -86
- package/src/core/bus-events.ts +51 -6
- package/src/core/config.ts +61 -1
- package/src/core/defaults.ts +7 -4
- package/src/core/dispatch-outcome.ts +16 -0
- package/src/core/external-diagnostic.ts +44 -0
- package/src/core/gateway-routing.ts +157 -0
- package/src/core/guardrails.ts +10 -49
- package/src/core/prompt-hint.ts +9 -0
- package/src/core/safe-exec.ts +17 -2
- package/src/core/skill-activation.ts +89 -2
- 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/builtins/world-knowledge.md +31 -0
- package/src/domains/agents/catalog.ts +13 -15
- package/src/domains/agents/contract.ts +2 -0
- package/src/domains/agents/extension.ts +23 -1
- package/src/domains/agents/result-contract.ts +70 -0
- package/src/domains/config/keybindings.ts +8 -0
- package/src/domains/context/extension.ts +0 -3
- package/src/domains/context/wiki/map-seed.ts +589 -0
- package/src/domains/context/wiki/plan.ts +2 -2
- package/src/domains/context/working-set/path-index.ts +1 -0
- 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 +11 -0
- package/src/domains/dispatch/capacity-lease.ts +17 -0
- package/src/domains/dispatch/contract.ts +11 -1
- package/src/domains/dispatch/extension.ts +237 -49
- 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/path-scope.ts +235 -24
- package/src/domains/dispatch/run-event-journal.ts +4 -15
- package/src/domains/dispatch/state.ts +2 -3
- package/src/domains/dispatch/transport.ts +45 -21
- package/src/domains/dispatch/types.ts +58 -3
- package/src/domains/dispatch/worker-model-metadata.ts +38 -0
- package/src/domains/eval/artifacts/store.ts +5 -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/store.ts +8 -1
- package/src/domains/eval/suites/resolve.ts +13 -1
- package/src/domains/eval/suites/run.ts +24 -3
- 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/registry.ts +6 -2
- package/src/domains/interop/types.ts +4 -0
- package/src/domains/lifecycle/migrations/2026-09-01-extension-install-digests.ts +27 -0
- package/src/domains/lifecycle/migrations/index.ts +6 -0
- package/src/domains/lifecycle/naming-resources.ts +19 -4
- package/src/domains/lifecycle/naming-yazi.ts +10 -5
- package/src/domains/memory/task-memory-policy.ts +70 -26
- package/src/domains/memory/task-memory-telemetry.ts +1 -0
- 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 +28 -5
- 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/registrations.ts +326 -0
- package/src/domains/middleware/runtime.ts +28 -0
- package/src/domains/middleware/skills-reminder.ts +31 -2
- package/src/domains/middleware/snapshot.ts +20 -7
- package/src/domains/mux/contract.ts +38 -0
- package/src/domains/mux/detect.ts +6 -13
- package/src/domains/mux/index.ts +1 -1
- package/src/domains/mux/operations.ts +44 -5
- package/src/domains/mux/yazi/assets/yazi.toml +2 -2
- package/src/domains/mux/yazi/session.ts +53 -4
- package/src/domains/mux/yazi/theme.ts +117 -17
- package/src/domains/observability/compaction-usage.ts +118 -0
- package/src/domains/observability/contract.ts +10 -11
- package/src/domains/observability/cost.ts +1 -1
- package/src/domains/observability/extension.ts +17 -4
- package/src/domains/observability/out-of-turn-usage.ts +52 -21
- package/src/domains/observability/projection.ts +14 -90
- package/src/domains/observability/trace-store.ts +43 -7
- package/src/domains/prompts/compiler.ts +73 -53
- package/src/domains/prompts/contract.ts +15 -3
- package/src/domains/prompts/extension.ts +97 -9
- package/src/domains/prompts/fragments/identity/clio-worker.md +1 -3
- 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 +10 -24
- package/src/domains/prompts/fragments/operating/worker.md +1 -8
- package/src/domains/providers/contract.ts +4 -1
- package/src/domains/providers/extension.ts +40 -9
- package/src/domains/providers/index.ts +1 -1
- 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 +99 -25
- package/src/domains/providers/models/local-models/clio-coder-local-coding-targets.yaml +699 -114
- package/src/domains/providers/runtime-resolution.ts +31 -0
- 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/common/probe-helpers.ts +7 -2
- package/src/domains/providers/runtimes/local-native/llamacpp.ts +9 -1
- 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/cost-provenance.ts +19 -0
- package/src/domains/providers/types/local-model-quirks.ts +85 -37
- 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 +23 -19
- package/src/domains/resources/skills/marketplace.ts +63 -11
- package/src/domains/safety/autonomy.ts +15 -0
- package/src/domains/safety/call-target.ts +1 -1
- package/src/domains/safety/index.ts +1 -0
- package/src/domains/safety/loop-detector.ts +7 -4
- 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/task-board.ts +10 -9
- package/src/domains/session/usage.ts +3 -3
- package/src/domains/share/archive.ts +164 -7
- package/src/engine/acp/server.ts +62 -9
- 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/llamacpp-residency.ts +3 -4
- package/src/engine/apis/lmstudio.ts +3 -3
- package/src/engine/apis/ollama-native.ts +6 -6
- package/src/engine/apis/openai-completions.ts +145 -39
- package/src/engine/apis/output-budget.ts +8 -18
- package/src/engine/apis/residency.ts +8 -27
- package/src/engine/external-subprocess.ts +114 -6
- package/src/engine/gemma-channel-filter.ts +19 -0
- package/src/engine/loop-guard.ts +92 -12
- package/src/engine/worker-runtime.ts +40 -11
- package/src/engine/worker-tools.ts +3 -1
- package/src/entry/background-model-metadata.ts +18 -0
- package/src/entry/compaction-prompt.ts +57 -0
- package/src/entry/extension-hook-sources.ts +28 -0
- package/src/entry/extension-reload.ts +309 -0
- package/src/entry/orchestrator.ts +464 -251
- package/src/entry/task-memory-lifecycle.ts +35 -0
- package/src/interactive/application-controller.ts +2 -1
- package/src/interactive/bus-notices.ts +8 -1
- package/src/interactive/chat-loop-messages.ts +16 -17
- package/src/interactive/chat-loop.ts +75 -3
- package/src/interactive/chat-panel.ts +36 -13
- package/src/interactive/chat-renderer.ts +72 -7
- package/src/interactive/cost-overlay.ts +26 -2
- package/src/interactive/dispatch-board.ts +6 -11
- package/src/interactive/footer/widgets.ts +13 -0
- package/src/interactive/interactive-application.ts +39 -4
- package/src/interactive/interactive-input-runtime.ts +4 -0
- package/src/interactive/interactive-presentation.ts +2 -2
- package/src/interactive/interactive-slash-runtime.ts +4 -1
- package/src/interactive/overlays/extensions.ts +9 -1
- package/src/interactive/overlays/help-reference.ts +13 -0
- package/src/interactive/overlays/settings.ts +27 -16
- package/src/interactive/panes-runtime.ts +111 -35
- package/src/interactive/prompt-cache-identity.ts +88 -0
- package/src/interactive/renderers/worker-entry.ts +32 -0
- package/src/interactive/slash-commands.ts +153 -20
- package/src/interactive/stream-pacing-policy.ts +0 -23
- package/src/interactive/theme/labels.ts +19 -13
- package/src/interactive/turn-context.ts +39 -20
- 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/interactive/yazi-bridge.ts +60 -6
- package/src/tools/agent-tools.ts +30 -1
- package/src/tools/artifact.ts +2 -2
- package/src/tools/ask-user.ts +3 -3
- package/src/tools/bash.ts +1 -1
- 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/context/docs-engine.ts +20 -7
- package/src/tools/context/index.ts +59 -21
- package/src/tools/core-bootstrap.ts +28 -6
- package/src/tools/credential-present.ts +1 -2
- package/src/tools/dispatch-arguments.ts +6 -1
- package/src/tools/dispatch-event-text.ts +10 -0
- package/src/tools/dispatch-plan.ts +49 -4
- package/src/tools/dispatch-run-events.ts +1 -1
- package/src/tools/dispatch-runner.ts +12 -0
- 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/ledger.ts +3 -5
- package/src/tools/monitor-surface.ts +5 -13
- package/src/tools/observation.ts +4 -5
- 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 +41 -12
- package/src/tools/result-shaping.ts +18 -14
- package/src/tools/steer-surface.ts +1 -1
- package/src/tools/tasks.ts +1 -1
- package/src/tools/truncate.ts +6 -5
- package/src/tools/verify/surface.ts +6 -12
- package/src/tools/web-fetch-surface.ts +1 -3
- package/src/tools/worker-evidence.ts +3 -1
- package/src/worker/spec-contract.ts +4 -0
- package/dist/builtins-UJLMOVOV.js +0 -17
- package/dist/chunk-5QIAJV2D.js +0 -48
- package/dist/chunk-JZWT5J3Y.js +0 -814
- package/dist/chunk-K7VKOLQQ.js +0 -15
- package/dist/chunk-PMZCIOCJ.js +0 -25
- package/dist/chunk-SUW5DORT.js +0 -819
- package/dist/chunk-UOV2BYIW.js +0 -107
- package/dist/chunk-WR6U3OVP.js +0 -45
- package/dist/chunk-Y45G3AXC.js +0 -1558
- package/dist/reset-EOLM7GVE.js +0 -230
- package/dist/uninstall-N34PCTGJ.js +0 -331
- package/dist/upgrade-H7TOM7YL.js +0 -323
- package/docs/artifact-versions.md +0 -67
- package/docs/development-pipeline.md +0 -121
- package/docs/documentation-coverage.md +0 -46
- package/docs/documentation-guide.md +0 -167
- package/docs/time-conventions.md +0 -101
|
@@ -0,0 +1,114 @@
|
|
|
1
|
+
import { execFileSync } from "node:child_process";
|
|
2
|
+
import { mkdirSync, writeFileSync } from "node:fs";
|
|
3
|
+
import path from "node:path";
|
|
4
|
+
import { CLIO_ARTIFACT_DIR } from "../core/artifact-paths.js";
|
|
5
|
+
import { readCodewiki } from "../domains/context/codewiki/artifact.js";
|
|
6
|
+
import { buildArchitectureSeed, serializeArchitectureSeed } from "../domains/context/wiki/map-seed.js";
|
|
7
|
+
|
|
8
|
+
const HELP = `Usage:
|
|
9
|
+
clio-coder context map [--out <path>] [--json]
|
|
10
|
+
|
|
11
|
+
Write an archify architecture seed for the current repository from the codewiki
|
|
12
|
+
index, without model calls. The seed is the starting spec for the archify skill:
|
|
13
|
+
components are the largest directory areas, connections are collapsed import
|
|
14
|
+
edges, and sources point at indexed files and lines.
|
|
15
|
+
|
|
16
|
+
Options:
|
|
17
|
+
--out <path> where to write the seed (default: ${CLIO_ARTIFACT_DIR}/maps/<repo>.architecture.json)
|
|
18
|
+
--json print machine-readable details about the written seed
|
|
19
|
+
`;
|
|
20
|
+
|
|
21
|
+
/** Where the seed lands when the operator names no path: a human-transient map artifact. */
|
|
22
|
+
function defaultMapSeedPath(cwd: string): string {
|
|
23
|
+
return path.join(cwd, CLIO_ARTIFACT_DIR, "maps", `${path.basename(cwd)}.architecture.json`);
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
function gitValue(cwd: string, args: string[]): string | null {
|
|
27
|
+
try {
|
|
28
|
+
const out = execFileSync("git", args, { cwd, timeout: 5000, stdio: ["ignore", "pipe", "ignore"] })
|
|
29
|
+
.toString("utf8")
|
|
30
|
+
.trim();
|
|
31
|
+
return out.length > 0 ? out : null;
|
|
32
|
+
} catch {
|
|
33
|
+
return null;
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
/** The origin remote as an https URL and HEAD as a full sha, when git can say. */
|
|
38
|
+
function repositoryFacts(cwd: string): { url: string; revision: string } | undefined {
|
|
39
|
+
const remote = gitValue(cwd, ["remote", "get-url", "origin"]);
|
|
40
|
+
const revision = gitValue(cwd, ["rev-parse", "--verify", "HEAD"]);
|
|
41
|
+
if (!remote || !revision) return undefined;
|
|
42
|
+
let url = remote.endsWith(".git") ? remote.slice(0, -4) : remote;
|
|
43
|
+
const ssh = /^git@([^:]+):(.+)$/.exec(url);
|
|
44
|
+
if (ssh) url = `https://${ssh[1]}/${ssh[2]}`;
|
|
45
|
+
return { url, revision };
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
export async function runContextMapCommand(args: string[]): Promise<number> {
|
|
49
|
+
if (args.includes("--help") || args.includes("-h")) {
|
|
50
|
+
process.stdout.write(HELP);
|
|
51
|
+
return 0;
|
|
52
|
+
}
|
|
53
|
+
let out: string | null = null;
|
|
54
|
+
let json = false;
|
|
55
|
+
for (let index = 0; index < args.length; index += 1) {
|
|
56
|
+
const arg = args[index] as string;
|
|
57
|
+
if (arg === "--json") {
|
|
58
|
+
json = true;
|
|
59
|
+
continue;
|
|
60
|
+
}
|
|
61
|
+
if (arg === "--out") {
|
|
62
|
+
const value = args[index + 1];
|
|
63
|
+
if (!value || value.startsWith("--")) {
|
|
64
|
+
process.stderr.write("clio-coder context map: --out requires a path\n");
|
|
65
|
+
return 2;
|
|
66
|
+
}
|
|
67
|
+
out = value;
|
|
68
|
+
index += 1;
|
|
69
|
+
continue;
|
|
70
|
+
}
|
|
71
|
+
process.stderr.write(`clio-coder context map: unknown flag ${arg}\n`);
|
|
72
|
+
return 2;
|
|
73
|
+
}
|
|
74
|
+
const cwd = process.cwd();
|
|
75
|
+
const codewiki = readCodewiki(cwd);
|
|
76
|
+
if (!codewiki) {
|
|
77
|
+
process.stderr.write(
|
|
78
|
+
"clio-coder context map: no codewiki index in .clio-coder/codewiki.json; run `clio-coder context index` first\n",
|
|
79
|
+
);
|
|
80
|
+
return 1;
|
|
81
|
+
}
|
|
82
|
+
const seed = buildArchitectureSeed(codewiki, {
|
|
83
|
+
title: path.basename(cwd),
|
|
84
|
+
repository: repositoryFacts(cwd),
|
|
85
|
+
});
|
|
86
|
+
const target = out ? path.resolve(cwd, out) : defaultMapSeedPath(cwd);
|
|
87
|
+
mkdirSync(path.dirname(target), { recursive: true });
|
|
88
|
+
writeFileSync(target, serializeArchitectureSeed(seed), "utf8");
|
|
89
|
+
const payload = {
|
|
90
|
+
path: target,
|
|
91
|
+
components: seed.components.length,
|
|
92
|
+
connections: seed.connections.length,
|
|
93
|
+
repository: seed.meta.repository ?? null,
|
|
94
|
+
};
|
|
95
|
+
if (json) {
|
|
96
|
+
process.stdout.write(`${JSON.stringify(payload, null, 2)}\n`);
|
|
97
|
+
return 0;
|
|
98
|
+
}
|
|
99
|
+
process.stdout.write(
|
|
100
|
+
[
|
|
101
|
+
`clio-coder context map wrote ${target}`,
|
|
102
|
+
` ${payload.components} components, ${payload.connections} connections${
|
|
103
|
+
payload.repository
|
|
104
|
+
? `, sources pinned at ${payload.repository.revision.slice(0, 12)}`
|
|
105
|
+
: "; no GitHub origin at a full revision, so no source citations"
|
|
106
|
+
}`,
|
|
107
|
+
payload.repository
|
|
108
|
+
? " next: validate and deliver it with the archify skill, passing --repo-root ."
|
|
109
|
+
: " next: validate and deliver it with the archify skill (without --repo-root)",
|
|
110
|
+
"",
|
|
111
|
+
].join("\n"),
|
|
112
|
+
);
|
|
113
|
+
return 0;
|
|
114
|
+
}
|
package/src/cli/context.ts
CHANGED
|
@@ -10,6 +10,7 @@ const HELP = `Usage:
|
|
|
10
10
|
[--target <id>] [--model <id>] [--thinking off|low|medium|high]
|
|
11
11
|
clio-coder context reset [--all] [--yes]
|
|
12
12
|
clio-coder context index [--json]
|
|
13
|
+
clio-coder context map [--out <path>] [--json]
|
|
13
14
|
clio-coder context replay --sessions <path>... [options]
|
|
14
15
|
clio-coder context working-set --session <id|path>
|
|
15
16
|
|
|
@@ -20,6 +21,7 @@ Project context commands:
|
|
|
20
21
|
clio-coder context wiki generate or inspect the agent-authored Markdown wiki
|
|
21
22
|
clio-coder context reset clear accumulated project context artifacts
|
|
22
23
|
clio-coder context index build the codewiki index without model calls
|
|
24
|
+
clio-coder context map write an archify architecture seed from the codewiki index
|
|
23
25
|
clio-coder context replay compare working-set policies over Clio ledgers
|
|
24
26
|
clio-coder context working-set inspect one session's working-set fold and path index
|
|
25
27
|
`;
|
|
@@ -317,6 +319,8 @@ export async function runContextCommand(args: string[]): Promise<number> {
|
|
|
317
319
|
return (await import("./context-clear.js")).runContextClearCommand(rest);
|
|
318
320
|
case "index":
|
|
319
321
|
return (await import("./context-index.js")).runContextIndexCommand(rest);
|
|
322
|
+
case "map":
|
|
323
|
+
return (await import("./context-map.js")).runContextMapCommand(rest);
|
|
320
324
|
case "replay":
|
|
321
325
|
return (await import("./context-working-set.js")).runContextReplayCommand(rest);
|
|
322
326
|
case "working-set":
|
package/src/cli/docs.ts
CHANGED
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
import { spawn } from "node:child_process";
|
|
2
|
-
import { createReadStream, readdirSync, statSync } from "node:fs";
|
|
2
|
+
import { createReadStream, readdirSync, realpathSync, statSync } from "node:fs";
|
|
3
3
|
import { createServer, type IncomingMessage, type Server, type ServerResponse } from "node:http";
|
|
4
4
|
import type { AddressInfo } from "node:net";
|
|
5
5
|
import { relative, resolve } from "node:path";
|
|
6
6
|
import chalk from "chalk";
|
|
7
7
|
import { resolvePackageRoot } from "../core/package-root.js";
|
|
8
|
-
import { printError, printHeader } from "./
|
|
8
|
+
import { printError, printHeader } from "./argv.js";
|
|
9
9
|
|
|
10
|
-
// Human-facing viewer over the
|
|
10
|
+
// Human-facing viewer over the source-checkout HTML blueprints. It binds an ephemeral
|
|
11
11
|
// static file server to 127.0.0.1 only, serves docs/html/index.html as the
|
|
12
12
|
// menu plus the blueprint pages, prints the URL, and runs until SIGINT. It
|
|
13
13
|
// uses only Node's built-in http and fs: zero new dependencies, no daemon, no
|
|
@@ -21,7 +21,8 @@ const HELP = `clio-coder docs [topic] [--no-open]
|
|
|
21
21
|
|
|
22
22
|
Serve Clio Coder's interactive HTML documentation locally and open it in a
|
|
23
23
|
browser. The blueprints live in docs/html of a source checkout; the npm package
|
|
24
|
-
ships the Markdown
|
|
24
|
+
ships the categorized Markdown reference tree under docs/ and excludes HTML.
|
|
25
|
+
The server binds an ephemeral port on
|
|
25
26
|
127.0.0.1, keeps no state, runs no daemon, and reaches no external network.
|
|
26
27
|
Press Ctrl+C to stop it.
|
|
27
28
|
|
|
@@ -64,7 +65,7 @@ export interface DocsMenuEntry {
|
|
|
64
65
|
label: string;
|
|
65
66
|
}
|
|
66
67
|
|
|
67
|
-
/** Resolve
|
|
68
|
+
/** Resolve the source-checkout HTML root. The npm package deliberately excludes it. */
|
|
68
69
|
function resolveDocsHtmlDir(): string {
|
|
69
70
|
return resolve(resolvePackageRoot(), "docs", "html");
|
|
70
71
|
}
|
|
@@ -159,8 +160,8 @@ function listHtmlFiles(htmlDir: string): string[] {
|
|
|
159
160
|
}
|
|
160
161
|
|
|
161
162
|
/** Build the static request handler for one html root. */
|
|
162
|
-
function createDocsRequestHandler(htmlDir: string): (req: IncomingMessage, res: ServerResponse) => void {
|
|
163
|
-
const root = resolve(htmlDir);
|
|
163
|
+
export function createDocsRequestHandler(htmlDir: string): (req: IncomingMessage, res: ServerResponse) => void {
|
|
164
|
+
const root = realpathSync(resolve(htmlDir));
|
|
164
165
|
return (req, res) => {
|
|
165
166
|
if (req.method !== "GET" && req.method !== "HEAD") {
|
|
166
167
|
res.writeHead(405, { "content-type": "text/plain; charset=utf-8", allow: "GET, HEAD" });
|
|
@@ -174,20 +175,27 @@ function createDocsRequestHandler(htmlDir: string): (req: IncomingMessage, res:
|
|
|
174
175
|
res.end(resolved.reason);
|
|
175
176
|
return;
|
|
176
177
|
}
|
|
177
|
-
const
|
|
178
|
-
if (!isWithin(
|
|
178
|
+
const requestedTarget = resolve(root, resolved.relative);
|
|
179
|
+
if (!isWithin(requestedTarget, root)) {
|
|
179
180
|
res.writeHead(403, { "content-type": "text/plain; charset=utf-8" });
|
|
180
181
|
res.end("forbidden");
|
|
181
182
|
return;
|
|
182
183
|
}
|
|
183
184
|
let size: number | null = null;
|
|
185
|
+
let target: string | null = null;
|
|
184
186
|
try {
|
|
187
|
+
target = realpathSync(requestedTarget);
|
|
188
|
+
if (!isWithin(target, root)) {
|
|
189
|
+
res.writeHead(403, { "content-type": "text/plain; charset=utf-8" });
|
|
190
|
+
res.end("forbidden");
|
|
191
|
+
return;
|
|
192
|
+
}
|
|
185
193
|
const stat = statSync(target);
|
|
186
194
|
if (stat.isFile()) size = stat.size;
|
|
187
195
|
} catch {
|
|
188
196
|
size = null;
|
|
189
197
|
}
|
|
190
|
-
if (size === null) {
|
|
198
|
+
if (size === null || target === null) {
|
|
191
199
|
res.writeHead(404, { "content-type": "text/plain; charset=utf-8" });
|
|
192
200
|
res.end("not found");
|
|
193
201
|
return;
|
|
@@ -263,7 +271,7 @@ function openBrowser(url: string): void {
|
|
|
263
271
|
}
|
|
264
272
|
}
|
|
265
273
|
|
|
266
|
-
function waitForShutdown(): Promise<void> {
|
|
274
|
+
export function waitForShutdown(): Promise<void> {
|
|
267
275
|
return new Promise((resolveShutdown) => {
|
|
268
276
|
const onSignal = (): void => {
|
|
269
277
|
process.removeListener("SIGINT", onSignal);
|
|
@@ -304,14 +312,14 @@ export async function runDocsCommand(args: ReadonlyArray<string> = []): Promise<
|
|
|
304
312
|
try {
|
|
305
313
|
htmlDir = resolveDocsHtmlDir();
|
|
306
314
|
} catch (err) {
|
|
307
|
-
printError(`could not resolve
|
|
315
|
+
printError(`could not resolve the docs HTML root: ${err instanceof Error ? err.message : String(err)}`);
|
|
308
316
|
return 1;
|
|
309
317
|
}
|
|
310
318
|
const files = listHtmlFiles(htmlDir);
|
|
311
319
|
if (files.length === 0) {
|
|
312
320
|
printError(`no HTML docs at ${htmlDir}`);
|
|
313
321
|
process.stdout.write(
|
|
314
|
-
` the npm package ships the Markdown
|
|
322
|
+
` the npm package ships only the categorized Markdown reference tree: ${resolve(resolvePackageRoot(), "docs")}\n` +
|
|
315
323
|
" the interactive blueprints are in a source checkout and at https://github.com/iowarp/clio-coder/tree/main/docs/html\n",
|
|
316
324
|
);
|
|
317
325
|
return 1;
|
|
@@ -333,7 +341,7 @@ export async function runDocsCommand(args: ReadonlyArray<string> = []): Promise<
|
|
|
333
341
|
const handle = await startDocsServer({ htmlDir });
|
|
334
342
|
const landingUrl = landing === "index.html" ? handle.url : `${handle.url}${landing}`;
|
|
335
343
|
printHeader("Clio docs viewer");
|
|
336
|
-
process.stdout.write(` serving ${htmlDir}\n`);
|
|
344
|
+
process.stdout.write(` serving HTML root ${htmlDir}\n`);
|
|
337
345
|
process.stdout.write(` open ${chalk.cyan(landingUrl)}\n`);
|
|
338
346
|
process.stdout.write(" bound to 127.0.0.1 only: no external network, no daemon, no state.\n");
|
|
339
347
|
process.stdout.write(" press Ctrl+C to stop.\n");
|
package/src/cli/doctor-naming.ts
CHANGED
|
@@ -88,7 +88,7 @@ function namingResourceFindings(options: NamingDoctorOptions): DoctorFinding[] {
|
|
|
88
88
|
`${renamed} proven skills renamed`,
|
|
89
89
|
`${renamable} proven skills await doctor --fix`,
|
|
90
90
|
`${conflicts} modified/conflicting skills left untouched`,
|
|
91
|
-
`${skillMetadata.length} legacy skill metadata keys`,
|
|
91
|
+
`${skillMetadata.length} legacy skill metadata keys${skillMetadata.length > 0 ? ` (rename \`clio:\` to \`clio-coder:\` in ${skillMetadata.map((entry) => entry.path).join(", ")})` : ""}`,
|
|
92
92
|
`${overlays.length} legacy model overlay files/metadata (manual migration required)`,
|
|
93
93
|
].join("; "),
|
|
94
94
|
},
|
|
@@ -145,7 +145,7 @@ function yaziNamingFinding(fix: boolean, enabled: boolean): DoctorFinding {
|
|
|
145
145
|
if (!enabled) {
|
|
146
146
|
return {
|
|
147
147
|
ok: true,
|
|
148
|
-
name: "naming
|
|
148
|
+
name: "naming files profile",
|
|
149
149
|
detail: "disabled by settings",
|
|
150
150
|
};
|
|
151
151
|
}
|
|
@@ -154,7 +154,7 @@ function yaziNamingFinding(fix: boolean, enabled: boolean): DoctorFinding {
|
|
|
154
154
|
if (legacy === 0) {
|
|
155
155
|
return {
|
|
156
156
|
ok: true,
|
|
157
|
-
name: "naming
|
|
157
|
+
name: "naming files profile",
|
|
158
158
|
detail: inspection.present
|
|
159
159
|
? `${inspection.profileDir} uses canonical event and environment identifiers`
|
|
160
160
|
: `${inspection.profileDir} is absent; the next managed open will generate canonical identifiers`,
|
|
@@ -164,7 +164,7 @@ function yaziNamingFinding(fix: boolean, enabled: boolean): DoctorFinding {
|
|
|
164
164
|
return {
|
|
165
165
|
ok: true,
|
|
166
166
|
level: "warn",
|
|
167
|
-
name: "naming
|
|
167
|
+
name: "naming files profile",
|
|
168
168
|
detail: `${inspection.profileDir}: ${inspection.legacyEvents} legacy events and ${inspection.legacyEnvironmentNames} legacy environment names (run \`clio-coder doctor --fix\`)`,
|
|
169
169
|
};
|
|
170
170
|
}
|
|
@@ -172,7 +172,7 @@ function yaziNamingFinding(fix: boolean, enabled: boolean): DoctorFinding {
|
|
|
172
172
|
return {
|
|
173
173
|
ok: report.status !== "regeneration-failed",
|
|
174
174
|
...(report.status === "regeneration-failed" ? {} : { level: "ok" as const }),
|
|
175
|
-
name: "naming
|
|
175
|
+
name: "naming files profile",
|
|
176
176
|
detail: report.detail,
|
|
177
177
|
};
|
|
178
178
|
}
|
|
@@ -16,7 +16,7 @@ function yaziProfileFinding(enabled: boolean): DoctorFinding {
|
|
|
16
16
|
if (!enabled) {
|
|
17
17
|
return {
|
|
18
18
|
ok: true,
|
|
19
|
-
name: "
|
|
19
|
+
name: "files pane profile",
|
|
20
20
|
detail: "disabled by settings",
|
|
21
21
|
};
|
|
22
22
|
}
|
|
@@ -24,14 +24,14 @@ function yaziProfileFinding(enabled: boolean): DoctorFinding {
|
|
|
24
24
|
const profile = inspectCurrentYaziProfile();
|
|
25
25
|
return {
|
|
26
26
|
ok: true,
|
|
27
|
-
name: "
|
|
27
|
+
name: "files pane profile",
|
|
28
28
|
detail: describeYaziProfile(profile),
|
|
29
29
|
level: profile.state === "current" ? "ok" : "warn",
|
|
30
30
|
};
|
|
31
31
|
} catch (error) {
|
|
32
32
|
return {
|
|
33
33
|
ok: true,
|
|
34
|
-
name: "
|
|
34
|
+
name: "files pane profile",
|
|
35
35
|
level: "warn",
|
|
36
36
|
detail: `${yaziProfileDir()} could not be inspected (${error instanceof Error ? error.message : String(error)}); user config ${userYaziConfigDir()} is separate and untouched`,
|
|
37
37
|
};
|
package/src/cli/eval.ts
CHANGED
|
@@ -115,8 +115,7 @@ function parseEvalArgs(args: ReadonlyArray<string>): ParsedEvalArgs {
|
|
|
115
115
|
index += 1;
|
|
116
116
|
continue;
|
|
117
117
|
}
|
|
118
|
-
|
|
119
|
-
if (arg === "--clio-coder-entry" || arg === "--clio-entry") {
|
|
118
|
+
if (arg === "--clio-coder-entry") {
|
|
120
119
|
parsed.clioEntry = requiredValue(args, index, arg);
|
|
121
120
|
index += 1;
|
|
122
121
|
continue;
|
package/src/cli/extensions.ts
CHANGED
|
@@ -91,10 +91,11 @@ function resourceSummary(extension: InstalledExtension): string {
|
|
|
91
91
|
}
|
|
92
92
|
|
|
93
93
|
function stateLabel(extension: InstalledExtension): string {
|
|
94
|
+
if (!extension.valid) return "invalid";
|
|
94
95
|
if (!extension.compatible) return "incompatible";
|
|
95
96
|
if (!extension.enabled) return "disabled";
|
|
96
97
|
if (!extension.effective) return `shadowed:${extension.overriddenBy ?? "higher"}`;
|
|
97
|
-
return "active";
|
|
98
|
+
return extension.loadable ? "active" : "inactive";
|
|
98
99
|
}
|
|
99
100
|
|
|
100
101
|
function printList(items: ReadonlyArray<InstalledExtension>): void {
|
package/src/cli/fleet.ts
CHANGED
|
@@ -373,7 +373,7 @@ async function runFleet(args: ReadonlyArray<string>): Promise<number> {
|
|
|
373
373
|
return fail("required domains unavailable (dispatch/agents/safety)");
|
|
374
374
|
}
|
|
375
375
|
const fleetSettings = config?.get() ?? readSettings();
|
|
376
|
-
// Install `
|
|
376
|
+
// Install `fleet.history.journal` the same way the interactive composition root
|
|
377
377
|
// does, so a fleet run honours the setting without the journal ever reading
|
|
378
378
|
// settings.yaml from the dispatch event path.
|
|
379
379
|
configureRunEventJournal(fleetSettings.fleet.history.journal);
|
package/src/cli/index.ts
CHANGED
|
@@ -48,6 +48,7 @@ Usage:
|
|
|
48
48
|
clio-coder auth list|status|login|logout [target-or-runtime]
|
|
49
49
|
clio-coder doctor [--fix] diagnose state; --fix creates or repairs it
|
|
50
50
|
clio-coder paths [--json] print resolved config/data/cache directories
|
|
51
|
+
clio-coder config inspect [--json] inspect effective customization and provenance
|
|
51
52
|
clio-coder reset recover or wipe Clio Coder state
|
|
52
53
|
clio-coder context show project context status (CLIO-CODER.md, preload, codewiki)
|
|
53
54
|
clio-coder context init [--yes] [--preview|--heuristic] explore the repo and bootstrap CLIO-CODER.md and codewiki
|
|
@@ -55,6 +56,7 @@ Usage:
|
|
|
55
56
|
clio-coder context wiki [--update] [--status] [--depth auto|simple|medium|detailed] [--target <id>] [--model <id>]
|
|
56
57
|
clio-coder context reset [--all] [--yes] clear accumulated project context artifacts
|
|
57
58
|
clio-coder context index [--json] build the codewiki index without model calls
|
|
59
|
+
clio-coder context map [--out <path>] [--json] write an archify architecture seed from the codewiki index
|
|
58
60
|
clio-coder context replay --sessions <path>... compare working-set policies over Clio ledgers
|
|
59
61
|
clio-coder context working-set --session <id|path> inspect one session's working-set state
|
|
60
62
|
clio-coder uninstall remove all Clio Coder state; --remove-binary also unlinks the launcher
|
|
@@ -72,7 +74,7 @@ Usage:
|
|
|
72
74
|
clio-coder verifiers discover, inspect, author, validate, edit, or dry-run project checks
|
|
73
75
|
clio-coder tools list|status|install|remove <id> pinned external programs Clio can drive
|
|
74
76
|
clio-coder interop inspect --json detected external coding agents and how far each one is wired
|
|
75
|
-
clio-coder panes install
|
|
77
|
+
clio-coder panes install|theme install the pane multiplexer (alias for 'tools install herdr'), or print Clio's theme as a herdr block
|
|
76
78
|
clio-coder docs [topic] serve the HTML docs of a source checkout on 127.0.0.1 (--no-open to skip browser)
|
|
77
79
|
clio-coder dev <command> harness instruments; run 'clio-coder dev' for the list
|
|
78
80
|
clio-coder --help, -h this message
|
|
@@ -9,7 +9,7 @@
|
|
|
9
9
|
* operator cancel.
|
|
10
10
|
*/
|
|
11
11
|
|
|
12
|
-
import {
|
|
12
|
+
import { resolveGuardrail } from "../core/guardrails.js";
|
|
13
13
|
import type { DispatchContract } from "../domains/dispatch/contract.js";
|
|
14
14
|
|
|
15
15
|
export interface InternalDispatchDeadline {
|
|
@@ -25,10 +25,9 @@ export function armInternalDispatchDeadline(
|
|
|
25
25
|
dispatch: DispatchContract,
|
|
26
26
|
runId: string,
|
|
27
27
|
label: string,
|
|
28
|
-
env: NodeJS.ProcessEnv = process.env,
|
|
29
28
|
maxTimeoutMs?: number,
|
|
30
29
|
): InternalDispatchDeadline {
|
|
31
|
-
const configuredTimeoutMs = resolveGuardrail("internalDispatchTimeoutMs"
|
|
30
|
+
const configuredTimeoutMs = resolveGuardrail("internalDispatchTimeoutMs");
|
|
32
31
|
const timeoutMs =
|
|
33
32
|
maxTimeoutMs === undefined ? configuredTimeoutMs : Math.min(configuredTimeoutMs, Math.max(1, maxTimeoutMs));
|
|
34
33
|
const productCapped = timeoutMs < configuredTimeoutMs;
|
|
@@ -50,6 +49,6 @@ export function armInternalDispatchDeadline(
|
|
|
50
49
|
productCapped
|
|
51
50
|
? `${label} exceeded its ${Math.round(timeoutMs / 1000)}s latency ceiling and was aborted.`
|
|
52
51
|
: `${label} timed out after ${Math.round(timeoutMs / 1000)}s and was aborted. ` +
|
|
53
|
-
|
|
52
|
+
"Raise fleet.limits.internalRunTimeoutMs for slower targets.",
|
|
54
53
|
};
|
|
55
54
|
}
|