@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
|
@@ -2,13 +2,13 @@
|
|
|
2
2
|
* Shared container lifecycle helpers used by both DockerAgentSession and
|
|
3
3
|
* runPtySession to avoid duplicating stop/remove/network-cleanup logic.
|
|
4
4
|
*/
|
|
5
|
-
import type {
|
|
5
|
+
import type { ContainerRuntime } from './types.js';
|
|
6
6
|
/**
|
|
7
7
|
* Stop and remove Docker containers and their per-session network in parallel.
|
|
8
8
|
* Best-effort: individual failures are swallowed so one broken container
|
|
9
9
|
* doesn't prevent cleanup of the others.
|
|
10
10
|
*/
|
|
11
|
-
export declare function cleanupContainers(docker:
|
|
11
|
+
export declare function cleanupContainers(docker: ContainerRuntime, opts: {
|
|
12
12
|
containerId: string | null;
|
|
13
13
|
sidecarContainerId: string | null;
|
|
14
14
|
networkName: string | null;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"container-lifecycle.js","sourceRoot":"","sources":["../../src/docker/container-lifecycle.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAIH;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,iBAAiB,CACrC,
|
|
1
|
+
{"version":3,"file":"container-lifecycle.js","sourceRoot":"","sources":["../../src/docker/container-lifecycle.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAIH;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,iBAAiB,CACrC,MAAwB,EACxB,IAIC;IAED,MAAM,QAAQ,GAAoB,EAAE,CAAC;IAErC,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC;QACrB,MAAM,GAAG,GAAG,IAAI,CAAC,WAAW,CAAC;QAC7B,QAAQ,CAAC,IAAI,CACX,MAAM;aACH,IAAI,CAAC,GAAG,CAAC;aACT,IAAI,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;aAC9B,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CACnB,CAAC;IACJ,CAAC;IAED,IAAI,IAAI,CAAC,kBAAkB,EAAE,CAAC;QAC5B,MAAM,GAAG,GAAG,IAAI,CAAC,kBAAkB,CAAC;QACpC,QAAQ,CAAC,IAAI,CACX,MAAM;aACH,IAAI,CAAC,GAAG,CAAC;aACT,IAAI,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;aAC9B,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CACnB,CAAC;IACJ,CAAC;IAED,MAAM,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;IAE5B,qEAAqE;IACrE,IAAI,IAAI,CAAC,WAAW,KAAK,IAAI,EAAE,CAAC;QAC9B,MAAM,MAAM,CAAC,aAAa,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;IAC/D,CAAC;AACH,CAAC"}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Container runtime selection seam.
|
|
3
|
+
*
|
|
4
|
+
* Agent-session infrastructure obtains its ContainerRuntime through this
|
|
5
|
+
* factory instead of constructing a specific implementation, so adding a
|
|
6
|
+
* runtime is a new case here rather than a change at every call site.
|
|
7
|
+
* Docker-specific host services (signal-cli container, daemon orphan
|
|
8
|
+
* sweeps) intentionally keep using `createDockerManager()` directly.
|
|
9
|
+
*
|
|
10
|
+
* See docs/designs/apple-container-runtime.md.
|
|
11
|
+
*/
|
|
12
|
+
import type { ContainerRuntime } from './types.js';
|
|
13
|
+
import type { DockerAvailability } from './docker-probe.js';
|
|
14
|
+
import type { ContainerRuntimeSetting } from '../config/user-config.js';
|
|
15
|
+
export declare const CONTAINER_RUNTIME_KINDS: readonly ["docker", "apple-container"];
|
|
16
|
+
export type ContainerRuntimeKind = (typeof CONTAINER_RUNTIME_KINDS)[number];
|
|
17
|
+
/** Test hook: clears the memoized 'auto' probe result. */
|
|
18
|
+
export declare function resetRuntimeKindResolutionForTests(): void;
|
|
19
|
+
/**
|
|
20
|
+
* Resolves which runtime kind agent sessions should use.
|
|
21
|
+
*
|
|
22
|
+
* Precedence: `IRONCURTAIN_CONTAINER_RUNTIME` env override > the
|
|
23
|
+
* `containerRuntime` config field > 'auto'. 'auto' picks apple-container
|
|
24
|
+
* when its availability probe passes (Apple silicon, macOS 26+,
|
|
25
|
+
* container CLI >= 1.0 with services running) and Docker otherwise.
|
|
26
|
+
* See docs/designs/apple-container-runtime.md, design decision 6.
|
|
27
|
+
*/
|
|
28
|
+
export declare function resolveRuntimeKind(configured?: ContainerRuntimeSetting, env?: NodeJS.ProcessEnv, appleProbe?: () => Promise<DockerAvailability>): Promise<ContainerRuntimeKind>;
|
|
29
|
+
export declare function createContainerRuntime(kind?: ContainerRuntimeKind): ContainerRuntime;
|
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Container runtime selection seam.
|
|
3
|
+
*
|
|
4
|
+
* Agent-session infrastructure obtains its ContainerRuntime through this
|
|
5
|
+
* factory instead of constructing a specific implementation, so adding a
|
|
6
|
+
* runtime is a new case here rather than a change at every call site.
|
|
7
|
+
* Docker-specific host services (signal-cli container, daemon orphan
|
|
8
|
+
* sweeps) intentionally keep using `createDockerManager()` directly.
|
|
9
|
+
*
|
|
10
|
+
* See docs/designs/apple-container-runtime.md.
|
|
11
|
+
*/
|
|
12
|
+
import { createDockerManager } from './docker-manager.js';
|
|
13
|
+
import { createAppleContainerManager, checkAppleContainerAvailable } from './apple-container-manager.js';
|
|
14
|
+
import * as logger from '../logger.js';
|
|
15
|
+
export const CONTAINER_RUNTIME_KINDS = ['docker', 'apple-container'];
|
|
16
|
+
function isContainerRuntimeKind(value) {
|
|
17
|
+
return CONTAINER_RUNTIME_KINDS.includes(value);
|
|
18
|
+
}
|
|
19
|
+
/**
|
|
20
|
+
* Parses the `IRONCURTAIN_CONTAINER_RUNTIME` env override. Returns
|
|
21
|
+
* undefined when unset; unknown values fail loudly rather than silently
|
|
22
|
+
* running a different sandbox than the operator asked for.
|
|
23
|
+
*/
|
|
24
|
+
function parseEnvOverride(env) {
|
|
25
|
+
const requested = env.IRONCURTAIN_CONTAINER_RUNTIME;
|
|
26
|
+
if (requested === undefined || requested === '')
|
|
27
|
+
return undefined;
|
|
28
|
+
if (!isContainerRuntimeKind(requested)) {
|
|
29
|
+
throw new Error(`Unknown IRONCURTAIN_CONTAINER_RUNTIME value "${requested}" (expected one of: ${CONTAINER_RUNTIME_KINDS.join(', ')})`);
|
|
30
|
+
}
|
|
31
|
+
return requested;
|
|
32
|
+
}
|
|
33
|
+
/**
|
|
34
|
+
* Memoized result of the 'auto' probe. One process serves one machine,
|
|
35
|
+
* so the answer cannot change mid-run, and memoizing keeps the three
|
|
36
|
+
* resolution sites (session preflight, infrastructure setup, image
|
|
37
|
+
* ensure) agreeing without re-probing the container apiserver.
|
|
38
|
+
*/
|
|
39
|
+
let autoResolution;
|
|
40
|
+
/** Test hook: clears the memoized 'auto' probe result. */
|
|
41
|
+
export function resetRuntimeKindResolutionForTests() {
|
|
42
|
+
autoResolution = undefined;
|
|
43
|
+
}
|
|
44
|
+
/**
|
|
45
|
+
* Resolves which runtime kind agent sessions should use.
|
|
46
|
+
*
|
|
47
|
+
* Precedence: `IRONCURTAIN_CONTAINER_RUNTIME` env override > the
|
|
48
|
+
* `containerRuntime` config field > 'auto'. 'auto' picks apple-container
|
|
49
|
+
* when its availability probe passes (Apple silicon, macOS 26+,
|
|
50
|
+
* container CLI >= 1.0 with services running) and Docker otherwise.
|
|
51
|
+
* See docs/designs/apple-container-runtime.md, design decision 6.
|
|
52
|
+
*/
|
|
53
|
+
export async function resolveRuntimeKind(configured = 'auto', env = process.env, appleProbe = checkAppleContainerAvailable) {
|
|
54
|
+
const override = parseEnvOverride(env);
|
|
55
|
+
if (override !== undefined)
|
|
56
|
+
return override;
|
|
57
|
+
if (configured !== 'auto')
|
|
58
|
+
return configured;
|
|
59
|
+
if (autoResolution === undefined) {
|
|
60
|
+
const apple = await appleProbe();
|
|
61
|
+
autoResolution = apple.available ? 'apple-container' : 'docker';
|
|
62
|
+
logger.info(apple.available
|
|
63
|
+
? `containerRuntime=auto: using apple-container (probe passed)`
|
|
64
|
+
: `containerRuntime=auto: using docker (apple-container unavailable: ${apple.reason})`);
|
|
65
|
+
}
|
|
66
|
+
return autoResolution;
|
|
67
|
+
}
|
|
68
|
+
export function createContainerRuntime(kind = 'docker') {
|
|
69
|
+
switch (kind) {
|
|
70
|
+
case 'docker':
|
|
71
|
+
return createDockerManager();
|
|
72
|
+
case 'apple-container':
|
|
73
|
+
return createAppleContainerManager();
|
|
74
|
+
}
|
|
75
|
+
}
|
|
76
|
+
//# sourceMappingURL=container-runtime.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"container-runtime.js","sourceRoot":"","sources":["../../src/docker/container-runtime.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAKH,OAAO,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAC1D,OAAO,EAAE,2BAA2B,EAAE,4BAA4B,EAAE,MAAM,8BAA8B,CAAC;AACzG,OAAO,KAAK,MAAM,MAAM,cAAc,CAAC;AAEvC,MAAM,CAAC,MAAM,uBAAuB,GAAG,CAAC,QAAQ,EAAE,iBAAiB,CAAU,CAAC;AAG9E,SAAS,sBAAsB,CAAC,KAAa;IAC3C,OAAQ,uBAA6C,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;AACxE,CAAC;AAED;;;;GAIG;AACH,SAAS,gBAAgB,CAAC,GAAsB;IAC9C,MAAM,SAAS,GAAG,GAAG,CAAC,6BAA6B,CAAC;IACpD,IAAI,SAAS,KAAK,SAAS,IAAI,SAAS,KAAK,EAAE;QAAE,OAAO,SAAS,CAAC;IAClE,IAAI,CAAC,sBAAsB,CAAC,SAAS,CAAC,EAAE,CAAC;QACvC,MAAM,IAAI,KAAK,CACb,gDAAgD,SAAS,uBAAuB,uBAAuB,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CACtH,CAAC;IACJ,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC;AAED;;;;;GAKG;AACH,IAAI,cAAgD,CAAC;AAErD,0DAA0D;AAC1D,MAAM,UAAU,kCAAkC;IAChD,cAAc,GAAG,SAAS,CAAC;AAC7B,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,CAAC,KAAK,UAAU,kBAAkB,CACtC,aAAsC,MAAM,EAC5C,MAAyB,OAAO,CAAC,GAAG,EACpC,aAAgD,4BAA4B;IAE5E,MAAM,QAAQ,GAAG,gBAAgB,CAAC,GAAG,CAAC,CAAC;IACvC,IAAI,QAAQ,KAAK,SAAS;QAAE,OAAO,QAAQ,CAAC;IAC5C,IAAI,UAAU,KAAK,MAAM;QAAE,OAAO,UAAU,CAAC;IAE7C,IAAI,cAAc,KAAK,SAAS,EAAE,CAAC;QACjC,MAAM,KAAK,GAAG,MAAM,UAAU,EAAE,CAAC;QACjC,cAAc,GAAG,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,QAAQ,CAAC;QAChE,MAAM,CAAC,IAAI,CACT,KAAK,CAAC,SAAS;YACb,CAAC,CAAC,6DAA6D;YAC/D,CAAC,CAAC,qEAAqE,KAAK,CAAC,MAAM,GAAG,CACzF,CAAC;IACJ,CAAC;IACD,OAAO,cAAc,CAAC;AACxB,CAAC;AAED,MAAM,UAAU,sBAAsB,CAAC,OAA6B,QAAQ;IAC1E,QAAQ,IAAI,EAAE,CAAC;QACb,KAAK,QAAQ;YACX,OAAO,mBAAmB,EAAE,CAAC;QAC/B,KAAK,iBAAiB;YACpB,OAAO,2BAA2B,EAAE,CAAC;IACzC,CAAC;AACH,CAAC"}
|
|
@@ -126,6 +126,22 @@ export class DockerAgentSession {
|
|
|
126
126
|
// an entry the proxy just wrote.
|
|
127
127
|
this.auditTailer = new AuditLogTailer(this.infra.auditLogPath, (event) => this.emitDiagnostic(event));
|
|
128
128
|
this.auditTailer.start();
|
|
129
|
+
// Trajectory capture is driven HERE only in standalone (owns-infra)
|
|
130
|
+
// mode: the session owns the bundle and runs exactly one Claude session
|
|
131
|
+
// through it, with no fsmState (not a workflow) and no persona, so
|
|
132
|
+
// `{ sessionId }` alone is correct. In borrow mode (workflow shared
|
|
133
|
+
// container) the orchestrator drives the capture lifecycle and supplies
|
|
134
|
+
// the full `{ sessionId, persona, fsmState }`; the session must NOT also
|
|
135
|
+
// call begin/end here, or the orchestrator's richer call would be
|
|
136
|
+
// silently dropped by the dispatcher's first-wins idempotency, losing
|
|
137
|
+
// persona/fsmState on the `session-start` manifest entry.
|
|
138
|
+
// No-op when capture is disabled (writer absent). The `ownsInfra` gate
|
|
139
|
+
// is a real lifecycle decision (borrow mode lets the orchestrator drive
|
|
140
|
+
// begin/end); the method is always present.
|
|
141
|
+
// See docs/designs/mitm-token-trajectory-capture.md §11.
|
|
142
|
+
if (this.ownsInfra) {
|
|
143
|
+
this.infra.beginCaptureSession({ sessionId: this.sessionId });
|
|
144
|
+
}
|
|
129
145
|
this.status = 'ready';
|
|
130
146
|
}
|
|
131
147
|
getInfo() {
|
|
@@ -183,7 +199,7 @@ export class DockerAgentSession {
|
|
|
183
199
|
logger.info(`[docker-agent] stderr: ${stderr.substring(0, 500)}`);
|
|
184
200
|
}
|
|
185
201
|
this.cumulativeActiveMs += Date.now() - turnStartMs;
|
|
186
|
-
const response = this.infra.adapter.extractResponse(exitCode, stdout);
|
|
202
|
+
const response = this.infra.adapter.extractResponse(exitCode, stdout, stderr);
|
|
187
203
|
if (response.costUsd !== undefined) {
|
|
188
204
|
this.cumulativeCostUsd = response.costUsd;
|
|
189
205
|
}
|
|
@@ -310,6 +326,19 @@ export class DockerAgentSession {
|
|
|
310
326
|
this.status = 'closed';
|
|
311
327
|
this.escalationWatcher?.stop();
|
|
312
328
|
this.auditTailer?.stop();
|
|
329
|
+
// Trajectory capture: end the capture session BEFORE infrastructure
|
|
330
|
+
// teardown so the `session-end` manifest entry is durable. The
|
|
331
|
+
// infrastructure-teardown safety net inside destroyDockerInfrastructure
|
|
332
|
+
// would otherwise emit a synthetic poisoned end. Pre-empting it keeps
|
|
333
|
+
// the manifest clean for normal exits. Gated on `ownsInfra` to stay
|
|
334
|
+
// symmetric with the begin call above: in borrow mode the orchestrator
|
|
335
|
+
// owns begin/end, so the session calling end alone would terminate a
|
|
336
|
+
// capture session the orchestrator is still using.
|
|
337
|
+
if (this.ownsInfra) {
|
|
338
|
+
await this.infra.endCaptureSession(this.sessionId).catch((err) => {
|
|
339
|
+
logger.warn(`endCaptureSession failed: ${err instanceof Error ? err.message : String(err)}`);
|
|
340
|
+
});
|
|
341
|
+
}
|
|
313
342
|
if (this.ownsInfra) {
|
|
314
343
|
await destroyDockerInfrastructure(this.infra);
|
|
315
344
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"docker-agent-session.js","sourceRoot":"","sources":["../../src/docker/docker-agent-session.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AAEH,OAAO,EAAE,SAAS,EAAE,aAAa,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAC5E,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAapC,OAAO,EAAE,yBAAyB,EAAE,MAAM,qBAAqB,CAAC;AAGhE,OAAO,EAAE,2BAA2B,EAAE,MAAM,4BAA4B,CAAC;AACzE,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,EAAE,oBAAoB,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AAC9E,OAAO,EAAE,uBAAuB,EAAE,mBAAmB,EAAE,MAAM,qCAAqC,CAAC;AAEnG,OAAO,KAAK,MAAM,MAAM,cAAc,CAAC;AACvC,OAAO,EAAE,uBAAuB,EAAE,MAAM,qBAAqB,CAAC;AA+D9D,MAAM,OAAO,kBAAkB;IACZ,SAAS,CAAY;IAC9B,mBAAmB,CAAsB;IAChC,MAAM,CAAoB;IAC1B,KAAK,CAAuB;IAC5B,SAAS,CAAU;IACnB,kBAAkB,CAAU;IAC5B,YAAY,CAAS;IAE9B,MAAM,GAAkB,cAAc,CAAC;IAC9B,SAAS,CAAS;IAEnC;;;;;;;OAOG;IACK,iBAAiB,GAAG,KAAK,CAAC;IAE1B,KAAK,GAAuB,EAAE,CAAC;IAC/B,aAAa,GAAsB,EAAE,CAAC;IACtC,iBAAiB,GAA6B,IAAI,CAAC;IAEnD,WAAW,GAA0B,IAAI,CAAC;IAC1C,kBAAkB,GAAG,CAAC,CAAC;IACvB,iBAAiB,GAAG,CAAC,CAAC;IAEb,YAAY,CAAwC;IACpD,mBAAmB,CAAc;IACjC,oBAAoB,CAAmE;IACvF,YAAY,CAAoC;IAEjE,YAAY,IAA4B;QACtC,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC;QAChC,IAAI,CAAC,mBAAmB,GAAG,IAAI,CAAC,mBAAmB,CAAC;QACpD,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;QAC1B,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;QACxB,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC;QAChC,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC,kBAAkB,CAAC;QAClD,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,oBAAoB,IAAI,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC;QACzE,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,YAAY,CAAC;QACtC,IAAI,CAAC,mBAAmB,GAAG,IAAI,CAAC,mBAAmB,CAAC;QACpD,IAAI,CAAC,oBAAoB,GAAG,IAAI,CAAC,oBAAoB,CAAC;QACtD,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,YAAY,CAAC;QACtC,IAAI,CAAC,SAAS,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;QAE1C,gEAAgE;QAChE,6DAA6D;QAC7D,qEAAqE;QACrE,oEAAoE;QACpE,qEAAqE;QACrE,sEAAsE;QACtE,uEAAuE;QACvE,8DAA8D;QAC9D,6CAA6C;QAC7C,IACE,IAAI,CAAC,KAAK,CAAC,oBAAoB;YAC/B,qBAAqB,CAAC,IAAI,CAAC,KAAK,CAAC,oBAAoB,EAAE,IAAI,CAAC,mBAAmB,CAAC,EAChF,CAAC;YACD,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC;QAChC,CAAC;IACH,CAAC;IAED;;;;;;;;;;OAUG;IACH,0GAA0G;IAC1G,KAAK,CAAC,UAAU;QACd,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,YAAY,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QACxD,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,aAAa,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QAEzD,kEAAkE;QAClE,kEAAkE;QAClE,8DAA8D;QAC9D,sBAAsB;QACtB,aAAa,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,SAAS,EAAE,mBAAmB,CAAC,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC;QAErF,MAAM,CAAC,IAAI,CAAC,kCAAkC,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC;QAEzF,IAAI,CAAC,iBAAiB,GAAG,uBAAuB,CAAC,IAAI,CAAC,KAAK,CAAC,aAAa,EAAE;YACzE,YAAY,EAAE,CAAC,OAAO,EAAE,EAAE,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC,OAAO,CAAC;YACvD,mBAAmB,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,mBAAmB,EAAE,EAAE;YACvD,oBAAoB,EAAE,CAAC,EAAE,EAAE,QAAQ,EAAE,EAAE,CAAC,IAAI,CAAC,oBAAoB,EAAE,CAAC,EAAE,EAAE,QAAQ,CAAC;SAClF,CAAC,CAAC;QACH,IAAI,CAAC,iBAAiB,CAAC,KAAK,EAAE,CAAC;QAE/B,qEAAqE;QACrE,yEAAyE;QACzE,kEAAkE;QAClE,wEAAwE;QACxE,iCAAiC;QACjC,IAAI,CAAC,WAAW,GAAG,IAAI,cAAc,CAAC,IAAI,CAAC,KAAK,CAAC,YAAY,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC,CAAC;QACtG,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE,CAAC;QAEzB,IAAI,CAAC,MAAM,GAAG,OAAO,CAAC;IACxB,CAAC;IAED,OAAO;QACL,OAAO;YACL,EAAE,EAAE,IAAI,CAAC,SAAS;YAClB,MAAM,EAAE,IAAI,CAAC,MAAM;YACnB,SAAS,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM;YAC5B,SAAS,EAAE,IAAI,CAAC,SAAS;SAC1B,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,WAAW,CAAC,WAAmB;QACnC,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,IAAI,CAAC,mBAAmB,CAAC,WAAW,CAAC,CAAC;QAC7D,OAAO,IAAI,CAAC;IACd,CAAC;IAED,KAAK,CAAC,mBAAmB,CAAC,WAAmB;QAC3C,IAAI,IAAI,CAAC,MAAM,KAAK,QAAQ;YAAE,MAAM,IAAI,kBAAkB,EAAE,CAAC;QAC7D,IAAI,IAAI,CAAC,MAAM,KAAK,OAAO;YAAE,MAAM,IAAI,oBAAoB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAEzE,IAAI,CAAC,MAAM,GAAG,YAAY,CAAC;QAC3B,IAAI,CAAC;YACH,kEAAkE;YAClE,mEAAmE;YACnE,mEAAmE;YACnE,uDAAuD;YACvD,MAAM,UAAU,GAAG,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,cAAc,CAAC,iBAAiB,CAAC;YAC3E,MAAM,WAAW,GAAG,UAAU,IAAI,IAAI,CAAC,CAAC,CAAC,UAAU,GAAG,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC;YAEvE,MAAM,WAAW,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;YAC/B,MAAM,SAAS,GAAG,IAAI,IAAI,CAAC,WAAW,CAAC,CAAC,WAAW,EAAE,CAAC;YAEtD,2CAA2C;YAC3C,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC,CAAC;YAEnC,MAAM,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,YAAY,CAAC,WAAW,EAAE,IAAI,CAAC,YAAY,EAAE;gBAClF,6DAA6D;gBAC7D,qEAAqE;gBACrE,sEAAsE;gBACtE,SAAS,EAAE,IAAI,CAAC,mBAAmB;gBACnC,SAAS,EAAE,CAAC,IAAI,CAAC,iBAAiB;gBAClC,aAAa,EAAE,IAAI,CAAC,kBAAkB;aACvC,CAAC,CAAC;YACH,kEAAkE;YAClE,oDAAoD;YACpD,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,EAAE,SAAS,CAAC;YACvD,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,WAAW,IAAI,SAAS,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,GAAG,WAAW,EAAE,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC;YAC3G,MAAM,CAAC,IAAI,CAAC,wBAAwB,aAAa,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;YAE9D,MAAM,WAAW,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;YAC/B,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,WAAW,EAAE,OAAO,EAAE,WAAW,CAAC,CAAC;YAChH,MAAM,cAAc,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,WAAW,CAAC;YAChD,MAAM,YAAY,GAAG,WAAW,IAAI,IAAI,CAAC,CAAC,CAAC,GAAG,WAAW,IAAI,CAAC,CAAC,CAAC,GAAG,uBAAuB,cAAc,CAAC;YACzG,MAAM,CAAC,IAAI,CACT,uBAAuB,QAAQ,WAAW,MAAM,CAAC,MAAM,YAAY,MAAM,CAAC,MAAM,IAAI;gBAClF,YAAY,cAAc,cAAc,YAAY,EAAE,CACzD,CAAC;YACF,IAAI,QAAQ,KAAK,CAAC,EAAE,CAAC;gBACnB,MAAM,CAAC,IAAI,CAAC,qCAAqC,QAAQ,UAAU,cAAc,IAAI,CAAC,CAAC;YACzF,CAAC;YAED,IAAI,MAAM,EAAE,CAAC;gBACX,MAAM,CAAC,IAAI,CAAC,0BAA0B,MAAM,CAAC,SAAS,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC;YACpE,CAAC;YAED,IAAI,CAAC,kBAAkB,IAAI,IAAI,CAAC,GAAG,EAAE,GAAG,WAAW,CAAC;YAEpD,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,eAAe,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;YAEtE,IAAI,QAAQ,CAAC,OAAO,KAAK,SAAS,EAAE,CAAC;gBACnC,IAAI,CAAC,iBAAiB,GAAG,QAAQ,CAAC,OAAO,CAAC;YAC5C,CAAC;YAED,MAAM,IAAI,GAAqB;gBAC7B,UAAU,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC;gBACjC,WAAW;gBACX,iBAAiB,EAAE,QAAQ,CAAC,IAAI;gBAChC,KAAK,EAAE;oBACL,YAAY,EAAE,CAAC;oBACf,gBAAgB,EAAE,CAAC;oBACnB,WAAW,EAAE,CAAC;oBACd,eAAe,EAAE,CAAC;oBAClB,gBAAgB,EAAE,CAAC;iBACpB;gBACD,SAAS,EAAE,SAAS;aACrB,CAAC;YACF,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAEtB,mEAAmE;YACnE,uEAAuE;YACvE,sEAAsE;YACtE,uEAAuE;YACvE,oEAAoE;YACpE,oEAAoE;YACpE,mEAAmE;YACnE,mEAAmE;YACnE,qEAAqE;YACrE,wEAAwE;YACxE,6BAA6B;YAC7B,IAAI,QAAQ,KAAK,CAAC,IAAI,MAAM,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC/C,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC;YAChC,CAAC;YAED,OAAO;gBACL,IAAI,EAAE,QAAQ,CAAC,IAAI;gBACnB,WAAW,EAAE,QAAQ,CAAC,WAAW,IAAI,KAAK;gBAC1C,cAAc,EAAE,QAAQ,CAAC,cAAc;gBACvC,gBAAgB,EAAE,QAAQ,CAAC,gBAAgB;aAC5C,CAAC;QACJ,CAAC;gBAAS,CAAC;YACT,+DAA+D;YAC/D,gEAAgE;YAChE,gEAAgE;YAChE,gEAAgE;YAChE,8DAA8D;YAC9D,+DAA+D;YAC/D,oBAAoB;YACpB,IAAK,IAAI,CAAC,MAAwB,KAAK,QAAQ,EAAE,CAAC;gBAChD,IAAI,CAAC,MAAM,GAAG,OAAO,CAAC;YACxB,CAAC;QACH,CAAC;IACH,CAAC;IAED;;;;;;;;;;;;;;;OAeG;IACH,yBAAyB;QACvB,MAAM,UAAU,GAAG,IAAI,CAAC,mBAAmB,CAAC;QAC5C,IAAI,CAAC,mBAAmB,GAAG,yBAAyB,EAAE,CAAC;QACvD,IAAI,CAAC,iBAAiB,GAAG,KAAK,CAAC;QAC/B,MAAM,CAAC,IAAI,CACT,mDAAmD,UAAU,OAAO,IAAI,CAAC,mBAAmB,GAAG;YAC7F,4CAA4C,CAC/C,CAAC;QACF,OAAO,IAAI,CAAC,mBAAmB,CAAC;IAClC,CAAC;IAED,UAAU;QACR,OAAO,IAAI,CAAC,KAAK,CAAC;IACpB,CAAC;IAED,gBAAgB;QACd,OAAO,IAAI,CAAC,aAAa,CAAC;IAC5B,CAAC;IAED,wEAAwE;IACxE,aAAa;QACX,IAAI,CAAC,WAAW,EAAE,cAAc,EAAE,CAAC;IACrC,CAAC;IAED,oBAAoB;QAClB,OAAO,IAAI,CAAC,iBAAiB,EAAE,UAAU,EAAE,CAAC;IAC9C,CAAC;IAED,eAAe;QACb,MAAM,cAAc,GAAG,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC;QAEtD,OAAO;YACL,gBAAgB,EAAE,CAAC;YACnB,iBAAiB,EAAE,CAAC;YACpB,WAAW,EAAE,CAAC;YACd,SAAS,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM;YAC5B,cAAc;YACd,gBAAgB,EAAE,IAAI,CAAC,iBAAiB;YACxC,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,cAAc;YAC7C,UAAU,EAAE;gBACV,gBAAgB,EAAE,CAAC;gBACnB,iBAAiB,EAAE,CAAC;gBACpB,WAAW,EAAE,CAAC;gBACd,SAAS,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM;gBAC5B,aAAa,EAAE,cAAc;gBAC7B,gBAAgB,EAAE,IAAI,CAAC,iBAAiB;aACzC;YACD,sBAAsB,EAAE,KAAK;SAC9B,CAAC;IACJ,CAAC;IAED,0GAA0G;IAC1G,KAAK,CAAC,iBAAiB,CACrB,YAAoB,EACpB,QAA+B,EAC/B,OAAyC;QAEzC,IAAI,CAAC,IAAI,CAAC,iBAAiB,EAAE,CAAC;YAC5B,MAAM,IAAI,KAAK,CAAC,kCAAkC,YAAY,EAAE,CAAC,CAAC;QACpE,CAAC;QACD,IAAI,CAAC,iBAAiB,CAAC,OAAO,CAAC,YAAY,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC;IAClE,CAAC;IAED,KAAK,CAAC,KAAK;QACT,oEAAoE;QACpE,qEAAqE;QACrE,gEAAgE;QAChE,+CAA+C;QAC/C,IAAI,IAAI,CAAC,MAAM,KAAK,QAAQ;YAAE,OAAO;QACrC,IAAI,CAAC,MAAM,GAAG,QAAQ,CAAC;QAEvB,IAAI,CAAC,iBAAiB,EAAE,IAAI,EAAE,CAAC;QAC/B,IAAI,CAAC,WAAW,EAAE,IAAI,EAAE,CAAC;QAEzB,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;YACnB,MAAM,2BAA2B,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAChD,CAAC;QAED,gEAAgE;QAChE,gEAAgE;QAChE,kEAAkE;QAClE,8DAA8D;QAC9D,+DAA+D;QAC/D,kEAAkE;QAClE,uBAAuB;QACvB,MAAM,CAAC,QAAQ,EAAE,CAAC;IACpB,CAAC;IAED,0BAA0B;IAElB,cAAc,CAAC,KAAsB;QAC3C,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAC/B,IAAI,CAAC,YAAY,EAAE,CAAC,KAAK,CAAC,CAAC;IAC7B,CAAC;IAEO,gBAAgB,CAAC,WAAmB;QAC1C,IAAI,CAAC;YACH,MAAM,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,aAAa,EAAE,mBAAmB,CAAC,CAAC;YAC3E,mBAAmB,CAAC,WAAW,EAAE,EAAE,WAAW,EAAE,CAAC,CAAC;QACpD,CAAC;QAAC,MAAM,CAAC;YACP,wBAAwB;QAC1B,CAAC;IACH,CAAC;CACF;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,SAAS,qBAAqB,CAAC,QAAgB,EAAE,mBAA2B;IAC1E,IAAI,CAAC;QACH,MAAM,WAAW,GAAG,OAAO,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;QAClD,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC;YAAE,OAAO,KAAK,CAAC;QAC3C,MAAM,MAAM,GAAG,GAAG,mBAAmB,QAAQ,CAAC;QAC9C,KAAK,MAAM,KAAK,IAAI,WAAW,CAAC,WAAW,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC;YACvF,IAAI,KAAK,CAAC,MAAM,EAAE,IAAI,KAAK,CAAC,IAAI,KAAK,MAAM;gBAAE,OAAO,IAAI,CAAC;QAC3D,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC;AAED,sEAAsE;AACtE,SAAS,aAAa,CAAC,IAAuB;IAC5C,MAAM,WAAW,GAAG,EAAE,CAAC;IACvB,OAAO,IAAI;SACR,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;QACT,MAAM,OAAO,GAAG,CAAC,CAAC,MAAM,GAAG,WAAW,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,SAAS,CAAC,CAAC,EAAE,WAAW,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;QACjF,OAAO,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,OAAO,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC;IACpD,CAAC,CAAC;SACD,IAAI,CAAC,GAAG,CAAC,CAAC;AACf,CAAC"}
|
|
1
|
+
{"version":3,"file":"docker-agent-session.js","sourceRoot":"","sources":["../../src/docker/docker-agent-session.ts"],"names":[],"mappings":"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"}
|
|
@@ -12,8 +12,11 @@ import { type AgentAdapter, type AgentId, type ConversationStateConfig } from '.
|
|
|
12
12
|
import type { ResolvedUserConfig } from '../config/user-config.js';
|
|
13
13
|
import type { DockerProxy } from './code-mode-proxy.js';
|
|
14
14
|
import type { MitmProxy } from './mitm-proxy.js';
|
|
15
|
+
import type { TrajectoryCaptureWriter } from './trajectory-capture.js';
|
|
15
16
|
import type { CertificateAuthority } from './ca.js';
|
|
16
|
-
import type {
|
|
17
|
+
import type { ContainerRuntime } from './types.js';
|
|
18
|
+
import type { ContainerRuntimeKind } from './container-runtime.js';
|
|
19
|
+
import type { HostOnlyNetwork, NetworkTopology } from './network-topology.js';
|
|
17
20
|
import { type ProviderConfig, type UpstreamTarget } from './provider-config.js';
|
|
18
21
|
import type { ResolvedSkill } from '../skills/types.js';
|
|
19
22
|
/**
|
|
@@ -105,14 +108,30 @@ export interface PreContainerInfrastructure {
|
|
|
105
108
|
readonly auditLogPath: string;
|
|
106
109
|
readonly proxy: DockerProxy;
|
|
107
110
|
readonly mitmProxy: MitmProxy;
|
|
108
|
-
readonly docker:
|
|
111
|
+
readonly docker: ContainerRuntime;
|
|
109
112
|
readonly adapter: AgentAdapter;
|
|
110
113
|
readonly ca: CertificateAuthority;
|
|
111
114
|
readonly fakeKeys: Map<string, string>;
|
|
112
115
|
readonly orientationDir: string;
|
|
113
116
|
readonly systemPrompt: string;
|
|
114
117
|
readonly image: string;
|
|
118
|
+
/** Container runtime backend this bundle was built for. */
|
|
119
|
+
readonly runtimeKind: ContainerRuntimeKind;
|
|
120
|
+
/**
|
|
121
|
+
* Proxy-transport topology (see network-topology.ts). `useTcp` is the
|
|
122
|
+
* legacy projection `topology !== 'uds'`, kept for existing consumers.
|
|
123
|
+
*/
|
|
124
|
+
readonly topology: NetworkTopology;
|
|
115
125
|
readonly useTcp: boolean;
|
|
126
|
+
/**
|
|
127
|
+
* Per-bundle host-only network, present only on `tcp-hostonly`
|
|
128
|
+
* bundles. Created during the prepare phase (the gateway address is
|
|
129
|
+
* needed for orientation and container env before any container
|
|
130
|
+
* exists); `createSessionContainers` attaches the agent container to
|
|
131
|
+
* it and reports it as `internalNetwork` so the standard teardown
|
|
132
|
+
* paths remove it.
|
|
133
|
+
*/
|
|
134
|
+
readonly hostOnlyNetwork?: HostOnlyNetwork;
|
|
116
135
|
readonly socketsDir: string;
|
|
117
136
|
/** MITM proxy listen address (port for TCP mode, socketPath for UDS mode). */
|
|
118
137
|
readonly mitmAddr: {
|
|
@@ -138,6 +157,24 @@ export interface PreContainerInfrastructure {
|
|
|
138
157
|
/** Container target path; copied verbatim from `adapter.skills.containerPath`. */
|
|
139
158
|
readonly target: string;
|
|
140
159
|
};
|
|
160
|
+
/** Host-side workflow scripts dir mounted read-only into the container. */
|
|
161
|
+
readonly scriptsMount?: {
|
|
162
|
+
readonly hostDir: string;
|
|
163
|
+
readonly target: string;
|
|
164
|
+
};
|
|
165
|
+
/** Host-side cached Python venv mounted at /opt/workflow-venv for workflow helpers. */
|
|
166
|
+
readonly workflowPythonVenvMount?: {
|
|
167
|
+
readonly hostDir: string;
|
|
168
|
+
readonly target: string;
|
|
169
|
+
readonly cacheKey: string;
|
|
170
|
+
};
|
|
171
|
+
/** Host-side cached node_modules mounted for workflow helper scripts. */
|
|
172
|
+
readonly workflowNodeModulesMount?: {
|
|
173
|
+
readonly hostDir: string;
|
|
174
|
+
readonly target: string;
|
|
175
|
+
readonly cacheKey: string;
|
|
176
|
+
readonly hasPackageLock: boolean;
|
|
177
|
+
};
|
|
141
178
|
/**
|
|
142
179
|
* Re-stages the bundle's skills with the given resolved set.
|
|
143
180
|
* No-op when `skillsMount` is undefined or when the set is byte-identical
|
|
@@ -157,6 +194,48 @@ export interface PreContainerInfrastructure {
|
|
|
157
194
|
* wrapper over `MitmProxy.setTokenSessionId()`.
|
|
158
195
|
*/
|
|
159
196
|
setTokenSessionId(id: import('../session/types.js').SessionId | undefined): void;
|
|
197
|
+
/**
|
|
198
|
+
* Begin trajectory capture for a session. Atomically:
|
|
199
|
+
* 1. sets the proxy's captureSessionId (`MitmProxy.setCaptureSessionId`)
|
|
200
|
+
* 2. sets the proxy's capturePersona (`MitmProxy.setCapturePersona`)
|
|
201
|
+
* 3. opens the per-session trajectory file and appends a `session-start`
|
|
202
|
+
* manifest entry (`TrajectoryCaptureWriter.beginSession`)
|
|
203
|
+
*
|
|
204
|
+
* No-op when capture is disabled (writer is undefined). MUST be called
|
|
205
|
+
* before the agent process is unblocked, so the first exchange the
|
|
206
|
+
* agent emits is already tagged with the right session. See
|
|
207
|
+
* docs/designs/mitm-token-trajectory-capture.md §11.
|
|
208
|
+
*
|
|
209
|
+
* Always present (never optional): the method is inert when the writer
|
|
210
|
+
* is undefined, so "always present, sometimes a no-op" is correct.
|
|
211
|
+
* Making it required turns "forgot to wire capture" into a compile
|
|
212
|
+
* error instead of a silent no-op.
|
|
213
|
+
*/
|
|
214
|
+
beginCaptureSession: (opts: {
|
|
215
|
+
sessionId: import('../session/types.js').SessionId;
|
|
216
|
+
persona?: string;
|
|
217
|
+
fsmState?: string;
|
|
218
|
+
}) => void;
|
|
219
|
+
/**
|
|
220
|
+
* End trajectory capture for a session. Drives the dispatcher's two-phase
|
|
221
|
+
* endSession (§9: flip endRequested, drain in-flight reassembly, enqueue
|
|
222
|
+
* `session-end` with counter snapshot). MUST be awaited BEFORE
|
|
223
|
+
* `session.close()` so the manifest entry is durable even if `session.close()`
|
|
224
|
+
* throws.
|
|
225
|
+
*
|
|
226
|
+
* No-op when capture is disabled. Always present (never optional): the
|
|
227
|
+
* method is inert when the writer is undefined, so "always present,
|
|
228
|
+
* sometimes a no-op" is correct, and a consumer that forgets to wire
|
|
229
|
+
* capture now fails to compile rather than silently dropping it.
|
|
230
|
+
*/
|
|
231
|
+
endCaptureSession: (sessionId: import('../session/types.js').SessionId) => Promise<void>;
|
|
232
|
+
/**
|
|
233
|
+
* Internal: trajectory-capture writer reference, exposed so
|
|
234
|
+
* `destroyDockerInfrastructure` / `destroyWorkflowInfrastructure` can
|
|
235
|
+
* call `writer.close()` as the infrastructure-teardown safety net
|
|
236
|
+
* (§9). Undefined when capture is disabled. Not for orchestrator use.
|
|
237
|
+
*/
|
|
238
|
+
readonly captureWriter?: TrajectoryCaptureWriter;
|
|
160
239
|
}
|
|
161
240
|
/**
|
|
162
241
|
* Full Docker session infrastructure, including a running main container.
|
|
@@ -193,9 +272,36 @@ export interface DockerInfrastructure extends PreContainerInfrastructure {
|
|
|
193
272
|
* alongside the always-present `ironcurtain.bundle=<bundleId>`. When
|
|
194
273
|
* unset, only `ironcurtain.bundle` is emitted (standalone CLI / PTY).
|
|
195
274
|
*/
|
|
275
|
+
/**
|
|
276
|
+
* Optional trajectory-capture inputs threaded through to the MITM
|
|
277
|
+
* proxy. Carries the RAW CLI/RPC override — this function is the single
|
|
278
|
+
* place that resolves enablement against config (`override ?? config >
|
|
279
|
+
* false`), so consumers never duplicate the `?? userConfig.capture?.enabled`
|
|
280
|
+
* precedence. When this object is absent, or resolution yields false, no
|
|
281
|
+
* writer is constructed and no taps are installed — zero cost on the
|
|
282
|
+
* forwarding path. See docs/designs/mitm-token-trajectory-capture.md.
|
|
283
|
+
*/
|
|
284
|
+
export interface CaptureSetupInput {
|
|
285
|
+
/**
|
|
286
|
+
* Raw CLI/RPC override (boolean | undefined); undefined falls through
|
|
287
|
+
* to `config.userConfig.capture?.enabled`, then to false. The single
|
|
288
|
+
* resolution point lives in `prepareDockerInfrastructure`.
|
|
289
|
+
*/
|
|
290
|
+
readonly override?: boolean;
|
|
291
|
+
/**
|
|
292
|
+
* Absolute path where `{sessionId}.jsonl` and `manifest.jsonl` are
|
|
293
|
+
* written. A real per-path difference (session dir vs bundle dir), so
|
|
294
|
+
* the caller supplies it rather than the infra layer deriving it.
|
|
295
|
+
*/
|
|
296
|
+
readonly capturesDir: string;
|
|
297
|
+
/** Human-readable agent name (e.g. `'claude-code'`). */
|
|
298
|
+
readonly recordedAgentName?: string;
|
|
299
|
+
/** Workflow run ID, when this bundle belongs to a workflow run. */
|
|
300
|
+
readonly workflowRunId?: WorkflowId;
|
|
301
|
+
}
|
|
196
302
|
export declare function prepareDockerInfrastructure(config: IronCurtainConfig, mode: SessionMode & {
|
|
197
303
|
kind: 'docker';
|
|
198
|
-
}, bundleDir: string, workspaceDir: string, escalationDir: string, bundleId: BundleId, workflowId?: WorkflowId, scope?: string, resolvedSkills?: readonly ResolvedSkill[]): Promise<PreContainerInfrastructure>;
|
|
304
|
+
}, bundleDir: string, workspaceDir: string, escalationDir: string, bundleId: BundleId, workflowId?: WorkflowId, scope?: string, resolvedSkills?: readonly ResolvedSkill[], captureInput?: CaptureSetupInput, scriptsDir?: string): Promise<PreContainerInfrastructure>;
|
|
199
305
|
/**
|
|
200
306
|
* Creates the full Docker session infrastructure, including a running
|
|
201
307
|
* `sleep infinity` agent container (and, on macOS TCP mode, the socat
|
|
@@ -207,7 +313,7 @@ export declare function prepareDockerInfrastructure(config: IronCurtainConfig, m
|
|
|
207
313
|
*/
|
|
208
314
|
export declare function createDockerInfrastructure(config: IronCurtainConfig, mode: SessionMode & {
|
|
209
315
|
kind: 'docker';
|
|
210
|
-
}, bundleDir: string, workspaceDir: string, escalationDir: string, bundleId: BundleId, workflowId?: WorkflowId, scope?: string, resolvedSkills?: readonly ResolvedSkill[]): Promise<DockerInfrastructure>;
|
|
316
|
+
}, bundleDir: string, workspaceDir: string, escalationDir: string, bundleId: BundleId, workflowId?: WorkflowId, scope?: string, resolvedSkills?: readonly ResolvedSkill[], captureInput?: CaptureSetupInput, scriptsDir?: string, options?: CreateDockerInfrastructureOptions): Promise<DockerInfrastructure>;
|
|
211
317
|
/**
|
|
212
318
|
* Tears down a fully-formed `DockerInfrastructure` bundle: main container,
|
|
213
319
|
* TCP-mode sidecar and internal network (if present), MITM proxy, and Code
|
|
@@ -264,6 +370,14 @@ export interface ContainerResources {
|
|
|
264
370
|
readonly sidecarContainerId?: string;
|
|
265
371
|
readonly internalNetwork?: string;
|
|
266
372
|
}
|
|
373
|
+
export interface CreateDockerInfrastructureOptions {
|
|
374
|
+
/**
|
|
375
|
+
* Optional immutable image ref used only for the main container's
|
|
376
|
+
* `docker create`. The normal agent image is still ensured first so
|
|
377
|
+
* workflow dependency caches keep their base-image hash.
|
|
378
|
+
*/
|
|
379
|
+
readonly baseImageOverride?: string;
|
|
380
|
+
}
|
|
267
381
|
/**
|
|
268
382
|
* Creates and starts the main agent container (plus TCP-mode sidecar and
|
|
269
383
|
* internal network on macOS). Cleans up any partially-created resources
|
|
@@ -271,17 +385,55 @@ export interface ContainerResources {
|
|
|
271
385
|
*
|
|
272
386
|
* Exported for testability: tests exercise the mount/env configuration and
|
|
273
387
|
* the rollback-on-failure path by passing a mock `PreContainerInfrastructure`
|
|
274
|
-
* with a scripted `
|
|
388
|
+
* with a scripted `ContainerRuntime`.
|
|
275
389
|
*/
|
|
276
|
-
export declare function createSessionContainers(core: PreContainerInfrastructure, config: IronCurtainConfig): Promise<ContainerResources>;
|
|
390
|
+
export declare function createSessionContainers(core: PreContainerInfrastructure, config: IronCurtainConfig, options?: CreateDockerInfrastructureOptions): Promise<ContainerResources>;
|
|
391
|
+
/**
|
|
392
|
+
* Writes /etc/apt/apt.conf.d/90-ironcurtain-proxy inside a running
|
|
393
|
+
* container via exec (as root). Used by the tcp-hostonly topology in
|
|
394
|
+
* both batch and PTY modes — Apple container's virtiofs shares
|
|
395
|
+
* directories only, so the single-file bind mount the Docker topologies
|
|
396
|
+
* use is rejected. The URL is built from our own gateway address and
|
|
397
|
+
* OS-assigned port — runtime-generated values, not untrusted input — so
|
|
398
|
+
* embedding it in the sh script is safe.
|
|
399
|
+
*/
|
|
400
|
+
export declare function writeHostOnlyAptProxyConfig(docker: ContainerRuntime, containerId: string, proxyUrl: string): Promise<void>;
|
|
401
|
+
/**
|
|
402
|
+
* Fail-closed startup gate for the tcp-hostonly topology
|
|
403
|
+
* (docs/designs/apple-container-runtime.md, design decision 4). Asserts
|
|
404
|
+
* from inside the container that (a) the host-side proxies are reachable
|
|
405
|
+
* at the vmnet gateway and (b) internet egress is blocked by the
|
|
406
|
+
* host-only network. Either failure aborts session initialization —
|
|
407
|
+
* never a silent fallback to a weaker network configuration. Shared by
|
|
408
|
+
* batch (`createSessionContainers`) and PTY (`runPtySession`) modes.
|
|
409
|
+
*/
|
|
410
|
+
export declare function checkHostOnlyConnectivity(docker: ContainerRuntime, containerId: string, gateway: string, mcpPort: number): Promise<void>;
|
|
411
|
+
/**
|
|
412
|
+
* Whether an OAuth credential set can be refreshed: true only when a
|
|
413
|
+
* non-empty refresh token is present. Externally-managed Codex tokens
|
|
414
|
+
* (`auth_mode: 'chatgptAuthTokens'`) carry an empty refresh token and must
|
|
415
|
+
* NOT be refreshed by IronCurtain. Pure helper, exported for testability.
|
|
416
|
+
*/
|
|
417
|
+
export declare function canRefreshOAuth(refreshToken: string): boolean;
|
|
418
|
+
/**
|
|
419
|
+
* Resolves the real credential for a provider host.
|
|
420
|
+
*
|
|
421
|
+
* For Anthropic hosts in OAuth mode, uses the OAuth access token.
|
|
422
|
+
* For all other cases, falls back to the API key from config.
|
|
423
|
+
*/
|
|
424
|
+
export declare function resolveRealKey(host: string, config: IronCurtainConfig, oauthAccessToken: string | undefined): string;
|
|
277
425
|
/**
|
|
278
426
|
* Creates and seeds the conversation state directory for agents that
|
|
279
427
|
* support session resume. Idempotent: skips seeding if the directory
|
|
280
428
|
* already exists (resume case).
|
|
281
429
|
*
|
|
282
|
-
* As a defense-in-depth measure, always deletes
|
|
283
|
-
*
|
|
284
|
-
*
|
|
430
|
+
* As a defense-in-depth measure, always deletes stale credential files
|
|
431
|
+
* (`.credentials.json` for Claude Code, `auth.json` for Codex) from the
|
|
432
|
+
* state directory — the MITM proxy handles auth independently, and each
|
|
433
|
+
* agent's entrypoint recreates its credential file from env on every
|
|
434
|
+
* start, so any credential file lingering across resumes is stale. The
|
|
435
|
+
* unlinks are no-ops for adapters whose state dir has neither file (e.g.
|
|
436
|
+
* Goose), since a missing file is swallowed.
|
|
285
437
|
*/
|
|
286
438
|
export declare function prepareConversationStateDir(sessionDir: string, config: ConversationStateConfig): string;
|
|
287
439
|
/**
|
|
@@ -297,6 +449,31 @@ export declare function prepareConversationStateDir(sessionDir: string, config:
|
|
|
297
449
|
* cached, so a second call from the session-init path is a cheap no-op.
|
|
298
450
|
*/
|
|
299
451
|
export declare function ensureDockerImage(agentId: AgentId, userConfig: ResolvedUserConfig): Promise<void>;
|
|
452
|
+
export declare function ensureImage(image: string, docker: ContainerRuntime, ca: CertificateAuthority): Promise<string>;
|
|
453
|
+
export declare function computeWorkflowDependencyHash(agentBuildHash: string, scriptsDir: string): string;
|
|
454
|
+
/**
|
|
455
|
+
* Wraps an in-container command so the workflow dependency bins are prepended
|
|
456
|
+
* to the container's LIVE `$PATH` at exec time, rather than replacing the
|
|
457
|
+
* image's PATH at container-creation time.
|
|
458
|
+
*
|
|
459
|
+
* Why a runtime shell instead of an `-e PATH=...` env: Docker `-e` REPLACES the
|
|
460
|
+
* image PATH (it does not append), which would discard the base image's own
|
|
461
|
+
* PATH — including the NVM directory where `node`/`npm` live on the x86
|
|
462
|
+
* devcontainer base. Expanding `$PATH` inside the container at exec time is
|
|
463
|
+
* base-image-agnostic: it preserves whatever PATH the image ships and merely
|
|
464
|
+
* prepends the workflow venv bin (for bare `python`) and the installed Node
|
|
465
|
+
* package bins (`node_modules/.bin`).
|
|
466
|
+
*
|
|
467
|
+
* Returns the original command unchanged when neither dependency mount is
|
|
468
|
+
* present, so non-dependency workflows keep the plain exec path.
|
|
469
|
+
*
|
|
470
|
+
* Shell-safety: the only interpolated values are the hardcoded container
|
|
471
|
+
* constants `WORKFLOW_PYTHON_VENV_DIR` / `WORKFLOW_NODE_MODULES_DIR`. The
|
|
472
|
+
* caller's command and its arguments are passed verbatim as positional
|
|
473
|
+
* parameters consumed by `exec "$@"` — never string-interpolated — so no
|
|
474
|
+
* word-splitting or injection is possible.
|
|
475
|
+
*/
|
|
476
|
+
export declare function buildWorkflowExecCommand(bundle: Pick<DockerInfrastructure, 'workflowPythonVenvMount' | 'workflowNodeModulesMount'>, command: readonly string[]): readonly string[];
|
|
300
477
|
/**
|
|
301
478
|
* Applies upstream target overrides from environment variables to provider configs.
|
|
302
479
|
*
|