@iowarp/clio-coder 0.4.1 → 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 +92 -0
- package/CONTRIBUTING.md +59 -36
- package/README.md +404 -472
- package/SECURITY.md +2 -1
- package/dist/{acp-ZILU3AUO.js → acp-TMDQZDIG.js} +7 -7
- package/dist/{agents-HYWGBGQR.js → agents-5N5NG3XG.js} +28 -28
- package/dist/assets/codewiki.json +1 -1
- package/dist/{auth-N3QT7CBO.js → auth-Z5CCBXKQ.js} +8 -9
- package/dist/{builtins-UJLMOVOV.js → builtins-K6TNDT24.js} +4 -4
- package/dist/{chunk-GVQJ5CCZ.js → chunk-2HFQNRV3.js} +7 -7
- package/dist/{chunk-QMXC4JB7.js → chunk-2NHR3NAY.js} +163 -1401
- package/dist/chunk-2X4RYJTJ.js +39 -0
- package/dist/{chunk-Y45G3AXC.js → chunk-2Z2IKEXI.js} +6 -10
- package/dist/{chunk-EIMVLWB3.js → chunk-34BHNEE3.js} +7 -3
- package/dist/{chunk-GIZNH63R.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-AP73CFDC.js → chunk-3KIPBMUA.js} +2 -2
- package/dist/{chunk-J5LZHVIT.js → chunk-3M6DQK6S.js} +113 -35
- package/dist/{chunk-VEGN6WIQ.js → chunk-462T4EGZ.js} +2 -2
- package/dist/{chunk-AFKWHWXF.js → chunk-4JDLP6ZS.js} +33 -16
- package/dist/{chunk-6FN3E6KX.js → chunk-4O6MANBS.js} +2 -2
- package/dist/{chunk-AKB4GYDL.js → chunk-54ODD65L.js} +5 -5
- package/dist/{chunk-BBTJOK6Y.js → chunk-5KW52TEP.js} +3 -3
- package/dist/{chunk-6CCS4G3W.js → chunk-5PFYMY2V.js} +2 -2
- package/dist/chunk-77QIVUZB.js +1334 -0
- package/dist/{chunk-7OBGU7UB.js → chunk-7BHIY2MW.js} +7 -13
- package/dist/{chunk-3QSOM6PA.js → chunk-AZ4WMN4W.js} +2 -2
- package/dist/{chunk-6NJQITNH.js → chunk-B74PXLU7.js} +6 -3
- package/dist/{chunk-R23Z6K6I.js → chunk-B7HM5Z7T.js} +15 -15
- package/dist/{chunk-R32CLGZ6.js → chunk-BO7Y52RY.js} +81 -20
- package/dist/{chunk-UEDMSP56.js → chunk-BYMNWQ7O.js} +123 -148
- package/dist/{chunk-ZJLUDYFY.js → chunk-CRFOIAX3.js} +4 -4
- package/dist/{chunk-2NM363SV.js → chunk-CYZW7JHJ.js} +7 -7
- package/dist/{chunk-6HMJX2VU.js → chunk-DYHAXKHD.js} +38 -10
- package/dist/{chunk-THYWACCR.js → chunk-DZAW46HP.js} +3 -3
- package/dist/{chunk-FYUN5KZ3.js → chunk-DZEK6CJN.js} +17 -17
- package/dist/{chunk-3I5NY75V.js → chunk-E7GT7O5N.js} +5 -5
- package/dist/{chunk-VKFQTNDV.js → chunk-F2I26BDK.js} +4 -4
- package/dist/{chunk-HLW2MRKE.js → chunk-F4EKGO4N.js} +3 -1
- package/dist/{chunk-IXJT6DCX.js → chunk-FVDGR2ZL.js} +3 -3
- package/dist/{chunk-TZSKNMZG.js → chunk-GTUD2WMY.js} +2 -1
- package/dist/{chunk-7EPLI7VL.js → chunk-HIICAHCJ.js} +2 -2
- package/dist/{chunk-E67WX76H.js → chunk-HKMD33FO.js} +29 -80
- package/dist/chunk-HLAFFSEK.js +360 -0
- package/dist/{chunk-UAPGZHYC.js → chunk-I64IFBLB.js} +9 -2
- package/dist/{chunk-XKA2ICR3.js → chunk-I66ZTYNP.js} +440 -175
- package/dist/{chunk-7PWAODYW.js → chunk-I7XBWTYH.js} +2 -2
- package/dist/{chunk-PVAMAVBB.js → chunk-IDNA72AH.js} +102 -2
- package/dist/{chunk-GCSMB2KY.js → chunk-IKOZFYBN.js} +1 -1
- package/dist/{chunk-2VG7KLYV.js → chunk-IKSLQ4XV.js} +5460 -3241
- package/dist/{chunk-QKIFBZKT.js → chunk-IMXMHHMQ.js} +166 -25
- package/dist/{chunk-74YWRRU5.js → chunk-JBCS7CRR.js} +2 -2
- package/dist/{chunk-BDPT6GTK.js → chunk-JWJGP5DQ.js} +2 -2
- package/dist/{chunk-K6BF4U2H.js → chunk-KKOJXO6R.js} +62 -14
- package/dist/chunk-KPXDY6QF.js +47 -0
- package/dist/{chunk-ABLSQ6JX.js → chunk-LJID3DYZ.js} +7 -1
- package/dist/{chunk-VKRH2TCS.js → chunk-M2DAX4F6.js} +2 -2
- package/dist/{chunk-6I5ILFOF.js → chunk-M2WXEHER.js} +2 -2
- package/dist/{chunk-YPI3QQCF.js → chunk-MCEPRMZW.js} +2 -4
- package/dist/{chunk-N5UK64DP.js → chunk-MCMZMDAC.js} +2 -2
- package/dist/{chunk-Y4CAGMM6.js → chunk-MNJGS2IN.js} +5 -6
- package/dist/{chunk-TVHHYFHE.js → chunk-NEDJ26B5.js} +2 -2
- package/dist/{chunk-U2WB7TZS.js → chunk-NMJXSHBJ.js} +97 -85
- package/dist/{chunk-HUAS7ITX.js → chunk-O3YUNJZ2.js} +13 -21
- package/dist/{chunk-MA3H6DM5.js → chunk-P75RZCJW.js} +25 -3
- package/dist/{chunk-IG7BCQBA.js → chunk-PGF63K6I.js} +2 -2
- package/dist/chunk-PJX3WQUQ.js +42 -0
- package/dist/{chunk-6DWBAZ5U.js → chunk-Q4XWMHX6.js} +4 -6
- package/dist/{chunk-OJTRZGR3.js → chunk-QQLGQY2A.js} +8 -8
- package/dist/{chunk-J4HBWF6Y.js → chunk-RLYRBIYQ.js} +115 -20
- package/dist/{chunk-NLFAQR7Z.js → chunk-S66XZJOF.js} +3 -23
- package/dist/{chunk-C537JADH.js → chunk-SSEYRH53.js} +6 -7
- package/dist/chunk-SZAA6XDG.js +30 -0
- package/dist/{chunk-MOPSG2X7.js → chunk-TPEQIQIE.js} +6 -6
- package/dist/{chunk-JA5QWE4Z.js → chunk-UBRFI4HS.js} +1879 -1650
- package/dist/{chunk-BTGG6BG2.js → chunk-UH347SHR.js} +154 -15
- package/dist/{chunk-5YHDIDBP.js → chunk-UH632ZYL.js} +2 -2
- package/dist/{chunk-BWW4HLO4.js → chunk-UXCU4E3T.js} +8 -6
- package/dist/{chunk-6VC4OV3Z.js → chunk-VIA6RFQZ.js} +3 -11
- package/dist/{chunk-ZAZB4JMW.js → chunk-VKPAQYEB.js} +27 -8
- package/dist/{chunk-UXN6JT4W.js → chunk-W4YEMFBX.js} +2 -2
- package/dist/{chunk-TD3PGPQA.js → chunk-W6NIE6OW.js} +2 -2
- package/dist/{chunk-TVH4ONAM.js → chunk-X7IARSHT.js} +3 -3
- package/dist/{chunk-PJJ6MY27.js → chunk-XE3PCIXH.js} +3 -3
- package/dist/{chunk-FEFIFZTL.js → chunk-XGDPUNND.js} +2 -2
- package/dist/{chunk-SCYB3HA4.js → chunk-XOXV5GKE.js} +51 -16
- package/dist/{chunk-QTFGO774.js → chunk-XQRY4DTA.js} +24 -11
- package/dist/{chunk-BJGUKIG4.js → chunk-YJISEZKC.js} +2 -2
- package/dist/{chunk-GPPB3JBE.js → chunk-ZGNYYXQ6.js} +2 -2
- package/dist/{chunk-SINK3QR6.js → chunk-ZNT2M6TG.js} +7 -7
- package/dist/{chunk-7RY5VZPH.js → chunk-ZW4HH5JJ.js} +6 -6
- package/dist/cli/index.js +33 -32
- package/dist/{clio-IT3G3VQH.js → clio-7VB377CC.js} +7 -7
- package/dist/{code-nav-RK6S7F6E.js → code-nav-YVLCYA7V.js} +85 -17
- package/dist/{config-3QZRWZJF.js → config-4HVOS65E.js} +88 -43
- package/dist/{configure-FL7Y3KJF.js → configure-PIWO7B24.js} +10 -10
- package/dist/{context-5HE7ODYK.js → context-IYEHL3WQ.js} +33 -31
- package/dist/{context-XNHL75JV.js → context-KQYIWPWT.js} +47 -34
- package/dist/{context-KYQFRVDC.js → context-N6ZE3LGJ.js} +11 -11
- package/dist/{context-clear-N545L53A.js → context-clear-G4OGZJDS.js} +33 -31
- package/dist/{context-working-set-QHKXSV2F.js → context-working-set-BWLF6LJP.js} +7 -7
- package/dist/{dispatch-runner-RGIE5PCT.js → dispatch-runner-2QQAITS3.js} +38 -38
- package/dist/{docs-5NAF6AU7.js → docs-PD3EXDKU.js} +21 -20
- package/dist/{doctor-ZGPEGHIP.js → doctor-LHBD36VU.js} +23 -22
- package/dist/{eval-GXLL44RD.js → eval-C45FYRJ6.js} +21 -20
- package/dist/{eval-inventory-HBWSWQOK.js → eval-inventory-6DEJPLBF.js} +2 -2
- package/dist/{evidence-HWLBRH3Q.js → evidence-6SHONYAF.js} +30 -28
- package/dist/{evolve-FTZBMNVW.js → evolve-KRKMV72X.js} +30 -28
- package/dist/{extensions-VHRBEID7.js → extensions-KPZ2UHBB.js} +5 -3
- package/dist/{fleet-CKZHJWZJ.js → fleet-IVTCKDHT.js} +62 -61
- package/dist/{fleet-commands-EXDXBMV6.js → fleet-commands-EDWL3IT7.js} +5 -5
- package/dist/{fleet-decisions-OTHB6KRL.js → fleet-decisions-YP3YEFGK.js} +4 -4
- package/dist/{fleet-graph-YTEZUCUT.js → fleet-graph-ZFWKHY2M.js} +16 -14
- package/dist/{fleet-inspect-SS6YMDCK.js → fleet-inspect-FVUNCBML.js} +31 -29
- package/dist/{fleet-preflight-PBY4VYOM.js → fleet-preflight-UN5XED4R.js} +2 -2
- package/dist/{fleet-validate-KMEM5L3S.js → fleet-validate-XOWC4HSX.js} +17 -15
- package/dist/{fleet-verify-QD5M7E7Q.js → fleet-verify-UN3SODEL.js} +30 -28
- package/dist/{fleet-view-WAMJYNDT.js → fleet-view-TWHJKCN6.js} +31 -29
- package/dist/{init-5XQRBOFV.js → init-T2QORQ3Y.js} +50 -49
- package/dist/{interop-34TVO25M.js → interop-IN5I2A66.js} +5 -5
- package/dist/{library-3QY6KF57.js → library-LSCATDLZ.js} +15 -13
- package/dist/{memory-L4UTIIIW.js → memory-HYOKAGGJ.js} +31 -29
- package/dist/{models-ZVX3QOWE.js → models-2GPMFYCM.js} +22 -21
- package/dist/{monitor-CEKVSYTS.js → monitor-E4ASVUJH.js} +34 -32
- package/dist/{orchestrator-77BAP6BC.js → orchestrator-DDMPR3PY.js} +984 -583
- package/dist/{panes-7STHOAUJ.js → panes-E3RUXOW5.js} +4 -4
- package/dist/{panes-SHAUIRXY.js → panes-IXKLOKA2.js} +23 -8
- package/dist/{reset-EOLM7GVE.js → reset-OAQP3W4O.js} +4 -4
- package/dist/{resources-74GKTLSF.js → resources-OTRSN34L.js} +15 -13
- package/dist/{run-HBAUJNNZ.js → run-5DEYH5QK.js} +60 -59
- package/dist/{share-G3APVLVP.js → share-IHWTLO3M.js} +19 -15
- package/dist/{skills-35HHUKCR.js → skills-IYMXMKW4.js} +17 -15
- package/dist/{skills-eval-QN4HSHDC.js → skills-eval-DROHSJAR.js} +36 -36
- package/dist/{skills-inventory-J357J34F.js → skills-inventory-D7X4L4ZX.js} +15 -13
- package/dist/{slash-commands-JZZCQA32.js → slash-commands-QBM7UZ3B.js} +21 -18
- package/dist/{steer-XAVHJM22.js → steer-Z5DO23FJ.js} +2 -2
- package/dist/{targets-DSM6CY3M.js → targets-P2FUC4IL.js} +25 -28
- package/dist/{terminal-lease-JOPFUVEM.js → terminal-lease-YREJ3JX2.js} +5 -5
- package/dist/{tools-MKNWVPBH.js → tools-5B7RO6MV.js} +4 -4
- package/dist/{trace-ECQ7TIYZ.js → trace-YMGMUM6A.js} +55 -7
- package/dist/{upgrade-H7TOM7YL.js → upgrade-PXK3S2YM.js} +11 -9
- package/dist/{usage-X52N3IDJ.js → usage-ME5MPXGX.js} +36 -34
- package/dist/{verifiers-EJTVVSMA.js → verifiers-BVZ7IWOO.js} +5 -5
- package/dist/{verify-YJL6XET2.js → verify-5K7ZKQFC.js} +4 -4
- package/dist/{web-fetch-MPIFL3LL.js → web-fetch-MPARV2K7.js} +2 -2
- package/dist/{wiki-generate-4NDZTQ4B.js → wiki-generate-F5W5QTYY.js} +48 -47
- package/dist/{with-panes-OBOBFIIR.js → with-panes-BYOJCLAM.js} +51 -255
- package/dist/worker/entry.js +45 -30
- 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} +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} +50 -34
- package/docs/{commands-and-modes.md → guide/commands-and-modes.md} +65 -60
- package/docs/{configuration-and-targets.md → guide/configuration-and-targets.md} +227 -289
- package/docs/guide/configuration-reference.md +1158 -0
- package/docs/{environment-variables.md → guide/environment-variables.md} +31 -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} +44 -13
- 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} +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/{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} +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/package.json +9 -7
- package/skills/README.md +46 -37
- package/skills/coding/ast-grep/SKILL.md +2 -2
- package/skills/coding/coding-standards/SKILL.md +2 -2
- package/skills/coding/prototype/SKILL.md +2 -2
- package/skills/coding/tdd/SKILL.md +2 -2
- package/skills/context/context-handoff/SKILL.md +2 -2
- package/skills/context/context-prime/SKILL.md +2 -2
- package/skills/git/file-ticket/SKILL.md +2 -2
- package/skills/git/fix-issue/SKILL.md +3 -3
- package/skills/git/resolve-merge-conflicts/SKILL.md +2 -2
- package/skills/git/ship/SKILL.md +2 -2
- package/skills/git/worktree-create/SKILL.md +2 -2
- package/skills/git/worktree-merge/SKILL.md +2 -2
- 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/architecture/SKILL.md +2 -2
- package/skills/planning/backlog/SKILL.md +2 -2
- package/skills/planning/prd/SKILL.md +2 -2
- package/skills/planning/product-intent/SKILL.md +2 -2
- package/skills/planning/tech-spec/SKILL.md +2 -2
- package/skills/registry.yaml +62 -62
- package/skills/research/arxiv-literature/SKILL.md +2 -2
- package/skills/research/experiment-protocol/SKILL.md +2 -2
- package/skills/research/scientific-debugging/SKILL.md +2 -2
- package/skills/research/scientific-modernization/SKILL.md +2 -2
- package/skills/skill-marketplace.json +62 -62
- package/skills/workflow/cut-it/SKILL.md +2 -2
- package/skills/workflow/design-council/SKILL.md +2 -2
- package/skills/workflow/grill-me/SKILL.md +2 -2
- package/skills/workflow/workflow-distiller/SKILL.md +2 -2
- 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.ts +0 -4
- 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 +2 -1
- package/src/cli/internal-dispatch.ts +3 -4
- package/src/cli/panes.ts +19 -5
- package/src/cli/run.ts +2 -2
- package/src/cli/share.ts +5 -1
- package/src/cli/skills-eval.ts +3 -3
- package/src/cli/targets.ts +2 -6
- package/src/cli/trace.ts +55 -4
- 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 +5 -1
- package/src/core/defaults.ts +7 -4
- package/src/core/dispatch-outcome.ts +16 -0
- package/src/core/guardrails.ts +10 -49
- package/src/core/prompt-hint.ts +9 -0
- 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 +12 -14
- package/src/domains/agents/contract.ts +2 -0
- package/src/domains/agents/extension.ts +23 -1
- package/src/domains/config/keybindings.ts +8 -0
- package/src/domains/context/extension.ts +0 -3
- package/src/domains/context/working-set/path-index.ts +1 -0
- package/src/domains/dispatch/capability-match.ts +10 -0
- package/src/domains/dispatch/extension.ts +105 -22
- 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 +55 -3
- package/src/domains/eval/artifacts/store.ts +5 -0
- package/src/domains/eval/store.ts +8 -1
- 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/lifecycle/migrations/2026-09-01-extension-install-digests.ts +27 -0
- package/src/domains/lifecycle/migrations/index.ts +2 -0
- package/src/domains/lifecycle/naming-resources.ts +19 -4
- package/src/domains/lifecycle/naming-yazi.ts +10 -5
- 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 -4
- package/src/domains/middleware/registrations.ts +326 -0
- package/src/domains/middleware/runtime.ts +28 -0
- 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/contract.ts +10 -11
- package/src/domains/observability/extension.ts +11 -3
- 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/index.ts +1 -1
- package/src/domains/providers/model-runtime-capabilities.ts +85 -21
- package/src/domains/providers/models/local-models/clio-coder-local-coding-targets.yaml +669 -104
- package/src/domains/providers/runtime-resolution.ts +31 -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/types/cost-provenance.ts +19 -0
- package/src/domains/providers/types/local-model-quirks.ts +85 -37
- package/src/domains/resources/skills/loader.ts +16 -19
- package/src/domains/safety/call-target.ts +1 -1
- package/src/domains/safety/loop-detector.ts +7 -4
- package/src/domains/session/task-board.ts +10 -9
- package/src/domains/share/archive.ts +164 -7
- package/src/engine/acp/server.ts +62 -9
- 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 +28 -25
- package/src/engine/apis/output-budget.ts +8 -18
- package/src/engine/apis/residency.ts +8 -27
- 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/extension-hook-sources.ts +28 -0
- package/src/entry/extension-reload.ts +309 -0
- package/src/entry/orchestrator.ts +59 -35
- package/src/interactive/application-controller.ts +2 -1
- package/src/interactive/bus-notices.ts +8 -1
- package/src/interactive/chat-loop-messages.ts +3 -13
- package/src/interactive/chat-loop.ts +10 -1
- package/src/interactive/chat-panel.ts +36 -13
- package/src/interactive/chat-renderer.ts +71 -7
- 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 +2 -0
- 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/slash-commands.ts +129 -14
- package/src/interactive/stream-pacing-policy.ts +0 -23
- package/src/interactive/turn-context.ts +30 -15
- 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 +29 -12
- package/src/tools/core-bootstrap.ts +28 -6
- package/src/tools/credential-present.ts +1 -2
- package/src/tools/dispatch-arguments.ts +5 -1
- package/src/tools/dispatch-plan.ts +48 -4
- package/src/tools/dispatch-run-events.ts +1 -1
- 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 +30 -7
- 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/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/docs/artifact-versions.md +0 -67
- package/docs/documentation-coverage.md +0 -46
- package/docs/documentation-guide.md +0 -167
- package/docs/time-conventions.md +0 -101
|
@@ -19,8 +19,94 @@ init_esm_shims();
|
|
|
19
19
|
import { spawn } from "node:child_process";
|
|
20
20
|
import { StringDecoder } from "node:string_decoder";
|
|
21
21
|
var BASH_HARD_CAP_BYTES = 16 * 1024 * 1024;
|
|
22
|
-
var CLIO_CONTROL_ENV_KEYS = ["CLIO_CODER_INTERACTIVE"
|
|
22
|
+
var CLIO_CONTROL_ENV_KEYS = ["CLIO_CODER_INTERACTIVE"];
|
|
23
23
|
var BASH_UPDATE_THROTTLE_MS = 100;
|
|
24
|
+
var SYSTEM_PROGRESS_SCHEDULER = {
|
|
25
|
+
now: Date.now,
|
|
26
|
+
setTimeout: (callback, delayMs) => setTimeout(callback, delayMs),
|
|
27
|
+
clearTimeout: (timer) => clearTimeout(timer)
|
|
28
|
+
};
|
|
29
|
+
function createBashOutputProgressController(onUpdate, scheduler = SYSTEM_PROGRESS_SCHEDULER) {
|
|
30
|
+
let phase = "active";
|
|
31
|
+
let stdout = "";
|
|
32
|
+
let stderr = "";
|
|
33
|
+
const stdoutDecoder = new StringDecoder("utf8");
|
|
34
|
+
const stderrDecoder = new StringDecoder("utf8");
|
|
35
|
+
let decodersFinished = false;
|
|
36
|
+
let outputBytes = 0;
|
|
37
|
+
let outputCapped = false;
|
|
38
|
+
let updateTimer = null;
|
|
39
|
+
let updateDirty = false;
|
|
40
|
+
let lastUpdateAt = 0;
|
|
41
|
+
const snapshot = () => ({ stdout, stderr, outputBytes });
|
|
42
|
+
const finishDecoders = () => {
|
|
43
|
+
if (decodersFinished) return;
|
|
44
|
+
decodersFinished = true;
|
|
45
|
+
if (outputCapped) return;
|
|
46
|
+
stdout += stdoutDecoder.end();
|
|
47
|
+
stderr += stderrDecoder.end();
|
|
48
|
+
};
|
|
49
|
+
const emitUpdate = (final = false) => {
|
|
50
|
+
if (onUpdate === void 0 || !updateDirty) return;
|
|
51
|
+
if (phase !== "active" && !(final && phase === "settling")) return;
|
|
52
|
+
updateDirty = false;
|
|
53
|
+
lastUpdateAt = scheduler.now();
|
|
54
|
+
try {
|
|
55
|
+
onUpdate(snapshot());
|
|
56
|
+
} catch {
|
|
57
|
+
}
|
|
58
|
+
};
|
|
59
|
+
const clearUpdateTimer = () => {
|
|
60
|
+
if (updateTimer === null) return;
|
|
61
|
+
scheduler.clearTimeout(updateTimer);
|
|
62
|
+
updateTimer = null;
|
|
63
|
+
};
|
|
64
|
+
const scheduleUpdate = () => {
|
|
65
|
+
if (onUpdate === void 0 || phase !== "active") return;
|
|
66
|
+
updateDirty = true;
|
|
67
|
+
const delay = BASH_UPDATE_THROTTLE_MS - (scheduler.now() - lastUpdateAt);
|
|
68
|
+
if (delay <= 0) {
|
|
69
|
+
clearUpdateTimer();
|
|
70
|
+
emitUpdate();
|
|
71
|
+
return;
|
|
72
|
+
}
|
|
73
|
+
updateTimer ??= scheduler.setTimeout(() => {
|
|
74
|
+
updateTimer = null;
|
|
75
|
+
emitUpdate();
|
|
76
|
+
}, delay);
|
|
77
|
+
};
|
|
78
|
+
return {
|
|
79
|
+
start() {
|
|
80
|
+
if (phase !== "active" || onUpdate === void 0) return;
|
|
81
|
+
updateDirty = true;
|
|
82
|
+
emitUpdate();
|
|
83
|
+
},
|
|
84
|
+
append(target, chunk) {
|
|
85
|
+
if (phase !== "active" || outputCapped) return false;
|
|
86
|
+
const remaining = BASH_HARD_CAP_BYTES - outputBytes;
|
|
87
|
+
const accepted = chunk.byteLength <= remaining ? chunk : chunk.subarray(0, Math.max(0, remaining));
|
|
88
|
+
outputBytes += accepted.byteLength;
|
|
89
|
+
if (accepted.byteLength > 0) {
|
|
90
|
+
const decoded = target === "stdout" ? stdoutDecoder.write(accepted) : stderrDecoder.write(accepted);
|
|
91
|
+
if (target === "stdout") stdout += decoded;
|
|
92
|
+
else stderr += decoded;
|
|
93
|
+
}
|
|
94
|
+
if (accepted.byteLength < chunk.byteLength) outputCapped = true;
|
|
95
|
+
scheduleUpdate();
|
|
96
|
+
return outputCapped;
|
|
97
|
+
},
|
|
98
|
+
settle() {
|
|
99
|
+
if (phase === "settled") return { ...snapshot(), outputCapped };
|
|
100
|
+
if (phase === "settling") return { ...snapshot(), outputCapped };
|
|
101
|
+
phase = "settling";
|
|
102
|
+
clearUpdateTimer();
|
|
103
|
+
finishDecoders();
|
|
104
|
+
emitUpdate(true);
|
|
105
|
+
phase = "settled";
|
|
106
|
+
return { ...snapshot(), outputCapped };
|
|
107
|
+
}
|
|
108
|
+
};
|
|
109
|
+
}
|
|
24
110
|
function buildToolEnv() {
|
|
25
111
|
const env = { ...process.env };
|
|
26
112
|
env.AI_AGENT = AI_AGENT_NAME;
|
|
@@ -96,65 +182,14 @@ async function runBashCommand(command, options = {}) {
|
|
|
96
182
|
let timeoutId = null;
|
|
97
183
|
let killGraceTimer = null;
|
|
98
184
|
let killSent = false;
|
|
99
|
-
|
|
100
|
-
let stderr = "";
|
|
101
|
-
const stdoutDecoder = new StringDecoder("utf8");
|
|
102
|
-
const stderrDecoder = new StringDecoder("utf8");
|
|
103
|
-
let decodersFinished = false;
|
|
104
|
-
let outputBytes = 0;
|
|
105
|
-
let outputCapped = false;
|
|
106
|
-
let updateTimer = null;
|
|
107
|
-
let updateDirty = false;
|
|
108
|
-
let lastUpdateAt = 0;
|
|
185
|
+
const output = createBashOutputProgressController(options.onUpdate);
|
|
109
186
|
const child = spawn("/bin/bash", [plan.mode, command], {
|
|
110
187
|
...options.cwd === void 0 ? {} : { cwd: options.cwd },
|
|
111
188
|
env: attribution.env,
|
|
112
189
|
detached: process.platform !== "win32",
|
|
113
190
|
stdio: ["ignore", "pipe", "pipe"]
|
|
114
191
|
});
|
|
115
|
-
|
|
116
|
-
if (decodersFinished) return;
|
|
117
|
-
decodersFinished = true;
|
|
118
|
-
if (outputCapped) return;
|
|
119
|
-
stdout += stdoutDecoder.end();
|
|
120
|
-
stderr += stderrDecoder.end();
|
|
121
|
-
};
|
|
122
|
-
const emitUpdate = () => {
|
|
123
|
-
if (options.onUpdate === void 0 || !updateDirty) return;
|
|
124
|
-
updateDirty = false;
|
|
125
|
-
lastUpdateAt = Date.now();
|
|
126
|
-
try {
|
|
127
|
-
options.onUpdate({ stdout, stderr, outputBytes: Math.min(outputBytes, BASH_HARD_CAP_BYTES) });
|
|
128
|
-
} catch {
|
|
129
|
-
}
|
|
130
|
-
};
|
|
131
|
-
const clearUpdateTimer = () => {
|
|
132
|
-
if (updateTimer === null) return;
|
|
133
|
-
clearTimeout(updateTimer);
|
|
134
|
-
updateTimer = null;
|
|
135
|
-
};
|
|
136
|
-
const scheduleUpdate = () => {
|
|
137
|
-
if (options.onUpdate === void 0) return;
|
|
138
|
-
updateDirty = true;
|
|
139
|
-
const delay = BASH_UPDATE_THROTTLE_MS - (Date.now() - lastUpdateAt);
|
|
140
|
-
if (delay <= 0) {
|
|
141
|
-
clearUpdateTimer();
|
|
142
|
-
emitUpdate();
|
|
143
|
-
return;
|
|
144
|
-
}
|
|
145
|
-
updateTimer ??= setTimeout(() => {
|
|
146
|
-
updateTimer = null;
|
|
147
|
-
emitUpdate();
|
|
148
|
-
}, delay);
|
|
149
|
-
};
|
|
150
|
-
const finishUpdates = () => {
|
|
151
|
-
clearUpdateTimer();
|
|
152
|
-
emitUpdate();
|
|
153
|
-
};
|
|
154
|
-
if (options.onUpdate !== void 0) {
|
|
155
|
-
updateDirty = true;
|
|
156
|
-
emitUpdate();
|
|
157
|
-
}
|
|
192
|
+
output.start();
|
|
158
193
|
const clearKillGraceTimer = () => {
|
|
159
194
|
if (!killGraceTimer) return;
|
|
160
195
|
clearTimeout(killGraceTimer);
|
|
@@ -195,22 +230,7 @@ async function runBashCommand(command, options = {}) {
|
|
|
195
230
|
options.signal?.addEventListener("abort", onAbort, { once: true });
|
|
196
231
|
}
|
|
197
232
|
const appendChunk = (target, chunk) => {
|
|
198
|
-
if (
|
|
199
|
-
const remaining = BASH_HARD_CAP_BYTES - outputBytes;
|
|
200
|
-
const accepted = chunk.byteLength <= remaining ? chunk : chunk.subarray(0, Math.max(0, remaining));
|
|
201
|
-
outputBytes += accepted.byteLength;
|
|
202
|
-
if (accepted.byteLength > 0) {
|
|
203
|
-
const decoded = target === "stdout" ? stdoutDecoder.write(accepted) : stderrDecoder.write(accepted);
|
|
204
|
-
if (target === "stdout") stdout += decoded;
|
|
205
|
-
else stderr += decoded;
|
|
206
|
-
}
|
|
207
|
-
if (accepted.byteLength < chunk.byteLength) {
|
|
208
|
-
outputCapped = true;
|
|
209
|
-
scheduleUpdate();
|
|
210
|
-
killChild();
|
|
211
|
-
return;
|
|
212
|
-
}
|
|
213
|
-
scheduleUpdate();
|
|
233
|
+
if (output.append(target, chunk)) killChild();
|
|
214
234
|
};
|
|
215
235
|
child.stdout?.on("data", (chunk) => appendChunk("stdout", chunk));
|
|
216
236
|
child.stderr?.on("data", (chunk) => appendChunk("stderr", chunk));
|
|
@@ -219,19 +239,15 @@ async function runBashCommand(command, options = {}) {
|
|
|
219
239
|
settled = true;
|
|
220
240
|
if (timeoutId) clearTimeout(timeoutId);
|
|
221
241
|
clearKillGraceTimer();
|
|
222
|
-
|
|
223
|
-
finishUpdates();
|
|
242
|
+
const finalOutput = output.settle();
|
|
224
243
|
options.signal?.removeEventListener("abort", onAbort);
|
|
225
244
|
resolve({
|
|
226
245
|
error,
|
|
227
|
-
|
|
228
|
-
stderr,
|
|
246
|
+
...finalOutput,
|
|
229
247
|
exitCode: null,
|
|
230
248
|
signal: null,
|
|
231
249
|
aborted,
|
|
232
|
-
timedOut
|
|
233
|
-
outputCapped,
|
|
234
|
-
outputBytes
|
|
250
|
+
timedOut
|
|
235
251
|
});
|
|
236
252
|
});
|
|
237
253
|
child.on("close", (code, signalName) => {
|
|
@@ -239,8 +255,7 @@ async function runBashCommand(command, options = {}) {
|
|
|
239
255
|
settled = true;
|
|
240
256
|
if (timeoutId) clearTimeout(timeoutId);
|
|
241
257
|
clearKillGraceTimer();
|
|
242
|
-
|
|
243
|
-
finishUpdates();
|
|
258
|
+
const finalOutput = output.settle();
|
|
244
259
|
options.signal?.removeEventListener("abort", onAbort);
|
|
245
260
|
const error = code === 0 && signalName === null ? null : {
|
|
246
261
|
name: "Error",
|
|
@@ -250,14 +265,11 @@ async function runBashCommand(command, options = {}) {
|
|
|
250
265
|
};
|
|
251
266
|
resolve({
|
|
252
267
|
error,
|
|
253
|
-
|
|
254
|
-
stderr,
|
|
268
|
+
...finalOutput,
|
|
255
269
|
exitCode: code,
|
|
256
270
|
signal: signalName,
|
|
257
271
|
aborted,
|
|
258
|
-
timedOut
|
|
259
|
-
outputCapped,
|
|
260
|
-
outputBytes
|
|
272
|
+
timedOut
|
|
261
273
|
});
|
|
262
274
|
});
|
|
263
275
|
});
|
|
@@ -268,4 +280,4 @@ export {
|
|
|
268
280
|
combineBashOutput,
|
|
269
281
|
runBashCommand
|
|
270
282
|
};
|
|
271
|
-
//# sourceMappingURL=chunk-
|
|
283
|
+
//# sourceMappingURL=chunk-NMJXSHBJ.js.map
|
|
@@ -8,10 +8,10 @@ import {
|
|
|
8
8
|
readRootEntries,
|
|
9
9
|
splitYamlFrontmatter,
|
|
10
10
|
stringField
|
|
11
|
-
} from "./chunk-
|
|
11
|
+
} from "./chunk-XGDPUNND.js";
|
|
12
12
|
import {
|
|
13
13
|
enabledExtensionResourceRoots
|
|
14
|
-
} from "./chunk-
|
|
14
|
+
} from "./chunk-HLAFFSEK.js";
|
|
15
15
|
import {
|
|
16
16
|
ToolNames
|
|
17
17
|
} from "./chunk-K6BSR66V.js";
|
|
@@ -282,19 +282,8 @@ function defaultPrecedenceForScope(scope) {
|
|
|
282
282
|
return SKILL_PRECEDENCE.cli;
|
|
283
283
|
}
|
|
284
284
|
}
|
|
285
|
-
var warnedLegacyProjectTrustEnv = false;
|
|
286
285
|
function projectCompatTrusted(explicit) {
|
|
287
|
-
|
|
288
|
-
if (process.env.CLIO_CODER_TRUST_PROJECT_RESOURCES === "1") return true;
|
|
289
|
-
if (process.env.CLIO_CODER_TRUST_PROJECT_SKILLS !== "1") return false;
|
|
290
|
-
if (!warnedLegacyProjectTrustEnv) {
|
|
291
|
-
warnedLegacyProjectTrustEnv = true;
|
|
292
|
-
process.emitWarning("CLIO_CODER_TRUST_PROJECT_SKILLS is deprecated; use CLIO_CODER_TRUST_PROJECT_RESOURCES instead", {
|
|
293
|
-
code: "CLIO_CODER_DEPRECATED_ENV",
|
|
294
|
-
type: "DeprecationWarning"
|
|
295
|
-
});
|
|
296
|
-
}
|
|
297
|
-
return true;
|
|
286
|
+
return explicit === true;
|
|
298
287
|
}
|
|
299
288
|
function defaultSkillRoots(input = {}) {
|
|
300
289
|
const cwd = input.cwd ?? process.cwd();
|
|
@@ -441,7 +430,10 @@ function validateDescription(description) {
|
|
|
441
430
|
}
|
|
442
431
|
return [];
|
|
443
432
|
}
|
|
444
|
-
function
|
|
433
|
+
function warnLegacySkillMetadata(filePath) {
|
|
434
|
+
warnLegacyNaming(`clio: skill metadata in ${filePath}`, "clio-coder: skill metadata");
|
|
435
|
+
}
|
|
436
|
+
function extractMetadata(frontmatter, filePath) {
|
|
445
437
|
const metadata = {};
|
|
446
438
|
for (const [key, value] of Object.entries(frontmatter)) {
|
|
447
439
|
if (CORE_FRONTMATTER_KEYS.has(key)) continue;
|
|
@@ -450,7 +442,7 @@ function extractMetadata(frontmatter) {
|
|
|
450
442
|
continue;
|
|
451
443
|
}
|
|
452
444
|
if (key === "clio") {
|
|
453
|
-
|
|
445
|
+
warnLegacySkillMetadata(filePath);
|
|
454
446
|
if (!("clio-coder" in frontmatter)) metadata.clioCoder = value;
|
|
455
447
|
continue;
|
|
456
448
|
}
|
|
@@ -458,10 +450,10 @@ function extractMetadata(frontmatter) {
|
|
|
458
450
|
}
|
|
459
451
|
return metadata;
|
|
460
452
|
}
|
|
461
|
-
function extractProvenance(frontmatter) {
|
|
453
|
+
function extractProvenance(frontmatter, filePath) {
|
|
462
454
|
const canonicalRaw = frontmatter["clio-coder"];
|
|
463
455
|
const legacyRaw = frontmatter.clio;
|
|
464
|
-
if (legacyRaw !== void 0)
|
|
456
|
+
if (legacyRaw !== void 0) warnLegacySkillMetadata(filePath);
|
|
465
457
|
const clioCoderRaw = canonicalRaw ?? legacyRaw;
|
|
466
458
|
const clioCoder = clioCoderRaw !== null && typeof clioCoderRaw === "object" && !Array.isArray(clioCoderRaw) ? clioCoderRaw : void 0;
|
|
467
459
|
const field = (...keys) => {
|
|
@@ -601,7 +593,7 @@ function loadSkillFile(filePath, root) {
|
|
|
601
593
|
scope,
|
|
602
594
|
...root.origin ? { source: root.origin } : {}
|
|
603
595
|
};
|
|
604
|
-
const provenance = extractProvenance(parsed.frontmatter);
|
|
596
|
+
const provenance = extractProvenance(parsed.frontmatter, filePath);
|
|
605
597
|
const allowedTools = declaredToolSurface(parsed.frontmatter, "allowed-tools", filePath, diagnostics);
|
|
606
598
|
const disallowedTools = declaredToolSurface(parsed.frontmatter, "disallowed-tools", filePath, diagnostics);
|
|
607
599
|
const skill = {
|
|
@@ -621,7 +613,7 @@ function loadSkillFile(filePath, root) {
|
|
|
621
613
|
pathSubject,
|
|
622
614
|
trusted: root.trusted ?? true,
|
|
623
615
|
precedence: root.precedence ?? defaultPrecedenceForScope(scope),
|
|
624
|
-
metadata: extractMetadata(parsed.frontmatter),
|
|
616
|
+
metadata: extractMetadata(parsed.frontmatter, filePath),
|
|
625
617
|
diagnostics,
|
|
626
618
|
...provenance ? { provenance } : {}
|
|
627
619
|
};
|
|
@@ -1205,4 +1197,4 @@ export {
|
|
|
1205
1197
|
expandSkillInvocationInput,
|
|
1206
1198
|
parsePendingSkillRequests
|
|
1207
1199
|
};
|
|
1208
|
-
//# sourceMappingURL=chunk-
|
|
1200
|
+
//# sourceMappingURL=chunk-O3YUNJZ2.js.map
|
|
@@ -1,13 +1,16 @@
|
|
|
1
1
|
import { createRequire as __clioCreateRequire } from "node:module"; const require = __clioCreateRequire(import.meta.url);
|
|
2
2
|
import {
|
|
3
3
|
discoverAgentRecipes
|
|
4
|
-
} from "./chunk-
|
|
4
|
+
} from "./chunk-CRFOIAX3.js";
|
|
5
5
|
import {
|
|
6
6
|
assertAgentIdNamespace
|
|
7
7
|
} from "./chunk-DR52UMZW.js";
|
|
8
8
|
import {
|
|
9
9
|
normalizeAgentSpec
|
|
10
|
-
} from "./chunk-
|
|
10
|
+
} from "./chunk-PGF63K6I.js";
|
|
11
|
+
import {
|
|
12
|
+
BusChannels
|
|
13
|
+
} from "./chunk-F4EKGO4N.js";
|
|
11
14
|
import {
|
|
12
15
|
init_esm_shims
|
|
13
16
|
} from "./chunk-3R73A4XB.js";
|
|
@@ -21,6 +24,7 @@ function createAgentsBundle(_context) {
|
|
|
21
24
|
let recipes = [];
|
|
22
25
|
let specs = [];
|
|
23
26
|
let diagnostics = [];
|
|
27
|
+
let revision = 0;
|
|
24
28
|
function discover() {
|
|
25
29
|
const nextDiagnostics = [];
|
|
26
30
|
const merged = discoverAgentRecipes(process.cwd(), nextDiagnostics);
|
|
@@ -29,15 +33,33 @@ function createAgentsBundle(_context) {
|
|
|
29
33
|
recipes = merged;
|
|
30
34
|
specs = recipes.map(normalizeAgentSpec);
|
|
31
35
|
diagnostics = nextDiagnostics;
|
|
36
|
+
revision += 1;
|
|
32
37
|
}
|
|
38
|
+
let unsubscribeExtensionsReload = null;
|
|
33
39
|
const extension = {
|
|
34
40
|
async start() {
|
|
35
41
|
discover();
|
|
42
|
+
unsubscribeExtensionsReload = _context.bus.on(BusChannels.ExtensionsReloaded, (payload) => {
|
|
43
|
+
if (payload?.changed !== true) return;
|
|
44
|
+
try {
|
|
45
|
+
discover();
|
|
46
|
+
} catch (error) {
|
|
47
|
+
process.stderr.write(
|
|
48
|
+
`[clio-coder:agents] rediscovery after extension reload failed: ${error instanceof Error ? error.message : String(error)}
|
|
49
|
+
`
|
|
50
|
+
);
|
|
51
|
+
}
|
|
52
|
+
});
|
|
36
53
|
},
|
|
37
54
|
async stop() {
|
|
55
|
+
unsubscribeExtensionsReload?.();
|
|
56
|
+
unsubscribeExtensionsReload = null;
|
|
38
57
|
}
|
|
39
58
|
};
|
|
40
59
|
const contract = {
|
|
60
|
+
revision() {
|
|
61
|
+
return revision;
|
|
62
|
+
},
|
|
41
63
|
list() {
|
|
42
64
|
return recipes;
|
|
43
65
|
},
|
|
@@ -124,4 +146,4 @@ var AgentsDomainModule = {
|
|
|
124
146
|
export {
|
|
125
147
|
AgentsDomainModule
|
|
126
148
|
};
|
|
127
|
-
//# sourceMappingURL=chunk-
|
|
149
|
+
//# sourceMappingURL=chunk-P75RZCJW.js.map
|
|
@@ -3,7 +3,7 @@ import {
|
|
|
3
3
|
artifactDefaultPath,
|
|
4
4
|
extractCommandCdTargets,
|
|
5
5
|
extractCommandWriteTargets
|
|
6
|
-
} from "./chunk-
|
|
6
|
+
} from "./chunk-IKOZFYBN.js";
|
|
7
7
|
import {
|
|
8
8
|
canonicalizeExistingPath
|
|
9
9
|
} from "./chunk-ECH6PKUQ.js";
|
|
@@ -1419,4 +1419,4 @@ export {
|
|
|
1419
1419
|
parseResultContract,
|
|
1420
1420
|
parseWorkerResultContract
|
|
1421
1421
|
};
|
|
1422
|
-
//# sourceMappingURL=chunk-
|
|
1422
|
+
//# sourceMappingURL=chunk-PGF63K6I.js.map
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
import { createRequire as __clioCreateRequire } from "node:module"; const require = __clioCreateRequire(import.meta.url);
|
|
2
|
+
import {
|
|
3
|
+
typebox_exports
|
|
4
|
+
} from "./chunk-5B2AEOW5.js";
|
|
5
|
+
import {
|
|
6
|
+
ToolNames
|
|
7
|
+
} from "./chunk-K6BSR66V.js";
|
|
8
|
+
import {
|
|
9
|
+
StringEnum
|
|
10
|
+
} from "./chunk-VXMFAE2W.js";
|
|
11
|
+
import {
|
|
12
|
+
init_esm_shims
|
|
13
|
+
} from "./chunk-3R73A4XB.js";
|
|
14
|
+
|
|
15
|
+
// src/tools/monitor-surface.ts
|
|
16
|
+
init_esm_shims();
|
|
17
|
+
var monitorToolSurface = {
|
|
18
|
+
name: ToolNames.Monitor,
|
|
19
|
+
description: "Inspect dispatched runs: list enumerates them; status, peek, receipt, and tools observe one run; wait blocks on one run without collecting; collect is the terminal operation for a detached batch or run list, required before final synthesis.",
|
|
20
|
+
parameters: typebox_exports.Object({
|
|
21
|
+
run_id: typebox_exports.Optional(
|
|
22
|
+
typebox_exports.String({ description: "Run id from dispatch output or monitor list; omit with mode=list." })
|
|
23
|
+
),
|
|
24
|
+
mode: typebox_exports.Optional(
|
|
25
|
+
StringEnum(["status", "peek", "receipt", "list", "wait", "collect", "tools"], {
|
|
26
|
+
description: "Defaults to status with run_id and list without. tools lists a run's tool calls with outcomes and per-tool totals."
|
|
27
|
+
})
|
|
28
|
+
),
|
|
29
|
+
batch_id: typebox_exports.Optional(typebox_exports.String({ description: "Detached batch id (mode=collect)." })),
|
|
30
|
+
run_ids: typebox_exports.Optional(typebox_exports.Array(typebox_exports.String(), { description: "Run ids to collect (mode=collect)." })),
|
|
31
|
+
timeout_ms: typebox_exports.Optional(
|
|
32
|
+
typebox_exports.Number({ description: "mode=wait: max ms to block (default 60000, max 600000); collect never blocks." })
|
|
33
|
+
)
|
|
34
|
+
}),
|
|
35
|
+
baseActionClass: "read",
|
|
36
|
+
executionMode: "parallel"
|
|
37
|
+
};
|
|
38
|
+
|
|
39
|
+
export {
|
|
40
|
+
monitorToolSurface
|
|
41
|
+
};
|
|
42
|
+
//# sourceMappingURL=chunk-PJX3WQUQ.js.map
|
|
@@ -245,13 +245,11 @@ function applyMutation(board, mutation) {
|
|
|
245
245
|
error: "done requires note as the evidence that the task actually finished (the command you ran, the file:line you verified). If the work did not happen, use block with a reason or drop it."
|
|
246
246
|
};
|
|
247
247
|
}
|
|
248
|
-
if (target.status === "pending") {
|
|
249
|
-
return {
|
|
250
|
-
error: `task ${target.id} was never started, so it cannot be completed. Start it and do the work, or record the truth with block (reason) or drop.`
|
|
251
|
-
};
|
|
252
|
-
}
|
|
253
248
|
}
|
|
254
249
|
const notes = [];
|
|
250
|
+
if (mutation.op === "done" && target.status === "pending") {
|
|
251
|
+
notes.push(`started ${target.id} implicitly: done on a pending task records the start and the completion together`);
|
|
252
|
+
}
|
|
255
253
|
const tasks = board.tasks.map((task) => {
|
|
256
254
|
if (task.id !== target.id) {
|
|
257
255
|
if (mutation.op === "start" && task.status === "active") {
|
|
@@ -373,4 +371,4 @@ export {
|
|
|
373
371
|
foldSessionTaskHistory,
|
|
374
372
|
createTaskBoardStore
|
|
375
373
|
};
|
|
376
|
-
//# sourceMappingURL=chunk-
|
|
374
|
+
//# sourceMappingURL=chunk-Q4XWMHX6.js.map
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { createRequire as __clioCreateRequire } from "node:module"; const require = __clioCreateRequire(import.meta.url);
|
|
2
2
|
import {
|
|
3
3
|
readStateInfoResult
|
|
4
|
-
} from "./chunk-
|
|
4
|
+
} from "./chunk-XQRY4DTA.js";
|
|
5
5
|
import {
|
|
6
6
|
foldPromptCacheTelemetry,
|
|
7
7
|
hasPromptCacheTelemetry,
|
|
@@ -9,7 +9,7 @@ import {
|
|
|
9
9
|
} from "./chunk-3DPEIQKN.js";
|
|
10
10
|
import {
|
|
11
11
|
loadSkills
|
|
12
|
-
} from "./chunk-
|
|
12
|
+
} from "./chunk-O3YUNJZ2.js";
|
|
13
13
|
import {
|
|
14
14
|
isSessionEntry
|
|
15
15
|
} from "./chunk-FSP7CMNU.js";
|
|
@@ -22,10 +22,10 @@ import {
|
|
|
22
22
|
import {
|
|
23
23
|
detectInteropAgents,
|
|
24
24
|
resolveOnPath
|
|
25
|
-
} from "./chunk-
|
|
25
|
+
} from "./chunk-JWJGP5DQ.js";
|
|
26
26
|
import {
|
|
27
27
|
initializeClioHome
|
|
28
|
-
} from "./chunk-
|
|
28
|
+
} from "./chunk-I7XBWTYH.js";
|
|
29
29
|
import {
|
|
30
30
|
credentialsPresent
|
|
31
31
|
} from "./chunk-72GZI5EV.js";
|
|
@@ -39,7 +39,7 @@ import {
|
|
|
39
39
|
formatSettingsIssues,
|
|
40
40
|
readSettings,
|
|
41
41
|
validateSettingsFile
|
|
42
|
-
} from "./chunk-
|
|
42
|
+
} from "./chunk-34BHNEE3.js";
|
|
43
43
|
import {
|
|
44
44
|
openAuthStorage,
|
|
45
45
|
resolveAuthTarget,
|
|
@@ -360,7 +360,7 @@ async function runDoctorFleetChecks(projectRoot = process.cwd()) {
|
|
|
360
360
|
}
|
|
361
361
|
const nodes = settings.fleet?.nodes ?? [];
|
|
362
362
|
if (nodes.length === 0) return [];
|
|
363
|
-
const { runFleetNodePreflight } = await import("./fleet-preflight-
|
|
363
|
+
const { runFleetNodePreflight } = await import("./fleet-preflight-UN5XED4R.js");
|
|
364
364
|
const targets = (settings.targets ?? []).map((target) => ({
|
|
365
365
|
id: target.id,
|
|
366
366
|
runtimeId: target.runtime,
|
|
@@ -507,7 +507,7 @@ async function runDoctorModelChecks() {
|
|
|
507
507
|
if (settings.targets.length === 0) return [];
|
|
508
508
|
const [{ getRuntimeRegistry }, { registerBuiltinRuntimes }, { listKnownModelsForRuntime }] = await Promise.all([
|
|
509
509
|
import("./registry-LG64LTF4.js"),
|
|
510
|
-
import("./builtins-
|
|
510
|
+
import("./builtins-K6TNDT24.js"),
|
|
511
511
|
import("./support-U7QOWY26.js")
|
|
512
512
|
]);
|
|
513
513
|
const registry = getRuntimeRegistry();
|
|
@@ -559,4 +559,4 @@ export {
|
|
|
559
559
|
runDoctorRuntimeChecks,
|
|
560
560
|
runDoctorModelChecks
|
|
561
561
|
};
|
|
562
|
-
//# sourceMappingURL=chunk-
|
|
562
|
+
//# sourceMappingURL=chunk-QQLGQY2A.js.map
|