@provos/ironcurtain 0.3.0 → 0.4.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.
Files changed (108) hide show
  1. package/LICENSE +0 -1
  2. package/README.md +20 -1
  3. package/dist/cli.js +15 -0
  4. package/dist/cli.js.map +1 -1
  5. package/dist/config/config-command.d.ts +1 -0
  6. package/dist/config/config-command.js +138 -34
  7. package/dist/config/config-command.js.map +1 -1
  8. package/dist/config/constitution-user-base.md +2 -0
  9. package/dist/config/first-start.js +31 -3
  10. package/dist/config/first-start.js.map +1 -1
  11. package/dist/config/generated/compiled-policy.json +158 -64
  12. package/dist/config/generated/test-scenarios.json +144 -293
  13. package/dist/config/generated/tool-annotations.json +17 -3
  14. package/dist/config/index.js +49 -17
  15. package/dist/config/index.js.map +1 -1
  16. package/dist/config/paths.js +9 -4
  17. package/dist/config/paths.js.map +1 -1
  18. package/dist/config/user-config.d.ts +47 -0
  19. package/dist/config/user-config.js +97 -4
  20. package/dist/config/user-config.js.map +1 -1
  21. package/dist/docker/adapters/claude-code.js +14 -3
  22. package/dist/docker/adapters/claude-code.js.map +1 -1
  23. package/dist/docker/agent-adapter.d.ts +2 -0
  24. package/dist/docker/audit-log-tailer.d.ts +4 -3
  25. package/dist/docker/audit-log-tailer.js +9 -7
  26. package/dist/docker/audit-log-tailer.js.map +1 -1
  27. package/dist/docker/docker-agent-session.d.ts +11 -0
  28. package/dist/docker/docker-agent-session.js +103 -22
  29. package/dist/docker/docker-agent-session.js.map +1 -1
  30. package/dist/docker/docker-manager.js +82 -15
  31. package/dist/docker/docker-manager.js.map +1 -1
  32. package/dist/docker/managed-proxy.d.ts +7 -3
  33. package/dist/docker/managed-proxy.js +98 -8
  34. package/dist/docker/managed-proxy.js.map +1 -1
  35. package/dist/docker/mitm-proxy.d.ts +7 -4
  36. package/dist/docker/mitm-proxy.js +152 -62
  37. package/dist/docker/mitm-proxy.js.map +1 -1
  38. package/dist/docker/orientation.d.ts +1 -1
  39. package/dist/docker/orientation.js +5 -2
  40. package/dist/docker/orientation.js.map +1 -1
  41. package/dist/docker/platform.d.ts +20 -0
  42. package/dist/docker/platform.js +24 -0
  43. package/dist/docker/platform.js.map +1 -0
  44. package/dist/docker/provider-config.d.ts +38 -2
  45. package/dist/docker/provider-config.js +61 -0
  46. package/dist/docker/provider-config.js.map +1 -1
  47. package/dist/docker/types.d.ts +48 -6
  48. package/dist/pipeline/compile.js +2 -2
  49. package/dist/pipeline/compile.js.map +1 -1
  50. package/dist/pipeline/constitution-compiler.js +5 -2
  51. package/dist/pipeline/constitution-compiler.js.map +1 -1
  52. package/dist/pipeline/handwritten-scenarios.js +9 -10
  53. package/dist/pipeline/handwritten-scenarios.js.map +1 -1
  54. package/dist/pipeline/policy-verifier.d.ts +1 -1
  55. package/dist/pipeline/policy-verifier.js +7 -4
  56. package/dist/pipeline/policy-verifier.js.map +1 -1
  57. package/dist/pipeline/types.d.ts +7 -1
  58. package/dist/servers/fetch-server.d.ts +4 -3
  59. package/dist/servers/fetch-server.js +72 -10
  60. package/dist/servers/fetch-server.js.map +1 -1
  61. package/dist/servers/search-providers.d.ts +29 -0
  62. package/dist/servers/search-providers.js +156 -0
  63. package/dist/servers/search-providers.js.map +1 -0
  64. package/dist/session/index.js +16 -6
  65. package/dist/session/index.js.map +1 -1
  66. package/dist/signal/bot-command.d.ts +13 -0
  67. package/dist/signal/bot-command.js +54 -0
  68. package/dist/signal/bot-command.js.map +1 -0
  69. package/dist/signal/format.d.ts +31 -0
  70. package/dist/signal/format.js +101 -0
  71. package/dist/signal/format.js.map +1 -0
  72. package/dist/signal/index.d.ts +16 -0
  73. package/dist/signal/index.js +13 -0
  74. package/dist/signal/index.js.map +1 -0
  75. package/dist/signal/markdown-to-signal.d.ts +29 -0
  76. package/dist/signal/markdown-to-signal.js +154 -0
  77. package/dist/signal/markdown-to-signal.js.map +1 -0
  78. package/dist/signal/setup-signal.d.ts +48 -0
  79. package/dist/signal/setup-signal.js +443 -0
  80. package/dist/signal/setup-signal.js.map +1 -0
  81. package/dist/signal/signal-bot-daemon.d.ts +142 -0
  82. package/dist/signal/signal-bot-daemon.js +504 -0
  83. package/dist/signal/signal-bot-daemon.js.map +1 -0
  84. package/dist/signal/signal-config.d.ts +64 -0
  85. package/dist/signal/signal-config.js +53 -0
  86. package/dist/signal/signal-config.js.map +1 -0
  87. package/dist/signal/signal-container.d.ts +37 -0
  88. package/dist/signal/signal-container.js +112 -0
  89. package/dist/signal/signal-container.js.map +1 -0
  90. package/dist/signal/signal-transport.d.ts +34 -0
  91. package/dist/signal/signal-transport.js +70 -0
  92. package/dist/signal/signal-transport.js.map +1 -0
  93. package/dist/trusted-process/mcp-proxy-server.js +34 -3
  94. package/dist/trusted-process/mcp-proxy-server.js.map +1 -1
  95. package/dist/trusted-process/path-utils.d.ts +5 -1
  96. package/dist/trusted-process/path-utils.js +47 -4
  97. package/dist/trusted-process/path-utils.js.map +1 -1
  98. package/dist/trusted-process/tcp-server-transport.d.ts +43 -0
  99. package/dist/trusted-process/tcp-server-transport.js +119 -0
  100. package/dist/trusted-process/tcp-server-transport.js.map +1 -0
  101. package/dist/types/argument-roles.js +20 -5
  102. package/dist/types/argument-roles.js.map +1 -1
  103. package/docker/Dockerfile.base.arm64 +23 -0
  104. package/package.json +6 -3
  105. package/src/config/constitution-user-base.md +2 -0
  106. package/src/config/generated/compiled-policy.json +158 -64
  107. package/src/config/generated/test-scenarios.json +144 -293
  108. package/src/config/generated/tool-annotations.json +17 -3
