@iowarp/clio-coder 0.4.3 → 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 +63 -0
- package/README.md +1 -1
- package/dist/{acp-H2NGRPWO.js → acp-WNAYYF4F.js} +4 -5
- package/dist/{agents-TL5LLUQP.js → agents-3OKXHLOI.js} +33 -31
- package/dist/assets/codewiki.json +1 -1
- package/dist/{auth-E5SW4HMS.js → auth-VKNNMGPU.js} +10 -11
- package/dist/{builtins-IA7V7FUC.js → builtins-WGALA46I.js} +4 -4
- package/dist/{chunk-F5JHEYZM.js → chunk-23L32XTI.js} +10 -7
- package/dist/{chunk-DWUOQKRU.js → chunk-25QBEXRS.js} +2 -2
- package/dist/{chunk-LLDJM5XK.js → chunk-26QSH3EJ.js} +2 -2
- package/dist/{chunk-N2Z7HLVY.js → chunk-2ASED4PZ.js} +10 -10
- package/dist/{chunk-MCEPRMZW.js → chunk-2CU2H6KE.js} +2 -2
- package/dist/chunk-2DSOYNFC.js +108 -0
- package/dist/{chunk-LDJG7DW3.js → chunk-2ZSONWVL.js} +4 -4
- package/dist/{chunk-GI7YYQ3F.js → chunk-36CT5VVL.js} +324 -41
- package/dist/{chunk-4UVU7BJ5.js → chunk-3GY4F45V.js} +2 -2
- package/dist/{chunk-PUVDKJ2Y.js → chunk-3ODX73FK.js} +3 -5
- package/dist/{chunk-IUE3Y34X.js → chunk-3UNOLWNZ.js} +2 -2
- package/dist/{chunk-6PTFB5VS.js → chunk-3UUXNFEX.js} +8 -4
- package/dist/{chunk-2APPQIER.js → chunk-4M6Z5QVF.js} +4 -4
- package/dist/{chunk-K6BSR66V.js → chunk-4NSRCOYP.js} +4 -1
- package/dist/{chunk-JGRC33J2.js → chunk-54X7T7DK.js} +12 -3
- package/dist/{chunk-YQWYVTMC.js → chunk-5636DCO5.js} +4 -4
- package/dist/{chunk-7E7I3WLS.js → chunk-57XXR6DR.js} +23 -22
- package/dist/{chunk-7ZYNNDKC.js → chunk-5TUB6SLS.js} +2 -2
- package/dist/{chunk-VW6DOEDG.js → chunk-6OSVSQL5.js} +11 -2
- package/dist/{chunk-L47TF46W.js → chunk-6PAZTBPA.js} +14 -2
- package/dist/{chunk-XIVNBFZS.js → chunk-6Q3CYFD3.js} +34 -16
- package/dist/{chunk-RSJ25QSL.js → chunk-6QOTUPRG.js} +155 -36
- package/dist/{chunk-JKKCYP3C.js → chunk-6UINWWS6.js} +10 -4
- package/dist/{chunk-WBKFA554.js → chunk-72YIHOZQ.js} +2 -2
- package/dist/{chunk-PAJQJ7BS.js → chunk-75W7L2E2.js} +246 -697
- package/dist/{chunk-RRNP2ANY.js → chunk-7UGL4MB5.js} +4 -4
- package/dist/{chunk-EKCHAPYA.js → chunk-AUPNRN7C.js} +2 -2
- package/dist/{chunk-ZDN3Y73Y.js → chunk-BJVFZO5U.js} +6 -48
- package/dist/{chunk-IWT4SF4R.js → chunk-CUSRQKPU.js} +64 -2
- package/dist/{chunk-SKHCAU7K.js → chunk-DQOVN6KV.js} +3 -2
- package/dist/{chunk-ZWPRK62N.js → chunk-DT3LWJOB.js} +4 -4
- package/dist/chunk-DXKJURES.js +671 -0
- package/dist/{chunk-BEPZRGGU.js → chunk-EL24TAU4.js} +2 -2
- package/dist/{chunk-OML5D5V5.js → chunk-ELWDPP3Y.js} +5 -5
- package/dist/{chunk-NDINPTJ4.js → chunk-ELZVTCGV.js} +5 -4
- package/dist/chunk-EXLD33WO.js +381 -0
- package/dist/{chunk-IJNZMHLA.js → chunk-FEAXX7B6.js} +2 -2
- package/dist/{chunk-TM6LQDI3.js → chunk-FFUPXJC4.js} +74 -323
- package/dist/chunk-GX5WYQO4.js +59 -0
- package/dist/chunk-I2DWJ4GM.js +390 -0
- package/dist/{chunk-TXOTCRLG.js → chunk-I5FWO7L5.js} +5 -5
- package/dist/chunk-IRXAATOX.js +539 -0
- package/dist/chunk-IXIY2H4R.js +44 -0
- package/dist/{chunk-KK4JZPBQ.js → chunk-IZXGRF7P.js} +76 -10
- package/dist/{chunk-5TSRNF4G.js → chunk-JCI2ROMZ.js} +164 -6
- package/dist/{chunk-INY6HTFL.js → chunk-JEIYHLOR.js} +2 -2
- package/dist/{chunk-MUW2BDDH.js → chunk-JQLNNIKT.js} +2 -2
- package/dist/{chunk-XPWWI35G.js → chunk-JSD46VO2.js} +19 -8
- package/dist/{chunk-VA5FNYMT.js → chunk-JT2RFCC5.js} +39 -2
- package/dist/{chunk-V2ANDPVT.js → chunk-K6T2ZAMZ.js} +168 -6
- package/dist/{chunk-B4OAX3SI.js → chunk-KFV5L5SK.js} +13 -6
- package/dist/{chunk-JEQ3XTHC.js → chunk-LLXSDWXS.js} +2 -2
- package/dist/{chunk-E3TPLWFX.js → chunk-LTIKRKFL.js} +3 -3
- package/dist/{chunk-NIQJ66N4.js → chunk-N56KALIC.js} +17 -17
- package/dist/{chunk-JDAY6FIL.js → chunk-NAI6ZFCY.js} +13 -9
- package/dist/{chunk-AF4YM7Z4.js → chunk-NRO2BJRH.js} +2490 -2182
- package/dist/{chunk-WRBAGUNF.js → chunk-NXIMQY5W.js} +2 -2
- package/dist/{chunk-I7ZPNEJM.js → chunk-NXYCB2VD.js} +5 -5
- package/dist/chunk-ODGTEFFI.js +50 -0
- package/dist/{chunk-2VIKGWFZ.js → chunk-OEJSLEPW.js} +2 -2
- package/dist/{chunk-KKOJXO6R.js → chunk-OMQNJVKW.js} +4 -2
- package/dist/{chunk-54CBCGIR.js → chunk-Q4WO54TA.js} +132 -77
- package/dist/{chunk-B4VEBZKF.js → chunk-QUFRYSWI.js} +12 -6
- package/dist/{chunk-42FMPA75.js → chunk-QZWQA4DE.js} +2 -2
- package/dist/{chunk-HEQY7ZFI.js → chunk-RAY4OVGZ.js} +2 -2
- package/dist/{chunk-G76U63X4.js → chunk-RQCKCSRL.js} +7 -7
- package/dist/{chunk-64I3JVYM.js → chunk-RXTN6AKH.js} +2 -2
- package/dist/{chunk-UPZU6GE4.js → chunk-RZDWV63N.js} +3 -3
- package/dist/{chunk-2UH2KFUP.js → chunk-S6PYF2XF.js} +2 -2
- package/dist/{chunk-JSC3U7TI.js → chunk-TOIVGRUX.js} +2 -2
- package/dist/{chunk-7DRAWPTZ.js → chunk-TQAHXW6Y.js} +1 -1
- package/dist/{chunk-JIEGK6UF.js → chunk-U6TMQNSI.js} +48 -4
- package/dist/{chunk-AX2THNSA.js → chunk-UEPWCCTY.js} +4 -4
- package/dist/{chunk-QWGDJJYJ.js → chunk-USR47QNF.js} +4 -4
- package/dist/{chunk-Y3CBHOR6.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-2UG5F4C5.js → chunk-XULDXHTN.js} +24 -12
- package/dist/chunk-XXYSBZIQ.js +283 -0
- package/dist/{chunk-MWUZBSAQ.js → chunk-Y55JBDO5.js} +331 -51
- package/dist/{chunk-W6RRQCPQ.js → chunk-YD5GIKET.js} +4 -4
- package/dist/{chunk-CE5AX47J.js → chunk-YECAMM3D.js} +2 -2
- package/dist/{chunk-WCXUNS7U.js → chunk-YNFKXPEC.js} +6 -6
- package/dist/cli/index.js +36 -35
- package/dist/{clio-CMMK4KRR.js → clio-QLICPCF5.js} +2 -2
- package/dist/{code-nav-MDZNQS33.js → code-nav-IJR2DBPR.js} +6 -6
- package/dist/{components-UCUQ4QXW.js → components-2TGAI2RC.js} +3 -4
- package/dist/{config-SVM5P5YI.js → config-IUA6OYNS.js} +52 -47
- package/dist/{configure-LE3IK2TJ.js → configure-VEPX4NMX.js} +14 -15
- package/dist/{context-VNCR7KAG.js → context-2DKHWH2T.js} +23 -23
- package/dist/{context-2OHRKS42.js → context-4MPR7WKB.js} +48 -42
- package/dist/{context-E3VC7RX5.js → context-BOYF5EJM.js} +11 -11
- package/dist/{context-clear-BW4O37TG.js → context-clear-S4ZJCQUX.js} +48 -42
- package/dist/{context-working-set-VDS25HXZ.js → context-working-set-3I3FYX6Y.js} +8 -8
- package/dist/detail-A7JAVSIG.js +98 -0
- package/dist/{dispatch-runner-5AHT53RF.js → dispatch-runner-RJ5I2F2O.js} +71 -58
- package/dist/{docs-PD3EXDKU.js → docs-SPOV3BAN.js} +3 -5
- package/dist/{doctor-WNNVO6FY.js → doctor-DKICC2SN.js} +54 -31
- package/dist/{eval-7G7SGAYO.js → eval-OQOQUDHK.js} +47 -56
- package/dist/{evidence-VD6736FQ.js → evidence-4DQ25GUQ.js} +53 -150
- package/dist/evidence-4F5USFKH.js +208 -0
- package/dist/{evolve-AL3NGVRL.js → evolve-GSS52E5J.js} +44 -41
- package/dist/{extensions-MOVJ32NM.js → extensions-G7MFLYHT.js} +4 -5
- package/dist/{fleet-QZHUMAGI.js → fleet-Q37YHHAQ.js} +74 -68
- package/dist/{fleet-commands-BAYT5FJZ.js → fleet-commands-G7E4N7SM.js} +14 -11
- package/dist/{fleet-decisions-IREVMRU4.js → fleet-decisions-O7M6QBA2.js} +6 -6
- package/dist/{fleet-graph-YCTT3HTI.js → fleet-graph-TOUBW6OW.js} +13 -13
- package/dist/{fleet-inspect-QVJTDAVB.js → fleet-inspect-SW33JJNI.js} +43 -39
- package/dist/{fleet-preflight-25QAFPK4.js → fleet-preflight-CV2655TW.js} +2 -3
- package/dist/{fleet-validate-5O57AAJ7.js → fleet-validate-KESZX2YH.js} +16 -16
- package/dist/{fleet-verify-CPH2W2T6.js → fleet-verify-UQPMTVE3.js} +42 -38
- package/dist/{fleet-view-SWBR3VGQ.js → fleet-view-MN2VG4MR.js} +43 -39
- package/dist/{init-J477LKZH.js → init-PXEXQSBF.js} +60 -54
- package/dist/{interop-3FCM6XLG.js → interop-ZG5T62U3.js} +6 -7
- package/dist/inventory-C26CFDRR.js +101 -0
- package/dist/{library-QUQEIUG6.js → library-B2W4N74O.js} +16 -17
- package/dist/{memory-SGGSEP65.js → memory-YCANYS5A.js} +45 -42
- package/dist/{models-HEKUAXXK.js → models-GERTU3YI.js} +20 -22
- package/dist/{monitor-HKU57TYQ.js → monitor-CPNIUULB.js} +50 -44
- package/dist/{orchestrator-VDFAEFAI.js → orchestrator-J4BSH4WQ.js} +491 -1182
- package/dist/{panes-DN2SSFOH.js → panes-BOHAEGYC.js} +3 -3
- package/dist/{panes-TALGNPZT.js → panes-NXSLDQZ2.js} +5 -6
- package/dist/{paths-NBMFAIEZ.js → paths-VSUWNC22.js} +3 -4
- package/dist/{reset-EAJFFJVB.js → reset-TNWTB5LU.js} +5 -6
- package/dist/{resources-OVKSEFVE.js → resources-4PXNMD5G.js} +14 -14
- package/dist/{run-7DP7ZF2J.js → run-D6XJ34CN.js} +79 -83
- package/dist/{share-WML67FT3.js → share-2NWMJJEE.js} +14 -15
- package/dist/{skills-SG662R2K.js → skills-KR7WON5G.js} +18 -19
- package/dist/{skills-eval-VVZEUU46.js → skills-eval-O2ZNOLDS.js} +49 -46
- package/dist/{skills-inventory-I2E23GET.js → skills-inventory-ZZOUBK7O.js} +14 -14
- package/dist/{slash-commands-S7MBJDQK.js → slash-commands-ZXPJD64J.js} +32 -23
- package/dist/{steer-2LQOMCPB.js → steer-XA25PSCS.js} +3 -3
- package/dist/{support-CC2UJBJ6.js → support-7EMVWYG2.js} +2 -2
- package/dist/{targets-4QC3HIEW.js → targets-OMH2XCSN.js} +25 -27
- package/dist/tasks-IPAGMEIX.js +36 -0
- package/dist/{terminal-lease-TUHIJ6Y2.js → terminal-lease-C2J3JYRE.js} +4 -4
- package/dist/{tools-TFGJICCU.js → tools-EFFEAIDP.js} +5 -6
- package/dist/{uninstall-5PEVOE5B.js → uninstall-HALS6BLF.js} +7 -8
- package/dist/{upgrade-M4WXY6KN.js → upgrade-MS72RJEP.js} +14 -11
- package/dist/{usage-N7ZNVLEM.js → usage-NHG6MCJM.js} +60 -51
- package/dist/{verifiers-DJTP4XX6.js → verifiers-7AUNVXDY.js} +150 -17
- package/dist/{verify-RWE4PPEK.js → verify-FWYGPKMR.js} +12 -10
- package/dist/{web-fetch-MPARV2K7.js → web-fetch-V4FKSDAV.js} +4 -4
- package/dist/{wiki-generate-C7IQOXSP.js → wiki-generate-743CIGJW.js} +63 -56
- package/dist/{with-panes-4GCGSL7J.js → with-panes-BDQEWBRT.js} +2 -2
- package/dist/worker/entry.js +36 -33
- package/docs/README.md +3 -2
- package/docs/architecture/acp.md +17 -0
- package/docs/architecture/artifact-versions.md +1 -1
- package/docs/architecture/dispatch-typed-intent.md +1 -1
- package/docs/architecture/evidence-and-memory.md +1 -1
- package/docs/architecture/observability.md +7 -1
- package/docs/architecture/prompt-envelope-and-tools.md +15 -5
- package/docs/architecture/safety-model.md +10 -17
- package/docs/architecture/tui-design.md +1 -1
- package/docs/guide/built-in-agents.md +8 -8
- package/docs/guide/commands-and-modes.md +17 -2
- package/docs/guide/configuration-and-targets.md +3 -1
- package/docs/guide/configuration-reference.md +10 -5
- package/docs/guide/environment-variables.md +2 -2
- package/docs/guide/tool-usage.md +78 -3
- package/docs/history/config-knobs-audit.md +2 -2
- package/docs/process/development-pipeline.md +6 -1
- 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/package.json +1 -1
- package/skills/coding/coding-standards/SKILL.md +14 -4
- package/skills/context/context-handoff/SKILL.md +3 -3
- package/skills/context/context-prime/SKILL.md +3 -3
- package/skills/planning/architecture/SKILL.md +5 -5
- package/skills/planning/backlog/SKILL.md +4 -4
- package/skills/planning/prd/SKILL.md +4 -3
- package/skills/planning/product-intent/SKILL.md +8 -8
- package/skills/planning/tech-spec/SKILL.md +4 -4
- package/skills/registry.yaml +32 -32
- package/skills/research/arxiv-literature/SKILL.md +3 -3
- package/skills/research/experiment-protocol/SKILL.md +3 -3
- package/skills/research/scientific-debugging/SKILL.md +3 -2
- package/skills/research/scientific-modernization/SKILL.md +3 -3
- package/skills/skill-marketplace.json +16 -16
- package/skills/workflow/cut-it/SKILL.md +3 -4
- package/skills/workflow/design-council/SKILL.md +5 -10
- package/skills/workflow/grill-me/SKILL.md +14 -15
- package/skills/workflow/workflow-distiller/SKILL.md +4 -4
- package/src/cli/args.ts +0 -8
- package/src/cli/configure.ts +2 -1
- 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 +2 -0
- package/src/cli/run.ts +0 -2
- package/src/cli/targets.ts +1 -1
- package/src/cli/tasks.ts +84 -0
- package/src/cli/upgrade.ts +10 -5
- package/src/cli/usage.ts +6 -0
- 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/git-commit-attribution.ts +46 -3
- package/src/core/run-overrides.ts +0 -5
- package/src/core/skill-activation.ts +3 -0
- 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/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/prompts.ts +43 -0
- package/src/domains/dispatch/active-route-planner.ts +4 -0
- package/src/domains/dispatch/code-step.ts +11 -4
- package/src/domains/dispatch/contract.ts +31 -7
- package/src/domains/dispatch/execution-scheduler.ts +2 -0
- package/src/domains/dispatch/extension.ts +50 -27
- 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 +17 -2
- package/src/domains/eval/runners/clio-run.ts +12 -9
- 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/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/middleware/marketplace-offer.ts +20 -1
- package/src/domains/middleware/runtime.ts +7 -3
- package/src/domains/mux/detect.ts +3 -6
- package/src/domains/observability/accountability.ts +15 -1
- package/src/domains/observability/contract.ts +52 -7
- package/src/domains/observability/evidence-index.ts +10 -0
- package/src/domains/observability/extension.ts +9 -5
- 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/model-discovery.ts +1 -4
- package/src/domains/providers/models/local-models/clio-coder-local-coding-targets.yaml +16 -14
- package/src/domains/providers/runtimes/claude/claude-code.ts +9 -0
- package/src/domains/providers/support.ts +1 -1
- package/src/domains/providers/types/runtime-descriptor.ts +1 -1
- package/src/domains/safety/action-classifier.ts +7 -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 +20 -1
- package/src/domains/safety/policy-engine.ts +26 -6
- package/src/domains/safety/rigor.ts +53 -39
- package/src/domains/safety/validation-contract.ts +388 -0
- package/src/domains/session/archive-readers.ts +10 -1
- package/src/domains/session/decision-board.ts +101 -2
- package/src/domains/session/entries.ts +44 -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/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/apis/ollama-native.ts +15 -0
- package/src/engine/claude/subprocess-runtime.ts +107 -60
- package/src/engine/external-subprocess.ts +12 -4
- package/src/entry/orchestrator.ts +11 -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 +2 -1
- 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/slash-autocomplete.ts +4 -6
- package/src/interactive/slash-commands.ts +25 -39
- package/src/interactive/slash-spec.ts +28 -0
- package/src/interactive/view/artifacts.ts +2 -0
- package/src/interactive/worker-stream.ts +7 -3
- 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/core-bootstrap.ts +16 -0
- package/src/tools/decide.ts +136 -0
- package/src/tools/dispatch-admission.ts +21 -0
- package/src/tools/dispatch-plan.ts +5 -2
- package/src/tools/dispatch-runner.ts +15 -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 +1 -1
- 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/dist/chunk-7DICMOS6.js +0 -313
- package/dist/chunk-RVG5JXAL.js +0 -41
- package/dist/chunk-T56WDKA5.js +0 -183
- package/dist/chunk-VPKWYKEY.js +0 -169
|
@@ -5,10 +5,10 @@ import {
|
|
|
5
5
|
import {
|
|
6
6
|
loadFragments,
|
|
7
7
|
renderCodewikiDigest
|
|
8
|
-
} from "./chunk-
|
|
8
|
+
} from "./chunk-V6HJFQZE.js";
|
|
9
9
|
import {
|
|
10
10
|
loadMemoryRecordsSync
|
|
11
|
-
} from "./chunk-
|
|
11
|
+
} from "./chunk-EL24TAU4.js";
|
|
12
12
|
import {
|
|
13
13
|
WIKI_INDEX,
|
|
14
14
|
WIKI_PLAN_FILE,
|
|
@@ -34,7 +34,7 @@ import {
|
|
|
34
34
|
wikiStaleness,
|
|
35
35
|
writeWikiMeta,
|
|
36
36
|
writeWikiPlanFile
|
|
37
|
-
} from "./chunk-
|
|
37
|
+
} from "./chunk-ELZVTCGV.js";
|
|
38
38
|
import {
|
|
39
39
|
buildCodewikiCandidate,
|
|
40
40
|
coordinateCodewikiExclusive,
|
|
@@ -44,10 +44,23 @@ import {
|
|
|
44
44
|
statePath,
|
|
45
45
|
writeClioState
|
|
46
46
|
} from "./chunk-MXHC5QYU.js";
|
|
47
|
+
import {
|
|
48
|
+
readSessionEntriesForId
|
|
49
|
+
} from "./chunk-6UINWWS6.js";
|
|
50
|
+
import {
|
|
51
|
+
filterEntriesToActivePath
|
|
52
|
+
} from "./chunk-W6GROXXM.js";
|
|
53
|
+
import {
|
|
54
|
+
foldDecisionBoard
|
|
55
|
+
} from "./chunk-I2DWJ4GM.js";
|
|
47
56
|
import {
|
|
48
57
|
createTomlFileReader,
|
|
49
58
|
tomlTableAt
|
|
50
59
|
} from "./chunk-LCGCVYZ4.js";
|
|
60
|
+
import {
|
|
61
|
+
describeValidationContract,
|
|
62
|
+
loadValidationContract
|
|
63
|
+
} from "./chunk-V76WTFTW.js";
|
|
51
64
|
import {
|
|
52
65
|
classifyProjectPreload
|
|
53
66
|
} from "./chunk-JVCV3ICN.js";
|
|
@@ -55,6 +68,9 @@ import {
|
|
|
55
68
|
compileGlobRegex,
|
|
56
69
|
normalizeGlobInput
|
|
57
70
|
} from "./chunk-VG7TBQIY.js";
|
|
71
|
+
import {
|
|
72
|
+
decisionRef
|
|
73
|
+
} from "./chunk-54X7T7DK.js";
|
|
58
74
|
import {
|
|
59
75
|
ceilChars
|
|
60
76
|
} from "./chunk-NZMNUPZZ.js";
|
|
@@ -83,6 +99,7 @@ import {
|
|
|
83
99
|
} from "./chunk-APJ265NV.js";
|
|
84
100
|
import {
|
|
85
101
|
clioDataDir,
|
|
102
|
+
clioStateDir,
|
|
86
103
|
resolveClioDirs
|
|
87
104
|
} from "./chunk-BYP5D4HI.js";
|
|
88
105
|
import {
|
|
@@ -3282,6 +3299,7 @@ async function runWikiGenerate(input = { model: "configured-clio-target" }) {
|
|
|
3282
3299
|
plan: resolved.plan,
|
|
3283
3300
|
resumed: resolved.resumed,
|
|
3284
3301
|
unclaimedAreas: resolved.unclaimedAreas,
|
|
3302
|
+
...input.decisions ? { decisions: input.decisions } : {},
|
|
3285
3303
|
gitHead: existingMeta?.gitHead ?? null,
|
|
3286
3304
|
...input.onProgress ? { progress: input.onProgress } : {}
|
|
3287
3305
|
});
|
|
@@ -3456,6 +3474,7 @@ async function runContextRefresh(input = {}) {
|
|
|
3456
3474
|
wikiResult = await runWikiGenerate({
|
|
3457
3475
|
cwd,
|
|
3458
3476
|
mode: "update",
|
|
3477
|
+
...input.decisions ? { decisions: input.decisions } : {},
|
|
3459
3478
|
model: input.wikiModel ?? "unresolved-documenter-target",
|
|
3460
3479
|
...input.wikiGenerate ? { generate: input.wikiGenerate } : {},
|
|
3461
3480
|
...input.onProgress ? { onProgress: input.onProgress } : {}
|
|
@@ -3574,6 +3593,10 @@ function collectStartupHints(cwd, options = {}) {
|
|
|
3574
3593
|
for (const issue of clio.errors) {
|
|
3575
3594
|
hints.push(`clio-coder: malformed ${issue.path} ignored: ${issue.error}`);
|
|
3576
3595
|
}
|
|
3596
|
+
const contract = loadValidationContract(cwd);
|
|
3597
|
+
if (!contract.ok) {
|
|
3598
|
+
hints.push(`clio-coder: validation contract ignored, rigor stays normal: ${describeValidationContract(contract)}`);
|
|
3599
|
+
}
|
|
3577
3600
|
const state = readClioState(cwd);
|
|
3578
3601
|
if (!state) return hints;
|
|
3579
3602
|
if (state.contextSources !== void 0 && adoptionSourcesChanged(state.contextSources, { cwd })) {
|
|
@@ -3689,9 +3712,11 @@ function createContextBundle(_context, options = {}) {
|
|
|
3689
3712
|
input?.onProgress?.(event);
|
|
3690
3713
|
};
|
|
3691
3714
|
try {
|
|
3692
|
-
const result = await runContextRefresh(
|
|
3693
|
-
|
|
3694
|
-
|
|
3715
|
+
const result = await runContextRefresh({
|
|
3716
|
+
...input,
|
|
3717
|
+
...input?.wiki ? { decisions: input.decisions ?? await currentDecisions(_context) } : {},
|
|
3718
|
+
onProgress: emitProgress
|
|
3719
|
+
});
|
|
3695
3720
|
const cwd = input?.cwd ?? process.cwd();
|
|
3696
3721
|
contextState.invalidate(cwd);
|
|
3697
3722
|
if (cwd === lastCwd) startupHints = collectStartupHints(cwd, options);
|
|
@@ -3712,9 +3737,11 @@ function createContextBundle(_context, options = {}) {
|
|
|
3712
3737
|
input?.onProgress?.(event);
|
|
3713
3738
|
};
|
|
3714
3739
|
try {
|
|
3715
|
-
return await runWikiGenerate(
|
|
3716
|
-
|
|
3717
|
-
|
|
3740
|
+
return await runWikiGenerate({
|
|
3741
|
+
...input ?? { model: "configured-clio-target" },
|
|
3742
|
+
decisions: input?.decisions ?? await currentDecisions(_context),
|
|
3743
|
+
onProgress: emitProgress
|
|
3744
|
+
});
|
|
3718
3745
|
} catch (err) {
|
|
3719
3746
|
emitProgress({
|
|
3720
3747
|
phase: "done",
|
|
@@ -3743,6 +3770,14 @@ function createContextBundle(_context, options = {}) {
|
|
|
3743
3770
|
};
|
|
3744
3771
|
return { extension, contract };
|
|
3745
3772
|
}
|
|
3773
|
+
async function currentDecisions(context) {
|
|
3774
|
+
const session = context.getContract("session");
|
|
3775
|
+
const current = session?.current();
|
|
3776
|
+
if (!session || !current) return [];
|
|
3777
|
+
session.flushAppends?.();
|
|
3778
|
+
const read = await readSessionEntriesForId(clioStateDir(), current.id);
|
|
3779
|
+
return foldDecisionBoard(filterEntriesToActivePath(read.entries, session.tree(current.id).leafId ?? void 0));
|
|
3780
|
+
}
|
|
3746
3781
|
|
|
3747
3782
|
// src/domains/context/manifest.ts
|
|
3748
3783
|
init_esm_shims();
|
|
@@ -3943,6 +3978,8 @@ ${page.sources.map((source) => `- ${source}`).join("\n")}` : "No anchor sources
|
|
|
3943
3978
|
"## Repository guidance",
|
|
3944
3979
|
repositoryGuidance(input.cwd)
|
|
3945
3980
|
];
|
|
3981
|
+
const decisions = recordedDecisions(input);
|
|
3982
|
+
if (decisions.length > 0) sections.push("# Recorded decisions", "```json", JSON.stringify(decisions, null, 2), "```");
|
|
3946
3983
|
if (input.seeded) {
|
|
3947
3984
|
sections.push(
|
|
3948
3985
|
"## Revision",
|
|
@@ -3952,6 +3989,35 @@ ${page.sources.map((source) => `- ${source}`).join("\n")}` : "No anchor sources
|
|
|
3952
3989
|
return `${sections.join("\n\n")}
|
|
3953
3990
|
`;
|
|
3954
3991
|
}
|
|
3992
|
+
function underSource(path, source) {
|
|
3993
|
+
const root = source.replace(/^\.\//, "").replace(/\/$/, "");
|
|
3994
|
+
const candidate = path.replace(/^\.\//, "");
|
|
3995
|
+
return candidate === root || candidate.startsWith(`${root}/`);
|
|
3996
|
+
}
|
|
3997
|
+
function recordedDecisions(input) {
|
|
3998
|
+
const files = new Set(
|
|
3999
|
+
input.codewiki.files.filter((file) => input.page.sources.some((source) => underSource(file.path, source))).map((file) => file.id)
|
|
4000
|
+
);
|
|
4001
|
+
const symbols = new Set(
|
|
4002
|
+
input.codewiki.symbols.filter((symbol) => files.has(symbol.fileId)).map((symbol) => symbol.name)
|
|
4003
|
+
);
|
|
4004
|
+
return (input.decisions ?? []).flatMap(
|
|
4005
|
+
(entry) => entry.decisions.filter((record) => {
|
|
4006
|
+
if (record.status !== "active") return false;
|
|
4007
|
+
if (symbols.has(record.key)) return true;
|
|
4008
|
+
const paths = [record.rationale ?? "", ...record.alternatives ?? []].join(" ").match(/[\w@./-]+/g) ?? [];
|
|
4009
|
+
return paths.some((path) => input.page.sources.some((source) => underSource(path.replace(/\.$/, ""), source)));
|
|
4010
|
+
}).map((record) => ({
|
|
4011
|
+
ref: decisionRef(entry.interviewId, record.key),
|
|
4012
|
+
key: record.key,
|
|
4013
|
+
value: record.value,
|
|
4014
|
+
alternatives: record.alternatives ?? [],
|
|
4015
|
+
rationale: record.rationale ?? record.source_question ?? "",
|
|
4016
|
+
decidedAt: record.decidedAt,
|
|
4017
|
+
source: record.source ?? (entry.origin === "agent" ? "agent" : "operator")
|
|
4018
|
+
}))
|
|
4019
|
+
).slice(0, 12);
|
|
4020
|
+
}
|
|
3955
4021
|
|
|
3956
4022
|
export {
|
|
3957
4023
|
adoptionSnapshotsHash,
|
|
@@ -3979,4 +4045,4 @@ export {
|
|
|
3979
4045
|
buildWikiPlanPrompt,
|
|
3980
4046
|
buildWikiPagePrompt
|
|
3981
4047
|
};
|
|
3982
|
-
//# sourceMappingURL=chunk-
|
|
4048
|
+
//# sourceMappingURL=chunk-IZXGRF7P.js.map
|
|
@@ -195,16 +195,16 @@ var ansi_styles_default = ansiStyles;
|
|
|
195
195
|
|
|
196
196
|
// node_modules/chalk/source/vendor/supports-color/index.js
|
|
197
197
|
init_esm_shims();
|
|
198
|
-
import
|
|
198
|
+
import process2 from "node:process";
|
|
199
199
|
import os from "node:os";
|
|
200
200
|
import tty from "node:tty";
|
|
201
|
-
function hasFlag(flag, argv = globalThis.Deno ? globalThis.Deno.args :
|
|
201
|
+
function hasFlag(flag, argv = globalThis.Deno ? globalThis.Deno.args : process2.argv) {
|
|
202
202
|
const prefix = flag.startsWith("-") ? "" : flag.length === 1 ? "-" : "--";
|
|
203
203
|
const position = argv.indexOf(prefix + flag);
|
|
204
204
|
const terminatorPosition = argv.indexOf("--");
|
|
205
205
|
return position !== -1 && (terminatorPosition === -1 || position < terminatorPosition);
|
|
206
206
|
}
|
|
207
|
-
var { env } =
|
|
207
|
+
var { env } = process2;
|
|
208
208
|
var flagForceColor;
|
|
209
209
|
if (hasFlag("no-color") || hasFlag("no-colors") || hasFlag("color=false") || hasFlag("color=never")) {
|
|
210
210
|
flagForceColor = 0;
|
|
@@ -260,7 +260,7 @@ function _supportsColor(haveStream, { streamIsTTY, sniffFlags = true } = {}) {
|
|
|
260
260
|
if (env.TERM === "dumb") {
|
|
261
261
|
return min;
|
|
262
262
|
}
|
|
263
|
-
if (
|
|
263
|
+
if (process2.platform === "win32") {
|
|
264
264
|
const osRelease = os.release().split(".");
|
|
265
265
|
if (Number(osRelease[0]) >= 10 && Number(osRelease[2]) >= 10586) {
|
|
266
266
|
return Number(osRelease[2]) >= 14931 ? 3 : 2;
|
|
@@ -504,7 +504,165 @@ var chalk = createChalk();
|
|
|
504
504
|
var chalkStderr = createChalk({ level: stderrColor ? stderrColor.level : 0 });
|
|
505
505
|
var source_default = chalk;
|
|
506
506
|
|
|
507
|
+
// src/cli/argv.ts
|
|
508
|
+
init_esm_shims();
|
|
509
|
+
function printError(message, detail) {
|
|
510
|
+
const head = source_default.red("error:");
|
|
511
|
+
process.stderr.write(`${head} ${message}
|
|
512
|
+
`);
|
|
513
|
+
if (detail) process.stderr.write(` ${detail}
|
|
514
|
+
`);
|
|
515
|
+
}
|
|
516
|
+
function printNote(message) {
|
|
517
|
+
process.stderr.write(`${source_default.yellow("note:")} ${message}
|
|
518
|
+
`);
|
|
519
|
+
}
|
|
520
|
+
function printOk(message) {
|
|
521
|
+
process.stdout.write(`${source_default.green("ok:")} ${message}
|
|
522
|
+
`);
|
|
523
|
+
}
|
|
524
|
+
function printHeader(message) {
|
|
525
|
+
process.stdout.write(`${source_default.cyan(message)}
|
|
526
|
+
`);
|
|
527
|
+
}
|
|
528
|
+
function columnWidths(rows) {
|
|
529
|
+
const widths = [];
|
|
530
|
+
for (const row of rows) {
|
|
531
|
+
for (let i = 0; i < row.length; i += 1) {
|
|
532
|
+
widths[i] = Math.max(widths[i] ?? 0, row[i]?.length ?? 0);
|
|
533
|
+
}
|
|
534
|
+
}
|
|
535
|
+
return widths;
|
|
536
|
+
}
|
|
537
|
+
function formatColumnRow(row, widths, gap = 2) {
|
|
538
|
+
return row.map((cell, index) => {
|
|
539
|
+
if (index === row.length - 1) return cell;
|
|
540
|
+
return cell.padEnd((widths[index] ?? cell.length) + gap);
|
|
541
|
+
}).join("").trimEnd();
|
|
542
|
+
}
|
|
543
|
+
function formatColumns(rows, gap = 2) {
|
|
544
|
+
if (rows.length === 0) return "";
|
|
545
|
+
const widths = columnWidths(rows);
|
|
546
|
+
return `${rows.map((row) => formatColumnRow(row, widths, gap)).join("\n")}
|
|
547
|
+
`;
|
|
548
|
+
}
|
|
549
|
+
function parseFlags(argv) {
|
|
550
|
+
const flags = /* @__PURE__ */ new Set();
|
|
551
|
+
const positional = [];
|
|
552
|
+
for (const arg of argv) {
|
|
553
|
+
if (arg.startsWith("--")) flags.add(arg.slice(2));
|
|
554
|
+
else if (arg.startsWith("-") && arg.length > 1) flags.add(arg.slice(1));
|
|
555
|
+
else positional.push(arg);
|
|
556
|
+
}
|
|
557
|
+
return { flags, positional };
|
|
558
|
+
}
|
|
559
|
+
var ROOT_FLAG_TOKENS = /* @__PURE__ */ new Set(["--help", "-h", "--all", "--version", "-v"]);
|
|
560
|
+
var GLOBAL_ONLY_FLAGS = /* @__PURE__ */ new Map([
|
|
561
|
+
["--api-key", "--api-key <key>"],
|
|
562
|
+
["--no-context-files", "--no-context-files"],
|
|
563
|
+
["-nc", "-nc"],
|
|
564
|
+
["--with-panes", "--with-panes"],
|
|
565
|
+
["--no-panes", "--no-panes"]
|
|
566
|
+
]);
|
|
567
|
+
function globalFlagPositionHint(arg, command) {
|
|
568
|
+
const usage = GLOBAL_ONLY_FLAGS.get(arg);
|
|
569
|
+
if (usage === void 0) return null;
|
|
570
|
+
return `${arg} is a global option and must come before the subcommand: clio-coder ${usage} ${command} ...`;
|
|
571
|
+
}
|
|
572
|
+
function unknownGlobalOptionError(arg) {
|
|
573
|
+
const bare = arg.replace(/=.*$/u, "");
|
|
574
|
+
if (bare === "--resume" || bare === "--continue" || bare === "-r" || bare === "-c") {
|
|
575
|
+
return `unknown global option: ${arg}. Sessions are resumed from inside the app: start clio-coder, then type /resume to pick one.`;
|
|
576
|
+
}
|
|
577
|
+
return `unknown global option: ${arg}`;
|
|
578
|
+
}
|
|
579
|
+
function extractGlobalFlags(argv, isSubcommand = () => false) {
|
|
580
|
+
const rest = [];
|
|
581
|
+
let apiKey;
|
|
582
|
+
let noContextFiles = false;
|
|
583
|
+
let noSkills = false;
|
|
584
|
+
let panes;
|
|
585
|
+
const skillPaths = [];
|
|
586
|
+
for (let i = 0; i < argv.length; i++) {
|
|
587
|
+
const arg = argv[i];
|
|
588
|
+
if (arg === void 0) continue;
|
|
589
|
+
if (arg === "--") {
|
|
590
|
+
rest.push(...argv.slice(i + 1));
|
|
591
|
+
break;
|
|
592
|
+
}
|
|
593
|
+
if (!arg.startsWith("-")) {
|
|
594
|
+
rest.push(...argv.slice(i));
|
|
595
|
+
break;
|
|
596
|
+
}
|
|
597
|
+
if (arg === "--acp") {
|
|
598
|
+
rest.push("acp", ...argv.slice(i + 1));
|
|
599
|
+
break;
|
|
600
|
+
}
|
|
601
|
+
if (ROOT_FLAG_TOKENS.has(arg)) {
|
|
602
|
+
rest.push(arg);
|
|
603
|
+
continue;
|
|
604
|
+
}
|
|
605
|
+
if (arg === "--no-context-files" || arg === "-nc") {
|
|
606
|
+
noContextFiles = true;
|
|
607
|
+
continue;
|
|
608
|
+
}
|
|
609
|
+
if (arg === "--no-skills") {
|
|
610
|
+
noSkills = true;
|
|
611
|
+
continue;
|
|
612
|
+
}
|
|
613
|
+
if (arg === "--with-panes" || arg === "--no-panes") {
|
|
614
|
+
panes = arg === "--with-panes" ? "with" : "without";
|
|
615
|
+
continue;
|
|
616
|
+
}
|
|
617
|
+
if (arg === "--api-key" || arg === "--skill") {
|
|
618
|
+
const value = argv[i + 1];
|
|
619
|
+
if (value === void 0 || value.startsWith("-") || isSubcommand(value)) {
|
|
620
|
+
return {
|
|
621
|
+
noContextFiles,
|
|
622
|
+
noSkills,
|
|
623
|
+
skillPaths,
|
|
624
|
+
rest,
|
|
625
|
+
error: `${arg} requires a value`,
|
|
626
|
+
...apiKey === void 0 ? {} : { apiKey },
|
|
627
|
+
...panes === void 0 ? {} : { panes }
|
|
628
|
+
};
|
|
629
|
+
}
|
|
630
|
+
if (arg === "--api-key") apiKey = value;
|
|
631
|
+
else skillPaths.push(value);
|
|
632
|
+
i += 1;
|
|
633
|
+
continue;
|
|
634
|
+
}
|
|
635
|
+
return {
|
|
636
|
+
noContextFiles,
|
|
637
|
+
noSkills,
|
|
638
|
+
skillPaths,
|
|
639
|
+
rest,
|
|
640
|
+
error: unknownGlobalOptionError(arg),
|
|
641
|
+
...apiKey === void 0 ? {} : { apiKey },
|
|
642
|
+
...panes === void 0 ? {} : { panes }
|
|
643
|
+
};
|
|
644
|
+
}
|
|
645
|
+
return {
|
|
646
|
+
noContextFiles,
|
|
647
|
+
noSkills,
|
|
648
|
+
skillPaths,
|
|
649
|
+
rest,
|
|
650
|
+
...apiKey === void 0 ? {} : { apiKey },
|
|
651
|
+
...panes === void 0 ? {} : { panes }
|
|
652
|
+
};
|
|
653
|
+
}
|
|
654
|
+
|
|
507
655
|
export {
|
|
508
|
-
source_default
|
|
656
|
+
source_default,
|
|
657
|
+
printError,
|
|
658
|
+
printNote,
|
|
659
|
+
printOk,
|
|
660
|
+
printHeader,
|
|
661
|
+
columnWidths,
|
|
662
|
+
formatColumnRow,
|
|
663
|
+
formatColumns,
|
|
664
|
+
parseFlags,
|
|
665
|
+
globalFlagPositionHint,
|
|
666
|
+
extractGlobalFlags
|
|
509
667
|
};
|
|
510
|
-
//# sourceMappingURL=chunk-
|
|
668
|
+
//# sourceMappingURL=chunk-JCI2ROMZ.js.map
|
|
@@ -9,7 +9,7 @@ import {
|
|
|
9
9
|
} from "./chunk-GHS5EBTQ.js";
|
|
10
10
|
import {
|
|
11
11
|
runCommandVector
|
|
12
|
-
} from "./chunk-
|
|
12
|
+
} from "./chunk-TOIVGRUX.js";
|
|
13
13
|
import {
|
|
14
14
|
withStateFileLockSync
|
|
15
15
|
} from "./chunk-IKCO5N3L.js";
|
|
@@ -430,4 +430,4 @@ export {
|
|
|
430
430
|
detectInteropAgents,
|
|
431
431
|
InteropDomainModule
|
|
432
432
|
};
|
|
433
|
-
//# sourceMappingURL=chunk-
|
|
433
|
+
//# sourceMappingURL=chunk-JEIYHLOR.js.map
|
|
@@ -4,7 +4,7 @@ import {
|
|
|
4
4
|
} from "./chunk-GWZNEVM2.js";
|
|
5
5
|
import {
|
|
6
6
|
runDoctor
|
|
7
|
-
} from "./chunk-
|
|
7
|
+
} from "./chunk-2ASED4PZ.js";
|
|
8
8
|
import {
|
|
9
9
|
readStateInfo
|
|
10
10
|
} from "./chunk-IGLP3ODT.js";
|
|
@@ -63,4 +63,4 @@ export {
|
|
|
63
63
|
describeUpgradeNotice,
|
|
64
64
|
LifecycleDomainModule
|
|
65
65
|
};
|
|
66
|
-
//# sourceMappingURL=chunk-
|
|
66
|
+
//# sourceMappingURL=chunk-JQLNNIKT.js.map
|
|
@@ -39,13 +39,13 @@ import {
|
|
|
39
39
|
registerBuiltinRuntimes,
|
|
40
40
|
requestLmStudioJson,
|
|
41
41
|
resolveLmStudioInstance
|
|
42
|
-
} from "./chunk-
|
|
42
|
+
} from "./chunk-6OSVSQL5.js";
|
|
43
43
|
import {
|
|
44
44
|
sleep
|
|
45
45
|
} from "./chunk-EBY63B7G.js";
|
|
46
46
|
import {
|
|
47
47
|
listKnownModelsForRuntime
|
|
48
|
-
} from "./chunk-
|
|
48
|
+
} from "./chunk-26QSH3EJ.js";
|
|
49
49
|
import {
|
|
50
50
|
authNotRequiredStatus,
|
|
51
51
|
openAuthStorage,
|
|
@@ -760,9 +760,6 @@ function runOverrides(env = process.env) {
|
|
|
760
760
|
if (typeof maxContextTokens === "number" && Number.isInteger(maxContextTokens) && maxContextTokens > 0) {
|
|
761
761
|
out.maxContextTokens = maxContextTokens;
|
|
762
762
|
}
|
|
763
|
-
if (typeof record.kvCacheMode === "string" && record.kvCacheMode.length > 0) {
|
|
764
|
-
out.kvCacheMode = record.kvCacheMode;
|
|
765
|
-
}
|
|
766
763
|
const sampling = record.sampling;
|
|
767
764
|
if (sampling !== null && typeof sampling === "object" && !Array.isArray(sampling)) {
|
|
768
765
|
const numeric = {};
|
|
@@ -1549,8 +1546,7 @@ function modelResidencyForStatus(status, modelId) {
|
|
|
1549
1546
|
}
|
|
1550
1547
|
}
|
|
1551
1548
|
function hasLiveModelCatalog(status) {
|
|
1552
|
-
|
|
1553
|
-
return status.discoveredModelsSource === void 0 && status.discoveredModels.length > 0;
|
|
1549
|
+
return status.discoveredModelsSource === "probe" || status.discoveredModelsSource === "cache";
|
|
1554
1550
|
}
|
|
1555
1551
|
function modelCandidatesForStatus(status) {
|
|
1556
1552
|
const configured = uniqueModels(status.target.wireModels ?? []);
|
|
@@ -2443,6 +2439,7 @@ function mergeSamplingOverride(profile, override = runSamplingOverrides()) {
|
|
|
2443
2439
|
|
|
2444
2440
|
// src/engine/apis/ollama-native.ts
|
|
2445
2441
|
var REASONING_CHARS_PER_TOKEN = 4;
|
|
2442
|
+
var ownedModelsByTarget = /* @__PURE__ */ new Map();
|
|
2446
2443
|
function clioQuirks(model) {
|
|
2447
2444
|
return model.clioCoder?.quirks;
|
|
2448
2445
|
}
|
|
@@ -2608,7 +2605,10 @@ async function listResidentOllamaModels(client) {
|
|
|
2608
2605
|
});
|
|
2609
2606
|
}
|
|
2610
2607
|
async function unloadOllamaModel(baseUrl, modelId, headers) {
|
|
2608
|
+
const owned = ownedModelsByTarget.get(residencyTargetKey("ollama-native", baseUrl));
|
|
2609
|
+
if (!owned?.has(modelId)) return;
|
|
2611
2610
|
await ollamaEvictClient(baseUrl, headers).generate({ model: modelId, prompt: "", keep_alive: 0, stream: false });
|
|
2611
|
+
owned.delete(modelId);
|
|
2612
2612
|
}
|
|
2613
2613
|
function mapStopReason(reason, hadToolCall) {
|
|
2614
2614
|
if (hadToolCall) return "toolUse";
|
|
@@ -2764,8 +2764,19 @@ function runStream(model, context, options, thinkingLevel) {
|
|
|
2764
2764
|
else emitText(segment.content);
|
|
2765
2765
|
}
|
|
2766
2766
|
};
|
|
2767
|
+
let recordedOwnership = false;
|
|
2767
2768
|
for await (const chunk of iterator) {
|
|
2768
2769
|
const response = chunk;
|
|
2770
|
+
if (!recordedOwnership && model.baseUrl) {
|
|
2771
|
+
const targetKey = residencyTargetKey("ollama-native", model.baseUrl);
|
|
2772
|
+
let owned = ownedModelsByTarget.get(targetKey);
|
|
2773
|
+
if (!owned) {
|
|
2774
|
+
owned = /* @__PURE__ */ new Set();
|
|
2775
|
+
ownedModelsByTarget.set(targetKey, owned);
|
|
2776
|
+
}
|
|
2777
|
+
owned.add(response.model || model.id);
|
|
2778
|
+
recordedOwnership = true;
|
|
2779
|
+
}
|
|
2769
2780
|
const msg = response.message;
|
|
2770
2781
|
if (msg?.thinking && msg.thinking.length > 0) {
|
|
2771
2782
|
emitThinking(msg.thinking);
|
|
@@ -5031,4 +5042,4 @@ export {
|
|
|
5031
5042
|
resolveCostProvenance2 as resolveCostProvenance,
|
|
5032
5043
|
ProvidersDomainModule
|
|
5033
5044
|
};
|
|
5034
|
-
//# sourceMappingURL=chunk-
|
|
5045
|
+
//# sourceMappingURL=chunk-JSD46VO2.js.map
|
|
@@ -1,4 +1,7 @@
|
|
|
1
1
|
import { createRequire as __clioCreateRequire } from "node:module"; const require = __clioCreateRequire(import.meta.url);
|
|
2
|
+
import {
|
|
3
|
+
FAILURE_CAUSE_TAGS
|
|
4
|
+
} from "./chunk-NRO2BJRH.js";
|
|
2
5
|
import {
|
|
3
6
|
withStateFileLock,
|
|
4
7
|
withStateFileLockSync
|
|
@@ -23,7 +26,7 @@ function indexPath(stateDir) {
|
|
|
23
26
|
function isEvidenceIndexRow(value) {
|
|
24
27
|
if (typeof value !== "object" || value === null) return false;
|
|
25
28
|
const row = value;
|
|
26
|
-
return typeof row.runId === "string" && typeof row.evidenceId === "string" && Array.isArray(row.tags) && row.tags.every((tag) => typeof tag === "string") && typeof row.firstPassSuccess === "boolean" && typeof row.findingCount === "number" && typeof row.generatedAt === "string";
|
|
29
|
+
return typeof row.runId === "string" && typeof row.evidenceId === "string" && Array.isArray(row.tags) && row.tags.every((tag) => typeof tag === "string") && typeof row.firstPassSuccess === "boolean" && typeof row.findingCount === "number" && (row.succeeded === void 0 || typeof row.succeeded === "boolean") && (row.completionEvidenceWarning === void 0 || typeof row.completionEvidenceWarning === "boolean") && (row.ungroundedClaims === void 0 || typeof row.ungroundedClaims === "number" && Number.isSafeInteger(row.ungroundedClaims) && row.ungroundedClaims >= 0) && typeof row.generatedAt === "string";
|
|
27
30
|
}
|
|
28
31
|
function readEvidenceIndex(stateDir) {
|
|
29
32
|
let raw;
|
|
@@ -62,6 +65,38 @@ async function writeEvidenceIndexRowQueued(stateDir, row) {
|
|
|
62
65
|
return written;
|
|
63
66
|
}
|
|
64
67
|
|
|
68
|
+
// src/domains/observability/accountability.ts
|
|
69
|
+
init_esm_shims();
|
|
70
|
+
function summarizeEvidenceIndex(rows) {
|
|
71
|
+
const totalRuns = rows.length;
|
|
72
|
+
let firstPassRuns = 0;
|
|
73
|
+
let unverifiedSuccesses = 0;
|
|
74
|
+
let ungroundedClaims = 0;
|
|
75
|
+
const counts = /* @__PURE__ */ new Map();
|
|
76
|
+
for (const row of rows) {
|
|
77
|
+
if (row.firstPassSuccess) firstPassRuns += 1;
|
|
78
|
+
if (row.succeeded === true && (row.tags.includes("no-validation") || row.tags.includes("proxy-validation") || row.completionEvidenceWarning === true))
|
|
79
|
+
unverifiedSuccesses += 1;
|
|
80
|
+
ungroundedClaims += row.ungroundedClaims ?? 0;
|
|
81
|
+
for (const tag of row.tags) {
|
|
82
|
+
if (!FAILURE_CAUSE_TAGS.has(tag)) continue;
|
|
83
|
+
counts.set(tag, (counts.get(tag) ?? 0) + 1);
|
|
84
|
+
}
|
|
85
|
+
}
|
|
86
|
+
const failureCauses = [...counts.entries()].map(([tag, count]) => ({ tag, count })).sort((a, b) => b.count !== a.count ? b.count - a.count : a.tag.localeCompare(b.tag));
|
|
87
|
+
return {
|
|
88
|
+
totalRuns,
|
|
89
|
+
firstPassRuns,
|
|
90
|
+
firstPassRate: totalRuns === 0 ? 0 : firstPassRuns / totalRuns,
|
|
91
|
+
unverifiedSuccesses,
|
|
92
|
+
ungroundedClaims,
|
|
93
|
+
failureCauses
|
|
94
|
+
};
|
|
95
|
+
}
|
|
96
|
+
function readAccountabilitySummary(stateDir) {
|
|
97
|
+
return summarizeEvidenceIndex(readEvidenceIndex(stateDir));
|
|
98
|
+
}
|
|
99
|
+
|
|
65
100
|
// src/domains/observability/out-of-turn-usage.ts
|
|
66
101
|
init_esm_shims();
|
|
67
102
|
import { closeSync, fsyncSync, mkdirSync, openSync, readFileSync as readFileSync2, writeSync } from "node:fs";
|
|
@@ -223,7 +258,9 @@ function messageOf(error) {
|
|
|
223
258
|
export {
|
|
224
259
|
readEvidenceIndex,
|
|
225
260
|
writeEvidenceIndexRowQueued,
|
|
261
|
+
summarizeEvidenceIndex,
|
|
262
|
+
readAccountabilitySummary,
|
|
226
263
|
appendOutOfTurnUsageRow,
|
|
227
264
|
readOutOfTurnUsageRows
|
|
228
265
|
};
|
|
229
|
-
//# sourceMappingURL=chunk-
|
|
266
|
+
//# sourceMappingURL=chunk-JT2RFCC5.js.map
|