@jungjaehoon/mama-os 0.27.0 → 0.27.2

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 (70) hide show
  1. package/CHANGELOG.md +28 -0
  2. package/dist/agent/agent-loop.d.ts.map +1 -1
  3. package/dist/agent/agent-loop.js +86 -9
  4. package/dist/agent/agent-loop.js.map +1 -1
  5. package/dist/agent/code-act/host-bridge.d.ts.map +1 -1
  6. package/dist/agent/code-act/host-bridge.js +23 -3
  7. package/dist/agent/code-act/host-bridge.js.map +1 -1
  8. package/dist/agent/code-act/index.d.ts +2 -2
  9. package/dist/agent/code-act/index.d.ts.map +1 -1
  10. package/dist/agent/code-act/index.js +3 -1
  11. package/dist/agent/code-act/index.js.map +1 -1
  12. package/dist/agent/code-act/sandbox.d.ts +6 -2
  13. package/dist/agent/code-act/sandbox.d.ts.map +1 -1
  14. package/dist/agent/code-act/sandbox.js +275 -34
  15. package/dist/agent/code-act/sandbox.js.map +1 -1
  16. package/dist/agent/code-act/types.d.ts +20 -0
  17. package/dist/agent/code-act/types.d.ts.map +1 -1
  18. package/dist/agent/code-act/types.js +6 -2
  19. package/dist/agent/code-act/types.js.map +1 -1
  20. package/dist/agent/codex-app-server-process.d.ts +3 -1
  21. package/dist/agent/codex-app-server-process.d.ts.map +1 -1
  22. package/dist/agent/codex-app-server-process.js +29 -7
  23. package/dist/agent/codex-app-server-process.js.map +1 -1
  24. package/dist/agent/drive-tools.d.ts +4 -2
  25. package/dist/agent/drive-tools.d.ts.map +1 -1
  26. package/dist/agent/drive-tools.js +14 -5
  27. package/dist/agent/drive-tools.js.map +1 -1
  28. package/dist/agent/gateway-tool-executor.d.ts.map +1 -1
  29. package/dist/agent/gateway-tool-executor.js +25 -6
  30. package/dist/agent/gateway-tool-executor.js.map +1 -1
  31. package/dist/agent/model-runner.d.ts +13 -0
  32. package/dist/agent/model-runner.d.ts.map +1 -1
  33. package/dist/agent/model-runner.js +17 -1
  34. package/dist/agent/model-runner.js.map +1 -1
  35. package/dist/agent/types.d.ts +1 -1
  36. package/dist/agent/types.d.ts.map +1 -1
  37. package/dist/agent/types.js.map +1 -1
  38. package/dist/api/graph-api-types.d.ts +3 -0
  39. package/dist/api/graph-api-types.d.ts.map +1 -1
  40. package/dist/cli/commands/start.d.ts +11 -1
  41. package/dist/cli/commands/start.d.ts.map +1 -1
  42. package/dist/cli/commands/start.js +16 -9
  43. package/dist/cli/commands/start.js.map +1 -1
  44. package/dist/mcp/code-act-api-client.d.ts +19 -0
  45. package/dist/mcp/code-act-api-client.d.ts.map +1 -0
  46. package/dist/mcp/code-act-api-client.js +80 -0
  47. package/dist/mcp/code-act-api-client.js.map +1 -0
  48. package/dist/mcp/code-act-server.js +18 -47
  49. package/dist/mcp/code-act-server.js.map +1 -1
  50. package/dist/mcp/code-act-terminal-transport.d.ts +35 -0
  51. package/dist/mcp/code-act-terminal-transport.d.ts.map +1 -0
  52. package/dist/mcp/code-act-terminal-transport.js +101 -0
  53. package/dist/mcp/code-act-terminal-transport.js.map +1 -0
  54. package/dist/multi-agent/runtime-process.d.ts +2 -1
  55. package/dist/multi-agent/runtime-process.d.ts.map +1 -1
  56. package/dist/multi-agent/runtime-process.js +11 -0
  57. package/dist/multi-agent/runtime-process.js.map +1 -1
  58. package/dist/operator/task-ledger.d.ts +2 -1
  59. package/dist/operator/task-ledger.d.ts.map +1 -1
  60. package/dist/operator/task-ledger.js +11 -2
  61. package/dist/operator/task-ledger.js.map +1 -1
  62. package/dist/operator/workorder-consumer.d.ts +2 -1
  63. package/dist/operator/workorder-consumer.d.ts.map +1 -1
  64. package/dist/operator/workorder-consumer.js +43 -16
  65. package/dist/operator/workorder-consumer.js.map +1 -1
  66. package/dist/tools/browser-tool.d.ts +4 -2
  67. package/dist/tools/browser-tool.d.ts.map +1 -1
  68. package/dist/tools/browser-tool.js +56 -18
  69. package/dist/tools/browser-tool.js.map +1 -1
  70. package/package.json +1 -1
@@ -3,13 +3,88 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.CodeActSandbox = void 0;
4
4
  const quickjs_emscripten_1 = require("quickjs-emscripten");
5
5
  const types_js_1 = require("./types.js");