@@ -1,5 +1,5 @@
1
1
  {
2
- "generatedAt": "2026-02-21T01:04:59.938Z",
2
+ "generatedAt": "2026-02-25T01:54:51.064Z",
3
3
  "servers": {
4
4
  "filesystem": {
5
5
  "inputHash": "3a47c5b52d421b6f14fa1f556c87bac43f98adc1a0cf7519527b32cff9cdaae4",
@@ -957,11 +957,11 @@
957
957
  ]
958
958
  },
959
959
  "fetch": {
960
- "inputHash": "138112ca64cddfa558ead08f30d6c41153821ee1b7c92a14b3f80ecf04ae9def",
960
+ "inputHash": "baaaafea944156876e9c2c8abfd33546228fbfc8eb74da0eb316cdefb0ba8dd9",
961
961
  "tools": [
962
962
  {
963
963
  "toolName": "http_fetch",
964
- "comment": "Fetches content from a specified URL via HTTP GET, returning the response body as markdown or raw HTML.",
964
+ "comment": "Fetches content from a specified URL via HTTP GET and returns it in a configurable format.",
965
965
  "sideEffects": true,
966
966
  "args": {
967
967
  "url": [
@@ -981,6 +981,20 @@
981
981
  ]
982
982
  },
983
983
  "serverName": "fetch"
984
+ },
985
+ {
986
+ "toolName": "web_search",
987
+ "comment": "Searches the web using a configured search provider and returns a list of results for the given query.",
988
+ "sideEffects": true,
989
+ "args": {
990
+ "query": [
991
+ "none"
992
+ ],
993
+ "max_results": [
994
+ "none"
995
+ ]
996
+ },
997
+ "serverName": "fetch"
984
998
  }
985
999
  ]
986
1000
  }
@@ -1,7 +1,7 @@
1
1
  import { readFileSync, existsSync } from 'node:fs';
2
2
  import { resolve, dirname } from 'node:path';
3
3
  import { fileURLToPath } from 'node:url';
4
- import { computeConstitutionHash, getIronCurtainHome, getUserConstitutionBasePath, getUserConstitutionPath, getUserGeneratedDir, } from './paths.js';
4
+ import { computeConstitutionHash, getIronCurtainHome, getUserConfigPath, getUserConstitutionBasePath, getUserConstitutionPath, getUserGeneratedDir, } from './paths.js';
5
5
  import { resolveRealPath } from '../types/argument-roles.js';
6
6
  import { loadUserConfig } from './user-config.js';
7
7
  const __filename = fileURLToPath(import.meta.url);
@@ -49,6 +49,11 @@ export function computeProtectedPaths(opts) {
49
49
  if (existsSync(userConstitutionExt)) {
50
50
  paths.push(resolveRealPath(userConstitutionExt));
51
51
  }
52
+ // Protect .env file unconditionally — even if it doesn't exist yet, an agent
53
+ // must not be able to create one that would be loaded on subsequent runs.
54
+ paths.push(resolveRealPath(resolve('.env')));
55
+ // Protect user config (may contain serverCredentials)
56
+ paths.push(resolveRealPath(getUserConfigPath()));
52
57
  return paths;
53
58
  }
54
59
  /**
@@ -105,6 +110,30 @@ function resolveInternalServerPaths(config, packageRoot, compiled) {
105
110
  }
106
111
  }
107
112
  }
113
+ /**
114
+ * Translates the typed webSearch config into flat env vars for the fetch server.
115
+ */
116
+ function computeWebSearchCredentials(webSearch) {
117
+ const creds = {};
118
+ if (!webSearch.provider)
119
+ return creds;
120
+ creds.WEB_SEARCH_PROVIDER = webSearch.provider;
121
+ switch (webSearch.provider) {
122
+ case 'brave':
123
+ if (webSearch.brave)
124
+ creds.BRAVE_API_KEY = webSearch.brave.apiKey;
125
+ break;
126
+ case 'tavily':
127
+ if (webSearch.tavily)
128
+ creds.TAVILY_API_KEY = webSearch.tavily.apiKey;
129
+ break;
130
+ case 'serpapi':
131
+ if (webSearch.serpapi)
132
+ creds.SERPAPI_API_KEY = webSearch.serpapi.apiKey;
133
+ break;
134
+ }
135
+ return creds;
136
+ }
108
137
  export function loadConfig() {
109
138
  const userConfig = loadUserConfig();
110
139
  const auditLogPath = process.env.AUDIT_LOG_PATH ?? './audit.jsonl';
@@ -148,6 +177,18 @@ export function loadConfig() {
148
177
  `Available servers: ${[...serverNames].join(', ')}\n`);
149
178
  }
150
179
  }
180
+ // Inject web search credentials into the fetch server's credential block.
181
+ const webSearchCreds = computeWebSearchCredentials(userConfig.webSearch);
182
+ let finalUserConfig = userConfig;
183
+ if (Object.keys(webSearchCreds).length > 0) {
184
+ const existingFetch = userConfig.serverCredentials.fetch ?? {};
185
+ const mergedCredentials = {};
186
+ for (const [k, v] of Object.entries(userConfig.serverCredentials)) {
187
+ mergedCredentials[k] = { ...v };
188
+ }
189
+ mergedCredentials.fetch = { ...existingFetch, ...webSearchCreds };
190
+ finalUserConfig = { ...userConfig, serverCredentials: mergedCredentials };
191
+ }
151
192
  return {
152
193
  auditLogPath,
153
194
  allowedDirectory,
@@ -155,9 +196,9 @@ export function loadConfig() {
155
196
  protectedPaths,
156
197
  generatedDir,
157
198
  constitutionPath,
158
- agentModelId: userConfig.agentModelId,
159
- escalationTimeoutSeconds: userConfig.escalationTimeoutSeconds,
160
- userConfig,
199
+ agentModelId: finalUserConfig.agentModelId,
200
+ escalationTimeoutSeconds: finalUserConfig.escalationTimeoutSeconds,
201
+ userConfig: finalUserConfig,
161
202
  };
162
203
  }
163
204
  /**
@@ -189,19 +230,10 @@ export function extractServerDomainAllowlists(mcpServers) {
189
230
  * last `ironcurtain compile-policy` run.
190
231
  */
