@iowarp/clio-coder 0.3.1 → 0.3.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +233 -373
- package/CONTRIBUTING.md +23 -23
- package/README.md +284 -613
- package/dist/{acp-FPR54DGL.js → acp-P2AQILE2.js} +43 -53
- package/dist/{agents-OGPIHPJH.js → agents-72W3BI7I.js} +43 -26
- package/dist/assets/codewiki.json +1 -1
- package/dist/{auth-IC3K6NIZ.js → auth-5TWEIYDN.js} +20 -12
- package/dist/chunk-2DJ2KNFG.js +2095 -0
- package/dist/{chunk-IS3ONKU3.js → chunk-2IR2NMPA.js} +6 -4
- package/dist/chunk-2SFS6XQE.js +122 -0
- package/dist/{chunk-PV4JUBVJ.js → chunk-2TLUCQVG.js} +40 -21
- package/dist/chunk-2VTFPG5O.js +48 -0
- package/dist/chunk-4BJ5BYCE.js +61 -0
- package/dist/{chunk-474KN5II.js → chunk-4BPJXDWC.js} +111 -181
- package/dist/chunk-4VP4KH3K.js +962 -0
- package/dist/chunk-4XUGQOHA.js +797 -0
- package/dist/chunk-4ZG3XFUR.js +77 -0
- package/dist/chunk-5B2AEOW5.js +5407 -0
- package/dist/{chunk-K2ITRMHZ.js → chunk-5TSRNF4G.js} +6 -138
- package/dist/{chunk-4QKXUHSR.js → chunk-5UFT4SUX.js} +70 -20
- package/dist/{chunk-OLBBMFRD.js → chunk-5UUP6MWO.js} +24 -62
- package/dist/chunk-65DEGPJ6.js +52 -0
- package/dist/chunk-6EJMN2Y3.js +17 -0
- package/dist/chunk-6N5PTWMY.js +136 -0
- package/dist/chunk-6SGHMWE3.js +277 -0
- package/dist/chunk-6XLNIQDB.js +27 -0
- package/dist/chunk-7CR24IG7.js +242 -0
- package/dist/chunk-7MNJORFF.js +22 -0
- package/dist/{chunk-KY56HMHH.js → chunk-A3CYT5EX.js} +125 -31
- package/dist/chunk-AGYYIBLL.js +1069 -0
- package/dist/{chunk-GB6QRBXN.js → chunk-APJ265NV.js} +54 -1187
- package/dist/{chunk-673JJUWJ.js → chunk-BMEMKKIT.js} +2 -2
- package/dist/chunk-CBCAPZAA.js +229 -0
- package/dist/chunk-CMZWFGD2.js +352 -0
- package/dist/chunk-COU2UHX6.js +400 -0
- package/dist/chunk-DSELYM6W.js +1077 -0
- package/dist/chunk-DUYJ5IO6.js +644 -0
- package/dist/chunk-ECH6PKUQ.js +39 -0
- package/dist/chunk-ED4KHGC3.js +143 -0
- package/dist/chunk-EKMEHE4H.js +340 -0
- package/dist/chunk-FCSXB6T2.js +338 -0
- package/dist/chunk-FJ3H4MN5.js +48 -0
- package/dist/{chunk-RPTR2H26.js → chunk-FNTMWMX5.js} +21 -15
- package/dist/chunk-FQ4SKYE4.js +29 -0
- package/dist/chunk-G4BMMOKF.js +182 -0
- package/dist/{chunk-ZPY3JZ5E.js → chunk-GGXXDWE4.js} +183 -1233
- package/dist/chunk-HC4CLZ2Y.js +68 -0
- package/dist/{chunk-LU4TK2PR.js → chunk-HFSBBKSQ.js} +5 -56
- package/dist/{chunk-PIUMUEMV.js → chunk-HKIYEGME.js} +10 -6
- package/dist/chunk-I4HZDVNP.js +73 -0
- package/dist/chunk-IKCO5N3L.js +162 -0
- package/dist/chunk-IR4CFBFN.js +56 -0
- package/dist/{chunk-R5KLMSBV.js → chunk-J5Q24KAG.js} +2 -2
- package/dist/chunk-J7CWMCQD.js +255 -0
- package/dist/{chunk-K5XEMXTI.js → chunk-JVCV3ICN.js} +1 -1
- package/dist/chunk-KZWTDYJF.js +217 -0
- package/dist/chunk-LBMZMYH2.js +285 -0
- package/dist/{chunk-G34LV2PF.js → chunk-LM5TQCJZ.js} +84 -170
- package/dist/chunk-LW6DSM3M.js +5135 -0
- package/dist/chunk-LWLEKMDQ.js +3482 -0
- package/dist/{chunk-H6F6BYOH.js → chunk-LZSJBIVT.js} +7003 -7434
- package/dist/{chunk-HQQID6OA.js → chunk-M6SHUN7Q.js} +5 -5
- package/dist/{chunk-FST4FYJB.js → chunk-MFFY33HR.js} +99 -140
- package/dist/{chunk-BSU2YIWB.js → chunk-MVVUPGPW.js} +131 -136
- package/dist/chunk-OAO4GE4M.js +619 -0
- package/dist/{chunk-Q3RUPKEJ.js → chunk-OC7FIQPC.js} +58 -189
- package/dist/chunk-OKGUZO2U.js +34 -0
- package/dist/{chunk-GAEBEQVI.js → chunk-OOJYHWRB.js} +32 -346
- package/dist/{chunk-Q5WJOSJ7.js → chunk-OQ33BKR3.js} +2 -1
- package/dist/chunk-OQE5J4C6.js +73 -0
- package/dist/{chunk-KKNLWXI6.js → chunk-ORBHGJC5.js} +8 -8
- package/dist/{chunk-MAR7Y6HW.js → chunk-PAJK6MAQ.js} +23 -16
- package/dist/{chunk-M5T5VO65.js → chunk-PIWWS5BL.js} +837 -635
- package/dist/chunk-POHLU5DW.js +1186 -0
- package/dist/chunk-QKMUKYO7.js +4961 -0
- package/dist/chunk-SRDMMSEP.js +16405 -0
- package/dist/chunk-SST6Z5JA.js +80 -0
- package/dist/chunk-STBPMHSX.js +2456 -0
- package/dist/chunk-T6YILFSB.js +80 -0
- package/dist/chunk-TZK7PACC.js +174 -0
- package/dist/chunk-TZTZS7QK.js +227 -0
- package/dist/{chunk-ASND7OZK.js → chunk-UFIIWP2H.js} +13 -13
- package/dist/chunk-UOV2BYIW.js +107 -0
- package/dist/{chunk-PFEFKVGL.js → chunk-V6RTAOC2.js} +13 -11
- package/dist/chunk-VAKQQHWR.js +434 -0
- package/dist/chunk-VG7TBQIY.js +128 -0
- package/dist/chunk-VJWL6YS5.js +244 -0
- package/dist/{chunk-EYOKLTMF.js → chunk-VPAYEGVX.js} +17 -3
- package/dist/chunk-WEH5XRJQ.js +32 -0
- package/dist/chunk-X4RCMKVQ.js +641 -0
- package/dist/{chunk-TEKV33Q5.js → chunk-X6IAEBZR.js} +65 -33
- package/dist/chunk-XBXAASKX.js +18 -0
- package/dist/chunk-XN3L4EYL.js +46 -0
- package/dist/{chunk-RDLVBZEO.js → chunk-YCWGATWI.js} +6 -4
- package/dist/chunk-YHZX5GEU.js +193 -0
- package/dist/chunk-YXLYO42X.js +91 -0
- package/dist/{chunk-NMOX6HFD.js → chunk-ZDOOVTXZ.js} +29 -77
- package/dist/chunk-ZI647VB5.js +37 -0
- package/dist/{chunk-C4PTHK7P.js → chunk-ZWLZP4ZT.js} +5 -5
- package/dist/chunk-ZWMF7253.js +1882 -0
- package/dist/cli/index.js +62 -54
- package/dist/clio-JOU4FXVA.js +25 -0
- package/dist/code-nav-7AX6FYE6.js +600 -0
- package/dist/codewiki/build-worker.js +66 -0
- package/dist/compile-cache-CVJMMODC.js +18 -0
- package/dist/{components-DMAOEKFB.js → components-KELWS457.js} +11 -6
- package/dist/{config-IRUQ7SE4.js → config-XCDVKR23.js} +92 -55
- package/dist/configure-4GAP54ZW.js +42 -0
- package/dist/{context-5RADCKTR.js → context-4UOGGLQ5.js} +71 -35
- package/dist/context-5VKGUVJJ.js +866 -0
- package/dist/{context-3KWFLHJG.js → context-77FM5DV5.js} +15 -13
- package/dist/{context-clear-7TSNPAAI.js → context-clear-XXJRLCJJ.js} +54 -28
- package/dist/{context-index-W4RLWOQH.js → context-index-BZ4UYMTC.js} +30 -24
- package/dist/dispatch-runner-QPRDDBDX.js +1997 -0
- package/dist/{docs-5AWSPS37.js → docs-2C2LTVT2.js} +23 -10
- package/dist/{doctor-UC5NAJYQ.js → doctor-HR46URBJ.js} +27 -17
- package/dist/{eval-U6TJHRLX.js → eval-XSSNATB4.js} +29 -16
- package/dist/{evidence-YEGUW4L3.js → evidence-6HG2PY2B.js} +46 -26
- package/dist/{evolve-TXARCTPG.js → evolve-K7YU3NCY.js} +45 -25
- package/dist/{extensions-OZFJ3A3G.js → extensions-QVDOHDGJ.js} +16 -7
- package/dist/{fleet-6G3DHNYE.js → fleet-VY3HHKN6.js} +163 -54
- package/dist/{fleet-preflight-DSNT37JK.js → fleet-preflight-DDN536IT.js} +7 -4
- package/dist/{init-KZ5QTF6M.js → init-JYGXI3FK.js} +69 -32
- package/dist/{memory-73ESV5YC.js → memory-WFZMGYHX.js} +48 -27
- package/dist/{models-A4PVNWJK.js → models-I5QWSEOM.js} +39 -25
- package/dist/monitor-GE4ID3IA.js +661 -0
- package/dist/{chunk-FCIH3BIZ.js → orchestrator-EM5MC3HM.js} +15979 -12407
- package/dist/{paths-C4H6IV77.js → paths-UXLN5YYZ.js} +10 -5
- package/dist/{preload-6WVMHX3A.js → preload-P6DGH2PZ.js} +2 -2
- package/dist/{reset-BGW6OGMV.js → reset-L2FQEE3E.js} +16 -10
- package/dist/{run-YTPEYQOH.js → run-ZU3QMZPZ.js} +101 -61
- package/dist/{share-YIFFV4NQ.js → share-S5BZQC5I.js} +15 -8
- package/dist/{skills-2V6RA3OQ.js → skills-X5VXCRNQ.js} +34 -14
- package/dist/{skills-eval-S2TVJO4F.js → skills-eval-WKIHWTHR.js} +70 -34
- package/dist/steer-GGWFUJUD.js +77 -0
- package/dist/{targets-TYXLPB23.js → targets-SNCPI2NR.js} +43 -27
- package/dist/terminal-lease-BNAHVHBS.js +395 -0
- package/dist/{trace-GGOJ6Q6Z.js → trace-PNCASAXC.js} +41 -16
- package/dist/{chunk-N6F52NLF.js → tree-sitter-HGKH6LG4.js} +28 -2306
- package/dist/{uninstall-LLLT4F4W.js → uninstall-FZCQCDKC.js} +10 -5
- package/dist/{upgrade-33G2LMM5.js → upgrade-JQHHPQ4K.js} +45 -25
- package/dist/{usage-ZAFSXKKG.js → usage-OR4O5SMZ.js} +62 -31
- package/dist/verify-375KUB3Y.js +716 -0
- package/dist/web-fetch-2YHJ3KTG.js +638 -0
- package/dist/{wiki-generate-NUQCVOQ3.js → wiki-generate-UEXP2ARI.js} +74 -34
- package/dist/worker/entry.js +221 -36
- package/dist/workspace-G4ZWUIPR.js +22 -0
- package/docs/README.md +22 -17
- package/docs/acp.md +168 -16
- package/docs/alcf-provider.md +1 -1
- package/docs/architecture.md +136 -7
- package/docs/artifact-versions.md +1 -1
- package/docs/built-in-agents.md +1 -1
- package/docs/capacity-and-scheduling.md +1 -1
- package/docs/commands-and-modes.md +114 -71
- package/docs/config-knobs-audit.md +1 -3
- package/docs/configuration-and-targets.md +174 -46
- package/docs/context-engine.md +29 -6
- package/docs/development-pipeline.md +26 -1
- package/docs/dispatch-architecture-rationale.md +1 -1
- package/docs/documentation-coverage.md +2 -2
- package/docs/documentation-guide.md +1 -1
- package/docs/environment-variables.md +13 -5
- package/docs/eval-runner.md +1 -1
- package/docs/evals-internal.md +1 -1
- package/docs/evidence-and-memory.md +6 -2
- package/docs/evolution.md +2 -2
- package/docs/exit-codes-and-output.md +15 -9
- package/docs/extensions-and-sharing.md +9 -9
- package/docs/fleet-dispatch.md +7 -5
- package/docs/git-commit-provenance.md +120 -0
- package/docs/glossary.md +1 -1
- package/docs/installation-and-lifecycle.md +34 -27
- package/docs/middleware-and-components.md +1 -1
- package/docs/model-catalog.md +45 -14
- package/docs/observability.md +8 -5
- package/docs/performance-methodology.md +491 -0
- package/docs/pi-boundary.md +72 -0
- package/docs/proactive-memory.md +3 -3
- package/docs/prompt-envelope-and-tools.md +24 -3
- package/docs/provider-adapter-cookbook.md +57 -4
- package/docs/release-cut-checklist.md +129 -115
- package/docs/safety-model.md +9 -5
- package/docs/scientific-validation.md +3 -3
- package/docs/session-lifecycle.md +55 -12
- package/docs/skills-marketplace.md +12 -8
- package/docs/time-conventions.md +1 -1
- package/docs/tool-usage.md +3 -3
- package/docs/trace-store.md +1 -1
- package/docs/troubleshooting.md +10 -7
- package/docs/tui-design.md +47 -10
- package/docs/worker-dispatch-mechanics.md +1 -1
- package/package.json +19 -22
- package/skills/coding/ast-grep/SKILL.md +136 -0
- package/skills/coding/ast-grep/evals.md +56 -0
- package/skills/coding/ast-grep/references/rule_reference.md +297 -0
- package/skills/coding/coding-standards/SKILL.md +113 -0
- package/skills/coding/coding-standards/evals.md +34 -0
- package/skills/coding/prototype/SKILL.md +86 -0
- package/skills/coding/prototype/evals.md +42 -0
- package/skills/coding/prototype/references/LOGIC.md +67 -0
- package/skills/coding/prototype/references/UI.md +112 -0
- package/skills/coding/tdd/SKILL.md +101 -0
- package/skills/coding/tdd/evals.md +41 -0
- package/skills/coding/tdd/references/mocking.md +59 -0
- package/skills/coding/tdd/references/tests.md +77 -0
- package/skills/context/context-handoff/SKILL.md +126 -0
- package/skills/context/context-handoff/evals.md +57 -0
- package/skills/context/context-handoff/scripts/new-handoff.sh +26 -0
- package/skills/context/context-prime/SKILL.md +95 -0
- package/skills/context/context-prime/evals.md +54 -0
- package/skills/meta/clio-dev/SKILL.md +91 -0
- package/skills/meta/clio-dev/evals.md +45 -0
- package/skills/meta/clio-test/SKILL.md +130 -0
- package/skills/meta/clio-test/evals.md +43 -0
- package/skills/meta/clio-test/references/harness.md +97 -0
- package/skills/meta/clio-test/references/test-map.md +59 -0
- package/skills/meta/credentials/SKILL.md +125 -0
- package/skills/meta/credentials/evals.md +104 -0
- package/skills/meta/find-skills/SKILL.md +72 -0
- package/skills/meta/find-skills/evals.md +47 -0
- package/skills/meta/herdr/SKILL.md +127 -0
- package/skills/meta/herdr/evals.md +38 -0
- package/skills/meta/skill-craft/SKILL.md +102 -0
- package/skills/meta/skill-craft/evals.md +41 -0
- package/skills/planning/architecture/SKILL.md +129 -0
- package/skills/planning/architecture/evals.md +36 -0
- package/skills/planning/backlog/SKILL.md +90 -0
- package/skills/planning/backlog/evals.md +43 -0
- package/skills/planning/prd/SKILL.md +82 -0
- package/skills/planning/prd/evals.md +49 -0
- package/skills/planning/product-intent/SKILL.md +112 -0
- package/skills/planning/product-intent/evals.md +36 -0
- package/skills/planning/tech-spec/SKILL.md +115 -0
- package/skills/planning/tech-spec/evals.md +47 -0
- package/skills/registry.yaml +136 -0
- package/skills/research/arxiv-literature/SKILL.md +104 -0
- package/skills/research/arxiv-literature/evals.md +58 -0
- package/skills/research/experiment-protocol/SKILL.md +122 -0
- package/skills/research/experiment-protocol/evals.md +91 -0
- package/skills/research/scientific-debugging/SKILL.md +119 -0
- package/skills/research/scientific-debugging/evals.md +138 -0
- package/skills/research/scientific-modernization/SKILL.md +138 -0
- package/skills/research/scientific-modernization/evals.md +84 -0
- package/skills/workflow/design-council/SKILL.md +139 -0
- package/skills/workflow/design-council/evals.md +97 -0
- package/skills/workflow/grill-me/SKILL.md +186 -0
- package/skills/workflow/grill-me/evals.md +78 -0
- package/skills/workflow/workflow-distiller/SKILL.md +136 -0
- package/skills/workflow/workflow-distiller/evals.md +107 -0
- package/src/cli/acp.ts +31 -4
- package/src/cli/clio.ts +68 -6
- package/src/cli/config-inspect.ts +28 -22
- package/src/cli/configure.ts +47 -9
- package/src/cli/context-clear.ts +2 -2
- package/src/cli/context-index.ts +21 -23
- package/src/cli/context.ts +13 -8
- package/src/cli/default-target.ts +9 -17
- package/src/cli/docs.ts +11 -5
- package/src/cli/evidence.ts +4 -1
- package/src/cli/extensions.ts +10 -1
- package/src/cli/fleet.ts +47 -6
- package/src/cli/index.ts +55 -26
- package/src/cli/memory.ts +3 -1
- package/src/cli/models.ts +1 -1
- package/src/cli/modes/json-stream.ts +37 -1
- package/src/cli/modes/print.ts +24 -9
- package/src/cli/run.ts +2 -2
- package/src/cli/skills-eval.ts +23 -8
- package/src/cli/skills.ts +19 -4
- package/src/cli/targets.ts +4 -0
- package/src/cli/text-layout.ts +15 -5
- package/src/cli/trace.ts +62 -14
- package/src/cli/upgrade.ts +18 -2
- package/src/cli/usage.ts +10 -3
- package/src/cli/wiki-generate.ts +2 -1
- package/src/core/agent-environment.ts +7 -0
- package/src/core/bash-exec.ts +72 -1
- package/src/core/boot-trace.ts +9 -4
- package/src/core/bus-events.ts +20 -4
- package/src/core/commit-attribution.ts +157 -0
- package/src/core/compile-cache.ts +159 -0
- package/src/core/config.ts +131 -2
- package/src/core/defaults.ts +39 -5
- package/src/core/domain-loader.ts +12 -5
- package/src/core/git-commit-attribution.ts +387 -0
- package/src/core/incomplete-installation.ts +45 -0
- package/src/core/response-schema.ts +1 -1
- package/src/core/safe-exec.ts +13 -1
- package/src/core/settings-layers.ts +155 -21
- package/src/core/skill-activation.ts +1 -1
- package/src/core/startup-timer.ts +3 -3
- package/src/core/state-file-lock.ts +13 -1
- package/src/core/termination.ts +78 -5
- package/src/domains/config/classify.ts +15 -3
- package/src/domains/config/extension.ts +19 -13
- package/src/domains/config/index.ts +10 -0
- package/src/domains/config/keybindings.ts +45 -9
- package/src/domains/context/bootstrap-prompt.ts +1 -1
- package/src/domains/context/bootstrap.ts +111 -18
- package/src/domains/context/clear.ts +16 -11
- package/src/domains/context/clio-md.ts +111 -9
- package/src/domains/context/codewiki/artifact.ts +400 -0
- package/src/domains/context/codewiki/build-worker-protocol.ts +24 -0
- package/src/domains/context/codewiki/build-worker.ts +54 -0
- package/src/domains/context/codewiki/coordinator.ts +182 -0
- package/src/domains/context/codewiki/indexer.ts +59 -144
- package/src/domains/context/codewiki/paths.ts +67 -0
- package/src/domains/context/codewiki/schema.ts +80 -0
- package/src/domains/context/codewiki/tree-sitter.ts +1 -1
- package/src/domains/context/contract.ts +11 -5
- package/src/domains/context/extension.ts +94 -143
- package/src/domains/context/fingerprint.ts +3 -1
- package/src/domains/context/index.ts +12 -22
- package/src/domains/context/project-metadata.ts +19 -0
- package/src/domains/context/prompt-context.ts +9 -10
- package/src/domains/context/refresh.ts +29 -21
- package/src/domains/context/runtime.ts +17 -0
- package/src/domains/context/wiki/generate.ts +39 -34
- package/src/domains/context/wiki/plan.ts +1 -1
- package/src/domains/context/wiki/prompts.ts +21 -8
- package/src/domains/dispatch/code-step.ts +20 -1
- package/src/domains/dispatch/extension.ts +158 -21
- package/src/domains/dispatch/failure-classification.ts +6 -0
- package/src/domains/dispatch/fleet-commit-attribution.ts +56 -0
- package/src/domains/dispatch/orphan-recovery.ts +50 -8
- package/src/domains/dispatch/receipt-integrity.ts +5 -0
- package/src/domains/dispatch/state.ts +31 -6
- package/src/domains/dispatch/transport.ts +2 -1
- package/src/domains/dispatch/types.ts +14 -0
- package/src/domains/dispatch/worker-spawn.ts +21 -2
- package/src/domains/eval/metrics/context.ts +1 -1
- package/src/domains/eval/types.ts +0 -1
- package/src/domains/evidence/build.ts +41 -1
- package/src/domains/lifecycle/migrations/2026-08-18-lmstudio-runtime-id.ts +52 -0
- package/src/domains/lifecycle/migrations/index.ts +24 -4
- package/src/domains/middleware/hooks-io.ts +12 -0
- package/src/domains/middleware/skills-reminder.ts +30 -15
- package/src/domains/prompts/compiler.ts +142 -84
- package/src/domains/prompts/contract.ts +18 -2
- package/src/domains/prompts/extension.ts +39 -7
- package/src/domains/prompts/fragment-loader.ts +0 -1
- package/src/domains/prompts/fragments/identity/clio.md +2 -4
- package/src/domains/prompts/fragments/identity/docs-routing.md +10 -0
- package/src/domains/prompts/fragments/identity/self-awareness.md +1 -45
- package/src/domains/prompts/fragments/operating/contract.md +4 -50
- package/src/domains/prompts/fragments/operating/delegation.md +42 -0
- package/src/domains/prompts/fragments/operating/skills.md +26 -0
- package/src/domains/prompts/fragments/operating/worker.md +16 -0
- package/src/domains/prompts/fragments/safety/auto-edit.md +5 -5
- package/src/domains/prompts/fragments/safety/full-auto.md +3 -3
- package/src/domains/prompts/fragments/safety/read-only.md +4 -4
- package/src/domains/prompts/fragments/safety/suggest.md +2 -2
- package/src/domains/prompts/fragments/wiki/page.md +10 -0
- package/src/domains/prompts/fragments/wiki/plan.md +10 -0
- package/src/domains/prompts/preload.ts +3 -3
- package/src/domains/providers/auth/api-key.ts +1 -1
- package/src/domains/providers/auth/backend-file.ts +20 -10
- package/src/domains/providers/auth/backend-memory.ts +59 -4
- package/src/domains/providers/auth/boot-status.ts +65 -0
- package/src/domains/providers/auth/oauth.ts +2 -1
- package/src/domains/providers/auth/storage.ts +97 -38
- package/src/domains/providers/capabilities.ts +12 -4
- package/src/domains/providers/contract.ts +15 -4
- package/src/domains/providers/extension.ts +18 -6
- package/src/domains/providers/model-runtime-capabilities.ts +15 -4
- package/src/domains/providers/models/local-models/clio-local-coding-targets.yaml +118 -35
- package/src/domains/providers/plugins.ts +5 -3
- package/src/domains/providers/probe/fingerprint.ts +25 -5
- package/src/domains/providers/registry.ts +31 -10
- package/src/domains/providers/runtimes/boot-manifest.ts +55 -0
- package/src/domains/providers/runtimes/builtins.ts +2 -2
- package/src/domains/providers/runtimes/common/lmstudio-http.ts +423 -0
- package/src/domains/providers/runtimes/common/local-synth.ts +6 -7
- package/src/domains/providers/runtimes/local-native/lmstudio.ts +241 -0
- package/src/domains/providers/support.ts +6 -3
- package/src/domains/providers/types/local-model-quirks.ts +7 -9
- package/src/domains/providers/types/runtime-descriptor.ts +12 -1
- package/src/domains/providers/types/target-descriptor.ts +22 -0
- package/src/domains/resources/contract.ts +0 -1
- package/src/domains/resources/extension.ts +1 -3
- package/src/domains/resources/loader.ts +3 -4
- package/src/domains/resources/prompts/loader.ts +16 -2
- package/src/domains/resources/prompts/substitute.ts +1 -65
- package/src/domains/resources/skills/content-hash.ts +2 -0
- package/src/domains/resources/skills/install.ts +17 -0
- package/src/domains/resources/skills/loader.ts +17 -10
- package/src/domains/resources/skills/marketplace.ts +55 -9
- package/src/domains/safety/action-classifier.ts +4 -2
- package/src/domains/safety/audit.ts +8 -2
- package/src/domains/safety/extension.ts +1 -1
- package/src/domains/session/compaction/branch-summary.ts +3 -2
- package/src/domains/session/compaction/cut-point.ts +2 -1
- package/src/domains/session/compaction/tokens.ts +2 -1
- package/src/domains/session/context-ledger.ts +14 -0
- package/src/domains/session/contract.ts +15 -0
- package/src/domains/session/decision-board.ts +190 -0
- package/src/domains/session/entries.ts +66 -3
- package/src/domains/session/extension.ts +93 -12
- package/src/domains/session/retry.ts +10 -18
- package/src/domains/session/session-artifacts.ts +107 -0
- package/src/domains/session/task-board.ts +207 -13
- package/src/domains/session/tree/active-path.ts +44 -5
- package/src/domains/session/tree/fork.ts +26 -27
- package/src/domains/session/tree/preview.ts +2 -2
- package/src/domains/session/workspace/git-probe.ts +17 -11
- package/src/domains/user-tasks/store.ts +297 -0
- package/src/engine/acp/errors.ts +96 -0
- package/src/engine/acp/server.ts +1728 -146
- package/src/engine/acp/transport.ts +135 -14
- package/src/engine/acp/types.ts +26 -0
- package/src/engine/agent.ts +3 -3
- package/src/engine/ai.ts +32 -27
- package/src/engine/alcf-oauth.ts +26 -19
- package/src/engine/api-registry.ts +223 -0
- package/src/engine/apis/index.ts +3 -7
- package/src/engine/apis/llamacpp-residency.ts +49 -9
- package/src/engine/apis/lmstudio-residency.ts +5 -21
- package/src/engine/apis/lmstudio.ts +243 -0
- package/src/engine/apis/ollama-native.ts +24 -3
- package/src/engine/apis/openai-completions.ts +170 -91
- package/src/engine/apis/residency.ts +139 -3
- package/src/engine/apis/types.ts +16 -0
- package/src/engine/env-api-keys.ts +98 -0
- package/src/engine/gemma-channel-filter.ts +223 -0
- package/src/engine/instrumented-tui.ts +192 -0
- package/src/engine/messages.ts +14 -0
- package/src/engine/models.ts +42 -0
- package/src/engine/oauth.ts +16 -12
- package/src/engine/prompt-templates.ts +1 -0
- package/src/engine/provider-payload.ts +16 -59
- package/src/engine/strip-tokenizer-sentinels.ts +1 -1
- package/src/engine/truncate.ts +9 -0
- package/src/engine/tui.ts +17 -9
- package/src/engine/types.ts +3 -6
- package/src/engine/worker-runtime-capabilities.ts +5 -0
- package/src/engine/worker-runtime.ts +1 -1
- package/src/engine/worker-tools.ts +9 -4
- package/src/entry/boot-options.ts +50 -0
- package/src/entry/orchestrator.ts +288 -150
- package/src/interactive/application-controller.ts +89 -2
- package/src/interactive/chat-loop.ts +266 -41
- package/src/interactive/chat-panel.ts +715 -278
- package/src/interactive/chat-renderer.ts +306 -85
- package/src/interactive/clio-editor.ts +3 -8
- package/src/interactive/command-fallbacks.ts +2 -2
- package/src/interactive/context-overlay.ts +27 -1
- package/src/interactive/editor-submit.ts +253 -24
- package/src/interactive/export-html/ansi-to-html.ts +161 -0
- package/src/interactive/export-html/index.ts +51 -0
- package/src/interactive/export-html/template.ts +45 -0
- package/src/interactive/export-html/tool-renderer.ts +54 -0
- package/src/interactive/footer/dashboard.ts +4 -0
- package/src/interactive/footer/notifications.ts +1 -1
- package/src/interactive/footer/widgets.ts +42 -22
- package/src/interactive/footer-panel.ts +8 -3
- package/src/interactive/format-time.ts +14 -2
- package/src/interactive/interactive-application.ts +203 -17
- package/src/interactive/interactive-event-projection.ts +18 -1
- package/src/interactive/interactive-input-runtime.ts +50 -4
- package/src/interactive/interactive-presentation.ts +151 -19
- package/src/interactive/interactive-shell.ts +268 -14
- package/src/interactive/interactive-slash-runtime.ts +184 -117
- package/src/interactive/interactive-tickers.ts +38 -7
- package/src/interactive/keybinding-manager.ts +1 -1
- package/src/interactive/layout.ts +40 -3
- package/src/interactive/overlay-frame.ts +1 -1
- package/src/interactive/overlay-general-openers.ts +58 -1
- package/src/interactive/overlay-key-routing.ts +3 -0
- package/src/interactive/overlay-lifecycle.ts +13 -0
- package/src/interactive/overlay-permission-lifecycle.ts +2 -1
- package/src/interactive/overlay-session-lifecycle.ts +69 -12
- package/src/interactive/overlays/ask-user.ts +146 -24
- package/src/interactive/overlays/decisions.ts +300 -0
- package/src/interactive/overlays/help-reference.ts +15 -10
- package/src/interactive/overlays/model-selector.ts +34 -16
- package/src/interactive/overlays/session-selector.ts +18 -0
- package/src/interactive/overlays/settings.ts +105 -17
- package/src/interactive/overlays/skills-hub.ts +4 -4
- package/src/interactive/overlays/tree-selector.ts +41 -6
- package/src/interactive/render-trace.ts +499 -90
- package/src/interactive/renderers/compaction-summary.ts +2 -2
- package/src/interactive/renderers/diff.ts +115 -104
- package/src/interactive/renderers/mermaid.ts +53 -0
- package/src/interactive/renderers/tool-execution.ts +516 -168
- package/src/interactive/renderers/worker-entry.ts +20 -4
- package/src/interactive/session-switch-settlement.ts +10 -0
- package/src/interactive/slash-autocomplete.ts +6 -114
- package/src/interactive/slash-commands.ts +135 -47
- package/src/interactive/slash-spec.ts +9 -38
- package/src/interactive/status/controller.ts +5 -1
- package/src/interactive/status/index.ts +12 -1
- package/src/interactive/status/reasoning.ts +87 -0
- package/src/interactive/status/summary.ts +13 -2
- package/src/interactive/stdout-backpressure.ts +99 -0
- package/src/interactive/stream-pacer.ts +530 -0
- package/src/interactive/stream-pacing-policy.ts +66 -0
- package/src/interactive/tasks-overlay.ts +368 -14
- package/src/interactive/terminal-lease.ts +485 -0
- package/src/interactive/theme/tokens.ts +1 -1
- package/src/interactive/transcript-detail.ts +120 -0
- package/src/interactive/turn-context.ts +4 -3
- package/src/interactive/turn-persistence.ts +30 -13
- package/src/interactive/turn-queues.ts +12 -0
- package/src/interactive/turn-recovery.ts +25 -8
- package/src/interactive/turn-runtime.ts +79 -12
- package/src/interactive/turn-state.ts +10 -0
- package/src/interactive/view/artifacts.ts +114 -4
- package/src/interactive/view/view-overlay.ts +3 -0
- package/src/interactive/welcome-dashboard.ts +17 -16
- package/src/interactive/worker-receipts.ts +52 -3
- package/src/interactive/worker-stream.ts +5 -1
- package/src/tools/agent-tools.ts +23 -3
- package/src/tools/artifact.ts +2 -2
- package/src/tools/ask-user.ts +23 -13
- package/src/tools/bash.ts +30 -2
- package/src/tools/bootstrap.ts +34 -431
- package/src/tools/builtin-tool-catalog.ts +271 -0
- package/src/tools/codewiki/code-nav-surface.ts +29 -0
- package/src/tools/codewiki/code-nav.ts +8 -22
- package/src/tools/codewiki/shared.ts +41 -38
- package/src/tools/context/docs-engine.ts +14 -3
- package/src/tools/context/index.ts +107 -28
- package/src/tools/context/surface.ts +19 -0
- package/src/tools/core-bootstrap.ts +168 -0
- package/src/tools/credential-present.ts +5 -5
- package/src/tools/dispatch-admission.ts +533 -0
- package/src/tools/dispatch-background.ts +54 -0
- package/src/tools/dispatch-event-text.ts +6 -0
- package/src/tools/dispatch-plan.ts +9 -4
- package/src/tools/dispatch-run-events.ts +238 -0
- package/src/tools/dispatch-runner.ts +2370 -0
- package/src/tools/dispatch-scout-admission.ts +295 -0
- package/src/tools/dispatch-types.ts +77 -0
- package/src/tools/dispatch.ts +67 -3161
- package/src/tools/find.ts +4 -2
- package/src/tools/grep.ts +2 -2
- package/src/tools/lazy-tool.ts +60 -0
- package/src/tools/ledger.ts +3 -3
- package/src/tools/monitor-surface.ts +36 -0
- package/src/tools/monitor.ts +2 -32
- package/src/tools/observers.ts +2 -2
- package/src/tools/presentation.ts +107 -0
- package/src/tools/registry.ts +45 -27
- package/src/tools/safe-exec.ts +2 -2
- package/src/tools/steer-surface.ts +17 -0
- package/src/tools/steer.ts +2 -13
- package/src/tools/tasks.ts +108 -11
- package/src/tools/truncate.ts +25 -184
- package/src/tools/verify/frontend.ts +3 -1
- package/src/tools/verify/index.ts +3 -38
- package/src/tools/verify/surface.ts +46 -0
- package/src/tools/web-fetch-surface.ts +23 -0
- package/src/tools/web-fetch.ts +2 -20
- package/src/tools/write.ts +7 -2
- package/src/worker/entry.ts +39 -2
- package/src/worker/spec-contract.ts +26 -5
- package/dist/chunk-7SS2CTV2.js +0 -61361
- package/dist/chunk-DKGKUHFA.js +0 -924
- package/dist/chunk-GEP36Y4X.js +0 -12796
- package/dist/chunk-XYWBQRDM.js +0 -137
- package/dist/clio-BZVGEUFJ.js +0 -58
- package/dist/configure-S7S6F6CL.js +0 -32
- package/docs/html/agents_blueprint.html +0 -936
- package/docs/html/alcf_blueprint.html +0 -324
- package/docs/html/architecture_blueprint.html +0 -850
- package/docs/html/commands_blueprint.html +0 -939
- package/docs/html/config_knobs_audit_blueprint.html +0 -178
- package/docs/html/configuration_blueprint.html +0 -1080
- package/docs/html/context_blueprint.html +0 -603
- package/docs/html/documentation_blueprint.html +0 -832
- package/docs/html/environment_blueprint.html +0 -404
- package/docs/html/eval_blueprint.html +0 -743
- package/docs/html/evals_internal_blueprint.html +0 -190
- package/docs/html/evolution_blueprint.html +0 -674
- package/docs/html/extensions_blueprint.html +0 -2065
- package/docs/html/fleet_dispatch_blueprint.html +0 -286
- package/docs/html/index.html +0 -919
- package/docs/html/lifecycle_blueprint.html +0 -723
- package/docs/html/memory_blueprint.html +0 -699
- package/docs/html/middleware_blueprint.html +0 -664
- package/docs/html/models_blueprint.html +0 -2366
- package/docs/html/observability_blueprint.html +0 -683
- package/docs/html/provider_adapter_blueprint.html +0 -245
- package/docs/html/safety_blueprint.html +0 -1386
- package/docs/html/shared.css +0 -571
- package/docs/html/shared.js +0 -143
- package/docs/html/skills_blueprint.html +0 -671
- package/docs/html/soak_blueprint.html +0 -182
- package/docs/html/tool_usage_blueprint.html +0 -350
- package/docs/html/tools_blueprint.html +0 -2249
- package/docs/html/trace_blueprint.html +0 -235
- package/docs/html/tui_design_blueprint.html +0 -374
- package/docs/html/validation_blueprint.html +0 -961
- package/docs/html/worker_dispatch_blueprint.html +0 -231
- package/src/core/release.ts +0 -2
- package/src/domains/providers/runtimes/common/lmstudio-logger.ts +0 -32
- package/src/domains/providers/runtimes/local-native/lmstudio-native.ts +0 -491
- package/src/engine/apis/lmstudio-native.ts +0 -1438
- package/src/engine/apis/thinking-replay.ts +0 -11
- package/src/tools/string-enum.ts +0 -15
|
@@ -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 process 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 : process.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 } = process;
|
|
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 (process.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,139 +504,7 @@ 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 printOk(message) {
|
|
517
|
-
process.stdout.write(`${source_default.green("ok:")} ${message}
|
|
518
|
-
`);
|
|
519
|
-
}
|
|
520
|
-
function printHeader(message) {
|
|
521
|
-
process.stdout.write(`${source_default.cyan(message)}
|
|
522
|
-
`);
|
|
523
|
-
}
|
|
524
|
-
function columnWidths(rows) {
|
|
525
|
-
const widths = [];
|
|
526
|
-
for (const row of rows) {
|
|
527
|
-
for (let i = 0; i < row.length; i += 1) {
|
|
528
|
-
widths[i] = Math.max(widths[i] ?? 0, row[i]?.length ?? 0);
|
|
529
|
-
}
|
|
530
|
-
}
|
|
531
|
-
return widths;
|
|
532
|
-
}
|
|
533
|
-
function formatColumnRow(row, widths, gap = 2) {
|
|
534
|
-
return row.map((cell, index) => {
|
|
535
|
-
if (index === row.length - 1) return cell;
|
|
536
|
-
return cell.padEnd((widths[index] ?? cell.length) + gap);
|
|
537
|
-
}).join("").trimEnd();
|
|
538
|
-
}
|
|
539
|
-
function formatColumns(rows, gap = 2) {
|
|
540
|
-
if (rows.length === 0) return "";
|
|
541
|
-
const widths = columnWidths(rows);
|
|
542
|
-
return `${rows.map((row) => formatColumnRow(row, widths, gap)).join("\n")}
|
|
543
|
-
`;
|
|
544
|
-
}
|
|
545
|
-
function parseFlags(argv) {
|
|
546
|
-
const flags = /* @__PURE__ */ new Set();
|
|
547
|
-
const positional = [];
|
|
548
|
-
for (const arg of argv) {
|
|
549
|
-
if (arg.startsWith("--")) flags.add(arg.slice(2));
|
|
550
|
-
else if (arg.startsWith("-") && arg.length > 1) flags.add(arg.slice(1));
|
|
551
|
-
else positional.push(arg);
|
|
552
|
-
}
|
|
553
|
-
return { flags, positional };
|
|
554
|
-
}
|
|
555
|
-
var ROOT_FLAG_TOKENS = /* @__PURE__ */ new Set(["--help", "-h", "--all", "--version", "-v"]);
|
|
556
|
-
var GLOBAL_ONLY_FLAGS = /* @__PURE__ */ new Map([
|
|
557
|
-
["--api-key", "--api-key <key>"],
|
|
558
|
-
["--no-context-files", "--no-context-files"],
|
|
559
|
-
["-nc", "-nc"]
|
|
560
|
-
]);
|
|
561
|
-
function globalFlagPositionHint(arg, command) {
|
|
562
|
-
const usage = GLOBAL_ONLY_FLAGS.get(arg);
|
|
563
|
-
if (usage === void 0) return null;
|
|
564
|
-
return `${arg} is a global option and must come before the subcommand: clio-coder ${usage} ${command} ...`;
|
|
565
|
-
}
|
|
566
|
-
function extractGlobalFlags(argv, isSubcommand = () => false) {
|
|
567
|
-
const rest = [];
|
|
568
|
-
let apiKey;
|
|
569
|
-
let noContextFiles = false;
|
|
570
|
-
let noSkills = false;
|
|
571
|
-
const skillPaths = [];
|
|
572
|
-
for (let i = 0; i < argv.length; i++) {
|
|
573
|
-
const arg = argv[i];
|
|
574
|
-
if (arg === void 0) continue;
|
|
575
|
-
if (arg === "--") {
|
|
576
|
-
rest.push(...argv.slice(i + 1));
|
|
577
|
-
break;
|
|
578
|
-
}
|
|
579
|
-
if (!arg.startsWith("-")) {
|
|
580
|
-
rest.push(...argv.slice(i));
|
|
581
|
-
break;
|
|
582
|
-
}
|
|
583
|
-
if (ROOT_FLAG_TOKENS.has(arg)) {
|
|
584
|
-
rest.push(arg);
|
|
585
|
-
continue;
|
|
586
|
-
}
|
|
587
|
-
if (arg === "--no-context-files" || arg === "-nc") {
|
|
588
|
-
noContextFiles = true;
|
|
589
|
-
continue;
|
|
590
|
-
}
|
|
591
|
-
if (arg === "--no-skills") {
|
|
592
|
-
noSkills = true;
|
|
593
|
-
continue;
|
|
594
|
-
}
|
|
595
|
-
if (arg === "--api-key" || arg === "--skill") {
|
|
596
|
-
const value = argv[i + 1];
|
|
597
|
-
if (value === void 0 || value.startsWith("-") || isSubcommand(value)) {
|
|
598
|
-
return {
|
|
599
|
-
noContextFiles,
|
|
600
|
-
noSkills,
|
|
601
|
-
skillPaths,
|
|
602
|
-
rest,
|
|
603
|
-
error: `${arg} requires a value`,
|
|
604
|
-
...apiKey === void 0 ? {} : { apiKey }
|
|
605
|
-
};
|
|
606
|
-
}
|
|
607
|
-
if (arg === "--api-key") apiKey = value;
|
|
608
|
-
else skillPaths.push(value);
|
|
609
|
-
i += 1;
|
|
610
|
-
continue;
|
|
611
|
-
}
|
|
612
|
-
return {
|
|
613
|
-
noContextFiles,
|
|
614
|
-
noSkills,
|
|
615
|
-
skillPaths,
|
|
616
|
-
rest,
|
|
617
|
-
error: `unknown global option: ${arg}`,
|
|
618
|
-
...apiKey === void 0 ? {} : { apiKey }
|
|
619
|
-
};
|
|
620
|
-
}
|
|
621
|
-
return {
|
|
622
|
-
noContextFiles,
|
|
623
|
-
noSkills,
|
|
624
|
-
skillPaths,
|
|
625
|
-
rest,
|
|
626
|
-
...apiKey === void 0 ? {} : { apiKey }
|
|
627
|
-
};
|
|
628
|
-
}
|
|
629
|
-
|
|
630
507
|
export {
|
|
631
|
-
source_default
|
|
632
|
-
printError,
|
|
633
|
-
printOk,
|
|
634
|
-
printHeader,
|
|
635
|
-
columnWidths,
|
|
636
|
-
formatColumnRow,
|
|
637
|
-
formatColumns,
|
|
638
|
-
parseFlags,
|
|
639
|
-
globalFlagPositionHint,
|
|
640
|
-
extractGlobalFlags
|
|
508
|
+
source_default
|
|
641
509
|
};
|
|
642
|
-
//# sourceMappingURL=chunk-
|
|
510
|
+
//# sourceMappingURL=chunk-5TSRNF4G.js.map
|
|
@@ -2,19 +2,68 @@ import { createRequire as __clioCreateRequire } from "node:module"; const requir
|
|
|
2
2
|
import {
|
|
3
3
|
readStateInfo,
|
|
4
4
|
runDoctor
|
|
5
|
-
} from "./chunk-
|
|
5
|
+
} from "./chunk-UFIIWP2H.js";
|
|
6
6
|
import {
|
|
7
7
|
getVersionInfo
|
|
8
8
|
} from "./chunk-XPLRXC72.js";
|
|
9
|
+
import {
|
|
10
|
+
readSettings,
|
|
11
|
+
settingsPath,
|
|
12
|
+
updateSettings
|
|
13
|
+
} from "./chunk-A3CYT5EX.js";
|
|
14
|
+
import {
|
|
15
|
+
authStoragePath,
|
|
16
|
+
openAuthStorage
|
|
17
|
+
} from "./chunk-4VP4KH3K.js";
|
|
9
18
|
import {
|
|
10
19
|
init_esm_shims
|
|
11
20
|
} from "./chunk-3R73A4XB.js";
|
|
12
21
|
|
|
13
22
|
// src/domains/lifecycle/migrations/index.ts
|
|
14
23
|
init_esm_shims();
|
|
15
|
-
import { existsSync, mkdirSync, readFileSync, writeFileSync } from "node:fs";
|
|
24
|
+
import { existsSync as existsSync2, mkdirSync, readFileSync, writeFileSync } from "node:fs";
|
|
16
25
|
import { join } from "node:path";
|
|
17
|
-
|
|
26
|
+
|
|
27
|
+
// src/domains/lifecycle/migrations/2026-08-18-lmstudio-runtime-id.ts
|
|
28
|
+
init_esm_shims();
|
|
29
|
+
import { existsSync } from "node:fs";
|
|
30
|
+
function normalizeLmStudioUrl(url) {
|
|
31
|
+
if (!url) return url;
|
|
32
|
+
if (url.startsWith("ws://")) return `http://${url.slice("ws://".length)}`;
|
|
33
|
+
if (url.startsWith("wss://")) return `https://${url.slice("wss://".length)}`;
|
|
34
|
+
return url;
|
|
35
|
+
}
|
|
36
|
+
var migration = {
|
|
37
|
+
id: "2026-08-18-lmstudio-runtime-id",
|
|
38
|
+
async up() {
|
|
39
|
+
let keepLegacyCredential = false;
|
|
40
|
+
if (existsSync(settingsPath())) {
|
|
41
|
+
const current = readSettings();
|
|
42
|
+
keepLegacyCredential = current.targets.some((target) => target.auth?.apiKeyRef === "lmstudio-native");
|
|
43
|
+
const needsSettingsRewrite = current.targets.some(
|
|
44
|
+
(target) => target.runtime === "lmstudio-native" || (target.runtime === "lmstudio" || target.runtime === "lmstudio-native") && normalizeLmStudioUrl(target.url) !== target.url
|
|
45
|
+
);
|
|
46
|
+
if (needsSettingsRewrite) {
|
|
47
|
+
updateSettings((settings) => {
|
|
48
|
+
for (const target of settings.targets) {
|
|
49
|
+
if (target.runtime !== "lmstudio-native" && target.runtime !== "lmstudio") continue;
|
|
50
|
+
target.runtime = "lmstudio";
|
|
51
|
+
const url = normalizeLmStudioUrl(target.url);
|
|
52
|
+
if (url !== void 0) target.url = url;
|
|
53
|
+
}
|
|
54
|
+
});
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
if (!existsSync(authStoragePath())) return;
|
|
58
|
+
const storage = openAuthStorage();
|
|
59
|
+
if (!storage.hasStored("lmstudio-native")) return;
|
|
60
|
+
storage.renameProvider("lmstudio-native", "lmstudio", { keepSource: keepLegacyCredential });
|
|
61
|
+
}
|
|
62
|
+
};
|
|
63
|
+
var lmstudio_runtime_id_default = migration;
|
|
64
|
+
|
|
65
|
+
// src/domains/lifecycle/migrations/index.ts
|
|
66
|
+
var REGISTRY = Object.freeze([lmstudio_runtime_id_default]);
|
|
18
67
|
function listMigrations() {
|
|
19
68
|
return REGISTRY;
|
|
20
69
|
}
|
|
@@ -22,7 +71,7 @@ function manifestPath(stateDir) {
|
|
|
22
71
|
return join(stateDir, "migrations.json");
|
|
23
72
|
}
|
|
24
73
|
function readManifest(path) {
|
|
25
|
-
if (!
|
|
74
|
+
if (!existsSync2(path)) return { applied: [] };
|
|
26
75
|
try {
|
|
27
76
|
const raw = readFileSync(path, "utf8");
|
|
28
77
|
const parsed = JSON.parse(raw);
|
|
@@ -38,27 +87,40 @@ function writeManifest(path, manifest) {
|
|
|
38
87
|
writeFileSync(path, `${JSON.stringify(manifest, null, 2)}
|
|
39
88
|
`, { encoding: "utf8", mode: 420 });
|
|
40
89
|
}
|
|
41
|
-
async function runPending(stateDir) {
|
|
90
|
+
async function runPending(stateDir, migrations = REGISTRY) {
|
|
42
91
|
mkdirSync(stateDir, { recursive: true });
|
|
43
92
|
const path = manifestPath(stateDir);
|
|
44
93
|
const manifest = readManifest(path);
|
|
45
94
|
const applied = new Set(manifest.applied);
|
|
46
95
|
const newlyApplied = [];
|
|
47
|
-
for (const m of
|
|
96
|
+
for (const m of migrations) {
|
|
48
97
|
if (applied.has(m.id)) continue;
|
|
49
98
|
await m.up(stateDir);
|
|
50
99
|
applied.add(m.id);
|
|
51
100
|
newlyApplied.push(m.id);
|
|
101
|
+
writeManifest(path, { applied: [...applied] });
|
|
52
102
|
}
|
|
53
103
|
const allApplied = [...applied];
|
|
54
104
|
writeManifest(path, { applied: allApplied });
|
|
55
105
|
return {
|
|
56
106
|
applied: newlyApplied,
|
|
57
107
|
allApplied,
|
|
58
|
-
available:
|
|
108
|
+
available: migrations.map((m) => m.id)
|
|
59
109
|
};
|
|
60
110
|
}
|
|
61
111
|
|
|
112
|
+
// src/domains/lifecycle/upgrade-notice.ts
|
|
113
|
+
init_esm_shims();
|
|
114
|
+
var KEYBOARD_FACING_CHANGES = Object.freeze({
|
|
115
|
+
"0.3.1": "/targets, /fleet, and /scoped-models now open inside /settings; the commit-crafting, create-pr, investigate-issue, and review-changes skills are retired in favour of file-ticket, fix-issue, and ship; artifact defaults write under .clio-coder/artifacts/."
|
|
116
|
+
});
|
|
117
|
+
function describeUpgradeNotice(transition) {
|
|
118
|
+
const changes = KEYBOARD_FACING_CHANGES[transition.to];
|
|
119
|
+
const head = `clio: upgraded ${transition.from} \u2192 ${transition.to}.`;
|
|
120
|
+
const tail = `Full notes: CHANGELOG.md, section ${transition.to}.`;
|
|
121
|
+
return changes === void 0 ? `${head} What changed is in CHANGELOG.md, section ${transition.to}.` : `${head} What changed at the keyboard: ${changes} ${tail}`;
|
|
122
|
+
}
|
|
123
|
+
|
|
62
124
|
// src/domains/lifecycle/index.ts
|
|
63
125
|
init_esm_shims();
|
|
64
126
|
|
|
@@ -85,18 +147,6 @@ var LifecycleManifest = {
|
|
|
85
147
|
dependsOn: ["config"]
|
|
86
148
|
};
|
|
87
149
|
|
|
88
|
-
// src/domains/lifecycle/upgrade-notice.ts
|
|
89
|
-
init_esm_shims();
|
|
90
|
-
var KEYBOARD_FACING_CHANGES = Object.freeze({
|
|
91
|
-
"0.3.1": "/targets, /fleet, and /scoped-models now open inside /settings; the commit-crafting, create-pr, investigate-issue, and review-changes skills are retired in favour of file-ticket, fix-issue, and ship; artifact defaults write under .clio-coder/artifacts/."
|
|
92
|
-
});
|
|
93
|
-
function describeUpgradeNotice(transition) {
|
|
94
|
-
const changes = KEYBOARD_FACING_CHANGES[transition.to];
|
|
95
|
-
const head = `clio: upgraded ${transition.from} \u2192 ${transition.to}.`;
|
|
96
|
-
const tail = `Full notes: CHANGELOG.md, section ${transition.to}.`;
|
|
97
|
-
return changes === void 0 ? `${head} What changed is in CHANGELOG.md, section ${transition.to}.` : `${head} What changed at the keyboard: ${changes} ${tail}`;
|
|
98
|
-
}
|
|
99
|
-
|
|
100
150
|
// src/domains/lifecycle/index.ts
|
|
101
151
|
var LifecycleDomainModule = {
|
|
102
152
|
manifest: LifecycleManifest,
|
|
@@ -108,4 +158,4 @@ export {
|
|
|
108
158
|
describeUpgradeNotice,
|
|
109
159
|
LifecycleDomainModule
|
|
110
160
|
};
|
|
111
|
-
//# sourceMappingURL=chunk-
|
|
161
|
+
//# sourceMappingURL=chunk-5UFT4SUX.js.map
|
|
@@ -1,4 +1,10 @@
|
|
|
1
1
|
import { createRequire as __clioCreateRequire } from "node:module"; const require = __clioCreateRequire(import.meta.url);
|
|
2
|
+
import {
|
|
3
|
+
isVerificationScriptName
|
|
4
|
+
} from "./chunk-7MNJORFF.js";
|
|
5
|
+
import {
|
|
6
|
+
canonicalizeExistingPath
|
|
7
|
+
} from "./chunk-ECH6PKUQ.js";
|
|
2
8
|
import {
|
|
3
9
|
ToolNames,
|
|
4
10
|
isBuiltinToolName
|
|
@@ -13,7 +19,7 @@ import { createHash } from "node:crypto";
|
|
|
13
19
|
|
|
14
20
|
// src/domains/safety/action-classifier.ts
|
|
15
21
|
init_esm_shims();
|
|
16
|
-
import
|
|
22
|
+
import path2 from "node:path";
|
|
17
23
|
|
|
18
24
|
// src/core/artifact-paths.ts
|
|
19
25
|
init_esm_shims();
|
|
@@ -30,52 +36,9 @@ function artifactDefaultPath(kind) {
|
|
|
30
36
|
return `${CLIO_ARTIFACT_DIR}/${filename}`;
|
|
31
37
|
}
|
|
32
38
|
|
|
33
|
-
// src/core/path-canonical.ts
|
|
34
|
-
init_esm_shims();
|
|
35
|
-
import { realpathSync } from "node:fs";
|
|
36
|
-
import path from "node:path";
|
|
37
|
-
function canonicalizeExistingPath(absPath) {
|
|
38
|
-
const resolved = path.resolve(absPath);
|
|
39
|
-
try {
|
|
40
|
-
return path.resolve(realpathSync(resolved));
|
|
41
|
-
} catch {
|
|
42
|
-
}
|
|
43
|
-
const tail = [];
|
|
44
|
-
let cursor = resolved;
|
|
45
|
-
while (true) {
|
|
46
|
-
const parent = path.dirname(cursor);
|
|
47
|
-
if (parent === cursor) {
|
|
48
|
-
try {
|
|
49
|
-
return path.resolve(realpathSync(cursor), ...tail);
|
|
50
|
-
} catch {
|
|
51
|
-
return resolved;
|
|
52
|
-
}
|
|
53
|
-
}
|
|
54
|
-
tail.unshift(path.basename(cursor));
|
|
55
|
-
cursor = parent;
|
|
56
|
-
try {
|
|
57
|
-
return path.resolve(realpathSync(cursor), ...tail);
|
|
58
|
-
} catch {
|
|
59
|
-
}
|
|
60
|
-
}
|
|
61
|
-
}
|
|
62
|
-
|
|
63
39
|
// src/domains/safety/protected-artifacts.ts
|
|
64
40
|
init_esm_shims();
|
|
65
|
-
import
|
|
66
|
-
|
|
67
|
-
// src/core/verification-scripts.ts
|
|
68
|
-
init_esm_shims();
|
|
69
|
-
var VERIFICATION_SCRIPT_FAMILY_HINT = "test*/lint*/build*/typecheck*/check*/format*/ci*";
|
|
70
|
-
var VERIFICATION_SCRIPT_PATTERN = /^(?:test|lint|build|typecheck|check|format|ci)(?:[:.-].*)?$/;
|
|
71
|
-
function isVerificationScriptName(name) {
|
|
72
|
-
return VERIFICATION_SCRIPT_PATTERN.test(name);
|
|
73
|
-
}
|
|
74
|
-
function declaredVerificationScripts(scripts) {
|
|
75
|
-
return Object.keys(scripts).filter((name) => isVerificationScriptName(name)).sort((a, b) => a.localeCompare(b));
|
|
76
|
-
}
|
|
77
|
-
|
|
78
|
-
// src/domains/safety/protected-artifacts.ts
|
|
41
|
+
import path from "node:path";
|
|
79
42
|
var COMMAND_SEPARATORS = /* @__PURE__ */ new Set([";", "&&", "||", "|"]);
|
|
80
43
|
var SHELL_WRAPPERS = /* @__PURE__ */ new Set(["command", "builtin", "sudo", "doas"]);
|
|
81
44
|
function toolMutationPaths(toolName, args) {
|
|
@@ -753,10 +716,10 @@ function cloneArtifact(artifact) {
|
|
|
753
716
|
function normalizePathKey(input) {
|
|
754
717
|
const trimmed = input.trim();
|
|
755
718
|
if (trimmed.length === 0) return null;
|
|
756
|
-
if (isWindowsAbsolutePath(trimmed) &&
|
|
757
|
-
return toSlashKey(
|
|
719
|
+
if (isWindowsAbsolutePath(trimmed) && path.sep !== "\\") {
|
|
720
|
+
return toSlashKey(path.win32.normalize(trimmed));
|
|
758
721
|
}
|
|
759
|
-
const resolved =
|
|
722
|
+
const resolved = path.isAbsolute(trimmed) ? trimmed : path.resolve(trimmed);
|
|
760
723
|
return toSlashKey(canonicalizeExistingPath(resolved));
|
|
761
724
|
}
|
|
762
725
|
function wildcardRootKey(input) {
|
|
@@ -781,8 +744,8 @@ function toSlashKey(input) {
|
|
|
781
744
|
}
|
|
782
745
|
function isSameOrDescendant(candidate, parent) {
|
|
783
746
|
if (candidate === parent) return true;
|
|
784
|
-
const relative =
|
|
785
|
-
return relative !== "" && !relative.startsWith("..") && !
|
|
747
|
+
const relative = path.posix.relative(parent, candidate);
|
|
748
|
+
return relative !== "" && !relative.startsWith("..") && !path.posix.isAbsolute(relative);
|
|
786
749
|
}
|
|
787
750
|
function compareMatches(left, right) {
|
|
788
751
|
return compareStrings(left.artifactPath, right.artifactPath) || compareStrings(left.commandPath, right.commandPath) || compareStrings(left.reason, right.reason);
|
|
@@ -833,8 +796,10 @@ function baseClassify(tool) {
|
|
|
833
796
|
case ToolNames.Monitor:
|
|
834
797
|
case ToolNames.AskUser:
|
|
835
798
|
case ToolNames.CredentialPresent:
|
|
836
|
-
// tasks mutates only
|
|
837
|
-
//
|
|
799
|
+
// tasks pick mutates only Clio-owned session-ledger and project-local
|
|
800
|
+
// .clio-coder runtime state, never source-workspace files. By intentional
|
|
801
|
+
// policy it stays read class and ungated; the tool itself still requires
|
|
802
|
+
// a durable operator task id before it can mutate either store.
|
|
838
803
|
case ToolNames.Tasks:
|
|
839
804
|
// ledger posts a typed contribution to a coordination board and reads a
|
|
840
805
|
// local mirror. Neither touches the workspace, so it is never gated
|
|
@@ -879,15 +844,15 @@ function matchFirst(patterns, haystack) {
|
|
|
879
844
|
}
|
|
880
845
|
function resolveCandidate(p, baseCwd) {
|
|
881
846
|
if (p.startsWith("~")) return p;
|
|
882
|
-
const base = canonicalizeExistingPath(
|
|
883
|
-
const resolved =
|
|
847
|
+
const base = canonicalizeExistingPath(path2.resolve(baseCwd ?? process.cwd()));
|
|
848
|
+
const resolved = path2.isAbsolute(p) ? path2.resolve(p) : path2.resolve(base, p);
|
|
884
849
|
return canonicalizeExistingPath(resolved);
|
|
885
850
|
}
|
|
886
851
|
function isInsideCwd(abs) {
|
|
887
|
-
const cwd = canonicalizeExistingPath(
|
|
852
|
+
const cwd = canonicalizeExistingPath(path2.resolve(process.cwd()));
|
|
888
853
|
const candidate = canonicalizeExistingPath(abs);
|
|
889
|
-
const rel =
|
|
890
|
-
return rel === "" || !rel.startsWith("..") && !
|
|
854
|
+
const rel = path2.relative(cwd, candidate);
|
|
855
|
+
return rel === "" || !rel.startsWith("..") && !path2.isAbsolute(rel);
|
|
891
856
|
}
|
|
892
857
|
function writePathClass(pathArg, baseCwd) {
|
|
893
858
|
if (pathArg.startsWith("~")) {
|
|
@@ -1201,12 +1166,9 @@ ${errors.map((error) => `- ${error}`).join("\n")}`);
|
|
|
1201
1166
|
}
|
|
1202
1167
|
|
|
1203
1168
|
export {
|
|
1169
|
+
CLIO_PROJECT_DIR,
|
|
1204
1170
|
CLIO_ARTIFACT_DIR,
|
|
1205
1171
|
artifactDefaultPath,
|
|
1206
|
-
canonicalizeExistingPath,
|
|
1207
|
-
VERIFICATION_SCRIPT_FAMILY_HINT,
|
|
1208
|
-
isVerificationScriptName,
|
|
1209
|
-
declaredVerificationScripts,
|
|
1210
1172
|
toolMutationPaths,
|
|
1211
1173
|
protectedArtifactMutationBlockReason,
|
|
1212
1174
|
protectArtifact,
|
|
@@ -1230,4 +1192,4 @@ export {
|
|
|
1230
1192
|
isShadowAgent,
|
|
1231
1193
|
assertAgentSpecPolicy
|
|
1232
1194
|
};
|
|
1233
|
-
//# sourceMappingURL=chunk-
|
|
1195
|
+
//# sourceMappingURL=chunk-5UUP6MWO.js.map
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
import { createRequire as __clioCreateRequire } from "node:module"; const require = __clioCreateRequire(import.meta.url);
|
|
2
|
+
import {
|
|
3
|
+
resolvePackageRoot
|
|
4
|
+
} from "./chunk-IWHMRKLL.js";
|
|
5
|
+
import {
|
|
6
|
+
init_esm_shims
|
|
7
|
+
} from "./chunk-3R73A4XB.js";
|
|
8
|
+
|
|
9
|
+
// src/core/incomplete-installation.ts
|
|
10
|
+
init_esm_shims();
|
|
11
|
+
import { isAbsolute, join, relative } from "node:path";
|
|
12
|
+
import { fileURLToPath } from "node:url";
|
|
13
|
+
function missingModulePath(message) {
|
|
14
|
+
const specifier = /Cannot find (?:module|package) ['"]([^'"]+)['"]/.exec(message)?.[1];
|
|
15
|
+
if (!specifier) return null;
|
|
16
|
+
if (specifier.startsWith("file:")) {
|
|
17
|
+
try {
|
|
18
|
+
return fileURLToPath(specifier);
|
|
19
|
+
} catch {
|
|
20
|
+
return null;
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
return isAbsolute(specifier) ? specifier : null;
|
|
24
|
+
}
|
|
25
|
+
function incompleteInstallationAdvice(err) {
|
|
26
|
+
if (err?.code !== "ERR_MODULE_NOT_FOUND") return null;
|
|
27
|
+
const message = err instanceof Error ? err.message : String(err);
|
|
28
|
+
let outputDir;
|
|
29
|
+
try {
|
|
30
|
+
outputDir = join(resolvePackageRoot(), "dist");
|
|
31
|
+
} catch {
|
|
32
|
+
return null;
|
|
33
|
+
}
|
|
34
|
+
const missing = missingModulePath(message);
|
|
35
|
+
if (!missing) return null;
|
|
36
|
+
const fromOutput = relative(outputDir, missing);
|
|
37
|
+
if (fromOutput === "" || fromOutput.startsWith("..") || isAbsolute(fromOutput)) return null;
|
|
38
|
+
return [
|
|
39
|
+
`${message}`,
|
|
40
|
+
"",
|
|
41
|
+
"This Clio Coder installation is incomplete: the command's own module is missing from",
|
|
42
|
+
`${outputDir}`,
|
|
43
|
+
"Reinstall to restore it, using the line that matches how you installed:",
|
|
44
|
+
" npm install -g @iowarp/clio-coder # npm install",
|
|
45
|
+
" npm run install:local # source checkout"
|
|
46
|
+
].join("\n");
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
export {
|
|
50
|
+
incompleteInstallationAdvice
|
|
51
|
+
};
|
|
52
|
+
//# sourceMappingURL=chunk-65DEGPJ6.js.map
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { createRequire as __clioCreateRequire } from "node:module"; const require = __clioCreateRequire(import.meta.url);
|
|
2
|
+
import {
|
|
3
|
+
init_esm_shims
|
|
4
|
+
} from "./chunk-3R73A4XB.js";
|
|
5
|
+
|
|
6
|
+
// src/core/agent-environment.ts
|
|
7
|
+
init_esm_shims();
|
|
8
|
+
var AI_AGENT_NAME = "clio-coder";
|
|
9
|
+
function withClioAgentEnvironment(source) {
|
|
10
|
+
return { ...source, AI_AGENT: AI_AGENT_NAME };
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
export {
|
|
14
|
+
AI_AGENT_NAME,
|
|
15
|
+
withClioAgentEnvironment
|
|
16
|
+
};
|
|
17
|
+
//# sourceMappingURL=chunk-6EJMN2Y3.js.map
|
|
@@ -0,0 +1,136 @@
|
|
|
1
|
+
import { createRequire as __clioCreateRequire } from "node:module"; const require = __clioCreateRequire(import.meta.url);
|
|
2
|
+
import {
|
|
3
|
+
mentionsWorkerToolCallCap
|
|
4
|
+
} from "./chunk-4ZG3XFUR.js";
|
|
5
|
+
import {
|
|
6
|
+
init_esm_shims
|
|
7
|
+
} from "./chunk-3R73A4XB.js";
|
|
8
|
+
|
|
9
|
+
// src/tools/worker-evidence.ts
|
|
10
|
+
init_esm_shims();
|
|
11
|
+
var SOURCE_CITATION_PATTERN = /([\w./~-]+):(\d+)/g;
|
|
12
|
+
function sourceCitations(text) {
|
|
13
|
+
const citations = [];
|
|
14
|
+
for (const match of text.matchAll(SOURCE_CITATION_PATTERN)) {
|
|
15
|
+
const path = match[1];
|
|
16
|
+
const line = Number(match[2]);
|
|
17
|
+
if (path && Number.isSafeInteger(line) && line > 0) citations.push({ path, line });
|
|
18
|
+
}
|
|
19
|
+
return citations;
|
|
20
|
+
}
|
|
21
|
+
function hasSourceCitation(text) {
|
|
22
|
+
return sourceCitations(text).length > 0;
|
|
23
|
+
}
|
|
24
|
+
var SPOT_CHECK_GUIDANCE = 'Spot-check delegated claims before repeating them: re-read any cited file:line location, and re-run or inspect the named validation before repeating a "tests pass" claim.';
|
|
25
|
+
function isMutationClassRun(receipt, verification) {
|
|
26
|
+
if (verification.state === "not_applicable") return false;
|
|
27
|
+
if (receipt.executionRole === "builder" || receipt.executionRole === "recovery") return true;
|
|
28
|
+
return receipt.quality?.resultContract?.sourceId?.startsWith("agent-result-contract:mutation-report") === true;
|
|
29
|
+
}
|
|
30
|
+
function receiptAdmissionLabels(receipt) {
|
|
31
|
+
const labels = [];
|
|
32
|
+
const mismatch = receipt.capabilityMismatch;
|
|
33
|
+
if (mismatch !== void 0) {
|
|
34
|
+
labels.push(
|
|
35
|
+
`capability_mismatch=${mismatch.capabilityClass}/${mismatch.taskType}${mismatch.suggestedAgentId === null ? "" : ` suggested:${mismatch.suggestedAgentId}`}`
|
|
36
|
+
);
|
|
37
|
+
}
|
|
38
|
+
const grounding = receipt.validationGrounding;
|
|
39
|
+
if (grounding !== void 0) {
|
|
40
|
+
labels.push(
|
|
41
|
+
`validations=claimed:${grounding.claimed} grounded:${grounding.grounded}${grounding.ungrounded.length > 0 ? ` ${grounding.basis === "no-command-executed" ? "unverifiable" : "unmatched"}:${grounding.ungrounded.map((name) => JSON.stringify(name)).join(",")}` : ""}`
|
|
42
|
+
);
|
|
43
|
+
}
|
|
44
|
+
return labels;
|
|
45
|
+
}
|
|
46
|
+
function receiptActivityLabels(receipt, verification) {
|
|
47
|
+
const labels = [];
|
|
48
|
+
const activity = receipt.toolActivity;
|
|
49
|
+
if (activity !== void 0) {
|
|
50
|
+
labels.push(
|
|
51
|
+
`work=calls:${activity.calls} ok:${activity.succeeded} failed:${activity.failed} blocked:${activity.blocked} mutations:${activity.mutatingSucceeded ? "yes" : "no"}`
|
|
52
|
+
);
|
|
53
|
+
if (!activity.mutatingSucceeded && isMutationClassRun(receipt, verification)) labels.push("mutation_effect=none");
|
|
54
|
+
}
|
|
55
|
+
const findings = receipt.findingsSummary;
|
|
56
|
+
if (findings !== void 0) {
|
|
57
|
+
if (!findings.firstPassSuccess) labels.push("first_pass=false");
|
|
58
|
+
if (findings.tags.length > 0) labels.push(`findings=${[...findings.tags].sort().join(",")}`);
|
|
59
|
+
}
|
|
60
|
+
return labels;
|
|
61
|
+
}
|
|
62
|
+
function receiptEvidenceLabels(receipt, verification, integrity) {
|
|
63
|
+
if (!integrity.ok) return [`receipt_integrity=FAILED reason=${JSON.stringify(integrity.reason)}`];
|
|
64
|
+
const briefing = receipt.briefing === void 0 ? "briefing=none" : `briefing=bytes:${receipt.briefing.bytes} sha256:${receipt.briefing.contentHash}`;
|
|
65
|
+
let projectContext = "project_context=absent";
|
|
66
|
+
if (receipt.projectContext !== void 0) {
|
|
67
|
+
const sections = receipt.projectContext.sections ?? [];
|
|
68
|
+
projectContext = `project_context=${receipt.projectContext.tier} chars:${receipt.projectContext.chars ?? 0}${sections.length > 0 ? ` sections:${[...sections].sort().join(",")}` : ""}${receipt.projectContext.contentHash !== void 0 ? ` sha256:${receipt.projectContext.contentHash}` : ""}`;
|
|
69
|
+
}
|
|
70
|
+
return [
|
|
71
|
+
`receipt_integrity=verified/v${receipt.integrity.version}/${receipt.integrity.algorithm}`,
|
|
72
|
+
`evidence_verification=${verification.state}/${verification.basis}`,
|
|
73
|
+
...receiptAdmissionLabels(receipt),
|
|
74
|
+
...receiptActivityLabels(receipt, verification),
|
|
75
|
+
briefing,
|
|
76
|
+
projectContext
|
|
77
|
+
];
|
|
78
|
+
}
|
|
79
|
+
function workerTextLabel(verification) {
|
|
80
|
+
switch (verification.state) {
|
|
81
|
+
case "verified":
|
|
82
|
+
return "worker output (tool-verified):";
|
|
83
|
+
case "not_applicable":
|
|
84
|
+
return "reconnaissance output (advisory leads, not validation evidence):";
|
|
85
|
+
case "unknown":
|
|
86
|
+
return "worker claims (validation not observable at this layer):";
|
|
87
|
+
default:
|
|
88
|
+
return "worker claims (unverified prose):";
|
|
89
|
+
}
|
|
90
|
+
}
|
|
91
|
+
function workerTextNonEvidenceNotices(receipt, verification, answerText) {
|
|
92
|
+
const notices = [];
|
|
93
|
+
const failedRun = receipt.exitCode !== 0 || receipt.outcome !== void 0 && receipt.outcome !== "succeeded";
|
|
94
|
+
if (mentionsWorkerToolCallCap(receipt.failureMessage) || mentionsWorkerToolCallCap(receipt.outcomeDetail)) {
|
|
95
|
+
notices.push(
|
|
96
|
+
answerText.length > 0 ? "non-evidence: the worker exhausted its tool-call cap; the text above is a partial synthesis, not verified results." : "non-evidence: the worker exhausted its tool-call cap before a final synthesis was captured."
|
|
97
|
+
);
|
|
98
|
+
} else if (failedRun) {
|
|
99
|
+
notices.push(
|
|
100
|
+
"non-evidence: this run did not succeed; treat the text above as an unsubstantiated report, not results."
|
|
101
|
+
);
|
|
102
|
+
}
|
|
103
|
+
if (receipt.toolActivity !== void 0 && receipt.toolActivity.succeeded === 0) {
|
|
104
|
+
notices.push("non-evidence: no tool call succeeded in this run; the text above was written without observed work.");
|
|
105
|
+
} else if (receipt.toolActivity?.mutatingSucceeded === false && isMutationClassRun(receipt, verification)) {
|
|
106
|
+
notices.push(
|
|
107
|
+
"non-evidence: this run was dispatched as work that changes the tree, but no mutating tool call succeeded. Nothing was written. Confirm with a diff before repeating any claim that something was fixed."
|
|
108
|
+
);
|
|
109
|
+
}
|
|
110
|
+
const grounding = receipt.validationGrounding;
|
|
111
|
+
if (grounding !== void 0 && grounding.ungrounded.length > 0) {
|
|
112
|
+
const named = grounding.ungrounded.map((name) => JSON.stringify(name)).join(", ");
|
|
113
|
+
notices.push(
|
|
114
|
+
grounding.basis === "no-command-executed" ? `non-evidence: this run reported ${named} as passing and executed no command at all. Re-run the check yourself before repeating the claim.` : `non-evidence: this run reported ${named} as passing through a command the harness cannot identify as that check. Re-run it before repeating the claim.`
|
|
115
|
+
);
|
|
116
|
+
}
|
|
117
|
+
if (receipt.capabilityMismatch !== void 0) {
|
|
118
|
+
notices.push(
|
|
119
|
+
`non-evidence: '${receipt.capabilityMismatch.agentId}' is a ${receipt.capabilityMismatch.capabilityClass} recipe and cannot write to the workspace, but this task classified as ${receipt.capabilityMismatch.taskType}. Nothing it reports as changed can have been changed by it.`
|
|
120
|
+
);
|
|
121
|
+
}
|
|
122
|
+
if (!failedRun && verification.state === "not_applicable" && answerText.length > 0 && !hasSourceCitation(answerText)) {
|
|
123
|
+
notices.push(
|
|
124
|
+
"non-evidence: this reconnaissance answer cites no file:line locations; treat its leads as unconfirmed."
|
|
125
|
+
);
|
|
126
|
+
}
|
|
127
|
+
return notices;
|
|
128
|
+
}
|
|
129
|
+
|
|
130
|
+
export {
|
|
131
|
+
SPOT_CHECK_GUIDANCE,
|
|
132
|
+
receiptEvidenceLabels,
|
|
133
|
+
workerTextLabel,
|
|
134
|
+
workerTextNonEvidenceNotices
|
|
135
|
+
};
|
|
136
|
+
//# sourceMappingURL=chunk-6N5PTWMY.js.map
|