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,30 +1,32 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
1
|
+
import { finalizeAgentResult, } from "../../../../domain/run/competition/reports.js";
|
|
2
|
+
import { buildUnavailableTokenUsageResult, resolveTokenUsage, } from "../../../../domain/shared/token-usage.js";
|
|
3
|
+
import { normalizeDiffStatistics } from "../../../../utils/diff.js";
|
|
3
4
|
export class AgentRunContext {
|
|
4
|
-
state
|
|
5
|
-
diffAttempted: false,
|
|
6
|
-
diffCaptured: false,
|
|
7
|
-
diffStatistics: undefined,
|
|
8
|
-
};
|
|
5
|
+
state;
|
|
9
6
|
status = "succeeded";
|
|
10
7
|
commitSha;
|
|
11
|
-
evalResults;
|
|
12
8
|
errorMessage;
|
|
13
9
|
watchdogMetadata;
|
|
14
10
|
failFast;
|
|
15
11
|
completedAt;
|
|
16
12
|
startedAt;
|
|
17
|
-
evalPlan;
|
|
18
13
|
runId;
|
|
19
14
|
agent;
|
|
20
15
|
artifactState;
|
|
21
|
-
evalWarnings = [];
|
|
22
16
|
constructor(params) {
|
|
23
17
|
this.agent = params.agent;
|
|
24
18
|
this.runId = params.runId;
|
|
25
19
|
this.startedAt = params.startedAt;
|
|
26
|
-
this.
|
|
27
|
-
|
|
20
|
+
this.state = {
|
|
21
|
+
diffAttempted: false,
|
|
22
|
+
diffCaptured: false,
|
|
23
|
+
diffStatistics: undefined,
|
|
24
|
+
tokenUsage: undefined,
|
|
25
|
+
tokenUsageResult: buildUnavailableTokenUsageResult({
|
|
26
|
+
provider: params.agent.provider,
|
|
27
|
+
modelId: params.agent.model,
|
|
28
|
+
}),
|
|
29
|
+
};
|
|
28
30
|
this.artifactState = {
|
|
29
31
|
diffAttempted: false,
|
|
30
32
|
diffCaptured: false,
|
|
@@ -76,47 +78,20 @@ export class AgentRunContext {
|
|
|
76
78
|
this.state.diffAttempted ||= result.diffAttempted;
|
|
77
79
|
this.state.diffCaptured ||= result.diffCaptured;
|
|
78
80
|
}
|
|
79
|
-
applyEvaluations(results) {
|
|
80
|
-
const defaults = buildDefaultEvalResults(this.evalPlan);
|
|
81
|
-
const bySlug = new Map(results.map((evaluation) => [evaluation.slug, evaluation]));
|
|
82
|
-
this.evalResults = defaults.map((fallback) => {
|
|
83
|
-
const evaluation = bySlug.get(fallback.slug);
|
|
84
|
-
return evaluation ?? fallback;
|
|
85
|
-
});
|
|
86
|
-
if (this.status === "failed") {
|
|
87
|
-
return;
|
|
88
|
-
}
|
|
89
|
-
const hasErrored = this.evalResults.some((evaluation) => {
|
|
90
|
-
return evaluation.status === "errored";
|
|
91
|
-
});
|
|
92
|
-
const hasFailed = this.evalResults.some((evaluation) => evaluation.status === "failed");
|
|
93
|
-
if (hasErrored) {
|
|
94
|
-
this.status = "errored";
|
|
95
|
-
if (!this.errorMessage) {
|
|
96
|
-
const erroredEval = this.evalResults.find((evaluation) => evaluation.status === "errored" && evaluation.error);
|
|
97
|
-
if (erroredEval?.error) {
|
|
98
|
-
this.errorMessage = erroredEval.error;
|
|
99
|
-
}
|
|
100
|
-
}
|
|
101
|
-
return;
|
|
102
|
-
}
|
|
103
|
-
if (hasFailed) {
|
|
104
|
-
this.status = "failed";
|
|
105
|
-
}
|
|
106
|
-
}
|
|
107
81
|
markChatArtifact(format) {
|
|
108
82
|
this.artifactState.chatCaptured = true;
|
|
109
83
|
this.artifactState.chatFormat = format;
|
|
110
84
|
}
|
|
111
|
-
recordEvalWarnings(warnings) {
|
|
112
|
-
this.evalWarnings.push(...warnings);
|
|
113
|
-
}
|
|
114
85
|
setWatchdogMetadata(metadata) {
|
|
115
86
|
this.watchdogMetadata = metadata;
|
|
116
87
|
}
|
|
117
88
|
setFailFastTriggered(info) {
|
|
118
89
|
this.failFast = info;
|
|
119
90
|
}
|
|
91
|
+
setTokenUsageResult(result) {
|
|
92
|
+
this.state.tokenUsageResult = result;
|
|
93
|
+
this.state.tokenUsage = resolveTokenUsage(result);
|
|
94
|
+
}
|
|
120
95
|
finalize() {
|
|
121
96
|
this.setCompleted();
|
|
122
97
|
const record = buildAgentRecord({
|
|
@@ -127,9 +102,8 @@ export class AgentRunContext {
|
|
|
127
102
|
startedAt: this.startedAt,
|
|
128
103
|
status: this.status,
|
|
129
104
|
artifacts: this.artifactState,
|
|
130
|
-
evalResults: this.evalResults,
|
|
131
|
-
warnings: this.evalWarnings,
|
|
132
105
|
diffStatistics: this.state.diffStatistics,
|
|
106
|
+
tokenUsage: this.state.tokenUsage,
|
|
133
107
|
watchdog: this.watchdogMetadata,
|
|
134
108
|
failFast: this.failFast,
|
|
135
109
|
});
|
|
@@ -137,7 +111,6 @@ export class AgentRunContext {
|
|
|
137
111
|
}
|
|
138
112
|
/**
|
|
139
113
|
* Build an early failure record for immediate UI surfacing when watchdog triggers.
|
|
140
|
-
* Includes placeholder evals so the record satisfies agentInvocationRecordSchema.
|
|
141
114
|
*/
|
|
142
115
|
buildEarlyFailureRecord(errorMessage) {
|
|
143
116
|
return buildAgentRecord({
|
|
@@ -148,26 +121,16 @@ export class AgentRunContext {
|
|
|
148
121
|
startedAt: this.startedAt,
|
|
149
122
|
status: "failed",
|
|
150
123
|
artifacts: this.artifactState,
|
|
151
|
-
evalResults: this.evalResults,
|
|
152
|
-
warnings: this.evalWarnings,
|
|
153
124
|
diffStatistics: undefined,
|
|
125
|
+
tokenUsage: this.state.tokenUsage,
|
|
154
126
|
watchdog: this.watchdogMetadata,
|
|
155
127
|
failFast: this.failFast,
|
|
156
128
|
});
|
|
157
129
|
}
|
|
158
130
|
}
|
|
159
|
-
export function buildDefaultEvalResults(definitions) {
|
|
160
|
-
return definitions.map(({ slug, command }) => ({
|
|
161
|
-
slug,
|
|
162
|
-
command,
|
|
163
|
-
status: "skipped",
|
|
164
|
-
}));
|
|
165
|
-
}
|
|
166
131
|
function buildAgentRecord(options) {
|
|
167
|
-
const { agent, commitSha, completedAt, errorMessage, startedAt, status, artifacts,
|
|
168
|
-
const snapshots = toEvalSnapshots(evalResults);
|
|
132
|
+
const { agent, commitSha, completedAt, errorMessage, startedAt, status, artifacts, diffStatistics, tokenUsage, watchdog, failFast, } = options;
|
|
169
133
|
const artifactState = Object.keys(artifacts).length > 0 ? artifacts : undefined;
|
|
170
|
-
const normalizedWarnings = warnings.length > 0 ? Array.from(new Set(warnings)) : undefined;
|
|
171
134
|
const normalizedDiffStatistics = normalizeDiffStatistics(diffStatistics);
|
|
172
135
|
const record = {
|
|
173
136
|
agentId: agent.id,
|
|
@@ -177,9 +140,8 @@ function buildAgentRecord(options) {
|
|
|
177
140
|
status,
|
|
178
141
|
commitSha,
|
|
179
142
|
artifacts: artifactState,
|
|
180
|
-
evals: snapshots,
|
|
181
143
|
error: errorMessage,
|
|
182
|
-
|
|
144
|
+
tokenUsage,
|
|
183
145
|
watchdog,
|
|
184
146
|
...(failFast
|
|
185
147
|
? {
|
|
@@ -194,13 +156,3 @@ function buildAgentRecord(options) {
|
|
|
194
156
|
}
|
|
195
157
|
return record;
|
|
196
158
|
}
|
|
197
|
-
function toEvalSnapshots(results) {
|
|
198
|
-
return results.map((evaluation) => ({
|
|
199
|
-
slug: evaluation.slug,
|
|
200
|
-
status: evaluation.status,
|
|
201
|
-
command: evaluation.command,
|
|
202
|
-
exitCode: evaluation.exitCode,
|
|
203
|
-
hasLog: evaluation.logPath !== undefined,
|
|
204
|
-
error: evaluation.error,
|
|
205
|
-
}));
|
|
206
|
-
}
|
|
@@ -1,17 +1,17 @@
|
|
|
1
|
-
import type {
|
|
2
|
-
import type {
|
|
3
|
-
import type {
|
|
4
|
-
import type {
|
|
5
|
-
import type {
|
|
6
|
-
import type { AgentExecutionResult } from "../reports.js";
|
|
7
|
-
import type { StagedAuthContext } from "./auth-stage.js";
|
|
1
|
+
import type { ResolvedExtraContextFile } from "../../../../competition/shared/extra-context.js";
|
|
2
|
+
import type { AgentDefinition } from "../../../../configs/agents/types.js";
|
|
3
|
+
import type { EnvironmentConfig } from "../../../../configs/environment/types.js";
|
|
4
|
+
import type { AgentExecutionResult } from "../../../../domain/run/competition/reports.js";
|
|
5
|
+
import type { AgentInvocationRecord } from "../../../../domain/run/model/types.js";
|
|
8
6
|
import { AgentRunContext } from "./run-context.js";
|
|
7
|
+
import type { RunAgentWorkspacePaths } from "./workspace.js";
|
|
9
8
|
export interface AgentExecutionContext {
|
|
10
9
|
agent: AgentDefinition;
|
|
11
10
|
baseRevisionSha: string;
|
|
12
11
|
runId: string;
|
|
13
12
|
root: string;
|
|
14
|
-
|
|
13
|
+
specContent: string;
|
|
14
|
+
extraContextFiles: readonly ResolvedExtraContextFile[];
|
|
15
15
|
environment: EnvironmentConfig;
|
|
16
16
|
}
|
|
17
17
|
export interface AgentProgressCallbacks {
|
|
@@ -23,16 +23,13 @@ export interface AgentProgressCallbacks {
|
|
|
23
23
|
export interface PreparedAgentExecution {
|
|
24
24
|
agent: AgentDefinition;
|
|
25
25
|
agentContext: AgentRunContext;
|
|
26
|
-
workspacePaths:
|
|
27
|
-
runtimeManifestPath: string;
|
|
26
|
+
workspacePaths: RunAgentWorkspacePaths;
|
|
28
27
|
baseRevisionSha: string;
|
|
29
28
|
root: string;
|
|
30
29
|
runId: string;
|
|
31
|
-
|
|
30
|
+
prompt: string;
|
|
32
31
|
environment: EnvironmentConfig;
|
|
33
|
-
manifestEnv: Record<string, string>;
|
|
34
32
|
progress?: AgentProgressCallbacks;
|
|
35
|
-
authContext?: StagedAuthContext;
|
|
36
33
|
}
|
|
37
34
|
export type AgentPreparationOutcome = {
|
|
38
35
|
status: "ready";
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import type { AgentId } from "../../../../configs/agents/types.js";
|
|
2
|
+
import type { EnvironmentConfig } from "../../../../configs/environment/types.js";
|
|
3
|
+
import { type AgentWorkspacePaths } from "../../../../workspace/layout.js";
|
|
4
|
+
export declare const WORKSPACE_SUMMARY_FILENAME: ".summary.txt";
|
|
5
|
+
export interface RunAgentWorkspacePaths extends AgentWorkspacePaths {
|
|
6
|
+
diffPath: string;
|
|
7
|
+
summaryPath: string;
|
|
8
|
+
}
|
|
9
|
+
export declare function buildRunAgentWorkspace(options: {
|
|
10
|
+
root: string;
|
|
11
|
+
runId: string;
|
|
12
|
+
agentId: AgentId;
|
|
13
|
+
baseRevisionSha: string;
|
|
14
|
+
environment: EnvironmentConfig;
|
|
15
|
+
}): Promise<RunAgentWorkspacePaths>;
|
|
16
|
+
export declare function buildRunAgentWorkspacePaths(options: {
|
|
17
|
+
root: string;
|
|
18
|
+
runId: string;
|
|
19
|
+
agentId: AgentId;
|
|
20
|
+
corePaths: AgentWorkspacePaths;
|
|
21
|
+
}): RunAgentWorkspacePaths;
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
import { mkdir, writeFile } from "node:fs/promises";
|
|
2
|
+
import { dirname } from "node:path";
|
|
3
|
+
import { normalizePathForDisplay, resolvePath, } from "../../../../utils/path.js";
|
|
4
|
+
import { prepareAgentWorkspace } from "../../../../workspace/agents.js";
|
|
5
|
+
import { buildAgentWorkspacePaths, } from "../../../../workspace/layout.js";
|
|
6
|
+
import { getAgentSessionDiffPath, getAgentSessionSummaryPath, VORATIQ_RUN_DIR, } from "../../../../workspace/structure.js";
|
|
7
|
+
export const WORKSPACE_SUMMARY_FILENAME = ".summary.txt";
|
|
8
|
+
export async function buildRunAgentWorkspace(options) {
|
|
9
|
+
const { root, runId, agentId, baseRevisionSha, environment } = options;
|
|
10
|
+
const corePaths = buildAgentWorkspacePaths({
|
|
11
|
+
root,
|
|
12
|
+
runId,
|
|
13
|
+
agentId,
|
|
14
|
+
});
|
|
15
|
+
const workspacePaths = buildRunAgentWorkspacePaths({
|
|
16
|
+
root,
|
|
17
|
+
runId,
|
|
18
|
+
agentId,
|
|
19
|
+
corePaths,
|
|
20
|
+
});
|
|
21
|
+
await prepareAgentWorkspace({
|
|
22
|
+
paths: corePaths,
|
|
23
|
+
baseRevisionSha,
|
|
24
|
+
root,
|
|
25
|
+
agentId,
|
|
26
|
+
runId,
|
|
27
|
+
environment,
|
|
28
|
+
});
|
|
29
|
+
await ensureRunArtifactWorkspace(workspacePaths);
|
|
30
|
+
return workspacePaths;
|
|
31
|
+
}
|
|
32
|
+
async function ensureRunArtifactWorkspace(paths) {
|
|
33
|
+
await mkdir(dirname(paths.diffPath), { recursive: true });
|
|
34
|
+
await mkdir(dirname(paths.summaryPath), { recursive: true });
|
|
35
|
+
await writeFile(paths.diffPath, "", { encoding: "utf8" });
|
|
36
|
+
await writeFile(paths.summaryPath, "", { encoding: "utf8" });
|
|
37
|
+
}
|
|
38
|
+
export function buildRunAgentWorkspacePaths(options) {
|
|
39
|
+
const { root, runId, agentId, corePaths } = options;
|
|
40
|
+
const diffRelative = normalizePathForDisplay(getAgentSessionDiffPath(VORATIQ_RUN_DIR, runId, agentId));
|
|
41
|
+
const summaryRelative = normalizePathForDisplay(getAgentSessionSummaryPath(VORATIQ_RUN_DIR, runId, agentId));
|
|
42
|
+
return {
|
|
43
|
+
...corePaths,
|
|
44
|
+
diffPath: resolvePath(root, diffRelative),
|
|
45
|
+
summaryPath: resolvePath(root, summaryRelative),
|
|
46
|
+
};
|
|
47
|
+
}
|
|
@@ -1,4 +1,6 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { type PreflightIssue } from "../../../competition/shared/preflight.js";
|
|
2
|
+
import { DisplayableError, type HintedErrorOptions } from "../../../utils/errors.js";
|
|
3
|
+
export type { PreflightIssue } from "../../../competition/shared/preflight.js";
|
|
2
4
|
export type RunErrorKind = "workspace-setup" | "agent-process" | "process-spawn" | "git-operation" | "run-report";
|
|
3
5
|
export declare abstract class RunCommandError extends DisplayableError {
|
|
4
6
|
abstract readonly kind: RunErrorKind;
|
|
@@ -47,6 +49,11 @@ export declare class AuthProviderStageError extends RunCommandError {
|
|
|
47
49
|
readonly kind: "workspace-setup";
|
|
48
50
|
constructor(detail: string);
|
|
49
51
|
}
|
|
52
|
+
export declare class RunPreflightError extends RunCommandError {
|
|
53
|
+
readonly kind: "workspace-setup";
|
|
54
|
+
readonly issues: readonly PreflightIssue[];
|
|
55
|
+
constructor(issues: readonly PreflightIssue[], hintLines?: readonly string[]);
|
|
56
|
+
}
|
|
50
57
|
export declare class NoAgentsEnabledError extends RunCommandError {
|
|
51
58
|
readonly kind: "workspace-setup";
|
|
52
59
|
constructor();
|
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { formatPreflightIssueLines, PREFLIGHT_HINT, } from "../../../competition/shared/preflight.js";
|
|
2
|
+
import { DisplayableError, } from "../../../utils/errors.js";
|
|
2
3
|
export class RunCommandError extends DisplayableError {
|
|
3
4
|
constructor(message, options = {}) {
|
|
4
5
|
super(message, options);
|
|
@@ -14,7 +15,7 @@ export class AgentProcessError extends RunCommandError {
|
|
|
14
15
|
kind = "agent-process";
|
|
15
16
|
constructor(options = {}) {
|
|
16
17
|
const { detail, exitCode } = options;
|
|
17
|
-
const baseMessage = detail ?? "Agent process failed.
|
|
18
|
+
const baseMessage = detail ?? "Agent process failed.";
|
|
18
19
|
const formattedMessage = typeof exitCode === "number"
|
|
19
20
|
? `${baseMessage} (exit code ${exitCode})`
|
|
20
21
|
: baseMessage;
|
|
@@ -38,43 +39,72 @@ export class GitOperationError extends RunCommandError {
|
|
|
38
39
|
export class RunDirectoryExistsError extends RunCommandError {
|
|
39
40
|
kind = "workspace-setup";
|
|
40
41
|
constructor(runId, displayPath) {
|
|
41
|
-
super(`Run directory already exists for
|
|
42
|
+
super(`Run directory already exists for run \`${runId}\`: \`${displayPath}\`.`, {
|
|
43
|
+
hintLines: ["Remove the existing run directory and retry."],
|
|
44
|
+
});
|
|
42
45
|
}
|
|
43
46
|
}
|
|
44
47
|
export class MissingAgentProviderError extends RunCommandError {
|
|
45
48
|
kind = "workspace-setup";
|
|
46
49
|
constructor(agentId) {
|
|
47
|
-
super(`Agent
|
|
50
|
+
super(`Agent \`${agentId}\` is missing a provider.`, {
|
|
51
|
+
hintLines: ["Set `provider` for this agent in `agents.yaml`."],
|
|
52
|
+
});
|
|
48
53
|
}
|
|
49
54
|
}
|
|
50
55
|
export class UnknownAuthProviderError extends RunCommandError {
|
|
51
56
|
kind = "workspace-setup";
|
|
52
57
|
constructor(providerId) {
|
|
53
|
-
super(`Unknown auth provider
|
|
58
|
+
super(`Unknown auth provider \`${providerId}\`.`, {
|
|
59
|
+
hintLines: ["Use a provider configured by Voratiq."],
|
|
60
|
+
});
|
|
54
61
|
}
|
|
55
62
|
}
|
|
56
63
|
export class AuthProviderVerificationError extends RunCommandError {
|
|
57
64
|
kind = "workspace-setup";
|
|
58
65
|
constructor(detail) {
|
|
59
|
-
super(detail
|
|
66
|
+
super(detail, {
|
|
67
|
+
hintLines: ["Authenticate this provider, then retry."],
|
|
68
|
+
});
|
|
60
69
|
}
|
|
61
70
|
}
|
|
62
71
|
export class AuthProviderStageError extends RunCommandError {
|
|
63
72
|
kind = "workspace-setup";
|
|
64
73
|
constructor(detail) {
|
|
65
|
-
super(detail
|
|
74
|
+
super(detail, {
|
|
75
|
+
hintLines: ["Verify provider credentials, then retry."],
|
|
76
|
+
});
|
|
77
|
+
}
|
|
78
|
+
}
|
|
79
|
+
const RUN_PREFLIGHT_UNLABELED_AGENT_IDS = ["settings"];
|
|
80
|
+
export class RunPreflightError extends RunCommandError {
|
|
81
|
+
kind = "workspace-setup";
|
|
82
|
+
issues;
|
|
83
|
+
constructor(issues, hintLines = [PREFLIGHT_HINT]) {
|
|
84
|
+
super("Preflight failed. Aborting run.", {
|
|
85
|
+
detailLines: formatPreflightIssueLines(issues, {
|
|
86
|
+
unlabeledAgentIds: RUN_PREFLIGHT_UNLABELED_AGENT_IDS,
|
|
87
|
+
}),
|
|
88
|
+
hintLines,
|
|
89
|
+
});
|
|
90
|
+
this.issues = Array.from(issues);
|
|
91
|
+
this.name = "RunPreflightError";
|
|
66
92
|
}
|
|
67
93
|
}
|
|
68
94
|
export class NoAgentsEnabledError extends RunCommandError {
|
|
69
95
|
kind = "workspace-setup";
|
|
70
96
|
constructor() {
|
|
71
|
-
super("No agents enabled in
|
|
97
|
+
super("No agents are enabled in `agents.yaml`.", {
|
|
98
|
+
hintLines: ["Set `enabled: true` on at least one agent."],
|
|
99
|
+
});
|
|
72
100
|
}
|
|
73
101
|
}
|
|
74
102
|
export class RunProcessStreamError extends RunCommandError {
|
|
75
103
|
kind = "process-spawn";
|
|
76
104
|
constructor(detail) {
|
|
77
|
-
super(detail
|
|
105
|
+
super(detail, {
|
|
106
|
+
hintLines: ["Inspect `stderr.log` to diagnose the failure."],
|
|
107
|
+
});
|
|
78
108
|
this.name = "RunProcessStreamError";
|
|
79
109
|
}
|
|
80
110
|
}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { AgentInvocationRecord, AgentReport, RunRecord } from "
|
|
1
|
+
import type { AgentInvocationRecord, AgentReport, RunRecord } from "../../../domain/run/model/types.js";
|
|
2
2
|
export interface RunRecordInitResult {
|
|
3
3
|
readonly initialRecord: RunRecord;
|
|
4
4
|
readonly recordPersisted: boolean;
|
|
@@ -7,5 +7,4 @@ export interface AgentExecutionPhaseResult {
|
|
|
7
7
|
readonly agentRecords: AgentInvocationRecord[];
|
|
8
8
|
readonly agentReports: AgentReport[];
|
|
9
9
|
readonly hadAgentFailure: boolean;
|
|
10
|
-
readonly hadEvalFailure: boolean;
|
|
11
10
|
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { type ResolvedExtraContextFile } from "../../../competition/shared/extra-context.js";
|
|
2
|
+
export interface BuildRunPromptOptions {
|
|
3
|
+
specContent: string;
|
|
4
|
+
workspacePath: string;
|
|
5
|
+
extraContextFiles?: readonly ResolvedExtraContextFile[];
|
|
6
|
+
}
|
|
7
|
+
export declare function buildRunPrompt(options: BuildRunPromptOptions): string;
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import { appendExtraContextPromptSection, } from "../../../competition/shared/extra-context.js";
|
|
2
|
+
import { appendConstraints, appendOutputRequirements, buildWorkspaceArtifactRequirements, } from "../../../competition/shared/prompt-helpers.js";
|
|
3
|
+
export function buildRunPrompt(options) {
|
|
4
|
+
const { specContent, workspacePath, extraContextFiles = [] } = options;
|
|
5
|
+
const lines = [
|
|
6
|
+
"Implement the following task:",
|
|
7
|
+
"",
|
|
8
|
+
"```",
|
|
9
|
+
specContent.trimEnd(),
|
|
10
|
+
"```",
|
|
11
|
+
];
|
|
12
|
+
appendConstraints(lines, {
|
|
13
|
+
readAccess: workspacePath,
|
|
14
|
+
writeAccess: workspacePath,
|
|
15
|
+
});
|
|
16
|
+
appendExtraContextPromptSection(lines, extraContextFiles);
|
|
17
|
+
appendOutputRequirements(lines, [
|
|
18
|
+
"- When finished, clean the workspace of temporary files/dirs you created (e.g., `tmp`, `.tmp`, etc.) unless they are intended deliverables.",
|
|
19
|
+
...buildWorkspaceArtifactRequirements([
|
|
20
|
+
{
|
|
21
|
+
instruction: "Then write a 1-2 sentence summary",
|
|
22
|
+
path: ".summary.txt",
|
|
23
|
+
},
|
|
24
|
+
]),
|
|
25
|
+
]);
|
|
26
|
+
return `${lines.join("\n")}\n`;
|
|
27
|
+
}
|
|
@@ -1,8 +1,11 @@
|
|
|
1
|
-
import type { AgentInvocationRecord, AgentReport, RunRecord, RunReport } from "
|
|
1
|
+
import type { AgentInvocationRecord, AgentReport, ExtractedTokenUsage, RunRecord, RunReport } from "../../../domain/run/model/types.js";
|
|
2
|
+
import type { TokenUsageResult } from "../../../workspace/chat/token-usage-result.js";
|
|
2
3
|
export interface AgentExecutionState {
|
|
3
4
|
diffAttempted: boolean;
|
|
4
5
|
diffCaptured: boolean;
|
|
5
6
|
diffStatistics?: string;
|
|
7
|
+
tokenUsage?: ExtractedTokenUsage;
|
|
8
|
+
tokenUsageResult: TokenUsageResult;
|
|
6
9
|
}
|
|
7
10
|
export interface AgentExecutionResult {
|
|
8
11
|
record: AgentInvocationRecord;
|
|
@@ -10,5 +13,4 @@ export interface AgentExecutionResult {
|
|
|
10
13
|
}
|
|
11
14
|
export declare function finalizeAgentResult(runId: string, record: AgentInvocationRecord, derivations: AgentExecutionState): AgentExecutionResult;
|
|
12
15
|
export declare function toAgentReport(runId: string, record: AgentInvocationRecord, derivations: AgentExecutionState): AgentReport;
|
|
13
|
-
export declare function
|
|
14
|
-
export declare function toRunReport(record: RunRecord, agents: AgentReport[], hadAgentFailure: boolean, hadEvalFailure: boolean): RunReport;
|
|
16
|
+
export declare function toRunReport(record: RunRecord, agents: AgentReport[], hadAgentFailure: boolean): RunReport;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { buildAgentArtifactPaths,
|
|
1
|
+
import { buildAgentArtifactPaths, getAgentDirectoryPath, getAgentManifestPath, } from "../../../workspace/structure.js";
|
|
2
2
|
import { RunReportInvariantError } from "./errors.js";
|
|
3
3
|
export function finalizeAgentResult(runId, record, derivations) {
|
|
4
4
|
return {
|
|
@@ -7,9 +7,6 @@ export function finalizeAgentResult(runId, record, derivations) {
|
|
|
7
7
|
};
|
|
8
8
|
}
|
|
9
9
|
export function toAgentReport(runId, record, derivations) {
|
|
10
|
-
if (!record.evals) {
|
|
11
|
-
throw new RunReportInvariantError(`Agent ${record.agentId} is missing evaluation results for status ${record.status}.`);
|
|
12
|
-
}
|
|
13
10
|
if (!record.startedAt || !record.completedAt) {
|
|
14
11
|
throw new RunReportInvariantError(`Agent ${record.agentId} is missing lifecycle timestamps for status ${record.status}.`);
|
|
15
12
|
}
|
|
@@ -21,15 +18,12 @@ export function toAgentReport(runId, record, derivations) {
|
|
|
21
18
|
return {
|
|
22
19
|
agentId: record.agentId,
|
|
23
20
|
status: record.status,
|
|
21
|
+
tokenUsage: record.tokenUsage ?? derivations.tokenUsage,
|
|
22
|
+
tokenUsageResult: derivations.tokenUsageResult,
|
|
24
23
|
runtimeManifestPath: getAgentManifestPath(runId, record.agentId),
|
|
25
24
|
baseDirectory: getAgentDirectoryPath(runId, record.agentId),
|
|
26
25
|
diffStatistics: derivations.diffStatistics,
|
|
27
26
|
assets,
|
|
28
|
-
evals: buildAgentEvalViews({
|
|
29
|
-
runId,
|
|
30
|
-
agentId: record.agentId,
|
|
31
|
-
evals: record.evals,
|
|
32
|
-
}),
|
|
33
27
|
error: record.error,
|
|
34
28
|
warnings: record.warnings,
|
|
35
29
|
startedAt: record.startedAt,
|
|
@@ -38,26 +32,20 @@ export function toAgentReport(runId, record, derivations) {
|
|
|
38
32
|
diffCaptured: derivations.diffCaptured,
|
|
39
33
|
};
|
|
40
34
|
}
|
|
41
|
-
export function
|
|
42
|
-
|
|
43
|
-
}
|
|
44
|
-
export function toRunReport(record, agents, hadAgentFailure, hadEvalFailure) {
|
|
45
|
-
const derivedAgentFailure = agents.some((agent) => agent.status === "failed");
|
|
46
|
-
const derivedEvalFailure = hasEvalFailures(agents);
|
|
35
|
+
export function toRunReport(record, agents, hadAgentFailure) {
|
|
36
|
+
const derivedAgentFailure = agents.some((agent) => agent.status === "failed" || agent.status === "errored");
|
|
47
37
|
if (hadAgentFailure !== derivedAgentFailure) {
|
|
48
38
|
throw new RunReportInvariantError(`RunReport mismatch: hadAgentFailure (${hadAgentFailure}) does not match derived value (${derivedAgentFailure}).`);
|
|
49
39
|
}
|
|
50
|
-
if (hadEvalFailure !== derivedEvalFailure) {
|
|
51
|
-
throw new RunReportInvariantError(`RunReport mismatch: hadEvalFailure (${hadEvalFailure}) does not match derived value (${derivedEvalFailure}).`);
|
|
52
|
-
}
|
|
53
40
|
return {
|
|
54
41
|
runId: record.runId,
|
|
55
42
|
spec: record.spec,
|
|
56
43
|
status: record.status,
|
|
57
44
|
createdAt: record.createdAt,
|
|
45
|
+
startedAt: record.startedAt,
|
|
46
|
+
completedAt: record.completedAt,
|
|
58
47
|
baseRevisionSha: record.baseRevisionSha,
|
|
59
48
|
agents,
|
|
60
49
|
hadAgentFailure: derivedAgentFailure,
|
|
61
|
-
hadEvalFailure: derivedEvalFailure,
|
|
62
50
|
};
|
|
63
51
|
}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import type { RunStatus } from "../../../status/index.js";
|
|
2
|
+
export declare const RUN_ABORT_WARNING = "Run aborted before agent completed.";
|
|
3
|
+
export declare function setActiveTerminationStatus(runId: string, status: RunStatus | undefined): void;
|
|
4
|
+
export declare function getActiveTerminationStatus(runId: string): RunStatus | undefined;
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
export const RUN_ABORT_WARNING = "Run aborted before agent completed.";
|
|
2
|
+
const activeTerminationStatuses = new Map();
|
|
3
|
+
export function setActiveTerminationStatus(runId, status) {
|
|
4
|
+
if (status === undefined) {
|
|
5
|
+
activeTerminationStatuses.delete(runId);
|
|
6
|
+
return;
|
|
7
|
+
}
|
|
8
|
+
activeTerminationStatuses.set(runId, status);
|
|
9
|
+
}
|
|
10
|
+
export function getActiveTerminationStatus(runId) {
|
|
11
|
+
return activeTerminationStatuses.get(runId);
|
|
12
|
+
}
|
|
@@ -1,8 +1,5 @@
|
|
|
1
|
-
import { type AgentArtifactPaths } from "
|
|
2
|
-
import type {
|
|
3
|
-
export type AgentEvalEnhanced = AgentEvalSnapshot & {
|
|
4
|
-
logPath?: string;
|
|
5
|
-
};
|
|
1
|
+
import { type AgentArtifactPaths } from "../../../workspace/structure.js";
|
|
2
|
+
import type { AgentStatus, ExtractedTokenUsage, RunApplyStatus, RunAutoOutcome, RunRecord, RunSpecDescriptor } from "./types.js";
|
|
6
3
|
export interface AgentInvocationEnhanced {
|
|
7
4
|
agentId: string;
|
|
8
5
|
model: string;
|
|
@@ -13,22 +10,24 @@ export interface AgentInvocationEnhanced {
|
|
|
13
10
|
runtimeManifestPath: string;
|
|
14
11
|
baseDirectory: string;
|
|
15
12
|
assets: AgentArtifactPaths;
|
|
16
|
-
evals: AgentEvalEnhanced[];
|
|
17
13
|
diffStatistics?: string;
|
|
14
|
+
tokenUsage?: ExtractedTokenUsage;
|
|
18
15
|
error?: string;
|
|
19
16
|
warnings?: string[];
|
|
20
17
|
}
|
|
21
18
|
export interface RunRecordEnhanced {
|
|
22
19
|
runId: string;
|
|
23
20
|
createdAt: string;
|
|
21
|
+
startedAt?: string;
|
|
22
|
+
completedAt?: string;
|
|
24
23
|
status: RunRecord["status"];
|
|
25
24
|
baseRevisionSha: string;
|
|
26
25
|
rootPath: string;
|
|
27
26
|
spec: RunSpecDescriptor;
|
|
28
|
-
promptPath: string;
|
|
29
27
|
agents: AgentInvocationEnhanced[];
|
|
30
28
|
deletedAt?: string | null;
|
|
31
29
|
applyStatus?: RunApplyStatus;
|
|
30
|
+
auto?: RunAutoOutcome;
|
|
32
31
|
}
|
|
33
32
|
export interface BuildRunRecordViewOptions {
|
|
34
33
|
workspaceRoot?: string;
|
|
@@ -1,10 +1,9 @@
|
|
|
1
1
|
import { readFile } from "node:fs/promises";
|
|
2
2
|
import { join } from "node:path";
|
|
3
|
-
import { normalizeDiffStatistics } from "
|
|
4
|
-
import { isFileSystemError } from "
|
|
5
|
-
import { buildAgentArtifactPaths,
|
|
3
|
+
import { normalizeDiffStatistics } from "../../../utils/diff.js";
|
|
4
|
+
import { isFileSystemError } from "../../../utils/fs.js";
|
|
5
|
+
import { buildAgentArtifactPaths, getAgentDirectoryPath, getAgentManifestPath, } from "../../../workspace/structure.js";
|
|
6
6
|
export function buildRunRecordEnhanced(record) {
|
|
7
|
-
const promptPath = getRunPromptPath(record.runId);
|
|
8
7
|
const agents = (record.agents ?? []).map((agent) => {
|
|
9
8
|
const baseDirectory = getAgentDirectoryPath(record.runId, agent.agentId);
|
|
10
9
|
const runtimeManifestPath = getAgentManifestPath(record.runId, agent.agentId);
|
|
@@ -13,11 +12,6 @@ export function buildRunRecordEnhanced(record) {
|
|
|
13
12
|
agentId: agent.agentId,
|
|
14
13
|
artifacts: agent.artifacts,
|
|
15
14
|
});
|
|
16
|
-
const evals = buildAgentEvalViews({
|
|
17
|
-
runId: record.runId,
|
|
18
|
-
agentId: agent.agentId,
|
|
19
|
-
evals: agent.evals,
|
|
20
|
-
});
|
|
21
15
|
const enhancedAgent = {
|
|
22
16
|
agentId: agent.agentId,
|
|
23
17
|
model: agent.model,
|
|
@@ -25,7 +19,6 @@ export function buildRunRecordEnhanced(record) {
|
|
|
25
19
|
runtimeManifestPath,
|
|
26
20
|
baseDirectory,
|
|
27
21
|
assets,
|
|
28
|
-
evals,
|
|
29
22
|
};
|
|
30
23
|
const normalizedDiff = normalizeDiffStatistics(agent.diffStatistics);
|
|
31
24
|
if (normalizedDiff) {
|
|
@@ -46,16 +39,20 @@ export function buildRunRecordEnhanced(record) {
|
|
|
46
39
|
if (Array.isArray(agent.warnings) && agent.warnings.length > 0) {
|
|
47
40
|
enhancedAgent.warnings = [...agent.warnings];
|
|
48
41
|
}
|
|
42
|
+
if (agent.tokenUsage) {
|
|
43
|
+
enhancedAgent.tokenUsage = agent.tokenUsage;
|
|
44
|
+
}
|
|
49
45
|
return enhancedAgent;
|
|
50
46
|
});
|
|
51
47
|
const enhanced = {
|
|
52
48
|
runId: record.runId,
|
|
53
49
|
createdAt: record.createdAt,
|
|
50
|
+
startedAt: record.startedAt,
|
|
51
|
+
completedAt: record.completedAt,
|
|
54
52
|
status: record.status,
|
|
55
53
|
baseRevisionSha: record.baseRevisionSha,
|
|
56
54
|
rootPath: record.rootPath,
|
|
57
55
|
spec: record.spec,
|
|
58
|
-
promptPath,
|
|
59
56
|
agents,
|
|
60
57
|
};
|
|
61
58
|
if (Object.prototype.hasOwnProperty.call(record, "deletedAt")) {
|
|
@@ -64,6 +61,9 @@ export function buildRunRecordEnhanced(record) {
|
|
|
64
61
|
if (record.applyStatus) {
|
|
65
62
|
enhanced.applyStatus = record.applyStatus;
|
|
66
63
|
}
|
|
64
|
+
if (record.auto) {
|
|
65
|
+
enhanced.auto = record.auto;
|
|
66
|
+
}
|
|
67
67
|
return enhanced;
|
|
68
68
|
}
|
|
69
69
|
export async function buildRunRecordView(record, options = {}) {
|