@provos/ironcurtain 0.6.0 → 0.7.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 +29 -86
- package/dist/cli-help.d.ts +63 -0
- package/dist/cli-help.js +102 -0
- package/dist/cli-help.js.map +1 -0
- package/dist/cli.js +79 -56
- package/dist/cli.js.map +1 -1
- package/dist/config/config-command.js +136 -2
- package/dist/config/config-command.js.map +1 -1
- package/dist/config/constitution-readonly.md +21 -0
- package/dist/config/generated/tool-annotations.json +487 -338
- package/dist/config/generated-readonly/compiled-policy.json +468 -0
- package/dist/config/index.d.ts +21 -1
- package/dist/config/index.js +12 -4
- package/dist/config/index.js.map +1 -1
- package/dist/config/mcp-servers.json +2 -8
- package/dist/config/paths.d.ts +47 -0
- package/dist/config/paths.js +81 -0
- package/dist/config/paths.js.map +1 -1
- package/dist/config/tool-description-hints.json +15 -0
- package/dist/config/types.d.ts +7 -0
- package/dist/config/user-config.d.ts +21 -0
- package/dist/config/user-config.js +8 -0
- package/dist/config/user-config.js.map +1 -1
- package/dist/cron/compile-task-policy.d.ts +17 -0
- package/dist/cron/compile-task-policy.js +39 -0
- package/dist/cron/compile-task-policy.js.map +1 -0
- package/dist/cron/constitution-generator.d.ts +60 -0
- package/dist/cron/constitution-generator.js +217 -0
- package/dist/cron/constitution-generator.js.map +1 -0
- package/dist/cron/cron-scheduler.d.ts +65 -0
- package/dist/cron/cron-scheduler.js +184 -0
- package/dist/cron/cron-scheduler.js.map +1 -0
- package/dist/cron/file-lock.d.ts +41 -0
- package/dist/cron/file-lock.js +156 -0
- package/dist/cron/file-lock.js.map +1 -0
- package/dist/cron/format-utils.d.ts +18 -0
- package/dist/cron/format-utils.js +145 -0
- package/dist/cron/format-utils.js.map +1 -0
- package/dist/cron/git-sync.d.ts +22 -0
- package/dist/cron/git-sync.js +121 -0
- package/dist/cron/git-sync.js.map +1 -0
- package/dist/cron/headless-transport.d.ts +27 -0
- package/dist/cron/headless-transport.js +43 -0
- package/dist/cron/headless-transport.js.map +1 -0
- package/dist/cron/job-commands.d.ts +39 -0
- package/dist/cron/job-commands.js +585 -0
- package/dist/cron/job-commands.js.map +1 -0
- package/dist/cron/job-customizer.d.ts +22 -0
- package/dist/cron/job-customizer.js +47 -0
- package/dist/cron/job-customizer.js.map +1 -0
- package/dist/cron/job-store.d.ts +35 -0
- package/dist/cron/job-store.js +111 -0
- package/dist/cron/job-store.js.map +1 -0
- package/dist/cron/types.d.ts +135 -0
- package/dist/cron/types.js +22 -0
- package/dist/cron/types.js.map +1 -0
- package/dist/daemon/control-socket.d.ts +127 -0
- package/dist/daemon/control-socket.js +261 -0
- package/dist/daemon/control-socket.js.map +1 -0
- package/dist/daemon/daemon-command.d.ts +13 -0
- package/dist/daemon/daemon-command.js +230 -0
- package/dist/daemon/daemon-command.js.map +1 -0
- package/dist/daemon/ironcurtain-daemon.d.ts +90 -0
- package/dist/daemon/ironcurtain-daemon.js +550 -0
- package/dist/daemon/ironcurtain-daemon.js.map +1 -0
- package/dist/docker/adapters/claude-code.js +7 -47
- package/dist/docker/adapters/claude-code.js.map +1 -1
- package/dist/docker/adapters/goose.d.ts +58 -0
- package/dist/docker/adapters/goose.js +250 -0
- package/dist/docker/adapters/goose.js.map +1 -0
- package/dist/docker/adapters/shared-scripts.d.ts +29 -0
- package/dist/docker/adapters/shared-scripts.js +80 -0
- package/dist/docker/adapters/shared-scripts.js.map +1 -0
- package/dist/docker/agent-adapter.d.ts +12 -0
- package/dist/docker/agent-adapter.js.map +1 -1
- package/dist/docker/agent-registry.d.ts +6 -1
- package/dist/docker/agent-registry.js +10 -1
- package/dist/docker/agent-registry.js.map +1 -1
- package/dist/docker/docker-agent-session.d.ts +2 -25
- package/dist/docker/docker-agent-session.js +7 -106
- package/dist/docker/docker-agent-session.js.map +1 -1
- package/dist/docker/docker-infrastructure.d.ts +8 -0
- package/dist/docker/docker-infrastructure.js +12 -11
- package/dist/docker/docker-infrastructure.js.map +1 -1
- package/dist/docker/mitm-proxy.js +10 -5
- package/dist/docker/mitm-proxy.js.map +1 -1
- package/dist/docker/oauth-credentials.js +2 -2
- package/dist/docker/oauth-credentials.js.map +1 -1
- package/dist/docker/pty-session.js +146 -39
- package/dist/docker/pty-session.js.map +1 -1
- package/dist/escalation/escalation-watcher.d.ts +2 -0
- package/dist/escalation/escalation-watcher.js +3 -0
- package/dist/escalation/escalation-watcher.js.map +1 -1
- package/dist/escalation/session-registry.js +1 -14
- package/dist/escalation/session-registry.js.map +1 -1
- package/dist/index.js +43 -5
- package/dist/index.js.map +1 -1
- package/dist/mux/mux-app.js +11 -6
- package/dist/mux/mux-app.js.map +1 -1
- package/dist/mux/mux-command.js +49 -10
- package/dist/mux/mux-command.js.map +1 -1
- package/dist/mux/mux-input-handler.d.ts +5 -0
- package/dist/mux/mux-input-handler.js +64 -9
- package/dist/mux/mux-input-handler.js.map +1 -1
- package/dist/mux/mux-renderer.d.ts +20 -0
- package/dist/mux/mux-renderer.js +127 -35
- package/dist/mux/mux-renderer.js.map +1 -1
- package/dist/mux/mux-splash.js +2 -1
- package/dist/mux/mux-splash.js.map +1 -1
- package/dist/mux/paste-interceptor.d.ts +22 -0
- package/dist/mux/paste-interceptor.js +143 -0
- package/dist/mux/paste-interceptor.js.map +1 -0
- package/dist/mux/pty-bridge.js +1 -1
- package/dist/mux/pty-bridge.js.map +1 -1
- package/dist/mux/types.d.ts +8 -1
- package/dist/mux/types.js +17 -5
- package/dist/mux/types.js.map +1 -1
- package/dist/persona/compile-persona-policy.d.ts +21 -0
- package/dist/persona/compile-persona-policy.js +50 -0
- package/dist/persona/compile-persona-policy.js.map +1 -0
- package/dist/persona/persona-command.d.ts +9 -0
- package/dist/persona/persona-command.js +479 -0
- package/dist/persona/persona-command.js.map +1 -0
- package/dist/persona/persona-customizer.d.ts +23 -0
- package/dist/persona/persona-customizer.js +52 -0
- package/dist/persona/persona-customizer.js.map +1 -0
- package/dist/persona/persona-prompt.d.ts +19 -0
- package/dist/persona/persona-prompt.js +42 -0
- package/dist/persona/persona-prompt.js.map +1 -0
- package/dist/persona/resolve.d.ts +46 -0
- package/dist/persona/resolve.js +108 -0
- package/dist/persona/resolve.js.map +1 -0
- package/dist/persona/types.d.ts +40 -0
- package/dist/persona/types.js +20 -0
- package/dist/persona/types.js.map +1 -0
- package/dist/pipeline/annotate.js +10 -4
- package/dist/pipeline/annotate.js.map +1 -1
- package/dist/pipeline/compile.d.ts +14 -31
- package/dist/pipeline/compile.js +50 -563
- package/dist/pipeline/compile.js.map +1 -1
- package/dist/pipeline/constitution-compiler.d.ts +6 -0
- package/dist/pipeline/constitution-compiler.js +42 -6
- package/dist/pipeline/constitution-compiler.js.map +1 -1
- package/dist/pipeline/constitution-customizer.d.ts +3 -0
- package/dist/pipeline/constitution-customizer.js +19 -5
- package/dist/pipeline/constitution-customizer.js.map +1 -1
- package/dist/pipeline/customizer-loop.d.ts +34 -0
- package/dist/pipeline/customizer-loop.js +167 -0
- package/dist/pipeline/customizer-loop.js.map +1 -0
- package/dist/pipeline/mcp-connections.d.ts +16 -0
- package/dist/pipeline/mcp-connections.js +61 -0
- package/dist/pipeline/mcp-connections.js.map +1 -0
- package/dist/pipeline/pipeline-runner.d.ts +86 -0
- package/dist/pipeline/pipeline-runner.js +547 -0
- package/dist/pipeline/pipeline-runner.js.map +1 -0
- package/dist/pipeline/pipeline-shared.d.ts +37 -3
- package/dist/pipeline/pipeline-shared.js +77 -16
- package/dist/pipeline/pipeline-shared.js.map +1 -1
- package/dist/pipeline/refresh-lists.js +38 -12
- package/dist/pipeline/refresh-lists.js.map +1 -1
- package/dist/pipeline/scenario-generator.js +2 -1
- package/dist/pipeline/scenario-generator.js.map +1 -1
- package/dist/pipeline/tool-annotator.d.ts +3 -3
- package/dist/pipeline/tool-annotator.js +114 -4
- package/dist/pipeline/tool-annotator.js.map +1 -1
- package/dist/pipeline/types.d.ts +52 -0
- package/dist/sandbox/index.js +36 -1
- package/dist/sandbox/index.js.map +1 -1
- package/dist/session/agent-session.d.ts +3 -0
- package/dist/session/agent-session.js +10 -1
- package/dist/session/agent-session.js.map +1 -1
- package/dist/session/index.d.ts +10 -0
- package/dist/session/index.js +134 -12
- package/dist/session/index.js.map +1 -1
- package/dist/session/preflight.js +26 -6
- package/dist/session/preflight.js.map +1 -1
- package/dist/session/prompts.d.ts +14 -0
- package/dist/session/prompts.js +39 -2
- package/dist/session/prompts.js.map +1 -1
- package/dist/session/session-manager.d.ts +105 -0
- package/dist/session/session-manager.js +134 -0
- package/dist/session/session-manager.js.map +1 -0
- package/dist/session/session-metadata.d.ts +18 -0
- package/dist/session/session-metadata.js +34 -0
- package/dist/session/session-metadata.js.map +1 -0
- package/dist/session/types.d.ts +47 -0
- package/dist/session/workspace-validation.d.ts +2 -0
- package/dist/session/workspace-validation.js +6 -5
- package/dist/session/workspace-validation.js.map +1 -1
- package/dist/signal/bot-command.d.ts +2 -0
- package/dist/signal/bot-command.js +8 -0
- package/dist/signal/bot-command.js.map +1 -1
- package/dist/signal/format.d.ts +27 -0
- package/dist/signal/format.js +59 -0
- package/dist/signal/format.js.map +1 -1
- package/dist/signal/signal-bot-daemon.d.ts +27 -25
- package/dist/signal/signal-bot-daemon.js +153 -135
- package/dist/signal/signal-bot-daemon.js.map +1 -1
- package/dist/signal/signal-container.js +63 -19
- package/dist/signal/signal-container.js.map +1 -1
- package/dist/signal/signal-transport.js +3 -8
- package/dist/signal/signal-transport.js.map +1 -1
- package/dist/trusted-process/domain-utils.d.ts +37 -4
- package/dist/trusted-process/domain-utils.js +130 -11
- package/dist/trusted-process/domain-utils.js.map +1 -1
- package/dist/trusted-process/index.js +6 -2
- package/dist/trusted-process/index.js.map +1 -1
- package/dist/trusted-process/mcp-client-manager.js +11 -5
- package/dist/trusted-process/mcp-client-manager.js.map +1 -1
- package/dist/trusted-process/mcp-proxy-server.d.ts +21 -0
- package/dist/trusted-process/mcp-proxy-server.js +91 -28
- package/dist/trusted-process/mcp-proxy-server.js.map +1 -1
- package/dist/trusted-process/permissive-output-validator.d.ts +23 -0
- package/dist/trusted-process/permissive-output-validator.js +10 -0
- package/dist/trusted-process/permissive-output-validator.js.map +1 -0
- package/dist/trusted-process/policy-engine.d.ts +29 -7
- package/dist/trusted-process/policy-engine.js +149 -92
- package/dist/trusted-process/policy-engine.js.map +1 -1
- package/dist/trusted-process/tool-description-hints.d.ts +19 -0
- package/dist/trusted-process/tool-description-hints.js +53 -0
- package/dist/trusted-process/tool-description-hints.js.map +1 -0
- package/dist/types/argument-roles.d.ts +33 -1
- package/dist/types/argument-roles.js +129 -1
- package/dist/types/argument-roles.js.map +1 -1
- package/dist/types/slug.d.ts +7 -0
- package/dist/types/slug.js +14 -0
- package/dist/types/slug.js.map +1 -0
- package/dist/utils/editor.d.ts +24 -0
- package/dist/utils/editor.js +66 -0
- package/dist/utils/editor.js.map +1 -0
- package/docker/Dockerfile.goose +34 -0
- package/docker/entrypoint-goose.sh +30 -0
- package/package.json +1 -1
- package/src/config/generated/tool-annotations.json +487 -338
- package/src/config/mcp-servers.json +2 -8
package/dist/pipeline/types.d.ts
CHANGED
|
@@ -25,6 +25,58 @@ export interface ToolAnnotationsFile {
|
|
|
25
25
|
tools: ToolAnnotation[];
|
|
26
26
|
}>;
|
|
27
27
|
}
|
|
28
|
+
/**
|
|
29
|
+
* A condition on a sibling argument that determines which roles apply.
|
|
30
|
+
* Exactly one of equals/in/is must be set.
|
|
31
|
+
*/
|
|
32
|
+
export interface RoleCondition {
|
|
33
|
+
readonly arg: string;
|
|
34
|
+
readonly equals?: string | number | boolean;
|
|
35
|
+
readonly in?: ReadonlyArray<string | number | boolean>;
|
|
36
|
+
readonly is?: 'present' | 'absent' | 'truthy' | 'falsy';
|
|
37
|
+
}
|
|
38
|
+
/**
|
|
39
|
+
* A conditional role assignment: when the condition matches,
|
|
40
|
+
* these roles apply instead of the default.
|
|
41
|
+
*/
|
|
42
|
+
export interface ConditionalRoleEntry {
|
|
43
|
+
readonly condition: RoleCondition;
|
|
44
|
+
readonly roles: ArgumentRole[];
|
|
45
|
+
}
|
|
46
|
+
/**
|
|
47
|
+
* Roles for an argument that depend on the values of sibling arguments.
|
|
48
|
+
* The `default` roles apply when no `when` clause matches.
|
|
49
|
+
*
|
|
50
|
+
* Invariant: each `when` entry's `roles` must be a subset of `default`.
|
|
51
|
+
* This ensures conditional resolution can only narrow, never expand.
|
|
52
|
+
*/
|
|
53
|
+
export interface ConditionalRoles {
|
|
54
|
+
readonly default: ArgumentRole[];
|
|
55
|
+
readonly when: ConditionalRoleEntry[];
|
|
56
|
+
}
|
|
57
|
+
/**
|
|
58
|
+
* An argument's roles in the stored (on-disk) format: either a static
|
|
59
|
+
* array (backward compatible) or a conditional block with default + when.
|
|
60
|
+
*/
|
|
61
|
+
export type ArgumentRoleSpec = ArgumentRole[] | ConditionalRoles;
|
|
62
|
+
/**
|
|
63
|
+
* A tool annotation as stored in tool-annotations.json.
|
|
64
|
+
* Args may contain conditional role specs that need resolution
|
|
65
|
+
* against actual tool call arguments before use.
|
|
66
|
+
*/
|
|
67
|
+
export interface StoredToolAnnotation extends Omit<ToolAnnotation, 'args'> {
|
|
68
|
+
args: Record<string, ArgumentRoleSpec>;
|
|
69
|
+
}
|
|
70
|
+
/**
|
|
71
|
+
* The tool-annotations.json file format.
|
|
72
|
+
* Uses StoredToolAnnotation because the file may contain conditional specs.
|
|
73
|
+
*/
|
|
74
|
+
export interface StoredToolAnnotationsFile extends Omit<ToolAnnotationsFile, 'servers'> {
|
|
75
|
+
servers: Record<string, {
|
|
76
|
+
inputHash: string;
|
|
77
|
+
tools: StoredToolAnnotation[];
|
|
78
|
+
}>;
|
|
79
|
+
}
|
|
28
80
|
export interface PathCondition {
|
|
29
81
|
roles: ArgumentRole[];
|
|
30
82
|
within: string;
|
package/dist/sandbox/index.js
CHANGED
|
@@ -86,6 +86,8 @@ function buildInterfacePatchSnippet(callableToRawMap) {
|
|
|
86
86
|
const mapJson = JSON.stringify(callableToRawMap);
|
|
87
87
|
// The snippet runs inside the V8 isolate before user code.
|
|
88
88
|
// It wraps the existing __getToolInterface to also accept callable names.
|
|
89
|
+
// When the name is wrong, it tries auto-correction (prepending "tools.")
|
|
90
|
+
// and falls back to a helpful error message with suggestions.
|
|
89
91
|
return `
|
|
90
92
|
(function() {
|
|
91
93
|
var _callableToRaw = ${mapJson};
|
|
@@ -96,7 +98,39 @@ function buildInterfacePatchSnippet(callableToRawMap) {
|
|
|
96
98
|
if (result) return result;
|
|
97
99
|
var rawName = _callableToRaw[toolName];
|
|
98
100
|
if (rawName) return _origGetToolInterface(rawName);
|
|
99
|
-
|
|
101
|
+
|
|
102
|
+
// Auto-correct: try prepending "tools." for common mistake
|
|
103
|
+
if (toolName && !toolName.startsWith('tools.')) {
|
|
104
|
+
var prefixed = 'tools.' + toolName;
|
|
105
|
+
// Try as raw name first
|
|
106
|
+
result = _origGetToolInterface(prefixed);
|
|
107
|
+
if (result) return result;
|
|
108
|
+
// Try as callable name
|
|
109
|
+
rawName = _callableToRaw[prefixed];
|
|
110
|
+
if (rawName) return _origGetToolInterface(rawName);
|
|
111
|
+
// Try converting dots to underscores (e.g. "git.git_push" -> "tools.git_git_push")
|
|
112
|
+
var asCallable = 'tools.' + toolName.replace(/\\./g, '_');
|
|
113
|
+
rawName = _callableToRaw[asCallable];
|
|
114
|
+
if (rawName) return _origGetToolInterface(rawName);
|
|
115
|
+
}
|
|
116
|
+
|
|
117
|
+
// Build helpful error with suggestions
|
|
118
|
+
var allNames = Object.keys(_callableToRaw);
|
|
119
|
+
var suggestions = [];
|
|
120
|
+
var needle = toolName.toLowerCase().replace(/^tools\\./, '');
|
|
121
|
+
for (var i = 0; i < allNames.length && suggestions.length < 3; i++) {
|
|
122
|
+
if (allNames[i].toLowerCase().indexOf(needle) !== -1 ||
|
|
123
|
+
needle.indexOf(allNames[i].toLowerCase().replace(/^tools\\./, '')) !== -1) {
|
|
124
|
+
suggestions.push(allNames[i]);
|
|
125
|
+
}
|
|
126
|
+
}
|
|
127
|
+
var msg = "Unknown tool '" + toolName + "'.";
|
|
128
|
+
if (suggestions.length > 0) {
|
|
129
|
+
msg += " Did you mean: " + suggestions.join(', ') + "?";
|
|
130
|
+
} else {
|
|
131
|
+
msg += " Use the callable name format shown in the tool catalog, e.g. tools.git_git_push";
|
|
132
|
+
}
|
|
133
|
+
return msg;
|
|
100
134
|
};
|
|
101
135
|
}
|
|
102
136
|
})();
|
|
@@ -163,6 +197,7 @@ export class Sandbox {
|
|
|
163
197
|
AUDIT_LOG_PATH: config.auditLogPath,
|
|
164
198
|
MCP_SERVERS_CONFIG: JSON.stringify(config.mcpServers),
|
|
165
199
|
GENERATED_DIR: config.generatedDir,
|
|
200
|
+
TOOL_ANNOTATIONS_DIR: config.toolAnnotationsDir ?? config.generatedDir,
|
|
166
201
|
// Base constitution path — the proxy uses it for freshness checking
|
|
167
202
|
// against the combined (base + user) constitution.
|
|
168
203
|
CONSTITUTION_PATH: config.constitutionPath,
|
|
@@ -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,uBAAuB,EAAE,MAAM,4BAA4B,CAAC;AACrE,OAAO,EAAE,YAAY,EAAE,wBAAwB,EAAE,MAAM,6BAA6B,CAAC;AACrF,OAAO,EAAE,qBAAqB,EAAE,MAAM,2CAA2C,CAAC;AAElF,kFAAkF;AAClF,iFAAiF;AACjF,oFAAoF;AACpF,qFAAqF;AACrF,+DAA+D;AAC/D,EAAE;AACF,4FAA4F;AAC5F,gFAAgF;AAChF,IAAI,mBAAmB,GAAG,GAAG,GAAG,IAAI,CAAC,CAAC,mBAAmB;AAEzD,2EAA2E;AAC3E,SAAS,oBAAoB,CAAC,OAAe;IAC3C,mBAAmB,GAAG,OAAO,GAAG,IAAI,CAAC;AACvC,CAAC;AAED,+KAA+K;AAC/K,MAAM,eAAe,GAAa,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC;AAC7D,QAAQ,CAAC,SAAS,CAAC,OAAO,GAAG,UAE3B,GAAG,IAAyE;IAE5E,MAAM,OAAO,GAAG,IAAI,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;IAC9B,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC;QACrB,IAAI,CAAC,CAAC,CAAC,GAAG,EAAE,GAAG,OAAO,EAAE,OAAO,EAAE,mBAAmB,EAAE,CAAC;IACzD,CAAC;IACD,4HAA4H;IAC5H,OAAO,eAAe,CAAC,KAAK,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;AAC3C,CAAsC,CAAC;AAEvC,+DAA+D;AAC/D,kFAAkF;AAClF,kFAAkF;AAClF,mFAAmF;AACnF,sFAAsF;AACtF,MAAM,UAAU,GAAG,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAClD,MAAM,SAAS,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC;AACtC,MAAM,UAAU,GAAG,UAAU,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;AAC9C,MAAM,eAAe,GAAG,OAAO,CAAC,SAAS,EAAE,uCAAuC,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;AAC9G,MAAM,MAAM,GAAG,qBAAqB,CAAC,KAAK,EAAE,OAAO,CAAC,SAAS,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC;AAC5E,MAAM,aAAa,GAAG,UAAU,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC;AACnD,MAAM,UAAU,GAAG,CAAC,eAAe,CAAC,CAAC;AAErC;;;;;;GAMG;AACH,MAAM,UAAU,cAAc,CAAC,QAAgB;IAC7C,MAAM,QAAQ,GAAG,CAAC,CAAS,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,gBAAgB,EAAE,GAAG,CAAC,CAAC,OAAO,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;IAC1F,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,GAAG,CAAC;QAAE,OAAO,QAAQ,CAAC,QAAQ,CAAC,CAAC;IACvD,MAAM,CAAC,MAAM,EAAE,GAAG,KAAK,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IAC/C,OAAO,GAAG,QAAQ,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;AAChE,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,qBAAqB,CAAC,MAAsE;IAC1G,IAAI,CAAC,MAAM,EAAE,QAAQ,EAAE,MAAM;QAAE,OAAO,EAAE,CAAC;IACzC,OAAO,KAAK,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC;AAC7C,CAAC;AAmBD;;;;;;;;;GASG;AACH,SAAS,0BAA0B,CAAC,gBAAwC;IAC1E,MAAM,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,gBAAgB,CAAC,CAAC;IACjD,2DAA2D;IAC3D,0EAA0E;IAC1E,OAAO;;6BAEoB,OAAO
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/sandbox/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -45,7 +45,10 @@ export declare class AgentSession implements Session {
|
|
|
45
45
|
/** Callbacks from SessionOptions. */
|
|
46
46
|
private readonly onEscalation?;
|
|
47
47
|
private readonly onEscalationExpired?;
|
|
48
|
+
private readonly onEscalationResolved?;
|
|
48
49
|
private readonly onDiagnostic?;
|
|
50
|
+
/** Additional content appended to the system prompt (e.g., cron task context). */
|
|
51
|
+
private readonly systemPromptAugmentation?;
|
|
49
52
|
constructor(config: IronCurtainConfig, sessionId: SessionId, escalationDir: string, options?: SessionOptions);
|
|
50
53
|
/**
|
|
51
54
|
* Initialize the session's sandbox and build the tool set.
|
|
@@ -66,7 +66,10 @@ export class AgentSession {
|
|
|
66
66
|
/** Callbacks from SessionOptions. */
|
|
67
67
|
onEscalation;
|
|
68
68
|
onEscalationExpired;
|
|
69
|
+
onEscalationResolved;
|
|
69
70
|
onDiagnostic;
|
|
71
|
+
/** Additional content appended to the system prompt (e.g., cron task context). */
|
|
72
|
+
systemPromptAugmentation;
|
|
70
73
|
constructor(config, sessionId, escalationDir, options = {}) {
|
|
71
74
|
this.sessionId = sessionId;
|
|
72
75
|
this.config = config;
|
|
@@ -74,7 +77,9 @@ export class AgentSession {
|
|
|
74
77
|
this.sandboxFactory = options.sandboxFactory ?? defaultSandboxFactory;
|
|
75
78
|
this.onEscalation = options.onEscalation;
|
|
76
79
|
this.onEscalationExpired = options.onEscalationExpired;
|
|
80
|
+
this.onEscalationResolved = options.onEscalationResolved;
|
|
77
81
|
this.onDiagnostic = options.onDiagnostic;
|
|
82
|
+
this.systemPromptAugmentation = options.systemPromptAugmentation;
|
|
78
83
|
this.createdAt = new Date().toISOString();
|
|
79
84
|
this.budgetTracker = new ResourceBudgetTracker(config.userConfig.resourceBudget, config.agentModelId);
|
|
80
85
|
this.compactor = new MessageCompactor(config.userConfig.autoCompact);
|
|
@@ -91,7 +96,10 @@ export class AgentSession {
|
|
|
91
96
|
name,
|
|
92
97
|
description,
|
|
93
98
|
}));
|
|
94
|
-
|
|
99
|
+
let rawPrompt = buildSystemPrompt(serverListings, this.config.allowedDirectory);
|
|
100
|
+
if (this.systemPromptAugmentation) {
|
|
101
|
+
rawPrompt += '\n\n' + this.systemPromptAugmentation;
|
|
102
|
+
}
|
|
95
103
|
this.systemPrompt = this.cacheStrategy.wrapSystemPrompt(rawPrompt);
|
|
96
104
|
this.tools = this.cacheStrategy.wrapTools(this.buildTools());
|
|
97
105
|
this.model = await this.buildModel();
|
|
@@ -211,6 +219,7 @@ export class AgentSession {
|
|
|
211
219
|
const responsePath = resolve(this.escalationDir, `response-${escalationId}.json`);
|
|
212
220
|
writeFileSync(responsePath, JSON.stringify({ decision }));
|
|
213
221
|
this.pendingEscalation = undefined;
|
|
222
|
+
this.onEscalationResolved?.(escalationId, decision);
|
|
214
223
|
}
|
|
215
224
|
async close() {
|
|
216
225
|
if (this.status === 'closed')
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"agent-session.js","sourceRoot":"","sources":["../../src/session/agent-session.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"agent-session.js","sourceRoot":"","sources":["../../src/session/agent-session.ts"],"names":[],"mappings":"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"}
|
package/dist/session/index.d.ts
CHANGED
|
@@ -21,6 +21,16 @@ import type { Session, SessionOptions } from './types.js';
|
|
|
21
21
|
* sandbox or MCP connection setup fails.
|
|
22
22
|
*/
|
|
23
23
|
export declare function createSession(options?: SessionOptions): Promise<Session>;
|
|
24
|
+
/**
|
|
25
|
+
* Patches the filesystem MCP server's allowed directory argument
|
|
26
|
+
* to use the session-specific sandbox directory, mirroring the
|
|
27
|
+
* logic in loadConfig() that syncs ALLOWED_DIRECTORY.
|
|
28
|
+
*/
|
|
29
|
+
export declare function patchMcpServerAllowedDirectory(config: {
|
|
30
|
+
mcpServers: Record<string, {
|
|
31
|
+
args: string[];
|
|
32
|
+
}>;
|
|
33
|
+
}, sandboxDir: string): void;
|
|
24
34
|
export type { Session, SessionMode, SessionOptions, SessionInfo, SessionId, ConversationTurn, DiagnosticEvent, EscalationRequest, SandboxFactory, BudgetStatus, } from './types.js';
|
|
25
35
|
export type { Transport } from './transport.js';
|
|
26
36
|
export { SessionError, SessionNotReadyError, SessionClosedError, BudgetExhaustedError } from './errors.js';
|
package/dist/session/index.js
CHANGED
|
@@ -6,11 +6,17 @@
|
|
|
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';
|
|
9
10
|
import { loadConfig } from '../config/index.js';
|
|
10
|
-
import { getSessionDir, getSessionSandboxDir, getSessionEscalationDir, getSessionAuditLogPath, getSessionLogPath, getSessionLlmLogPath, getSessionAutoApproveLlmLogPath, } from '../config/paths.js';
|
|
11
|
+
import { getIronCurtainHome, getPackageConfigDir, getSessionDir, getSessionSandboxDir, getSessionEscalationDir, getSessionAuditLogPath, getSessionLogPath, getSessionLlmLogPath, getSessionAutoApproveLlmLogPath, } from '../config/paths.js';
|
|
11
12
|
import * as logger from '../logger.js';
|
|
13
|
+
import { resolveRealPath } from '../types/argument-roles.js';
|
|
14
|
+
import { resolvePersona, applyServerAllowlist } from '../persona/resolve.js';
|
|
15
|
+
import { buildPersonaSystemPromptAugmentation } from '../persona/persona-prompt.js';
|
|
12
16
|
import { AgentSession } from './agent-session.js';
|
|
13
17
|
import { SessionError } from './errors.js';
|
|
18
|
+
import { saveSessionMetadata, loadSessionMetadata } from './session-metadata.js';
|
|
19
|
+
import { isEqualOrInside } from './workspace-validation.js';
|
|
14
20
|
import { createSessionId } from './types.js';
|
|
15
21
|
/**
|
|
16
22
|
* Creates and initializes a new session.
|
|
@@ -27,11 +33,34 @@ import { createSessionId } from './types.js';
|
|
|
27
33
|
* sandbox or MCP connection setup fails.
|
|
28
34
|
*/
|
|
29
35
|
export async function createSession(options = {}) {
|
|
30
|
-
|
|
36
|
+
// When resuming, restore persisted session settings (persona, workspace, etc.)
|
|
37
|
+
const effectiveOptions = applyResumeMetadata(options);
|
|
38
|
+
const mode = effectiveOptions.mode ?? { kind: 'builtin' };
|
|
31
39
|
if (mode.kind === 'docker') {
|
|
32
|
-
return createDockerSession(mode.agent,
|
|
40
|
+
return createDockerSession(mode.agent, effectiveOptions);
|
|
33
41
|
}
|
|
34
|
-
return createBuiltinSession(
|
|
42
|
+
return createBuiltinSession(effectiveOptions);
|
|
43
|
+
}
|
|
44
|
+
/**
|
|
45
|
+
* Merges persisted session metadata into options when resuming.
|
|
46
|
+
* Returns options unchanged for new sessions or when no metadata exists
|
|
47
|
+
* (graceful for sessions created before metadata persistence was added).
|
|
48
|
+
*/
|
|
49
|
+
function applyResumeMetadata(options) {
|
|
50
|
+
if (!options.resumeSessionId)
|
|
51
|
+
return options;
|
|
52
|
+
const metadata = loadSessionMetadata(options.resumeSessionId);
|
|
53
|
+
if (!metadata)
|
|
54
|
+
return options;
|
|
55
|
+
return {
|
|
56
|
+
...options,
|
|
57
|
+
// Only spread defined metadata fields so undefined doesn't overwrite
|
|
58
|
+
// caller-provided values (important for non-CLI callers like the daemon).
|
|
59
|
+
...(metadata.persona !== undefined ? { persona: metadata.persona } : {}),
|
|
60
|
+
...(metadata.workspacePath !== undefined ? { workspacePath: metadata.workspacePath } : {}),
|
|
61
|
+
...(metadata.policyDir !== undefined ? { policyDir: metadata.policyDir } : {}),
|
|
62
|
+
...(metadata.disableAutoApprove !== undefined ? { disableAutoApprove: metadata.disableAutoApprove } : {}),
|
|
63
|
+
};
|
|
35
64
|
}
|
|
36
65
|
/**
|
|
37
66
|
* Creates the built-in AgentSession (existing behavior).
|
|
@@ -49,8 +78,13 @@ async function createBuiltinSession(options) {
|
|
|
49
78
|
}
|
|
50
79
|
}
|
|
51
80
|
const loggerWasActive = logger.isActive();
|
|
52
|
-
const sessionConfig = buildSessionConfig(config, effectiveSessionId, sessionId, options
|
|
53
|
-
|
|
81
|
+
const sessionConfig = buildSessionConfig(config, effectiveSessionId, sessionId, options);
|
|
82
|
+
// Merge resolved systemPromptAugmentation (may include persona augmentation)
|
|
83
|
+
// back into options so AgentSession sees it.
|
|
84
|
+
const effectiveOptions = sessionConfig.systemPromptAugmentation
|
|
85
|
+
? { ...options, systemPromptAugmentation: sessionConfig.systemPromptAugmentation }
|
|
86
|
+
: options;
|
|
87
|
+
const session = new AgentSession(sessionConfig.config, sessionId, sessionConfig.escalationDir, effectiveOptions);
|
|
54
88
|
try {
|
|
55
89
|
await session.initialize();
|
|
56
90
|
}
|
|
@@ -75,7 +109,7 @@ async function createDockerSession(agentId, options) {
|
|
|
75
109
|
const sessionId = createSessionId();
|
|
76
110
|
const effectiveSessionId = options.resumeSessionId ?? sessionId;
|
|
77
111
|
const loggerWasActive = logger.isActive();
|
|
78
|
-
const sessionConfig = buildSessionConfig(config, effectiveSessionId, sessionId, options
|
|
112
|
+
const sessionConfig = buildSessionConfig(config, effectiveSessionId, sessionId, options);
|
|
79
113
|
const { prepareDockerInfrastructure } = await import('../docker/docker-infrastructure.js');
|
|
80
114
|
const { DockerAgentSession } = await import('../docker/docker-agent-session.js');
|
|
81
115
|
const infra = await prepareDockerInfrastructure(sessionConfig.config, { kind: 'docker', agent: agentId }, sessionConfig.sessionDir, sessionConfig.sandboxDir, sessionConfig.escalationDir, sessionConfig.auditLogPath, sessionId);
|
|
@@ -95,9 +129,12 @@ async function createDockerSession(agentId, options) {
|
|
|
95
129
|
useTcp: infra.useTcp,
|
|
96
130
|
onEscalation: options.onEscalation,
|
|
97
131
|
onEscalationExpired: options.onEscalationExpired,
|
|
132
|
+
onEscalationResolved: options.onEscalationResolved,
|
|
98
133
|
onDiagnostic: options.onDiagnostic,
|
|
99
134
|
preBuiltInfrastructure: {
|
|
100
|
-
systemPrompt:
|
|
135
|
+
systemPrompt: sessionConfig.systemPromptAugmentation
|
|
136
|
+
? `${infra.systemPrompt}\n\n${sessionConfig.systemPromptAugmentation}`
|
|
137
|
+
: infra.systemPrompt,
|
|
101
138
|
image: infra.image,
|
|
102
139
|
mitmAddr: infra.mitmAddr,
|
|
103
140
|
},
|
|
@@ -113,6 +150,26 @@ async function createDockerSession(agentId, options) {
|
|
|
113
150
|
}
|
|
114
151
|
return session;
|
|
115
152
|
}
|
|
153
|
+
/**
|
|
154
|
+
* Validates that a policyDir path resolves to a location under the
|
|
155
|
+
* IronCurtain home directory or the package config directory. Prevents
|
|
156
|
+
* loading attacker-controlled policy files from arbitrary filesystem locations.
|
|
157
|
+
*
|
|
158
|
+
* The package config directory is allowed so that built-in policy variants
|
|
159
|
+
* (e.g., the read-only policy for constitution generation) can be loaded
|
|
160
|
+
* without copying files into the user home.
|
|
161
|
+
*
|
|
162
|
+
* @throws {SessionError} if the path escapes all trusted directories.
|
|
163
|
+
*/
|
|
164
|
+
function validatePolicyDir(policyDir) {
|
|
165
|
+
const resolvedPolicy = resolveRealPath(policyDir);
|
|
166
|
+
const trustedDirs = [getIronCurtainHome(), getPackageConfigDir()].map(resolveRealPath);
|
|
167
|
+
if (!trustedDirs.some((dir) => isEqualOrInside(resolvedPolicy, dir))) {
|
|
168
|
+
throw new SessionError(`policyDir must be under a trusted directory. ` +
|
|
169
|
+
`Received: ${resolvedPolicy}; ` +
|
|
170
|
+
`trusted: ${trustedDirs.join(', ')}`, 'SESSION_INIT_FAILED');
|
|
171
|
+
}
|
|
172
|
+
}
|
|
116
173
|
/**
|
|
117
174
|
* Shared session directory setup and config patching used by both session modes.
|
|
118
175
|
*
|
|
@@ -120,14 +177,49 @@ async function createDockerSession(agentId, options) {
|
|
|
120
177
|
* agent's working directory. The workspace already exists so we skip
|
|
121
178
|
* creating it, but all other session infrastructure (logs, escalations)
|
|
122
179
|
* still lives under the session directory.
|
|
180
|
+
*
|
|
181
|
+
* When persona is set, resolves the persona to a policyDir, workspace,
|
|
182
|
+
* server allowlist, and system prompt augmentation. Persona takes
|
|
183
|
+
* precedence over explicit policyDir if both are provided.
|
|
123
184
|
*/
|
|
124
|
-
function buildSessionConfig(config, effectiveSessionId, sessionId,
|
|
185
|
+
function buildSessionConfig(config, effectiveSessionId, sessionId, opts = {}) {
|
|
186
|
+
let { workspacePath, policyDir, systemPromptAugmentation } = opts;
|
|
187
|
+
const { resumeSessionId, disableAutoApprove } = opts;
|
|
188
|
+
let serverAllowlist;
|
|
189
|
+
// Resolve persona early -- derives policyDir, workspace, server filter,
|
|
190
|
+
// and system prompt augmentation from the persona definition.
|
|
191
|
+
if (opts.persona) {
|
|
192
|
+
const resolved = resolvePersona(opts.persona);
|
|
193
|
+
if (policyDir) {
|
|
194
|
+
logger.warn('Both persona and policyDir specified; using persona.');
|
|
195
|
+
}
|
|
196
|
+
policyDir = resolved.policyDir;
|
|
197
|
+
serverAllowlist = resolved.persona.servers;
|
|
198
|
+
// Use persona workspace unless an explicit workspacePath was provided
|
|
199
|
+
if (!workspacePath) {
|
|
200
|
+
workspacePath = resolved.workspacePath;
|
|
201
|
+
}
|
|
202
|
+
// Build persona system prompt augmentation (includes memory contents).
|
|
203
|
+
// workspacePath is guaranteed set here (either from opts or resolved above),
|
|
204
|
+
// so the memory path is always inside the session's allowedDirectory.
|
|
205
|
+
const personaAugmentation = buildPersonaSystemPromptAugmentation(resolved.persona, resolve(workspacePath, 'memory.md'));
|
|
206
|
+
systemPromptAugmentation = systemPromptAugmentation
|
|
207
|
+
? `${personaAugmentation}\n\n${systemPromptAugmentation}`
|
|
208
|
+
: personaAugmentation;
|
|
209
|
+
logger.info(`Persona "${opts.persona}" resolved: policyDir=${policyDir}`);
|
|
210
|
+
}
|
|
211
|
+
if (policyDir) {
|
|
212
|
+
validatePolicyDir(policyDir);
|
|
213
|
+
}
|
|
125
214
|
const sessionDir = getSessionDir(effectiveSessionId);
|
|
126
215
|
const sandboxDir = workspacePath ?? getSessionSandboxDir(effectiveSessionId);
|
|
127
216
|
const escalationDir = getSessionEscalationDir(effectiveSessionId);
|
|
128
217
|
const auditLogPath = getSessionAuditLogPath(effectiveSessionId);
|
|
129
|
-
//
|
|
130
|
-
|
|
218
|
+
// Create the directory when not using an explicit --workspace flag.
|
|
219
|
+
// When persona is set, `workspacePath` was derived internally (not
|
|
220
|
+
// from the caller), so we still need to ensure it exists.
|
|
221
|
+
// Only skip creation for explicit user-provided workspace paths.
|
|
222
|
+
if (!opts.workspacePath) {
|
|
131
223
|
mkdirSync(sandboxDir, { recursive: true });
|
|
132
224
|
}
|
|
133
225
|
mkdirSync(escalationDir, { recursive: true });
|
|
@@ -154,16 +246,46 @@ function buildSessionConfig(config, effectiveSessionId, sessionId, resumeSession
|
|
|
154
246
|
sessionLogPath,
|
|
155
247
|
llmLogPath,
|
|
156
248
|
autoApproveLlmLogPath,
|
|
249
|
+
// When per-job/persona policy is provided, split generated dir:
|
|
250
|
+
// generatedDir -> per-job/persona dir (compiled policy + dynamic lists)
|
|
251
|
+
// toolAnnotationsDir -> global dir (tool annotations)
|
|
252
|
+
...(policyDir
|
|
253
|
+
? {
|
|
254
|
+
generatedDir: policyDir,
|
|
255
|
+
toolAnnotationsDir: config.toolAnnotationsDir ?? config.generatedDir,
|
|
256
|
+
}
|
|
257
|
+
: {}),
|
|
157
258
|
mcpServers: JSON.parse(JSON.stringify(config.mcpServers)),
|
|
259
|
+
// Disable auto-approver for headless sessions (no interactive user context)
|
|
260
|
+
...(disableAutoApprove
|
|
261
|
+
? { userConfig: { ...config.userConfig, autoApprove: { ...config.userConfig.autoApprove, enabled: false } } }
|
|
262
|
+
: {}),
|
|
158
263
|
};
|
|
264
|
+
// Apply server allowlist if persona specifies one
|
|
265
|
+
if (serverAllowlist) {
|
|
266
|
+
sessionConfig.mcpServers = applyServerAllowlist(sessionConfig.mcpServers, serverAllowlist);
|
|
267
|
+
}
|
|
159
268
|
// Patch MCP server args to use the session-specific sandbox directory
|
|
160
269
|
patchMcpServerAllowedDirectory(sessionConfig, sandboxDir);
|
|
270
|
+
// Persist session settings so --resume can restore them.
|
|
271
|
+
// Only write on initial creation (not when resuming).
|
|
272
|
+
if (!resumeSessionId) {
|
|
273
|
+
saveSessionMetadata(effectiveSessionId, {
|
|
274
|
+
createdAt: new Date().toISOString(),
|
|
275
|
+
...(opts.persona ? { persona: opts.persona } : {}),
|
|
276
|
+
...(opts.workspacePath ? { workspacePath: opts.workspacePath } : {}),
|
|
277
|
+
// Only store policyDir when no persona is set (persona derives its own)
|
|
278
|
+
...(!opts.persona && policyDir ? { policyDir } : {}),
|
|
279
|
+
...(opts.disableAutoApprove ? { disableAutoApprove: true } : {}),
|
|
280
|
+
});
|
|
281
|
+
}
|
|
161
282
|
return {
|
|
162
283
|
config: sessionConfig,
|
|
163
284
|
sessionDir,
|
|
164
285
|
sandboxDir,
|
|
165
286
|
escalationDir,
|
|
166
287
|
auditLogPath,
|
|
288
|
+
systemPromptAugmentation,
|
|
167
289
|
};
|
|
168
290
|
}
|
|
169
291
|
/**
|
|
@@ -171,7 +293,7 @@ function buildSessionConfig(config, effectiveSessionId, sessionId, resumeSession
|
|
|
171
293
|
* to use the session-specific sandbox directory, mirroring the
|
|
172
294
|
* logic in loadConfig() that syncs ALLOWED_DIRECTORY.
|
|
173
295
|
*/
|
|
174
|
-
function patchMcpServerAllowedDirectory(config, sandboxDir) {
|
|
296
|
+
export function patchMcpServerAllowedDirectory(config, sandboxDir) {
|
|
175
297
|
const fsServer = config.mcpServers['filesystem'];
|
|
176
298
|
if (!fsServer)
|
|
177
299
|
return;
|
|
@@ -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,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,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/session/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -8,9 +8,9 @@
|
|
|
8
8
|
import { execFile as execFileCb } from 'node:child_process';
|
|
9
9
|
import { promisify } from 'node:util';
|
|
10
10
|
import { detectAuthMethod, loadOAuthCredentials } from '../docker/oauth-credentials.js';
|
|
11
|
+
import { resolveApiKeyForProvider } from '../config/model-provider.js';
|
|
11
12
|
const execFile = promisify(execFileCb);
|
|
12
13
|
const DOCKER_TIMEOUT_MS = 5_000;
|
|
13
|
-
const DEFAULT_DOCKER_AGENT = 'claude-code';
|
|
14
14
|
/**
|
|
15
15
|
* Thrown when explicit --agent prerequisites are not met.
|
|
16
16
|
* Never thrown during auto-detect.
|
|
@@ -54,12 +54,31 @@ const preflightSources = {
|
|
|
54
54
|
* Skips macOS Keychain to avoid interactive prompts during preflight.
|
|
55
55
|
* Full detection including Keychain happens in prepareDockerInfrastructure().
|
|
56
56
|
*/
|
|
57
|
-
function detectCredentials(
|
|
57
|
+
function detectCredentials(agentId, config, sources) {
|
|
58
|
+
// Goose uses provider-specific API keys, not Anthropic OAuth.
|
|
59
|
+
if (agentId === 'goose') {
|
|
60
|
+
const provider = config.userConfig.gooseProvider;
|
|
61
|
+
const key = resolveApiKeyForProvider(provider, config.userConfig);
|
|
62
|
+
return key ? 'apikey' : null;
|
|
63
|
+
}
|
|
64
|
+
// Default path: Anthropic OAuth + API key detection (Claude Code and others)
|
|
58
65
|
const auth = detectAuthMethod(config, sources ?? preflightSources);
|
|
59
66
|
if (auth.kind === 'none')
|
|
60
67
|
return null;
|
|
61
68
|
return auth.kind === 'oauth' ? 'oauth' : 'apikey';
|
|
62
69
|
}
|
|
70
|
+
/**
|
|
71
|
+
* Returns the error message for missing credentials, tailored to the agent.
|
|
72
|
+
*/
|
|
73
|
+
function credentialErrorMessage(agentId, config) {
|
|
74
|
+
if (agentId === 'goose') {
|
|
75
|
+
const provider = config.userConfig.gooseProvider;
|
|
76
|
+
return (`--agent goose requires an API key for provider "${provider}". ` +
|
|
77
|
+
'Set ANTHROPIC_API_KEY, OPENAI_API_KEY, or GOOGLE_API_KEY, ' +
|
|
78
|
+
'or configure via `ironcurtain config`.');
|
|
79
|
+
}
|
|
80
|
+
return `--agent ${agentId} requires authentication. Log in with \`claude login\` (OAuth) or set ANTHROPIC_API_KEY.`;
|
|
81
|
+
}
|
|
63
82
|
/**
|
|
64
83
|
* Resolves the session mode based on explicit --agent flag or auto-detection.
|
|
65
84
|
*
|
|
@@ -87,7 +106,7 @@ async function resolveExplicit(agent, config, isDockerAvailable, credentialSourc
|
|
|
87
106
|
}
|
|
88
107
|
const credKind = detectCredentials(agent, config, credentialSources);
|
|
89
108
|
if (credKind === null) {
|
|
90
|
-
throw new PreflightError(
|
|
109
|
+
throw new PreflightError(credentialErrorMessage(agent, config));
|
|
91
110
|
}
|
|
92
111
|
return {
|
|
93
112
|
mode: { kind: 'docker', agent, authKind: credKind },
|
|
@@ -102,7 +121,8 @@ async function resolveAutoDetect(config, isDockerAvailable, credentialSources) {
|
|
|
102
121
|
reason: 'Docker not available',
|
|
103
122
|
};
|
|
104
123
|
}
|
|
105
|
-
const
|
|
124
|
+
const defaultAgent = config.userConfig.preferredDockerAgent;
|
|
125
|
+
const credKind = detectCredentials(defaultAgent, config, credentialSources);
|
|
106
126
|
if (credKind === null) {
|
|
107
127
|
return {
|
|
108
128
|
mode: { kind: 'builtin' },
|
|
@@ -110,8 +130,8 @@ async function resolveAutoDetect(config, isDockerAvailable, credentialSources) {
|
|
|
110
130
|
};
|
|
111
131
|
}
|
|
112
132
|
return {
|
|
113
|
-
mode: { kind: 'docker', agent:
|
|
114
|
-
reason: `Docker available, ${credKind === 'oauth' ? 'OAuth' : '
|
|
133
|
+
mode: { kind: 'docker', agent: defaultAgent, authKind: credKind },
|
|
134
|
+
reason: `Docker available, ${credKind === 'oauth' ? 'OAuth' : 'API key'} detected`,
|
|
115
135
|
};
|
|
116
136
|
}
|
|
117
137
|
//# sourceMappingURL=preflight.js.map
|