@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
|
@@ -11,16 +11,7 @@ import type { IronCurtainConfig } from '../config/types.js';
|
|
|
11
11
|
import type { AgentId } from '../docker/agent-adapter.js';
|
|
12
12
|
import type { SessionMode } from './types.js';
|
|
13
13
|
import { type CredentialSources } from '../docker/oauth-credentials.js';
|
|
14
|
-
|
|
15
|
-
* Function signature for `execFile` injection in tests. Matches the shape of
|
|
16
|
-
* `promisify(child_process.execFile)` for the subset of options we use.
|
|
17
|
-
*/
|
|
18
|
-
export type ProbeExecFileFn = (cmd: string, args: readonly string[], opts: {
|
|
19
|
-
timeout: number;
|
|
20
|
-
}) => Promise<{
|
|
21
|
-
stdout: string;
|
|
22
|
-
stderr: string;
|
|
23
|
-
}>;
|
|
14
|
+
import { type DockerAvailability } from '../docker/docker-probe.js';
|
|
24
15
|
/**
|
|
25
16
|
* Thrown when explicit `--agent` prerequisites are not met, or when the
|
|
26
17
|
* user's `preferredMode` cannot be honored (Docker unavailable while
|
|
@@ -34,13 +25,6 @@ export interface PreflightResult {
|
|
|
34
25
|
/** Human-readable explanation of why this mode was selected. */
|
|
35
26
|
readonly reason: string;
|
|
36
27
|
}
|
|
37
|
-
export type DockerAvailability = {
|
|
38
|
-
available: true;
|
|
39
|
-
} | {
|
|
40
|
-
available: false;
|
|
41
|
-
reason: string;
|
|
42
|
-
detailedMessage: string;
|
|
43
|
-
};
|
|
44
28
|
export interface PreflightOptions {
|
|
45
29
|
config: IronCurtainConfig;
|
|
46
30
|
/** The --agent flag value. undefined = use preferredMode from config. */
|
|
@@ -50,19 +34,6 @@ export interface PreflightOptions {
|
|
|
50
34
|
/** Dependency injection for tests. Defaults to real credential detection. */
|
|
51
35
|
credentialSources?: CredentialSources;
|
|
52
36
|
}
|
|
53
|
-
/**
|
|
54
|
-
* Single canonical "is Docker available?" probe for the entire codebase. Other
|
|
55
|
-
* modules MUST call this rather than re-implementing `docker info`.
|
|
56
|
-
*
|
|
57
|
-
* `docker info` can blow past a tight timeout on a cold/busy daemon, so we use
|
|
58
|
-
* a generous 10s per attempt and retry on timeout-class failures. We do NOT
|
|
59
|
-
* retry on deterministic failures (ENOENT, permission denied, "Cannot connect
|
|
60
|
-
* to the Docker daemon") — those won't change between attempts and the
|
|
61
|
-
* user-visible failure path should be fast.
|
|
62
|
-
*
|
|
63
|
-
* @param execFileFn Optional `execFile` implementation for tests.
|
|
64
|
-
*/
|
|
65
|
-
export declare function checkDockerAvailable(execFileFn?: ProbeExecFileFn): Promise<DockerAvailability>;
|
|
66
37
|
/**
|
|
67
38
|
* Renders the user-facing `Mode: ...` banner shown at session startup.
|
|
68
39
|
* Single source of truth so `ironcurtain start`, the daemon, and cron
|
|
@@ -7,21 +7,12 @@
|
|
|
7
7
|
* preferred mode's prerequisites are unmet, a `PreflightError` is raised
|
|
8
8
|
* with remediation hints and the session refuses to start.
|
|
9
9
|
*/
|
|
10
|
-
import { execFile as execFileCb } from 'node:child_process';
|
|
11
|
-
import { promisify } from 'node:util';
|
|
12
10
|
import { detectAuthMethod, preflightCredentialSources, readOnlyCredentialSources, } from '../docker/oauth-credentials.js';
|
|
13
|
-
import { resolveApiKeyForProvider } from '../config/model-provider.js';
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
* load (cold daemon, busy machine), so we use a generous timeout and retry
|
|
19
|
-
* on timeout-class failures rather than tightening the bound.
|
|
20
|
-
*/
|
|
21
|
-
const DOCKER_PROBE_TIMEOUT_MS = 10_000;
|
|
22
|
-
/** Maximum number of additional attempts after the first one. */
|
|
23
|
-
const DOCKER_PROBE_MAX_RETRIES = 2;
|
|
24
|
-
const DOCKER_UNAVAILABLE_REASON = 'Docker not available';
|
|
11
|
+
import { resolveApiKeyForProvider, parseModelId, PROVIDER_ENV_VARS, } from '../config/model-provider.js';
|
|
12
|
+
// The Docker availability probe lives in `docker/docker-probe.js` (a
|
|
13
|
+
// dependency-free leaf) so runtime modules can use it without importing this
|
|
14
|
+
// file. Import callers reference `docker-probe.js` directly.
|
|
15
|
+
import { checkDockerAvailable } from '../docker/docker-probe.js';
|
|
25
16
|
/**
|
|
26
17
|
* Thrown when explicit `--agent` prerequisites are not met, or when the
|
|
27
18
|
* user's `preferredMode` cannot be honored (Docker unavailable while
|
|
@@ -33,64 +24,6 @@ export class PreflightError extends Error {
|
|
|
33
24
|
this.name = 'PreflightError';
|
|
34
25
|
}
|
|
35
26
|
}
|
|
36
|
-
function describeProbeFailure(err, fallback) {
|
|
37
|
-
if (!isExecError(err))
|
|
38
|
-
return fallback;
|
|
39
|
-
if (err.code === 'ENOENT') {
|
|
40
|
-
return 'The "docker" command was not found in your PATH. Is Docker installed?';
|
|
41
|
-
}
|
|
42
|
-
const stderr = err.stderr.trim();
|
|
43
|
-
if (stderr.length === 0)
|
|
44
|
-
return fallback;
|
|
45
|
-
if (stderr.includes('permission denied')) {
|
|
46
|
-
return 'Permission denied while connecting to the Docker daemon socket.\nIs your user in the "docker" group?';
|
|
47
|
-
}
|
|
48
|
-
if (stderr.includes('Cannot connect to the Docker daemon')) {
|
|
49
|
-
return ('Cannot connect to the Docker daemon.\n' +
|
|
50
|
-
'Is the Docker service running? On macOS/Windows, ensure Docker Desktop is started.');
|
|
51
|
-
}
|
|
52
|
-
return stderr;
|
|
53
|
-
}
|
|
54
|
-
/**
|
|
55
|
-
* Single canonical "is Docker available?" probe for the entire codebase. Other
|
|
56
|
-
* modules MUST call this rather than re-implementing `docker info`.
|
|
57
|
-
*
|
|
58
|
-
* `docker info` can blow past a tight timeout on a cold/busy daemon, so we use
|
|
59
|
-
* a generous 10s per attempt and retry on timeout-class failures. We do NOT
|
|
60
|
-
* retry on deterministic failures (ENOENT, permission denied, "Cannot connect
|
|
61
|
-
* to the Docker daemon") — those won't change between attempts and the
|
|
62
|
-
* user-visible failure path should be fast.
|
|
63
|
-
*
|
|
64
|
-
* @param execFileFn Optional `execFile` implementation for tests.
|
|
65
|
-
*/
|
|
66
|
-
export async function checkDockerAvailable(execFileFn = execFile) {
|
|
67
|
-
const totalAttempts = DOCKER_PROBE_MAX_RETRIES + 1;
|
|
68
|
-
let lastErr;
|
|
69
|
-
for (let attempt = 1; attempt <= totalAttempts; attempt++) {
|
|
70
|
-
try {
|
|
71
|
-
await execFileFn('docker', ['info'], { timeout: DOCKER_PROBE_TIMEOUT_MS });
|
|
72
|
-
return { available: true };
|
|
73
|
-
}
|
|
74
|
-
catch (err) {
|
|
75
|
-
lastErr = err;
|
|
76
|
-
if (!isExecError(err) || !isExecTimeout(err)) {
|
|
77
|
-
return {
|
|
78
|
-
available: false,
|
|
79
|
-
reason: DOCKER_UNAVAILABLE_REASON,
|
|
80
|
-
detailedMessage: describeProbeFailure(err, err instanceof Error ? err.message : String(err)),
|
|
81
|
-
};
|
|
82
|
-
}
|
|
83
|
-
}
|
|
84
|
-
}
|
|
85
|
-
const baseMessage = lastErr instanceof Error ? lastErr.message : String(lastErr);
|
|
86
|
-
const timeoutSeconds = DOCKER_PROBE_TIMEOUT_MS / 1000;
|
|
87
|
-
return {
|
|
88
|
-
available: false,
|
|
89
|
-
reason: DOCKER_UNAVAILABLE_REASON,
|
|
90
|
-
detailedMessage: `Docker daemon did not respond within ${timeoutSeconds}s after ${totalAttempts} attempts. ` +
|
|
91
|
-
`The daemon may be overloaded or starting up. Original error: ${baseMessage}`,
|
|
92
|
-
};
|
|
93
|
-
}
|
|
94
27
|
/** Human-readable label for a resolved auth kind, used in the preflight banner. */
|
|
95
28
|
function authKindLabel(kind) {
|
|
96
29
|
return kind === 'oauth' ? 'OAuth' : 'API key';
|
|
@@ -107,6 +40,12 @@ async function detectCredentialState(agentId, config, sources) {
|
|
|
107
40
|
anthropicOAuthOnly: auth.kind === 'oauth' && resolveApiKeyForProvider('anthropic', config.userConfig).length === 0,
|
|
108
41
|
};
|
|
109
42
|
}
|
|
43
|
+
if (agentId === 'codex') {
|
|
44
|
+
const { loadCodexOAuthCredentials } = await import('../docker/oauth-credentials.js');
|
|
45
|
+
if (loadCodexOAuthCredentials())
|
|
46
|
+
return { credKind: 'oauth', anthropicOAuthOnly: false };
|
|
47
|
+
return { credKind: null, anthropicOAuthOnly: false };
|
|
48
|
+
}
|
|
110
49
|
const auth = await detectAuthMethod(config, sources);
|
|
111
50
|
if (auth.kind === 'none')
|
|
112
51
|
return { credKind: null, anthropicOAuthOnly: false };
|
|
@@ -182,6 +121,10 @@ function credentialErrorMessageForExplicit(agentId, config, oauthOnly) {
|
|
|
182
121
|
}
|
|
183
122
|
return parts.join('\n\n');
|
|
184
123
|
}
|
|
124
|
+
if (agentId === 'codex') {
|
|
125
|
+
return ('--agent codex requires Codex ChatGPT authentication. Run `codex login` on the host, ' +
|
|
126
|
+
'or provide a Codex access token with `codex login --with-access-token`. OPENAI_API_KEY is not required.');
|
|
127
|
+
}
|
|
185
128
|
return `--agent ${agentId} requires authentication. Log in with \`claude login\` (OAuth) or set ANTHROPIC_API_KEY.`;
|
|
186
129
|
}
|
|
187
130
|
function credentialErrorMessageForPreferredMode(agentId, config, oauthOnly) {
|
|
@@ -207,7 +150,9 @@ function credentialErrorMessageForPreferredMode(agentId, config, oauthOnly) {
|
|
|
207
150
|
}
|
|
208
151
|
}
|
|
209
152
|
else {
|
|
210
|
-
lines.push(
|
|
153
|
+
lines.push(agentId === 'codex'
|
|
154
|
+
? 'Codex ChatGPT authentication is required. Run `codex login` on the host; OPENAI_API_KEY is not required.'
|
|
155
|
+
: `Authentication is required for "${agentId}". Log in with \`claude login\` (OAuth) or set ANTHROPIC_API_KEY.`);
|
|
211
156
|
}
|
|
212
157
|
lines.push('');
|
|
213
158
|
lines.push(...formatModeRemediation('builtin'));
|
|
@@ -223,16 +168,21 @@ function dockerUnavailableMessage(detailedMessage) {
|
|
|
223
168
|
...formatModeRemediation('builtin'),
|
|
224
169
|
].join('\n');
|
|
225
170
|
}
|
|
226
|
-
function builtinNeedsApiKeyMessage() {
|
|
227
|
-
|
|
171
|
+
function builtinNeedsApiKeyMessage(provider, qualifiedModelId) {
|
|
172
|
+
const envVar = PROVIDER_ENV_VARS[provider];
|
|
173
|
+
const lines = [
|
|
228
174
|
'Cannot start IronCurtain.',
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
|
|
175
|
+
`preferredMode is "builtin" but no ${envVar} is configured.`,
|
|
176
|
+
`Builtin mode talks to the "${provider}" provider directly using an API key` +
|
|
177
|
+
` (selected by your configured model "${qualifiedModelId}").`,
|
|
178
|
+
];
|
|
179
|
+
// Anthropic users commonly have Claude OAuth credentials from `claude login`;
|
|
180
|
+
// call out that those do not work in builtin mode to avoid confusion.
|
|
181
|
+
if (provider === 'anthropic') {
|
|
182
|
+
lines.push('Claude OAuth credentials are not usable in builtin mode — an API key is required.');
|
|
183
|
+
}
|
|
184
|
+
lines.push('', ...formatModeRemediation('docker'), '', `Set ${envVar} in your environment, or run \`ironcurtain config\`.`);
|
|
185
|
+
return lines.join('\n');
|
|
236
186
|
}
|
|
237
187
|
/**
|
|
238
188
|
* Renders the user-facing `Mode: ...` banner shown at session startup.
|
|
@@ -268,12 +218,27 @@ async function resolveDockerAgent(agent, config, isDockerAvailable, credentialSo
|
|
|
268
218
|
*/
|
|
269
219
|
export async function resolveSessionMode(options) {
|
|
270
220
|
const { config, requestedAgent, credentialSources } = options;
|
|
271
|
-
const isDockerAvailable = options.isDockerAvailable ??
|
|
221
|
+
const isDockerAvailable = options.isDockerAvailable ?? (await resolveDefaultAvailabilityProbe(config));
|
|
272
222
|
if (requestedAgent !== undefined) {
|
|
273
223
|
return resolveExplicit(requestedAgent, config, isDockerAvailable, credentialSources);
|
|
274
224
|
}
|
|
275
225
|
return resolveDefaultMode(config, isDockerAvailable, credentialSources);
|
|
276
226
|
}
|
|
227
|
+
/**
|
|
228
|
+
* Picks the container-runtime availability probe matching the selected
|
|
229
|
+
* backend: apple-container sessions must probe the Apple `container`
|
|
230
|
+
* services, not Docker (the machine may not have Docker at all).
|
|
231
|
+
* The runtime backends are imported lazily so preflight does not eagerly
|
|
232
|
+
* pull in docker-manager / apple-container-manager on every load.
|
|
233
|
+
*/
|
|
234
|
+
async function resolveDefaultAvailabilityProbe(config) {
|
|
235
|
+
const { resolveRuntimeKind } = await import('../docker/container-runtime.js');
|
|
236
|
+
if ((await resolveRuntimeKind(config.userConfig.containerRuntime)) === 'apple-container') {
|
|
237
|
+
const { checkAppleContainerAvailable } = await import('../docker/apple-container-manager.js');
|
|
238
|
+
return () => checkAppleContainerAvailable();
|
|
239
|
+
}
|
|
240
|
+
return checkDockerAvailable;
|
|
241
|
+
}
|
|
277
242
|
async function resolveExplicit(agent, config, isDockerAvailable, credentialSources) {
|
|
278
243
|
if (agent === 'builtin') {
|
|
279
244
|
return {
|
|
@@ -292,9 +257,11 @@ async function resolveDefaultMode(config, isDockerAvailable, credentialSources)
|
|
|
292
257
|
const { preferredMode, preferredDockerAgent } = config.userConfig;
|
|
293
258
|
if (preferredMode === 'builtin') {
|
|
294
259
|
// Fail before the Docker probe — fast feedback for missing keys.
|
|
295
|
-
const
|
|
260
|
+
const agentModelId = config.userConfig.agentModelId;
|
|
261
|
+
const { provider } = parseModelId(agentModelId);
|
|
262
|
+
const apiKey = resolveApiKeyForProvider(provider, config.userConfig);
|
|
296
263
|
if (apiKey.length === 0) {
|
|
297
|
-
throw new PreflightError(builtinNeedsApiKeyMessage());
|
|
264
|
+
throw new PreflightError(builtinNeedsApiKeyMessage(provider, agentModelId));
|
|
298
265
|
}
|
|
299
266
|
return { mode: { kind: 'builtin' }, reason: 'preferredMode = builtin' };
|
|
300
267
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"preflight.js","sourceRoot":"","sources":["../../src/session/preflight.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;
|
|
1
|
+
{"version":3,"file":"preflight.js","sourceRoot":"","sources":["../../src/session/preflight.ts"],"names":[],"mappings":"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"}
|
package/dist/session/types.d.ts
CHANGED
|
@@ -450,6 +450,15 @@ export interface SessionOptions {
|
|
|
450
450
|
* See `docs/designs/workflow-session-identity.md` §2.2 / §3 / §8.5.
|
|
451
451
|
*/
|
|
452
452
|
readonly agentConversationId?: AgentConversationId;
|
|
453
|
+
/**
|
|
454
|
+
* Per-invocation override for the trajectory-capture toggle. CLI flag
|
|
455
|
+
* `--capture-traces` sets this to `true`; daemon JSON-RPC clients can
|
|
456
|
+
* set this per session. Precedence: `captureTracesOverride > userConfig.capture?.enabled > false`.
|
|
457
|
+
* Honored only in Docker mode (capture is MITM-proxy bound).
|
|
458
|
+
*
|
|
459
|
+
* See docs/designs/mitm-token-trajectory-capture.md §10.
|
|
460
|
+
*/
|
|
461
|
+
readonly captureTracesOverride?: boolean;
|
|
453
462
|
}
|
|
454
463
|
/**
|
|
455
464
|
* Docker-mode options: `agentConversationId` is required because every
|
|
@@ -20,7 +20,12 @@ export const botSpec = {
|
|
|
20
20
|
description: 'Run the Signal transport (standalone, without cron scheduler)',
|
|
21
21
|
usage: ['ironcurtain bot [options]'],
|
|
22
22
|
options: [
|
|
23
|
-
{
|
|
23
|
+
{
|
|
24
|
+
flag: 'agent',
|
|
25
|
+
short: 'a',
|
|
26
|
+
description: 'Agent mode: builtin, claude-code, goose, or codex',
|
|
27
|
+
placeholder: '<name>',
|
|
28
|
+
},
|
|
24
29
|
],
|
|
25
30
|
};
|
|
26
31
|
export async function runBot(options = {}) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bot-command.js","sourceRoot":"","sources":["../../src/signal/bot-command.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAChD,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAC1D,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,EAAE,mBAAmB,EAAE,MAAM,6BAA6B,CAAC;AAClE,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAC7D,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AACzD,OAAO,EAAE,4BAA4B,EAAE,MAAM,uBAAuB,CAAC;AACrE,OAAO,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AACzD,OAAO,KAAK,MAAM,MAAM,cAAc,CAAC;AAIvC,MAAM,CAAC,MAAM,OAAO,GAAgB;IAClC,IAAI,EAAE,iBAAiB;IACvB,WAAW,EAAE,+DAA+D;IAC5E,KAAK,EAAE,CAAC,2BAA2B,CAAC;IACpC,OAAO,EAAE;QACP,
|
|
1
|
+
{"version":3,"file":"bot-command.js","sourceRoot":"","sources":["../../src/signal/bot-command.ts"],"names":[],"mappings":"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"}
|
|
@@ -18,7 +18,7 @@ import { createDockerManager } from '../docker/docker-manager.js';
|
|
|
18
18
|
import { saveUserConfig, loadUserConfig } from '../config/user-config.js';
|
|
19
19
|
import { createSignalContainerManager, } from './signal-container.js';
|
|
20
20
|
import { SIGNAL_DEFAULTS, resolveSignalConfig, getSignalDataDir } from './signal-config.js';
|
|
21
|
-
import { checkDockerAvailable } from '../
|
|
21
|
+
import { checkDockerAvailable } from '../docker/docker-probe.js';
|
|
22
22
|
// ---- Cancel handling ------------------------------------------------
|
|
23
23
|
/** Checks if a prompt result was cancelled and exits cleanly. */
|
|
24
24
|
function handleCancel(value) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"setup-signal.js","sourceRoot":"","sources":["../../src/signal/setup-signal.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"setup-signal.js","sourceRoot":"","sources":["../../src/signal/setup-signal.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACvC,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,KAAK,CAAC,MAAM,gBAAgB,CAAC;AACpC,OAAO,EAAE,mBAAmB,EAAE,MAAM,6BAA6B,CAAC;AAClE,OAAO,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAC1E,OAAO,EACL,4BAA4B,GAG7B,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,eAAe,EAAE,mBAAmB,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAC5F,OAAO,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AAEjE,wEAAwE;AAExE,iEAAiE;AACjE,SAAS,YAAY,CAAC,KAAc;IAClC,IAAI,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;QACtB,CAAC,CAAC,MAAM,CAAC,kBAAkB,CAAC,CAAC;QAC7B,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;AACH,CAAC;AAED,wEAAwE;AAExE,MAAM,UAAU,GAAG,cAAc,CAAC;AAElC,mFAAmF;AACnF,MAAM,UAAU,mBAAmB,CAAC,KAAyB;IAC3D,IAAI,CAAC,KAAK;QAAE,OAAO,0BAA0B,CAAC;IAC9C,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;QAC5B,OAAO,oEAAoE,CAAC;IAC9E,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,wEAAwE;AAExE,uEAAuE;AACvE,2EAA2E;AAC3E,+DAA+D;AAC/D,KAAK,UAAU,cAAc;IAC3B,MAAM,OAAO,GAAG,CAAC,CAAC,OAAO,EAAE,CAAC;IAC5B,OAAO,CAAC,KAAK,CAAC,oBAAoB,CAAC,CAAC;IAEpC,MAAM,MAAM,GAAG,MAAM,oBAAoB,EAAE,CAAC;IAC5C,IAAI,MAAM,CAAC,SAAS,EAAE,CAAC;QACrB,OAAO,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC;QACpC,OAAO;IACT,CAAC;IAED,OAAO,CAAC,IAAI,CAAC,yBAAyB,CAAC,CAAC;IACxC,CAAC,CAAC,GAAG,CAAC,KAAK,CACT,2DAA2D,MAAM,CAAC,eAAe,MAAM;QACrF,qDAAqD,CACxD,CAAC;IACF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC;AAED,wEAAwE;AAExE,SAAS,sBAAsB;IAC7B,OAAO;QACL,KAAK,EAAE,eAAe,CAAC,KAAK;QAC5B,IAAI,EAAE,eAAe,CAAC,IAAI;QAC1B,OAAO,EAAE,gBAAgB,EAAE;QAC3B,aAAa,EAAE,eAAe,CAAC,aAAa;KAC7C,CAAC;AACJ,CAAC;AAED,KAAK,UAAU,cAAc,CAC3B,OAA+B,EAC/B,eAAsC;IAEtC,MAAM,YAAY,GAAG,CAAC,CAAC,OAAO,EAAE,CAAC;IACjC,YAAY,CAAC,KAAK,CAAC,4DAA4D,CAAC,CAAC;IACjF,IAAI,CAAC;QACH,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,aAAa,EAAE,CAAC;QAC9C,YAAY,CAAC,IAAI,CAAC,6BAA6B,eAAe,CAAC,IAAI,EAAE,CAAC,CAAC;QAEvE,MAAM,aAAa,GAAG,CAAC,CAAC,OAAO,EAAE,CAAC;QAClC,aAAa,CAAC,KAAK,CAAC,6CAA6C,CAAC,CAAC;QACnE,IAAI,CAAC;YACH,MAAM,OAAO,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC;YACtC,aAAa,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC;QAC5C,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,aAAa,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC;YAC1C,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,gDAAgD,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YAChH,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;QAED,OAAO,OAAO,CAAC;IACjB,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,YAAY,CAAC,IAAI,CAAC,wBAAwB,CAAC,CAAC;QAC5C,MAAM,OAAO,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QAEjE,IAAI,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC;YAC5D,CAAC,CAAC,GAAG,CAAC,KAAK,CACT,QAAQ,eAAe,CAAC,IAAI,uBAAuB;gBACjD,qEAAqE;gBACrE,4DAA4D,CAC/D,CAAC;QACJ,CAAC;aAAM,CAAC;YACN,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,8BAA8B,OAAO,EAAE,CAAC,CAAC;QACvD,CAAC;QACD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;AACH,CAAC;AAED,yEAAyE;AAEzE,KAAK,UAAU,aAAa,CAAC,OAAe;IAC1C,IAAI,CAAC;QACH,MAAM,IAAI,GAAG,MAAM,KAAK,CAAC,GAAG,OAAO,cAAc,CAAC,CAAC;QACnD,IAAI,CAAC,IAAI,CAAC,EAAE;YAAE,OAAO,EAAE,CAAC;QACxB,MAAM,QAAQ,GAAG,CAAC,MAAM,IAAI,CAAC,IAAI,EAAE,CAAa,CAAC;QACjD,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC;YAAE,OAAO,QAAQ,CAAC;IAC3C,CAAC;IAAC,MAAM,CAAC;QACP,8BAA8B;IAChC,CAAC;IAED,oEAAoE;IACpE,qEAAqE;IACrE,oEAAoE;IACpE,sBAAsB;IACtB,OAAO,uBAAuB,EAAE,CAAC;AACnC,CAAC;AAED;;;GAGG;AACH,SAAS,uBAAuB;IAC9B,IAAI,CAAC;QACH,MAAM,YAAY,GAAG,OAAO,CAAC,gBAAgB,EAAE,EAAE,MAAM,EAAE,eAAe,CAAC,CAAC;QAC1E,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,YAAY,EAAE,OAAO,CAAC,CAE1D,CAAC;QACF,OAAO,CAAC,IAAI,CAAC,QAAQ,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAe,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACpF,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,EAAE,CAAC;IACZ,CAAC;AACH,CAAC;AAED,wEAAwE;AAExE;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,iBAAiB,CAAC,OAAe;IACrD,MAAM,WAAW,GAAG,MAAM,CAAC,CAAC,IAAI,CAAC;QAC/B,OAAO,EAAE,yDAAyD;QAClE,WAAW,EAAE,cAAc;QAC3B,QAAQ,EAAE,mBAAmB;KAC9B,CAAC,CAAC;IACH,YAAY,CAAC,WAAW,CAAC,CAAC;IAE1B,sCAAsC;IACtC,MAAM,UAAU,GAAG,uDAAuD,CAAC;IAC3E,CAAC,CAAC,GAAG,CAAC,IAAI,CACR,wDAAwD;QACtD,oCAAoC;QACpC,KAAK,UAAU,MAAM;QACrB,+DAA+D;QAC/D,iEAAiE;QACjE,4BAA4B,CAC/B,CAAC;IAEF,MAAM,UAAU,GAAG,MAAM,CAAC,CAAC,IAAI,CAAC;QAC9B,OAAO,EAAE,yBAAyB;QAClC,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,QAAQ,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,+BAA+B,CAAC;KACjG,CAAC,CAAC;IACH,YAAY,CAAC,UAAU,CAAC,CAAC;IAEzB,wEAAwE;IACxE,MAAM,OAAO,GAAI,UAAqB,CAAC,OAAO,CAAC,qBAAqB,EAAE,EAAE,CAAC,CAAC;IAE1E,6BAA6B;IAC7B,MAAM,eAAe,GAAG,CAAC,CAAC,OAAO,EAAE,CAAC;IACpC,eAAe,CAAC,KAAK,CAAC,eAAe,WAAqB,KAAK,CAAC,CAAC;IAEjE,MAAM,YAAY,GAAG,MAAM,KAAK,CAAC,GAAG,OAAO,gBAAgB,kBAAkB,CAAC,WAAqB,CAAC,EAAE,EAAE;QACtG,MAAM,EAAE,MAAM;QACd,OAAO,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE;QAC/C,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,OAAO,EAAE,CAAC;KAClC,CAAC,CAAC;IACH,IAAI,CAAC,YAAY,CAAC,EAAE,EAAE,CAAC;QACrB,eAAe,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC;QAC5C,MAAM,IAAI,GAAG,MAAM,YAAY,CAAC,IAAI,EAAE,CAAC;QACvC,IAAI,YAAY,CAAC,MAAM,KAAK,GAAG,EAAE,CAAC;YAChC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,oEAAoE,GAAG,oBAAoB,IAAI,EAAE,CAAC,CAAC;QACjH,CAAC;aAAM,CAAC;YACN,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,wBAAwB,YAAY,CAAC,MAAM,IAAI,IAAI,EAAE,CAAC,CAAC;QACrE,CAAC;QACD,MAAM,IAAI,KAAK,CAAC,wBAAwB,YAAY,CAAC,MAAM,IAAI,IAAI,EAAE,CAAC,CAAC;IACzE,CAAC;IACD,eAAe,CAAC,IAAI,CAAC,2BAA2B,CAAC,CAAC;IAElD,wBAAwB;IACxB,MAAM,UAAU,GAAG,MAAM,CAAC,CAAC,IAAI,CAAC;QAC9B,OAAO,EAAE,uCAAuC;QAChD,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,gBAAgB,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,oCAAoC,CAAC;KACpG,CAAC,CAAC;IACH,YAAY,CAAC,UAAU,CAAC,CAAC;IAEzB,MAAM,cAAc,GAAI,UAAqB,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;IAE/D,2CAA2C;IAC3C,MAAM,aAAa,GAAG,CAAC,CAAC,OAAO,EAAE,CAAC;IAClC,aAAa,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC;IAEpC,MAAM,UAAU,GAAG,MAAM,KAAK,CAC5B,GAAG,OAAO,gBAAgB,kBAAkB,CAAC,WAAqB,CAAC,WAAW,cAAc,EAAE,EAC9F,EAAE,MAAM,EAAE,MAAM,EAAE,CACnB,CAAC;IACF,IAAI,CAAC,UAAU,CAAC,EAAE,EAAE,CAAC;QACnB,aAAa,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC;QAC1C,MAAM,IAAI,GAAG,MAAM,UAAU,CAAC,IAAI,EAAE,CAAC;QACrC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,wBAAwB,UAAU,CAAC,MAAM,IAAI,IAAI,EAAE,CAAC,CAAC;QACjE,MAAM,IAAI,KAAK,CAAC,wBAAwB,UAAU,CAAC,MAAM,IAAI,IAAI,EAAE,CAAC,CAAC;IACvE,CAAC;IAED,aAAa,CAAC,IAAI,CAAC,wBAAwB,CAAC,CAAC;IAC7C,OAAO,WAAqB,CAAC;AAC/B,CAAC;AAaD;;;;;;;GAOG;AACH,MAAM,CAAC,KAAK,UAAU,uBAAuB,CAC3C,OAAe,EACf,SAAiB,EACjB,eAAuB;IAEvB,MAAM,aAAa,GAAG,MAAM,CAAC,SAAS,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;IAExD,gCAAgC;IAChC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,4DAA4D,CAAC,CAAC;IACzE,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,OAAO,UAAU,EAAE;QACjD,MAAM,EAAE,MAAM;QACd,OAAO,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE;QAC/C,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;YACnB,OAAO,EAAE,+DAA+D,aAAa,EAAE;YACvF,MAAM,EAAE,SAAS;YACjB,UAAU,EAAE,CAAC,eAAe,CAAC;SAC9B,CAAC;KACH,CAAC,CAAC;IACH,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;QACjB,MAAM,IAAI,KAAK,CAAC,qCAAqC,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC;IAC1E,CAAC;IAED,8CAA8C;IAC9C,IAAI,QAAQ,GAAG,CAAC,CAAC;IACjB,MAAM,WAAW,GAAG,CAAC,CAAC;IAEtB,OAAO,QAAQ,GAAG,WAAW,EAAE,CAAC;QAC9B,MAAM,OAAO,GAAG,MAAM,CAAC,CAAC,IAAI,CAAC;YAC3B,OAAO,EAAE,gDAAgD;YACzD,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,wBAAwB,CAAC;SACjF,CAAC,CAAC;QACH,YAAY,CAAC,OAAO,CAAC,CAAC;QAEtB,IAAI,OAAO,KAAK,aAAa,EAAE,CAAC;YAC9B,MAAM;QACR,CAAC;QAED,QAAQ,EAAE,CAAC;QACX,IAAI,QAAQ,IAAI,WAAW,EAAE,CAAC;YAC5B,MAAM,IAAI,KAAK,CACb,kDAAkD;gBAChD,uEAAuE,CAC1E,CAAC;QACJ,CAAC;QACD,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,mBAAmB,WAAW,GAAG,QAAQ,wBAAwB,CAAC,CAAC;IAChF,CAAC;IAED,uDAAuD;IACvD,OAAO,gBAAgB,CAAC,OAAO,EAAE,SAAS,EAAE,eAAe,CAAC,CAAC;AAC/D,CAAC;AAED;;;;GAIG;AACH,KAAK,UAAU,gBAAgB,CAAC,OAAe,EAAE,SAAiB,EAAE,eAAuB;IACzF,MAAM,QAAQ,GAAG,KAAK,IAA4B,EAAE;QAClD,uEAAuE;QACvE,yEAAyE;QACzE,MAAM,IAAI,GAAG,MAAM,KAAK,CAAC,GAAG,OAAO,kBAAkB,kBAAkB,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;QACtF,IAAI,CAAC,IAAI,CAAC,EAAE;YAAE,OAAO,IAAI,CAAC;QAE1B,MAAM,UAAU,GAAG,CAAC,MAAM,IAAI,CAAC,IAAI,EAAE,CAAqB,CAAC;QAC3D,MAAM,KAAK,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,MAAM,KAAK,eAAe,CAAC,CAAC;QACrE,IAAI,CAAC,KAAK;YAAE,OAAO,IAAI,CAAC;QAExB,mFAAmF;QACnF,OAAO,KAAK,CAAC,WAAW,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;IAC/C,CAAC,CAAC;IAEF,IAAI,WAAW,GAAG,MAAM,QAAQ,EAAE,CAAC;IACnC,IAAI,CAAC,WAAW,EAAE,CAAC;QACjB,iEAAiE;QACjE,MAAM,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC,CAAC;QAC1D,WAAW,GAAG,MAAM,QAAQ,EAAE,CAAC;IACjC,CAAC;IAED,IAAI,CAAC,WAAW,EAAE,CAAC;QACjB,MAAM,IAAI,KAAK,CACb,uCAAuC;YACrC,6EAA6E,CAChF,CAAC;IACJ,CAAC;IAED,CAAC,CAAC,GAAG,CAAC,OAAO,CACX,oDAAoD,GAAG,kBAAkB,WAAW,CAAC,SAAS,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,CAC3G,CAAC;IAEF,OAAO,WAAW,CAAC;AACrB,CAAC;AAED,wEAAwE;AAExE;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,UAAU;IAC9B,CAAC,CAAC,KAAK,CAAC,iCAAiC,CAAC,CAAC;IAE3C,MAAM,UAAU,GAAG,cAAc,EAAE,CAAC;IACpC,MAAM,YAAY,GAAG,mBAAmB,CAAC,UAAU,CAAC,CAAC;IAErD,IAAI,CAAC,YAAY,EAAE,CAAC;QAClB,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,yDAAyD,CAAC,CAAC;QACvE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,MAAM,EAAE,SAAS,EAAE,eAAe,EAAE,oBAAoB,EAAE,WAAW,EAAE,GAAG,YAAY,CAAC;IACvF,MAAM,OAAO,GAAG,oBAAoB,YAAY,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC;IAElE,CAAC,CAAC,IAAI,CACJ,+BAA+B,eAAe,iBAAiB;QAC7D,yBAAyB;QACzB,+BAA+B;QAC/B,mCAAmC;QACnC,sDAAsD;QACtD,2DAA2D,EAC7D,kBAAkB,CACnB,CAAC;IAEF,4DAA4D;IAC5D,MAAM,MAAM,GAAG,mBAAmB,EAAE,CAAC;IACrC,MAAM,gBAAgB,GAAG,4BAA4B,CAAC,MAAM,EAAE,YAAY,CAAC,SAAS,CAAC,CAAC;IACtF,IAAI,CAAC,CAAC,MAAM,gBAAgB,CAAC,SAAS,EAAE,CAAC,EAAE,CAAC;QAC1C,MAAM,YAAY,GAAG,CAAC,CAAC,OAAO,EAAE,CAAC;QACjC,YAAY,CAAC,KAAK,CAAC,kCAAkC,CAAC,CAAC;QACvD,IAAI,CAAC;YACH,MAAM,gBAAgB,CAAC,aAAa,EAAE,CAAC;YACvC,MAAM,gBAAgB,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC;YAC/C,YAAY,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;QACzC,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,YAAY,CAAC,IAAI,CAAC,2BAA2B,CAAC,CAAC;YAC/C,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,yCAAyC,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YACzG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;IACH,CAAC;IAED,MAAM,MAAM,GAAG,MAAM,uBAAuB,CAAC,OAAO,EAAE,SAAS,EAAE,eAAe,CAAC,CAAC;IAElF,4BAA4B;IAC5B,cAAc,CAAC;QACb,MAAM,EAAE;YACN,SAAS;YACT,eAAe;YACf,oBAAoB,EAAE,MAAM;SAC7B;KACF,CAAC,CAAC;IAEH,CAAC,CAAC,IAAI,CACJ,iBAAiB,WAAW,CAAC,SAAS,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,GAAG,iBAAiB,MAAM,CAAC,SAAS,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,EACpG,aAAa,CACd,CAAC;IAEF,CAAC,CAAC,KAAK,CAAC,wDAAwD,CAAC,CAAC;AACpE,CAAC;AAED,wEAAwE;AAExE;;;;;;;;;;;GAWG;AACH,MAAM,CAAC,KAAK,UAAU,cAAc,CAAC,OAA+B;IAClE,IAAI,OAAO,EAAE,OAAO,EAAE,CAAC;QACrB,MAAM,UAAU,EAAE,CAAC;QACnB,OAAO;IACT,CAAC;IAED,CAAC,CAAC,KAAK,CAAC,wBAAwB,CAAC,CAAC;IAElC,CAAC,CAAC,IAAI,CACJ,gEAAgE;QAC9D,gEAAgE;QAChE,qDAAqD;QACrD,gBAAgB;QAChB,sCAAsC;QACtC,4CAA4C;QAC5C,wDAAwD,EAC1D,eAAe,CAChB,CAAC;IAEF,MAAM,IAAI,GAAG,MAAM,CAAC,CAAC,OAAO,CAAC,EAAE,OAAO,EAAE,sBAAsB,EAAE,YAAY,EAAE,IAAI,EAAE,CAAC,CAAC;IACtF,YAAY,CAAC,IAAI,CAAC,CAAC;IACnB,IAAI,CAAC,IAAI,EAAE,CAAC;QACV,CAAC,CAAC,MAAM,CAAC,kBAAkB,CAAC,CAAC;QAC7B,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,uBAAuB;IACvB,MAAM,cAAc,EAAE,CAAC;IACvB,MAAM,MAAM,GAAG,mBAAmB,EAAE,CAAC;IAErC,yCAAyC;IACzC,MAAM,eAAe,GAAG,sBAAsB,EAAE,CAAC;IACjD,MAAM,OAAO,GAAG,4BAA4B,CAAC,MAAM,EAAE,eAAe,CAAC,CAAC;IACtE,MAAM,OAAO,GAAG,MAAM,cAAc,CAAC,OAAO,EAAE,eAAe,CAAC,CAAC;IAE/D,qDAAqD;IACrD,IAAI,SAAiB,CAAC;IAEtB,MAAM,gBAAgB,GAAG,MAAM,aAAa,CAAC,OAAO,CAAC,CAAC;IACtD,IAAI,gBAAgB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAChC,MAAM,WAAW,GAAG,MAAM,CAAC,CAAC,MAAM,CAAC;YACjC,OAAO,EAAE,2BAA2B,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,8BAA8B;YAC7F,OAAO,EAAE;gBACP,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,gBAAgB,CAAC,CAAC,CAAC,EAAE,EAAE,IAAI,EAAE,mBAAmB,EAAE;gBAChF,EAAE,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE,6BAA6B,EAAE;aAC5D;SACF,CAAC,CAAC;QACH,YAAY,CAAC,WAAW,CAAC,CAAC;QAE1B,IAAI,WAAW,KAAK,KAAK,EAAE,CAAC;YAC1B,SAAS,GAAG,gBAAgB,CAAC,CAAC,CAAC,CAAC;YAChC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,2BAA2B,SAAS,EAAE,CAAC,CAAC;QACxD,CAAC;aAAM,CAAC;YACN,SAAS,GAAG,MAAM,iBAAiB,CAAC,OAAO,CAAC,CAAC;QAC/C,CAAC;IACH,CAAC;SAAM,CAAC;QACN,SAAS,GAAG,MAAM,iBAAiB,CAAC,OAAO,CAAC,CAAC;IAC/C,CAAC;IAED,6EAA6E;IAC7E,wEAAwE;IACxE,yEAAyE;IACzE,MAAM,cAAc,GAAG,CAAC,CAAC,OAAO,EAAE,CAAC;IACnC,cAAc,CAAC,KAAK,CAAC,0CAA0C,CAAC,CAAC;IACjE,IAAI,CAAC;QACH,MAAM,MAAM,CAAC,IAAI,CAAC,eAAe,CAAC,aAAa,CAAC,CAAC;QACjD,MAAM,MAAM,CAAC,KAAK,CAAC,eAAe,CAAC,aAAa,CAAC,CAAC;QAClD,MAAM,OAAO,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC;QACtC,cAAc,CAAC,IAAI,CAAC,sBAAsB,CAAC,CAAC;IAC9C,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,cAAc,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;QACtC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,gCAAgC,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAChG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,2BAA2B;IAC3B,MAAM,eAAe,GAAG,MAAM,CAAC,CAAC,IAAI,CAAC;QACnC,OAAO,EAAE,6DAA6D;QACtE,WAAW,EAAE,cAAc;QAC3B,QAAQ,EAAE,mBAAmB;KAC9B,CAAC,CAAC;IACH,YAAY,CAAC,eAAe,CAAC,CAAC;IAE9B,mDAAmD;IACnD,MAAM,WAAW,GAAG,MAAM,uBAAuB,CAAC,OAAO,EAAE,SAAS,EAAE,eAAyB,CAAC,CAAC;IAEjG,sBAAsB;IACtB,cAAc,CAAC;QACb,MAAM,EAAE;YACN,SAAS;YACT,eAAe,EAAE,eAAyB;YAC1C,oBAAoB,EAAE,WAAW;YACjC,SAAS,EAAE;gBACT,KAAK,EAAE,eAAe,CAAC,KAAK;gBAC5B,IAAI,EAAE,eAAe,CAAC,IAAI;aAC3B;SACF;KACF,CAAC,CAAC;IAEH,UAAU;IACV,CAAC,CAAC,IAAI,CACJ,qBAAqB,SAAS,IAAI;QAChC,qBAAqB,eAAyB,IAAI;QAClD,qBAAqB,WAAW,CAAC,SAAS,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO;QACxD,qBAAqB,eAAe,CAAC,aAAa,IAAI;QACtD,qBAAqB,eAAe,CAAC,IAAI,EAAE,EAC7C,qBAAqB,CACtB,CAAC;IAEF,CAAC,CAAC,KAAK,CAAC,sCAAsC,CAAC,CAAC;AAClD,CAAC"}
|
|
@@ -5,9 +5,9 @@
|
|
|
5
5
|
* the signal-cli container is a long-lived background service that
|
|
6
6
|
* needs network access to communicate with Signal servers.
|
|
7
7
|
*
|
|
8
|
-
* Delegates to
|
|
8
|
+
* Delegates to ContainerRuntime for all Docker CLI operations.
|
|
9
9
|
*/
|
|
10
|
-
import type {
|
|
10
|
+
import type { ContainerRuntime } from '../docker/types.js';
|
|
11
11
|
/** Configuration for the signal-cli Docker container. */
|
|
12
12
|
export interface SignalContainerConfig {
|
|
13
13
|
/** Docker image name with tag. */
|
|
@@ -34,4 +34,4 @@ export interface SignalContainerManager {
|
|
|
34
34
|
/** Returns true if the container is currently running. */
|
|
35
35
|
isRunning(): Promise<boolean>;
|
|
36
36
|
}
|
|
37
|
-
export declare function createSignalContainerManager(docker:
|
|
37
|
+
export declare function createSignalContainerManager(docker: ContainerRuntime, config: SignalContainerConfig): SignalContainerManager;
|
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
* the signal-cli container is a long-lived background service that
|
|
6
6
|
* needs network access to communicate with Signal servers.
|
|
7
7
|
*
|
|
8
|
-
* Delegates to
|
|
8
|
+
* Delegates to ContainerRuntime for all Docker CLI operations.
|
|
9
9
|
*/
|
|
10
10
|
import { mkdirSync } from 'node:fs';
|
|
11
11
|
import { getSignalDataDir } from './signal-config.js';
|
|
@@ -92,7 +92,7 @@ export function createSignalContainerManager(docker, config) {
|
|
|
92
92
|
logger.info('[Signal Container] Pull failed (offline?) - using cached image');
|
|
93
93
|
}
|
|
94
94
|
}
|
|
95
|
-
// Create new container via
|
|
95
|
+
// Create new container via ContainerRuntime.create()
|
|
96
96
|
logger.info('[Signal Container] Creating new container...');
|
|
97
97
|
mkdirSync(resolvedDataDir, { recursive: true });
|
|
98
98
|
await docker.create({
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"signal-container.js","sourceRoot":"","sources":["../../src/signal/signal-container.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AAEpC,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,KAAK,MAAM,MAAM,cAAc,CAAC;AAEvC,gEAAgE;AAChE,MAAM,mBAAmB,GAAG,+BAA+B,CAAC;AAmC5D,SAAS,KAAK,CAAC,EAAU;IACvB,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,CAAC;AAC3D,CAAC;AAED;;;;;GAKG;AACH,KAAK,UAAU,iBAAiB,CAAC,
|
|
1
|
+
{"version":3,"file":"signal-container.js","sourceRoot":"","sources":["../../src/signal/signal-container.ts"],"names":[],"mappings":"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"}
|
|
@@ -11,6 +11,12 @@
|
|
|
11
11
|
export interface CircuitBreakerConfig {
|
|
12
12
|
windowMs: number;
|
|
13
13
|
threshold: number;
|
|
14
|
+
/**
|
|
15
|
+
* Number of concurrent worker lanes expected to share this breaker.
|
|
16
|
+
* Identical calls from N lanes should consume N slots before the
|
|
17
|
+
* ordinary single-lane runaway threshold applies.
|
|
18
|
+
*/
|
|
19
|
+
workerCount: number;
|
|
14
20
|
}
|
|
15
21
|
export type CircuitBreakerVerdict = {
|
|
16
22
|
allowed: true;
|
|
@@ -13,12 +13,18 @@ import { ERROR_PREFIX_CIRCUIT_BREAKER } from './error-prefixes.js';
|
|
|
13
13
|
const DEFAULT_CONFIG = {
|
|
14
14
|
windowMs: 60_000,
|
|
15
15
|
threshold: 20,
|
|
16
|
+
workerCount: 1,
|
|
16
17
|
};
|
|
17
18
|
export class CallCircuitBreaker {
|
|
18
19
|
config;
|
|
19
20
|
windows = new Map();
|
|
20
21
|
constructor(config) {
|
|
21
|
-
|
|
22
|
+
const merged = { ...DEFAULT_CONFIG, ...config };
|
|
23
|
+
this.config = {
|
|
24
|
+
...merged,
|
|
25
|
+
threshold: Math.max(1, Math.floor(merged.threshold)),
|
|
26
|
+
workerCount: Math.max(1, Math.floor(merged.workerCount)),
|
|
27
|
+
};
|
|
22
28
|
}
|
|
23
29
|
/**
|
|
24
30
|
* Check whether a tool call should be allowed.
|
|
@@ -43,10 +49,23 @@ export class CallCircuitBreaker {
|
|
|
43
49
|
else if (firstValid === -1) {
|
|
44
50
|
timestamps.length = 0;
|
|
45
51
|
}
|
|
46
|
-
|
|
52
|
+
// Scale the GLOBAL per-`(tool:argsHash)` threshold by `workerCount` so
|
|
53
|
+
// N homogeneous lanes issuing the same call do not false-trip the
|
|
54
|
+
// single-lane runaway guard. Trade-off: because the window is keyed
|
|
55
|
+
// only by `(tool, argsHash)` and NOT by lane, this grants `threshold *
|
|
56
|
+
// workerCount` headroom to the WHOLE bucket -- so a single runaway lane
|
|
57
|
+
// gets `threshold * N` slots to itself, weakening the DoS guard by a
|
|
58
|
+
// factor of N. Harmless today (`workerCount` is always 1 in
|
|
59
|
+
// production). REQUIRED PREREQUISITE before any caller sets
|
|
60
|
+
// `workerCount > 1`: per-lane bucketing (key the window by lane id) so
|
|
61
|
+
// each lane keeps its own single-lane threshold. Lane ids do not exist
|
|
62
|
+
// yet, so this cannot be implemented here -- see
|
|
63
|
+
// docs/designs/evolve-sync-parallelism-slice.md §5.2.
|
|
64
|
+
const effectiveThreshold = this.config.threshold * this.config.workerCount;
|
|
65
|
+
if (timestamps.length >= effectiveThreshold) {
|
|
47
66
|
return {
|
|
48
67
|
allowed: false,
|
|
49
|
-
reason: `${ERROR_PREFIX_CIRCUIT_BREAKER} Tool '${toolName}' called ${
|
|
68
|
+
reason: `${ERROR_PREFIX_CIRCUIT_BREAKER} Tool '${toolName}' called ${effectiveThreshold} times ` +
|
|
50
69
|
`with identical arguments within ${this.config.windowMs / 1000}s window. ` +
|
|
51
70
|
'Try a different approach.',
|
|
52
71
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"call-circuit-breaker.js","sourceRoot":"","sources":["../../src/trusted-process/call-circuit-breaker.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AACzC,OAAO,EAAE,4BAA4B,EAAE,MAAM,qBAAqB,CAAC;
|
|
1
|
+
{"version":3,"file":"call-circuit-breaker.js","sourceRoot":"","sources":["../../src/trusted-process/call-circuit-breaker.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AACzC,OAAO,EAAE,4BAA4B,EAAE,MAAM,qBAAqB,CAAC;AAanE,MAAM,cAAc,GAAyB;IAC3C,QAAQ,EAAE,MAAM;IAChB,SAAS,EAAE,EAAE;IACb,WAAW,EAAE,CAAC;CACf,CAAC;AAIF,MAAM,OAAO,kBAAkB;IACZ,MAAM,CAAuB;IACtC,OAAO,GAAG,IAAI,GAAG,EAAoB,CAAC;IAE9C,YAAY,MAAsC;QAChD,MAAM,MAAM,GAAG,EAAE,GAAG,cAAc,EAAE,GAAG,MAAM,EAAE,CAAC;QAChD,IAAI,CAAC,MAAM,GAAG;YACZ,GAAG,MAAM;YACT,SAAS,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;YACpD,WAAW,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;SACzD,CAAC;IACJ,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,QAAgB,EAAE,IAA6B;QACnD,MAAM,QAAQ,GAAG,WAAW,CAAC,IAAI,CAAC,CAAC;QACnC,MAAM,GAAG,GAAG,GAAG,QAAQ,IAAI,QAAQ,EAAE,CAAC;QACtC,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QACvB,MAAM,MAAM,GAAG,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC;QAE1C,IAAI,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QACvC,IAAI,CAAC,UAAU,EAAE,CAAC;YAChB,UAAU,GAAG,EAAE,CAAC;YAChB,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,EAAE,UAAU,CAAC,CAAC;QACpC,CAAC;QAED,sCAAsC;QACtC,MAAM,UAAU,GAAG,UAAU,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC;QAC3D,IAAI,UAAU,GAAG,CAAC,EAAE,CAAC;YACnB,UAAU,CAAC,MAAM,CAAC,CAAC,EAAE,UAAU,CAAC,CAAC;QACnC,CAAC;aAAM,IAAI,UAAU,KAAK,CAAC,CAAC,EAAE,CAAC;YAC7B,UAAU,CAAC,MAAM,GAAG,CAAC,CAAC;QACxB,CAAC;QAED,uEAAuE;QACvE,kEAAkE;QAClE,oEAAoE;QACpE,uEAAuE;QACvE,wEAAwE;QACxE,qEAAqE;QACrE,4DAA4D;QAC5D,4DAA4D;QAC5D,uEAAuE;QACvE,uEAAuE;QACvE,iDAAiD;QACjD,sDAAsD;QACtD,MAAM,kBAAkB,GAAG,IAAI,CAAC,MAAM,CAAC,SAAS,GAAG,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC;QAC3E,IAAI,UAAU,CAAC,MAAM,IAAI,kBAAkB,EAAE,CAAC;YAC5C,OAAO;gBACL,OAAO,EAAE,KAAK;gBACd,MAAM,EACJ,GAAG,4BAA4B,UAAU,QAAQ,YAAY,kBAAkB,SAAS;oBACxF,mCAAmC,IAAI,CAAC,MAAM,CAAC,QAAQ,GAAG,IAAI,YAAY;oBAC1E,2BAA2B;aAC9B,CAAC;QACJ,CAAC;QAED,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACrB,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;IAC3B,CAAC;IAED,uBAAuB;IACvB,KAAK;QACH,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;IACvB,CAAC;CACF"}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Container-CLI translation for Docker-based MCP server commands.
|
|
3
|
+
*
|
|
4
|
+
* Several bundled MCP servers run as containers via `docker run -i --rm
|
|
5
|
+
* [-e VAR] <image>` (e.g. the GitHub MCP server). On machines using the
|
|
6
|
+
* Apple `container` runtime instead of Docker (see
|
|
7
|
+
* docs/designs/apple-container-runtime.md), the `docker` binary does not
|
|
8
|
+
* exist — but the Apple CLI accepts the same `run -i --rm -e VAR <image>`
|
|
9
|
+
* invocation, so the spawn can be translated by swapping the binary.
|
|
10
|
+
*
|
|
11
|
+
* The translation is deliberately narrow: only `docker run ...` commands
|
|
12
|
+
* are rewritten, only when `docker` is absent AND `container` is present,
|
|
13
|
+
* and only the binary name changes — the argument array passes through
|
|
14
|
+
* untouched (no string assembly; see the Safe Coding rules).
|
|
15
|
+
*/
|
|
16
|
+
/**
|
|
17
|
+
* Returns true when `bin --version` can be spawned (the binary exists on
|
|
18
|
+
* PATH). A non-zero exit still counts as existing — only a spawn error
|
|
19
|
+
* (ENOENT et al.) counts as missing.
|
|
20
|
+
*/
|
|
21
|
+
export declare function commandExists(bin: string): boolean;
|
|
22
|
+
export interface ContainerSpawnSpec {
|
|
23
|
+
readonly command: string;
|
|
24
|
+
readonly args: string[];
|
|
25
|
+
/** True when the spawn was rewritten from `docker` to `container`. */
|
|
26
|
+
readonly translated: boolean;
|
|
27
|
+
}
|
|
28
|
+
/**
|
|
29
|
+
* Rewrites a `docker run ...` MCP server spawn to the Apple `container`
|
|
30
|
+
* CLI when Docker is unavailable but `container` is present. Everything
|
|
31
|
+
* else passes through unchanged — including `docker run` on machines
|
|
32
|
+
* that have Docker, and non-`run` docker subcommands (which have no
|
|
33
|
+
* guaranteed CLI parity).
|
|
34
|
+
*/
|
|
35
|
+
export declare function resolveContainerSpawnCommand(command: string, args: readonly string[], binExists?: (bin: string) => boolean): ContainerSpawnSpec;
|