@iowarp/clio-coder 0.3.3 → 0.3.6
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 +74 -0
- package/CONTRIBUTING.md +7 -7
- package/README.md +3 -3
- package/dist/{acp-P2AQILE2.js → acp-2BEHC4DL.js} +9 -8
- package/dist/{agents-72W3BI7I.js → agents-LNNFTM53.js} +29 -24
- package/dist/assets/codewiki.json +1 -1
- package/dist/{auth-5TWEIYDN.js → auth-KXXFI2VS.js} +14 -10
- package/dist/{chunk-GGXXDWE4.js → chunk-22NAGB7X.js} +2 -2
- package/dist/{chunk-YCWGATWI.js → chunk-24I7BN55.js} +2 -2
- package/dist/{chunk-EKMEHE4H.js → chunk-33YXPOE3.js} +2 -3
- package/dist/chunk-3BPUFZDL.js +37 -0
- package/dist/chunk-43AOLP7E.js +375 -0
- package/dist/{chunk-ZDOOVTXZ.js → chunk-4OC57DA6.js} +27 -4
- package/dist/{chunk-6SGHMWE3.js → chunk-5JGRAMKL.js} +5 -5
- package/dist/{chunk-V6RTAOC2.js → chunk-6US73PDB.js} +572 -51
- package/dist/{chunk-5UFT4SUX.js → chunk-6XXKFVSN.js} +3 -3
- package/dist/{chunk-A3CYT5EX.js → chunk-AD2SYQYC.js} +55 -2
- package/dist/chunk-AOCYTWAV.js +449 -0
- package/dist/chunk-CFGTUFWB.js +67 -0
- package/dist/chunk-CJUB2JJ2.js +1478 -0
- package/dist/{chunk-FNTMWMX5.js → chunk-CKXWIANG.js} +14 -12
- package/dist/{chunk-PIWWS5BL.js → chunk-CYQKWTG3.js} +63 -78
- package/dist/{chunk-LZSJBIVT.js → chunk-DJVECN66.js} +271 -762
- package/dist/{chunk-CBCAPZAA.js → chunk-E25LMLRW.js} +2 -2
- package/dist/{chunk-ZWMF7253.js → chunk-E2ER4LJF.js} +304 -9
- package/dist/{chunk-STBPMHSX.js → chunk-EKY57CSP.js} +51 -84
- package/dist/{chunk-DUYJ5IO6.js → chunk-EYPA3EGJ.js} +12 -4
- package/dist/{chunk-M6SHUN7Q.js → chunk-FO5ZOVUY.js} +2 -2
- package/dist/chunk-FYYLNIL5.js +313 -0
- package/dist/{chunk-OQ33BKR3.js → chunk-G7MUEIGA.js} +3 -60
- package/dist/chunk-GEYXPTRF.js +613 -0
- package/dist/chunk-GOXNB3AO.js +261 -0
- package/dist/{chunk-G4BMMOKF.js → chunk-HVDIIIQW.js} +2 -2
- package/dist/chunk-HWUFFB6L.js +83 -0
- package/dist/{chunk-4XUGQOHA.js → chunk-K7T3E2SR.js} +15 -8
- package/dist/chunk-K7VKOLQQ.js +15 -0
- package/dist/{chunk-UFIIWP2H.js → chunk-KHSFENX2.js} +8 -8
- package/dist/{chunk-BMEMKKIT.js → chunk-KOHPCX4K.js} +2 -2
- package/dist/chunk-LCGCVYZ4.js +57 -0
- package/dist/chunk-LL4KHSZI.js +22 -0
- package/dist/{chunk-PAJK6MAQ.js → chunk-LYF7OHWH.js} +42 -15
- package/dist/{chunk-POHLU5DW.js → chunk-M6L6IDJG.js} +3 -3
- package/dist/{chunk-5UUP6MWO.js → chunk-MV3K5QF2.js} +5 -436
- package/dist/{chunk-X4RCMKVQ.js → chunk-NDINPTJ4.js} +2 -2
- package/dist/{chunk-TZK7PACC.js → chunk-NILBFAPG.js} +14 -8
- package/dist/chunk-ODFEOB4F.js +1082 -0
- package/dist/{chunk-AGYYIBLL.js → chunk-OH3TOQTB.js} +6 -2
- package/dist/chunk-OZNBF4L3.js +23 -0
- package/dist/{chunk-DSELYM6W.js → chunk-PBTHKCPN.js} +30 -10
- package/dist/{verify-375KUB3Y.js → chunk-PCZJO5TI.js} +127 -42
- package/dist/{chunk-ED4KHGC3.js → chunk-PPAMZ32Z.js} +9 -2
- package/dist/{chunk-SRDMMSEP.js → chunk-QM3F2GKX.js} +1063 -1645
- package/dist/{chunk-X6IAEBZR.js → chunk-QNQHSOLF.js} +7 -7
- package/dist/{chunk-OC7FIQPC.js → chunk-R46L2BIR.js} +10 -7
- package/dist/{chunk-2TLUCQVG.js → chunk-RD5U66HV.js} +3 -3
- package/dist/{chunk-6N5PTWMY.js → chunk-RY3LY4J5.js} +50 -13
- package/dist/{chunk-OKGUZO2U.js → chunk-SPULKLCF.js} +4 -3
- package/dist/{chunk-OOJYHWRB.js → chunk-TSHXZTOQ.js} +6 -5
- package/dist/chunk-TZSKNMZG.js +434 -0
- package/dist/{chunk-7MNJORFF.js → chunk-UL3WSD3F.js} +6 -1
- package/dist/{chunk-VJWL6YS5.js → chunk-UUVG37B4.js} +2 -2
- package/dist/{chunk-COU2UHX6.js → chunk-VEZEGCGW.js} +170 -2
- package/dist/chunk-W6GROXXM.js +69 -0
- package/dist/{chunk-OAO4GE4M.js → chunk-WHGPSPT5.js} +2 -2
- package/dist/chunk-WHJYKASB.js +677 -0
- package/dist/{chunk-ORBHGJC5.js → chunk-WR67VIZY.js} +3 -3
- package/dist/{chunk-YHZX5GEU.js → chunk-XAKHZX5N.js} +2 -2
- package/dist/{chunk-TZTZS7QK.js → chunk-XE2VEJHX.js} +5 -3
- package/dist/{chunk-LM5TQCJZ.js → chunk-XF5N4U5A.js} +8 -7
- package/dist/{chunk-LWLEKMDQ.js → chunk-XXQNGV4M.js} +1073 -552
- package/dist/{chunk-KZWTDYJF.js → chunk-XYDYPRZI.js} +7 -7
- package/dist/chunk-ZGVHUX3M.js +66 -0
- package/dist/{chunk-LW6DSM3M.js → chunk-ZRGEBJ4T.js} +1192 -1119
- package/dist/{chunk-2DJ2KNFG.js → chunk-ZXF4XRKW.js} +202 -40
- package/dist/chunk-ZZMN5OM4.js +122 -0
- package/dist/cli/index.js +34 -30
- package/dist/{clio-JOU4FXVA.js → clio-M2KGYUFZ.js} +7 -6
- package/dist/{code-nav-7AX6FYE6.js → code-nav-GQNL7XA6.js} +8 -6
- package/dist/codewiki/build-worker.js +4 -4
- package/dist/{components-KELWS457.js → components-5TTYYX6G.js} +3 -3
- package/dist/{config-XCDVKR23.js → config-XUUYQIWO.js} +47 -35
- package/dist/{configure-4GAP54ZW.js → configure-IHJ7YOMV.js} +18 -15
- package/dist/{context-77FM5DV5.js → context-74JLXAWD.js} +18 -10
- package/dist/{context-4UOGGLQ5.js → context-75MIWW3U.js} +41 -29
- package/dist/{context-5VKGUVJJ.js → context-ZQ7SIFJV.js} +85 -9
- package/dist/{context-clear-XXJRLCJJ.js → context-clear-GYKWNUML.js} +41 -29
- package/dist/{context-index-BZ4UYMTC.js → context-index-SSR5ECNE.js} +3 -3
- package/dist/context-working-set-UX5KEP4J.js +1553 -0
- package/dist/{dispatch-runner-QPRDDBDX.js → dispatch-runner-GIJBHNFL.js} +47 -32
- package/dist/{docs-2C2LTVT2.js → docs-6FZSCG5B.js} +3 -3
- package/dist/{doctor-HR46URBJ.js → doctor-SVJ5BZCW.js} +12 -12
- package/dist/{eval-XSSNATB4.js → eval-CG6LLBLD.js} +54 -238
- package/dist/{evidence-6HG2PY2B.js → evidence-ZYFIEN42.js} +57 -28
- package/dist/{evolve-K7YU3NCY.js → evolve-QGEXEMDW.js} +36 -25
- package/dist/{extensions-QVDOHDGJ.js → extensions-ADGNCJJD.js} +3 -3
- package/dist/{fleet-VY3HHKN6.js → fleet-S5R4ZOQY.js} +73 -44
- package/dist/{fleet-preflight-DDN536IT.js → fleet-preflight-BHSNPBMH.js} +3 -3
- package/dist/{init-JYGXI3FK.js → init-5DRU55YR.js} +49 -37
- package/dist/memory-7YKKR6UC.js +467 -0
- package/dist/{models-I5QWSEOM.js → models-ZPOLRU2C.js} +24 -21
- package/dist/{monitor-GE4ID3IA.js → monitor-US5F5YGZ.js} +73 -46
- package/dist/{orchestrator-EM5MC3HM.js → orchestrator-E2AL4T5N.js} +1624 -1007
- package/dist/{paths-UXLN5YYZ.js → paths-E7KYAQWE.js} +3 -3
- package/dist/{reset-L2FQEE3E.js → reset-KZ652EK6.js} +6 -5
- package/dist/{run-ZU3QMZPZ.js → run-SRNBKDWD.js} +76 -54
- package/dist/{share-S5BZQC5I.js → share-CGZE33UP.js} +7 -6
- package/dist/{skills-X5VXCRNQ.js → skills-S2X4DLY5.js} +4 -4
- package/dist/{skills-eval-WKIHWTHR.js → skills-eval-W2GGIC4R.js} +40 -29
- package/dist/{targets-SNCPI2NR.js → targets-54SWINWB.js} +28 -23
- package/dist/{terminal-lease-BNAHVHBS.js → terminal-lease-SAIF2OGY.js} +6 -4
- package/dist/{uninstall-FZCQCDKC.js → uninstall-BVLWXKBT.js} +3 -3
- package/dist/{upgrade-JQHHPQ4K.js → upgrade-JKAR27XC.js} +20 -19
- package/dist/{usage-OR4O5SMZ.js → usage-MSAWCLX4.js} +79 -36
- package/dist/verifiers-NCBTHHN2.js +1220 -0
- package/dist/verify-X5HDROLA.js +25 -0
- package/dist/{wiki-generate-UEXP2ARI.js → wiki-generate-GUSOQ6ZP.js} +50 -37
- package/dist/worker/entry.js +90 -70
- package/dist/{workspace-G4ZWUIPR.js → workspace-ZJ6BFM3Q.js} +4 -4
- package/docs/README.md +8 -7
- package/docs/acp.md +1 -1
- package/docs/alcf-provider.md +1 -1
- package/docs/architecture.md +2 -2
- package/docs/artifact-placement.md +1 -2
- 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 +60 -26
- package/docs/config-knobs-audit.md +1 -2
- package/docs/configuration-and-targets.md +26 -1
- package/docs/context-engine.md +67 -13
- package/docs/context-working-set.md +194 -0
- package/docs/development-pipeline.md +1 -1
- package/docs/documentation-coverage.md +6 -6
- package/docs/documentation-guide.md +7 -6
- package/docs/environment-variables.md +2 -1
- package/docs/eval-runner.md +1 -1
- package/docs/evals-internal.md +4 -32
- package/docs/evidence-and-memory.md +139 -7
- package/docs/evolution.md +1 -1
- package/docs/exit-codes-and-output.md +1 -1
- package/docs/extensions-and-sharing.md +2 -2
- package/docs/fleet-dispatch.md +49 -8
- package/docs/glossary.md +21 -1
- package/docs/installation-and-lifecycle.md +2 -2
- package/docs/middleware-and-components.md +19 -2
- package/docs/model-catalog.md +7 -9
- package/docs/observability.md +4 -4
- package/docs/proactive-memory.md +26 -16
- package/docs/prompt-envelope-and-tools.md +7 -5
- package/docs/provider-adapter-cookbook.md +1 -1
- package/docs/release-cut-checklist.md +43 -40
- package/docs/safety-model.md +49 -8
- package/docs/scientific-validation.md +21 -3
- package/docs/session-lifecycle.md +3 -3
- package/docs/skills-marketplace.md +1 -1
- package/docs/tool-usage.md +79 -12
- package/docs/trace-store.md +1 -1
- package/docs/troubleshooting.md +1 -1
- package/docs/tui-design.md +38 -4
- package/docs/worker-dispatch-mechanics.md +11 -1
- package/package.json +13 -13
- package/skills/meta/clio-test/SKILL.md +20 -17
- package/skills/meta/clio-test/evals.md +3 -3
- package/skills/meta/clio-test/references/harness.md +35 -6
- package/skills/meta/clio-test/references/test-map.md +20 -10
- package/skills/registry.yaml +2 -2
- package/skills/skill-marketplace.json +1 -1
- package/src/cli/agents.ts +2 -3
- package/src/cli/argv.ts +14 -1
- package/src/cli/context-working-set.ts +513 -0
- package/src/cli/context.ts +8 -0
- package/src/cli/evidence.ts +20 -2
- package/src/cli/fleet.ts +15 -0
- package/src/cli/index.ts +5 -1
- package/src/cli/memory.ts +272 -10
- package/src/cli/modes/json-stream.ts +2 -2
- package/src/cli/modes/print.ts +12 -1
- package/src/cli/run.ts +22 -2
- package/src/cli/targets.ts +12 -3
- package/src/cli/usage.ts +55 -7
- package/src/cli/verifiers.ts +325 -0
- package/src/core/bash-exec.ts +39 -14
- package/src/core/bus-events.ts +22 -4
- package/src/core/config.ts +54 -0
- package/src/core/defaults.ts +50 -3
- package/src/core/response-model-id.ts +134 -0
- package/src/core/toml.ts +62 -0
- package/src/core/verification-scripts.ts +6 -0
- package/src/core/workspace-files.ts +0 -1
- package/src/domains/agents/builtins/architect.md +1 -1
- package/src/domains/agents/builtins/verifier.md +3 -0
- package/src/domains/agents/catalog.ts +5 -4
- package/src/domains/agents/recipe.ts +54 -14
- package/src/domains/agents/result-contract.ts +7 -4
- package/src/domains/config/classify.ts +1 -0
- package/src/domains/context/bootstrap.ts +36 -27
- package/src/domains/context/project-metadata.ts +19 -63
- package/src/domains/context/prompt-context.ts +8 -0
- package/src/domains/context/working-set/contract.ts +161 -0
- package/src/domains/context/working-set/defaults.ts +28 -0
- package/src/domains/context/working-set/engine.ts +203 -0
- package/src/domains/context/working-set/fold.ts +62 -0
- package/src/domains/context/working-set/horizon.ts +38 -0
- package/src/domains/context/working-set/marker.ts +103 -0
- package/src/domains/context/working-set/path-index.ts +436 -0
- package/src/domains/context/working-set/payload.ts +152 -0
- package/src/domains/context/working-set/policies/age-horizon.ts +55 -0
- package/src/domains/context/working-set/policies/index.ts +20 -0
- package/src/domains/context/working-set/policies/structural.ts +160 -0
- package/src/domains/context/working-set/project.ts +132 -0
- package/src/domains/context/working-set/protect.ts +109 -0
- package/src/domains/context/working-set/recall.ts +177 -0
- package/src/domains/context/working-set/replay/controls.ts +112 -0
- package/src/domains/context/working-set/replay/load-clio.ts +199 -0
- package/src/domains/context/working-set/replay/metrics.ts +185 -0
- package/src/domains/context/working-set/replay/reference-graph.ts +79 -0
- package/src/domains/context/working-set/replay/report.ts +139 -0
- package/src/domains/context/working-set/replay/runner.ts +325 -0
- package/src/domains/context/working-set/replay/synthetic.ts +422 -0
- package/src/domains/context/working-set/replay/trace.ts +21 -0
- package/src/domains/context/working-set/visible.ts +54 -0
- package/src/domains/dispatch/budget-envelope.ts +396 -0
- package/src/domains/dispatch/contract.ts +2 -0
- package/src/domains/dispatch/extension.ts +81 -27
- package/src/domains/dispatch/orphan-recovery.ts +1 -0
- package/src/domains/dispatch/receipt-integrity.ts +4 -0
- package/src/domains/dispatch/state.ts +1 -0
- package/src/domains/dispatch/types.ts +10 -3
- package/src/domains/dispatch/validation.ts +14 -0
- package/src/domains/dispatch/worker-spawn.ts +14 -3
- package/src/domains/eval/metrics/evidence.ts +0 -116
- package/src/domains/eval/metrics/invariants.ts +1 -1
- package/src/domains/eval/runners/clio-run.ts +1 -10
- package/src/domains/eval/runners/external-command.ts +2 -29
- package/src/domains/eval/schema/suite.ts +0 -7
- package/src/domains/eval/suites/run.ts +1 -7
- package/src/domains/evidence/build.ts +112 -45
- package/src/domains/evidence/eval.ts +24 -7
- package/src/domains/evidence/index.ts +53 -0
- package/src/domains/evidence/ordering.ts +12 -0
- package/src/domains/evidence/run-trust.ts +221 -0
- package/src/domains/evidence/store.ts +46 -6
- package/src/domains/evidence/trust-status.ts +854 -0
- package/src/domains/evidence/types.ts +26 -0
- package/src/domains/memory/index.ts +22 -0
- package/src/domains/memory/operations.ts +58 -1
- package/src/domains/memory/promotion.ts +281 -0
- package/src/domains/memory/prompt-section.ts +25 -5
- package/src/domains/memory/proposal.ts +51 -7
- package/src/domains/memory/task-bank.ts +3 -2
- package/src/domains/memory/task-memory-handoff.ts +181 -24
- package/src/domains/memory/task-memory-policy.ts +3 -1
- package/src/domains/memory/types.ts +37 -0
- package/src/domains/memory/validate.ts +178 -0
- package/src/domains/middleware/memory-intervention.ts +38 -25
- package/src/domains/middleware/runtime.ts +6 -0
- package/src/domains/middleware/skills-reminder.ts +19 -4
- package/src/domains/middleware/stalled-turn.ts +208 -5
- package/src/domains/middleware/types.ts +10 -0
- package/src/domains/observability/contract.ts +6 -1
- package/src/domains/observability/cost.ts +20 -4
- package/src/domains/observability/extension.ts +2 -2
- package/src/domains/providers/index.ts +3 -0
- package/src/domains/providers/model-discovery.ts +9 -0
- package/src/domains/providers/runtime-resolution.ts +38 -1
- package/src/domains/providers/runtimes/common/probe-helpers.ts +97 -16
- package/src/domains/providers/types/context-window-slots.ts +18 -0
- package/src/domains/providers/types/runtime-descriptor.ts +3 -1
- package/src/domains/safety/autonomy.ts +1 -1
- package/src/domains/safety/call-target.ts +211 -14
- package/src/domains/safety/decision-presentation.ts +268 -0
- package/src/domains/safety/default-path-policy.ts +8 -0
- package/src/domains/safety/finish-contract.ts +4 -3
- package/src/domains/safety/policy-engine.ts +48 -6
- package/src/domains/safety/redaction.ts +73 -0
- package/src/domains/session/compaction/compact.ts +23 -1
- package/src/domains/session/compaction/cut-point.ts +2 -0
- package/src/domains/session/compaction/tokens.ts +16 -1
- package/src/domains/session/context-ledger.ts +12 -1
- package/src/domains/session/decision-board.ts +4 -0
- package/src/domains/session/entries.ts +110 -1
- package/src/domains/session/history.ts +68 -19
- package/src/domains/session/manager.ts +9 -2
- package/src/domains/session/migrations/index.ts +22 -3
- package/src/domains/session/usage.ts +24 -7
- package/src/engine/acp/event-mapper.ts +7 -0
- package/src/engine/acp/server.ts +32 -2
- package/src/engine/agent.ts +18 -1
- package/src/engine/apis/lmstudio.ts +25 -4
- package/src/engine/apis/openai-completions.ts +147 -22
- package/src/engine/claude/sdk-runtime.ts +8 -2
- package/src/engine/claude/tool-safety.ts +13 -0
- package/src/engine/loop-guard.ts +27 -3
- package/src/engine/session.ts +9 -3
- package/src/engine/worker-events.ts +4 -3
- package/src/engine/worker-runtime.ts +59 -54
- package/src/entry/orchestrator.ts +34 -5
- package/src/interactive/chat-loop-messages.ts +40 -6
- package/src/interactive/chat-loop.ts +13 -0
- package/src/interactive/chat-panel.ts +17 -1
- package/src/interactive/chat-renderer.ts +49 -24
- package/src/interactive/clio-editor.ts +44 -7
- package/src/interactive/context-meter.ts +10 -0
- package/src/interactive/context-overlay.ts +120 -7
- package/src/interactive/context-recall-command.ts +110 -0
- package/src/interactive/cost-overlay.ts +39 -8
- package/src/interactive/dispatch-board.ts +212 -35
- package/src/interactive/footer/widgets.ts +13 -0
- package/src/interactive/interactive-application.ts +6 -1
- package/src/interactive/interactive-input-runtime.ts +11 -1
- package/src/interactive/interactive-presentation.ts +11 -1
- package/src/interactive/interactive-slash-runtime.ts +37 -1
- package/src/interactive/memory-overlay.ts +89 -4
- package/src/interactive/model-session-replay.ts +21 -0
- package/src/interactive/overlay-ask-user-lifecycle.ts +1 -1
- package/src/interactive/overlay-frame.ts +5 -2
- package/src/interactive/overlay-general-openers.ts +46 -1
- package/src/interactive/overlay-key-routing.ts +41 -1
- package/src/interactive/overlay-lifecycle.ts +11 -4
- package/src/interactive/overlay-permission-lifecycle.ts +23 -8
- package/src/interactive/overlay-session-lifecycle.ts +8 -4
- package/src/interactive/overlay-transitions.ts +11 -0
- package/src/interactive/overlays/ask-user.ts +74 -30
- package/src/interactive/overlays/decisions.ts +3 -1
- package/src/interactive/permission-hint.ts +35 -0
- package/src/interactive/permission-overlay.ts +95 -45
- package/src/interactive/renderers/tool-execution.ts +37 -51
- package/src/interactive/session-last-turn.ts +8 -1
- package/src/interactive/session-transcript.ts +2 -2
- package/src/interactive/session-usage-reseed.ts +36 -10
- package/src/interactive/slash-commands.ts +31 -4
- package/src/interactive/status/summary.ts +5 -0
- package/src/interactive/status/types.ts +5 -0
- package/src/interactive/terminal-lease.ts +1 -0
- package/src/interactive/turn-context.ts +333 -110
- package/src/interactive/turn-middleware.ts +7 -6
- package/src/interactive/turn-runtime.ts +37 -8
- package/src/interactive/turn-state.ts +3 -0
- package/src/interactive/worker-progress.ts +440 -0
- package/src/interactive/worker-stream.ts +51 -110
- package/src/tools/agent-tools.ts +39 -7
- package/src/tools/ask-user.ts +21 -1
- package/src/tools/bash.ts +144 -82
- package/src/tools/builtin-tool-catalog.ts +11 -5
- package/src/tools/context/index.ts +107 -5
- package/src/tools/context/surface.ts +3 -2
- package/src/tools/core-bootstrap.ts +21 -0
- package/src/tools/dispatch-arguments.ts +8 -0
- package/src/tools/dispatch-event-text.ts +19 -0
- package/src/tools/dispatch-runner.ts +9 -7
- package/src/tools/dispatch.ts +24 -1
- package/src/tools/monitor.ts +43 -20
- package/src/tools/registry.ts +72 -10
- package/src/tools/result-disposition.ts +706 -0
- package/src/tools/result-shaping.ts +321 -20
- package/src/tools/safe-exec.ts +2 -0
- package/src/tools/verify/authoring.ts +1120 -0
- package/src/tools/verify/catalog.ts +346 -0
- package/src/tools/verify/index.ts +13 -3
- package/src/tools/verify/scripts.ts +135 -37
- package/src/tools/verify/surface.ts +9 -5
- package/src/tools/worker-evidence.ts +54 -12
- package/src/worker/spec-contract.ts +43 -3
- package/dist/chunk-J7CWMCQD.js +0 -255
- package/dist/chunk-T6YILFSB.js +0 -80
- package/dist/chunk-VAKQQHWR.js +0 -434
- package/dist/chunk-VPAYEGVX.js +0 -184
- package/dist/chunk-XBXAASKX.js +0 -18
- package/dist/memory-WFZMGYHX.js +0 -236
- package/src/domains/eval/metrics/chaos-stream.ts +0 -93
|
@@ -4,7 +4,7 @@ import {
|
|
|
4
4
|
isExecutionRole,
|
|
5
5
|
isRouteDecisionAgentSelection,
|
|
6
6
|
isRoutingIntent
|
|
7
|
-
} from "./chunk-
|
|
7
|
+
} from "./chunk-22NAGB7X.js";
|
|
8
8
|
import {
|
|
9
9
|
assertSafeId
|
|
10
10
|
} from "./chunk-R346GLFC.js";
|
|
@@ -79,6 +79,8 @@ var RECEIPT_INTEGRITY_FIELD_COVERAGE = {
|
|
|
79
79
|
agentAudience: true,
|
|
80
80
|
requestOrigin: true,
|
|
81
81
|
task: true,
|
|
82
|
+
// Historical receipts omit this field, so their receipt and ledger payloads remain unchanged.
|
|
83
|
+
budget: true,
|
|
82
84
|
targetId: true,
|
|
83
85
|
wireModelId: true,
|
|
84
86
|
runtimeId: true,
|
|
@@ -175,6 +177,7 @@ function ledgerDigestFields(envelope) {
|
|
|
175
177
|
agentId: envelope.agentId,
|
|
176
178
|
executionRole: envelope.executionRole,
|
|
177
179
|
task: envelope.task,
|
|
180
|
+
...envelope.budget !== void 0 ? { budget: envelope.budget } : {},
|
|
178
181
|
targetId: envelope.targetId,
|
|
179
182
|
wireModelId: envelope.wireModelId,
|
|
180
183
|
runtimeId: envelope.runtimeId,
|
|
@@ -303,6 +306,7 @@ function firstLedgerMismatch(receipt, envelope) {
|
|
|
303
306
|
if (!Object.is(receiptValue, ledgerValue)) return field;
|
|
304
307
|
}
|
|
305
308
|
if (canonicalJson(receipt.briefing ?? null) !== canonicalJson(envelope.briefing ?? null)) return "briefing";
|
|
309
|
+
if (canonicalJson(receipt.budget ?? null) !== canonicalJson(envelope.budget ?? null)) return "budget";
|
|
306
310
|
if (canonicalJson(receipt.steering ?? null) !== canonicalJson(envelope.steering ?? null)) return "steering";
|
|
307
311
|
return null;
|
|
308
312
|
}
|
|
@@ -1066,4 +1070,4 @@ export {
|
|
|
1066
1070
|
loadEvalTaskFile,
|
|
1067
1071
|
EvalTaskFileError
|
|
1068
1072
|
};
|
|
1069
|
-
//# sourceMappingURL=chunk-
|
|
1073
|
+
//# sourceMappingURL=chunk-OH3TOQTB.js.map
|
|
@@ -0,0 +1,23 @@
|
|
|
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/engine/truncate.ts
|
|
7
|
+
init_esm_shims();
|
|
8
|
+
import {
|
|
9
|
+
formatSize,
|
|
10
|
+
GREP_MAX_LINE_LENGTH,
|
|
11
|
+
truncateHead,
|
|
12
|
+
truncateLine,
|
|
13
|
+
truncateTail
|
|
14
|
+
} from "@earendil-works/pi-agent-core";
|
|
15
|
+
|
|
16
|
+
export {
|
|
17
|
+
formatSize,
|
|
18
|
+
GREP_MAX_LINE_LENGTH,
|
|
19
|
+
truncateHead,
|
|
20
|
+
truncateLine,
|
|
21
|
+
truncateTail
|
|
22
|
+
};
|
|
23
|
+
//# sourceMappingURL=chunk-OZNBF4L3.js.map
|
|
@@ -2,17 +2,22 @@ import { createRequire as __clioCreateRequire } from "node:module"; const requir
|
|
|
2
2
|
import {
|
|
3
3
|
canonicalJson,
|
|
4
4
|
sha256
|
|
5
|
-
} from "./chunk-
|
|
5
|
+
} from "./chunk-QM3F2GKX.js";
|
|
6
|
+
import {
|
|
7
|
+
addResponseModelIdObservationCount,
|
|
8
|
+
emptyResponseModelIdObservationCounts,
|
|
9
|
+
responseModelIdObservationFromRecord
|
|
10
|
+
} from "./chunk-CJUB2JJ2.js";
|
|
6
11
|
import {
|
|
7
12
|
ToolNames
|
|
8
13
|
} from "./chunk-CGKSTWHD.js";
|
|
14
|
+
import {
|
|
15
|
+
settingsPath
|
|
16
|
+
} from "./chunk-AD2SYQYC.js";
|
|
9
17
|
import {
|
|
10
18
|
ceilChars,
|
|
11
19
|
extractReasoningTokens
|
|
12
|
-
} from "./chunk-
|
|
13
|
-
import {
|
|
14
|
-
settingsPath
|
|
15
|
-
} from "./chunk-A3CYT5EX.js";
|
|
20
|
+
} from "./chunk-GEYXPTRF.js";
|
|
16
21
|
import {
|
|
17
22
|
expandConfigPath
|
|
18
23
|
} from "./chunk-SST6Z5JA.js";
|
|
@@ -304,6 +309,7 @@ function createAskUserToolPolicy(activeTools) {
|
|
|
304
309
|
status: "idle",
|
|
305
310
|
startedAt: now,
|
|
306
311
|
updatedAt: now,
|
|
312
|
+
exposure: "local",
|
|
307
313
|
rounds: [],
|
|
308
314
|
decisions: [],
|
|
309
315
|
inFlight: false,
|
|
@@ -325,14 +331,21 @@ function sumRunUsage(messages) {
|
|
|
325
331
|
reasoning: 0,
|
|
326
332
|
apiCalls: 0,
|
|
327
333
|
hadReasoning: false,
|
|
328
|
-
hadUsage: false
|
|
334
|
+
hadUsage: false,
|
|
335
|
+
responseModelIdObservationCounts: emptyResponseModelIdObservationCounts(),
|
|
336
|
+
lastResponseModelIdObservation: { state: "not-observed" },
|
|
337
|
+
lastDifferingResponseModelId: null
|
|
329
338
|
};
|
|
330
339
|
for (const raw of messages) {
|
|
331
340
|
const message = raw;
|
|
332
341
|
if (!message || typeof message !== "object") continue;
|
|
333
342
|
if (message.role !== "assistant") continue;
|
|
343
|
+
const record = message;
|
|
334
344
|
const usage = message.usage;
|
|
335
345
|
if (!usage || typeof usage !== "object") continue;
|
|
346
|
+
summary.lastResponseModelIdObservation = responseModelIdObservationFromRecord(record, "not-observed");
|
|
347
|
+
addResponseModelIdObservationCount(summary.responseModelIdObservationCounts, summary.lastResponseModelIdObservation);
|
|
348
|
+
summary.lastDifferingResponseModelId = typeof record.responseModel === "string" && record.responseModel.trim().length > 0 ? record.responseModel.trim() : null;
|
|
336
349
|
summary.hadUsage = true;
|
|
337
350
|
summary.apiCalls += 1;
|
|
338
351
|
const input = typeof usage.input === "number" ? usage.input : 0;
|
|
@@ -369,6 +382,7 @@ function assistantSessionPayload(message, failure) {
|
|
|
369
382
|
const raw = message;
|
|
370
383
|
if (Array.isArray(raw.content)) payload.content = raw.content;
|
|
371
384
|
if (thinking.length > 0) payload.thinking = thinking;
|
|
385
|
+
payload.responseModelIdObservation = responseModelIdObservationFromRecord(raw, "not-observed");
|
|
372
386
|
for (const key of ["usage", "api", "provider", "model", "responseModel", "responseId", "diagnostics"]) {
|
|
373
387
|
if (raw[key] !== void 0) payload[key] = raw[key];
|
|
374
388
|
}
|
|
@@ -431,12 +445,18 @@ function toolResultSummary(result2) {
|
|
|
431
445
|
const bytes = Buffer.byteLength(text, "utf8");
|
|
432
446
|
const details = recordValue(obj?.details);
|
|
433
447
|
const size = recordValue(details?.resultSize);
|
|
448
|
+
const disposition = recordValue(details?.resultDisposition);
|
|
434
449
|
const truncation = recordValue(details?.truncation);
|
|
435
450
|
const observation = recordValue(details?.observation);
|
|
436
|
-
const offloadPath = typeof observation?.offloadPath === "string" ? observation.offloadPath : typeof size?.offloadPath === "string" ? size.offloadPath : null;
|
|
451
|
+
const offloadPath = typeof disposition?.offloadPath === "string" ? disposition.offloadPath : typeof observation?.offloadPath === "string" ? observation.offloadPath : typeof size?.offloadPath === "string" ? size.offloadPath : null;
|
|
452
|
+
const displayedBytes = typeof disposition?.displayedBytes === "number" && Number.isFinite(disposition.displayedBytes) ? disposition.displayedBytes : bytes;
|
|
437
453
|
return {
|
|
438
|
-
bytes,
|
|
439
|
-
truncated: size?.truncated === true || truncation?.truncated === true || observation?.truncated === true || text.includes("[tool result truncated]"),
|
|
454
|
+
bytes: displayedBytes,
|
|
455
|
+
truncated: disposition?.presentationTruncated === true || size?.truncated === true || truncation?.truncated === true || observation?.truncated === true || text.includes("[tool result truncated]"),
|
|
456
|
+
...typeof disposition?.capturedBytes === "number" ? { capturedBytes: disposition.capturedBytes } : {},
|
|
457
|
+
...typeof disposition?.displayedBytes === "number" ? { displayedBytes: disposition.displayedBytes } : {},
|
|
458
|
+
...typeof disposition?.contextBytes === "number" ? { contextBytes: disposition.contextBytes } : {},
|
|
459
|
+
...disposition?.contextTruncated === true ? { contextTruncated: true } : {},
|
|
440
460
|
...typeof size?.policy === "string" ? { policy: size.policy } : {},
|
|
441
461
|
...typeof size?.followUpHint === "string" ? { followUpHint: size.followUpHint } : {},
|
|
442
462
|
...offloadPath !== null ? { offloadPath } : {},
|
|
@@ -1074,4 +1094,4 @@ export {
|
|
|
1074
1094
|
readFileArgsAsync,
|
|
1075
1095
|
expandInlineFileReferencesAsync
|
|
1076
1096
|
};
|
|
1077
|
-
//# sourceMappingURL=chunk-
|
|
1097
|
+
//# sourceMappingURL=chunk-PBTHKCPN.js.map
|
|
@@ -6,35 +6,32 @@ import {
|
|
|
6
6
|
runVectorTool,
|
|
7
7
|
timeoutArg,
|
|
8
8
|
verifyToolSurface
|
|
9
|
-
} from "./chunk-
|
|
9
|
+
} from "./chunk-NILBFAPG.js";
|
|
10
|
+
import {
|
|
11
|
+
PROJECT_VERIFIER_CATALOG_RELATIVE_PATH,
|
|
12
|
+
loadProjectVerifierCatalog,
|
|
13
|
+
packageDeclaredCheck,
|
|
14
|
+
resolveProjectVerifierExecutionCwd
|
|
15
|
+
} from "./chunk-FYYLNIL5.js";
|
|
10
16
|
import {
|
|
11
17
|
VERIFICATION_SCRIPT_FAMILY_HINT,
|
|
12
18
|
declaredVerificationScripts,
|
|
13
19
|
isVerificationScriptName
|
|
14
|
-
} from "./chunk-
|
|
20
|
+
} from "./chunk-UL3WSD3F.js";
|
|
15
21
|
import {
|
|
16
22
|
escapeRegExp
|
|
17
23
|
} from "./chunk-VG7TBQIY.js";
|
|
18
24
|
import {
|
|
19
25
|
resolveReadPath
|
|
20
26
|
} from "./chunk-OQE5J4C6.js";
|
|
21
|
-
import "./chunk-ECH6PKUQ.js";
|
|
22
27
|
import {
|
|
23
28
|
truncateUtf8
|
|
24
29
|
} from "./chunk-6XLNIQDB.js";
|
|
25
|
-
import "./chunk-5B2AEOW5.js";
|
|
26
|
-
import "./chunk-CGKSTWHD.js";
|
|
27
30
|
import {
|
|
28
31
|
combineSafeOutput,
|
|
29
32
|
resolveSafeCwd,
|
|
30
33
|
runCommandVector
|
|
31
|
-
} from "./chunk-
|
|
32
|
-
import "./chunk-COU2UHX6.js";
|
|
33
|
-
import "./chunk-FQ4SKYE4.js";
|
|
34
|
-
import "./chunk-FCSXB6T2.js";
|
|
35
|
-
import "./chunk-YXLYO42X.js";
|
|
36
|
-
import "./chunk-BNAZZHFG.js";
|
|
37
|
-
import "./chunk-6EJMN2Y3.js";
|
|
34
|
+
} from "./chunk-VEZEGCGW.js";
|
|
38
35
|
import {
|
|
39
36
|
init_esm_shims
|
|
40
37
|
} from "./chunk-3R73A4XB.js";
|
|
@@ -616,51 +613,133 @@ function lineAt(text, index) {
|
|
|
616
613
|
init_esm_shims();
|
|
617
614
|
import { existsSync as existsSync2, readFileSync as readFileSync2 } from "node:fs";
|
|
618
615
|
import path2 from "node:path";
|
|
619
|
-
function
|
|
620
|
-
const
|
|
621
|
-
|
|
622
|
-
const pkg = parsePackageJson(pkgPath);
|
|
623
|
-
if (!pkg.ok) return [];
|
|
624
|
-
return [{ kind: "package.json", path: pkgPath, checks: declaredVerificationScripts(pkg.scripts) }];
|
|
616
|
+
function repositoryRelativeCwd(workspaceRoot, resolved) {
|
|
617
|
+
const relative = path2.relative(workspaceRoot, resolved);
|
|
618
|
+
return relative.length === 0 ? "." : relative.split(path2.sep).join("/");
|
|
625
619
|
}
|
|
626
|
-
function
|
|
627
|
-
|
|
628
|
-
|
|
629
|
-
|
|
630
|
-
|
|
631
|
-
|
|
620
|
+
function packageTag(id) {
|
|
621
|
+
const separator = id.search(/[:.-]/u);
|
|
622
|
+
return [separator === -1 ? id : id.slice(0, separator)];
|
|
623
|
+
}
|
|
624
|
+
function packageCheckSource(packageRoot, workspaceRoot) {
|
|
625
|
+
const packagePath = path2.join(packageRoot, "package.json");
|
|
626
|
+
if (!existsSync2(packagePath)) return null;
|
|
627
|
+
const pkg = parsePackageJson(packagePath);
|
|
628
|
+
if (!pkg.ok) return null;
|
|
629
|
+
const cwd = repositoryRelativeCwd(workspaceRoot, packageRoot);
|
|
630
|
+
const checks = declaredVerificationScripts(pkg.scripts).map(
|
|
631
|
+
(id) => packageDeclaredCheck(id, packagePath, cwd, packageTag(id))
|
|
632
|
+
);
|
|
633
|
+
return { kind: "package.json", path: packagePath, checks };
|
|
634
|
+
}
|
|
635
|
+
function providerCollision(sources) {
|
|
636
|
+
const seen = /* @__PURE__ */ new Map();
|
|
637
|
+
for (const source of sources) {
|
|
638
|
+
for (const check of source.checks) {
|
|
639
|
+
const prior = seen.get(check.id);
|
|
640
|
+
if (prior !== void 0) {
|
|
641
|
+
return `duplicate declared check id '${check.id}' from ${prior.source.kind} (${prior.source.path}) and ${check.source.kind} (${check.source.path})`;
|
|
642
|
+
}
|
|
643
|
+
seen.set(check.id, check);
|
|
644
|
+
}
|
|
632
645
|
}
|
|
633
|
-
|
|
646
|
+
return null;
|
|
647
|
+
}
|
|
648
|
+
function discoverDeclaredChecksAtRoot(workspaceRoot, cwdArg) {
|
|
649
|
+
let packageRoot;
|
|
650
|
+
try {
|
|
651
|
+
packageRoot = resolveSafeCwd(cwdArg, workspaceRoot);
|
|
652
|
+
} catch (error) {
|
|
653
|
+
return { ok: false, reason: error instanceof Error ? error.message : String(error) };
|
|
654
|
+
}
|
|
655
|
+
const sources = [];
|
|
656
|
+
const packageSource = packageCheckSource(packageRoot, workspaceRoot);
|
|
657
|
+
if (packageSource !== null) sources.push(packageSource);
|
|
658
|
+
const projectCatalog = loadProjectVerifierCatalog(workspaceRoot);
|
|
659
|
+
if (!projectCatalog.ok) return projectCatalog;
|
|
660
|
+
if (projectCatalog.source !== null) sources.push(projectCatalog.source);
|
|
661
|
+
const collision = providerCollision(sources);
|
|
662
|
+
if (collision !== null) return { ok: false, reason: collision };
|
|
663
|
+
return { ok: true, sources };
|
|
664
|
+
}
|
|
665
|
+
function discoverDeclaredChecks(cwdArg) {
|
|
666
|
+
return discoverDeclaredChecksAtRoot(process.cwd(), cwdArg);
|
|
667
|
+
}
|
|
668
|
+
function clonedSources(sources) {
|
|
669
|
+
return sources.map((source) => ({
|
|
670
|
+
kind: source.kind,
|
|
671
|
+
path: source.path,
|
|
672
|
+
checks: source.checks.map((check) => ({
|
|
673
|
+
...check,
|
|
674
|
+
command: [...check.command],
|
|
675
|
+
tags: [...check.tags],
|
|
676
|
+
source: { ...check.source }
|
|
677
|
+
}))
|
|
678
|
+
}));
|
|
679
|
+
}
|
|
680
|
+
function listChecks(cwdArg) {
|
|
681
|
+
const discovery = discoverDeclaredChecks(cwdArg);
|
|
682
|
+
if (!discovery.ok) return { kind: "error", message: `verify: ${discovery.reason}` };
|
|
634
683
|
const lines = [];
|
|
635
|
-
if (sources.length === 0 || sources.every((source) => source.checks.length === 0)) {
|
|
636
|
-
lines.push(
|
|
684
|
+
if (discovery.sources.length === 0 || discovery.sources.every((source) => source.checks.length === 0)) {
|
|
685
|
+
lines.push(
|
|
686
|
+
`No declared verification checks found (no package.json verification scripts or ${PROJECT_VERIFIER_CATALOG_RELATIVE_PATH} entries).`,
|
|
687
|
+
"Run `clio-coder verifiers author` to inspect declared project tooling, preview exact argv checks, and create the catalog after confirmation."
|
|
688
|
+
);
|
|
637
689
|
} else {
|
|
638
690
|
lines.push("Declared verification checks:");
|
|
639
|
-
for (const source of sources) {
|
|
640
|
-
lines.push(
|
|
641
|
-
for (const check of source.checks)
|
|
691
|
+
for (const source of discovery.sources) {
|
|
692
|
+
lines.push(source.kind === "package.json" ? "package.json:" : `${PROJECT_VERIFIER_CATALOG_RELATIVE_PATH}:`);
|
|
693
|
+
for (const check of source.checks) {
|
|
694
|
+
const tags = check.tags.length > 0 ? ` [${check.tags.join(", ")}]` : "";
|
|
695
|
+
lines.push(`- ${check.id}${tags}: ${check.description}`);
|
|
696
|
+
}
|
|
642
697
|
}
|
|
643
698
|
}
|
|
644
699
|
lines.push(
|
|
645
700
|
"",
|
|
646
|
-
'Run one with verify(check="<
|
|
701
|
+
'Run one with verify(check="<id>"). verify(check="frontend", path=<file>) validates an HTML/CSS/JS artifact.'
|
|
647
702
|
);
|
|
648
703
|
return {
|
|
649
704
|
kind: "ok",
|
|
650
705
|
output: lines.join("\n"),
|
|
651
|
-
details: { sources: sources
|
|
706
|
+
details: { sources: clonedSources(discovery.sources) }
|
|
707
|
+
};
|
|
708
|
+
}
|
|
709
|
+
function withDeclaredEvidence(result, check) {
|
|
710
|
+
return {
|
|
711
|
+
...result,
|
|
712
|
+
details: {
|
|
713
|
+
...result.details,
|
|
714
|
+
action: "verify",
|
|
715
|
+
check: check.id,
|
|
716
|
+
source: { ...check.source },
|
|
717
|
+
description: check.description,
|
|
718
|
+
declaredCommand: [...check.command],
|
|
719
|
+
declaredCwd: check.cwd,
|
|
720
|
+
declaredTimeoutMs: check.timeoutMs,
|
|
721
|
+
tags: [...check.tags]
|
|
722
|
+
}
|
|
652
723
|
};
|
|
653
724
|
}
|
|
725
|
+
async function runProjectCheck(check, options) {
|
|
726
|
+
const [file, ...vector] = check.command;
|
|
727
|
+
if (file === void 0) return { kind: "error", message: `verify: declared check '${check.id}' has empty argv` };
|
|
728
|
+
const cwd = resolveProjectVerifierExecutionCwd(check.cwd, process.cwd());
|
|
729
|
+
if (cwd instanceof Error) return { kind: "error", message: `verify: ${cwd.message}` };
|
|
730
|
+
const result = await runVectorTool("verify", file, vector, { cwd, timeout_ms: check.timeoutMs }, options);
|
|
731
|
+
return withDeclaredEvidence(result, check);
|
|
732
|
+
}
|
|
654
733
|
async function runScriptCheck(check, args, options) {
|
|
655
734
|
let cwd;
|
|
656
735
|
try {
|
|
657
736
|
cwd = resolveSafeCwd(typeof args.cwd === "string" && args.cwd.length > 0 ? args.cwd : void 0, process.cwd());
|
|
658
|
-
} catch (
|
|
659
|
-
return { kind: "error", message: `verify: ${
|
|
737
|
+
} catch (error) {
|
|
738
|
+
return { kind: "error", message: `verify: ${error instanceof Error ? error.message : String(error)}` };
|
|
660
739
|
}
|
|
661
|
-
const
|
|
662
|
-
if (!existsSync2(
|
|
663
|
-
const pkg = parsePackageJson(
|
|
740
|
+
const packagePath = path2.join(cwd, "package.json");
|
|
741
|
+
if (!existsSync2(packagePath)) return { kind: "error", message: `verify: package.json not found in ${cwd}` };
|
|
742
|
+
const pkg = parsePackageJson(packagePath);
|
|
664
743
|
if (!pkg.ok) return { kind: "error", message: `verify: ${pkg.reason}` };
|
|
665
744
|
if (!Object.hasOwn(pkg.scripts, check)) {
|
|
666
745
|
const declared = declaredVerificationScripts(pkg.scripts);
|
|
@@ -675,9 +754,9 @@ async function runScriptCheck(check, args, options) {
|
|
|
675
754
|
if (extraArgs.length > 0) vector.push("--", ...extraArgs);
|
|
676
755
|
return runVectorTool("verify", "npm", vector, { ...args, cwd }, options);
|
|
677
756
|
}
|
|
678
|
-
function parsePackageJson(
|
|
757
|
+
function parsePackageJson(packagePath) {
|
|
679
758
|
try {
|
|
680
|
-
const parsed = JSON.parse(readFileSync2(
|
|
759
|
+
const parsed = JSON.parse(readFileSync2(packagePath, "utf8"));
|
|
681
760
|
if (!parsed || typeof parsed !== "object" || Array.isArray(parsed)) {
|
|
682
761
|
return { ok: false, reason: "package.json root must be an object" };
|
|
683
762
|
}
|
|
@@ -686,8 +765,8 @@ function parsePackageJson(pkgPath) {
|
|
|
686
765
|
return { ok: false, reason: "package.json has no scripts object" };
|
|
687
766
|
}
|
|
688
767
|
return { ok: true, scripts };
|
|
689
|
-
} catch (
|
|
690
|
-
return { ok: false, reason:
|
|
768
|
+
} catch (error) {
|
|
769
|
+
return { ok: false, reason: error instanceof Error ? error.message : String(error) };
|
|
691
770
|
}
|
|
692
771
|
}
|
|
693
772
|
|
|
@@ -701,6 +780,10 @@ var verifyTool = {
|
|
|
701
780
|
return listChecks(typeof args.cwd === "string" && args.cwd.length > 0 ? args.cwd : void 0);
|
|
702
781
|
}
|
|
703
782
|
if (check === "frontend") return runFrontendCheck(args, options);
|
|
783
|
+
const discovery = discoverDeclaredChecks(typeof args.cwd === "string" && args.cwd.length > 0 ? args.cwd : void 0);
|
|
784
|
+
if (!discovery.ok) return { kind: "error", message: `verify: ${discovery.reason}` };
|
|
785
|
+
const declared = discovery.sources.flatMap((source) => source.checks).find((candidate) => candidate.id === check);
|
|
786
|
+
if (declared?.source.kind === "project-catalog") return runProjectCheck(declared, options);
|
|
704
787
|
if (!isVerificationScriptName(check)) {
|
|
705
788
|
return {
|
|
706
789
|
kind: "error",
|
|
@@ -710,7 +793,9 @@ var verifyTool = {
|
|
|
710
793
|
return runScriptCheck(check, args, options);
|
|
711
794
|
}
|
|
712
795
|
};
|
|
796
|
+
|
|
713
797
|
export {
|
|
798
|
+
discoverDeclaredChecksAtRoot,
|
|
714
799
|
verifyTool
|
|
715
800
|
};
|
|
716
|
-
//# sourceMappingURL=
|
|
801
|
+
//# sourceMappingURL=chunk-PCZJO5TI.js.map
|
|
@@ -65,6 +65,13 @@ function globalFlagPositionHint(arg, command) {
|
|
|
65
65
|
if (usage === void 0) return null;
|
|
66
66
|
return `${arg} is a global option and must come before the subcommand: clio-coder ${usage} ${command} ...`;
|
|
67
67
|
}
|
|
68
|
+
function unknownGlobalOptionError(arg) {
|
|
69
|
+
const bare = arg.replace(/=.*$/u, "");
|
|
70
|
+
if (bare === "--resume" || bare === "--continue" || bare === "-r" || bare === "-c") {
|
|
71
|
+
return `unknown global option: ${arg}. Sessions are resumed from inside the app: start clio-coder, then type /resume to pick one.`;
|
|
72
|
+
}
|
|
73
|
+
return `unknown global option: ${arg}`;
|
|
74
|
+
}
|
|
68
75
|
function extractGlobalFlags(argv, isSubcommand = () => false) {
|
|
69
76
|
const rest = [];
|
|
70
77
|
let apiKey;
|
|
@@ -116,7 +123,7 @@ function extractGlobalFlags(argv, isSubcommand = () => false) {
|
|
|
116
123
|
noSkills,
|
|
117
124
|
skillPaths,
|
|
118
125
|
rest,
|
|
119
|
-
error:
|
|
126
|
+
error: unknownGlobalOptionError(arg),
|
|
120
127
|
...apiKey === void 0 ? {} : { apiKey }
|
|
121
128
|
};
|
|
122
129
|
}
|
|
@@ -140,4 +147,4 @@ export {
|
|
|
140
147
|
globalFlagPositionHint,
|
|
141
148
|
extractGlobalFlags
|
|
142
149
|
};
|
|
143
|
-
//# sourceMappingURL=chunk-
|
|
150
|
+
//# sourceMappingURL=chunk-PPAMZ32Z.js.map
|