6
- let _modulePromise = null;
7
- /** Singleton WASM module loader — called once at server start (uses default RELEASE_ASYNC variant) */
8
- async function getModule() {
9
- if (!_modulePromise) {
10
- _modulePromise = (0, quickjs_emscripten_1.newQuickJSAsyncWASMModule)();
6
+ const types_js_2 = require("./types.js");
7
+ const MAX_LIVE_SANDBOXES = 8;
8
+ let activeExecutions = 0;
9
+ const executionWaiters = [];
10
+ function releaseExecutionSlot() {
11
+ activeExecutions = Math.max(0, activeExecutions - 1);
12
+ drainExecutionWaiters();
13
+ }
14
+ function createExecutionRelease() {
15
+ let released = false;
16
+ return () => {
17
+ if (released)
18
+ return;
19
+ released = true;
20
+ releaseExecutionSlot();
21
+ };
22
+ }
23
+ function drainExecutionWaiters() {
24
+ while (executionWaiters.length > 0) {
25
+ const waiter = executionWaiters[0];
26
+ if (waiter.signal.aborted) {
27
+ executionWaiters.shift();
28
+ waiter.signal.removeEventListener('abort', waiter.onAbort);
29
+ waiter.reject(waiter.signal.reason);
30
+ continue;
31
+ }
32
+ if (activeExecutions >= waiter.limit)
33
+ return;
34
+ executionWaiters.shift();
35
+ waiter.signal.removeEventListener('abort', waiter.onAbort);
36
+ activeExecutions++;
37
+ waiter.resolve(createExecutionRelease());
11
38
  }
12
- return _modulePromise;
39
+ }
40
+ function acquireExecutionSlot(requestedLimit, signal) {
41
+ const normalizedLimit = Number.isFinite(requestedLimit)
42
+ ? Math.floor(requestedLimit)
43
+ : types_js_1.DEFAULT_SANDBOX_CONFIG.maxConcurrentExecutions;
44
+ const limit = Math.max(1, Math.min(MAX_LIVE_SANDBOXES, normalizedLimit));
45
+ if (signal.aborted)
46
+ return Promise.reject(signal.reason);
47
+ if (executionWaiters.length === 0 && activeExecutions < limit) {
48
+ activeExecutions++;
49
+ return Promise.resolve(createExecutionRelease());
50
+ }
51
+ return new Promise((resolve, reject) => {
52
+ const waiter = {
53
+ limit,
54
+ signal,
55
+ resolve,
56
+ reject,
57
+ onAbort: () => {
58
+ const index = executionWaiters.indexOf(waiter);
59
+ if (index >= 0)
60
+ executionWaiters.splice(index, 1);
61
+ signal.removeEventListener('abort', waiter.onAbort);
62
+ reject(signal.reason);
63
+ drainExecutionWaiters();
64
+ },
65
+ };
66
+ executionWaiters.push(waiter);
67
+ signal.addEventListener('abort', waiter.onAbort, { once: true });
68
+ });
69
+ }
70
+ class CodeActTerminalMutationError extends Error {
71
+ code;
72
+ retryable = false;
73
+ constructor(code, message) {
74
+ super(`[${code}] ${message}`);
75
+ this.code = code;
76
+ this.name = 'CodeActTerminalMutationError';
77
+ }
78
+ }
79
+ /**
80
+ * Create an isolated async QuickJS module for each execution.
81
+ *
82
+ * quickjs-emscripten's async module cannot safely dispose concurrent runtimes that share one
83
+ * module. Keeping executions independent also prevents one stalled host function from owning a
84
+ * process-global execution lock.
85
+ */
86
+ async function getModule() {
87
+ return (0, quickjs_emscripten_1.newQuickJSAsyncWASMModule)();
13
88
  }
14
89
  /** Convert a JS value to a QuickJS handle using native API (no evalCode) */
15
90
  function jsonToHandle(ctx, value, visited = new Set()) {
@@ -61,7 +136,15 @@ class CodeActSandbox {
61
136
  }
62
137
  /** Register an async host function to be injected into sandbox */
63
138
  registerFunction(name, fn) {
64
- this.registeredFunctions.set(name, fn);
139
+ this.registeredFunctions.set(name, { abortable: false, fn, settleOnAbort: false });
140
+ }
141
+ /** Register a host function that can cancel its own work when the execution deadline fires. */
142
+ registerAbortableFunction(name, fn, options = {}) {
143
+ this.registeredFunctions.set(name, {
144
+ abortable: true,
145
+ fn,
146
+ settleOnAbort: options.settleOnAbort === true,
147
+ });
65
148
  }
66
149
  /** Unregister a host function */
67
150
  unregisterFunction(name) {
@@ -72,23 +155,52 @@ class CodeActSandbox {
72
155
  return Array.from(this.registeredFunctions.keys());
73
156
  }
74
157
  /** Execute JS code in a sandboxed QuickJS context */
75
- async execute(code) {
158
+ async execute(code, options = {}) {
76
159
  const startTime = performance.now();
77
160
  const logs = [];
78
161
  const inFlightCount = { value: 0 };
79
162
  const totalCallCount = { value: 0 };
80
- const module = await getModule();
81
- const rt = module.newRuntime();
82
- rt.setMemoryLimit(this.config.memoryLimitBytes);
83
- rt.setMaxStackSize(this.config.maxStackSizeBytes);
84
- rt.setInterruptHandler((0, quickjs_emscripten_1.shouldInterruptAfterDeadline)(Date.now() + this.config.timeoutMs));
85
- const ctx = rt.newContext();
163
+ const mutationSettlementDrains = new Set();
164
+ const terminalMutation = { error: undefined };
165
+ const deadlineMs = Date.now() + this.config.timeoutMs;
166
+ const controller = new AbortController();
167
+ const onParentAbort = () => controller.abort(options.signal?.reason);
168
+ if (options.signal?.aborted) {
169
+ onParentAbort();
170
+ }
171
+ else {
172
+ options.signal?.addEventListener('abort', onParentAbort, { once: true });
173
+ }
174
+ const deadlineTimer = setTimeout(() => {
175
+ if (!controller.signal.aborted) {
176
+ controller.abort(new Error(`Code-Act execution timed out after ${this.config.timeoutMs}ms`));
177
+ }
178
+ }, this.config.timeoutMs);
179
+ let releaseSlot;
180
+ let rt;
181
+ let ctx;
182
+ let executionResult;
183
+ const complete = (result) => {
184
+ executionResult = result;
185
+ return result;
186
+ };
86
187
  try {
188
+ releaseSlot = await acquireExecutionSlot(this.config.maxConcurrentExecutions, controller.signal);
189
+ controller.signal.throwIfAborted();
190
+ const module = await getModule();
191
+ controller.signal.throwIfAborted();
192
+ rt = module.newRuntime();
193
+ rt.setMemoryLimit(this.config.memoryLimitBytes);
194
+ rt.setMaxStackSize(this.config.maxStackSizeBytes);
195
+ rt.setInterruptHandler((0, quickjs_emscripten_1.shouldInterruptAfterDeadline)(deadlineMs));
196
+ ctx = rt.newContext();
87
197
  // Inject console.log
88
198
  this._injectConsole(ctx, logs);
89
199
  // Inject registered host functions
90
- for (const [name, fn] of this.registeredFunctions) {
91
- this._injectAsyncFunction(ctx, name, fn, inFlightCount, totalCallCount, this.config.maxConcurrentCalls);
200
+ for (const [name, registered] of this.registeredFunctions) {
201
+ this._injectAsyncFunction(ctx, name, registered, inFlightCount, totalCallCount, this.config.maxConcurrentCalls, { signal: controller.signal, deadlineMs }, mutationSettlementDrains, (error) => {
202
+ terminalMutation.error ??= error;
203
+ });
92
204
  }
93
205
  // Execute code
94
206
  const result = await ctx.evalCodeAsync(code, 'code-act.js');
@@ -96,15 +208,34 @@ class CodeActSandbox {
96
208
  const memUsage = ctx.dump(rt.computeMemoryUsage());
97
209
  const memObj = memUsage;
98
210
  const memoryUsedBytes = memObj && typeof memObj.malloc_size === 'number' ? memObj.malloc_size : 0;
211
+ if (terminalMutation.error) {
212
+ try {
213
+ if (result.error) {
214
+ result.error.dispose();
215
+ }
216
+ else {
217
+ result.value.dispose();
218
+ }
219
+ }
220
+ catch {
221
+ /* async result handle managed internally */
222
+ }
223
+ return complete({
224
+ success: false,
225
+ error: this._normalizeError(terminalMutation.error),
226
+ logs,
227
+ metrics: { durationMs, hostCallCount: totalCallCount.value, memoryUsedBytes },
228
+ });
229
+ }
99
230
  if (result.error) {
100
231
  const err = ctx.dump(result.error);
101
232
  result.error.dispose();
102
- return {
233
+ return complete({
103
234
  success: false,
104
235
  error: this._normalizeError(err),
105
236
  logs,
106
237
  metrics: { durationMs, hostCallCount: totalCallCount.value, memoryUsedBytes },
107
- };
238
+ });
108
239
  }
109
240
  let value = ctx.dump(result.value);
110
241
  try {
@@ -119,42 +250,55 @@ class CodeActSandbox {
119
250
  value = value.value;
120
251
  }
121
252
  else if (value.type === 'rejected') {
122
- return {
253
+ return complete({
123
254
  success: false,
124
255
  error: this._normalizeError(value.value),
125
256
  logs,
126
257
  metrics: { durationMs, hostCallCount: totalCallCount.value, memoryUsedBytes },
127
- };
258
+ });
128
259
  }
129
260
  }
130
- return {
261
+ return complete({
131
262
  success: true,
132
263
  value,
133
264
  logs,
134
265
  metrics: { durationMs, hostCallCount: totalCallCount.value, memoryUsedBytes },
135
- };
266
+ });
136
267
  }
137
268
  catch (err) {
138
269
  const durationMs = performance.now() - startTime;
139
- return {
270
+ return complete({
140
271
  success: false,
141
- error: {
142
- name: err instanceof Error ? err.constructor.name : 'Error',
143
- message: err instanceof Error ? err.message : String(err),
144
- stack: err instanceof Error ? err.stack : undefined,
145
- },
272
+ error: this._normalizeError(terminalMutation.error ?? err),
146
273
  logs,
147
- metrics: { durationMs, hostCallCount: inFlightCount.value, memoryUsedBytes: 0 },
148
- };
274
+ metrics: { durationMs, hostCallCount: totalCallCount.value, memoryUsedBytes: 0 },
275
+ });
149
276
  }
150
277
  finally {
151
- ctx.dispose();
278
+ options.signal?.removeEventListener('abort', onParentAbort);
279
+ while (mutationSettlementDrains.size > 0) {
280
+ await Promise.all([...mutationSettlementDrains]);
281
+ }
282
+ if (terminalMutation.error && executionResult) {
283
+ executionResult.success = false;
284
+ delete executionResult.value;
285
+ executionResult.error = this._normalizeError(terminalMutation.error);
286
+ executionResult.metrics.durationMs = performance.now() - startTime;
287
+ }
288
+ clearTimeout(deadlineTimer);
289
+ try {
290
+ ctx?.dispose();
291
+ }
292
+ catch {
293
+ /* async result handle managed internally */
294
+ }
152
295
  try {
153
- rt.dispose();
296
+ rt?.dispose();
154
297
  }
155
298
  catch {
156
299
  /* HostRef cleanup — non-critical */
157
300
  }
301
+ releaseSlot?.();
158
302
  }
159
303
  }
160
304
  _injectConsole(ctx, logs) {
@@ -173,7 +317,7 @@ class CodeActSandbox {
173
317
  logFn.dispose();
174
318
  consoleObj.dispose();
175
319
  }
176
- _injectAsyncFunction(ctx, name, fn, inFlightCount, totalCallCount, maxConcurrentCalls) {
320
+ _injectAsyncFunction(ctx, name, registered, inFlightCount, totalCallCount, maxConcurrentCalls, hostContext, mutationSettlementDrains, onTerminalMutation) {
177
321
  const handle = ctx.newAsyncifiedFunction(name, async (...argHandles) => {
178
322
  totalCallCount.value++;
179
323
  if (totalCallCount.value > maxConcurrentCalls) {
@@ -183,7 +327,17 @@ class CodeActSandbox {
183
327
  inFlightCount.value++;
184
328
  const args = argHandles.map((h) => ctx.dump(h));
185
329
  try {
186
- const result = await fn(...args);
330
+ hostContext.signal.throwIfAborted();
331
+ const hostPromise = registered.abortable
332
+ ? registered.fn(hostContext, ...args)
333
+ : registered.fn(...args);
334
+ const hostResult = this._awaitHostResult(hostPromise, hostContext.signal, registered.settleOnAbort, this.config.mutationSettlementGraceMs, onTerminalMutation);
335
+ if (registered.settleOnAbort) {
336
+ const drain = hostResult.then(() => undefined, () => undefined);
337
+ mutationSettlementDrains.add(drain);
338
+ void drain.then(() => mutationSettlementDrains.delete(drain));
339
+ }
340
+ const result = await hostResult;
187
341
  if (result === undefined || result === null)
188
342
  return ctx.undefined;
189
343
  if (result === true)
@@ -210,7 +364,94 @@ class CodeActSandbox {
210
364
  ctx.setProp(ctx.global, name, handle);
211
365
  handle.dispose();
212
366
  }
367
+ _awaitHostResult(result, signal, settleOnAbort, mutationSettlementGraceMs, onTerminalMutation) {
368
+ if (settleOnAbort) {
369
+ return new Promise((resolve, reject) => {
370
+ let completed = false;
371
+ let abortObserved = false;
372
+ let graceTimer;
373
+ const finish = (callback) => {
374
+ if (completed) {
375
+ return;
376
+ }
377
+ completed = true;
378
+ if (graceTimer) {
379
+ clearTimeout(graceTimer);
380
+ }
381
+ signal.removeEventListener('abort', onAbort);
382
+ callback();
383
+ };
384
+ const rejectTerminal = (code, message) => {
385
+ const error = this._terminalMutationError(code, message);
386
+ onTerminalMutation(error);
387
+ finish(() => reject(error));
388
+ };
389
+ const onAbort = () => {
390
+ if (abortObserved || completed) {
391
+ return;
392
+ }
393
+ abortObserved = true;
394
+ const graceMs = Math.max(0, mutationSettlementGraceMs);
395
+ graceTimer = setTimeout(() => {
396
+ rejectTerminal(types_js_2.CODE_ACT_MUTATION_OUTCOME_UNKNOWN, `Host mutation did not settle within ${graceMs}ms after Code-Act abort; ` +
397
+ 'its outcome is unknown and it must not be retried automatically');
398
+ }, graceMs);
399
+ };
400
+ signal.addEventListener('abort', onAbort, { once: true });
401
+ if (signal.aborted) {
402
+ onAbort();
403
+ }
404
+ result.then((value) => {
405
+ if (abortObserved || signal.aborted) {
406
+ rejectTerminal(types_js_2.CODE_ACT_MUTATION_COMMITTED_AFTER_ABORT, 'Host mutation settled after Code-Act abort and may be committed; ' +
407
+ 'do not retry automatically');
408
+ return;
409
+ }
410
+ finish(() => resolve(value));
411
+ }, (error) => {
412
+ if (abortObserved || signal.aborted) {
413
+ rejectTerminal(types_js_2.CODE_ACT_MUTATION_OUTCOME_UNKNOWN, 'Host mutation failed after Code-Act abort and may be partially committed; ' +
414
+ 'do not retry automatically');
415
+ return;
416
+ }
417
+ finish(() => reject(error));
418
+ });
419
+ });
420
+ }
421
+ if (signal.aborted) {
422
+ return Promise.reject(signal.reason);
423
+ }
424
+ return new Promise((resolve, reject) => {
425
+ let settled = false;
426
+ const finish = (callback) => {
427
+ if (settled) {
428
+ return;
429
+ }
430
+ settled = true;
431
+ signal.removeEventListener('abort', onAbort);
432
+ callback();
433
+ };
434
+ const onAbort = () => finish(() => reject(signal.reason));
435
+ signal.addEventListener('abort', onAbort, { once: true });
436
+ if (signal.aborted) {
437
+ onAbort();
438
+ }
439
+ result.then((value) => finish(() => resolve(value)), (error) => finish(() => reject(error)));
440
+ });
441
+ }
442
+ _terminalMutationError(code, message) {
443
+ return new CodeActTerminalMutationError(code, message);
444
+ }
213
445
  _normalizeError(err) {
446
+ if (err instanceof CodeActTerminalMutationError) {
447
+ return {
448
+ name: err.name,
449
+ message: err.message,
450
+ stack: err.stack,
451
+ code: err.code,
452
+ retryable: false,
453
+ };
454
+ }
214
455
  if (err && typeof err === 'object') {
215
456
  const e = err;
216
457
  return {
@@ -1 +1 @@
1
- {"version":3,"file":"sandbox.js","sourceRoot":"","sources":["../../../src/agent/code-act/sandbox.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"sandbox.js","sourceRoot":"","sources":["../../../src/agent/code-act/sandbox.ts"],"names":[],"mappings":"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"}
@@ -3,7 +3,12 @@ export interface SandboxConfig {
3
3
  maxStackSizeBytes: number;
4
4
  timeoutMs: number;
5
5
  maxConcurrentCalls: number;
6
+ maxConcurrentExecutions: number;
7
+ mutationSettlementGraceMs: number;
6
8
  }
9
+ export declare const CODE_ACT_MUTATION_COMMITTED_AFTER_ABORT = "CODE_ACT_MUTATION_COMMITTED_AFTER_ABORT";
10
+ export declare const CODE_ACT_MUTATION_OUTCOME_UNKNOWN = "CODE_ACT_MUTATION_OUTCOME_UNKNOWN";
11
+ export type CodeActTerminalMutationCode = typeof CODE_ACT_MUTATION_COMMITTED_AFTER_ABORT | typeof CODE_ACT_MUTATION_OUTCOME_UNKNOWN;
7
12
  export interface ExecutionResult {
8
13
  success: boolean;
9
14
  value?: unknown;
@@ -11,6 +16,8 @@ export interface ExecutionResult {
11
16
  name: string;
12
17
  message: string;
13
18
  stack?: string;
19
+ code?: CodeActTerminalMutationCode;
20
+ retryable?: boolean;
14
21
  };
15
22
  logs: string[];
16
23
  metrics: {
@@ -19,7 +26,20 @@ export interface ExecutionResult {
19
26
  memoryUsedBytes: number;
20
27
  };
21
28
  }
29
+ export interface SandboxExecutionOptions {
30
+ /** Cancellation for the owning model turn or HTTP request. */
31
+ signal?: AbortSignal;
32
+ }
22
33
  export type HostFunction = (...args: unknown[]) => Promise<unknown>;
34
+ export interface HostFunctionContext {
35
+ signal: AbortSignal;
36
+ deadlineMs: number;
37
+ }
38
+ export type AbortableHostFunction = (context: HostFunctionContext, ...args: unknown[]) => Promise<unknown>;
39
+ export interface HostFunctionRegistrationOptions {
40
+ /** Keep the module slot for the bounded mutation settlement grace after abort. */
41
+ settleOnAbort?: boolean;
42
+ }
23
43
  export interface FunctionDescriptor {
24
44
  name: string;
25
45
  params: ParamDescriptor[];
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/agent/code-act/types.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,aAAa;IAC5B,gBAAgB,EAAE,MAAM,CAAC;IACzB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,SAAS,EAAE,MAAM,CAAC;IAClB,kBAAkB,EAAE,MAAM,CAAC;CAC5B;AAED,MAAM,WAAW,eAAe;IAC9B,OAAO,EAAE,OAAO,CAAC;IACjB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,KAAK,CAAC,EAAE;QACN,IAAI,EAAE,MAAM,CAAC;QACb,OAAO,EAAE,MAAM,CAAC;QAChB,KAAK,CAAC,EAAE,MAAM,CAAC;KAChB,CAAC;IACF,IAAI,EAAE,MAAM,EAAE,CAAC;IACf,OAAO,EAAE;QACP,UAAU,EAAE,MAAM,CAAC;QACnB,aAAa,EAAE,MAAM,CAAC;QACtB,eAAe,EAAE,MAAM,CAAC;KACzB,CAAC;CACH;AAED,MAAM,MAAM,YAAY,GAAG,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;AAEpE,MAAM,WAAW,kBAAkB;IACjC,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,eAAe,EAAE,CAAC;IAC1B,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,QAAQ,GAAG,MAAM,GAAG,eAAe,GAAG,SAAS,GAAG,IAAI,GAAG,MAAM,GAAG,KAAK,GAAG,QAAQ,CAAC;CAC9F;AAED,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,OAAO,CAAC;IAClB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,eAAO,MAAM,sBAAsB,EAAE,aAKpC,CAAC"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/agent/code-act/types.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,aAAa;IAC5B,gBAAgB,EAAE,MAAM,CAAC;IACzB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,SAAS,EAAE,MAAM,CAAC;IAClB,kBAAkB,EAAE,MAAM,CAAC;IAC3B,uBAAuB,EAAE,MAAM,CAAC;IAChC,yBAAyB,EAAE,MAAM,CAAC;CACnC;AAED,eAAO,MAAM,uCAAuC,4CAA4C,CAAC;AACjG,eAAO,MAAM,iCAAiC,sCAAsC,CAAC;AACrF,MAAM,MAAM,2BAA2B,GACnC,OAAO,uCAAuC,GAC9C,OAAO,iCAAiC,CAAC;AAE7C,MAAM,WAAW,eAAe;IAC9B,OAAO,EAAE,OAAO,CAAC;IACjB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,KAAK,CAAC,EAAE;QACN,IAAI,EAAE,MAAM,CAAC;QACb,OAAO,EAAE,MAAM,CAAC;QAChB,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,IAAI,CAAC,EAAE,2BAA2B,CAAC;QACnC,SAAS,CAAC,EAAE,OAAO,CAAC;KACrB,CAAC;IACF,IAAI,EAAE,MAAM,EAAE,CAAC;IACf,OAAO,EAAE;QACP,UAAU,EAAE,MAAM,CAAC;QACnB,aAAa,EAAE,MAAM,CAAC;QACtB,eAAe,EAAE,MAAM,CAAC;KACzB,CAAC;CACH;AAED,MAAM,WAAW,uBAAuB;IACtC,8DAA8D;IAC9D,MAAM,CAAC,EAAE,WAAW,CAAC;CACtB;AAED,MAAM,MAAM,YAAY,GAAG,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;AAEpE,MAAM,WAAW,mBAAmB;IAClC,MAAM,EAAE,WAAW,CAAC;IACpB,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,MAAM,qBAAqB,GAAG,CAClC,OAAO,EAAE,mBAAmB,EAC5B,GAAG,IAAI,EAAE,OAAO,EAAE,KACf,OAAO,CAAC,OAAO,CAAC,CAAC;AAEtB,MAAM,WAAW,+BAA+B;IAC9C,kFAAkF;IAClF,aAAa,CAAC,EAAE,OAAO,CAAC;CACzB;AAED,MAAM,WAAW,kBAAkB;IACjC,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,eAAe,EAAE,CAAC;IAC1B,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,QAAQ,GAAG,MAAM,GAAG,eAAe,GAAG,SAAS,GAAG,IAAI,GAAG,MAAM,GAAG,KAAK,GAAG,QAAQ,CAAC;CAC9F;AAED,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,OAAO,CAAC;IAClB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,eAAO,MAAM,sBAAsB,EAAE,aAOpC,CAAC"}
@@ -1,10 +1,14 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.DEFAULT_SANDBOX_CONFIG = void 0;
3
+ exports.DEFAULT_SANDBOX_CONFIG = exports.CODE_ACT_MUTATION_OUTCOME_UNKNOWN = exports.CODE_ACT_MUTATION_COMMITTED_AFTER_ABORT = void 0;
4
+ exports.CODE_ACT_MUTATION_COMMITTED_AFTER_ABORT = 'CODE_ACT_MUTATION_COMMITTED_AFTER_ABORT';
5
+ exports.CODE_ACT_MUTATION_OUTCOME_UNKNOWN = 'CODE_ACT_MUTATION_OUTCOME_UNKNOWN';
4
6
  exports.DEFAULT_SANDBOX_CONFIG = {
5
7
  memoryLimitBytes: 32 * 1024 * 1024,
6
8
  maxStackSizeBytes: 512 * 1024,
7
- timeoutMs: 30_000,
9
+ timeoutMs: 300_000,
8
10
  maxConcurrentCalls: 50,
11
+ maxConcurrentExecutions: 8,
12
+ mutationSettlementGraceMs: 5_000,
9
13
  };
10
14
  //# sourceMappingURL=types.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/agent/code-act/types.ts"],"names":[],"mappings":";;;AAwCa,QAAA,sBAAsB,GAAkB;IACnD,gBAAgB,EAAE,EAAE,GAAG,IAAI,GAAG,IAAI;IAClC,iBAAiB,EAAE,GAAG,GAAG,IAAI;IAC7B,SAAS,EAAE,MAAM;IACjB,kBAAkB,EAAE,EAAE;CACvB,CAAC"}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/agent/code-act/types.ts"],"names":[],"mappings":";;;AASa,QAAA,uCAAuC,GAAG,yCAAyC,CAAC;AACpF,QAAA,iCAAiC,GAAG,mCAAmC,CAAC;AA4DxE,QAAA,sBAAsB,GAAkB;IACnD,gBAAgB,EAAE,EAAE,GAAG,IAAI,GAAG,IAAI;IAClC,iBAAiB,EAAE,GAAG,GAAG,IAAI;IAC7B,SAAS,EAAE,OAAO;IAClB,kBAAkB,EAAE,EAAE;IACtB,uBAAuB,EAAE,CAAC;IAC1B,yBAAyB,EAAE,KAAK;CACjC,CAAC"}
@@ -1,4 +1,4 @@
1
- import type { HostToolBridge, PromptResult } from './model-runner.js';
1
+ import { type HostToolBridge, type PromptResult, type SessionPolicyStatus } from './model-runner.js';
2
2
  import type { PromptCallbacks } from './types.js';
3
3
  export interface CodexAppServerProcessOptions {
4
4
  sessionKey: string;
@@ -57,6 +57,7 @@ export declare class CodexAppServerProcess {
57
57
  constructor(options: CodexAppServerProcessOptions);
58
58
  prompt(text: string, callbacks?: PromptCallbacks, overrides?: CodexAppServerPromptOptions): Promise<PromptResult>;
59
59
  reset(sessionKey?: string): Promise<void>;
60
+ getSessionPolicyStatus(overrides?: CodexAppServerPromptOptions): SessionPolicyStatus;
60
61
  stop(): Promise<void>;
61
62
  getThreadId(sessionKey?: string): string | undefined;
62
63
  getStatus(): {
@@ -72,6 +73,7 @@ export declare class CodexAppServerProcess {
72
73
  private enqueueSession;
73
74
  private prepareConnection;
74
75
  private assertRegistryPolicy;
76
+ private registryPolicyMatches;
75
77
  private prepareManagedFiles;
76
78
  private ensureStarted;
77
79
  private start;
@@ -1 +1 @@
1
- {"version":3,"file":"codex-app-server-process.d.ts","sourceRoot":"","sources":["../../src/agent/codex-app-server-process.ts"],"names":[],"mappings":"AAiBA,OAAO,KAAK,EAAE,cAAc,EAAsB,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAC1F,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAQlD,MAAM,WAAW,4BAA4B;IAC3C,UAAU,EAAE,MAAM,CAAC;IACnB,KAAK,EAAE,MAAM,CAAC;IACd,YAAY,EAAE,MAAM,CAAC;IACrB,GAAG,EAAE,MAAM,CAAC;IACZ,OAAO,EAAE,WAAW,GAAG,iBAAiB,GAAG,oBAAoB,CAAC;IAChE,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,wFAAwF;IACxF,iBAAiB,CAAC,EAAE,MAAM,CAAC;CAC5B;AAED,MAAM,WAAW,2BAA2B;IAC1C,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,OAAO,CAAC,EAAE,WAAW,GAAG,iBAAiB,GAAG,oBAAoB,CAAC;IACjE,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,cAAc,CAAC,EAAE,cAAc,CAAC;CACjC;AA2VD,qBAAa,qBAAqB;IAChC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAcmC;IAC3D,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAsB;IAC/C,OAAO,CAAC,KAAK,CAA6C;IAC1D,OAAO,CAAC,MAAM,CAAgC;IAC9C,OAAO,CAAC,MAAM,CAAgC;IAC9C,OAAO,CAAC,MAAM,CAAK;IACnB,OAAO,CAAC,OAAO,CAAqC;IACpD,OAAO,CAAC,cAAc,CAAoC;IAC1D,OAAO,CAAC,wBAAwB,CAA8C;IAC9E,OAAO,CAAC,KAAK,CAAkC;IAC/C,OAAO,CAAC,QAAQ,CAAmC;IACnD,OAAO,CAAC,aAAa,CAAoC;IACzD,OAAO,CAAC,eAAe,CAAoC;IAC3D,OAAO,CAAC,YAAY,CAA4B;IAChD,OAAO,CAAC,eAAe,CAA4B;IACnD,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,UAAU,CAAM;IACxB,OAAO,CAAC,OAAO,CAAqB;IACpC,OAAO,CAAC,eAAe,CAAqB;IAC5C,OAAO,CAAC,0BAA0B,CAAS;IAC3C,OAAO,CAAC,mBAAmB,CAAqB;IAChD,OAAO,CAAC,wBAAwB,CAAqB;IACrD,OAAO,CAAC,sBAAsB,CAAqB;IACnD,OAAO,CAAC,uBAAuB,CAAqB;IACpD,OAAO,CAAC,kCAAkC,CAAS;IACnD,OAAO,CAAC,SAAS,CAA6B;IAC9C,OAAO,CAAC,cAAc,CAA6B;gBAEvC,OAAO,EAAE,4BAA4B;IAe3C,MAAM,CACV,IAAI,EAAE,MAAM,EACZ,SAAS,CAAC,EAAE,eAAe,EAC3B,SAAS,GAAE,2BAAgC,GAC1C,OAAO,CAAC,YAAY,CAAC;IAqElB,KAAK,CAAC,UAAU,SAA0B,GAAG,OAAO,CAAC,IAAI,CAAC;IAO1D,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAK3B,WAAW,CAAC,UAAU,SAA0B,GAAG,MAAM,GAAG,SAAS;IAIrE,SAAS,IAAI;QACX,OAAO,EAAE,OAAO,CAAC;QACjB,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,mBAAmB,EAAE,MAAM,CAAC;QAC5B,aAAa,EAAE,OAAO,CAAC;QACvB,mBAAmB,EAAE,MAAM,CAAC;QAC5B,mBAAmB,EAAE,MAAM,CAAC;QAC5B,mBAAmB,EAAE,OAAO,CAAC;KAC9B;IAYD,OAAO,CAAC,oBAAoB;IAc5B,OAAO,CAAC,cAAc;YAgBR,iBAAiB;IA+B/B,OAAO,CAAC,oBAAoB;IAe5B,OAAO,CAAC,mBAAmB;YAwDb,aAAa;YAiBb,KAAK;YA2CL,UAAU;IA0DxB,OAAO,CAAC,iBAAiB;IASzB,OAAO,CAAC,2BAA2B;IAkCnC,OAAO,CAAC,sBAAsB;IA4C9B,OAAO,CAAC,SAAS;YAkFH,OAAO;IAyBrB,OAAO,CAAC,WAAW;IAoCnB,OAAO,CAAC,MAAM;IASd,OAAO,CAAC,UAAU;IAoFlB,OAAO,CAAC,kBAAkB;IAuG1B,OAAO,CAAC,WAAW;IAgBnB,OAAO,CAAC,mBAAmB;IAkC3B,OAAO,CAAC,wBAAwB;IAyChC,OAAO,CAAC,gBAAgB;IASxB,OAAO,CAAC,kBAAkB;IAQ1B,OAAO,CAAC,uBAAuB;IA0G/B,OAAO,CAAC,gBAAgB;IAUxB,OAAO,CAAC,UAAU;IAIlB,OAAO,CAAC,iBAAiB;IAQzB,OAAO,CAAC,cAAc;IAQtB,OAAO,CAAC,KAAK;IAMb,OAAO,CAAC,YAAY;IAIpB,OAAO,CAAC,MAAM;IAQd,OAAO,CAAC,OAAO;IAMf,OAAO,CAAC,sBAAsB;IAc9B,OAAO,CAAC,QAAQ;IAmBhB,OAAO,CAAC,WAAW;IAsBnB,OAAO,CAAC,kCAAkC;IAiB1C,OAAO,CAAC,+BAA+B;YAezB,yBAAyB;IAkBvC,OAAO,CAAC,2BAA2B;IA2BnC,OAAO,CAAC,kBAAkB;IAS1B,OAAO,CAAC,OAAO;IAYf,OAAO,CAAC,WAAW;YASL,OAAO;YAKP,QAAQ;YAeR,eAAe;IAyC7B,OAAO,CAAC,MAAM;CAmBf"}
1
+ {"version":3,"file":"codex-app-server-process.d.ts","sourceRoot":"","sources":["../../src/agent/codex-app-server-process.ts"],"names":[],"mappings":"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"}
@@ -7,6 +7,7 @@ const node_fs_1 = require("node:fs");
7
7
  const node_os_1 = require("node:os");
8
8
  const node_path_1 = require("node:path");
9
9
  const node_readline_1 = require("node:readline");
10
+ const model_runner_js_1 = require("./model-runner.js");
10
11
  const codex_home_js_1 = require("./codex-home.js");
11
12
  const codex_thread_registry_js_1 = require("./codex-thread-registry.js");
12
13
  const DEFAULT_TIMEOUT = 300_000;
@@ -349,6 +350,15 @@ class CodexAppServerProcess {
349
350
  this.sessions.delete(sessionKey);
350
351
  });
351
352
  }
353
+ getSessionPolicyStatus(overrides = {}) {
354
+ const session = this.resolveSessionPolicy(overrides);
355
+ const record = this.registry.load(session.sessionKey);
356
+ if (!record) {
357
+ return 'missing';
358
+ }
359
+ const launch = (0, codex_home_js_1.buildCodexAppServerLaunchConfig)(this.options.mcpConfigPath, process.env);
360
+ return this.registryPolicyMatches(record, session, launch) ? 'compatible' : 'mismatch';
361
+ }
352
362
  async stop() {
353
363
  this.stopped = true;
354
364
  await this.shutdown(new Error('Codex app-server process stopped'));
@@ -425,14 +435,16 @@ class CodexAppServerProcess {
425
435
  if (!record) {
426
436
  return;
427
437
  }
428
- const matches = record.model === session.model &&
429
- record.cwd === session.cwd &&
430
- record.systemPromptFingerprint === this.policyFingerprint(session) &&
431
- record.mcpConfigFingerprint === launch.fingerprint;
432
- if (!matches) {
438
+ if (!this.registryPolicyMatches(record, session, launch)) {
433
439
  throw new Error('Codex app-server thread policy mismatch; reset the session explicitly');
434
440
  }
435
441
  }
442
+ registryPolicyMatches(record, session, launch) {
443
+ return (record.model === session.model &&
444
+ record.cwd === session.cwd &&
445
+ record.systemPromptFingerprint === this.policyFingerprint(session) &&
446
+ record.mcpConfigFingerprint === launch.fingerprint);
447
+ }
436
448
  prepareManagedFiles(launch) {
437
449
  ensurePrivateDirectory(this.options.codexHome);
438
450
  ensurePrivateDirectory(this.options.isolatedHome);
@@ -1095,8 +1107,13 @@ class CodexAppServerProcess {
1095
1107
  };
1096
1108
  }
1097
1109
  const abortError = resultData.abort === true && resultData.isError
1098
- ? new Error(resultData.content)
1110
+ ? (0, model_runner_js_1.isHostToolTerminalCode)(resultData.terminalCode)
1111
+ ? new model_runner_js_1.HostToolTerminalError(resultData.terminalCode, resultData.content)
1112
+ : new Error(resultData.content)
1099
1113
  : undefined;
1114
+ if (abortError instanceof model_runner_js_1.HostToolTerminalError) {
1115
+ turn.settledTerminalError ??= abortError;
1116
+ }
1100
1117
  return {
1101
1118
  result: this.toolResult(!resultData.isError, resultData.content),
1102
1119
  stop: resultData.stop === true && !resultData.isError,
@@ -1172,6 +1189,9 @@ class CodexAppServerProcess {
1172
1189
  return result;
1173
1190
  }
1174
1191
  toError(error) {
1192
+ if (error instanceof model_runner_js_1.HostToolTerminalError) {
1193
+ return new model_runner_js_1.HostToolTerminalError(error.terminalCode, this.redact(error.message));
1194
+ }
1175
1195
  return error instanceof Error
1176
1196
  ? new Error(this.redact(error.message))
1177
1197
  : new Error(this.redact(String(error)));
@@ -1202,7 +1222,9 @@ class CodexAppServerProcess {
1202
1222
  // caller sees failure. This prevents retries from racing a late mutation.
1203
1223
  void turn.toolCallQueue.finally(() => {
1204
1224
  this.clearTurnCallbacks(turn);
1205
- turn.reject(safe);
1225
+ const terminalError = turn.settledTerminalError ??
1226
+ (turn.abortError instanceof model_runner_js_1.HostToolTerminalError ? turn.abortError : undefined);
1227
+ turn.reject(this.toError(terminalError ?? safe));
1206
1228
  });
1207
1229
  }
1208
1230
  timeoutTurn(threadId, error, requestTimeout) {