191
232
  export function checkConstitutionFreshness(compiledPolicy, constitutionPath) {
192
- try {
193
- const currentHash = computeConstitutionHash(constitutionPath);
194
- if (currentHash !== compiledPolicy.constitutionHash) {
195
- process.stderr.write('Warning: constitution has changed since the last policy compilation. ' +
196
- 'Run `ironcurtain compile-policy` to update the compiled policy.\n');
197
- }
198
- }
199
- catch (err) {
200
- // Missing constitution file is expected in test environments — skip silently.
201
- // Let other errors (permission denied, etc.) propagate.
202
- if (err instanceof Error && 'code' in err && err.code === 'ENOENT')
203
- return;
204
- throw err;
233
+ const currentHash = computeConstitutionHash(constitutionPath);
234
+ if (currentHash !== compiledPolicy.constitutionHash) {
235
+ process.stderr.write('Warning: constitution has changed since the last policy compilation. ' +
236
+ 'Run `ironcurtain compile-policy` to update the compiled policy.\n');
205
237
  }
206
238
  }
207
239
  export function loadGeneratedPolicy(generatedDir, fallbackDir) {
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/config/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/config/index.ts"],"names":[],"mappings":"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"}
@@ -128,13 +128,18 @@ export function getUserGeneratedDir() {
128
128
  export function loadConstitutionText(packageBasePath) {
129
129
  const userBasePath = getUserConstitutionBasePath();
130
130
  const basePath = existsSync(userBasePath) ? userBasePath : packageBasePath;
131
+ if (!existsSync(basePath)) {
132
+ throw new Error(`Base constitution not found: tried ${userBasePath} and ${packageBasePath}`);
133
+ }
131
134
  const base = readFileSync(basePath, 'utf-8');
132
135
  const userPath = getUserConstitutionPath();
133
- if (existsSync(userPath)) {
134
- const user = readFileSync(userPath, 'utf-8');
135
- return `${base}\n\n${user}`;
136
+ const userFallbackPath = getBaseUserConstitutionPath();
137
+ const effectiveUserPath = existsSync(userPath) ? userPath : existsSync(userFallbackPath) ? userFallbackPath : null;
138
+ if (!effectiveUserPath) {
139
+ throw new Error(`User constitution not found: tried ${userPath} and ${userFallbackPath}`);
136
140
  }
137
- return base;
141
+ const user = readFileSync(effectiveUserPath, 'utf-8');
142
+ return `${base}\n\n${user}`;
138
143
  }
139
144
  /**
140
145
  * Loads the combined constitution and returns its SHA-256 hex digest.
@@ -1 +1 @@
1
- {"version":3,"file":"paths.js","sourceRoot":"","sources":["../../src/config/paths.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"paths.js","sourceRoot":"","sources":["../../src/config/paths.ts"],"names":[],"mappings":"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"}
@@ -30,6 +30,12 @@ export declare const USER_CONFIG_DEFAULTS: {
30
30
  };
31
31
  export declare const ESCALATION_TIMEOUT_MIN = 30;
32
32
  export declare const ESCALATION_TIMEOUT_MAX = 600;
33
+ export declare const WEB_SEARCH_PROVIDERS: readonly ["brave", "tavily", "serpapi"];
34
+ export type WebSearchProvider = (typeof WEB_SEARCH_PROVIDERS)[number];
35
+ /** Human-readable labels for web search providers. */
36
+ export declare const WEB_SEARCH_PROVIDER_LABELS: Readonly<Record<WebSearchProvider, string>>;
37
+ /** Signup URLs for web search providers. */
38
+ export declare const WEB_SEARCH_PROVIDER_URLS: Readonly<Record<WebSearchProvider, string>>;
33
39
  /**
34
40
  * Zod schema for validating user config. All fields optional.
35
41
  * Validates types and constraints without applying defaults --
@@ -59,7 +65,32 @@ export declare const userConfigSchema: z.ZodObject<{
59
65
  enabled: z.ZodOptional<z.ZodBoolean>;
60
66
  modelId: z.ZodOptional<z.ZodString>;
61
67
  }, z.core.$strip>>;
68
+ webSearch: z.ZodOptional<z.ZodObject<{
69
+ provider: z.ZodOptional<z.ZodEnum<{
70
+ brave: "brave";
71
+ tavily: "tavily";
72
+ serpapi: "serpapi";
73
+ }>>;
74
+ brave: z.ZodOptional<z.ZodObject<{
75
+ apiKey: z.ZodString;
76
+ }, z.core.$strip>>;
77
+ tavily: z.ZodOptional<z.ZodObject<{
78
+ apiKey: z.ZodString;
79
+ }, z.core.$strip>>;
80
+ serpapi: z.ZodOptional<z.ZodObject<{
81
+ apiKey: z.ZodString;
82
+ }, z.core.$strip>>;
83
+ }, z.core.$strip>>;
62
84
  serverCredentials: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodRecord<z.ZodString, z.ZodString>>>;
85
+ signal: z.ZodOptional<z.ZodObject<{
86
+ botNumber: z.ZodOptional<z.ZodString>;
87
+ recipientNumber: z.ZodOptional<z.ZodString>;
88
+ recipientIdentityKey: z.ZodOptional<z.ZodString>;
89
+ container: z.ZodOptional<z.ZodObject<{
90
+ image: z.ZodOptional<z.ZodString>;
91
+ port: z.ZodOptional<z.ZodNumber>;
92
+ }, z.core.$strip>>;
93
+ }, z.core.$strip>>;
63
94
  }, z.core.$strip>;
64
95
  /** Parsed config from ~/.ironcurtain/config.json. All fields optional. */
65
96
  export type UserConfig = z.infer<typeof userConfigSchema>;
@@ -83,6 +114,19 @@ export interface ResolvedAutoApproveConfig {
83
114
  readonly enabled: boolean;
84
115
  readonly modelId: string;
85
116
  }
117
+ /** Resolved web search config with all fields present. */
118
+ export interface ResolvedWebSearchConfig {
119
+ readonly provider: WebSearchProvider | null;
120
+ readonly brave: {
121
+ readonly apiKey: string;
122
+ } | null;
123
+ readonly tavily: {
124
+ readonly apiKey: string;
125
+ } | null;
126
+ readonly serpapi: {
127
+ readonly apiKey: string;
128
+ } | null;
129
+ }
86
130
  /** Validated, defaults-applied configuration. All fields present. */
87
131
  export interface ResolvedUserConfig {
88
132
  readonly agentModelId: string;
@@ -94,7 +138,10 @@ export interface ResolvedUserConfig {
94
138
  readonly resourceBudget: ResolvedResourceBudgetConfig;
95
139
  readonly autoCompact: ResolvedAutoCompactConfig;
96
140
  readonly autoApprove: ResolvedAutoApproveConfig;
141
+ readonly webSearch: ResolvedWebSearchConfig;
97
142
  readonly serverCredentials: Readonly<Record<string, Readonly<Record<string, string>>>>;
143
+ /** Signal transport config. Null when Signal is not set up. */
144
+ readonly signal: import('../signal/signal-config.js').ResolvedSignalConfig | null;
98
145
  }
99
146
  /**
100
147
  * Loads user configuration from ~/.ironcurtain/config.json.
@@ -6,7 +6,8 @@
6
6
  * Environment variables override config file values.
7
7
  */
8
8
  import { readFileSync, writeFileSync, mkdirSync, existsSync, statSync, chmodSync } from 'node:fs';
9
- import { dirname } from 'node:path';
9
+ import { homedir } from 'node:os';
10
+ import { dirname, resolve } from 'node:path';
10
11
  import { z } from 'zod';
11
12
  import { getUserConfigPath } from './paths.js';
12
13
  import { parseModelId } from './model-provider.js';
@@ -77,6 +78,47 @@ const autoApproveSchema = z
77
78
  modelId: qualifiedModelId.optional(),
78
79
  })
79
80
  .optional();
81
+ export const WEB_SEARCH_PROVIDERS = ['brave', 'tavily', 'serpapi'];
82
+ /** Human-readable labels for web search providers. */
83
+ export const WEB_SEARCH_PROVIDER_LABELS = {
84
+ brave: 'Brave Search',
85
+ tavily: 'Tavily',
86
+ serpapi: 'SerpAPI',
87
+ };
88
+ /** Signup URLs for web search providers. */
89
+ export const WEB_SEARCH_PROVIDER_URLS = {
90
+ brave: 'https://brave.com/search/api/',
91
+ tavily: 'https://tavily.com/',
92
+ serpapi: 'https://serpapi.com/',
93
+ };
94
+ const webSearchSchema = z
95
+ .object({
96
+ provider: z.enum(WEB_SEARCH_PROVIDERS).optional(),
97
+ brave: z.object({ apiKey: z.string().min(1) }).optional(),
98
+ tavily: z.object({ apiKey: z.string().min(1) }).optional(),
99
+ serpapi: z.object({ apiKey: z.string().min(1) }).optional(),
100
+ })
101
+ .optional();
102
+ const signalContainerSchema = z
103
+ .object({
104
+ image: z.string().min(1).optional(),
105
+ port: z.number().int().min(1024).max(65535).optional(),
106
+ })
107
+ .optional();
108
+ const signalSchema = z
109
+ .object({
110
+ botNumber: z
111
+ .string()
112
+ .regex(/^\+\d{7,15}$/, 'Must be E.164 format: +<country><number>')
113
+ .optional(),
114
+ recipientNumber: z
115
+ .string()
116
+ .regex(/^\+\d{7,15}$/, 'Must be E.164 format: +<country><number>')
117
+ .optional(),
118
+ recipientIdentityKey: z.string().min(1).optional(),
119
+ container: signalContainerSchema,
120
+ })
121
+ .optional();
80
122
  /**
81
123
  * Zod schema for validating user config. All fields optional.
82
124
  * Validates types and constraints without applying defaults --
@@ -97,12 +139,21 @@ export const userConfigSchema = z.object({
97
139
  resourceBudget: resourceBudgetSchema,
98
140
  autoCompact: autoCompactSchema,
99
141
  autoApprove: autoApproveSchema,
142
+ webSearch: webSearchSchema,
100
143
  serverCredentials: z.record(z.string(), z.record(z.string(), z.string().min(1))).optional(),
144
+ signal: signalSchema,
101
145
  });
102
146
  /** Known fields derived from the schema. Used for unknown-field detection. */
103
147
  const KNOWN_FIELDS = new Set(Object.keys(userConfigSchema.shape));
104
148
  /** Fields that must never be backfilled into the config file. */
105
- const SENSITIVE_FIELDS = new Set(['anthropicApiKey', 'googleApiKey', 'openaiApiKey', 'serverCredentials']);
149
+ const SENSITIVE_FIELDS = new Set([
150
+ 'anthropicApiKey',
151
+ 'googleApiKey',
152
+ 'openaiApiKey',
153
+ 'serverCredentials',
154
+ 'webSearch',
155
+ 'signal', // Contains phone numbers and identity key fingerprints
156
+ ]);
106
157
  /** Owner-only read/write permissions for the config file (may contain API keys). */
107
158
  const CONFIG_FILE_MODE = 0o600;
108
159
  /**
@@ -346,7 +397,38 @@ function mergeWithDefaults(config) {
346
397
  enabled: a?.enabled ?? approveDefaults.enabled,
347
398
  modelId: a?.modelId ?? approveDefaults.modelId,
348
399
  },
400
+ webSearch: {
401
+ provider: config.webSearch?.provider ?? null,
402
+ brave: config.webSearch?.brave ?? null,
403
+ tavily: config.webSearch?.tavily ?? null,
404
+ serpapi: config.webSearch?.serpapi ?? null,
405
+ },
349
406
  serverCredentials: config.serverCredentials ?? {},
407
+ signal: resolveSignalFromUserConfig(config),
408
+ };
409
+ }
410
+ /**
411
+ * Resolves Signal config inline to avoid circular imports.
412
+ * signal-config.ts re-exports a richer version; this is the minimal
413
+ * resolution needed by mergeWithDefaults().
414
+ */
415
+ function resolveSignalFromUserConfig(config) {
416
+ if (!config.signal)
417
+ return null;
418
+ if (!config.signal.botNumber || !config.signal.recipientNumber || !config.signal.recipientIdentityKey) {
419
+ return null;
420
+ }
421
+ const home = process.env.IRONCURTAIN_HOME ?? resolve(homedir(), '.ironcurtain');
422
+ return {
423
+ botNumber: config.signal.botNumber,
424
+ recipientNumber: config.signal.recipientNumber,
425
+ recipientIdentityKey: config.signal.recipientIdentityKey,
426
+ container: {
427
+ image: config.signal.container?.image ?? 'bbernhard/signal-cli-rest-api:latest',
428
+ port: config.signal.container?.port ?? 18080,
429
+ dataDir: resolve(home, 'signal-data'),
430
+ containerName: 'ironcurtain-signal',
431
+ },
350
432
  };
351
433
  }
352
434
  /**
@@ -375,18 +457,29 @@ export function validateModelId(id) {
375
457
  * Deep-merges changes into an existing config object one level deep.
376
458
  * For nested objects, merges sub-fields rather than replacing the whole object.
377
459
  * Correctly handles null values for nullable budget fields.
460
+ * An empty object ({}) signals "delete this section" — used by the config
461
+ * editor's "Disable" action (e.g., disabling webSearch).
378
462
  */
379
463
  function deepMergeConfig(existing, changes) {
464
+ // Start with existing, then collect keys to remove (empty-object sentinel)
465
+ const keysToRemove = new Set();
380
466
  const result = { ...existing };
381
467
  for (const [key, value] of Object.entries(changes)) {
382
- if (value !== undefined && isPlainObject(value) && isPlainObject(result[key])) {
468
+ if (value !== undefined && isPlainObject(value) && Object.keys(value).length === 0) {
469
+ // Empty object = delete this section
470
+ keysToRemove.add(key);
471
+ }
472
+ else if (value !== undefined && isPlainObject(value) && isPlainObject(result[key])) {
383
473
  result[key] = { ...result[key], ...value };
384
474
  }
385
475
  else if (value !== undefined) {
386
476
  result[key] = value;
387
477
  }
388
478
  }
389
- return result;
479
+ // Build final object excluding removed keys
480
+ if (keysToRemove.size === 0)
481
+ return result;
482
+ return Object.fromEntries(Object.entries(result).filter(([k]) => !keysToRemove.has(k)));
390
483
  }
391
484
  /**
392
485
  * Saves user config changes to ~/.ironcurtain/config.json.
@@ -1 +1 @@
1
- {"version":3,"file":"user-config.js","sourceRoot":"","sources":["../../src/config/user-config.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"user-config.js","sourceRoot":"","sources":["../../src/config/user-config.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,SAAS,EAAE,UAAU,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AAClG,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAClC,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAC7C,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAC/C,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAEnD,MAAM,CAAC,MAAM,oBAAoB,GAAG;IAClC,YAAY,EAAE,6BAA6B;IAC3C,aAAa,EAAE,6BAA6B;IAC5C,wBAAwB,EAAE,GAAG;IAC7B,cAAc,EAAE;QACd,cAAc,EAAE,SAAS;QACzB,QAAQ,EAAE,GAAG;QACb,iBAAiB,EAAE,IAAI;QACvB,mBAAmB,EAAE,GAAG;QACxB,oBAAoB,EAAE,EAAE;KACzB;IACD,WAAW,EAAE;QACX,OAAO,EAAE,IAAI;QACb,eAAe,EAAE,OAAO;QACxB,kBAAkB,EAAE,EAAE;QACtB,cAAc,EAAE,4BAA4B;KAC7C;IACD,WAAW,EAAE;QACX,OAAO,EAAE,KAAK;QACd,OAAO,EAAE,4BAA4B;KACtC;CACO,CAAC;AAEX,MAAM,CAAC,MAAM,sBAAsB,GAAG,EAAE,CAAC;AACzC,MAAM,CAAC,MAAM,sBAAsB,GAAG,GAAG,CAAC;AAE1C,MAAM,oBAAoB,GAAG,CAAC;KAC3B,MAAM,CAAC;IACN,cAAc,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE;IACjE,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE;IAC3D,iBAAiB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE;IAC9D,mBAAmB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE;IAChE,oBAAoB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,QAAQ,EAAE;CAC3D,CAAC;KACD,QAAQ,EAAE,CAAC;AAEd;;;;GAIG;AACH,MAAM,gBAAgB,GAAG,CAAC;KACvB,MAAM,EAAE;KACR,GAAG,CAAC,CAAC,CAAC;KACN,MAAM,CACL,CAAC,GAAG,EAAE,EAAE;IACN,IAAI,CAAC;QACH,YAAY,CAAC,GAAG,CAAC,CAAC;QAClB,OAAO,IAAI,CAAC;IACd,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC,EACD;IACE,OAAO,EACL,yDAAyD;QACzD,qDAAqD;CACxD,CACF,CAAC;AAEJ,MAAM,iBAAiB,GAAG,CAAC;KACxB,MAAM,CAAC;IACN,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;IAC/B,eAAe,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE;IACvD,kBAAkB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE;IAC1D,cAAc,EAAE,gBAAgB,CAAC,QAAQ,EAAE;CAC5C,CAAC;KACD,QAAQ,EAAE,CAAC;AAEd,MAAM,iBAAiB,GAAG,CAAC;KACxB,MAAM,CAAC;IACN,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;IAC/B,OAAO,EAAE,gBAAgB,CAAC,QAAQ,EAAE;CACrC,CAAC;KACD,QAAQ,EAAE,CAAC;AAEd,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,OAAO,EAAE,QAAQ,EAAE,SAAS,CAAU,CAAC;AAG5E,sDAAsD;AACtD,MAAM,CAAC,MAAM,0BAA0B,GAAgD;IACrF,KAAK,EAAE,cAAc;IACrB,MAAM,EAAE,QAAQ;IAChB,OAAO,EAAE,SAAS;CACnB,CAAC;AAEF,4CAA4C;AAC5C,MAAM,CAAC,MAAM,wBAAwB,GAAgD;IACnF,KAAK,EAAE,+BAA+B;IACtC,MAAM,EAAE,qBAAqB;IAC7B,OAAO,EAAE,sBAAsB;CAChC,CAAC;AAEF,MAAM,eAAe,GAAG,CAAC;KACtB,MAAM,CAAC;IACN,QAAQ,EAAE,CAAC,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC,QAAQ,EAAE;IACjD,KAAK,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,QAAQ,EAAE;IACzD,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,QAAQ,EAAE;IAC1D,OAAO,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,QAAQ,EAAE;CAC5D,CAAC;KACD,QAAQ,EAAE,CAAC;AAEd,MAAM,qBAAqB,GAAG,CAAC;KAC5B,MAAM,CAAC;IACN,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE;IACnC,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,QAAQ,EAAE;CACvD,CAAC;KACD,QAAQ,EAAE,CAAC;AAEd,MAAM,YAAY,GAAG,CAAC;KACnB,MAAM,CAAC;IACN,SAAS,EAAE,CAAC;SACT,MAAM,EAAE;SACR,KAAK,CAAC,cAAc,EAAE,0CAA0C,CAAC;SACjE,QAAQ,EAAE;IACb,eAAe,EAAE,CAAC;SACf,MAAM,EAAE;SACR,KAAK,CAAC,cAAc,EAAE,0CAA0C,CAAC;SACjE,QAAQ,EAAE;IACb,oBAAoB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE;IAClD,SAAS,EAAE,qBAAqB;CACjC,CAAC;KACD,QAAQ,EAAE,CAAC;AAEd;;;;GAIG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,CAAC,MAAM,CAAC;IACvC,YAAY,EAAE,gBAAgB,CAAC,QAAQ,EAAE;IACzC,aAAa,EAAE,gBAAgB,CAAC,QAAQ,EAAE;IAC1C,eAAe,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,EAAE,mCAAmC,CAAC,CAAC,QAAQ,EAAE;IAClF,YAAY,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,EAAE,gCAAgC,CAAC,CAAC,QAAQ,EAAE;IAC5E,YAAY,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,EAAE,gCAAgC,CAAC,CAAC,QAAQ,EAAE;IAC5E,wBAAwB,EAAE,CAAC;SACxB,MAAM,EAAE;SACR,GAAG,CAAC,6CAA6C,CAAC;SAClD,GAAG,CAAC,sBAAsB,EAAE,6CAA6C,sBAAsB,EAAE,CAAC;SAClG,GAAG,CAAC,sBAAsB,EAAE,4CAA4C,sBAAsB,EAAE,CAAC;SACjG,QAAQ,EAAE;IACb,cAAc,EAAE,oBAAoB;IACpC,WAAW,EAAE,iBAAiB;IAC9B,WAAW,EAAE,iBAAiB;IAC9B,SAAS,EAAE,eAAe;IAC1B,iBAAiB,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE;IAC3F,MAAM,EAAE,YAAY;CACrB,CAAC,CAAC;AAqDH,8EAA8E;AAC9E,MAAM,YAAY,GAAG,IAAI,GAAG,CAAS,MAAM,CAAC,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAC,CAAC;AAE1E,iEAAiE;AACjE,MAAM,gBAAgB,GAAG,IAAI,GAAG,CAAC;IAC/B,iBAAiB;IACjB,cAAc;IACd,cAAc;IACd,mBAAmB;IACnB,WAAW;IACX,QAAQ,EAAE,uDAAuD;CAClE,CAAC,CAAC;AAEH,oFAAoF;AACpF,MAAM,gBAAgB,GAAG,KAAK,CAAC;AAE/B;;;;GAIG;AACH,SAAS,eAAe,CAAC,IAAY,EAAE,OAAe;IACpD,aAAa,CAAC,IAAI,EAAE,OAAO,EAAE,EAAE,IAAI,EAAE,gBAAgB,EAAE,CAAC,CAAC;IACzD,SAAS,CAAC,IAAI,EAAE,gBAAgB,CAAC,CAAC;AACpC,CAAC;AAED,kDAAkD;AAClD,SAAS,aAAa,CAAC,KAAc;IACnC,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;AAC9E,CAAC;AAED,2EAA2E;AAC3E,MAAM,sBAAsB,GAC1B,IAAI,CAAC,SAAS,CACZ;IACE,YAAY,EAAE,oBAAoB,CAAC,YAAY;IAC/C,aAAa,EAAE,oBAAoB,CAAC,aAAa;IACjD,wBAAwB,EAAE,oBAAoB,CAAC,wBAAwB;IACvE,cAAc,EAAE,oBAAoB,CAAC,cAAc;IACnD,WAAW,EAAE,oBAAoB,CAAC,WAAW;IAC7C,WAAW,EAAE,oBAAoB,CAAC,WAAW;CAC9C,EACD,IAAI,EACJ,CAAC,CACF,GAAG,IAAI,CAAC;AAEX;;;;;;;;;;GAUG;AACH,MAAM,UAAU,cAAc;IAC5B,MAAM,UAAU,GAAG,iBAAiB,EAAE,CAAC;IACvC,IAAI,GAAG,GAAG,sBAAsB,CAAC,UAAU,CAAC,CAAC;IAC7C,GAAG,GAAG,qBAAqB,CAAC,UAAU,EAAE,GAAG,CAAC,CAAC;IAC7C,MAAM,MAAM,GAAG,eAAe,CAAC,GAAG,EAAE,UAAU,CAAC,CAAC;IAChD,iBAAiB,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;IACtC,MAAM,SAAS,GAAG,cAAc,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;IACrD,OAAO,iBAAiB,CAAC,iBAAiB,CAAC,SAAS,CAAC,CAAC,CAAC;AACzD,CAAC;AAED;;;;GAIG;AACH,SAAS,qBAAqB,CAAC,UAAkB,EAAE,GAAW;IAC5D,IAAI,MAAe,CAAC;IACpB,IAAI,CAAC;QACH,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IAC3B,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,GAAG,CAAC;IACb,CAAC;IACD,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC;QAAE,OAAO,GAAG,CAAC;IACvC,MAAM,WAAW,GAAG,MAAM,CAAC;IAE3B,MAAM,KAAK,GAAG,sBAAsB,CAAC,WAAW,CAAC,CAAC;IAClD,IAAI,KAAK,KAAK,IAAI;QAAE,OAAO,GAAG,CAAC;IAE/B,MAAM,OAAO,GAAG,uBAAuB,CAAC,WAAW,EAAE,KAAK,CAAC,CAAC;IAC5D,MAAM,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,GAAG,IAAI,CAAC;IACvD,eAAe,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC;IACpC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,6BAA6B,mBAAmB,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAClF,OAAO,MAAM,CAAC;AAChB,CAAC;AAED;;;;GAIG;AACH,SAAS,sBAAsB,CAAC,WAAoC;IAClE,MAAM,KAAK,GAA4B,EAAE,CAAC;IAE1C,KAAK,MAAM,CAAC,GAAG,EAAE,YAAY,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,oBAAoB,CAAC,EAAE,CAAC;QACvE,IAAI,gBAAgB,CAAC,GAAG,CAAC,GAAG,CAAC;YAAE,SAAS;QAExC,IAAI,CAAC,CAAC,GAAG,IAAI,WAAW,CAAC,EAAE,CAAC;YAC1B,KAAK,CAAC,GAAG,CAAC,GAAG,YAAY,CAAC;YAC1B,SAAS;QACX,CAAC;QAED,kEAAkE;QAClE,IAAI,CAAC,aAAa,CAAC,YAAY,CAAC,IAAI,CAAC,aAAa,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;YAAE,SAAS;QAE/E,MAAM,QAAQ,GAAG,WAAW,CAAC,GAAG,CAAC,CAAC;QAClC,MAAM,QAAQ,GAA4B,EAAE,CAAC;QAC7C,KAAK,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,YAAY,CAAC,EAAE,CAAC;YAChE,IAAI,CAAC,CAAC,MAAM,IAAI,QAAQ,CAAC,EAAE,CAAC;gBAC1B,QAAQ,CAAC,MAAM,CAAC,GAAG,UAAU,CAAC;YAChC,CAAC;QACH,CAAC;QACD,IAAI,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACrC,KAAK,CAAC,GAAG,CAAC,GAAG,QAAQ,CAAC;QACxB,CAAC;IACH,CAAC;IAED,OAAO,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC;AACtD,CAAC;AAED;;;GAGG;AACH,SAAS,uBAAuB,CAC9B,WAAoC,EACpC,KAA8B;IAE9B,MAAM,MAAM,GAAG,EAAE,GAAG,WAAW,EAAE,CAAC;IAClC,KAAK,MAAM,CAAC,GAAG,EAAE,UAAU,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QACtD,IAAI,GAAG,IAAI,MAAM,IAAI,aAAa,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC;YAChD,MAAM,QAAQ,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC;YAC7B,MAAM,CAAC,GAAG,CAAC,GAAG,EAAE,GAAG,QAAQ,EAAE,GAAI,UAAsC,EAAE,CAAC;QAC5E,CAAC;aAAM,CAAC;YACN,MAAM,CAAC,GAAG,CAAC,GAAG,UAAU,CAAC;QAC3B,CAAC;IACH,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED;;;;GAIG;AACH,SAAS,mBAAmB,CAAC,KAA8B;IACzD,MAAM,MAAM,GAAa,EAAE,CAAC;IAC5B,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QACjD,MAAM,YAAY,GAAI,oBAAgD,CAAC,GAAG,CAAC,CAAC;QAC5E,MAAM,eAAe,GACnB,aAAa,CAAC,KAAK,CAAC;YACpB,aAAa,CAAC,YAAY,CAAC;YAC3B,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,MAAM,CAAC;QAE/D,IAAI,eAAe,EAAE,CAAC;YACpB,KAAK,MAAM,MAAM,IAAI,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;gBACxC,MAAM,CAAC,IAAI,CAAC,GAAG,GAAG,IAAI,MAAM,EAAE,CAAC,CAAC;YAClC,CAAC;QACH,CAAC;aAAM,CAAC;YACN,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACnB,CAAC;IACH,CAAC;IACD,OAAO,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC3B,CAAC;AAED;;GAEG;AACH,SAAS,sBAAsB,CAAC,UAAkB;IAChD,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;QAC5B,SAAS,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QACpD,eAAe,CAAC,UAAU,EAAE,sBAAsB,CAAC,CAAC;QACpD,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,6BAA6B,UAAU,IAAI,CAAC,CAAC;QAClE,OAAO,sBAAsB,CAAC;IAChC,CAAC;IACD,uBAAuB,CAAC,UAAU,CAAC,CAAC;IACpC,OAAO,YAAY,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;AAC3C,CAAC;AAED;;;GAGG;AACH,SAAS,uBAAuB,CAAC,UAAkB;IACjD,IAAI,CAAC;QACH,MAAM,KAAK,GAAG,QAAQ,CAAC,UAAU,CAAC,CAAC;QACnC,qDAAqD;QACrD,IAAI,KAAK,CAAC,IAAI,GAAG,KAAK,EAAE,CAAC;YACvB,OAAO,CAAC,MAAM,CAAC,KAAK,CAClB,YAAY,UAAU,qCAAqC,CAAC,KAAK,CAAC,IAAI,GAAG,KAAK,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK;gBAC9F,kBAAkB,UAAU,IAAI,CACnC,CAAC;QACJ,CAAC;IACH,CAAC;IAAC,MAAM,CAAC;QACP,0BAA0B;IAC5B,CAAC;AACH,CAAC;AAED;;GAEG;AACH,SAAS,eAAe,CAAC,GAAW,EAAE,UAAkB;IACtD,IAAI,CAAC;QACH,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IACzB,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,MAAM,OAAO,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QACjE,MAAM,IAAI,KAAK,CAAC,mBAAmB,UAAU,KAAK,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC,CAAC;IAC/E,CAAC;AACH,CAAC;AAED;;GAEG;AACH,SAAS,iBAAiB,CAAC,MAAe,EAAE,UAAkB;IAC5D,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,MAAM,KAAK,IAAI,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC;QAAE,OAAO;IACnF,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,MAAiC,CAAC,CAAC;IAC5D,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;QACvB,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;YAC3B,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,2BAA2B,GAAG,QAAQ,UAAU,IAAI,CAAC,CAAC;QAC7E,CAAC;IACH,CAAC;AACH,CAAC;AAED;;;GAGG;AACH,SAAS,cAAc,CAAC,MAAe,EAAE,UAAkB;IACzD,MAAM,MAAM,GAAG,gBAAgB,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;IAClD,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;QACpB,MAAM,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC5G,MAAM,IAAI,KAAK,CAAC,qBAAqB,UAAU,MAAM,MAAM,EAAE,CAAC,CAAC;IACjE,CAAC;IACD,OAAO,MAAM,CAAC,IAAI,CAAC;AACrB,CAAC;AAED;;;GAGG;AACH,SAAS,iBAAiB,CAAC,MAAkB;IAC3C,MAAM,cAAc,GAAG,oBAAoB,CAAC,cAAc,CAAC;IAC3D,MAAM,eAAe,GAAG,oBAAoB,CAAC,WAAW,CAAC;IACzD,MAAM,eAAe,GAAG,oBAAoB,CAAC,WAAW,CAAC;IACzD,MAAM,CAAC,GAAG,MAAM,CAAC,cAAc,CAAC;IAChC,MAAM,CAAC,GAAG,MAAM,CAAC,WAAW,CAAC;IAC7B,MAAM,CAAC,GAAG,MAAM,CAAC,WAAW,CAAC;IAC7B,OAAO;QACL,YAAY,EAAE,MAAM,CAAC,YAAY,IAAI,oBAAoB,CAAC,YAAY;QACtE,aAAa,EAAE,MAAM,CAAC,aAAa,IAAI,oBAAoB,CAAC,aAAa;QACzE,eAAe,EAAE,MAAM,CAAC,eAAe,IAAI,EAAE;QAC7C,YAAY,EAAE,MAAM,CAAC,YAAY,IAAI,EAAE;QACvC,YAAY,EAAE,MAAM,CAAC,YAAY,IAAI,EAAE;QACvC,wBAAwB,EAAE,MAAM,CAAC,wBAAwB,IAAI,oBAAoB,CAAC,wBAAwB;QAC1G,cAAc,EAAE;YACd,yEAAyE;YACzE,iEAAiE;YACjE,cAAc,EAAE,CAAC,EAAE,cAAc,KAAK,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,cAAc,CAAC,cAAc;YAClG,QAAQ,EAAE,CAAC,EAAE,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,cAAc,CAAC,QAAQ;YAC1E,iBAAiB,EAAE,CAAC,EAAE,iBAAiB,KAAK,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,cAAc,CAAC,iBAAiB;YAC9G,mBAAmB,EACjB,CAAC,EAAE,mBAAmB,KAAK,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,mBAAmB,CAAC,CAAC,CAAC,cAAc,CAAC,mBAAmB;YACnG,oBAAoB,EAAE,CAAC,EAAE,oBAAoB,IAAI,cAAc,CAAC,oBAAoB;SACrF;QACD,WAAW,EAAE;YACX,OAAO,EAAE,CAAC,EAAE,OAAO,IAAI,eAAe,CAAC,OAAO;YAC9C,eAAe,EAAE,CAAC,EAAE,eAAe,IAAI,eAAe,CAAC,eAAe;YACtE,kBAAkB,EAAE,CAAC,EAAE,kBAAkB,IAAI,eAAe,CAAC,kBAAkB;YAC/E,cAAc,EAAE,CAAC,EAAE,cAAc,IAAI,eAAe,CAAC,cAAc;SACpE;QACD,WAAW,EAAE;YACX,OAAO,EAAE,CAAC,EAAE,OAAO,IAAI,eAAe,CAAC,OAAO;YAC9C,OAAO,EAAE,CAAC,EAAE,OAAO,IAAI,eAAe,CAAC,OAAO;SAC/C;QACD,SAAS,EAAE;YACT,QAAQ,EAAE,MAAM,CAAC,SAAS,EAAE,QAAQ,IAAI,IAAI;YAC5C,KAAK,EAAE,MAAM,CAAC,SAAS,EAAE,KAAK,IAAI,IAAI;YACtC,MAAM,EAAE,MAAM,CAAC,SAAS,EAAE,MAAM,IAAI,IAAI;YACxC,OAAO,EAAE,MAAM,CAAC,SAAS,EAAE,OAAO,IAAI,IAAI;SAC3C;QACD,iBAAiB,EAAE,MAAM,CAAC,iBAAiB,IAAI,EAAE;QACjD,MAAM,EAAE,2BAA2B,CAAC,MAAM,CAAC;KAC5C,CAAC;AACJ,CAAC;AAED;;;;GAIG;AACH,SAAS,2BAA2B,CAClC,MAAkB;IAElB,IAAI,CAAC,MAAM,CAAC,MAAM;QAAE,OAAO,IAAI,CAAC;IAChC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,SAAS,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,eAAe,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,oBAAoB,EAAE,CAAC;QACtG,OAAO,IAAI,CAAC;IACd,CAAC;IAED,MAAM,IAAI,GAAG,OAAO,CAAC,GAAG,CAAC,gBAAgB,IAAI,OAAO,CAAC,OAAO,EAAE,EAAE,cAAc,CAAC,CAAC;IAChF,OAAO;QACL,SAAS,EAAE,MAAM,CAAC,MAAM,CAAC,SAAS;QAClC,eAAe,EAAE,MAAM,CAAC,MAAM,CAAC,eAAe;QAC9C,oBAAoB,EAAE,MAAM,CAAC,MAAM,CAAC,oBAAoB;QACxD,SAAS,EAAE;YACT,KAAK,EAAE,MAAM,CAAC,MAAM,CAAC,SAAS,EAAE,KAAK,IAAI,sCAAsC;YAC/E,IAAI,EAAE,MAAM,CAAC,MAAM,CAAC,SAAS,EAAE,IAAI,IAAI,KAAK;YAC5C,OAAO,EAAE,OAAO,CAAC,IAAI,EAAE,aAAa,CAAC;YACrC,aAAa,EAAE,oBAAoB;SACpC;KACF,CAAC;AACJ,CAAC;AAED;;;GAGG;AACH,SAAS,iBAAiB,CAAC,MAA0B;IACnD,OAAO;QACL,GAAG,MAAM;QACT,eAAe,EAAE,OAAO,CAAC,GAAG,CAAC,iBAAiB,IAAI,MAAM,CAAC,eAAe;QACxE,YAAY,EAAE,OAAO,CAAC,GAAG,CAAC,4BAA4B,IAAI,MAAM,CAAC,YAAY;QAC7E,YAAY,EAAE,OAAO,CAAC,GAAG,CAAC,cAAc,IAAI,MAAM,CAAC,YAAY;KAChE,CAAC;AACJ,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,eAAe,CAAC,EAAU;IACxC,MAAM,MAAM,GAAG,gBAAgB,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;IAC9C,IAAI,MAAM,CAAC,OAAO;QAAE,OAAO,SAAS,CAAC;IACrC,OAAO,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,OAAO,IAAI,kBAAkB,CAAC;AAC/D,CAAC;AAED;;;;;;GAMG;AACH,SAAS,eAAe,CAAC,QAAiC,EAAE,OAAgC;IAC1F,2EAA2E;IAC3E,MAAM,YAAY,GAAG,IAAI,GAAG,EAAU,CAAC;IACvC,MAAM,MAAM,GAAG,EAAE,GAAG,QAAQ,EAAE,CAAC;IAC/B,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;QACnD,IAAI,KAAK,KAAK,SAAS,IAAI,aAAa,CAAC,KAAK,CAAC,IAAI,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACnF,qCAAqC;YACrC,YAAY,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QACxB,CAAC;aAAM,IAAI,KAAK,KAAK,SAAS,IAAI,aAAa,CAAC,KAAK,CAAC,IAAI,aAAa,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC;YACrF,MAAM,CAAC,GAAG,CAAC,GAAG,EAAE,GAAG,MAAM,CAAC,GAAG,CAAC,EAAE,GAAG,KAAK,EAAE,CAAC;QAC7C,CAAC;aAAM,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;YAC/B,MAAM,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;QACtB,CAAC;IACH,CAAC;IACD,4CAA4C;IAC5C,IAAI,YAAY,CAAC,IAAI,KAAK,CAAC;QAAE,OAAO,MAAM,CAAC;IAC3C,OAAO,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC1F,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,cAAc,CAAC,OAAmB;IAChD,MAAM,UAAU,GAAG,iBAAiB,EAAE,CAAC;IACvC,IAAI,QAAQ,GAA4B,EAAE,CAAC;IAE3C,IAAI,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;QAC3B,IAAI,CAAC;YACH,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,UAAU,EAAE,OAAO,CAAC,CAA4B,CAAC;QACtF,CAAC;QAAC,MAAM,CAAC;YACP,sCAAsC;YACtC,QAAQ,GAAG,EAAE,CAAC;QAChB,CAAC;IACH,CAAC;SAAM,CAAC;QACN,SAAS,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IACtD,CAAC;IAED,MAAM,MAAM,GAAG,eAAe,CAAC,QAAQ,EAAE,OAAkC,CAAC,CAAC;IAE7E,iDAAiD;IACjD,MAAM,MAAM,GAAG,gBAAgB,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;IAClD,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;QACpB,MAAM,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC5G,MAAM,IAAI,KAAK,CAAC,gCAAgC,MAAM,EAAE,CAAC,CAAC;IAC5D,CAAC;IAED,eAAe,CAAC,UAAU,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC;AACtE,CAAC"}
@@ -30,12 +30,21 @@ every call is evaluated against security rules and recorded in the audit log.
30
30
  Your built-in file tools cannot reach the host filesystem.
31
31
 
32
32
  ### Network
33
- The container has NO network access (--network=none). All HTTP requests and
33
+ ${context.networkMode === 'none'
34
+ ? `The container has NO network access (--network=none). All HTTP requests and
34
35
  git operations MUST go through the MCP tools below.
35
36
 
36
37
  Your built-in web search and web fetch tools route through the Anthropic API
37
38
  and will work, but they bypass IronCurtain's audit log. Prefer the MCP fetch
38
- tool when an auditable record of network access is required.
39
+ tool when an auditable record of network access is required.`
40
+ : `The container's outbound network is restricted to IronCurtain's host-side
41
+ proxies. Direct internet access is blocked by firewall rules. All HTTP
42
+ requests and git operations MUST go through the MCP tools below.
43
+
44
+ Your built-in web search and web fetch tools route through the Anthropic API
45
+ via the MITM proxy and will work, but they bypass IronCurtain's audit log.
46
+ Prefer the MCP fetch tool when an auditable record of network access is
47
+ required.`}
39
48
 
40
49
  ### Available MCP Tools
41
50
  ${toolList}
@@ -62,12 +71,14 @@ export const claudeCodeAdapter = {
62
71
  return CLAUDE_CODE_IMAGE;
63
72
  },
64
73
  // Generates MCP config file passed via --mcp-config on the command line.
74
+ // socketPath is either a UDS path or a TCP host:port address.
65
75
  generateMcpConfig(socketPath) {
76
+ const isTcp = socketPath.includes(':');
66
77
  const mcpConfig = {
67
78
  mcpServers: {
68
79
  ironcurtain: {
69
80
  command: 'socat',
70
- args: ['STDIO', `UNIX-CONNECT:${socketPath}`],
81
+ args: isTcp ? ['STDIO', `TCP:${socketPath}`] : ['STDIO', `UNIX-CONNECT:${socketPath}`],
71
82
  },
72
83
  },
73
84
  };
@@ -1 +1 @@
1
- {"version":3,"file":"claude-code.js","sourceRoot":"","sources":["../../../src/docker/adapters/claude-code.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"claude-code.js","sourceRoot":"","sources":["../../../src/docker/adapters/claude-code.ts"],"names":[],"mappings":"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"}
@@ -52,6 +52,8 @@ export interface OrientationContext {
52
52
  readonly tools: ToolInfo[];
53
53
  /** Domains the agent may access via fetch MCP tool. */
54
54
  readonly allowedDomains: string[];
55
+ /** Container network mode: 'none' (Linux UDS) or 'bridge' (macOS TCP). */
56
+ readonly networkMode: 'none' | 'bridge';
55
57
  }
56
58
  /**
57
59
  * An agent adapter encapsulates the differences between external agents.
@@ -1,17 +1,18 @@
1
1
  /**
2
2
  * Tails a JSONL audit log file and emits DiagnosticEvent callbacks
3
- * for each new entry. Uses fs.watch() for change notification and
3
+ * for each new entry. Uses fs.watchFile() for change notification and
4
4
  * tracks the file read offset to parse only new lines.
5
5
  */
6
6
  import type { DiagnosticEvent } from '../session/types.js';
7
7
  export declare class AuditLogTailer {
8
8
  private offset;
9
- private watcher;
9
+ private watching;
10
10
  private readonly auditLogPath;
11
11
  private readonly onDiagnostic;
12
12
  constructor(auditLogPath: string, onDiagnostic: (event: DiagnosticEvent) => void);
13
13
  start(): void;
14
14
  stop(): void;
15
- private readNewEntries;
15
+ /** Read and process any new entries appended since the last read. */
16
+ readNewEntries(): void;
16
17
  private buildPreview;
17
18
  }