@qduc/term2 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/dist/agent.d.ts +7 -0
- package/dist/agent.d.ts.map +1 -1
- package/dist/agent.js +20 -14
- package/dist/agent.js.map +1 -1
- package/dist/app.d.ts.map +1 -1
- package/dist/app.js +10 -11
- package/dist/app.js.map +1 -1
- package/dist/components/layout/BackgroundTasksPanel.d.ts +10 -0
- package/dist/components/layout/BackgroundTasksPanel.d.ts.map +1 -0
- package/dist/components/layout/BackgroundTasksPanel.js +60 -0
- package/dist/components/layout/BackgroundTasksPanel.js.map +1 -0
- package/dist/components/layout/BottomArea.d.ts +3 -0
- package/dist/components/layout/BottomArea.d.ts.map +1 -1
- package/dist/components/layout/BottomArea.js +3 -1
- package/dist/components/layout/BottomArea.js.map +1 -1
- package/dist/components/layout/StatusBar.d.ts.map +1 -1
- package/dist/components/layout/StatusBar.js +33 -30
- package/dist/components/layout/StatusBar.js.map +1 -1
- package/dist/components/message/CommandMessage.d.ts +1 -0
- package/dist/components/message/CommandMessage.d.ts.map +1 -1
- package/dist/components/message/CommandMessage.js +27 -4
- package/dist/components/message/CommandMessage.js.map +1 -1
- package/dist/components/message/MessageList.js +1 -1
- package/dist/components/message/MessageList.js.map +1 -1
- package/dist/components/message/SubagentActivityMessage.d.ts +1 -0
- package/dist/components/message/SubagentActivityMessage.d.ts.map +1 -1
- package/dist/components/message/SubagentActivityMessage.js +3 -3
- package/dist/components/message/SubagentActivityMessage.js.map +1 -1
- package/dist/components/message/command-message-helpers.d.ts.map +1 -1
- package/dist/components/message/command-message-helpers.js +10 -0
- package/dist/components/message/command-message-helpers.js.map +1 -1
- package/dist/components/prompt/ApprovalPrompt.d.ts.map +1 -1
- package/dist/components/prompt/ApprovalPrompt.js +35 -8
- package/dist/components/prompt/ApprovalPrompt.js.map +1 -1
- package/dist/hooks/settings-completion-config.d.ts.map +1 -1
- package/dist/hooks/settings-completion-config.js +4 -0
- package/dist/hooks/settings-completion-config.js.map +1 -1
- package/dist/hooks/use-conversation.d.ts +3 -0
- package/dist/hooks/use-conversation.d.ts.map +1 -1
- package/dist/hooks/use-conversation.js +23 -1
- package/dist/hooks/use-conversation.js.map +1 -1
- package/dist/lib/agent-client.d.ts +16 -1
- package/dist/lib/agent-client.d.ts.map +1 -1
- package/dist/lib/agent-client.js +22 -1
- package/dist/lib/agent-client.js.map +1 -1
- package/dist/lib/agent-configuration.d.ts.map +1 -1
- package/dist/lib/agent-configuration.js +2 -0
- package/dist/lib/agent-configuration.js.map +1 -1
- package/dist/lib/agent-factory.d.ts +7 -0
- package/dist/lib/agent-factory.d.ts.map +1 -1
- package/dist/lib/agent-factory.js +2 -0
- package/dist/lib/agent-factory.js.map +1 -1
- package/dist/lib/subagent-bridge.d.ts +37 -3
- package/dist/lib/subagent-bridge.d.ts.map +1 -1
- package/dist/lib/subagent-bridge.js +115 -8
- package/dist/lib/subagent-bridge.js.map +1 -1
- package/dist/prompts/async-subagent-delegation.d.ts +9 -0
- package/dist/prompts/async-subagent-delegation.d.ts.map +1 -0
- package/dist/prompts/async-subagent-delegation.js +36 -0
- package/dist/prompts/async-subagent-delegation.js.map +1 -0
- package/dist/prompts/async-subagent-delegation.ts +45 -0
- package/dist/prompts/orchestrator.md +16 -3
- package/dist/prompts/prompt-constructor.d.ts +1 -0
- package/dist/prompts/prompt-constructor.d.ts.map +1 -1
- package/dist/prompts/prompt-constructor.js +5 -1
- package/dist/prompts/prompt-constructor.js.map +1 -1
- package/dist/prompts/prompt-constructor.test.ts +51 -0
- package/dist/prompts/prompt-constructor.ts +7 -0
- package/dist/prompts/subagent-delegation.d.ts.map +1 -1
- package/dist/prompts/subagent-delegation.js +2 -1
- package/dist/prompts/subagent-delegation.js.map +1 -1
- package/dist/prompts/subagent-delegation.ts +2 -1
- package/dist/services/agent-runtime/execution-budget.d.ts +6 -0
- package/dist/services/agent-runtime/execution-budget.d.ts.map +1 -1
- package/dist/services/agent-runtime/execution-budget.js +32 -24
- package/dist/services/agent-runtime/execution-budget.js.map +1 -1
- package/dist/services/agent-runtime/permission-resolver.js +1 -1
- package/dist/services/agent-runtime/permission-resolver.js.map +1 -1
- package/dist/services/approval/approval-flow-coordinator.d.ts.map +1 -1
- package/dist/services/approval/approval-flow-coordinator.js +12 -2
- package/dist/services/approval/approval-flow-coordinator.js.map +1 -1
- package/dist/services/approval/shell-sandbox-approval.d.ts.map +1 -1
- package/dist/services/approval/shell-sandbox-approval.js +5 -4
- package/dist/services/approval/shell-sandbox-approval.js.map +1 -1
- package/dist/services/conversation/conversation-adapter.d.ts.map +1 -1
- package/dist/services/conversation/conversation-adapter.js +2 -0
- package/dist/services/conversation/conversation-adapter.js.map +1 -1
- package/dist/services/conversation/conversation-events.d.ts +12 -1
- package/dist/services/conversation/conversation-events.d.ts.map +1 -1
- package/dist/services/conversation/conversation-orchestrator.d.ts.map +1 -1
- package/dist/services/conversation/conversation-orchestrator.js +138 -22
- package/dist/services/conversation/conversation-orchestrator.js.map +1 -1
- package/dist/services/conversation/conversation-replay.d.ts.map +1 -1
- package/dist/services/conversation/conversation-replay.js +1 -0
- package/dist/services/conversation/conversation-replay.js.map +1 -1
- package/dist/services/conversation/conversation-service.d.ts +22 -0
- package/dist/services/conversation/conversation-service.d.ts.map +1 -1
- package/dist/services/conversation/conversation-service.js +40 -0
- package/dist/services/conversation/conversation-service.js.map +1 -1
- package/dist/services/conversation/conversation-store.d.ts +6 -0
- package/dist/services/conversation/conversation-store.d.ts.map +1 -1
- package/dist/services/conversation/conversation-store.js +17 -0
- package/dist/services/conversation/conversation-store.js.map +1 -1
- package/dist/services/conversation-agent-client.d.ts +13 -0
- package/dist/services/conversation-agent-client.d.ts.map +1 -1
- package/dist/services/logging/conversation-log-events.d.ts +1 -0
- package/dist/services/logging/conversation-log-events.d.ts.map +1 -1
- package/dist/services/logging/conversation-log-events.js.map +1 -1
- package/dist/services/logging/conversation-logger.d.ts.map +1 -1
- package/dist/services/logging/conversation-logger.js +1 -0
- package/dist/services/logging/conversation-logger.js.map +1 -1
- package/dist/services/plan-mode-interceptor.js +2 -2
- package/dist/services/plan-mode-interceptor.js.map +1 -1
- package/dist/services/session/session-composition.d.ts +23 -0
- package/dist/services/session/session-composition.d.ts.map +1 -1
- package/dist/services/session/session-composition.js +65 -1
- package/dist/services/session/session-composition.js.map +1 -1
- package/dist/services/session/turn-workflow.d.ts.map +1 -1
- package/dist/services/session/turn-workflow.js +7 -1
- package/dist/services/session/turn-workflow.js.map +1 -1
- package/dist/services/settings/settings-merger.d.ts.map +1 -1
- package/dist/services/settings/settings-merger.js +2 -0
- package/dist/services/settings/settings-merger.js.map +1 -1
- package/dist/services/settings/settings-schema.d.ts +15 -0
- package/dist/services/settings/settings-schema.d.ts.map +1 -1
- package/dist/services/settings/settings-schema.js +23 -0
- package/dist/services/settings/settings-schema.js.map +1 -1
- package/dist/services/subagents/execution-runner.d.ts +3 -0
- package/dist/services/subagents/execution-runner.d.ts.map +1 -1
- package/dist/services/subagents/execution-runner.js +33 -7
- package/dist/services/subagents/execution-runner.js.map +1 -1
- package/dist/services/subagents/mentor-runner.d.ts +5 -1
- package/dist/services/subagents/mentor-runner.d.ts.map +1 -1
- package/dist/services/subagents/mentor-runner.js +40 -2
- package/dist/services/subagents/mentor-runner.js.map +1 -1
- package/dist/services/subagents/runtime.d.ts +2 -0
- package/dist/services/subagents/runtime.d.ts.map +1 -1
- package/dist/services/subagents/runtime.js +20 -0
- package/dist/services/subagents/runtime.js.map +1 -1
- package/dist/services/subagents/subagent-async-registry.d.ts +39 -0
- package/dist/services/subagents/subagent-async-registry.d.ts.map +1 -0
- package/dist/services/subagents/subagent-async-registry.js +233 -0
- package/dist/services/subagents/subagent-async-registry.js.map +1 -0
- package/dist/services/subagents/subagent-manager.d.ts +17 -0
- package/dist/services/subagents/subagent-manager.d.ts.map +1 -1
- package/dist/services/subagents/subagent-manager.js +45 -1
- package/dist/services/subagents/subagent-manager.js.map +1 -1
- package/dist/services/subagents/subagent-notification-store.d.ts +89 -0
- package/dist/services/subagents/subagent-notification-store.d.ts.map +1 -0
- package/dist/services/subagents/subagent-notification-store.js +167 -0
- package/dist/services/subagents/subagent-notification-store.js.map +1 -0
- package/dist/services/subagents/subagent-session.d.ts +12 -1
- package/dist/services/subagents/subagent-session.d.ts.map +1 -1
- package/dist/services/subagents/subagent-session.js +29 -6
- package/dist/services/subagents/subagent-session.js.map +1 -1
- package/dist/services/subagents/types.d.ts +11 -0
- package/dist/services/subagents/types.d.ts.map +1 -1
- package/dist/services/subagents/types.js +1 -0
- package/dist/services/subagents/types.js.map +1 -1
- package/dist/services/subagents/utils.d.ts +6 -0
- package/dist/services/subagents/utils.d.ts.map +1 -1
- package/dist/services/subagents/utils.js +21 -0
- package/dist/services/subagents/utils.js.map +1 -1
- package/dist/tools/agent/run-subagent-async.d.ts +25 -0
- package/dist/tools/agent/run-subagent-async.d.ts.map +1 -0
- package/dist/tools/agent/run-subagent-async.js +178 -0
- package/dist/tools/agent/run-subagent-async.js.map +1 -0
- package/dist/tools/system/shell.d.ts +1 -3
- package/dist/tools/system/shell.d.ts.map +1 -1
- package/dist/tools/system/shell.js +32 -15
- package/dist/tools/system/shell.js.map +1 -1
- package/dist/tools/types.d.ts +1 -0
- package/dist/tools/types.d.ts.map +1 -1
- package/dist/types/message.d.ts +1 -0
- package/dist/types/message.d.ts.map +1 -1
- package/dist/types/message.js.map +1 -1
- package/dist/utils/conversation/conversation-event-handler.d.ts.map +1 -1
- package/dist/utils/conversation/conversation-event-handler.js +1 -0
- package/dist/utils/conversation/conversation-event-handler.js.map +1 -1
- package/dist/utils/settings-command.d.ts.map +1 -1
- package/dist/utils/settings-command.js +10 -0
- package/dist/utils/settings-command.js.map +1 -1
- package/dist/utils/shell/sandbox/docker-host-control-grants.d.ts +8 -0
- package/dist/utils/shell/sandbox/docker-host-control-grants.d.ts.map +1 -1
- package/dist/utils/shell/sandbox/docker-host-control-grants.js +21 -0
- package/dist/utils/shell/sandbox/docker-host-control-grants.js.map +1 -1
- package/dist/utils/shell/sandbox/docker-host-control.d.ts +21 -0
- package/dist/utils/shell/sandbox/docker-host-control.d.ts.map +1 -1
- package/dist/utils/shell/sandbox/docker-host-control.js +132 -0
- package/dist/utils/shell/sandbox/docker-host-control.js.map +1 -1
- package/dist/utils/shell/sandbox/sandbox-failure-classifier.d.ts +8 -1
- package/dist/utils/shell/sandbox/sandbox-failure-classifier.d.ts.map +1 -1
- package/dist/utils/shell/sandbox/sandbox-failure-classifier.js +13 -1
- package/dist/utils/shell/sandbox/sandbox-failure-classifier.js.map +1 -1
- package/dist/utils/shell/sandbox/sandbox-network-approval.d.ts +2 -1
- package/dist/utils/shell/sandbox/sandbox-network-approval.d.ts.map +1 -1
- package/dist/utils/shell/sandbox/sandbox-network-approval.js +17 -1
- package/dist/utils/shell/sandbox/sandbox-network-approval.js.map +1 -1
- package/dist/utils/shell/sandbox/sandbox-network-store.d.ts +20 -0
- package/dist/utils/shell/sandbox/sandbox-network-store.d.ts.map +1 -0
- package/dist/utils/shell/sandbox/sandbox-network-store.js +99 -0
- package/dist/utils/shell/sandbox/sandbox-network-store.js.map +1 -0
- package/dist/utils/streaming/extract-command-messages.d.ts +2 -0
- package/dist/utils/streaming/extract-command-messages.d.ts.map +1 -1
- package/dist/utils/streaming/extract-command-messages.js +26 -4
- package/dist/utils/streaming/extract-command-messages.js.map +1 -1
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"settings-command.js","sourceRoot":"","sources":["../../source/utils/settings-command.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"settings-command.js","sourceRoot":"","sources":["../../source/utils/settings-command.ts"],"names":[],"mappings":"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"}
|
|
@@ -13,6 +13,14 @@ export declare const consumeDockerHostControlOnce: (sessionId: string, command:
|
|
|
13
13
|
export declare const hasDockerHostControlSession: (sessionId: string, cwd: string) => boolean;
|
|
14
14
|
export declare const hasDockerHostControlProject: (cwd: string) => boolean;
|
|
15
15
|
export declare const clearDockerHostControlSession: (sessionId: string) => void;
|
|
16
|
+
export declare const recordDockerHostControlDenial: (command: string) => void;
|
|
17
|
+
export declare const consumeDockerHostControlDenial: (command: string) => boolean;
|
|
18
|
+
/**
|
|
19
|
+
* Whether this command must go through the Docker host-control approval prompt:
|
|
20
|
+
* either it reads as a Docker invocation, or a sandboxed run of it was already
|
|
21
|
+
* blocked from the daemon (the only signal for indirect invocations).
|
|
22
|
+
*/
|
|
23
|
+
export declare const requiresDockerHostControlApproval: (command: string) => boolean;
|
|
16
24
|
export declare const resetDockerHostControlGrantsForTests: () => void;
|
|
17
25
|
export declare const normalizeDockerHostControlWorkspaceRoot: typeof realRoot;
|
|
18
26
|
export {};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"docker-host-control-grants.d.ts","sourceRoot":"","sources":["../../../../source/utils/shell/sandbox/docker-host-control-grants.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,yCAAyC,CAAC;
|
|
1
|
+
{"version":3,"file":"docker-host-control-grants.d.ts","sourceRoot":"","sources":["../../../../source/utils/shell/sandbox/docker-host-control-grants.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,yCAAyC,CAAC;AAGhF,MAAM,MAAM,sBAAsB,GAAG,MAAM,GAAG,SAAS,GAAG,SAAS,CAAC;AAEpE,KAAK,6BAA6B,GAAG;IACnC,OAAO,EAAE,MAAM,CAAC;IAChB,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,sBAAsB,CAAC;IAC9B,SAAS,EAAE,MAAM,CAAC;CACnB,CAAC;AAEF,QAAA,MAAM,QAAQ,QAAS,MAAM,WAO5B,CAAC;AA4EF,eAAO,MAAM,gCAAgC,aAAc,gBAAgB,SAC9B,CAAC;AAC9C,eAAO,MAAM,sBAAsB,UAAW,6BAA6B,SAAyC,CAAC;AACrH,eAAO,MAAM,4BAA4B,cAAe,MAAM,WAAW,MAAM,YACtB,CAAC;AAC1D,eAAO,MAAM,2BAA2B,cAAe,MAAM,OAAO,MAAM,YACtB,CAAC;AACrD,eAAO,MAAM,2BAA2B,QAAS,MAAM,YAA4C,CAAC;AACpG,eAAO,MAAM,6BAA6B,cAAe,MAAM,SAAoD,CAAC;AACpH,eAAO,MAAM,6BAA6B,YAAa,MAAM,SAAkD,CAAC;AAChH,eAAO,MAAM,8BAA8B,YAAa,MAAM,YAAmD,CAAC;AAElH;;;;GAIG;AACH,eAAO,MAAM,iCAAiC,YAAa,MAAM,YACiB,CAAC;AACnF,eAAO,MAAM,oCAAoC,YAAgD,CAAC;AAClG,eAAO,MAAM,uCAAuC,iBAAW,CAAC"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import fs from 'node:fs';
|
|
2
2
|
import path from 'node:path';
|
|
3
|
+
import { requestsDockerHostControl } from './docker-host-control.js';
|
|
3
4
|
const realRoot = (cwd) => {
|
|
4
5
|
const resolved = path.resolve(cwd);
|
|
5
6
|
try {
|
|
@@ -14,6 +15,17 @@ class DockerHostControlGrants {
|
|
|
14
15
|
#settings;
|
|
15
16
|
#onceBySession = new Map();
|
|
16
17
|
#sessionRootsBySession = new Map();
|
|
18
|
+
#deniedCommands = new Set();
|
|
19
|
+
/** A sandboxed run of this command was blocked from the Docker daemon. */
|
|
20
|
+
recordDenial(command) {
|
|
21
|
+
this.#deniedCommands.add(command);
|
|
22
|
+
}
|
|
23
|
+
consumeDenial(command) {
|
|
24
|
+
return this.#deniedCommands.delete(command);
|
|
25
|
+
}
|
|
26
|
+
hasDenial(command) {
|
|
27
|
+
return this.#deniedCommands.has(command);
|
|
28
|
+
}
|
|
17
29
|
configure(settings) {
|
|
18
30
|
this.#settings = settings;
|
|
19
31
|
}
|
|
@@ -60,6 +72,7 @@ class DockerHostControlGrants {
|
|
|
60
72
|
resetForTests() {
|
|
61
73
|
this.#onceBySession.clear();
|
|
62
74
|
this.#sessionRootsBySession.clear();
|
|
75
|
+
this.#deniedCommands.clear();
|
|
63
76
|
this.#settings = undefined;
|
|
64
77
|
}
|
|
65
78
|
}
|
|
@@ -70,6 +83,14 @@ export const consumeDockerHostControlOnce = (sessionId, command) => dockerHostCo
|
|
|
70
83
|
export const hasDockerHostControlSession = (sessionId, cwd) => dockerHostControlGrants.hasSession(sessionId, cwd);
|
|
71
84
|
export const hasDockerHostControlProject = (cwd) => dockerHostControlGrants.hasProject(cwd);
|
|
72
85
|
export const clearDockerHostControlSession = (sessionId) => dockerHostControlGrants.clearSession(sessionId);
|
|
86
|
+
export const recordDockerHostControlDenial = (command) => dockerHostControlGrants.recordDenial(command);
|
|
87
|
+
export const consumeDockerHostControlDenial = (command) => dockerHostControlGrants.consumeDenial(command);
|
|
88
|
+
/**
|
|
89
|
+
* Whether this command must go through the Docker host-control approval prompt:
|
|
90
|
+
* either it reads as a Docker invocation, or a sandboxed run of it was already
|
|
91
|
+
* blocked from the daemon (the only signal for indirect invocations).
|
|
92
|
+
*/
|
|
93
|
+
export const requiresDockerHostControlApproval = (command) => requestsDockerHostControl(command) || dockerHostControlGrants.hasDenial(command);
|
|
73
94
|
export const resetDockerHostControlGrantsForTests = () => dockerHostControlGrants.resetForTests();
|
|
74
95
|
export const normalizeDockerHostControlWorkspaceRoot = realRoot;
|
|
75
96
|
//# sourceMappingURL=docker-host-control-grants.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"docker-host-control-grants.js","sourceRoot":"","sources":["../../../../source/utils/shell/sandbox/docker-host-control-grants.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,IAAI,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"docker-host-control-grants.js","sourceRoot":"","sources":["../../../../source/utils/shell/sandbox/docker-host-control-grants.ts"],"names":[],"mappings":"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"}
|
|
@@ -3,6 +3,27 @@ export interface DockerHostControl {
|
|
|
3
3
|
configDir: string;
|
|
4
4
|
cleanup(): void;
|
|
5
5
|
}
|
|
6
|
+
/**
|
|
7
|
+
* Recognizes direct Docker CLI invocations wherever the shell can put them:
|
|
8
|
+
* after operators, inside subshells or brace groups, on a later line, behind a
|
|
9
|
+
* wrapper such as `sudo`/`timeout`, or preceded by environment assignments.
|
|
10
|
+
* Matching on command position rather than substring keeps `cat Dockerfile`
|
|
11
|
+
* and `git commit -m "docker"` out. Docker reached indirectly (through a script
|
|
12
|
+
* or package command) is out of reach of any command-string check.
|
|
13
|
+
*/
|
|
14
|
+
export declare function requestsDockerHostControl(command: string): boolean;
|
|
15
|
+
/**
|
|
16
|
+
* Detects a sandboxed command that failed because it could not reach the Docker
|
|
17
|
+
* daemon. This is the only signal available for Docker reached indirectly —
|
|
18
|
+
* through a script, `make` target, or package command — where the command
|
|
19
|
+
* string itself never mentions Docker.
|
|
20
|
+
*/
|
|
21
|
+
export declare function detectDockerDaemonBlock(stderr: string): boolean;
|
|
22
|
+
/**
|
|
23
|
+
* Instruction shown to the agent when the sandbox blocked Docker, encouraging a
|
|
24
|
+
* same-command retry so the user can approve host control for it.
|
|
25
|
+
*/
|
|
26
|
+
export declare const DOCKER_HOST_CONTROL_RETRY_INSTRUCTION = "Sandbox blocked this command from reaching the Docker daemon. Retry the same command; the user will be prompted to allow Docker host control for it.";
|
|
6
27
|
/**
|
|
7
28
|
* Docker Desktop's Unix socket controls the host daemon, so this deliberately
|
|
8
29
|
* recognizes only its canonical per-user macOS endpoint.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"docker-host-control.d.ts","sourceRoot":"","sources":["../../../../source/utils/shell/sandbox/docker-host-control.ts"],"names":[],"mappings":"AAKA,MAAM,WAAW,iBAAiB;IAChC,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,IAAI,IAAI,CAAC;CACjB;AAED;;;GAGG;AACH,wBAAgB,uBAAuB,CAAC,IAAI,SAAe,GAAG,iBAAiB,CAwB9E"}
|
|
1
|
+
{"version":3,"file":"docker-host-control.d.ts","sourceRoot":"","sources":["../../../../source/utils/shell/sandbox/docker-host-control.ts"],"names":[],"mappings":"AAKA,MAAM,WAAW,iBAAiB;IAChC,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,IAAI,IAAI,CAAC;CACjB;AAoFD;;;;;;;GAOG;AACH,wBAAgB,yBAAyB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CA2BlE;AAYD;;;;;GAKG;AACH,wBAAgB,uBAAuB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAE/D;AAED;;;GAGG;AACH,eAAO,MAAM,qCAAqC,yJACsG,CAAC;AAEzJ;;;GAGG;AACH,wBAAgB,uBAAuB,CAAC,IAAI,SAAe,GAAG,iBAAiB,CAwB9E"}
|
|
@@ -2,6 +2,138 @@ import fs from 'node:fs';
|
|
|
2
2
|
import os from 'node:os';
|
|
3
3
|
import path from 'node:path';
|
|
4
4
|
import { SANDBOX_TEMP_DIR } from '../temp-dir.js';
|
|
5
|
+
const DOCKER_BINARIES = new Set(['docker', 'docker-compose']);
|
|
6
|
+
// Programs that run another program, so the Docker invocation is one token later.
|
|
7
|
+
const COMMAND_WRAPPERS = new Set([
|
|
8
|
+
'env',
|
|
9
|
+
'sudo',
|
|
10
|
+
'doas',
|
|
11
|
+
'command',
|
|
12
|
+
'exec',
|
|
13
|
+
'builtin',
|
|
14
|
+
'nohup',
|
|
15
|
+
'nice',
|
|
16
|
+
'ionice',
|
|
17
|
+
'stdbuf',
|
|
18
|
+
'time',
|
|
19
|
+
'timeout',
|
|
20
|
+
'xargs',
|
|
21
|
+
]);
|
|
22
|
+
// Shell punctuation that returns the scanner to command position: control
|
|
23
|
+
// operators, grouping, and redirection.
|
|
24
|
+
const OPERATOR_CHARS = ';|&()<>{}';
|
|
25
|
+
const ENV_ASSIGNMENT = /^[A-Za-z_][A-Za-z0-9_]*=/;
|
|
26
|
+
const WRAPPER_OPTION = /^-|^\d+(?:\.\d+)?[smhd]?$/;
|
|
27
|
+
/**
|
|
28
|
+
* Splits a command into words and operators. Quoting matters: without it,
|
|
29
|
+
* `git commit -m "fix(docker): update"` would look like a Docker invocation
|
|
30
|
+
* after a subshell, and a false positive refuses the command outright.
|
|
31
|
+
*/
|
|
32
|
+
function tokenizeShellCommand(command) {
|
|
33
|
+
const tokens = [];
|
|
34
|
+
let word = '';
|
|
35
|
+
let quote;
|
|
36
|
+
const endWord = () => {
|
|
37
|
+
if (word)
|
|
38
|
+
tokens.push({ value: word, isOperator: false });
|
|
39
|
+
word = '';
|
|
40
|
+
};
|
|
41
|
+
for (let index = 0; index < command.length; index++) {
|
|
42
|
+
const char = command[index];
|
|
43
|
+
if (quote) {
|
|
44
|
+
if (char === quote)
|
|
45
|
+
quote = undefined;
|
|
46
|
+
else
|
|
47
|
+
word += char;
|
|
48
|
+
continue;
|
|
49
|
+
}
|
|
50
|
+
if (char === "'" || char === '"') {
|
|
51
|
+
quote = char;
|
|
52
|
+
continue;
|
|
53
|
+
}
|
|
54
|
+
if (char === '\\') {
|
|
55
|
+
word += command[++index] ?? '';
|
|
56
|
+
continue;
|
|
57
|
+
}
|
|
58
|
+
if (char === '\n') {
|
|
59
|
+
// A newline separates commands exactly like `;`.
|
|
60
|
+
endWord();
|
|
61
|
+
tokens.push({ value: ';', isOperator: true });
|
|
62
|
+
continue;
|
|
63
|
+
}
|
|
64
|
+
if (/\s/.test(char)) {
|
|
65
|
+
endWord();
|
|
66
|
+
continue;
|
|
67
|
+
}
|
|
68
|
+
if (OPERATOR_CHARS.includes(char)) {
|
|
69
|
+
endWord();
|
|
70
|
+
tokens.push({ value: char, isOperator: true });
|
|
71
|
+
continue;
|
|
72
|
+
}
|
|
73
|
+
word += char;
|
|
74
|
+
}
|
|
75
|
+
endWord();
|
|
76
|
+
return tokens;
|
|
77
|
+
}
|
|
78
|
+
/**
|
|
79
|
+
* Recognizes direct Docker CLI invocations wherever the shell can put them:
|
|
80
|
+
* after operators, inside subshells or brace groups, on a later line, behind a
|
|
81
|
+
* wrapper such as `sudo`/`timeout`, or preceded by environment assignments.
|
|
82
|
+
* Matching on command position rather than substring keeps `cat Dockerfile`
|
|
83
|
+
* and `git commit -m "docker"` out. Docker reached indirectly (through a script
|
|
84
|
+
* or package command) is out of reach of any command-string check.
|
|
85
|
+
*/
|
|
86
|
+
export function requestsDockerHostControl(command) {
|
|
87
|
+
let atCommandPosition = true;
|
|
88
|
+
let afterWrapper = false;
|
|
89
|
+
for (const { value, isOperator } of tokenizeShellCommand(command)) {
|
|
90
|
+
if (isOperator) {
|
|
91
|
+
atCommandPosition = true;
|
|
92
|
+
afterWrapper = false;
|
|
93
|
+
continue;
|
|
94
|
+
}
|
|
95
|
+
if (!atCommandPosition)
|
|
96
|
+
continue;
|
|
97
|
+
if (ENV_ASSIGNMENT.test(value))
|
|
98
|
+
continue;
|
|
99
|
+
const name = value.split('/').pop() ?? '';
|
|
100
|
+
if (DOCKER_BINARIES.has(name))
|
|
101
|
+
return true;
|
|
102
|
+
if (COMMAND_WRAPPERS.has(name)) {
|
|
103
|
+
afterWrapper = true;
|
|
104
|
+
continue;
|
|
105
|
+
}
|
|
106
|
+
// A wrapper's own flags and durations still precede the real command.
|
|
107
|
+
if (afterWrapper && WRAPPER_OPTION.test(value))
|
|
108
|
+
continue;
|
|
109
|
+
atCommandPosition = false;
|
|
110
|
+
afterWrapper = false;
|
|
111
|
+
}
|
|
112
|
+
return false;
|
|
113
|
+
}
|
|
114
|
+
// Docker cannot read its own config under the sandbox, so it loses the
|
|
115
|
+
// desktop-linux context and reports failure against the default socket. Both
|
|
116
|
+
// that form and a direct permission failure mean "the sandbox stood in the way".
|
|
117
|
+
const DOCKER_DAEMON_BLOCK_PATTERNS = [
|
|
118
|
+
/permission denied while trying to connect to the docker (?:api|daemon)/i,
|
|
119
|
+
/cannot connect to the docker daemon/i,
|
|
120
|
+
/docker\.sock[^\n]*(?:permission denied|operation not permitted)/i,
|
|
121
|
+
/(?:permission denied|operation not permitted)[^\n]*docker\.sock/i,
|
|
122
|
+
];
|
|
123
|
+
/**
|
|
124
|
+
* Detects a sandboxed command that failed because it could not reach the Docker
|
|
125
|
+
* daemon. This is the only signal available for Docker reached indirectly —
|
|
126
|
+
* through a script, `make` target, or package command — where the command
|
|
127
|
+
* string itself never mentions Docker.
|
|
128
|
+
*/
|
|
129
|
+
export function detectDockerDaemonBlock(stderr) {
|
|
130
|
+
return DOCKER_DAEMON_BLOCK_PATTERNS.some((pattern) => pattern.test(stderr));
|
|
131
|
+
}
|
|
132
|
+
/**
|
|
133
|
+
* Instruction shown to the agent when the sandbox blocked Docker, encouraging a
|
|
134
|
+
* same-command retry so the user can approve host control for it.
|
|
135
|
+
*/
|
|
136
|
+
export const DOCKER_HOST_CONTROL_RETRY_INSTRUCTION = 'Sandbox blocked this command from reaching the Docker daemon. Retry the same command; the user will be prompted to allow Docker host control for it.';
|
|
5
137
|
/**
|
|
6
138
|
* Docker Desktop's Unix socket controls the host daemon, so this deliberately
|
|
7
139
|
* recognizes only its canonical per-user macOS endpoint.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"docker-host-control.js","sourceRoot":"","sources":["../../../../source/utils/shell/sandbox/docker-host-control.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAQlD;;;GAGG;AACH,MAAM,UAAU,uBAAuB,CAAC,IAAI,GAAG,EAAE,CAAC,OAAO,EAAE;IACzD,IAAI,OAAO,CAAC,QAAQ,KAAK,QAAQ,EAAE,CAAC;QAClC,MAAM,IAAI,KAAK,CAAC,2DAA2D,CAAC,CAAC;IAC/E,CAAC;IAED,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,aAAa,CAAC,CAAC;IACpE,IAAI,UAAoB,CAAC;IACzB,IAAI,CAAC;QACH,UAAU,GAAG,EAAE,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;IACvC,CAAC;IAAC,MAAM,CAAC;QACP,MAAM,IAAI,KAAK,CAAC,2CAA2C,UAAU,GAAG,CAAC,CAAC;IAC5E,CAAC;IACD,IAAI,CAAC,UAAU,CAAC,QAAQ,EAAE,EAAE,CAAC;QAC3B,MAAM,IAAI,KAAK,CAAC,iDAAiD,UAAU,GAAG,CAAC,CAAC;IAClF,CAAC;IAED,MAAM,SAAS,GAAG,EAAE,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,gBAAgB,EAAE,gBAAgB,CAAC,CAAC,CAAC;IAChF,EAAE,CAAC,SAAS,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;IAE/B,OAAO;QACL,UAAU;QACV,SAAS;QACT,OAAO,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC,MAAM,CAAC,SAAS,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;KACtE,CAAC;AACJ,CAAC"}
|
|
1
|
+
{"version":3,"file":"docker-host-control.js","sourceRoot":"","sources":["../../../../source/utils/shell/sandbox/docker-host-control.ts"],"names":[],"mappings":"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"}
|
|
@@ -12,6 +12,10 @@ export type SandboxFailureClassification = {
|
|
|
12
12
|
confidence: SandboxFailureConfidence;
|
|
13
13
|
stderr: string;
|
|
14
14
|
deniedRead: DeniedReadInfo;
|
|
15
|
+
} | {
|
|
16
|
+
type: 'docker_blocked';
|
|
17
|
+
confidence: SandboxFailureConfidence;
|
|
18
|
+
stderr: string;
|
|
15
19
|
};
|
|
16
20
|
export interface ClassifySandboxFailureOptions {
|
|
17
21
|
command: string;
|
|
@@ -19,6 +23,9 @@ export interface ClassifySandboxFailureOptions {
|
|
|
19
23
|
annotatedStderr: string;
|
|
20
24
|
sandboxed: boolean;
|
|
21
25
|
readPolicy?: SandboxReadPolicy;
|
|
26
|
+
/** The run already held Docker host control, so a daemon failure is Docker's, not the sandbox's. */
|
|
27
|
+
dockerHostControlActive?: boolean;
|
|
28
|
+
exitCode?: number | null;
|
|
22
29
|
}
|
|
23
|
-
export declare function classifySandboxFailure({ command, rawStderr, annotatedStderr, sandboxed, readPolicy, }: ClassifySandboxFailureOptions): SandboxFailureClassification | null;
|
|
30
|
+
export declare function classifySandboxFailure({ command, rawStderr, annotatedStderr, sandboxed, readPolicy, dockerHostControlActive, exitCode, }: ClassifySandboxFailureOptions): SandboxFailureClassification | null;
|
|
24
31
|
//# sourceMappingURL=sandbox-failure-classifier.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sandbox-failure-classifier.d.ts","sourceRoot":"","sources":["../../../../source/utils/shell/sandbox/sandbox-failure-classifier.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAC7D,OAAO,EAAoB,KAAK,cAAc,EAAE,MAAM,2BAA2B,CAAC;
|
|
1
|
+
{"version":3,"file":"sandbox-failure-classifier.d.ts","sourceRoot":"","sources":["../../../../source/utils/shell/sandbox/sandbox-failure-classifier.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAC7D,OAAO,EAAoB,KAAK,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAGlF,MAAM,MAAM,wBAAwB,GAAG,oBAAoB,GAAG,gBAAgB,CAAC;AAE/E,MAAM,MAAM,oBAAoB,GAAG,SAAS,GAAG,SAAS,CAAC;AAEzD,MAAM,MAAM,4BAA4B,GACpC;IACE,IAAI,EAAE,SAAS,CAAC;IAChB,MAAM,EAAE,oBAAoB,CAAC;IAC7B,UAAU,EAAE,wBAAwB,CAAC;IACrC,MAAM,EAAE,MAAM,CAAC;CAChB,GACD;IACE,IAAI,EAAE,aAAa,CAAC;IACpB,UAAU,EAAE,wBAAwB,CAAC;IACrC,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,cAAc,CAAC;CAC5B,GACD;IACE,IAAI,EAAE,gBAAgB,CAAC;IACvB,UAAU,EAAE,wBAAwB,CAAC;IACrC,MAAM,EAAE,MAAM,CAAC;CAChB,CAAC;AAEN,MAAM,WAAW,6BAA6B;IAC5C,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,eAAe,EAAE,MAAM,CAAC;IACxB,SAAS,EAAE,OAAO,CAAC;IACnB,UAAU,CAAC,EAAE,iBAAiB,CAAC;IAC/B,oGAAoG;IACpG,uBAAuB,CAAC,EAAE,OAAO,CAAC;IAClC,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAC1B;AAUD,wBAAgB,sBAAsB,CAAC,EACrC,OAAO,EACP,SAAS,EACT,eAAe,EACf,SAAS,EACT,UAAU,EACV,uBAAuB,EACvB,QAAQ,GACT,EAAE,6BAA6B,GAAG,4BAA4B,GAAG,IAAI,CAoDrE"}
|
|
@@ -1,15 +1,27 @@
|
|
|
1
1
|
import { detectDeniedRead } from './denied-read-detector.js';
|
|
2
|
+
import { detectDockerDaemonBlock } from './docker-host-control.js';
|
|
2
3
|
function hasRuntimeAnnotation(rawStderr, annotatedStderr) {
|
|
3
4
|
return annotatedStderr !== rawStderr;
|
|
4
5
|
}
|
|
5
6
|
function hasProxyAllowlistBlock(stderr) {
|
|
6
7
|
return /blocked-by-allowlist/i.test(stderr) || (/\b403\s+Forbidden\b/i.test(stderr) && /allowlist/i.test(stderr));
|
|
7
8
|
}
|
|
8
|
-
export function classifySandboxFailure({ command, rawStderr, annotatedStderr, sandboxed, readPolicy, }) {
|
|
9
|
+
export function classifySandboxFailure({ command, rawStderr, annotatedStderr, sandboxed, readPolicy, dockerHostControlActive, exitCode, }) {
|
|
9
10
|
if (!sandboxed) {
|
|
10
11
|
return null;
|
|
11
12
|
}
|
|
12
13
|
const runtimeAnnotated = hasRuntimeAnnotation(rawStderr, annotatedStderr);
|
|
14
|
+
// Checked before the generic branches: a blocked daemon connection is
|
|
15
|
+
// actionable (the user can grant host control) where "blocked" is not.
|
|
16
|
+
// Reporting this replaces the command's output, so a command that succeeded
|
|
17
|
+
// is taken at its word however its stderr reads.
|
|
18
|
+
if (!dockerHostControlActive && exitCode !== 0 && detectDockerDaemonBlock(annotatedStderr)) {
|
|
19
|
+
return {
|
|
20
|
+
type: 'docker_blocked',
|
|
21
|
+
confidence: runtimeAnnotated ? 'runtime_annotation' : 'stderr_pattern',
|
|
22
|
+
stderr: annotatedStderr,
|
|
23
|
+
};
|
|
24
|
+
}
|
|
13
25
|
const proxyAllowlistBlocked = hasProxyAllowlistBlock(annotatedStderr) || hasProxyAllowlistBlock(rawStderr);
|
|
14
26
|
if (readPolicy === 'strict') {
|
|
15
27
|
const deniedRead = detectDeniedRead(command, annotatedStderr);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sandbox-failure-classifier.js","sourceRoot":"","sources":["../../../../source/utils/shell/sandbox/sandbox-failure-classifier.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,gBAAgB,EAAuB,MAAM,2BAA2B,CAAC;
|
|
1
|
+
{"version":3,"file":"sandbox-failure-classifier.js","sourceRoot":"","sources":["../../../../source/utils/shell/sandbox/sandbox-failure-classifier.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,gBAAgB,EAAuB,MAAM,2BAA2B,CAAC;AAClF,OAAO,EAAE,uBAAuB,EAAE,MAAM,0BAA0B,CAAC;AAoCnE,SAAS,oBAAoB,CAAC,SAAiB,EAAE,eAAuB;IACtE,OAAO,eAAe,KAAK,SAAS,CAAC;AACvC,CAAC;AAED,SAAS,sBAAsB,CAAC,MAAc;IAC5C,OAAO,uBAAuB,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,YAAY,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC;AACpH,CAAC;AAED,MAAM,UAAU,sBAAsB,CAAC,EACrC,OAAO,EACP,SAAS,EACT,eAAe,EACf,SAAS,EACT,UAAU,EACV,uBAAuB,EACvB,QAAQ,GACsB;IAC9B,IAAI,CAAC,SAAS,EAAE,CAAC;QACf,OAAO,IAAI,CAAC;IACd,CAAC;IAED,MAAM,gBAAgB,GAAG,oBAAoB,CAAC,SAAS,EAAE,eAAe,CAAC,CAAC;IAE1E,sEAAsE;IACtE,uEAAuE;IACvE,4EAA4E;IAC5E,iDAAiD;IACjD,IAAI,CAAC,uBAAuB,IAAI,QAAQ,KAAK,CAAC,IAAI,uBAAuB,CAAC,eAAe,CAAC,EAAE,CAAC;QAC3F,OAAO;YACL,IAAI,EAAE,gBAAgB;YACtB,UAAU,EAAE,gBAAgB,CAAC,CAAC,CAAC,oBAAoB,CAAC,CAAC,CAAC,gBAAgB;YACtE,MAAM,EAAE,eAAe;SACxB,CAAC;IACJ,CAAC;IAED,MAAM,qBAAqB,GAAG,sBAAsB,CAAC,eAAe,CAAC,IAAI,sBAAsB,CAAC,SAAS,CAAC,CAAC;IAE3G,IAAI,UAAU,KAAK,QAAQ,EAAE,CAAC;QAC5B,MAAM,UAAU,GAAG,gBAAgB,CAAC,OAAO,EAAE,eAAe,CAAC,CAAC;QAC9D,IAAI,UAAU,EAAE,CAAC;YACf,OAAO;gBACL,IAAI,EAAE,aAAa;gBACnB,UAAU,EAAE,gBAAgB,CAAC,CAAC,CAAC,oBAAoB,CAAC,CAAC,CAAC,gBAAgB;gBACtE,MAAM,EAAE,eAAe;gBACvB,UAAU;aACX,CAAC;QACJ,CAAC;IACH,CAAC;IAED,IAAI,gBAAgB,EAAE,CAAC;QACrB,OAAO;YACL,IAAI,EAAE,SAAS;YACf,MAAM,EAAE,qBAAqB,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS;YACrD,UAAU,EAAE,oBAAoB;YAChC,MAAM,EAAE,eAAe;SACxB,CAAC;IACJ,CAAC;IAED,IAAI,qBAAqB,EAAE,CAAC;QAC1B,OAAO;YACL,IAAI,EAAE,SAAS;YACf,MAAM,EAAE,SAAS;YACjB,UAAU,EAAE,gBAAgB;YAC5B,MAAM,EAAE,eAAe;SACxB,CAAC;IACJ,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC"}
|
|
@@ -2,7 +2,8 @@ export type SandboxNetworkAccessRequest = {
|
|
|
2
2
|
host: string;
|
|
3
3
|
port?: number;
|
|
4
4
|
};
|
|
5
|
-
type
|
|
5
|
+
export type NetworkApprovalAnswer = 'deny' | 'allow-once' | 'allow-session' | 'allow-project' | boolean;
|
|
6
|
+
type SandboxNetworkApprovalHandler = (request: SandboxNetworkAccessRequest) => Promise<NetworkApprovalAnswer>;
|
|
6
7
|
type SandboxNetworkApprovalPauseController = {
|
|
7
8
|
pause: () => void | Promise<void>;
|
|
8
9
|
resume: () => void | Promise<void>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sandbox-network-approval.d.ts","sourceRoot":"","sources":["../../../../source/utils/shell/sandbox/sandbox-network-approval.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"sandbox-network-approval.d.ts","sourceRoot":"","sources":["../../../../source/utils/shell/sandbox/sandbox-network-approval.ts"],"names":[],"mappings":"AAEA,MAAM,MAAM,2BAA2B,GAAG;IACxC,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,MAAM,CAAC;CACf,CAAC;AAEF,MAAM,MAAM,qBAAqB,GAAG,MAAM,GAAG,YAAY,GAAG,eAAe,GAAG,eAAe,GAAG,OAAO,CAAC;AAExG,KAAK,6BAA6B,GAAG,CAAC,OAAO,EAAE,2BAA2B,KAAK,OAAO,CAAC,qBAAqB,CAAC,CAAC;AAE9G,KAAK,qCAAqC,GAAG;IAC3C,KAAK,EAAE,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAClC,MAAM,EAAE,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CACpC,CAAC;AAKF,wBAAgB,qCAAqC,CAAC,OAAO,EAAE,6BAA6B,GAAG,IAAI,GAAG,MAAM,IAAI,CAO/G;AAED,wBAAgB,6CAA6C,CAC3D,UAAU,EAAE,qCAAqC,GAAG,IAAI,GACvD,MAAM,IAAI,CAOZ;AAkBD,wBAAsB,6BAA6B,CAAC,OAAO,EAAE,2BAA2B,GAAG,OAAO,CAAC,OAAO,CAAC,CA6B1G"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { addAllowedHost, isHostAllowed } from './sandbox-network-store.js';
|
|
1
2
|
let activeHandler = null;
|
|
2
3
|
let activePauseController = null;
|
|
3
4
|
export function registerSandboxNetworkApprovalHandler(handler) {
|
|
@@ -33,12 +34,27 @@ async function resumeActiveSandboxedCommand() {
|
|
|
33
34
|
}
|
|
34
35
|
}
|
|
35
36
|
export async function requestSandboxNetworkApproval(request) {
|
|
37
|
+
if (isHostAllowed(request.host, request.port)) {
|
|
38
|
+
return true;
|
|
39
|
+
}
|
|
36
40
|
if (!activeHandler) {
|
|
37
41
|
return false;
|
|
38
42
|
}
|
|
39
43
|
await pauseActiveSandboxedCommand();
|
|
40
44
|
try {
|
|
41
|
-
|
|
45
|
+
const answer = await activeHandler(request);
|
|
46
|
+
if (answer === true || answer === 'allow-once') {
|
|
47
|
+
return true;
|
|
48
|
+
}
|
|
49
|
+
if (answer === 'allow-session') {
|
|
50
|
+
addAllowedHost(request.host, request.port, 'session');
|
|
51
|
+
return true;
|
|
52
|
+
}
|
|
53
|
+
if (answer === 'allow-project') {
|
|
54
|
+
addAllowedHost(request.host, request.port, 'project');
|
|
55
|
+
return true;
|
|
56
|
+
}
|
|
57
|
+
return false;
|
|
42
58
|
}
|
|
43
59
|
catch {
|
|
44
60
|
return false;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sandbox-network-approval.js","sourceRoot":"","sources":["../../../../source/utils/shell/sandbox/sandbox-network-approval.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"sandbox-network-approval.js","sourceRoot":"","sources":["../../../../source/utils/shell/sandbox/sandbox-network-approval.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAgB3E,IAAI,aAAa,GAAyC,IAAI,CAAC;AAC/D,IAAI,qBAAqB,GAAiD,IAAI,CAAC;AAE/E,MAAM,UAAU,qCAAqC,CAAC,OAA6C;IACjG,aAAa,GAAG,OAAO,CAAC;IACxB,OAAO,GAAG,EAAE;QACV,IAAI,aAAa,KAAK,OAAO,EAAE,CAAC;YAC9B,aAAa,GAAG,IAAI,CAAC;QACvB,CAAC;IACH,CAAC,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,6CAA6C,CAC3D,UAAwD;IAExD,qBAAqB,GAAG,UAAU,CAAC;IACnC,OAAO,GAAG,EAAE;QACV,IAAI,qBAAqB,KAAK,UAAU,EAAE,CAAC;YACzC,qBAAqB,GAAG,IAAI,CAAC;QAC/B,CAAC;IACH,CAAC,CAAC;AACJ,CAAC;AAED,KAAK,UAAU,2BAA2B;IACxC,IAAI,CAAC;QACH,MAAM,qBAAqB,EAAE,KAAK,EAAE,CAAC;IACvC,CAAC;IAAC,MAAM,CAAC;QACP,0EAA0E;IAC5E,CAAC;AACH,CAAC;AAED,KAAK,UAAU,4BAA4B;IACzC,IAAI,CAAC;QACH,MAAM,qBAAqB,EAAE,MAAM,EAAE,CAAC;IACxC,CAAC;IAAC,MAAM,CAAC;QACP,6EAA6E;IAC/E,CAAC;AACH,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,6BAA6B,CAAC,OAAoC;IACtF,IAAI,aAAa,CAAC,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;QAC9C,OAAO,IAAI,CAAC;IACd,CAAC;IAED,IAAI,CAAC,aAAa,EAAE,CAAC;QACnB,OAAO,KAAK,CAAC;IACf,CAAC;IAED,MAAM,2BAA2B,EAAE,CAAC;IACpC,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,MAAM,aAAa,CAAC,OAAO,CAAC,CAAC;QAC5C,IAAI,MAAM,KAAK,IAAI,IAAI,MAAM,KAAK,YAAY,EAAE,CAAC;YAC/C,OAAO,IAAI,CAAC;QACd,CAAC;QACD,IAAI,MAAM,KAAK,eAAe,EAAE,CAAC;YAC/B,cAAc,CAAC,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;YACtD,OAAO,IAAI,CAAC;QACd,CAAC;QACD,IAAI,MAAM,KAAK,eAAe,EAAE,CAAC;YAC/B,cAAc,CAAC,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;YACtD,OAAO,IAAI,CAAC;QACd,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAC;IACf,CAAC;YAAS,CAAC;QACT,MAAM,4BAA4B,EAAE,CAAC;IACvC,CAAC;AACH,CAAC"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import fs from 'node:fs';
|
|
2
|
+
export declare class SessionNetworkAllowStore {
|
|
3
|
+
#private;
|
|
4
|
+
add(hostOrHostPort: string): void;
|
|
5
|
+
isAllowed(host: string, port?: number): boolean;
|
|
6
|
+
clear(): void;
|
|
7
|
+
}
|
|
8
|
+
export declare class ProjectNetworkAllowStore {
|
|
9
|
+
#private;
|
|
10
|
+
constructor(workspaceRoot: string, fileSystem?: typeof fs);
|
|
11
|
+
load(): string[];
|
|
12
|
+
isAllowed(host: string, port?: number): boolean;
|
|
13
|
+
append(hostOrHostPort: string): void;
|
|
14
|
+
}
|
|
15
|
+
export declare const sessionNetworkAllowStore: SessionNetworkAllowStore;
|
|
16
|
+
export declare function getProjectNetworkAllowStore(workspaceRoot: string): ProjectNetworkAllowStore;
|
|
17
|
+
export declare function isHostAllowed(host: string, port?: number, workspaceRoot?: string): boolean;
|
|
18
|
+
export declare function addAllowedHost(host: string, port: number | undefined, scope: 'session' | 'project', workspaceRoot?: string): void;
|
|
19
|
+
export declare function resetSandboxNetworkStoreForTest(): void;
|
|
20
|
+
//# sourceMappingURL=sandbox-network-store.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sandbox-network-store.d.ts","sourceRoot":"","sources":["../../../../source/utils/shell/sandbox/sandbox-network-store.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,SAAS,CAAC;AAWzB,qBAAa,wBAAwB;;IAGnC,GAAG,CAAC,cAAc,EAAE,MAAM,GAAG,IAAI,CAEhC;IAED,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,GAAG,OAAO,CAK9C;IAED,KAAK,IAAI,IAAI,CAEZ;CACF;AAED,qBAAa,wBAAwB;;IAInC,YAAY,aAAa,EAAE,MAAM,EAAE,UAAU,GAAE,OAAO,EAAO,EAG5D;IAMD,IAAI,IAAI,MAAM,EAAE,CAYf;IAED,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,GAAG,OAAO,CAM9C;IAED,MAAM,CAAC,cAAc,EAAE,MAAM,GAAG,IAAI,CAMnC;CAQF;AAED,eAAO,MAAM,wBAAwB,0BAAiC,CAAC;AAKvE,wBAAgB,2BAA2B,CAAC,aAAa,EAAE,MAAM,GAAG,wBAAwB,CAM3F;AAED,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,EAAE,aAAa,GAAE,MAAsB,GAAG,OAAO,CAGzG;AAED,wBAAgB,cAAc,CAC5B,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,MAAM,GAAG,SAAS,EACxB,KAAK,EAAE,SAAS,GAAG,SAAS,EAC5B,aAAa,GAAE,MAAsB,GACpC,IAAI,CAON;AAED,wBAAgB,+BAA+B,IAAI,IAAI,CAItD"}
|
|
@@ -0,0 +1,99 @@
|
|
|
1
|
+
import fs from 'node:fs';
|
|
2
|
+
import path from 'node:path';
|
|
3
|
+
const PROJECT_CONFIG_DIR = '.term2';
|
|
4
|
+
const PROJECT_NETWORK_HOSTS_FILE = 'sandbox-network-hosts.json';
|
|
5
|
+
export class SessionNetworkAllowStore {
|
|
6
|
+
#allowedHosts = new Set();
|
|
7
|
+
add(hostOrHostPort) {
|
|
8
|
+
this.#allowedHosts.add(hostOrHostPort.toLowerCase());
|
|
9
|
+
}
|
|
10
|
+
isAllowed(host, port) {
|
|
11
|
+
const lowerHost = host.toLowerCase();
|
|
12
|
+
if (this.#allowedHosts.has(lowerHost))
|
|
13
|
+
return true;
|
|
14
|
+
if (port != null && this.#allowedHosts.has(`${lowerHost}:${port}`))
|
|
15
|
+
return true;
|
|
16
|
+
return false;
|
|
17
|
+
}
|
|
18
|
+
clear() {
|
|
19
|
+
this.#allowedHosts.clear();
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
export class ProjectNetworkAllowStore {
|
|
23
|
+
#workspaceRoot;
|
|
24
|
+
#fs;
|
|
25
|
+
constructor(workspaceRoot, fileSystem = fs) {
|
|
26
|
+
this.#workspaceRoot = workspaceRoot;
|
|
27
|
+
this.#fs = fileSystem;
|
|
28
|
+
}
|
|
29
|
+
get #configPath() {
|
|
30
|
+
return path.join(this.#workspaceRoot, PROJECT_CONFIG_DIR, PROJECT_NETWORK_HOSTS_FILE);
|
|
31
|
+
}
|
|
32
|
+
load() {
|
|
33
|
+
try {
|
|
34
|
+
if (!this.#fs.existsSync(this.#configPath))
|
|
35
|
+
return [];
|
|
36
|
+
const raw = this.#fs.readFileSync(this.#configPath, 'utf8');
|
|
37
|
+
const parsed = JSON.parse(raw);
|
|
38
|
+
if (!parsed || !Array.isArray(parsed.allowHosts))
|
|
39
|
+
return [];
|
|
40
|
+
return Array.from(new Set(parsed.allowHosts.filter((h) => typeof h === 'string').map((h) => h.toLowerCase())));
|
|
41
|
+
}
|
|
42
|
+
catch {
|
|
43
|
+
return [];
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
isAllowed(host, port) {
|
|
47
|
+
const hosts = this.load();
|
|
48
|
+
const lowerHost = host.toLowerCase();
|
|
49
|
+
if (hosts.includes(lowerHost))
|
|
50
|
+
return true;
|
|
51
|
+
if (port != null && hosts.includes(`${lowerHost}:${port}`))
|
|
52
|
+
return true;
|
|
53
|
+
return false;
|
|
54
|
+
}
|
|
55
|
+
append(hostOrHostPort) {
|
|
56
|
+
const normalized = hostOrHostPort.toLowerCase();
|
|
57
|
+
const current = this.load();
|
|
58
|
+
if (current.includes(normalized))
|
|
59
|
+
return;
|
|
60
|
+
const next = [...current, normalized];
|
|
61
|
+
this.#write(next);
|
|
62
|
+
}
|
|
63
|
+
#write(hosts) {
|
|
64
|
+
const dir = path.dirname(this.#configPath);
|
|
65
|
+
this.#fs.mkdirSync(dir, { recursive: true });
|
|
66
|
+
const payload = { version: 1, allowHosts: hosts };
|
|
67
|
+
this.#fs.writeFileSync(this.#configPath, JSON.stringify(payload, null, 2) + '\n', 'utf8');
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
export const sessionNetworkAllowStore = new SessionNetworkAllowStore();
|
|
71
|
+
let projectNetworkAllowStore = null;
|
|
72
|
+
let projectNetworkAllowStoreRoot = null;
|
|
73
|
+
export function getProjectNetworkAllowStore(workspaceRoot) {
|
|
74
|
+
if (!projectNetworkAllowStore || projectNetworkAllowStoreRoot !== workspaceRoot) {
|
|
75
|
+
projectNetworkAllowStore = new ProjectNetworkAllowStore(workspaceRoot);
|
|
76
|
+
projectNetworkAllowStoreRoot = workspaceRoot;
|
|
77
|
+
}
|
|
78
|
+
return projectNetworkAllowStore;
|
|
79
|
+
}
|
|
80
|
+
export function isHostAllowed(host, port, workspaceRoot = process.cwd()) {
|
|
81
|
+
if (sessionNetworkAllowStore.isAllowed(host, port))
|
|
82
|
+
return true;
|
|
83
|
+
return getProjectNetworkAllowStore(workspaceRoot).isAllowed(host, port);
|
|
84
|
+
}
|
|
85
|
+
export function addAllowedHost(host, port, scope, workspaceRoot = process.cwd()) {
|
|
86
|
+
const entry = port != null && port !== 80 && port !== 443 ? `${host}:${port}` : host;
|
|
87
|
+
if (scope === 'session') {
|
|
88
|
+
sessionNetworkAllowStore.add(entry);
|
|
89
|
+
}
|
|
90
|
+
else if (scope === 'project') {
|
|
91
|
+
getProjectNetworkAllowStore(workspaceRoot).append(entry);
|
|
92
|
+
}
|
|
93
|
+
}
|
|
94
|
+
export function resetSandboxNetworkStoreForTest() {
|
|
95
|
+
sessionNetworkAllowStore.clear();
|
|
96
|
+
projectNetworkAllowStore = null;
|
|
97
|
+
projectNetworkAllowStoreRoot = null;
|
|
98
|
+
}
|
|
99
|
+
//# sourceMappingURL=sandbox-network-store.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sandbox-network-store.js","sourceRoot":"","sources":["../../../../source/utils/shell/sandbox/sandbox-network-store.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,6 @@
|
|
|
1
1
|
import type { CommandMessage } from '../../tools/types.js';
|
|
2
|
+
export declare const markToolCallAsLlmAutoApproved: (callId?: string | null) => void;
|
|
3
|
+
export declare const clearLlmAutoApprovalMarkers: () => void;
|
|
2
4
|
export declare const markToolCallAsApprovalRejection: (callId?: string | null) => void;
|
|
3
5
|
export declare const clearApprovalRejectionMarkers: () => void;
|
|
4
6
|
export declare const extractCommandMessages: (items?: readonly unknown[]) => CommandMessage[];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"extract-command-messages.d.ts","sourceRoot":"","sources":["../../../source/utils/streaming/extract-command-messages.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;
|
|
1
|
+
{"version":3,"file":"extract-command-messages.d.ts","sourceRoot":"","sources":["../../../source/utils/streaming/extract-command-messages.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAK3D,eAAO,MAAM,6BAA6B,YAAa,MAAM,GAAG,IAAI,KAAG,IAItE,CAAC;AAEF,eAAO,MAAM,2BAA2B,QAAO,IAE9C,CAAC;AAEF,eAAO,MAAM,+BAA+B,YAAa,MAAM,GAAG,IAAI,KAAG,IAKxE,CAAC;AAEF,eAAO,MAAM,6BAA6B,QAAO,IAEhD,CAAC;AA0DF,eAAO,MAAM,sBAAsB,WAAW,SAAS,OAAO,EAAE,KAAQ,cAAc,EA6FrF,CAAC"}
|