@agent-relay/sandbox 0.1.1 → 0.1.3

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 (121) hide show
  1. package/README.md +226 -5
  2. package/dist/agent37/client.d.ts +115 -0
  3. package/dist/agent37/client.d.ts.map +1 -0
  4. package/dist/agent37/client.js +270 -0
  5. package/dist/agent37/client.js.map +1 -0
  6. package/dist/agent37/runtime.d.ts +415 -0
  7. package/dist/agent37/runtime.d.ts.map +1 -0
  8. package/dist/agent37/runtime.js +855 -0
  9. package/dist/agent37/runtime.js.map +1 -0
  10. package/dist/agentcore/bench.d.ts +93 -0
  11. package/dist/agentcore/bench.d.ts.map +1 -0
  12. package/dist/agentcore/bench.js +125 -0
  13. package/dist/agentcore/bench.js.map +1 -0
  14. package/dist/agentcore/capabilities.d.ts +169 -0
  15. package/dist/agentcore/capabilities.d.ts.map +1 -0
  16. package/dist/agentcore/capabilities.js +153 -0
  17. package/dist/agentcore/capabilities.js.map +1 -0
  18. package/dist/agentcore/config.d.ts +156 -0
  19. package/dist/agentcore/config.d.ts.map +1 -0
  20. package/dist/agentcore/config.js +12 -0
  21. package/dist/agentcore/config.js.map +1 -0
  22. package/dist/agentcore/internal/sdk.d.ts +181 -0
  23. package/dist/agentcore/internal/sdk.d.ts.map +1 -0
  24. package/dist/agentcore/internal/sdk.js +223 -0
  25. package/dist/agentcore/internal/sdk.js.map +1 -0
  26. package/dist/agentcore/runtime.d.ts +177 -0
  27. package/dist/agentcore/runtime.d.ts.map +1 -0
  28. package/dist/agentcore/runtime.js +706 -0
  29. package/dist/agentcore/runtime.js.map +1 -0
  30. package/dist/daytona/runtime.d.ts +23 -0
  31. package/dist/daytona/runtime.d.ts.map +1 -1
  32. package/dist/daytona/runtime.js +292 -10
  33. package/dist/daytona/runtime.js.map +1 -1
  34. package/dist/daytona/wire-supplement.d.ts +25 -0
  35. package/dist/daytona/wire-supplement.d.ts.map +1 -0
  36. package/dist/daytona/wire-supplement.js +16 -0
  37. package/dist/daytona/wire-supplement.js.map +1 -0
  38. package/dist/e2b/runtime.d.ts +107 -72
  39. package/dist/e2b/runtime.d.ts.map +1 -1
  40. package/dist/e2b/runtime.js +675 -190
  41. package/dist/e2b/runtime.js.map +1 -1
  42. package/dist/freestyle/capabilities.d.ts +28 -0
  43. package/dist/freestyle/capabilities.d.ts.map +1 -0
  44. package/dist/freestyle/capabilities.js +42 -0
  45. package/dist/freestyle/capabilities.js.map +1 -0
  46. package/dist/freestyle/config.d.ts +36 -0
  47. package/dist/freestyle/config.d.ts.map +1 -0
  48. package/dist/freestyle/config.js +2 -0
  49. package/dist/freestyle/config.js.map +1 -0
  50. package/dist/freestyle/internal/sdk.d.ts +69 -0
  51. package/dist/freestyle/internal/sdk.d.ts.map +1 -0
  52. package/dist/freestyle/internal/sdk.js +19 -0
  53. package/dist/freestyle/internal/sdk.js.map +1 -0
  54. package/dist/freestyle/runtime.d.ts +163 -0
  55. package/dist/freestyle/runtime.d.ts.map +1 -0
  56. package/dist/freestyle/runtime.js +798 -0
  57. package/dist/freestyle/runtime.js.map +1 -0
  58. package/dist/index.d.ts +35 -4
  59. package/dist/index.d.ts.map +1 -1
  60. package/dist/index.js +16 -2
  61. package/dist/index.js.map +1 -1
  62. package/dist/microsandbox/runtime.d.ts +793 -0
  63. package/dist/microsandbox/runtime.d.ts.map +1 -0
  64. package/dist/microsandbox/runtime.js +2303 -0
  65. package/dist/microsandbox/runtime.js.map +1 -0
  66. package/dist/modal/bench.d.ts +199 -0
  67. package/dist/modal/bench.d.ts.map +1 -0
  68. package/dist/modal/bench.js +450 -0
  69. package/dist/modal/bench.js.map +1 -0
  70. package/dist/modal/capabilities.d.ts +180 -0
  71. package/dist/modal/capabilities.d.ts.map +1 -0
  72. package/dist/modal/capabilities.js +159 -0
  73. package/dist/modal/capabilities.js.map +1 -0
  74. package/dist/modal/config.d.ts +192 -0
  75. package/dist/modal/config.d.ts.map +1 -0
  76. package/dist/modal/config.js +169 -0
  77. package/dist/modal/config.js.map +1 -0
  78. package/dist/modal/internal/sdk.d.ts +141 -0
  79. package/dist/modal/internal/sdk.d.ts.map +1 -0
  80. package/dist/modal/internal/sdk.js +51 -0
  81. package/dist/modal/internal/sdk.js.map +1 -0
  82. package/dist/modal/runtime.d.ts +271 -0
  83. package/dist/modal/runtime.d.ts.map +1 -0
  84. package/dist/modal/runtime.js +871 -0
  85. package/dist/modal/runtime.js.map +1 -0
  86. package/dist/mount-script.d.ts +16 -1
  87. package/dist/mount-script.d.ts.map +1 -1
  88. package/dist/mount-script.js +76 -15
  89. package/dist/mount-script.js.map +1 -1
  90. package/dist/orchestrator.d.ts +15 -0
  91. package/dist/orchestrator.d.ts.map +1 -1
  92. package/dist/orchestrator.js +13 -1
  93. package/dist/orchestrator.js.map +1 -1
  94. package/dist/port.d.ts +144 -6
  95. package/dist/port.d.ts.map +1 -1
  96. package/dist/port.js +27 -5
  97. package/dist/port.js.map +1 -1
  98. package/dist/types.d.ts +55 -1
  99. package/dist/types.d.ts.map +1 -1
  100. package/dist/vercel/bench.d.ts +169 -0
  101. package/dist/vercel/bench.d.ts.map +1 -0
  102. package/dist/vercel/bench.js +337 -0
  103. package/dist/vercel/bench.js.map +1 -0
  104. package/dist/vercel/capabilities.d.ts +106 -0
  105. package/dist/vercel/capabilities.d.ts.map +1 -0
  106. package/dist/vercel/capabilities.js +128 -0
  107. package/dist/vercel/capabilities.js.map +1 -0
  108. package/dist/vercel/config.d.ts +119 -0
  109. package/dist/vercel/config.d.ts.map +1 -0
  110. package/dist/vercel/config.js +8 -0
  111. package/dist/vercel/config.js.map +1 -0
  112. package/dist/vercel/internal/sdk.d.ts +173 -0
  113. package/dist/vercel/internal/sdk.d.ts.map +1 -0
  114. package/dist/vercel/internal/sdk.js +117 -0
  115. package/dist/vercel/internal/sdk.js.map +1 -0
  116. package/dist/vercel/runtime.d.ts +305 -0
  117. package/dist/vercel/runtime.d.ts.map +1 -0
  118. package/dist/vercel/runtime.js +1169 -0
  119. package/dist/vercel/runtime.js.map +1 -0
  120. package/docs/freestyle.md +110 -0
  121. package/package.json +35 -4
