@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
|
@@ -45,20 +45,14 @@ var verifyToolSurface = {
|
|
|
45
45
|
parameters: typebox_exports.Object({
|
|
46
46
|
check: typebox_exports.Optional(
|
|
47
47
|
typebox_exports.String({
|
|
48
|
-
description: `
|
|
48
|
+
description: `Check id, package script (${VERIFICATION_SCRIPT_FAMILY_HINT}), or "frontend"; omit to list.`
|
|
49
49
|
})
|
|
50
50
|
),
|
|
51
|
-
path: typebox_exports.Optional(typebox_exports.String({ description: "
|
|
52
|
-
args: typebox_exports.Optional(
|
|
53
|
-
|
|
54
|
-
),
|
|
55
|
-
|
|
56
|
-
StringEnum(BROWSER_MODES, { description: "check=frontend: headless browser mode (default auto)." })
|
|
57
|
-
),
|
|
58
|
-
cwd: typebox_exports.Optional(typebox_exports.String({ description: "Package-script working directory; ignored by project checks." })),
|
|
59
|
-
timeout_ms: typebox_exports.Optional(
|
|
60
|
-
typebox_exports.Number({ description: "Package/frontend timeout in ms; project checks use their declared timeoutMs." })
|
|
61
|
-
),
|
|
51
|
+
path: typebox_exports.Optional(typebox_exports.String({ description: "frontend: artifact file under the workspace root." })),
|
|
52
|
+
args: typebox_exports.Optional(typebox_exports.Array(typebox_exports.String(), { description: "Package scripts only: arguments after --." })),
|
|
53
|
+
browser: typebox_exports.Optional(StringEnum(BROWSER_MODES, { description: "frontend: headless browser mode (default auto)." })),
|
|
54
|
+
cwd: typebox_exports.Optional(typebox_exports.String({ description: "Package scripts only: working directory." })),
|
|
55
|
+
timeout_ms: typebox_exports.Optional(typebox_exports.Number({ description: "Package and frontend checks only: timeout in ms." })),
|
|
62
56
|
max_output_bytes: typebox_exports.Optional(typebox_exports.Number({ description: "Output cap in bytes (default 600000)." }))
|
|
63
57
|
}),
|
|
64
58
|
baseActionClass: "execute",
|
|
@@ -177,4 +171,4 @@ export {
|
|
|
177
171
|
prepareVerifyArguments,
|
|
178
172
|
verifyToolSurface
|
|
179
173
|
};
|
|
180
|
-
//# sourceMappingURL=chunk-
|
|
174
|
+
//# sourceMappingURL=chunk-7BHIY2MW.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
|
sha256
|
|
4
|
-
} from "./chunk-
|
|
4
|
+
} from "./chunk-B74PXLU7.js";
|
|
5
5
|
import {
|
|
6
6
|
resolvePackageRoot
|
|
7
7
|
} from "./chunk-IWHMRKLL.js";
|
|
@@ -225,4 +225,4 @@ export {
|
|
|
225
225
|
renderCodewikiDigest,
|
|
226
226
|
loadFragments
|
|
227
227
|
};
|
|
228
|
-
//# sourceMappingURL=chunk-
|
|
228
|
+
//# sourceMappingURL=chunk-AZ4WMN4W.js.map
|
|
@@ -3,13 +3,13 @@ import {
|
|
|
3
3
|
ROUTE_POLICY_VERSION,
|
|
4
4
|
isRouteDecisionAgentSelection,
|
|
5
5
|
isRoutingIntent
|
|
6
|
-
} from "./chunk-
|
|
6
|
+
} from "./chunk-HIICAHCJ.js";
|
|
7
7
|
import {
|
|
8
8
|
isExecutionRole
|
|
9
9
|
} from "./chunk-H7IXIC72.js";
|
|
10
10
|
import {
|
|
11
11
|
readSettings
|
|
12
|
-
} from "./chunk-
|
|
12
|
+
} from "./chunk-34BHNEE3.js";
|
|
13
13
|
import {
|
|
14
14
|
readClioVersion,
|
|
15
15
|
resolvePackageRoot
|
|
@@ -677,6 +677,9 @@ function adaptRunReceiptValidationStatus(receipt) {
|
|
|
677
677
|
if (receipt.hostVerification?.status === "verified") {
|
|
678
678
|
return attributed("validated", receiptSource(receipt), { kind: "validator", id: "host-verification" }, artifacts);
|
|
679
679
|
}
|
|
680
|
+
if (receipt.hostVerification?.status === "not_implicated") {
|
|
681
|
+
return attributed("unknown", receiptSource(receipt), { kind: "validator", id: "host-verification" }, artifacts);
|
|
682
|
+
}
|
|
680
683
|
if (qualityHasFailure(receipt.quality)) {
|
|
681
684
|
return attributed("failed", receiptSource(receipt), { kind: "validator", id: "receipt-quality" }, artifacts);
|
|
682
685
|
}
|
|
@@ -1409,4 +1412,4 @@ export {
|
|
|
1409
1412
|
loadEvalTaskFile,
|
|
1410
1413
|
EvalTaskFileError
|
|
1411
1414
|
};
|
|
1412
|
-
//# sourceMappingURL=chunk-
|
|
1415
|
+
//# sourceMappingURL=chunk-B74PXLU7.js.map
|
|
@@ -14,9 +14,8 @@ import {
|
|
|
14
14
|
} from "./chunk-6XLNIQDB.js";
|
|
15
15
|
import {
|
|
16
16
|
GUARDRAIL_DEFAULTS,
|
|
17
|
-
GUARDRAIL_ENV_VARS,
|
|
18
17
|
resolveGuardrail
|
|
19
|
-
} from "./chunk-
|
|
18
|
+
} from "./chunk-S66XZJOF.js";
|
|
20
19
|
import {
|
|
21
20
|
clioStateDir
|
|
22
21
|
} from "./chunk-BYP5D4HI.js";
|
|
@@ -27,7 +26,7 @@ import {
|
|
|
27
26
|
// src/tools/truncate.ts
|
|
28
27
|
init_esm_shims();
|
|
29
28
|
var DEFAULT_MAX_LINES = 2e3;
|
|
30
|
-
var DEFAULT_MAX_BYTES =
|
|
29
|
+
var DEFAULT_MAX_BYTES = 64 * 1024;
|
|
31
30
|
function splitLinesForCounting(content) {
|
|
32
31
|
if (content.length === 0) return [];
|
|
33
32
|
const lines = content.split("\n");
|
|
@@ -487,7 +486,7 @@ function toolResultPresentationPolicy(result) {
|
|
|
487
486
|
}
|
|
488
487
|
|
|
489
488
|
// src/tools/result-shaping.ts
|
|
490
|
-
var DEFAULT_TOOL_RESULT_MAX_BYTES = DEFAULT_MAX_BYTES
|
|
489
|
+
var DEFAULT_TOOL_RESULT_MAX_BYTES = DEFAULT_MAX_BYTES;
|
|
491
490
|
var RESULT_TRUNCATION_MARKER = "\n[tool result truncated]";
|
|
492
491
|
var RESULT_OFFLOAD_MAX_BYTES = 10 * 1024 * 1024;
|
|
493
492
|
var TAIL_NOTICE_RESERVE_BYTES = 512;
|
|
@@ -495,9 +494,11 @@ var TOOL_OFFLOAD_MAX_AGE_MS = 14 * 24 * 60 * 60 * 1e3;
|
|
|
495
494
|
function mergeDetails(details, resultSize) {
|
|
496
495
|
return { ...details ?? {}, resultSize };
|
|
497
496
|
}
|
|
498
|
-
function maxBytesFor(spec) {
|
|
497
|
+
function maxBytesFor(spec, context) {
|
|
499
498
|
const configured = spec.metadata?.resultSizePolicy?.maxBytes;
|
|
500
|
-
|
|
499
|
+
const policyMax = typeof configured === "number" && Number.isFinite(configured) && configured > 0 ? Math.floor(configured) : DEFAULT_TOOL_RESULT_MAX_BYTES;
|
|
500
|
+
const sessionMax = context?.toolResultMaxBytes;
|
|
501
|
+
return typeof sessionMax === "number" && Number.isFinite(sessionMax) && sessionMax > 0 ? Math.min(policyMax, Math.floor(sessionMax)) : policyMax;
|
|
501
502
|
}
|
|
502
503
|
function followUpHint(spec) {
|
|
503
504
|
return spec.metadata?.resultSizePolicy?.followUpHint ?? "Use a narrower query, offset/limit arguments, or a more specific tool call to inspect the omitted content.";
|
|
@@ -506,11 +507,11 @@ function offloadMaxBytesFor(spec) {
|
|
|
506
507
|
const configured = spec.metadata?.resultSizePolicy?.offloadMaxBytes;
|
|
507
508
|
return typeof configured === "number" && Number.isFinite(configured) && configured > 0 ? Math.floor(configured) : RESULT_OFFLOAD_MAX_BYTES;
|
|
508
509
|
}
|
|
509
|
-
function toolResultDigestFor(spec, result, requestedDisposition) {
|
|
510
|
+
function toolResultDigestFor(spec, result, requestedDisposition, context) {
|
|
510
511
|
const text = resultText(result);
|
|
511
|
-
const disposition = normalizeToolResultDisposition(spec, maxBytesFor(spec), requestedDisposition);
|
|
512
|
+
const disposition = normalizeToolResultDisposition(spec, maxBytesFor(spec, context), requestedDisposition);
|
|
512
513
|
if (disposition === null) {
|
|
513
|
-
const projected = shapeLegacyToolResult(spec, result);
|
|
514
|
+
const projected = shapeLegacyToolResult(spec, result, context);
|
|
514
515
|
return legacyToolResultDigest(resultText(projected), { outcome: result.kind });
|
|
515
516
|
}
|
|
516
517
|
const capturedBytes = capturedBytesFor(result, text);
|
|
@@ -654,7 +655,7 @@ ${note}`;
|
|
|
654
655
|
}
|
|
655
656
|
function shapeLegacyToolResult(spec, result, context, overflow = "head") {
|
|
656
657
|
if (existingOffloadPath(result.details) !== null) return result;
|
|
657
|
-
const maxBytes = maxBytesFor(spec);
|
|
658
|
+
const maxBytes = maxBytesFor(spec, context);
|
|
658
659
|
const offloadMaxBytes = offloadMaxBytesFor(spec);
|
|
659
660
|
const text = result.kind === "ok" ? result.output : result.message;
|
|
660
661
|
const bytes = byteLength(text);
|
|
@@ -741,7 +742,7 @@ function withOffloadMetadata(result, offloadPath, capturedBytes, displayedBytes,
|
|
|
741
742
|
}
|
|
742
743
|
function shapeToolResult(spec, result, context, requestedDisposition) {
|
|
743
744
|
if (existingDisposition(result.details) !== null) return result;
|
|
744
|
-
const hardMaxBytes = maxBytesFor(spec);
|
|
745
|
+
const hardMaxBytes = maxBytesFor(spec, context);
|
|
745
746
|
const disposition = normalizeToolResultDisposition(spec, hardMaxBytes, requestedDisposition);
|
|
746
747
|
if (disposition === null) return shapeLegacyToolResult(spec, result, context);
|
|
747
748
|
const capturedText = resultText(result);
|
|
@@ -837,7 +838,6 @@ var OBSERVE_SELF_CAPS = {
|
|
|
837
838
|
contextWorkspace: 50 * 1024
|
|
838
839
|
};
|
|
839
840
|
var DEFAULT_OBSERVATION_TURN_BUDGET_BYTES = GUARDRAIL_DEFAULTS.observationTurnBudgetBytes;
|
|
840
|
-
var OBSERVATION_TURN_BUDGET_ENV = GUARDRAIL_ENV_VARS.observationTurnBudgetBytes;
|
|
841
841
|
var MIN_BUDGET_SLICE_BYTES = 1024;
|
|
842
842
|
var BUDGET_TRACK_LIMIT = 256;
|
|
843
843
|
var MAX_EXHAUSTED_NOTICES_PER_TURN = 3;
|
|
@@ -847,8 +847,8 @@ function boundContinuation(next) {
|
|
|
847
847
|
if (next === void 0 || next.length <= MAX_CONTINUATION_CHARS) return next;
|
|
848
848
|
return `${Array.from(next).slice(0, MAX_CONTINUATION_CHARS).join("")}\u2026`;
|
|
849
849
|
}
|
|
850
|
-
function observationTurnBudgetLimit(
|
|
851
|
-
return Math.max(MIN_BUDGET_SLICE_BYTES, resolveGuardrail("observationTurnBudgetBytes"
|
|
850
|
+
function observationTurnBudgetLimit() {
|
|
851
|
+
return Math.max(MIN_BUDGET_SLICE_BYTES, resolveGuardrail("observationTurnBudgetBytes"));
|
|
852
852
|
}
|
|
853
853
|
function budgetKey(options) {
|
|
854
854
|
const turnId = options?.turnId?.trim();
|
|
@@ -1097,4 +1097,4 @@ export {
|
|
|
1097
1097
|
observationBudgetExhausted,
|
|
1098
1098
|
finalizeObservation
|
|
1099
1099
|
};
|
|
1100
|
-
//# sourceMappingURL=chunk-
|
|
1100
|
+
//# sourceMappingURL=chunk-B7HM5Z7T.js.map
|
|
@@ -4,26 +4,26 @@ import {
|
|
|
4
4
|
loadProjectRules,
|
|
5
5
|
renderOperatorProfile,
|
|
6
6
|
selectActiveRules
|
|
7
|
-
} from "./chunk-
|
|
7
|
+
} from "./chunk-SSEYRH53.js";
|
|
8
8
|
import {
|
|
9
9
|
loadFragments
|
|
10
|
-
} from "./chunk-
|
|
10
|
+
} from "./chunk-AZ4WMN4W.js";
|
|
11
11
|
import {
|
|
12
12
|
compile,
|
|
13
13
|
compileWorker
|
|
14
|
-
} from "./chunk-
|
|
14
|
+
} from "./chunk-I66ZTYNP.js";
|
|
15
15
|
import {
|
|
16
16
|
sha256
|
|
17
|
-
} from "./chunk-
|
|
17
|
+
} from "./chunk-B74PXLU7.js";
|
|
18
18
|
import {
|
|
19
19
|
classifyProjectPreload
|
|
20
20
|
} from "./chunk-JVCV3ICN.js";
|
|
21
21
|
import {
|
|
22
22
|
isUserVisibleAgent
|
|
23
|
-
} from "./chunk-
|
|
23
|
+
} from "./chunk-PGF63K6I.js";
|
|
24
24
|
import {
|
|
25
25
|
BusChannels
|
|
26
|
-
} from "./chunk-
|
|
26
|
+
} from "./chunk-F4EKGO4N.js";
|
|
27
27
|
import {
|
|
28
28
|
init_esm_shims
|
|
29
29
|
} from "./chunk-3R73A4XB.js";
|
|
@@ -33,7 +33,6 @@ init_esm_shims();
|
|
|
33
33
|
var DEFAULT_DISPATCH_AGENT_ID = "coder";
|
|
34
34
|
var OPERATOR_ONLY_SHADOW_AGENT_IDS = /* @__PURE__ */ new Set(["oracle"]);
|
|
35
35
|
var FLEET_PROMPT_PURPOSE_MAX_CHARS = 64;
|
|
36
|
-
var FLEET_DELEGATION_RULE = "Delegate when the task has two or more independent file-scoped subtasks, or any broad exploration. You keep synthesis and validation; a single narrow change stays with you.";
|
|
37
36
|
var FLEET_HANDOFF_RULE = "A file you assigned to a worker is not yours to edit while its dispatch is pending or after it succeeds; if you already changed it, say so in your report.";
|
|
38
37
|
var FLEET_REFUSAL_DISCLOSURE = "When admission refuses a dispatch, report the refusal and the reason it gave; never substitute another agent without saying why.";
|
|
39
38
|
var FLEET_ANTI_CHURN_RULE = "A dispatch with the same target files and the same goal as one you already ran is a repeat however differently you word it: read that run's receipt, or run the check yourself, instead of dispatching again.";
|
|
@@ -62,11 +61,14 @@ function renderFleetPromptSection(input) {
|
|
|
62
61
|
if (publicSpecs.length === 0 && shadowSpecs.length === 0) return "";
|
|
63
62
|
const lines = [
|
|
64
63
|
"# Fleet",
|
|
65
|
-
FLEET_DELEGATION_RULE,
|
|
66
64
|
FLEET_HANDOFF_RULE,
|
|
67
65
|
FLEET_ANTI_CHURN_RULE,
|
|
68
66
|
FLEET_REFUSAL_DISCLOSURE,
|
|
69
|
-
`
|
|
67
|
+
// `agent:"auto"` baselines by task shape and can still land on a worker
|
|
68
|
+
// whose capability class is wrong for the job, so a pinned id is the
|
|
69
|
+
// reliable path; said here, next to the ids, rather than in the Tool
|
|
70
|
+
// Contract.
|
|
71
|
+
`Workers you reach with \`dispatch\` by \`agent\` id (default ${DEFAULT_DISPATCH_AGENT_ID}); agent:"auto" is a fallback, not a router. Capability class is what a worker may do: a read-only worker cannot edit.`,
|
|
70
72
|
FLEET_SPECIALIST_ROUTING
|
|
71
73
|
];
|
|
72
74
|
if (publicSpecs.length > 0) {
|
|
@@ -191,6 +193,9 @@ var CLIO_REPO_AWARENESS_ID = "context.clio-repo-awareness";
|
|
|
191
193
|
var WORKSPACE_ROOT_ID = "context.workspace-root";
|
|
192
194
|
function createPromptsBundle(context, options = {}) {
|
|
193
195
|
let table = null;
|
|
196
|
+
let fragmentEpoch = 0;
|
|
197
|
+
let sessionSourceEpoch = 0;
|
|
198
|
+
const sessionSourceSnapshots = /* @__PURE__ */ new Map();
|
|
194
199
|
const suppressContextFiles = options.noContextFiles === true;
|
|
195
200
|
function config() {
|
|
196
201
|
return context.getContract("config");
|
|
@@ -208,6 +213,7 @@ function createPromptsBundle(context, options = {}) {
|
|
|
208
213
|
function reload() {
|
|
209
214
|
try {
|
|
210
215
|
table = loadFragments();
|
|
216
|
+
fragmentEpoch += 1;
|
|
211
217
|
} catch (err) {
|
|
212
218
|
const msg = err instanceof Error ? err.message : String(err);
|
|
213
219
|
process.stderr.write(`[clio-coder:prompts] reload failed: ${msg}
|
|
@@ -220,7 +226,39 @@ function createPromptsBundle(context, options = {}) {
|
|
|
220
226
|
}
|
|
221
227
|
return false;
|
|
222
228
|
}
|
|
229
|
+
function sessionSourceKey(sessionId, cwd) {
|
|
230
|
+
return `${sessionId}\0${cwd}`;
|
|
231
|
+
}
|
|
232
|
+
function captureSessionSourceSnapshot(cwd) {
|
|
233
|
+
let projectContext = null;
|
|
234
|
+
if (!suppressContextFiles) {
|
|
235
|
+
projectContext = contextDomain()?.renderPromptContext(cwd) ?? null;
|
|
236
|
+
for (const warning of projectContext?.warnings ?? []) process.stderr.write(`${warning}
|
|
237
|
+
`);
|
|
238
|
+
}
|
|
239
|
+
return {
|
|
240
|
+
projectContext,
|
|
241
|
+
customization: captureCustomizationSources(cwd),
|
|
242
|
+
workspaceRoot: workspaceRootFragment(cwd),
|
|
243
|
+
clioRepoAwareness: clioRepoAwarenessFragments(cwd)
|
|
244
|
+
};
|
|
245
|
+
}
|
|
246
|
+
function sessionSourceSnapshot(sessionId, cwd) {
|
|
247
|
+
const key = sessionSourceKey(sessionId, cwd);
|
|
248
|
+
const existing = sessionSourceSnapshots.get(key);
|
|
249
|
+
if (existing) return existing;
|
|
250
|
+
const captured = captureSessionSourceSnapshot(cwd);
|
|
251
|
+
sessionSourceSnapshots.set(key, captured);
|
|
252
|
+
return captured;
|
|
253
|
+
}
|
|
254
|
+
function invalidateSessionSources() {
|
|
255
|
+
sessionSourceSnapshots.clear();
|
|
256
|
+
sessionSourceEpoch += 1;
|
|
257
|
+
}
|
|
223
258
|
const contract = {
|
|
259
|
+
inputEpoch() {
|
|
260
|
+
return `${fragmentEpoch}:${agentsDomain()?.revision() ?? 0}:${sessionSourceEpoch}`;
|
|
261
|
+
},
|
|
224
262
|
async compileSessionPrompt(input) {
|
|
225
263
|
if (!table) throw new Error("prompts domain not started");
|
|
226
264
|
if (table.byId.size === 0) {
|
|
@@ -230,11 +268,12 @@ function createPromptsBundle(context, options = {}) {
|
|
|
230
268
|
const settings = configContract?.get();
|
|
231
269
|
const safety = input.autonomy ?? settings?.safety.autonomy ?? "auto-edit";
|
|
232
270
|
const cwd = input.cwd ?? process.cwd();
|
|
271
|
+
const sources = sessionSourceSnapshot(input.sessionId, cwd);
|
|
233
272
|
let contextFiles = "";
|
|
234
273
|
let projectPreload = null;
|
|
235
274
|
let projectHandbookFiles = [];
|
|
236
275
|
if (!suppressContextFiles) {
|
|
237
|
-
const projectContext =
|
|
276
|
+
const projectContext = sources.projectContext;
|
|
238
277
|
contextFiles = projectContext ? selectProjectContext(projectContext, input.sessionInputs.providerSupportsTools ?? null) : "";
|
|
239
278
|
if (projectContext) {
|
|
240
279
|
projectPreload = classifyProjectPreload({
|
|
@@ -243,8 +282,6 @@ function createPromptsBundle(context, options = {}) {
|
|
|
243
282
|
});
|
|
244
283
|
projectHandbookFiles = projectContext.handbookFiles;
|
|
245
284
|
}
|
|
246
|
-
for (const warning of projectContext?.warnings ?? []) process.stderr.write(`${warning}
|
|
247
|
-
`);
|
|
248
285
|
}
|
|
249
286
|
const roster = fleetRoster();
|
|
250
287
|
const sessionInputs = {
|
|
@@ -258,9 +295,9 @@ function createPromptsBundle(context, options = {}) {
|
|
|
258
295
|
safety: `safety.${safety}`,
|
|
259
296
|
sessionInputs,
|
|
260
297
|
additionalFragments: [
|
|
261
|
-
...
|
|
262
|
-
...
|
|
263
|
-
...
|
|
298
|
+
...sources.workspaceRoot,
|
|
299
|
+
...sources.clioRepoAwareness,
|
|
300
|
+
...renderCustomizationFragments(sources.customization, cwd, input.workingContextPaths ?? []).fragments
|
|
264
301
|
]
|
|
265
302
|
});
|
|
266
303
|
return { ...compiled, projectPreload, projectHandbookFiles };
|
|
@@ -286,10 +323,12 @@ function createPromptsBundle(context, options = {}) {
|
|
|
286
323
|
reload
|
|
287
324
|
};
|
|
288
325
|
let unsubscribeHotReload = null;
|
|
326
|
+
let unsubscribeExtensionsReload = null;
|
|
289
327
|
const extension = {
|
|
290
328
|
async start() {
|
|
291
329
|
try {
|
|
292
330
|
table = loadFragments();
|
|
331
|
+
fragmentEpoch += 1;
|
|
293
332
|
} catch (err) {
|
|
294
333
|
const msg = err instanceof Error ? err.message : String(err);
|
|
295
334
|
process.stderr.write(`[clio-coder:prompts] initial load failed: ${msg}
|
|
@@ -297,26 +336,49 @@ function createPromptsBundle(context, options = {}) {
|
|
|
297
336
|
table = { byId: /* @__PURE__ */ new Map(), rootDir: "" };
|
|
298
337
|
}
|
|
299
338
|
unsubscribeHotReload = context.bus.on(BusChannels.ConfigHotReload, (payload) => {
|
|
339
|
+
invalidateSessionSources();
|
|
300
340
|
const diff = payload?.diff;
|
|
301
341
|
const paths = diff?.hotReload ?? [];
|
|
302
342
|
if (!diffTouchesFragments(paths)) return;
|
|
303
343
|
reload();
|
|
304
344
|
});
|
|
345
|
+
unsubscribeExtensionsReload = context.bus.on(BusChannels.ExtensionsReloaded, (payload) => {
|
|
346
|
+
if (payload?.changed !== true) return;
|
|
347
|
+
reload();
|
|
348
|
+
});
|
|
305
349
|
},
|
|
306
350
|
async stop() {
|
|
307
351
|
unsubscribeHotReload?.();
|
|
308
352
|
unsubscribeHotReload = null;
|
|
353
|
+
unsubscribeExtensionsReload?.();
|
|
354
|
+
unsubscribeExtensionsReload = null;
|
|
355
|
+
sessionSourceSnapshots.clear();
|
|
309
356
|
}
|
|
310
357
|
};
|
|
311
358
|
return { extension, contract };
|
|
312
359
|
}
|
|
313
360
|
function customizationFragments(cwd, workingContextPaths) {
|
|
361
|
+
return renderCustomizationFragments(captureCustomizationSources(cwd), cwd, workingContextPaths);
|
|
362
|
+
}
|
|
363
|
+
function captureCustomizationSources(cwd) {
|
|
364
|
+
let rules = [];
|
|
365
|
+
let operatorProfile = null;
|
|
366
|
+
try {
|
|
367
|
+
rules = loadProjectRules(cwd).rules;
|
|
368
|
+
} catch {
|
|
369
|
+
}
|
|
370
|
+
try {
|
|
371
|
+
operatorProfile = loadOperatorProfile(cwd);
|
|
372
|
+
} catch {
|
|
373
|
+
}
|
|
374
|
+
return { rules, operatorProfile };
|
|
375
|
+
}
|
|
376
|
+
function renderCustomizationFragments(sources, cwd, workingContextPaths) {
|
|
314
377
|
const fragments = [];
|
|
315
378
|
let activeRuleIds = [];
|
|
316
379
|
let operatorProfileApplied = false;
|
|
317
380
|
try {
|
|
318
|
-
const
|
|
319
|
-
const active = selectActiveRules(loaded.rules, normalizeWorkingContextPaths(cwd, workingContextPaths));
|
|
381
|
+
const active = selectActiveRules(sources.rules, normalizeWorkingContextPaths(cwd, workingContextPaths));
|
|
320
382
|
if (active.length > 0) {
|
|
321
383
|
const body = ["# Project rules", ...active.map((rule) => rule.body)].join("\n\n");
|
|
322
384
|
fragments.push({
|
|
@@ -331,8 +393,7 @@ function customizationFragments(cwd, workingContextPaths) {
|
|
|
331
393
|
} catch {
|
|
332
394
|
}
|
|
333
395
|
try {
|
|
334
|
-
const
|
|
335
|
-
const rendered = renderOperatorProfile(profile.profile);
|
|
396
|
+
const rendered = renderOperatorProfile(sources.operatorProfile?.profile ?? {});
|
|
336
397
|
if (rendered.text.length > 0) {
|
|
337
398
|
fragments.push({
|
|
338
399
|
id: "context.operator-profile",
|
|
@@ -659,4 +720,4 @@ export {
|
|
|
659
720
|
createPromptsDomainModule,
|
|
660
721
|
SchedulingDomainModule
|
|
661
722
|
};
|
|
662
|
-
//# sourceMappingURL=chunk-
|
|
723
|
+
//# sourceMappingURL=chunk-BO7Y52RY.js.map
|