@daytonaio/sdk 0.201.0 → 0.203.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 (54) hide show
  1. package/cjs/CodeInterpreter.js +1 -1
  2. package/cjs/CodeInterpreter.js.map +1 -1
  3. package/cjs/Daytona.d.ts +32 -6
  4. package/cjs/Daytona.js +35 -21
  5. package/cjs/Daytona.js.map +1 -1
  6. package/cjs/Image.js +14 -14
  7. package/cjs/Image.js.map +1 -1
  8. package/cjs/LspServer.js +1 -1
  9. package/cjs/LspServer.js.map +1 -1
  10. package/cjs/Process.d.ts +9 -3
  11. package/cjs/Process.js +26 -5
  12. package/cjs/Process.js.map +1 -1
  13. package/cjs/README.md +43 -0
  14. package/cjs/Sandbox.d.ts +23 -11
  15. package/cjs/Sandbox.js +54 -35
  16. package/cjs/Sandbox.js.map +1 -1
  17. package/cjs/Secret.d.ts +4 -4
  18. package/cjs/Secret.js +4 -4
  19. package/cjs/Snapshot.d.ts +3 -3
  20. package/cjs/Snapshot.js +3 -3
  21. package/cjs/errors/DaytonaError.d.ts +50 -4
  22. package/cjs/errors/DaytonaError.js +74 -7
  23. package/cjs/errors/DaytonaError.js.map +1 -1
  24. package/cjs/index.d.ts +2 -2
  25. package/cjs/index.js +6 -2
  26. package/cjs/index.js.map +1 -1
  27. package/esm/CodeInterpreter.js +2 -2
  28. package/esm/CodeInterpreter.js.map +1 -1
  29. package/esm/Daytona.d.ts +32 -6
  30. package/esm/Daytona.js +36 -22
  31. package/esm/Daytona.js.map +1 -1
  32. package/esm/Image.js +15 -15
  33. package/esm/Image.js.map +1 -1
  34. package/esm/LspServer.js +2 -2
  35. package/esm/LspServer.js.map +1 -1
  36. package/esm/Process.d.ts +9 -3
  37. package/esm/Process.js +26 -5
  38. package/esm/Process.js.map +1 -1
  39. package/esm/README.md +43 -0
  40. package/esm/Sandbox.d.ts +23 -11
  41. package/esm/Sandbox.js +55 -36
  42. package/esm/Sandbox.js.map +1 -1
  43. package/esm/Secret.d.ts +4 -4
  44. package/esm/Secret.js +4 -4
  45. package/esm/Snapshot.d.ts +3 -3
  46. package/esm/Snapshot.js +3 -3
  47. package/esm/errors/DaytonaError.d.ts +50 -4
  48. package/esm/errors/DaytonaError.js +70 -6
  49. package/esm/errors/DaytonaError.js.map +1 -1
  50. package/esm/index.d.ts +2 -2
  51. package/esm/index.js +3 -1
  52. package/esm/index.js.map +1 -1
  53. package/esm/utils/Import.js +1 -1
  54. package/package.json +5 -5
