@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
|
@@ -1,9 +1,10 @@
|
|
|
1
|
-
import { resolve } from 'node:path';
|
|
1
|
+
import { posix as pathPosix, resolve } from 'node:path';
|
|
2
2
|
import { z } from 'zod';
|
|
3
3
|
import { validateSkillName } from '../skills/staging.js';
|
|
4
4
|
import { discoverSkills } from '../skills/discovery.js';
|
|
5
5
|
import { errorMessage } from '../utils/error-message.js';
|
|
6
6
|
import { AGENT_OUTPUT_FIELDS, CONFIDENCE_VALUES, SKILLS_NONE } from './types.js';
|
|
7
|
+
import { DEFAULT_EVOLVE_LANE_DIR, DEFAULT_EVOLVE_LANE_RELATIVE_DIR, resolveFanOutWorkers } from './lane-template.js';
|
|
7
8
|
import { REGISTERED_GUARDS } from './guards.js';
|
|
8
9
|
import { looseModelId } from '../config/user-config.js';
|
|
9
10
|
import { isPlainObject } from '../utils/is-plain-object.js';
|
|
@@ -36,6 +37,22 @@ const humanGateTransitionSchema = z.object({
|
|
|
36
37
|
* diagnostics, or future path composition.
|
|
37
38
|
*/
|
|
38
39
|
const CONTAINER_SCOPE_PATTERN = /^[a-zA-Z0-9_-]+$/;
|
|
40
|
+
const fanOutSchema = z.object({
|
|
41
|
+
count: z.union([z.literal('workers'), z.number().int().positive()]),
|
|
42
|
+
// Literal, not z.string(): only barrier joins are supported, and the
|
|
43
|
+
// literal makes a non-barrier join a parse-time rejection (matching the
|
|
44
|
+
// FanOutDefinition.join type). Async joins are a future, reviewed extension.
|
|
45
|
+
join: z.literal('barrier'),
|
|
46
|
+
});
|
|
47
|
+
const laneResourceRequestSchema = z.object({
|
|
48
|
+
cpu: z.number().positive().optional(),
|
|
49
|
+
mem: z.string().min(1).optional(),
|
|
50
|
+
gpu: z.number().int().min(0).optional(),
|
|
51
|
+
});
|
|
52
|
+
const scheduleSchema = z.object({
|
|
53
|
+
pool: z.enum(['eval', 'agent']),
|
|
54
|
+
resources: laneResourceRequestSchema.optional(),
|
|
55
|
+
});
|
|
39
56
|
const agentStateSchema = z.object({
|
|
40
57
|
type: z.literal('agent'),
|
|
41
58
|
description: z.string().min(1),
|
|
@@ -45,6 +62,10 @@ const agentStateSchema = z.object({
|
|
|
45
62
|
outputs: z.array(z.string()),
|
|
46
63
|
transitions: z.array(agentTransitionSchema).min(1),
|
|
47
64
|
worktree: z.boolean().optional(),
|
|
65
|
+
fanOutMember: z.boolean().optional(),
|
|
66
|
+
fanOut: fanOutSchema.optional(),
|
|
67
|
+
segment: z.array(z.string()).min(1).optional(),
|
|
68
|
+
schedule: scheduleSchema.optional(),
|
|
48
69
|
freshSession: z.boolean().optional(),
|
|
49
70
|
model: looseModelId.optional(),
|
|
50
71
|
maxVisits: z.number().int().positive().optional(),
|
|
@@ -62,6 +83,14 @@ const deterministicStateSchema = z.object({
|
|
|
62
83
|
type: z.literal('deterministic'),
|
|
63
84
|
description: z.string().min(1),
|
|
64
85
|
run: z.array(z.array(z.string())),
|
|
86
|
+
container: z.boolean().optional(),
|
|
87
|
+
containerScope: z.string().regex(CONTAINER_SCOPE_PATTERN).optional(),
|
|
88
|
+
timeoutMs: z.number().int().positive().optional(),
|
|
89
|
+
resultFile: z.string().min(1).optional(),
|
|
90
|
+
fanOut: fanOutSchema.optional(),
|
|
91
|
+
segment: z.array(z.string()).min(1).optional(),
|
|
92
|
+
fanOutMember: z.boolean().optional(),
|
|
93
|
+
schedule: scheduleSchema.optional(),
|
|
65
94
|
transitions: z.array(agentTransitionSchema).min(1),
|
|
66
95
|
});
|
|
67
96
|
const terminalStateSchema = z.object({
|
|
@@ -82,17 +111,19 @@ const workflowSettingsSchema = z
|
|
|
82
111
|
dockerAgent: z.string().optional(),
|
|
83
112
|
maxRounds: z.number().int().positive().optional(),
|
|
84
113
|
gitRepoPath: z.string().optional(),
|
|
85
|
-
|
|
114
|
+
workers: z.number().int().positive().optional(),
|
|
86
115
|
systemPrompt: z.string().optional(),
|
|
87
116
|
maxSessionSeconds: z.number().positive().optional(),
|
|
88
117
|
unversionedArtifacts: z.array(z.string()).optional(),
|
|
89
118
|
model: looseModelId.optional(),
|
|
90
119
|
sharedContainer: z.boolean().optional(),
|
|
120
|
+
snapshotOnStop: z.boolean().optional(),
|
|
91
121
|
})
|
|
92
122
|
.optional();
|
|
93
123
|
const workflowDefinitionSchema = z.object({
|
|
94
124
|
name: z.string().min(1),
|
|
95
125
|
description: z.string(),
|
|
126
|
+
hidden: z.boolean().optional(),
|
|
96
127
|
initial: z.string(),
|
|
97
128
|
states: z.record(z.string(), stateDefinitionSchema),
|
|
98
129
|
settings: workflowSettingsSchema,
|
|
@@ -103,7 +134,7 @@ const workflowDefinitionSchema = z.object({
|
|
|
103
134
|
/** State IDs must be valid identifiers so they don't collide with XState's
|
|
104
135
|
* dotted-path state-node semantics (e.g., `xstate.done.actor.<stateId>`). */
|
|
105
136
|
const STATE_ID_PATTERN = /^[A-Za-z_][A-Za-z0-9_]*$/;
|
|
106
|
-
const AGENT_ONLY_STATE_FIELDS = ['maxVisits'
|
|
137
|
+
const AGENT_ONLY_STATE_FIELDS = ['maxVisits'];
|
|
107
138
|
/**
|
|
108
139
|
* Validates raw-level invariants that would otherwise be lost by Zod's default
|
|
109
140
|
* `strip()` behavior or produce less helpful errors inside a discriminated-union
|
|
@@ -118,6 +149,9 @@ function validateRawInput(raw) {
|
|
|
118
149
|
const issues = [];
|
|
119
150
|
if (!isPlainObject(raw))
|
|
120
151
|
return issues;
|
|
152
|
+
if (isPlainObject(raw.settings) && 'maxParallelism' in raw.settings) {
|
|
153
|
+
issues.push('settings.maxParallelism is retired; use settings.workers instead.');
|
|
154
|
+
}
|
|
121
155
|
if (!isPlainObject(raw.states))
|
|
122
156
|
return issues;
|
|
123
157
|
for (const [stateId, stateValue] of Object.entries(raw.states)) {
|
|
@@ -129,13 +163,21 @@ function validateRawInput(raw) {
|
|
|
129
163
|
if (!isPlainObject(stateValue))
|
|
130
164
|
continue;
|
|
131
165
|
const stateType = stateValue.type;
|
|
132
|
-
if (typeof stateType !== 'string'
|
|
166
|
+
if (typeof stateType !== 'string')
|
|
167
|
+
continue;
|
|
168
|
+
if ('resultFile' in stateValue && stateType !== 'deterministic') {
|
|
169
|
+
issues.push(`State "${stateId}" (type: ${stateType}) has "resultFile" but that field is only valid on deterministic states.`);
|
|
170
|
+
}
|
|
171
|
+
if (stateType === 'agent')
|
|
133
172
|
continue;
|
|
134
173
|
for (const field of AGENT_ONLY_STATE_FIELDS) {
|
|
135
174
|
if (field in stateValue) {
|
|
136
175
|
issues.push(`State "${stateId}" (type: ${stateType}) has "${field}" but that field is only valid on agent states.`);
|
|
137
176
|
}
|
|
138
177
|
}
|
|
178
|
+
if ('containerScope' in stateValue && stateType !== 'deterministic') {
|
|
179
|
+
issues.push(`State "${stateId}" (type: ${stateType}) has "containerScope" but that field is only valid on agent states and containerized deterministic states.`);
|
|
180
|
+
}
|
|
139
181
|
}
|
|
140
182
|
return issues;
|
|
141
183
|
}
|
|
@@ -150,10 +192,15 @@ export class WorkflowValidationError extends Error {
|
|
|
150
192
|
this.issues = issues;
|
|
151
193
|
}
|
|
152
194
|
}
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
195
|
+
/**
|
|
196
|
+
* True for {@link ExecutableState}s. Narrows the union so call sites can
|
|
197
|
+
* read `state.transitions` / `state.segment` without re-spelling the
|
|
198
|
+
* `Extract<...>` longhand.
|
|
199
|
+
*/
|
|
200
|
+
export function isExecutableState(state) {
|
|
201
|
+
return state.type === 'agent' || state.type === 'deterministic';
|
|
202
|
+
}
|
|
203
|
+
export function collectTransitionTargets(state) {
|
|
157
204
|
switch (state.type) {
|
|
158
205
|
case 'agent':
|
|
159
206
|
case 'deterministic':
|
|
@@ -164,6 +211,14 @@ function collectTransitionTargets(state) {
|
|
|
164
211
|
return [];
|
|
165
212
|
}
|
|
166
213
|
}
|
|
214
|
+
/**
|
|
215
|
+
* True if any transition routes on a `when: { verdict: ... }` clause. Shared by
|
|
216
|
+
* the container-only validation rule (`validateContainerScopes`) and the WF012
|
|
217
|
+
* lint (which requires such states to declare a `resultFile`).
|
|
218
|
+
*/
|
|
219
|
+
export function usesVerdictEdges(transitions) {
|
|
220
|
+
return transitions.some((t) => t.when !== undefined && 'verdict' in t.when);
|
|
221
|
+
}
|
|
167
222
|
/**
|
|
168
223
|
* Parses a workflow input artifact reference. A trailing `?` marks the
|
|
169
224
|
* input as optional — the consumer may skip it if the artifact isn't
|
|
@@ -174,7 +229,7 @@ export function parseArtifactRef(ref) {
|
|
|
174
229
|
return { name: isOptional ? ref.slice(0, -1) : ref, isOptional };
|
|
175
230
|
}
|
|
176
231
|
function collectGuardNames(state) {
|
|
177
|
-
if (state
|
|
232
|
+
if (isExecutableState(state)) {
|
|
178
233
|
return state.transitions.filter((t) => t.guard != null).map((t) => t.guard);
|
|
179
234
|
}
|
|
180
235
|
return [];
|
|
@@ -208,11 +263,31 @@ export function findReachableStates(initial, states) {
|
|
|
208
263
|
queue.push(target);
|
|
209
264
|
}
|
|
210
265
|
}
|
|
266
|
+
if (isExecutableState(state) && state.segment !== undefined) {
|
|
267
|
+
for (const target of state.segment) {
|
|
268
|
+
if (!reachable.has(target)) {
|
|
269
|
+
queue.push(target);
|
|
270
|
+
}
|
|
271
|
+
}
|
|
272
|
+
}
|
|
211
273
|
}
|
|
212
274
|
return reachable;
|
|
213
275
|
}
|
|
214
276
|
const AGENT_OUTPUT_FIELD_SET = new Set(AGENT_OUTPUT_FIELDS);
|
|
215
277
|
const CONFIDENCE_VALUE_SET = new Set(CONFIDENCE_VALUES);
|
|
278
|
+
export function isSafeWorkspaceRelativePath(path) {
|
|
279
|
+
if (path.length === 0)
|
|
280
|
+
return false;
|
|
281
|
+
if (path.includes('\0'))
|
|
282
|
+
return false;
|
|
283
|
+
if (path.startsWith('/'))
|
|
284
|
+
return false;
|
|
285
|
+
if (path === '.')
|
|
286
|
+
return false;
|
|
287
|
+
if (path.split('/').some((part) => part === '..'))
|
|
288
|
+
return false;
|
|
289
|
+
return pathPosix.normalize(path) === path;
|
|
290
|
+
}
|
|
216
291
|
/**
|
|
217
292
|
* Expected runtime type for each AgentOutput field used in `when` clauses.
|
|
218
293
|
* `expected` is the human-readable error label; `check` is the runtime test.
|
|
@@ -237,7 +312,7 @@ function describeRuntimeType(value) {
|
|
|
237
312
|
* treat agent, deterministic, and human-gate transitions uniformly.
|
|
238
313
|
*/
|
|
239
314
|
function collectTransitionsWithActions(state) {
|
|
240
|
-
if (state
|
|
315
|
+
if (isExecutableState(state)) {
|
|
241
316
|
return state.transitions;
|
|
242
317
|
}
|
|
243
318
|
if (state.type === 'human_gate') {
|
|
@@ -270,10 +345,6 @@ function validateWhenClauses(stateId, state, issues) {
|
|
|
270
345
|
if (t.guard && t.when) {
|
|
271
346
|
issues.push(`State "${stateId}" has transition to "${t.to}" with both "guard" and "when" — they are mutually exclusive`);
|
|
272
347
|
}
|
|
273
|
-
// Agent-only scope: when on deterministic state
|
|
274
|
-
if (state.type === 'deterministic' && t.when) {
|
|
275
|
-
issues.push(`State "${stateId}" is deterministic and cannot use "when" (agent output not available)`);
|
|
276
|
-
}
|
|
277
348
|
if (!t.when)
|
|
278
349
|
continue;
|
|
279
350
|
// Empty when rejected
|
|
@@ -310,6 +381,190 @@ function validateWhenClauses(stateId, state, issues) {
|
|
|
310
381
|
}
|
|
311
382
|
}
|
|
312
383
|
}
|
|
384
|
+
function validateFanOutScaffolding(definition, issues) {
|
|
385
|
+
const stateNames = new Set(Object.keys(definition.states));
|
|
386
|
+
// The GLOBAL checks below (fanOutMember resultFile scoping + greedy rejection)
|
|
387
|
+
// must fire whenever ANY fan-out segment runs multiple lanes at runtime — not
|
|
388
|
+
// just when settings.workers > 1. A numeric `fanOut.count` override produces
|
|
389
|
+
// multiple lanes even at settings.workers: 1 (the runtime resolves each state
|
|
390
|
+
// with `resolveFanOutWorkers`), so gate on the EFFECTIVE max across all
|
|
391
|
+
// fan-out states. Mirrors orchestrator.runFanOutSegment exactly.
|
|
392
|
+
const effectiveWorkers = computeEffectiveMaxWorkers(definition);
|
|
393
|
+
for (const [stateId, state] of Object.entries(definition.states)) {
|
|
394
|
+
if (isExecutableState(state) && state.fanOut !== undefined) {
|
|
395
|
+
validateFanOutState(definition, stateId, state, stateNames, issues);
|
|
396
|
+
}
|
|
397
|
+
if (isExecutableState(state) && state.schedule?.pool === 'eval' && state.fanOutMember !== true) {
|
|
398
|
+
issues.push(`State "${stateId}" declares schedule.pool: eval but is not fanOutMember: true.`);
|
|
399
|
+
}
|
|
400
|
+
if (effectiveWorkers > 1 &&
|
|
401
|
+
state.type === 'deterministic' &&
|
|
402
|
+
state.fanOutMember === true &&
|
|
403
|
+
state.resultFile !== undefined) {
|
|
404
|
+
const verdict = classifyFanOutResultFile(state.resultFile);
|
|
405
|
+
if (verdict === 'hardcoded-lane') {
|
|
406
|
+
issues.push(`State "${stateId}" is a fanOutMember with resultFile "${state.resultFile}" under ${effectiveWorkers} effective lanes; ` +
|
|
407
|
+
`a hardcoded lane_<N> segment is written by EVERY lane (the pump leaves an already-lane_-prefixed path ` +
|
|
408
|
+
`unchanged) and will clobber. Use the lane_\${laneId} placeholder (the pump substitutes it per lane) ` +
|
|
409
|
+
`or a bare ${DEFAULT_EVOLVE_LANE_RELATIVE_DIR}/ path (the pump lane-scopes it per lane).`);
|
|
410
|
+
}
|
|
411
|
+
else if (verdict === 'unscoped') {
|
|
412
|
+
issues.push(`State "${stateId}" is a fanOutMember with resultFile "${state.resultFile}" under ${effectiveWorkers} effective lanes; ` +
|
|
413
|
+
`resultFile must be per-lane-scoped: either rooted under the pump's current/ scratch dir (e.g. ` +
|
|
414
|
+
`${DEFAULT_EVOLVE_LANE_RELATIVE_DIR}/result.json, which the pump rewrites to current/lane_<digits>/ per lane) ` +
|
|
415
|
+
`or carry an explicit lane_\${laneId}/ segment.`);
|
|
416
|
+
}
|
|
417
|
+
}
|
|
418
|
+
}
|
|
419
|
+
if (effectiveWorkers > 1 && workflowDeclaresGreedySampler(definition)) {
|
|
420
|
+
issues.push(`A fan-out segment resolves to ${effectiveWorkers} lanes, which cannot be used with greedy sampling; ` +
|
|
421
|
+
`multi-lane evolve runs must declare a stochastic sampler.`);
|
|
422
|
+
}
|
|
423
|
+
}
|
|
424
|
+
/**
|
|
425
|
+
* The maximum effective lane count across all fan-out states, taking each
|
|
426
|
+
* state's resolved count (`resolveFanOutWorkers`) into account. A bare
|
|
427
|
+
* settings.workers floor is included so a `count: 'workers'` state still
|
|
428
|
+
* reports the global worker count even when no numeric override is present.
|
|
429
|
+
*/
|
|
430
|
+
function computeEffectiveMaxWorkers(definition) {
|
|
431
|
+
let max = definition.settings?.workers ?? 1;
|
|
432
|
+
for (const state of Object.values(definition.states)) {
|
|
433
|
+
if (isExecutableState(state) && state.fanOut !== undefined) {
|
|
434
|
+
max = Math.max(max, resolveFanOutWorkers(state.fanOut, definition.settings));
|
|
435
|
+
}
|
|
436
|
+
}
|
|
437
|
+
return max;
|
|
438
|
+
}
|
|
439
|
+
function validateFanOutState(definition, stateId, state, stateNames, issues) {
|
|
440
|
+
const segment = state.segment ?? [];
|
|
441
|
+
if (segment.length === 0) {
|
|
442
|
+
issues.push(`State "${stateId}" declares fanOut but has no non-empty segment list.`);
|
|
443
|
+
return;
|
|
444
|
+
}
|
|
445
|
+
for (const memberId of segment) {
|
|
446
|
+
if (!stateNames.has(memberId)) {
|
|
447
|
+
issues.push(`State "${stateId}" fanOut segment references unknown state "${memberId}".`);
|
|
448
|
+
continue;
|
|
449
|
+
}
|
|
450
|
+
const member = definition.states[memberId];
|
|
451
|
+
if (member.type === 'human_gate') {
|
|
452
|
+
issues.push(`State "${stateId}" fanOut segment includes human gate "${memberId}", but gates inside a fan-out segment are unreachable; aggregate to a gate outside the segment instead.`);
|
|
453
|
+
continue;
|
|
454
|
+
}
|
|
455
|
+
if ((member.type !== 'agent' && member.type !== 'deterministic') || member.fanOutMember !== true) {
|
|
456
|
+
issues.push(`State "${stateId}" fanOut segment member "${memberId}" must declare fanOutMember: true.`);
|
|
457
|
+
}
|
|
458
|
+
}
|
|
459
|
+
}
|
|
460
|
+
// The `lane_${laneId}` PLACEHOLDER path segment (e.g. current/lane_${laneId}/
|
|
461
|
+
// result.json). `applyLaneTemplate` expands this per lane BEFORE the pump's
|
|
462
|
+
// `replaceCurrentPrefix` runs, so every lane gets its own distinct `lane_<k>/`
|
|
463
|
+
// path. Safe author-written scoping.
|
|
464
|
+
const LANE_PLACEHOLDER_RESULT_FILE_RE = /(?:^|\/)lane_\$\{laneId\}(?:\/|$)/;
|
|
465
|
+
// A HARDCODED `lane_<digits>` path segment (e.g. current/lane_0/result.json).
|
|
466
|
+
// This is the FOOTGUN: there is no `${laneId}` for `applyLaneTemplate` to
|
|
467
|
+
// expand, and the pump's `replaceCurrentPrefix` idempotency guard
|
|
468
|
+
// (`/^lane_\d+\//` in lane-template.ts) sees the already-`lane_`-prefixed suffix
|
|
469
|
+
// and leaves it UNCHANGED — so all N lanes write the same literal `lane_<N>/...`
|
|
470
|
+
// path and mutually clobber. Must be rejected even though the path "looks"
|
|
471
|
+
// lane-scoped. Keep this in sync with that guard in lane-template.ts.
|
|
472
|
+
const HARDCODED_LANE_RESULT_FILE_RE = /(?:^|\/)lane_[0-9]+(?:\/|$)/;
|
|
473
|
+
/**
|
|
474
|
+
* Classifies whether a fanOutMember's resultFile is guaranteed per-lane-scoped at
|
|
475
|
+
* runtime, so concurrent lanes never clobber a shared file. Outcomes:
|
|
476
|
+
*
|
|
477
|
+
* - `'safe'` — qualifies via ONE of:
|
|
478
|
+
* 1. A BARE path rooted under the pump's `current/` scratch dir
|
|
479
|
+
* ({@link DEFAULT_EVOLVE_LANE_RELATIVE_DIR} / {@link DEFAULT_EVOLVE_LANE_DIR}).
|
|
480
|
+
* The deterministic pump (`laneScopeEvolveCurrentPath` in machine-builder.ts)
|
|
481
|
+
* idempotently rewrites that `current/` prefix to `current/lane_<k>/` for
|
|
482
|
+
* every lane at workers>1, and leaves it as the bare `current/` path at
|
|
483
|
+
* workers:1 — so the SAME bare manifest is correct at every worker count and
|
|
484
|
+
* byte-identical at the shipped workers:1 default. This relaxes the former
|
|
485
|
+
* strict requirement of a literal `lane_${laneId}/` segment, which forced
|
|
486
|
+
* the manifest to leak a `lane_0/` segment at workers:1 (the placeholder
|
|
487
|
+
* resolves to lane id 0 there) and so could not be both strict-lint-clean
|
|
488
|
+
* and workers:1 byte-identical at once.
|
|
489
|
+
* 2. A `lane_${laneId}` PLACEHOLDER segment anywhere in the path — the author
|
|
490
|
+
* opts into explicit scoping and the pump expands it per lane.
|
|
491
|
+
*
|
|
492
|
+
* - `'hardcoded-lane'` — carries a HARDCODED `lane_<digits>` segment. This LOOKS
|
|
493
|
+
* scoped but is a footgun: the pump's idempotency guard leaves an already-`lane_`
|
|
494
|
+
* -prefixed path untouched, so every lane writes the same literal path and they
|
|
495
|
+
* clobber. Rejected with a targeted diagnostic. (Checked first, so it overrides
|
|
496
|
+
* a misleading "rooted under current/" match like current/lane_0/result.json.)
|
|
497
|
+
*
|
|
498
|
+
* - `'unscoped'` — neither scoped form: the pump would not lane-scope it, so N
|
|
499
|
+
* lanes would clobber one shared file.
|
|
500
|
+
*
|
|
501
|
+
* (Path-containment safety — no leading `/`, no `..` — is enforced separately and
|
|
502
|
+
* unconditionally for every deterministic resultFile by `isSafeWorkspaceRelativePath`
|
|
503
|
+
* in `validateContainerScopes`.)
|
|
504
|
+
*/
|
|
505
|
+
function classifyFanOutResultFile(resultFile) {
|
|
506
|
+
const normalized = pathPosix.normalize(resultFile);
|
|
507
|
+
if (HARDCODED_LANE_RESULT_FILE_RE.test(normalized))
|
|
508
|
+
return 'hardcoded-lane';
|
|
509
|
+
if (LANE_PLACEHOLDER_RESULT_FILE_RE.test(normalized))
|
|
510
|
+
return 'safe';
|
|
511
|
+
if (isRootedUnderPumpCurrentDir(normalized))
|
|
512
|
+
return 'safe';
|
|
513
|
+
return 'unscoped';
|
|
514
|
+
}
|
|
515
|
+
// True when `normalized` is rooted under the pump's `current/` scratch dir (the
|
|
516
|
+
// prefix `laneScopeEvolveCurrentPath` idempotently lane-scopes at workers>1).
|
|
517
|
+
// Mirrors the pump's two accepted prefixes — the container-absolute and the
|
|
518
|
+
// workspace-relative forms — so the validator's notion of "the pump will scope
|
|
519
|
+
// this" is exactly the pump's, not a looser re-spelling.
|
|
520
|
+
function isRootedUnderPumpCurrentDir(normalized) {
|
|
521
|
+
for (const currentDir of [DEFAULT_EVOLVE_LANE_RELATIVE_DIR, DEFAULT_EVOLVE_LANE_DIR]) {
|
|
522
|
+
const prefix = `${pathPosix.normalize(currentDir)}/`;
|
|
523
|
+
if (normalized.startsWith(prefix))
|
|
524
|
+
return true;
|
|
525
|
+
}
|
|
526
|
+
return false;
|
|
527
|
+
}
|
|
528
|
+
/**
|
|
529
|
+
* Heuristic detection of a greedy sampler declared anywhere in the manifest.
|
|
530
|
+
* This encodes the inverse of the Python source of truth `STOCHASTIC_SAMPLERS`
|
|
531
|
+
* (`scripts/evolve_result.py`) across the language boundary: greedy is the one
|
|
532
|
+
* non-stochastic sampler, so a `workers>1` run that declares it is rejected.
|
|
533
|
+
*
|
|
534
|
+
* The detection is deliberately fragile: it scrapes manifest prompt/argv text
|
|
535
|
+
* for `--sampling-algorithm greedy`-style flags because the host validator runs
|
|
536
|
+
* at lint time, before any run-spec exists on disk — there is no authoritative
|
|
537
|
+
* `sampling.algorithm` field to read. A future move of the sampler decision into
|
|
538
|
+
* a manifest field would let this be exact; until then this is a best-effort guard.
|
|
539
|
+
*/
|
|
540
|
+
function workflowDeclaresGreedySampler(definition) {
|
|
541
|
+
for (const state of Object.values(definition.states)) {
|
|
542
|
+
if (state.type === 'agent' && declaresGreedySamplerText(state.prompt)) {
|
|
543
|
+
return true;
|
|
544
|
+
}
|
|
545
|
+
if (state.type !== 'deterministic')
|
|
546
|
+
continue;
|
|
547
|
+
for (const argv of state.run) {
|
|
548
|
+
if (declaresGreedySamplerArgv(argv))
|
|
549
|
+
return true;
|
|
550
|
+
}
|
|
551
|
+
}
|
|
552
|
+
return false;
|
|
553
|
+
}
|
|
554
|
+
function declaresGreedySamplerText(text) {
|
|
555
|
+
return (/--sampling-algorithm(?:=|\s+)["']?greedy\b/i.test(text) ||
|
|
556
|
+
/\bsampling[_\-. ]algorithm\s*[:=]\s*["']?greedy\b/i.test(text));
|
|
557
|
+
}
|
|
558
|
+
function declaresGreedySamplerArgv(argv) {
|
|
559
|
+
for (let i = 0; i < argv.length; i++) {
|
|
560
|
+
const arg = argv[i];
|
|
561
|
+
if (/^--sampling-algorithm=greedy$/i.test(arg))
|
|
562
|
+
return true;
|
|
563
|
+
if (arg === '--sampling-algorithm' && /^greedy$/i.test(argv[i + 1] ?? ''))
|
|
564
|
+
return true;
|
|
565
|
+
}
|
|
566
|
+
return false;
|
|
567
|
+
}
|
|
313
568
|
function validateSemantics(definition) {
|
|
314
569
|
const issues = [];
|
|
315
570
|
const stateNames = new Set(Object.keys(definition.states));
|
|
@@ -357,6 +612,9 @@ function validateSemantics(definition) {
|
|
|
357
612
|
validateArtifactInputs(definition, issues);
|
|
358
613
|
// containerScope usage: gated on sharedContainer + charset.
|
|
359
614
|
validateContainerScopes(definition, issues);
|
|
615
|
+
// Fan-out scaffold usage: schema-only fields are parsed now so later phases
|
|
616
|
+
// can consume them without silent stripping.
|
|
617
|
+
validateFanOutScaffolding(definition, issues);
|
|
360
618
|
if (issues.length > 0) {
|
|
361
619
|
throw new WorkflowValidationError(issues);
|
|
362
620
|
}
|
|
@@ -364,10 +622,16 @@ function validateSemantics(definition) {
|
|
|
364
622
|
/**
|
|
365
623
|
* Validates `containerScope` usage across a workflow definition.
|
|
366
624
|
*
|
|
367
|
-
* `containerScope` is meaningful only
|
|
368
|
-
*
|
|
369
|
-
*
|
|
370
|
-
*
|
|
625
|
+
* `containerScope` is meaningful only when a shared container is
|
|
626
|
+
* actually active — i.e. `sharedContainer: true` AND `mode: docker`.
|
|
627
|
+
* Builtin mode ignores `sharedContainer` (see the orchestrator's
|
|
628
|
+
* `shouldUseSharedContainer`), so a scope declared under
|
|
629
|
+
* `mode: builtin` is a silent no-op. Either condition missing is a
|
|
630
|
+
* hard error (silent no-ops are footguns). For deterministic states
|
|
631
|
+
* this is reached transitively (`containerScope` requires
|
|
632
|
+
* `container: true`, which requires `mode: docker`); agent states are
|
|
633
|
+
* checked directly. The charset check runs at the Zod layer (see
|
|
634
|
+
* `CONTAINER_SCOPE_PATTERN`).
|
|
371
635
|
*
|
|
372
636
|
* Note: scope governs container lifecycle (which bundle a state runs
|
|
373
637
|
* in); persona governs the active policy. They are orthogonal —
|
|
@@ -377,12 +641,37 @@ function validateSemantics(definition) {
|
|
|
377
641
|
*/
|
|
378
642
|
function validateContainerScopes(definition, issues) {
|
|
379
643
|
const sharedContainer = definition.settings?.sharedContainer === true;
|
|
644
|
+
const mode = definition.settings?.mode ?? 'docker';
|
|
380
645
|
for (const [stateId, state] of Object.entries(definition.states)) {
|
|
381
|
-
if (state.type
|
|
646
|
+
if (state.type === 'agent') {
|
|
647
|
+
if (state.containerScope !== undefined && !sharedContainer) {
|
|
648
|
+
issues.push(`State "${stateId}" declares containerScope "${state.containerScope}" but the workflow does not have sharedContainer: true. ` +
|
|
649
|
+
`containerScope is only valid when sharedContainer is true.`);
|
|
650
|
+
}
|
|
651
|
+
if (state.containerScope !== undefined && mode !== 'docker') {
|
|
652
|
+
issues.push(`State "${stateId}" declares containerScope "${state.containerScope}" but settings.mode is "${mode}", not "docker". ` +
|
|
653
|
+
`Builtin mode ignores sharedContainer, so the scope would be a silent no-op.`);
|
|
654
|
+
}
|
|
655
|
+
continue;
|
|
656
|
+
}
|
|
657
|
+
if (state.type !== 'deterministic')
|
|
382
658
|
continue;
|
|
383
|
-
if (state.containerScope !== undefined &&
|
|
384
|
-
issues.push(`State "${stateId}" declares containerScope
|
|
385
|
-
|
|
659
|
+
if (state.containerScope !== undefined && state.container !== true) {
|
|
660
|
+
issues.push(`State "${stateId}" declares containerScope but is not container: true`);
|
|
661
|
+
}
|
|
662
|
+
if ((state.resultFile !== undefined || (state.fanOut === undefined && usesVerdictEdges(state.transitions))) &&
|
|
663
|
+
state.container !== true) {
|
|
664
|
+
issues.push(`State "${stateId}" uses resultFile / when:{verdict} routing but is not container: true. ` +
|
|
665
|
+
`Structured deterministic result routing is container-only.`);
|
|
666
|
+
}
|
|
667
|
+
if (state.resultFile !== undefined && !isSafeWorkspaceRelativePath(state.resultFile)) {
|
|
668
|
+
issues.push(`State "${stateId}" has resultFile "${state.resultFile}" — must be a workspace-relative path (no leading "/", no "..").`);
|
|
669
|
+
}
|
|
670
|
+
if (state.container === true && !sharedContainer) {
|
|
671
|
+
issues.push(`State "${stateId}" has container: true but the workflow does not have sharedContainer: true.`);
|
|
672
|
+
}
|
|
673
|
+
if (state.container === true && mode !== 'docker') {
|
|
674
|
+
issues.push(`State "${stateId}" has container: true but settings.mode is not "docker".`);
|
|
386
675
|
}
|
|
387
676
|
}
|
|
388
677
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"validate.js","sourceRoot":"","sources":["../../src/workflow/validate.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"validate.js","sourceRoot":"","sources":["../../src/workflow/validate.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,IAAI,SAAS,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACxD,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AACzD,OAAO,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AACxD,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AASzD,OAAO,EAAE,mBAAmB,EAAE,iBAAiB,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AACjF,OAAO,EAAE,uBAAuB,EAAE,gCAAgC,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AACrH,OAAO,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAChD,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AACxD,OAAO,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAC;AAE5D,8EAA8E;AAC9E,cAAc;AACd,8EAA8E;AAE9E,MAAM,eAAe,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;AAEjF,uEAAuE;AACvE,MAAM,sBAAsB,GAAG,CAAC,CAAC,kBAAkB,CAAC,MAAM,EAAE;IAC1D,CAAC,CAAC,MAAM,CAAC;QACP,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,kBAAkB,CAAC;QACnC,QAAQ,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;KACrC,CAAC;CACH,CAAC,CAAC;AAEH,MAAM,qBAAqB,GAAG,CAAC,CAAC,MAAM,CAAC;IACrC,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE;IACd,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC5B,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,eAAe,CAAC,CAAC,QAAQ,EAAE;IACtD,OAAO,EAAE,CAAC,CAAC,KAAK,CAAC,sBAAsB,CAAC,CAAC,QAAQ,EAAE;CACpD,CAAC,CAAC;AAEH,MAAM,yBAAyB,GAAG,CAAC,CAAC,MAAM,CAAC;IACzC,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE;IACd,KAAK,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,gBAAgB,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC;IAC/D,OAAO,EAAE,CAAC,CAAC,KAAK,CAAC,sBAAsB,CAAC,CAAC,QAAQ,EAAE;CACpD,CAAC,CAAC;AAEH;;;;;GAKG;AACH,MAAM,uBAAuB,GAAG,kBAAkB,CAAC;AAEnD,MAAM,YAAY,GAAG,CAAC,CAAC,MAAM,CAAC;IAC5B,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE,CAAC,CAAC;IACnE,qEAAqE;IACrE,wEAAwE;IACxE,6EAA6E;IAC7E,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC;CAC3B,CAAC,CAAC;AAEH,MAAM,yBAAyB,GAAG,CAAC,CAAC,MAAM,CAAC;IACzC,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE;IACrC,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE;IACjC,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE;CACxC,CAAC,CAAC;AAEH,MAAM,cAAc,GAAG,CAAC,CAAC,MAAM,CAAC;IAC9B,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC/B,SAAS,EAAE,yBAAyB,CAAC,QAAQ,EAAE;CAChD,CAAC,CAAC;AAEH,MAAM,gBAAgB,GAAG,CAAC,CAAC,MAAM,CAAC;IAChC,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC;IACxB,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IAC9B,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE;IACnB,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IACzB,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;IAC3B,OAAO,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;IAC5B,WAAW,EAAE,CAAC,CAAC,KAAK,CAAC,qBAAqB,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;IAClD,QAAQ,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;IAChC,YAAY,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;IACpC,MAAM,EAAE,YAAY,CAAC,QAAQ,EAAE;IAC/B,OAAO,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE;IAC9C,QAAQ,EAAE,cAAc,CAAC,QAAQ,EAAE;IACnC,YAAY,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;IACpC,KAAK,EAAE,YAAY,CAAC,QAAQ,EAAE;IAC9B,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE;IACjD,cAAc,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,uBAAuB,CAAC,CAAC,QAAQ,EAAE;IACpE,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE;CAC1E,CAAC,CAAC;AAEH,MAAM,oBAAoB,GAAG,CAAC,CAAC,MAAM,CAAC;IACpC,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,YAAY,CAAC;IAC7B,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IAC9B,cAAc,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,gBAAgB,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC,CAAC;IACjF,OAAO,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE;IACvC,WAAW,EAAE,CAAC,CAAC,KAAK,CAAC,yBAAyB,CAAC;CAChD,CAAC,CAAC;AAEH,MAAM,wBAAwB,GAAG,CAAC,CAAC,MAAM,CAAC;IACxC,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,eAAe,CAAC;IAChC,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IAC9B,GAAG,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC;IACjC,SAAS,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;IACjC,cAAc,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,uBAAuB,CAAC,CAAC,QAAQ,EAAE;IACpE,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE;IACjD,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE;IACxC,MAAM,EAAE,YAAY,CAAC,QAAQ,EAAE;IAC/B,OAAO,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE;IAC9C,YAAY,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;IACpC,QAAQ,EAAE,cAAc,CAAC,QAAQ,EAAE;IACnC,WAAW,EAAE,CAAC,CAAC,KAAK,CAAC,qBAAqB,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;CACnD,CAAC,CAAC;AAEH,MAAM,mBAAmB,GAAG,CAAC,CAAC,MAAM,CAAC;IACnC,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,UAAU,CAAC;IAC3B,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IAC9B,OAAO,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE;IACvC,OAAO,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,QAAQ,EAAE;CACjD,CAAC,CAAC;AAEH,MAAM,qBAAqB,GAAG,CAAC,CAAC,kBAAkB,CAAC,MAAM,EAAE;IACzD,gBAAgB;IAChB,oBAAoB;IACpB,wBAAwB;IACxB,mBAAmB;CACpB,CAAC,CAAC;AAEH,MAAM,sBAAsB,GAAG,CAAC;KAC7B,MAAM,CAAC;IACN,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC,CAAC,QAAQ,EAAE;IAC9C,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAClC,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE;IACjD,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAClC,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE;IAC/C,YAAY,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IACnC,iBAAiB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE;IACnD,oBAAoB,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE;IACpD,KAAK,EAAE,YAAY,CAAC,QAAQ,EAAE;IAC9B,eAAe,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;IACvC,cAAc,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;CACvC,CAAC;KACD,QAAQ,EAAE,CAAC;AAEd,MAAM,wBAAwB,GAAG,CAAC,CAAC,MAAM,CAAC;IACxC,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IACvB,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE;IACvB,MAAM,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;IAC9B,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE;IACnB,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,qBAAqB,CAAC;IACnD,QAAQ,EAAE,sBAAsB;CACjC,CAAC,CAAC;AAEH,8EAA8E;AAC9E,yEAAyE;AACzE,8EAA8E;AAE9E;6EAC6E;AAC7E,MAAM,gBAAgB,GAAG,0BAA0B,CAAC;AAEpD,MAAM,uBAAuB,GAAG,CAAC,WAAW,CAAU,CAAC;AAEvD;;;;;;;;;GASG;AACH,SAAS,gBAAgB,CAAC,GAAY;IACpC,MAAM,MAAM,GAAa,EAAE,CAAC;IAC5B,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC;QAAE,OAAO,MAAM,CAAC;IACvC,IAAI,aAAa,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,gBAAgB,IAAI,GAAG,CAAC,QAAQ,EAAE,CAAC;QACpE,MAAM,CAAC,IAAI,CAAC,mEAAmE,CAAC,CAAC;IACnF,CAAC;IACD,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,MAAM,CAAC;QAAE,OAAO,MAAM,CAAC;IAE9C,KAAK,MAAM,CAAC,OAAO,EAAE,UAAU,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC;QAC/D,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;YACpC,MAAM,CAAC,IAAI,CACT,aAAa,OAAO,4CAA4C,gBAAgB,CAAC,MAAM,GAAG;gBACxF,sEAAsE;gBACtE,kFAAkF,CACrF,CAAC;QACJ,CAAC;QAED,IAAI,CAAC,aAAa,CAAC,UAAU,CAAC;YAAE,SAAS;QACzC,MAAM,SAAS,GAAG,UAAU,CAAC,IAAI,CAAC;QAClC,IAAI,OAAO,SAAS,KAAK,QAAQ;YAAE,SAAS;QAE5C,IAAI,YAAY,IAAI,UAAU,IAAI,SAAS,KAAK,eAAe,EAAE,CAAC;YAChE,MAAM,CAAC,IAAI,CACT,UAAU,OAAO,YAAY,SAAS,0EAA0E,CACjH,CAAC;QACJ,CAAC;QAED,IAAI,SAAS,KAAK,OAAO;YAAE,SAAS;QAEpC,KAAK,MAAM,KAAK,IAAI,uBAAuB,EAAE,CAAC;YAC5C,IAAI,KAAK,IAAI,UAAU,EAAE,CAAC;gBACxB,MAAM,CAAC,IAAI,CACT,UAAU,OAAO,YAAY,SAAS,UAAU,KAAK,iDAAiD,CACvG,CAAC;YACJ,CAAC;QACH,CAAC;QAED,IAAI,gBAAgB,IAAI,UAAU,IAAI,SAAS,KAAK,eAAe,EAAE,CAAC;YACpE,MAAM,CAAC,IAAI,CACT,UAAU,OAAO,YAAY,SAAS,6GAA6G,CACpJ,CAAC;QACJ,CAAC;IACH,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,8EAA8E;AAC9E,mBAAmB;AACnB,8EAA8E;AAE9E,MAAM,OAAO,uBAAwB,SAAQ,KAAK;IACvC,MAAM,CAAoB;IAEnC,YAAY,MAAyB;QACnC,KAAK,CAAC,oCAAoC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;QACnE,IAAI,CAAC,IAAI,GAAG,yBAAyB,CAAC;QACtC,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;IACvB,CAAC;CACF;AAaD;;;;GAIG;AACH,MAAM,UAAU,iBAAiB,CAAC,KAA8B;IAC9D,OAAO,KAAK,CAAC,IAAI,KAAK,OAAO,IAAI,KAAK,CAAC,IAAI,KAAK,eAAe,CAAC;AAClE,CAAC;AAED,MAAM,UAAU,wBAAwB,CAAC,KAA8B;IACrE,QAAQ,KAAK,CAAC,IAAI,EAAE,CAAC;QACnB,KAAK,OAAO,CAAC;QACb,KAAK,eAAe;YAClB,OAAO,KAAK,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;QAC5C,KAAK,YAAY;YACf,OAAO,KAAK,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;QAC5C,KAAK,UAAU;YACb,OAAO,EAAE,CAAC;IACd,CAAC;AACH,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,gBAAgB,CAAC,WAAiD;IAChF,OAAO,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,SAAS,IAAI,SAAS,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC;AAC9E,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,gBAAgB,CAAC,GAAW;IAC1C,MAAM,UAAU,GAAG,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;IACrC,OAAO,EAAE,IAAI,EAAE,UAAU,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,EAAE,UAAU,EAAE,CAAC;AACnE,CAAC;AAED,SAAS,iBAAiB,CAAC,KAA8B;IACvD,IAAI,iBAAiB,CAAC,KAAK,CAAC,EAAE,CAAC;QAC7B,OAAO,KAAK,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC,EAAqC,EAAE,CAAC,CAAC,CAAC,KAAK,IAAI,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;IACjH,CAAC;IACD,OAAO,EAAE,CAAC;AACZ,CAAC;AAED,MAAM,UAAU,sBAAsB,CAAC,MAA+C;IACpF,MAAM,OAAO,GAAG,IAAI,GAAG,EAAU,CAAC;IAClC,KAAK,MAAM,KAAK,IAAI,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC;QAC1C,IAAI,KAAK,CAAC,IAAI,KAAK,OAAO,IAAI,KAAK,CAAC,IAAI,KAAK,UAAU,EAAE,CAAC;YACxD,KAAK,MAAM,CAAC,IAAI,KAAK,CAAC,OAAO,IAAI,EAAE,EAAE,CAAC;gBACpC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;YACjB,CAAC;QACH,CAAC;IACH,CAAC;IACD,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,MAAM,UAAU,mBAAmB,CAAC,OAAe,EAAE,MAA+C;IAClG,MAAM,SAAS,GAAG,IAAI,GAAG,EAAU,CAAC;IACpC,MAAM,KAAK,GAAG,CAAC,OAAO,CAAC,CAAC;IACxB,OAAO,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACxB,MAAM,OAAO,GAAG,KAAK,CAAC,GAAG,EAAE,CAAC;QAC5B,IAAI,OAAO,KAAK,SAAS;YAAE,SAAS;QACpC,IAAI,SAAS,CAAC,GAAG,CAAC,OAAO,CAAC;YAAE,SAAS;QACrC,SAAS,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QACvB,MAAM,KAAK,GAAG,MAAM,CAAC,OAAO,CAAwC,CAAC;QACrE,IAAI,CAAC,KAAK;YAAE,SAAS;QACrB,KAAK,MAAM,MAAM,IAAI,wBAAwB,CAAC,KAAK,CAAC,EAAE,CAAC;YACrD,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC;gBAC3B,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YACrB,CAAC;QACH,CAAC;QACD,IAAI,iBAAiB,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,OAAO,KAAK,SAAS,EAAE,CAAC;YAC5D,KAAK,MAAM,MAAM,IAAI,KAAK,CAAC,OAAO,EAAE,CAAC;gBACnC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC;oBAC3B,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;gBACrB,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,MAAM,sBAAsB,GAAwB,IAAI,GAAG,CAAC,mBAAmB,CAAC,CAAC;AACjF,MAAM,oBAAoB,GAAwB,IAAI,GAAG,CAAC,iBAAiB,CAAC,CAAC;AAE7E,MAAM,UAAU,2BAA2B,CAAC,IAAY;IACtD,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,KAAK,CAAC;IACpC,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC;QAAE,OAAO,KAAK,CAAC;IACtC,IAAI,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC;QAAE,OAAO,KAAK,CAAC;IACvC,IAAI,IAAI,KAAK,GAAG;QAAE,OAAO,KAAK,CAAC;IAC/B,IAAI,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,KAAK,IAAI,CAAC;QAAE,OAAO,KAAK,CAAC;IAChE,OAAO,SAAS,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,IAAI,CAAC;AAC5C,CAAC;AAED;;;GAGG;AACH,MAAM,cAAc,GAEhB;IACF,SAAS,EAAE,EAAE,QAAQ,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,SAAS,EAAE;IACxE,OAAO,EAAE,EAAE,QAAQ,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,QAAQ,EAAE;IACpE,UAAU,EAAE,EAAE,QAAQ,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,QAAQ,EAAE;IACvE,UAAU,EAAE,EAAE,QAAQ,EAAE,gBAAgB,EAAE,KAAK,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,QAAQ,IAAI,CAAC,KAAK,IAAI,EAAE;IAC7F,SAAS,EAAE,EAAE,QAAQ,EAAE,gBAAgB,EAAE,KAAK,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,QAAQ,IAAI,CAAC,KAAK,IAAI,EAAE;IAC5F,KAAK,EAAE,EAAE,QAAQ,EAAE,gBAAgB,EAAE,KAAK,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,QAAQ,IAAI,CAAC,KAAK,IAAI,EAAE;CACzF,CAAC;AAEF,SAAS,mBAAmB,CAAC,KAAc;IACzC,IAAI,KAAK,KAAK,IAAI;QAAE,OAAO,MAAM,CAAC;IAClC,OAAO,OAAO,KAAK,CAAC;AACtB,CAAC;AAED;;;;;GAKG;AACH,SAAS,6BAA6B,CACpC,KAA8B;IAE9B,IAAI,iBAAiB,CAAC,KAAK,CAAC,EAAE,CAAC;QAC7B,OAAO,KAAK,CAAC,WAAW,CAAC;IAC3B,CAAC;IACD,IAAI,KAAK,CAAC,IAAI,KAAK,YAAY,EAAE,CAAC;QAChC,OAAO,KAAK,CAAC,WAAW,CAAC;IAC3B,CAAC;IACD,OAAO,EAAE,CAAC;AACZ,CAAC;AAED,SAAS,yBAAyB,CAChC,OAAe,EACf,KAA8B,EAC9B,UAA+B,EAC/B,MAAgB;IAEhB,sEAAsE;IACtE,qEAAqE;IACrE,sEAAsE;IACtE,2EAA2E;IAC3E,KAAK,MAAM,CAAC,IAAI,6BAA6B,CAAC,KAAK,CAAC,EAAE,CAAC;QACrD,IAAI,CAAC,CAAC,CAAC,OAAO;YAAE,SAAS;QACzB,KAAK,MAAM,MAAM,IAAI,CAAC,CAAC,OAAO,EAAE,CAAC;YAC/B,KAAK,MAAM,QAAQ,IAAI,MAAM,CAAC,QAAQ,EAAE,CAAC;gBACvC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC;oBAC9B,MAAM,CAAC,IAAI,CACT,UAAU,OAAO,oBAAoB,CAAC,CAAC,EAAE,qDAAqD,QAAQ,GAAG,CAC1G,CAAC;gBACJ,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC;AACH,CAAC;AAED,SAAS,mBAAmB,CAAC,OAAe,EAAE,KAA8B,EAAE,MAAgB;IAC5F,IAAI,KAAK,CAAC,IAAI,KAAK,UAAU,IAAI,KAAK,CAAC,IAAI,KAAK,YAAY;QAAE,OAAO;IAErE,KAAK,MAAM,CAAC,IAAI,KAAK,CAAC,WAAW,EAAE,CAAC;QAClC,sDAAsD;QACtD,IAAI,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,IAAI,EAAE,CAAC;YACtB,MAAM,CAAC,IAAI,CACT,UAAU,OAAO,wBAAwB,CAAC,CAAC,EAAE,8DAA8D,CAC5G,CAAC;QACJ,CAAC;QAED,IAAI,CAAC,CAAC,CAAC,IAAI;YAAE,SAAS;QAEtB,sBAAsB;QACtB,IAAI,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACrC,MAAM,CAAC,IAAI,CACT,UAAU,OAAO,oBAAoB,CAAC,CAAC,EAAE,iEAAiE,CAC3G,CAAC;QACJ,CAAC;QAED,iEAAiE;QACjE,oEAAoE;QACpE,8DAA8D;QAC9D,MAAM,cAAc,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,SAAS,CAAC,CAAC;QAC1E,IAAI,cAAc,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC9B,KAAK,MAAM,CAAC,IAAI,cAAc,EAAE,CAAC;gBAC/B,MAAM,CAAC,IAAI,CACT,UAAU,OAAO,oBAAoB,CAAC,CAAC,EAAE,2BAA2B,CAAC,8HAA8H,CACpM,CAAC;YACJ,CAAC;QACH,CAAC;QAED,2BAA2B;QAC3B,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC;YAClD,IAAI,CAAC,sBAAsB,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;gBACrC,MAAM,CAAC,IAAI,CACT,UAAU,OAAO,oBAAoB,CAAC,CAAC,EAAE,qBAAqB,GAAG,mCAAmC,CACrG,CAAC;gBACF,SAAS;YACX,CAAC;YAED,sEAAsE;YACtE,qEAAqE;YACrE,MAAM,QAAQ,GAAG,cAAc,CAAC,GAAwB,CAAC,CAAC;YAC1D,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC;gBAC3B,MAAM,CAAC,IAAI,CACT,UAAU,OAAO,oBAAoB,CAAC,CAAC,EAAE,qBAAqB,GAAG,+BAA+B,QAAQ,CAAC,QAAQ,SAAS,mBAAmB,CAAC,KAAK,CAAC,EAAE,CACvJ,CAAC;gBACF,SAAS;YACX,CAAC;YAED,+DAA+D;YAC/D,mEAAmE;YACnE,IAAI,GAAG,KAAK,YAAY,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC;gBAC1F,MAAM,CAAC,IAAI,CAAC,UAAU,OAAO,oBAAoB,CAAC,CAAC,EAAE,mCAAmC,KAAK,GAAG,CAAC,CAAC;YACpG,CAAC;QACH,CAAC;IACH,CAAC;AACH,CAAC;AAED,SAAS,yBAAyB,CAAC,UAA8B,EAAE,MAAgB;IACjF,MAAM,UAAU,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC;IAC3D,+EAA+E;IAC/E,8EAA8E;IAC9E,6EAA6E;IAC7E,8EAA8E;IAC9E,wEAAwE;IACxE,iEAAiE;IACjE,MAAM,gBAAgB,GAAG,0BAA0B,CAAC,UAAU,CAAC,CAAC;IAEhE,KAAK,MAAM,CAAC,OAAO,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC;QACjE,IAAI,iBAAiB,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;YAC3D,mBAAmB,CAAC,UAAU,EAAE,OAAO,EAAE,KAAK,EAAE,UAAU,EAAE,MAAM,CAAC,CAAC;QACtE,CAAC;QAED,IAAI,iBAAiB,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,QAAQ,EAAE,IAAI,KAAK,MAAM,IAAI,KAAK,CAAC,YAAY,KAAK,IAAI,EAAE,CAAC;YAC/F,MAAM,CAAC,IAAI,CAAC,UAAU,OAAO,+DAA+D,CAAC,CAAC;QAChG,CAAC;QAED,IACE,gBAAgB,GAAG,CAAC;YACpB,KAAK,CAAC,IAAI,KAAK,eAAe;YAC9B,KAAK,CAAC,YAAY,KAAK,IAAI;YAC3B,KAAK,CAAC,UAAU,KAAK,SAAS,EAC9B,CAAC;YACD,MAAM,OAAO,GAAG,wBAAwB,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;YAC3D,IAAI,OAAO,KAAK,gBAAgB,EAAE,CAAC;gBACjC,MAAM,CAAC,IAAI,CACT,UAAU,OAAO,wCAAwC,KAAK,CAAC,UAAU,WAAW,gBAAgB,oBAAoB;oBACtH,wGAAwG;oBACxG,sGAAsG;oBACtG,aAAa,gCAAgC,4CAA4C,CAC5F,CAAC;YACJ,CAAC;iBAAM,IAAI,OAAO,KAAK,UAAU,EAAE,CAAC;gBAClC,MAAM,CAAC,IAAI,CACT,UAAU,OAAO,wCAAwC,KAAK,CAAC,UAAU,WAAW,gBAAgB,oBAAoB;oBACtH,gGAAgG;oBAChG,GAAG,gCAAgC,4EAA4E;oBAC/G,gDAAgD,CACnD,CAAC;YACJ,CAAC;QACH,CAAC;IACH,CAAC;IAED,IAAI,gBAAgB,GAAG,CAAC,IAAI,6BAA6B,CAAC,UAAU,CAAC,EAAE,CAAC;QACtE,MAAM,CAAC,IAAI,CACT,iCAAiC,gBAAgB,qDAAqD;YACpG,2DAA2D,CAC9D,CAAC;IACJ,CAAC;AACH,CAAC;AAED;;;;;GAKG;AACH,SAAS,0BAA0B,CAAC,UAA8B;IAChE,IAAI,GAAG,GAAG,UAAU,CAAC,QAAQ,EAAE,OAAO,IAAI,CAAC,CAAC;IAC5C,KAAK,MAAM,KAAK,IAAI,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC;QACrD,IAAI,iBAAiB,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;YAC3D,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,oBAAoB,CAAC,KAAK,CAAC,MAAM,EAAE,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAC;QAC/E,CAAC;IACH,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC;AAED,SAAS,mBAAmB,CAC1B,UAA8B,EAC9B,OAAe,EACf,KAAsB,EACtB,UAA+B,EAC/B,MAAgB;IAEhB,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO,IAAI,EAAE,CAAC;IACpC,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACzB,MAAM,CAAC,IAAI,CAAC,UAAU,OAAO,sDAAsD,CAAC,CAAC;QACrF,OAAO;IACT,CAAC;IAED,KAAK,MAAM,QAAQ,IAAI,OAAO,EAAE,CAAC;QAC/B,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC9B,MAAM,CAAC,IAAI,CAAC,UAAU,OAAO,8CAA8C,QAAQ,IAAI,CAAC,CAAC;YACzF,SAAS;QACX,CAAC;QACD,MAAM,MAAM,GAAG,UAAU,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;QAC3C,IAAI,MAAM,CAAC,IAAI,KAAK,YAAY,EAAE,CAAC;YACjC,MAAM,CAAC,IAAI,CACT,UAAU,OAAO,yCAAyC,QAAQ,yGAAyG,CAC5K,CAAC;YACF,SAAS;QACX,CAAC;QACD,IAAI,CAAC,MAAM,CAAC,IAAI,KAAK,OAAO,IAAI,MAAM,CAAC,IAAI,KAAK,eAAe,CAAC,IAAI,MAAM,CAAC,YAAY,KAAK,IAAI,EAAE,CAAC;YACjG,MAAM,CAAC,IAAI,CAAC,UAAU,OAAO,4BAA4B,QAAQ,oCAAoC,CAAC,CAAC;QACzG,CAAC;IACH,CAAC;AACH,CAAC;AAED,8EAA8E;AAC9E,4EAA4E;AAC5E,+EAA+E;AAC/E,qCAAqC;AACrC,MAAM,+BAA+B,GAAG,mCAAmC,CAAC;AAC5E,8EAA8E;AAC9E,0EAA0E;AAC1E,kEAAkE;AAClE,iFAAiF;AACjF,iFAAiF;AACjF,2EAA2E;AAC3E,sEAAsE;AACtE,MAAM,6BAA6B,GAAG,6BAA6B,CAAC;AAIpE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;AACH,SAAS,wBAAwB,CAAC,UAAkB;IAClD,MAAM,UAAU,GAAG,SAAS,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC;IACnD,IAAI,6BAA6B,CAAC,IAAI,CAAC,UAAU,CAAC;QAAE,OAAO,gBAAgB,CAAC;IAC5E,IAAI,+BAA+B,CAAC,IAAI,CAAC,UAAU,CAAC;QAAE,OAAO,MAAM,CAAC;IACpE,IAAI,2BAA2B,CAAC,UAAU,CAAC;QAAE,OAAO,MAAM,CAAC;IAC3D,OAAO,UAAU,CAAC;AACpB,CAAC;AAED,gFAAgF;AAChF,8EAA8E;AAC9E,4EAA4E;AAC5E,+EAA+E;AAC/E,yDAAyD;AACzD,SAAS,2BAA2B,CAAC,UAAkB;IACrD,KAAK,MAAM,UAAU,IAAI,CAAC,gCAAgC,EAAE,uBAAuB,CAAC,EAAE,CAAC;QACrF,MAAM,MAAM,GAAG,GAAG,SAAS,CAAC,SAAS,CAAC,UAAU,CAAC,GAAG,CAAC;QACrD,IAAI,UAAU,CAAC,UAAU,CAAC,MAAM,CAAC;YAAE,OAAO,IAAI,CAAC;IACjD,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED;;;;;;;;;;;GAWG;AACH,SAAS,6BAA6B,CAAC,UAA8B;IACnE,KAAK,MAAM,KAAK,IAAI,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC;QACrD,IAAI,KAAK,CAAC,IAAI,KAAK,OAAO,IAAI,yBAAyB,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC;YACtE,OAAO,IAAI,CAAC;QACd,CAAC;QACD,IAAI,KAAK,CAAC,IAAI,KAAK,eAAe;YAAE,SAAS;QAC7C,KAAK,MAAM,IAAI,IAAI,KAAK,CAAC,GAAG,EAAE,CAAC;YAC7B,IAAI,yBAAyB,CAAC,IAAI,CAAC;gBAAE,OAAO,IAAI,CAAC;QACnD,CAAC;IACH,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,SAAS,yBAAyB,CAAC,IAAY;IAC7C,OAAO,CACL,6CAA6C,CAAC,IAAI,CAAC,IAAI,CAAC;QACxD,oDAAoD,CAAC,IAAI,CAAC,IAAI,CAAC,CAChE,CAAC;AACJ,CAAC;AAED,SAAS,yBAAyB,CAAC,IAAuB;IACxD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACrC,MAAM,GAAG,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;QACpB,IAAI,gCAAgC,CAAC,IAAI,CAAC,GAAG,CAAC;YAAE,OAAO,IAAI,CAAC;QAC5D,IAAI,GAAG,KAAK,sBAAsB,IAAI,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC;YAAE,OAAO,IAAI,CAAC;IACzF,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,SAAS,iBAAiB,CAAC,UAA8B;IACvD,MAAM,MAAM,GAAa,EAAE,CAAC;IAC5B,MAAM,UAAU,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC;IAE3D,2BAA2B;IAC3B,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;QACxC,MAAM,CAAC,IAAI,CAAC,kBAAkB,UAAU,CAAC,OAAO,kBAAkB,CAAC,CAAC;IACtE,CAAC;IAED,8BAA8B;IAC9B,MAAM,WAAW,GAAG,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,UAAU,CAAC,CAAC;IACxF,IAAI,CAAC,WAAW,EAAE,CAAC;QACjB,MAAM,CAAC,IAAI,CAAC,yCAAyC,CAAC,CAAC;IACzD,CAAC;IAED,sBAAsB;IACtB,KAAK,MAAM,CAAC,OAAO,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC;QACjE,oDAAoD;QACpD,KAAK,MAAM,MAAM,IAAI,wBAAwB,CAAC,KAAK,CAAC,EAAE,CAAC;YACrD,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC;gBAC5B,MAAM,CAAC,IAAI,CAAC,UAAU,OAAO,sCAAsC,MAAM,GAAG,CAAC,CAAC;YAChF,CAAC;QACH,CAAC;QAED,iCAAiC;QACjC,KAAK,MAAM,KAAK,IAAI,iBAAiB,CAAC,KAAK,CAAC,EAAE,CAAC;YAC7C,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC;gBAClC,MAAM,CAAC,IAAI,CAAC,UAAU,OAAO,oCAAoC,KAAK,GAAG,CAAC,CAAC;YAC7E,CAAC;QACH,CAAC;QAED,qEAAqE;QACrE,mCAAmC;QACnC,yBAAyB,CAAC,OAAO,EAAE,KAAK,EAAE,UAAU,EAAE,MAAM,CAAC,CAAC;QAE9D,+EAA+E;QAC/E,mBAAmB,CAAC,OAAO,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC;QAE5C,6BAA6B;QAC7B,IAAI,KAAK,CAAC,IAAI,KAAK,YAAY,EAAE,CAAC;YAChC,iBAAiB,CAAC,OAAO,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC;QAC5C,CAAC;IACH,CAAC;IAED,qBAAqB;IACrB,MAAM,SAAS,GAAG,mBAAmB,CAAC,UAAU,CAAC,OAAO,EAAE,UAAU,CAAC,MAAM,CAAC,CAAC;IAC7E,KAAK,MAAM,OAAO,IAAI,UAAU,EAAE,CAAC;QACjC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC;YAC5B,MAAM,CAAC,IAAI,CAAC,UAAU,OAAO,qCAAqC,CAAC,CAAC;QACtE,CAAC;IACH,CAAC;IAED,4BAA4B;IAC5B,sBAAsB,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC;IAE3C,4DAA4D;IAC5D,uBAAuB,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC;IAE5C,4EAA4E;IAC5E,6CAA6C;IAC7C,yBAAyB,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC;IAE9C,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACtB,MAAM,IAAI,uBAAuB,CAAC,MAAM,CAAC,CAAC;IAC5C,CAAC;AACH,CAAC;AAED;;;;;;;;;;;;;;;;;;;GAmBG;AACH,SAAS,uBAAuB,CAAC,UAA8B,EAAE,MAAgB;IAC/E,MAAM,eAAe,GAAG,UAAU,CAAC,QAAQ,EAAE,eAAe,KAAK,IAAI,CAAC;IACtE,MAAM,IAAI,GAAG,UAAU,CAAC,QAAQ,EAAE,IAAI,IAAI,QAAQ,CAAC;IAEnD,KAAK,MAAM,CAAC,OAAO,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC;QACjE,IAAI,KAAK,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;YAC3B,IAAI,KAAK,CAAC,cAAc,KAAK,SAAS,IAAI,CAAC,eAAe,EAAE,CAAC;gBAC3D,MAAM,CAAC,IAAI,CACT,UAAU,OAAO,8BAA8B,KAAK,CAAC,cAAc,0DAA0D;oBAC3H,4DAA4D,CAC/D,CAAC;YACJ,CAAC;YACD,IAAI,KAAK,CAAC,cAAc,KAAK,SAAS,IAAI,IAAI,KAAK,QAAQ,EAAE,CAAC;gBAC5D,MAAM,CAAC,IAAI,CACT,UAAU,OAAO,8BAA8B,KAAK,CAAC,cAAc,2BAA2B,IAAI,mBAAmB;oBACnH,6EAA6E,CAChF,CAAC;YACJ,CAAC;YACD,SAAS;QACX,CAAC;QAED,IAAI,KAAK,CAAC,IAAI,KAAK,eAAe;YAAE,SAAS;QAE7C,IAAI,KAAK,CAAC,cAAc,KAAK,SAAS,IAAI,KAAK,CAAC,SAAS,KAAK,IAAI,EAAE,CAAC;YACnE,MAAM,CAAC,IAAI,CAAC,UAAU,OAAO,sDAAsD,CAAC,CAAC;QACvF,CAAC;QACD,IACE,CAAC,KAAK,CAAC,UAAU,KAAK,SAAS,IAAI,CAAC,KAAK,CAAC,MAAM,KAAK,SAAS,IAAI,gBAAgB,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC;YACvG,KAAK,CAAC,SAAS,KAAK,IAAI,EACxB,CAAC;YACD,MAAM,CAAC,IAAI,CACT,UAAU,OAAO,yEAAyE;gBACxF,4DAA4D,CAC/D,CAAC;QACJ,CAAC;QACD,IAAI,KAAK,CAAC,UAAU,KAAK,SAAS,IAAI,CAAC,2BAA2B,CAAC,KAAK,CAAC,UAAU,CAAC,EAAE,CAAC;YACrF,MAAM,CAAC,IAAI,CACT,UAAU,OAAO,qBAAqB,KAAK,CAAC,UAAU,kEAAkE,CACzH,CAAC;QACJ,CAAC;QACD,IAAI,KAAK,CAAC,SAAS,KAAK,IAAI,IAAI,CAAC,eAAe,EAAE,CAAC;YACjD,MAAM,CAAC,IAAI,CAAC,UAAU,OAAO,6EAA6E,CAAC,CAAC;QAC9G,CAAC;QACD,IAAI,KAAK,CAAC,SAAS,KAAK,IAAI,IAAI,IAAI,KAAK,QAAQ,EAAE,CAAC;YAClD,MAAM,CAAC,IAAI,CAAC,UAAU,OAAO,0DAA0D,CAAC,CAAC;QAC3F,CAAC;IACH,CAAC;AACH,CAAC;AAED,SAAS,iBAAiB,CAAC,OAAe,EAAE,KAA+B,EAAE,MAAgB;IAC3F,IAAI,KAAK,CAAC,WAAW,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACnC,MAAM,CAAC,IAAI,CAAC,eAAe,OAAO,qCAAqC,CAAC,CAAC;IAC3E,CAAC;IAED,MAAM,WAAW,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC;IAClD,KAAK,MAAM,CAAC,IAAI,KAAK,CAAC,WAAW,EAAE,CAAC;QAClC,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC;YAC9B,MAAM,CAAC,IAAI,CAAC,eAAe,OAAO,4BAA4B,CAAC,CAAC,KAAK,yBAAyB,CAAC,CAAC;QAClG,CAAC;IACH,CAAC;AACH,CAAC;AAED,SAAS,sBAAsB,CAAC,UAA8B,EAAE,MAAgB;IAC9E,MAAM,gBAAgB,GAAG,sBAAsB,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;IAEnE,KAAK,MAAM,CAAC,OAAO,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC;QACjE,IAAI,KAAK,CAAC,IAAI,KAAK,OAAO;YAAE,SAAS;QACrC,MAAM,UAAU,GAAG,KAAK,CAAC;QACzB,KAAK,MAAM,KAAK,IAAI,UAAU,CAAC,MAAM,EAAE,CAAC;YACtC,MAAM,EAAE,IAAI,EAAE,UAAU,EAAE,GAAG,gBAAgB,CAAC,KAAK,CAAC,CAAC;YACrD,IAAI,CAAC,UAAU,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;gBAC/C,MAAM,CAAC,IAAI,CAAC,UAAU,OAAO,8BAA8B,IAAI,6BAA6B,CAAC,CAAC;YAChG,CAAC;QACH,CAAC;IACH,CAAC;AACH,CAAC;AAcD;;;;;;;GAOG;AACH,MAAM,SAAS,CAAC,CAAC,qBAAqB,CACpC,UAA8B,EAC9B,eAAoC;IAEpC,KAAK,MAAM,CAAC,OAAO,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC;QACjE,IAAI,KAAK,CAAC,IAAI,KAAK,OAAO,IAAI,KAAK,CAAC,MAAM,KAAK,SAAS;YAAE,SAAS;QACnE,IAAI,KAAK,CAAC,MAAM,KAAK,WAAW;YAAE,SAAS;QAC3C,KAAK,MAAM,IAAI,IAAI,KAAK,CAAC,MAAM,EAAE,CAAC;YAChC,IAAI,CAAC;gBACH,iBAAiB,CAAC,IAAI,CAAC,CAAC;YAC1B,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,MAAM,EAAE,IAAI,EAAE,cAAc,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,YAAY,CAAC,GAAG,CAAC,EAAE,CAAC;gBACzE,SAAS;YACX,CAAC;YACD,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;gBAC/B,MAAM,EAAE,IAAI,EAAE,cAAc,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;YAChD,CAAC;QACH,CAAC;IACH,CAAC;AACH,CAAC;AAED;;;;;;;;;GASG;AACH,MAAM,UAAU,+BAA+B,CAAC,UAA8B,EAAE,UAAkB;IAChG,MAAM,UAAU,GAAG,OAAO,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC;IACjD,MAAM,eAAe,GAAG,IAAI,GAAG,CAAC,cAAc,CAAC,UAAU,EAAE,UAAU,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;IAC3F,MAAM,SAAS,GAAG,CAAC,GAAG,eAAe,CAAC,CAAC,IAAI,EAAE,CAAC;IAC9C,MAAM,aAAa,GAAG,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC;IAE7E,MAAM,MAAM,GAAa,EAAE,CAAC;IAC5B,KAAK,MAAM,KAAK,IAAI,qBAAqB,CAAC,UAAU,EAAE,eAAe,CAAC,EAAE,CAAC;QACvE,IAAI,KAAK,CAAC,IAAI,KAAK,cAAc,EAAE,CAAC;YAClC,MAAM,CAAC,IAAI,CAAC,UAAU,KAAK,CAAC,OAAO,6BAA6B,KAAK,CAAC,IAAI,MAAM,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC;QACnG,CAAC;aAAM,CAAC;YACN,MAAM,CAAC,IAAI,CACT,UAAU,KAAK,CAAC,OAAO,uBAAuB,KAAK,CAAC,IAAI,6DAA6D,UAAU,gBAAgB,aAAa,GAAG,CAChK,CAAC;QACJ,CAAC;IACH,CAAC;IAED,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACtB,MAAM,IAAI,uBAAuB,CAAC,MAAM,CAAC,CAAC;IAC5C,CAAC;AACH,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,kBAAkB,CAAC,GAAY;IAC7C,mEAAmE;IACnE,mEAAmE;IACnE,4DAA4D;IAC5D,MAAM,SAAS,GAAG,gBAAgB,CAAC,GAAG,CAAC,CAAC;IACxC,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACzB,MAAM,IAAI,uBAAuB,CAAC,SAAS,CAAC,CAAC;IAC/C,CAAC;IAED,IAAI,MAA0B,CAAC;IAC/B,IAAI,CAAC;QACH,MAAM,GAAG,wBAAwB,CAAC,KAAK,CAAC,GAAG,CAAuB,CAAC;IACrE,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,IAAI,GAAG,YAAY,CAAC,CAAC,QAAQ,EAAE,CAAC;YAC9B,MAAM,MAAM,GAAG,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;YACtF,MAAM,IAAI,uBAAuB,CAAC,MAAM,CAAC,CAAC;QAC5C,CAAC;QACD,MAAM,GAAG,CAAC;IACZ,CAAC;IACD,iBAAiB,CAAC,MAAM,CAAC,CAAC;IAC1B,OAAO,MAAM,CAAC;AAChB,CAAC"}
|
|
@@ -6,21 +6,4 @@
|
|
|
6
6
|
* resume <baseDir> [--state <stateName>] [--model <model>]
|
|
7
7
|
* inspect <baseDir> [--all]
|
|
8
8
|
*/
|
|
9
|
-
import { parseArgs } from 'node:util';
|
|
10
|
-
import { type LintMode } from './lint-integration.js';
|
|
11
|
-
import type { WorkflowDefinition } from './types.js';
|
|
12
|
-
/**
|
|
13
|
-
* Loads + lints a workflow definition file via the shared
|
|
14
|
-
* {@link runPreflight} helper. CLI-specific reporting: prints diagnostics
|
|
15
|
-
* to stderr and exits on any failure (load or lint). On success with
|
|
16
|
-
* warnings-only output, prints a short continue notice.
|
|
17
|
-
*
|
|
18
|
-
* Returns the loaded definition on success so callers can continue using it
|
|
19
|
-
* without re-parsing (start/resume have already routed through the same
|
|
20
|
-
* file before calling this).
|
|
21
|
-
*/
|
|
22
|
-
export declare function runCliPreflightLint(definitionPath: string, mode: LintMode): WorkflowDefinition;
|
|
23
|
-
type ParseArgsConfig = Parameters<typeof parseArgs>[0];
|
|
24
|
-
export declare function parseArgsStrict(opts: Omit<ParseArgsConfig, 'strict'>): ReturnType<typeof parseArgs>;
|
|
25
9
|
export declare function main(args: string[]): Promise<void>;
|
|
26
|
-
export {};
|