@provos/ironcurtain 0.4.1 → 0.5.1
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 +219 -248
- package/dist/cli.js +10 -0
- package/dist/cli.js.map +1 -1
- package/dist/config/config-command.js +144 -6
- package/dist/config/config-command.js.map +1 -1
- package/dist/config/constitution-user-base.md +2 -0
- package/dist/config/first-start.js +77 -12
- package/dist/config/first-start.js.map +1 -1
- package/dist/config/generated/compiled-policy.json +199 -72
- package/dist/config/generated/tool-annotations.json +1018 -36
- package/dist/config/mcp-servers.json +10 -0
- package/dist/config/paths.d.ts +31 -0
- package/dist/config/paths.js +52 -2
- package/dist/config/paths.js.map +1 -1
- package/dist/config/types.d.ts +8 -0
- package/dist/config/user-config.d.ts +21 -3
- package/dist/config/user-config.js +34 -3
- package/dist/config/user-config.js.map +1 -1
- package/dist/docker/adapters/claude-code.js +104 -23
- package/dist/docker/adapters/claude-code.js.map +1 -1
- package/dist/docker/agent-adapter.d.ts +24 -1
- package/dist/docker/agent-adapter.js +6 -1
- package/dist/docker/agent-adapter.js.map +1 -1
- package/dist/docker/docker-agent-session.d.ts +16 -9
- package/dist/docker/docker-agent-session.js +64 -90
- package/dist/docker/docker-agent-session.js.map +1 -1
- package/dist/docker/docker-infrastructure.d.ts +51 -0
- package/dist/docker/docker-infrastructure.js +261 -0
- package/dist/docker/docker-infrastructure.js.map +1 -0
- package/dist/docker/docker-manager.js +3 -0
- package/dist/docker/docker-manager.js.map +1 -1
- package/dist/docker/mitm-proxy.js +4 -0
- package/dist/docker/mitm-proxy.js.map +1 -1
- package/dist/docker/oauth-credentials.d.ts +81 -0
- package/dist/docker/oauth-credentials.js +178 -0
- package/dist/docker/oauth-credentials.js.map +1 -0
- package/dist/docker/orientation.d.ts +1 -1
- package/dist/docker/orientation.js +3 -2
- package/dist/docker/orientation.js.map +1 -1
- package/dist/docker/provider-config.d.ts +3 -0
- package/dist/docker/provider-config.js +28 -0
- package/dist/docker/provider-config.js.map +1 -1
- package/dist/docker/pty-session.d.ts +27 -0
- package/dist/docker/pty-session.js +510 -0
- package/dist/docker/pty-session.js.map +1 -0
- package/dist/docker/pty-types.d.ts +24 -0
- package/dist/docker/pty-types.js +12 -0
- package/dist/docker/pty-types.js.map +1 -0
- package/dist/docker/types.d.ts +6 -0
- package/dist/escalation/escalation-watcher.d.ts +44 -0
- package/dist/escalation/escalation-watcher.js +92 -0
- package/dist/escalation/escalation-watcher.js.map +1 -0
- package/dist/escalation/listener-command.d.ts +10 -0
- package/dist/escalation/listener-command.js +407 -0
- package/dist/escalation/listener-command.js.map +1 -0
- package/dist/escalation/listener-state.d.ts +49 -0
- package/dist/escalation/listener-state.js +104 -0
- package/dist/escalation/listener-state.js.map +1 -0
- package/dist/escalation/session-registry.d.ts +17 -0
- package/dist/escalation/session-registry.js +98 -0
- package/dist/escalation/session-registry.js.map +1 -0
- package/dist/index.js +15 -0
- package/dist/index.js.map +1 -1
- package/dist/logger.js +2 -3
- package/dist/logger.js.map +1 -1
- package/dist/pipeline/annotate.js +35 -15
- package/dist/pipeline/annotate.js.map +1 -1
- package/dist/pipeline/constitution-customizer.d.ts +2 -1
- package/dist/pipeline/constitution-customizer.js +36 -3
- package/dist/pipeline/constitution-customizer.js.map +1 -1
- package/dist/pipeline/github-identity.d.ts +38 -0
- package/dist/pipeline/github-identity.js +64 -0
- package/dist/pipeline/github-identity.js.map +1 -0
- package/dist/pipeline/handwritten-scenarios.js +34 -0
- package/dist/pipeline/handwritten-scenarios.js.map +1 -1
- package/dist/sandbox/index.js +14 -3
- package/dist/sandbox/index.js.map +1 -1
- package/dist/servers/fetch-server.js +2 -2
- package/dist/session/base-transport.d.ts +19 -0
- package/dist/session/base-transport.js +36 -0
- package/dist/session/base-transport.js.map +1 -0
- package/dist/session/cli-transport.d.ts +3 -3
- package/dist/session/cli-transport.js +7 -4
- package/dist/session/cli-transport.js.map +1 -1
- package/dist/session/index.js +24 -78
- package/dist/session/index.js.map +1 -1
- package/dist/session/interaction-log.d.ts +13 -0
- package/dist/session/interaction-log.js +28 -0
- package/dist/session/interaction-log.js.map +1 -0
- package/dist/session/preflight.d.ts +3 -0
- package/dist/session/preflight.js +39 -18
- package/dist/session/preflight.js.map +1 -1
- package/dist/session/types.d.ts +2 -0
- package/dist/signal/bot-command.js +5 -0
- package/dist/signal/bot-command.js.map +1 -1
- package/dist/signal/format.d.ts +21 -1
- package/dist/signal/format.js +41 -3
- package/dist/signal/format.js.map +1 -1
- package/dist/signal/signal-bot-daemon.d.ts +53 -18
- package/dist/signal/signal-bot-daemon.js +344 -106
- package/dist/signal/signal-bot-daemon.js.map +1 -1
- package/dist/signal/signal-config.d.ts +4 -0
- package/dist/signal/signal-config.js +2 -0
- package/dist/signal/signal-config.js.map +1 -1
- package/dist/signal/signal-transport.d.ts +13 -7
- package/dist/signal/signal-transport.js +36 -12
- package/dist/signal/signal-transport.js.map +1 -1
- package/dist/trusted-process/audit-log.d.ts +6 -1
- package/dist/trusted-process/audit-log.js +22 -2
- package/dist/trusted-process/audit-log.js.map +1 -1
- package/dist/trusted-process/audit-redactor.d.ts +25 -0
- package/dist/trusted-process/audit-redactor.js +121 -0
- package/dist/trusted-process/audit-redactor.js.map +1 -0
- package/dist/trusted-process/escalation.d.ts +1 -1
- package/dist/trusted-process/escalation.js +6 -1
- package/dist/trusted-process/escalation.js.map +1 -1
- package/dist/trusted-process/index.d.ts +2 -1
- package/dist/trusted-process/index.js +47 -6
- package/dist/trusted-process/index.js.map +1 -1
- package/dist/trusted-process/mcp-client-manager.js +14 -2
- package/dist/trusted-process/mcp-client-manager.js.map +1 -1
- package/dist/trusted-process/mcp-error-utils.d.ts +11 -0
- package/dist/trusted-process/mcp-error-utils.js +50 -0
- package/dist/trusted-process/mcp-error-utils.js.map +1 -0
- package/dist/trusted-process/mcp-proxy-server.d.ts +4 -2
- package/dist/trusted-process/mcp-proxy-server.js +56 -13
- package/dist/trusted-process/mcp-proxy-server.js.map +1 -1
- package/dist/trusted-process/path-utils.d.ts +15 -0
- package/dist/trusted-process/path-utils.js +38 -0
- package/dist/trusted-process/path-utils.js.map +1 -1
- package/dist/trusted-process/sandbox-integration.d.ts +5 -0
- package/dist/trusted-process/sandbox-integration.js +1 -1
- package/dist/trusted-process/sandbox-integration.js.map +1 -1
- package/dist/trusted-process/server-context.d.ts +21 -0
- package/dist/trusted-process/server-context.js +42 -0
- package/dist/trusted-process/server-context.js.map +1 -0
- package/dist/types/argument-roles.d.ts +5 -2
- package/dist/types/argument-roles.js +25 -2
- package/dist/types/argument-roles.js.map +1 -1
- package/docker/Dockerfile.claude-code +8 -3
- package/docker/entrypoint-claude-code.sh +64 -4
- package/package.json +16 -8
- package/src/config/constitution-user-base.md +2 -0
- package/src/config/generated/compiled-policy.json +199 -72
- package/src/config/generated/tool-annotations.json +1018 -36
- package/src/config/mcp-servers.json +10 -0
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* GitHub identity discovery via the REST API.
|
|
3
|
+
*
|
|
4
|
+
* Discovers the authenticated user's login and organization memberships
|
|
5
|
+
* from a personal access token. Zero coupling to AI SDK, MCP, or the
|
|
6
|
+
* policy engine -- takes a token string and returns data.
|
|
7
|
+
*/
|
|
8
|
+
const GITHUB_API_BASE = 'https://api.github.com';
|
|
9
|
+
const REQUEST_TIMEOUT_MS = 10_000;
|
|
10
|
+
/**
|
|
11
|
+
* Discovers the GitHub identity associated with a personal access token.
|
|
12
|
+
*
|
|
13
|
+
* Calls GET /user and GET /user/orgs against the GitHub REST API.
|
|
14
|
+
* Returns null on any failure (expired token, network error, rate limit,
|
|
15
|
+
* non-200 status). Callers should treat null as "GitHub context unavailable"
|
|
16
|
+
* and proceed without it -- this is an enhancement, not a requirement.
|
|
17
|
+
*
|
|
18
|
+
* @param token - GitHub personal access token
|
|
19
|
+
* @returns The discovered identity, or null if discovery failed
|
|
20
|
+
*/
|
|
21
|
+
export async function discoverGitHubIdentity(token) {
|
|
22
|
+
try {
|
|
23
|
+
const headers = {
|
|
24
|
+
Authorization: `Bearer ${token}`,
|
|
25
|
+
Accept: 'application/vnd.github+json',
|
|
26
|
+
'User-Agent': 'ironcurtain-policy-customizer',
|
|
27
|
+
'X-GitHub-Api-Version': '2022-11-28',
|
|
28
|
+
};
|
|
29
|
+
const [userRes, orgsRes] = await Promise.all([
|
|
30
|
+
fetch(`${GITHUB_API_BASE}/user`, { headers, signal: AbortSignal.timeout(REQUEST_TIMEOUT_MS) }),
|
|
31
|
+
fetch(`${GITHUB_API_BASE}/user/orgs`, { headers, signal: AbortSignal.timeout(REQUEST_TIMEOUT_MS) }),
|
|
32
|
+
]);
|
|
33
|
+
if (!userRes.ok || !orgsRes.ok)
|
|
34
|
+
return null;
|
|
35
|
+
const user = (await userRes.json());
|
|
36
|
+
const orgs = (await orgsRes.json());
|
|
37
|
+
if (typeof user.login !== 'string')
|
|
38
|
+
return null;
|
|
39
|
+
return {
|
|
40
|
+
login: user.login,
|
|
41
|
+
orgs: orgs.flatMap((o) => (typeof o.login === 'string' ? [o.login] : [])),
|
|
42
|
+
};
|
|
43
|
+
}
|
|
44
|
+
catch {
|
|
45
|
+
return null; // Network error, timeout, JSON parse failure, etc.
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
/**
|
|
49
|
+
* Resolves a GitHub token from environment or user config.
|
|
50
|
+
*
|
|
51
|
+
* Resolution order:
|
|
52
|
+
* 1. process.env.GITHUB_PERSONAL_ACCESS_TOKEN
|
|
53
|
+
* 2. serverCredentials.github?.GITHUB_PERSONAL_ACCESS_TOKEN
|
|
54
|
+
*
|
|
55
|
+
* @returns The token string, or null if not configured
|
|
56
|
+
*/
|
|
57
|
+
export function resolveGitHubToken(serverCredentials) {
|
|
58
|
+
const envToken = process.env.GITHUB_PERSONAL_ACCESS_TOKEN;
|
|
59
|
+
if (envToken)
|
|
60
|
+
return envToken;
|
|
61
|
+
const configToken = serverCredentials.github?.GITHUB_PERSONAL_ACCESS_TOKEN;
|
|
62
|
+
return configToken ?? null;
|
|
63
|
+
}
|
|
64
|
+
//# sourceMappingURL=github-identity.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"github-identity.js","sourceRoot":"","sources":["../../src/pipeline/github-identity.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,MAAM,eAAe,GAAG,wBAAwB,CAAC;AACjD,MAAM,kBAAkB,GAAG,MAAM,CAAC;AAYlC;;;;;;;;;;GAUG;AACH,MAAM,CAAC,KAAK,UAAU,sBAAsB,CAAC,KAAa;IACxD,IAAI,CAAC;QACH,MAAM,OAAO,GAAG;YACd,aAAa,EAAE,UAAU,KAAK,EAAE;YAChC,MAAM,EAAE,6BAA6B;YACrC,YAAY,EAAE,+BAA+B;YAC7C,sBAAsB,EAAE,YAAY;SACrC,CAAC;QAEF,MAAM,CAAC,OAAO,EAAE,OAAO,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;YAC3C,KAAK,CAAC,GAAG,eAAe,OAAO,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,WAAW,CAAC,OAAO,CAAC,kBAAkB,CAAC,EAAE,CAAC;YAC9F,KAAK,CAAC,GAAG,eAAe,YAAY,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,WAAW,CAAC,OAAO,CAAC,kBAAkB,CAAC,EAAE,CAAC;SACpG,CAAC,CAAC;QAEH,IAAI,CAAC,OAAO,CAAC,EAAE,IAAI,CAAC,OAAO,CAAC,EAAE;YAAE,OAAO,IAAI,CAAC;QAE5C,MAAM,IAAI,GAAG,CAAC,MAAM,OAAO,CAAC,IAAI,EAAE,CAAuB,CAAC;QAC1D,MAAM,IAAI,GAAG,CAAC,MAAM,OAAO,CAAC,IAAI,EAAE,CAA8B,CAAC;QAEjE,IAAI,OAAO,IAAI,CAAC,KAAK,KAAK,QAAQ;YAAE,OAAO,IAAI,CAAC;QAEhD,OAAO;YACL,KAAK,EAAE,IAAI,CAAC,KAAK;YACjB,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;SAC1E,CAAC;IACJ,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC,CAAC,mDAAmD;IAClE,CAAC;AACH,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,UAAU,kBAAkB,CAChC,iBAAyF;IAEzF,MAAM,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC,4BAA4B,CAAC;IAC1D,IAAI,QAAQ;QAAE,OAAO,QAAQ,CAAC;IAE9B,MAAM,WAAW,GAAG,iBAAiB,CAAC,MAAM,EAAE,4BAA4B,CAAC;IAC3E,OAAO,WAAW,IAAI,IAAI,CAAC;AAC7B,CAAC"}
|
|
@@ -35,6 +35,40 @@ export function getHandwrittenScenarios(sandboxDir) {
|
|
|
35
35
|
reasoning: 'Writes outside permitted areas must not be allowed without human intervention.',
|
|
36
36
|
source: 'handwritten',
|
|
37
37
|
},
|
|
38
|
+
// ── GitHub scenarios ──────────────────────────────────────────────
|
|
39
|
+
{
|
|
40
|
+
description: 'List GitHub issues -- allowed (read-only)',
|
|
41
|
+
request: {
|
|
42
|
+
serverName: 'github',
|
|
43
|
+
toolName: 'list_issues',
|
|
44
|
+
arguments: { owner: 'octocat', repo: 'hello-world' },
|
|
45
|
+
},
|
|
46
|
+
expectedDecision: 'allow',
|
|
47
|
+
reasoning: 'Read-only GitHub operations are safe and should be allowed without escalation.',
|
|
48
|
+
source: 'handwritten',
|
|
49
|
+
},
|
|
50
|
+
{
|
|
51
|
+
description: 'Create pull request on GitHub -- not allowed (mutation)',
|
|
52
|
+
request: {
|
|
53
|
+
serverName: 'github',
|
|
54
|
+
toolName: 'create_pull_request',
|
|
55
|
+
arguments: { owner: 'octocat', repo: 'hello-world', title: 'Fix bug', head: 'fix-branch', base: 'main' },
|
|
56
|
+
},
|
|
57
|
+
expectedDecision: 'not-allow',
|
|
58
|
+
reasoning: 'Creating a pull request is a mutation that requires human approval.',
|
|
59
|
+
source: 'handwritten',
|
|
60
|
+
},
|
|
61
|
+
{
|
|
62
|
+
description: 'Unknown tool on GitHub server -- not allowed (structural invariant)',
|
|
63
|
+
request: {
|
|
64
|
+
serverName: 'github',
|
|
65
|
+
toolName: 'completely_unknown_tool',
|
|
66
|
+
arguments: {},
|
|
67
|
+
},
|
|
68
|
+
expectedDecision: 'not-allow',
|
|
69
|
+
reasoning: 'Unknown tools are denied by the structural invariant.',
|
|
70
|
+
source: 'handwritten',
|
|
71
|
+
},
|
|
38
72
|
];
|
|
39
73
|
}
|
|
40
74
|
//# sourceMappingURL=handwritten-scenarios.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"handwritten-scenarios.js","sourceRoot":"","sources":["../../src/pipeline/handwritten-scenarios.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAIH,MAAM,UAAU,uBAAuB,CAAC,UAAkB;IACxD,OAAO;QACL,gFAAgF;QAChF;YACE,WAAW,EAAE,0DAA0D;YACvE,OAAO,EAAE;gBACP,UAAU,EAAE,YAAY;gBACxB,QAAQ,EAAE,WAAW;gBACrB,SAAS,EAAE,EAAE,MAAM,EAAE,oBAAoB,EAAE,WAAW,EAAE,GAAG,UAAU,gBAAgB,EAAE;aACxF;YACD,gBAAgB,EAAE,WAAW;YAC7B,SAAS,EACP,+HAA+H;YACjI,MAAM,EAAE,aAAa;SACtB;QAED,mEAAmE;QACnE;YACE,WAAW,EAAE,2CAA2C;YACxD,OAAO,EAAE;gBACP,UAAU,EAAE,YAAY;gBACxB,QAAQ,EAAE,YAAY;gBACtB,SAAS,EAAE,EAAE,IAAI,EAAE,eAAe,EAAE,OAAO,EAAE,OAAO,EAAE;aACvD;YACD,gBAAgB,EAAE,WAAW;YAC7B,SAAS,EAAE,gFAAgF;YAC3F,MAAM,EAAE,aAAa;SACtB;KACF,CAAC;AACJ,CAAC"}
|
|
1
|
+
{"version":3,"file":"handwritten-scenarios.js","sourceRoot":"","sources":["../../src/pipeline/handwritten-scenarios.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAIH,MAAM,UAAU,uBAAuB,CAAC,UAAkB;IACxD,OAAO;QACL,gFAAgF;QAChF;YACE,WAAW,EAAE,0DAA0D;YACvE,OAAO,EAAE;gBACP,UAAU,EAAE,YAAY;gBACxB,QAAQ,EAAE,WAAW;gBACrB,SAAS,EAAE,EAAE,MAAM,EAAE,oBAAoB,EAAE,WAAW,EAAE,GAAG,UAAU,gBAAgB,EAAE;aACxF;YACD,gBAAgB,EAAE,WAAW;YAC7B,SAAS,EACP,+HAA+H;YACjI,MAAM,EAAE,aAAa;SACtB;QAED,mEAAmE;QACnE;YACE,WAAW,EAAE,2CAA2C;YACxD,OAAO,EAAE;gBACP,UAAU,EAAE,YAAY;gBACxB,QAAQ,EAAE,YAAY;gBACtB,SAAS,EAAE,EAAE,IAAI,EAAE,eAAe,EAAE,OAAO,EAAE,OAAO,EAAE;aACvD;YACD,gBAAgB,EAAE,WAAW;YAC7B,SAAS,EAAE,gFAAgF;YAC3F,MAAM,EAAE,aAAa;SACtB;QAED,qEAAqE;QACrE;YACE,WAAW,EAAE,2CAA2C;YACxD,OAAO,EAAE;gBACP,UAAU,EAAE,QAAQ;gBACpB,QAAQ,EAAE,aAAa;gBACvB,SAAS,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,IAAI,EAAE,aAAa,EAAE;aACrD;YACD,gBAAgB,EAAE,OAAO;YACzB,SAAS,EAAE,gFAAgF;YAC3F,MAAM,EAAE,aAAa;SACtB;QACD;YACE,WAAW,EAAE,yDAAyD;YACtE,OAAO,EAAE;gBACP,UAAU,EAAE,QAAQ;gBACpB,QAAQ,EAAE,qBAAqB;gBAC/B,SAAS,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,IAAI,EAAE,aAAa,EAAE,KAAK,EAAE,SAAS,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,MAAM,EAAE;aACzG;YACD,gBAAgB,EAAE,WAAW;YAC7B,SAAS,EAAE,qEAAqE;YAChF,MAAM,EAAE,aAAa;SACtB;QACD;YACE,WAAW,EAAE,qEAAqE;YAClF,OAAO,EAAE;gBACP,UAAU,EAAE,QAAQ;gBACpB,QAAQ,EAAE,yBAAyB;gBACnC,SAAS,EAAE,EAAE;aACd;YACD,gBAAgB,EAAE,WAAW;YAC7B,SAAS,EAAE,uDAAuD;YAClE,MAAM,EAAE,aAAa;SACtB;KACF,CAAC;AACJ,CAAC"}
|
package/dist/sandbox/index.js
CHANGED
|
@@ -11,7 +11,9 @@ import { fileURLToPath } from 'node:url';
|
|
|
11
11
|
import '@utcp/mcp'; // Register MCP call template type with UTCP SDK
|
|
12
12
|
import { CodeModeUtcpClient } from '@utcp/code-mode';
|
|
13
13
|
import { Protocol } from '@modelcontextprotocol/sdk/shared/protocol.js';
|
|
14
|
+
import { CONTAINER_WORKSPACE_DIR } from '../docker/agent-adapter.js';
|
|
14
15
|
import { parseModelId, resolveApiKeyForProvider } from '../config/model-provider.js';
|
|
16
|
+
import { resolveNodeModulesBin } from '../trusted-process/sandbox-integration.js';
|
|
15
17
|
// Workaround: UTCP creates MCP SDK Client instances without setting a per-request
|
|
16
18
|
// timeout, so they inherit the SDK's DEFAULT_REQUEST_TIMEOUT_MSEC (60s). This is
|
|
17
19
|
// too short when human escalation approval is pending (up to 300s). The SDK doesn't
|
|
@@ -36,13 +38,17 @@ Protocol.prototype.request = function (...args) {
|
|
|
36
38
|
return originalRequest.apply(this, args);
|
|
37
39
|
};
|
|
38
40
|
// Detect compiled (.js in dist/) vs source (.ts in src/) mode.
|
|
39
|
-
// In compiled mode, spawn with `node`; in source mode, spawn with `
|
|
41
|
+
// In compiled mode, spawn with `node`; in source mode, spawn with `tsx` directly.
|
|
42
|
+
// We resolve the tsx binary from node_modules/.bin instead of going through `npx`
|
|
43
|
+
// because npx spawns an intermediate `sh -c` process that doesn't forward SIGTERM,
|
|
44
|
+
// leaving orphaned child processes when the MCP SDK tries to shut down the transport.
|
|
40
45
|
const __filename = fileURLToPath(import.meta.url);
|
|
41
46
|
const __dirname = dirname(__filename);
|
|
42
47
|
const isCompiled = __filename.endsWith('.js');
|
|
43
48
|
const proxyServerPath = resolve(__dirname, `../trusted-process/mcp-proxy-server.${isCompiled ? 'js' : 'ts'}`);
|
|
44
|
-
const
|
|
45
|
-
const
|
|
49
|
+
const tsxBin = resolveNodeModulesBin('tsx', resolve(__dirname, '..', '..'));
|
|
50
|
+
const PROXY_COMMAND = isCompiled ? 'node' : tsxBin;
|
|
51
|
+
const PROXY_ARGS = [proxyServerPath];
|
|
46
52
|
/**
|
|
47
53
|
* Transforms a UTCP tool name (dotted) into the actual callable function name
|
|
48
54
|
* in the sandbox. Mirrors UTCP Code Mode's sanitizeIdentifier() behavior:
|
|
@@ -162,6 +168,7 @@ export class Sandbox {
|
|
|
162
168
|
CONSTITUTION_PATH: config.constitutionPath,
|
|
163
169
|
PROTECTED_PATHS: JSON.stringify(config.protectedPaths),
|
|
164
170
|
ALLOWED_DIRECTORY: config.allowedDirectory,
|
|
171
|
+
CONTAINER_WORKSPACE_DIR,
|
|
165
172
|
};
|
|
166
173
|
// Pass the escalation directory to the proxy when configured.
|
|
167
174
|
// When set, the proxy uses file-based IPC for escalation instead of auto-deny.
|
|
@@ -178,6 +185,10 @@ export class Sandbox {
|
|
|
178
185
|
const timeoutSeconds = config.escalationTimeoutSeconds;
|
|
179
186
|
// Pass sandbox availability policy to the proxy process
|
|
180
187
|
proxyEnv.SANDBOX_POLICY = config.sandboxPolicy ?? 'warn';
|
|
188
|
+
// Pass audit redaction config to the proxy process
|
|
189
|
+
if (config.userConfig.auditRedaction.enabled) {
|
|
190
|
+
proxyEnv.AUDIT_REDACTION = 'true';
|
|
191
|
+
}
|
|
181
192
|
// Pass auto-approve config to the proxy when enabled.
|
|
182
193
|
// The proxy creates its own model instance from these env vars.
|
|
183
194
|
const autoApprove = config.userConfig.autoApprove;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/sandbox/index.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAC7C,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AACzC,OAAO,WAAW,CAAC,CAAC,gDAAgD;AACpE,OAAO,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AACrD,OAAO,EAAE,QAAQ,EAAE,MAAM,8CAA8C,CAAC;AAExE,OAAO,EAAE,YAAY,EAAE,wBAAwB,EAAE,MAAM,6BAA6B,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/sandbox/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -250,7 +250,7 @@ server.setRequestHandler(ListToolsRequestSchema, async () => ({
|
|
|
250
250
|
timeout: {
|
|
251
251
|
type: 'number',
|
|
252
252
|
default: 30,
|
|
253
|
-
description: 'Request timeout in seconds (
|
|
253
|
+
description: 'Request timeout in seconds (1–60)',
|
|
254
254
|
},
|
|
255
255
|
},
|
|
256
256
|
required: ['url'],
|
|
@@ -313,7 +313,7 @@ async function handleHttpFetch(args) {
|
|
|
313
313
|
};
|
|
314
314
|
}
|
|
315
315
|
const format = rawFormat ?? 'markdown';
|
|
316
|
-
const timeoutSec = typeof args?.timeout === 'number' && Number.isFinite(args.timeout) ? Math.min(60, Math.max(
|
|
316
|
+
const timeoutSec = typeof args?.timeout === 'number' && Number.isFinite(args.timeout) ? Math.min(60, Math.max(1, args.timeout)) : 30;
|
|
317
317
|
try {
|
|
318
318
|
const { status, headers, body } = await doFetch(url, requestHeaders, timeoutSec * 1000);
|
|
319
319
|
const contentType = headers['content-type'] ?? '';
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import type { Transport } from './transport.js';
|
|
2
|
+
import type { Session } from './types.js';
|
|
3
|
+
/**
|
|
4
|
+
* Abstract base class for transports that provides interaction logging.
|
|
5
|
+
*
|
|
6
|
+
* Subclasses implement runSession() instead of run(), and use
|
|
7
|
+
* sendAndLog() instead of session.sendMessage() directly.
|
|
8
|
+
*/
|
|
9
|
+
export declare abstract class BaseTransport implements Transport {
|
|
10
|
+
private interactionLog;
|
|
11
|
+
private turnCounter;
|
|
12
|
+
run(session: Session): Promise<void>;
|
|
13
|
+
/** Subclasses implement this instead of run(). */
|
|
14
|
+
protected abstract runSession(session: Session): Promise<void>;
|
|
15
|
+
abstract close(): void;
|
|
16
|
+
/** Sends a message through the session and logs both sides. */
|
|
17
|
+
protected sendAndLog(session: Session, userMessage: string): Promise<string>;
|
|
18
|
+
private logEntry;
|
|
19
|
+
}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import { InteractionLog } from './interaction-log.js';
|
|
2
|
+
import { getSessionInteractionLogPath } from '../config/paths.js';
|
|
3
|
+
/**
|
|
4
|
+
* Abstract base class for transports that provides interaction logging.
|
|
5
|
+
*
|
|
6
|
+
* Subclasses implement runSession() instead of run(), and use
|
|
7
|
+
* sendAndLog() instead of session.sendMessage() directly.
|
|
8
|
+
*/
|
|
9
|
+
export class BaseTransport {
|
|
10
|
+
interactionLog = null;
|
|
11
|
+
turnCounter = 0;
|
|
12
|
+
async run(session) {
|
|
13
|
+
const logPath = getSessionInteractionLogPath(session.getInfo().id);
|
|
14
|
+
this.interactionLog = new InteractionLog(logPath);
|
|
15
|
+
try {
|
|
16
|
+
await this.runSession(session);
|
|
17
|
+
}
|
|
18
|
+
finally {
|
|
19
|
+
await this.interactionLog.close();
|
|
20
|
+
this.interactionLog = null;
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
/** Sends a message through the session and logs both sides. */
|
|
24
|
+
async sendAndLog(session, userMessage) {
|
|
25
|
+
const turnNumber = ++this.turnCounter;
|
|
26
|
+
const sessionId = session.getInfo().id;
|
|
27
|
+
this.logEntry({ sessionId, turnNumber, role: 'user', content: userMessage });
|
|
28
|
+
const response = await session.sendMessage(userMessage);
|
|
29
|
+
this.logEntry({ sessionId, turnNumber, role: 'assistant', content: response });
|
|
30
|
+
return response;
|
|
31
|
+
}
|
|
32
|
+
logEntry(fields) {
|
|
33
|
+
this.interactionLog?.log({ timestamp: new Date().toISOString(), ...fields });
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
//# sourceMappingURL=base-transport.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"base-transport.js","sourceRoot":"","sources":["../../src/session/base-transport.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,cAAc,EAAyB,MAAM,sBAAsB,CAAC;AAC7E,OAAO,EAAE,4BAA4B,EAAE,MAAM,oBAAoB,CAAC;AAElE;;;;;GAKG;AACH,MAAM,OAAgB,aAAa;IACzB,cAAc,GAA0B,IAAI,CAAC;IAC7C,WAAW,GAAG,CAAC,CAAC;IAExB,KAAK,CAAC,GAAG,CAAC,OAAgB;QACxB,MAAM,OAAO,GAAG,4BAA4B,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC,EAAE,CAAC,CAAC;QACnE,IAAI,CAAC,cAAc,GAAG,IAAI,cAAc,CAAC,OAAO,CAAC,CAAC;QAClD,IAAI,CAAC;YACH,MAAM,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;QACjC,CAAC;gBAAS,CAAC;YACT,MAAM,IAAI,CAAC,cAAc,CAAC,KAAK,EAAE,CAAC;YAClC,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC;QAC7B,CAAC;IACH,CAAC;IAOD,+DAA+D;IACrD,KAAK,CAAC,UAAU,CAAC,OAAgB,EAAE,WAAmB;QAC9D,MAAM,UAAU,GAAG,EAAE,IAAI,CAAC,WAAW,CAAC;QACtC,MAAM,SAAS,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC,EAAE,CAAC;QAEvC,IAAI,CAAC,QAAQ,CAAC,EAAE,SAAS,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,WAAW,EAAE,CAAC,CAAC;QAC7E,MAAM,QAAQ,GAAG,MAAM,OAAO,CAAC,WAAW,CAAC,WAAW,CAAC,CAAC;QACxD,IAAI,CAAC,QAAQ,CAAC,EAAE,SAAS,EAAE,UAAU,EAAE,IAAI,EAAE,WAAW,EAAE,OAAO,EAAE,QAAQ,EAAE,CAAC,CAAC;QAE/E,OAAO,QAAQ,CAAC;IAClB,CAAC;IAEO,QAAQ,CAAC,MAA2C;QAC1D,IAAI,CAAC,cAAc,EAAE,GAAG,CAAC,EAAE,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,EAAE,GAAG,MAAM,EAAE,CAAC,CAAC;IAC/E,CAAC;CACF"}
|
|
@@ -18,7 +18,7 @@
|
|
|
18
18
|
* /deny -- deny a pending escalation
|
|
19
19
|
*/
|
|
20
20
|
import type { Readable } from 'node:stream';
|
|
21
|
-
import
|
|
21
|
+
import { BaseTransport } from './base-transport.js';
|
|
22
22
|
import type { Session, DiagnosticEvent, EscalationRequest } from './types.js';
|
|
23
23
|
/** Options for constructing a CliTransport. */
|
|
24
24
|
export interface CliTransportOptions {
|
|
@@ -27,7 +27,7 @@ export interface CliTransportOptions {
|
|
|
27
27
|
/** Override stdin for testing. Defaults to process.stdin. */
|
|
28
28
|
input?: Readable;
|
|
29
29
|
}
|
|
30
|
-
export declare class CliTransport
|
|
30
|
+
export declare class CliTransport extends BaseTransport {
|
|
31
31
|
private readonly initialMessage?;
|
|
32
32
|
private readonly input;
|
|
33
33
|
/** The spinner instance, managed across the message lifecycle. */
|
|
@@ -35,7 +35,7 @@ export declare class CliTransport implements Transport {
|
|
|
35
35
|
/** The readline interface, stored so escalation handlers can re-prompt. */
|
|
36
36
|
private rl;
|
|
37
37
|
constructor(options?: CliTransportOptions);
|
|
38
|
-
|
|
38
|
+
protected runSession(session: Session): Promise<void>;
|
|
39
39
|
/**
|
|
40
40
|
* Signals the transport to stop: closes readline (unblocking runInteractive)
|
|
41
41
|
* and stops any active spinner.
|
|
@@ -22,10 +22,11 @@ import ora from 'ora';
|
|
|
22
22
|
import chalk from 'chalk';
|
|
23
23
|
import { marked } from 'marked';
|
|
24
24
|
import { markedTerminal } from 'marked-terminal';
|
|
25
|
+
import { BaseTransport } from './base-transport.js';
|
|
25
26
|
// Configure marked to render markdown for the terminal.
|
|
26
27
|
// This is module-level since marked is a singleton.
|
|
27
28
|
marked.use(markedTerminal());
|
|
28
|
-
export class CliTransport {
|
|
29
|
+
export class CliTransport extends BaseTransport {
|
|
29
30
|
initialMessage;
|
|
30
31
|
input;
|
|
31
32
|
/** The spinner instance, managed across the message lifecycle. */
|
|
@@ -33,10 +34,11 @@ export class CliTransport {
|
|
|
33
34
|
/** The readline interface, stored so escalation handlers can re-prompt. */
|
|
34
35
|
rl = null;
|
|
35
36
|
constructor(options = {}) {
|
|
37
|
+
super();
|
|
36
38
|
this.initialMessage = options.initialMessage;
|
|
37
39
|
this.input = options.input ?? process.stdin;
|
|
38
40
|
}
|
|
39
|
-
async
|
|
41
|
+
async runSession(session) {
|
|
40
42
|
if (this.initialMessage) {
|
|
41
43
|
return this.runSingleShot(session);
|
|
42
44
|
}
|
|
@@ -116,7 +118,7 @@ export class CliTransport {
|
|
|
116
118
|
try {
|
|
117
119
|
if (!this.initialMessage)
|
|
118
120
|
throw new Error('runSingleShot called without initialMessage');
|
|
119
|
-
const response = await
|
|
121
|
+
const response = await this.sendAndLog(session, this.initialMessage);
|
|
120
122
|
this.spinner?.stop();
|
|
121
123
|
process.stdout.write('\n');
|
|
122
124
|
process.stdout.write(renderMarkdown(response));
|
|
@@ -162,7 +164,7 @@ export class CliTransport {
|
|
|
162
164
|
messageInFlight = true;
|
|
163
165
|
this.startSpinner('Thinking...');
|
|
164
166
|
try {
|
|
165
|
-
const response = await
|
|
167
|
+
const response = await this.sendAndLog(session, trimmed);
|
|
166
168
|
this.spinner?.stop();
|
|
167
169
|
process.stdout.write('\n');
|
|
168
170
|
process.stdout.write(renderMarkdown(response));
|
|
@@ -327,6 +329,7 @@ export class CliTransport {
|
|
|
327
329
|
border,
|
|
328
330
|
chalk.yellow(` Tool: ${request.serverName}/${request.toolName}`),
|
|
329
331
|
chalk.yellow(` Arguments: ${JSON.stringify(request.arguments, null, 2)}`),
|
|
332
|
+
...(request.context ? Object.entries(request.context).map(([k, v]) => chalk.yellow(` ${k}: ${v}`)) : []),
|
|
330
333
|
chalk.yellow(` Reason: ${request.reason}`),
|
|
331
334
|
border,
|
|
332
335
|
chalk.yellow.bold(' Type /approve or /deny'),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli-transport.js","sourceRoot":"","sources":["../../src/session/cli-transport.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"cli-transport.js","sourceRoot":"","sources":["../../src/session/cli-transport.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAEH,OAAO,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAEhD,OAAO,GAAG,MAAM,KAAK,CAAC;AACtB,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAChC,OAAO,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAEjD,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAWpD,wDAAwD;AACxD,oDAAoD;AACpD,MAAM,CAAC,GAAG,CAAC,cAAc,EAAE,CAAC,CAAC;AAE7B,MAAM,OAAO,YAAa,SAAQ,aAAa;IAC5B,cAAc,CAAU;IACxB,KAAK,CAAW;IAEjC,kEAAkE;IAC1D,OAAO,GAAe,IAAI,CAAC;IAEnC,2EAA2E;IACnE,EAAE,GAA8C,IAAI,CAAC;IAE7D,YAAY,UAA+B,EAAE;QAC3C,KAAK,EAAE,CAAC;QACR,IAAI,CAAC,cAAc,GAAG,OAAO,CAAC,cAAc,CAAC;QAC7C,IAAI,CAAC,KAAK,GAAG,OAAO,CAAC,KAAK,IAAI,OAAO,CAAC,KAAK,CAAC;IAC9C,CAAC;IAES,KAAK,CAAC,UAAU,CAAC,OAAgB;QACzC,IAAI,IAAI,CAAC,cAAc,EAAE,CAAC;YACxB,OAAO,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;QACrC,CAAC;QACD,OAAO,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC;IACtC,CAAC;IAED;;;OAGG;IACH,KAAK;QACH,IAAI,IAAI,CAAC,OAAO,EAAE,UAAU,EAAE,CAAC;YAC7B,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;QACtB,CAAC;QACD,IAAI,IAAI,CAAC,EAAE,EAAE,CAAC;YACZ,IAAI,CAAC,EAAE,CAAC,KAAK,EAAE,CAAC;YAChB,IAAI,CAAC,EAAE,GAAG,IAAI,CAAC;QACjB,CAAC;IACH,CAAC;IAED;;;OAGG;IACH,uBAAuB;QACrB,OAAO,CAAC,KAAK,EAAE,EAAE;YACf,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,UAAU;gBAAE,OAAO;YAEtC,QAAQ,KAAK,CAAC,IAAI,EAAE,CAAC;gBACnB,KAAK,WAAW;oBACd,IAAI,CAAC,OAAO,CAAC,IAAI,GAAG,mBAAmB,CAAC;oBACxC,MAAM;gBACR,KAAK,YAAY;oBACf,IAAI,CAAC,OAAO,CAAC,IAAI,GAAG,wBAAwB,CAAC;oBAC7C,MAAM;gBACR,KAAK,gBAAgB;oBACnB,IAAI,CAAC,OAAO,CAAC,IAAI,GAAG,KAAK,CAAC,MAAM,CAAC,mBAAmB,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;oBACrE,MAAM;gBACR,KAAK,kBAAkB;oBACrB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,qBAAqB,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;oBACnE,MAAM;gBACR,KAAK,oBAAoB;oBACvB,IAAI,CAAC,OAAO,CAAC,IAAI,GAAG,oCAAoC,CAAC;oBACzD,MAAM;YACV,CAAC;QACH,CAAC,CAAC;IACJ,CAAC;IAED;;;OAGG;IACH,8BAA8B;QAC5B,OAAO,GAAG,EAAE;YACV,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,qCAAqC,CAAC,CAAC,CAAC;YAC1E,IAAI,CAAC,YAAY,CAAC,eAAe,CAAC,CAAC;QACrC,CAAC,CAAC;IACJ,CAAC;IAED;;;;;OAKG;IACH,uBAAuB;QACrB,OAAO,CAAC,OAAO,EAAE,EAAE;YACjB,IAAI,IAAI,CAAC,OAAO,EAAE,UAAU,EAAE,CAAC;gBAC7B,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;YACtB,CAAC;YAED,IAAI,CAAC,qBAAqB,CAAC,OAAO,CAAC,CAAC;YAEpC,qEAAqE;YACrE,IAAI,IAAI,CAAC,EAAE,EAAE,CAAC;gBACZ,IAAI,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC;YACnB,CAAC;QACH,CAAC,CAAC;IACJ,CAAC;IAED,2BAA2B;IAEnB,KAAK,CAAC,aAAa,CAAC,OAAgB;QAC1C,IAAI,CAAC,YAAY,CAAC,aAAa,CAAC,CAAC;QAEjC,IAAI,CAAC;YACH,IAAI,CAAC,IAAI,CAAC,cAAc;gBAAE,MAAM,IAAI,KAAK,CAAC,6CAA6C,CAAC,CAAC;YACzF,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,OAAO,EAAE,IAAI,CAAC,cAAc,CAAC,CAAC;YACrE,IAAI,CAAC,OAAO,EAAE,IAAI,EAAE,CAAC;YACrB,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YAC3B,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC,CAAC;YAC/C,IAAI,CAAC,qBAAqB,CAAC,OAAO,CAAC,eAAe,EAAE,CAAC,CAAC;QACxD,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,CAAC,oBAAoB,CAAC,KAAK,CAAC,CAAC;YACjC,MAAM,KAAK,CAAC;QACd,CAAC;IACH,CAAC;IAED,2BAA2B;IAEnB,KAAK,CAAC,cAAc,CAAC,OAAgB;QAC3C,IAAI,CAAC,EAAE,GAAG,eAAe,CAAC;YACxB,KAAK,EAAE,IAAI,CAAC,KAAK;YACjB,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,yCAAyC;YACjE,MAAM,EAAE,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC;SACzB,CAAC,CAAC;QACH,MAAM,EAAE,GAAG,IAAI,CAAC,EAAE,CAAC;QAEnB,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,uDAAuD,CAAC,CAAC,CAAC;QACzF,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,kDAAkD,CAAC,CAAC,CAAC;QACpF,EAAE,CAAC,MAAM,EAAE,CAAC;QAEZ,IAAI,OAAO,GAAG,IAAI,CAAC;QACnB,IAAI,eAAe,GAAG,KAAK,CAAC;QAE5B,MAAM,WAAW,GAAG,KAAK,EAAE,KAAa,EAAiB,EAAE;YACzD,MAAM,OAAO,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC;YAC7B,IAAI,CAAC,OAAO,EAAE,CAAC;gBACb,EAAE,CAAC,MAAM,EAAE,CAAC;gBACZ,OAAO;YACT,CAAC;YAED,IACE,IAAI,CAAC,kBAAkB,CAAC,OAAO,EAAE,OAAO,EAAE,GAAG,EAAE;gBAC7C,OAAO,GAAG,KAAK,CAAC;gBAChB,EAAE,CAAC,KAAK,EAAE,CAAC;YACb,CAAC,CAAC,EACF,CAAC;gBACD,IAAI,OAAO;oBAAE,EAAE,CAAC,MAAM,EAAE,CAAC;gBACzB,OAAO;YACT,CAAC;YAED,IAAI,eAAe,EAAE,CAAC;gBACpB,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,sDAAsD,CAAC,CAAC,CAAC;gBACxF,EAAE,CAAC,MAAM,EAAE,CAAC;gBACZ,OAAO;YACT,CAAC;YAED,eAAe,GAAG,IAAI,CAAC;YACvB,IAAI,CAAC,YAAY,CAAC,aAAa,CAAC,CAAC;YAEjC,IAAI,CAAC;gBACH,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;gBACzD,IAAI,CAAC,OAAO,EAAE,IAAI,EAAE,CAAC;gBACrB,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;gBAC3B,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC,CAAC;gBAC/C,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YAC7B,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,IAAI,CAAC,oBAAoB,CAAC,KAAK,CAAC,CAAC;YACnC,CAAC;oBAAS,CAAC;gBACT,eAAe,GAAG,KAAK,CAAC;gBACxB,IAAI,OAAO;oBAAE,EAAE,CAAC,MAAM,EAAE,CAAC;YAC3B,CAAC;QACH,CAAC,CAAC;QAEF,EAAE,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,EAAE;YACrB,IAAI,OAAO,EAAE,CAAC;gBACZ,WAAW,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,GAAY,EAAE,EAAE;oBACvC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,qBAAqB,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC;gBAC7G,CAAC,CAAC,CAAC;YACL,CAAC;QACH,CAAC,CAAC,CAAC;QAEH,qEAAqE;QACrE,gEAAgE;QAChE,oEAAoE;QACpE,EAAE,CAAC,EAAE,CAAC,QAAQ,EAAE,GAAG,EAAE;YACnB,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QACzB,CAAC,CAAC,CAAC;QAEH,MAAM,IAAI,OAAO,CAAO,CAAC,cAAc,EAAE,EAAE;YACzC,EAAE,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE;gBAClB,IAAI,CAAC,EAAE,GAAG,IAAI,CAAC;gBACf,cAAc,EAAE,CAAC;YACnB,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,qBAAqB,CAAC,OAAO,CAAC,eAAe,EAAE,CAAC,CAAC;IACxD,CAAC;IAED,yBAAyB;IAEzB;;;OAGG;IACK,kBAAkB,CAAC,KAAa,EAAE,OAAgB,EAAE,MAAkB;QAC5E,QAAQ,KAAK,EAAE,CAAC;YACd,KAAK,OAAO,CAAC;YACb,KAAK,OAAO;gBACV,MAAM,EAAE,CAAC;gBACT,OAAO,IAAI,CAAC;YAEd,KAAK,OAAO;gBACV,IAAI,CAAC,oBAAoB,CAAC,OAAO,CAAC,gBAAgB,EAAE,CAAC,CAAC;gBACtD,OAAO,IAAI,CAAC;YAEd,KAAK,SAAS;gBACZ,IAAI,CAAC,mBAAmB,CAAC,OAAO,CAAC,eAAe,EAAE,CAAC,CAAC;gBACpD,OAAO,IAAI,CAAC;YAEd,KAAK,UAAU,CAAC;YAChB,KAAK,OAAO;gBACV,IAAI,CAAC,uBAAuB,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;gBAC7C,OAAO,IAAI,CAAC;YAEd;gBACE,OAAO,KAAK,CAAC;QACjB,CAAC;IACH,CAAC;IAEO,oBAAoB,CAAC,IAAgC;QAC3D,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACtB,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,gCAAgC,CAAC,CAAC,CAAC;YAClE,OAAO;QACT,CAAC;QAED,KAAK,MAAM,KAAK,IAAI,IAAI,EAAE,CAAC;YACzB,QAAQ,KAAK,CAAC,IAAI,EAAE,CAAC;gBACnB,KAAK,WAAW;oBACd,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,YAAY,KAAK,CAAC,QAAQ,KAAK,KAAK,CAAC,OAAO,IAAI,CAAC,CAAC,CAAC;oBAClF,MAAM;gBACR,KAAK,YAAY;oBACf,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,aAAa,KAAK,CAAC,OAAO,IAAI,CAAC,CAAC,CAAC;oBAChE,MAAM;gBACR,KAAK,gBAAgB;oBACnB,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,cAAc,KAAK,CAAC,OAAO,IAAI,CAAC,CAAC,CAAC;oBACpE,MAAM;gBACR,KAAK,kBAAkB;oBACrB,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,cAAc,KAAK,CAAC,OAAO,IAAI,CAAC,CAAC,CAAC;oBACjE,MAAM;gBACR,KAAK,oBAAoB;oBACvB,OAAO,CAAC,MAAM,CAAC,KAAK,CAClB,KAAK,CAAC,GAAG,CAAC,eAAe,KAAK,CAAC,oBAAoB,MAAM,KAAK,CAAC,eAAe,aAAa,CAAC,CAC7F,CAAC;oBACF,MAAM;YACV,CAAC;QACH,CAAC;IACH,CAAC;IAEO,uBAAuB,CAAC,OAAe,EAAE,OAAgB;QAC/D,MAAM,OAAO,GAAG,OAAO,CAAC,oBAAoB,EAAE,CAAC;QAC/C,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,4BAA4B,CAAC,CAAC,CAAC;YAC9D,OAAO;QACT,CAAC;QAED,MAAM,QAAQ,GAAG,OAAO,KAAK,UAAU,CAAC,CAAC,CAAE,UAAoB,CAAC,CAAC,CAAE,QAAkB,CAAC;QACtF,OAAO;aACJ,iBAAiB,CAAC,OAAO,CAAC,YAAY,EAAE,QAAQ,CAAC;aACjD,IAAI,CAAC,GAAG,EAAE;YACT,MAAM,KAAK,GAAG,QAAQ,KAAK,UAAU,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC;YAChE,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,gBAAgB,QAAQ,KAAK,CAAC,CAAC,CAAC;YAC3D,kEAAkE;YAClE,+DAA+D;YAC/D,IAAI,CAAC,YAAY,CAAC,eAAe,CAAC,CAAC;QACrC,CAAC,CAAC;aACD,KAAK,CAAC,CAAC,GAAY,EAAE,EAAE;YACtB,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,YAAY,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC;QACpG,CAAC,CAAC,CAAC;IACP,CAAC;IAED,yBAAyB;IAEjB,mBAAmB,CAAC,MAAoB;QAC9C,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,GAAG,MAAM,CAAC;QACtC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,0BAA0B,CAAC,CAAC,CAAC;QAC7D,IAAI,MAAM,CAAC,sBAAsB,EAAE,CAAC;YAClC,OAAO,CAAC,MAAM,CAAC,KAAK,CAClB,gBAAgB,CAAC,QAAQ,EAAE,MAAM,CAAC,WAAW,EAAE,MAAM,CAAC,cAAc,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,cAAc,EAAE,CAAC,CACjG,CAAC;QACJ,CAAC;aAAM,CAAC;YACN,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,mBAAmB,CAAC,CAAC;QAC5C,CAAC;QACD,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,gBAAgB,CAAC,OAAO,EAAE,MAAM,CAAC,SAAS,EAAE,MAAM,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC,CAAC;QAC3F,OAAO,CAAC,MAAM,CAAC,KAAK,CAClB,gBAAgB,CAAC,MAAM,EAAE,MAAM,CAAC,cAAc,EAAE,MAAM,CAAC,iBAAiB,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,CACtG,CAAC;QACF,OAAO,CAAC,MAAM,CAAC,KAAK,CAClB,gBAAgB,CAAC,WAAW,EAAE,MAAM,CAAC,gBAAgB,EAAE,MAAM,CAAC,mBAAmB,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAC9G,CAAC;QACF,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC,CAAC;QACxD,IAAI,MAAM,CAAC,sBAAsB,EAAE,CAAC;YAClC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,eAAe,UAAU,CAAC,WAAW,CAAC,cAAc,EAAE,IAAI,CAAC,CAAC;QACnF,CAAC;aAAM,CAAC;YACN,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,mBAAmB,CAAC,CAAC;QAC5C,CAAC;QACD,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,cAAc,UAAU,CAAC,SAAS,IAAI,CAAC,CAAC;QAC7D,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,oBAAoB,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;QACpF,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,mBAAmB,UAAU,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;IACtF,CAAC;IAEO,qBAAqB,CAAC,MAAoB;QAChD,MAAM,EAAE,UAAU,EAAE,GAAG,MAAM,CAAC;QAC9B,MAAM,UAAU,GAAG,MAAM,CAAC,sBAAsB,CAAC,CAAC,CAAC,GAAG,UAAU,CAAC,WAAW,CAAC,cAAc,EAAE,YAAY,CAAC,CAAC,CAAC,EAAE,CAAC;QAC/G,OAAO,CAAC,MAAM,CAAC,KAAK,CAClB,KAAK,CAAC,GAAG,CACP,cAAc,UAAU,EAAE;YACxB,GAAG,UAAU,CAAC,SAAS,QAAQ;YAC/B,MAAM,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,aAAa,CAAC,GAAG;YAC7C,QAAQ,UAAU,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CACrD,CACF,CAAC;IACJ,CAAC;IAED,0BAA0B;IAElB,YAAY,CAAC,IAAY;QAC/B,IAAI,CAAC,OAAO,GAAG,GAAG,CAAC;YACjB,IAAI;YACJ,MAAM,EAAE,OAAO,CAAC,MAAM;YACtB,YAAY,EAAE,KAAK;SACpB,CAAC,CAAC,KAAK,EAAE,CAAC;IACb,CAAC;IAEO,oBAAoB,CAAC,KAAc;QACzC,MAAM,OAAO,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QACvE,IAAI,IAAI,CAAC,OAAO,EAAE,UAAU,EAAE,CAAC;YAC7B,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC;QACxC,CAAC;aAAM,CAAC;YACN,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,UAAU,OAAO,IAAI,CAAC,CAAC,CAAC;QACzD,CAAC;IACH,CAAC;IAED,4BAA4B;IAEpB,qBAAqB,CAAC,OAA0B;QACtD,MAAM,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,0CAA0C,CAAC,CAAC;QAC7E,MAAM,KAAK,GAAG;YACZ,EAAE;YACF,MAAM;YACN,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,uCAAuC,CAAC;YAC1D,MAAM;YACN,KAAK,CAAC,MAAM,CAAC,gBAAgB,OAAO,CAAC,UAAU,IAAI,OAAO,CAAC,QAAQ,EAAE,CAAC;YACtE,KAAK,CAAC,MAAM,CAAC,gBAAgB,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC;YAC1E,GAAG,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YACzG,KAAK,CAAC,MAAM,CAAC,gBAAgB,OAAO,CAAC,MAAM,EAAE,CAAC;YAC9C,MAAM;YACN,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,0BAA0B,CAAC;YAC7C,MAAM;YACN,EAAE;SACH,CAAC;QACF,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,CAAC;IAChD,CAAC;CACF;AAED,4BAA4B;AAE5B,SAAS,gBAAgB,CAAC,KAAa,EAAE,OAAe,EAAE,KAAoB,EAAE,MAA6B;IAC3G,MAAM,UAAU,GAAG,MAAM,CAAC,OAAO,CAAC,CAAC;IACnC,IAAI,KAAK,KAAK,IAAI;QAAE,OAAO,OAAO,KAAK,KAAK,UAAU,eAAe,CAAC;IACtE,MAAM,GAAG,GAAG,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,OAAO,GAAG,KAAK,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAChE,OAAO,OAAO,KAAK,KAAK,UAAU,MAAM,MAAM,CAAC,KAAK,CAAC,KAAK,GAAG,MAAM,CAAC;AACtE,CAAC;AAED,6BAA6B;AAE7B;;;;GAIG;AACH,SAAS,cAAc,CAAC,IAAY;IAClC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE;QAAE,OAAO,EAAE,CAAC;IAE5B,mEAAmE;IACnE,uEAAuE;IACvE,MAAM,QAAQ,GAAG,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IACpC,IAAI,OAAO,QAAQ,KAAK,QAAQ,EAAE,CAAC;QACjC,qDAAqD;QACrD,OAAO,IAAI,CAAC;IACd,CAAC;IACD,OAAO,QAAQ,CAAC;AAClB,CAAC"}
|
package/dist/session/index.js
CHANGED
|
@@ -6,7 +6,6 @@
|
|
|
6
6
|
* are not exported -- callers depend on the Session interface only.
|
|
7
7
|
*/
|
|
8
8
|
import { existsSync, mkdirSync } from 'node:fs';
|
|
9
|
-
import { resolve } from 'node:path';
|
|
10
9
|
import { loadConfig } from '../config/index.js';
|
|
11
10
|
import { getSessionDir, getSessionSandboxDir, getSessionEscalationDir, getSessionAuditLogPath, getSessionLogPath, getSessionLlmLogPath, getSessionAutoApproveLlmLogPath, } from '../config/paths.js';
|
|
12
11
|
import * as logger from '../logger.js';
|
|
@@ -49,6 +48,7 @@ async function createBuiltinSession(options) {
|
|
|
49
48
|
throw new SessionError(`Cannot resume session "${options.resumeSessionId}": ` + `session directory not found at ${sessionDir}`, 'SESSION_INIT_FAILED');
|
|
50
49
|
}
|
|
51
50
|
}
|
|
51
|
+
const loggerWasActive = logger.isActive();
|
|
52
52
|
const sessionConfig = buildSessionConfig(config, effectiveSessionId, sessionId, options.resumeSessionId);
|
|
53
53
|
const session = new AgentSession(sessionConfig.config, sessionId, sessionConfig.escalationDir, options);
|
|
54
54
|
try {
|
|
@@ -57,88 +57,58 @@ async function createBuiltinSession(options) {
|
|
|
57
57
|
catch (error) {
|
|
58
58
|
// Clean up on init failure
|
|
59
59
|
await session.close().catch(() => { });
|
|
60
|
-
|
|
60
|
+
if (!loggerWasActive)
|
|
61
|
+
logger.teardown();
|
|
61
62
|
throw new SessionError(`Session initialization failed: ${error instanceof Error ? error.message : String(error)}`, 'SESSION_INIT_FAILED');
|
|
62
63
|
}
|
|
63
64
|
return session;
|
|
64
65
|
}
|
|
65
66
|
/**
|
|
66
67
|
* Creates a DockerAgentSession that runs an external agent in a container.
|
|
68
|
+
*
|
|
69
|
+
* Uses prepareDockerInfrastructure() for shared Docker setup (proxies,
|
|
70
|
+
* orientation, image resolution), then creates the session with pre-built
|
|
71
|
+
* infrastructure so initialize() only does container creation + watchers.
|
|
67
72
|
*/
|
|
68
73
|
async function createDockerSession(agentId, options) {
|
|
69
74
|
const config = options.config ?? loadConfig();
|
|
70
75
|
const sessionId = createSessionId();
|
|
71
76
|
const effectiveSessionId = options.resumeSessionId ?? sessionId;
|
|
77
|
+
const loggerWasActive = logger.isActive();
|
|
72
78
|
const sessionConfig = buildSessionConfig(config, effectiveSessionId, sessionId, options.resumeSessionId);
|
|
73
|
-
|
|
74
|
-
const { registerBuiltinAdapters, getAgent } = await import('../docker/agent-registry.js');
|
|
75
|
-
const { createCodeModeProxy } = await import('../docker/code-mode-proxy.js');
|
|
76
|
-
const { createMitmProxy } = await import('../docker/mitm-proxy.js');
|
|
77
|
-
const { loadOrCreateCA } = await import('../docker/ca.js');
|
|
78
|
-
const { generateFakeKey } = await import('../docker/fake-keys.js');
|
|
79
|
-
const { createDockerManager } = await import('../docker/docker-manager.js');
|
|
79
|
+
const { prepareDockerInfrastructure } = await import('../docker/docker-infrastructure.js');
|
|
80
80
|
const { DockerAgentSession } = await import('../docker/docker-agent-session.js');
|
|
81
|
-
const
|
|
82
|
-
await registerBuiltinAdapters();
|
|
83
|
-
const adapter = getAgent(agentId);
|
|
84
|
-
const useTcp = useTcpTransport();
|
|
85
|
-
const socketPath = resolve(sessionConfig.sessionDir, 'proxy.sock');
|
|
86
|
-
const proxy = createCodeModeProxy({
|
|
87
|
-
socketPath,
|
|
88
|
-
config: sessionConfig.config,
|
|
89
|
-
listenMode: useTcp ? 'tcp' : 'uds',
|
|
90
|
-
});
|
|
91
|
-
// Load or generate the IronCurtain CA for TLS termination
|
|
92
|
-
const { getIronCurtainHome } = await import('../config/paths.js');
|
|
93
|
-
const caDir = resolve(getIronCurtainHome(), 'ca');
|
|
94
|
-
const ca = loadOrCreateCA(caDir);
|
|
95
|
-
// Generate fake keys and build provider key mappings
|
|
96
|
-
const providers = adapter.getProviders();
|
|
97
|
-
const fakeKeys = new Map();
|
|
98
|
-
const providerMappings = [];
|
|
99
|
-
for (const providerConfig of providers) {
|
|
100
|
-
const fakeKey = generateFakeKey(providerConfig.fakeKeyPrefix);
|
|
101
|
-
fakeKeys.set(providerConfig.host, fakeKey);
|
|
102
|
-
// Resolve real API key from config
|
|
103
|
-
const realKey = resolveRealApiKey(providerConfig.host, config);
|
|
104
|
-
providerMappings.push({ config: providerConfig, fakeKey, realKey });
|
|
105
|
-
}
|
|
106
|
-
const mitmProxy = useTcp
|
|
107
|
-
? createMitmProxy({
|
|
108
|
-
listenPort: 0,
|
|
109
|
-
ca,
|
|
110
|
-
providers: providerMappings,
|
|
111
|
-
})
|
|
112
|
-
: createMitmProxy({
|
|
113
|
-
socketPath: resolve(sessionConfig.sessionDir, 'mitm-proxy.sock'),
|
|
114
|
-
ca,
|
|
115
|
-
providers: providerMappings,
|
|
116
|
-
});
|
|
117
|
-
const docker = createDockerManager();
|
|
81
|
+
const infra = await prepareDockerInfrastructure(sessionConfig.config, { kind: 'docker', agent: agentId }, sessionConfig.sessionDir, sessionConfig.sandboxDir, sessionConfig.escalationDir, sessionConfig.auditLogPath, sessionId);
|
|
118
82
|
const session = new DockerAgentSession({
|
|
119
83
|
config: sessionConfig.config,
|
|
120
84
|
sessionId,
|
|
121
|
-
adapter,
|
|
122
|
-
docker,
|
|
123
|
-
proxy,
|
|
124
|
-
mitmProxy,
|
|
125
|
-
ca,
|
|
126
|
-
fakeKeys,
|
|
85
|
+
adapter: infra.adapter,
|
|
86
|
+
docker: infra.docker,
|
|
87
|
+
proxy: infra.proxy,
|
|
88
|
+
mitmProxy: infra.mitmProxy,
|
|
89
|
+
ca: infra.ca,
|
|
90
|
+
fakeKeys: infra.fakeKeys,
|
|
127
91
|
sessionDir: sessionConfig.sessionDir,
|
|
128
92
|
sandboxDir: sessionConfig.sandboxDir,
|
|
129
93
|
escalationDir: sessionConfig.escalationDir,
|
|
130
94
|
auditLogPath: sessionConfig.auditLogPath,
|
|
131
|
-
useTcp,
|
|
95
|
+
useTcp: infra.useTcp,
|
|
132
96
|
onEscalation: options.onEscalation,
|
|
133
97
|
onEscalationExpired: options.onEscalationExpired,
|
|
134
98
|
onDiagnostic: options.onDiagnostic,
|
|
99
|
+
preBuiltInfrastructure: {
|
|
100
|
+
systemPrompt: infra.systemPrompt,
|
|
101
|
+
image: infra.image,
|
|
102
|
+
mitmAddr: infra.mitmAddr,
|
|
103
|
+
},
|
|
135
104
|
});
|
|
136
105
|
try {
|
|
137
106
|
await session.initialize();
|
|
138
107
|
}
|
|
139
108
|
catch (error) {
|
|
140
109
|
await session.close().catch(() => { });
|
|
141
|
-
|
|
110
|
+
if (!loggerWasActive)
|
|
111
|
+
logger.teardown();
|
|
142
112
|
throw new SessionError(`Docker session initialization failed: ${error instanceof Error ? error.message : String(error)}`, 'SESSION_INIT_FAILED');
|
|
143
113
|
}
|
|
144
114
|
return session;
|
|
@@ -205,30 +175,6 @@ function patchMcpServerAllowedDirectory(config, sandboxDir) {
|
|
|
205
175
|
fsServer.args[lastArgIndex] = sandboxDir;
|
|
206
176
|
}
|
|
207
177
|
}
|
|
208
|
-
/**
|
|
209
|
-
* Resolves the real API key for a provider host from config.
|
|
210
|
-
*/
|
|
211
|
-
function resolveRealApiKey(host, config) {
|
|
212
|
-
let key;
|
|
213
|
-
switch (host) {
|
|
214
|
-
case 'api.anthropic.com':
|
|
215
|
-
key = config.userConfig.anthropicApiKey;
|
|
216
|
-
break;
|
|
217
|
-
case 'api.openai.com':
|
|
218
|
-
key = config.userConfig.openaiApiKey;
|
|
219
|
-
break;
|
|
220
|
-
case 'generativelanguage.googleapis.com':
|
|
221
|
-
key = config.userConfig.googleApiKey;
|
|
222
|
-
break;
|
|
223
|
-
default:
|
|
224
|
-
logger.warn(`No API key mapping for unknown provider host: ${host}`);
|
|
225
|
-
return '';
|
|
226
|
-
}
|
|
227
|
-
if (!key) {
|
|
228
|
-
logger.warn(`No API key configured for provider host: ${host}`);
|
|
229
|
-
}
|
|
230
|
-
return key;
|
|
231
|
-
}
|
|
232
178
|
export { SessionError, SessionNotReadyError, SessionClosedError, BudgetExhaustedError } from './errors.js';
|
|
233
179
|
export { resolveSessionMode, PreflightError } from './preflight.js';
|
|
234
180
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/session/index.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AAChD,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/session/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
export interface InteractionEntry {
|
|
2
|
+
timestamp: string;
|
|
3
|
+
sessionId: string;
|
|
4
|
+
turnNumber: number;
|
|
5
|
+
role: 'user' | 'assistant';
|
|
6
|
+
content: string;
|
|
7
|
+
}
|
|
8
|
+
export declare class InteractionLog {
|
|
9
|
+
private stream;
|
|
10
|
+
constructor(path: string);
|
|
11
|
+
log(entry: InteractionEntry): void;
|
|
12
|
+
close(): Promise<void>;
|
|
13
|
+
}
|