@provos/ironcurtain 0.11.0 → 0.12.0
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 +9 -7
- package/dist/cli-help.d.ts +12 -0
- package/dist/cli-help.js +21 -0
- package/dist/cli-help.js.map +1 -1
- package/dist/cli.js +8 -6
- package/dist/cli.js.map +1 -1
- package/dist/config/agent-model-guard.d.ts +14 -0
- package/dist/config/agent-model-guard.js +24 -0
- package/dist/config/agent-model-guard.js.map +1 -0
- package/dist/config/config-command.js +116 -1
- package/dist/config/config-command.js.map +1 -1
- package/dist/config/first-start.js +2 -8
- package/dist/config/first-start.js.map +1 -1
- package/dist/config/model-provider.d.ts +9 -0
- package/dist/config/model-provider.js +13 -0
- package/dist/config/model-provider.js.map +1 -1
- package/dist/config/paths.d.ts +48 -6
- package/dist/config/paths.js +63 -8
- package/dist/config/paths.js.map +1 -1
- package/dist/config/user-config.d.ts +48 -1
- package/dist/config/user-config.js +49 -1
- package/dist/config/user-config.js.map +1 -1
- package/dist/daemon/daemon-command.js +14 -5
- package/dist/daemon/daemon-command.js.map +1 -1
- package/dist/daemon/ironcurtain-daemon.d.ts +18 -0
- package/dist/daemon/ironcurtain-daemon.js +22 -1
- package/dist/daemon/ironcurtain-daemon.js.map +1 -1
- package/dist/daemon-client/daemon-client.d.ts +123 -0
- package/dist/daemon-client/daemon-client.js +324 -0
- package/dist/daemon-client/daemon-client.js.map +1 -0
- package/dist/docker/adapters/codex.d.ts +9 -0
- package/dist/docker/adapters/codex.js +297 -0
- package/dist/docker/adapters/codex.js.map +1 -0
- package/dist/docker/agent-adapter.d.ts +5 -1
- package/dist/docker/agent-adapter.js +2 -0
- package/dist/docker/agent-adapter.js.map +1 -1
- package/dist/docker/agent-registry.js +5 -0
- package/dist/docker/agent-registry.js.map +1 -1
- package/dist/docker/apple-container-manager.d.ts +49 -0
- package/dist/docker/apple-container-manager.js +464 -0
- package/dist/docker/apple-container-manager.js.map +1 -0
- package/dist/docker/code-mode-proxy.d.ts +11 -0
- package/dist/docker/code-mode-proxy.js +3 -1
- package/dist/docker/code-mode-proxy.js.map +1 -1
- package/dist/docker/container-lifecycle.d.ts +2 -2
- package/dist/docker/container-lifecycle.js.map +1 -1
- package/dist/docker/container-runtime.d.ts +29 -0
- package/dist/docker/container-runtime.js +76 -0
- package/dist/docker/container-runtime.js.map +1 -0
- package/dist/docker/docker-agent-session.js +30 -1
- package/dist/docker/docker-agent-session.js.map +1 -1
- package/dist/docker/docker-infrastructure.d.ts +186 -9
- package/dist/docker/docker-infrastructure.js +521 -77
- package/dist/docker/docker-infrastructure.js.map +1 -1
- package/dist/docker/docker-manager.d.ts +25 -5
- package/dist/docker/docker-manager.js +262 -22
- package/dist/docker/docker-manager.js.map +1 -1
- package/dist/docker/docker-probe.d.ts +45 -0
- package/dist/docker/docker-probe.js +86 -0
- package/dist/docker/docker-probe.js.map +1 -0
- package/dist/docker/docker-progress-sink.d.ts +1 -1
- package/dist/docker/mitm-proxy.d.ts +52 -1
- package/dist/docker/mitm-proxy.js +234 -10
- package/dist/docker/mitm-proxy.js.map +1 -1
- package/dist/docker/network-topology.d.ts +81 -0
- package/dist/docker/network-topology.js +160 -0
- package/dist/docker/network-topology.js.map +1 -0
- package/dist/docker/oauth-credentials.d.ts +13 -0
- package/dist/docker/oauth-credentials.js +125 -0
- package/dist/docker/oauth-credentials.js.map +1 -1
- package/dist/docker/package-types.d.ts +1 -1
- package/dist/docker/provider-config.d.ts +29 -1
- package/dist/docker/provider-config.js +93 -3
- package/dist/docker/provider-config.js.map +1 -1
- package/dist/docker/provision-lock.d.ts +46 -0
- package/dist/docker/provision-lock.js +152 -0
- package/dist/docker/provision-lock.js.map +1 -0
- package/dist/docker/pty-session.d.ts +15 -0
- package/dist/docker/pty-session.js +139 -67
- package/dist/docker/pty-session.js.map +1 -1
- package/dist/docker/registry-proxy.d.ts +46 -0
- package/dist/docker/registry-proxy.js +255 -1
- package/dist/docker/registry-proxy.js.map +1 -1
- package/dist/docker/resource-limits.d.ts +14 -5
- package/dist/docker/resource-limits.js +11 -8
- package/dist/docker/resource-limits.js.map +1 -1
- package/dist/docker/trajectory-capture.d.ts +79 -0
- package/dist/docker/trajectory-capture.js +521 -0
- package/dist/docker/trajectory-capture.js.map +1 -0
- package/dist/docker/trajectory-reassembler.d.ts +286 -0
- package/dist/docker/trajectory-reassembler.js +990 -0
- package/dist/docker/trajectory-reassembler.js.map +1 -0
- package/dist/docker/trajectory-tap.d.ts +100 -0
- package/dist/docker/trajectory-tap.js +410 -0
- package/dist/docker/trajectory-tap.js.map +1 -0
- package/dist/docker/trajectory-types.d.ts +187 -0
- package/dist/docker/trajectory-types.js +43 -0
- package/dist/docker/trajectory-types.js.map +1 -0
- package/dist/docker/types.d.ts +53 -7
- package/dist/doctor/checks.d.ts +36 -3
- package/dist/doctor/checks.js +102 -15
- package/dist/doctor/checks.js.map +1 -1
- package/dist/doctor/doctor-command.js +39 -9
- package/dist/doctor/doctor-command.js.map +1 -1
- package/dist/doctor/mcp-liveness.d.ts +1 -1
- package/dist/doctor/mcp-liveness.js +12 -4
- package/dist/doctor/mcp-liveness.js.map +1 -1
- package/dist/index.js +30 -12
- package/dist/index.js.map +1 -1
- package/dist/mux/mux-app.d.ts +2 -0
- package/dist/mux/mux-app.js +1 -0
- package/dist/mux/mux-app.js.map +1 -1
- package/dist/mux/mux-command.js +19 -6
- package/dist/mux/mux-command.js.map +1 -1
- package/dist/mux/pty-bridge.d.ts +2 -0
- package/dist/mux/pty-bridge.js +3 -0
- package/dist/mux/pty-bridge.js.map +1 -1
- package/dist/observe/observe-command.js +112 -125
- package/dist/observe/observe-command.js.map +1 -1
- package/dist/persona/broad-policy-validator.d.ts +95 -0
- package/dist/persona/broad-policy-validator.js +171 -0
- package/dist/persona/broad-policy-validator.js.map +1 -0
- package/dist/persona/compile-persona-policy.d.ts +54 -2
- package/dist/persona/compile-persona-policy.js +29 -4
- package/dist/persona/compile-persona-policy.js.map +1 -1
- package/dist/persona/event-bus-progress-reporter.d.ts +57 -0
- package/dist/persona/event-bus-progress-reporter.js +66 -0
- package/dist/persona/event-bus-progress-reporter.js.map +1 -0
- package/dist/persona/persona-command.js +46 -76
- package/dist/persona/persona-command.js.map +1 -1
- package/dist/persona/persona-compile-orchestrator.d.ts +101 -0
- package/dist/persona/persona-compile-orchestrator.js +504 -0
- package/dist/persona/persona-compile-orchestrator.js.map +1 -0
- package/dist/persona/persona-service.d.ts +137 -0
- package/dist/persona/persona-service.js +263 -0
- package/dist/persona/persona-service.js.map +1 -0
- package/dist/persona/policy-mutation-audit.d.ts +109 -0
- package/dist/persona/policy-mutation-audit.js +179 -0
- package/dist/persona/policy-mutation-audit.js.map +1 -0
- package/dist/persona/rule-delta.d.ts +30 -0
- package/dist/persona/rule-delta.js +82 -0
- package/dist/persona/rule-delta.js.map +1 -0
- package/dist/persona/types.d.ts +12 -0
- package/dist/pipeline/annotate.js +10 -2
- package/dist/pipeline/annotate.js.map +1 -1
- package/dist/pipeline/compile.js +14 -2
- package/dist/pipeline/compile.js.map +1 -1
- package/dist/pipeline/pipeline-runner.d.ts +63 -4
- package/dist/pipeline/pipeline-runner.js +159 -50
- package/dist/pipeline/pipeline-runner.js.map +1 -1
- package/dist/pipeline/pipeline-shared.d.ts +32 -3
- package/dist/pipeline/pipeline-shared.js +76 -8
- package/dist/pipeline/pipeline-shared.js.map +1 -1
- package/dist/pipeline/refresh-lists.js +3 -5
- package/dist/pipeline/refresh-lists.js.map +1 -1
- package/dist/sandbox/index.d.ts +19 -4
- package/dist/sandbox/index.js +31 -18
- package/dist/sandbox/index.js.map +1 -1
- package/dist/session/index.js +10 -1
- package/dist/session/index.js.map +1 -1
- package/dist/session/preflight.d.ts +1 -30
- package/dist/session/preflight.js +52 -85
- package/dist/session/preflight.js.map +1 -1
- package/dist/session/types.d.ts +9 -0
- package/dist/signal/bot-command.js +6 -1
- package/dist/signal/bot-command.js.map +1 -1
- package/dist/signal/setup-signal.js +1 -1
- package/dist/signal/setup-signal.js.map +1 -1
- package/dist/signal/signal-container.d.ts +3 -3
- package/dist/signal/signal-container.js +2 -2
- package/dist/signal/signal-container.js.map +1 -1
- package/dist/trusted-process/call-circuit-breaker.d.ts +6 -0
- package/dist/trusted-process/call-circuit-breaker.js +22 -3
- package/dist/trusted-process/call-circuit-breaker.js.map +1 -1
- package/dist/trusted-process/container-command.d.ts +35 -0
- package/dist/trusted-process/container-command.js +49 -0
- package/dist/trusted-process/container-command.js.map +1 -0
- package/dist/trusted-process/mcp-proxy-server.js +35 -3
- package/dist/trusted-process/mcp-proxy-server.js.map +1 -1
- package/dist/trusted-process/policy-engine.js +13 -2
- package/dist/trusted-process/policy-engine.js.map +1 -1
- package/dist/trusted-process/tcp-server-transport.d.ts +12 -1
- package/dist/trusted-process/tcp-server-transport.js +9 -1
- package/dist/trusted-process/tcp-server-transport.js.map +1 -1
- package/dist/trusted-process/tool-call-coordinator.d.ts +22 -8
- package/dist/trusted-process/tool-call-coordinator.js +149 -65
- package/dist/trusted-process/tool-call-coordinator.js.map +1 -1
- package/dist/trusted-process/tool-call-pipeline.d.ts +8 -0
- package/dist/trusted-process/tool-call-pipeline.js +68 -34
- package/dist/trusted-process/tool-call-pipeline.js.map +1 -1
- package/dist/util/atomic-write.d.ts +31 -0
- package/dist/util/atomic-write.js +43 -0
- package/dist/util/atomic-write.js.map +1 -0
- package/dist/web-ui/conn-registry.d.ts +14 -0
- package/dist/web-ui/conn-registry.js +25 -0
- package/dist/web-ui/conn-registry.js.map +1 -0
- package/dist/web-ui/dispatch/persona-dispatch.d.ts +46 -2
- package/dist/web-ui/dispatch/persona-dispatch.js +209 -56
- package/dist/web-ui/dispatch/persona-dispatch.js.map +1 -1
- package/dist/web-ui/dispatch/session-dispatch.js +22 -4
- package/dist/web-ui/dispatch/session-dispatch.js.map +1 -1
- package/dist/web-ui/dispatch/types.d.ts +23 -0
- package/dist/web-ui/dispatch/types.js +4 -0
- package/dist/web-ui/dispatch/types.js.map +1 -1
- package/dist/web-ui/dispatch/workflow-dispatch.js +116 -5
- package/dist/web-ui/dispatch/workflow-dispatch.js.map +1 -1
- package/dist/web-ui/json-rpc-dispatch.js +1 -1
- package/dist/web-ui/json-rpc-dispatch.js.map +1 -1
- package/dist/web-ui/web-event-bus.d.ts +25 -1
- package/dist/web-ui/web-event-bus.js.map +1 -1
- package/dist/web-ui/web-ui-server.d.ts +14 -0
- package/dist/web-ui/web-ui-server.js +16 -0
- package/dist/web-ui/web-ui-server.js.map +1 -1
- package/dist/web-ui/web-ui-types.d.ts +133 -5
- package/dist/web-ui/web-ui-types.js.map +1 -1
- package/dist/web-ui-static/assets/index-BD5U6ILh.css +1 -0
- package/dist/web-ui-static/assets/index-FMsHWEfK.js +79 -0
- package/dist/web-ui-static/index.html +2 -2
- package/dist/workflow/cli-shared.d.ts +62 -0
- package/dist/workflow/cli-shared.js +117 -0
- package/dist/workflow/cli-shared.js.map +1 -0
- package/dist/workflow/cli-support.js +0 -2
- package/dist/workflow/cli-support.js.map +1 -1
- package/dist/workflow/container-snapshots.d.ts +29 -0
- package/dist/workflow/container-snapshots.js +137 -0
- package/dist/workflow/container-snapshots.js.map +1 -0
- package/dist/workflow/daemon-gate-commands.d.ts +21 -0
- package/dist/workflow/daemon-gate-commands.js +599 -0
- package/dist/workflow/daemon-gate-commands.js.map +1 -0
- package/dist/workflow/discovery.d.ts +29 -0
- package/dist/workflow/discovery.js +67 -7
- package/dist/workflow/discovery.js.map +1 -1
- package/dist/workflow/lane-template.d.ts +89 -0
- package/dist/workflow/lane-template.js +141 -0
- package/dist/workflow/lane-template.js.map +1 -0
- package/dist/workflow/lint.d.ts +7 -1
- package/dist/workflow/lint.js +186 -3
- package/dist/workflow/lint.js.map +1 -1
- package/dist/workflow/machine-builder.d.ts +90 -2
- package/dist/workflow/machine-builder.js +222 -29
- package/dist/workflow/machine-builder.js.map +1 -1
- package/dist/workflow/message-log.d.ts +15 -1
- package/dist/workflow/message-log.js.map +1 -1
- package/dist/workflow/orchestrator.d.ts +505 -1
- package/dist/workflow/orchestrator.js +1722 -69
- package/dist/workflow/orchestrator.js.map +1 -1
- package/dist/workflow/prompt-builder.js +2 -1
- package/dist/workflow/prompt-builder.js.map +1 -1
- package/dist/workflow/run-state-command.js +1 -1
- package/dist/workflow/run-state-command.js.map +1 -1
- package/dist/workflow/status-parser.js +19 -4
- package/dist/workflow/status-parser.js.map +1 -1
- package/dist/workflow/types.d.ts +123 -23
- package/dist/workflow/types.js +2 -0
- package/dist/workflow/types.js.map +1 -1
- package/dist/workflow/validate.d.ts +23 -1
- package/dist/workflow/validate.js +311 -22
- package/dist/workflow/validate.js.map +1 -1
- package/dist/workflow/workflow-command.d.ts +0 -17
- package/dist/workflow/workflow-command.js +110 -88
- package/dist/workflow/workflow-command.js.map +1 -1
- package/dist/workflow/workflow-discovery.d.ts +2 -0
- package/dist/workflow/workflow-discovery.js +22 -1
- package/dist/workflow/workflow-discovery.js.map +1 -1
- package/dist/workflow/workflow-manager.d.ts +34 -0
- package/dist/workflow/workflow-manager.js +52 -1
- package/dist/workflow/workflow-manager.js.map +1 -1
- package/dist/workflow/workflows/design-and-code/README.md +50 -0
- package/dist/workflow/workflows/deterministic-eval-smoke/scripts/format_report.js +29 -0
- package/dist/workflow/workflows/deterministic-eval-smoke/scripts/package.json +5 -0
- package/dist/workflow/workflows/deterministic-eval-smoke/scripts/requirements.txt +1 -0
- package/dist/workflow/workflows/deterministic-eval-smoke/scripts/run_eval.py +41 -0
- package/dist/workflow/workflows/deterministic-eval-smoke/workflow.yaml +57 -0
- package/dist/workflow/workflows/deterministic-verdict-smoke/scripts/classify.py +18 -0
- package/dist/workflow/workflows/deterministic-verdict-smoke/workflow.yaml +51 -0
- package/dist/workflow/workflows/evolve/scripts/LICENSE +201 -0
- package/dist/workflow/workflows/evolve/scripts/README.md +314 -0
- package/dist/workflow/workflows/evolve/scripts/evolve-brief +16 -0
- package/dist/workflow/workflows/evolve/scripts/evolve-cognition +16 -0
- package/dist/workflow/workflows/evolve/scripts/evolve-db +16 -0
- package/dist/workflow/workflows/evolve/scripts/evolve-eval +16 -0
- package/dist/workflow/workflows/evolve/scripts/evolve-files +16 -0
- package/dist/workflow/workflows/evolve/scripts/evolve-summary +16 -0
- package/dist/workflow/workflows/evolve/scripts/evolve_core/__init__.py +14 -0
- package/dist/workflow/workflows/evolve/scripts/evolve_core/algorithms/__init__.py +17 -0
- package/dist/workflow/workflows/evolve/scripts/evolve_core/algorithms/base.py +21 -0
- package/dist/workflow/workflows/evolve/scripts/evolve_core/algorithms/factory.py +90 -0
- package/dist/workflow/workflows/evolve/scripts/evolve_core/algorithms/greedy.py +17 -0
- package/dist/workflow/workflows/evolve/scripts/evolve_core/algorithms/island.py +316 -0
- package/dist/workflow/workflows/evolve/scripts/evolve_core/algorithms/random.py +18 -0
- package/dist/workflow/workflows/evolve/scripts/evolve_core/algorithms/ucb1.py +55 -0
- package/dist/workflow/workflows/evolve/scripts/evolve_core/best_snapshot.py +62 -0
- package/dist/workflow/workflows/evolve/scripts/evolve_core/cli.py +752 -0
- package/dist/workflow/workflows/evolve/scripts/evolve_core/cognition.py +127 -0
- package/dist/workflow/workflows/evolve/scripts/evolve_core/database.py +218 -0
- package/dist/workflow/workflows/evolve/scripts/evolve_core/diff.py +57 -0
- package/dist/workflow/workflows/evolve/scripts/evolve_core/embedding.py +84 -0
- package/dist/workflow/workflows/evolve/scripts/evolve_core/file_lock.py +45 -0
- package/dist/workflow/workflows/evolve/scripts/evolve_core/run_state.py +343 -0
- package/dist/workflow/workflows/evolve/scripts/evolve_core/sampling_config.py +173 -0
- package/dist/workflow/workflows/evolve/scripts/evolve_core/structures.py +93 -0
- package/dist/workflow/workflows/evolve/scripts/evolve_core/vector_index.py +191 -0
- package/dist/workflow/workflows/evolve/scripts/evolve_result.py +1503 -0
- package/dist/workflow/workflows/evolve/scripts/requirements.txt +2 -0
- package/dist/workflow/workflows/evolve/workflow.yaml +646 -0
- package/dist/workflow/workflows/test-email-summary/workflow.yaml +1 -0
- package/dist/workflow/workflows/vuln-discovery/skills/harness-design-fuzzing/SKILL.md +6 -1
- package/dist/workflow/workflows/vuln-discovery/skills/memory-safety-c-cpp/SKILL.md +1 -0
- package/dist/workflow/workflows/vuln-discovery/skills/vulnerability-triage/SKILL.md +4 -0
- package/dist/workflow/workflows/vuln-discovery/workflow.yaml +13 -8
- package/docker/Dockerfile.base +22 -0
- package/docker/Dockerfile.base.arm64 +18 -0
- package/docker/Dockerfile.claude-code +3 -1
- package/docker/Dockerfile.codex +17 -0
- package/docker/Dockerfile.goose +3 -1
- package/docker/entrypoint-claude-code.sh +6 -45
- package/docker/entrypoint-codex.sh +42 -0
- package/docker/entrypoint-goose.sh +5 -24
- package/docker/entrypoint-uid-remap.sh +93 -0
- package/package.json +9 -4
- package/src/workflow/workflows/design-and-code/README.md +50 -0
- package/src/workflow/workflows/deterministic-eval-smoke/scripts/format_report.js +29 -0
- package/src/workflow/workflows/deterministic-eval-smoke/scripts/package.json +5 -0
- package/src/workflow/workflows/deterministic-eval-smoke/scripts/requirements.txt +1 -0
- package/src/workflow/workflows/deterministic-eval-smoke/scripts/run_eval.py +41 -0
- package/src/workflow/workflows/deterministic-eval-smoke/workflow.yaml +57 -0
- package/src/workflow/workflows/deterministic-verdict-smoke/scripts/classify.py +18 -0
- package/src/workflow/workflows/deterministic-verdict-smoke/workflow.yaml +51 -0
- package/src/workflow/workflows/evolve/scripts/LICENSE +201 -0
- package/src/workflow/workflows/evolve/scripts/README.md +314 -0
- package/src/workflow/workflows/evolve/scripts/evolve-brief +16 -0
- package/src/workflow/workflows/evolve/scripts/evolve-cognition +16 -0
- package/src/workflow/workflows/evolve/scripts/evolve-db +16 -0
- package/src/workflow/workflows/evolve/scripts/evolve-eval +16 -0
- package/src/workflow/workflows/evolve/scripts/evolve-files +16 -0
- package/src/workflow/workflows/evolve/scripts/evolve-summary +16 -0
- package/src/workflow/workflows/evolve/scripts/evolve_core/__init__.py +14 -0
- package/src/workflow/workflows/evolve/scripts/evolve_core/algorithms/__init__.py +17 -0
- package/src/workflow/workflows/evolve/scripts/evolve_core/algorithms/base.py +21 -0
- package/src/workflow/workflows/evolve/scripts/evolve_core/algorithms/factory.py +90 -0
- package/src/workflow/workflows/evolve/scripts/evolve_core/algorithms/greedy.py +17 -0
- package/src/workflow/workflows/evolve/scripts/evolve_core/algorithms/island.py +316 -0
- package/src/workflow/workflows/evolve/scripts/evolve_core/algorithms/random.py +18 -0
- package/src/workflow/workflows/evolve/scripts/evolve_core/algorithms/ucb1.py +55 -0
- package/src/workflow/workflows/evolve/scripts/evolve_core/best_snapshot.py +62 -0
- package/src/workflow/workflows/evolve/scripts/evolve_core/cli.py +752 -0
- package/src/workflow/workflows/evolve/scripts/evolve_core/cognition.py +127 -0
- package/src/workflow/workflows/evolve/scripts/evolve_core/database.py +218 -0
- package/src/workflow/workflows/evolve/scripts/evolve_core/diff.py +57 -0
- package/src/workflow/workflows/evolve/scripts/evolve_core/embedding.py +84 -0
- package/src/workflow/workflows/evolve/scripts/evolve_core/file_lock.py +45 -0
- package/src/workflow/workflows/evolve/scripts/evolve_core/run_state.py +343 -0
- package/src/workflow/workflows/evolve/scripts/evolve_core/sampling_config.py +173 -0
- package/src/workflow/workflows/evolve/scripts/evolve_core/structures.py +93 -0
- package/src/workflow/workflows/evolve/scripts/evolve_core/vector_index.py +191 -0
- package/src/workflow/workflows/evolve/scripts/evolve_result.py +1503 -0
- package/src/workflow/workflows/evolve/scripts/requirements.txt +2 -0
- package/src/workflow/workflows/evolve/workflow.yaml +646 -0
- package/src/workflow/workflows/test-email-summary/workflow.yaml +1 -0
- package/src/workflow/workflows/vuln-discovery/skills/harness-design-fuzzing/SKILL.md +6 -1
- package/src/workflow/workflows/vuln-discovery/skills/memory-safety-c-cpp/SKILL.md +1 -0
- package/src/workflow/workflows/vuln-discovery/skills/vulnerability-triage/SKILL.md +4 -0
- package/src/workflow/workflows/vuln-discovery/workflow.yaml +13 -8
- package/dist/web-ui-static/assets/index-BFO5z1js.js +0 -76
- package/dist/web-ui-static/assets/index-CCUwrkIL.css +0 -1
package/dist/workflow/types.d.ts
CHANGED
|
@@ -45,6 +45,8 @@ export declare function resolveWorkflowSkillsOptions(skills: readonly string[] |
|
|
|
45
45
|
* See `docs/designs/workflow-session-identity.md` §2.4 / §6.
|
|
46
46
|
*/
|
|
47
47
|
export declare const DEFAULT_CONTAINER_SCOPE = "primary";
|
|
48
|
+
/** Reserved deterministic result verdict emitted when a declared result file cannot be read or parsed. */
|
|
49
|
+
export declare const DETERMINISTIC_RESULT_ERROR_VERDICT = "result_file_error";
|
|
48
50
|
/**
|
|
49
51
|
* Unique identifier for a workflow instance. Branded to prevent accidental
|
|
50
52
|
* mixing with other string identifiers.
|
|
@@ -57,6 +59,13 @@ export declare function createWorkflowId(): WorkflowId;
|
|
|
57
59
|
export interface WorkflowDefinition {
|
|
58
60
|
readonly name: string;
|
|
59
61
|
readonly description: string;
|
|
62
|
+
/**
|
|
63
|
+
* When true, the workflow is omitted from the web UI — both the start
|
|
64
|
+
* picker and the active/past-run tables. The CLI `workflow list` still
|
|
65
|
+
* shows it. Use for smoke-test / fixture workflows that should remain
|
|
66
|
+
* runnable from the CLI without cluttering the UI. Default: false.
|
|
67
|
+
*/
|
|
68
|
+
readonly hidden?: boolean;
|
|
60
69
|
readonly initial: string;
|
|
61
70
|
readonly states: Record<string, WorkflowStateDefinition>;
|
|
62
71
|
readonly settings?: WorkflowSettings;
|
|
@@ -70,8 +79,8 @@ export interface WorkflowSettings {
|
|
|
70
79
|
readonly maxRounds?: number;
|
|
71
80
|
/** Git repository path for worktree management. */
|
|
72
81
|
readonly gitRepoPath?: string;
|
|
73
|
-
/**
|
|
74
|
-
readonly
|
|
82
|
+
/** Number of synchronous evolve workers. Default: 1. */
|
|
83
|
+
readonly workers?: number;
|
|
75
84
|
/**
|
|
76
85
|
* Optional system prompt text appended to the base system prompt
|
|
77
86
|
* for ALL agent states in this workflow. Use for workspace
|
|
@@ -107,11 +116,40 @@ export interface WorkflowSettings {
|
|
|
107
116
|
* Ignored for builtin workflows (no Docker infrastructure to share).
|
|
108
117
|
*/
|
|
109
118
|
readonly sharedContainer?: boolean;
|
|
119
|
+
/**
|
|
120
|
+
* When true, aborted shared-container workflow stops snapshot each live
|
|
121
|
+
* container's writable layer so resume can recreate the scope from the
|
|
122
|
+
* recorded immutable image digest. Default: false.
|
|
123
|
+
*/
|
|
124
|
+
readonly snapshotOnStop?: boolean;
|
|
110
125
|
}
|
|
111
126
|
/**
|
|
112
127
|
* State definition. Discriminated on `type`.
|
|
113
128
|
*/
|
|
114
129
|
export type WorkflowStateDefinition = AgentStateDefinition | HumanGateStateDefinition | DeterministicStateDefinition | TerminalStateDefinition;
|
|
130
|
+
export interface FanOutDefinition {
|
|
131
|
+
/**
|
|
132
|
+
* Lane multiplicity. `'workers'` defers to `settings.workers`; the
|
|
133
|
+
* `number` branch is a per-state override for workflows that want a
|
|
134
|
+
* fixed-width segment independent of the global worker count.
|
|
135
|
+
*/
|
|
136
|
+
readonly count: 'workers' | number;
|
|
137
|
+
/**
|
|
138
|
+
* Join discipline. Only barrier joins are supported today (every lane
|
|
139
|
+
* must complete before the segment exits); async joins are a future,
|
|
140
|
+
* deliberately reviewed extension.
|
|
141
|
+
*/
|
|
142
|
+
readonly join: 'barrier';
|
|
143
|
+
}
|
|
144
|
+
export interface LaneResourceRequest {
|
|
145
|
+
readonly cpu?: number;
|
|
146
|
+
readonly mem?: string;
|
|
147
|
+
readonly gpu?: number;
|
|
148
|
+
}
|
|
149
|
+
export interface StateScheduleDefinition {
|
|
150
|
+
readonly pool: 'eval' | 'agent';
|
|
151
|
+
readonly resources?: LaneResourceRequest;
|
|
152
|
+
}
|
|
115
153
|
export interface AgentStateDefinition {
|
|
116
154
|
readonly type: 'agent';
|
|
117
155
|
readonly description: string;
|
|
@@ -133,8 +171,25 @@ export interface AgentStateDefinition {
|
|
|
133
171
|
readonly outputs: readonly string[];
|
|
134
172
|
/** Transitions evaluated in order; first match wins. */
|
|
135
173
|
readonly transitions: readonly AgentTransitionDefinition[];
|
|
136
|
-
/**
|
|
174
|
+
/**
|
|
175
|
+
* Legacy field from the old per-instance parallel model (one git
|
|
176
|
+
* worktree per parallel instance). Unused on the `workers`/lane path —
|
|
177
|
+
* native fan-out lanes are scheduled by the pump, not by per-state
|
|
178
|
+
* worktree opt-in. Retained for backward compatibility with existing
|
|
179
|
+
* manifests; do not wire new behavior to it.
|
|
180
|
+
*/
|
|
137
181
|
readonly worktree?: boolean;
|
|
182
|
+
/**
|
|
183
|
+
* Marks this state as a member of a parent fan-out segment. Parent fan-out
|
|
184
|
+
* states factor these members into child round machines at runtime.
|
|
185
|
+
*/
|
|
186
|
+
readonly fanOutMember?: boolean;
|
|
187
|
+
/** Fan-out topology metadata for a parent segment driver state. */
|
|
188
|
+
readonly fanOut?: FanOutDefinition;
|
|
189
|
+
/** Ordered fan-out segment member state IDs. */
|
|
190
|
+
readonly segment?: readonly string[];
|
|
191
|
+
/** Scheduling metadata for lane-local execution. Schema-only until Phase 8. */
|
|
192
|
+
readonly schedule?: StateScheduleDefinition;
|
|
138
193
|
/**
|
|
139
194
|
* When false, re-invocations of this state resume the previous agent
|
|
140
195
|
* session via --continue, receiving an abbreviated re-visit prompt.
|
|
@@ -217,6 +272,34 @@ export interface DeterministicStateDefinition {
|
|
|
217
272
|
* Never a shell string -- per CLAUDE.md safe coding rules.
|
|
218
273
|
*/
|
|
219
274
|
readonly run: readonly (readonly string[])[];
|
|
275
|
+
/**
|
|
276
|
+
* When true, execute the command arrays inside the workflow's shared
|
|
277
|
+
* Docker container via docker exec instead of on the host.
|
|
278
|
+
*/
|
|
279
|
+
readonly container?: boolean;
|
|
280
|
+
/**
|
|
281
|
+
* Shared-container scope to exec into when `container` is true. Defaults
|
|
282
|
+
* to DEFAULT_CONTAINER_SCOPE.
|
|
283
|
+
*/
|
|
284
|
+
readonly containerScope?: string;
|
|
285
|
+
/**
|
|
286
|
+
* Per-command timeout in milliseconds for deterministic execution.
|
|
287
|
+
* Undefined uses the runner default.
|
|
288
|
+
*/
|
|
289
|
+
readonly timeoutMs?: number;
|
|
290
|
+
/**
|
|
291
|
+
* Workspace-relative JSON result file written by a containerized helper.
|
|
292
|
+
* Container-only; see validate.ts for path and routing constraints.
|
|
293
|
+
*/
|
|
294
|
+
readonly resultFile?: string;
|
|
295
|
+
/** Fan-out topology metadata for a parent segment driver state. */
|
|
296
|
+
readonly fanOut?: FanOutDefinition;
|
|
297
|
+
/** Ordered fan-out segment member state IDs. */
|
|
298
|
+
readonly segment?: readonly string[];
|
|
299
|
+
/** Marks this state as a member of a parent fan-out segment. */
|
|
300
|
+
readonly fanOutMember?: boolean;
|
|
301
|
+
/** Scheduling metadata for lane-local execution. Schema-only until Phase 8. */
|
|
302
|
+
readonly schedule?: StateScheduleDefinition;
|
|
220
303
|
readonly transitions: readonly AgentTransitionDefinition[];
|
|
221
304
|
}
|
|
222
305
|
export interface TerminalStateDefinition {
|
|
@@ -341,31 +424,38 @@ export type WorkflowEvent = {
|
|
|
341
424
|
readonly prompt?: string;
|
|
342
425
|
} | {
|
|
343
426
|
readonly type: 'HUMAN_ABORT';
|
|
344
|
-
} | {
|
|
345
|
-
readonly type: 'PARALLEL_ALL_COMPLETED';
|
|
346
|
-
readonly results: readonly ParallelSlotResult[];
|
|
347
|
-
} | {
|
|
348
|
-
readonly type: 'PARALLEL_SLOT_FAILED';
|
|
349
|
-
readonly key: string;
|
|
350
|
-
readonly error: string;
|
|
351
|
-
} | {
|
|
352
|
-
readonly type: 'MERGE_SUCCEEDED';
|
|
353
|
-
} | {
|
|
354
|
-
readonly type: 'MERGE_CONFLICT';
|
|
355
|
-
readonly conflictDetails: string;
|
|
356
427
|
};
|
|
428
|
+
export interface WorkflowLanePreparedResult {
|
|
429
|
+
readonly passed: boolean;
|
|
430
|
+
readonly testCount?: number;
|
|
431
|
+
readonly errors?: string;
|
|
432
|
+
readonly verdict?: string;
|
|
433
|
+
readonly payload?: Record<string, unknown>;
|
|
434
|
+
}
|
|
435
|
+
export interface WorkflowLaneContext {
|
|
436
|
+
readonly id: number;
|
|
437
|
+
/** Container-absolute lane scratch directory, e.g. /workspace/.evolve_runs/main/current/lane_0. */
|
|
438
|
+
readonly dir: string;
|
|
439
|
+
/** Workspace-relative lane scratch directory, e.g. .evolve_runs/main/current/lane_0. */
|
|
440
|
+
readonly relativeDir: string;
|
|
441
|
+
/** Deterministic results prepared by the fan-out barrier before the child actor starts. */
|
|
442
|
+
readonly preparedResults?: Readonly<Record<string, WorkflowLanePreparedResult>>;
|
|
443
|
+
}
|
|
357
444
|
export interface WorkflowContext {
|
|
358
445
|
readonly taskDescription: string;
|
|
446
|
+
readonly lane?: WorkflowLaneContext;
|
|
359
447
|
readonly artifacts: Record<string, string>;
|
|
360
448
|
readonly round: number;
|
|
361
449
|
readonly maxRounds: number;
|
|
362
450
|
/** Per-role output hash for stall detection. */
|
|
363
451
|
readonly previousOutputHashes: Record<string, string>;
|
|
364
452
|
readonly previousTestCount: number | null;
|
|
453
|
+
readonly lastDeterministicResult?: {
|
|
454
|
+
readonly verdict?: string;
|
|
455
|
+
readonly payload?: Record<string, unknown>;
|
|
456
|
+
};
|
|
365
457
|
readonly humanPrompt: string | null;
|
|
366
458
|
readonly reviewHistory: readonly string[];
|
|
367
|
-
readonly parallelResults: Record<string, ParallelSlotResult>;
|
|
368
|
-
readonly worktreeBranches: readonly string[];
|
|
369
459
|
readonly totalTokens: number;
|
|
370
460
|
readonly lastError: string | null;
|
|
371
461
|
/**
|
|
@@ -427,12 +517,6 @@ export interface AgentSlot {
|
|
|
427
517
|
export interface WorkflowResult {
|
|
428
518
|
readonly finalArtifacts: Record<string, string>;
|
|
429
519
|
}
|
|
430
|
-
export interface ParallelSlotResult {
|
|
431
|
-
readonly key: string;
|
|
432
|
-
readonly status: 'success' | 'failed';
|
|
433
|
-
readonly error?: string;
|
|
434
|
-
readonly worktreeBranch?: string;
|
|
435
|
-
}
|
|
436
520
|
export interface HumanGateRequest {
|
|
437
521
|
readonly gateId: string;
|
|
438
522
|
readonly workflowId: string;
|
|
@@ -480,6 +564,18 @@ export interface WorkflowCheckpoint {
|
|
|
480
564
|
* from `definitionPath`'s package dir).
|
|
481
565
|
*/
|
|
482
566
|
readonly workflowSkillsDir?: string;
|
|
567
|
+
/**
|
|
568
|
+
* Per-run staged copy of the workflow package's `scripts/` tree (when
|
|
569
|
+
* the package shipped one). Mounted read-only at /workflow-scripts for
|
|
570
|
+
* shared-container deterministic states.
|
|
571
|
+
*/
|
|
572
|
+
readonly workflowScriptsDir?: string;
|
|
573
|
+
/**
|
|
574
|
+
* Per-containerScope Docker image snapshots captured at an aborted stop.
|
|
575
|
+
* `image` is the immutable sha256 image id and is the source of truth;
|
|
576
|
+
* `tag` is cosmetic only.
|
|
577
|
+
*/
|
|
578
|
+
readonly containerSnapshots?: Readonly<Record<string, ContainerSnapshotRef>>;
|
|
483
579
|
/**
|
|
484
580
|
* Terminal-phase status, populated only when the workflow has reached a terminal
|
|
485
581
|
* phase (completed / aborted / failed / waiting_human). Absent for mid-run
|
|
@@ -487,6 +583,10 @@ export interface WorkflowCheckpoint {
|
|
|
487
583
|
*/
|
|
488
584
|
readonly finalStatus?: WorkflowStatus;
|
|
489
585
|
}
|
|
586
|
+
export interface ContainerSnapshotRef {
|
|
587
|
+
readonly image: string;
|
|
588
|
+
readonly tag?: string;
|
|
589
|
+
}
|
|
490
590
|
export interface TransitionRecord {
|
|
491
591
|
readonly from: string;
|
|
492
592
|
readonly to: string;
|
package/dist/workflow/types.js
CHANGED
|
@@ -53,6 +53,8 @@ export function resolveWorkflowSkillsOptions(skills, skillsDir) {
|
|
|
53
53
|
* See `docs/designs/workflow-session-identity.md` §2.4 / §6.
|
|
54
54
|
*/
|
|
55
55
|
export const DEFAULT_CONTAINER_SCOPE = 'primary';
|
|
56
|
+
/** Reserved deterministic result verdict emitted when a declared result file cannot be read or parsed. */
|
|
57
|
+
export const DETERMINISTIC_RESULT_ERROR_VERDICT = 'result_file_error';
|
|
56
58
|
/** Creates a new unique WorkflowId. */
|
|
57
59
|
export function createWorkflowId() {
|
|
58
60
|
return randomUUID();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/workflow/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAGzC,8EAA8E;AAC9E,YAAY;AACZ,8EAA8E;AAE9E;;;GAGG;AACH,MAAM,CAAC,MAAM,qBAAqB,GAAG,WAAW,CAAC;AAEjD;;;;;;;;GAQG;AACH,MAAM,CAAC,MAAM,cAAc,GAAG,QAAQ,CAAC;AAEvC;;;;GAIG;AACH,MAAM,CAAC,MAAM,WAAW,GAAG,MAAM,CAAC;AAElC;;;;;;;GAOG;AACH,MAAM,UAAU,4BAA4B,CAC1C,MAA0D,EAC1D,SAA6B;IAM7B,IAAI,MAAM,KAAK,WAAW;QAAE,OAAO,EAAE,gBAAgB,EAAE,IAAI,EAAE,CAAC;IAC9D,MAAM,MAAM,GAA8D,EAAE,CAAC;IAC7E,IAAI,SAAS,KAAK,SAAS;QAAE,MAAM,CAAC,SAAS,GAAG,SAAS,CAAC;IAC1D,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC;QAAE,MAAM,CAAC,WAAW,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,CAAC;IAChE,OAAO,MAAM,CAAC;AAChB,CAAC;AAED;;;;;;;;;;GAUG;AACH,MAAM,CAAC,MAAM,uBAAuB,GAAG,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/workflow/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAGzC,8EAA8E;AAC9E,YAAY;AACZ,8EAA8E;AAE9E;;;GAGG;AACH,MAAM,CAAC,MAAM,qBAAqB,GAAG,WAAW,CAAC;AAEjD;;;;;;;;GAQG;AACH,MAAM,CAAC,MAAM,cAAc,GAAG,QAAQ,CAAC;AAEvC;;;;GAIG;AACH,MAAM,CAAC,MAAM,WAAW,GAAG,MAAM,CAAC;AAElC;;;;;;;GAOG;AACH,MAAM,UAAU,4BAA4B,CAC1C,MAA0D,EAC1D,SAA6B;IAM7B,IAAI,MAAM,KAAK,WAAW;QAAE,OAAO,EAAE,gBAAgB,EAAE,IAAI,EAAE,CAAC;IAC9D,MAAM,MAAM,GAA8D,EAAE,CAAC;IAC7E,IAAI,SAAS,KAAK,SAAS;QAAE,MAAM,CAAC,SAAS,GAAG,SAAS,CAAC;IAC1D,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC;QAAE,MAAM,CAAC,WAAW,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,CAAC;IAChE,OAAO,MAAM,CAAC;AAChB,CAAC;AAED;;;;;;;;;;GAUG;AACH,MAAM,CAAC,MAAM,uBAAuB,GAAG,SAAS,CAAC;AAEjD,0GAA0G;AAC1G,MAAM,CAAC,MAAM,kCAAkC,GAAG,mBAAmB,CAAC;AAYtE,uCAAuC;AACvC,MAAM,UAAU,gBAAgB;IAC9B,OAAO,UAAU,EAAgB,CAAC;AACpC,CAAC;AAwVD,8EAA8E;AAC9E,eAAe;AACf,8EAA8E;AAE9E,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,MAAM,EAAE,QAAQ,EAAE,KAAK,CAAU,CAAC;AAgCpE,yEAAyE;AACzE,MAAM,CAAC,MAAM,mBAAmB,GAAG;IACjC,WAAW;IACX,SAAS;IACT,YAAY;IACZ,YAAY;IACZ,WAAW;IACX,OAAO;CAC0C,CAAC;AAyIpD,MAAM,UAAU,qBAAqB,CAAC,IAAsB;IAC1D,OAAO;QACL,MAAM,EAAE,IAAI,CAAC,MAAM;QACnB,UAAU,EAAE,IAAI,CAAC,UAAU;QAC3B,SAAS,EAAE,IAAI,CAAC,SAAS;QACzB,cAAc,EAAE,IAAI,CAAC,cAAc;QACnC,kBAAkB,EAAE,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,kBAAkB,CAAC,IAAI,EAAE,CAAC;QAC9D,OAAO,EAAE,IAAI,CAAC,OAAO;KACtB,CAAC;AACJ,CAAC"}
|
|
@@ -1,8 +1,29 @@
|
|
|
1
|
-
import type { WorkflowDefinition, WorkflowStateDefinition } from './types.js';
|
|
1
|
+
import type { WorkflowDefinition, WorkflowStateDefinition, AgentTransitionDefinition } from './types.js';
|
|
2
2
|
export declare class WorkflowValidationError extends Error {
|
|
3
3
|
readonly issues: readonly string[];
|
|
4
4
|
constructor(issues: readonly string[]);
|
|
5
5
|
}
|
|
6
|
+
/**
|
|
7
|
+
* The two state types that run an ordered `transitions` list with
|
|
8
|
+
* agent-style `guard`/`when` routing (agent + deterministic). Human-gate
|
|
9
|
+
* transitions use a different (event-keyed) shape, so they are excluded.
|
|
10
|
+
*/
|
|
11
|
+
export type ExecutableState = Extract<WorkflowStateDefinition, {
|
|
12
|
+
readonly type: 'agent' | 'deterministic';
|
|
13
|
+
}>;
|
|
14
|
+
/**
|
|
15
|
+
* True for {@link ExecutableState}s. Narrows the union so call sites can
|
|
16
|
+
* read `state.transitions` / `state.segment` without re-spelling the
|
|
17
|
+
* `Extract<...>` longhand.
|
|
18
|
+
*/
|
|
19
|
+
export declare function isExecutableState(state: WorkflowStateDefinition): state is ExecutableState;
|
|
20
|
+
export declare function collectTransitionTargets(state: WorkflowStateDefinition): string[];
|
|
21
|
+
/**
|
|
22
|
+
* True if any transition routes on a `when: { verdict: ... }` clause. Shared by
|
|
23
|
+
* the container-only validation rule (`validateContainerScopes`) and the WF012
|
|
24
|
+
* lint (which requires such states to declare a `resultFile`).
|
|
25
|
+
*/
|
|
26
|
+
export declare function usesVerdictEdges(transitions: readonly AgentTransitionDefinition[]): boolean;
|
|
6
27
|
/**
|
|
7
28
|
* Parses a workflow input artifact reference. A trailing `?` marks the
|
|
8
29
|
* input as optional — the consumer may skip it if the artifact isn't
|
|
@@ -14,6 +35,7 @@ export declare function parseArtifactRef(ref: string): {
|
|
|
14
35
|
};
|
|
15
36
|
export declare function collectOutputArtifacts(states: Record<string, WorkflowStateDefinition>): Set<string>;
|
|
16
37
|
export declare function findReachableStates(initial: string, states: Record<string, WorkflowStateDefinition>): Set<string>;
|
|
38
|
+
export declare function isSafeWorkspaceRelativePath(path: string): boolean;
|
|
17
39
|
/**
|
|
18
40
|
* One issue produced by {@link iterateSkillRefIssues}. Surface code
|
|
19
41
|
* (validate vs lint) formats the user-facing wording.
|