@@ -0,0 +1 @@
1
+ {"version":3,"file":"runtime.js","sourceRoot":"","sources":["../../src/agentcore/runtime.ts"],"names":[],"mappings":"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"}
@@ -1,8 +1,16 @@
1
1
  import type { Daytona, Sandbox } from '@daytonaio/sdk';
2
2
  import type { ExecOptions, ExecResult, AsyncExecStartResult, AsyncExecStatus, LaunchOptions, RuntimeCapabilities, RuntimeHandle, WorkflowRuntime } from '../types.js';
3
+ import type { DaytonaWireSupplement } from './wire-supplement.js';
3
4
  export interface DaytonaRuntimeOptions {
4
5
  daytona: Daytona;
5
6
  snapshot?: string;
7
+ /**
8
+ * When Daytona reports a restarted sandbox as ready but its Toolbox exec
9
+ * daemon is still unavailable, replace it from the same snapshot and
10
+ * provider metadata. The returned handle can therefore have a new ID.
11
+ * Defaults to true because a STARTED sandbox without exec is unusable.
12
+ */
13
+ recreateOnFailedStart?: boolean;
6
14
  /**
7
15
  * Home directory inside the sandbox image. Required: it is image-specific,
8
16
  * so there is no default that is correct for every consumer.
@@ -63,11 +71,16 @@ export interface DaytonaUploadBundleOptions {
63
71
  }
64
72
  export declare class DaytonaRuntime implements WorkflowRuntime {
65
73
  readonly id = "daytona";
74
+ readonly declaredCapabilities: {
75
+ readonly warmLease: true;
76
+ readonly lifecycle: true;
77
+ };
66
78
  readonly capabilities: RuntimeCapabilities;
67
79
  private readonly sandboxes;
68
80
  private readonly daytona;
69
81
  private readonly snapshot?;
70
82
  private readonly defaultHomeDir;
83
+ private readonly recreateOnFailedStart;
71
84
  constructor(options: DaytonaRuntimeOptions);
72
85
  launch(options?: LaunchOptions): Promise<RuntimeHandle>;
73
86
  launchDetached(options?: LaunchOptions): Promise<RuntimeHandle>;
@@ -90,9 +103,19 @@ export declare class DaytonaRuntime implements WorkflowRuntime {
90
103
  uploadBundle(handle: RuntimeHandle, options: DaytonaUploadBundleOptions): Promise<void>;
91
104
  downloadFile(handle: RuntimeHandle, source: string, destination?: string): Promise<Buffer | void>;
92
105
  getHomeDir(handle: RuntimeHandle): Promise<string>;
106
+ /**
107
+ * Fetches the sandboxClass + warmPoolId fields Daytona's wire response
108
+ * carries that the SDK's Sandbox class drops. See wire-supplement.ts.
109
+ */
110
+ getWireSupplement(handle: RuntimeHandle): Promise<DaytonaWireSupplement>;
93
111
  destroy(handle: RuntimeHandle): Promise<void>;
94
112
  stop(handle: RuntimeHandle): Promise<void>;
95
113
  start(handle: RuntimeHandle): Promise<RuntimeHandle>;
114
+ private recreateAfterFailedStart;
115
+ private assertSandboxExecHealthy;
116
+ private replacementCreateParams;
117
+ private removeSandbox;
118
+ private updateHandleFromSandbox;
96
119
  private createSandbox;
97
120
  private createSandboxDetached;
98
121
  private buildCreateParams;
@@ -1 +1 @@
1
- {"version":3,"file":"runtime.d.ts","sourceRoot":"","sources":["../../src/daytona/runtime.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"runtime.d.ts","sourceRoot":"","sources":["../../src/daytona/runtime.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,4 @@
1
+ import { fetchDaytonaWireSupplement } from './wire-supplement.js';
1
2
  export class SnapshotNotFoundError extends Error {
2
3
  snapshot;
3
4
  constructor(snapshot, cause) {
@@ -13,8 +14,13 @@ export class SnapshotNotFoundError extends Error {
13
14
  // so the trailing bytes are the useful ones.
14
15
  const SCRIPT_LOG_READ_MAX_BYTES = 262_144; // 256 KiB
15
16
  const DEFAULT_DAYTONA_LOOKUP_TIMEOUT_MS = 10_000;
17
+ const DAYTONA_ADMISSION_RECONCILIATION_LOOKUP_TIMEOUT_MS = 1_000;
18
+ const DAYTONA_POST_START_EXEC_PROBE_TIMEOUT_SECONDS = 10;
19
+ const DAYTONA_POST_START_EXEC_PROBE_ATTEMPTS = 3;
20
+ const DAYTONA_POST_START_EXEC_PROBE_DELAY_MS = 250;
16
21
  export class DaytonaRuntime {
17
22
  id = 'daytona';
23
+ declaredCapabilities = { warmLease: true, lifecycle: true };
18
24
  capabilities = {
19
25
  pty: false,
20
26
  snapshots: true,
@@ -26,10 +32,12 @@ export class DaytonaRuntime {
26
32
  daytona;
27
33
  snapshot;
28
34
  defaultHomeDir;
35
+ recreateOnFailedStart;
29
36
  constructor(options) {
30
37
  this.daytona = options.daytona;
31
38
  this.snapshot = options.snapshot;
32
39
  this.defaultHomeDir = options.defaultHomeDir;
40
+ this.recreateOnFailedStart = options.recreateOnFailedStart ?? true;
33
41
  }
34
42
  async launch(options = {}) {
35
43
  const sandbox = await this.createSandbox(options);
@@ -269,11 +277,54 @@ export class DaytonaRuntime {
269
277
  `mv ${shellSingleQuote(pendingStatusPath)} ${shellSingleQuote(statusPath)}`,
270
278
  'exit "$daytona_run_status"',
271
279
  ].join('\n');
272
- const result = await sandbox.process.executeSessionCommand(sessionId, {
273
- command,
274
- runAsync: true,
275
- suppressInputEcho: options.suppressInputEcho,
276
- }, this.msToSeconds(options.timeoutMs));
280
+ // A deterministic session can outlive a previous caller. Capture its
281
+ // command IDs before this POST so a response-lost admission can only be
282
+ // reconciled to a command that appeared during this attempt. The Daytona
283
+ // SDK exposes no AbortSignal/timeout for getSession, so the caller waits
284
+ // only for this bounded race; an unreadable baseline simply disables
285
+ // reconciliation and keeps the normal direct-admission path intact.
286
+ let baselineCommandIds = null;
287
+ try {
288
+ const baselineSession = await readBoundedDaytonaSession(sandbox.process.getSession(sessionId), admissionReconciliationLookupDeadline());
289
+ baselineCommandIds = daytonaSessionCommandIds(baselineSession, sessionId);
290
+ }
291
+ catch {
292
+ // Do not turn a best-effort idempotency observation into a new
293
+ // pre-admission failure. If the subsequent POST is outcome-unknown,
294
+ // preserving its original error is safer than guessing.
295
+ }
296
+ let result;
297
+ try {
298
+ result = await sandbox.process.executeSessionCommand(sessionId, {
299
+ command,
300
+ runAsync: true,
301
+ suppressInputEcho: options.suppressInputEcho,
302
+ }, this.msToSeconds(options.timeoutMs));
303
+ }
304
+ catch (error) {
305
+ if (baselineCommandIds && isOutcomeUnknownAdmissionError(error)) {
306
+ try {
307
+ // A timeout/network error can mean the POST was admitted before its
308
+ // response was lost. Accept exactly one *new* complete generated
309
+ // command, never a stale, duplicate, conflicting, or unreadable
310
+ // record, and never submit again.
311
+ const postAdmissionSession = await readBoundedDaytonaSession(sandbox.process.getSession(sessionId), admissionReconciliationLookupDeadline());
312
+ const newMatches = matchingNewDaytonaSessionCommandIds(postAdmissionSession, baselineCommandIds, command, sessionId);
313
+ if (newMatches.length === 1) {
314
+ return {
315
+ sessionId,
316
+ commandId: newMatches[0],
317
+ reconciled: true,
318
+ };
319
+ }
320
+ }
321
+ catch {
322
+ // Preserve the original admission error. Failed reconciliation is
323
+ // still outcome-unknown and belongs on the caller's quarantine path.
324
+ }
325
+ }
326
+ throw error;
327
+ }
277
328
  if (!result.cmdId) {
278
329
  throw new Error('Daytona async session command did not return a command id');
279
330
  }
@@ -399,6 +450,13 @@ export class DaytonaRuntime {
399
450
  handle.homeDir = homeDir;
400
451
  return homeDir;
401
452
  }
453
+ /**
454
+ * Fetches the sandboxClass + warmPoolId fields Daytona's wire response
455
+ * carries that the SDK's Sandbox class drops. See wire-supplement.ts.
456
+ */
457
+ async getWireSupplement(handle) {
458
+ return fetchDaytonaWireSupplement(this.daytona, handle.id);
459
+ }
402
460
  async destroy(handle) {
403
461
  const entry = this.sandboxes.get(handle.id);
404
462
  if (!entry) {
@@ -411,13 +469,11 @@ export class DaytonaRuntime {
411
469
  this.sandboxes.delete(handle.id);
412
470
  return;
413
471
  }
414
- const client = this.daytona;
415
- const remove = client.remove ?? client.delete;
416
472
  // Order matters: do the remote delete *first*, and only drop the
417
473
  // local map entry after it succeeds. If we dropped the entry first
418
474
  // and the remote delete then failed, the handle id would be lost
419
475
  // and the caller could not retry cleanup safely.
420
- await remove.call(client, entry.sandbox);
476
+ await this.removeSandbox(entry.sandbox);
421
477
  this.sandboxes.delete(handle.id);
422
478
  }
423
479
  async stop(handle) {
@@ -431,9 +487,13 @@ export class DaytonaRuntime {
431
487
  const client = this.daytona;
432
488
  if (client.stop) {
433
489
  await client.stop(entry.sandbox);
490
+ handle.state = 'STOPPED';
434
491
  return;
435
492
  }
436
- await entry.sandbox.stop?.();
493
+ if (typeof entry.sandbox.stop === 'function') {
494
+ await entry.sandbox.stop();
495
+ handle.state = 'STOPPED';
496
+ }
437
497
  }
438
498
  async start(handle) {
439
499
  const entry = this.sandboxes.get(handle.id);
@@ -450,9 +510,149 @@ export class DaytonaRuntime {
450
510
  else {
451
511
  await entry.sandbox.start?.();
452
512
  }
453
- handle.state = 'STARTED';
513
+ // SDK 0.180's lifecycle call waits for the platform state to become
514
+ // STARTED, but provider runs have shown that state can be reached while
515
+ // the Toolbox exec daemon still returns 502. Rehydrate first so the probe
516
+ // also avoids any pre-stop SDK client state.
517
+ // A failed control-plane rehydration is not proof that this specific
518
+ // sandbox's exec daemon is dead (it can be auth, rate limit, or network),
519
+ // so never create a second resource for that class of failure.
520
+ const restartedSandbox = await awaitLookupOperation(this.daytona.get(handle.id), lookupDeadline(undefined), `rehydrating sandbox ${handle.id} after start`);
521
+ try {
522
+ await this.assertSandboxExecHealthy(restartedSandbox);
523
+ }
524
+ catch (restartError) {
525
+ if (!this.recreateOnFailedStart) {
526
+ throw restartError;
527
+ }
528
+ return this.recreateAfterFailedStart(handle, entry, restartError);
529
+ }
530
+ entry.sandbox = restartedSandbox;
531
+ this.updateHandleFromSandbox(handle, restartedSandbox);
454
532
  return handle;
455
533
  }
534
+ async recreateAfterFailedStart(handle, entry, restartError) {
535
+ const originalSandbox = entry.sandbox;
536
+ const originalId = handle.id;
537
+ let replacement;
538
+ // entry.sandbox can be a list-derived object registered via attachSandbox
539
+ // without ever going through get(), which leaves env, volumes, and
540
+ // network settings unpopulated until refreshData() runs. Hydrate before
541
+ // reading it for replacementCreateParams so those settings are not
542
+ // silently dropped from the replacement. Bound the refresh with the same
543
+ // lookup deadline used elsewhere so a hanging SDK call cannot leave
544
+ // recreateAfterFailedStart wedged before the replacement is ever created.
545
+ const refreshableSandbox = originalSandbox;
546
+ if (typeof refreshableSandbox.refreshData === 'function') {
547
+ await awaitLookupOperation(Promise.resolve(refreshableSandbox.refreshData.call(originalSandbox)), lookupDeadline(undefined), `refreshing sandbox ${originalId} before replacement`);
548
+ }
549
+ try {
550
+ // Do not copy the name: Daytona requires names to be unique while the
551
+ // stopped original still exists. Labels, environment, snapshot and
552
+ // lifecycle/network settings are preserved instead.
553
+ replacement = await this.daytona.create(this.replacementCreateParams(originalSandbox));
554
+ await this.assertSandboxExecHealthy(replacement);
555
+ }
556
+ catch (recreateError) {
557
+ if (replacement) {
558
+ try {
559
+ await this.removeSandbox(replacement);
560
+ }
561
+ catch (cleanupError) {
562
+ throw new AggregateError([restartError, recreateError, cleanupError], `Daytona sandbox "${originalId}" restart and replacement failed; replacement cleanup also failed`);
563
+ }
564
+ }
565
+ throw new AggregateError([restartError, recreateError], `Daytona sandbox "${originalId}" restarted without working exec and replacement failed`);
566
+ }
567
+ try {
568
+ // Commit the replacement only after it has executed a real command and
569
+ // the unusable original has been removed. If removal fails, roll the
570
+ // replacement back so callers never unknowingly leak a second sandbox.
571
+ await this.removeSandbox(originalSandbox);
572
+ }
573
+ catch (removeOriginalError) {
574
+ try {
575
+ await this.removeSandbox(replacement);
576
+ }
577
+ catch (cleanupError) {
578
+ throw new AggregateError([restartError, removeOriginalError, cleanupError], `Daytona sandbox "${originalId}" replacement was healthy, but neither original nor replacement could be cleaned up`);
579
+ }
580
+ throw new AggregateError([restartError, removeOriginalError], `Daytona sandbox "${originalId}" replacement was rolled back because original cleanup failed`);
581
+ }
582
+ this.sandboxes.delete(originalId);
583
+ entry.sandbox = replacement;
584
+ this.sandboxes.set(replacement.id, entry);
585
+ this.updateHandleFromSandbox(handle, replacement);
586
+ return handle;
587
+ }
588
+ async assertSandboxExecHealthy(sandbox) {
589
+ let lastFailure;
590
+ for (let attempt = 1; attempt <= DAYTONA_POST_START_EXEC_PROBE_ATTEMPTS; attempt += 1) {
591
+ try {
592
+ const result = await sandbox.process.executeCommand('true', undefined, undefined, DAYTONA_POST_START_EXEC_PROBE_TIMEOUT_SECONDS);
593
+ if (result.exitCode === 0) {
594
+ return;
595
+ }
596
+ lastFailure = new Error(`Daytona sandbox "${sandbox.id}" post-start exec probe exited ${String(result.exitCode)}`);
597
+ }
598
+ catch (error) {
599
+ lastFailure = error;
600
+ }
601
+ if (attempt < DAYTONA_POST_START_EXEC_PROBE_ATTEMPTS) {
602
+ await new Promise((resolve) => setTimeout(resolve, DAYTONA_POST_START_EXEC_PROBE_DELAY_MS));
603
+ }
604
+ }
605
+ throw lastFailure;
606
+ }
607
+ replacementCreateParams(sandbox) {
608
+ const source = sandbox;
609
+ const labels = isStringRecord(source.labels) ? { ...source.labels } : undefined;
610
+ const snapshot = typeof source.snapshot === 'string' && source.snapshot.trim()
611
+ ? source.snapshot.trim()
612
+ : this.snapshot;
613
+ const language = labels?.['code-toolbox-language']?.trim() || 'typescript';
614
+ return {
615
+ ...(snapshot ? { snapshot } : { language }),
616
+ ...(typeof source.user === 'string' && source.user.trim() ? { user: source.user } : {}),
617
+ ...(isStringRecord(source.env) ? { envVars: { ...source.env } } : {}),
618
+ ...(labels ? { labels } : {}),
619
+ ...(typeof source.public === 'boolean' ? { public: source.public } : {}),
620
+ ...(typeof source.autoStopInterval === 'number'
621
+ ? { autoStopInterval: source.autoStopInterval }
622
+ : {}),
623
+ ...(typeof source.autoArchiveInterval === 'number'
624
+ ? { autoArchiveInterval: source.autoArchiveInterval }
625
+ : {}),
626
+ ...(typeof source.autoDeleteInterval === 'number'
627
+ ? { autoDeleteInterval: source.autoDeleteInterval }
628
+ : {}),
629
+ ...(Array.isArray(source.volumes) ? { volumes: [...source.volumes] } : {}),
630
+ ...(typeof source.networkBlockAll === 'boolean'
631
+ ? { networkBlockAll: source.networkBlockAll }
632
+ : {}),
633
+ ...(typeof source.networkAllowList === 'string' && source.networkAllowList.trim()
634
+ ? { networkAllowList: source.networkAllowList }
635
+ : {}),
636
+ };
637
+ }
638
+ removeSandbox(sandbox) {
639
+ const client = this.daytona;
640
+ const remove = client.remove ?? client.delete;
641
+ return remove.call(client, sandbox);
642
+ }
643
+ updateHandleFromSandbox(handle, sandbox) {
644
+ handle.id = sandbox.id;
645
+ handle.state = this.readSandboxState(sandbox)?.toUpperCase() ?? 'STARTED';
646
+ if (sandbox.createdAt) {
647
+ handle.createdAt = sandbox.createdAt;
648
+ }
649
+ if (sandbox.updatedAt) {
650
+ handle.updatedAt = sandbox.updatedAt;
651
+ }
652
+ if (sandbox.lastActivityAt) {
653
+ handle.lastActivityAt = sandbox.lastActivityAt;
654
+ }
655
+ }
456
656
  async createSandbox(options) {
457
657
  const params = this.buildCreateParams(options);
458
658
  const createOptions = this.buildCreateOptions(options);
@@ -694,6 +894,12 @@ export class DaytonaRuntime {
694
894
  function normalizeDaytonaState(state) {
695
895
  return state.toLowerCase();
696
896
  }
897
+ function isStringRecord(value) {
898
+ if (!value || typeof value !== 'object' || Array.isArray(value)) {
899
+ return false;
900
+ }
901
+ return Object.values(value).every((entry) => typeof entry === 'string');
902
+ }
697
903
  function lookupDeadline(timeoutMs) {
698
904
  const effectiveTimeoutMs = timeoutMs ?? DEFAULT_DAYTONA_LOOKUP_TIMEOUT_MS;
699
905
  const normalizedTimeoutMs = Number.isFinite(effectiveTimeoutMs) && effectiveTimeoutMs > 0
@@ -726,6 +932,61 @@ async function awaitLookupOperation(operation, deadline, description) {
726
932
  }
727
933
  }
728
934
  }
935
+ function admissionReconciliationLookupDeadline() {
936
+ return lookupDeadline(DAYTONA_ADMISSION_RECONCILIATION_LOOKUP_TIMEOUT_MS);
937
+ }
938
+ /**
939
+ * Daytona's getSession currently accepts no timeout or AbortSignal. Keep the
940
+ * underlying request best-effort, but never let reconciliation add an
941
+ * unbounded wait after the separate admission timeout has already elapsed.
942
+ */
943
+ async function readBoundedDaytonaSession(operation, deadline) {
944
+ return awaitLookupOperation(operation, deadline, 'reading async session for admission reconciliation');
945
+ }
946
+ function daytonaSessionCommands(session, expectedSessionId) {
947
+ if (!session || typeof session !== 'object') {
948
+ throw new Error('Daytona async session response is unreadable');
949
+ }
950
+ const record = session;
951
+ if (record.sessionId !== expectedSessionId) {
952
+ throw new Error('Daytona async session response belongs to another session');
953
+ }
954
+ const commands = record.commands;
955
+ if (!Array.isArray(commands)) {
956
+ throw new Error('Daytona async session command list is unreadable');
957
+ }
958
+ const parsedCommands = commands.map((candidate) => {
959
+ if (!candidate || typeof candidate !== 'object') {
960
+ throw new Error('Daytona async session command is unreadable');
961
+ }
962
+ const id = candidate.id;
963
+ if (typeof id !== 'string' || id.length === 0) {
964
+ throw new Error('Daytona async session command id is unreadable');
965
+ }
966
+ return {
967
+ id,
968
+ command: candidate.command,
969
+ };
970
+ });
971
+ if (new Set(parsedCommands.map((candidate) => candidate.id)).size !== parsedCommands.length) {
972
+ throw new Error('Daytona async session command ids are ambiguous');
973
+ }
974
+ return parsedCommands;
975
+ }
976
+ function daytonaSessionCommandIds(session, expectedSessionId) {
977
+ return new Set(daytonaSessionCommands(session, expectedSessionId).map((candidate) => candidate.id));
978
+ }
979
+ function matchingNewDaytonaSessionCommandIds(session, baselineCommandIds, command, expectedSessionId) {
980
+ const newCommands = daytonaSessionCommands(session, expectedSessionId)
981
+ .filter((candidate) => !baselineCommandIds.has(candidate.id));
982
+ // A newly-created deterministic session should gain exactly one command from
983
+ // this admission. More than one new record — including a different command —
984
+ // is an ambiguous outcome, not evidence that our command may be adopted.
985
+ if (newCommands.length !== 1 || newCommands[0].command !== command) {
986
+ return [];
987
+ }
988
+ return [newCommands[0].id];
989
+ }
729
990
  function closeAsyncIteratorBestEffort(iterator) {
730
991
  if (!iterator.return) {
731
992
  return;
@@ -756,6 +1017,27 @@ function parseShellExitCode(value) {
756
1017
  ? exitCode
757
1018
  : null;
758
1019
  }
1020
+ function isOutcomeUnknownAdmissionError(error) {
1021
+ const record = error && typeof error === 'object'
1022
+ ? error
1023
+ : null;
1024
+ const code = typeof record?.code === 'string' ? record.code.toUpperCase() : '';
1025
+ const name = typeof record?.name === 'string' ? record.name : '';
1026
+ const message = error instanceof Error
1027
+ ? error.message
1028
+ : typeof record?.message === 'string'
1029
+ ? record.message
1030
+ : String(error);
1031
+ return (code === 'ECONNABORTED'
1032
+ || code === 'ETIMEDOUT'
1033
+ || code === 'ECONNRESET'
1034
+ || name === 'DaytonaTimeoutError'
1035
+ || /\btimeout of \d+ms exceeded\b/iu.test(message)
1036
+ || /\btimed out\b/iu.test(message)
1037
+ || /\bnetwork connection lost\b/iu.test(message)
1038
+ || /\bsocket hang up\b/iu.test(message)
1039
+ || /\bfetch failed\b/iu.test(message));
1040
+ }
759
1041
  function parentDirectory(destination) {
760
1042
  const normalized = destination.trim().replace(/\/+$/g, '');
761
1043
  if (!normalized || normalized === '/' || !normalized.includes('/')) {