@provos/ironcurtain 0.10.0 → 0.11.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 +60 -8
- package/dist/auth/oauth-provider.js +1 -4
- package/dist/auth/oauth-provider.js.map +1 -1
- package/dist/cli.js +38 -0
- package/dist/cli.js.map +1 -1
- package/dist/config/config-command.js +162 -7
- package/dist/config/config-command.js.map +1 -1
- package/dist/config/first-start.js +61 -0
- package/dist/config/first-start.js.map +1 -1
- package/dist/config/generated/compiled-policy.json +528 -161
- package/dist/config/generated/test-scenarios.json +4810 -170
- package/dist/config/generated/tool-annotations.json +34 -47
- package/dist/config/index.d.ts +58 -0
- package/dist/config/index.js +97 -15
- package/dist/config/index.js.map +1 -1
- package/dist/config/mcp-servers.json +2 -2
- package/dist/config/paths.d.ts +175 -0
- package/dist/config/paths.js +308 -14
- package/dist/config/paths.js.map +1 -1
- package/dist/config/types.d.ts +7 -1
- package/dist/config/user-config.d.ts +53 -5
- package/dist/config/user-config.js +96 -30
- package/dist/config/user-config.js.map +1 -1
- package/dist/config/validate-policy-dir.d.ts +10 -0
- package/dist/config/validate-policy-dir.js +59 -0
- package/dist/config/validate-policy-dir.js.map +1 -0
- package/dist/cron/job-commands.js +22 -2
- package/dist/cron/job-commands.js.map +1 -1
- package/dist/cron/types.d.ts +16 -2
- package/dist/cron/types.js +1 -3
- package/dist/cron/types.js.map +1 -1
- package/dist/daemon/daemon-command.js +16 -2
- package/dist/daemon/daemon-command.js.map +1 -1
- package/dist/daemon/ironcurtain-daemon.d.ts +44 -1
- package/dist/daemon/ironcurtain-daemon.js +210 -8
- package/dist/daemon/ironcurtain-daemon.js.map +1 -1
- package/dist/docker/adapters/claude-code.js +194 -20
- package/dist/docker/adapters/claude-code.js.map +1 -1
- package/dist/docker/adapters/goose.d.ts +12 -11
- package/dist/docker/adapters/goose.js +80 -27
- package/dist/docker/adapters/goose.js.map +1 -1
- package/dist/docker/agent-adapter.d.ts +178 -4
- package/dist/docker/agent-adapter.js +14 -0
- package/dist/docker/agent-adapter.js.map +1 -1
- package/dist/docker/code-mode-proxy.d.ts +27 -0
- package/dist/docker/code-mode-proxy.js +3 -0
- package/dist/docker/code-mode-proxy.js.map +1 -1
- package/dist/docker/docker-agent-session.d.ts +113 -62
- package/dist/docker/docker-agent-session.js +242 -294
- package/dist/docker/docker-agent-session.js.map +1 -1
- package/dist/docker/docker-infrastructure.d.ts +246 -21
- package/dist/docker/docker-infrastructure.js +520 -29
- package/dist/docker/docker-infrastructure.js.map +1 -1
- package/dist/docker/docker-manager.d.ts +36 -1
- package/dist/docker/docker-manager.js +135 -30
- package/dist/docker/docker-manager.js.map +1 -1
- package/dist/docker/docker-progress-sink.d.ts +43 -0
- package/dist/docker/docker-progress-sink.js +299 -0
- package/dist/docker/docker-progress-sink.js.map +1 -0
- package/dist/docker/mitm-proxy.d.ts +84 -1
- package/dist/docker/mitm-proxy.js +380 -18
- package/dist/docker/mitm-proxy.js.map +1 -1
- package/dist/docker/oauth-credentials.d.ts +46 -3
- package/dist/docker/oauth-credentials.js +56 -14
- package/dist/docker/oauth-credentials.js.map +1 -1
- package/dist/docker/oauth-token-manager.js +2 -2
- package/dist/docker/oauth-token-manager.js.map +1 -1
- package/dist/docker/orientation.d.ts +1 -1
- package/dist/docker/provider-config.d.ts +49 -2
- package/dist/docker/provider-config.js +202 -28
- package/dist/docker/provider-config.js.map +1 -1
- package/dist/docker/proxy-tools.d.ts +0 -2
- package/dist/docker/proxy-tools.js +2 -7
- package/dist/docker/proxy-tools.js.map +1 -1
- package/dist/docker/pty-session.d.ts +49 -1
- package/dist/docker/pty-session.js +199 -69
- package/dist/docker/pty-session.js.map +1 -1
- package/dist/docker/pty-types.d.ts +0 -2
- package/dist/docker/pty-types.js +0 -2
- package/dist/docker/pty-types.js.map +1 -1
- package/dist/docker/resource-limits.d.ts +125 -0
- package/dist/docker/resource-limits.js +200 -0
- package/dist/docker/resource-limits.js.map +1 -0
- package/dist/docker/spawn-with-idle-timeout.d.ts +39 -0
- package/dist/docker/spawn-with-idle-timeout.js +152 -0
- package/dist/docker/spawn-with-idle-timeout.js.map +1 -0
- package/dist/docker/sse-extractor.d.ts +51 -0
- package/dist/docker/sse-extractor.js +303 -0
- package/dist/docker/sse-extractor.js.map +1 -0
- package/dist/docker/token-stream-bus.d.ts +83 -0
- package/dist/docker/token-stream-bus.js +98 -0
- package/dist/docker/token-stream-bus.js.map +1 -0
- package/dist/docker/token-stream-types.d.ts +71 -0
- package/dist/docker/token-stream-types.js +8 -0
- package/dist/docker/token-stream-types.js.map +1 -0
- package/dist/docker/types.d.ts +53 -6
- package/dist/doctor/checks.d.ts +138 -0
- package/dist/doctor/checks.js +511 -0
- package/dist/doctor/checks.js.map +1 -0
- package/dist/doctor/doctor-command.d.ts +29 -0
- package/dist/doctor/doctor-command.js +160 -0
- package/dist/doctor/doctor-command.js.map +1 -0
- package/dist/doctor/mcp-liveness.d.ts +28 -0
- package/dist/doctor/mcp-liveness.js +84 -0
- package/dist/doctor/mcp-liveness.js.map +1 -0
- package/dist/doctor/oauth-checks.d.ts +23 -0
- package/dist/doctor/oauth-checks.js +157 -0
- package/dist/doctor/oauth-checks.js.map +1 -0
- package/dist/doctor/output.d.ts +26 -0
- package/dist/doctor/output.js +82 -0
- package/dist/doctor/output.js.map +1 -0
- package/dist/escalation/listener-command.js +0 -3
- package/dist/escalation/listener-command.js.map +1 -1
- package/dist/event-bus/typed-event-bus.d.ts +26 -0
- package/dist/event-bus/typed-event-bus.js +35 -0
- package/dist/event-bus/typed-event-bus.js.map +1 -0
- package/dist/index.js +24 -9
- package/dist/index.js.map +1 -1
- package/dist/logger.js +31 -2
- package/dist/logger.js.map +1 -1
- package/dist/memory/auto-save.d.ts +18 -4
- package/dist/memory/auto-save.js +46 -6
- package/dist/memory/auto-save.js.map +1 -1
- package/dist/memory/memory-policy.d.ts +41 -0
- package/dist/memory/memory-policy.js +36 -0
- package/dist/memory/memory-policy.js.map +1 -0
- package/dist/mux/mux-command.d.ts +10 -1
- package/dist/mux/mux-command.js +56 -35
- package/dist/mux/mux-command.js.map +1 -1
- package/dist/mux/mux-renderer.js +2 -12
- package/dist/mux/mux-renderer.js.map +1 -1
- package/dist/mux/session-scanner.js +1 -2
- package/dist/mux/session-scanner.js.map +1 -1
- package/dist/{pipeline → observability}/llm-logger.d.ts +8 -3
- package/dist/{pipeline → observability}/llm-logger.js +8 -3
- package/dist/observability/llm-logger.js.map +1 -0
- package/dist/observe/observe-command.d.ts +12 -0
- package/dist/observe/observe-command.js +298 -0
- package/dist/observe/observe-command.js.map +1 -0
- package/dist/observe/observe-renderer.d.ts +24 -0
- package/dist/observe/observe-renderer.js +87 -0
- package/dist/observe/observe-renderer.js.map +1 -0
- package/dist/observe/observe-tui-rain.d.ts +42 -0
- package/dist/observe/observe-tui-rain.js +531 -0
- package/dist/observe/observe-tui-rain.js.map +1 -0
- package/dist/observe/observe-tui-text-panel.d.ts +46 -0
- package/dist/observe/observe-tui-text-panel.js +525 -0
- package/dist/observe/observe-tui-text-panel.js.map +1 -0
- package/dist/observe/observe-tui-types.d.ts +270 -0
- package/dist/observe/observe-tui-types.js +200 -0
- package/dist/observe/observe-tui-types.js.map +1 -0
- package/dist/observe/observe-tui-word-scorer.d.ts +143 -0
- package/dist/observe/observe-tui-word-scorer.js +572 -0
- package/dist/observe/observe-tui-word-scorer.js.map +1 -0
- package/dist/observe/observe-tui.d.ts +59 -0
- package/dist/observe/observe-tui.js +592 -0
- package/dist/observe/observe-tui.js.map +1 -0
- package/dist/persona/memory-gate.d.ts +19 -0
- package/dist/persona/memory-gate.js +33 -0
- package/dist/persona/memory-gate.js.map +1 -0
- package/dist/persona/persona-command.js +41 -6
- package/dist/persona/persona-command.js.map +1 -1
- package/dist/persona/resolve.d.ts +22 -0
- package/dist/persona/resolve.js +45 -2
- package/dist/persona/resolve.js.map +1 -1
- package/dist/persona/types.d.ts +16 -0
- package/dist/pipeline/constitution-compiler.d.ts +25 -14
- package/dist/pipeline/constitution-compiler.js +107 -38
- package/dist/pipeline/constitution-compiler.js.map +1 -1
- package/dist/pipeline/dynamic-list-types.d.ts +3 -6
- package/dist/pipeline/dynamic-list-types.js +3 -16
- package/dist/pipeline/dynamic-list-types.js.map +1 -1
- package/dist/pipeline/pipeline-runner.js +89 -50
- package/dist/pipeline/pipeline-runner.js.map +1 -1
- package/dist/pipeline/pipeline-shared.d.ts +1 -1
- package/dist/pipeline/pipeline-shared.js +3 -11
- package/dist/pipeline/pipeline-shared.js.map +1 -1
- package/dist/pipeline/policy-verifier.js +16 -3
- package/dist/pipeline/policy-verifier.js.map +1 -1
- package/dist/pipeline/proxy-mcp-connections.js +17 -2
- package/dist/pipeline/proxy-mcp-connections.js.map +1 -1
- package/dist/pipeline/scenario-generator.d.ts +4 -8
- package/dist/pipeline/scenario-generator.js +13 -46
- package/dist/pipeline/scenario-generator.js.map +1 -1
- package/dist/sandbox/index.d.ts +14 -0
- package/dist/sandbox/index.js +335 -116
- package/dist/sandbox/index.js.map +1 -1
- package/dist/sandbox/ironcurtain-protocol.d.ts +52 -0
- package/dist/sandbox/ironcurtain-protocol.js +185 -0
- package/dist/sandbox/ironcurtain-protocol.js.map +1 -0
- package/dist/session/agent-session.d.ts +6 -0
- package/dist/session/agent-session.js +16 -5
- package/dist/session/agent-session.js.map +1 -1
- package/dist/session/cli-transport.js +0 -6
- package/dist/session/cli-transport.js.map +1 -1
- package/dist/session/index.d.ts +35 -14
- package/dist/session/index.js +324 -130
- package/dist/session/index.js.map +1 -1
- package/dist/session/preflight.d.ts +50 -13
- package/dist/session/preflight.js +252 -80
- package/dist/session/preflight.js.map +1 -1
- package/dist/session/prompts.d.ts +2 -5
- package/dist/session/prompts.js.map +1 -1
- package/dist/session/session-manager.d.ts +61 -6
- package/dist/session/session-manager.js +72 -10
- package/dist/session/session-manager.js.map +1 -1
- package/dist/session/session-metadata.d.ts +21 -5
- package/dist/session/session-metadata.js +34 -12
- package/dist/session/session-metadata.js.map +1 -1
- package/dist/session/types.d.ts +311 -5
- package/dist/session/types.js +57 -1
- package/dist/session/types.js.map +1 -1
- package/dist/signal/setup-signal.js +13 -21
- package/dist/signal/setup-signal.js.map +1 -1
- package/dist/signal/signal-bot-daemon.d.ts +16 -1
- package/dist/signal/signal-bot-daemon.js +39 -27
- package/dist/signal/signal-bot-daemon.js.map +1 -1
- package/dist/signal/signal-container.js +7 -1
- package/dist/signal/signal-container.js.map +1 -1
- package/dist/skills/discovery.d.ts +77 -0
- package/dist/skills/discovery.js +206 -0
- package/dist/skills/discovery.js.map +1 -0
- package/dist/skills/index.d.ts +4 -0
- package/dist/skills/index.js +3 -0
- package/dist/skills/index.js.map +1 -0
- package/dist/skills/staging.d.ts +28 -0
- package/dist/skills/staging.js +68 -0
- package/dist/skills/staging.js.map +1 -0
- package/dist/skills/types.d.ts +46 -0
- package/dist/skills/types.js +2 -0
- package/dist/skills/types.js.map +1 -0
- package/dist/trusted-process/approval-whitelist.d.ts +0 -2
- package/dist/trusted-process/approval-whitelist.js +17 -17
- package/dist/trusted-process/approval-whitelist.js.map +1 -1
- package/dist/trusted-process/async-mutex.d.ts +32 -0
- package/dist/trusted-process/async-mutex.js +50 -0
- package/dist/trusted-process/async-mutex.js.map +1 -0
- package/dist/trusted-process/audit-log.d.ts +38 -1
- package/dist/trusted-process/audit-log.js +82 -13
- package/dist/trusted-process/audit-log.js.map +1 -1
- package/dist/trusted-process/call-circuit-breaker.js +2 -1
- package/dist/trusted-process/call-circuit-breaker.js.map +1 -1
- package/dist/trusted-process/control-server.d.ts +101 -0
- package/dist/trusted-process/control-server.js +282 -0
- package/dist/trusted-process/control-server.js.map +1 -0
- package/dist/trusted-process/domain-utils.d.ts +6 -6
- package/dist/trusted-process/domain-utils.js +7 -23
- package/dist/trusted-process/domain-utils.js.map +1 -1
- package/dist/trusted-process/error-prefixes.d.ts +16 -0
- package/dist/trusted-process/error-prefixes.js +17 -0
- package/dist/trusted-process/error-prefixes.js.map +1 -0
- package/dist/trusted-process/index.d.ts +40 -23
- package/dist/trusted-process/index.js +131 -225
- package/dist/trusted-process/index.js.map +1 -1
- package/dist/trusted-process/list-matcher.d.ts +17 -0
- package/dist/trusted-process/list-matcher.js +31 -0
- package/dist/trusted-process/list-matcher.js.map +1 -0
- package/dist/trusted-process/mcp-client-manager.d.ts +35 -6
- package/dist/trusted-process/mcp-client-manager.js +40 -45
- package/dist/trusted-process/mcp-client-manager.js.map +1 -1
- package/dist/trusted-process/mcp-proxy-server.d.ts +31 -120
- package/dist/trusted-process/mcp-proxy-server.js +166 -657
- package/dist/trusted-process/mcp-proxy-server.js.map +1 -1
- package/dist/trusted-process/policy-engine.d.ts +16 -4
- package/dist/trusted-process/policy-engine.js +90 -45
- package/dist/trusted-process/policy-engine.js.map +1 -1
- package/dist/trusted-process/policy-roots.d.ts +6 -0
- package/dist/trusted-process/policy-roots.js +20 -0
- package/dist/trusted-process/policy-roots.js.map +1 -1
- package/dist/trusted-process/sandbox-integration.d.ts +12 -0
- package/dist/trusted-process/sandbox-integration.js +18 -0
- package/dist/trusted-process/sandbox-integration.js.map +1 -1
- package/dist/trusted-process/tool-call-coordinator.d.ts +269 -0
- package/dist/trusted-process/tool-call-coordinator.js +508 -0
- package/dist/trusted-process/tool-call-coordinator.js.map +1 -0
- package/dist/trusted-process/tool-call-pipeline.d.ts +205 -0
- package/dist/trusted-process/tool-call-pipeline.js +798 -0
- package/dist/trusted-process/tool-call-pipeline.js.map +1 -0
- package/dist/trusted-process/tool-description-hints.d.ts +1 -1
- package/dist/types/argument-roles.d.ts +1 -1
- package/dist/types/argument-roles.js +14 -1
- package/dist/types/argument-roles.js.map +1 -1
- package/dist/types/audit.d.ts +9 -0
- package/dist/{session → types}/errors.d.ts +8 -2
- package/dist/{session → types}/errors.js +8 -2
- package/dist/types/errors.js.map +1 -0
- package/dist/types/reserved-servers.d.ts +11 -0
- package/dist/types/reserved-servers.js +12 -0
- package/dist/types/reserved-servers.js.map +1 -0
- package/dist/types/server-listing.d.ts +14 -0
- package/dist/types/server-listing.js +2 -0
- package/dist/types/server-listing.js.map +1 -0
- package/dist/types/slug.d.ts +2 -0
- package/dist/types/slug.js +2 -0
- package/dist/types/slug.js.map +1 -1
- package/dist/types/url-normalize.d.ts +16 -0
- package/dist/types/url-normalize.js +33 -0
- package/dist/types/url-normalize.js.map +1 -0
- package/dist/utils/error-message.d.ts +8 -0
- package/dist/utils/error-message.js +11 -0
- package/dist/utils/error-message.js.map +1 -0
- package/dist/utils/exec-error.d.ts +19 -0
- package/dist/utils/exec-error.js +16 -0
- package/dist/utils/exec-error.js.map +1 -0
- package/dist/utils/is-plain-object.d.ts +7 -0
- package/dist/utils/is-plain-object.js +12 -0
- package/dist/utils/is-plain-object.js.map +1 -0
- package/dist/utils/preflight-checks.d.ts +16 -0
- package/dist/utils/preflight-checks.js +178 -0
- package/dist/utils/preflight-checks.js.map +1 -0
- package/dist/web-ui/__tests__/json-rpc-dispatch.test.d.ts +7 -0
- package/dist/web-ui/__tests__/json-rpc-dispatch.test.js +725 -0
- package/dist/web-ui/__tests__/json-rpc-dispatch.test.js.map +1 -0
- package/dist/web-ui/dispatch/escalation-dispatch.d.ts +7 -0
- package/dist/web-ui/dispatch/escalation-dispatch.js +52 -0
- package/dist/web-ui/dispatch/escalation-dispatch.js.map +1 -0
- package/dist/web-ui/dispatch/job-dispatch.d.ts +8 -0
- package/dist/web-ui/dispatch/job-dispatch.js +83 -0
- package/dist/web-ui/dispatch/job-dispatch.js.map +1 -0
- package/dist/web-ui/dispatch/persona-dispatch.d.ts +6 -0
- package/dist/web-ui/dispatch/persona-dispatch.js +116 -0
- package/dist/web-ui/dispatch/persona-dispatch.js.map +1 -0
- package/dist/web-ui/dispatch/session-dispatch.d.ts +9 -0
- package/dist/web-ui/dispatch/session-dispatch.js +201 -0
- package/dist/web-ui/dispatch/session-dispatch.js.map +1 -0
- package/dist/web-ui/dispatch/token-stream-dispatch.d.ts +15 -0
- package/dist/web-ui/dispatch/token-stream-dispatch.js +55 -0
- package/dist/web-ui/dispatch/token-stream-dispatch.js.map +1 -0
- package/dist/web-ui/dispatch/types.d.ts +31 -0
- package/dist/web-ui/dispatch/types.js +68 -0
- package/dist/web-ui/dispatch/types.js.map +1 -0
- package/dist/web-ui/dispatch/workflow-dispatch.d.ts +103 -0
- package/dist/web-ui/dispatch/workflow-dispatch.js +925 -0
- package/dist/web-ui/dispatch/workflow-dispatch.js.map +1 -0
- package/dist/web-ui/json-rpc-dispatch.d.ts +12 -0
- package/dist/web-ui/json-rpc-dispatch.js +34 -0
- package/dist/web-ui/json-rpc-dispatch.js.map +1 -0
- package/dist/web-ui/state-graph.d.ts +13 -0
- package/dist/web-ui/state-graph.js +82 -0
- package/dist/web-ui/state-graph.js.map +1 -0
- package/dist/web-ui/token-stream-bridge.d.ts +76 -0
- package/dist/web-ui/token-stream-bridge.js +265 -0
- package/dist/web-ui/token-stream-bridge.js.map +1 -0
- package/dist/web-ui/web-event-bus.d.ts +152 -0
- package/dist/web-ui/web-event-bus.js +19 -0
- package/dist/web-ui/web-event-bus.js.map +1 -0
- package/dist/web-ui/web-session-transport.d.ts +31 -0
- package/dist/web-ui/web-session-transport.js +109 -0
- package/dist/web-ui/web-session-transport.js.map +1 -0
- package/dist/web-ui/web-ui-server.d.ts +76 -0
- package/dist/web-ui/web-ui-server.js +461 -0
- package/dist/web-ui/web-ui-server.js.map +1 -0
- package/dist/web-ui/web-ui-types.d.ts +290 -0
- package/dist/web-ui/web-ui-types.js +32 -0
- package/dist/web-ui/web-ui-types.js.map +1 -0
- package/dist/web-ui/ws-utils.d.ts +5 -0
- package/dist/web-ui/ws-utils.js +12 -0
- package/dist/web-ui/ws-utils.js.map +1 -0
- package/dist/web-ui-static/assets/index-BFO5z1js.js +76 -0
- package/dist/web-ui-static/assets/index-CCUwrkIL.css +1 -0
- package/dist/web-ui-static/assets/orbitron-latin-700-normal-4jsRXGGJ.woff2 +0 -0
- package/dist/web-ui-static/assets/orbitron-latin-700-normal-DmYOh-W9.woff +0 -0
- package/dist/web-ui-static/index.html +14 -0
- package/dist/workflow/artifacts.d.ts +59 -0
- package/dist/workflow/artifacts.js +188 -0
- package/dist/workflow/artifacts.js.map +1 -0
- package/dist/workflow/checkpoint-selection.d.ts +34 -0
- package/dist/workflow/checkpoint-selection.js +48 -0
- package/dist/workflow/checkpoint-selection.js.map +1 -0
- package/dist/workflow/checkpoint.d.ts +35 -0
- package/dist/workflow/checkpoint.js +84 -0
- package/dist/workflow/checkpoint.js.map +1 -0
- package/dist/workflow/cli-support.d.ts +92 -0
- package/dist/workflow/cli-support.js +423 -0
- package/dist/workflow/cli-support.js.map +1 -0
- package/dist/workflow/definition-loader.d.ts +32 -0
- package/dist/workflow/definition-loader.js +56 -0
- package/dist/workflow/definition-loader.js.map +1 -0
- package/dist/workflow/discovery.d.ts +78 -0
- package/dist/workflow/discovery.js +203 -0
- package/dist/workflow/discovery.js.map +1 -0
- package/dist/workflow/errors.d.ts +66 -0
- package/dist/workflow/errors.js +49 -0
- package/dist/workflow/errors.js.map +1 -0
- package/dist/workflow/guards.d.ts +8 -0
- package/dist/workflow/guards.js +38 -0
- package/dist/workflow/guards.js.map +1 -0
- package/dist/workflow/lint-integration.d.ts +64 -0
- package/dist/workflow/lint-integration.js +56 -0
- package/dist/workflow/lint-integration.js.map +1 -0
- package/dist/workflow/lint.d.ts +66 -0
- package/dist/workflow/lint.js +410 -0
- package/dist/workflow/lint.js.map +1 -0
- package/dist/workflow/machine-builder.d.ts +90 -0
- package/dist/workflow/machine-builder.js +485 -0
- package/dist/workflow/machine-builder.js.map +1 -0
- package/dist/workflow/message-log.d.ts +85 -0
- package/dist/workflow/message-log.js +40 -0
- package/dist/workflow/message-log.js.map +1 -0
- package/dist/workflow/orchestrator.d.ts +450 -0
- package/dist/workflow/orchestrator.js +1941 -0
- package/dist/workflow/orchestrator.js.map +1 -0
- package/dist/workflow/prompt-builder.d.ts +39 -0
- package/dist/workflow/prompt-builder.js +242 -0
- package/dist/workflow/prompt-builder.js.map +1 -0
- package/dist/workflow/run-state-command.d.ts +9 -0
- package/dist/workflow/run-state-command.js +414 -0
- package/dist/workflow/run-state-command.js.map +1 -0
- package/dist/workflow/run-state-debug-capture.d.ts +40 -0
- package/dist/workflow/run-state-debug-capture.js +101 -0
- package/dist/workflow/run-state-debug-capture.js.map +1 -0
- package/dist/workflow/status-parser.d.ts +68 -0
- package/dist/workflow/status-parser.js +259 -0
- package/dist/workflow/status-parser.js.map +1 -0
- package/dist/workflow/types.d.ts +498 -0
- package/dist/workflow/types.js +83 -0
- package/dist/workflow/types.js.map +1 -0
- package/dist/workflow/validate.d.ts +58 -0
- package/dist/workflow/validate.js +499 -0
- package/dist/workflow/validate.js.map +1 -0
- package/dist/workflow/workflow-command.d.ts +26 -0
- package/dist/workflow/workflow-command.js +648 -0
- package/dist/workflow/workflow-command.js.map +1 -0
- package/dist/workflow/workflow-discovery.d.ts +25 -0
- package/dist/workflow/workflow-discovery.js +100 -0
- package/dist/workflow/workflow-discovery.js.map +1 -0
- package/dist/workflow/workflow-manager.d.ts +122 -0
- package/dist/workflow/workflow-manager.js +308 -0
- package/dist/workflow/workflow-manager.js.map +1 -0
- package/dist/workflow/workflows/design-and-code/workflow.yaml +169 -0
- package/dist/workflow/workflows/test-email-summary/skills/email-formatting/SKILL.md +55 -0
- package/dist/workflow/workflows/test-email-summary/skills/gmail-query-syntax/SKILL.md +63 -0
- package/dist/workflow/workflows/test-email-summary/skills/json-schema-emails/SKILL.md +41 -0
- package/dist/workflow/workflows/test-email-summary/skills/json-schema-emails/schema.json +34 -0
- package/dist/workflow/workflows/test-email-summary/skills/summary-style-guide/SKILL.md +51 -0
- package/dist/workflow/workflows/test-email-summary/workflow.yaml +89 -0
- package/dist/workflow/workflows/vuln-discovery/skills/harness-design-fuzzing/SKILL.md +201 -0
- package/dist/workflow/workflows/vuln-discovery/skills/memory-safety-c-cpp/SKILL.md +166 -0
- package/dist/workflow/workflows/vuln-discovery/skills/vulnerability-triage/SKILL.md +185 -0
- package/dist/workflow/workflows/vuln-discovery/workflow.yaml +920 -0
- package/dist/workflow/worktree.d.ts +43 -0
- package/dist/workflow/worktree.js +106 -0
- package/dist/workflow/worktree.js.map +1 -0
- package/docker/Dockerfile.base +9 -0
- package/docker/Dockerfile.base.arm64 +9 -0
- package/docker/entrypoint-claude-code.sh +46 -0
- package/docker/entrypoint-goose.sh +25 -0
- package/package.json +19 -8
- package/packages/web-ui/README.md +113 -0
- package/packages/web-ui/docs/workflow-state-machine.png +0 -0
- package/src/config/generated/compiled-policy.json +528 -161
- package/src/config/generated/test-scenarios.json +4810 -170
- package/src/config/generated/tool-annotations.json +34 -47
- package/src/config/mcp-servers.json +2 -2
- package/src/workflow/workflows/design-and-code/workflow.yaml +169 -0
- package/src/workflow/workflows/test-email-summary/skills/email-formatting/SKILL.md +55 -0
- package/src/workflow/workflows/test-email-summary/skills/gmail-query-syntax/SKILL.md +63 -0
- package/src/workflow/workflows/test-email-summary/skills/json-schema-emails/SKILL.md +41 -0
- package/src/workflow/workflows/test-email-summary/skills/json-schema-emails/schema.json +34 -0
- package/src/workflow/workflows/test-email-summary/skills/summary-style-guide/SKILL.md +51 -0
- package/src/workflow/workflows/test-email-summary/workflow.yaml +89 -0
- package/src/workflow/workflows/vuln-discovery/skills/harness-design-fuzzing/SKILL.md +201 -0
- package/src/workflow/workflows/vuln-discovery/skills/memory-safety-c-cpp/SKILL.md +166 -0
- package/src/workflow/workflows/vuln-discovery/skills/vulnerability-triage/SKILL.md +185 -0
- package/src/workflow/workflows/vuln-discovery/workflow.yaml +920 -0
- package/dist/pipeline/llm-logger.js.map +0 -1
- package/dist/session/errors.js.map +0 -1
|
@@ -444,10 +444,11 @@
|
|
|
444
444
|
"comment": "Stages specified files or all changes in the repository for the next commit.",
|
|
445
445
|
"args": {
|
|
446
446
|
"path": [
|
|
447
|
-
"read-path"
|
|
447
|
+
"read-path",
|
|
448
|
+
"write-history"
|
|
448
449
|
],
|
|
449
450
|
"files": [
|
|
450
|
-
"
|
|
451
|
+
"none"
|
|
451
452
|
],
|
|
452
453
|
"update": [
|
|
453
454
|
"none"
|
|
@@ -506,7 +507,7 @@
|
|
|
506
507
|
"read-path"
|
|
507
508
|
],
|
|
508
509
|
"file": [
|
|
509
|
-
"
|
|
510
|
+
"none"
|
|
510
511
|
],
|
|
511
512
|
"startLine": [
|
|
512
513
|
"none"
|
|
@@ -791,7 +792,8 @@
|
|
|
791
792
|
"args": {
|
|
792
793
|
"path": [
|
|
793
794
|
"read-path",
|
|
794
|
-
"write-history"
|
|
795
|
+
"write-history",
|
|
796
|
+
"write-path"
|
|
795
797
|
],
|
|
796
798
|
"target": [
|
|
797
799
|
"branch-name"
|
|
@@ -803,7 +805,7 @@
|
|
|
803
805
|
"none"
|
|
804
806
|
],
|
|
805
807
|
"paths": [
|
|
806
|
-
"
|
|
808
|
+
"none"
|
|
807
809
|
],
|
|
808
810
|
"track": [
|
|
809
811
|
"none"
|
|
@@ -1144,7 +1146,7 @@
|
|
|
1144
1146
|
"none"
|
|
1145
1147
|
],
|
|
1146
1148
|
"filesToStage": [
|
|
1147
|
-
"
|
|
1149
|
+
"none"
|
|
1148
1150
|
],
|
|
1149
1151
|
"forceUnsignedOnFailure": [
|
|
1150
1152
|
"none"
|
|
@@ -1238,7 +1240,7 @@
|
|
|
1238
1240
|
"none"
|
|
1239
1241
|
],
|
|
1240
1242
|
"paths": [
|
|
1241
|
-
"
|
|
1243
|
+
"none"
|
|
1242
1244
|
],
|
|
1243
1245
|
"staged": [
|
|
1244
1246
|
"none"
|
|
@@ -1318,7 +1320,8 @@
|
|
|
1318
1320
|
"comment": "Downloads objects and refs from a remote repository without merging them into the local branch.",
|
|
1319
1321
|
"args": {
|
|
1320
1322
|
"path": [
|
|
1321
|
-
"read-path"
|
|
1323
|
+
"read-path",
|
|
1324
|
+
"write-history"
|
|
1322
1325
|
],
|
|
1323
1326
|
"remote": [
|
|
1324
1327
|
"git-remote-url"
|
|
@@ -1434,7 +1437,7 @@
|
|
|
1434
1437
|
"branch-name"
|
|
1435
1438
|
],
|
|
1436
1439
|
"filePath": [
|
|
1437
|
-
"
|
|
1440
|
+
"none"
|
|
1438
1441
|
],
|
|
1439
1442
|
"oneline": [
|
|
1440
1443
|
"none"
|
|
@@ -1934,39 +1937,9 @@
|
|
|
1934
1937
|
"name": [
|
|
1935
1938
|
"none"
|
|
1936
1939
|
],
|
|
1937
|
-
"url":
|
|
1938
|
-
"
|
|
1939
|
-
|
|
1940
|
-
],
|
|
1941
|
-
"when": [
|
|
1942
|
-
{
|
|
1943
|
-
"condition": {
|
|
1944
|
-
"arg": "mode",
|
|
1945
|
-
"in": [
|
|
1946
|
-
"list",
|
|
1947
|
-
"get-url"
|
|
1948
|
-
]
|
|
1949
|
-
},
|
|
1950
|
-
"roles": [
|
|
1951
|
-
"none"
|
|
1952
|
-
]
|
|
1953
|
-
},
|
|
1954
|
-
{
|
|
1955
|
-
"condition": {
|
|
1956
|
-
"arg": "mode",
|
|
1957
|
-
"in": [
|
|
1958
|
-
"add",
|
|
1959
|
-
"rename",
|
|
1960
|
-
"set-url",
|
|
1961
|
-
"remove"
|
|
1962
|
-
]
|
|
1963
|
-
},
|
|
1964
|
-
"roles": [
|
|
1965
|
-
"git-remote-url"
|
|
1966
|
-
]
|
|
1967
|
-
}
|
|
1968
|
-
]
|
|
1969
|
-
},
|
|
1940
|
+
"url": [
|
|
1941
|
+
"none"
|
|
1942
|
+
],
|
|
1970
1943
|
"newName": [
|
|
1971
1944
|
"none"
|
|
1972
1945
|
],
|
|
@@ -2039,7 +2012,7 @@
|
|
|
2039
2012
|
"none"
|
|
2040
2013
|
],
|
|
2041
2014
|
"paths": [
|
|
2042
|
-
"
|
|
2015
|
+
"none"
|
|
2043
2016
|
],
|
|
2044
2017
|
"confirmed": [
|
|
2045
2018
|
"none"
|
|
@@ -2091,9 +2064,23 @@
|
|
|
2091
2064
|
"toolName": "git_set_working_dir",
|
|
2092
2065
|
"comment": "Sets the session-level default working directory for all subsequent git operations.",
|
|
2093
2066
|
"args": {
|
|
2094
|
-
"path":
|
|
2095
|
-
"
|
|
2096
|
-
|
|
2067
|
+
"path": {
|
|
2068
|
+
"default": [
|
|
2069
|
+
"read-path"
|
|
2070
|
+
],
|
|
2071
|
+
"when": [
|
|
2072
|
+
{
|
|
2073
|
+
"condition": {
|
|
2074
|
+
"arg": "initializeIfNotPresent",
|
|
2075
|
+
"equals": true
|
|
2076
|
+
},
|
|
2077
|
+
"roles": [
|
|
2078
|
+
"read-path",
|
|
2079
|
+
"write-path"
|
|
2080
|
+
]
|
|
2081
|
+
}
|
|
2082
|
+
]
|
|
2083
|
+
},
|
|
2097
2084
|
"validateGitRepo": [
|
|
2098
2085
|
"none"
|
|
2099
2086
|
],
|
|
@@ -2152,7 +2139,7 @@
|
|
|
2152
2139
|
"none"
|
|
2153
2140
|
],
|
|
2154
2141
|
"filePath": [
|
|
2155
|
-
"
|
|
2142
|
+
"none"
|
|
2156
2143
|
]
|
|
2157
2144
|
},
|
|
2158
2145
|
"serverName": "git",
|
package/dist/config/index.d.ts
CHANGED
|
@@ -32,6 +32,20 @@ export declare function computeProtectedPaths(opts: {
|
|
|
32
32
|
* (runtime) and `loadPipelineConfig()` (pipeline) use this.
|
|
33
33
|
*/
|
|
34
34
|
export declare function resolveMcpServerPaths(mcpServers: Record<string, MCPServerConfig>): void;
|
|
35
|
+
/**
|
|
36
|
+
* Rewrites the filesystem MCP server's allowed-directory arg to match
|
|
37
|
+
* `allowedDirectory`. Must be called whenever `allowedDirectory` changes
|
|
38
|
+
* (e.g. during session/workflow setup), otherwise the filesystem server
|
|
39
|
+
* spawns with a stale path and fails with ENOENT.
|
|
40
|
+
*
|
|
41
|
+
* The filesystem server's args are `["-y", "<pkg>", "<path>"]`, so the
|
|
42
|
+
* path is always the last argument. We replace it unconditionally to
|
|
43
|
+
* cover both the initial load (args contain the sentinel) and subsequent
|
|
44
|
+
* re-patches (args already contain a previous allowed directory).
|
|
45
|
+
*/
|
|
46
|
+
export declare function applyAllowedDirectoryToMcpArgs(mcpServers: Record<string, {
|
|
47
|
+
args: string[];
|
|
48
|
+
}>, allowedDirectory: string): void;
|
|
35
49
|
export declare function loadConfig(): IronCurtainConfig;
|
|
36
50
|
/**
|
|
37
51
|
* Extracts domain allowlists from MCP server sandbox network configurations.
|
|
@@ -56,6 +70,37 @@ export declare function extractServerDomainAllowlists(mcpServers: Record<string,
|
|
|
56
70
|
* last `ironcurtain compile-policy` run.
|
|
57
71
|
*/
|
|
58
72
|
export declare function checkConstitutionFreshness(compiledPolicy: CompiledPolicyFile, constitutionPath: string): void;
|
|
73
|
+
/**
|
|
74
|
+
* Pure diff between the configured MCP servers and the servers covered by
|
|
75
|
+
* `tool-annotations.json`. Used by both the runtime freshness check and
|
|
76
|
+
* the compile-time preventive check, which format the same drift data
|
|
77
|
+
* differently.
|
|
78
|
+
*
|
|
79
|
+
* - `missing`: configured servers with no annotations entry (these will
|
|
80
|
+
* silently default-deny every call via the policy engine's
|
|
81
|
+
* structural-unknown-tool fallback).
|
|
82
|
+
* - `orphaned`: annotated servers no longer configured (informational).
|
|
83
|
+
*/
|
|
84
|
+
export declare function findAnnotationServerDrift(toolAnnotations: StoredToolAnnotationsFile, mcpServers: Record<string, MCPServerConfig>): {
|
|
85
|
+
missing: string[];
|
|
86
|
+
orphaned: string[];
|
|
87
|
+
};
|
|
88
|
+
/**
|
|
89
|
+
* Runtime freshness check: emits stderr warnings when the on-disk
|
|
90
|
+
* tool-annotations.json no longer matches the configured MCP servers.
|
|
91
|
+
*
|
|
92
|
+
* The warning suggests re-running annotations for each specific server,
|
|
93
|
+
* not `--all`, so the user only re-classifies what actually changed.
|
|
94
|
+
*/
|
|
95
|
+
export declare function checkAnnotationFreshness(toolAnnotations: StoredToolAnnotationsFile, mcpServers: Record<string, MCPServerConfig>): void;
|
|
96
|
+
/**
|
|
97
|
+
* Quotes a user-supplied identifier for inclusion in a stderr message or a
|
|
98
|
+
* copy-paste shell command. Escapes control characters, quotes, and
|
|
99
|
+
* backslashes via JSON string semantics, and wraps the result in double
|
|
100
|
+
* quotes. The output is both safe to print (no terminal injection) and
|
|
101
|
+
* safe to paste into bash (`--server "name"`).
|
|
102
|
+
*/
|
|
103
|
+
export declare function safeForDisplay(identifier: string): string;
|
|
59
104
|
/**
|
|
60
105
|
* Options for loading generated policy artifacts with split directories.
|
|
61
106
|
* Allows policy files and tool annotations to come from different dirs.
|
|
@@ -73,3 +118,16 @@ export declare function loadGeneratedPolicy(options: PolicyLoadOptions): {
|
|
|
73
118
|
toolAnnotations: StoredToolAnnotationsFile;
|
|
74
119
|
dynamicLists: DynamicListsFile | undefined;
|
|
75
120
|
};
|
|
121
|
+
/**
|
|
122
|
+
* Loads only the per-persona / per-policy artifacts (compiled-policy.json
|
|
123
|
+
* and optional dynamic-lists.json). Tool annotations are deliberately not
|
|
124
|
+
* read here because they are globally-scoped: a persona directory only
|
|
125
|
+
* ships policy + lists, not annotations.
|
|
126
|
+
*
|
|
127
|
+
* Used by `ToolCallCoordinator.loadPolicy` during a hot-swap to pick up
|
|
128
|
+
* the new policy without touching the retained annotations.
|
|
129
|
+
*/
|
|
130
|
+
export declare function loadPersonaPolicyArtifacts(policyDir: string): {
|
|
131
|
+
compiledPolicy: CompiledPolicyFile;
|
|
132
|
+
dynamicLists: DynamicListsFile | undefined;
|
|
133
|
+
};
|
package/dist/config/index.js
CHANGED
|
@@ -4,17 +4,22 @@ import { fileURLToPath } from 'node:url';
|
|
|
4
4
|
import { computeConstitutionHash, getIronCurtainHome, getUserConfigPath, getUserConstitutionBasePath, getUserConstitutionPath, getUserGeneratedDir, } from './paths.js';
|
|
5
5
|
import { resolveRealPath } from '../types/argument-roles.js';
|
|
6
6
|
import { loadUserConfig } from './user-config.js';
|
|
7
|
-
import { RESERVED_SERVER_NAMES } from '../
|
|
7
|
+
import { RESERVED_SERVER_NAMES } from '../types/reserved-servers.js';
|
|
8
8
|
const __filename = fileURLToPath(import.meta.url);
|
|
9
9
|
const __dirname = dirname(__filename);
|
|
10
10
|
const isCompiled = __filename.endsWith('.js');
|
|
11
11
|
/**
|
|
12
|
-
* Returns the user-local generated dir if it contains
|
|
13
|
-
* otherwise falls back to the package-bundled
|
|
12
|
+
* Returns the user-local generated dir if it contains the given artifact,
|
|
13
|
+
* otherwise falls back to the package-bundled dir. Used independently for
|
|
14
|
+
* `compiled-policy.json` and `tool-annotations.json` so a user who drops
|
|
15
|
+
* an updated annotations file into `~/.ironcurtain/generated/` has it
|
|
16
|
+
* picked up even without a corresponding compiled policy there (tool
|
|
17
|
+
* annotations are globally scoped — see sandbox/index.ts comment on
|
|
18
|
+
* `toolAnnotationsDir`).
|
|
14
19
|
*/
|
|
15
|
-
function
|
|
20
|
+
function resolveArtifactDir(filename, packageGeneratedDir) {
|
|
16
21
|
const userDir = getUserGeneratedDir();
|
|
17
|
-
if (existsSync(resolve(userDir,
|
|
22
|
+
if (existsSync(resolve(userDir, filename))) {
|
|
18
23
|
return userDir;
|
|
19
24
|
}
|
|
20
25
|
return packageGeneratedDir;
|
|
@@ -117,6 +122,26 @@ function resolveInternalServerPaths(config, packageRoot, compiled) {
|
|
|
117
122
|
}
|
|
118
123
|
}
|
|
119
124
|
}
|
|
125
|
+
/**
|
|
126
|
+
* Rewrites the filesystem MCP server's allowed-directory arg to match
|
|
127
|
+
* `allowedDirectory`. Must be called whenever `allowedDirectory` changes
|
|
128
|
+
* (e.g. during session/workflow setup), otherwise the filesystem server
|
|
129
|
+
* spawns with a stale path and fails with ENOENT.
|
|
130
|
+
*
|
|
131
|
+
* The filesystem server's args are `["-y", "<pkg>", "<path>"]`, so the
|
|
132
|
+
* path is always the last argument. We replace it unconditionally to
|
|
133
|
+
* cover both the initial load (args contain the sentinel) and subsequent
|
|
134
|
+
* re-patches (args already contain a previous allowed directory).
|
|
135
|
+
*/
|
|
136
|
+
export function applyAllowedDirectoryToMcpArgs(mcpServers, allowedDirectory) {
|
|
137
|
+
const fsServer = mcpServers['filesystem'];
|
|
138
|
+
// eslint-disable-next-line @typescript-eslint/no-unnecessary-condition -- defensive: key may not exist in external JSON
|
|
139
|
+
if (!fsServer)
|
|
140
|
+
return;
|
|
141
|
+
if (fsServer.args.length === 0)
|
|
142
|
+
return;
|
|
143
|
+
fsServer.args[fsServer.args.length - 1] = allowedDirectory;
|
|
144
|
+
}
|
|
120
145
|
/**
|
|
121
146
|
* Translates the typed webSearch config into flat env vars for the fetch server.
|
|
122
147
|
*/
|
|
@@ -161,20 +186,13 @@ export function loadConfig() {
|
|
|
161
186
|
// Sync the filesystem server's allowed directory with the configured value.
|
|
162
187
|
// The mcp-servers.json ships with a default path that may differ from
|
|
163
188
|
// the ALLOWED_DIRECTORY environment variable.
|
|
164
|
-
|
|
165
|
-
// eslint-disable-next-line @typescript-eslint/no-unnecessary-condition -- defensive: key may not exist in external JSON
|
|
166
|
-
if (fsServer) {
|
|
167
|
-
const defaultDir = '/tmp/ironcurtain-sandbox';
|
|
168
|
-
const dirIndex = fsServer.args.indexOf(defaultDir);
|
|
169
|
-
if (dirIndex !== -1) {
|
|
170
|
-
fsServer.args[dirIndex] = allowedDirectory;
|
|
171
|
-
}
|
|
172
|
-
}
|
|
189
|
+
applyAllowedDirectoryToMcpArgs(mcpServers, allowedDirectory);
|
|
173
190
|
// Resolve all relative paths (node_modules/ and ./src/) to absolute paths.
|
|
174
191
|
resolveMcpServerPaths(mcpServers);
|
|
175
192
|
const constitutionPath = resolve(__dirname, 'constitution.md');
|
|
176
193
|
const packageGeneratedDir = resolve(__dirname, 'generated');
|
|
177
|
-
const generatedDir =
|
|
194
|
+
const generatedDir = resolveArtifactDir('compiled-policy.json', packageGeneratedDir);
|
|
195
|
+
const toolAnnotationsDir = resolveArtifactDir('tool-annotations.json', packageGeneratedDir);
|
|
178
196
|
const protectedPaths = computeProtectedPaths({
|
|
179
197
|
constitutionPath,
|
|
180
198
|
generatedDir,
|
|
@@ -209,6 +227,7 @@ export function loadConfig() {
|
|
|
209
227
|
mcpServers,
|
|
210
228
|
protectedPaths,
|
|
211
229
|
generatedDir,
|
|
230
|
+
toolAnnotationsDir,
|
|
212
231
|
constitutionPath,
|
|
213
232
|
agentModelId: finalUserConfig.agentModelId,
|
|
214
233
|
escalationTimeoutSeconds: finalUserConfig.escalationTimeoutSeconds,
|
|
@@ -258,12 +277,75 @@ export function checkConstitutionFreshness(compiledPolicy, constitutionPath) {
|
|
|
258
277
|
'Run `ironcurtain compile-policy` to update the compiled policy.\n');
|
|
259
278
|
}
|
|
260
279
|
}
|
|
280
|
+
/**
|
|
281
|
+
* Pure diff between the configured MCP servers and the servers covered by
|
|
282
|
+
* `tool-annotations.json`. Used by both the runtime freshness check and
|
|
283
|
+
* the compile-time preventive check, which format the same drift data
|
|
284
|
+
* differently.
|
|
285
|
+
*
|
|
286
|
+
* - `missing`: configured servers with no annotations entry (these will
|
|
287
|
+
* silently default-deny every call via the policy engine's
|
|
288
|
+
* structural-unknown-tool fallback).
|
|
289
|
+
* - `orphaned`: annotated servers no longer configured (informational).
|
|
290
|
+
*/
|
|
291
|
+
export function findAnnotationServerDrift(toolAnnotations, mcpServers) {
|
|
292
|
+
const configuredNames = new Set(Object.keys(mcpServers));
|
|
293
|
+
const annotatedNames = new Set(Object.keys(toolAnnotations.servers));
|
|
294
|
+
return {
|
|
295
|
+
missing: [...configuredNames].filter((name) => !annotatedNames.has(name)).sort(),
|
|
296
|
+
orphaned: [...annotatedNames].filter((name) => !configuredNames.has(name)).sort(),
|
|
297
|
+
};
|
|
298
|
+
}
|
|
299
|
+
/**
|
|
300
|
+
* Runtime freshness check: emits stderr warnings when the on-disk
|
|
301
|
+
* tool-annotations.json no longer matches the configured MCP servers.
|
|
302
|
+
*
|
|
303
|
+
* The warning suggests re-running annotations for each specific server,
|
|
304
|
+
* not `--all`, so the user only re-classifies what actually changed.
|
|
305
|
+
*/
|
|
306
|
+
export function checkAnnotationFreshness(toolAnnotations, mcpServers) {
|
|
307
|
+
const { missing, orphaned } = findAnnotationServerDrift(toolAnnotations, mcpServers);
|
|
308
|
+
if (missing.length > 0) {
|
|
309
|
+
process.stderr.write(`Warning: ${missing.length} configured MCP server(s) have no tool annotations: ${missing.map(safeForDisplay).join(', ')}. ` +
|
|
310
|
+
`Tools from these servers will be denied by the policy engine until annotated.\n`);
|
|
311
|
+
for (const name of missing) {
|
|
312
|
+
process.stderr.write(` Run \`ironcurtain annotate-tools --server ${safeForDisplay(name)}\` to annotate this server.\n`);
|
|
313
|
+
}
|
|
314
|
+
}
|
|
315
|
+
if (orphaned.length > 0) {
|
|
316
|
+
process.stderr.write(`Note: tool-annotations.json contains server(s) no longer in mcp-servers.json: ${orphaned.map(safeForDisplay).join(', ')}.\n`);
|
|
317
|
+
}
|
|
318
|
+
}
|
|
319
|
+
/**
|
|
320
|
+
* Quotes a user-supplied identifier for inclusion in a stderr message or a
|
|
321
|
+
* copy-paste shell command. Escapes control characters, quotes, and
|
|
322
|
+
* backslashes via JSON string semantics, and wraps the result in double
|
|
323
|
+
* quotes. The output is both safe to print (no terminal injection) and
|
|
324
|
+
* safe to paste into bash (`--server "name"`).
|
|
325
|
+
*/
|
|
326
|
+
export function safeForDisplay(identifier) {
|
|
327
|
+
return JSON.stringify(identifier);
|
|
328
|
+
}
|
|
261
329
|
export function loadGeneratedPolicy(options) {
|
|
262
330
|
const compiledPolicy = JSON.parse(readGeneratedFile(options.policyDir, 'compiled-policy.json', options.fallbackDir));
|
|
263
331
|
const toolAnnotations = JSON.parse(readGeneratedFile(options.toolAnnotationsDir, 'tool-annotations.json', options.fallbackDir));
|
|
264
332
|
const dynamicLists = loadOptionalGeneratedFile(options.policyDir, 'dynamic-lists.json', options.fallbackDir);
|
|
265
333
|
return { compiledPolicy, toolAnnotations, dynamicLists };
|
|
266
334
|
}
|
|
335
|
+
/**
|
|
336
|
+
* Loads only the per-persona / per-policy artifacts (compiled-policy.json
|
|
337
|
+
* and optional dynamic-lists.json). Tool annotations are deliberately not
|
|
338
|
+
* read here because they are globally-scoped: a persona directory only
|
|
339
|
+
* ships policy + lists, not annotations.
|
|
340
|
+
*
|
|
341
|
+
* Used by `ToolCallCoordinator.loadPolicy` during a hot-swap to pick up
|
|
342
|
+
* the new policy without touching the retained annotations.
|
|
343
|
+
*/
|
|
344
|
+
export function loadPersonaPolicyArtifacts(policyDir) {
|
|
345
|
+
const compiledPolicy = JSON.parse(readGeneratedFile(policyDir, 'compiled-policy.json'));
|
|
346
|
+
const dynamicLists = loadOptionalGeneratedFile(policyDir, 'dynamic-lists.json');
|
|
347
|
+
return { compiledPolicy, dynamicLists };
|
|
348
|
+
}
|
|
267
349
|
/**
|
|
268
350
|
* Loads an optional generated artifact file. Returns undefined if not found.
|
|
269
351
|
*/
|
package/dist/config/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/config/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AACnD,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAC7C,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAGzC,OAAO,EACL,uBAAuB,EACvB,kBAAkB,EAClB,iBAAiB,EACjB,2BAA2B,EAC3B,uBAAuB,EACvB,mBAAmB,GACpB,MAAM,YAAY,CAAC;AACpB,OAAO,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAC7D,OAAO,EAAE,cAAc,EAAgC,MAAM,kBAAkB,CAAC;AAChF,OAAO,EAAE,qBAAqB,EAAE,MAAM,0BAA0B,CAAC;AAEjE,MAAM,UAAU,GAAG,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAClD,MAAM,SAAS,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC;AACtC,MAAM,UAAU,GAAG,UAAU,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;AAE9C;;;GAGG;AACH,SAAS,mBAAmB,CAAC,mBAA2B;IACtD,MAAM,OAAO,GAAG,mBAAmB,EAAE,CAAC;IACtC,IAAI,UAAU,CAAC,OAAO,CAAC,OAAO,EAAE,sBAAsB,CAAC,CAAC,EAAE,CAAC;QACzD,OAAO,OAAO,CAAC;IACjB,CAAC;IACD,OAAO,mBAAmB,CAAC;AAC7B,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,sBAAsB;IACpC,OAAO,OAAO,CAAC,SAAS,EAAE,WAAW,CAAC,CAAC;AACzC,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,qBAAqB,CAAC,IAMrC;IACC,MAAM,KAAK,GAAG;QACZ,mEAAmE;QACnE,2EAA2E;QAC3E,wEAAwE;QACxE,uEAAuE;QACvE,mCAAmC;QACnC,eAAe,CAAC,kBAAkB,EAAE,CAAC;QACrC,eAAe,CAAC,IAAI,CAAC,gBAAgB,CAAC;QACtC,eAAe,CAAC,IAAI,CAAC,YAAY,CAAC;QAClC,eAAe,CAAC,IAAI,CAAC,cAAc,CAAC;QACpC,eAAe,CAAC,IAAI,CAAC,YAAY,CAAC;KACnC,CAAC;IACF,IAAI,IAAI,CAAC,YAAY,KAAK,IAAI,CAAC,mBAAmB,EAAE,CAAC;QACnD,KAAK,CAAC,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC,CAAC;IACxD,CAAC;IACD,wDAAwD;IACxD,MAAM,oBAAoB,GAAG,2BAA2B,EAAE,CAAC;IAC3D,IAAI,UAAU,CAAC,oBAAoB,CAAC,EAAE,CAAC;QACrC,KAAK,CAAC,IAAI,CAAC,eAAe,CAAC,oBAAoB,CAAC,CAAC,CAAC;IACpD,CAAC;IACD,MAAM,mBAAmB,GAAG,uBAAuB,EAAE,CAAC;IACtD,IAAI,UAAU,CAAC,mBAAmB,CAAC,EAAE,CAAC;QACpC,KAAK,CAAC,IAAI,CAAC,eAAe,CAAC,mBAAmB,CAAC,CAAC,CAAC;IACnD,CAAC;IACD,6EAA6E;IAC7E,0EAA0E;IAC1E,KAAK,CAAC,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;IAC7C,sDAAsD;IACtD,KAAK,CAAC,IAAI,CAAC,eAAe,CAAC,iBAAiB,EAAE,CAAC,CAAC,CAAC;IACjD,OAAO,KAAK,CAAC;AACf,CAAC;AAED;;;GAGG;AACH;;;;;;;;;GASG;AACH,MAAM,UAAU,qBAAqB,CAAC,UAA2C;IAC/E,2EAA2E;IAC3E,MAAM,WAAW,GAAG,OAAO,CAAC,SAAS,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;IAEnD,KAAK,MAAM,MAAM,IAAI,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,EAAE,CAAC;QAC/C,IAAI,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,eAAe,CAAC,EAAE,CAAC;YAC/C,MAAM,CAAC,OAAO,GAAG,sBAAsB,CAAC,MAAM,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC;QACvE,CAAC;QACD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YAC5C,IAAI,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,eAAe,CAAC,EAAE,CAAC;gBAC/C,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,sBAAsB,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,WAAW,CAAC,CAAC;YACvE,CAAC;QACH,CAAC;QACD,0BAA0B,CAAC,MAAM,EAAE,WAAW,EAAE,UAAU,CAAC,CAAC;IAC9D,CAAC;AACH,CAAC;AAED,SAAS,0BAA0B,CAAC,MAAuB,EAAE,WAAmB,EAAE,QAAiB;IACjG,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QAC5C,MAAM,GAAG,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAC3B,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,KAAK,CAAC;YAAE,SAAS;QAEhE,IAAI,QAAQ,EAAE,CAAC;YACb,oDAAoD;YACpD,MAAM,YAAY,GAAG,GAAG,CAAC,OAAO,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC,OAAO,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;YAChF,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,WAAW,EAAE,YAAY,CAAC,CAAC;YACpD,IAAI,MAAM,CAAC,OAAO,KAAK,KAAK,EAAE,CAAC;gBAC7B,MAAM,CAAC,OAAO,GAAG,MAAM,CAAC;gBACxB,MAAM,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;gBAC1C,IAAI,MAAM,KAAK,CAAC,CAAC;oBAAE,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;YACnD,CAAC;iBAAM,IAAI,MAAM,CAAC,OAAO,KAAK,KAAK,EAAE,CAAC;gBACpC,MAAM,CAAC,OAAO,GAAG,MAAM,CAAC;YAC1B,CAAC;QACH,CAAC;aAAM,CAAC;YACN,yCAAyC;YACzC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,WAAW,EAAE,GAAG,CAAC,CAAC;QAC7C,CAAC;IACH,CAAC;AACH,CAAC;AAED;;GAEG;AACH,SAAS,2BAA2B,CAAC,SAAkC;IACrE,MAAM,KAAK,GAA2B,EAAE,CAAC;IACzC,IAAI,CAAC,SAAS,CAAC,QAAQ;QAAE,OAAO,KAAK,CAAC;IAEtC,KAAK,CAAC,mBAAmB,GAAG,SAAS,CAAC,QAAQ,CAAC;IAE/C,QAAQ,SAAS,CAAC,QAAQ,EAAE,CAAC;QAC3B,KAAK,OAAO;YACV,IAAI,SAAS,CAAC,KAAK;gBAAE,KAAK,CAAC,aAAa,GAAG,SAAS,CAAC,KAAK,CAAC,MAAM,CAAC;YAClE,MAAM;QACR,KAAK,QAAQ;YACX,IAAI,SAAS,CAAC,MAAM;gBAAE,KAAK,CAAC,cAAc,GAAG,SAAS,CAAC,MAAM,CAAC,MAAM,CAAC;YACrE,MAAM;QACR,KAAK,SAAS;YACZ,IAAI,SAAS,CAAC,OAAO;gBAAE,KAAK,CAAC,eAAe,GAAG,SAAS,CAAC,OAAO,CAAC,MAAM,CAAC;YACxE,MAAM;IACV,CAAC;IAED,OAAO,KAAK,CAAC;AACf,CAAC;AAED,MAAM,UAAU,UAAU;IACxB,MAAM,UAAU,GAAG,cAAc,EAAE,CAAC;IAEpC,MAAM,YAAY,GAAG,OAAO,CAAC,GAAG,CAAC,cAAc,IAAI,eAAe,CAAC;IACnE,0DAA0D;IAC1D,+DAA+D;IAC/D,wEAAwE;IACxE,MAAM,iBAAiB,GAAG,OAAO,CAAC,kBAAkB,EAAE,EAAE,SAAS,CAAC,CAAC;IACnE,MAAM,gBAAgB,GAAG,OAAO,CAAC,GAAG,CAAC,iBAAiB,IAAI,iBAAiB,CAAC;IAE5E,MAAM,cAAc,GAAG,OAAO,CAAC,SAAS,EAAE,kBAAkB,CAAC,CAAC;IAC9D,MAAM,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,cAAc,EAAE,OAAO,CAAC,CAAoC,CAAC;IAExG,gEAAgE;IAChE,KAAK,MAAM,IAAI,IAAI,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC;QAC3C,IAAI,qBAAqB,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;YACpC,MAAM,IAAI,KAAK,CACb,oBAAoB,IAAI,kCAAkC;gBACxD,qDAAqD,CACxD,CAAC;QACJ,CAAC;IACH,CAAC;IAED,4EAA4E;IAC5E,sEAAsE;IACtE,8CAA8C;IAC9C,MAAM,QAAQ,GAAG,UAAU,CAAC,YAAY,CAAC,CAAC;IAC1C,wHAAwH;IACxH,IAAI,QAAQ,EAAE,CAAC;QACb,MAAM,UAAU,GAAG,0BAA0B,CAAC;QAC9C,MAAM,QAAQ,GAAG,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;QACnD,IAAI,QAAQ,KAAK,CAAC,CAAC,EAAE,CAAC;YACpB,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,gBAAgB,CAAC;QAC7C,CAAC;IACH,CAAC;IAED,2EAA2E;IAC3E,qBAAqB,CAAC,UAAU,CAAC,CAAC;IAElC,MAAM,gBAAgB,GAAG,OAAO,CAAC,SAAS,EAAE,iBAAiB,CAAC,CAAC;IAC/D,MAAM,mBAAmB,GAAG,OAAO,CAAC,SAAS,EAAE,WAAW,CAAC,CAAC;IAC5D,MAAM,YAAY,GAAG,mBAAmB,CAAC,mBAAmB,CAAC,CAAC;IAE9D,MAAM,cAAc,GAAG,qBAAqB,CAAC;QAC3C,gBAAgB;QAChB,YAAY;QACZ,mBAAmB;QACnB,cAAc;QACd,YAAY;KACb,CAAC,CAAC;IAEH,6EAA6E;IAC7E,4FAA4F;IAC5F,MAAM,WAAW,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC;IACrD,KAAK,MAAM,OAAO,IAAI,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,iBAAiB,CAAC,EAAE,CAAC;QAChE,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC;YAC9B,OAAO,CAAC,MAAM,CAAC,KAAK,CAClB,+BAA+B,OAAO,oDAAoD;gBACxF,sBAAsB,CAAC,GAAG,WAAW,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CACxD,CAAC;QACJ,CAAC;IACH,CAAC;IAED,0EAA0E;IAC1E,MAAM,cAAc,GAAG,2BAA2B,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC;IACzE,IAAI,eAAe,GAAG,UAAU,CAAC;IACjC,IAAI,MAAM,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC3C,MAAM,aAAa,GAChB,UAAU,CAAC,iBAAwE,CAAC,KAAK,IAAI,EAAE,CAAC;QACnG,MAAM,iBAAiB,GAA2C,EAAE,CAAC;QACrE,KAAK,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,iBAAiB,CAAC,EAAE,CAAC;YAClE,iBAAiB,CAAC,CAAC,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE,CAAC;QAClC,CAAC;QACD,iBAAiB,CAAC,KAAK,GAAG,EAAE,GAAG,aAAa,EAAE,GAAG,cAAc,EAAE,CAAC;QAClE,eAAe,GAAG,EAAE,GAAG,UAAU,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,CAAC;IAC5E,CAAC;IAED,OAAO;QACL,YAAY;QACZ,gBAAgB;QAChB,UAAU;QACV,cAAc;QACd,YAAY;QACZ,gBAAgB;QAChB,YAAY,EAAE,eAAe,CAAC,YAAY;QAC1C,wBAAwB,EAAE,eAAe,CAAC,wBAAwB;QAClE,UAAU,EAAE,eAAe;KAC5B,CAAC;AACJ,CAAC;AAED;;;;;;;;;;;;;;;GAeG;AACH,MAAM,UAAU,6BAA6B,CAAC,UAA2C;IACvF,MAAM,UAAU,GAAG,IAAI,GAAG,EAAoB,CAAC;IAC/C,KAAK,MAAM,CAAC,UAAU,EAAE,MAAM,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE,CAAC;QAC9D,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC;QAC/B,IAAI,CAAC,OAAO,IAAI,OAAO,OAAO,KAAK,QAAQ;YAAE,SAAS;QACtD,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;QAChC,IAAI,CAAC,OAAO,IAAI,OAAO,OAAO,KAAK,QAAQ;YAAE,SAAS;QACtD,IAAI,OAAO,CAAC,cAAc,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACtC,UAAU,CAAC,GAAG,CAAC,UAAU,EAAE,CAAC,GAAG,OAAO,CAAC,cAAc,CAAC,CAAC,CAAC;QAC1D,CAAC;IACH,CAAC;IACD,OAAO,UAAU,CAAC;AACpB,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,0BAA0B,CAAC,cAAkC,EAAE,gBAAwB;IACrG,MAAM,WAAW,GAAG,uBAAuB,CAAC,gBAAgB,CAAC,CAAC;IAC9D,IAAI,WAAW,KAAK,cAAc,CAAC,gBAAgB,EAAE,CAAC;QACpD,OAAO,CAAC,MAAM,CAAC,KAAK,CAClB,uEAAuE;YACrE,mEAAmE,CACtE,CAAC;IACJ,CAAC;AACH,CAAC;AAeD,MAAM,UAAU,mBAAmB,CAAC,OAA0B;IAK5D,MAAM,cAAc,GAAG,IAAI,CAAC,KAAK,CAC/B,iBAAiB,CAAC,OAAO,CAAC,SAAS,EAAE,sBAAsB,EAAE,OAAO,CAAC,WAAW,CAAC,CAC5D,CAAC;IACxB,MAAM,eAAe,GAAG,IAAI,CAAC,KAAK,CAChC,iBAAiB,CAAC,OAAO,CAAC,kBAAkB,EAAE,uBAAuB,EAAE,OAAO,CAAC,WAAW,CAAC,CAC/D,CAAC;IAC/B,MAAM,YAAY,GAAG,yBAAyB,CAAC,OAAO,CAAC,SAAS,EAAE,oBAAoB,EAAE,OAAO,CAAC,WAAW,CAAC,CAAC;IAE7G,OAAO,EAAE,cAAc,EAAE,eAAe,EAAE,YAAY,EAAE,CAAC;AAC3D,CAAC;AAED;;GAEG;AACH,SAAS,yBAAyB,CAChC,YAAoB,EACpB,QAAgB,EAChB,WAAoB;IAEpB,MAAM,WAAW,GAAG,OAAO,CAAC,YAAY,EAAE,QAAQ,CAAC,CAAC;IACpD,IAAI,UAAU,CAAC,WAAW,CAAC,EAAE,CAAC;QAC5B,OAAO,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,WAAW,EAAE,OAAO,CAAC,CAAqB,CAAC;IAC5E,CAAC;IACD,IAAI,WAAW,EAAE,CAAC;QAChB,MAAM,YAAY,GAAG,OAAO,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAC;QACpD,IAAI,UAAU,CAAC,YAAY,CAAC,EAAE,CAAC;YAC7B,OAAO,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,YAAY,EAAE,OAAO,CAAC,CAAqB,CAAC;QAC7E,CAAC;IACH,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC;AAED;;GAEG;AACH,SAAS,iBAAiB,CAAC,YAAoB,EAAE,QAAgB,EAAE,WAAoB;IACrF,MAAM,WAAW,GAAG,OAAO,CAAC,YAAY,EAAE,QAAQ,CAAC,CAAC;IACpD,IAAI,UAAU,CAAC,WAAW,CAAC,EAAE,CAAC;QAC5B,OAAO,YAAY,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC;IAC5C,CAAC;IACD,IAAI,WAAW,EAAE,CAAC;QAChB,MAAM,YAAY,GAAG,OAAO,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAC;QACpD,IAAI,UAAU,CAAC,YAAY,CAAC,EAAE,CAAC;YAC7B,OAAO,YAAY,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC;QAC7C,CAAC;IACH,CAAC;IACD,gFAAgF;IAChF,OAAO,YAAY,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC;AAC5C,CAAC;AAED;;;GAGG;AACH,SAAS,sBAAsB,CAAC,YAAoB,EAAE,QAAgB;IACpE,IAAI,GAAG,GAAG,QAAQ,CAAC;IACnB,SAAS,CAAC;QACR,MAAM,SAAS,GAAG,OAAO,CAAC,GAAG,EAAE,YAAY,CAAC,CAAC;QAC7C,IAAI,UAAU,CAAC,SAAS,CAAC;YAAE,OAAO,SAAS,CAAC;QAC5C,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC;QAC5B,IAAI,MAAM,KAAK,GAAG;YAAE,MAAM;QAC1B,GAAG,GAAG,MAAM,CAAC;IACf,CAAC;IACD,wDAAwD;IACxD,OAAO,OAAO,CAAC,QAAQ,EAAE,YAAY,CAAC,CAAC;AACzC,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/config/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -44,10 +44,10 @@
|
|
|
44
44
|
"args": ["-y", "@alanse/mcp-server-google-workspace@1.0.2"],
|
|
45
45
|
"env": {},
|
|
46
46
|
"_comment": "npm registry domains are needed for the initial npx -y install. To remove them, vendor the package as a local dependency instead.",
|
|
47
|
+
"_comment2": "On Linux, the @anthropic-ai/sandbox-runtime apply-seccomp binary is executed from node_modules inside the sandbox. Denying ~ blocks access to this binary if the project is in the home directory. We deny specific sensitive directories instead. TODO: separate development and production into different sandbox configs.",
|
|
47
48
|
"sandbox": {
|
|
48
49
|
"filesystem": {
|
|
49
|
-
"denyRead": ["
|
|
50
|
-
"allowRead": ["/usr", "/lib", "/etc"]
|
|
50
|
+
"denyRead": ["~/.gnupg", "~/.aws", "~/.ssh"]
|
|
51
51
|
},
|
|
52
52
|
"network": {
|
|
53
53
|
"allowedDomains": [
|
package/dist/config/paths.d.ts
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import type { BundleId } from '../session/types.js';
|
|
1
2
|
/**
|
|
2
3
|
* Returns the IronCurtain home directory.
|
|
3
4
|
* Defaults to ~/.ironcurtain, overridable via IRONCURTAIN_HOME env var.
|
|
@@ -7,6 +8,14 @@ export declare function getIronCurtainHome(): string;
|
|
|
7
8
|
* Returns the sessions base directory: {home}/sessions/
|
|
8
9
|
*/
|
|
9
10
|
export declare function getSessionsDir(): string;
|
|
11
|
+
/**
|
|
12
|
+
* Filenames shared across session-scoped and workflow-state-scoped
|
|
13
|
+
* layouts. Centralized so the "single source of truth" for how session
|
|
14
|
+
* artifacts are named does not drift between helpers and call sites.
|
|
15
|
+
*/
|
|
16
|
+
export declare const SESSION_LOG_FILENAME = "session.log";
|
|
17
|
+
export declare const SESSION_METADATA_FILENAME = "session-metadata.json";
|
|
18
|
+
export declare const SESSION_STATE_FILENAME = "session-state.json";
|
|
10
19
|
/**
|
|
11
20
|
* Returns the session directory for a given session ID:
|
|
12
21
|
* {home}/sessions/{sessionId}/
|
|
@@ -143,6 +152,20 @@ export declare function loadConstitutionText(packageBasePath: string): string;
|
|
|
143
152
|
* Loads the combined constitution and returns its SHA-256 hex digest.
|
|
144
153
|
*/
|
|
145
154
|
export declare function computeConstitutionHash(basePath: string): string;
|
|
155
|
+
/**
|
|
156
|
+
* Returns the user workflows directory: {home}/workflows/
|
|
157
|
+
* Users can place custom workflow definitions here.
|
|
158
|
+
*/
|
|
159
|
+
export declare function getUserWorkflowsDir(): string;
|
|
160
|
+
/**
|
|
161
|
+
* Returns the user-global skills directory: {home}/skills/
|
|
162
|
+
*
|
|
163
|
+
* Skills placed here are layered into every Docker session regardless
|
|
164
|
+
* of workflow or persona. See `src/skills/discovery.ts` for the
|
|
165
|
+
* resolution order (user-global → persona → workflow, last-wins on
|
|
166
|
+
* collision) and `docs/designs/skills-capability.md` for the format.
|
|
167
|
+
*/
|
|
168
|
+
export declare function getUserSkillsDir(): string;
|
|
146
169
|
/**
|
|
147
170
|
* Returns the OAuth directory: {home}/oauth/
|
|
148
171
|
* Stores provider credentials and token files.
|
|
@@ -165,6 +188,14 @@ export declare function getOAuthCredentialsPath(providerId: string): string;
|
|
|
165
188
|
* can communicate with a running daemon (e.g., add-job, run-job).
|
|
166
189
|
*/
|
|
167
190
|
export declare function getDaemonSocketPath(): string;
|
|
191
|
+
/**
|
|
192
|
+
* Returns the web UI state file path: {home}/web-ui.json
|
|
193
|
+
*
|
|
194
|
+
* The daemon writes connection info (port + auth token) here on startup
|
|
195
|
+
* so CLI commands (e.g., `observe`) can connect to the WebSocket server.
|
|
196
|
+
* The file is removed on daemon shutdown.
|
|
197
|
+
*/
|
|
198
|
+
export declare function getWebUiStatePath(): string;
|
|
168
199
|
/**
|
|
169
200
|
* Returns the jobs base directory: {home}/jobs/
|
|
170
201
|
*/
|
|
@@ -188,3 +219,147 @@ export declare function getJobWorkspaceDir(jobId: string): string;
|
|
|
188
219
|
* {home}/jobs/{jobId}/runs/
|
|
189
220
|
*/
|
|
190
221
|
export declare function getJobRunsDir(jobId: string): string;
|
|
222
|
+
/**
|
|
223
|
+
* Returns the workflow runs base directory: {home}/workflow-runs/
|
|
224
|
+
*/
|
|
225
|
+
export declare function getWorkflowRunsDir(): string;
|
|
226
|
+
/**
|
|
227
|
+
* Returns the directory for a specific workflow run:
|
|
228
|
+
* {home}/workflow-runs/{workflowId}/
|
|
229
|
+
*/
|
|
230
|
+
export declare function getWorkflowRunDir(workflowId: string): string;
|
|
231
|
+
/**
|
|
232
|
+
* Returns the containers root for a workflow run:
|
|
233
|
+
* {home}/workflow-runs/{workflowId}/containers/
|
|
234
|
+
*
|
|
235
|
+
* Each bundle (one Docker container + its MITM/Code-Mode proxies, CA,
|
|
236
|
+
* fake keys, audit log, and per-state artifacts) lives under
|
|
237
|
+
* `containers/<bundleId>/`. A single-scope workflow has one entry; a
|
|
238
|
+
* bifurcated workflow with distinct `containerScope` values has one
|
|
239
|
+
* entry per distinct scope.
|
|
240
|
+
*/
|
|
241
|
+
export declare function getWorkflowContainersDir(workflowId: string): string;
|
|
242
|
+
/**
|
|
243
|
+
* Returns the outer directory for a single bundle within a workflow run:
|
|
244
|
+
* {home}/workflow-runs/{workflowId}/containers/{bundleId}/
|
|
245
|
+
*
|
|
246
|
+
* Contains the bundle's audit log, its inner `bundle/` directory with
|
|
247
|
+
* sockets/CA/fake keys/orientation, and the per-state `states/` tree.
|
|
248
|
+
*/
|
|
249
|
+
export declare function getBundleDir(workflowId: string, bundleId: BundleId): string;
|
|
250
|
+
/**
|
|
251
|
+
* Returns the inner bundle artifact directory:
|
|
252
|
+
* {home}/workflow-runs/{workflowId}/containers/{bundleId}/bundle/
|
|
253
|
+
*
|
|
254
|
+
* Holds the bundle-scoped files that `DockerInfrastructure` manages:
|
|
255
|
+
* MCP/MITM sockets, CA cert, fake keys, orientation scripts, and the
|
|
256
|
+
* effective system prompt. Bind-mounted into the Docker container for
|
|
257
|
+
* the UDS endpoints.
|
|
258
|
+
*/
|
|
259
|
+
export declare function getBundleBundleDir(workflowId: string, bundleId: BundleId): string;
|
|
260
|
+
/**
|
|
261
|
+
* Returns the per-bundle audit log path:
|
|
262
|
+
* {home}/workflow-runs/{workflowId}/containers/{bundleId}/audit.jsonl
|
|
263
|
+
*
|
|
264
|
+
* One audit file per bundle (coordinator). Each entry is tagged with
|
|
265
|
+
* the active `persona` so consumers can reconstruct per-persona /
|
|
266
|
+
* per-re-entry slices by scanning.
|
|
267
|
+
*/
|
|
268
|
+
export declare function getBundleAuditLogPath(workflowId: string, bundleId: BundleId): string;
|
|
269
|
+
/**
|
|
270
|
+
* Returns the per-bundle states root:
|
|
271
|
+
* {home}/workflow-runs/{workflowId}/containers/{bundleId}/states/
|
|
272
|
+
*
|
|
273
|
+
* Each agent state invocation (including re-entries) that borrows this
|
|
274
|
+
* bundle gets its own subdirectory keyed by `{stateId}.{N}`.
|
|
275
|
+
*/
|
|
276
|
+
export declare function getBundleStatesDir(workflowId: string, bundleId: BundleId): string;
|
|
277
|
+
/**
|
|
278
|
+
* Returns the per-invocation artifact directory for a single state:
|
|
279
|
+
* {home}/workflow-runs/{workflowId}/containers/{bundleId}/states/{stateSlug}/
|
|
280
|
+
*
|
|
281
|
+
* Holds this invocation's `session.log` and `session-metadata.json`.
|
|
282
|
+
* `stateSlug` is `{stateId}.{N}` (e.g., `fetch.1`, `plan.2`).
|
|
283
|
+
*/
|
|
284
|
+
export declare function getInvocationDir(workflowId: string, bundleId: BundleId, stateSlug: string): string;
|
|
285
|
+
/**
|
|
286
|
+
* Picks the next available `{stateId}.{N}` slug in `statesDir`. Returns
|
|
287
|
+
* `${stateId}.1` when no matching dir exists; otherwise the max existing
|
|
288
|
+
* N plus 1. Used so every state entry (true logical re-visits AND resume
|
|
289
|
+
* legs of a single visit) gets its own forensic dir — `session.log` and
|
|
290
|
+
* `session-metadata.json` no longer interleave across resume attempts.
|
|
291
|
+
*/
|
|
292
|
+
export declare function nextStateSlug(statesDir: string, stateId: string): string;
|
|
293
|
+
/**
|
|
294
|
+
* Returns the coordinator control socket path for a bundle:
|
|
295
|
+
* {home}/run/{bundleId[0:12]}/ctrl.sock
|
|
296
|
+
*
|
|
297
|
+
* The coordinator listens on this UDS to accept policy hot-swap
|
|
298
|
+
* requests from the orchestrator. The socket sits under the bundle's
|
|
299
|
+
* per-bundle runtime root (mode `0o700`) so filesystem permissions
|
|
300
|
+
* gate access.
|
|
301
|
+
*
|
|
302
|
+
* The directory slug is truncated to 12 chars of `bundleId` so the
|
|
303
|
+
* assembled path fits under macOS `sockaddr_un.sun_path` (104 chars).
|
|
304
|
+
* 16^12 ≈ 2.8e14 combinations — collisions in the host-wide
|
|
305
|
+
* `run/<slug>/` namespace are astronomical.
|
|
306
|
+
*/
|
|
307
|
+
export declare function getBundleControlSocketPath(bundleId: BundleId): string;
|
|
308
|
+
/**
|
|
309
|
+
* Returns the per-bundle runtime root directory:
|
|
310
|
+
* {home}/run/{bundleId[0:12]}/
|
|
311
|
+
*
|
|
312
|
+
* Holds the coordinator control socket plus two subdirectories
|
|
313
|
+
* (`sockets/` and `host/`) so the bind-mounted UDS files can be
|
|
314
|
+
* co-located without exposing host-only sockets to the container.
|
|
315
|
+
*/
|
|
316
|
+
export declare function getBundleRuntimeRoot(bundleId: BundleId): string;
|
|
317
|
+
/**
|
|
318
|
+
* Returns the per-bundle container-visible sockets directory:
|
|
319
|
+
* {home}/run/{bundleId[0:12]}/sockets/
|
|
320
|
+
*
|
|
321
|
+
* Two UDS files live here:
|
|
322
|
+
* - `proxy.sock` (Code Mode proxy — bind-mounted into container)
|
|
323
|
+
* - `mitm-proxy.sock` (MITM proxy — bind-mounted into container)
|
|
324
|
+
*
|
|
325
|
+
* This directory is what `prepareDockerInfrastructure()` bind-mounts as
|
|
326
|
+
* `/run/ironcurtain/` inside the container (read-write). Only these two
|
|
327
|
+
* socket files live here — no audit logs, escalation files, or other
|
|
328
|
+
* session artifacts.
|
|
329
|
+
*/
|
|
330
|
+
export declare function getBundleSocketsDir(bundleId: BundleId): string;
|
|
331
|
+
/**
|
|
332
|
+
* Returns the per-bundle host-only directory:
|
|
333
|
+
* {home}/run/{bundleId[0:12]}/host/
|
|
334
|
+
*
|
|
335
|
+
* Holds UDS files that must NOT be visible to the container
|
|
336
|
+
* (currently just the MITM control socket).
|
|
337
|
+
*/
|
|
338
|
+
export declare function getBundleHostOnlyDir(bundleId: BundleId): string;
|
|
339
|
+
/**
|
|
340
|
+
* Code Mode proxy UDS path for a bundle:
|
|
341
|
+
* {home}/run/{bundleId[0:12]}/sockets/proxy.sock
|
|
342
|
+
*
|
|
343
|
+
* Bound by the host-side Code Mode proxy; reachable inside the
|
|
344
|
+
* container as `/run/ironcurtain/proxy.sock` via the bind mount on
|
|
345
|
+
* `getBundleSocketsDir()`.
|
|
346
|
+
*/
|
|
347
|
+
export declare function getBundleProxySocketPath(bundleId: BundleId): string;
|
|
348
|
+
/**
|
|
349
|
+
* MITM proxy UDS path for a bundle:
|
|
350
|
+
* {home}/run/{bundleId[0:12]}/sockets/mitm-proxy.sock
|
|
351
|
+
*
|
|
352
|
+
* Bound by the host-side MITM proxy; reachable inside the container as
|
|
353
|
+
* `/run/ironcurtain/mitm-proxy.sock` via the bind mount on
|
|
354
|
+
* `getBundleSocketsDir()`.
|
|
355
|
+
*/
|
|
356
|
+
export declare function getBundleMitmProxySocketPath(bundleId: BundleId): string;
|
|
357
|
+
/**
|
|
358
|
+
* MITM control UDS path for a bundle:
|
|
359
|
+
* {home}/run/{bundleId[0:12]}/host/mitm-control.sock
|
|
360
|
+
*
|
|
361
|
+
* Host-local only — lives under `host/` rather than `sockets/` so the
|
|
362
|
+
* bind mount that exposes `sockets/` at `/run/ironcurtain/` does not
|
|
363
|
+
* expose this socket to the container.
|
|
364
|
+
*/
|
|
365
|
+
export declare function getBundleMitmControlSocketPath(bundleId: BundleId): string;
|