@iowarp/clio-coder 0.4.2 → 0.4.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +35 -0
- package/CONTRIBUTING.md +86 -19
- package/README.md +35 -6
- package/dist/{acp-TMDQZDIG.js → acp-H2NGRPWO.js} +11 -11
- package/dist/{agents-5N5NG3XG.js → agents-TL5LLUQP.js} +54 -53
- package/dist/assets/codewiki.json +1 -1
- package/dist/{auth-Z5CCBXKQ.js → auth-E5SW4HMS.js} +19 -16
- package/dist/{builtins-K6TNDT24.js → builtins-IA7V7FUC.js} +9 -4
- package/dist/{chunk-ZW4HH5JJ.js → chunk-2APPQIER.js} +6 -6
- package/dist/{chunk-72GZI5EV.js → chunk-2JH2WHGE.js} +2 -2
- package/dist/{chunk-UBRFI4HS.js → chunk-2UG5F4C5.js} +127 -47
- package/dist/{chunk-UH632ZYL.js → chunk-2UH2KFUP.js} +2 -2
- package/dist/{chunk-3F7VUY77.js → chunk-2VIKGWFZ.js} +2 -2
- package/dist/{chunk-I66EAJFY.js → chunk-2WZ546HR.js} +267 -232
- package/dist/{chunk-RKSR6VSF.js → chunk-4IUZQIJ3.js} +29 -1
- package/dist/{chunk-2X4RYJTJ.js → chunk-4UVU7BJ5.js} +2 -2
- package/dist/{chunk-M2DAX4F6.js → chunk-4WR7VSYB.js} +2 -2
- package/dist/{chunk-5KW52TEP.js → chunk-54CBCGIR.js} +5 -5
- package/dist/{chunk-3KIPBMUA.js → chunk-5ICU3EUH.js} +2 -2
- package/dist/{chunk-77QIVUZB.js → chunk-5MEZN6CB.js} +4 -4
- package/dist/{chunk-O42A54GG.js → chunk-5OIVVPHF.js} +2 -2
- package/dist/{chunk-LJID3DYZ.js → chunk-64I3JVYM.js} +2 -2
- package/dist/{chunk-4JDLP6ZS.js → chunk-6PTFB5VS.js} +7 -7
- package/dist/{chunk-VN3SHNBN.js → chunk-7DICMOS6.js} +2 -2
- package/dist/{chunk-HLAFFSEK.js → chunk-7DRAWPTZ.js} +2 -2
- package/dist/chunk-7E7I3WLS.js +3762 -0
- package/dist/{chunk-YJISEZKC.js → chunk-7ZYNNDKC.js} +6 -6
- package/dist/{chunk-I66ZTYNP.js → chunk-AF4YM7Z4.js} +236 -101
- package/dist/{chunk-2HFQNRV3.js → chunk-AX2THNSA.js} +12 -12
- package/dist/{chunk-PGF63K6I.js → chunk-B4OAX3SI.js} +65 -3
- package/dist/{chunk-W6NIE6OW.js → chunk-B4VEBZKF.js} +3 -3
- package/dist/{chunk-JBCS7CRR.js → chunk-BEPZRGGU.js} +10 -10
- package/dist/{chunk-XGDPUNND.js → chunk-CE5AX47J.js} +2 -2
- package/dist/{chunk-I64IFBLB.js → chunk-DWUOQKRU.js} +17 -10
- package/dist/{chunk-DZAW46HP.js → chunk-E3TPLWFX.js} +3 -3
- package/dist/{chunk-HIICAHCJ.js → chunk-EKCHAPYA.js} +2 -2
- package/dist/{chunk-XE3PCIXH.js → chunk-F5JHEYZM.js} +7 -7
- package/dist/{chunk-5PFYMY2V.js → chunk-FTMGRKEF.js} +2 -2
- package/dist/{chunk-ZNT2M6TG.js → chunk-G76U63X4.js} +17 -17
- package/dist/{chunk-34BHNEE3.js → chunk-GHS5EBTQ.js} +58 -7
- package/dist/{chunk-2NHR3NAY.js → chunk-GI7YYQ3F.js} +40 -34
- package/dist/{chunk-DYHAXKHD.js → chunk-GWZNEVM2.js} +12 -8
- package/dist/chunk-GYV6VZOC.js +26 -0
- package/dist/{chunk-MQXIVJ35.js → chunk-HAXOFFRH.js} +5 -5
- package/dist/{chunk-W4YEMFBX.js → chunk-HEQY7ZFI.js} +2 -2
- package/dist/{chunk-IKOZFYBN.js → chunk-I7ZPNEJM.js} +145 -102
- package/dist/{chunk-WNP7O5WZ.js → chunk-ID64D7PE.js} +4 -4
- package/dist/{chunk-XQRY4DTA.js → chunk-IGLP3ODT.js} +10 -10
- package/dist/chunk-IJNZMHLA.js +101 -0
- package/dist/{chunk-JWJGP5DQ.js → chunk-INY6HTFL.js} +7 -7
- package/dist/{chunk-PBP4B7XR.js → chunk-IUE3Y34X.js} +2 -2
- package/dist/{chunk-B74PXLU7.js → chunk-IWT4SF4R.js} +3 -3
- package/dist/{chunk-B7HM5Z7T.js → chunk-JDAY6FIL.js} +5 -5
- package/dist/{chunk-PJX3WQUQ.js → chunk-JEQ3XTHC.js} +2 -2
- package/dist/{chunk-FSP7CMNU.js → chunk-JGRC33J2.js} +50 -4
- package/dist/{chunk-X7IARSHT.js → chunk-JKKCYP3C.js} +9 -9
- package/dist/{chunk-HJWWJ6IL.js → chunk-JSC3U7TI.js} +16 -4
- package/dist/{chunk-SSEYRH53.js → chunk-KK4JZPBQ.js} +19 -140
- package/dist/{chunk-IHXBNWMM.js → chunk-KXDSS5WJ.js} +7 -3
- package/dist/{chunk-Q4XWMHX6.js → chunk-L47TF46W.js} +2 -2
- package/dist/{chunk-O3YUNJZ2.js → chunk-LDJG7DW3.js} +81 -24
- package/dist/{chunk-CDNVLKUX.js → chunk-LLDJM5XK.js} +13 -7
- package/dist/{chunk-F2I26BDK.js → chunk-MUW2BDDH.js} +4 -4
- package/dist/{chunk-HKMD33FO.js → chunk-MWUZBSAQ.js} +79 -76
- package/dist/{chunk-QQLGQY2A.js → chunk-N2Z7HLVY.js} +20 -20
- package/dist/{chunk-DZEK6CJN.js → chunk-NIQJ66N4.js} +19 -19
- package/dist/{chunk-CWVRRIEI.js → chunk-NZMNUPZZ.js} +2 -2
- package/dist/{chunk-462T4EGZ.js → chunk-O5CVSAG5.js} +2 -2
- package/dist/{chunk-TPEQIQIE.js → chunk-OML5D5V5.js} +8 -8
- package/dist/{chunk-IKSLQ4XV.js → chunk-PAJQJ7BS.js} +558 -216
- package/dist/{chunk-ZW55JB7N.js → chunk-PUVDKJ2Y.js} +2 -2
- package/dist/{chunk-UH347SHR.js → chunk-QWGDJJYJ.js} +11 -11
- package/dist/chunk-R6Q67RJH.js +134 -0
- package/dist/{chunk-CRFOIAX3.js → chunk-RRNP2ANY.js} +6 -6
- package/dist/{chunk-IDNA72AH.js → chunk-RSJ25QSL.js} +2 -2
- package/dist/chunk-SKHCAU7K.js +385 -0
- package/dist/{chunk-RLYRBIYQ.js → chunk-TM6LQDI3.js} +20 -12
- package/dist/chunk-UOIZ7DA4.js +41 -0
- package/dist/{chunk-P75RZCJW.js → chunk-UPZU6GE4.js} +3 -3
- package/dist/{chunk-MCMZMDAC.js → chunk-V2ANDPVT.js} +4 -4
- package/dist/{chunk-AK5XEFVZ.js → chunk-VA5FNYMT.js} +26 -13
- package/dist/{chunk-IMXMHHMQ.js → chunk-VW6DOEDG.js} +332 -57
- package/dist/{chunk-XOXV5GKE.js → chunk-W6RRQCPQ.js} +16 -7
- package/dist/{chunk-CYZW7JHJ.js → chunk-WBKFA554.js} +8 -8
- package/dist/{chunk-BO7Y52RY.js → chunk-WCXUNS7U.js} +7 -7
- package/dist/{chunk-ZGNYYXQ6.js → chunk-WRBAGUNF.js} +3 -3
- package/dist/{chunk-FVDGR2ZL.js → chunk-XIVNBFZS.js} +85 -30
- package/dist/{chunk-BYMNWQ7O.js → chunk-XPWWI35G.js} +299 -58
- package/dist/{chunk-KPXDY6QF.js → chunk-XRZT5WY5.js} +2 -2
- package/dist/{chunk-AZ4WMN4W.js → chunk-Y3CBHOR6.js} +2 -2
- package/dist/{chunk-VXMFAE2W.js → chunk-YPC6ZR5L.js} +19 -6
- package/dist/{chunk-54ODD65L.js → chunk-YQWYVTMC.js} +4 -4
- package/dist/{chunk-M2WXEHER.js → chunk-ZA4VCIGV.js} +2 -2
- package/dist/{chunk-7BHIY2MW.js → chunk-ZDN3Y73Y.js} +6 -6
- package/dist/{chunk-E7GT7O5N.js → chunk-ZWPRK62N.js} +7 -4
- package/dist/cli/index.js +38 -37
- package/dist/{clio-7VB377CC.js → clio-CMMK4KRR.js} +7 -7
- package/dist/{code-nav-YVLCYA7V.js → code-nav-MDZNQS33.js} +7 -7
- package/dist/{components-UBWCQSRW.js → components-UCUQ4QXW.js} +4 -4
- package/dist/{config-4HVOS65E.js → config-SVM5P5YI.js} +76 -74
- package/dist/{configure-PIWO7B24.js → configure-LE3IK2TJ.js} +26 -24
- package/dist/{context-IYEHL3WQ.js → context-2OHRKS42.js} +66 -63
- package/dist/{context-N6ZE3LGJ.js → context-E3VC7RX5.js} +15 -11
- package/dist/{context-KQYIWPWT.js → context-VNCR7KAG.js} +60 -45
- package/dist/{context-clear-G4OGZJDS.js → context-clear-BW4O37TG.js} +61 -59
- package/dist/context-map-COB37XXN.js +505 -0
- package/dist/{context-working-set-BWLF6LJP.js → context-working-set-VDS25HXZ.js} +17 -16
- package/dist/{dispatch-runner-2QQAITS3.js → dispatch-runner-5AHT53RF.js} +85 -74
- package/dist/{doctor-LHBD36VU.js → doctor-WNNVO6FY.js} +37 -37
- package/dist/{eval-C45FYRJ6.js → eval-7G7SGAYO.js} +285 -114
- package/dist/{eval-inventory-6DEJPLBF.js → eval-inventory-Y6QRFOH5.js} +4 -4
- package/dist/{evidence-6SHONYAF.js → evidence-VD6736FQ.js} +63 -62
- package/dist/{evolve-KRKMV72X.js → evolve-AL3NGVRL.js} +62 -61
- package/dist/{extensions-KPZ2UHBB.js → extensions-MOVJ32NM.js} +7 -7
- package/dist/{fleet-IVTCKDHT.js → fleet-QZHUMAGI.js} +110 -108
- package/dist/{fleet-commands-EDWL3IT7.js → fleet-commands-BAYT5FJZ.js} +10 -10
- package/dist/{fleet-decisions-YP3YEFGK.js → fleet-decisions-IREVMRU4.js} +7 -6
- package/dist/{fleet-graph-ZFWKHY2M.js → fleet-graph-YCTT3HTI.js} +19 -18
- package/dist/{fleet-inspect-FVUNCBML.js → fleet-inspect-QVJTDAVB.js} +55 -54
- package/dist/{fleet-preflight-UN5XED4R.js → fleet-preflight-25QAFPK4.js} +4 -4
- package/dist/{fleet-validate-XOWC4HSX.js → fleet-validate-5O57AAJ7.js} +23 -22
- package/dist/{fleet-verify-UN3SODEL.js → fleet-verify-CPH2W2T6.js} +56 -55
- package/dist/{fleet-view-TWHJKCN6.js → fleet-view-SWBR3VGQ.js} +55 -54
- package/dist/{init-T2QORQ3Y.js → init-J477LKZH.js} +78 -76
- package/dist/{interop-IN5I2A66.js → interop-3FCM6XLG.js} +11 -11
- package/dist/{library-LSCATDLZ.js → library-QUQEIUG6.js} +28 -27
- package/dist/{memory-HYOKAGGJ.js → memory-SGGSEP65.js} +64 -63
- package/dist/{models-2GPMFYCM.js → models-HEKUAXXK.js} +49 -43
- package/dist/{monitor-E4ASVUJH.js → monitor-HKU57TYQ.js} +61 -60
- package/dist/{orchestrator-DDMPR3PY.js → orchestrator-VDFAEFAI.js} +919 -546
- package/dist/{panes-E3RUXOW5.js → panes-DN2SSFOH.js} +3 -3
- package/dist/{panes-IXKLOKA2.js → panes-TALGNPZT.js} +8 -8
- package/dist/{paths-L7LGY6RN.js → paths-NBMFAIEZ.js} +5 -5
- package/dist/reset-EAJFFJVB.js +344 -0
- package/dist/{resources-OTRSN34L.js → resources-OVKSEFVE.js} +27 -20
- package/dist/{run-5DEYH5QK.js → run-7DP7ZF2J.js} +113 -109
- package/dist/{share-IHWTLO3M.js → share-WML67FT3.js} +26 -25
- package/dist/{skills-IYMXMKW4.js → skills-SG662R2K.js} +39 -31
- package/dist/{skills-eval-DROHSJAR.js → skills-eval-VVZEUU46.js} +74 -73
- package/dist/{skills-inventory-D7X4L4ZX.js → skills-inventory-I2E23GET.js} +21 -20
- package/dist/{slash-commands-QBM7UZ3B.js → slash-commands-S7MBJDQK.js} +35 -34
- package/dist/{steer-Z5DO23FJ.js → steer-2LQOMCPB.js} +3 -3
- package/dist/{support-U7QOWY26.js → support-CC2UJBJ6.js} +6 -6
- package/dist/{targets-P2FUC4IL.js → targets-4QC3HIEW.js} +48 -45
- package/dist/{terminal-lease-YREJ3JX2.js → terminal-lease-TUHIJ6Y2.js} +2 -2
- package/dist/{tools-5B7RO6MV.js → tools-TFGJICCU.js} +8 -8
- package/dist/{trace-YMGMUM6A.js → trace-FXMXUZUF.js} +7 -7
- package/dist/uninstall-5PEVOE5B.js +408 -0
- package/dist/upgrade-M4WXY6KN.js +303 -0
- package/dist/{usage-ME5MPXGX.js → usage-N7ZNVLEM.js} +147 -102
- package/dist/{verifiers-BVZ7IWOO.js → verifiers-DJTP4XX6.js} +15 -15
- package/dist/{verify-5K7ZKQFC.js → verify-RWE4PPEK.js} +9 -9
- package/dist/{wiki-generate-F5W5QTYY.js → wiki-generate-C7IQOXSP.js} +84 -82
- package/dist/{with-panes-BYOJCLAM.js → with-panes-4GCGSL7J.js} +9 -9
- package/dist/worker/entry.js +61 -60
- package/docs/architecture/artifact-placement.md +1 -0
- package/docs/architecture/artifact-versions.md +1 -1
- package/docs/architecture/context-engine.md +4 -0
- package/docs/architecture/middleware-and-components.md +1 -1
- package/docs/architecture/model-catalog.md +21 -10
- package/docs/architecture/observability.md +12 -1
- package/docs/architecture/prompt-envelope-and-tools.md +2 -0
- package/docs/architecture/provider-adapter-cookbook.md +63 -0
- package/docs/architecture/safety-model.md +15 -5
- package/docs/guide/built-in-agents.md +17 -3
- package/docs/guide/commands-and-modes.md +1 -1
- package/docs/guide/configuration-and-targets.md +97 -9
- package/docs/guide/configuration-reference.md +7 -2
- package/docs/guide/environment-variables.md +2 -0
- package/docs/guide/installation-and-lifecycle.md +37 -4
- package/docs/guide/proactive-memory.md +66 -55
- package/docs/guide/skills-marketplace.md +18 -0
- package/docs/process/development-pipeline.md +34 -1
- package/docs/process/eval-runner.md +67 -3
- package/evals/behavioral-model.yaml +3 -2
- package/package.json +2 -2
- package/skills/README.md +7 -5
- package/skills/coding/ast-grep/SKILL.md +101 -30
- package/skills/coding/ast-grep/evals.md +26 -0
- package/skills/coding/coding-standards/SKILL.md +40 -5
- package/skills/coding/coding-standards/evals.md +23 -0
- package/skills/coding/prototype/SKILL.md +87 -28
- package/skills/coding/prototype/evals.md +19 -0
- package/skills/coding/tdd/SKILL.md +80 -53
- package/skills/coding/tdd/evals.md +20 -0
- package/skills/context/context-handoff/SKILL.md +43 -2
- package/skills/context/context-handoff/evals.md +44 -0
- package/skills/context/context-prime/SKILL.md +45 -15
- package/skills/context/context-prime/evals.md +45 -0
- package/skills/git/branch-closeout/SKILL.md +132 -0
- package/skills/git/branch-closeout/evals.md +133 -0
- package/skills/git/branch-closeout/references/closeout-checklist.md +81 -0
- package/skills/git/file-ticket/SKILL.md +77 -63
- package/skills/git/file-ticket/assets/issue-template.md +22 -0
- package/skills/git/file-ticket/evals.md +31 -26
- package/skills/git/file-ticket/references/issue-discovery.md +49 -0
- package/skills/git/fix-issue/SKILL.md +87 -64
- package/skills/git/fix-issue/evals.md +35 -31
- package/skills/git/fix-issue/references/diagnosis-and-rca.md +46 -0
- package/skills/git/resolve-merge-conflicts/SKILL.md +100 -51
- package/skills/git/resolve-merge-conflicts/evals.md +52 -25
- package/skills/git/resolve-merge-conflicts/references/conflict-matrix.md +126 -0
- package/skills/git/ship/SKILL.md +103 -67
- package/skills/git/ship/assets/pr-template.md +21 -0
- package/skills/git/ship/evals.md +44 -28
- package/skills/git/ship/references/remote-and-branch-policy.md +62 -0
- package/skills/git/worktree-create/SKILL.md +80 -50
- package/skills/git/worktree-create/evals.md +40 -33
- package/skills/git/worktree-create/references/worktree-setup.md +62 -66
- package/skills/git/worktree-merge/SKILL.md +112 -65
- package/skills/git/worktree-merge/evals.md +42 -34
- package/skills/git/worktree-merge/references/merge-strategies.md +52 -0
- package/skills/planning/archify/SKILL.md +196 -0
- package/skills/planning/archify/evals.md +65 -0
- package/skills/planning/architecture/SKILL.md +61 -12
- package/skills/planning/architecture/evals.md +65 -0
- package/skills/planning/backlog/SKILL.md +130 -14
- package/skills/planning/backlog/evals.md +142 -0
- package/skills/planning/prd/SKILL.md +46 -6
- package/skills/planning/prd/evals.md +54 -0
- package/skills/planning/product-intent/SKILL.md +57 -2
- package/skills/planning/product-intent/evals.md +70 -0
- package/skills/planning/tech-spec/SKILL.md +53 -2
- package/skills/planning/tech-spec/evals.md +73 -0
- package/skills/registry.yaml +58 -50
- package/skills/remote.yaml +13 -0
- package/skills/research/arxiv-literature/SKILL.md +76 -18
- package/skills/research/arxiv-literature/evals.md +50 -0
- package/skills/research/experiment-protocol/SKILL.md +20 -1
- package/skills/research/experiment-protocol/evals.md +23 -0
- package/skills/research/scientific-debugging/SKILL.md +23 -1
- package/skills/research/scientific-debugging/evals.md +18 -0
- package/skills/research/scientific-modernization/SKILL.md +26 -1
- package/skills/research/scientific-modernization/evals.md +27 -0
- package/skills/skill-marketplace.json +63 -28
- package/skills/workflow/cut-it/SKILL.md +65 -5
- package/skills/workflow/cut-it/evals.md +101 -0
- package/skills/workflow/design-council/SKILL.md +117 -27
- package/skills/workflow/design-council/evals.md +161 -0
- package/skills/workflow/grill-me/SKILL.md +86 -10
- package/skills/workflow/grill-me/evals.md +153 -0
- package/skills/workflow/workflow-distiller/SKILL.md +76 -17
- package/skills/workflow/workflow-distiller/evals.md +118 -0
- package/src/cli/configure-interop.ts +105 -13
- package/src/cli/configure-oauth.ts +57 -0
- package/src/cli/configure-onboarding.ts +980 -0
- package/src/cli/configure-target.ts +594 -0
- package/src/cli/configure.ts +1082 -528
- package/src/cli/context-map.ts +114 -0
- package/src/cli/context.ts +4 -0
- package/src/cli/index.ts +1 -0
- package/src/cli/lifecycle-presenter.ts +436 -0
- package/src/cli/models.ts +10 -2
- package/src/cli/modes/print.ts +5 -1
- package/src/cli/reset.ts +228 -106
- package/src/cli/run.ts +7 -2
- package/src/cli/select.ts +664 -0
- package/src/cli/skills.ts +9 -2
- package/src/cli/targets.ts +3 -0
- package/src/cli/uninstall.ts +233 -165
- package/src/cli/upgrade.ts +204 -149
- package/src/cli/usage.ts +86 -27
- package/src/cli/validate-model.ts +3 -3
- package/src/core/config.ts +56 -0
- package/src/core/external-diagnostic.ts +44 -0
- package/src/core/gateway-routing.ts +157 -0
- package/src/core/safe-exec.ts +17 -2
- package/src/core/skill-activation.ts +89 -2
- package/src/domains/agents/builtins/world-knowledge.md +31 -0
- package/src/domains/agents/catalog.ts +1 -1
- package/src/domains/agents/result-contract.ts +70 -0
- package/src/domains/context/wiki/map-seed.ts +589 -0
- package/src/domains/context/wiki/plan.ts +2 -2
- package/src/domains/dispatch/admission.ts +29 -0
- package/src/domains/dispatch/agent-candidates.ts +10 -0
- package/src/domains/dispatch/budget-envelope.ts +86 -1
- package/src/domains/dispatch/capability-match.ts +1 -0
- package/src/domains/dispatch/capacity-lease.ts +17 -0
- package/src/domains/dispatch/contract.ts +11 -1
- package/src/domains/dispatch/extension.ts +134 -29
- package/src/domains/dispatch/types.ts +3 -0
- package/src/domains/dispatch/worker-model-metadata.ts +38 -0
- package/src/domains/eval/metrics/call-ledger-stream.ts +34 -11
- package/src/domains/eval/metrics/token-stream.ts +201 -31
- package/src/domains/eval/metrics/tracked.ts +40 -4
- package/src/domains/eval/runners/clio-run.ts +5 -2
- package/src/domains/eval/schema/suite.ts +28 -0
- package/src/domains/eval/schema/verdict.ts +2 -2
- package/src/domains/eval/suites/resolve.ts +13 -1
- package/src/domains/eval/suites/run.ts +24 -3
- package/src/domains/interop/registry.ts +6 -2
- package/src/domains/interop/types.ts +4 -0
- package/src/domains/lifecycle/migrations/index.ts +4 -0
- package/src/domains/memory/task-memory-policy.ts +70 -26
- package/src/domains/memory/task-memory-telemetry.ts +1 -0
- package/src/domains/middleware/index.ts +0 -1
- package/src/domains/middleware/marketplace-offer.ts +3 -35
- package/src/domains/middleware/memory-intervention.ts +127 -32
- package/src/domains/middleware/memory-step-endpoint.ts +3 -2
- package/src/domains/middleware/skills-reminder.ts +31 -2
- package/src/domains/observability/compaction-usage.ts +118 -0
- package/src/domains/observability/cost.ts +1 -1
- package/src/domains/observability/extension.ts +6 -1
- package/src/domains/observability/out-of-turn-usage.ts +52 -21
- package/src/domains/providers/contract.ts +4 -1
- package/src/domains/providers/extension.ts +40 -9
- package/src/domains/providers/model-capabilities.ts +9 -0
- package/src/domains/providers/model-discovery.ts +2 -0
- package/src/domains/providers/model-runtime-capabilities.ts +15 -5
- package/src/domains/providers/models/local-models/clio-coder-local-coding-targets.yaml +32 -12
- package/src/domains/providers/runtimes/antigravity/antigravity-code.ts +225 -45
- package/src/domains/providers/runtimes/common/lmstudio-http.ts +6 -2
- package/src/domains/providers/runtimes/common/local-synth.ts +2 -0
- package/src/domains/providers/runtimes/protocol/litellm.ts +119 -29
- package/src/domains/providers/support.ts +11 -5
- package/src/domains/providers/target-model-cache.ts +25 -2
- package/src/domains/providers/types/capability-flags.ts +2 -0
- package/src/domains/providers/types/runtime-descriptor.ts +20 -1
- package/src/domains/providers/types/target-descriptor.ts +19 -0
- package/src/domains/resources/index.ts +3 -0
- package/src/domains/resources/skills/install.ts +72 -7
- package/src/domains/resources/skills/loader.ts +7 -0
- package/src/domains/resources/skills/marketplace.ts +63 -11
- package/src/domains/safety/autonomy.ts +15 -0
- package/src/domains/safety/index.ts +1 -0
- package/src/domains/safety/path-policy.ts +1 -1
- package/src/domains/safety/policy-engine.ts +34 -11
- package/src/domains/safety/protected-artifacts.ts +191 -88
- package/src/domains/safety/run-effects.ts +2 -22
- package/src/domains/safety/skill-authority.ts +55 -0
- package/src/domains/session/compaction/compact.ts +72 -22
- package/src/domains/session/entries.ts +6 -0
- package/src/domains/session/usage.ts +3 -3
- package/src/engine/agent.ts +13 -3
- package/src/engine/ai.ts +26 -8
- package/src/engine/antigravity/subprocess-runtime.ts +386 -120
- package/src/engine/api-registry.ts +3 -0
- package/src/engine/apis/openai-completions.ts +117 -14
- package/src/engine/external-subprocess.ts +114 -6
- package/src/entry/background-model-metadata.ts +18 -0
- package/src/entry/compaction-prompt.ts +57 -0
- package/src/entry/orchestrator.ts +405 -216
- package/src/entry/task-memory-lifecycle.ts +35 -0
- package/src/interactive/chat-loop-messages.ts +13 -4
- package/src/interactive/chat-loop.ts +65 -2
- package/src/interactive/chat-renderer.ts +1 -0
- package/src/interactive/cost-overlay.ts +26 -2
- package/src/interactive/interactive-slash-runtime.ts +2 -1
- package/src/interactive/renderers/worker-entry.ts +32 -0
- package/src/interactive/slash-commands.ts +24 -6
- package/src/interactive/theme/labels.ts +19 -13
- package/src/interactive/turn-context.ts +9 -5
- package/src/interactive/turn-recovery.ts +8 -0
- package/src/interactive/turn-runtime.ts +27 -11
- package/src/interactive/turn-state.ts +7 -0
- package/src/interactive/worker-receipts.ts +1 -0
- package/src/interactive/worker-stream.ts +6 -1
- package/src/tools/context/index.ts +30 -9
- package/src/tools/dispatch-arguments.ts +1 -0
- package/src/tools/dispatch-event-text.ts +10 -0
- package/src/tools/dispatch-plan.ts +1 -0
- package/src/tools/dispatch-runner.ts +12 -0
- package/src/tools/registry.ts +11 -5
- package/src/tools/worker-evidence.ts +3 -1
- package/src/worker/spec-contract.ts +4 -0
- package/dist/chunk-2Z2IKEXI.js +0 -1554
- package/dist/reset-OAQP3W4O.js +0 -230
- package/dist/uninstall-N34PCTGJ.js +0 -331
- package/dist/upgrade-PXK3S2YM.js +0 -325
|
@@ -1,4 +1,16 @@
|
|
|
1
1
|
import { createRequire as __clioCreateRequire } from "node:module"; const require = __clioCreateRequire(import.meta.url);
|
|
2
|
+
import {
|
|
3
|
+
applyTaskWorktree,
|
|
4
|
+
captureWorkspaceSnapshot,
|
|
5
|
+
cleanupTaskWorktree,
|
|
6
|
+
createTaskWorktree,
|
|
7
|
+
createWriteBoundaryEnforcer,
|
|
8
|
+
gitCheckoutRoot
|
|
9
|
+
} from "./chunk-B4VEBZKF.js";
|
|
10
|
+
import {
|
|
11
|
+
executionPlanAncestors,
|
|
12
|
+
spliceExecutionPlan
|
|
13
|
+
} from "./chunk-E3TPLWFX.js";
|
|
2
14
|
import {
|
|
3
15
|
decideReviewGate,
|
|
4
16
|
materializePendingGateDecision,
|
|
@@ -6,7 +18,7 @@ import {
|
|
|
6
18
|
readGateDecisionArtifactsForRunIds,
|
|
7
19
|
stagePendingGateDecision,
|
|
8
20
|
verifyGateDecisionArtifact
|
|
9
|
-
} from "./chunk-
|
|
21
|
+
} from "./chunk-WRBAGUNF.js";
|
|
10
22
|
import {
|
|
11
23
|
RUN_RECEIPT_INTEGRITY_ALGORITHM,
|
|
12
24
|
RUN_RECEIPT_INTEGRITY_VERSION,
|
|
@@ -24,40 +36,28 @@ import {
|
|
|
24
36
|
trustVerdict,
|
|
25
37
|
verifyReceiptIntegrity,
|
|
26
38
|
withReceiptIntegrity
|
|
27
|
-
} from "./chunk-
|
|
39
|
+
} from "./chunk-IWT4SF4R.js";
|
|
28
40
|
import {
|
|
29
41
|
protectedArtifactFromSessionEntry,
|
|
30
42
|
protectedArtifactStateFromSessionEntries,
|
|
31
43
|
readAuditRows,
|
|
32
44
|
readSessionEntriesForId,
|
|
33
45
|
responseModelIdObservationFromRecord
|
|
34
|
-
} from "./chunk-
|
|
46
|
+
} from "./chunk-JKKCYP3C.js";
|
|
47
|
+
import {
|
|
48
|
+
loadEvalArtifact,
|
|
49
|
+
parseEvalArtifactV4,
|
|
50
|
+
redactArtifactForStorage,
|
|
51
|
+
sumEvalHarnessMetrics
|
|
52
|
+
} from "./chunk-FTMGRKEF.js";
|
|
35
53
|
import {
|
|
36
54
|
codeStepDir,
|
|
37
55
|
writeCodeStepRecord
|
|
38
|
-
} from "./chunk-
|
|
39
|
-
import {
|
|
40
|
-
applyTaskWorktree,
|
|
41
|
-
captureWorkspaceSnapshot,
|
|
42
|
-
cleanupTaskWorktree,
|
|
43
|
-
createTaskWorktree,
|
|
44
|
-
createWriteBoundaryEnforcer,
|
|
45
|
-
gitCheckoutRoot
|
|
46
|
-
} from "./chunk-W6NIE6OW.js";
|
|
47
|
-
import {
|
|
48
|
-
executionPlanAncestors,
|
|
49
|
-
spliceExecutionPlan
|
|
50
|
-
} from "./chunk-DZAW46HP.js";
|
|
56
|
+
} from "./chunk-XRZT5WY5.js";
|
|
51
57
|
import {
|
|
52
58
|
parseRigorOverride,
|
|
53
59
|
resolveRigor
|
|
54
60
|
} from "./chunk-RVG5JXAL.js";
|
|
55
|
-
import {
|
|
56
|
-
loadEvalArtifact,
|
|
57
|
-
parseEvalArtifactV4,
|
|
58
|
-
redactArtifactForStorage,
|
|
59
|
-
sumEvalHarnessMetrics
|
|
60
|
-
} from "./chunk-5PFYMY2V.js";
|
|
61
61
|
import {
|
|
62
62
|
defaultRunEventJournal,
|
|
63
63
|
removeRunEventJournals
|
|
@@ -69,6 +69,10 @@ import {
|
|
|
69
69
|
durableAssistantTextFromEvent,
|
|
70
70
|
startDispatchEventPump
|
|
71
71
|
} from "./chunk-T56WDKA5.js";
|
|
72
|
+
import {
|
|
73
|
+
FLEET_COMMAND_BASE_ENV,
|
|
74
|
+
normalizeWriteBoundary
|
|
75
|
+
} from "./chunk-2VIKGWFZ.js";
|
|
72
76
|
import {
|
|
73
77
|
LOCAL_NODE_ID,
|
|
74
78
|
computeSettingsFingerprint,
|
|
@@ -79,11 +83,7 @@ import {
|
|
|
79
83
|
receiptAttestationFields,
|
|
80
84
|
routeFactVerdict,
|
|
81
85
|
spawnNativeWorker
|
|
82
|
-
} from "./chunk-
|
|
83
|
-
import {
|
|
84
|
-
FLEET_COMMAND_BASE_ENV,
|
|
85
|
-
normalizeWriteBoundary
|
|
86
|
-
} from "./chunk-3F7VUY77.js";
|
|
86
|
+
} from "./chunk-6PTFB5VS.js";
|
|
87
87
|
import {
|
|
88
88
|
AGENT_LEDGER_PROMPT_MAX_CHARS,
|
|
89
89
|
COUNCIL_MIN_MEMBERS,
|
|
@@ -126,7 +126,7 @@ import {
|
|
|
126
126
|
serializeWorkerRuntimeDescriptor,
|
|
127
127
|
toolPromptHintsForNames,
|
|
128
128
|
validateJobSpec
|
|
129
|
-
} from "./chunk-
|
|
129
|
+
} from "./chunk-PAJQJ7BS.js";
|
|
130
130
|
import {
|
|
131
131
|
decideRoute,
|
|
132
132
|
defaultRoutingIntent,
|
|
@@ -144,13 +144,13 @@ import {
|
|
|
144
144
|
routingIntentRejection,
|
|
145
145
|
sameRouteIdentity,
|
|
146
146
|
toRouteCandidate
|
|
147
|
-
} from "./chunk-
|
|
147
|
+
} from "./chunk-EKCHAPYA.js";
|
|
148
148
|
import {
|
|
149
149
|
assessFinishContract
|
|
150
|
-
} from "./chunk-
|
|
150
|
+
} from "./chunk-RSJ25QSL.js";
|
|
151
151
|
import {
|
|
152
152
|
WRITE_ROOT_REFUSED_TOOLS
|
|
153
|
-
} from "./chunk-
|
|
153
|
+
} from "./chunk-XIVNBFZS.js";
|
|
154
154
|
import {
|
|
155
155
|
describeCallAction
|
|
156
156
|
} from "./chunk-NEDJ26B5.js";
|
|
@@ -168,26 +168,7 @@ import {
|
|
|
168
168
|
} from "./chunk-H7IXIC72.js";
|
|
169
169
|
import {
|
|
170
170
|
compareCodepoints
|
|
171
|
-
} from "./chunk-
|
|
172
|
-
import {
|
|
173
|
-
DEFAULT_AUTONOMY_LEVEL,
|
|
174
|
-
autonomyDenyRejection,
|
|
175
|
-
isSkillActivation,
|
|
176
|
-
mapAutonomy
|
|
177
|
-
} from "./chunk-FSP7CMNU.js";
|
|
178
|
-
import {
|
|
179
|
-
createRedactionTally,
|
|
180
|
-
redactSecretsDeep,
|
|
181
|
-
redactSecretsText
|
|
182
|
-
} from "./chunk-4BJ5BYCE.js";
|
|
183
|
-
import {
|
|
184
|
-
truncateUtf8
|
|
185
|
-
} from "./chunk-6XLNIQDB.js";
|
|
186
|
-
import {
|
|
187
|
-
canonicalJson,
|
|
188
|
-
endpointIdentityHash,
|
|
189
|
-
parseAgentLedgerBody
|
|
190
|
-
} from "./chunk-VAVR4IJY.js";
|
|
171
|
+
} from "./chunk-7DICMOS6.js";
|
|
191
172
|
import {
|
|
192
173
|
PATH_BOUNDARY_MAX_ENTRIES,
|
|
193
174
|
pathBoundaryCovers,
|
|
@@ -203,10 +184,10 @@ import {
|
|
|
203
184
|
resolveAgentToolCompatibility,
|
|
204
185
|
resultContractAuthorship,
|
|
205
186
|
validateRecipeResult
|
|
206
|
-
} from "./chunk-
|
|
187
|
+
} from "./chunk-B4OAX3SI.js";
|
|
207
188
|
import {
|
|
208
189
|
detectValidationCommand
|
|
209
|
-
} from "./chunk-
|
|
190
|
+
} from "./chunk-I7ZPNEJM.js";
|
|
210
191
|
import {
|
|
211
192
|
isProjectVerifierCheckId,
|
|
212
193
|
isVerificationScriptName
|
|
@@ -214,6 +195,25 @@ import {
|
|
|
214
195
|
import {
|
|
215
196
|
canonicalizeExistingPath
|
|
216
197
|
} from "./chunk-ECH6PKUQ.js";
|
|
198
|
+
import {
|
|
199
|
+
truncateUtf8
|
|
200
|
+
} from "./chunk-6XLNIQDB.js";
|
|
201
|
+
import {
|
|
202
|
+
canonicalJson,
|
|
203
|
+
endpointIdentityHash,
|
|
204
|
+
parseAgentLedgerBody
|
|
205
|
+
} from "./chunk-VAVR4IJY.js";
|
|
206
|
+
import {
|
|
207
|
+
DEFAULT_AUTONOMY_LEVEL,
|
|
208
|
+
autonomyDenyRejection,
|
|
209
|
+
isSkillActivation,
|
|
210
|
+
mapAutonomy
|
|
211
|
+
} from "./chunk-JGRC33J2.js";
|
|
212
|
+
import {
|
|
213
|
+
createRedactionTally,
|
|
214
|
+
redactSecretsDeep,
|
|
215
|
+
redactSecretsText
|
|
216
|
+
} from "./chunk-4BJ5BYCE.js";
|
|
217
217
|
import {
|
|
218
218
|
ToolNames,
|
|
219
219
|
isBuiltinToolName
|
|
@@ -226,6 +226,8 @@ import {
|
|
|
226
226
|
endpointLabel,
|
|
227
227
|
firstRuntimeResolutionError,
|
|
228
228
|
foregroundStreamUsage,
|
|
229
|
+
gatewayRoutingObservationFromRecord,
|
|
230
|
+
gatewayRoutingObservationLabel,
|
|
229
231
|
isDispatchEligibleRuntime,
|
|
230
232
|
normalizeCostProvenance,
|
|
231
233
|
resolveEndpointCapacities,
|
|
@@ -233,13 +235,13 @@ import {
|
|
|
233
235
|
resolveRuntimeTarget,
|
|
234
236
|
runtimeResolutionWarnings,
|
|
235
237
|
runtimeTargetSnapshot
|
|
236
|
-
} from "./chunk-
|
|
238
|
+
} from "./chunk-XPWWI35G.js";
|
|
237
239
|
import {
|
|
238
240
|
ceilChars
|
|
239
|
-
} from "./chunk-
|
|
241
|
+
} from "./chunk-NZMNUPZZ.js";
|
|
240
242
|
import {
|
|
241
243
|
atomicWrite
|
|
242
|
-
} from "./chunk-
|
|
244
|
+
} from "./chunk-HAXOFFRH.js";
|
|
243
245
|
import {
|
|
244
246
|
assertSafeId
|
|
245
247
|
} from "./chunk-R346GLFC.js";
|
|
@@ -250,19 +252,6 @@ import {
|
|
|
250
252
|
import {
|
|
251
253
|
BusChannels
|
|
252
254
|
} from "./chunk-F4EKGO4N.js";
|
|
253
|
-
import {
|
|
254
|
-
attributeCommitMessage,
|
|
255
|
-
gitCommitAttributionEnabled,
|
|
256
|
-
reportCommitAttributionDiagnostic,
|
|
257
|
-
withManagedGitCommitAttributionEnvironment
|
|
258
|
-
} from "./chunk-JIEGK6UF.js";
|
|
259
|
-
import {
|
|
260
|
-
MAX_TIMER_DELAY_MS,
|
|
261
|
-
rawDurationMs
|
|
262
|
-
} from "./chunk-EBY63B7G.js";
|
|
263
|
-
import {
|
|
264
|
-
AI_AGENT_NAME
|
|
265
|
-
} from "./chunk-6EJMN2Y3.js";
|
|
266
255
|
import {
|
|
267
256
|
readClioVersion,
|
|
268
257
|
readPiMonoVersion,
|
|
@@ -278,9 +267,22 @@ import {
|
|
|
278
267
|
GUARDRAIL_DEFAULTS,
|
|
279
268
|
resolveGuardrail
|
|
280
269
|
} from "./chunk-S66XZJOF.js";
|
|
270
|
+
import {
|
|
271
|
+
attributeCommitMessage,
|
|
272
|
+
gitCommitAttributionEnabled,
|
|
273
|
+
reportCommitAttributionDiagnostic,
|
|
274
|
+
withManagedGitCommitAttributionEnvironment
|
|
275
|
+
} from "./chunk-JIEGK6UF.js";
|
|
276
|
+
import {
|
|
277
|
+
MAX_TIMER_DELAY_MS,
|
|
278
|
+
rawDurationMs
|
|
279
|
+
} from "./chunk-EBY63B7G.js";
|
|
280
|
+
import {
|
|
281
|
+
AI_AGENT_NAME
|
|
282
|
+
} from "./chunk-6EJMN2Y3.js";
|
|
281
283
|
import {
|
|
282
284
|
targetRequiresAuth
|
|
283
|
-
} from "./chunk-
|
|
285
|
+
} from "./chunk-ID64D7PE.js";
|
|
284
286
|
import {
|
|
285
287
|
FILE_LOCK_ACQUIRE_TIMEOUT_MS,
|
|
286
288
|
withStateFileLock,
|
|
@@ -291,15 +293,15 @@ import {
|
|
|
291
293
|
processAlive,
|
|
292
294
|
processBirthToken
|
|
293
295
|
} from "./chunk-3I7MS7N2.js";
|
|
296
|
+
import {
|
|
297
|
+
resolveEffectivePricing
|
|
298
|
+
} from "./chunk-5OIVVPHF.js";
|
|
294
299
|
import {
|
|
295
300
|
clioDataDir,
|
|
296
301
|
clioStateDir,
|
|
297
302
|
resolveClioDirs,
|
|
298
303
|
stateRootRemoved
|
|
299
304
|
} from "./chunk-BYP5D4HI.js";
|
|
300
|
-
import {
|
|
301
|
-
resolveEffectivePricing
|
|
302
|
-
} from "./chunk-O42A54GG.js";
|
|
303
305
|
import {
|
|
304
306
|
init_esm_shims
|
|
305
307
|
} from "./chunk-3R73A4XB.js";
|
|
@@ -1239,6 +1241,19 @@ function capacityLeaseUsage(options) {
|
|
|
1239
1241
|
}
|
|
1240
1242
|
return { global: leases.length, nodes, endpoints, endpointHolders };
|
|
1241
1243
|
}
|
|
1244
|
+
function endpointCapacityUsage() {
|
|
1245
|
+
return withStateFileLockSync(capacityStateLockPath(), () => {
|
|
1246
|
+
const file = readCapacityStateUnsafe();
|
|
1247
|
+
reclaim(file, Date.now(), defaultProbe);
|
|
1248
|
+
const held2 = heldReservationUsage(file.reservations);
|
|
1249
|
+
const usage = { ...foregroundStreamUsage() };
|
|
1250
|
+
for (const [key, count] of Object.entries(held2.endpoints)) usage[key] = (usage[key] ?? 0) + count;
|
|
1251
|
+
for (const lease of file.leases) {
|
|
1252
|
+
if (lease.endpointKey !== void 0) usage[lease.endpointKey] = (usage[lease.endpointKey] ?? 0) + 1;
|
|
1253
|
+
}
|
|
1254
|
+
return usage;
|
|
1255
|
+
});
|
|
1256
|
+
}
|
|
1242
1257
|
function createNodeLeaseUsageReader(options) {
|
|
1243
1258
|
const cacheMs = options.cacheMs ?? 200;
|
|
1244
1259
|
let cache = null;
|
|
@@ -3715,6 +3730,19 @@ function createLeaseSlotGuard(controller, leaseId, ownedByAssignment) {
|
|
|
3715
3730
|
}
|
|
3716
3731
|
var PUMP_MIN_MS = 10;
|
|
3717
3732
|
var PUMP_MAX_MS = 500;
|
|
3733
|
+
function foregroundEndpointBlock(input) {
|
|
3734
|
+
if (input.endpointKey === void 0) return null;
|
|
3735
|
+
const limit = input.limits.endpoints[input.endpointKey];
|
|
3736
|
+
const active = input.usage.endpoints[input.endpointKey] ?? 0;
|
|
3737
|
+
const holders = input.usage.endpointHolders?.[input.endpointKey];
|
|
3738
|
+
if (limit === void 0 || active < limit || !holders || holders.foregroundStreams < 1) return null;
|
|
3739
|
+
return [
|
|
3740
|
+
`dispatch: admission denied: endpoint '${endpointLabel(input.endpointKey)}' cannot open a worker slot`,
|
|
3741
|
+
` while ${describeEndpointCapacityHolders(holders)} (${active}/${limit} slots).`,
|
|
3742
|
+
" The foreground agent cannot release its slot until this tool call returns, so waiting here would deadlock.",
|
|
3743
|
+
" Point workers at a second endpoint or raise this target's maxConcurrentRequests to the server's actual slot count."
|
|
3744
|
+
].join("");
|
|
3745
|
+
}
|
|
3718
3746
|
function describeAdmissionFailure(input) {
|
|
3719
3747
|
if (input.state === "canceled") return "dispatch: admission canceled before a capacity slot opened";
|
|
3720
3748
|
if (input.endpointKey !== void 0) {
|
|
@@ -3805,6 +3833,14 @@ function createCapacityAdmissionController(options) {
|
|
|
3805
3833
|
const controller = {
|
|
3806
3834
|
async admit(input) {
|
|
3807
3835
|
if (draining) throw new Error("dispatch: admission denied: this process is shutting down");
|
|
3836
|
+
const limits = options.limits();
|
|
3837
|
+
const usage = options.usage?.() ?? capacityLeaseUsage({ nowMs: now() });
|
|
3838
|
+
const foregroundBlock = foregroundEndpointBlock({
|
|
3839
|
+
...input.endpointKey !== void 0 ? { endpointKey: input.endpointKey } : {},
|
|
3840
|
+
limits,
|
|
3841
|
+
usage
|
|
3842
|
+
});
|
|
3843
|
+
if (foregroundBlock !== null) throw new Error(foregroundBlock);
|
|
3808
3844
|
const queuedAt = now();
|
|
3809
3845
|
const requestId = `admit-${queuedAt.toString(36)}-${randomBytes3(5).toString("hex")}`;
|
|
3810
3846
|
pending.set(input.assignmentId, requestId);
|
|
@@ -4367,6 +4403,7 @@ var REPORTING_CONTRACT_KINDS = /* @__PURE__ */ new Set([
|
|
|
4367
4403
|
"scout-report",
|
|
4368
4404
|
"verifier-report",
|
|
4369
4405
|
"research-report",
|
|
4406
|
+
"world-knowledge-report",
|
|
4370
4407
|
"provenance-report",
|
|
4371
4408
|
"debugger-report",
|
|
4372
4409
|
"oracle-report"
|
|
@@ -6529,6 +6566,11 @@ function receiptResponseModelIdObservationLabel(receipt) {
|
|
|
6529
6566
|
});
|
|
6530
6567
|
return `response_model_id_observation=${labels.join(",")}`;
|
|
6531
6568
|
}
|
|
6569
|
+
function receiptGatewayRoutingLabel(receipt) {
|
|
6570
|
+
const observations = (receipt.upstreamResponses ?? []).map((response) => gatewayRoutingObservationFromRecord(response)).filter((observation) => observation !== null);
|
|
6571
|
+
if (observations.length === 0) return null;
|
|
6572
|
+
return observations.map(gatewayRoutingObservationLabel).join(" | ");
|
|
6573
|
+
}
|
|
6532
6574
|
|
|
6533
6575
|
// src/tools/dispatch-run-events.ts
|
|
6534
6576
|
var RUN_TAIL_ENTRY_LIMIT = 100;
|
|
@@ -7225,6 +7267,36 @@ function describeUngroundedValidations(grounding) {
|
|
|
7225
7267
|
return grounding.basis === "no-command-executed" ? `unverifiable validation: this run claimed ${named} passed and executed no command at all (${grounding.grounded}/${grounding.claimed} claims grounded)` : `unmatched validation: this run claimed ${named} passed; it did run commands, but none the harness recognizes as that check (${grounding.grounded}/${grounding.claimed} claims grounded)`;
|
|
7226
7268
|
}
|
|
7227
7269
|
|
|
7270
|
+
// src/domains/dispatch/worker-model-metadata.ts
|
|
7271
|
+
init_esm_shims();
|
|
7272
|
+
async function prepareWorkerModelMetadata(providers, targetId, deadlineAt, signal, now = Date.now) {
|
|
7273
|
+
signal?.throwIfAborted();
|
|
7274
|
+
const status = providers.list().find((entry) => entry.target.id === targetId);
|
|
7275
|
+
if (status?.target.runtime !== "litellm" || status.health.lastCheckAt !== null) return;
|
|
7276
|
+
const remainingMs = deadlineAt - now();
|
|
7277
|
+
const deadlineError = new Error("dispatch: admission deadline expired during worker model metadata preparation");
|
|
7278
|
+
if (remainingMs <= 0) throw deadlineError;
|
|
7279
|
+
const controller = new AbortController();
|
|
7280
|
+
const abort = () => controller.abort(signal?.reason);
|
|
7281
|
+
signal?.addEventListener("abort", abort, { once: true });
|
|
7282
|
+
const timer = setTimeout(() => controller.abort(deadlineError), Math.min(remainingMs, 2147483647));
|
|
7283
|
+
let rejectAborted;
|
|
7284
|
+
const aborted = new Promise((_resolve, reject) => {
|
|
7285
|
+
rejectAborted = reject;
|
|
7286
|
+
});
|
|
7287
|
+
const onAbort = () => rejectAborted(controller.signal.reason);
|
|
7288
|
+
controller.signal.addEventListener("abort", onAbort, { once: true });
|
|
7289
|
+
try {
|
|
7290
|
+
await Promise.race([providers.probeTarget(targetId, { reasoning: false, signal: controller.signal }), aborted]);
|
|
7291
|
+
controller.signal.throwIfAborted();
|
|
7292
|
+
if (now() >= deadlineAt) throw deadlineError;
|
|
7293
|
+
} finally {
|
|
7294
|
+
clearTimeout(timer);
|
|
7295
|
+
signal?.removeEventListener("abort", abort);
|
|
7296
|
+
controller.signal.removeEventListener("abort", onAbort);
|
|
7297
|
+
}
|
|
7298
|
+
}
|
|
7299
|
+
|
|
7228
7300
|
// src/domains/dispatch/extension.ts
|
|
7229
7301
|
var DEFAULT_HEARTBEAT_INTERVAL_MS = 1e3;
|
|
7230
7302
|
var DEFAULT_RESILIENCE_COOLDOWN_MS = 15e3;
|
|
@@ -7750,6 +7822,13 @@ function runtimeLimitations(runtimeKind, runtimeId) {
|
|
|
7750
7822
|
"Claude CLI subprocess executes Claude Code tools; Clio constrains permission mode and forbids dangerous bypass unless explicitly gated"
|
|
7751
7823
|
];
|
|
7752
7824
|
}
|
|
7825
|
+
if (runtimeKind === "subprocess" && runtimeId === "antigravity-code") {
|
|
7826
|
+
return [
|
|
7827
|
+
"Antigravity CLI owns its internal tools, network activity, prompts, and approvals; Clio observes only structured stream output and does not provide per-tool mediation or complete tool telemetry",
|
|
7828
|
+
"Antigravity conversation ids are recorded only as opaque provider observations; Clio does not resume them",
|
|
7829
|
+
"Antigravity runs are one-shot and never retried automatically"
|
|
7830
|
+
];
|
|
7831
|
+
}
|
|
7753
7832
|
return [];
|
|
7754
7833
|
}
|
|
7755
7834
|
function assertRuntimeCanHonorWorkerPermissionMode(runtime, onPermission) {
|
|
@@ -7772,12 +7851,6 @@ function assertWriteRootsEnforceable(runtime, writeRoots) {
|
|
|
7772
7851
|
`dispatch: runtime '${runtime.id}' cannot enforce writeRoots: subprocess workers run their own tool surface without Clio per-tool mediation. Dispatch to a native or claude-sdk worker.`
|
|
7773
7852
|
);
|
|
7774
7853
|
}
|
|
7775
|
-
function assertWorkerBudgetEnforceable(runtime, hasDeclaredBudget) {
|
|
7776
|
-
if (!hasDeclaredBudget || runtime.kind !== "subprocess") return;
|
|
7777
|
-
throw new Error(
|
|
7778
|
-
`dispatch: runtime '${runtime.id}' cannot enforce an explicit dispatch budget because subprocess workers do not expose per-tool mediation; choose a native or claude-sdk worker`
|
|
7779
|
-
);
|
|
7780
|
-
}
|
|
7781
7854
|
var TOOL_CARRYING_API_FAMILIES = /* @__PURE__ */ new Set([
|
|
7782
7855
|
"openai-completions",
|
|
7783
7856
|
"openai-responses",
|
|
@@ -7828,7 +7901,17 @@ function assertPostRuntimeToolCompatibility(agentId, spec, effectiveTools, targe
|
|
|
7828
7901
|
function workerToolCallHardCap(settings) {
|
|
7829
7902
|
return settings?.fleet.limits.toolCallsPerRun ?? GUARDRAIL_DEFAULTS.workerToolCallCap;
|
|
7830
7903
|
}
|
|
7904
|
+
function assertWorkerBudgetEnforceable(runtime, hasDeclaredBudget) {
|
|
7905
|
+
if (!hasDeclaredBudget || runtime.kind !== "subprocess" || runtime.externalAgentLoop !== void 0) return;
|
|
7906
|
+
throw new Error(
|
|
7907
|
+
`dispatch: runtime '${runtime.id}' cannot enforce an explicit dispatch budget because subprocess workers do not expose per-tool mediation; choose a native or claude-sdk worker`
|
|
7908
|
+
);
|
|
7909
|
+
}
|
|
7910
|
+
function budgetEnforcementForRuntime(runtime) {
|
|
7911
|
+
return runtime.kind === "subprocess" ? "external-one-shot" : "native-per-tool";
|
|
7912
|
+
}
|
|
7831
7913
|
function resolveEffectiveWorkerBudget(input) {
|
|
7914
|
+
assertWorkerBudgetEnforceable(input.runtime, input.declared !== null || input.req.budget !== void 0);
|
|
7832
7915
|
const hardCap = workerToolCallHardCap(input.settings);
|
|
7833
7916
|
const declared = input.declared ?? {
|
|
7834
7917
|
toolCalls: hardCap,
|
|
@@ -7842,7 +7925,8 @@ function resolveEffectiveWorkerBudget(input) {
|
|
|
7842
7925
|
hardCap,
|
|
7843
7926
|
hasReadTool: input.allowedTools.includes(ToolNames.Read),
|
|
7844
7927
|
retry: (input.req.lineage?.attempt ?? 0) > 0,
|
|
7845
|
-
revision: input.req.gate?.role === "builder" && input.req.gate.cycle > 1 && input.req.gate.verdict === "revise"
|
|
7928
|
+
revision: input.req.gate?.role === "builder" && input.req.gate.cycle > 1 && input.req.gate.verdict === "revise",
|
|
7929
|
+
enforcement: budgetEnforcementForRuntime(input.runtime)
|
|
7846
7930
|
});
|
|
7847
7931
|
}
|
|
7848
7932
|
function frozenProtectedArtifactState(state) {
|
|
@@ -8100,6 +8184,9 @@ function clampWorkerAutonomy(session, requested) {
|
|
|
8100
8184
|
if (requested === void 0) return session;
|
|
8101
8185
|
return AUTONOMY_ORDER[requested] < AUTONOMY_ORDER[session] ? requested : session;
|
|
8102
8186
|
}
|
|
8187
|
+
function effectiveWorkerAutonomy(session, requested, capabilityClass) {
|
|
8188
|
+
return clampWorkerAutonomy(session, capabilityClass === "read-only" ? "read-only" : requested);
|
|
8189
|
+
}
|
|
8103
8190
|
function requestedAutonomyEvidence(sessionAutonomy, requestedAutonomy) {
|
|
8104
8191
|
return requestedAutonomy === void 0 ? {} : { requestedAutonomy, sessionAutonomy };
|
|
8105
8192
|
}
|
|
@@ -8624,7 +8711,7 @@ function createDispatchBundle(context, options) {
|
|
|
8624
8711
|
reason: outcome
|
|
8625
8712
|
});
|
|
8626
8713
|
}
|
|
8627
|
-
async function admitAssignmentCapacity(req, nodeId, timing, endpoint) {
|
|
8714
|
+
async function admitAssignmentCapacity(req, nodeId, timing, endpoint, signal) {
|
|
8628
8715
|
const queuedAt = now();
|
|
8629
8716
|
timing.queuedAt = new Date(queuedAt).toISOString();
|
|
8630
8717
|
const assignmentId = req.lineage?.rootRunId ?? req.runIdHint ?? `pending-${queuedAt.toString(36)}-${randomBytes5(6).toString("hex")}`;
|
|
@@ -8636,7 +8723,12 @@ function createDispatchBundle(context, options) {
|
|
|
8636
8723
|
req.reservation.memberId,
|
|
8637
8724
|
(error) => reportDispatchDiagnostic("read plan queue identity", error)
|
|
8638
8725
|
);
|
|
8726
|
+
const cancel = () => {
|
|
8727
|
+
capacityAdmission.cancel(assignmentId);
|
|
8728
|
+
};
|
|
8729
|
+
signal?.addEventListener("abort", cancel, { once: true });
|
|
8639
8730
|
try {
|
|
8731
|
+
signal?.throwIfAborted();
|
|
8640
8732
|
const admitted = await capacityAdmission.admit({
|
|
8641
8733
|
assignmentId,
|
|
8642
8734
|
nodeId,
|
|
@@ -8657,6 +8749,8 @@ function createDispatchBundle(context, options) {
|
|
|
8657
8749
|
else await failQueuedAssignment(assignmentId);
|
|
8658
8750
|
}
|
|
8659
8751
|
throw error;
|
|
8752
|
+
} finally {
|
|
8753
|
+
signal?.removeEventListener("abort", cancel);
|
|
8660
8754
|
}
|
|
8661
8755
|
}
|
|
8662
8756
|
function rebindReservationSlot(req, nodeId, endpoint, costUsd, settings) {
|
|
@@ -8749,6 +8843,13 @@ function createDispatchBundle(context, options) {
|
|
|
8749
8843
|
if (draining) return { scheduled: false };
|
|
8750
8844
|
const rootRunId = run.lineage.rootRunId;
|
|
8751
8845
|
if (!retryChainIsLive(run)) return { scheduled: false };
|
|
8846
|
+
if (providers.getRuntime(run.runtimeId)?.externalAgentLoop?.generatingRetry === "forbidden") {
|
|
8847
|
+
retryBackoff.delete(rootRunId);
|
|
8848
|
+
return {
|
|
8849
|
+
scheduled: false,
|
|
8850
|
+
settlementDetail: "automatic retry suppressed because this external agent loop is one-shot and Clio cannot prove replay is side-effect-free"
|
|
8851
|
+
};
|
|
8852
|
+
}
|
|
8752
8853
|
if (!RETRYABLE_OUTCOMES.has(outcome)) {
|
|
8753
8854
|
retryBackoff.delete(rootRunId);
|
|
8754
8855
|
return { scheduled: false };
|
|
@@ -9043,6 +9144,7 @@ function createDispatchBundle(context, options) {
|
|
|
9043
9144
|
const tickMonotonic = monotonicNow();
|
|
9044
9145
|
for (const run of active.values()) {
|
|
9045
9146
|
if (run.aborted || run.stallKilled || !run.heartbeatAt) continue;
|
|
9147
|
+
if (ledger.get(run.runId)?.endedAt !== null) continue;
|
|
9046
9148
|
const heartbeatMonotonic = heartbeatMonotonicAt(run.heartbeatAt);
|
|
9047
9149
|
if (!Number.isFinite(heartbeatMonotonic) || !Number.isFinite(run.heartbeatAt.current)) continue;
|
|
9048
9150
|
if (run.runtimeKind === "acp-delegation") {
|
|
@@ -9192,7 +9294,7 @@ function createDispatchBundle(context, options) {
|
|
|
9192
9294
|
});
|
|
9193
9295
|
}
|
|
9194
9296
|
}
|
|
9195
|
-
async function resolveLifecycle(req, settings) {
|
|
9297
|
+
async function resolveLifecycle(req, settings, metadataDeadlineAt, signal) {
|
|
9196
9298
|
const recipe = agents.get(req.agentId);
|
|
9197
9299
|
if (!recipe) {
|
|
9198
9300
|
throw new Error(`dispatch: unknown agent recipe: ${req.agentId}`);
|
|
@@ -9220,7 +9322,7 @@ function createDispatchBundle(context, options) {
|
|
|
9220
9322
|
publishDispatchPathScope(req, pathScope);
|
|
9221
9323
|
const admission = resolveDispatchAdmissionStage(req, recipe, safety, pathScope);
|
|
9222
9324
|
const targets = readWorkerTargets(settings);
|
|
9223
|
-
const
|
|
9325
|
+
const resolveTarget = () => resolveDispatchTarget(
|
|
9224
9326
|
req,
|
|
9225
9327
|
recipe,
|
|
9226
9328
|
targets.workerDefault,
|
|
@@ -9229,12 +9331,24 @@ function createDispatchBundle(context, options) {
|
|
|
9229
9331
|
targets.targetOrder,
|
|
9230
9332
|
providers
|
|
9231
9333
|
);
|
|
9334
|
+
let target = resolveTarget();
|
|
9335
|
+
const identity = (resolved) => JSON.stringify([
|
|
9336
|
+
resolved.target.id,
|
|
9337
|
+
resolved.runtime.id,
|
|
9338
|
+
resolved.wireModelId,
|
|
9339
|
+
endpointIdentityHash(resolved.target.url)
|
|
9340
|
+
]);
|
|
9341
|
+
const selectedIdentity = identity(target);
|
|
9342
|
+
await prepareWorkerModelMetadata(providers, target.target.id, metadataDeadlineAt, signal, now);
|
|
9343
|
+
target = resolveTarget();
|
|
9344
|
+
if (identity(target) !== selectedIdentity) {
|
|
9345
|
+
throw new Error("dispatch: worker route changed during model metadata preparation; request a fresh admission");
|
|
9346
|
+
}
|
|
9232
9347
|
enforceCapabilityGate(target.target.id, target.modelCapabilities, req.requiredCapabilities);
|
|
9233
9348
|
assertRuntimeCanHonorWorkerPermissionMode(target.runtime, settings?.fleet.permissions.mode ?? "deny");
|
|
9234
|
-
assertWorkerBudgetEnforceable(target.runtime, spec.budget !== null || req.budget !== void 0);
|
|
9235
9349
|
const cwd = req.cwd ?? process.cwd();
|
|
9236
9350
|
const sessionAutonomy = settings?.safety.autonomy ?? "auto-edit";
|
|
9237
|
-
const effectiveAutonomy =
|
|
9351
|
+
const effectiveAutonomy = effectiveWorkerAutonomy(sessionAutonomy, req.autonomy, spec.capabilityClass);
|
|
9238
9352
|
const effectiveTools = withLedgerToolNarrowing(
|
|
9239
9353
|
effectiveToolNames(admission.allowedTools, target, pathScope.writeBoundaries.length > 0, deniedToolNames(req)),
|
|
9240
9354
|
req
|
|
@@ -9271,7 +9385,8 @@ function createDispatchBundle(context, options) {
|
|
|
9271
9385
|
recipeId: recipe.id,
|
|
9272
9386
|
declared: spec.budget,
|
|
9273
9387
|
allowedTools: effectiveTools,
|
|
9274
|
-
settings
|
|
9388
|
+
settings,
|
|
9389
|
+
runtime: target.runtime
|
|
9275
9390
|
});
|
|
9276
9391
|
const tier = spec.projectContextTier;
|
|
9277
9392
|
const project = projectContext && tier === "bounded" ? projectContext.projectStructuredContext(cwd) : null;
|
|
@@ -9521,11 +9636,13 @@ function createDispatchBundle(context, options) {
|
|
|
9521
9636
|
const responseModelIdObservation = responseModelIdObservationFromRecord(event.message, "not-observed");
|
|
9522
9637
|
const differingResponseModelId = readStringOrNull(event.message.responseModel);
|
|
9523
9638
|
const providerResponseId = readStringOrNull(event.message.responseId);
|
|
9639
|
+
const gatewayRouting = gatewayRoutingObservationFromRecord(event.message);
|
|
9524
9640
|
upstreamResponses.push({
|
|
9525
9641
|
requestedModelId,
|
|
9526
9642
|
responseModelIdObservation,
|
|
9527
9643
|
differingResponseModelId,
|
|
9528
|
-
providerResponseId
|
|
9644
|
+
providerResponseId,
|
|
9645
|
+
...gatewayRouting !== null ? { gatewayRouting } : {}
|
|
9529
9646
|
});
|
|
9530
9647
|
if (event.message.stopReason === "error") {
|
|
9531
9648
|
const message = readStringOrNull(event.message.errorMessage);
|
|
@@ -10031,7 +10148,7 @@ function createDispatchBundle(context, options) {
|
|
|
10031
10148
|
finalPromise
|
|
10032
10149
|
};
|
|
10033
10150
|
}
|
|
10034
|
-
async function dispatchAttempt(req, observer, settlement) {
|
|
10151
|
+
async function dispatchAttempt(req, observer, preparation, settlement) {
|
|
10035
10152
|
const requestedAt = new Date(now()).toISOString();
|
|
10036
10153
|
const timing = { requestedAt, decisionStartedAt: requestedAt };
|
|
10037
10154
|
const settings = getEffectiveSettings();
|
|
@@ -10117,7 +10234,9 @@ function createDispatchBundle(context, options) {
|
|
|
10117
10234
|
return attachRouteObservation({ ...delegated, effectiveRequest: req });
|
|
10118
10235
|
}
|
|
10119
10236
|
req = routeAroundCoolingTarget(req, settings) ?? req;
|
|
10120
|
-
const
|
|
10237
|
+
const metadataDeadlineAt = req.assignmentDeadlineAt ?? Date.parse(requestedAt) + (req.routingIntent?.deadlineMs ?? 6e4);
|
|
10238
|
+
const lifecycle = await resolveLifecycle(req, settings, metadataDeadlineAt, preparation?.signal);
|
|
10239
|
+
preparation?.signal?.throwIfAborted();
|
|
10121
10240
|
timing.decisionCompletedAt = new Date(now()).toISOString();
|
|
10122
10241
|
assertResponseSchemaEnforceable(
|
|
10123
10242
|
lifecycle.target.runtime,
|
|
@@ -10184,7 +10303,13 @@ function createDispatchBundle(context, options) {
|
|
|
10184
10303
|
if (queuedIdentity !== null) publishCapacityQueued(queuedIdentity, timing, placement?.node ?? null);
|
|
10185
10304
|
let capacityLease;
|
|
10186
10305
|
try {
|
|
10187
|
-
capacityLease = await admitAssignmentCapacity(
|
|
10306
|
+
capacityLease = await admitAssignmentCapacity(
|
|
10307
|
+
req,
|
|
10308
|
+
placement?.node.id ?? "local",
|
|
10309
|
+
timing,
|
|
10310
|
+
endpoint,
|
|
10311
|
+
preparation?.signal
|
|
10312
|
+
);
|
|
10188
10313
|
} catch (error) {
|
|
10189
10314
|
if (queuedIdentity !== null) publishCapacityAdmissionFailure(queuedIdentity, error);
|
|
10190
10315
|
throw error;
|
|
@@ -10194,6 +10319,7 @@ function createDispatchBundle(context, options) {
|
|
|
10194
10319
|
const leaseSlot = createLeaseSlotGuard(capacityAdmission, capacityLease.leaseId, req.lineage !== void 0);
|
|
10195
10320
|
const ledgerRef = (() => {
|
|
10196
10321
|
try {
|
|
10322
|
+
preparation?.signal?.throwIfAborted();
|
|
10197
10323
|
return requireLedger();
|
|
10198
10324
|
} catch (error) {
|
|
10199
10325
|
leaseSlot.release();
|
|
@@ -10246,6 +10372,7 @@ function createDispatchBundle(context, options) {
|
|
|
10246
10372
|
};
|
|
10247
10373
|
let worker;
|
|
10248
10374
|
try {
|
|
10375
|
+
preparation?.signal?.throwIfAborted();
|
|
10249
10376
|
worker = (placement?.spawn ?? spawnWorker)(spec, {
|
|
10250
10377
|
cwd: lifecycle.cwd,
|
|
10251
10378
|
now,
|
|
@@ -10403,11 +10530,13 @@ function createDispatchBundle(context, options) {
|
|
|
10403
10530
|
const responseModelIdObservation = responseModelIdObservationFromRecord(event.message, "not-observed");
|
|
10404
10531
|
const differingResponseModelId = readStringOrNull(event.message.responseModel);
|
|
10405
10532
|
const providerResponseId = readStringOrNull(event.message.responseId);
|
|
10533
|
+
const gatewayRouting = gatewayRoutingObservationFromRecord(event.message);
|
|
10406
10534
|
upstreamResponses.push({
|
|
10407
10535
|
requestedModelId,
|
|
10408
10536
|
responseModelIdObservation,
|
|
10409
10537
|
differingResponseModelId,
|
|
10410
|
-
providerResponseId
|
|
10538
|
+
providerResponseId,
|
|
10539
|
+
...gatewayRouting !== null ? { gatewayRouting } : {}
|
|
10411
10540
|
});
|
|
10412
10541
|
if (event.message.stopReason === "error") {
|
|
10413
10542
|
const message = readStringOrNull(event.message.errorMessage);
|
|
@@ -10926,7 +11055,7 @@ function createDispatchBundle(context, options) {
|
|
|
10926
11055
|
reachedTerminalResult: resultContractWasDue(finalOutcome, outcomeCode),
|
|
10927
11056
|
output: capturedOutput?.state === "final" ? capturedOutput.text : null,
|
|
10928
11057
|
cwd: lifecycle.cwd,
|
|
10929
|
-
networkAllowed: lifecycle.admission.allowedTools.includes(ToolNames.WebFetch),
|
|
11058
|
+
networkAllowed: lifecycle.admission.allowedTools.includes(ToolNames.WebFetch) || lifecycle.target.runtime.externalAgentLoop?.network === "externally-governed-unobserved",
|
|
10930
11059
|
observedRunEffects,
|
|
10931
11060
|
filesystem: nodeResultContractFilesystem()
|
|
10932
11061
|
});
|
|
@@ -11129,8 +11258,11 @@ function createDispatchBundle(context, options) {
|
|
|
11129
11258
|
effectiveRequest: req
|
|
11130
11259
|
});
|
|
11131
11260
|
}
|
|
11132
|
-
async function dispatch(req, observer, settlement) {
|
|
11133
|
-
let prepared = req
|
|
11261
|
+
async function dispatch(req, observer, preparation, settlement) {
|
|
11262
|
+
let prepared = preparation?.deadlineAt === void 0 ? req : {
|
|
11263
|
+
...req,
|
|
11264
|
+
assignmentDeadlineAt: Math.min(req.assignmentDeadlineAt ?? Number.POSITIVE_INFINITY, preparation.deadlineAt)
|
|
11265
|
+
};
|
|
11134
11266
|
let createdWorktree;
|
|
11135
11267
|
let writerLease;
|
|
11136
11268
|
const writerRecipe = agents.get(req.agentId);
|
|
@@ -11162,7 +11294,7 @@ function createDispatchBundle(context, options) {
|
|
|
11162
11294
|
return rel === ".." || rel.startsWith(`..${sep}`) || isAbsolute2(rel) ? entry : resolvePath(taskWorktree.path, rel);
|
|
11163
11295
|
});
|
|
11164
11296
|
prepared = {
|
|
11165
|
-
...
|
|
11297
|
+
...prepared,
|
|
11166
11298
|
runIdHint: runId,
|
|
11167
11299
|
taskWorktree,
|
|
11168
11300
|
cwd: workerCwd,
|
|
@@ -11172,7 +11304,8 @@ function createDispatchBundle(context, options) {
|
|
|
11172
11304
|
}
|
|
11173
11305
|
let handle;
|
|
11174
11306
|
try {
|
|
11175
|
-
|
|
11307
|
+
preparation?.signal?.throwIfAborted();
|
|
11308
|
+
handle = await dispatchAttempt(prepared, observer, preparation, settlement);
|
|
11176
11309
|
} catch (error) {
|
|
11177
11310
|
writerLease?.release();
|
|
11178
11311
|
if (createdWorktree !== void 0) {
|
|
@@ -11278,7 +11411,6 @@ function createDispatchBundle(context, options) {
|
|
|
11278
11411
|
);
|
|
11279
11412
|
assertPostRuntimeToolCompatibility(req.agentId, agentSpec, effectiveTools, target);
|
|
11280
11413
|
assertRuntimeCanHonorWorkerPermissionMode(target.runtime, settings?.fleet.permissions.mode ?? "deny");
|
|
11281
|
-
assertWorkerBudgetEnforceable(target.runtime, agentSpec.budget !== null || req.budget !== void 0);
|
|
11282
11414
|
assertResponseSchemaEnforceable(target.runtime, target.modelCapabilities, req.responseSchema, effectiveTools.length);
|
|
11283
11415
|
assertWriteRootsEnforceable(target.runtime, pathScope.writeBoundaries);
|
|
11284
11416
|
assertProtectedArtifactsEnforceable(
|
|
@@ -11291,7 +11423,8 @@ function createDispatchBundle(context, options) {
|
|
|
11291
11423
|
recipeId: recipe.id,
|
|
11292
11424
|
declared: agentSpec.budget,
|
|
11293
11425
|
allowedTools: effectiveTools,
|
|
11294
|
-
settings
|
|
11426
|
+
settings,
|
|
11427
|
+
runtime: target.runtime
|
|
11295
11428
|
});
|
|
11296
11429
|
const endpoint = endpointCapacityForTarget(target.target.id);
|
|
11297
11430
|
return {
|
|
@@ -11494,13 +11627,13 @@ function createDispatchBundle(context, options) {
|
|
|
11494
11627
|
yield { type: "batch_events_drained", batch: snapshotBatch(batchRef.current) };
|
|
11495
11628
|
})();
|
|
11496
11629
|
}
|
|
11497
|
-
async function dispatchBatch(reqs) {
|
|
11630
|
+
async function dispatchBatch(reqs, preparation) {
|
|
11498
11631
|
if (reqs.length === 0) throw new Error("dispatch: batch requires at least one request");
|
|
11499
11632
|
const settlement = reqs.length > 1 && reqs.some((req) => (req.resolvedVerification?.length ?? 0) > 0) ? createBatchVerificationGate() : void 0;
|
|
11500
11633
|
const handles = [];
|
|
11501
11634
|
try {
|
|
11502
11635
|
for (const req of reqs) {
|
|
11503
|
-
const handle = await dispatch(req, void 0, settlement);
|
|
11636
|
+
const handle = await dispatch(req, void 0, preparation, settlement);
|
|
11504
11637
|
handles.push({ ...handle, agentId: req.agentId });
|
|
11505
11638
|
}
|
|
11506
11639
|
} catch (err) {
|
|
@@ -15941,6 +16074,7 @@ export {
|
|
|
15941
16074
|
setCapacityDraining,
|
|
15942
16075
|
capacityDrain,
|
|
15943
16076
|
capacityLeaseUsage,
|
|
16077
|
+
endpointCapacityUsage,
|
|
15944
16078
|
openAgentLedger,
|
|
15945
16079
|
renderAgentLedgerBoard,
|
|
15946
16080
|
closeAgentLedger,
|
|
@@ -15949,6 +16083,7 @@ export {
|
|
|
15949
16083
|
UNVERIFIABLE_RECEIPT_VERIFICATION,
|
|
15950
16084
|
assistantTextFromEvent,
|
|
15951
16085
|
receiptResponseModelIdObservationLabel,
|
|
16086
|
+
receiptGatewayRoutingLabel,
|
|
15952
16087
|
createDispatchRunEventRegistry,
|
|
15953
16088
|
readFleetRun,
|
|
15954
16089
|
listFleetRuns,
|
|
@@ -15980,4 +16115,4 @@ export {
|
|
|
15980
16115
|
summarizeEvalResults,
|
|
15981
16116
|
buildEvalEvidence
|
|
15982
16117
|
};
|
|
15983
|
-
//# sourceMappingURL=chunk-
|
|
16118
|
+
//# sourceMappingURL=chunk-AF4YM7Z4.js.map
|