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
package/package.json
CHANGED
|
@@ -1,15 +1,21 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "voratiq",
|
|
3
|
-
"version": "0.1.0-beta.
|
|
4
|
-
"description": "
|
|
3
|
+
"version": "0.1.0-beta.21",
|
|
4
|
+
"description": "Agent ensembles to design, generate, and select the best code for every task.",
|
|
5
5
|
"keywords": [
|
|
6
|
-
"
|
|
6
|
+
"agent-ensembles",
|
|
7
|
+
"agent-orchestration",
|
|
8
|
+
"ai-coding",
|
|
9
|
+
"claude-code",
|
|
7
10
|
"cli",
|
|
8
|
-
"multi-agent",
|
|
9
|
-
"spec-driven",
|
|
10
11
|
"code-generation",
|
|
12
|
+
"codex",
|
|
11
13
|
"evals",
|
|
12
|
-
"
|
|
14
|
+
"gemini",
|
|
15
|
+
"multi-agent",
|
|
16
|
+
"sandboxing",
|
|
17
|
+
"spec-driven-development",
|
|
18
|
+
"verification"
|
|
13
19
|
],
|
|
14
20
|
"homepage": "https://github.com/voratiq/voratiq#readme",
|
|
15
21
|
"bugs": {
|
|
@@ -43,37 +49,37 @@
|
|
|
43
49
|
"prepare": "npm run build",
|
|
44
50
|
"build": "tsc && node scripts/build-run-agent-shim.mjs",
|
|
45
51
|
"lint": "eslint . --max-warnings=0",
|
|
46
|
-
"
|
|
47
|
-
"format
|
|
52
|
+
"typecheck": "tsc -p tsconfig.typecheck.json",
|
|
53
|
+
"format": "prettier --cache --write .",
|
|
54
|
+
"format:check": "prettier --cache --check .",
|
|
48
55
|
"test": "./scripts/run-tests.sh",
|
|
49
56
|
"test:sandbox": "./scripts/run-tests.sh --sandbox-only",
|
|
50
|
-
"check": "npm run lint && npm run format:check && npm run build && npm test"
|
|
57
|
+
"check": "npm run lint && npm run typecheck && npm run format:check && npm run build && npm test"
|
|
51
58
|
},
|
|
52
59
|
"dependencies": {
|
|
53
|
-
"@voratiq/sandbox-runtime": "
|
|
60
|
+
"@voratiq/sandbox-runtime": "0.0.29-voratiq2",
|
|
54
61
|
"chalk": "^5.3.0",
|
|
55
62
|
"commander": "^12.1.0",
|
|
56
63
|
"js-yaml": "^4.1.0",
|
|
57
|
-
"zod": "^4.
|
|
64
|
+
"zod": "^4.3.6"
|
|
58
65
|
},
|
|
59
66
|
"devDependencies": {
|
|
60
|
-
"@eslint/js": "^9.
|
|
61
|
-
"@jest/globals": "^30.
|
|
67
|
+
"@eslint/js": "^9.39.4",
|
|
68
|
+
"@jest/globals": "^30.3.0",
|
|
62
69
|
"@types/jest": "^30.0.0",
|
|
63
70
|
"@types/js-yaml": "^4.0.9",
|
|
64
|
-
"@types/node": "^20.19.
|
|
65
|
-
"@typescript-eslint/eslint-plugin": "^8.
|
|
66
|
-
"@typescript-eslint/parser": "^8.
|
|
67
|
-
"
|
|
68
|
-
"eslint": "^
|
|
69
|
-
"eslint-plugin-jest": "^29.0.1",
|
|
71
|
+
"@types/node": "^20.19.39",
|
|
72
|
+
"@typescript-eslint/eslint-plugin": "^8.58.0",
|
|
73
|
+
"@typescript-eslint/parser": "^8.58.0",
|
|
74
|
+
"eslint": "^9.39.4",
|
|
75
|
+
"eslint-plugin-jest": "^29.15.1",
|
|
70
76
|
"eslint-plugin-simple-import-sort": "^12.1.1",
|
|
71
77
|
"globals": "^16.4.0",
|
|
72
|
-
"jest": "^30.
|
|
73
|
-
"jest-resolve": "^30.
|
|
74
|
-
"memfs": "^4.
|
|
75
|
-
"prettier": "^3.
|
|
76
|
-
"ts-jest": "^29.4.
|
|
78
|
+
"jest": "^30.3.0",
|
|
79
|
+
"jest-resolve": "^30.3.0",
|
|
80
|
+
"memfs": "^4.57.1",
|
|
81
|
+
"prettier": "^3.8.1",
|
|
82
|
+
"ts-jest": "^29.4.9",
|
|
77
83
|
"typescript": "^5.9.2"
|
|
78
84
|
},
|
|
79
85
|
"engines": {
|
package/dist/cli/review.d.ts
DELETED
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
import { Command } from "commander";
|
|
2
|
-
import { type ReviewCommandResult as ReviewExecutionResult } from "../commands/review/command.js";
|
|
3
|
-
export interface ReviewCommandOptions {
|
|
4
|
-
runId: string;
|
|
5
|
-
}
|
|
6
|
-
export interface ReviewCommandResult extends ReviewExecutionResult {
|
|
7
|
-
body: string;
|
|
8
|
-
stderr?: string;
|
|
9
|
-
exitCode?: number;
|
|
10
|
-
}
|
|
11
|
-
export declare function runReviewCommand(options: ReviewCommandOptions): Promise<ReviewCommandResult>;
|
|
12
|
-
export declare function createReviewCommand(): Command;
|
package/dist/cli/review.js
DELETED
|
@@ -1,33 +0,0 @@
|
|
|
1
|
-
import { Command } from "commander";
|
|
2
|
-
import { executeReviewCommand, } from "../commands/review/command.js";
|
|
3
|
-
import { resolveCliContext } from "../preflight/index.js";
|
|
4
|
-
import { renderReviewTranscript } from "../render/transcripts/review.js";
|
|
5
|
-
import { writeCommandOutput } from "./output.js";
|
|
6
|
-
export async function runReviewCommand(options) {
|
|
7
|
-
const { runId } = options;
|
|
8
|
-
const { root, workspacePaths } = await resolveCliContext();
|
|
9
|
-
const execution = await executeReviewCommand({
|
|
10
|
-
root,
|
|
11
|
-
runsFilePath: workspacePaths.runsFile,
|
|
12
|
-
runId,
|
|
13
|
-
});
|
|
14
|
-
const body = renderReviewTranscript(execution.runRecord);
|
|
15
|
-
return {
|
|
16
|
-
...execution,
|
|
17
|
-
body,
|
|
18
|
-
};
|
|
19
|
-
}
|
|
20
|
-
export function createReviewCommand() {
|
|
21
|
-
return new Command("review")
|
|
22
|
-
.description("Summarize artifacts from a completed run")
|
|
23
|
-
.requiredOption("--run <run-id>", "Identifier of the recorded run")
|
|
24
|
-
.allowExcessArguments(false)
|
|
25
|
-
.action(async (options) => {
|
|
26
|
-
const result = await runReviewCommand({ runId: options.run });
|
|
27
|
-
writeCommandOutput({
|
|
28
|
-
body: result.body,
|
|
29
|
-
stderr: result.stderr,
|
|
30
|
-
exitCode: result.exitCode,
|
|
31
|
-
});
|
|
32
|
-
});
|
|
33
|
-
}
|
package/dist/commands/errors.js
DELETED
|
@@ -1,4 +0,0 @@
|
|
|
1
|
-
import { type EnvironmentConfig } from "../../configs/environment/types.js";
|
|
2
|
-
import type { EvalInitSummary, InitConfigureOptions } from "./types.js";
|
|
3
|
-
export declare const EVALS_CONFIG_DISPLAY_PATH: string;
|
|
4
|
-
export declare function configureEvals(root: string, options: InitConfigureOptions, environment: EnvironmentConfig): Promise<EvalInitSummary>;
|
|
@@ -1,219 +0,0 @@
|
|
|
1
|
-
import { CANONICAL_EVAL_SLUGS, detectEvalSuggestions, } from "../../configs/evals/detect.js";
|
|
2
|
-
import { readEvalsConfig } from "../../configs/evals/loader.js";
|
|
3
|
-
import { normalizeEvalCommand } from "../../configs/evals/types.js";
|
|
4
|
-
import { renderEvalCommandPreface } from "../../render/transcripts/init.js";
|
|
5
|
-
import { isDefaultYamlTemplate, loadYamlConfig, persistYamlConfig, } from "../../utils/yaml.js";
|
|
6
|
-
import { formatWorkspacePath, resolveWorkspacePath, VORATIQ_EVALS_FILE, } from "../../workspace/structure.js";
|
|
7
|
-
import { buildDefaultEvalsTemplate } from "../../workspace/templates.js";
|
|
8
|
-
export const EVALS_CONFIG_DISPLAY_PATH = formatWorkspacePath(VORATIQ_EVALS_FILE);
|
|
9
|
-
const PLACEHOLDER_TEMPLATE = 'echo "configure %slug% eval"';
|
|
10
|
-
export async function configureEvals(root, options, environment) {
|
|
11
|
-
const filePath = resolveWorkspacePath(root, VORATIQ_EVALS_FILE);
|
|
12
|
-
const defaultTemplate = buildDefaultEvalsTemplate();
|
|
13
|
-
const loadResult = await loadYamlConfig(filePath, readEvalsConfig);
|
|
14
|
-
const defaultStatus = isDefaultYamlTemplate(loadResult.snapshot, defaultTemplate);
|
|
15
|
-
const configCreated = !loadResult.snapshot.exists;
|
|
16
|
-
const suggestions = await detectEvalSuggestions(root, environment);
|
|
17
|
-
const shouldSeed = configCreated || defaultStatus || loadResult.config.length === 0;
|
|
18
|
-
const refreshPlaceholders = !shouldSeed && isPlaceholderConfig(loadResult.config);
|
|
19
|
-
let nextEntries = loadResult.config;
|
|
20
|
-
let configUpdated = false;
|
|
21
|
-
if (shouldSeed) {
|
|
22
|
-
const seededEntries = await buildSeedEntries(suggestions, options);
|
|
23
|
-
const hasConfiguredEntries = seededEntries.some((entry) => Boolean(normalizeEvalCommand(entry.command)));
|
|
24
|
-
const hasExistingContent = loadResult.snapshot.exists && loadResult.snapshot.normalized.length > 0;
|
|
25
|
-
if (!hasConfiguredEntries && hasExistingContent) {
|
|
26
|
-
nextEntries = loadResult.config;
|
|
27
|
-
}
|
|
28
|
-
else {
|
|
29
|
-
const serialized = hasConfiguredEntries
|
|
30
|
-
? serializeEvalConfig(seededEntries)
|
|
31
|
-
: defaultTemplate;
|
|
32
|
-
configUpdated = await persistYamlConfig({
|
|
33
|
-
filePath,
|
|
34
|
-
serialized,
|
|
35
|
-
original: loadResult.snapshot,
|
|
36
|
-
defaultTemplate,
|
|
37
|
-
isDefaultTemplate: defaultStatus,
|
|
38
|
-
});
|
|
39
|
-
nextEntries = seededEntries;
|
|
40
|
-
}
|
|
41
|
-
}
|
|
42
|
-
else if (refreshPlaceholders) {
|
|
43
|
-
const refreshed = await refreshExistingEntries(loadResult.config, suggestions, options);
|
|
44
|
-
if (refreshed.changed) {
|
|
45
|
-
const serialized = serializeEvalConfig(refreshed.entries);
|
|
46
|
-
configUpdated = await persistYamlConfig({
|
|
47
|
-
filePath,
|
|
48
|
-
serialized,
|
|
49
|
-
original: loadResult.snapshot,
|
|
50
|
-
defaultTemplate,
|
|
51
|
-
isDefaultTemplate: defaultStatus,
|
|
52
|
-
});
|
|
53
|
-
nextEntries = refreshed.entries;
|
|
54
|
-
}
|
|
55
|
-
}
|
|
56
|
-
return buildEvalSummary(nextEntries, configCreated, configUpdated);
|
|
57
|
-
}
|
|
58
|
-
function buildEvalSummary(entries, configCreated, configUpdated) {
|
|
59
|
-
const enabled = entries
|
|
60
|
-
.filter((entry) => {
|
|
61
|
-
const normalized = normalizeEvalCommand(entry.command);
|
|
62
|
-
if (!normalized) {
|
|
63
|
-
return false;
|
|
64
|
-
}
|
|
65
|
-
return normalized !== buildPlaceholderCommand(entry.slug);
|
|
66
|
-
})
|
|
67
|
-
.map((entry) => entry.slug);
|
|
68
|
-
return {
|
|
69
|
-
configPath: EVALS_CONFIG_DISPLAY_PATH,
|
|
70
|
-
configuredEvals: enabled,
|
|
71
|
-
configCreated,
|
|
72
|
-
configUpdated,
|
|
73
|
-
};
|
|
74
|
-
}
|
|
75
|
-
async function buildSeedEntries(suggestions, options) {
|
|
76
|
-
const combined = combineSuggestionCommands(suggestions);
|
|
77
|
-
const firstPrompt = { value: true };
|
|
78
|
-
const entries = [];
|
|
79
|
-
for (const slug of CANONICAL_EVAL_SLUGS) {
|
|
80
|
-
const proposed = combined.get(slug);
|
|
81
|
-
const command = await resolveCommandChoice({
|
|
82
|
-
slug,
|
|
83
|
-
proposed,
|
|
84
|
-
options,
|
|
85
|
-
firstPrompt,
|
|
86
|
-
});
|
|
87
|
-
entries.push({ slug, command });
|
|
88
|
-
}
|
|
89
|
-
return entries;
|
|
90
|
-
}
|
|
91
|
-
async function refreshExistingEntries(entries, suggestions, options) {
|
|
92
|
-
const existingBySlug = new Map();
|
|
93
|
-
const extras = [];
|
|
94
|
-
for (const entry of entries) {
|
|
95
|
-
if (CANONICAL_EVAL_SLUGS.includes(entry.slug)) {
|
|
96
|
-
existingBySlug.set(entry.slug, { ...entry });
|
|
97
|
-
}
|
|
98
|
-
else {
|
|
99
|
-
extras.push({ ...entry });
|
|
100
|
-
}
|
|
101
|
-
}
|
|
102
|
-
const combined = combineSuggestionCommands(suggestions);
|
|
103
|
-
const firstPrompt = { value: true };
|
|
104
|
-
let changed = false;
|
|
105
|
-
const updatedCanonical = [];
|
|
106
|
-
for (const slug of CANONICAL_EVAL_SLUGS) {
|
|
107
|
-
const prior = existingBySlug.get(slug);
|
|
108
|
-
const proposed = combined.get(slug);
|
|
109
|
-
const resolved = await resolveCommandChoice({
|
|
110
|
-
slug,
|
|
111
|
-
proposed,
|
|
112
|
-
options,
|
|
113
|
-
firstPrompt,
|
|
114
|
-
existing: prior?.command,
|
|
115
|
-
});
|
|
116
|
-
if (!prior || prior.command !== resolved) {
|
|
117
|
-
changed = true;
|
|
118
|
-
}
|
|
119
|
-
updatedCanonical.push({ slug, command: resolved });
|
|
120
|
-
}
|
|
121
|
-
const resultEntries = [...updatedCanonical, ...extras];
|
|
122
|
-
return { entries: resultEntries, changed };
|
|
123
|
-
}
|
|
124
|
-
function combineSuggestionCommands(suggestions) {
|
|
125
|
-
const combined = new Map();
|
|
126
|
-
for (const suggestion of suggestions) {
|
|
127
|
-
for (const [slug, command] of suggestion.commands) {
|
|
128
|
-
const list = combined.get(slug);
|
|
129
|
-
if (!list) {
|
|
130
|
-
combined.set(slug, [command]);
|
|
131
|
-
continue;
|
|
132
|
-
}
|
|
133
|
-
if (!list.includes(command)) {
|
|
134
|
-
list.push(command);
|
|
135
|
-
}
|
|
136
|
-
}
|
|
137
|
-
}
|
|
138
|
-
const resolved = new Map();
|
|
139
|
-
for (const slug of CANONICAL_EVAL_SLUGS) {
|
|
140
|
-
const entries = combined.get(slug);
|
|
141
|
-
if (!entries || entries.length === 0) {
|
|
142
|
-
resolved.set(slug, undefined);
|
|
143
|
-
continue;
|
|
144
|
-
}
|
|
145
|
-
resolved.set(slug, entries.join(" && "));
|
|
146
|
-
}
|
|
147
|
-
return resolved;
|
|
148
|
-
}
|
|
149
|
-
async function resolveCommandChoice(params) {
|
|
150
|
-
const { slug, proposed, options, firstPrompt, existing } = params;
|
|
151
|
-
const normalizedExisting = normalizeEvalCommand(existing);
|
|
152
|
-
const normalizedProposed = normalizeEvalCommand(proposed);
|
|
153
|
-
if (!normalizedProposed) {
|
|
154
|
-
return normalizedExisting;
|
|
155
|
-
}
|
|
156
|
-
if (!options.interactive || !options.confirm) {
|
|
157
|
-
return normalizedProposed;
|
|
158
|
-
}
|
|
159
|
-
const prefaceLines = renderEvalCommandPreface({
|
|
160
|
-
commandName: slug,
|
|
161
|
-
commandText: normalizedProposed,
|
|
162
|
-
firstPrompt: firstPrompt.value,
|
|
163
|
-
});
|
|
164
|
-
const defaultValue = normalizedExisting !== undefined
|
|
165
|
-
? normalizedExisting === normalizedProposed
|
|
166
|
-
: true;
|
|
167
|
-
const accepted = await options.confirm({
|
|
168
|
-
message: "Enable?",
|
|
169
|
-
defaultValue,
|
|
170
|
-
prefaceLines,
|
|
171
|
-
});
|
|
172
|
-
firstPrompt.value = false;
|
|
173
|
-
return accepted ? normalizedProposed : normalizedExisting;
|
|
174
|
-
}
|
|
175
|
-
function isPlaceholderConfig(entries) {
|
|
176
|
-
if (entries.length === 0) {
|
|
177
|
-
return true;
|
|
178
|
-
}
|
|
179
|
-
const canonical = entries.filter((entry) => CANONICAL_EVAL_SLUGS.includes(entry.slug));
|
|
180
|
-
if (canonical.length !== CANONICAL_EVAL_SLUGS.length) {
|
|
181
|
-
return false;
|
|
182
|
-
}
|
|
183
|
-
const nonCanonical = entries.some((entry) => !CANONICAL_EVAL_SLUGS.includes(entry.slug));
|
|
184
|
-
if (nonCanonical) {
|
|
185
|
-
return false;
|
|
186
|
-
}
|
|
187
|
-
return canonical.every((entry) => {
|
|
188
|
-
const normalized = normalizeEvalCommand(entry.command);
|
|
189
|
-
return (normalized === undefined ||
|
|
190
|
-
normalized === buildPlaceholderCommand(entry.slug));
|
|
191
|
-
});
|
|
192
|
-
}
|
|
193
|
-
function serializeEvalConfig(entries) {
|
|
194
|
-
const lines = [];
|
|
195
|
-
for (const entry of entries) {
|
|
196
|
-
const command = normalizeEvalCommand(entry.command);
|
|
197
|
-
if (!command) {
|
|
198
|
-
lines.push(`${entry.slug}:`);
|
|
199
|
-
continue;
|
|
200
|
-
}
|
|
201
|
-
if (command.includes("#") ||
|
|
202
|
-
command.includes(": ") ||
|
|
203
|
-
command.includes('"')) {
|
|
204
|
-
const escaped = command.replace(/"/g, '\\"');
|
|
205
|
-
lines.push(`${entry.slug}: "${escaped}"`);
|
|
206
|
-
}
|
|
207
|
-
else if (command.includes(" ") || command.includes(":")) {
|
|
208
|
-
lines.push(`${entry.slug}: "${command}"`);
|
|
209
|
-
}
|
|
210
|
-
else {
|
|
211
|
-
lines.push(`${entry.slug}: ${command}`);
|
|
212
|
-
}
|
|
213
|
-
}
|
|
214
|
-
lines.push("");
|
|
215
|
-
return lines.join("\n");
|
|
216
|
-
}
|
|
217
|
-
function buildPlaceholderCommand(slug) {
|
|
218
|
-
return PLACEHOLDER_TEMPLATE.replace("%slug%", slug);
|
|
219
|
-
}
|
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
import type { RunRecordEnhanced } from "../../records/enhanced.js";
|
|
2
|
-
export interface ReviewCommandInput {
|
|
3
|
-
root: string;
|
|
4
|
-
runsFilePath: string;
|
|
5
|
-
runId: string;
|
|
6
|
-
}
|
|
7
|
-
export interface ReviewCommandResult {
|
|
8
|
-
runRecord: RunRecordEnhanced;
|
|
9
|
-
}
|
|
10
|
-
export declare function executeReviewCommand(input: ReviewCommandInput): Promise<ReviewCommandResult>;
|
|
@@ -1,26 +0,0 @@
|
|
|
1
|
-
import { buildRunRecordView } from "../../records/enhanced.js";
|
|
2
|
-
import { RunRecordNotFoundError } from "../../records/errors.js";
|
|
3
|
-
import { fetchRunsSafely } from "../../records/persistence.js";
|
|
4
|
-
import { RunNotFoundCliError } from "../errors.js";
|
|
5
|
-
export async function executeReviewCommand(input) {
|
|
6
|
-
const { root, runsFilePath, runId } = input;
|
|
7
|
-
const { records } = await fetchRunsSafely({
|
|
8
|
-
root,
|
|
9
|
-
runsFilePath,
|
|
10
|
-
runId,
|
|
11
|
-
filters: { includeDeleted: true },
|
|
12
|
-
}).catch((error) => {
|
|
13
|
-
if (error instanceof RunRecordNotFoundError) {
|
|
14
|
-
throw new RunNotFoundCliError(runId);
|
|
15
|
-
}
|
|
16
|
-
throw error;
|
|
17
|
-
});
|
|
18
|
-
const runRecord = records[0];
|
|
19
|
-
if (!runRecord) {
|
|
20
|
-
throw new RunNotFoundCliError(runId);
|
|
21
|
-
}
|
|
22
|
-
const enhanced = await buildRunRecordView(runRecord, {
|
|
23
|
-
workspaceRoot: root,
|
|
24
|
-
});
|
|
25
|
-
return { runRecord: enhanced };
|
|
26
|
-
}
|
|
@@ -1,19 +0,0 @@
|
|
|
1
|
-
import type { AgentDefinition } from "../../configs/agents/types.js";
|
|
2
|
-
import type { EnvironmentConfig } from "../../configs/environment/types.js";
|
|
3
|
-
import type { EvalDefinition } from "../../configs/evals/types.js";
|
|
4
|
-
import type { AgentRecordMutators } from "../../records/mutators.js";
|
|
5
|
-
import type { AgentExecutionPhaseResult } from "./phases.js";
|
|
6
|
-
export interface AgentExecutionInput {
|
|
7
|
-
readonly agents: readonly AgentDefinition[];
|
|
8
|
-
readonly baseRevisionSha: string;
|
|
9
|
-
readonly runId: string;
|
|
10
|
-
readonly root: string;
|
|
11
|
-
readonly evalPlan: readonly EvalDefinition[];
|
|
12
|
-
readonly effectiveMaxParallel: number;
|
|
13
|
-
readonly mutators: AgentRecordMutators;
|
|
14
|
-
readonly environment: EnvironmentConfig;
|
|
15
|
-
}
|
|
16
|
-
/**
|
|
17
|
-
* Execute all agents and aggregate results.
|
|
18
|
-
*/
|
|
19
|
-
export declare function executeAgents(input: AgentExecutionInput): Promise<AgentExecutionPhaseResult>;
|
|
@@ -1,63 +0,0 @@
|
|
|
1
|
-
import { toError } from "../../utils/errors.js";
|
|
2
|
-
import { prepareAgents, runAgentsWithLimit } from "./agents.js";
|
|
3
|
-
import { hasEvalFailures } from "./reports.js";
|
|
4
|
-
/**
|
|
5
|
-
* Execute all agents and aggregate results.
|
|
6
|
-
*/
|
|
7
|
-
export async function executeAgents(input) {
|
|
8
|
-
const { agents, baseRevisionSha, runId, root, evalPlan, effectiveMaxParallel, mutators, environment, } = input;
|
|
9
|
-
let executionError;
|
|
10
|
-
let phaseResult;
|
|
11
|
-
try {
|
|
12
|
-
for (const agent of agents) {
|
|
13
|
-
await mutators.recordAgentQueued(agent);
|
|
14
|
-
}
|
|
15
|
-
const { ready: preparedAgents, failures: preparationFailures } = await prepareAgents({
|
|
16
|
-
agents,
|
|
17
|
-
baseRevisionSha,
|
|
18
|
-
runId,
|
|
19
|
-
root,
|
|
20
|
-
evalPlan,
|
|
21
|
-
environment,
|
|
22
|
-
});
|
|
23
|
-
for (const failure of preparationFailures) {
|
|
24
|
-
await mutators.recordAgentSnapshot(failure.record);
|
|
25
|
-
}
|
|
26
|
-
for (const execution of preparedAgents) {
|
|
27
|
-
execution.progress = {
|
|
28
|
-
onRunning: mutators.recordAgentSnapshot,
|
|
29
|
-
onCompleted: async (result) => {
|
|
30
|
-
await mutators.recordAgentSnapshot(result.record);
|
|
31
|
-
},
|
|
32
|
-
};
|
|
33
|
-
}
|
|
34
|
-
const executionResults = preparedAgents.length > 0 && effectiveMaxParallel > 0
|
|
35
|
-
? await runAgentsWithLimit(preparedAgents, effectiveMaxParallel)
|
|
36
|
-
: [];
|
|
37
|
-
const agentExecutions = [...preparationFailures, ...executionResults];
|
|
38
|
-
const sortedExecutions = sortExecutions(agentExecutions);
|
|
39
|
-
const agentRecords = sortedExecutions.map((execution) => execution.record);
|
|
40
|
-
const agentReports = sortedExecutions.map((execution) => execution.report);
|
|
41
|
-
const hadAgentFailure = agentReports.some((report) => report.status === "failed");
|
|
42
|
-
const hadEvalFailure = hasEvalFailures(agentReports);
|
|
43
|
-
phaseResult = {
|
|
44
|
-
agentRecords,
|
|
45
|
-
agentReports,
|
|
46
|
-
hadAgentFailure,
|
|
47
|
-
hadEvalFailure,
|
|
48
|
-
};
|
|
49
|
-
}
|
|
50
|
-
catch (error) {
|
|
51
|
-
executionError = error;
|
|
52
|
-
}
|
|
53
|
-
if (executionError) {
|
|
54
|
-
throw toError(executionError);
|
|
55
|
-
}
|
|
56
|
-
if (!phaseResult) {
|
|
57
|
-
throw new Error(`Agent execution did not produce a result for run ${runId}`);
|
|
58
|
-
}
|
|
59
|
-
return phaseResult;
|
|
60
|
-
}
|
|
61
|
-
function sortExecutions(executions) {
|
|
62
|
-
return [...executions].sort((a, b) => a.record.agentId.localeCompare(b.record.agentId));
|
|
63
|
-
}
|
|
@@ -1,23 +0,0 @@
|
|
|
1
|
-
import type { AuthProvider, AuthRuntimeContext } from "../../../auth/providers/types.js";
|
|
2
|
-
import type { AgentDefinition } from "../../../configs/agents/types.js";
|
|
3
|
-
export interface StagedAuthContext {
|
|
4
|
-
provider: AuthProvider;
|
|
5
|
-
sandboxPath: string;
|
|
6
|
-
runtime: AuthRuntimeContext;
|
|
7
|
-
agentId: string;
|
|
8
|
-
runId: string;
|
|
9
|
-
}
|
|
10
|
-
export interface StageAuthOptions {
|
|
11
|
-
agent: AgentDefinition;
|
|
12
|
-
agentRoot: string;
|
|
13
|
-
runId: string;
|
|
14
|
-
root: string;
|
|
15
|
-
runtime?: AuthRuntimeContext;
|
|
16
|
-
}
|
|
17
|
-
export interface StageAuthResult {
|
|
18
|
-
env: Record<string, string>;
|
|
19
|
-
context: StagedAuthContext;
|
|
20
|
-
}
|
|
21
|
-
export declare function verifyAgentProviders(agents: readonly AgentDefinition[]): Promise<void>;
|
|
22
|
-
export declare function stageAgentAuth(options: StageAuthOptions): Promise<StageAuthResult>;
|
|
23
|
-
export declare function teardownAuthContext(context: StagedAuthContext | undefined): Promise<void>;
|
|
@@ -1,108 +0,0 @@
|
|
|
1
|
-
import { rm } from "node:fs/promises";
|
|
2
|
-
import { resolveAuthProvider } from "../../../auth/providers/index.js";
|
|
3
|
-
import { buildAuthRuntimeContext } from "../../../auth/runtime.js";
|
|
4
|
-
import { toErrorMessage } from "../../../utils/errors.js";
|
|
5
|
-
import { isFileSystemError } from "../../../utils/fs.js";
|
|
6
|
-
import { AuthProviderStageError, AuthProviderVerificationError, MissingAgentProviderError, RunCommandError, UnknownAuthProviderError, } from "../errors.js";
|
|
7
|
-
import { getRunCommand } from "./sandbox-launcher.js";
|
|
8
|
-
export async function verifyAgentProviders(agents) {
|
|
9
|
-
if (agents.length === 0) {
|
|
10
|
-
return;
|
|
11
|
-
}
|
|
12
|
-
await getRunCommand();
|
|
13
|
-
const runtime = buildAuthRuntimeContext();
|
|
14
|
-
for (const agent of agents) {
|
|
15
|
-
const provider = resolveAgentProvider(agent);
|
|
16
|
-
try {
|
|
17
|
-
await provider.verify({
|
|
18
|
-
agentId: agent.id,
|
|
19
|
-
runtime,
|
|
20
|
-
});
|
|
21
|
-
}
|
|
22
|
-
catch (error) {
|
|
23
|
-
throw new AuthProviderVerificationError(extractAuthProviderMessage(error));
|
|
24
|
-
}
|
|
25
|
-
}
|
|
26
|
-
}
|
|
27
|
-
export async function stageAgentAuth(options) {
|
|
28
|
-
const { agent, agentRoot, runId } = options;
|
|
29
|
-
const provider = resolveAgentProvider(agent);
|
|
30
|
-
const runtime = options.runtime ?? buildAuthRuntimeContext();
|
|
31
|
-
try {
|
|
32
|
-
const stageResult = await provider.stage({
|
|
33
|
-
agentId: agent.id,
|
|
34
|
-
agentRoot,
|
|
35
|
-
runtime,
|
|
36
|
-
runId,
|
|
37
|
-
root: options.root,
|
|
38
|
-
});
|
|
39
|
-
return {
|
|
40
|
-
env: stageResult.env,
|
|
41
|
-
context: {
|
|
42
|
-
provider,
|
|
43
|
-
sandboxPath: stageResult.sandboxPath,
|
|
44
|
-
runtime,
|
|
45
|
-
agentId: agent.id,
|
|
46
|
-
runId,
|
|
47
|
-
},
|
|
48
|
-
};
|
|
49
|
-
}
|
|
50
|
-
catch (error) {
|
|
51
|
-
throw new AuthProviderStageError(extractAuthProviderMessage(error));
|
|
52
|
-
}
|
|
53
|
-
}
|
|
54
|
-
export async function teardownAuthContext(context) {
|
|
55
|
-
if (!context) {
|
|
56
|
-
return;
|
|
57
|
-
}
|
|
58
|
-
if (tornDownContexts.has(context)) {
|
|
59
|
-
return;
|
|
60
|
-
}
|
|
61
|
-
tornDownContexts.add(context);
|
|
62
|
-
try {
|
|
63
|
-
if (context.provider.teardown) {
|
|
64
|
-
try {
|
|
65
|
-
await context.provider.teardown({
|
|
66
|
-
sandboxPath: context.sandboxPath,
|
|
67
|
-
});
|
|
68
|
-
}
|
|
69
|
-
catch (error) {
|
|
70
|
-
if (!isIgnorableTeardownError(error)) {
|
|
71
|
-
throw error;
|
|
72
|
-
}
|
|
73
|
-
}
|
|
74
|
-
}
|
|
75
|
-
await rm(context.sandboxPath, { recursive: true, force: true });
|
|
76
|
-
}
|
|
77
|
-
catch (error) {
|
|
78
|
-
tornDownContexts.delete(context);
|
|
79
|
-
throw error;
|
|
80
|
-
}
|
|
81
|
-
}
|
|
82
|
-
const tornDownContexts = new WeakSet();
|
|
83
|
-
function isIgnorableTeardownError(error) {
|
|
84
|
-
if (!isFileSystemError(error)) {
|
|
85
|
-
return false;
|
|
86
|
-
}
|
|
87
|
-
return error.code === "ENOENT";
|
|
88
|
-
}
|
|
89
|
-
function resolveAgentProvider(agent) {
|
|
90
|
-
const providerId = agent.provider;
|
|
91
|
-
if (!providerId) {
|
|
92
|
-
throw new MissingAgentProviderError(agent.id);
|
|
93
|
-
}
|
|
94
|
-
const provider = resolveAuthProvider(providerId);
|
|
95
|
-
if (!provider) {
|
|
96
|
-
throw new UnknownAuthProviderError(providerId);
|
|
97
|
-
}
|
|
98
|
-
return provider;
|
|
99
|
-
}
|
|
100
|
-
function extractAuthProviderMessage(error) {
|
|
101
|
-
if (error instanceof RunCommandError) {
|
|
102
|
-
return error.messageForDisplay();
|
|
103
|
-
}
|
|
104
|
-
if (error instanceof Error && error.message) {
|
|
105
|
-
return error.message;
|
|
106
|
-
}
|
|
107
|
-
return toErrorMessage(error);
|
|
108
|
-
}
|
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
import type { AgentDefinition } from "../../../configs/agents/types.js";
|
|
2
|
-
import { AgentRunContext } from "./run-context.js";
|
|
3
|
-
export interface CaptureChatOptions {
|
|
4
|
-
agent: AgentDefinition;
|
|
5
|
-
agentContext: AgentRunContext;
|
|
6
|
-
agentRoot: string;
|
|
7
|
-
reason?: string;
|
|
8
|
-
}
|
|
9
|
-
export declare function captureAgentChatTranscripts(options: CaptureChatOptions): Promise<void>;
|
|
@@ -1,35 +0,0 @@
|
|
|
1
|
-
import { toErrorMessage } from "../../../utils/errors.js";
|
|
2
|
-
import { preserveProviderChatTranscripts } from "../../../workspace/chat/artifacts.js";
|
|
3
|
-
export async function captureAgentChatTranscripts(options) {
|
|
4
|
-
const providerId = options.agent.provider;
|
|
5
|
-
if (!providerId) {
|
|
6
|
-
return;
|
|
7
|
-
}
|
|
8
|
-
const result = await preserveProviderChatTranscripts({
|
|
9
|
-
providerId,
|
|
10
|
-
agentRoot: options.agentRoot,
|
|
11
|
-
});
|
|
12
|
-
const format = result.format;
|
|
13
|
-
if ((result.status === "captured" || result.status === "already-exists") &&
|
|
14
|
-
format) {
|
|
15
|
-
options.agentContext.markChatArtifact(format);
|
|
16
|
-
if (result.status === "captured" &&
|
|
17
|
-
format === "json" &&
|
|
18
|
-
(result.sourceCount ?? 0) > 1) {
|
|
19
|
-
// Intentionally silent: avoid noisy warnings during routine runs.
|
|
20
|
-
}
|
|
21
|
-
return;
|
|
22
|
-
}
|
|
23
|
-
if (result.status === "not-found") {
|
|
24
|
-
return;
|
|
25
|
-
}
|
|
26
|
-
if (result.status === "error") {
|
|
27
|
-
throw new Error(formatChatWarning(options, `Failed to preserve ${providerId} transcripts: ${toErrorMessage(result.error)}`));
|
|
28
|
-
}
|
|
29
|
-
}
|
|
30
|
-
function formatChatWarning(options, message) {
|
|
31
|
-
const prefix = options.reason
|
|
32
|
-
? `[voratiq] (${options.agent.id}, ${options.reason})`
|
|
33
|
-
: `[voratiq] (${options.agent.id})`;
|
|
34
|
-
return `${prefix} ${message}`;
|
|
35
|
-
}
|