@provos/ironcurtain 0.7.2 → 0.8.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/README.md +29 -100
  2. package/dist/config/first-start.js +4 -1
  3. package/dist/config/first-start.js.map +1 -1
  4. package/dist/config/mcp-servers.json +8 -2
  5. package/dist/config/paths.d.ts +5 -0
  6. package/dist/config/paths.js +8 -0
  7. package/dist/config/paths.js.map +1 -1
  8. package/dist/config/user-config.d.ts +27 -0
  9. package/dist/config/user-config.js +28 -0
  10. package/dist/config/user-config.js.map +1 -1
  11. package/dist/cron/constitution-generator.d.ts +2 -1
  12. package/dist/cron/constitution-generator.js +35 -36
  13. package/dist/cron/constitution-generator.js.map +1 -1
  14. package/dist/daemon/ironcurtain-daemon.js +1 -0
  15. package/dist/daemon/ironcurtain-daemon.js.map +1 -1
  16. package/dist/docker/adapters/claude-code.js +32 -5
  17. package/dist/docker/adapters/claude-code.js.map +1 -1
  18. package/dist/docker/agent-adapter.d.ts +40 -0
  19. package/dist/docker/claude-md-seed.d.ts +27 -0
  20. package/dist/docker/claude-md-seed.js +42 -0
  21. package/dist/docker/claude-md-seed.js.map +1 -0
  22. package/dist/docker/docker-agent-session.js +2 -0
  23. package/dist/docker/docker-agent-session.js.map +1 -1
  24. package/dist/docker/docker-infrastructure.d.ts +15 -1
  25. package/dist/docker/docker-infrastructure.js +72 -1
  26. package/dist/docker/docker-infrastructure.js.map +1 -1
  27. package/dist/docker/mitm-proxy.d.ts +15 -0
  28. package/dist/docker/mitm-proxy.js +75 -7
  29. package/dist/docker/mitm-proxy.js.map +1 -1
  30. package/dist/docker/package-types.d.ts +127 -0
  31. package/dist/docker/package-types.js +8 -0
  32. package/dist/docker/package-types.js.map +1 -0
  33. package/dist/docker/package-validator.d.ts +41 -0
  34. package/dist/docker/package-validator.js +90 -0
  35. package/dist/docker/package-validator.js.map +1 -0
  36. package/dist/docker/pty-session.d.ts +15 -0
  37. package/dist/docker/pty-session.js +205 -44
  38. package/dist/docker/pty-session.js.map +1 -1
  39. package/dist/docker/pty-types.d.ts +24 -0
  40. package/dist/docker/pty-types.js +2 -0
  41. package/dist/docker/pty-types.js.map +1 -1
  42. package/dist/docker/registry-proxy.d.ts +142 -0
  43. package/dist/docker/registry-proxy.js +856 -0
  44. package/dist/docker/registry-proxy.js.map +1 -0
  45. package/dist/index.js +10 -2
  46. package/dist/index.js.map +1 -1
  47. package/dist/memory/memory-annotations.d.ts +47 -0
  48. package/dist/memory/memory-annotations.js +87 -0
  49. package/dist/memory/memory-annotations.js.map +1 -0
  50. package/dist/memory/memory-prompt.d.ts +12 -0
  51. package/dist/memory/memory-prompt.js +20 -0
  52. package/dist/memory/memory-prompt.js.map +1 -0
  53. package/dist/memory/resolve-memory-path.d.ts +20 -0
  54. package/dist/memory/resolve-memory-path.js +30 -0
  55. package/dist/memory/resolve-memory-path.js.map +1 -0
  56. package/dist/mux/mux-app.js +78 -10
  57. package/dist/mux/mux-app.js.map +1 -1
  58. package/dist/mux/mux-input-handler.d.ts +28 -2
  59. package/dist/mux/mux-input-handler.js +164 -7
  60. package/dist/mux/mux-input-handler.js.map +1 -1
  61. package/dist/mux/mux-renderer.d.ts +3 -1
  62. package/dist/mux/mux-renderer.js +181 -7
  63. package/dist/mux/mux-renderer.js.map +1 -1
  64. package/dist/mux/persona-scanner.d.ts +19 -0
  65. package/dist/mux/persona-scanner.js +53 -0
  66. package/dist/mux/persona-scanner.js.map +1 -0
  67. package/dist/mux/pty-bridge.d.ts +4 -0
  68. package/dist/mux/pty-bridge.js +6 -0
  69. package/dist/mux/pty-bridge.js.map +1 -1
  70. package/dist/mux/session-scanner.d.ts +18 -0
  71. package/dist/mux/session-scanner.js +65 -0
  72. package/dist/mux/session-scanner.js.map +1 -0
  73. package/dist/mux/types.d.ts +13 -1
  74. package/dist/mux/types.js +5 -1
  75. package/dist/mux/types.js.map +1 -1
  76. package/dist/persona/persona-command.js +130 -88
  77. package/dist/persona/persona-command.js.map +1 -1
  78. package/dist/persona/persona-prompt.d.ts +7 -7
  79. package/dist/persona/persona-prompt.js +14 -29
  80. package/dist/persona/persona-prompt.js.map +1 -1
  81. package/dist/persona/resolve.js +5 -2
  82. package/dist/persona/resolve.js.map +1 -1
  83. package/dist/sandbox/index.d.ts +26 -10
  84. package/dist/sandbox/index.js +131 -40
  85. package/dist/sandbox/index.js.map +1 -1
  86. package/dist/session/agent-session.d.ts +2 -1
  87. package/dist/session/agent-session.js +4 -1
  88. package/dist/session/agent-session.js.map +1 -1
  89. package/dist/session/index.d.ts +25 -1
  90. package/dist/session/index.js +57 -8
  91. package/dist/session/index.js.map +1 -1
  92. package/dist/session/prompts.js +8 -8
  93. package/dist/session/types.d.ts +5 -0
  94. package/dist/session/workspace-validation.js +37 -6
  95. package/dist/session/workspace-validation.js.map +1 -1
  96. package/dist/trusted-process/index.js +23 -29
  97. package/dist/trusted-process/index.js.map +1 -1
  98. package/dist/trusted-process/mcp-proxy-server.d.ts +9 -0
  99. package/dist/trusted-process/mcp-proxy-server.js +91 -37
  100. package/dist/trusted-process/mcp-proxy-server.js.map +1 -1
  101. package/dist/trusted-process/policy-engine.d.ts +4 -1
  102. package/dist/trusted-process/policy-engine.js +15 -1
  103. package/dist/trusted-process/policy-engine.js.map +1 -1
  104. package/docker/Dockerfile.base +22 -0
  105. package/docker/Dockerfile.base.arm64 +44 -4
  106. package/docker/entrypoint-claude-code.sh +9 -1
  107. package/package.json +7 -2
  108. package/src/config/mcp-servers.json +8 -2
