@agentuity/core 2.0.13 → 2.0.14

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.
@@ -10,6 +10,7 @@ export declare const SandboxGetStatusParamsSchema: z.ZodObject<{
10
10
  orgId: z.ZodOptional<z.ZodString>;
11
11
  waitForStatus: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodArray<z.ZodString>]>>;
12
12
  waitMs: z.ZodOptional<z.ZodNumber>;
13
+ signal: z.ZodOptional<z.ZodCustom<AbortSignal, AbortSignal>>;
13
14
  }, z.core.$strip>;
14
15
  export type SandboxGetStatusParams = z.infer<typeof SandboxGetStatusParamsSchema>;
15
16
  export type SandboxStatusResult = z.infer<typeof SandboxStatusDataSchema>;
@@ -1 +1 @@
1
- {"version":3,"file":"getStatus.d.ts","sourceRoot":"","sources":["../../../src/services/sandbox/getStatus.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,KAAK,SAAS,EAAqB,MAAM,WAAW,CAAC;AAG9D,QAAA,MAAM,uBAAuB;;;;iBAI3B,CAAC;AAIH,eAAO,MAAM,4BAA4B;;;;;iBAavC,CAAC;AAEH,MAAM,MAAM,sBAAsB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,4BAA4B,CAAC,CAAC;AAClF,MAAM,MAAM,mBAAmB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,uBAAuB,CAAC,CAAC;AAE1E;;;GAGG;AACH,wBAAsB,gBAAgB,CACrC,MAAM,EAAE,SAAS,EACjB,MAAM,EAAE,sBAAsB,GAC5B,OAAO,CAAC,mBAAmB,CAAC,CAgC9B"}
1
+ {"version":3,"file":"getStatus.d.ts","sourceRoot":"","sources":["../../../src/services/sandbox/getStatus.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,KAAK,SAAS,EAAqB,MAAM,WAAW,CAAC;AAG9D,QAAA,MAAM,uBAAuB;;;;iBAI3B,CAAC;AAIH,eAAO,MAAM,4BAA4B;;;;;;iBAcvC,CAAC;AAEH,MAAM,MAAM,sBAAsB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,4BAA4B,CAAC,CAAC;AAClF,MAAM,MAAM,mBAAmB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,uBAAuB,CAAC,CAAC;AAE1E;;;GAGG;AACH,wBAAsB,gBAAgB,CACrC,MAAM,EAAE,SAAS,EACjB,MAAM,EAAE,sBAAsB,GAC5B,OAAO,CAAC,mBAAmB,CAAC,CAiC9B"}
@@ -20,13 +20,14 @@ export const SandboxGetStatusParamsSchema = z.object({
20
20
  .nonnegative()
21
21
  .optional()
22
22
  .describe('Maximum time in milliseconds to wait for the desired status'),
23
+ signal: z.custom().optional().describe('abort signal for cancellation'),
23
24
  });
24
25
  /**
25
26
  * Retrieves lightweight sandbox status (status + exitCode only).
26
27
  * Optimized for the sandbox run flow — backed by Redis for ~1ms response time.
27
28
  */
28
29
  export async function sandboxGetStatus(client, params) {
29
- const { sandboxId, orgId, waitForStatus, waitMs } = params;
30
+ const { sandboxId, orgId, waitForStatus, waitMs, signal } = params;
30
31
  const queryParams = new URLSearchParams();
31
32
  if (orgId) {
32
33
  queryParams.set('orgId', orgId);
@@ -39,7 +40,7 @@ export async function sandboxGetStatus(client, params) {
39
40
  }
40
41
  const queryString = queryParams.toString();
41
42
  const url = `/sandbox/status/${sandboxId}${queryString ? `?${queryString}` : ''}`;
42
- const resp = await client.get(url, SandboxStatusResponseSchema);
43
+ const resp = await client.get(url, SandboxStatusResponseSchema, signal);
43
44
  if (resp.success) {
44
45
  return {
45
46
  sandboxId: resp.data.sandboxId,
@@ -1 +1 @@
1
- {"version":3,"file":"getStatus.js","sourceRoot":"","sources":["../../../src/services/sandbox/getStatus.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAkB,iBAAiB,EAAE,MAAM,WAAW,CAAC;AAC9D,OAAO,EAAE,iBAAiB,EAAE,MAAM,WAAW,CAAC;AAE9C,MAAM,uBAAuB,GAAG,CAAC,CAAC,MAAM,CAAC;IACxC,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,oCAAoC,CAAC;IACpE,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,gCAAgC,CAAC;IAC7D,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,mDAAmD,CAAC;CAC7F,CAAC,CAAC;AAEH,MAAM,2BAA2B,GAAG,iBAAiB,CAAC,uBAAuB,CAAC,CAAC;AAE/E,MAAM,CAAC,MAAM,4BAA4B,GAAG,CAAC,CAAC,MAAM,CAAC;IACpD,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,mCAAmC,CAAC;IACnE,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,sCAAsC,CAAC;IAC7E,aAAa,EAAE,CAAC;SACd,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;SACxC,QAAQ,EAAE;SACV,QAAQ,CAAC,mEAAmE,CAAC;IAC/E,MAAM,EAAE,CAAC;SACP,MAAM,EAAE;SACR,GAAG,EAAE;SACL,WAAW,EAAE;SACb,QAAQ,EAAE;SACV,QAAQ,CAAC,6DAA6D,CAAC;CACzE,CAAC,CAAC;AAKH;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,gBAAgB,CACrC,MAAiB,EACjB,MAA8B;IAE9B,MAAM,EAAE,SAAS,EAAE,KAAK,EAAE,aAAa,EAAE,MAAM,EAAE,GAAG,MAAM,CAAC;IAC3D,MAAM,WAAW,GAAG,IAAI,eAAe,EAAE,CAAC;IAC1C,IAAI,KAAK,EAAE,CAAC;QACX,WAAW,CAAC,GAAG,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;IACjC,CAAC;IACD,IAAI,aAAa,EAAE,CAAC;QACnB,WAAW,CAAC,GAAG,CACd,eAAe,EACf,KAAK,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,aAAa,CACtE,CAAC;IACH,CAAC;IACD,IAAI,MAAM,IAAI,IAAI,EAAE,CAAC;QACpB,WAAW,CAAC,GAAG,CAAC,QAAQ,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC;IAC3C,CAAC;IACD,MAAM,WAAW,GAAG,WAAW,CAAC,QAAQ,EAAE,CAAC;IAC3C,MAAM,GAAG,GAAG,mBAAmB,SAAS,GAAG,WAAW,CAAC,CAAC,CAAC,IAAI,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;IAElF,MAAM,IAAI,GAAG,MAAM,MAAM,CAAC,GAAG,CAC5B,GAAG,EACH,2BAA2B,CAC3B,CAAC;IAEF,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;QAClB,OAAO;YACN,SAAS,EAAE,IAAI,CAAC,IAAI,CAAC,SAAS;YAC9B,MAAM,EAAE,IAAI,CAAC,IAAI,CAAC,MAAM;YACxB,QAAQ,EAAE,IAAI,CAAC,IAAI,CAAC,QAAQ;SAC5B,CAAC;IACH,CAAC;IAED,iBAAiB,CAAC,IAAI,EAAE,EAAE,SAAS,EAAE,CAAC,CAAC;AACxC,CAAC"}
1
+ {"version":3,"file":"getStatus.js","sourceRoot":"","sources":["../../../src/services/sandbox/getStatus.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"run.d.ts","sourceRoot":"","sources":["../../../src/services/sandbox/run.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AAC9C,OAAO,KAAK,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAGtD,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,SAAS,EAAwB,MAAM,WAAW,CAAC;AAM5D,OAAO,EAA2B,KAAK,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAiC5E,eAAO,MAAM,sBAAsB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAUjC,CAAC;AACH,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,sBAAsB,CAAC,CAAC;AAEtE;;;;;;;;;;GAUG;AACH,wBAAsB,UAAU,CAC/B,MAAM,EAAE,SAAS,EACjB,MAAM,EAAE,gBAAgB,GACtB,OAAO,CAAC,gBAAgB,CAAC,CAgQ3B"}
1
+ {"version":3,"file":"run.d.ts","sourceRoot":"","sources":["../../../src/services/sandbox/run.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AAC9C,OAAO,KAAK,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAGtD,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,SAAS,EAAwB,MAAM,WAAW,CAAC;AAM5D,OAAO,EAA2B,KAAK,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAkC5E,eAAO,MAAM,sBAAsB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAUjC,CAAC;AACH,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,sBAAsB,CAAC,CAAC;AAEtE;;;;;;;;;;GAUG;AACH,wBAAsB,UAAU,CAC/B,MAAM,EAAE,SAAS,EACjB,MAAM,EAAE,gBAAgB,GACtB,OAAO,CAAC,gBAAgB,CAAC,CAgT3B"}
@@ -11,6 +11,7 @@ import { SandboxRunOptionsSchema } from "./types.js";
11
11
  import { getServiceUrls } from "../config.js";
12
12
  const timingLogsEnabled = false;
13
13
  const EXECUTION_WAIT_DURATION = '5m';
14
+ const EXIT_CODE_FAST_WAIT_DURATION = '250ms';
14
15
  const TERMINAL_EXECUTION_STATUSES = new Set(['completed', 'failed', 'timeout', 'cancelled']);
15
16
  /**
16
17
  * Creates a Writable stream that captures all chunks to a buffer array
@@ -147,10 +148,10 @@ export async function sandboxRun(client, params) {
147
148
  let finalExecution;
148
149
  if (createResponse.executionId) {
149
150
  logger?.debug('waiting for execution %s and %d stream(s) in parallel', createResponse.executionId, streamPromises.length);
150
- const executionPromise = waitForExecutionCompletion(client, createResponse.executionId, orgId, signal, logger, started);
151
+ const completionPromise = waitForRunCompletion(client, sandboxId, createResponse.executionId, orgId, signal, logger, started);
151
152
  finalExecution = signal
152
- ? await raceWithAbort(executionPromise, signal, abortController, sandboxId)
153
- : await executionPromise;
153
+ ? await raceWithAbort(completionPromise, signal, abortController, sandboxId)
154
+ : await completionPromise;
154
155
  await waitForStreamsToDrain(streamPromises, signal, abortController, sandboxId);
155
156
  }
156
157
  else {
@@ -173,7 +174,32 @@ export async function sandboxRun(client, params) {
173
174
  // drain + lifecycle propagation delay.
174
175
  let exitCode = finalExecution?.exitCode ?? 0;
175
176
  const statusPollStart = Date.now();
177
+ let shouldWaitForSandboxStatus = finalExecution?.exitCode == null;
178
+ let sandboxStatusReconciled = false;
176
179
  if (finalExecution?.exitCode == null) {
180
+ if (createResponse.executionId && finalExecution?.status === 'completed') {
181
+ try {
182
+ const execution = await executionGet(client, {
183
+ executionId: createResponse.executionId,
184
+ orgId,
185
+ wait: EXIT_CODE_FAST_WAIT_DURATION,
186
+ signal,
187
+ });
188
+ if (execution.exitCode != null) {
189
+ exitCode = execution.exitCode;
190
+ finalExecution.exitCode = execution.exitCode;
191
+ shouldWaitForSandboxStatus = false;
192
+ logger?.debug('[run] exit code %d found from fast execution retry (+%dms)', exitCode, Date.now() - statusPollStart);
193
+ }
194
+ }
195
+ catch (err) {
196
+ if (!(err instanceof DOMException && err.name === 'AbortError')) {
197
+ logger?.debug('[run] fast execution exit code retry failed (+%dms): %s', Date.now() - statusPollStart, err);
198
+ }
199
+ }
200
+ }
201
+ }
202
+ if (shouldWaitForSandboxStatus) {
177
203
  try {
178
204
  const sandboxStatus = await sandboxGetStatus(client, {
179
205
  sandboxId,
@@ -183,13 +209,16 @@ export async function sandboxRun(client, params) {
183
209
  });
184
210
  if (sandboxStatus.exitCode != null) {
185
211
  exitCode = sandboxStatus.exitCode;
212
+ sandboxStatusReconciled = true;
186
213
  logger?.debug('[run] exit code %d found after server-side wait (+%dms)', exitCode, Date.now() - statusPollStart);
187
214
  }
188
215
  else if (sandboxStatus.status === 'failed') {
189
216
  exitCode = 1;
217
+ sandboxStatusReconciled = true;
190
218
  logger?.debug('[run] sandbox failed after server-side wait (+%dms)', Date.now() - statusPollStart);
191
219
  }
192
220
  else if (sandboxStatus.status === 'terminated') {
221
+ sandboxStatusReconciled = true;
193
222
  logger?.debug('[run] sandbox terminated without exit code after server-side wait (+%dms)', Date.now() - statusPollStart);
194
223
  }
195
224
  else {
@@ -202,6 +231,13 @@ export async function sandboxRun(client, params) {
202
231
  }
203
232
  }
204
233
  }
234
+ if (finalExecution &&
235
+ finalExecution?.exitCode == null &&
236
+ finalExecution?.status !== 'completed' &&
237
+ !sandboxStatusReconciled) {
238
+ exitCode = 1;
239
+ logger?.debug('[run] using fallback exit code 1 for terminal status=%s after sandbox status reconciliation failed', finalExecution?.status);
240
+ }
205
241
  if (exitCode === 0) {
206
242
  if (finalExecution?.exitCode != null) {
207
243
  logger?.debug('[run] using execution exit code 0 from long-poll result');
@@ -236,6 +272,37 @@ export async function sandboxRun(client, params) {
236
272
  throw error;
237
273
  }
238
274
  }
275
+ async function waitForRunCompletion(client, sandboxId, executionId, orgId, signal, logger, started) {
276
+ const completionAbortController = new AbortController();
277
+ let onAbort;
278
+ if (signal) {
279
+ onAbort = () => completionAbortController.abort(signal.reason);
280
+ if (signal.aborted) {
281
+ onAbort();
282
+ }
283
+ else {
284
+ signal.addEventListener('abort', onAbort, { once: true });
285
+ }
286
+ }
287
+ try {
288
+ const completionSignal = completionAbortController.signal;
289
+ const executionPromise = waitForExecutionCompletion(client, executionId, orgId, completionSignal, logger, started);
290
+ const statusPromise = waitForSandboxStatusCompletion(client, sandboxId, orgId, completionSignal, logger, started).catch((err) => {
291
+ if (completionSignal.aborted) {
292
+ throw err;
293
+ }
294
+ logger?.debug('[run] sandbox status completion wait failed: %s', err);
295
+ return new Promise(() => { });
296
+ });
297
+ const result = await Promise.race([executionPromise, statusPromise]);
298
+ return result;
299
+ }
300
+ finally {
301
+ if (onAbort && signal) {
302
+ signal.removeEventListener('abort', onAbort);
303
+ }
304
+ }
305
+ }
239
306
  async function waitForExecutionCompletion(client, executionId, orgId, signal, logger, started) {
240
307
  while (true) {
241
308
  if (signal?.aborted) {
@@ -256,6 +323,39 @@ async function waitForExecutionCompletion(client, executionId, orgId, signal, lo
256
323
  }
257
324
  }
258
325
  }
326
+ async function waitForSandboxStatusCompletion(client, sandboxId, orgId, signal, logger, started) {
327
+ while (true) {
328
+ if (signal?.aborted) {
329
+ throw new DOMException('Aborted', 'AbortError');
330
+ }
331
+ const result = await sandboxGetStatus(client, {
332
+ sandboxId,
333
+ orgId,
334
+ waitForStatus: ['idle', 'terminated', 'failed'],
335
+ waitMs: 300000,
336
+ signal,
337
+ });
338
+ logger?.debug('[run] sandbox status wait: sandbox=%s status=%s exit=%s +%dms', sandboxId, result.status, result.exitCode ?? 'undefined', Date.now() - started);
339
+ if (result.exitCode != null) {
340
+ return {
341
+ exitCode: result.exitCode,
342
+ status: 'completed',
343
+ };
344
+ }
345
+ if (result.status === 'failed') {
346
+ return {
347
+ exitCode: 1,
348
+ status: 'failed',
349
+ };
350
+ }
351
+ if (result.status === 'terminated') {
352
+ return {
353
+ status: 'completed',
354
+ };
355
+ }
356
+ await new Promise((resolve) => setTimeout(resolve, 25));
357
+ }
358
+ }
259
359
  async function waitForStreamsToDrain(streamPromises, signal, abortController, sandboxId) {
260
360
  if (streamPromises.length === 0) {
261
361
  return;
@@ -1 +1 @@
1
- {"version":3,"file":"run.js","sourceRoot":"","sources":["../../../src/services/sandbox/run.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"run.js","sourceRoot":"","sources":["../../../src/services/sandbox/run.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@agentuity/core",
3
- "version": "2.0.13",
3
+ "version": "2.0.14",
4
4
  "license": "Apache-2.0",
5
5
  "author": "Agentuity employees and contributors",
6
6
  "type": "module",
@@ -89,7 +89,7 @@
89
89
  "zod": "^4.3.5"
90
90
  },
91
91
  "devDependencies": {
92
- "@agentuity/test-utils": "2.0.13",
92
+ "@agentuity/test-utils": "2.0.14",
93
93
  "@types/bun": "latest",
94
94
  "bun-types": "latest",
95
95
  "esbuild": "^0.25.0",
@@ -23,6 +23,7 @@ export const SandboxGetStatusParamsSchema = z.object({
23
23
  .nonnegative()
24
24
  .optional()
25
25
  .describe('Maximum time in milliseconds to wait for the desired status'),
26
+ signal: z.custom<AbortSignal>().optional().describe('abort signal for cancellation'),
26
27
  });
27
28
 
28
29
  export type SandboxGetStatusParams = z.infer<typeof SandboxGetStatusParamsSchema>;
@@ -36,7 +37,7 @@ export async function sandboxGetStatus(
36
37
  client: APIClient,
37
38
  params: SandboxGetStatusParams
38
39
  ): Promise<SandboxStatusResult> {
39
- const { sandboxId, orgId, waitForStatus, waitMs } = params;
40
+ const { sandboxId, orgId, waitForStatus, waitMs, signal } = params;
40
41
  const queryParams = new URLSearchParams();
41
42
  if (orgId) {
42
43
  queryParams.set('orgId', orgId);
@@ -55,7 +56,8 @@ export async function sandboxGetStatus(
55
56
 
56
57
  const resp = await client.get<z.infer<typeof SandboxStatusResponseSchema>>(
57
58
  url,
58
- SandboxStatusResponseSchema
59
+ SandboxStatusResponseSchema,
60
+ signal
59
61
  );
60
62
 
61
63
  if (resp.success) {
@@ -14,6 +14,7 @@ import { getServiceUrls } from '../config.ts';
14
14
 
15
15
  const timingLogsEnabled = false;
16
16
  const EXECUTION_WAIT_DURATION = '5m';
17
+ const EXIT_CODE_FAST_WAIT_DURATION = '250ms';
17
18
  const TERMINAL_EXECUTION_STATUSES = new Set(['completed', 'failed', 'timeout', 'cancelled']);
18
19
 
19
20
  /**
@@ -207,8 +208,9 @@ export async function sandboxRun(
207
208
  createResponse.executionId,
208
209
  streamPromises.length
209
210
  );
210
- const executionPromise = waitForExecutionCompletion(
211
+ const completionPromise = waitForRunCompletion(
211
212
  client,
213
+ sandboxId,
212
214
  createResponse.executionId,
213
215
  orgId,
214
216
  signal,
@@ -217,8 +219,8 @@ export async function sandboxRun(
217
219
  );
218
220
 
219
221
  finalExecution = signal
220
- ? await raceWithAbort(executionPromise, signal, abortController, sandboxId)
221
- : await executionPromise;
222
+ ? await raceWithAbort(completionPromise, signal, abortController, sandboxId)
223
+ : await completionPromise;
222
224
  await waitForStreamsToDrain(streamPromises, signal, abortController, sandboxId);
223
225
  } else {
224
226
  logger?.debug(
@@ -244,7 +246,39 @@ export async function sandboxRun(
244
246
  // drain + lifecycle propagation delay.
245
247
  let exitCode = finalExecution?.exitCode ?? 0;
246
248
  const statusPollStart = Date.now();
249
+ let shouldWaitForSandboxStatus = finalExecution?.exitCode == null;
250
+ let sandboxStatusReconciled = false;
247
251
  if (finalExecution?.exitCode == null) {
252
+ if (createResponse.executionId && finalExecution?.status === 'completed') {
253
+ try {
254
+ const execution = await executionGet(client, {
255
+ executionId: createResponse.executionId,
256
+ orgId,
257
+ wait: EXIT_CODE_FAST_WAIT_DURATION,
258
+ signal,
259
+ });
260
+ if (execution.exitCode != null) {
261
+ exitCode = execution.exitCode;
262
+ finalExecution.exitCode = execution.exitCode;
263
+ shouldWaitForSandboxStatus = false;
264
+ logger?.debug(
265
+ '[run] exit code %d found from fast execution retry (+%dms)',
266
+ exitCode,
267
+ Date.now() - statusPollStart
268
+ );
269
+ }
270
+ } catch (err) {
271
+ if (!(err instanceof DOMException && err.name === 'AbortError')) {
272
+ logger?.debug(
273
+ '[run] fast execution exit code retry failed (+%dms): %s',
274
+ Date.now() - statusPollStart,
275
+ err
276
+ );
277
+ }
278
+ }
279
+ }
280
+ }
281
+ if (shouldWaitForSandboxStatus) {
248
282
  try {
249
283
  const sandboxStatus = await sandboxGetStatus(client, {
250
284
  sandboxId,
@@ -254,6 +288,7 @@ export async function sandboxRun(
254
288
  });
255
289
  if (sandboxStatus.exitCode != null) {
256
290
  exitCode = sandboxStatus.exitCode;
291
+ sandboxStatusReconciled = true;
257
292
  logger?.debug(
258
293
  '[run] exit code %d found after server-side wait (+%dms)',
259
294
  exitCode,
@@ -261,11 +296,13 @@ export async function sandboxRun(
261
296
  );
262
297
  } else if (sandboxStatus.status === 'failed') {
263
298
  exitCode = 1;
299
+ sandboxStatusReconciled = true;
264
300
  logger?.debug(
265
301
  '[run] sandbox failed after server-side wait (+%dms)',
266
302
  Date.now() - statusPollStart
267
303
  );
268
304
  } else if (sandboxStatus.status === 'terminated') {
305
+ sandboxStatusReconciled = true;
269
306
  logger?.debug(
270
307
  '[run] sandbox terminated without exit code after server-side wait (+%dms)',
271
308
  Date.now() - statusPollStart
@@ -287,6 +324,18 @@ export async function sandboxRun(
287
324
  }
288
325
  }
289
326
  }
327
+ if (
328
+ finalExecution &&
329
+ finalExecution?.exitCode == null &&
330
+ finalExecution?.status !== 'completed' &&
331
+ !sandboxStatusReconciled
332
+ ) {
333
+ exitCode = 1;
334
+ logger?.debug(
335
+ '[run] using fallback exit code 1 for terminal status=%s after sandbox status reconciliation failed',
336
+ finalExecution?.status
337
+ );
338
+ }
290
339
  if (exitCode === 0) {
291
340
  if (finalExecution?.exitCode != null) {
292
341
  logger?.debug('[run] using execution exit code 0 from long-poll result');
@@ -327,6 +376,60 @@ export async function sandboxRun(
327
376
  }
328
377
  }
329
378
 
379
+ async function waitForRunCompletion(
380
+ client: APIClient,
381
+ sandboxId: string,
382
+ executionId: string,
383
+ orgId: string | undefined,
384
+ signal: AbortSignal | undefined,
385
+ logger: Logger | undefined,
386
+ started: number
387
+ ): Promise<{ exitCode?: number; status: string }> {
388
+ const completionAbortController = new AbortController();
389
+ let onAbort: (() => void) | undefined;
390
+ if (signal) {
391
+ onAbort = () => completionAbortController.abort(signal.reason);
392
+ if (signal.aborted) {
393
+ onAbort();
394
+ } else {
395
+ signal.addEventListener('abort', onAbort, { once: true });
396
+ }
397
+ }
398
+
399
+ try {
400
+ const completionSignal = completionAbortController.signal;
401
+ const executionPromise = waitForExecutionCompletion(
402
+ client,
403
+ executionId,
404
+ orgId,
405
+ completionSignal,
406
+ logger,
407
+ started
408
+ );
409
+ const statusPromise = waitForSandboxStatusCompletion(
410
+ client,
411
+ sandboxId,
412
+ orgId,
413
+ completionSignal,
414
+ logger,
415
+ started
416
+ ).catch((err) => {
417
+ if (completionSignal.aborted) {
418
+ throw err;
419
+ }
420
+ logger?.debug('[run] sandbox status completion wait failed: %s', err);
421
+ return new Promise<never>(() => {});
422
+ });
423
+
424
+ const result = await Promise.race([executionPromise, statusPromise]);
425
+ return result;
426
+ } finally {
427
+ if (onAbort && signal) {
428
+ signal.removeEventListener('abort', onAbort);
429
+ }
430
+ }
431
+ }
432
+
330
433
  async function waitForExecutionCompletion(
331
434
  client: APIClient,
332
435
  executionId: string,
@@ -363,6 +466,56 @@ async function waitForExecutionCompletion(
363
466
  }
364
467
  }
365
468
 
469
+ async function waitForSandboxStatusCompletion(
470
+ client: APIClient,
471
+ sandboxId: string,
472
+ orgId: string | undefined,
473
+ signal: AbortSignal | undefined,
474
+ logger: Logger | undefined,
475
+ started: number
476
+ ): Promise<{ exitCode?: number; status: string }> {
477
+ while (true) {
478
+ if (signal?.aborted) {
479
+ throw new DOMException('Aborted', 'AbortError');
480
+ }
481
+
482
+ const result = await sandboxGetStatus(client, {
483
+ sandboxId,
484
+ orgId,
485
+ waitForStatus: ['idle', 'terminated', 'failed'],
486
+ waitMs: 300000,
487
+ signal,
488
+ });
489
+ logger?.debug(
490
+ '[run] sandbox status wait: sandbox=%s status=%s exit=%s +%dms',
491
+ sandboxId,
492
+ result.status,
493
+ result.exitCode ?? 'undefined',
494
+ Date.now() - started
495
+ );
496
+
497
+ if (result.exitCode != null) {
498
+ return {
499
+ exitCode: result.exitCode,
500
+ status: 'completed',
501
+ };
502
+ }
503
+ if (result.status === 'failed') {
504
+ return {
505
+ exitCode: 1,
506
+ status: 'failed',
507
+ };
508
+ }
509
+ if (result.status === 'terminated') {
510
+ return {
511
+ status: 'completed',
512
+ };
513
+ }
514
+
515
+ await new Promise((resolve) => setTimeout(resolve, 25));
516
+ }
517
+ }
518
+
366
519
  async function waitForStreamsToDrain(
367
520
  streamPromises: Promise<void>[],
368
521
  signal: AbortSignal | undefined,