@provos/ironcurtain 0.9.1 → 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 +69 -10
- package/dist/auth/oauth-provider.js +1 -4
- package/dist/auth/oauth-provider.js.map +1 -1
- package/dist/cli.js +40 -2
- package/dist/cli.js.map +1 -1
- package/dist/config/config-command.js +174 -10
- 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/model-provider.d.ts +8 -2
- package/dist/config/model-provider.js +52 -9
- package/dist/config/model-provider.js.map +1 -1
- package/dist/config/paths.d.ts +181 -0
- package/dist/config/paths.js +326 -23
- package/dist/config/paths.js.map +1 -1
- package/dist/config/types.d.ts +7 -1
- package/dist/config/user-config.d.ts +61 -4
- package/dist/config/user-config.js +108 -21
- 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/compile-task-policy.js +1 -0
- package/dist/cron/compile-task-policy.js.map +1 -1
- 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.d.ts +2 -1
- package/dist/docker/adapters/claude-code.js +320 -131
- 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/agent-registry.js +3 -2
- package/dist/docker/agent-registry.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/container-lifecycle.d.ts +15 -0
- package/dist/docker/container-lifecycle.js +32 -0
- package/dist/docker/container-lifecycle.js.map +1 -0
- package/dist/docker/docker-agent-session.d.ts +113 -62
- package/dist/docker/docker-agent-session.js +241 -300
- package/dist/docker/docker-agent-session.js.map +1 -1
- package/dist/docker/docker-infrastructure.d.ts +256 -21
- package/dist/docker/docker-infrastructure.js +585 -30
- package/dist/docker/docker-infrastructure.js.map +1 -1
- package/dist/docker/docker-manager.d.ts +36 -1
- package/dist/docker/docker-manager.js +168 -26
- 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 +90 -1
- package/dist/docker/mitm-proxy.js +720 -40
- 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 +81 -2
- package/dist/docker/provider-config.js +222 -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 +212 -90
- 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 +61 -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 +32 -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-app.d.ts +2 -0
- package/dist/mux/mux-app.js +30 -34
- package/dist/mux/mux-app.js.map +1 -1
- package/dist/mux/mux-command.d.ts +10 -1
- package/dist/mux/mux-command.js +62 -35
- package/dist/mux/mux-command.js.map +1 -1
- package/dist/mux/mux-renderer.js +22 -17
- package/dist/mux/mux-renderer.js.map +1 -1
- package/dist/mux/pty-bridge.d.ts +2 -0
- package/dist/mux/pty-bridge.js +3 -0
- package/dist/mux/pty-bridge.js.map +1 -1
- package/dist/mux/session-scanner.d.ts +7 -0
- package/dist/mux/session-scanner.js +21 -2
- package/dist/mux/session-scanner.js.map +1 -1
- package/dist/mux/types.d.ts +0 -4
- package/dist/mux/types.js.map +1 -1
- package/dist/{pipeline → observability}/llm-logger.d.ts +9 -3
- package/dist/{pipeline → observability}/llm-logger.js +16 -4
- 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/compile-persona-policy.js +1 -0
- package/dist/persona/compile-persona-policy.js.map +1 -1
- 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/annotate.d.ts +7 -1
- package/dist/pipeline/annotate.js +92 -2
- package/dist/pipeline/annotate.js.map +1 -1
- package/dist/pipeline/compile.js +2 -0
- package/dist/pipeline/compile.js.map +1 -1
- 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/parallel-progress.d.ts +59 -0
- package/dist/pipeline/parallel-progress.js +263 -0
- package/dist/pipeline/parallel-progress.js.map +1 -0
- package/dist/pipeline/pipeline-runner.d.ts +49 -8
- package/dist/pipeline/pipeline-runner.js +419 -231
- package/dist/pipeline/pipeline-runner.js.map +1 -1
- package/dist/pipeline/pipeline-shared.d.ts +59 -1
- package/dist/pipeline/pipeline-shared.js +127 -12
- 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/pipeline/server-prefilter.d.ts +31 -0
- package/dist/pipeline/server-prefilter.js +115 -0
- package/dist/pipeline/server-prefilter.js.map +1 -0
- package/dist/pipeline/types.d.ts +5 -0
- 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 +26 -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 +12 -1
- package/docker/Dockerfile.base.arm64 +17 -1
- package/docker/entrypoint-claude-code.sh +46 -0
- package/docker/entrypoint-goose.sh +25 -0
- package/package.json +22 -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
package/dist/mux/mux-app.js
CHANGED
|
@@ -28,9 +28,6 @@ export function createMuxApp(options) {
|
|
|
28
28
|
let activeTabIndex = 0;
|
|
29
29
|
let nextTabNumber = 1;
|
|
30
30
|
let running = false;
|
|
31
|
-
// Mouse event constants
|
|
32
|
-
const MOUSE_WHEEL_UP = 'MOUSE_WHEEL_UP';
|
|
33
|
-
const MOUSE_WHEEL_DOWN = 'MOUSE_WHEEL_DOWN';
|
|
34
31
|
// Components (initialized in start())
|
|
35
32
|
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
36
33
|
let term;
|
|
@@ -41,6 +38,21 @@ export function createMuxApp(options) {
|
|
|
41
38
|
function getActiveTab() {
|
|
42
39
|
return tabs[activeTabIndex];
|
|
43
40
|
}
|
|
41
|
+
function removeTab(tab) {
|
|
42
|
+
if (tab.bridge.sessionId) {
|
|
43
|
+
escalationManager.removeSession(tab.bridge.sessionId);
|
|
44
|
+
}
|
|
45
|
+
const index = tabs.indexOf(tab);
|
|
46
|
+
if (index === -1)
|
|
47
|
+
return;
|
|
48
|
+
tabs.splice(index, 1);
|
|
49
|
+
if (tabs.length === 0) {
|
|
50
|
+
activeTabIndex = 0;
|
|
51
|
+
}
|
|
52
|
+
else if (activeTabIndex >= tabs.length) {
|
|
53
|
+
activeTabIndex = tabs.length - 1;
|
|
54
|
+
}
|
|
55
|
+
}
|
|
44
56
|
function resolveIroncurtainBin() {
|
|
45
57
|
const script = process.argv[1];
|
|
46
58
|
// If the entry point is a .ts file, we're running via tsx/ts-node --
|
|
@@ -67,6 +79,7 @@ export function createMuxApp(options) {
|
|
|
67
79
|
workspacePath: opts?.workspacePath,
|
|
68
80
|
resumeSessionId: opts?.resumeSessionId,
|
|
69
81
|
persona: opts?.persona,
|
|
82
|
+
model: options.model,
|
|
70
83
|
muxId: options.muxId,
|
|
71
84
|
muxPid: options.muxPid,
|
|
72
85
|
});
|
|
@@ -75,7 +88,6 @@ export function createMuxApp(options) {
|
|
|
75
88
|
bridge,
|
|
76
89
|
label: opts?.persona ? `${sessionAgent} (${opts.persona})` : sessionAgent,
|
|
77
90
|
persona: opts?.persona,
|
|
78
|
-
status: 'running',
|
|
79
91
|
escalationAvailable: false,
|
|
80
92
|
scrollOffset: null,
|
|
81
93
|
};
|
|
@@ -87,22 +99,16 @@ export function createMuxApp(options) {
|
|
|
87
99
|
}
|
|
88
100
|
});
|
|
89
101
|
bridge.onExit((exitCode) => {
|
|
90
|
-
tab.status = 'exited';
|
|
91
|
-
tab.exitCode = exitCode;
|
|
92
102
|
// Skip UI effects if the mux is shutting down or the tab was already removed
|
|
93
103
|
if (!running || !tabs.includes(tab))
|
|
94
104
|
return;
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
}
|
|
98
|
-
renderer.redrawTabBar();
|
|
99
|
-
if (getActiveTab() === tab) {
|
|
100
|
-
showMessage(`Session #${tab.number} exited with code ${exitCode}`);
|
|
101
|
-
}
|
|
105
|
+
removeTab(tab);
|
|
106
|
+
renderer.fullRedraw();
|
|
107
|
+
showMessage(`Session #${tab.number} exited with code ${exitCode}`);
|
|
102
108
|
process.stderr.write('\x07');
|
|
103
109
|
});
|
|
104
110
|
bridge.onSessionDiscovered((registration) => {
|
|
105
|
-
if (registration && tab
|
|
111
|
+
if (registration && tabs.includes(tab)) {
|
|
106
112
|
tab.escalationAvailable = true;
|
|
107
113
|
escalationManager.addSession(registration);
|
|
108
114
|
tab.label = tab.persona ? `${registration.label} [${tab.persona}]` : registration.label;
|
|
@@ -122,25 +128,13 @@ export function createMuxApp(options) {
|
|
|
122
128
|
renderer.fullRedraw();
|
|
123
129
|
}
|
|
124
130
|
function closeTab(tabNumber) {
|
|
125
|
-
const
|
|
126
|
-
if (
|
|
131
|
+
const tab = tabs.find((t) => t.number === tabNumber);
|
|
132
|
+
if (!tab) {
|
|
127
133
|
showMessage(`No tab #${tabNumber}`);
|
|
128
134
|
return;
|
|
129
135
|
}
|
|
130
|
-
const tab = tabs[index];
|
|
131
136
|
tab.bridge.kill();
|
|
132
|
-
|
|
133
|
-
escalationManager.removeSession(tab.bridge.sessionId);
|
|
134
|
-
}
|
|
135
|
-
tabs.splice(index, 1);
|
|
136
|
-
if (tabs.length === 0) {
|
|
137
|
-
activeTabIndex = 0;
|
|
138
|
-
renderer.fullRedraw();
|
|
139
|
-
return;
|
|
140
|
-
}
|
|
141
|
-
if (activeTabIndex >= tabs.length) {
|
|
142
|
-
activeTabIndex = tabs.length - 1;
|
|
143
|
-
}
|
|
137
|
+
removeTab(tab);
|
|
144
138
|
renderer.fullRedraw();
|
|
145
139
|
}
|
|
146
140
|
/** Adjusts scroll offset by delta lines (negative = up, positive = down). */
|
|
@@ -161,6 +155,9 @@ export function createMuxApp(options) {
|
|
|
161
155
|
logger.info(message);
|
|
162
156
|
renderer.showMessage(message);
|
|
163
157
|
}
|
|
158
|
+
function baseMode() {
|
|
159
|
+
return inputHandler.mode === 'command' ? 'command' : 'pty';
|
|
160
|
+
}
|
|
164
161
|
function navigateEscalationTab(direction) {
|
|
165
162
|
const eps = inputHandler.escalationPickerState;
|
|
166
163
|
if (!eps)
|
|
@@ -280,8 +277,7 @@ export function createMuxApp(options) {
|
|
|
280
277
|
break;
|
|
281
278
|
}
|
|
282
279
|
const sortedNums = escalationManager.sortedDisplayNumbers();
|
|
283
|
-
|
|
284
|
-
inputHandler.enterEscalationPickerMode(sortedNums[0], previousMode);
|
|
280
|
+
inputHandler.enterEscalationPickerMode(sortedNums[0], baseMode());
|
|
285
281
|
renderer.fullRedraw();
|
|
286
282
|
break;
|
|
287
283
|
}
|
|
@@ -562,10 +558,10 @@ export function createMuxApp(options) {
|
|
|
562
558
|
term.on('mouse', (name) => {
|
|
563
559
|
if (!running)
|
|
564
560
|
return;
|
|
565
|
-
if (name === MOUSE_WHEEL_UP) {
|
|
561
|
+
if (name === 'MOUSE_WHEEL_UP') {
|
|
566
562
|
void handleAction({ kind: 'scroll-up', amount: SCROLL_LINES });
|
|
567
563
|
}
|
|
568
|
-
else if (name === MOUSE_WHEEL_DOWN) {
|
|
564
|
+
else if (name === 'MOUSE_WHEEL_DOWN') {
|
|
569
565
|
void handleAction({ kind: 'scroll-down', amount: SCROLL_LINES });
|
|
570
566
|
}
|
|
571
567
|
});
|
|
@@ -599,7 +595,7 @@ export function createMuxApp(options) {
|
|
|
599
595
|
// escalation arrived (higher display number than when they dismissed).
|
|
600
596
|
const shouldAutoOpen = !inputHandler.escalationDismissed || highestPending > inputHandler.escalationDismissedAtNumber;
|
|
601
597
|
if (shouldAutoOpen) {
|
|
602
|
-
const previousMode =
|
|
598
|
+
const previousMode = baseMode();
|
|
603
599
|
// If user is in another picker, cancel it first
|
|
604
600
|
if (mode === 'picker') {
|
|
605
601
|
inputHandler.exitPickerMode();
|
package/dist/mux/mux-app.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mux-app.js","sourceRoot":"","sources":["../../src/mux/mux-app.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"mux-app.js","sourceRoot":"","sources":["../../src/mux/mux-app.ts"],"names":[],"mappings":"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"}
|
|
@@ -4,4 +4,13 @@
|
|
|
4
4
|
* Parses command-line options, loads config, generates a unique muxId
|
|
5
5
|
* for session ownership, creates the MuxApp, and runs until quit.
|
|
6
6
|
*/
|
|
7
|
-
|
|
7
|
+
import type { PreflightOptions, PreflightResult } from '../session/preflight.js';
|
|
8
|
+
import { type MuxApp, type MuxAppOptions } from './mux-app.js';
|
|
9
|
+
/** Test injection points; production callers pass nothing. */
|
|
10
|
+
export interface MuxMainDeps {
|
|
11
|
+
readonly resolveSessionMode?: (options: PreflightOptions) => Promise<PreflightResult>;
|
|
12
|
+
readonly createMuxApp?: (options: MuxAppOptions) => MuxApp;
|
|
13
|
+
readonly skipNativeProbes?: boolean;
|
|
14
|
+
readonly sleep?: (ms: number) => Promise<void>;
|
|
15
|
+
}
|
|
16
|
+
export declare function main(args?: string[], deps?: MuxMainDeps): Promise<void>;
|
package/dist/mux/mux-command.js
CHANGED
|
@@ -11,19 +11,21 @@ import { dirname, join } from 'node:path';
|
|
|
11
11
|
import { fileURLToPath } from 'node:url';
|
|
12
12
|
import { parseArgs } from 'node:util';
|
|
13
13
|
import { getPtyRegistryDir } from '../config/paths.js';
|
|
14
|
-
import { loadUserConfig } from '../config/user-config.js';
|
|
15
14
|
import { parseModelId, resolveApiKeyForProvider } from '../config/model-provider.js';
|
|
16
15
|
import { loadConfig } from '../config/index.js';
|
|
17
16
|
import { checkHelp } from '../cli-help.js';
|
|
17
|
+
import { resolveSessionMode as defaultResolveSessionMode, formatModeLine, PreflightError, } from '../session/preflight.js';
|
|
18
18
|
import { createMuxApp } from './mux-app.js';
|
|
19
19
|
const muxSpec = {
|
|
20
20
|
name: 'ironcurtain mux',
|
|
21
21
|
description: 'Terminal multiplexer for PTY sessions (requires node-pty)',
|
|
22
22
|
usage: ['ironcurtain mux [options]'],
|
|
23
|
-
options: [
|
|
23
|
+
options: [
|
|
24
|
+
{ flag: 'agent', short: 'a', description: 'Agent mode (default: from config)', placeholder: '<name>' },
|
|
25
|
+
{ flag: 'model', short: 'm', description: 'Override the agent model ID', placeholder: '<model>' },
|
|
26
|
+
],
|
|
24
27
|
};
|
|
25
|
-
|
|
26
|
-
// Check for optional mux dependencies
|
|
28
|
+
async function probeNativeDependencies() {
|
|
27
29
|
try {
|
|
28
30
|
await import('node-pty');
|
|
29
31
|
}
|
|
@@ -65,57 +67,82 @@ export async function main(args) {
|
|
|
65
67
|
'Install it with: npm install terminal-kit\n');
|
|
66
68
|
process.exit(1);
|
|
67
69
|
}
|
|
70
|
+
}
|
|
71
|
+
/** Returns true if a warning was emitted (caller should pause before fullscreen). */
|
|
72
|
+
function emitAutoApproveWarning(userConfig) {
|
|
73
|
+
if (!userConfig.autoApprove.enabled)
|
|
74
|
+
return false;
|
|
75
|
+
const { provider } = parseModelId(userConfig.autoApprove.modelId);
|
|
76
|
+
const apiKey = resolveApiKeyForProvider(provider, userConfig);
|
|
77
|
+
if (apiKey)
|
|
78
|
+
return false;
|
|
79
|
+
process.stderr.write(chalk.yellow(`Warning: auto-approve is enabled but no API key found for provider "${provider}".\n` +
|
|
80
|
+
'Auto-approve will be silently disabled. Set the API key in your environment or config.\n'));
|
|
81
|
+
return true;
|
|
82
|
+
}
|
|
83
|
+
export async function main(args, deps = {}) {
|
|
84
|
+
const resolveSessionMode = deps.resolveSessionMode ?? defaultResolveSessionMode;
|
|
85
|
+
const createApp = deps.createMuxApp ?? createMuxApp;
|
|
86
|
+
const sleep = deps.sleep ?? ((ms) => new Promise((r) => setTimeout(r, ms)));
|
|
87
|
+
if (!deps.skipNativeProbes) {
|
|
88
|
+
await probeNativeDependencies();
|
|
89
|
+
}
|
|
68
90
|
// Parse args
|
|
69
91
|
const { values } = parseArgs({
|
|
70
92
|
args: args ?? [],
|
|
71
93
|
options: {
|
|
72
94
|
help: { type: 'boolean', short: 'h' },
|
|
73
95
|
agent: { type: 'string', short: 'a' },
|
|
96
|
+
model: { type: 'string', short: 'm' },
|
|
74
97
|
},
|
|
75
98
|
allowPositionals: true,
|
|
76
99
|
strict: false,
|
|
77
100
|
});
|
|
78
101
|
if (checkHelp(values, muxSpec))
|
|
79
102
|
return;
|
|
80
|
-
const
|
|
81
|
-
|
|
82
|
-
const
|
|
83
|
-
//
|
|
84
|
-
|
|
85
|
-
mkdirSync(registryDir, { recursive: true, mode: 0o700 });
|
|
86
|
-
// Pre-flight warnings (shown before fullscreen takes over)
|
|
87
|
-
let hasWarnings = false;
|
|
103
|
+
const requestedAgentRaw = values.agent;
|
|
104
|
+
const model = values.model;
|
|
105
|
+
const config = loadConfig();
|
|
106
|
+
// Preflight runs before the autoApprove sleep so a fatal preflight does not wait 3 seconds.
|
|
107
|
+
let preflight;
|
|
88
108
|
try {
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
109
|
+
preflight = await resolveSessionMode({
|
|
110
|
+
config,
|
|
111
|
+
requestedAgent: requestedAgentRaw ? requestedAgentRaw : undefined,
|
|
112
|
+
});
|
|
113
|
+
}
|
|
114
|
+
catch (err) {
|
|
115
|
+
if (err instanceof PreflightError) {
|
|
116
|
+
process.stderr.write(chalk.red(err.message) + '\n');
|
|
117
|
+
process.exit(1);
|
|
98
118
|
}
|
|
119
|
+
throw err;
|
|
99
120
|
}
|
|
100
|
-
|
|
101
|
-
|
|
121
|
+
process.stderr.write(chalk.dim(formatModeLine(preflight)) + '\n');
|
|
122
|
+
// Builtin mode does not have a `--agent` flag to pass to the child PTY,
|
|
123
|
+
// and the PTY child requires Docker mode anyway. Refuse cleanly here so
|
|
124
|
+
// the user gets a single coherent message rather than per-tab failures.
|
|
125
|
+
if (preflight.mode.kind !== 'docker') {
|
|
126
|
+
process.stderr.write(chalk.red('ironcurtain mux requires Docker agent mode.\n' +
|
|
127
|
+
'Pass --agent claude-code, or set Session Mode > Preferred mode to "docker" in `ironcurtain config`.\n'));
|
|
128
|
+
process.exit(1);
|
|
102
129
|
}
|
|
130
|
+
const resolvedAgent = preflight.mode.agent;
|
|
131
|
+
const hasWarnings = emitAutoApproveWarning(config.userConfig);
|
|
103
132
|
if (hasWarnings) {
|
|
104
133
|
process.stderr.write(chalk.dim('\nStarting in 3 seconds...\n'));
|
|
105
|
-
await
|
|
106
|
-
}
|
|
107
|
-
// Load config once for workspace validation
|
|
108
|
-
let protectedPaths = [];
|
|
109
|
-
try {
|
|
110
|
-
protectedPaths = loadConfig().protectedPaths;
|
|
111
|
-
}
|
|
112
|
-
catch {
|
|
113
|
-
// Config load failure is not fatal; child sessions will report it.
|
|
134
|
+
await sleep(3000);
|
|
114
135
|
}
|
|
115
|
-
|
|
116
|
-
|
|
136
|
+
// Generate a unique mux instance ID for session ownership
|
|
137
|
+
const muxId = `mux-${randomBytes(4).toString('hex')}`;
|
|
138
|
+
// Ensure registry directory exists
|
|
139
|
+
const registryDir = getPtyRegistryDir();
|
|
140
|
+
mkdirSync(registryDir, { recursive: true, mode: 0o700 });
|
|
141
|
+
const app = createApp({
|
|
142
|
+
agent: resolvedAgent,
|
|
143
|
+
model,
|
|
117
144
|
autoSpawn: false,
|
|
118
|
-
protectedPaths,
|
|
145
|
+
protectedPaths: config.protectedPaths,
|
|
119
146
|
muxId,
|
|
120
147
|
muxPid: process.pid,
|
|
121
148
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mux-command.js","sourceRoot":"","sources":["../../src/mux/mux-command.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC1C,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AACpE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAC1C,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AACzC,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AACtC,OAAO,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"mux-command.js","sourceRoot":"","sources":["../../src/mux/mux-command.ts"],"names":[],"mappings":"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"}
|
package/dist/mux/mux-renderer.js
CHANGED
|
@@ -14,7 +14,7 @@
|
|
|
14
14
|
*/
|
|
15
15
|
import { calculateLayout, isPickerMode, isBottomPanelPicker, } from './types.js';
|
|
16
16
|
import { createSplashScreen } from './mux-splash.js';
|
|
17
|
-
import { formatRelativeTime } from './session-scanner.js';
|
|
17
|
+
import { formatRelativeTime, getWorkspaceLabel } from './session-scanner.js';
|
|
18
18
|
// -- xterm.js color mode constants (from IBufferCell.getFgColorMode/getBgColorMode) --
|
|
19
19
|
const CM_DEFAULT = 0;
|
|
20
20
|
const CM_P16 = 16777216; // 0x01000000
|
|
@@ -117,8 +117,7 @@ export function createMuxRenderer(term, cols, rows, deps) {
|
|
|
117
117
|
for (let i = 0; i < tabs.length; i++) {
|
|
118
118
|
const tab = tabs[i];
|
|
119
119
|
const isActive = i === activeIdx;
|
|
120
|
-
const
|
|
121
|
-
const label = ` #${tab.number} ${tab.label}${statusSuffix} `;
|
|
120
|
+
const label = ` #${tab.number} ${tab.label} `;
|
|
122
121
|
if (isActive) {
|
|
123
122
|
term.bgWhite.black(label);
|
|
124
123
|
}
|
|
@@ -337,9 +336,6 @@ export function createMuxRenderer(term, cols, rows, deps) {
|
|
|
337
336
|
moveTo(6, currentY);
|
|
338
337
|
term.dim('/approve+ ');
|
|
339
338
|
term.cyan(candidate.description);
|
|
340
|
-
if (candidate.warning) {
|
|
341
|
-
term.yellow(` (${candidate.warning})`);
|
|
342
|
-
}
|
|
343
339
|
currentY++;
|
|
344
340
|
rowsUsed++;
|
|
345
341
|
}
|
|
@@ -495,7 +491,7 @@ export function createMuxRenderer(term, cols, rows, deps) {
|
|
|
495
491
|
detailLines.push({ kind: 'reason', text: `Reason: ${focused.request.reason}` });
|
|
496
492
|
if (focused.request.whitelistCandidates && focused.request.whitelistCandidates.length > 0) {
|
|
497
493
|
const candidate = focused.request.whitelistCandidates[0];
|
|
498
|
-
const wlText = candidate.
|
|
494
|
+
const wlText = candidate.description;
|
|
499
495
|
detailLines.push({ kind: 'whitelist', text: `/approve+ ${wlText}` });
|
|
500
496
|
}
|
|
501
497
|
const actualDetailRows = Math.min(detailLines.length, detailBudget);
|
|
@@ -609,14 +605,7 @@ export function createMuxRenderer(term, cols, rows, deps) {
|
|
|
609
605
|
const candidate = focused.request.whitelistCandidates?.[0];
|
|
610
606
|
if (candidate) {
|
|
611
607
|
const descBudget = maxTextWidth - 10;
|
|
612
|
-
|
|
613
|
-
const warnText = ` (${candidate.warning})`;
|
|
614
|
-
term.cyan(truncate(candidate.description, Math.max(1, descBudget - warnText.length)));
|
|
615
|
-
term.yellow(truncate(warnText, descBudget));
|
|
616
|
-
}
|
|
617
|
-
else {
|
|
618
|
-
term.cyan(truncate(candidate.description, descBudget));
|
|
619
|
-
}
|
|
608
|
+
term.cyan(truncate(candidate.description, descBudget));
|
|
620
609
|
}
|
|
621
610
|
}
|
|
622
611
|
else {
|
|
@@ -884,7 +873,9 @@ export function createMuxRenderer(term, cols, rows, deps) {
|
|
|
884
873
|
const isSelected = idx === rps.selectedIndex;
|
|
885
874
|
const shortId = s.sessionId.substring(0, 8);
|
|
886
875
|
const timeAgo = formatRelativeTime(s.lastActivity);
|
|
887
|
-
const
|
|
876
|
+
const workspace = getWorkspaceLabel(s);
|
|
877
|
+
const workspaceSuffix = workspace ? ` ${workspace}` : '';
|
|
878
|
+
const line = `${shortId} ${s.agent} ${s.label}${workspaceSuffix} ${timeAgo} [${s.status}]`;
|
|
888
879
|
moveTo(2, currentY);
|
|
889
880
|
if (isSelected) {
|
|
890
881
|
term.bgCyan.black('> ' + truncate(line, Math.max(1, _cols - 6)));
|
|
@@ -896,7 +887,21 @@ export function createMuxRenderer(term, cols, rows, deps) {
|
|
|
896
887
|
term(' ');
|
|
897
888
|
term(s.agent);
|
|
898
889
|
term(' ');
|
|
899
|
-
|
|
890
|
+
// Fixed columns: " " prefix (2) + shortId (8) + " " (2) + agent + " " (2) +
|
|
891
|
+
// label + " " (2) + timeAgo + " " (2) + [status]
|
|
892
|
+
const fixedWidth = 2 + 8 + 2 + s.agent.length + 2 + 2 + timeAgo.length + 2 + s.status.length + 2;
|
|
893
|
+
const availForLabelAndWs = Math.max(10, _cols - fixedWidth);
|
|
894
|
+
if (workspace) {
|
|
895
|
+
// Split available space: label gets half, workspace gets the rest
|
|
896
|
+
const labelWidth = Math.max(5, Math.floor(availForLabelAndWs * 0.4));
|
|
897
|
+
const wsWidth = Math.max(5, availForLabelAndWs - labelWidth - 2);
|
|
898
|
+
term.cyan(truncate(s.label, labelWidth));
|
|
899
|
+
term(' ');
|
|
900
|
+
term.yellow(truncate(workspace, wsWidth));
|
|
901
|
+
}
|
|
902
|
+
else {
|
|
903
|
+
term.cyan(truncate(s.label, availForLabelAndWs));
|
|
904
|
+
}
|
|
900
905
|
term(' ');
|
|
901
906
|
term.dim(timeAgo);
|
|
902
907
|
term(' ');
|