voratiq 0.1.0-beta.2 → 0.1.0-beta.21
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/README.md +41 -29
- package/dist/agents/launch/chat.d.ts +23 -0
- package/dist/agents/launch/chat.js +44 -0
- package/dist/agents/launch/environment.d.ts +8 -0
- package/dist/{commands/run/agents/workspace-prep.js → agents/launch/environment.js} +5 -27
- package/dist/agents/launch/prompt.d.ts +6 -0
- package/dist/agents/launch/prompt.js +12 -0
- package/dist/agents/launch/provider-state.d.ts +39 -0
- package/dist/agents/launch/provider-state.js +103 -0
- package/dist/agents/runtime/auth.d.ts +27 -0
- package/dist/agents/runtime/auth.js +72 -0
- package/dist/agents/runtime/chat.d.ts +5 -0
- package/dist/agents/runtime/chat.js +7 -0
- package/dist/agents/runtime/errors.d.ts +27 -0
- package/dist/agents/runtime/errors.js +51 -0
- package/dist/{commands/run/agents → agents/runtime}/failures.d.ts +0 -1
- package/dist/agents/runtime/failures.js +136 -0
- package/dist/agents/runtime/harness.d.ts +2 -0
- package/dist/agents/runtime/harness.js +119 -0
- package/dist/{commands/run/agents/sandbox-launcher.d.ts → agents/runtime/launcher.d.ts} +18 -6
- package/dist/{commands/run/agents/sandbox-launcher.js → agents/runtime/launcher.js} +17 -39
- package/dist/{commands/run/agents/workspace-prep.d.ts → agents/runtime/manifest.d.ts} +6 -6
- package/dist/agents/runtime/manifest.js +34 -0
- package/dist/agents/runtime/policy.d.ts +32 -0
- package/dist/agents/runtime/policy.js +240 -0
- package/dist/agents/runtime/registry.d.ts +4 -0
- package/dist/agents/runtime/registry.js +54 -0
- package/dist/{commands/run → agents/runtime}/sandbox.d.ts +8 -2
- package/dist/{commands/run → agents/runtime}/sandbox.js +28 -67
- package/dist/agents/runtime/shim/run-agent-shim.d.ts +1 -0
- package/dist/agents/runtime/shim/run-agent-shim.js +276 -0
- package/dist/agents/runtime/types.d.ts +91 -0
- package/dist/{commands/run/agents → agents/runtime}/watchdog.d.ts +4 -3
- package/dist/{commands/run/agents → agents/runtime}/watchdog.js +155 -26
- package/dist/auth/providers/codex.js +7 -2
- package/dist/auth/providers/gemini.js +14 -6
- package/dist/auth/providers/types.d.ts +1 -0
- package/dist/auth/providers/utils.d.ts +0 -1
- package/dist/auth/providers/utils.js +1 -49
- package/dist/bin.js +369 -71
- package/dist/cli/apply.d.ts +4 -0
- package/dist/cli/apply.js +28 -9
- package/dist/cli/auto.d.ts +32 -0
- package/dist/cli/auto.js +232 -0
- package/dist/cli/contract.d.ts +328 -0
- package/dist/cli/contract.js +480 -0
- package/dist/cli/errors.d.ts +3 -0
- package/dist/cli/errors.js +21 -3
- package/dist/cli/init.d.ts +5 -0
- package/dist/cli/init.js +34 -6
- package/dist/cli/list.d.ts +6 -4
- package/dist/cli/list.js +39 -16
- package/dist/cli/mcp.d.ts +2 -0
- package/dist/cli/mcp.js +16 -0
- package/dist/cli/message.d.ts +28 -0
- package/dist/cli/message.js +147 -0
- package/dist/cli/operator-envelope.d.ts +180 -0
- package/dist/cli/operator-envelope.js +425 -0
- package/dist/cli/output.d.ts +15 -1
- package/dist/cli/output.js +153 -5
- package/dist/cli/prune.d.ts +7 -3
- package/dist/cli/prune.js +57 -12
- package/dist/cli/reduce.d.ts +29 -0
- package/dist/cli/reduce.js +211 -0
- package/dist/cli/root-launcher.d.ts +4 -0
- package/dist/cli/root-launcher.js +15 -0
- package/dist/cli/run.d.ts +27 -1
- package/dist/cli/run.js +108 -16
- package/dist/cli/spec.d.ts +31 -0
- package/dist/cli/spec.js +180 -0
- package/dist/cli/verify.d.ts +35 -0
- package/dist/cli/verify.js +297 -0
- package/dist/commands/apply/command.d.ts +2 -0
- package/dist/commands/apply/command.js +145 -6
- package/dist/commands/apply/errors.d.ts +43 -4
- package/dist/commands/apply/errors.js +100 -22
- package/dist/commands/apply/types.d.ts +2 -1
- package/dist/commands/auto/command.d.ts +145 -0
- package/dist/commands/auto/command.js +433 -0
- package/dist/commands/auto/errors.d.ts +19 -0
- package/dist/commands/auto/errors.js +19 -0
- package/dist/commands/auto/validation.d.ts +14 -0
- package/dist/commands/auto/validation.js +90 -0
- package/dist/commands/fetch.d.ts +2 -2
- package/dist/commands/fetch.js +4 -4
- package/dist/commands/init/agents.d.ts +2 -1
- package/dist/commands/init/agents.js +66 -63
- package/dist/commands/init/command.js +300 -16
- package/dist/commands/init/types.d.ts +18 -7
- package/dist/commands/interactive/lifecycle.d.ts +15 -0
- package/dist/commands/interactive/lifecycle.js +141 -0
- package/dist/commands/list/command.d.ts +10 -3
- package/dist/commands/list/command.js +597 -40
- package/dist/commands/message/command.d.ts +23 -0
- package/dist/commands/message/command.js +215 -0
- package/dist/commands/message/errors.d.ts +9 -0
- package/dist/commands/message/errors.js +20 -0
- package/dist/commands/message/lifecycle.d.ts +14 -0
- package/dist/commands/message/lifecycle.js +128 -0
- package/dist/commands/prune/command.d.ts +2 -1
- package/dist/commands/prune/command.js +61 -10
- package/dist/commands/prune/errors.d.ts +1 -1
- package/dist/commands/prune/errors.js +5 -5
- package/dist/commands/prune/types.d.ts +21 -0
- package/dist/commands/reduce/command.d.ts +26 -0
- package/dist/commands/reduce/command.js +145 -0
- package/dist/commands/reduce/errors.d.ts +17 -0
- package/dist/commands/reduce/errors.js +32 -0
- package/dist/commands/reduce/targets.d.ts +11 -0
- package/dist/commands/reduce/targets.js +271 -0
- package/dist/commands/root-launcher/command.d.ts +31 -0
- package/dist/commands/root-launcher/command.js +233 -0
- package/dist/commands/run/command.d.ts +6 -1
- package/dist/commands/run/command.js +70 -40
- package/dist/commands/run/lifecycle.d.ts +7 -5
- package/dist/commands/run/lifecycle.js +45 -23
- package/dist/commands/run/record-init.d.ts +4 -1
- package/dist/commands/run/record-init.js +5 -2
- package/dist/commands/run/shim/run-agent-shim.d.ts +2 -1
- package/dist/commands/run/shim/run-agent-shim.js +4 -219
- package/dist/commands/run/validation.d.ts +2 -3
- package/dist/commands/run/validation.js +54 -25
- package/dist/commands/shared/max-parallel.d.ts +5 -0
- package/dist/commands/shared/max-parallel.js +15 -0
- package/dist/commands/shared/preview.d.ts +10 -0
- package/dist/commands/shared/preview.js +60 -0
- package/dist/commands/shared/resolve-reduction-competitors.d.ts +15 -0
- package/dist/commands/shared/resolve-reduction-competitors.js +13 -0
- package/dist/commands/shared/resolve-stage-competitors.d.ts +19 -0
- package/dist/commands/shared/resolve-stage-competitors.js +171 -0
- package/dist/commands/shared/session-id.d.ts +1 -0
- package/dist/commands/shared/session-id.js +1 -0
- package/dist/commands/spec/command.d.ts +22 -0
- package/dist/commands/spec/command.js +330 -0
- package/dist/commands/spec/errors.d.ts +11 -0
- package/dist/commands/spec/errors.js +23 -0
- package/dist/commands/verify/agents.d.ts +8 -0
- package/dist/commands/verify/agents.js +29 -0
- package/dist/commands/verify/command.d.ts +23 -0
- package/dist/commands/verify/command.js +168 -0
- package/dist/commands/verify/lifecycle.d.ts +14 -0
- package/dist/commands/verify/lifecycle.js +229 -0
- package/dist/commands/verify/max-parallel.d.ts +7 -0
- package/dist/commands/verify/max-parallel.js +15 -0
- package/dist/commands/verify/targets.d.ts +18 -0
- package/dist/commands/verify/targets.js +420 -0
- package/dist/competition/command-adapter.d.ts +35 -0
- package/dist/competition/command-adapter.js +20 -0
- package/dist/competition/core.d.ts +41 -0
- package/dist/competition/core.js +181 -0
- package/dist/competition/shared/extra-context.d.ts +14 -0
- package/dist/competition/shared/extra-context.js +100 -0
- package/dist/competition/shared/preflight.d.ts +11 -0
- package/dist/competition/shared/preflight.js +39 -0
- package/dist/competition/shared/prompt-helpers.d.ts +16 -0
- package/dist/competition/shared/prompt-helpers.js +27 -0
- package/dist/competition/shared/prune.d.ts +1 -0
- package/dist/competition/shared/prune.js +4 -0
- package/dist/competition/shared/sandbox-policy.d.ts +9 -0
- package/dist/competition/shared/sandbox-policy.js +7 -0
- package/dist/competition/shared/teardown.d.ts +36 -0
- package/dist/competition/shared/teardown.js +101 -0
- package/dist/configs/agents/defaults.d.ts +31 -2
- package/dist/configs/agents/defaults.js +346 -30
- package/dist/configs/agents/errors.js +14 -11
- package/dist/configs/agents/loader.d.ts +11 -1
- package/dist/configs/agents/loader.js +71 -4
- package/dist/configs/agents/types.js +2 -2
- package/dist/configs/environment/detect.js +9 -4
- package/dist/configs/environment/errors.js +4 -4
- package/dist/configs/environment/loader.d.ts +1 -1
- package/dist/configs/environment/loader.js +3 -3
- package/dist/configs/orchestration/bootstrap.d.ts +16 -0
- package/dist/configs/orchestration/bootstrap.js +122 -0
- package/dist/configs/orchestration/errors.d.ts +15 -0
- package/dist/configs/orchestration/errors.js +28 -0
- package/dist/configs/orchestration/loader.d.ts +9 -0
- package/dist/configs/orchestration/loader.js +148 -0
- package/dist/configs/orchestration/types.d.ts +102 -0
- package/dist/configs/orchestration/types.js +65 -0
- package/dist/configs/sandbox/defaults.js +14 -4
- package/dist/configs/sandbox/errors.d.ts +1 -1
- package/dist/configs/sandbox/errors.js +1 -1
- package/dist/configs/sandbox/loader.js +6 -4
- package/dist/configs/sandbox/schemas.js +4 -2
- package/dist/configs/settings/loader.d.ts +7 -0
- package/dist/configs/settings/loader.js +81 -0
- package/dist/configs/settings/types.d.ts +47 -0
- package/dist/configs/settings/types.js +23 -0
- package/dist/configs/verification/errors.d.ts +11 -0
- package/dist/configs/verification/errors.js +21 -0
- package/dist/configs/verification/loader.d.ts +8 -0
- package/dist/configs/verification/loader.js +43 -0
- package/dist/configs/verification/methods.d.ts +35 -0
- package/dist/configs/verification/methods.js +41 -0
- package/dist/configs/verification/programmatic-defaults.d.ts +10 -0
- package/dist/configs/verification/programmatic-defaults.js +42 -0
- package/dist/configs/verification/programmatic-detect.d.ts +10 -0
- package/dist/configs/{evals/detect.js → verification/programmatic-detect.js} +22 -33
- package/dist/configs/verification/types.d.ts +49 -0
- package/dist/configs/verification/types.js +45 -0
- package/dist/contracts/list.d.ts +207 -0
- package/dist/contracts/list.js +154 -0
- package/dist/domain/interactive/model/types.d.ts +104 -0
- package/dist/domain/interactive/model/types.js +83 -0
- package/dist/domain/interactive/persistence/adapter.d.ts +39 -0
- package/dist/domain/interactive/persistence/adapter.js +144 -0
- package/dist/domain/interactive/prompt.d.ts +3 -0
- package/dist/domain/interactive/prompt.js +7 -0
- package/dist/domain/message/competition/adapter.d.ts +36 -0
- package/dist/domain/message/competition/adapter.js +197 -0
- package/dist/domain/message/competition/prompt.d.ts +8 -0
- package/dist/domain/message/competition/prompt.js +29 -0
- package/dist/domain/message/model/mutators.d.ts +17 -0
- package/dist/domain/message/model/mutators.js +107 -0
- package/dist/domain/message/model/types.d.ts +100 -0
- package/dist/domain/message/model/types.js +87 -0
- package/dist/domain/message/persistence/adapter.d.ts +43 -0
- package/dist/domain/message/persistence/adapter.js +124 -0
- package/dist/domain/reduce/competition/adapter.d.ts +42 -0
- package/dist/domain/reduce/competition/adapter.js +826 -0
- package/dist/domain/reduce/competition/output-validation.d.ts +4 -0
- package/dist/domain/reduce/competition/output-validation.js +18 -0
- package/dist/domain/reduce/competition/prompt.d.ts +10 -0
- package/dist/domain/reduce/competition/prompt.js +96 -0
- package/dist/domain/reduce/competition/reduction.d.ts +9 -0
- package/dist/domain/reduce/competition/reduction.js +32 -0
- package/dist/domain/reduce/model/types.d.ts +122 -0
- package/dist/domain/reduce/model/types.js +84 -0
- package/dist/domain/reduce/persistence/adapter.d.ts +43 -0
- package/dist/domain/reduce/persistence/adapter.js +126 -0
- package/dist/domain/run/competition/adapter.d.ts +30 -0
- package/dist/domain/run/competition/adapter.js +39 -0
- package/dist/domain/run/competition/agent-execution.d.ts +20 -0
- package/dist/domain/run/competition/agent-execution.js +45 -0
- package/dist/domain/run/competition/agent-preparation.d.ts +12 -0
- package/dist/domain/run/competition/agent-preparation.js +24 -0
- package/dist/domain/run/competition/agents/artifacts.d.ts +17 -0
- package/dist/domain/run/competition/agents/artifacts.js +173 -0
- package/dist/{commands/run → domain/run/competition}/agents/lifecycle.d.ts +3 -3
- package/dist/{commands/run → domain/run/competition}/agents/lifecycle.js +84 -64
- package/dist/domain/run/competition/agents/post-processing.d.ts +12 -0
- package/dist/domain/run/competition/agents/post-processing.js +4 -0
- package/dist/domain/run/competition/agents/preparation.js +64 -0
- package/dist/{commands/run → domain/run/competition}/agents/run-context.d.ts +9 -16
- package/dist/{commands/run → domain/run/competition}/agents/run-context.js +22 -70
- package/dist/{commands/run → domain/run/competition}/agents/types.d.ts +10 -13
- package/dist/domain/run/competition/agents/workspace.d.ts +21 -0
- package/dist/domain/run/competition/agents/workspace.js +47 -0
- package/dist/{commands/run → domain/run/competition}/errors.d.ts +8 -1
- package/dist/{commands/run → domain/run/competition}/errors.js +39 -9
- package/dist/{commands/run → domain/run/competition}/phases.d.ts +1 -2
- package/dist/domain/run/competition/phases.js +1 -0
- package/dist/domain/run/competition/prompt.d.ts +7 -0
- package/dist/domain/run/competition/prompt.js +27 -0
- package/dist/{commands/run → domain/run/competition}/reports.d.ts +5 -3
- package/dist/{commands/run → domain/run/competition}/reports.js +7 -19
- package/dist/domain/run/competition/termination-state.d.ts +4 -0
- package/dist/domain/run/competition/termination-state.js +12 -0
- package/dist/{records → domain/run/model}/enhanced.d.ts +6 -7
- package/dist/{records → domain/run/model}/enhanced.js +11 -11
- package/dist/{records → domain/run/model}/errors.d.ts +1 -1
- package/dist/{records → domain/run/model}/errors.js +5 -5
- package/dist/{records → domain/run/model}/mutators.d.ts +4 -3
- package/dist/{records → domain/run/model}/mutators.js +58 -36
- package/dist/domain/run/model/types.d.ts +376 -0
- package/dist/domain/run/model/types.js +192 -0
- package/dist/{records/persistence.d.ts → domain/run/persistence/adapter.d.ts} +9 -3
- package/dist/domain/run/persistence/adapter.js +340 -0
- package/dist/domain/run/persistence/error-mapping.d.ts +2 -0
- package/dist/domain/run/persistence/error-mapping.js +17 -0
- package/dist/domain/shared/lifecycle.d.ts +54 -0
- package/dist/domain/shared/lifecycle.js +165 -0
- package/dist/domain/shared/token-usage.d.ts +21 -0
- package/dist/domain/shared/token-usage.js +38 -0
- package/dist/domain/spec/competition/adapter.d.ts +31 -0
- package/dist/domain/spec/competition/adapter.js +196 -0
- package/dist/domain/spec/competition/prompt.d.ts +11 -0
- package/dist/domain/spec/competition/prompt.js +44 -0
- package/dist/domain/spec/model/output.d.ts +13 -0
- package/dist/domain/spec/model/output.js +36 -0
- package/dist/domain/spec/model/types.d.ts +98 -0
- package/dist/domain/spec/model/types.js +84 -0
- package/dist/domain/spec/persistence/adapter.d.ts +51 -0
- package/dist/domain/spec/persistence/adapter.js +140 -0
- package/dist/domain/verify/blinding/aliases.d.ts +7 -0
- package/dist/domain/verify/blinding/aliases.js +23 -0
- package/dist/domain/verify/competition/adapter.d.ts +54 -0
- package/dist/domain/verify/competition/adapter.js +444 -0
- package/dist/domain/verify/competition/artifacts.d.ts +6 -0
- package/dist/domain/verify/competition/artifacts.js +7 -0
- package/dist/domain/verify/competition/blinding.d.ts +24 -0
- package/dist/domain/verify/competition/blinding.js +109 -0
- package/dist/domain/verify/competition/finalize.d.ts +11 -0
- package/dist/domain/verify/competition/finalize.js +65 -0
- package/dist/domain/verify/competition/programmatic.d.ts +15 -0
- package/dist/domain/verify/competition/programmatic.js +352 -0
- package/dist/domain/verify/competition/prompt.d.ts +19 -0
- package/dist/domain/verify/competition/prompt.js +63 -0
- package/dist/domain/verify/competition/rubric.d.ts +23 -0
- package/dist/domain/verify/competition/rubric.js +77 -0
- package/dist/domain/verify/competition/shared-layout.d.ts +121 -0
- package/dist/domain/verify/competition/shared-layout.js +365 -0
- package/dist/domain/verify/competition/target.d.ts +47 -0
- package/dist/domain/verify/competition/target.js +1 -0
- package/dist/domain/verify/model/mutators.d.ts +16 -0
- package/dist/domain/verify/model/mutators.js +126 -0
- package/dist/domain/verify/model/types.d.ts +408 -0
- package/dist/domain/verify/model/types.js +289 -0
- package/dist/domain/verify/persistence/adapter.d.ts +43 -0
- package/dist/domain/verify/persistence/adapter.js +126 -0
- package/dist/domain/verify/programmatic/runner.d.ts +22 -0
- package/dist/domain/verify/programmatic/runner.js +209 -0
- package/dist/domain/verify/rubric-result.d.ts +28 -0
- package/dist/domain/verify/rubric-result.js +121 -0
- package/dist/extra-context/contract.d.ts +17 -0
- package/dist/extra-context/contract.js +60 -0
- package/dist/interactive/index.d.ts +2 -0
- package/dist/interactive/index.js +1 -0
- package/dist/interactive/providers/launch.d.ts +23 -0
- package/dist/interactive/providers/launch.js +203 -0
- package/dist/interactive/providers/mcp.d.ts +13 -0
- package/dist/interactive/providers/mcp.js +547 -0
- package/dist/interactive/providers/shared.d.ts +2 -0
- package/dist/interactive/providers/shared.js +1 -0
- package/dist/interactive/providers.d.ts +3 -0
- package/dist/interactive/providers.js +3 -0
- package/dist/interactive/records.d.ts +2 -0
- package/dist/interactive/records.js +1 -0
- package/dist/interactive/substrate.d.ts +21 -0
- package/dist/interactive/substrate.js +522 -0
- package/dist/interactive/types.d.ts +101 -0
- package/dist/interactive/types.js +1 -0
- package/dist/mcp/server.d.ts +88 -0
- package/dist/mcp/server.js +790 -0
- package/dist/persistence/error-mapping.d.ts +19 -0
- package/dist/persistence/error-mapping.js +44 -0
- package/dist/persistence/errors.d.ts +26 -0
- package/dist/persistence/errors.js +49 -0
- package/dist/persistence/extra-context.d.ts +9 -0
- package/dist/persistence/extra-context.js +60 -0
- package/dist/{records → persistence}/history-lock.js +2 -2
- package/dist/persistence/record-path-schema.d.ts +3 -0
- package/dist/persistence/record-path-schema.js +16 -0
- package/dist/persistence/session-store.d.ts +92 -0
- package/dist/persistence/session-store.js +412 -0
- package/dist/policy/auto.d.ts +13 -0
- package/dist/policy/auto.js +22 -0
- package/dist/policy/index.d.ts +5 -0
- package/dist/policy/index.js +5 -0
- package/dist/policy/resolution.d.ts +6 -0
- package/dist/policy/resolution.js +23 -0
- package/dist/policy/result.d.ts +53 -0
- package/dist/policy/result.js +15 -0
- package/dist/policy/selector.d.ts +11 -0
- package/dist/policy/selector.js +57 -0
- package/dist/policy/verification.d.ts +77 -0
- package/dist/policy/verification.js +365 -0
- package/dist/policy/verifier-selection.d.ts +13 -0
- package/dist/policy/verifier-selection.js +78 -0
- package/dist/preflight/branch.d.ts +9 -0
- package/dist/preflight/branch.js +48 -0
- package/dist/preflight/errors.d.ts +3 -0
- package/dist/preflight/errors.js +10 -3
- package/dist/preflight/index.d.ts +13 -0
- package/dist/preflight/index.js +43 -8
- package/dist/render/interactions/confirmation.js +4 -2
- package/dist/render/transcripts/apply.js +9 -10
- package/dist/render/transcripts/auto.d.ts +27 -0
- package/dist/render/transcripts/auto.js +21 -0
- package/dist/render/transcripts/init.d.ts +4 -15
- package/dist/render/transcripts/init.js +71 -72
- package/dist/render/transcripts/list.d.ts +10 -1
- package/dist/render/transcripts/list.js +121 -15
- package/dist/render/transcripts/message.d.ts +72 -0
- package/dist/render/transcripts/message.js +362 -0
- package/dist/render/transcripts/prune.d.ts +7 -2
- package/dist/render/transcripts/prune.js +64 -17
- package/dist/render/transcripts/reduce.d.ts +74 -0
- package/dist/render/transcripts/reduce.js +395 -0
- package/dist/render/transcripts/root-launcher.d.ts +19 -0
- package/dist/render/transcripts/root-launcher.js +40 -0
- package/dist/render/transcripts/run.d.ts +35 -6
- package/dist/render/transcripts/run.js +241 -165
- package/dist/render/transcripts/shared.d.ts +2 -0
- package/dist/render/transcripts/shared.js +11 -4
- package/dist/render/transcripts/spec.d.ts +74 -0
- package/dist/render/transcripts/spec.js +394 -0
- package/dist/render/transcripts/stage-progress.d.ts +22 -0
- package/dist/render/transcripts/stage-progress.js +6 -0
- package/dist/render/transcripts/update-check.d.ts +2 -0
- package/dist/render/transcripts/update-check.js +22 -0
- package/dist/render/transcripts/verify.d.ts +74 -0
- package/dist/render/transcripts/verify.js +409 -0
- package/dist/render/utils/agents.d.ts +10 -9
- package/dist/render/utils/agents.js +30 -82
- package/dist/render/utils/badges.d.ts +3 -20
- package/dist/render/utils/badges.js +3 -36
- package/dist/render/utils/duration.d.ts +12 -0
- package/dist/render/utils/duration.js +37 -0
- package/dist/render/utils/interactive-frame.d.ts +6 -0
- package/dist/render/utils/interactive-frame.js +38 -0
- package/dist/render/utils/records.js +4 -4
- package/dist/render/utils/runs.d.ts +3 -9
- package/dist/render/utils/runs.js +16 -48
- package/dist/render/utils/stage-output.d.ts +20 -0
- package/dist/render/utils/stage-output.js +44 -0
- package/dist/render/utils/timezone.d.ts +2 -0
- package/dist/render/utils/timezone.js +42 -0
- package/dist/render/utils/transcript-shell.d.ts +66 -0
- package/dist/render/utils/transcript-shell.js +155 -0
- package/dist/render/utils/transcript.d.ts +7 -1
- package/dist/render/utils/transcript.js +12 -2
- package/dist/render/utils/wrap.d.ts +1 -0
- package/dist/render/utils/wrap.js +20 -0
- package/dist/status/colors.d.ts +2 -3
- package/dist/status/colors.js +3 -3
- package/dist/status/index.d.ts +108 -8
- package/dist/status/index.js +164 -5
- package/dist/update-check/checker.d.ts +24 -0
- package/dist/update-check/checker.js +130 -0
- package/dist/update-check/prompt.d.ts +25 -0
- package/dist/update-check/prompt.js +62 -0
- package/dist/update-check/semver.d.ts +17 -0
- package/dist/update-check/semver.js +36 -0
- package/dist/update-check/state-path.d.ts +8 -0
- package/dist/update-check/state-path.js +18 -0
- package/dist/utils/binaries.js +14 -8
- package/dist/utils/errors.d.ts +3 -1
- package/dist/utils/errors.js +3 -1
- package/dist/utils/git.d.ts +10 -0
- package/dist/utils/git.js +15 -3
- package/dist/utils/output.d.ts +5 -1
- package/dist/utils/output.js +4 -2
- package/dist/utils/process.d.ts +2 -1
- package/dist/utils/process.js +7 -3
- package/dist/utils/session-id.d.ts +1 -0
- package/dist/utils/session-id.js +22 -0
- package/dist/utils/slug.d.ts +2 -0
- package/dist/utils/slug.js +15 -0
- package/dist/utils/voratiq-cli-target.d.ts +9 -0
- package/dist/utils/voratiq-cli-target.js +58 -0
- package/dist/workspace/agents.d.ts +13 -16
- package/dist/workspace/agents.js +22 -147
- package/dist/workspace/chat/artifacts.d.ts +9 -0
- package/dist/workspace/chat/artifacts.js +82 -12
- package/dist/workspace/chat/native-usage.d.ts +13 -0
- package/dist/workspace/chat/native-usage.js +60 -0
- package/dist/workspace/chat/sources.d.ts +9 -5
- package/dist/workspace/chat/sources.js +89 -23
- package/dist/workspace/chat/token-usage-result.d.ts +23 -0
- package/dist/workspace/chat/token-usage-result.js +7 -0
- package/dist/workspace/chat/usage-extractor.d.ts +30 -0
- package/dist/workspace/chat/usage-extractor.js +461 -0
- package/dist/workspace/chat/usage-mappings.d.ts +20 -0
- package/dist/workspace/chat/usage-mappings.js +136 -0
- package/dist/workspace/credential-guard.js +1 -1
- package/dist/workspace/dependencies.js +4 -4
- package/dist/workspace/errors.d.ts +5 -0
- package/dist/workspace/errors.js +13 -3
- package/dist/workspace/layout.d.ts +17 -6
- package/dist/workspace/layout.js +51 -32
- package/dist/workspace/promotion.d.ts +32 -0
- package/dist/workspace/promotion.js +34 -0
- package/dist/workspace/prune.d.ts +1 -1
- package/dist/workspace/run.d.ts +1 -3
- package/dist/workspace/run.js +6 -15
- package/dist/workspace/setup.d.ts +8 -0
- package/dist/workspace/setup.js +359 -56
- package/dist/workspace/shim.js +1 -1
- package/dist/workspace/structure.d.ts +91 -26
- package/dist/workspace/structure.js +227 -43
- package/dist/workspace/templates.d.ts +9 -3
- package/dist/workspace/templates.js +26 -15
- package/dist/workspace/verification-defaults.d.ts +12 -0
- package/dist/workspace/verification-defaults.js +1017 -0
- package/package.json +30 -24
- package/dist/cli/review.d.ts +0 -12
- package/dist/cli/review.js +0 -33
- package/dist/commands/errors.d.ts +0 -4
- package/dist/commands/errors.js +0 -7
- package/dist/commands/init/evals.d.ts +0 -4
- package/dist/commands/init/evals.js +0 -219
- package/dist/commands/review/command.d.ts +0 -10
- package/dist/commands/review/command.js +0 -26
- package/dist/commands/run/agent-execution.d.ts +0 -19
- package/dist/commands/run/agent-execution.js +0 -63
- package/dist/commands/run/agents/auth-stage.d.ts +0 -23
- package/dist/commands/run/agents/auth-stage.js +0 -108
- package/dist/commands/run/agents/chat-preserver.d.ts +0 -9
- package/dist/commands/run/agents/chat-preserver.js +0 -35
- package/dist/commands/run/agents/eval-runner.d.ts +0 -19
- package/dist/commands/run/agents/eval-runner.js +0 -27
- package/dist/commands/run/agents/failures.js +0 -32
- package/dist/commands/run/agents/preparation.js +0 -123
- package/dist/commands/run/agents.d.ts +0 -14
- package/dist/commands/run/agents.js +0 -47
- package/dist/commands/run/prompts.d.ts +0 -4
- package/dist/commands/run/prompts.js +0 -16
- package/dist/commands/run/sandbox-registry.d.ts +0 -4
- package/dist/commands/run/sandbox-registry.js +0 -54
- package/dist/configs/evals/defaults.d.ts +0 -8
- package/dist/configs/evals/defaults.js +0 -28
- package/dist/configs/evals/detect.d.ts +0 -10
- package/dist/configs/evals/errors.d.ts +0 -16
- package/dist/configs/evals/errors.js +0 -29
- package/dist/configs/evals/loader.d.ts +0 -9
- package/dist/configs/evals/loader.js +0 -46
- package/dist/configs/evals/types.d.ts +0 -42
- package/dist/configs/evals/types.js +0 -74
- package/dist/evals/runner.d.ts +0 -16
- package/dist/evals/runner.js +0 -132
- package/dist/records/persistence.js +0 -469
- package/dist/records/types.d.ts +0 -255
- package/dist/records/types.js +0 -160
- package/dist/render/transcripts/review.d.ts +0 -2
- package/dist/render/transcripts/review.js +0 -36
- /package/dist/{commands/run → agents/runtime}/shim/agent-manifest.d.ts +0 -0
- /package/dist/{commands/run → agents/runtime}/shim/agent-manifest.js +0 -0
- /package/dist/{commands/run → agents/runtime/shim}/argv.d.ts +0 -0
- /package/dist/{commands/run → agents/runtime/shim}/argv.js +0 -0
- /package/dist/{commands/run/agents → agents/runtime}/types.js +0 -0
- /package/dist/{commands/run → domain/run/competition}/agents/preparation.d.ts +0 -0
- /package/dist/{commands/run/phases.js → domain/run/competition/agents/types.js} +0 -0
- /package/dist/{commands/run → domain/run/model}/id.d.ts +0 -0
- /package/dist/{commands/run → domain/run/model}/id.js +0 -0
- /package/dist/{records → persistence}/history-lock.d.ts +0 -0
|
@@ -1,20 +1,29 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
1
|
+
import { readFile } from "node:fs/promises";
|
|
2
|
+
import { buildRunRecordEnhanced } from "../../domain/run/model/enhanced.js";
|
|
3
|
+
import { rewriteRunRecord } from "../../domain/run/persistence/adapter.js";
|
|
4
|
+
import { readVerificationRecords } from "../../domain/verify/persistence/adapter.js";
|
|
5
|
+
import { buildVerificationSelectorSource, deriveSelectorSelectionDecision, loadVerificationSelectionPolicyOutput, } from "../../policy/index.js";
|
|
3
6
|
import { toErrorMessage } from "../../utils/errors.js";
|
|
4
7
|
import { ensureFileExists } from "../../utils/fs.js";
|
|
5
8
|
import { getGitStderr, getHeadRevision, runGitCommand, } from "../../utils/git.js";
|
|
6
9
|
import { resolveDisplayPath } from "../../utils/path.js";
|
|
7
10
|
import { fetchRunSafely } from "../fetch.js";
|
|
8
|
-
import { ApplyAgentDiffMissingOnDiskError, ApplyAgentDiffNotRecordedError, ApplyAgentNotFoundError, ApplyBaseMismatchError, ApplyPatchApplicationError,
|
|
11
|
+
import { ApplyAgentDiffMissingOnDiskError, ApplyAgentDiffNotRecordedError, ApplyAgentNotFoundError, ApplyAgentSelectorAmbiguousError, ApplyAgentSelectorUnresolvedError, ApplyAgentSummaryEmptyError, ApplyAgentSummaryMissingOnDiskError, ApplyAgentSummaryNotRecordedError, ApplyBaseMismatchError, ApplyGitCommitError, ApplyPatchApplicationError, ApplyVerificationPolicyLoadError, } from "./errors.js";
|
|
9
12
|
export async function executeApplyCommand(input) {
|
|
10
|
-
const { root, runsFilePath, runId, agentId, ignoreBaseMismatch } = input;
|
|
13
|
+
const { root, runsFilePath, verificationsFilePath, runId, agentId: selector, ignoreBaseMismatch, commit = false, } = input;
|
|
11
14
|
const runRecord = await fetchRunSafely({
|
|
12
15
|
root,
|
|
13
16
|
runsFilePath,
|
|
14
17
|
runId,
|
|
15
|
-
onDeleted: (record) => new ApplyRunDeletedError(record.runId),
|
|
16
18
|
});
|
|
17
19
|
const enhanced = buildRunRecordEnhanced(runRecord);
|
|
20
|
+
const agentId = await resolveApplyAgentSelector({
|
|
21
|
+
root,
|
|
22
|
+
runId,
|
|
23
|
+
selector,
|
|
24
|
+
canonicalAgentIds: runRecord.agents.map((agent) => agent.agentId),
|
|
25
|
+
verificationsFilePath,
|
|
26
|
+
});
|
|
18
27
|
const agentRecord = runRecord.agents.find((agent) => agent.agentId === agentId);
|
|
19
28
|
if (!agentRecord) {
|
|
20
29
|
throw new ApplyAgentNotFoundError(runId, agentId);
|
|
@@ -30,6 +39,8 @@ export async function executeApplyCommand(input) {
|
|
|
30
39
|
}
|
|
31
40
|
const diffAbsolutePath = resolveDisplayPath(root, diffDisplayPath) ?? diffDisplayPath;
|
|
32
41
|
await ensureFileExists(diffAbsolutePath, () => new ApplyAgentDiffMissingOnDiskError(diffDisplayPath));
|
|
42
|
+
const summaryRecorded = agentRecord.artifacts?.summaryCaptured ?? false;
|
|
43
|
+
const summaryDisplayPath = enhancedAgent.assets.summaryPath;
|
|
33
44
|
const headRevision = await getHeadRevision(root);
|
|
34
45
|
const baseRevisionSha = runRecord.baseRevisionSha;
|
|
35
46
|
const baseMismatch = headRevision !== baseRevisionSha;
|
|
@@ -63,6 +74,30 @@ export async function executeApplyCommand(input) {
|
|
|
63
74
|
}
|
|
64
75
|
throw error;
|
|
65
76
|
}
|
|
77
|
+
let appliedCommitSha;
|
|
78
|
+
if (commit) {
|
|
79
|
+
try {
|
|
80
|
+
appliedCommitSha = await commitAppliedDiff({
|
|
81
|
+
root,
|
|
82
|
+
runId,
|
|
83
|
+
agentId,
|
|
84
|
+
summaryRecorded,
|
|
85
|
+
summaryDisplayPath,
|
|
86
|
+
});
|
|
87
|
+
}
|
|
88
|
+
catch (error) {
|
|
89
|
+
await recordApplyStatus({
|
|
90
|
+
root,
|
|
91
|
+
runsFilePath,
|
|
92
|
+
runId,
|
|
93
|
+
agentId,
|
|
94
|
+
ignoredBaseMismatch,
|
|
95
|
+
status: "failed",
|
|
96
|
+
detail: extractCommitFailureDetail(error),
|
|
97
|
+
});
|
|
98
|
+
throw error;
|
|
99
|
+
}
|
|
100
|
+
}
|
|
66
101
|
await recordApplyStatus({
|
|
67
102
|
root,
|
|
68
103
|
runsFilePath,
|
|
@@ -70,6 +105,7 @@ export async function executeApplyCommand(input) {
|
|
|
70
105
|
agentId,
|
|
71
106
|
ignoredBaseMismatch,
|
|
72
107
|
status: "succeeded",
|
|
108
|
+
appliedCommitSha,
|
|
73
109
|
});
|
|
74
110
|
return {
|
|
75
111
|
runId: runRecord.runId,
|
|
@@ -81,8 +117,70 @@ export async function executeApplyCommand(input) {
|
|
|
81
117
|
agent: agentRecord,
|
|
82
118
|
diffPath: diffDisplayPath,
|
|
83
119
|
ignoredBaseMismatch,
|
|
120
|
+
...(appliedCommitSha ? { appliedCommitSha } : {}),
|
|
84
121
|
};
|
|
85
122
|
}
|
|
123
|
+
async function resolveApplyAgentSelector(options) {
|
|
124
|
+
const { root, runId, selector, canonicalAgentIds, verificationsFilePath } = options;
|
|
125
|
+
if (canonicalAgentIds.includes(selector)) {
|
|
126
|
+
return selector;
|
|
127
|
+
}
|
|
128
|
+
const effectiveVerificationsPath = verificationsFilePath ?? `${root}/.voratiq/verify/index.json`;
|
|
129
|
+
const verificationRecords = await readVerificationRecords({
|
|
130
|
+
root,
|
|
131
|
+
verificationsFilePath: effectiveVerificationsPath,
|
|
132
|
+
predicate: (record) => record.target.kind === "run" && record.target.sessionId === runId,
|
|
133
|
+
}).catch(() => []);
|
|
134
|
+
const verificationFailures = [];
|
|
135
|
+
const sources = (await Promise.all(verificationRecords.map(async (record) => {
|
|
136
|
+
try {
|
|
137
|
+
const output = await loadVerificationSelectionPolicyOutput({
|
|
138
|
+
root,
|
|
139
|
+
record,
|
|
140
|
+
});
|
|
141
|
+
return buildVerificationSelectorSource(output);
|
|
142
|
+
}
|
|
143
|
+
catch (error) {
|
|
144
|
+
verificationFailures.push({
|
|
145
|
+
verificationId: record.sessionId,
|
|
146
|
+
detail: toErrorMessage(error),
|
|
147
|
+
});
|
|
148
|
+
return undefined;
|
|
149
|
+
}
|
|
150
|
+
}))).filter((source) => source !== undefined);
|
|
151
|
+
const selectorDecision = deriveSelectorSelectionDecision({
|
|
152
|
+
selector,
|
|
153
|
+
canonicalAgentIds,
|
|
154
|
+
sources,
|
|
155
|
+
});
|
|
156
|
+
if (selectorDecision.state === "resolvable") {
|
|
157
|
+
return selectorDecision.selectedCanonicalAgentId;
|
|
158
|
+
}
|
|
159
|
+
if (verificationFailures.length > 0) {
|
|
160
|
+
throw new ApplyVerificationPolicyLoadError({
|
|
161
|
+
runId,
|
|
162
|
+
verificationFailures,
|
|
163
|
+
});
|
|
164
|
+
}
|
|
165
|
+
const ambiguousReason = selectorDecision.unresolvedReasons.find((reason) => reason.code === "selector_ambiguous");
|
|
166
|
+
if (ambiguousReason) {
|
|
167
|
+
throw new ApplyAgentSelectorAmbiguousError({
|
|
168
|
+
runId,
|
|
169
|
+
selector,
|
|
170
|
+
matches: ambiguousReason.resolutions.map((resolution) => ({
|
|
171
|
+
verificationId: resolution.sourceId,
|
|
172
|
+
agentId: resolution.selectedCanonicalAgentId,
|
|
173
|
+
})),
|
|
174
|
+
});
|
|
175
|
+
}
|
|
176
|
+
const unresolvedReason = selectorDecision.unresolvedReasons.find((reason) => reason.code === "selector_unresolved");
|
|
177
|
+
throw new ApplyAgentSelectorUnresolvedError({
|
|
178
|
+
runId,
|
|
179
|
+
selector,
|
|
180
|
+
canonicalAgentIds,
|
|
181
|
+
aliases: unresolvedReason?.availableAliases ?? [],
|
|
182
|
+
});
|
|
183
|
+
}
|
|
86
184
|
async function applyPatch(options) {
|
|
87
185
|
const { root, diffAbsolutePath, diffDisplayPath, runId, agentId } = options;
|
|
88
186
|
try {
|
|
@@ -96,7 +194,7 @@ async function applyPatch(options) {
|
|
|
96
194
|
}
|
|
97
195
|
}
|
|
98
196
|
async function recordApplyStatus(options) {
|
|
99
|
-
const { root, runsFilePath, runId, agentId, status, ignoredBaseMismatch, detail, } = options;
|
|
197
|
+
const { root, runsFilePath, runId, agentId, status, ignoredBaseMismatch, appliedCommitSha, detail, } = options;
|
|
100
198
|
const appliedAt = new Date().toISOString();
|
|
101
199
|
const normalizedDetail = typeof detail === "string" && detail.length > 0
|
|
102
200
|
? truncateDetail(detail)
|
|
@@ -115,11 +213,15 @@ async function recordApplyStatus(options) {
|
|
|
115
213
|
if (normalizedDetail !== undefined) {
|
|
116
214
|
applyStatus.detail = normalizedDetail;
|
|
117
215
|
}
|
|
216
|
+
if (typeof appliedCommitSha === "string" && appliedCommitSha.length > 0) {
|
|
217
|
+
applyStatus.appliedCommitSha = appliedCommitSha;
|
|
218
|
+
}
|
|
118
219
|
return {
|
|
119
220
|
...record,
|
|
120
221
|
applyStatus,
|
|
121
222
|
};
|
|
122
223
|
},
|
|
224
|
+
forceFlush: true,
|
|
123
225
|
});
|
|
124
226
|
}
|
|
125
227
|
function extractApplyFailureDetail(error) {
|
|
@@ -129,7 +231,44 @@ function extractApplyFailureDetail(error) {
|
|
|
129
231
|
}
|
|
130
232
|
return error.message;
|
|
131
233
|
}
|
|
234
|
+
function extractCommitFailureDetail(error) {
|
|
235
|
+
const stderr = getGitStderr(error);
|
|
236
|
+
if (stderr && stderr.trim().length > 0) {
|
|
237
|
+
const [firstLine] = stderr.split(/\r?\n/);
|
|
238
|
+
if (firstLine && firstLine.trim().length > 0) {
|
|
239
|
+
return firstLine.trim();
|
|
240
|
+
}
|
|
241
|
+
return stderr.trim();
|
|
242
|
+
}
|
|
243
|
+
return toErrorMessage(error);
|
|
244
|
+
}
|
|
132
245
|
function truncateDetail(detail) {
|
|
133
246
|
const trimmed = detail.trim();
|
|
134
247
|
return trimmed.length > 256 ? trimmed.slice(0, 256) : trimmed;
|
|
135
248
|
}
|
|
249
|
+
async function commitAppliedDiff(options) {
|
|
250
|
+
const { root, runId, agentId, summaryRecorded, summaryDisplayPath } = options;
|
|
251
|
+
if (!summaryRecorded || !summaryDisplayPath) {
|
|
252
|
+
throw new ApplyAgentSummaryNotRecordedError(runId, agentId);
|
|
253
|
+
}
|
|
254
|
+
const summaryAbsolutePath = resolveDisplayPath(root, summaryDisplayPath) ?? summaryDisplayPath;
|
|
255
|
+
await ensureFileExists(summaryAbsolutePath, () => new ApplyAgentSummaryMissingOnDiskError(summaryDisplayPath));
|
|
256
|
+
const rawSummary = await readFile(summaryAbsolutePath, "utf8");
|
|
257
|
+
const commitSubject = normalizeCommitSubject(rawSummary);
|
|
258
|
+
if (!commitSubject) {
|
|
259
|
+
throw new ApplyAgentSummaryEmptyError(summaryDisplayPath);
|
|
260
|
+
}
|
|
261
|
+
try {
|
|
262
|
+
await runGitCommand(["add", "-A"], { cwd: root });
|
|
263
|
+
await runGitCommand(["commit", "-m", commitSubject], { cwd: root });
|
|
264
|
+
return await runGitCommand(["rev-parse", "HEAD"], { cwd: root });
|
|
265
|
+
}
|
|
266
|
+
catch (error) {
|
|
267
|
+
const detail = getGitStderr(error) ?? toErrorMessage(error);
|
|
268
|
+
throw new ApplyGitCommitError(detail);
|
|
269
|
+
}
|
|
270
|
+
}
|
|
271
|
+
function normalizeCommitSubject(summary) {
|
|
272
|
+
const normalized = summary.trim().replace(/\s+/gu, " ");
|
|
273
|
+
return normalized.length > 0 ? normalized : "";
|
|
274
|
+
}
|
|
@@ -2,10 +2,6 @@ import { CliError } from "../../cli/errors.js";
|
|
|
2
2
|
export declare class ApplyError extends CliError {
|
|
3
3
|
constructor(headline: string, detailLines?: readonly string[], hintLines?: readonly string[]);
|
|
4
4
|
}
|
|
5
|
-
export declare class ApplyRunDeletedError extends ApplyError {
|
|
6
|
-
readonly runId: string;
|
|
7
|
-
constructor(runId: string);
|
|
8
|
-
}
|
|
9
5
|
export declare class ApplyRunMetadataCorruptedError extends ApplyError {
|
|
10
6
|
constructor(detail: string);
|
|
11
7
|
}
|
|
@@ -14,6 +10,33 @@ export declare class ApplyAgentNotFoundError extends ApplyError {
|
|
|
14
10
|
readonly agentId: string;
|
|
15
11
|
constructor(runId: string, agentId: string);
|
|
16
12
|
}
|
|
13
|
+
export declare class ApplyAgentSelectorUnresolvedError extends ApplyError {
|
|
14
|
+
constructor(options: {
|
|
15
|
+
runId: string;
|
|
16
|
+
selector: string;
|
|
17
|
+
canonicalAgentIds: readonly string[];
|
|
18
|
+
aliases: readonly string[];
|
|
19
|
+
});
|
|
20
|
+
}
|
|
21
|
+
export declare class ApplyAgentSelectorAmbiguousError extends ApplyError {
|
|
22
|
+
constructor(options: {
|
|
23
|
+
runId: string;
|
|
24
|
+
selector: string;
|
|
25
|
+
matches: Array<{
|
|
26
|
+
verificationId: string;
|
|
27
|
+
agentId: string;
|
|
28
|
+
}>;
|
|
29
|
+
});
|
|
30
|
+
}
|
|
31
|
+
export declare class ApplyVerificationPolicyLoadError extends ApplyError {
|
|
32
|
+
constructor(options: {
|
|
33
|
+
runId: string;
|
|
34
|
+
verificationFailures: readonly {
|
|
35
|
+
verificationId: string;
|
|
36
|
+
detail: string;
|
|
37
|
+
}[];
|
|
38
|
+
});
|
|
39
|
+
}
|
|
17
40
|
export declare class ApplyAgentDiffNotRecordedError extends ApplyError {
|
|
18
41
|
readonly runId: string;
|
|
19
42
|
readonly agentId: string;
|
|
@@ -23,6 +46,22 @@ export declare class ApplyAgentDiffMissingOnDiskError extends ApplyError {
|
|
|
23
46
|
readonly diffPath: string;
|
|
24
47
|
constructor(diffPath: string);
|
|
25
48
|
}
|
|
49
|
+
export declare class ApplyAgentSummaryNotRecordedError extends ApplyError {
|
|
50
|
+
readonly runId: string;
|
|
51
|
+
readonly agentId: string;
|
|
52
|
+
constructor(runId: string, agentId: string);
|
|
53
|
+
}
|
|
54
|
+
export declare class ApplyAgentSummaryMissingOnDiskError extends ApplyError {
|
|
55
|
+
readonly summaryPath: string;
|
|
56
|
+
constructor(summaryPath: string);
|
|
57
|
+
}
|
|
58
|
+
export declare class ApplyAgentSummaryEmptyError extends ApplyError {
|
|
59
|
+
readonly summaryPath: string;
|
|
60
|
+
constructor(summaryPath: string);
|
|
61
|
+
}
|
|
62
|
+
export declare class ApplyGitCommitError extends ApplyError {
|
|
63
|
+
constructor(detail: string);
|
|
64
|
+
}
|
|
26
65
|
export interface ApplyBaseMismatchOptions {
|
|
27
66
|
baseRevisionSha: string;
|
|
28
67
|
headRevision: string;
|
|
@@ -5,19 +5,9 @@ export class ApplyError extends CliError {
|
|
|
5
5
|
this.name = "ApplyError";
|
|
6
6
|
}
|
|
7
7
|
}
|
|
8
|
-
export class ApplyRunDeletedError extends ApplyError {
|
|
9
|
-
runId;
|
|
10
|
-
constructor(runId) {
|
|
11
|
-
super(`Run ${runId} has been deleted.`, [], ["Re-run the spec to generate fresh artifacts before applying."]);
|
|
12
|
-
this.runId = runId;
|
|
13
|
-
this.name = "ApplyRunDeletedError";
|
|
14
|
-
}
|
|
15
|
-
}
|
|
16
8
|
export class ApplyRunMetadataCorruptedError extends ApplyError {
|
|
17
9
|
constructor(detail) {
|
|
18
|
-
super("Run history is corrupted
|
|
19
|
-
"Inspect `.voratiq/runs/index.json` and the affected run directory under `.voratiq/runs/sessions/<id>` or regenerate the run with `voratiq run`.",
|
|
20
|
-
]);
|
|
10
|
+
super("Run history is corrupted.", [detail], ["Check `run/index.json` and the affected session directory."]);
|
|
21
11
|
this.name = "ApplyRunMetadataCorruptedError";
|
|
22
12
|
}
|
|
23
13
|
}
|
|
@@ -25,19 +15,75 @@ export class ApplyAgentNotFoundError extends ApplyError {
|
|
|
25
15
|
runId;
|
|
26
16
|
agentId;
|
|
27
17
|
constructor(runId, agentId) {
|
|
28
|
-
super(`Agent
|
|
18
|
+
super(`Agent \`${agentId}\` not found in run \`${runId}\`.`, [], ["Check available agents with `voratiq list --run <run-id>`."]);
|
|
29
19
|
this.runId = runId;
|
|
30
20
|
this.agentId = agentId;
|
|
31
21
|
this.name = "ApplyAgentNotFoundError";
|
|
32
22
|
}
|
|
33
23
|
}
|
|
24
|
+
export class ApplyAgentSelectorUnresolvedError extends ApplyError {
|
|
25
|
+
constructor(options) {
|
|
26
|
+
const { runId, selector, canonicalAgentIds, aliases } = options;
|
|
27
|
+
const canonicalPreview = canonicalAgentIds
|
|
28
|
+
.slice(0, 20)
|
|
29
|
+
.map((agentId) => `\`${agentId}\``)
|
|
30
|
+
.join(", ");
|
|
31
|
+
const aliasPreview = aliases
|
|
32
|
+
.slice(0, 20)
|
|
33
|
+
.map((alias) => `\`${alias}\``)
|
|
34
|
+
.join(", ");
|
|
35
|
+
const detailLines = [
|
|
36
|
+
...(canonicalAgentIds.length > 0
|
|
37
|
+
? [
|
|
38
|
+
`Available agent ids: ${canonicalPreview}${canonicalAgentIds.length > 20 ? ", ..." : ""}.`,
|
|
39
|
+
]
|
|
40
|
+
: []),
|
|
41
|
+
...(aliases.length > 0
|
|
42
|
+
? [
|
|
43
|
+
`Available blinded aliases: ${aliasPreview}${aliases.length > 20 ? ", ..." : ""}.`,
|
|
44
|
+
]
|
|
45
|
+
: []),
|
|
46
|
+
];
|
|
47
|
+
super(`Agent selector \`${selector}\` did not match run \`${runId}\`.`, detailLines, [
|
|
48
|
+
"Use an agent id or a verification-selected blinded alias for this run.",
|
|
49
|
+
]);
|
|
50
|
+
this.name = "ApplyAgentSelectorUnresolvedError";
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
export class ApplyAgentSelectorAmbiguousError extends ApplyError {
|
|
54
|
+
constructor(options) {
|
|
55
|
+
const { runId, selector, matches } = options;
|
|
56
|
+
const lines = matches
|
|
57
|
+
.slice(0, 10)
|
|
58
|
+
.map((match) => `- \`${match.verificationId}\`: \`${match.agentId}\``);
|
|
59
|
+
super(`Blinded alias \`${selector}\` is ambiguous for run \`${runId}\`.`, [
|
|
60
|
+
"This alias resolves differently across verification sessions:",
|
|
61
|
+
...lines,
|
|
62
|
+
matches.length > 10 ? "- ..." : "",
|
|
63
|
+
].filter((line) => line.length > 0), ["Use a canonical agent id for this run."]);
|
|
64
|
+
this.name = "ApplyAgentSelectorAmbiguousError";
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
export class ApplyVerificationPolicyLoadError extends ApplyError {
|
|
68
|
+
constructor(options) {
|
|
69
|
+
const { runId, verificationFailures } = options;
|
|
70
|
+
const detailLines = verificationFailures
|
|
71
|
+
.slice(0, 10)
|
|
72
|
+
.flatMap((failure) => [
|
|
73
|
+
`Verification: \`${failure.verificationId}\`.`,
|
|
74
|
+
failure.detail,
|
|
75
|
+
]);
|
|
76
|
+
super(`Failed to load verification policy data for run \`${runId}\`.`, detailLines, [
|
|
77
|
+
"Re-run `voratiq verify` for this run to regenerate verification artifacts.",
|
|
78
|
+
]);
|
|
79
|
+
this.name = "ApplyVerificationPolicyLoadError";
|
|
80
|
+
}
|
|
81
|
+
}
|
|
34
82
|
export class ApplyAgentDiffNotRecordedError extends ApplyError {
|
|
35
83
|
runId;
|
|
36
84
|
agentId;
|
|
37
85
|
constructor(runId, agentId) {
|
|
38
|
-
super(`Agent
|
|
39
|
-
`Select an agent that produced a diff via \`voratiq review --run ${runId}\`.`,
|
|
40
|
-
]);
|
|
86
|
+
super(`Agent \`${agentId}\` did not record a diff for run \`${runId}\`.`, [], ["Select an agent that produced a diff in the recorded run."]);
|
|
41
87
|
this.runId = runId;
|
|
42
88
|
this.agentId = agentId;
|
|
43
89
|
this.name = "ApplyAgentDiffNotRecordedError";
|
|
@@ -46,25 +92,57 @@ export class ApplyAgentDiffNotRecordedError extends ApplyError {
|
|
|
46
92
|
export class ApplyAgentDiffMissingOnDiskError extends ApplyError {
|
|
47
93
|
diffPath;
|
|
48
94
|
constructor(diffPath) {
|
|
49
|
-
super("Recorded diff is missing from disk.", [`Expected diff
|
|
95
|
+
super("Recorded diff is missing from disk.", [`Expected diff: \`${diffPath}\`.`], ["Re-run to regenerate artifacts."]);
|
|
50
96
|
this.diffPath = diffPath;
|
|
51
97
|
this.name = "ApplyAgentDiffMissingOnDiskError";
|
|
52
98
|
}
|
|
53
99
|
}
|
|
100
|
+
export class ApplyAgentSummaryNotRecordedError extends ApplyError {
|
|
101
|
+
runId;
|
|
102
|
+
agentId;
|
|
103
|
+
constructor(runId, agentId) {
|
|
104
|
+
super(`Agent \`${agentId}\` did not record a summary for run \`${runId}\`.`, ["A summary artifact is required when using `--commit`."], ["Apply without `--commit` and write the commit message manually."]);
|
|
105
|
+
this.runId = runId;
|
|
106
|
+
this.agentId = agentId;
|
|
107
|
+
this.name = "ApplyAgentSummaryNotRecordedError";
|
|
108
|
+
}
|
|
109
|
+
}
|
|
110
|
+
export class ApplyAgentSummaryMissingOnDiskError extends ApplyError {
|
|
111
|
+
summaryPath;
|
|
112
|
+
constructor(summaryPath) {
|
|
113
|
+
super("Recorded summary is missing from disk.", [`Expected summary: \`${summaryPath}\`.`], ["Re-run to regenerate artifacts."]);
|
|
114
|
+
this.summaryPath = summaryPath;
|
|
115
|
+
this.name = "ApplyAgentSummaryMissingOnDiskError";
|
|
116
|
+
}
|
|
117
|
+
}
|
|
118
|
+
export class ApplyAgentSummaryEmptyError extends ApplyError {
|
|
119
|
+
summaryPath;
|
|
120
|
+
constructor(summaryPath) {
|
|
121
|
+
super("Recorded summary is empty.", [`Expected summary with a commit subject: \`${summaryPath}\`.`], ["Apply without `--commit` and write the commit message manually."]);
|
|
122
|
+
this.summaryPath = summaryPath;
|
|
123
|
+
this.name = "ApplyAgentSummaryEmptyError";
|
|
124
|
+
}
|
|
125
|
+
}
|
|
126
|
+
export class ApplyGitCommitError extends ApplyError {
|
|
127
|
+
constructor(detail) {
|
|
128
|
+
super("Failed to create git commit.", [detail], ["The diff remains applied; resolve the issue and commit manually."]);
|
|
129
|
+
this.name = "ApplyGitCommitError";
|
|
130
|
+
}
|
|
131
|
+
}
|
|
54
132
|
export class ApplyBaseMismatchError extends ApplyError {
|
|
55
133
|
constructor(options) {
|
|
56
134
|
const { baseRevisionSha, headRevision } = options;
|
|
57
|
-
super(`Repository HEAD
|
|
58
|
-
"Reset to the recorded base or rerun the specification, or pass `--ignore-base-mismatch` to proceed at your own risk.",
|
|
59
|
-
]);
|
|
135
|
+
super(`Repository HEAD \`${shortSha(headRevision)}\` no longer matches run base \`${shortSha(baseRevisionSha)}\`.`, [], ["Use `--ignore-base-mismatch` to apply anyway (conflicts may occur)."]);
|
|
60
136
|
this.name = "ApplyBaseMismatchError";
|
|
61
137
|
}
|
|
62
138
|
}
|
|
63
139
|
export class ApplyPatchApplicationError extends ApplyError {
|
|
64
140
|
constructor(detail, diffPath, runId, agentId) {
|
|
65
|
-
super("Failed to apply
|
|
66
|
-
|
|
67
|
-
|
|
141
|
+
super("Failed to apply recorded diff.", [
|
|
142
|
+
detail,
|
|
143
|
+
`Run: \`${runId}\`, agent: \`${agentId}\`.`,
|
|
144
|
+
`Patch: \`${diffPath}\`.`,
|
|
145
|
+
], ["Resolve the conflict, then re-run apply for the same run and agent."]);
|
|
68
146
|
this.name = "ApplyPatchApplicationError";
|
|
69
147
|
}
|
|
70
148
|
}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { AgentInvocationRecord } from "../../
|
|
1
|
+
import type { AgentInvocationRecord } from "../../domain/run/model/types.js";
|
|
2
2
|
import type { RunStatus } from "../../status/index.js";
|
|
3
3
|
export interface ApplyResult {
|
|
4
4
|
runId: string;
|
|
@@ -10,4 +10,5 @@ export interface ApplyResult {
|
|
|
10
10
|
agent: AgentInvocationRecord;
|
|
11
11
|
diffPath: string;
|
|
12
12
|
ignoredBaseMismatch: boolean;
|
|
13
|
+
appliedCommitSha?: string;
|
|
13
14
|
}
|
|
@@ -0,0 +1,145 @@
|
|
|
1
|
+
import type { AutoApplyStatus, AutoTerminalStatus } from "../../domain/run/model/types.js";
|
|
2
|
+
import type { SelectionDecision } from "../../policy/index.js";
|
|
3
|
+
import { type RunStatus } from "../../status/index.js";
|
|
4
|
+
export interface ExecuteAutoCommandInput {
|
|
5
|
+
specPath?: string;
|
|
6
|
+
description?: string;
|
|
7
|
+
runAgentIds?: readonly string[];
|
|
8
|
+
verifyAgentIds?: readonly string[];
|
|
9
|
+
profile?: string;
|
|
10
|
+
maxParallel?: number;
|
|
11
|
+
branch?: boolean;
|
|
12
|
+
apply?: boolean;
|
|
13
|
+
commit?: boolean;
|
|
14
|
+
}
|
|
15
|
+
export interface AutoSpecStageInput {
|
|
16
|
+
description: string;
|
|
17
|
+
profile?: string;
|
|
18
|
+
maxParallel?: number;
|
|
19
|
+
suppressHint: boolean;
|
|
20
|
+
}
|
|
21
|
+
export interface AutoSpecStageResult {
|
|
22
|
+
body: string;
|
|
23
|
+
sessionId: string;
|
|
24
|
+
generatedSpecPaths?: readonly string[];
|
|
25
|
+
specPath?: string;
|
|
26
|
+
}
|
|
27
|
+
export interface AutoRunAgentResult {
|
|
28
|
+
agentId: string;
|
|
29
|
+
}
|
|
30
|
+
export interface AutoRunStageReport {
|
|
31
|
+
runId: string;
|
|
32
|
+
status: RunStatus;
|
|
33
|
+
createdAt: string;
|
|
34
|
+
baseRevisionSha: string;
|
|
35
|
+
spec?: {
|
|
36
|
+
path?: string;
|
|
37
|
+
};
|
|
38
|
+
agents: readonly AutoRunAgentResult[];
|
|
39
|
+
}
|
|
40
|
+
export interface AutoRunStageInput {
|
|
41
|
+
specPath: string;
|
|
42
|
+
agentIds?: readonly string[];
|
|
43
|
+
agentOverrideFlag: string;
|
|
44
|
+
profile?: string;
|
|
45
|
+
maxParallel?: number;
|
|
46
|
+
branch?: boolean;
|
|
47
|
+
}
|
|
48
|
+
export interface AutoRunStageResult {
|
|
49
|
+
report: AutoRunStageReport;
|
|
50
|
+
body: string;
|
|
51
|
+
exitCode?: number;
|
|
52
|
+
}
|
|
53
|
+
export interface AutoVerifyStageInput {
|
|
54
|
+
target: {
|
|
55
|
+
kind: "spec" | "run";
|
|
56
|
+
sessionId: string;
|
|
57
|
+
};
|
|
58
|
+
agentIds?: readonly string[];
|
|
59
|
+
agentOverrideFlag: string;
|
|
60
|
+
profile?: string;
|
|
61
|
+
maxParallel?: number;
|
|
62
|
+
suppressHint: boolean;
|
|
63
|
+
}
|
|
64
|
+
export interface AutoVerifyStageResult {
|
|
65
|
+
verificationId?: string;
|
|
66
|
+
body: string;
|
|
67
|
+
stderr?: string;
|
|
68
|
+
exitCode?: number;
|
|
69
|
+
selectedSpecPath?: string;
|
|
70
|
+
selection?: SelectionDecision;
|
|
71
|
+
selectionWarnings?: readonly string[];
|
|
72
|
+
}
|
|
73
|
+
export interface AutoApplyStageInput {
|
|
74
|
+
runId: string;
|
|
75
|
+
agentId: string;
|
|
76
|
+
commit: boolean;
|
|
77
|
+
}
|
|
78
|
+
export interface AutoApplyStageResult {
|
|
79
|
+
body: string;
|
|
80
|
+
exitCode?: number;
|
|
81
|
+
}
|
|
82
|
+
export type AutoCommandEvent = {
|
|
83
|
+
kind: "body";
|
|
84
|
+
body: string;
|
|
85
|
+
stderr?: string;
|
|
86
|
+
exitCode?: number;
|
|
87
|
+
} | {
|
|
88
|
+
kind: "warning";
|
|
89
|
+
detail: string;
|
|
90
|
+
separateWithDivider: boolean;
|
|
91
|
+
} | {
|
|
92
|
+
kind: "error";
|
|
93
|
+
error: unknown;
|
|
94
|
+
} | {
|
|
95
|
+
kind: "action_required";
|
|
96
|
+
detail: string;
|
|
97
|
+
separateWithDivider: boolean;
|
|
98
|
+
};
|
|
99
|
+
export interface AutoPhaseSummary {
|
|
100
|
+
status: "succeeded" | "failed" | "skipped";
|
|
101
|
+
durationMs?: number;
|
|
102
|
+
detail?: string;
|
|
103
|
+
}
|
|
104
|
+
export interface AutoExecutionSummary {
|
|
105
|
+
status: AutoTerminalStatus;
|
|
106
|
+
totalDurationMs: number;
|
|
107
|
+
spec: AutoPhaseSummary & {
|
|
108
|
+
specPath?: string;
|
|
109
|
+
};
|
|
110
|
+
run: AutoPhaseSummary & {
|
|
111
|
+
runId?: string;
|
|
112
|
+
runStatus?: RunStatus;
|
|
113
|
+
createdAt?: string;
|
|
114
|
+
specPath?: string;
|
|
115
|
+
baseRevisionSha?: string;
|
|
116
|
+
};
|
|
117
|
+
verify: AutoPhaseSummary;
|
|
118
|
+
apply: AutoPhaseSummary & {
|
|
119
|
+
agentId?: string;
|
|
120
|
+
};
|
|
121
|
+
}
|
|
122
|
+
export interface ExecuteAutoCommandResult {
|
|
123
|
+
exitCode: number;
|
|
124
|
+
runId?: string;
|
|
125
|
+
appliedAgentId?: string;
|
|
126
|
+
auto: {
|
|
127
|
+
status: AutoTerminalStatus;
|
|
128
|
+
detail?: string;
|
|
129
|
+
};
|
|
130
|
+
apply: {
|
|
131
|
+
status: AutoApplyStatus;
|
|
132
|
+
detail?: string;
|
|
133
|
+
};
|
|
134
|
+
summary: AutoExecutionSummary;
|
|
135
|
+
events: readonly AutoCommandEvent[];
|
|
136
|
+
}
|
|
137
|
+
export interface AutoCommandDependencies {
|
|
138
|
+
now?: () => number;
|
|
139
|
+
onEvent?: (event: AutoCommandEvent) => void;
|
|
140
|
+
runSpecStage: (input: AutoSpecStageInput) => Promise<AutoSpecStageResult>;
|
|
141
|
+
runRunStage: (input: AutoRunStageInput) => Promise<AutoRunStageResult>;
|
|
142
|
+
runVerifyStage: (input: AutoVerifyStageInput) => Promise<AutoVerifyStageResult>;
|
|
143
|
+
runApplyStage: (input: AutoApplyStageInput) => Promise<AutoApplyStageResult>;
|
|
144
|
+
}
|
|
145
|
+
export declare function executeAutoCommand(options: ExecuteAutoCommandInput, dependencies: AutoCommandDependencies): Promise<ExecuteAutoCommandResult>;
|