@provos/ironcurtain 0.4.0 → 0.5.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +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/index.js +6 -0
- package/dist/config/index.js.map +1 -1
- package/dist/config/mcp-servers.json +13 -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 +10 -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.d.ts +4 -0
- package/dist/docker/adapters/claude-code.js +96 -37
- package/dist/docker/adapters/claude-code.js.map +1 -1
- package/dist/docker/agent-adapter.d.ts +22 -13
- package/dist/docker/code-mode-proxy.d.ts +34 -0
- package/dist/docker/code-mode-proxy.js +137 -0
- package/dist/docker/code-mode-proxy.js.map +1 -0
- package/dist/docker/docker-agent-session.d.ts +22 -14
- package/dist/docker/docker-agent-session.js +144 -117
- 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 +27 -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 +3 -2
- package/dist/docker/orientation.js +4 -4
- 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 +420 -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 +18 -2
- 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.d.ts +25 -1
- package/dist/sandbox/index.js +90 -12
- package/dist/sandbox/index.js.map +1 -1
- package/dist/servers/fetch-server.d.ts +6 -1
- package/dist/servers/fetch-server.js +26 -14
- package/dist/servers/fetch-server.js.map +1 -1
- package/dist/session/agent-session.js +9 -5
- package/dist/session/agent-session.js.map +1 -1
- 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 -106
- 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 +45 -18
- package/dist/session/preflight.js.map +1 -1
- package/dist/session/prompts.d.ts +9 -3
- package/dist/session/prompts.js +28 -10
- package/dist/session/prompts.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 +24 -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 +115 -1
- package/dist/trusted-process/mcp-proxy-server.js +318 -267
- package/dist/trusted-process/mcp-proxy-server.js.map +1 -1
- package/dist/trusted-process/policy-engine.d.ts +3 -1
- package/dist/trusted-process/policy-engine.js +17 -6
- package/dist/trusted-process/policy-engine.js.map +1 -1
- package/dist/trusted-process/sandbox-integration.d.ts +16 -4
- package/dist/trusted-process/sandbox-integration.js +14 -8
- 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 +12 -2
- package/dist/types/argument-roles.js +37 -4
- 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 +19 -9
- 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 +13 -0
- package/dist/docker/managed-proxy.d.ts +0 -31
- package/dist/docker/managed-proxy.js +0 -265
- package/dist/docker/managed-proxy.js.map +0 -1
|
@@ -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":"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"}
|
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,116 +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 { createManagedProxy } = await import('../docker/managed-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
|
-
// Build the same set of env vars the built-in sandbox passes to the proxy.
|
|
87
|
-
// See src/sandbox/index.ts for the authoritative list.
|
|
88
|
-
const proxyEnv = {
|
|
89
|
-
MCP_SERVERS_CONFIG: JSON.stringify(sessionConfig.config.mcpServers),
|
|
90
|
-
GENERATED_DIR: sessionConfig.config.generatedDir,
|
|
91
|
-
CONSTITUTION_PATH: sessionConfig.config.constitutionPath,
|
|
92
|
-
PROTECTED_PATHS: JSON.stringify(sessionConfig.config.protectedPaths),
|
|
93
|
-
AUDIT_LOG_PATH: sessionConfig.auditLogPath,
|
|
94
|
-
ALLOWED_DIRECTORY: sessionConfig.sandboxDir,
|
|
95
|
-
ESCALATION_DIR: sessionConfig.escalationDir,
|
|
96
|
-
ESCALATION_TIMEOUT_SECONDS: String(config.escalationTimeoutSeconds),
|
|
97
|
-
SANDBOX_POLICY: sessionConfig.config.sandboxPolicy ?? 'warn',
|
|
98
|
-
CONTAINER_WORKSPACE_DIR: '/workspace',
|
|
99
|
-
};
|
|
100
|
-
if (sessionConfig.config.sessionLogPath) {
|
|
101
|
-
proxyEnv.SESSION_LOG_PATH = sessionConfig.config.sessionLogPath;
|
|
102
|
-
}
|
|
103
|
-
if (sessionConfig.autoApproveLlmLogPath) {
|
|
104
|
-
proxyEnv.AUTO_APPROVE_LLM_LOG_PATH = sessionConfig.autoApproveLlmLogPath;
|
|
105
|
-
}
|
|
106
|
-
const autoApprove = config.userConfig.autoApprove;
|
|
107
|
-
if (autoApprove.enabled) {
|
|
108
|
-
const { parseModelId, resolveApiKeyForProvider } = await import('../config/model-provider.js');
|
|
109
|
-
proxyEnv.AUTO_APPROVE_ENABLED = 'true';
|
|
110
|
-
proxyEnv.AUTO_APPROVE_MODEL_ID = autoApprove.modelId;
|
|
111
|
-
const { provider } = parseModelId(autoApprove.modelId);
|
|
112
|
-
proxyEnv.AUTO_APPROVE_API_KEY = resolveApiKeyForProvider(provider, config.userConfig);
|
|
113
|
-
}
|
|
114
|
-
const proxy = createManagedProxy({
|
|
115
|
-
socketPath,
|
|
116
|
-
env: proxyEnv,
|
|
117
|
-
listenMode: useTcp ? 'tcp' : 'uds',
|
|
118
|
-
});
|
|
119
|
-
// Load or generate the IronCurtain CA for TLS termination
|
|
120
|
-
const { getIronCurtainHome } = await import('../config/paths.js');
|
|
121
|
-
const caDir = resolve(getIronCurtainHome(), 'ca');
|
|
122
|
-
const ca = loadOrCreateCA(caDir);
|
|
123
|
-
// Generate fake keys and build provider key mappings
|
|
124
|
-
const providers = adapter.getProviders();
|
|
125
|
-
const fakeKeys = new Map();
|
|
126
|
-
const providerMappings = [];
|
|
127
|
-
for (const providerConfig of providers) {
|
|
128
|
-
const fakeKey = generateFakeKey(providerConfig.fakeKeyPrefix);
|
|
129
|
-
fakeKeys.set(providerConfig.host, fakeKey);
|
|
130
|
-
// Resolve real API key from config
|
|
131
|
-
const realKey = resolveRealApiKey(providerConfig.host, config);
|
|
132
|
-
providerMappings.push({ config: providerConfig, fakeKey, realKey });
|
|
133
|
-
}
|
|
134
|
-
const mitmProxy = useTcp
|
|
135
|
-
? createMitmProxy({
|
|
136
|
-
listenPort: 0,
|
|
137
|
-
ca,
|
|
138
|
-
providers: providerMappings,
|
|
139
|
-
})
|
|
140
|
-
: createMitmProxy({
|
|
141
|
-
socketPath: resolve(sessionConfig.sessionDir, 'mitm-proxy.sock'),
|
|
142
|
-
ca,
|
|
143
|
-
providers: providerMappings,
|
|
144
|
-
});
|
|
145
|
-
const docker = createDockerManager();
|
|
81
|
+
const infra = await prepareDockerInfrastructure(sessionConfig.config, { kind: 'docker', agent: agentId }, sessionConfig.sessionDir, sessionConfig.sandboxDir, sessionConfig.escalationDir, sessionConfig.auditLogPath, sessionId);
|
|
146
82
|
const session = new DockerAgentSession({
|
|
147
83
|
config: sessionConfig.config,
|
|
148
84
|
sessionId,
|
|
149
|
-
adapter,
|
|
150
|
-
docker,
|
|
151
|
-
proxy,
|
|
152
|
-
mitmProxy,
|
|
153
|
-
ca,
|
|
154
|
-
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,
|
|
155
91
|
sessionDir: sessionConfig.sessionDir,
|
|
156
92
|
sandboxDir: sessionConfig.sandboxDir,
|
|
157
93
|
escalationDir: sessionConfig.escalationDir,
|
|
158
94
|
auditLogPath: sessionConfig.auditLogPath,
|
|
159
|
-
useTcp,
|
|
95
|
+
useTcp: infra.useTcp,
|
|
160
96
|
onEscalation: options.onEscalation,
|
|
161
97
|
onEscalationExpired: options.onEscalationExpired,
|
|
162
98
|
onDiagnostic: options.onDiagnostic,
|
|
99
|
+
preBuiltInfrastructure: {
|
|
100
|
+
systemPrompt: infra.systemPrompt,
|
|
101
|
+
image: infra.image,
|
|
102
|
+
mitmAddr: infra.mitmAddr,
|
|
103
|
+
},
|
|
163
104
|
});
|
|
164
105
|
try {
|
|
165
106
|
await session.initialize();
|
|
166
107
|
}
|
|
167
108
|
catch (error) {
|
|
168
109
|
await session.close().catch(() => { });
|
|
169
|
-
|
|
110
|
+
if (!loggerWasActive)
|
|
111
|
+
logger.teardown();
|
|
170
112
|
throw new SessionError(`Docker session initialization failed: ${error instanceof Error ? error.message : String(error)}`, 'SESSION_INIT_FAILED');
|
|
171
113
|
}
|
|
172
114
|
return session;
|
|
@@ -233,30 +175,6 @@ function patchMcpServerAllowedDirectory(config, sandboxDir) {
|
|
|
233
175
|
fsServer.args[lastArgIndex] = sandboxDir;
|
|
234
176
|
}
|
|
235
177
|
}
|
|
236
|
-
/**
|
|
237
|
-
* Resolves the real API key for a provider host from config.
|
|
238
|
-
*/
|
|
239
|
-
function resolveRealApiKey(host, config) {
|
|
240
|
-
let key;
|
|
241
|
-
switch (host) {
|
|
242
|
-
case 'api.anthropic.com':
|
|
243
|
-
key = config.userConfig.anthropicApiKey;
|
|
244
|
-
break;
|
|
245
|
-
case 'api.openai.com':
|
|
246
|
-
key = config.userConfig.openaiApiKey;
|
|
247
|
-
break;
|
|
248
|
-
case 'generativelanguage.googleapis.com':
|
|
249
|
-
key = config.userConfig.googleApiKey;
|
|
250
|
-
break;
|
|
251
|
-
default:
|
|
252
|
-
logger.warn(`No API key mapping for unknown provider host: ${host}`);
|
|
253
|
-
return '';
|
|
254
|
-
}
|
|
255
|
-
if (!key) {
|
|
256
|
-
logger.warn(`No API key configured for provider host: ${host}`);
|
|
257
|
-
}
|
|
258
|
-
return key;
|
|
259
|
-
}
|
|
260
178
|
export { SessionError, SessionNotReadyError, SessionClosedError, BudgetExhaustedError } from './errors.js';
|
|
261
179
|
export { resolveSessionMode, PreflightError } from './preflight.js';
|
|
262
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":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AAChD,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAChD,OAAO,EACL,aAAa,EACb,oBAAoB,EACpB,uBAAuB,EACvB,sBAAsB,EACtB,iBAAiB,EACjB,oBAAoB,EACpB,+BAA+B,GAChC,MAAM,oBAAoB,CAAC;AAE5B,OAAO,KAAK,MAAM,MAAM,cAAc,CAAC;AACvC,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAC3C,OAAO,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAG7C;;;;;;;;;;;;;GAaG;AACH,MAAM,CAAC,KAAK,UAAU,aAAa,CAAC,UAA0B,EAAE;IAC9D,MAAM,IAAI,GAAgB,OAAO,CAAC,IAAI,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;IAE9D,IAAI,IAAI,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;QAC3B,OAAO,mBAAmB,CAAC,IAAI,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;IAClD,CAAC;IAED,OAAO,oBAAoB,CAAC,OAAO,CAAC,CAAC;AACvC,CAAC;AAED;;GAEG;AACH,KAAK,UAAU,oBAAoB,CAAC,OAAuB;IACzD,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,IAAI,UAAU,EAAE,CAAC;IAC9C,MAAM,SAAS,GAAG,eAAe,EAAE,CAAC;IAEpC,uEAAuE;IACvE,8CAA8C;IAC9C,MAAM,kBAAkB,GAAG,OAAO,CAAC,eAAe,IAAI,SAAS,CAAC;IAEhE,IAAI,OAAO,CAAC,eAAe,EAAE,CAAC;QAC5B,MAAM,UAAU,GAAG,aAAa,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC;QAC1D,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;YAC5B,MAAM,IAAI,YAAY,CACpB,0BAA0B,OAAO,CAAC,eAAe,KAAK,GAAG,kCAAkC,UAAU,EAAE,EACvG,qBAAqB,CACtB,CAAC;QACJ,CAAC;IACH,CAAC;IAED,MAAM,eAAe,GAAG,MAAM,CAAC,QAAQ,EAAE,CAAC;IAC1C,MAAM,aAAa,GAAG,kBAAkB,CAAC,MAAM,EAAE,kBAAkB,EAAE,SAAS,EAAE,OAAO,CAAC,eAAe,CAAC,CAAC;IAEzG,MAAM,OAAO,GAAG,IAAI,YAAY,CAAC,aAAa,CAAC,MAAM,EAAE,SAAS,EAAE,aAAa,CAAC,aAAa,EAAE,OAAO,CAAC,CAAC;IAExG,IAAI,CAAC;QACH,MAAM,OAAO,CAAC,UAAU,EAAE,CAAC;IAC7B,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,2BAA2B;QAC3B,MAAM,OAAO,CAAC,KAAK,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;QACtC,IAAI,CAAC,eAAe;YAAE,MAAM,CAAC,QAAQ,EAAE,CAAC;QACxC,MAAM,IAAI,YAAY,CACpB,kCAAkC,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,EAC1F,qBAAqB,CACtB,CAAC;IACJ,CAAC;IAED,OAAO,OAAO,CAAC;AACjB,CAAC;AAED;;;;;;GAMG;AACH,KAAK,UAAU,mBAAmB,CAChC,OAAqD,EACrD,OAAuB;IAEvB,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,IAAI,UAAU,EAAE,CAAC;IAC9C,MAAM,SAAS,GAAG,eAAe,EAAE,CAAC;IACpC,MAAM,kBAAkB,GAAG,OAAO,CAAC,eAAe,IAAI,SAAS,CAAC;IAEhE,MAAM,eAAe,GAAG,MAAM,CAAC,QAAQ,EAAE,CAAC;IAC1C,MAAM,aAAa,GAAG,kBAAkB,CAAC,MAAM,EAAE,kBAAkB,EAAE,SAAS,EAAE,OAAO,CAAC,eAAe,CAAC,CAAC;IAEzG,MAAM,EAAE,2BAA2B,EAAE,GAAG,MAAM,MAAM,CAAC,oCAAoC,CAAC,CAAC;IAC3F,MAAM,EAAE,kBAAkB,EAAE,GAAG,MAAM,MAAM,CAAC,mCAAmC,CAAC,CAAC;IAEjF,MAAM,KAAK,GAAG,MAAM,2BAA2B,CAC7C,aAAa,CAAC,MAAM,EACpB,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,OAAO,EAAE,EAClC,aAAa,CAAC,UAAU,EACxB,aAAa,CAAC,UAAU,EACxB,aAAa,CAAC,aAAa,EAC3B,aAAa,CAAC,YAAY,EAC1B,SAAS,CACV,CAAC;IAEF,MAAM,OAAO,GAAG,IAAI,kBAAkB,CAAC;QACrC,MAAM,EAAE,aAAa,CAAC,MAAM;QAC5B,SAAS;QACT,OAAO,EAAE,KAAK,CAAC,OAAO;QACtB,MAAM,EAAE,KAAK,CAAC,MAAM;QACpB,KAAK,EAAE,KAAK,CAAC,KAAK;QAClB,SAAS,EAAE,KAAK,CAAC,SAAS;QAC1B,EAAE,EAAE,KAAK,CAAC,EAAE;QACZ,QAAQ,EAAE,KAAK,CAAC,QAAQ;QACxB,UAAU,EAAE,aAAa,CAAC,UAAU;QACpC,UAAU,EAAE,aAAa,CAAC,UAAU;QACpC,aAAa,EAAE,aAAa,CAAC,aAAa;QAC1C,YAAY,EAAE,aAAa,CAAC,YAAY;QACxC,MAAM,EAAE,KAAK,CAAC,MAAM;QACpB,YAAY,EAAE,OAAO,CAAC,YAAY;QAClC,mBAAmB,EAAE,OAAO,CAAC,mBAAmB;QAChD,YAAY,EAAE,OAAO,CAAC,YAAY;QAClC,sBAAsB,EAAE;YACtB,YAAY,EAAE,KAAK,CAAC,YAAY;YAChC,KAAK,EAAE,KAAK,CAAC,KAAK;YAClB,QAAQ,EAAE,KAAK,CAAC,QAAQ;SACzB;KACF,CAAC,CAAC;IAEH,IAAI,CAAC;QACH,MAAM,OAAO,CAAC,UAAU,EAAE,CAAC;IAC7B,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,OAAO,CAAC,KAAK,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;QACtC,IAAI,CAAC,eAAe;YAAE,MAAM,CAAC,QAAQ,EAAE,CAAC;QACxC,MAAM,IAAI,YAAY,CACpB,yCAAyC,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,EACjG,qBAAqB,CACtB,CAAC;IACJ,CAAC;IAED,OAAO,OAAO,CAAC;AACjB,CAAC;AAYD;;GAEG;AACH,SAAS,kBAAkB,CACzB,MAAyB,EACzB,kBAA0B,EAC1B,SAAoB,EACpB,eAAwB;IAExB,MAAM,UAAU,GAAG,aAAa,CAAC,kBAAkB,CAAC,CAAC;IACrD,MAAM,UAAU,GAAG,oBAAoB,CAAC,kBAAkB,CAAC,CAAC;IAC5D,MAAM,aAAa,GAAG,uBAAuB,CAAC,kBAAkB,CAAC,CAAC;IAClE,MAAM,YAAY,GAAG,sBAAsB,CAAC,kBAAkB,CAAC,CAAC;IAEhE,SAAS,CAAC,UAAU,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAC3C,SAAS,CAAC,aAAa,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAE9C,MAAM,cAAc,GAAG,iBAAiB,CAAC,kBAAkB,CAAC,CAAC;IAC7D,MAAM,UAAU,GAAG,oBAAoB,CAAC,kBAAkB,CAAC,CAAC;IAC5D,MAAM,qBAAqB,GAAG,+BAA+B,CAAC,kBAAkB,CAAC,CAAC;IAElF,gEAAgE;IAChE,MAAM,CAAC,KAAK,CAAC,EAAE,WAAW,EAAE,cAAc,EAAE,CAAC,CAAC;IAC9C,MAAM,CAAC,IAAI,CAAC,WAAW,SAAS,UAAU,CAAC,CAAC;IAC5C,MAAM,CAAC,IAAI,CAAC,YAAY,UAAU,EAAE,CAAC,CAAC;IACtC,MAAM,CAAC,IAAI,CAAC,mBAAmB,aAAa,EAAE,CAAC,CAAC;IAChD,MAAM,CAAC,IAAI,CAAC,cAAc,YAAY,EAAE,CAAC,CAAC;IAC1C,MAAM,CAAC,IAAI,CAAC,YAAY,UAAU,EAAE,CAAC,CAAC;IACtC,IAAI,eAAe,EAAE,CAAC;QACpB,MAAM,CAAC,IAAI,CAAC,yBAAyB,eAAe,EAAE,CAAC,CAAC;IAC1D,CAAC;IAED,iEAAiE;IACjE,wEAAwE;IACxE,MAAM,aAAa,GAAG;QACpB,GAAG,MAAM;QACT,gBAAgB,EAAE,UAAU;QAC5B,YAAY;QACZ,aAAa;QACb,cAAc;QACd,UAAU;QACV,qBAAqB;QACrB,UAAU,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,UAAU,CAAC,CAA6B;KACtF,CAAC;IAEF,sEAAsE;IACtE,8BAA8B,CAAC,aAAa,EAAE,UAAU,CAAC,CAAC;IAE1D,OAAO;QACL,MAAM,EAAE,aAAa;QACrB,UAAU;QACV,UAAU;QACV,aAAa;QACb,YAAY;QACZ,qBAAqB;KACtB,CAAC;AACJ,CAAC;AAED;;;;GAIG;AACH,SAAS,8BAA8B,CACrC,MAA0D,EAC1D,UAAkB;IAElB,MAAM,QAAQ,GAAG,MAAM,CAAC,UAAU,CAAC,YAAY,CAAmC,CAAC;IACnF,IAAI,CAAC,QAAQ;QAAE,OAAO;IAEtB,uDAAuD;IACvD,0EAA0E;IAC1E,MAAM,YAAY,GAAG,QAAQ,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC;IAC9C,IAAI,YAAY,IAAI,CAAC,EAAE,CAAC;QACtB,QAAQ,CAAC,IAAI,CAAC,YAAY,CAAC,GAAG,UAAU,CAAC;IAC3C,CAAC;AACH,CAAC;AAgBD,OAAO,EAAE,YAAY,EAAE,oBAAoB,EAAE,kBAAkB,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAC;AAC3G,OAAO,EAAE,kBAAkB,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC"}
|
|
@@ -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
|
+
}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import { createWriteStream, mkdirSync } from 'node:fs';
|
|
2
|
+
import { dirname } from 'node:path';
|
|
3
|
+
export class InteractionLog {
|
|
4
|
+
stream;
|
|
5
|
+
constructor(path) {
|
|
6
|
+
mkdirSync(dirname(path), { recursive: true });
|
|
7
|
+
this.stream = createWriteStream(path, { flags: 'a' });
|
|
8
|
+
}
|
|
9
|
+
log(entry) {
|
|
10
|
+
if (!this.stream.destroyed) {
|
|
11
|
+
this.stream.write(JSON.stringify(entry) + '\n');
|
|
12
|
+
}
|
|
13
|
+
}
|
|
14
|
+
async close() {
|
|
15
|
+
if (this.stream.destroyed || this.stream.closed) {
|
|
16
|
+
return;
|
|
17
|
+
}
|
|
18
|
+
return new Promise((resolve, reject) => {
|
|
19
|
+
this.stream.end((err) => {
|
|
20
|
+
if (err)
|
|
21
|
+
reject(err);
|
|
22
|
+
else
|
|
23
|
+
resolve();
|
|
24
|
+
});
|
|
25
|
+
});
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
//# sourceMappingURL=interaction-log.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"interaction-log.js","sourceRoot":"","sources":["../../src/session/interaction-log.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,SAAS,EAAoB,MAAM,SAAS,CAAC;AACzE,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAUpC,MAAM,OAAO,cAAc;IACjB,MAAM,CAAc;IAE5B,YAAY,IAAY;QACtB,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QAC9C,IAAI,CAAC,MAAM,GAAG,iBAAiB,CAAC,IAAI,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC,CAAC;IACxD,CAAC;IAED,GAAG,CAAC,KAAuB;QACzB,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE,CAAC;YAC3B,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,CAAC;QAClD,CAAC;IACH,CAAC;IAED,KAAK,CAAC,KAAK;QACT,IAAI,IAAI,CAAC,MAAM,CAAC,SAAS,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC;YAChD,OAAO;QACT,CAAC;QACD,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YACrC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,GAA6B,EAAE,EAAE;gBAChD,IAAI,GAAG;oBAAE,MAAM,CAAC,GAAG,CAAC,CAAC;;oBAChB,OAAO,EAAE,CAAC;YACjB,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC;CACF"}
|
|
@@ -8,6 +8,7 @@
|
|
|
8
8
|
import type { IronCurtainConfig } from '../config/types.js';
|
|
9
9
|
import type { AgentId } from '../docker/agent-adapter.js';
|
|
10
10
|
import type { SessionMode } from './types.js';
|
|
11
|
+
import { type CredentialSources } from '../docker/oauth-credentials.js';
|
|
11
12
|
/**
|
|
12
13
|
* Thrown when explicit --agent prerequisites are not met.
|
|
13
14
|
* Never thrown during auto-detect.
|
|
@@ -26,6 +27,8 @@ export interface PreflightOptions {
|
|
|
26
27
|
requestedAgent?: AgentId;
|
|
27
28
|
/** Dependency injection for tests. Defaults to real Docker check. */
|
|
28
29
|
isDockerAvailable?: () => Promise<boolean>;
|
|
30
|
+
/** Dependency injection for tests. Defaults to real credential detection. */
|
|
31
|
+
credentialSources?: CredentialSources;
|
|
29
32
|
}
|
|
30
33
|
/**
|
|
31
34
|
* Checks whether the Docker daemon is responsive.
|
|
@@ -7,6 +7,7 @@
|
|
|
7
7
|
*/
|
|
8
8
|
import { execFile as execFileCb } from 'node:child_process';
|
|
9
9
|
import { promisify } from 'node:util';
|
|
10
|
+
import { detectAuthMethod, loadOAuthCredentials } from '../docker/oauth-credentials.js';
|
|
10
11
|
const execFile = promisify(execFileCb);
|
|
11
12
|
const DOCKER_TIMEOUT_MS = 5_000;
|
|
12
13
|
const DEFAULT_DOCKER_AGENT = 'claude-code';
|
|
@@ -34,11 +35,30 @@ export async function checkDockerAvailable() {
|
|
|
34
35
|
}
|
|
35
36
|
}
|
|
36
37
|
/**
|
|
37
|
-
*
|
|
38
|
-
*
|
|
38
|
+
* Sources that skip macOS Keychain to keep preflight fast and non-interactive.
|
|
39
|
+
* Full Keychain detection happens in prepareDockerInfrastructure().
|
|
40
|
+
*
|
|
41
|
+
* Limitation: macOS users whose OAuth credentials exist only in the Keychain
|
|
42
|
+
* (no ~/.claude/.credentials.json and no API key) will fall back to builtin
|
|
43
|
+
* in auto-detect mode, or get a PreflightError with explicit --agent.
|
|
44
|
+
* In practice this is rare: Claude Code always writes the credentials file.
|
|
45
|
+
*/
|
|
46
|
+
const preflightSources = {
|
|
47
|
+
loadFromFile: loadOAuthCredentials,
|
|
48
|
+
loadFromKeychain: () => null,
|
|
49
|
+
};
|
|
50
|
+
/**
|
|
51
|
+
* Checks whether credentials (OAuth or API key) are available for the given agent.
|
|
52
|
+
* Returns the auth kind if available, or null if no credentials found.
|
|
53
|
+
*
|
|
54
|
+
* Skips macOS Keychain to avoid interactive prompts during preflight.
|
|
55
|
+
* Full detection including Keychain happens in prepareDockerInfrastructure().
|
|
39
56
|
*/
|
|
40
|
-
function
|
|
41
|
-
|
|
57
|
+
function detectCredentials(_agentId, config, sources) {
|
|
58
|
+
const auth = detectAuthMethod(config, sources ?? preflightSources);
|
|
59
|
+
if (auth.kind === 'none')
|
|
60
|
+
return null;
|
|
61
|
+
return auth.kind === 'oauth' ? 'oauth' : 'apikey';
|
|
42
62
|
}
|
|
43
63
|
/**
|
|
44
64
|
* Resolves the session mode based on explicit --agent flag or auto-detection.
|
|
@@ -47,28 +67,34 @@ function hasApiKeyForAgent(_agentId, config) {
|
|
|
47
67
|
* - Auto-detect: prefers Docker when available; silently falls back to builtin. Never throws.
|
|
48
68
|
*/
|
|
49
69
|
export async function resolveSessionMode(options) {
|
|
50
|
-
const { config, requestedAgent } = options;
|
|
70
|
+
const { config, requestedAgent, credentialSources } = options;
|
|
51
71
|
const isDockerAvailable = options.isDockerAvailable ?? checkDockerAvailable;
|
|
52
72
|
if (requestedAgent !== undefined) {
|
|
53
|
-
return resolveExplicit(requestedAgent, config, isDockerAvailable);
|
|
73
|
+
return resolveExplicit(requestedAgent, config, isDockerAvailable, credentialSources);
|
|
54
74
|
}
|
|
55
|
-
return resolveAutoDetect(config, isDockerAvailable);
|
|
75
|
+
return resolveAutoDetect(config, isDockerAvailable, credentialSources);
|
|
56
76
|
}
|
|
57
|
-
async function resolveExplicit(agent, config, isDockerAvailable) {
|
|
77
|
+
async function resolveExplicit(agent, config, isDockerAvailable, credentialSources) {
|
|
78
|
+
if (agent === 'builtin') {
|
|
79
|
+
return {
|
|
80
|
+
mode: { kind: 'builtin' },
|
|
81
|
+
reason: 'Explicit --agent builtin',
|
|
82
|
+
};
|
|
83
|
+
}
|
|
58
84
|
const dockerOk = await isDockerAvailable();
|
|
59
85
|
if (!dockerOk) {
|
|
60
86
|
throw new PreflightError(`--agent ${agent} requires Docker, but the Docker daemon is not available. ` + 'Is Docker installed and running?');
|
|
61
87
|
}
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
88
|
+
const credKind = detectCredentials(agent, config, credentialSources);
|
|
89
|
+
if (credKind === null) {
|
|
90
|
+
throw new PreflightError(`--agent ${agent} requires authentication. ` + 'Log in with `claude login` (OAuth) or set ANTHROPIC_API_KEY.');
|
|
65
91
|
}
|
|
66
92
|
return {
|
|
67
|
-
mode: { kind: 'docker', agent },
|
|
68
|
-
reason:
|
|
93
|
+
mode: { kind: 'docker', agent, authKind: credKind },
|
|
94
|
+
reason: `Explicit --agent selection (${credKind === 'oauth' ? 'OAuth' : 'API key'})`,
|
|
69
95
|
};
|
|
70
96
|
}
|
|
71
|
-
async function resolveAutoDetect(config, isDockerAvailable) {
|
|
97
|
+
async function resolveAutoDetect(config, isDockerAvailable, credentialSources) {
|
|
72
98
|
const dockerOk = await isDockerAvailable();
|
|
73
99
|
if (!dockerOk) {
|
|
74
100
|
return {
|
|
@@ -76,15 +102,16 @@ async function resolveAutoDetect(config, isDockerAvailable) {
|
|
|
76
102
|
reason: 'Docker not available',
|
|
77
103
|
};
|
|
78
104
|
}
|
|
79
|
-
|
|
105
|
+
const credKind = detectCredentials(DEFAULT_DOCKER_AGENT, config, credentialSources);
|
|
106
|
+
if (credKind === null) {
|
|
80
107
|
return {
|
|
81
108
|
mode: { kind: 'builtin' },
|
|
82
|
-
reason: '
|
|
109
|
+
reason: 'No credentials (OAuth or API key)',
|
|
83
110
|
};
|
|
84
111
|
}
|
|
85
112
|
return {
|
|
86
|
-
mode: { kind: 'docker', agent: DEFAULT_DOCKER_AGENT },
|
|
87
|
-
reason:
|
|
113
|
+
mode: { kind: 'docker', agent: DEFAULT_DOCKER_AGENT, authKind: credKind },
|
|
114
|
+
reason: `Docker available, ${credKind === 'oauth' ? 'OAuth' : 'ANTHROPIC_API_KEY'} detected`,
|
|
88
115
|
};
|
|
89
116
|
}
|
|
90
117
|
//# sourceMappingURL=preflight.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"preflight.js","sourceRoot":"","sources":["../../src/session/preflight.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,QAAQ,IAAI,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAC5D,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"preflight.js","sourceRoot":"","sources":["../../src/session/preflight.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,11 @@
|
|
|
1
|
+
/** Compact server listing for the system prompt. */
|
|
2
|
+
export interface ServerListing {
|
|
3
|
+
name: string;
|
|
4
|
+
description: string;
|
|
5
|
+
}
|
|
1
6
|
/**
|
|
2
|
-
* Builds the system prompt for the agent.
|
|
3
|
-
* the
|
|
7
|
+
* Builds the system prompt for the agent. Uses progressive tool disclosure:
|
|
8
|
+
* the prompt lists server names only; the agent calls help.help('serverName')
|
|
9
|
+
* to discover tools on demand.
|
|
4
10
|
*/
|
|
5
|
-
export declare function buildSystemPrompt(
|
|
11
|
+
export declare function buildSystemPrompt(serverListings: ServerListing[], allowedDirectory?: string): string;
|
package/dist/session/prompts.js
CHANGED
|
@@ -1,11 +1,15 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Builds the system prompt for the agent.
|
|
3
|
-
* the
|
|
2
|
+
* Builds the system prompt for the agent. Uses progressive tool disclosure:
|
|
3
|
+
* the prompt lists server names only; the agent calls help.help('serverName')
|
|
4
|
+
* to discover tools on demand.
|
|
4
5
|
*/
|
|
5
|
-
export function buildSystemPrompt(
|
|
6
|
+
export function buildSystemPrompt(serverListings, allowedDirectory) {
|
|
6
7
|
const sandboxInfo = allowedDirectory
|
|
7
8
|
? `\nYour sandbox directory is: ${allowedDirectory}\nAll file operations within this directory are automatically allowed.\n`
|
|
8
9
|
: '';
|
|
10
|
+
const serverLines = serverListings.length > 0
|
|
11
|
+
? serverListings.map((s) => `- **${s.name}** — ${s.description}`).join('\n')
|
|
12
|
+
: 'No tool servers available';
|
|
9
13
|
return `You are a helpful assistant. You complete tasks by writing TypeScript code that executes in a secure sandbox.
|
|
10
14
|
|
|
11
15
|
Every tool call in your code goes through a security policy engine. If a call is denied, do NOT retry it -- explain the denial to the user.
|
|
@@ -14,7 +18,7 @@ ${sandboxInfo}
|
|
|
14
18
|
|
|
15
19
|
- Tools are synchronous — do NOT use \`await\`.
|
|
16
20
|
- Use \`return\` to send a value back to the conversation.
|
|
17
|
-
- Example: \`const result =
|
|
21
|
+
- Example: \`const result = tools.filesystem_list_directory({ path: "/tmp" });\`
|
|
18
22
|
|
|
19
23
|
## Efficient code execution
|
|
20
24
|
|
|
@@ -31,11 +35,11 @@ BAD — 81 separate execute_code calls:
|
|
|
31
35
|
...
|
|
32
36
|
|
|
33
37
|
GOOD — one execute_code call with a loop:
|
|
34
|
-
const dir =
|
|
38
|
+
const dir = tools.filesystem_list_directory({ path: "/data" });
|
|
35
39
|
let count = 0;
|
|
36
40
|
for (const entry of dir.entries) {
|
|
37
41
|
if (entry.name.endsWith('.txt')) {
|
|
38
|
-
|
|
42
|
+
tools.filesystem_move_file({ source: \`/data/\${entry.name}\`, destination: \`/archive/\${entry.name}\` });
|
|
39
43
|
count++;
|
|
40
44
|
}
|
|
41
45
|
}
|
|
@@ -48,15 +52,29 @@ Large tool results are automatically truncated. To avoid losing information:
|
|
|
48
52
|
- Before reading files, use list_directory to survey what exists. Assess which files are relevant to the task.
|
|
49
53
|
- Do NOT read all files in a directory at once. Read a few at a time, summarize findings, then continue if needed.
|
|
50
54
|
- For large files, use the head and tail parameters on read_text_file to read specific portions.
|
|
51
|
-
Example:
|
|
55
|
+
Example: tools.filesystem_read_text_file({ path: "large.log", tail: 50 })
|
|
52
56
|
- If a result contains [... truncated N bytes ...], use targeted reads to access the specific portion you need.
|
|
53
57
|
- When you need information from multiple files, read them in a single execute_code call using a loop, not in separate calls.
|
|
54
58
|
|
|
55
|
-
## Available
|
|
59
|
+
## Available tool servers
|
|
56
60
|
|
|
57
|
-
${
|
|
61
|
+
${serverLines}
|
|
58
62
|
|
|
59
|
-
|
|
63
|
+
### Tool discovery
|
|
64
|
+
|
|
65
|
+
Call \`help.help('serverName')\` to list the tools in a server with their required parameters.
|
|
66
|
+
Call \`__getToolInterface('namespace.tool_name')\` to inspect a tool's full TypeScript interface.
|
|
67
|
+
|
|
68
|
+
Example workflow:
|
|
69
|
+
\`\`\`typescript
|
|
70
|
+
// 1. Discover filesystem tools
|
|
71
|
+
const info = help.help('filesystem');
|
|
72
|
+
return info;
|
|
73
|
+
|
|
74
|
+
// 2. Then use them
|
|
75
|
+
const content = tools.filesystem_read_text_file({ path: '/data/config.json' });
|
|
76
|
+
return content;
|
|
77
|
+
\`\`\`
|
|
60
78
|
`;
|
|
61
79
|
}
|
|
62
80
|
//# sourceMappingURL=prompts.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"prompts.js","sourceRoot":"","sources":["../../src/session/prompts.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"prompts.js","sourceRoot":"","sources":["../../src/session/prompts.ts"],"names":[],"mappings":"AAMA;;;;GAIG;AACH,MAAM,UAAU,iBAAiB,CAAC,cAA+B,EAAE,gBAAyB;IAC1F,MAAM,WAAW,GAAG,gBAAgB;QAClC,CAAC,CAAC,gCAAgC,gBAAgB,0EAA0E;QAC5H,CAAC,CAAC,EAAE,CAAC;IAEP,MAAM,WAAW,GACf,cAAc,CAAC,MAAM,GAAG,CAAC;QACvB,CAAC,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,CAAC,IAAI,QAAQ,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;QAC5E,CAAC,CAAC,2BAA2B,CAAC;IAElC,OAAO;;;EAGP,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA6CX,WAAW;;;;;;;;;;;;;;;;;CAiBZ,CAAC;AACF,CAAC"}
|
package/dist/session/types.d.ts
CHANGED
|
@@ -34,6 +34,7 @@ export type SessionMode = {
|
|
|
34
34
|
} | {
|
|
35
35
|
readonly kind: 'docker';
|
|
36
36
|
readonly agent: AgentId;
|
|
37
|
+
readonly authKind?: 'oauth' | 'apikey';
|
|
37
38
|
};
|
|
38
39
|
/**
|
|
39
40
|
* A single turn in the conversation. Captures what the user said,
|
|
@@ -139,6 +140,7 @@ export interface EscalationRequest {
|
|
|
139
140
|
readonly serverName: string;
|
|
140
141
|
readonly arguments: Record<string, unknown>;
|
|
141
142
|
readonly reason: string;
|
|
143
|
+
readonly context?: Readonly<Record<string, string>>;
|
|
142
144
|
}
|
|
143
145
|
/**
|
|
144
146
|
* Options for creating a session. Extends the base config with
|
|
@@ -8,6 +8,7 @@
|
|
|
8
8
|
*/
|
|
9
9
|
import { loadConfig } from '../config/index.js';
|
|
10
10
|
import { loadUserConfig } from '../config/user-config.js';
|
|
11
|
+
import { getDaemonLogPath } from '../config/paths.js';
|
|
11
12
|
import { createDockerManager } from '../docker/docker-manager.js';
|
|
12
13
|
import { resolveSessionMode } from '../session/preflight.js';
|
|
13
14
|
import { SignalBotDaemon } from './signal-bot-daemon.js';
|
|
@@ -21,6 +22,10 @@ export async function runBot(options = {}) {
|
|
|
21
22
|
process.stderr.write('Signal is not configured. Run: ironcurtain setup-signal\n');
|
|
22
23
|
process.exit(1);
|
|
23
24
|
}
|
|
25
|
+
// Set up daemon-wide logger before creating sessions.
|
|
26
|
+
// Individual session creations will call logger.setup() too,
|
|
27
|
+
// but it's now idempotent — subsequent calls are no-ops.
|
|
28
|
+
logger.setup({ logFilePath: getDaemonLogPath('signal-bot') });
|
|
24
29
|
const config = loadConfig();
|
|
25
30
|
// Resolve session mode (same logic as `ironcurtain start`)
|
|
26
31
|
const preflight = await resolveSessionMode({
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bot-command.js","sourceRoot":"","sources":["../../src/signal/bot-command.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAChD,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAC1D,OAAO,EAAE,mBAAmB,EAAE,MAAM,6BAA6B,CAAC;AAClE,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAC7D,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AACzD,OAAO,EAAE,4BAA4B,EAAE,MAAM,uBAAuB,CAAC;AACrE,OAAO,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AACzD,OAAO,KAAK,MAAM,MAAM,cAAc,CAAC;AAQvC,MAAM,CAAC,KAAK,UAAU,MAAM,CAAC,UAAsB,EAAE;IACnD,MAAM,UAAU,GAAG,cAAc,EAAE,CAAC;IACpC,MAAM,YAAY,GAAG,mBAAmB,CAAC,UAAU,CAAC,CAAC;IAErD,IAAI,CAAC,YAAY,EAAE,CAAC;QAClB,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,2DAA2D,CAAC,CAAC;QAClF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,MAAM,MAAM,GAAG,UAAU,EAAE,CAAC;IAE5B,2DAA2D;IAC3D,MAAM,SAAS,GAAG,MAAM,kBAAkB,CAAC;QACzC,MAAM;QACN,cAAc,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC,CAAE,OAAO,CAAC,KAAiB,CAAC,CAAC,CAAC,SAAS;KACvE,CAAC,CAAC;IACH,MAAM,IAAI,GAAG,SAAS,CAAC,IAAI,CAAC;IAE5B,MAAM,MAAM,GAAG,mBAAmB,EAAE,CAAC;IACrC,MAAM,gBAAgB,GAAG,4BAA4B,CAAC,MAAM,EAAE,YAAY,CAAC,SAAS,CAAC,CAAC;IAEtF,MAAM,MAAM,GAAG,IAAI,eAAe,CAAC;QACjC,MAAM,EAAE,YAAY;QACpB,gBAAgB;QAChB,IAAI;KACL,CAAC,CAAC;IAEH,gDAAgD;IAChD,IAAI,YAAY,GAAG,KAAK,CAAC;IACzB,MAAM,QAAQ,GAAG,KAAK,IAAmB,EAAE;QACzC,IAAI,YAAY;YAAE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,4BAA4B;QAC/D,YAAY,GAAG,IAAI,CAAC;QACpB,MAAM,MAAM,CAAC,QAAQ,EAAE,CAAC;QACxB,MAAM,CAAC,QAAQ,EAAE,CAAC;QAClB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC,CAAC;IACF,OAAO,CAAC,EAAE,CAAC,QAAQ,EAAE,GAAG,EAAE,CAAC,KAAK,QAAQ,EAAE,CAAC,CAAC;IAC5C,OAAO,CAAC,EAAE,CAAC,SAAS,EAAE,GAAG,EAAE,CAAC,KAAK,QAAQ,EAAE,CAAC,CAAC;IAE7C,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,mCAAmC,IAAI,CAAC,IAAI,QAAQ,CAAC,CAAC;IAC3E,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,yBAAyB,CAAC,CAAC;IAEhD,MAAM,MAAM,CAAC,KAAK,EAAE,CAAC;AACvB,CAAC"}
|
|
1
|
+
{"version":3,"file":"bot-command.js","sourceRoot":"","sources":["../../src/signal/bot-command.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAChD,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAC1D,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,EAAE,mBAAmB,EAAE,MAAM,6BAA6B,CAAC;AAClE,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAC7D,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AACzD,OAAO,EAAE,4BAA4B,EAAE,MAAM,uBAAuB,CAAC;AACrE,OAAO,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AACzD,OAAO,KAAK,MAAM,MAAM,cAAc,CAAC;AAQvC,MAAM,CAAC,KAAK,UAAU,MAAM,CAAC,UAAsB,EAAE;IACnD,MAAM,UAAU,GAAG,cAAc,EAAE,CAAC;IACpC,MAAM,YAAY,GAAG,mBAAmB,CAAC,UAAU,CAAC,CAAC;IAErD,IAAI,CAAC,YAAY,EAAE,CAAC;QAClB,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,2DAA2D,CAAC,CAAC;QAClF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,sDAAsD;IACtD,6DAA6D;IAC7D,yDAAyD;IACzD,MAAM,CAAC,KAAK,CAAC,EAAE,WAAW,EAAE,gBAAgB,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC;IAE9D,MAAM,MAAM,GAAG,UAAU,EAAE,CAAC;IAE5B,2DAA2D;IAC3D,MAAM,SAAS,GAAG,MAAM,kBAAkB,CAAC;QACzC,MAAM;QACN,cAAc,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC,CAAE,OAAO,CAAC,KAAiB,CAAC,CAAC,CAAC,SAAS;KACvE,CAAC,CAAC;IACH,MAAM,IAAI,GAAG,SAAS,CAAC,IAAI,CAAC;IAE5B,MAAM,MAAM,GAAG,mBAAmB,EAAE,CAAC;IACrC,MAAM,gBAAgB,GAAG,4BAA4B,CAAC,MAAM,EAAE,YAAY,CAAC,SAAS,CAAC,CAAC;IAEtF,MAAM,MAAM,GAAG,IAAI,eAAe,CAAC;QACjC,MAAM,EAAE,YAAY;QACpB,gBAAgB;QAChB,IAAI;KACL,CAAC,CAAC;IAEH,gDAAgD;IAChD,IAAI,YAAY,GAAG,KAAK,CAAC;IACzB,MAAM,QAAQ,GAAG,KAAK,IAAmB,EAAE;QACzC,IAAI,YAAY;YAAE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,4BAA4B;QAC/D,YAAY,GAAG,IAAI,CAAC;QACpB,MAAM,MAAM,CAAC,QAAQ,EAAE,CAAC;QACxB,MAAM,CAAC,QAAQ,EAAE,CAAC;QAClB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC,CAAC;IACF,OAAO,CAAC,EAAE,CAAC,QAAQ,EAAE,GAAG,EAAE,CAAC,KAAK,QAAQ,EAAE,CAAC,CAAC;IAC5C,OAAO,CAAC,EAAE,CAAC,SAAS,EAAE,GAAG,EAAE,CAAC,KAAK,QAAQ,EAAE,CAAC,CAAC;IAE7C,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,mCAAmC,IAAI,CAAC,IAAI,QAAQ,CAAC,CAAC;IAC3E,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,yBAAyB,CAAC,CAAC;IAEhD,MAAM,MAAM,CAAC,KAAK,EAAE,CAAC;AACvB,CAAC"}
|