@iowarp/clio-coder 0.4.2 → 0.4.4
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 +98 -0
- package/CONTRIBUTING.md +86 -19
- package/README.md +35 -6
- package/dist/{acp-TMDQZDIG.js → acp-WNAYYF4F.js} +12 -13
- package/dist/{agents-5N5NG3XG.js → agents-3OKXHLOI.js} +60 -57
- package/dist/assets/codewiki.json +1 -1
- package/dist/{auth-Z5CCBXKQ.js → auth-VKNNMGPU.js} +21 -19
- package/dist/{builtins-K6TNDT24.js → builtins-WGALA46I.js} +9 -4
- package/dist/{chunk-XE3PCIXH.js → chunk-23L32XTI.js} +12 -9
- package/dist/{chunk-I64IFBLB.js → chunk-25QBEXRS.js} +18 -11
- package/dist/{chunk-CDNVLKUX.js → chunk-26QSH3EJ.js} +13 -7
- package/dist/{chunk-QQLGQY2A.js → chunk-2ASED4PZ.js} +22 -22
- package/dist/{chunk-MCEPRMZW.js → chunk-2CU2H6KE.js} +2 -2
- package/dist/chunk-2DSOYNFC.js +108 -0
- package/dist/{chunk-72GZI5EV.js → chunk-2JH2WHGE.js} +2 -2
- package/dist/{chunk-I66EAJFY.js → chunk-2WZ546HR.js} +267 -232
- package/dist/{chunk-O3YUNJZ2.js → chunk-2ZSONWVL.js} +82 -25
- package/dist/{chunk-2NHR3NAY.js → chunk-36CT5VVL.js} +331 -42
- package/dist/{chunk-2X4RYJTJ.js → chunk-3GY4F45V.js} +3 -3
- package/dist/{chunk-ZW55JB7N.js → chunk-3ODX73FK.js} +4 -6
- package/dist/{chunk-PBP4B7XR.js → chunk-3UNOLWNZ.js} +3 -3
- package/dist/{chunk-4JDLP6ZS.js → chunk-3UUXNFEX.js} +14 -10
- package/dist/{chunk-RKSR6VSF.js → chunk-4IUZQIJ3.js} +29 -1
- package/dist/{chunk-ZW4HH5JJ.js → chunk-4M6Z5QVF.js} +6 -6
- package/dist/{chunk-K6BSR66V.js → chunk-4NSRCOYP.js} +4 -1
- package/dist/{chunk-M2DAX4F6.js → chunk-4WR7VSYB.js} +2 -2
- package/dist/{chunk-FSP7CMNU.js → chunk-54X7T7DK.js} +61 -6
- package/dist/{chunk-54ODD65L.js → chunk-5636DCO5.js} +4 -4
- package/dist/chunk-57XXR6DR.js +3763 -0
- 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-YJISEZKC.js → chunk-5TUB6SLS.js} +6 -6
- package/dist/{chunk-IMXMHHMQ.js → chunk-6OSVSQL5.js} +341 -57
- package/dist/{chunk-Q4XWMHX6.js → chunk-6PAZTBPA.js} +14 -2
- package/dist/{chunk-FVDGR2ZL.js → chunk-6Q3CYFD3.js} +112 -39
- package/dist/{chunk-IDNA72AH.js → chunk-6QOTUPRG.js} +155 -36
- package/dist/{chunk-X7IARSHT.js → chunk-6UINWWS6.js} +16 -10
- package/dist/{chunk-CYZW7JHJ.js → chunk-72YIHOZQ.js} +9 -9
- package/dist/{chunk-IKSLQ4XV.js → chunk-75W7L2E2.js} +752 -861
- package/dist/{chunk-CRFOIAX3.js → chunk-7UGL4MB5.js} +6 -6
- package/dist/{chunk-HIICAHCJ.js → chunk-AUPNRN7C.js} +2 -2
- package/dist/{chunk-7BHIY2MW.js → chunk-BJVFZO5U.js} +8 -50
- package/dist/{chunk-B74PXLU7.js → chunk-CUSRQKPU.js} +65 -3
- package/dist/chunk-DQOVN6KV.js +386 -0
- package/dist/{chunk-E7GT7O5N.js → chunk-DT3LWJOB.js} +7 -4
- package/dist/chunk-DXKJURES.js +671 -0
- package/dist/{chunk-JBCS7CRR.js → chunk-EL24TAU4.js} +10 -10
- package/dist/{chunk-TPEQIQIE.js → chunk-ELWDPP3Y.js} +8 -8
- package/dist/{chunk-NDINPTJ4.js → chunk-ELZVTCGV.js} +5 -4
- package/dist/chunk-EXLD33WO.js +381 -0
- package/dist/chunk-FEAXX7B6.js +101 -0
- package/dist/{chunk-RLYRBIYQ.js → chunk-FFUPXJC4.js} +90 -331
- package/dist/{chunk-5PFYMY2V.js → chunk-FTMGRKEF.js} +2 -2
- package/dist/{chunk-34BHNEE3.js → chunk-GHS5EBTQ.js} +58 -7
- package/dist/{chunk-DYHAXKHD.js → chunk-GWZNEVM2.js} +12 -8
- package/dist/chunk-GX5WYQO4.js +59 -0
- package/dist/chunk-GYV6VZOC.js +26 -0
- package/dist/{chunk-MQXIVJ35.js → chunk-HAXOFFRH.js} +5 -5
- package/dist/chunk-I2DWJ4GM.js +390 -0
- package/dist/{chunk-TXOTCRLG.js → chunk-I5FWO7L5.js} +5 -5
- package/dist/{chunk-WNP7O5WZ.js → chunk-ID64D7PE.js} +4 -4
- package/dist/{chunk-XQRY4DTA.js → chunk-IGLP3ODT.js} +10 -10
- package/dist/chunk-IRXAATOX.js +539 -0
- package/dist/chunk-IXIY2H4R.js +44 -0
- package/dist/{chunk-SSEYRH53.js → chunk-IZXGRF7P.js} +92 -147
- package/dist/{chunk-5TSRNF4G.js → chunk-JCI2ROMZ.js} +164 -6
- package/dist/{chunk-JWJGP5DQ.js → chunk-JEIYHLOR.js} +7 -7
- package/dist/{chunk-F2I26BDK.js → chunk-JQLNNIKT.js} +4 -4
- package/dist/{chunk-BYMNWQ7O.js → chunk-JSD46VO2.js} +315 -63
- package/dist/{chunk-AK5XEFVZ.js → chunk-JT2RFCC5.js} +64 -14
- package/dist/{chunk-MCMZMDAC.js → chunk-K6T2ZAMZ.js} +168 -6
- package/dist/{chunk-PGF63K6I.js → chunk-KFV5L5SK.js} +73 -4
- package/dist/{chunk-IHXBNWMM.js → chunk-KXDSS5WJ.js} +7 -3
- package/dist/{chunk-PJX3WQUQ.js → chunk-LLXSDWXS.js} +3 -3
- package/dist/{chunk-DZAW46HP.js → chunk-LTIKRKFL.js} +3 -3
- package/dist/{chunk-DZEK6CJN.js → chunk-N56KALIC.js} +21 -21
- package/dist/{chunk-B7HM5Z7T.js → chunk-NAI6ZFCY.js} +9 -5
- package/dist/{chunk-I66ZTYNP.js → chunk-NRO2BJRH.js} +2656 -2213
- package/dist/{chunk-ZGNYYXQ6.js → chunk-NXIMQY5W.js} +3 -3
- package/dist/{chunk-IKOZFYBN.js → chunk-NXYCB2VD.js} +149 -106
- package/dist/{chunk-CWVRRIEI.js → chunk-NZMNUPZZ.js} +2 -2
- package/dist/{chunk-462T4EGZ.js → chunk-O5CVSAG5.js} +2 -2
- package/dist/chunk-ODGTEFFI.js +50 -0
- package/dist/{chunk-3F7VUY77.js → chunk-OEJSLEPW.js} +2 -2
- package/dist/{chunk-KKOJXO6R.js → chunk-OMQNJVKW.js} +4 -2
- package/dist/{chunk-5KW52TEP.js → chunk-Q4WO54TA.js} +132 -77
- package/dist/{chunk-W6NIE6OW.js → chunk-QUFRYSWI.js} +13 -7
- package/dist/{chunk-42FMPA75.js → chunk-QZWQA4DE.js} +2 -2
- package/dist/chunk-R6Q67RJH.js +134 -0
- package/dist/{chunk-W4YEMFBX.js → chunk-RAY4OVGZ.js} +3 -3
- package/dist/{chunk-ZNT2M6TG.js → chunk-RQCKCSRL.js} +17 -17
- package/dist/{chunk-LJID3DYZ.js → chunk-RXTN6AKH.js} +3 -3
- package/dist/{chunk-P75RZCJW.js → chunk-RZDWV63N.js} +3 -3
- package/dist/{chunk-UH632ZYL.js → chunk-S6PYF2XF.js} +2 -2
- package/dist/{chunk-HJWWJ6IL.js → chunk-TOIVGRUX.js} +17 -5
- package/dist/{chunk-HLAFFSEK.js → chunk-TQAHXW6Y.js} +2 -2
- package/dist/{chunk-JIEGK6UF.js → chunk-U6TMQNSI.js} +48 -4
- package/dist/{chunk-2HFQNRV3.js → chunk-UEPWCCTY.js} +12 -12
- package/dist/chunk-UOIZ7DA4.js +41 -0
- package/dist/{chunk-UH347SHR.js → chunk-USR47QNF.js} +11 -11
- package/dist/{chunk-AZ4WMN4W.js → chunk-V6HJFQZE.js} +2 -2
- package/dist/chunk-V76WTFTW.js +318 -0
- package/dist/{chunk-NMJXSHBJ.js → chunk-W54I7H25.js} +2 -2
- package/dist/{chunk-KPXDY6QF.js → chunk-XRZT5WY5.js} +2 -2
- package/dist/{chunk-UBRFI4HS.js → chunk-XULDXHTN.js} +142 -50
- package/dist/chunk-XXYSBZIQ.js +283 -0
- package/dist/{chunk-HKMD33FO.js → chunk-Y55JBDO5.js} +405 -122
- package/dist/{chunk-XOXV5GKE.js → chunk-YD5GIKET.js} +17 -8
- package/dist/{chunk-XGDPUNND.js → chunk-YECAMM3D.js} +2 -2
- package/dist/{chunk-BO7Y52RY.js → chunk-YNFKXPEC.js} +7 -7
- package/dist/{chunk-VXMFAE2W.js → chunk-YPC6ZR5L.js} +19 -6
- package/dist/{chunk-M2WXEHER.js → chunk-ZA4VCIGV.js} +2 -2
- package/dist/cli/index.js +42 -40
- package/dist/{clio-7VB377CC.js → clio-QLICPCF5.js} +7 -7
- package/dist/{code-nav-YVLCYA7V.js → code-nav-IJR2DBPR.js} +9 -9
- package/dist/{components-UBWCQSRW.js → components-2TGAI2RC.js} +5 -6
- package/dist/{config-4HVOS65E.js → config-IUA6OYNS.js} +88 -81
- package/dist/{configure-PIWO7B24.js → configure-VEPX4NMX.js} +26 -25
- package/dist/{context-KQYIWPWT.js → context-2DKHWH2T.js} +60 -45
- package/dist/{context-IYEHL3WQ.js → context-4MPR7WKB.js} +78 -69
- package/dist/{context-N6ZE3LGJ.js → context-BOYF5EJM.js} +15 -11
- package/dist/{context-clear-G4OGZJDS.js → context-clear-S4ZJCQUX.js} +73 -65
- package/dist/context-map-COB37XXN.js +505 -0
- package/dist/{context-working-set-BWLF6LJP.js → context-working-set-3I3FYX6Y.js} +18 -17
- package/dist/detail-A7JAVSIG.js +98 -0
- package/dist/{dispatch-runner-2QQAITS3.js → dispatch-runner-RJ5I2F2O.js} +99 -75
- package/dist/{docs-PD3EXDKU.js → docs-SPOV3BAN.js} +3 -5
- package/dist/{doctor-LHBD36VU.js → doctor-DKICC2SN.js} +71 -48
- package/dist/{eval-C45FYRJ6.js → eval-OQOQUDHK.js} +308 -146
- package/dist/{eval-inventory-6DEJPLBF.js → eval-inventory-Y6QRFOH5.js} +4 -4
- package/dist/{evidence-6SHONYAF.js → evidence-4DQ25GUQ.js} +79 -175
- package/dist/evidence-4F5USFKH.js +208 -0
- package/dist/{evolve-KRKMV72X.js → evolve-GSS52E5J.js} +71 -67
- package/dist/{extensions-KPZ2UHBB.js → extensions-G7MFLYHT.js} +8 -9
- package/dist/{fleet-IVTCKDHT.js → fleet-Q37YHHAQ.js} +126 -118
- package/dist/{fleet-commands-EDWL3IT7.js → fleet-commands-G7E4N7SM.js} +16 -13
- package/dist/{fleet-decisions-YP3YEFGK.js → fleet-decisions-O7M6QBA2.js} +9 -8
- package/dist/{fleet-graph-ZFWKHY2M.js → fleet-graph-TOUBW6OW.js} +21 -20
- package/dist/{fleet-inspect-FVUNCBML.js → fleet-inspect-SW33JJNI.js} +65 -60
- package/dist/{fleet-preflight-UN5XED4R.js → fleet-preflight-CV2655TW.js} +4 -5
- package/dist/{fleet-validate-XOWC4HSX.js → fleet-validate-KESZX2YH.js} +25 -24
- package/dist/{fleet-verify-UN3SODEL.js → fleet-verify-UQPMTVE3.js} +66 -61
- package/dist/{fleet-view-TWHJKCN6.js → fleet-view-MN2VG4MR.js} +65 -60
- package/dist/{init-T2QORQ3Y.js → init-PXEXQSBF.js} +90 -82
- package/dist/{interop-IN5I2A66.js → interop-ZG5T62U3.js} +12 -13
- package/dist/inventory-C26CFDRR.js +101 -0
- package/dist/{library-LSCATDLZ.js → library-B2W4N74O.js} +29 -29
- package/dist/{memory-HYOKAGGJ.js → memory-YCANYS5A.js} +73 -69
- package/dist/{models-2GPMFYCM.js → models-GERTU3YI.js} +51 -47
- package/dist/{monitor-E4ASVUJH.js → monitor-CPNIUULB.js} +74 -67
- package/dist/{orchestrator-DDMPR3PY.js → orchestrator-J4BSH4WQ.js} +1288 -1606
- package/dist/{panes-E3RUXOW5.js → panes-BOHAEGYC.js} +4 -4
- package/dist/{panes-IXKLOKA2.js → panes-NXSLDQZ2.js} +10 -11
- package/dist/{paths-L7LGY6RN.js → paths-VSUWNC22.js} +6 -7
- package/dist/reset-TNWTB5LU.js +343 -0
- package/dist/{resources-OTRSN34L.js → resources-4PXNMD5G.js} +29 -22
- package/dist/{run-5DEYH5QK.js → run-D6XJ34CN.js} +132 -132
- package/dist/{share-IHWTLO3M.js → share-2NWMJJEE.js} +27 -27
- package/dist/{skills-IYMXMKW4.js → skills-KR7WON5G.js} +40 -33
- package/dist/{skills-eval-DROHSJAR.js → skills-eval-O2ZNOLDS.js} +81 -77
- package/dist/{skills-inventory-D7X4L4ZX.js → skills-inventory-ZZOUBK7O.js} +23 -22
- package/dist/{slash-commands-QBM7UZ3B.js → slash-commands-ZXPJD64J.js} +47 -37
- package/dist/{steer-Z5DO23FJ.js → steer-XA25PSCS.js} +4 -4
- package/dist/{support-U7QOWY26.js → support-7EMVWYG2.js} +6 -6
- package/dist/{targets-P2FUC4IL.js → targets-OMH2XCSN.js} +50 -49
- package/dist/tasks-IPAGMEIX.js +36 -0
- package/dist/{terminal-lease-YREJ3JX2.js → terminal-lease-C2J3JYRE.js} +4 -4
- package/dist/{tools-5B7RO6MV.js → tools-EFFEAIDP.js} +8 -9
- package/dist/{trace-YMGMUM6A.js → trace-FXMXUZUF.js} +7 -7
- package/dist/uninstall-HALS6BLF.js +407 -0
- package/dist/upgrade-MS72RJEP.js +306 -0
- package/dist/{usage-ME5MPXGX.js → usage-NHG6MCJM.js} +162 -108
- package/dist/{verifiers-BVZ7IWOO.js → verifiers-7AUNVXDY.js} +155 -22
- package/dist/{verify-5K7ZKQFC.js → verify-FWYGPKMR.js} +14 -12
- package/dist/{web-fetch-MPARV2K7.js → web-fetch-V4FKSDAV.js} +4 -4
- package/dist/{wiki-generate-F5W5QTYY.js → wiki-generate-743CIGJW.js} +99 -90
- package/dist/{with-panes-BYOJCLAM.js → with-panes-BDQEWBRT.js} +10 -10
- package/dist/worker/entry.js +72 -68
- package/docs/README.md +3 -2
- package/docs/architecture/acp.md +17 -0
- package/docs/architecture/artifact-placement.md +1 -0
- package/docs/architecture/artifact-versions.md +2 -2
- package/docs/architecture/context-engine.md +4 -0
- package/docs/architecture/dispatch-typed-intent.md +1 -1
- package/docs/architecture/evidence-and-memory.md +1 -1
- package/docs/architecture/middleware-and-components.md +1 -1
- package/docs/architecture/model-catalog.md +21 -10
- package/docs/architecture/observability.md +19 -2
- package/docs/architecture/prompt-envelope-and-tools.md +17 -5
- package/docs/architecture/provider-adapter-cookbook.md +63 -0
- package/docs/architecture/safety-model.md +25 -22
- package/docs/architecture/tui-design.md +1 -1
- package/docs/guide/built-in-agents.md +25 -11
- package/docs/guide/commands-and-modes.md +18 -3
- package/docs/guide/configuration-and-targets.md +100 -10
- package/docs/guide/configuration-reference.md +17 -7
- package/docs/guide/environment-variables.md +4 -2
- 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/guide/tool-usage.md +78 -3
- package/docs/history/config-knobs-audit.md +2 -2
- package/docs/process/development-pipeline.md +40 -2
- package/docs/process/eval-runner.md +67 -3
- package/docs/process/git-commit-provenance.md +15 -0
- package/docs/process/release-cut-checklist.md +207 -0
- package/docs/process/scientific-validation.md +18 -17
- package/evals/behavioral-machinery-support.ts +1 -0
- package/evals/behavioral-machinery.yaml +1 -1
- 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 +47 -2
- 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 +47 -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 +24 -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 +64 -5
- package/skills/workflow/cut-it/evals.md +101 -0
- package/skills/workflow/design-council/SKILL.md +112 -27
- package/skills/workflow/design-council/evals.md +161 -0
- package/skills/workflow/grill-me/SKILL.md +85 -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/args.ts +0 -8
- 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 +1084 -529
- package/src/cli/context-map.ts +114 -0
- package/src/cli/context.ts +4 -0
- package/src/cli/doctor-state-size.ts +1 -12
- package/src/cli/doctor-validation-contract.ts +28 -0
- package/src/cli/doctor.ts +5 -0
- package/src/cli/evidence-detail.ts +1 -75
- package/src/cli/evidence-inventory.ts +1 -167
- package/src/cli/index.ts +3 -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 -4
- package/src/cli/select.ts +664 -0
- package/src/cli/skills.ts +9 -2
- package/src/cli/targets.ts +3 -0
- package/src/cli/tasks.ts +84 -0
- package/src/cli/uninstall.ts +233 -165
- package/src/cli/upgrade.ts +210 -150
- package/src/cli/usage.ts +92 -27
- package/src/cli/validate-model.ts +3 -3
- package/src/cli/verifiers.ts +147 -1
- package/src/cli/wiki-generate.ts +1 -0
- package/src/core/commit-attribution.ts +41 -1
- 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/git-commit-attribution.ts +46 -3
- package/src/core/run-overrides.ts +0 -5
- package/src/core/safe-exec.ts +17 -2
- package/src/core/skill-activation.ts +92 -2
- package/src/core/tool-names.ts +5 -2
- package/src/domains/agents/builtins/architect.md +1 -1
- package/src/domains/agents/builtins/coder.md +1 -1
- package/src/domains/agents/builtins/documenter.md +1 -1
- package/src/domains/agents/builtins/git-master.md +1 -1
- package/src/domains/agents/builtins/provenance.md +7 -7
- package/src/domains/agents/builtins/tester.md +1 -1
- package/src/domains/agents/builtins/verifier.md +2 -2
- package/src/domains/agents/builtins/wiki-writer.md +4 -3
- 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/extension.ts +31 -7
- package/src/domains/context/refresh.ts +3 -0
- package/src/domains/context/wiki/frontmatter.ts +5 -2
- package/src/domains/context/wiki/generate.ts +6 -0
- package/src/domains/context/wiki/map-seed.ts +589 -0
- package/src/domains/context/wiki/plan.ts +2 -2
- package/src/domains/context/wiki/prompts.ts +43 -0
- package/src/domains/dispatch/active-route-planner.ts +4 -0
- package/src/domains/dispatch/admission.ts +29 -0
- package/src/domains/dispatch/agent-candidates.ts +10 -0
- package/src/domains/dispatch/budget-envelope.ts +86 -1
- package/src/domains/dispatch/capability-match.ts +1 -0
- package/src/domains/dispatch/capacity-lease.ts +17 -0
- package/src/domains/dispatch/code-step.ts +11 -4
- package/src/domains/dispatch/contract.ts +42 -8
- package/src/domains/dispatch/execution-scheduler.ts +2 -0
- package/src/domains/dispatch/extension.ts +184 -56
- package/src/domains/dispatch/fleet-commit-attribution.ts +5 -0
- package/src/domains/dispatch/fleet-run.ts +1 -0
- package/src/domains/dispatch/host-verification.ts +114 -13
- package/src/domains/dispatch/intent.ts +28 -18
- package/src/domains/dispatch/orphan-recovery.ts +2 -0
- package/src/domains/dispatch/receipt-integrity.ts +4 -0
- package/src/domains/dispatch/reservation-store.ts +5 -3
- package/src/domains/dispatch/state.ts +15 -2
- package/src/domains/dispatch/types.ts +20 -2
- 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 +17 -11
- package/src/domains/eval/runners/context-index.ts +2 -7
- package/src/domains/eval/runners/context-init.ts +3 -6
- package/src/domains/eval/runners/external-command.ts +29 -11
- 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/evidence/build.ts +102 -15
- package/src/domains/evidence/detail.ts +69 -0
- package/src/domains/evidence/eval.ts +13 -1
- package/src/domains/evidence/finish-contract-map.ts +5 -1
- package/src/domains/evidence/inventory.ts +167 -0
- package/src/domains/evidence/store.ts +16 -0
- package/src/domains/evidence/types.ts +12 -0
- package/src/domains/extensions/resources.ts +7 -0
- 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 +22 -35
- package/src/domains/middleware/memory-intervention.ts +127 -32
- package/src/domains/middleware/memory-step-endpoint.ts +3 -2
- package/src/domains/middleware/runtime.ts +7 -3
- package/src/domains/middleware/skills-reminder.ts +31 -2
- package/src/domains/mux/detect.ts +3 -6
- package/src/domains/observability/accountability.ts +15 -1
- package/src/domains/observability/compaction-usage.ts +118 -0
- package/src/domains/observability/contract.ts +52 -7
- package/src/domains/observability/cost.ts +1 -1
- package/src/domains/observability/evidence-index.ts +10 -0
- package/src/domains/observability/extension.ts +15 -6
- package/src/domains/observability/out-of-turn-usage.ts +52 -21
- package/src/domains/observability/projection.ts +394 -45
- package/src/{interactive → domains/observability}/worker-progress.ts +3 -3
- package/src/domains/prompts/fragments/operating/contract.md +2 -0
- package/src/domains/prompts/fragments/wiki/page.md +8 -0
- 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 +3 -4
- package/src/domains/providers/model-runtime-capabilities.ts +15 -5
- package/src/domains/providers/models/local-models/clio-coder-local-coding-targets.yaml +48 -26
- package/src/domains/providers/runtimes/antigravity/antigravity-code.ts +225 -45
- package/src/domains/providers/runtimes/claude/claude-code.ts +9 -0
- 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/action-classifier.ts +7 -0
- package/src/domains/safety/autonomy.ts +15 -0
- package/src/domains/safety/default-path-policy.ts +2 -0
- package/src/domains/safety/finish-contract-registration.ts +29 -14
- package/src/domains/safety/finish-contract.ts +252 -40
- package/src/domains/safety/index.ts +21 -1
- package/src/domains/safety/path-policy.ts +1 -1
- package/src/domains/safety/policy-engine.ts +60 -17
- package/src/domains/safety/protected-artifacts.ts +191 -88
- package/src/domains/safety/rigor.ts +53 -39
- package/src/domains/safety/run-effects.ts +2 -22
- package/src/domains/safety/skill-authority.ts +55 -0
- package/src/domains/safety/validation-contract.ts +388 -0
- package/src/domains/session/archive-readers.ts +10 -1
- package/src/domains/session/compaction/compact.ts +72 -22
- package/src/domains/session/decision-board.ts +101 -2
- package/src/domains/session/entries.ts +50 -7
- package/src/domains/session/extension.ts +4 -4
- package/src/domains/session/handoff.ts +2 -1
- package/src/domains/session/manager.ts +2 -3
- package/src/domains/session/task-board.ts +14 -1
- package/src/domains/session/tree/fork.ts +1 -2
- package/src/domains/session/tree/navigator.ts +1 -1
- package/src/domains/session/usage.ts +3 -3
- package/src/domains/user-tasks/acceptance.ts +56 -0
- package/src/domains/user-tasks/active-acceptance.ts +40 -0
- package/src/domains/user-tasks/store.ts +34 -3
- package/src/engine/acp/adapter.ts +24 -6
- package/src/engine/acp/server.ts +21 -4
- package/src/engine/acp/transport.ts +53 -8
- package/src/engine/acp/types.ts +4 -0
- 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/ollama-native.ts +15 -0
- package/src/engine/apis/openai-completions.ts +117 -14
- package/src/engine/claude/subprocess-runtime.ts +107 -60
- package/src/engine/external-subprocess.ts +122 -6
- package/src/entry/background-model-metadata.ts +18 -0
- package/src/entry/compaction-prompt.ts +57 -0
- package/src/entry/orchestrator.ts +416 -218
- 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/dispatch-board.ts +46 -717
- package/src/interactive/fleet-run-preview.ts +2 -1
- package/src/interactive/interactive-application.ts +3 -2
- package/src/interactive/interactive-presentation.ts +55 -12
- package/src/interactive/interactive-slash-runtime.ts +4 -2
- package/src/interactive/oracle.ts +5 -2
- package/src/interactive/overlays/fleet-run-approval.ts +3 -2
- package/src/interactive/overlays/message-picker.ts +2 -2
- package/src/interactive/overlays/settings.ts +2 -2
- package/src/interactive/overlays/tree-selector.ts +2 -2
- package/src/interactive/renderers/branch-summary.ts +1 -1
- package/src/interactive/renderers/worker-entry.ts +32 -0
- package/src/interactive/slash-autocomplete.ts +4 -6
- package/src/interactive/slash-commands.ts +49 -45
- package/src/interactive/slash-spec.ts +28 -0
- 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/view/artifacts.ts +2 -0
- package/src/interactive/worker-receipts.ts +1 -0
- package/src/interactive/worker-stream.ts +13 -4
- package/src/tools/bootstrap.ts +4 -0
- package/src/tools/builtin-tool-catalog.ts +31 -0
- package/src/tools/compete-worktrees.ts +7 -1
- package/src/tools/context/index.ts +30 -9
- package/src/tools/core-bootstrap.ts +16 -0
- package/src/tools/decide.ts +136 -0
- package/src/tools/dispatch-admission.ts +21 -0
- package/src/tools/dispatch-arguments.ts +1 -0
- package/src/tools/dispatch-event-text.ts +10 -0
- package/src/tools/dispatch-plan.ts +6 -2
- package/src/tools/dispatch-runner.ts +27 -1
- package/src/tools/dispatch-types.ts +6 -0
- package/src/tools/evidence.ts +96 -0
- package/src/tools/limitation.ts +76 -0
- package/src/tools/policy.ts +9 -0
- package/src/tools/presentation.ts +3 -0
- package/src/tools/registry.ts +11 -5
- package/src/tools/result-shaping.ts +17 -5
- package/src/tools/task-worktree.ts +13 -3
- package/src/tools/tasks.ts +10 -1
- package/src/tools/verify/authoring.ts +170 -83
- package/src/tools/verify/catalog.ts +122 -5
- package/src/tools/verify/index.ts +2 -1
- package/src/tools/verify/numeric.ts +298 -0
- package/src/tools/verify/perf.ts +143 -0
- package/src/tools/verify/scripts.ts +229 -2
- 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/chunk-RVG5JXAL.js +0 -41
- package/dist/chunk-T56WDKA5.js +0 -183
- package/dist/chunk-VN3SHNBN.js +0 -313
- package/dist/chunk-VPKWYKEY.js +0 -169
- package/dist/reset-OAQP3W4O.js +0 -230
- package/dist/uninstall-N34PCTGJ.js +0 -331
- package/dist/upgrade-PXK3S2YM.js +0 -325
|
@@ -1,34 +1,41 @@
|
|
|
1
1
|
import { createRequire as __clioCreateRequire } from "node:module"; const require = __clioCreateRequire(import.meta.url);
|
|
2
|
+
import {
|
|
3
|
+
createWorkerProgressFold
|
|
4
|
+
} from "./chunk-XXYSBZIQ.js";
|
|
2
5
|
import {
|
|
3
6
|
PANES_PRESETS,
|
|
4
7
|
PANES_PRESET_IDS,
|
|
5
8
|
resolvePanesPresetId
|
|
6
9
|
} from "./chunk-35MSIRKH.js";
|
|
10
|
+
import {
|
|
11
|
+
acceptanceFromTaskFlags
|
|
12
|
+
} from "./chunk-EXLD33WO.js";
|
|
7
13
|
import {
|
|
8
14
|
AdmissionCanceledError,
|
|
9
15
|
WORKER_OUTPUT_MAX_BYTES,
|
|
10
|
-
|
|
11
|
-
} from "./chunk-
|
|
16
|
+
decisionRationale
|
|
17
|
+
} from "./chunk-I2DWJ4GM.js";
|
|
12
18
|
import {
|
|
19
|
+
SKILL_SURFACE_CLEAR_ARG,
|
|
13
20
|
parseSkillCommand
|
|
14
|
-
} from "./chunk-
|
|
21
|
+
} from "./chunk-2ZSONWVL.js";
|
|
15
22
|
import {
|
|
16
23
|
TOOL_PROFILE_NAMES,
|
|
17
24
|
isToolProfileName
|
|
18
|
-
} from "./chunk-
|
|
25
|
+
} from "./chunk-QZWQA4DE.js";
|
|
19
26
|
import {
|
|
20
27
|
requestExecutionRole
|
|
21
28
|
} from "./chunk-H7IXIC72.js";
|
|
22
|
-
import {
|
|
23
|
-
truncateUtf8
|
|
24
|
-
} from "./chunk-6XLNIQDB.js";
|
|
25
29
|
import {
|
|
26
30
|
parseCouncilReport,
|
|
27
31
|
parseOracleResult
|
|
28
|
-
} from "./chunk-
|
|
32
|
+
} from "./chunk-KFV5L5SK.js";
|
|
33
|
+
import {
|
|
34
|
+
truncateUtf8
|
|
35
|
+
} from "./chunk-6XLNIQDB.js";
|
|
29
36
|
import {
|
|
30
37
|
resolveModelReference
|
|
31
|
-
} from "./chunk-
|
|
38
|
+
} from "./chunk-JSD46VO2.js";
|
|
32
39
|
import {
|
|
33
40
|
BusChannels
|
|
34
41
|
} from "./chunk-F4EKGO4N.js";
|
|
@@ -105,12 +112,15 @@ function clamp(text, maxBytes) {
|
|
|
105
112
|
return { text: `${buffer.subarray(0, cut).toString("utf8")}${ORACLE_TRUNCATION_MARKER}`, truncated: true };
|
|
106
113
|
}
|
|
107
114
|
function decisionLine(decision) {
|
|
115
|
+
const argument = decisionRationale(decision);
|
|
116
|
+
const details = argument ? `
|
|
117
|
+
${argument}` : "";
|
|
108
118
|
const label = decision.label ? ` (${decision.label})` : "";
|
|
109
119
|
if (decision.status === "superseded") {
|
|
110
120
|
const correction = decision.correction ? `; corrected to ${decision.correction}` : "";
|
|
111
|
-
return `- ${decision.key}${label}: ${decision.value} [superseded${correction}]`;
|
|
121
|
+
return `- ${decision.key}${label}: ${decision.value} [superseded${correction}]${details}`;
|
|
112
122
|
}
|
|
113
|
-
return `- ${decision.key}${label}: ${decision.value}`;
|
|
123
|
+
return `- ${decision.key}${label}: ${decision.value}${details}`;
|
|
114
124
|
}
|
|
115
125
|
function taskLine(task) {
|
|
116
126
|
return `- ${task.id} [${task.status}] ${task.title}`;
|
|
@@ -367,6 +377,32 @@ function parseArgs(spec, argsLine) {
|
|
|
367
377
|
while (index < argsLine.length) {
|
|
368
378
|
const currentPositionalSpec = positionalSpecs[positionalIndex];
|
|
369
379
|
if (currentPositionalSpec?.rest) {
|
|
380
|
+
if (currentSpec.parseFlagsInRest) {
|
|
381
|
+
const text = [];
|
|
382
|
+
while (index < argsLine.length) {
|
|
383
|
+
const start = index;
|
|
384
|
+
const read2 = readToken();
|
|
385
|
+
if (!read2) break;
|
|
386
|
+
if (read2.token === "--") {
|
|
387
|
+
text.push(argsLine.slice(index).trim());
|
|
388
|
+
index = argsLine.length;
|
|
389
|
+
break;
|
|
390
|
+
}
|
|
391
|
+
const flag = flagSpecs.find((item) => item.name === read2.token);
|
|
392
|
+
if (flag) {
|
|
393
|
+
const error = consumeFlag(flag, read2.token);
|
|
394
|
+
if (error) return errorResult(error);
|
|
395
|
+
} else if (read2.token.startsWith("--")) return errorResult(`Unknown flag: ${read2.token}`);
|
|
396
|
+
else text.push(argsLine.slice(start, index));
|
|
397
|
+
skipWhitespace();
|
|
398
|
+
}
|
|
399
|
+
const restVal2 = text.join(" ").trim();
|
|
400
|
+
if (!restVal2) return errorResult(`Missing required argument: ${currentPositionalSpec.name}`);
|
|
401
|
+
positionals.push(restVal2);
|
|
402
|
+
rest = restVal2;
|
|
403
|
+
positionalIndex++;
|
|
404
|
+
break;
|
|
405
|
+
}
|
|
370
406
|
if (currentSpec.parseFlagsBeforeRest) {
|
|
371
407
|
while (index < argsLine.length) {
|
|
372
408
|
const tokenStart = index;
|
|
@@ -600,278 +636,10 @@ init_esm_shims();
|
|
|
600
636
|
|
|
601
637
|
// src/interactive/worker-stream.ts
|
|
602
638
|
init_esm_shims();
|
|
603
|
-
|
|
604
|
-
// src/interactive/worker-progress.ts
|
|
605
|
-
init_esm_shims();
|
|
606
|
-
var WORKER_LIVE_TAIL_LINES = 40;
|
|
607
|
-
var WORKER_LIVE_TAIL_MAX_BYTES = 4096;
|
|
608
|
-
var WORKER_TOOL_NAME_LIMIT = 8;
|
|
609
|
-
var WORKER_ACTION_TRAIL_LIMIT = 4;
|
|
610
|
-
var WORKER_PROGRESS_WINDOW_MS = 250;
|
|
611
|
-
var WORKER_PROGRESS_WINDOW_BYTES = 16384;
|
|
612
|
-
var TAIL_TRUNCATION_MARKER = "";
|
|
613
|
-
function isRecord(value) {
|
|
614
|
-
return typeof value === "object" && value !== null && !Array.isArray(value);
|
|
615
|
-
}
|
|
616
|
-
function nonEmptyString(value) {
|
|
617
|
-
return typeof value === "string" && value.trim().length > 0 ? value : void 0;
|
|
618
|
-
}
|
|
619
|
-
function workerTextDelta(event) {
|
|
620
|
-
if (!isRecord(event)) return "";
|
|
621
|
-
if (event.type === "message_update") {
|
|
622
|
-
const assistantEvent = isRecord(event.assistantMessageEvent) ? event.assistantMessageEvent : null;
|
|
623
|
-
if (assistantEvent?.type !== "text_delta") return "";
|
|
624
|
-
return typeof assistantEvent.delta === "string" ? assistantEvent.delta : "";
|
|
625
|
-
}
|
|
626
|
-
if (event.type !== "text_delta") return "";
|
|
627
|
-
if (typeof event.delta === "string") return event.delta;
|
|
628
|
-
return typeof event.text === "string" ? event.text : "";
|
|
629
|
-
}
|
|
630
|
-
function isThinkingEvent(event) {
|
|
631
|
-
if (event.type === "thinking_delta") return true;
|
|
632
|
-
if (event.type !== "message_update") return false;
|
|
633
|
-
const assistantEvent = isRecord(event.assistantMessageEvent) ? event.assistantMessageEvent : null;
|
|
634
|
-
return assistantEvent?.type === "thinking_delta";
|
|
635
|
-
}
|
|
636
|
-
function toolEventAction(event) {
|
|
637
|
-
if (event.type !== "clio_coder_tool_start" && event.type !== "clio_coder_tool_finish") return null;
|
|
638
|
-
const payload = isRecord(event.payload) ? event.payload : null;
|
|
639
|
-
const tool = nonEmptyString(payload?.tool);
|
|
640
|
-
if (tool === void 0) return null;
|
|
641
|
-
const toolCallId = nonEmptyString(payload?.toolCallId);
|
|
642
|
-
const raw = isRecord(payload?.action) ? payload.action : void 0;
|
|
643
|
-
const verb = nonEmptyString(raw?.verb);
|
|
644
|
-
if (verb === void 0) return { tool, ...toolCallId !== void 0 ? { toolCallId } : {} };
|
|
645
|
-
const object = nonEmptyString(raw?.object);
|
|
646
|
-
return {
|
|
647
|
-
tool,
|
|
648
|
-
...toolCallId !== void 0 ? { toolCallId } : {},
|
|
649
|
-
descriptor: {
|
|
650
|
-
verb,
|
|
651
|
-
...object !== void 0 ? { object } : {},
|
|
652
|
-
...raw?.truncated === true ? { truncated: true } : {}
|
|
653
|
-
}
|
|
654
|
-
};
|
|
655
|
-
}
|
|
656
|
-
function lineCount(text) {
|
|
657
|
-
if (text.length === 0) return 0;
|
|
658
|
-
let lines = 1;
|
|
659
|
-
for (let index = 0; index < text.length; index += 1) {
|
|
660
|
-
if (text[index] === "\n") lines += 1;
|
|
661
|
-
}
|
|
662
|
-
return lines;
|
|
663
|
-
}
|
|
664
|
-
function keepTailBytes(text, maxBytes) {
|
|
665
|
-
const buffer = Buffer.from(text, "utf8");
|
|
666
|
-
if (buffer.byteLength <= maxBytes) return text;
|
|
667
|
-
let cut = buffer.byteLength - maxBytes;
|
|
668
|
-
while (cut < buffer.byteLength) {
|
|
669
|
-
const byte = buffer[cut];
|
|
670
|
-
if (byte === void 0 || (byte & 192) !== 128) break;
|
|
671
|
-
cut += 1;
|
|
672
|
-
}
|
|
673
|
-
return buffer.subarray(cut).toString("utf8");
|
|
674
|
-
}
|
|
675
|
-
function boundLiveTail(text) {
|
|
676
|
-
const lines = text.split("\n");
|
|
677
|
-
let droppedLines = 0;
|
|
678
|
-
if (lines.length > WORKER_LIVE_TAIL_LINES) {
|
|
679
|
-
droppedLines = lines.length - WORKER_LIVE_TAIL_LINES;
|
|
680
|
-
lines.splice(0, droppedLines);
|
|
681
|
-
}
|
|
682
|
-
while (lines.length > 1 && Buffer.byteLength(lines.join("\n"), "utf8") > WORKER_LIVE_TAIL_MAX_BYTES) {
|
|
683
|
-
lines.shift();
|
|
684
|
-
droppedLines += 1;
|
|
685
|
-
}
|
|
686
|
-
const joined = lines.join("\n");
|
|
687
|
-
const bytes = Buffer.byteLength(joined, "utf8");
|
|
688
|
-
if (bytes <= WORKER_LIVE_TAIL_MAX_BYTES) return { text: joined, droppedLines, droppedBytes: 0 };
|
|
689
|
-
const kept = keepTailBytes(joined, WORKER_LIVE_TAIL_MAX_BYTES);
|
|
690
|
-
return { text: kept, droppedLines, droppedBytes: bytes - Buffer.byteLength(kept, "utf8") };
|
|
691
|
-
}
|
|
692
|
-
function boundSettledText(text) {
|
|
693
|
-
const bounded = truncateUtf8(text, WORKER_OUTPUT_MAX_BYTES, TAIL_TRUNCATION_MARKER);
|
|
694
|
-
if (bounded === text) return { text, dropped: 0 };
|
|
695
|
-
return { text: bounded, dropped: Math.max(0, lineCount(text) - lineCount(bounded)) };
|
|
696
|
-
}
|
|
697
|
-
var EMPTY_SNAPSHOT = {
|
|
698
|
-
revision: 0,
|
|
699
|
-
phase: "starting",
|
|
700
|
-
tailText: "",
|
|
701
|
-
droppedLines: 0,
|
|
702
|
-
droppedBytes: 0,
|
|
703
|
-
currentAction: null,
|
|
704
|
-
recentActions: [],
|
|
705
|
-
toolNames: [],
|
|
706
|
-
settled: false
|
|
707
|
-
};
|
|
708
|
-
function createWorkerProgressFold() {
|
|
709
|
-
let revision = 0;
|
|
710
|
-
let phase = "starting";
|
|
711
|
-
let tailText = "";
|
|
712
|
-
let droppedLines = 0;
|
|
713
|
-
let droppedBytes = 0;
|
|
714
|
-
let currentAction = null;
|
|
715
|
-
const recentActions = [];
|
|
716
|
-
const toolNames = [];
|
|
717
|
-
let settled = false;
|
|
718
|
-
let durable = "";
|
|
719
|
-
let betweenAssistantMessages = false;
|
|
720
|
-
const pendingActions = [];
|
|
721
|
-
const pendingActionsById = /* @__PURE__ */ new Map();
|
|
722
|
-
let windowStartMs = 0;
|
|
723
|
-
let windowBytes = 0;
|
|
724
|
-
let cached = EMPTY_SNAPSHOT;
|
|
725
|
-
const touch = () => {
|
|
726
|
-
revision += 1;
|
|
727
|
-
cached = null;
|
|
728
|
-
return true;
|
|
729
|
-
};
|
|
730
|
-
const setPhase = (next) => {
|
|
731
|
-
if (phase === next) return false;
|
|
732
|
-
phase = next;
|
|
733
|
-
return touch();
|
|
734
|
-
};
|
|
735
|
-
const admitDelta = (delta, nowMs) => {
|
|
736
|
-
if (nowMs - windowStartMs >= WORKER_PROGRESS_WINDOW_MS) {
|
|
737
|
-
windowStartMs = nowMs;
|
|
738
|
-
windowBytes = 0;
|
|
739
|
-
}
|
|
740
|
-
const bytes = Buffer.byteLength(delta, "utf8");
|
|
741
|
-
if (windowBytes + bytes <= WORKER_PROGRESS_WINDOW_BYTES) {
|
|
742
|
-
windowBytes += bytes;
|
|
743
|
-
return delta;
|
|
744
|
-
}
|
|
745
|
-
windowBytes = WORKER_PROGRESS_WINDOW_BYTES;
|
|
746
|
-
droppedBytes += bytes;
|
|
747
|
-
return "";
|
|
748
|
-
};
|
|
749
|
-
const appendTail = (text) => {
|
|
750
|
-
if (text.length === 0) return false;
|
|
751
|
-
const bounded = boundLiveTail(tailText + text);
|
|
752
|
-
tailText = bounded.text;
|
|
753
|
-
droppedLines += bounded.droppedLines;
|
|
754
|
-
droppedBytes += bounded.droppedBytes;
|
|
755
|
-
return touch();
|
|
756
|
-
};
|
|
757
|
-
const noteToolName = (tool) => {
|
|
758
|
-
if (toolNames.includes(tool) || toolNames.length >= WORKER_TOOL_NAME_LIMIT) return false;
|
|
759
|
-
toolNames.push(tool);
|
|
760
|
-
return touch();
|
|
761
|
-
};
|
|
762
|
-
const removePendingAction = (action) => {
|
|
763
|
-
const index = pendingActions.lastIndexOf(action);
|
|
764
|
-
if (index >= 0) pendingActions.splice(index, 1);
|
|
765
|
-
if (action.toolCallId !== void 0 && pendingActionsById.get(action.toolCallId) === action) {
|
|
766
|
-
pendingActionsById.delete(action.toolCallId);
|
|
767
|
-
}
|
|
768
|
-
};
|
|
769
|
-
const lastPendingActionForTool = (tool) => {
|
|
770
|
-
for (let index = pendingActions.length - 1; index >= 0; index -= 1) {
|
|
771
|
-
const candidate = pendingActions[index];
|
|
772
|
-
if (candidate?.tool === tool) return candidate;
|
|
773
|
-
}
|
|
774
|
-
return void 0;
|
|
775
|
-
};
|
|
776
|
-
return {
|
|
777
|
-
observe(event, nowMs = Date.now()) {
|
|
778
|
-
if (!isRecord(event) || settled) return false;
|
|
779
|
-
let changed = false;
|
|
780
|
-
const delta = workerTextDelta(event);
|
|
781
|
-
if (delta.length > 0) {
|
|
782
|
-
const separator = betweenAssistantMessages && tailText.length > 0 && !tailText.endsWith("\n") ? "\n\n" : "";
|
|
783
|
-
betweenAssistantMessages = false;
|
|
784
|
-
changed = appendTail(admitDelta(`${separator}${delta}`, nowMs)) || changed;
|
|
785
|
-
changed = setPhase("writing") || changed;
|
|
786
|
-
} else if (isThinkingEvent(event)) {
|
|
787
|
-
changed = setPhase("thinking") || changed;
|
|
788
|
-
}
|
|
789
|
-
const durableText = durableAssistantTextFromEvent(event);
|
|
790
|
-
if (durableText.trim().length > 0) {
|
|
791
|
-
durable = durableText;
|
|
792
|
-
if (delta.length === 0 && tailText.trim().length === 0) {
|
|
793
|
-
changed = appendTail(durableText) || changed;
|
|
794
|
-
}
|
|
795
|
-
betweenAssistantMessages = true;
|
|
796
|
-
}
|
|
797
|
-
const action = toolEventAction(event);
|
|
798
|
-
if (action !== null && event.type === "clio_coder_tool_start") {
|
|
799
|
-
if (action.toolCallId !== void 0) {
|
|
800
|
-
const duplicate = pendingActionsById.get(action.toolCallId);
|
|
801
|
-
if (duplicate !== void 0) removePendingAction(duplicate);
|
|
802
|
-
pendingActionsById.set(action.toolCallId, action);
|
|
803
|
-
}
|
|
804
|
-
pendingActions.push(action);
|
|
805
|
-
currentAction = action;
|
|
806
|
-
noteToolName(action.tool);
|
|
807
|
-
touch();
|
|
808
|
-
setPhase("tool");
|
|
809
|
-
changed = true;
|
|
810
|
-
} else if (action !== null && event.type === "clio_coder_tool_finish") {
|
|
811
|
-
const finished = (action.toolCallId !== void 0 ? pendingActionsById.get(action.toolCallId) : void 0) ?? lastPendingActionForTool(action.tool) ?? action;
|
|
812
|
-
removePendingAction(finished);
|
|
813
|
-
currentAction = pendingActions[pendingActions.length - 1] ?? null;
|
|
814
|
-
recentActions.unshift(finished);
|
|
815
|
-
if (recentActions.length > WORKER_ACTION_TRAIL_LIMIT) recentActions.length = WORKER_ACTION_TRAIL_LIMIT;
|
|
816
|
-
noteToolName(finished.tool);
|
|
817
|
-
touch();
|
|
818
|
-
setPhase(currentAction === null ? "waiting" : "tool");
|
|
819
|
-
changed = true;
|
|
820
|
-
}
|
|
821
|
-
if (event.type === "agent_start") changed = setPhase("starting") || changed;
|
|
822
|
-
return changed;
|
|
823
|
-
},
|
|
824
|
-
settle(text) {
|
|
825
|
-
const sealed = nonEmptyString(text) ?? nonEmptyString(durable);
|
|
826
|
-
if (sealed !== void 0) {
|
|
827
|
-
const bounded = boundSettledText(sealed);
|
|
828
|
-
tailText = bounded.text;
|
|
829
|
-
droppedLines = bounded.dropped;
|
|
830
|
-
}
|
|
831
|
-
currentAction = null;
|
|
832
|
-
pendingActions.length = 0;
|
|
833
|
-
pendingActionsById.clear();
|
|
834
|
-
settled = true;
|
|
835
|
-
phase = "settled";
|
|
836
|
-
touch();
|
|
837
|
-
return true;
|
|
838
|
-
},
|
|
839
|
-
restart() {
|
|
840
|
-
currentAction = null;
|
|
841
|
-
pendingActions.length = 0;
|
|
842
|
-
pendingActionsById.clear();
|
|
843
|
-
durable = "";
|
|
844
|
-
betweenAssistantMessages = false;
|
|
845
|
-
settled = false;
|
|
846
|
-
phase = "starting";
|
|
847
|
-
touch();
|
|
848
|
-
},
|
|
849
|
-
snapshot() {
|
|
850
|
-
if (cached !== null) return cached;
|
|
851
|
-
cached = {
|
|
852
|
-
revision,
|
|
853
|
-
phase,
|
|
854
|
-
tailText,
|
|
855
|
-
droppedLines,
|
|
856
|
-
droppedBytes,
|
|
857
|
-
currentAction: currentAction === null ? null : { ...currentAction },
|
|
858
|
-
recentActions: recentActions.map((entry) => ({ ...entry })),
|
|
859
|
-
toolNames: [...toolNames],
|
|
860
|
-
settled
|
|
861
|
-
};
|
|
862
|
-
return cached;
|
|
863
|
-
},
|
|
864
|
-
durableText() {
|
|
865
|
-
return durable;
|
|
866
|
-
}
|
|
867
|
-
};
|
|
868
|
-
}
|
|
869
|
-
|
|
870
|
-
// src/interactive/worker-stream.ts
|
|
871
639
|
function workerAskedByModel(state) {
|
|
872
640
|
return state.parentToolCallId !== void 0 || state.origin === "agent";
|
|
873
641
|
}
|
|
874
|
-
function
|
|
642
|
+
function nonEmptyString(value) {
|
|
875
643
|
return typeof value === "string" && value.trim().length > 0 ? value : void 0;
|
|
876
644
|
}
|
|
877
645
|
function finiteNumber(value) {
|
|
@@ -886,11 +654,11 @@ function workerRuntimeKind(runtimeKind, runtimeId) {
|
|
|
886
654
|
function runtimeIdentity(payload) {
|
|
887
655
|
const kind = workerRuntimeKind(payload.runtimeKind, payload.runtimeId);
|
|
888
656
|
if (kind === "acp") {
|
|
889
|
-
const peerId =
|
|
657
|
+
const peerId = nonEmptyString(payload.agentId);
|
|
890
658
|
return { kind, ...peerId !== void 0 ? { peerId } : {} };
|
|
891
659
|
}
|
|
892
|
-
const targetId =
|
|
893
|
-
const wireModelId =
|
|
660
|
+
const targetId = nonEmptyString(payload.targetId);
|
|
661
|
+
const wireModelId = nonEmptyString(payload.wireModelId);
|
|
894
662
|
return {
|
|
895
663
|
kind,
|
|
896
664
|
...targetId !== void 0 ? { targetId } : {},
|
|
@@ -905,7 +673,7 @@ function workerTargetLabel(runtime) {
|
|
|
905
673
|
return runtime.targetId ?? runtime.wireModelId ?? "unknown";
|
|
906
674
|
}
|
|
907
675
|
function terminalFacts(payload) {
|
|
908
|
-
const detail =
|
|
676
|
+
const detail = nonEmptyString(payload.outcomeDetail);
|
|
909
677
|
const tokenCount = finiteNumber(payload.tokenCount);
|
|
910
678
|
const durationMs = finiteNumber(payload.durationMs);
|
|
911
679
|
const exitCode = finiteNumber(payload.exitCode);
|
|
@@ -937,7 +705,7 @@ function createWorkerStream(options = {}) {
|
|
|
937
705
|
entry.progress = snapshot;
|
|
938
706
|
};
|
|
939
707
|
const currentEntryForRun = (runId) => {
|
|
940
|
-
const id =
|
|
708
|
+
const id = nonEmptyString(runId);
|
|
941
709
|
if (id === void 0) return void 0;
|
|
942
710
|
const assignmentId = assignmentByRun.get(id);
|
|
943
711
|
const entry = assignmentId === void 0 ? void 0 : byAssignment.get(assignmentId);
|
|
@@ -951,15 +719,15 @@ function createWorkerStream(options = {}) {
|
|
|
951
719
|
if (attempt !== void 0) attempt.outcome = facts.outcome;
|
|
952
720
|
const fold = progressByAssignment.get(entry.assignmentId);
|
|
953
721
|
if (fold !== void 0) {
|
|
954
|
-
fold.settle(
|
|
722
|
+
fold.settle(nonEmptyString(facts.text));
|
|
955
723
|
applyProgress(entry, fold);
|
|
956
724
|
}
|
|
957
725
|
return { kind: "updated", entry };
|
|
958
726
|
};
|
|
959
727
|
return {
|
|
960
728
|
started(payload) {
|
|
961
|
-
const runId =
|
|
962
|
-
const assignmentId =
|
|
729
|
+
const runId = nonEmptyString(payload.runId);
|
|
730
|
+
const assignmentId = nonEmptyString(payload.assignmentId) ?? runId;
|
|
963
731
|
if (runId === void 0 || assignmentId === void 0) return null;
|
|
964
732
|
const runtime = runtimeIdentity(payload);
|
|
965
733
|
const existing = byAssignment.get(assignmentId);
|
|
@@ -1024,7 +792,7 @@ function createWorkerStream(options = {}) {
|
|
|
1024
792
|
const entry = currentEntryForRun(payload.runId);
|
|
1025
793
|
if (entry === void 0 || !entry.pending) return null;
|
|
1026
794
|
const durationMs = finiteNumber(payload.elapsedMs);
|
|
1027
|
-
const failureMessage =
|
|
795
|
+
const failureMessage = nonEmptyString(payload.reason);
|
|
1028
796
|
entry.pending = false;
|
|
1029
797
|
entry.receipt = {
|
|
1030
798
|
outcome: "canceled",
|
|
@@ -1341,7 +1109,8 @@ function formatReceiptVerificationBlock(runId, result) {
|
|
|
1341
1109
|
}
|
|
1342
1110
|
function formatUserTaskHandoff(task) {
|
|
1343
1111
|
const note = task.note ? ` ${task.note}.` : "";
|
|
1344
|
-
|
|
1112
|
+
const acceptance = task.acceptance ? ` Acceptance: ${JSON.stringify(task.acceptance)}.` : "";
|
|
1113
|
+
return `Operator task ${task.id}: ${task.title}.${note}${acceptance} Pick it up with tasks action="pick" id="${task.id}" and work it when appropriate.`;
|
|
1345
1114
|
}
|
|
1346
1115
|
var SLASH_COMMAND_GROUPS = ["Work", "Inspect", "Configure", "Session"];
|
|
1347
1116
|
var RUN_THINKING_LEVELS = THINKING_LEVELS;
|
|
@@ -1418,9 +1187,9 @@ var BUILTIN_SLASH_COMMANDS = [
|
|
|
1418
1187
|
},
|
|
1419
1188
|
{
|
|
1420
1189
|
name: "skill",
|
|
1421
|
-
description: "Open the Skills Hub
|
|
1190
|
+
description: "Open the Skills Hub, invoke a skill, or `off` to drop an active skill's tool surface",
|
|
1422
1191
|
group: "Work",
|
|
1423
|
-
kinds: ["skill-selector", "skill-invocation"],
|
|
1192
|
+
kinds: ["skill-selector", "skill-invocation", "skill-surface-clear"],
|
|
1424
1193
|
args: {
|
|
1425
1194
|
positionals: [
|
|
1426
1195
|
{ name: "name", required: false },
|
|
@@ -1432,16 +1201,23 @@ var BUILTIN_SLASH_COMMANDS = [
|
|
|
1432
1201
|
return { kind: "skill-selector" };
|
|
1433
1202
|
}
|
|
1434
1203
|
const command = parseSkillCommand(trimmed);
|
|
1435
|
-
if (command)
|
|
1436
|
-
|
|
1204
|
+
if (!command) return null;
|
|
1205
|
+
if (command.name === SKILL_SURFACE_CLEAR_ARG && command.args.length === 0) {
|
|
1206
|
+
return { kind: "skill-surface-clear" };
|
|
1437
1207
|
}
|
|
1438
|
-
return
|
|
1208
|
+
return { kind: "skill-invocation", text: trimmed };
|
|
1439
1209
|
},
|
|
1440
1210
|
handle(command, ctx) {
|
|
1441
1211
|
if (command.kind === "skill-selector") {
|
|
1442
1212
|
ctx.openSkillsHub?.();
|
|
1443
1213
|
} else if (command.kind === "skill-invocation") {
|
|
1444
1214
|
ctx.submitChat(command.text);
|
|
1215
|
+
} else if (command.kind === "skill-surface-clear") {
|
|
1216
|
+
const cleared = ctx.clearSkillSurface?.() ?? [];
|
|
1217
|
+
ctx.notice(
|
|
1218
|
+
"info",
|
|
1219
|
+
cleared.length > 0 ? `Skill tool surface cleared: ${cleared.join(", ")}.` : "No skill tool surface is active."
|
|
1220
|
+
);
|
|
1445
1221
|
}
|
|
1446
1222
|
}
|
|
1447
1223
|
},
|
|
@@ -1997,7 +1773,14 @@ ${usage}` : usage);
|
|
|
1997
1773
|
},
|
|
1998
1774
|
args: {
|
|
1999
1775
|
subcommands: {
|
|
2000
|
-
add: {
|
|
1776
|
+
add: {
|
|
1777
|
+
parseFlagsInRest: true,
|
|
1778
|
+
flags: [
|
|
1779
|
+
{ name: "--expect", takesValue: true, repeatable: true, valueName: "path" },
|
|
1780
|
+
{ name: "--verify", takesValue: true, repeatable: true, valueName: "checkId[:timeoutMs]" }
|
|
1781
|
+
],
|
|
1782
|
+
positionals: [{ name: "text", required: true, rest: true }]
|
|
1783
|
+
},
|
|
2001
1784
|
hand: { positionals: [{ name: "id", required: true }] },
|
|
2002
1785
|
done: { positionals: [{ name: "id", required: true }] },
|
|
2003
1786
|
drop: { positionals: [{ name: "id", required: true }] }
|
|
@@ -2007,7 +1790,12 @@ ${usage}` : usage);
|
|
|
2007
1790
|
if (parsed.error) return { kind: "usage-error", command: "tasks", reason: parsed.error };
|
|
2008
1791
|
switch (parsed.subcommand) {
|
|
2009
1792
|
case "add":
|
|
2010
|
-
return parsed.rest ? {
|
|
1793
|
+
return parsed.rest ? {
|
|
1794
|
+
kind: "tasks-add",
|
|
1795
|
+
text: parsed.rest,
|
|
1796
|
+
...parsed.flagValues.has("--expect") ? { expectedOutputs: parsed.flagValues.get("--expect") ?? [] } : {},
|
|
1797
|
+
...parsed.flagValues.has("--verify") ? { verification: parsed.flagValues.get("--verify") ?? [] } : {}
|
|
1798
|
+
} : { kind: "usage-error", command: "tasks", reason: "add requires task text" };
|
|
2011
1799
|
case "hand":
|
|
2012
1800
|
case "done":
|
|
2013
1801
|
case "drop": {
|
|
@@ -2034,7 +1822,10 @@ ${usage}` : usage);
|
|
|
2034
1822
|
}
|
|
2035
1823
|
try {
|
|
2036
1824
|
if (command.kind === "tasks-add") {
|
|
2037
|
-
const task = ctx.userTasks.add(
|
|
1825
|
+
const task = ctx.userTasks.add(
|
|
1826
|
+
command.text,
|
|
1827
|
+
acceptanceFromTaskFlags(process.cwd(), command.expectedOutputs ?? [], command.verification ?? [])
|
|
1828
|
+
);
|
|
2038
1829
|
ctx.notice("success", `logged operator task ${task.id}: ${task.title}`);
|
|
2039
1830
|
return;
|
|
2040
1831
|
}
|
|
@@ -2560,30 +2351,6 @@ for (const entry of BUILTIN_SLASH_COMMANDS) {
|
|
|
2560
2351
|
}
|
|
2561
2352
|
var COMMAND_SHAPED_TOKEN = /^[A-Za-z][A-Za-z0-9:-]*$/u;
|
|
2562
2353
|
var COMMAND_ESCAPE = "\\/";
|
|
2563
|
-
var RETIRED_COMMAND_HINTS = Object.freeze({
|
|
2564
|
-
status: "Use the footer or Alt+U for status; /cost, /context, and /fleet inspect their own domains.",
|
|
2565
|
-
receipts: "Use /view or /view verify <run-id>.",
|
|
2566
|
-
"context-init": "Use /context init.",
|
|
2567
|
-
"context-clear": "Use /context reset for project context or /new for a fresh session.",
|
|
2568
|
-
"context-view": "Use /context.",
|
|
2569
|
-
compact: "Use /context compact [instructions].",
|
|
2570
|
-
skills: "Use /skill or /resources skills.",
|
|
2571
|
-
exit: "Use /quit.",
|
|
2572
|
-
config: "Use /settings.",
|
|
2573
|
-
ctx: "Use /context.",
|
|
2574
|
-
models: "Use /model.",
|
|
2575
|
-
clear: "Use /new for a fresh session or /context reset for project context.",
|
|
2576
|
-
library: "Use /resources library [kind].",
|
|
2577
|
-
prompts: "Use /resources prompts.",
|
|
2578
|
-
extensions: "Use /resources extensions.",
|
|
2579
|
-
interop: "Use /agents connect.",
|
|
2580
|
-
targets: "Use /settings targets.",
|
|
2581
|
-
"scoped-models": "Use /settings chat model-picker."
|
|
2582
|
-
});
|
|
2583
|
-
function retiredCommandHint(token) {
|
|
2584
|
-
if (/^skills?:[^\s]+$/u.test(token)) return "Use /skill <name> [task].";
|
|
2585
|
-
return RETIRED_COMMAND_HINTS[token];
|
|
2586
|
-
}
|
|
2587
2354
|
function formatExtensionReloadNotice(outcome) {
|
|
2588
2355
|
if (outcome.status !== "committed") {
|
|
2589
2356
|
return ["error", `extensions: reload rejected (${outcome.reason}); generation ${outcome.generation} stays active`];
|
|
@@ -2629,12 +2396,6 @@ function dispatchSlashCommand(command, ctx) {
|
|
|
2629
2396
|
return "accepted";
|
|
2630
2397
|
}
|
|
2631
2398
|
if (command.kind === "unknown-command") {
|
|
2632
|
-
const retiredHint = retiredCommandHint(command.token);
|
|
2633
|
-
if (retiredHint) {
|
|
2634
|
-
ctx.notice("error", `/${command.token} is retired and did not run. ${retiredHint}`);
|
|
2635
|
-
ctx.render();
|
|
2636
|
-
return "rejected";
|
|
2637
|
-
}
|
|
2638
2399
|
const expansion = ctx.expandPromptTemplate?.(command.text);
|
|
2639
2400
|
if (expansion?.expanded === true) {
|
|
2640
2401
|
ctx.submitChat(command.text);
|
|
@@ -2706,8 +2467,6 @@ function commandReference() {
|
|
|
2706
2467
|
|
|
2707
2468
|
export {
|
|
2708
2469
|
COUNCIL_SYNTHESIS_LABEL,
|
|
2709
|
-
boundSettledText,
|
|
2710
|
-
createWorkerProgressFold,
|
|
2711
2470
|
workerAskedByModel,
|
|
2712
2471
|
workerTargetLabel,
|
|
2713
2472
|
workerReceiptSummary,
|
|
@@ -2727,4 +2486,4 @@ export {
|
|
|
2727
2486
|
dispatchSlashCommand,
|
|
2728
2487
|
commandReference
|
|
2729
2488
|
};
|
|
2730
|
-
//# sourceMappingURL=chunk-
|
|
2489
|
+
//# sourceMappingURL=chunk-FFUPXJC4.js.map
|
|
@@ -700,7 +700,7 @@ function parseTrackedMetrics(value, source) {
|
|
|
700
700
|
reasoningTokens: readSourcedNullableNumber(record.reasoningTokens, `${source}.reasoningTokens`),
|
|
701
701
|
toolCalls: readSourcedNumber(record.toolCalls, `${source}.toolCalls`),
|
|
702
702
|
toolErrors: readSourcedNumber(record.toolErrors, `${source}.toolErrors`),
|
|
703
|
-
ttftMsFirstCall:
|
|
703
|
+
ttftMsFirstCall: readSourcedNullableNumber(record.ttftMsFirstCall, `${source}.ttftMsFirstCall`),
|
|
704
704
|
wallClockMs: readSourcedNumber(record.wallClockMs, `${source}.wallClockMs`),
|
|
705
705
|
contextTokensAtEnd: readSourcedNumber(record.contextTokensAtEnd, `${source}.contextTokensAtEnd`),
|
|
706
706
|
compactions: readSourcedNumber(record.compactions, `${source}.compactions`),
|
|
@@ -1526,4 +1526,4 @@ export {
|
|
|
1526
1526
|
loadEvalArtifactV4,
|
|
1527
1527
|
parseEvalArtifactV4
|
|
1528
1528
|
};
|
|
1529
|
-
//# sourceMappingURL=chunk-
|
|
1529
|
+
//# sourceMappingURL=chunk-FTMGRKEF.js.map
|