@@ -49,19 +49,54 @@ const proxyServerPath = resolve(__dirname, `../trusted-process/mcp-proxy-server.
49
49
  const tsxBin = resolveNodeModulesBin('tsx', resolve(__dirname, '..', '..'));
50
50
  const PROXY_COMMAND = isCompiled ? 'node' : tsxBin;
51
51
  const PROXY_ARGS = [proxyServerPath];
52
+ /** Sanitize a string to a valid JS identifier segment. */
53
+ const sanitize = (s) => s.replace(/[^a-zA-Z0-9_]/g, '_').replace(/^[0-9]/, '_$&');
54
+ /** Shared: first segment + remaining joined with underscores. */
55
+ function flattenDotted(segments) {
56
+ const [manual, ...parts] = segments;
57
+ return `${sanitize(manual)}.${parts.map(sanitize).join('_')}`;
58
+ }
52
59
  /**
53
- * Transforms a UTCP tool name (dotted) into the actual callable function name
54
- * in the sandbox. Mirrors UTCP Code Mode's sanitizeIdentifier() behavior:
55
- * split on first dot (manual name), join remaining parts with underscores.
60
+ * Mirrors UTCP Code Mode's sanitizeIdentifier() behavior the property name
61
+ * that UTCP actually creates on `global.tools` in the V8 isolate.
56
62
  *
57
- * Example: "filesystem.filesystem.list_directory" → "filesystem.filesystem_list_directory"
63
+ * Example: "tools.filesystem.read_file" → "tools.filesystem_read_file"
64
+ */
65
+ export function toUtcpCallable(toolName) {
66
+ if (!toolName.includes('.'))
67
+ return sanitize(toolName);
68
+ return flattenDotted(toolName.split('.'));
69
+ }
70
+ /**
71
+ * Transforms a UTCP tool name (dotted) into the user-facing callable name
72
+ * with server-namespace prefix stripping.
73
+ *
74
+ * For 3+ segment names (tools.<server>.<tool>):
75
+ * - Extract server and tool segments
76
+ * - If tool starts with `serverName_`, strip that prefix
77
+ * - Return `server.strippedTool`
78
+ *
79
+ * Examples:
80
+ * "tools.filesystem.read_file" → "filesystem.read_file"
81
+ * "tools.git.git_add" → "git.add"
82
+ * "tools.memory.memory_context" → "memory.context"
83
+ * "tools.a.b.c" → "a.b_c"
58
84
  */
59
85
  export function toCallableName(toolName) {
60
- const sanitize = (s) => s.replace(/[^a-zA-Z0-9_]/g, '_').replace(/^[0-9]/, '_$&');
61
86
  if (!toolName.includes('.'))
62
87
  return sanitize(toolName);
63
- const [manual, ...parts] = toolName.split('.');
64
- return `${sanitize(manual)}.${parts.map(sanitize).join('_')}`;
88
+ const segments = toolName.split('.');
89
+ // 2-segment names: unchanged (e.g., "tools.read_file")
90
+ if (segments.length <= 2)
91
+ return flattenDotted(segments);
92
+ // 3+ segments: server-namespace with prefix stripping
93
+ const server = sanitize(segments[1]);
94
+ const toolParts = segments.slice(2).map(sanitize);
95
+ const tool = toolParts.join('_');
96
+ // Strip redundant server prefix from tool name (e.g., git_add → add)
97
+ const prefix = server + '_';
98
+ const strippedTool = tool.startsWith(prefix) ? tool.slice(prefix.length) : tool;
99
+ return `${server}.${strippedTool}`;
65
100
  }
66
101
  /**
67
102
  * Extracts required parameter names from a tool's JSON Schema inputs
@@ -72,22 +107,59 @@ export function extractRequiredParams(inputs) {
72
107
  return '';
73
108
  return `{ ${inputs.required.join(', ')} }`;
74
109
  }
110
+ /** Namespaces that must not be shadowed by alias globals. */
111
+ const RESERVED_NAMESPACES = new Set(['tools', 'help', 'console', 'global', 'undefined', 'NaN', 'Infinity']);
112
+ /**
113
+ * Builds a JavaScript snippet that creates server-namespace aliases in the
114
+ * V8 sandbox isolate: `global.<server> = { <tool>: global.tools.<utcpProp> }`.
115
+ *
116
+ * This enables `filesystem.read_file(...)` alongside the UTCP-created
117
+ * `tools.filesystem_read_file(...)`.
118
+ */
119
+ function buildNamespaceAliasSnippet(aliases) {
120
+ // Group by namespace
121
+ const byNs = {};
122
+ for (const { newCallable, utcpProp } of aliases) {
123
+ const dotIdx = newCallable.indexOf('.');
124
+ if (dotIdx === -1)
125
+ continue;
126
+ const ns = newCallable.slice(0, dotIdx);
127
+ if (RESERVED_NAMESPACES.has(ns))
128
+ continue;
129
+ const tool = newCallable.slice(dotIdx + 1);
130
+ if (!(ns in byNs))
131
+ byNs[ns] = [];
132
+ byNs[ns].push({ tool, utcpProp });
133
+ }
134
+ if (Object.keys(byNs).length === 0)
135
+ return '';
136
+ const lines = ['(function() {'];
137
+ for (const [ns, tools] of Object.entries(byNs)) {
138
+ lines.push(` global["${ns}"] = {};`);
139
+ for (const { tool, utcpProp } of tools) {
140
+ lines.push(` global["${ns}"]["${tool}"] = global["tools"]["${utcpProp}"];`);
141
+ }
142
+ }
143
+ lines.push('})();');
144
+ return lines.join('\n');
145
+ }
75
146
  /**
76
147
  * Builds a JavaScript snippet that patches __getToolInterface inside the
77
- * sandbox isolate so that callable names (with underscores) resolve to
148
+ * sandbox isolate so that both new callable names (e.g., "filesystem.read_file")
149
+ * and old UTCP callable names (e.g., "tools.filesystem_read_file") resolve to
78
150
  * the same interface as the raw UTCP tool names (with dots).
79
151
  *
80
152
  * UTCP Code Mode keys its interface map by raw tool name (e.g.,
81
153
  * "tools.git.git_add") but the callable function name the agent sees
82
- * uses underscores (e.g., "tools.git_git_add"). Without this patch,
154
+ * uses the new namespace format (e.g., "git.add"). Without this patch,
83
155
  * __getToolInterface(callableName) returns null.
84
156
  */
85
157
  function buildInterfacePatchSnippet(callableToRawMap) {
86
158
  const mapJson = JSON.stringify(callableToRawMap);
87
159
  // The snippet runs inside the V8 isolate before user code.
88
160
  // 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.
161
+ // When the name is wrong, it tries auto-correction and falls back to
162
+ // a helpful error message with suggestions.
91
163
  return `
92
164
  (function() {
93
165
  var _callableToRaw = ${mapJson};
@@ -99,18 +171,16 @@ function buildInterfacePatchSnippet(callableToRawMap) {
99
171
  var rawName = _callableToRaw[toolName];
100
172
  if (rawName) return _origGetToolInterface(rawName);
101
173
 
102
- // Auto-correct: try prepending "tools." for common mistake
174
+ // Auto-correct: try prepending "tools." for raw name lookup
103
175
  if (toolName && !toolName.startsWith('tools.')) {
104
176
  var prefixed = 'tools.' + toolName;
105
- // Try as raw name first
106
177
  result = _origGetToolInterface(prefixed);
107
178
  if (result) return result;
108
- // Try as callable name
109
179
  rawName = _callableToRaw[prefixed];
110
180
  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];
181
+ // Try converting dots to underscores (e.g. "git.add" -> "tools.git_add")
182
+ var asOldCallable = 'tools.' + toolName.replace(/\\./g, '_');
183
+ rawName = _callableToRaw[asOldCallable];
114
184
  if (rawName) return _origGetToolInterface(rawName);
115
185
  }
116
186
 
@@ -128,7 +198,7 @@ function buildInterfacePatchSnippet(callableToRawMap) {
128
198
  if (suggestions.length > 0) {
129
199
  msg += " Did you mean: " + suggestions.join(', ') + "?";
130
200
  } else {
131
- msg += " Use the callable name format shown in the tool catalog, e.g. tools.git_git_push";
201
+ msg += " Use the callable name format shown in the tool catalog, e.g. git.push";
132
202
  }
133
203
  return msg;
134
204
  };
@@ -183,8 +253,7 @@ export function buildHelpSnippet(helpData) {
183
253
  export class Sandbox {
184
254
  client = null;
185
255
  toolCatalog = '';
186
- interfacePatchSnippet = '';
187
- helpSnippet = '';
256
+ preamble = '';
188
257
  helpData = { serverDescriptions: {}, toolsByServer: {} };
189
258
  async initialize(config) {
190
259
  // Update the Protocol.request timeout before any Client instances are created.
@@ -268,18 +337,30 @@ export class Sandbox {
268
337
  const errors = registration.errors.join(', ') || 'unknown error';
269
338
  throw new Error(`Failed to register MCP servers: ${errors}`);
270
339
  }
271
- const { catalog, patchSnippet, helpData } = await this.buildToolCatalogAndPatch(config);
340
+ const { catalog, patchSnippet, aliasSnippet, helpData } = await this.buildToolCatalogAndPatch(config);
272
341
  this.toolCatalog = catalog;
273
- this.interfacePatchSnippet = patchSnippet;
274
342
  this.helpData = helpData;
275
- this.helpSnippet = buildHelpSnippet(helpData);
343
+ // Pre-build the preamble once — each executeCode() call creates a fresh
344
+ // V8 isolate, so the preamble must be prepended every time, but the
345
+ // string itself never changes after initialization.
346
+ let preamble = '';
347
+ if (patchSnippet)
348
+ preamble += patchSnippet + '\n';
349
+ if (aliasSnippet)
350
+ preamble += aliasSnippet + '\n';
351
+ const helpSnippet = buildHelpSnippet(helpData);
352
+ if (helpSnippet)
353
+ preamble += helpSnippet + '\n';
354
+ this.preamble = preamble;
276
355
  }
277
356
  /**
278
- * Builds the tool catalog, the __getToolInterface patch, and help data in one pass.
357
+ * Builds the tool catalog, the __getToolInterface patch, namespace alias
358
+ * snippet, and help data in one pass.
279
359
  *
280
- * The catalog is a compact one-line-per-tool listing using callable names.
281
- * The patch snippet maps callable names back to raw UTCP names so that
282
- * __getToolInterface works with either naming convention.
360
+ * The catalog is a compact one-line-per-tool listing using new callable names.
361
+ * The patch snippet maps both new and old callable names back to raw UTCP
362
+ * names so that __getToolInterface works with any naming convention.
363
+ * The alias snippet creates server-namespace globals so the new names work.
283
364
  * The help data groups tools by server for progressive disclosure.
284
365
  */
285
366
  async buildToolCatalogAndPatch(config) {
@@ -287,22 +368,36 @@ export class Sandbox {
287
368
  throw new Error('Sandbox not initialized');
288
369
  const emptyHelp = { serverDescriptions: {}, toolsByServer: {} };
289
370
  const tools = await this.client.getTools();
290
- if (tools.length === 0)
291
- return { catalog: 'No tools available', patchSnippet: '', helpData: emptyHelp };
371
+ if (tools.length === 0) {
372
+ return { catalog: 'No tools available', patchSnippet: '', aliasSnippet: '', helpData: emptyHelp };
373
+ }
292
374
  const callableToRaw = {};
293
375
  const catalogLines = [];
294
376
  const toolsByServer = {};
295
377
  const serverDescriptions = {};
378
+ const namespaceAliases = [];
296
379
  for (const t of tools) {
380
+ // Split once; derive all name variants from the same segments.
381
+ const segments = t.name.split('.');
297
382
  const callableName = toCallableName(t.name);
383
+ const utcpCallable = segments.length > 1 ? flattenDotted(segments) : sanitize(t.name);
298
384
  const params = extractRequiredParams(t.inputs);
299
385
  catalogLines.push(`- \`${callableName}(${params})\` — ${t.description}`);
300
- // Only add mapping when the names actually differ
386
+ // Map new callable name raw UTCP name
301
387
  if (callableName !== t.name) {
302
388
  callableToRaw[callableName] = t.name;
303
389
  }
390
+ // Map old UTCP callable name → raw UTCP name (backward compat)
391
+ if (utcpCallable !== t.name && utcpCallable !== callableName) {
392
+ callableToRaw[utcpCallable] = t.name;
393
+ }
394
+ // Build namespace alias: new callable → UTCP property on global.tools
395
+ // The utcpCallable is "tools.<prop>", extract the property part after the dot
396
+ if (segments.length > 1) {
397
+ const utcpProp = utcpCallable.slice(utcpCallable.indexOf('.') + 1);
398
+ namespaceAliases.push({ newCallable: callableName, utcpProp });
399
+ }
304
400
  // Extract server name from the UTCP name: tools.<server>.<tool>
305
- const segments = t.name.split('.');
306
401
  const serverName = segments.length >= 2 ? segments[1] : segments[0];
307
402
  if (!(serverName in toolsByServer)) {
308
403
  toolsByServer[serverName] = [];
@@ -312,8 +407,9 @@ export class Sandbox {
312
407
  toolsByServer[serverName].push({ callableName, params });
313
408
  }
314
409
  const patchSnippet = Object.keys(callableToRaw).length > 0 ? buildInterfacePatchSnippet(callableToRaw) : '';
410
+ const aliasSnippet = namespaceAliases.length > 0 ? buildNamespaceAliasSnippet(namespaceAliases) : '';
315
411
  const helpData = { serverDescriptions, toolsByServer };
316
- return { catalog: catalogLines.join('\n'), patchSnippet, helpData };
412
+ return { catalog: catalogLines.join('\n'), patchSnippet, aliasSnippet, helpData };
317
413
  }
318
414
  getToolInterfaces() {
319
415
  return this.toolCatalog;
@@ -324,14 +420,9 @@ export class Sandbox {
324
420
  async executeCode(code, timeoutMs = 300000) {
325
421
  if (!this.client)
326
422
  throw new Error('Sandbox not initialized');
327
- // Prepend the interface patch and help snippet. Each callToolChain
328
- // invocation creates a fresh V8 isolate, so both must be re-applied.
329
- let preamble = '';
330
- if (this.interfacePatchSnippet)
331
- preamble += this.interfacePatchSnippet + '\n';
332
- if (this.helpSnippet)
333
- preamble += this.helpSnippet + '\n';
334
- const patchedCode = preamble ? `${preamble}${code}` : code;
423
+ // Prepend the pre-built preamble (interface patch + namespace aliases +
424
+ // help snippet). Each callToolChain creates a fresh V8 isolate.
425
+ const patchedCode = this.preamble ? `${this.preamble}${code}` : code;
335
426
  // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment -- callToolChain returns { result: any }
336
427
  const { result, logs } = await this.client.callToolChain(patchedCode, timeoutMs);
337
428
  return { result, logs };
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/sandbox/index.ts"],"names":[],"mappings":"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"}
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,0DAA0D;AAC1D,MAAM,QAAQ,GAAG,CAAC,CAAS,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,gBAAgB,EAAE,GAAG,CAAC,CAAC,OAAO,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;AAE1F,iEAAiE;AACjE,SAAS,aAAa,CAAC,QAAkB;IACvC,MAAM,CAAC,MAAM,EAAE,GAAG,KAAK,CAAC,GAAG,QAAQ,CAAC;IACpC,OAAO,GAAG,QAAQ,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;AAChE,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,cAAc,CAAC,QAAgB;IAC7C,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,GAAG,CAAC;QAAE,OAAO,QAAQ,CAAC,QAAQ,CAAC,CAAC;IACvD,OAAO,aAAa,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC;AAC5C,CAAC;AAED;;;;;;;;;;;;;;GAcG;AACH,MAAM,UAAU,cAAc,CAAC,QAAgB;IAC7C,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,GAAG,CAAC;QAAE,OAAO,QAAQ,CAAC,QAAQ,CAAC,CAAC;IACvD,MAAM,QAAQ,GAAG,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IAErC,uDAAuD;IACvD,IAAI,QAAQ,CAAC,MAAM,IAAI,CAAC;QAAE,OAAO,aAAa,CAAC,QAAQ,CAAC,CAAC;IAEzD,sDAAsD;IACtD,MAAM,MAAM,GAAG,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;IACrC,MAAM,SAAS,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;IAClD,MAAM,IAAI,GAAG,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAEjC,qEAAqE;IACrE,MAAM,MAAM,GAAG,MAAM,GAAG,GAAG,CAAC;IAC5B,MAAM,YAAY,GAAG,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IAEhF,OAAO,GAAG,MAAM,IAAI,YAAY,EAAE,CAAC;AACrC,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,6DAA6D;AAC7D,MAAM,mBAAmB,GAAG,IAAI,GAAG,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,QAAQ,EAAE,WAAW,EAAE,KAAK,EAAE,UAAU,CAAC,CAAC,CAAC;AAE5G;;;;;;GAMG;AACH,SAAS,0BAA0B,CAAC,OAAyD;IAC3F,qBAAqB;IACrB,MAAM,IAAI,GAA8D,EAAE,CAAC;IAC3E,KAAK,MAAM,EAAE,WAAW,EAAE,QAAQ,EAAE,IAAI,OAAO,EAAE,CAAC;QAChD,MAAM,MAAM,GAAG,WAAW,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QACxC,IAAI,MAAM,KAAK,CAAC,CAAC;YAAE,SAAS;QAC5B,MAAM,EAAE,GAAG,WAAW,CAAC,KAAK,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC;QACxC,IAAI,mBAAmB,CAAC,GAAG,CAAC,EAAE,CAAC;YAAE,SAAS;QAC1C,MAAM,IAAI,GAAG,WAAW,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QAC3C,IAAI,CAAC,CAAC,EAAE,IAAI,IAAI,CAAC;YAAE,IAAI,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC;QACjC,IAAI,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAC;IACpC,CAAC;IAED,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,EAAE,CAAC;IAE9C,MAAM,KAAK,GAAa,CAAC,eAAe,CAAC,CAAC;IAC1C,KAAK,MAAM,CAAC,EAAE,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;QAC/C,KAAK,CAAC,IAAI,CAAC,aAAa,EAAE,UAAU,CAAC,CAAC;QACtC,KAAK,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,KAAK,EAAE,CAAC;YACvC,KAAK,CAAC,IAAI,CAAC,aAAa,EAAE,OAAO,IAAI,yBAAyB,QAAQ,KAAK,CAAC,CAAC;QAC/E,CAAC;IACH,CAAC;IACD,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IACpB,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC1B,CAAC;AAED;;;;;;;;;;GAUG;AACH,SAAS,0BAA0B,CAAC,gBAAwC;IAC1E,MAAM,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,gBAAgB,CAAC,CAAC;IACjD,2DAA2D;IAC3D,0EAA0E;IAC1E,qEAAqE;IACrE,4CAA4C;IAC5C,OAAO;;6BAEoB,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA0CjC,CAAC;AACJ,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,UAAU,gBAAgB,CAAC,QAAkB;IACjD,MAAM,gBAAgB,GAAG,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,kBAAkB,CAAC,CAAC;IACrE,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC;IAEzD,OAAO;;2BAEkB,gBAAgB;6BACd,SAAS;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BnC,CAAC;AACJ,CAAC;AAED,MAAM,OAAO,OAAO;IACV,MAAM,GAA8B,IAAI,CAAC;IACzC,WAAW,GAAW,EAAE,CAAC;IACzB,QAAQ,GAAW,EAAE,CAAC;IACtB,QAAQ,GAAa,EAAE,kBAAkB,EAAE,EAAE,EAAE,aAAa,EAAE,EAAE,EAAE,CAAC;IAE3E,KAAK,CAAC,UAAU,CAAC,MAAyB;QACxC,+EAA+E;QAC/E,oBAAoB,CAAC,MAAM,CAAC,wBAAwB,CAAC,CAAC;QAEtD,IAAI,CAAC,MAAM,GAAG,MAAM,kBAAkB,CAAC,MAAM,EAAE,CAAC;QAEhD,6DAA6D;QAC7D,mEAAmE;QACnE,+DAA+D;QAC/D,MAAM,QAAQ,GAA2B;YACvC,cAAc,EAAE,MAAM,CAAC,YAAY;YACnC,kBAAkB,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,UAAU,CAAC;YACrD,aAAa,EAAE,MAAM,CAAC,YAAY;YAClC,oBAAoB,EAAE,MAAM,CAAC,kBAAkB,IAAI,MAAM,CAAC,YAAY;YACtE,oEAAoE;YACpE,mDAAmD;YACnD,iBAAiB,EAAE,MAAM,CAAC,gBAAgB;YAC1C,eAAe,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,cAAc,CAAC;YACtD,iBAAiB,EAAE,MAAM,CAAC,gBAAgB;YAC1C,uBAAuB;SACxB,CAAC;QAEF,8DAA8D;QAC9D,+EAA+E;QAC/E,IAAI,MAAM,CAAC,aAAa,EAAE,CAAC;YACzB,QAAQ,CAAC,cAAc,GAAG,MAAM,CAAC,aAAa,CAAC;QACjD,CAAC;QAED,2EAA2E;QAC3E,IAAI,MAAM,CAAC,cAAc,EAAE,CAAC;YAC1B,QAAQ,CAAC,gBAAgB,GAAG,MAAM,CAAC,cAAc,CAAC;QACpD,CAAC;QAED,mFAAmF;QACnF,uEAAuE;QACvE,QAAQ,CAAC,0BAA0B,GAAG,MAAM,CAAC,MAAM,CAAC,wBAAwB,CAAC,CAAC;QAC9E,MAAM,cAAc,GAAG,MAAM,CAAC,wBAAwB,CAAC;QAEvD,wDAAwD;QACxD,QAAQ,CAAC,cAAc,GAAG,MAAM,CAAC,aAAa,IAAI,MAAM,CAAC;QAEzD,mDAAmD;QACnD,IAAI,MAAM,CAAC,UAAU,CAAC,cAAc,CAAC,OAAO,EAAE,CAAC;YAC7C,QAAQ,CAAC,eAAe,GAAG,MAAM,CAAC;QACpC,CAAC;QAED,sDAAsD;QACtD,gEAAgE;QAChE,MAAM,WAAW,GAAG,MAAM,CAAC,UAAU,CAAC,WAAW,CAAC;QAClD,IAAI,WAAW,CAAC,OAAO,EAAE,CAAC;YACxB,QAAQ,CAAC,oBAAoB,GAAG,MAAM,CAAC;YACvC,QAAQ,CAAC,qBAAqB,GAAG,WAAW,CAAC,OAAO,CAAC;YACrD,MAAM,EAAE,QAAQ,EAAE,GAAG,YAAY,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;YACvD,QAAQ,CAAC,oBAAoB,GAAG,wBAAwB,CAAC,QAAQ,EAAE,MAAM,CAAC,UAAU,CAAC,CAAC;YACtF,IAAI,MAAM,CAAC,qBAAqB,EAAE,CAAC;gBACjC,QAAQ,CAAC,yBAAyB,GAAG,MAAM,CAAC,qBAAqB,CAAC;YACpE,CAAC;QACH,CAAC;QAED,iFAAiF;QACjF,IAAI,MAAM,CAAC,YAAY,EAAE,CAAC;YACxB,QAAQ,CAAC,uBAAuB,GAAG,GAAG,CAAC;QACzC,CAAC;QAED,oEAAoE;QACpE,uCAAuC;QACvC,yEAAyE;QACzE,MAAM,UAAU,GASZ,EAAE,CAAC;QACP,KAAK,MAAM,UAAU,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,EAAE,CAAC;YACxD,qEAAqE;YACrE,MAAM,WAAW,GAAG,MAAM,CAAC,UAAU,CAAC,iBAAiB,CAAC,UAAU,CAAuC,CAAC;YAC1G,UAAU,CAAC,UAAU,CAAC,GAAG;gBACvB,SAAS,EAAE,OAAO;gBAClB,OAAO,EAAE,aAAa;gBACtB,IAAI,EAAE,CAAC,GAAG,UAAU,CAAC;gBACrB,GAAG,EAAE;oBACH,GAAG,QAAQ;oBACX,aAAa,EAAE,UAAU;oBACzB,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,kBAAkB,EAAE,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;iBAC5E;gBACD,OAAO,EAAE,cAAc;aACxB,CAAC;QACJ,CAAC;QAED,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,cAAc,CAAC;YACpD,IAAI,EAAE,OAAO;YACb,kBAAkB,EAAE,KAAK;YACzB,MAAM,EAAE,EAAE,UAAU,EAAE;SACvB,CAAC,CAAC;QAEH,IAAI,CAAC,YAAY,CAAC,OAAO,EAAE,CAAC;YAC1B,MAAM,MAAM,GAAG,YAAY,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,eAAe,CAAC;YACjE,MAAM,IAAI,KAAK,CAAC,mCAAmC,MAAM,EAAE,CAAC,CAAC;QAC/D,CAAC;QAED,MAAM,EAAE,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,QAAQ,EAAE,GAAG,MAAM,IAAI,CAAC,wBAAwB,CAAC,MAAM,CAAC,CAAC;QACtG,IAAI,CAAC,WAAW,GAAG,OAAO,CAAC;QAC3B,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;QAEzB,wEAAwE;QACxE,oEAAoE;QACpE,oDAAoD;QACpD,IAAI,QAAQ,GAAG,EAAE,CAAC;QAClB,IAAI,YAAY;YAAE,QAAQ,IAAI,YAAY,GAAG,IAAI,CAAC;QAClD,IAAI,YAAY;YAAE,QAAQ,IAAI,YAAY,GAAG,IAAI,CAAC;QAClD,MAAM,WAAW,GAAG,gBAAgB,CAAC,QAAQ,CAAC,CAAC;QAC/C,IAAI,WAAW;YAAE,QAAQ,IAAI,WAAW,GAAG,IAAI,CAAC;QAChD,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;IAC3B,CAAC;IAED;;;;;;;;;OASG;IACK,KAAK,CAAC,wBAAwB,CACpC,MAAyB;QAEzB,IAAI,CAAC,IAAI,CAAC,MAAM;YAAE,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC;QAC7D,MAAM,SAAS,GAAa,EAAE,kBAAkB,EAAE,EAAE,EAAE,aAAa,EAAE,EAAE,EAAE,CAAC;QAE1E,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC;QAC3C,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACvB,OAAO,EAAE,OAAO,EAAE,oBAAoB,EAAE,YAAY,EAAE,EAAE,EAAE,YAAY,EAAE,EAAE,EAAE,QAAQ,EAAE,SAAS,EAAE,CAAC;QACpG,CAAC;QAED,MAAM,aAAa,GAA2B,EAAE,CAAC;QACjD,MAAM,YAAY,GAAa,EAAE,CAAC;QAClC,MAAM,aAAa,GAAoC,EAAE,CAAC;QAC1D,MAAM,kBAAkB,GAA2B,EAAE,CAAC;QACtD,MAAM,gBAAgB,GAAqD,EAAE,CAAC;QAE9E,KAAK,MAAM,CAAC,IAAI,KAAK,EAAE,CAAC;YACtB,+DAA+D;YAC/D,MAAM,QAAQ,GAAG,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YACnC,MAAM,YAAY,GAAG,cAAc,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;YAC5C,MAAM,YAAY,GAAG,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;YACtF,MAAM,MAAM,GAAG,qBAAqB,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;YAC/C,YAAY,CAAC,IAAI,CAAC,OAAO,YAAY,IAAI,MAAM,SAAS,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC;YAEzE,wCAAwC;YACxC,IAAI,YAAY,KAAK,CAAC,CAAC,IAAI,EAAE,CAAC;gBAC5B,aAAa,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC;YACvC,CAAC;YACD,+DAA+D;YAC/D,IAAI,YAAY,KAAK,CAAC,CAAC,IAAI,IAAI,YAAY,KAAK,YAAY,EAAE,CAAC;gBAC7D,aAAa,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC;YACvC,CAAC;YAED,sEAAsE;YACtE,8EAA8E;YAC9E,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACxB,MAAM,QAAQ,GAAG,YAAY,CAAC,KAAK,CAAC,YAAY,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;gBACnE,gBAAgB,CAAC,IAAI,CAAC,EAAE,WAAW,EAAE,YAAY,EAAE,QAAQ,EAAE,CAAC,CAAC;YACjE,CAAC;YAED,gEAAgE;YAChE,MAAM,UAAU,GAAG,QAAQ,CAAC,MAAM,IAAI,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;YACpE,IAAI,CAAC,CAAC,UAAU,IAAI,aAAa,CAAC,EAAE,CAAC;gBACnC,aAAa,CAAC,UAAU,CAAC,GAAG,EAAE,CAAC;gBAC/B,8HAA8H;gBAC9H,kBAAkB,CAAC,UAAU,CAAC,GAAG,MAAM,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,WAAW,IAAI,UAAU,CAAC;YAC5F,CAAC;YACD,aAAa,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,EAAE,YAAY,EAAE,MAAM,EAAE,CAAC,CAAC;QAC3D,CAAC;QAED,MAAM,YAAY,GAAG,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,0BAA0B,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QAC5G,MAAM,YAAY,GAAG,gBAAgB,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,0BAA0B,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QACrG,MAAM,QAAQ,GAAa,EAAE,kBAAkB,EAAE,aAAa,EAAE,CAAC;QAEjE,OAAO,EAAE,OAAO,EAAE,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,YAAY,EAAE,YAAY,EAAE,QAAQ,EAAE,CAAC;IACpF,CAAC;IAED,iBAAiB;QACf,OAAO,IAAI,CAAC,WAAW,CAAC;IAC1B,CAAC;IAED,WAAW;QACT,OAAO,IAAI,CAAC,QAAQ,CAAC;IACvB,CAAC;IAED,KAAK,CAAC,WAAW,CAAC,IAAY,EAAE,SAAS,GAAG,MAAM;QAChD,IAAI,CAAC,IAAI,CAAC,MAAM;YAAE,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC;QAE7D,wEAAwE;QACxE,gEAAgE;QAChE,MAAM,WAAW,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,QAAQ,GAAG,IAAI,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;QAErE,4GAA4G;QAC5G,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,WAAW,EAAE,SAAS,CAAC,CAAC;QACjF,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC;IAC1B,CAAC;IAED,KAAK,CAAC,QAAQ;QACZ,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;YAChB,MAAM,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;YAC1B,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;QACrB,CAAC;IACH,CAAC;CACF"}
@@ -14,6 +14,7 @@ export declare class AgentSession implements Session {
14
14
  private readonly createdAt;
15
15
  private readonly sandboxFactory;
16
16
  private readonly escalationDir;
17
+ private readonly sessionDir;
17
18
  /** Raw AI SDK message history. */
18
19
  private messages;
19
20
  /** Structured turn log exposed through getHistory(). */
@@ -49,7 +50,7 @@ export declare class AgentSession implements Session {
49
50
  private readonly onDiagnostic?;
50
51
  /** Additional content appended to the system prompt (e.g., cron task context). */
51
52
  private readonly systemPromptAugmentation?;
52
- constructor(config: IronCurtainConfig, sessionId: SessionId, escalationDir: string, options?: SessionOptions);
53
+ constructor(config: IronCurtainConfig, sessionId: SessionId, escalationDir: string, sessionDir: string, options?: SessionOptions);
53
54
  /**
54
55
  * Initialize the session's sandbox and build the tool set.
55
56
  * Called by the factory function, not by external callers.
@@ -35,6 +35,7 @@ export class AgentSession {
35
35
  createdAt;
36
36
  sandboxFactory;
37
37
  escalationDir;
38
+ sessionDir;
38
39
  /** Raw AI SDK message history. */
39
40
  messages = [];
40
41
  /** Structured turn log exposed through getHistory(). */
@@ -70,10 +71,11 @@ export class AgentSession {
70
71
  onDiagnostic;
71
72
  /** Additional content appended to the system prompt (e.g., cron task context). */
72
73
  systemPromptAugmentation;
73
- constructor(config, sessionId, escalationDir, options = {}) {
74
+ constructor(config, sessionId, escalationDir, sessionDir, options = {}) {
74
75
  this.sessionId = sessionId;
75
76
  this.config = config;
76
77
  this.escalationDir = escalationDir;
78
+ this.sessionDir = sessionDir;
77
79
  this.sandboxFactory = options.sandboxFactory ?? defaultSandboxFactory;
78
80
  this.onEscalation = options.onEscalation;
79
81
  this.onEscalationExpired = options.onEscalationExpired;
@@ -100,6 +102,7 @@ export class AgentSession {
100
102
  if (this.systemPromptAugmentation) {
101
103
  rawPrompt += '\n\n' + this.systemPromptAugmentation;
102
104
  }
105
+ writeFileSync(resolve(this.sessionDir, 'system-prompt.txt'), rawPrompt);
103
106
  this.systemPrompt = this.cacheStrategy.wrapSystemPrompt(rawPrompt);
104
107
  this.tools = this.cacheStrategy.wrapTools(this.buildTools());
105
108
  this.model = await this.buildModel();
@@ -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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"}
@@ -5,7 +5,8 @@
5
5
  * The concrete implementations (AgentSession, DockerAgentSession)
6
6
  * are not exported -- callers depend on the Session interface only.
7
7
  */
8
- import type { Session, SessionOptions } from './types.js';
8
+ import type { IronCurtainConfig } from '../config/types.js';
9
+ import type { Session, SessionId, SessionOptions } from './types.js';
9
10
  /**
10
11
  * Creates and initializes a new session.
11
12
  *
@@ -21,6 +22,29 @@ import type { Session, SessionOptions } from './types.js';
21
22
  * sandbox or MCP connection setup fails.
22
23
  */
23
24
  export declare function createSession(options?: SessionOptions): Promise<Session>;
25
+ /** Paths and patched config produced by buildSessionConfig. */
26
+ export interface SessionDirConfig {
27
+ config: IronCurtainConfig;
28
+ sessionDir: string;
29
+ sandboxDir: string;
30
+ escalationDir: string;
31
+ auditLogPath: string;
32
+ /** Resolved system prompt augmentation (may include persona augmentation). */
33
+ systemPromptAugmentation?: string;
34
+ }
35
+ /**
36
+ * Shared session directory setup and config patching used by both session modes.
37
+ *
38
+ * When workspacePath is provided, it replaces the session sandbox as the
39
+ * agent's working directory. The workspace already exists so we skip
40
+ * creating it, but all other session infrastructure (logs, escalations)
41
+ * still lives under the session directory.
42
+ *
43
+ * When persona is set, resolves the persona to a policyDir, workspace,
44
+ * server allowlist, and system prompt augmentation. Persona takes
45
+ * precedence over explicit policyDir if both are provided.
46
+ */
47
+ export declare function buildSessionConfig(config: IronCurtainConfig, effectiveSessionId: string, sessionId: SessionId, opts?: Pick<SessionOptions, 'resumeSessionId' | 'workspacePath' | 'policyDir' | 'disableAutoApprove' | 'persona' | 'systemPromptAugmentation' | 'jobId'>): SessionDirConfig;
24
48
  /**
25
49
  * Patches the filesystem MCP server's allowed directory argument
26
50
  * to use the session-specific sandbox directory, mirroring the
@@ -5,14 +5,17 @@
5
5
  * The concrete implementations (AgentSession, DockerAgentSession)
6
6
  * are not exported -- callers depend on the Session interface only.
7
7
  */
8
- import { existsSync, mkdirSync } from 'node:fs';
9
- import { resolve } from 'node:path';
8
+ import { existsSync, mkdirSync, writeFileSync, unlinkSync } from 'node:fs';
9
+ import { dirname, resolve } from 'node:path';
10
10
  import { loadConfig } from '../config/index.js';
11
11
  import { getIronCurtainHome, getPackageConfigDir, getSessionDir, getSessionSandboxDir, getSessionEscalationDir, getSessionAuditLogPath, getSessionLogPath, getSessionLlmLogPath, getSessionAutoApproveLlmLogPath, } from '../config/paths.js';
12
12
  import * as logger from '../logger.js';
13
13
  import { resolveRealPath } from '../types/argument-roles.js';
14
14
  import { resolvePersona, applyServerAllowlist } from '../persona/resolve.js';
15
15
  import { buildPersonaSystemPromptAugmentation } from '../persona/persona-prompt.js';
16
+ import { resolveMemoryDbPath } from '../memory/resolve-memory-path.js';
17
+ import { buildMemoryServerConfig, MEMORY_SERVER_NAME } from '../memory/memory-annotations.js';
18
+ import { buildMemorySystemPrompt, adaptMemoryToolNames } from '../memory/memory-prompt.js';
16
19
  import { AgentSession } from './agent-session.js';
17
20
  import { SessionError } from './errors.js';
18
21
  import { saveSessionMetadata, loadSessionMetadata } from './session-metadata.js';
@@ -84,7 +87,7 @@ async function createBuiltinSession(options) {
84
87
  const effectiveOptions = sessionConfig.systemPromptAugmentation
85
88
  ? { ...options, systemPromptAugmentation: sessionConfig.systemPromptAugmentation }
86
89
  : options;
87
- const session = new AgentSession(sessionConfig.config, sessionId, sessionConfig.escalationDir, effectiveOptions);
90
+ const session = new AgentSession(sessionConfig.config, sessionId, sessionConfig.escalationDir, sessionConfig.sessionDir, effectiveOptions);
88
91
  try {
89
92
  await session.initialize();
90
93
  }
@@ -112,7 +115,29 @@ async function createDockerSession(agentId, options) {
112
115
  const sessionConfig = buildSessionConfig(config, effectiveSessionId, sessionId, options);
113
116
  const { prepareDockerInfrastructure } = await import('../docker/docker-infrastructure.js');
114
117
  const { DockerAgentSession } = await import('../docker/docker-agent-session.js');
118
+ const { buildDockerClaudeMd } = await import('../docker/claude-md-seed.js');
119
+ const claudeMdContent = buildDockerClaudeMd({
120
+ personaName: options.persona,
121
+ memoryEnabled: config.userConfig.memory.enabled,
122
+ });
115
123
  const infra = await prepareDockerInfrastructure(sessionConfig.config, { kind: 'docker', agent: agentId }, sessionConfig.sessionDir, sessionConfig.sandboxDir, sessionConfig.escalationDir, sessionConfig.auditLogPath, sessionId);
124
+ // Write CLAUDE.md into conversation state dir (unconditionally, even on
125
+ // resume, since persona/memory config may change between sessions).
126
+ // Clean up stale CLAUDE.md when memory is disabled to avoid leftover rules.
127
+ if (infra.conversationStateDir) {
128
+ const claudeMdPath = resolve(infra.conversationStateDir, 'CLAUDE.md');
129
+ if (claudeMdContent) {
130
+ writeFileSync(claudeMdPath, claudeMdContent);
131
+ }
132
+ else {
133
+ try {
134
+ unlinkSync(claudeMdPath);
135
+ }
136
+ catch {
137
+ /* not present */
138
+ }
139
+ }
140
+ }
116
141
  const session = new DockerAgentSession({
117
142
  config: sessionConfig.config,
118
143
  sessionId,
@@ -182,7 +207,7 @@ function validatePolicyDir(policyDir) {
182
207
  * server allowlist, and system prompt augmentation. Persona takes
183
208
  * precedence over explicit policyDir if both are provided.
184
209
  */
185
- function buildSessionConfig(config, effectiveSessionId, sessionId, opts = {}) {
210
+ export function buildSessionConfig(config, effectiveSessionId, sessionId, opts = {}) {
186
211
  let { workspacePath, policyDir, systemPromptAugmentation } = opts;
187
212
  const { resumeSessionId, disableAutoApprove } = opts;
188
213
  let serverAllowlist;
@@ -199,10 +224,9 @@ function buildSessionConfig(config, effectiveSessionId, sessionId, opts = {}) {
199
224
  if (!workspacePath) {
200
225
  workspacePath = resolved.workspacePath;
201
226
  }
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'));
227
+ // Build persona system prompt augmentation (includes MCP memory prompt when enabled).
228
+ const memoryEnabled = config.userConfig.memory.enabled;
229
+ const personaAugmentation = buildPersonaSystemPromptAugmentation(resolved.persona, memoryEnabled);
206
230
  systemPromptAugmentation = systemPromptAugmentation
207
231
  ? `${personaAugmentation}\n\n${systemPromptAugmentation}`
208
232
  : personaAugmentation;
@@ -265,6 +289,31 @@ function buildSessionConfig(config, effectiveSessionId, sessionId, opts = {}) {
265
289
  if (serverAllowlist) {
266
290
  sessionConfig.mcpServers = applyServerAllowlist(sessionConfig.mcpServers, serverAllowlist);
267
291
  }
292
+ // Inject the memory MCP server for persona and cron job sessions only.
293
+ // Default (ad-hoc) sessions are stateless and don't benefit from memory.
294
+ const memoryConfig = config.userConfig.memory;
295
+ if (memoryConfig.enabled && (opts.persona || opts.jobId)) {
296
+ const dbPath = resolveMemoryDbPath({
297
+ persona: opts.persona,
298
+ jobId: opts.jobId,
299
+ });
300
+ mkdirSync(dirname(dbPath), { recursive: true });
301
+ sessionConfig.mcpServers[MEMORY_SERVER_NAME] = buildMemoryServerConfig({
302
+ dbPath,
303
+ namespace: (opts.persona ?? opts.jobId),
304
+ llmBaseUrl: memoryConfig.llmBaseUrl,
305
+ llmApiKey: memoryConfig.llmApiKey,
306
+ anthropicApiKey: config.userConfig.anthropicApiKey,
307
+ });
308
+ // For non-persona cron jobs, inject memory usage instructions since
309
+ // persona sessions get this via buildPersonaSystemPromptAugmentation.
310
+ if (!opts.persona) {
311
+ const memoryPrompt = adaptMemoryToolNames(buildMemorySystemPrompt());
312
+ systemPromptAugmentation = systemPromptAugmentation
313
+ ? `${memoryPrompt}\n\n${systemPromptAugmentation}`
314
+ : memoryPrompt;
315
+ }
316
+ }
268
317
  // Patch MCP server args to use the session-specific sandbox directory
269
318
  patchMcpServerAllowedDirectory(sessionConfig, sandboxDir);
270
319
  // Persist session settings so --resume can restore them.