package/esm/Process.d.ts CHANGED
@@ -38,14 +38,18 @@ export declare class Process {
38
38
  private readonly apiClient;
39
39
  private readonly getPreviewToken;
40
40
  private readonly language?;
41
- constructor(clientConfig: Configuration, apiClient: ProcessApi, getPreviewToken: () => Promise<string>, language?: string);
41
+ private readonly requestTimeoutMs?;
42
+ constructor(clientConfig: Configuration, apiClient: ProcessApi, getPreviewToken: () => Promise<string>, language?: string, requestTimeoutMs?: number);
43
+ private execRequestOptions;
42
44
  /**
43
45
  * Executes a shell command in the Sandbox.
44
46
  *
45
47
  * @param {string} command - Shell command to execute
46
48
  * @param {string} [cwd] - Working directory for command execution. If not specified, uses the sandbox working directory.
47
49
  * @param {Record<string, string>} [env] - Environment variables to set for the command
48
- * @param {number} [timeout] - Maximum time in seconds to wait for the command to complete.
50
+ * @param {number} [timeout] - Maximum time in seconds to wait for the command to complete. The command is
51
+ * terminated when it elapses. The HTTP request waits for the full timeout, even beyond
52
+ * the client-wide `requestTimeoutMs`; `0` disables the server-side limit.
49
53
  * @returns {Promise<ExecuteResponse>} Command execution results containing:
50
54
  * - exitCode: The command's exit status
51
55
  * - result: Standard output from the command
@@ -70,7 +74,9 @@ export declare class Process {
70
74
  *
71
75
  * @param {string} code - Code to execute
72
76
  * @param {CodeRunParams} params - Parameters for code execution
73
- * @param {number} [timeout] - Maximum time in seconds to wait for execution to complete
77
+ * @param {number} [timeout] - Maximum time in seconds to wait for execution to complete. The execution is
78
+ * terminated when it elapses. The HTTP request waits for the full timeout, even beyond
79
+ * the client-wide `requestTimeoutMs`; `0` disables the server-side limit.
74
80
  * @returns {Promise<ExecuteResponse>} Code execution results containing:
75
81
  * - exitCode: The execution's exit status
76
82
  * - result: Standard output from the code
package/esm/Process.js CHANGED
@@ -16,6 +16,9 @@ export const MAX_PREFIX_LEN = Math.max(STDOUT_PREFIX_BYTES.length, STDERR_PREFIX
16
16
  // Capability token advertised on PTY WebSocket connects so the daemon sends the
17
17
  // "exited" control message; clients that don't send it only get the close frame.
18
18
  const PTY_EXIT_CONTROL_SUBPROTOCOL = 'X-Daytona-Pty-Exit-Control';
19
+ // Pads the per-request HTTP deadline over the server-side execution timeout,
20
+ // mirroring Go's execContext (timeout + 5s) and Python's `_request_timeout = timeout + 5`.
21
+ const EXEC_TIMEOUT_BUFFER_MS = 5000;
19
22
  /**
20
23
  * Parameters for code execution.
21
24
  */
@@ -90,11 +93,25 @@ let Process = (() => {
90
93
  apiClient;
91
94
  getPreviewToken;
92
95
  language;
93
- constructor(clientConfig, apiClient, getPreviewToken, language) {
96
+ requestTimeoutMs;
97
+ constructor(clientConfig, apiClient, getPreviewToken, language, requestTimeoutMs) {
94
98
  this.clientConfig = clientConfig;
95
99
  this.apiClient = apiClient;
96
100
  this.getPreviewToken = getPreviewToken;
97
101
  this.language = language;
102
+ this.requestTimeoutMs = requestTimeoutMs;
103
+ }
104
+ // With an explicit execution timeout the HTTP wait must not be capped by a
105
+ // configured bounded DaytonaConfig.requestTimeoutMs: the request is bounded by
106
+ // the execution timeout + buffer instead. A non-positive execution timeout
107
+ // leaves the wait uncapped (0 disables the server-side limit; negatives fail
108
+ // fast at the API). Without a configured positive requestTimeoutMs no override
109
+ // is applied, preserving the client-wide default deadline as-is.
110
+ execRequestOptions(timeout) {
111
+ if (timeout === undefined || this.requestTimeoutMs === undefined || this.requestTimeoutMs <= 0) {
112
+ return undefined;
113
+ }
114
+ return { timeout: timeout > 0 ? timeout * 1000 + EXEC_TIMEOUT_BUFFER_MS : 0 };
98
115
  }
99
116
  /**
100
117
  * Executes a shell command in the Sandbox.
@@ -102,7 +119,9 @@ let Process = (() => {
102
119
  * @param {string} command - Shell command to execute
103
120
  * @param {string} [cwd] - Working directory for command execution. If not specified, uses the sandbox working directory.
104
121
  * @param {Record<string, string>} [env] - Environment variables to set for the command
105
- * @param {number} [timeout] - Maximum time in seconds to wait for the command to complete.
122
+ * @param {number} [timeout] - Maximum time in seconds to wait for the command to complete. The command is
123
+ * terminated when it elapses. The HTTP request waits for the full timeout, even beyond
124
+ * the client-wide `requestTimeoutMs`; `0` disables the server-side limit.
106
125
  * @returns {Promise<ExecuteResponse>} Command execution results containing:
107
126
  * - exitCode: The command's exit status
108
127
  * - result: Standard output from the command
@@ -127,7 +146,7 @@ let Process = (() => {
127
146
  timeout,
128
147
  cwd: cwd,
129
148
  envs: env && Object.keys(env).length ? env : undefined,
130
- });
149
+ }, this.execRequestOptions(timeout));
131
150
  const result = response.data.result ?? '';
132
151
  return {
133
152
  exitCode: response.data.exitCode ?? response.data.code,
@@ -142,7 +161,9 @@ let Process = (() => {
142
161
  *
143
162
  * @param {string} code - Code to execute
144
163
  * @param {CodeRunParams} params - Parameters for code execution
145
- * @param {number} [timeout] - Maximum time in seconds to wait for execution to complete
164
+ * @param {number} [timeout] - Maximum time in seconds to wait for execution to complete. The execution is
165
+ * terminated when it elapses. The HTTP request waits for the full timeout, even beyond
166
+ * the client-wide `requestTimeoutMs`; `0` disables the server-side limit.
146
167
  * @returns {Promise<ExecuteResponse>} Code execution results containing:
147
168
  * - exitCode: The execution's exit status
148
169
  * - result: Standard output from the code
@@ -206,7 +227,7 @@ let Process = (() => {
206
227
  envs: params?.env,
207
228
  timeout,
208
229
  };
209
- const response = await this.apiClient.codeRun(request);
230
+ const response = await this.apiClient.codeRun(request, this.execRequestOptions(timeout));
210
231
  const data = response.data;
211
232
  const charts = data.artifacts?.charts?.map(parseChart) ?? [];
212
233
  return {
@@ -1 +1 @@
1
- {"version":3,"file":"Process.js","sourceRoot":"","sources":["../../../../sdk-typescript/src/Process.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Process.js","sourceRoot":"","sources":["../../../../sdk-typescript/src/Process.ts"],"names":[],"mappings":"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"}
package/esm/README.md CHANGED
@@ -174,3 +174,46 @@ const completions = await lsp.completions('path/to/file.ts', {
174
174
  character: 15,
175
175
  })
176
176
  ```
177
+
178
+ ## List method return shapes
179
+
180
+ Each `list` method returns a different shape depending on the resource. The table below shows the exact return type and how to access the elements.
181
+
182
+ | Method | Return type | Shape | Access elements |
183
+ | --- | --- | --- | --- |
184
+ | `daytona.snapshot.list(page?, limit?)` | `Promise<PaginatedSnapshots>` | Paginated wrapper | `result.items.forEach(...)` |
185
+ | `daytona.secret.list(query?)` | `Promise<ListSecretsResponse>` | Cursor-paginated wrapper | `page.items.forEach(...)` |
186
+ | `daytona.volume.list()` | `Promise<Volume[]>` | Bare array | `volumes.forEach(...)` |
187
+ | `daytona.list(query?)` | `AsyncIterableIterator<Sandbox>` | Lazy iterator | `for await (const s of daytona.list())` |
188
+
189
+ `PaginatedSnapshots` and `ListSecretsResponse` are **wrapper objects**, not arrays. Calling `.map()` or `.forEach()` directly on them throws `TypeError: result.map is not a function`. Always go through `.items`:
190
+
191
+ ```typescript
192
+ // snapshots — page-number pagination
193
+ const result = await daytona.snapshot.list(1, 20)
194
+ // result.items → Snapshot[]
195
+ // result.total → number (total across all pages)
196
+ // result.page → number (current page, 1-indexed)
197
+ // result.totalPages → number
198
+ result.items.forEach(snapshot => console.log(snapshot.name))
199
+
200
+ // secrets — cursor pagination
201
+ let cursor: string | undefined
202
+ do {
203
+ const page = await daytona.secret.list({ cursor, limit: 50 })
204
+ // page.items → Secret[]
205
+ // page.total → number
206
+ // page.nextCursor → string | null (null = no more pages)
207
+ page.items.forEach(secret => console.log(secret.name))
208
+ cursor = page.nextCursor ?? undefined
209
+ } while (cursor)
210
+
211
+ // volumes — bare array, iterate directly
212
+ const volumes = await daytona.volume.list()
213
+ volumes.forEach(vol => console.log(vol.name))
214
+
215
+ // sandboxes — lazy async iterator, fetches pages on demand
216
+ for await (const sandbox of daytona.list({ labels: { env: 'dev' } })) {
217
+ console.log(sandbox.id)
218
+ }
219
+ ```
package/esm/Sandbox.d.ts CHANGED
@@ -1,6 +1,6 @@
1
1
  import { SandboxState, SandboxApi, SandboxBackupStateEnum, Configuration } from '@daytona/api-client';
2
2
  import type { Sandbox as SandboxDto, SandboxListItem as SandboxListItemDto, PortPreviewUrl, SandboxVolume, BuildInfo, SshAccessDto, SshAccessValidationDto, SignedPortPreviewUrl, UpdateSandboxNetworkSettings, SandboxListSortField, SandboxListSortDirection } from '@daytona/api-client';
3
- import type { Resources } from './Daytona.js';
3
+ import type { ForkSandboxParams, Resources } from './Daytona.js';
4
4
  import { FileSystem } from './FileSystem.js';
5
5
  import { Git } from './Git.js';
6
6
  import { Process } from './Process.js';
@@ -66,6 +66,7 @@ export declare class Sandbox {
66
66
  private readonly sandboxApi;
67
67
  private readonly getAnalyticsApiUrl;
68
68
  private readonly subscriptionManager;
69
+ private readonly requestTimeoutMs?;
69
70
  readonly fs: FileSystem;
70
71
  readonly git: Git;
71
72
  readonly process: Process;
@@ -123,7 +124,7 @@ export declare class Sandbox {
123
124
  * @param {InfoApi} infoApi - API client for info operations
124
125
  * @param {EventSubscriptionManager} subscriptionManager - Event subscription manager for real-time updates
125
126
  */
126
- constructor(sandboxDto: SandboxDto | SandboxListItemDto, clientConfig: Configuration, axiosInstance: AxiosInstance, sandboxApi: SandboxApi, getAnalyticsApiUrl: () => Promise<string | undefined>, subscriptionManager: EventSubscriptionManager);
127
+ constructor(sandboxDto: SandboxDto | SandboxListItemDto, clientConfig: Configuration, axiosInstance: AxiosInstance, sandboxApi: SandboxApi, getAnalyticsApiUrl: () => Promise<string | undefined>, subscriptionManager: EventSubscriptionManager, requestTimeoutMs?: number);
127
128
  /**
128
129
  * Gets the user's home directory path for the logged in user inside the Sandbox.
129
130
  *
@@ -260,22 +261,25 @@ export declare class Sandbox {
260
261
  * The forked Sandbox is a copy-on-write clone of the original. It starts
261
262
  * with the same disk contents but operates independently from that point on.
262
263
  *
263
- * @param {object} [params] - Fork parameters
264
+ * @param {ForkSandboxParams} [params] - Fork parameters
264
265
  * @param {string} [params.name] - Optional name for the forked Sandbox. If not provided, a unique name will be generated.
265
266
  * @param {number} [timeout] - Maximum time to wait in seconds. 0 means no timeout.
266
267
  * Defaults to 60-second timeout.
267
268
  * @returns {Promise<Sandbox>} The forked Sandbox.
268
- * @throws {DaytonaValidationError} - If timeout is a negative number
269
+ * @throws {DaytonaInvalidArgumentError} - If timeout is a negative number
269
270
  * @throws {DaytonaError} - If the fork operation fails or times out
270
271
  *
271
272
  * @example
272
273
  * const sandbox = await daytona.get('my-sandbox');
273
- * const forked = await sandbox._experimental_fork({ name: 'my-fork' });
274
+ * const forked = await sandbox.fork({ name: 'my-fork' });
274
275
  * console.log(`Forked sandbox: ${forked.id}`);
275
276
  */
276
- _experimental_fork(params?: {
277
- name?: string;
278
- }, timeout?: number): Promise<Sandbox>;
277
+ fork(params?: ForkSandboxParams, timeout?: number): Promise<Sandbox>;
278
+ /**
279
+ * @deprecated Use `fork` instead. This method will be removed in a future version.
280
+ * @see {@link Sandbox.fork}
281
+ */
282
+ _experimental_fork(params?: ForkSandboxParams, timeout?: number): Promise<Sandbox>;
279
283
  /**
280
284
  * Creates a snapshot from the current state of the Sandbox.
281
285
  *
@@ -287,14 +291,22 @@ export declare class Sandbox {
287
291
  * @param {number} [timeout] - Maximum time to wait in seconds. 0 means no timeout.
288
292
  * Defaults to 60-second timeout.
289
293
  * @returns {Promise<void>}
290
- * @throws {DaytonaValidationError} - If timeout is a negative number
294
+ * @throws {DaytonaInvalidArgumentError} - If timeout is a negative number
291
295
  * @throws {DaytonaError} - If the snapshot operation fails or times out
292
296
  *
293
297
  * @example
294
298
  * const sandbox = await daytona.get('my-sandbox');
295
- * await sandbox._experimental_createSnapshot('my-snapshot');
299
+ * await sandbox.createSnapshot('my-snapshot');
296
300
  * console.log('Snapshot created successfully');
297
301
  */
302
+ createSnapshot(name: string, timeout?: number): Promise<void>;
303
+ /**
304
+ * @param {string} name - Name for the new snapshot
305
+ * @param {number} [timeout] - Maximum time to wait in seconds. 0 means no timeout.
306
+ * Defaults to 60-second timeout.
307
+ * @deprecated Use `createSnapshot` instead. This method will be removed in a future version.
308
+ * @see {@link Sandbox.createSnapshot}
309
+ */
298
310
  _experimental_createSnapshot(name: string, timeout?: number): Promise<void>;
299
311
  private waitForSnapshotComplete;
300
312
  /**
@@ -307,7 +319,7 @@ export declare class Sandbox {
307
319
  * @param {number} [timeout] - Maximum time to wait in seconds. 0 means no timeout.
308
320
  * Defaults to 60-second timeout.
309
321
  * @returns {Promise<void>}
310
- * @throws {DaytonaValidationError} - If timeout is a negative number
322
+ * @throws {DaytonaInvalidArgumentError} - If timeout is a negative number
311
323
  * @throws {DaytonaError} - If the pause operation fails or times out
312
324
  *
313
325
  * @example
package/esm/Sandbox.js CHANGED
@@ -11,7 +11,7 @@ import { FileSystem } from './FileSystem.js';
11
11
  import { Git } from './Git.js';
12
12
  import { Process } from './Process.js';
13
13
  import { LspServer } from './LspServer.js';
14
- import { DaytonaError, DaytonaNotFoundError, DaytonaTimeoutError, DaytonaValidationError } from './errors/DaytonaError.js';
14
+ import { DaytonaError, DaytonaInvalidArgumentError, DaytonaNotFoundError, DaytonaTimeoutError, } from './errors/DaytonaError.js';
15
15
  import { CODE_TOOLBOX_LANGUAGE_LABEL } from './Daytona.js';
16
16
  import { ComputerUse } from './ComputerUse.js';
17
17
  import { CodeInterpreter } from './CodeInterpreter.js';
@@ -87,8 +87,8 @@ let Sandbox = (() => {
87
87
  let _start_decorators;
88
88
  let _recover_decorators;
89
89
  let _stop_decorators;
90
- let __experimental_fork_decorators;
91
- let __experimental_createSnapshot_decorators;
90
+ let _fork_decorators;
91
+ let _createSnapshot_decorators;
92
92
  let _pause_decorators;
93
93
  let _delete_decorators;
94
94
  let _waitUntilStarted_decorators;
@@ -128,8 +128,8 @@ let Sandbox = (() => {
128
128
  _start_decorators = [WithInstrumentation(), withEvents];
129
129
  _recover_decorators = [withEvents];
130
130
  _stop_decorators = [WithInstrumentation(), withEvents];
131
- __experimental_fork_decorators = [WithInstrumentation(), withEvents];
132
- __experimental_createSnapshot_decorators = [WithInstrumentation(), withEvents];
131
+ _fork_decorators = [WithInstrumentation(), withEvents];
132
+ _createSnapshot_decorators = [WithInstrumentation(), withEvents];
133
133
  _pause_decorators = [WithInstrumentation(), withEvents];
134
134
  _delete_decorators = [WithInstrumentation(), withEvents];
135
135
  _waitUntilStarted_decorators = [WithInstrumentation(), withEvents];
@@ -166,8 +166,8 @@ let Sandbox = (() => {
166
166
  __esDecorate(this, null, _start_decorators, { kind: "method", name: "start", static: false, private: false, access: { has: obj => "start" in obj, get: obj => obj.start }, metadata: _metadata }, null, _instanceExtraInitializers);
167
167
  __esDecorate(this, null, _recover_decorators, { kind: "method", name: "recover", static: false, private: false, access: { has: obj => "recover" in obj, get: obj => obj.recover }, metadata: _metadata }, null, _instanceExtraInitializers);
168
168
  __esDecorate(this, null, _stop_decorators, { kind: "method", name: "stop", static: false, private: false, access: { has: obj => "stop" in obj, get: obj => obj.stop }, metadata: _metadata }, null, _instanceExtraInitializers);
169
- __esDecorate(this, null, __experimental_fork_decorators, { kind: "method", name: "_experimental_fork", static: false, private: false, access: { has: obj => "_experimental_fork" in obj, get: obj => obj._experimental_fork }, metadata: _metadata }, null, _instanceExtraInitializers);
170
- __esDecorate(this, null, __experimental_createSnapshot_decorators, { kind: "method", name: "_experimental_createSnapshot", static: false, private: false, access: { has: obj => "_experimental_createSnapshot" in obj, get: obj => obj._experimental_createSnapshot }, metadata: _metadata }, null, _instanceExtraInitializers);
169
+ __esDecorate(this, null, _fork_decorators, { kind: "method", name: "fork", static: false, private: false, access: { has: obj => "fork" in obj, get: obj => obj.fork }, metadata: _metadata }, null, _instanceExtraInitializers);
170
+ __esDecorate(this, null, _createSnapshot_decorators, { kind: "method", name: "createSnapshot", static: false, private: false, access: { has: obj => "createSnapshot" in obj, get: obj => obj.createSnapshot }, metadata: _metadata }, null, _instanceExtraInitializers);
171
171
  __esDecorate(this, null, _pause_decorators, { kind: "method", name: "pause", static: false, private: false, access: { has: obj => "pause" in obj, get: obj => obj.pause }, metadata: _metadata }, null, _instanceExtraInitializers);
172
172
  __esDecorate(this, null, _delete_decorators, { kind: "method", name: "delete", static: false, private: false, access: { has: obj => "delete" in obj, get: obj => obj.delete }, metadata: _metadata }, null, _instanceExtraInitializers);
173
173
  __esDecorate(this, null, _waitUntilStarted_decorators, { kind: "method", name: "waitUntilStarted", static: false, private: false, access: { has: obj => "waitUntilStarted" in obj, get: obj => obj.waitUntilStarted }, metadata: _metadata }, null, _instanceExtraInitializers);
@@ -201,6 +201,7 @@ let Sandbox = (() => {
201
201
  sandboxApi;
202
202
  getAnalyticsApiUrl;
203
203
  subscriptionManager;
204
+ requestTimeoutMs;
204
205
  fs;
205
206
  git;
206
207
  process;
@@ -258,18 +259,19 @@ let Sandbox = (() => {
258
259
  * @param {InfoApi} infoApi - API client for info operations
259
260
  * @param {EventSubscriptionManager} subscriptionManager - Event subscription manager for real-time updates
260
261
  */
261
- constructor(sandboxDto, clientConfig, axiosInstance, sandboxApi, getAnalyticsApiUrl, subscriptionManager) {
262
+ constructor(sandboxDto, clientConfig, axiosInstance, sandboxApi, getAnalyticsApiUrl, subscriptionManager, requestTimeoutMs) {
262
263
  this.clientConfig = clientConfig;
263
264
  this.axiosInstance = axiosInstance;
264
265
  this.sandboxApi = sandboxApi;
265
266
  this.getAnalyticsApiUrl = getAnalyticsApiUrl;
266
267
  this.subscriptionManager = subscriptionManager;
268
+ this.requestTimeoutMs = requestTimeoutMs;
267
269
  this.processSandboxDto(sandboxDto);
268
270
  const getPreviewToken = async () => (await this.getPreviewLink(1)).token;
269
271
  this.fs = new FileSystem(this.clientConfig, new FileSystemApi(this.clientConfig, '', this.axiosInstance));
270
272
  this.git = new Git(new GitApi(this.clientConfig, '', this.axiosInstance));
271
273
  const language = sandboxDto.labels?.[CODE_TOOLBOX_LANGUAGE_LABEL];
272
- this.process = new Process(this.clientConfig, new ProcessApi(this.clientConfig, '', this.axiosInstance), getPreviewToken, language);
274
+ this.process = new Process(this.clientConfig, new ProcessApi(this.clientConfig, '', this.axiosInstance), getPreviewToken, language, this.requestTimeoutMs);
273
275
  this.codeInterpreter = new CodeInterpreter(this.clientConfig, new InterpreterApi(this.clientConfig, '', this.axiosInstance), getPreviewToken);
274
276
  this.computerUse = new ComputerUse(new ComputerUseApi(this.clientConfig, '', this.axiosInstance));
275
277
  this.infoApi = new InfoApi(this.clientConfig, '', this.axiosInstance);
@@ -335,7 +337,7 @@ let Sandbox = (() => {
335
337
  basePath: analyticsApiUrl,
336
338
  apiKey: this.clientConfig.baseOptions?.headers?.Authorization,
337
339
  });
338
- return new AnalyticsTelemetryApi(analyticsConfig, undefined, Daytona.createAxiosInstance());
340
+ return new AnalyticsTelemetryApi(analyticsConfig, undefined, Daytona.createAxiosInstance(this.requestTimeoutMs));
339
341
  }
340
342
  /**
341
343
  * @deprecated Use `getUserHomeDir` instead. This method will be removed in a future version.
@@ -410,7 +412,7 @@ let Sandbox = (() => {
410
412
  */
411
413
  async start(timeout = 60) {
412
414
  if (timeout < 0) {
413
- throw new DaytonaValidationError('Timeout must be a non-negative number');
415
+ throw new DaytonaInvalidArgumentError('Timeout must be a non-negative number');
414
416
  }
415
417
  const startTime = Date.now();
416
418
  const response = await this.sandboxApi.startSandbox(this.id, undefined, { timeout: timeout * 1000 });
@@ -433,7 +435,7 @@ let Sandbox = (() => {
433
435
  */
434
436
  async recover(timeout = 60) {
435
437
  if (timeout < 0) {
436
- throw new DaytonaValidationError('Timeout must be a non-negative number');
438
+ throw new DaytonaInvalidArgumentError('Timeout must be a non-negative number');
437
439
  }
438
440
  const startTime = Date.now();
439
441
  const response = await this.sandboxApi.recoverSandbox(this.id, undefined, undefined, { timeout: timeout * 1000 });
@@ -458,7 +460,7 @@ let Sandbox = (() => {
458
460
  */
459
461
  async stop(timeout = 60, force = false) {
460
462
  if (timeout < 0) {
461
- throw new DaytonaValidationError('Timeout must be a non-negative number');
463
+ throw new DaytonaInvalidArgumentError('Timeout must be a non-negative number');
462
464
  }
463
465
  const startTime = Date.now();
464
466
  await this.sandboxApi.stopSandbox(this.id, undefined, force, { timeout: timeout * 1000 });
@@ -472,22 +474,22 @@ let Sandbox = (() => {
472
474
  * The forked Sandbox is a copy-on-write clone of the original. It starts
473
475
  * with the same disk contents but operates independently from that point on.
474
476
  *
475
- * @param {object} [params] - Fork parameters
477
+ * @param {ForkSandboxParams} [params] - Fork parameters
476
478
  * @param {string} [params.name] - Optional name for the forked Sandbox. If not provided, a unique name will be generated.
477
479
  * @param {number} [timeout] - Maximum time to wait in seconds. 0 means no timeout.
478
480
  * Defaults to 60-second timeout.
479
481
  * @returns {Promise<Sandbox>} The forked Sandbox.
480
- * @throws {DaytonaValidationError} - If timeout is a negative number
482
+ * @throws {DaytonaInvalidArgumentError} - If timeout is a negative number
481
483
  * @throws {DaytonaError} - If the fork operation fails or times out
482
484
  *
483
485
  * @example
484
486
  * const sandbox = await daytona.get('my-sandbox');
485
- * const forked = await sandbox._experimental_fork({ name: 'my-fork' });
487
+ * const forked = await sandbox.fork({ name: 'my-fork' });
486
488
  * console.log(`Forked sandbox: ${forked.id}`);
487
489
  */
488
- async _experimental_fork(params, timeout = 60) {
490
+ async fork(params, timeout = 60) {
489
491
  if (timeout < 0) {
490
- throw new DaytonaValidationError('Timeout must be a non-negative number');
492
+ throw new DaytonaInvalidArgumentError('Timeout must be a non-negative number');
491
493
  }
492
494
  const startTime = Date.now();
493
495
  const response = await this.sandboxApi.forkSandbox(this.id, { name: params?.name }, undefined, {
@@ -500,12 +502,19 @@ let Sandbox = (() => {
500
502
  ...sandboxDto,
501
503
  toolboxProxyUrl: (await this.sandboxApi.getToolboxProxyUrl(sandboxDto.id)).data.url,
502
504
  };
503
- const forkedSandbox = new Sandbox(sandboxWithProxyUrl, structuredClone(this.clientConfig), Daytona.createAxiosInstance(), this.sandboxApi, this.getAnalyticsApiUrl, this.subscriptionManager);
505
+ const forkedSandbox = new Sandbox(sandboxWithProxyUrl, structuredClone(this.clientConfig), Daytona.createAxiosInstance(this.requestTimeoutMs), this.sandboxApi, this.getAnalyticsApiUrl, this.subscriptionManager, this.requestTimeoutMs);
504
506
  const timeElapsed = Date.now() - startTime;
505
507
  const remainingTimeout = timeout ? Math.max(0.001, timeout - timeElapsed / 1000) : timeout;
506
508
  await forkedSandbox.waitUntilStarted(remainingTimeout);
507
509
  return forkedSandbox;
508
510
  }
511
+ /**
512
+ * @deprecated Use `fork` instead. This method will be removed in a future version.
513
+ * @see {@link Sandbox.fork}
514
+ */
515
+ async _experimental_fork(params, timeout = 60) {
516
+ return this.fork(params, timeout);
517
+ }
509
518
  /**
510
519
  * Creates a snapshot from the current state of the Sandbox.
511
520
  *
@@ -517,17 +526,17 @@ let Sandbox = (() => {
517
526
  * @param {number} [timeout] - Maximum time to wait in seconds. 0 means no timeout.
518
527
  * Defaults to 60-second timeout.
519
528
  * @returns {Promise<void>}
520
- * @throws {DaytonaValidationError} - If timeout is a negative number
529
+ * @throws {DaytonaInvalidArgumentError} - If timeout is a negative number
521
530
  * @throws {DaytonaError} - If the snapshot operation fails or times out
522
531
  *
523
532
  * @example
524
533
  * const sandbox = await daytona.get('my-sandbox');
525
- * await sandbox._experimental_createSnapshot('my-snapshot');
534
+ * await sandbox.createSnapshot('my-snapshot');
526
535
  * console.log('Snapshot created successfully');
527
536
  */
528
- async _experimental_createSnapshot(name, timeout = 60) {
537
+ async createSnapshot(name, timeout = 60) {
529
538
  if (timeout < 0) {
530
- throw new DaytonaValidationError('Timeout must be a non-negative number');
539
+ throw new DaytonaInvalidArgumentError('Timeout must be a non-negative number');
531
540
  }
532
541
  const startTime = Date.now();
533
542
  const req = { name };
@@ -539,6 +548,16 @@ let Sandbox = (() => {
539
548
  const remainingTimeout = timeout ? Math.max(0.001, timeout - timeElapsed / 1000) : timeout;
540
549
  await this.waitForSnapshotComplete(remainingTimeout);
541
550
  }
551
+ /**
552
+ * @param {string} name - Name for the new snapshot
553
+ * @param {number} [timeout] - Maximum time to wait in seconds. 0 means no timeout.
554
+ * Defaults to 60-second timeout.
555
+ * @deprecated Use `createSnapshot` instead. This method will be removed in a future version.
556
+ * @see {@link Sandbox.createSnapshot}
557
+ */
558
+ async _experimental_createSnapshot(name, timeout = 60) {
559
+ return this.createSnapshot(name, timeout);
560
+ }
542
561
  async waitForSnapshotComplete(timeout) {
543
562
  const errorStates = [SandboxState.ERROR, SandboxState.BUILD_FAILED];
544
563
  const excludeStates = new Set([SandboxState.SNAPSHOTTING, ...errorStates]);
@@ -555,7 +574,7 @@ let Sandbox = (() => {
555
574
  * @param {number} [timeout] - Maximum time to wait in seconds. 0 means no timeout.
556
575
  * Defaults to 60-second timeout.
557
576
  * @returns {Promise<void>}
558
- * @throws {DaytonaValidationError} - If timeout is a negative number
577
+ * @throws {DaytonaInvalidArgumentError} - If timeout is a negative number
559
578
  * @throws {DaytonaError} - If the pause operation fails or times out
560
579
  *
561
580
  * @example
@@ -565,7 +584,7 @@ let Sandbox = (() => {
565
584
  */
566
585
  async pause(timeout = 60) {
567
586
  if (timeout < 0) {
568
- throw new DaytonaValidationError('Timeout must be a non-negative number');
587
+ throw new DaytonaInvalidArgumentError('Timeout must be a non-negative number');
569
588
  }
570
589
  const startTime = Date.now();
571
590
  await this.sandboxApi.pauseSandbox(this.id, undefined, {
@@ -596,7 +615,7 @@ let Sandbox = (() => {
596
615
  */
597
616
  async delete(timeout = 60, wait = false) {
598
617
  if (timeout < 0) {
599
- throw new DaytonaValidationError('Timeout must be a non-negative number');
618
+ throw new DaytonaInvalidArgumentError('Timeout must be a non-negative number');
600
619
  }
601
620
  const startTime = Date.now();
602
621
  const response = await this.sandboxApi.deleteSandbox(this.id, undefined, { timeout: timeout * 1000 });
@@ -629,7 +648,7 @@ let Sandbox = (() => {
629
648
  */
630
649
  async waitUntilStarted(timeout = 60) {
631
650
  if (timeout < 0) {
632
- throw new DaytonaValidationError('Timeout must be a non-negative number');
651
+ throw new DaytonaInvalidArgumentError('Timeout must be a non-negative number');
633
652
  }
634
653
  if (this.state === SandboxState.STARTED) {
635
654
  return;
@@ -649,7 +668,7 @@ let Sandbox = (() => {
649
668
  */
650
669
  async waitUntilStopped(timeout = 60) {
651
670
  if (timeout < 0) {
652
- throw new DaytonaValidationError('Timeout must be a non-negative number');
671
+ throw new DaytonaInvalidArgumentError('Timeout must be a non-negative number');
653
672
  }
654
673
  // Treat destroyed as stopped to cover ephemeral sandboxes that are automatically deleted after stopping
655
674
  if (this.state === SandboxState.STOPPED || this.state === SandboxState.DESTROYED) {
@@ -707,7 +726,7 @@ let Sandbox = (() => {
707
726
  */
708
727
  async setAutostopInterval(interval) {
709
728
  if (!Number.isInteger(interval) || interval < 0) {
710
- throw new DaytonaValidationError('autoStopInterval must be a non-negative integer');
729
+ throw new DaytonaInvalidArgumentError('autoStopInterval must be a non-negative integer');
711
730
  }
712
731
  await this.sandboxApi.setAutostopInterval(this.id, interval);
713
732
  this.autoStopInterval = interval;
@@ -737,7 +756,7 @@ let Sandbox = (() => {
737
756
  */
738
757
  async setAutoPauseInterval(interval) {
739
758
  if (!Number.isInteger(interval) || interval < 0) {
740
- throw new DaytonaValidationError('autoPauseInterval must be a non-negative integer');
759
+ throw new DaytonaInvalidArgumentError('autoPauseInterval must be a non-negative integer');
741
760
  }
742
761
  await this.sandboxApi.setAutoPauseInterval(this.id, interval);
743
762
  this.autoPauseInterval = interval;
@@ -762,7 +781,7 @@ let Sandbox = (() => {
762
781
  */
763
782
  async setTtl(ttlMinutes) {
764
783
  if (!Number.isInteger(ttlMinutes) || ttlMinutes < 0) {
765
- throw new DaytonaValidationError('ttlMinutes must be a non-negative integer');
784
+ throw new DaytonaInvalidArgumentError('ttlMinutes must be a non-negative integer');
766
785
  }
767
786
  await this.sandboxApi.setTtl(this.id, ttlMinutes);
768
787
  }
@@ -784,7 +803,7 @@ let Sandbox = (() => {
784
803
  */
785
804
  async setAutoArchiveInterval(interval) {
786
805
  if (!Number.isInteger(interval) || interval < 0) {
787
- throw new DaytonaValidationError('autoArchiveInterval must be a non-negative integer');
806
+ throw new DaytonaInvalidArgumentError('autoArchiveInterval must be a non-negative integer');
788
807
  }
789
808
  await this.sandboxApi.setAutoArchiveInterval(this.id, interval);
790
809
  this.autoArchiveInterval = interval;
@@ -834,7 +853,7 @@ let Sandbox = (() => {
834
853
  if (settings.networkBlockAll === undefined &&
835
854
  settings.networkAllowList === undefined &&
836
855
  settings.domainAllowList === undefined) {
837
- throw new DaytonaValidationError('At least one of networkBlockAll, networkAllowList or domainAllowList must be set');
856
+ throw new DaytonaInvalidArgumentError('At least one of networkBlockAll, networkAllowList or domainAllowList must be set');
838
857
  }
839
858
  const response = await this.sandboxApi.updateNetworkSettings(this.id, settings);
840
859
  this.processSandboxDto(response.data);
@@ -1007,10 +1026,10 @@ let Sandbox = (() => {
1007
1026
  */
1008
1027
  async resize(resources, timeout = 60) {
1009
1028
  if (timeout < 0) {
1010
- throw new DaytonaValidationError('Timeout must be a non-negative number');
1029
+ throw new DaytonaInvalidArgumentError('Timeout must be a non-negative number');
1011
1030
  }
1012
1031
  if ('gpu' in resources || 'gpuType' in resources) {
1013
- throw new DaytonaValidationError('Resize does not support changes to gpu or gpuType — to change GPU, create a new Sandbox');
1032
+ throw new DaytonaInvalidArgumentError('Resize does not support changes to gpu or gpuType — to change GPU, create a new Sandbox');
1014
1033
  }
1015
1034
  const startTime = Date.now();
1016
1035
  const resizeRequest = {
@@ -1036,7 +1055,7 @@ let Sandbox = (() => {
1036
1055
  */
1037
1056
  async waitForResizeComplete(timeout = 60) {
1038
1057
  if (timeout < 0) {
1039
- throw new DaytonaValidationError('Timeout must be a non-negative number');
1058
+ throw new DaytonaInvalidArgumentError('Timeout must be a non-negative number');
1040
1059
  }
1041
1060
  if (this.state !== SandboxState.RESIZING) {
1042
1061
  return;