@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
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"workflow-command.js","sourceRoot":"","sources":["../../src/workflow/workflow-command.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import type { WorkflowId } from './types.js';
|
|
2
|
+
export interface WorkflowRunSummary {
|
|
3
|
+
readonly workflowId: WorkflowId;
|
|
4
|
+
readonly directoryPath: string;
|
|
5
|
+
readonly hasCheckpoint: boolean;
|
|
6
|
+
readonly hasDefinition: boolean;
|
|
7
|
+
readonly hasMessageLog: boolean;
|
|
8
|
+
readonly mtime: Date;
|
|
9
|
+
}
|
|
10
|
+
/**
|
|
11
|
+
* Scan `baseDir` for workflow-run directories; one summary per immediate
|
|
12
|
+
* subdirectory, sorted newest-first by `mtime`. Missing `baseDir` returns `[]`
|
|
13
|
+
* (mirrors `FileCheckpointStore.listAll()`).
|
|
14
|
+
*/
|
|
15
|
+
export declare function discoverWorkflowRuns(baseDir: string): WorkflowRunSummary[];
|
|
16
|
+
/**
|
|
17
|
+
* Recovers the `workspacePath` for a checkpoint-less past run from session-
|
|
18
|
+
* metadata files written per state actor under
|
|
19
|
+
* `<runDir>/containers/*\/states/*\/{SESSION_METADATA_FILENAME}`. Picks the
|
|
20
|
+
* entry with the newest `createdAt`. Returns `undefined` when no usable file
|
|
21
|
+
* is found.
|
|
22
|
+
*/
|
|
23
|
+
export declare function discoverWorkspacePathFromContainers(runDir: string): string | undefined;
|
|
24
|
+
/** Single-id variant of {@link discoverWorkflowRuns}; returns `undefined` when the directory doesn't exist. */
|
|
25
|
+
export declare function summaryForId(baseDir: string, workflowId: WorkflowId): WorkflowRunSummary | undefined;
|
|
@@ -0,0 +1,100 @@
|
|
|
1
|
+
import { readdirSync, statSync } from 'node:fs';
|
|
2
|
+
import { resolve } from 'node:path';
|
|
3
|
+
import { SESSION_METADATA_FILENAME } from '../config/paths.js';
|
|
4
|
+
import { loadSessionMetadataFromPath } from '../session/session-metadata.js';
|
|
5
|
+
function buildSummary(directoryPath, workflowId, mtime) {
|
|
6
|
+
return {
|
|
7
|
+
workflowId,
|
|
8
|
+
directoryPath,
|
|
9
|
+
hasCheckpoint: existsSyncSafe(resolve(directoryPath, 'checkpoint.json')),
|
|
10
|
+
hasDefinition: existsSyncSafe(resolve(directoryPath, 'definition.json')),
|
|
11
|
+
hasMessageLog: existsSyncSafe(resolve(directoryPath, 'messages.jsonl')),
|
|
12
|
+
mtime,
|
|
13
|
+
};
|
|
14
|
+
}
|
|
15
|
+
function existsSyncSafe(path) {
|
|
16
|
+
try {
|
|
17
|
+
statSync(path);
|
|
18
|
+
return true;
|
|
19
|
+
}
|
|
20
|
+
catch (err) {
|
|
21
|
+
if (err.code === 'ENOENT')
|
|
22
|
+
return false;
|
|
23
|
+
throw err;
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
/** `readdirSync` that swallows ENOENT (returns `[]`); other errors propagate. */
|
|
27
|
+
function readDirEntries(dir) {
|
|
28
|
+
try {
|
|
29
|
+
return readdirSync(dir, { withFileTypes: true });
|
|
30
|
+
}
|
|
31
|
+
catch (err) {
|
|
32
|
+
if (err.code === 'ENOENT')
|
|
33
|
+
return [];
|
|
34
|
+
throw err;
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
/**
|
|
38
|
+
* Scan `baseDir` for workflow-run directories; one summary per immediate
|
|
39
|
+
* subdirectory, sorted newest-first by `mtime`. Missing `baseDir` returns `[]`
|
|
40
|
+
* (mirrors `FileCheckpointStore.listAll()`).
|
|
41
|
+
*/
|
|
42
|
+
export function discoverWorkflowRuns(baseDir) {
|
|
43
|
+
const entries = readDirEntries(baseDir);
|
|
44
|
+
const summaries = [];
|
|
45
|
+
for (const entry of entries) {
|
|
46
|
+
if (!entry.isDirectory())
|
|
47
|
+
continue;
|
|
48
|
+
const directoryPath = resolve(baseDir, entry.name);
|
|
49
|
+
const stats = statSync(directoryPath);
|
|
50
|
+
summaries.push(buildSummary(directoryPath, entry.name, stats.mtime));
|
|
51
|
+
}
|
|
52
|
+
summaries.sort((a, b) => b.mtime.getTime() - a.mtime.getTime());
|
|
53
|
+
return summaries;
|
|
54
|
+
}
|
|
55
|
+
/**
|
|
56
|
+
* Recovers the `workspacePath` for a checkpoint-less past run from session-
|
|
57
|
+
* metadata files written per state actor under
|
|
58
|
+
* `<runDir>/containers/*\/states/*\/{SESSION_METADATA_FILENAME}`. Picks the
|
|
59
|
+
* entry with the newest `createdAt`. Returns `undefined` when no usable file
|
|
60
|
+
* is found.
|
|
61
|
+
*/
|
|
62
|
+
export function discoverWorkspacePathFromContainers(runDir) {
|
|
63
|
+
const containersDir = resolve(runDir, 'containers');
|
|
64
|
+
let bestWorkspace;
|
|
65
|
+
let bestCreatedAt = '';
|
|
66
|
+
for (const container of readDirEntries(containersDir)) {
|
|
67
|
+
if (!container.isDirectory())
|
|
68
|
+
continue;
|
|
69
|
+
const statesDir = resolve(containersDir, container.name, 'states');
|
|
70
|
+
for (const state of readDirEntries(statesDir)) {
|
|
71
|
+
if (!state.isDirectory())
|
|
72
|
+
continue;
|
|
73
|
+
const metadata = loadSessionMetadataFromPath(resolve(statesDir, state.name, SESSION_METADATA_FILENAME));
|
|
74
|
+
if (!metadata?.workspacePath || !metadata.createdAt)
|
|
75
|
+
continue;
|
|
76
|
+
if (metadata.createdAt > bestCreatedAt) {
|
|
77
|
+
bestCreatedAt = metadata.createdAt;
|
|
78
|
+
bestWorkspace = metadata.workspacePath;
|
|
79
|
+
}
|
|
80
|
+
}
|
|
81
|
+
}
|
|
82
|
+
return bestWorkspace;
|
|
83
|
+
}
|
|
84
|
+
/** Single-id variant of {@link discoverWorkflowRuns}; returns `undefined` when the directory doesn't exist. */
|
|
85
|
+
export function summaryForId(baseDir, workflowId) {
|
|
86
|
+
const directoryPath = resolve(baseDir, workflowId);
|
|
87
|
+
let stats;
|
|
88
|
+
try {
|
|
89
|
+
stats = statSync(directoryPath);
|
|
90
|
+
}
|
|
91
|
+
catch (err) {
|
|
92
|
+
if (err.code === 'ENOENT')
|
|
93
|
+
return undefined;
|
|
94
|
+
throw err;
|
|
95
|
+
}
|
|
96
|
+
if (!stats.isDirectory())
|
|
97
|
+
return undefined;
|
|
98
|
+
return buildSummary(directoryPath, workflowId, stats.mtime);
|
|
99
|
+
}
|
|
100
|
+
//# sourceMappingURL=workflow-discovery.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"workflow-discovery.js","sourceRoot":"","sources":["../../src/workflow/workflow-discovery.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,122 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* WorkflowManager -- owns WorkflowOrchestrator instances for the web UI
|
|
3
|
+
* and the CLI inspect path.
|
|
4
|
+
*
|
|
5
|
+
* Analogous to SessionManager: the daemon creates one WorkflowManager
|
|
6
|
+
* at startup and passes it into the dispatch context. Lifecycle events
|
|
7
|
+
* from the orchestrator are forwarded to the supplied event bus, which
|
|
8
|
+
* the WebUiServer subscribes to.
|
|
9
|
+
*
|
|
10
|
+
* Layered under `src/workflow/` (rather than `src/web-ui/`) so that
|
|
11
|
+
* non-web consumers (CLI, signal bot daemon) can reuse it without
|
|
12
|
+
* pulling in the web UI module. The event bus parameter is typed
|
|
13
|
+
* against the generic {@link TypedEventBus} fixed to {@link WebEventMap}
|
|
14
|
+
* so existing callers can keep passing `WebEventBus` instances; the
|
|
15
|
+
* `WebEventMap` is a type-only import and adds no runtime coupling.
|
|
16
|
+
*/
|
|
17
|
+
import { type WorkflowController } from './orchestrator.js';
|
|
18
|
+
import { FileCheckpointStore } from './checkpoint.js';
|
|
19
|
+
import type { TypedEventBus } from '../event-bus/typed-event-bus.js';
|
|
20
|
+
import type { WebEventMap } from '../web-ui/web-event-bus.js';
|
|
21
|
+
import { type WorkflowId, type WorkflowCheckpoint, type WorkflowDefinition } from './types.js';
|
|
22
|
+
/**
|
|
23
|
+
* Successful past-run load: domain objects only, no DTO mapping.
|
|
24
|
+
*
|
|
25
|
+
* `checkpoint` is optional because a directory may hold a `definition.json`
|
|
26
|
+
* (and optionally a `messages.jsonl`) without a `checkpoint.json` -- this
|
|
27
|
+
* happens for runs that completed before checkpoint retention was introduced
|
|
28
|
+
* and for runs where the checkpoint is missing for any other reason. The
|
|
29
|
+
* dispatch layer synthesizes missing fields from the message log or the
|
|
30
|
+
* definition when `checkpoint` is `undefined`.
|
|
31
|
+
*
|
|
32
|
+
* `messageLogPath` is always returned (never checked for existence here);
|
|
33
|
+
* callers read it via `MessageLog.readAll()`, which returns `[]` when the
|
|
34
|
+
* file does not yet exist.
|
|
35
|
+
*/
|
|
36
|
+
export interface PastRunLoadSuccess {
|
|
37
|
+
readonly checkpoint: WorkflowCheckpoint | undefined;
|
|
38
|
+
readonly definition: WorkflowDefinition;
|
|
39
|
+
/** Absolute path to the per-run `messages.jsonl`. Not guaranteed to exist on disk. */
|
|
40
|
+
readonly messageLogPath: string;
|
|
41
|
+
/** True iff `workflowId` is present in `controller.listActive()` at call time. */
|
|
42
|
+
readonly isLive: boolean;
|
|
43
|
+
}
|
|
44
|
+
/**
|
|
45
|
+
* Failed past-run load.
|
|
46
|
+
* - `not_found`: directory doesn't exist OR has no loadable definition (so
|
|
47
|
+
* there's nothing to render).
|
|
48
|
+
* - `corrupted`: a present file (checkpoint or definition) failed to parse
|
|
49
|
+
* or validate.
|
|
50
|
+
*/
|
|
51
|
+
export interface PastRunLoadError {
|
|
52
|
+
readonly error: 'not_found' | 'corrupted';
|
|
53
|
+
readonly message?: string;
|
|
54
|
+
}
|
|
55
|
+
export type PastRunLoadResult = PastRunLoadSuccess | PastRunLoadError;
|
|
56
|
+
export interface WorkflowManagerOptions {
|
|
57
|
+
readonly eventBus: TypedEventBus<WebEventMap>;
|
|
58
|
+
/**
|
|
59
|
+
* Optional override for the base directory under which workflow runs are
|
|
60
|
+
* stored. Defaults to `{getIronCurtainHome()}/workflow-runs`. The CLI
|
|
61
|
+
* `workflow inspect` subcommand uses this to inspect arbitrary user-supplied
|
|
62
|
+
* directories without mutating `IRONCURTAIN_HOME`.
|
|
63
|
+
*/
|
|
64
|
+
readonly baseDirOverride?: string;
|
|
65
|
+
}
|
|
66
|
+
export declare class WorkflowManager {
|
|
67
|
+
private orchestrator;
|
|
68
|
+
private readonly eventBus;
|
|
69
|
+
private readonly baseDirOverride;
|
|
70
|
+
constructor(options: WorkflowManagerOptions);
|
|
71
|
+
/** Lazily creates the orchestrator on first use. */
|
|
72
|
+
getOrchestrator(): WorkflowController;
|
|
73
|
+
/** Clean shutdown of all workflows. */
|
|
74
|
+
shutdown(): Promise<void>;
|
|
75
|
+
/**
|
|
76
|
+
* Imports a checkpoint from an external directory into the daemon's own store.
|
|
77
|
+
*
|
|
78
|
+
* When `workflowId` is omitted, picks the most recent checkpoint in the external dir.
|
|
79
|
+
* Copies both the checkpoint and `definition.json` so that `resume()` can find them.
|
|
80
|
+
*
|
|
81
|
+
* @returns The workflow ID that was imported.
|
|
82
|
+
*/
|
|
83
|
+
importExternalCheckpoint(externalBaseDir: string, workflowId?: string): WorkflowId;
|
|
84
|
+
/**
|
|
85
|
+
* Loads a past workflow run from disk. Returns domain objects only.
|
|
86
|
+
*
|
|
87
|
+
* - `not_found`: directory missing OR no loadable checkpoint + no loadable definition.
|
|
88
|
+
* - `corrupted`: a present file failed to parse. Never throws.
|
|
89
|
+
* - On success, `checkpoint` may be `undefined`; `definition` and `messageLogPath` are always set.
|
|
90
|
+
*
|
|
91
|
+
* Pass `activeIds` when calling in a loop (e.g. `buildResumableList`) to skip
|
|
92
|
+
* the per-call `controller.listActive()` allocation.
|
|
93
|
+
*/
|
|
94
|
+
loadPastRun(workflowId: WorkflowId, activeIds?: ReadonlySet<WorkflowId>): PastRunLoadResult;
|
|
95
|
+
/** Returns the stable base directory for workflow data. */
|
|
96
|
+
getBaseDir(): string;
|
|
97
|
+
/** Returns the checkpoint store for the current orchestrator (creates orchestrator if needed). */
|
|
98
|
+
getCheckpointStore(): FileCheckpointStore;
|
|
99
|
+
private _checkpointStore;
|
|
100
|
+
/**
|
|
101
|
+
* Resolves and parses the WorkflowDefinition associated with a workflow run.
|
|
102
|
+
*
|
|
103
|
+
* Preference order:
|
|
104
|
+
* 1. Local JSON copy at `{baseDir}/{workflowId}/definition.json` (written
|
|
105
|
+
* at workflow-start / import). Tried regardless of whether a checkpoint
|
|
106
|
+
* is available.
|
|
107
|
+
* 2. The original `checkpoint.definitionPath`, iff `checkpoint` is defined.
|
|
108
|
+
*
|
|
109
|
+
* When `checkpoint` is `undefined` we have nothing beyond the local copy to
|
|
110
|
+
* try — a directory with no checkpoint and no `definition.json` has no
|
|
111
|
+
* content worth surfacing and is reported as `not_found` (distinct from
|
|
112
|
+
* `corrupted`, which is reserved for present-but-malformed files).
|
|
113
|
+
*
|
|
114
|
+
* Any parse or schema-validation failure of a present file is surfaced as
|
|
115
|
+
* `corrupted`.
|
|
116
|
+
*/
|
|
117
|
+
private loadDefinitionForCheckpoint;
|
|
118
|
+
private createOrchestrator;
|
|
119
|
+
private createNoOpTab;
|
|
120
|
+
/** Maps WorkflowLifecycleEvent to web event bus events. */
|
|
121
|
+
private forwardLifecycleEvent;
|
|
122
|
+
}
|
|
@@ -0,0 +1,308 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* WorkflowManager -- owns WorkflowOrchestrator instances for the web UI
|
|
3
|
+
* and the CLI inspect path.
|
|
4
|
+
*
|
|
5
|
+
* Analogous to SessionManager: the daemon creates one WorkflowManager
|
|
6
|
+
* at startup and passes it into the dispatch context. Lifecycle events
|
|
7
|
+
* from the orchestrator are forwarded to the supplied event bus, which
|
|
8
|
+
* the WebUiServer subscribes to.
|
|
9
|
+
*
|
|
10
|
+
* Layered under `src/workflow/` (rather than `src/web-ui/`) so that
|
|
11
|
+
* non-web consumers (CLI, signal bot daemon) can reuse it without
|
|
12
|
+
* pulling in the web UI module. The event bus parameter is typed
|
|
13
|
+
* against the generic {@link TypedEventBus} fixed to {@link WebEventMap}
|
|
14
|
+
* so existing callers can keep passing `WebEventBus` instances; the
|
|
15
|
+
* `WebEventMap` is a type-only import and adds no runtime coupling.
|
|
16
|
+
*/
|
|
17
|
+
import { mkdirSync, copyFileSync, existsSync } from 'node:fs';
|
|
18
|
+
import { resolve } from 'node:path';
|
|
19
|
+
import { WorkflowOrchestrator, } from './orchestrator.js';
|
|
20
|
+
import { FileCheckpointStore } from './checkpoint.js';
|
|
21
|
+
import { createWorkflowSessionFactory } from './cli-support.js';
|
|
22
|
+
import { findLatestResumableCheckpoint } from './checkpoint-selection.js';
|
|
23
|
+
import { loadDefinition } from './definition-loader.js';
|
|
24
|
+
import { getIronCurtainHome } from '../config/paths.js';
|
|
25
|
+
import { loadConfig } from '../config/index.js';
|
|
26
|
+
import { toHumanGateRequestDto, } from './types.js';
|
|
27
|
+
/** Renders an unknown thrown value as a short human-readable string. */
|
|
28
|
+
function describeError(err) {
|
|
29
|
+
if (err instanceof Error)
|
|
30
|
+
return err.message;
|
|
31
|
+
if (typeof err === 'string')
|
|
32
|
+
return err;
|
|
33
|
+
return String(err);
|
|
34
|
+
}
|
|
35
|
+
// ---------------------------------------------------------------------------
|
|
36
|
+
// WorkflowManager
|
|
37
|
+
// ---------------------------------------------------------------------------
|
|
38
|
+
export class WorkflowManager {
|
|
39
|
+
orchestrator = null;
|
|
40
|
+
eventBus;
|
|
41
|
+
baseDirOverride;
|
|
42
|
+
constructor(options) {
|
|
43
|
+
this.eventBus = options.eventBus;
|
|
44
|
+
this.baseDirOverride = options.baseDirOverride;
|
|
45
|
+
}
|
|
46
|
+
/** Lazily creates the orchestrator on first use. */
|
|
47
|
+
getOrchestrator() {
|
|
48
|
+
if (!this.orchestrator) {
|
|
49
|
+
this.orchestrator = this.createOrchestrator();
|
|
50
|
+
}
|
|
51
|
+
return this.orchestrator;
|
|
52
|
+
}
|
|
53
|
+
/** Clean shutdown of all workflows. */
|
|
54
|
+
async shutdown() {
|
|
55
|
+
if (this.orchestrator) {
|
|
56
|
+
await this.orchestrator.shutdownAll();
|
|
57
|
+
this.orchestrator = null;
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
/**
|
|
61
|
+
* Imports a checkpoint from an external directory into the daemon's own store.
|
|
62
|
+
*
|
|
63
|
+
* When `workflowId` is omitted, picks the most recent checkpoint in the external dir.
|
|
64
|
+
* Copies both the checkpoint and `definition.json` so that `resume()` can find them.
|
|
65
|
+
*
|
|
66
|
+
* @returns The workflow ID that was imported.
|
|
67
|
+
*/
|
|
68
|
+
importExternalCheckpoint(externalBaseDir, workflowId) {
|
|
69
|
+
const externalStore = new FileCheckpointStore(externalBaseDir);
|
|
70
|
+
let targetId;
|
|
71
|
+
if (workflowId) {
|
|
72
|
+
targetId = workflowId;
|
|
73
|
+
}
|
|
74
|
+
else {
|
|
75
|
+
// `findLatestResumableCheckpoint` returns the most recent resumable
|
|
76
|
+
// run by `checkpoint.timestamp`. The two error paths preserve the
|
|
77
|
+
// pre-refactor wording so external callers (web UI, scripts) keep
|
|
78
|
+
// their existing diagnostics.
|
|
79
|
+
const latest = findLatestResumableCheckpoint(externalBaseDir, externalStore);
|
|
80
|
+
if (!latest) {
|
|
81
|
+
// Distinguish "no checkpoint files at all" from "checkpoints exist
|
|
82
|
+
// but none are resumable" using a single fast probe — the helper
|
|
83
|
+
// already enumerated and filtered, so we re-derive the discriminator
|
|
84
|
+
// by checking the store directly.
|
|
85
|
+
if (externalStore.listAll().length === 0) {
|
|
86
|
+
throw new Error(`No checkpoints found in ${externalBaseDir}`);
|
|
87
|
+
}
|
|
88
|
+
throw new Error(`No valid checkpoints found in ${externalBaseDir}`);
|
|
89
|
+
}
|
|
90
|
+
targetId = latest.workflowId;
|
|
91
|
+
}
|
|
92
|
+
const checkpoint = externalStore.load(targetId);
|
|
93
|
+
if (!checkpoint) {
|
|
94
|
+
throw new Error(`No checkpoint found for workflow ${targetId} in ${externalBaseDir}`);
|
|
95
|
+
}
|
|
96
|
+
// Save into daemon's own store
|
|
97
|
+
const localStore = this.getCheckpointStore();
|
|
98
|
+
localStore.save(targetId, checkpoint);
|
|
99
|
+
// Copy definition.json if it exists in the external dir
|
|
100
|
+
const externalDefPath = resolve(externalBaseDir, targetId, 'definition.json');
|
|
101
|
+
const localMetaDir = resolve(this.getBaseDir(), targetId);
|
|
102
|
+
mkdirSync(localMetaDir, { recursive: true });
|
|
103
|
+
if (existsSync(externalDefPath)) {
|
|
104
|
+
copyFileSync(externalDefPath, resolve(localMetaDir, 'definition.json'));
|
|
105
|
+
}
|
|
106
|
+
return targetId;
|
|
107
|
+
}
|
|
108
|
+
/**
|
|
109
|
+
* Loads a past workflow run from disk. Returns domain objects only.
|
|
110
|
+
*
|
|
111
|
+
* - `not_found`: directory missing OR no loadable checkpoint + no loadable definition.
|
|
112
|
+
* - `corrupted`: a present file failed to parse. Never throws.
|
|
113
|
+
* - On success, `checkpoint` may be `undefined`; `definition` and `messageLogPath` are always set.
|
|
114
|
+
*
|
|
115
|
+
* Pass `activeIds` when calling in a loop (e.g. `buildResumableList`) to skip
|
|
116
|
+
* the per-call `controller.listActive()` allocation.
|
|
117
|
+
*/
|
|
118
|
+
loadPastRun(workflowId, activeIds) {
|
|
119
|
+
const store = this.getCheckpointStore();
|
|
120
|
+
const messageLogPath = resolve(this.getBaseDir(), workflowId, 'messages.jsonl');
|
|
121
|
+
let checkpoint;
|
|
122
|
+
try {
|
|
123
|
+
checkpoint = store.load(workflowId);
|
|
124
|
+
}
|
|
125
|
+
catch (err) {
|
|
126
|
+
return {
|
|
127
|
+
error: 'corrupted',
|
|
128
|
+
message: `Failed to parse checkpoint for ${workflowId}: ${describeError(err)}`,
|
|
129
|
+
};
|
|
130
|
+
}
|
|
131
|
+
const definitionResult = this.loadDefinitionForCheckpoint(workflowId, checkpoint);
|
|
132
|
+
if ('error' in definitionResult) {
|
|
133
|
+
return definitionResult;
|
|
134
|
+
}
|
|
135
|
+
const isLive = activeIds ? activeIds.has(workflowId) : this.getOrchestrator().listActive().includes(workflowId);
|
|
136
|
+
return { checkpoint, definition: definitionResult.definition, messageLogPath, isLive };
|
|
137
|
+
}
|
|
138
|
+
/** Returns the stable base directory for workflow data. */
|
|
139
|
+
getBaseDir() {
|
|
140
|
+
const baseDir = this.baseDirOverride ?? resolve(getIronCurtainHome(), 'workflow-runs');
|
|
141
|
+
mkdirSync(baseDir, { recursive: true });
|
|
142
|
+
return baseDir;
|
|
143
|
+
}
|
|
144
|
+
/** Returns the checkpoint store for the current orchestrator (creates orchestrator if needed). */
|
|
145
|
+
getCheckpointStore() {
|
|
146
|
+
// Ensure orchestrator is created so checkpoint store exists
|
|
147
|
+
this.getOrchestrator();
|
|
148
|
+
if (!this._checkpointStore) {
|
|
149
|
+
throw new Error('Checkpoint store not initialized -- orchestrator creation failed');
|
|
150
|
+
}
|
|
151
|
+
return this._checkpointStore;
|
|
152
|
+
}
|
|
153
|
+
// -----------------------------------------------------------------------
|
|
154
|
+
// Private
|
|
155
|
+
// -----------------------------------------------------------------------
|
|
156
|
+
_checkpointStore = null;
|
|
157
|
+
/**
|
|
158
|
+
* Resolves and parses the WorkflowDefinition associated with a workflow run.
|
|
159
|
+
*
|
|
160
|
+
* Preference order:
|
|
161
|
+
* 1. Local JSON copy at `{baseDir}/{workflowId}/definition.json` (written
|
|
162
|
+
* at workflow-start / import). Tried regardless of whether a checkpoint
|
|
163
|
+
* is available.
|
|
164
|
+
* 2. The original `checkpoint.definitionPath`, iff `checkpoint` is defined.
|
|
165
|
+
*
|
|
166
|
+
* When `checkpoint` is `undefined` we have nothing beyond the local copy to
|
|
167
|
+
* try — a directory with no checkpoint and no `definition.json` has no
|
|
168
|
+
* content worth surfacing and is reported as `not_found` (distinct from
|
|
169
|
+
* `corrupted`, which is reserved for present-but-malformed files).
|
|
170
|
+
*
|
|
171
|
+
* Any parse or schema-validation failure of a present file is surfaced as
|
|
172
|
+
* `corrupted`.
|
|
173
|
+
*/
|
|
174
|
+
loadDefinitionForCheckpoint(workflowId, checkpoint) {
|
|
175
|
+
const definitionCopyPath = resolve(this.getBaseDir(), workflowId, 'definition.json');
|
|
176
|
+
const hasCopy = existsSync(definitionCopyPath);
|
|
177
|
+
let definitionPath;
|
|
178
|
+
if (hasCopy) {
|
|
179
|
+
definitionPath = definitionCopyPath;
|
|
180
|
+
}
|
|
181
|
+
else if (checkpoint && existsSync(checkpoint.definitionPath)) {
|
|
182
|
+
definitionPath = checkpoint.definitionPath;
|
|
183
|
+
}
|
|
184
|
+
if (!definitionPath) {
|
|
185
|
+
// Nothing to load: no local copy, and either no checkpoint at all or
|
|
186
|
+
// the checkpoint's original `definitionPath` is gone. The directory
|
|
187
|
+
// has no renderable content — report `not_found` rather than
|
|
188
|
+
// `corrupted` (corrupted is reserved for present-but-malformed files).
|
|
189
|
+
const fallbackDetail = checkpoint ? ` and ${checkpoint.definitionPath}` : '';
|
|
190
|
+
return {
|
|
191
|
+
error: 'not_found',
|
|
192
|
+
message: `Definition file missing for ${workflowId} (looked in ${definitionCopyPath}${fallbackDetail})`,
|
|
193
|
+
};
|
|
194
|
+
}
|
|
195
|
+
// Both `parse` and `validate` failures map to `corrupted`: the file is
|
|
196
|
+
// present on disk but unusable. Preserve the pre-refactor message
|
|
197
|
+
// wording so existing UI consumers keep their diagnostic strings.
|
|
198
|
+
const result = loadDefinition(definitionPath);
|
|
199
|
+
if (result.ok)
|
|
200
|
+
return { definition: result.definition };
|
|
201
|
+
if (result.kind === 'parse') {
|
|
202
|
+
return {
|
|
203
|
+
error: 'corrupted',
|
|
204
|
+
message: `Failed to parse definition at ${definitionPath}: ${result.message}`,
|
|
205
|
+
};
|
|
206
|
+
}
|
|
207
|
+
// `validate`: prefer the structured issues list when present (parity
|
|
208
|
+
// with the old `WorkflowValidationError.issues.join('; ')` path); fall
|
|
209
|
+
// back to the loader's default message otherwise.
|
|
210
|
+
const detail = result.issues ? result.issues.join('; ') : result.message;
|
|
211
|
+
return {
|
|
212
|
+
error: 'corrupted',
|
|
213
|
+
message: `Invalid workflow definition at ${definitionPath}: ${detail}`,
|
|
214
|
+
};
|
|
215
|
+
}
|
|
216
|
+
createOrchestrator() {
|
|
217
|
+
const baseDir = this.getBaseDir();
|
|
218
|
+
const checkpointStore = new FileCheckpointStore(baseDir);
|
|
219
|
+
this._checkpointStore = checkpointStore;
|
|
220
|
+
const sessionFactory = createWorkflowSessionFactory();
|
|
221
|
+
const config = loadConfig();
|
|
222
|
+
const deps = {
|
|
223
|
+
createSession: sessionFactory,
|
|
224
|
+
createWorkflowTab: () => this.createNoOpTab(),
|
|
225
|
+
raiseGate: (gate) => {
|
|
226
|
+
const dto = toHumanGateRequestDto(gate);
|
|
227
|
+
this.eventBus.emit('workflow.gate_raised', {
|
|
228
|
+
workflowId: gate.workflowId,
|
|
229
|
+
gate: dto,
|
|
230
|
+
});
|
|
231
|
+
},
|
|
232
|
+
dismissGate: (workflowId, gateId) => {
|
|
233
|
+
this.eventBus.emit('workflow.gate_dismissed', { workflowId, gateId });
|
|
234
|
+
},
|
|
235
|
+
baseDir,
|
|
236
|
+
checkpointStore,
|
|
237
|
+
userConfig: config.userConfig,
|
|
238
|
+
};
|
|
239
|
+
const orchestrator = new WorkflowOrchestrator(deps);
|
|
240
|
+
orchestrator.onEvent((event) => this.forwardLifecycleEvent(event));
|
|
241
|
+
return orchestrator;
|
|
242
|
+
}
|
|
243
|
+
createNoOpTab() {
|
|
244
|
+
return {
|
|
245
|
+
write() { },
|
|
246
|
+
setLabel() { },
|
|
247
|
+
close() { },
|
|
248
|
+
};
|
|
249
|
+
}
|
|
250
|
+
/** Maps WorkflowLifecycleEvent to web event bus events. */
|
|
251
|
+
forwardLifecycleEvent(event) {
|
|
252
|
+
switch (event.kind) {
|
|
253
|
+
case 'started':
|
|
254
|
+
this.eventBus.emit('workflow.started', {
|
|
255
|
+
workflowId: event.workflowId,
|
|
256
|
+
name: event.name,
|
|
257
|
+
taskDescription: event.taskDescription,
|
|
258
|
+
});
|
|
259
|
+
break;
|
|
260
|
+
case 'state_entered':
|
|
261
|
+
this.eventBus.emit('workflow.state_entered', {
|
|
262
|
+
workflowId: event.workflowId,
|
|
263
|
+
state: event.state,
|
|
264
|
+
});
|
|
265
|
+
break;
|
|
266
|
+
case 'completed':
|
|
267
|
+
this.eventBus.emit('workflow.completed', {
|
|
268
|
+
workflowId: event.workflowId,
|
|
269
|
+
});
|
|
270
|
+
break;
|
|
271
|
+
case 'failed':
|
|
272
|
+
this.eventBus.emit('workflow.failed', {
|
|
273
|
+
workflowId: event.workflowId,
|
|
274
|
+
error: event.error,
|
|
275
|
+
});
|
|
276
|
+
break;
|
|
277
|
+
case 'gate_raised':
|
|
278
|
+
// Already emitted via raiseGate callback
|
|
279
|
+
break;
|
|
280
|
+
case 'gate_dismissed':
|
|
281
|
+
// Already emitted via dismissGate callback
|
|
282
|
+
break;
|
|
283
|
+
case 'agent_started':
|
|
284
|
+
this.eventBus.emit('workflow.agent_started', {
|
|
285
|
+
workflowId: event.workflowId,
|
|
286
|
+
stateId: event.state,
|
|
287
|
+
persona: event.persona,
|
|
288
|
+
sessionId: event.sessionId,
|
|
289
|
+
});
|
|
290
|
+
break;
|
|
291
|
+
case 'agent_completed':
|
|
292
|
+
this.eventBus.emit('workflow.agent_completed', {
|
|
293
|
+
workflowId: event.workflowId,
|
|
294
|
+
stateId: event.state,
|
|
295
|
+
verdict: event.verdict,
|
|
296
|
+
});
|
|
297
|
+
break;
|
|
298
|
+
case 'agent_session_ended':
|
|
299
|
+
this.eventBus.emit('workflow.agent_session_ended', {
|
|
300
|
+
workflowId: event.workflowId,
|
|
301
|
+
stateId: event.state,
|
|
302
|
+
sessionId: event.sessionId,
|
|
303
|
+
});
|
|
304
|
+
break;
|
|
305
|
+
}
|
|
306
|
+
}
|
|
307
|
+
}
|
|
308
|
+
//# sourceMappingURL=workflow-manager.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"workflow-manager.js","sourceRoot":"","sources":["../../src/workflow/workflow-manager.ts"],"names":[],"mappings":"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"}
|