@daytonaio/sdk 0.200.1 → 0.202.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 (64) hide show
  1. package/cjs/CodeInterpreter.js +1 -1
  2. package/cjs/CodeInterpreter.js.map +1 -1
  3. package/cjs/Daytona.d.ts +17 -5
  4. package/cjs/Daytona.js +23 -16
  5. package/cjs/Daytona.js.map +1 -1
  6. package/cjs/FileSystem.d.ts +5 -1
  7. package/cjs/FileSystem.js +1 -1
  8. package/cjs/FileSystem.js.map +1 -1
  9. package/cjs/Image.js +14 -14
  10. package/cjs/Image.js.map +1 -1
  11. package/cjs/LspServer.js +1 -1
  12. package/cjs/LspServer.js.map +1 -1
  13. package/cjs/ObjectStorage.d.ts +2 -1
  14. package/cjs/ObjectStorage.js +1 -5
  15. package/cjs/ObjectStorage.js.map +1 -1
  16. package/cjs/Sandbox.d.ts +74 -10
  17. package/cjs/Sandbox.js +120 -31
  18. package/cjs/Sandbox.js.map +1 -1
  19. package/cjs/Snapshot.js +1 -0
  20. package/cjs/Snapshot.js.map +1 -1
  21. package/cjs/errors/DaytonaError.d.ts +152 -128
  22. package/cjs/errors/DaytonaError.js +276 -150
  23. package/cjs/errors/DaytonaError.js.map +1 -1
  24. package/cjs/index.d.ts +2 -2
  25. package/cjs/index.js +44 -6
  26. package/cjs/index.js.map +1 -1
  27. package/cjs/utils/FileTransfer.js +5 -2
  28. package/cjs/utils/FileTransfer.js.map +1 -1
  29. package/cjs/utils/fileUrlSigning.d.ts +4 -0
  30. package/cjs/utils/fileUrlSigning.js +47 -0
  31. package/cjs/utils/fileUrlSigning.js.map +1 -0
  32. package/esm/CodeInterpreter.js +2 -2
  33. package/esm/CodeInterpreter.js.map +1 -1
  34. package/esm/Daytona.d.ts +17 -5
  35. package/esm/Daytona.js +24 -17
  36. package/esm/Daytona.js.map +1 -1
  37. package/esm/FileSystem.d.ts +5 -1
  38. package/esm/FileSystem.js +1 -1
  39. package/esm/FileSystem.js.map +1 -1
  40. package/esm/Image.js +15 -15
  41. package/esm/Image.js.map +1 -1
  42. package/esm/LspServer.js +2 -2
  43. package/esm/LspServer.js.map +1 -1
  44. package/esm/ObjectStorage.d.ts +2 -1
  45. package/esm/ObjectStorage.js +1 -5
  46. package/esm/ObjectStorage.js.map +1 -1
  47. package/esm/Sandbox.d.ts +74 -10
  48. package/esm/Sandbox.js +121 -32
  49. package/esm/Sandbox.js.map +1 -1
  50. package/esm/Snapshot.js +1 -0
  51. package/esm/Snapshot.js.map +1 -1
  52. package/esm/errors/DaytonaError.d.ts +152 -128
  53. package/esm/errors/DaytonaError.js +242 -144
  54. package/esm/errors/DaytonaError.js.map +1 -1
  55. package/esm/index.d.ts +2 -2
  56. package/esm/index.js +13 -1
  57. package/esm/index.js.map +1 -1
  58. package/esm/utils/FileTransfer.js +5 -2
  59. package/esm/utils/FileTransfer.js.map +1 -1
  60. package/esm/utils/Import.js +5 -3
  61. package/esm/utils/fileUrlSigning.d.ts +4 -0
  62. package/esm/utils/fileUrlSigning.js +42 -0
  63. package/esm/utils/fileUrlSigning.js.map +1 -0
  64. package/package.json +15 -13
@@ -4,193 +4,316 @@
4
4
  * SPDX-License-Identifier: Apache-2.0
5
5
  */
6
6
  Object.defineProperty(exports, "__esModule", { value: true });
7
- exports.DaytonaConnectionError = exports.DaytonaTimeoutError = exports.DaytonaValidationError = exports.DaytonaConflictError = exports.DaytonaAuthorizationError = exports.DaytonaAuthenticationError = exports.DaytonaRateLimitError = exports.DaytonaNotFoundError = exports.DaytonaError = void 0;
7
+ exports.DaytonaRecordingFfmpegNotFoundError = exports.DaytonaRecordingStillActiveError = exports.DaytonaA11yUnavailableError = exports.DaytonaCommandAlreadyCompletedError = exports.DaytonaSessionEndedError = exports.DaytonaProcessNotFoundError = exports.DaytonaProcessExecutionTimeoutError = exports.DaytonaLspServerNotInitializedError = exports.DaytonaFileReadFailedError = exports.DaytonaInvalidFilePathError = exports.DaytonaFileAccessDeniedError = exports.DaytonaFileNotFoundError = exports.DaytonaGitMergeConflictError = exports.DaytonaGitDirtyWorktreeError = exports.DaytonaGitPushRejectedError = exports.DaytonaGitBranchExistsError = exports.DaytonaGitBranchNotFoundError = exports.DaytonaGitRepoNotFoundError = exports.DaytonaGitAuthFailedError = exports.DaytonaConnectionTimeoutError = exports.DaytonaConnectionError = exports.DaytonaInvalidArgumentError = exports.DaytonaAuthorizationError = exports.DaytonaValidationError = exports.DaytonaServiceUnavailableError = exports.DaytonaBadGatewayError = exports.DaytonaInternalServerError = exports.DaytonaRateLimitError = exports.DaytonaUnprocessableEntityError = exports.DaytonaGoneError = exports.DaytonaConflictError = exports.DaytonaTimeoutError = exports.DaytonaNotFoundError = exports.DaytonaForbiddenError = exports.DaytonaAuthenticationError = exports.DaytonaBadRequestError = exports.DaytonaError = exports.SOURCE_PROXY = exports.SOURCE_DAEMON = exports.SOURCE_API = void 0;
8
8
  exports.errorClassFromStatusCode = errorClassFromStatusCode;
9
9
  exports.createDaytonaError = createDaytonaError;
10
10
  exports.createAxiosDaytonaError = createAxiosDaytonaError;
11
11
  /**
12
- * Base error for Daytona SDK.
13
- *
14
- * @example
15
- * ```ts
16
- * try {
17
- * await daytona.get('missing-sandbox')
18
- * } catch (error) {
19
- * if (error instanceof DaytonaError) {
20
- * console.log(error.statusCode)
21
- * console.log(error.errorCode)
22
- * console.log(error.message)
23
- * }
24
- * }
25
- * ```
12
+ * Wire-format `source` identifiers set by the translation layer when a
13
+ * Daytona service stamps them on the wire envelope. `source = undefined`
14
+ * means the response did not carry a structured envelope (treat as opaque).
15
+ */
16
+ exports.SOURCE_API = 'DAYTONA_API';
17
+ exports.SOURCE_DAEMON = 'DAYTONA_DAEMON';
18
+ exports.SOURCE_PROXY = 'DAYTONA_PROXY';
19
+ /**
20
+ * Base error for Daytona SDK. `statusCode` and `code` are populated only
21
+ * for errors translated from a server response. `source` is `undefined`
22
+ * unless the caller (or the translation layer) sets it.
26
23
  */
27
24
  class DaytonaError extends Error {
28
- /** HTTP status code if available */
29
25
  statusCode;
30
- /** Machine-readable error code if available */
31
- errorCode;
32
- /** Response headers if available */
26
+ code;
27
+ source;
33
28
  headers;
34
- constructor(message, statusCode, headers, errorCode) {
29
+ constructor(message, statusCode, headers, code, source) {
35
30
  super(message);
36
31
  this.name = new.target.name;
37
32
  this.statusCode = statusCode;
38
33
  this.headers = headers;
39
- this.errorCode = errorCode;
34
+ this.code = code;
35
+ this.source = source;
36
+ }
37
+ /**
38
+ * @deprecated Use {@link DaytonaError.code} instead. Kept so existing
39
+ * `err.errorCode` reads keep returning the machine-readable code.
40
+ * @returns the machine-readable error code, or `undefined` when the
41
+ * response did not carry one (same as {@link DaytonaError.code})
42
+ */
43
+ get errorCode() {
44
+ return this.code;
40
45
  }
41
46
  }
42
47
  exports.DaytonaError = DaytonaError;
43
- /**
44
- * Error thrown when a resource is not found (HTTP 404).
45
- *
46
- * @example
47
- * ```ts
48
- * try {
49
- * await sandbox.fs.downloadFile('/workspace/missing.txt')
50
- * } catch (error) {
51
- * if (error instanceof DaytonaNotFoundError) {
52
- * console.log(error.statusCode)
53
- * }
54
- * }
55
- * ```
56
- */
48
+ // HTTP-status classes — one per status code Daytona services emit.
49
+ // Names follow HTTP terminology (BadRequest=400, Forbidden=403).
50
+ /** The request was malformed or invalid (HTTP 400). */
51
+ class DaytonaBadRequestError extends DaytonaError {
52
+ }
53
+ exports.DaytonaBadRequestError = DaytonaBadRequestError;
54
+ /** Authentication failed — missing or invalid credentials (HTTP 401). */
55
+ class DaytonaAuthenticationError extends DaytonaError {
56
+ }
57
+ exports.DaytonaAuthenticationError = DaytonaAuthenticationError;
58
+ /** The authenticated caller lacks permission for the operation (HTTP 403). */
59
+ class DaytonaForbiddenError extends DaytonaError {
60
+ }
61
+ exports.DaytonaForbiddenError = DaytonaForbiddenError;
62
+ /** The requested resource does not exist (HTTP 404). */
57
63
  class DaytonaNotFoundError extends DaytonaError {
58
64
  }
59
65
  exports.DaytonaNotFoundError = DaytonaNotFoundError;
60
66
  /**
61
- * Error thrown when rate limit is exceeded.
67
+ * The operation timed out (HTTP 408, or 504 when a gateway timed out).
62
68
  *
63
- * @example
64
- * ```ts
65
- * try {
66
- * for await (const sandbox of daytona.list()) {
67
- * console.log(sandbox.id)
68
- * }
69
- * } catch (error) {
70
- * if (error instanceof DaytonaRateLimitError) {
71
- * console.log(error.errorCode)
72
- * }
73
- * }
74
- * ```
69
+ * Also matches {@link DaytonaConnectionTimeoutError} via `instanceof`, even
70
+ * though that class sits under {@link DaytonaConnectionError} in the prototype
71
+ * chain. Transport timeouts were raised as `DaytonaTimeoutError` before
72
+ * `DaytonaConnectionTimeoutError` existed, so this keeps pre-existing
73
+ * `catch (err) { if (err instanceof DaytonaTimeoutError) ... }` blocks working
74
+ * — the same compatibility the Python SDK gets from inheriting both classes.
75
75
  */
76
+ class DaytonaTimeoutError extends DaytonaError {
77
+ static [Symbol.hasInstance](value) {
78
+ // Only the base class widens; subclasses (e.g. ProcessExecutionTimeout)
79
+ // must keep exact prototype-chain semantics.
80
+ if (this === DaytonaTimeoutError && value instanceof DaytonaConnectionTimeoutError) {
81
+ return true;
82
+ }
83
+ return Function.prototype[Symbol.hasInstance].call(this, value);
84
+ }
85
+ }
86
+ exports.DaytonaTimeoutError = DaytonaTimeoutError;
87
+ /** The request conflicts with the current state of the resource (HTTP 409). */
88
+ class DaytonaConflictError extends DaytonaError {
89
+ }
90
+ exports.DaytonaConflictError = DaytonaConflictError;
91
+ /** The resource existed but is permanently gone (HTTP 410). */
92
+ class DaytonaGoneError extends DaytonaError {
93
+ }
94
+ exports.DaytonaGoneError = DaytonaGoneError;
95
+ /** The request was well-formed but semantically invalid (HTTP 422). */
96
+ class DaytonaUnprocessableEntityError extends DaytonaError {
97
+ }
98
+ exports.DaytonaUnprocessableEntityError = DaytonaUnprocessableEntityError;
99
+ /** The caller exceeded a rate limit (HTTP 429). */
76
100
  class DaytonaRateLimitError extends DaytonaError {
77
101
  }
78
102
  exports.DaytonaRateLimitError = DaytonaRateLimitError;
103
+ /** A Daytona service failed unexpectedly (HTTP 500). */
104
+ class DaytonaInternalServerError extends DaytonaError {
105
+ }
106
+ exports.DaytonaInternalServerError = DaytonaInternalServerError;
107
+ /** An upstream gateway returned an invalid response (HTTP 502). */
108
+ class DaytonaBadGatewayError extends DaytonaError {
109
+ }
110
+ exports.DaytonaBadGatewayError = DaytonaBadGatewayError;
111
+ /** The service is temporarily unable to handle the request (HTTP 503). */
112
+ class DaytonaServiceUnavailableError extends DaytonaError {
113
+ }
114
+ exports.DaytonaServiceUnavailableError = DaytonaServiceUnavailableError;
115
+ // ============================================================================
116
+ // Backward-compatibility subclasses. New functionality belongs elsewhere in
117
+ // this file, not here. These are what the 400/403 entries of
118
+ // STATUS_CODE_TO_ERROR throw so pre-rename `instanceof` checks keep matching.
119
+ // They must stay declared BEFORE that map (TDZ) and in this file (import
120
+ // cycle), and can be removed together with those two map entries in a future
121
+ // major release. The deprecated `errorCode` getter on DaytonaError belongs to
122
+ // the same removal set.
123
+ // ============================================================================
79
124
  /**
80
- * Error thrown when authentication fails (HTTP 401).
125
+ * Legacy umbrella for validation failures. Kept so existing
126
+ * `catch (err) { if (err instanceof DaytonaValidationError) ... }` blocks keep
127
+ * matching both server-returned HTTP 400s and locally rejected arguments.
81
128
  *
82
- * @example
83
- * ```ts
84
- * try {
85
- * for await (const sandbox of daytona.list()) {
86
- * console.log(sandbox.id)
87
- * }
88
- * } catch (error) {
89
- * if (error instanceof DaytonaAuthenticationError) {
90
- * console.log(error.statusCode)
91
- * }
92
- * }
93
- * ```
129
+ * @deprecated Do not throw or catch this directly in new code. Branch on the
130
+ * precise class instead:
131
+ * - {@link DaytonaInvalidArgumentError} — the SDK rejected your arguments
132
+ * locally, before any request was sent.
133
+ * - {@link DaytonaBadRequestError} — a Daytona service returned HTTP 400.
134
+ * - {@link DaytonaUnprocessableEntityError} — a Daytona service returned
135
+ * HTTP 422 (well-formed but semantically invalid).
94
136
  */
95
- class DaytonaAuthenticationError extends DaytonaError {
137
+ class DaytonaValidationError extends DaytonaBadRequestError {
96
138
  }
97
- exports.DaytonaAuthenticationError = DaytonaAuthenticationError;
139
+ exports.DaytonaValidationError = DaytonaValidationError;
98
140
  /**
99
- * Error thrown when the request is forbidden (HTTP 403).
100
- *
101
- * @example
102
- * ```ts
103
- * try {
104
- * await daytona.get('sandbox-without-access')
105
- * } catch (error) {
106
- * if (error instanceof DaytonaAuthorizationError) {
107
- * console.log(error.message)
108
- * }
109
- * }
110
- * ```
141
+ * @deprecated Use {@link DaytonaForbiddenError} instead.
111
142
  */
112
- class DaytonaAuthorizationError extends DaytonaError {
143
+ class DaytonaAuthorizationError extends DaytonaForbiddenError {
113
144
  }
114
145
  exports.DaytonaAuthorizationError = DaytonaAuthorizationError;
146
+ // Not part of the deprecated set above. It extends DaytonaValidationError only
147
+ // so pre-existing `instanceof DaytonaValidationError` / `DaytonaBadRequestError`
148
+ // catches keep matching local argument rejections; reparent it directly onto
149
+ // DaytonaError in the next major.
115
150
  /**
116
- * Error thrown when a resource conflict occurs (HTTP 409).
151
+ * The SDK rejected the caller's arguments locally, before any request was
152
+ * sent. `statusCode`, `code` and `source` are always `undefined` — no Daytona
153
+ * service was contacted, so there is no HTTP status to report.
117
154
  *
118
- * @example
119
- * ```ts
120
- * try {
121
- * await daytona.create({ name: 'existing-sandbox' })
122
- * } catch (error) {
123
- * if (error instanceof DaytonaConflictError) {
124
- * console.log(error.errorCode)
125
- * }
126
- * }
127
- * ```
128
- */
129
- class DaytonaConflictError extends DaytonaError {
130
- }
131
- exports.DaytonaConflictError = DaytonaConflictError;
132
- /**
133
- * Error thrown when input validation fails (HTTP 400 or client-side validation).
155
+ * Distinct from {@link DaytonaBadRequestError} (a service returned HTTP 400)
156
+ * and {@link DaytonaUnprocessableEntityError} (a service returned HTTP 422).
157
+ * This one always means: fix the arguments at the call site.
134
158
  *
135
159
  * @example
136
160
  * ```ts
137
161
  * try {
138
- * Image.debianSlim('3.8' as never)
139
- * } catch (error) {
140
- * if (error instanceof DaytonaValidationError) {
141
- * console.log(error.message)
162
+ * await sandbox.setAutoStopInterval(-1)
163
+ * } catch (err) {
164
+ * if (err instanceof DaytonaInvalidArgumentError) {
165
+ * // never reached the API — the value itself is invalid
142
166
  * }
143
167
  * }
144
168
  * ```
145
169
  */
146
- class DaytonaValidationError extends DaytonaError {
170
+ class DaytonaInvalidArgumentError extends DaytonaValidationError {
147
171
  }
148
- exports.DaytonaValidationError = DaytonaValidationError;
149
- /**
150
- * Error thrown when a timeout occurs.
151
- *
152
- * @example
153
- * ```ts
154
- * try {
155
- * await sandbox.waitUntilStarted(1)
156
- * } catch (error) {
157
- * if (error instanceof DaytonaTimeoutError) {
158
- * console.log(error.message)
159
- * }
160
- * }
161
- * ```
162
- */
163
- class DaytonaTimeoutError extends DaytonaError {
172
+ exports.DaytonaInvalidArgumentError = DaytonaInvalidArgumentError;
173
+ /** Network connection failure (can't connect or mid-request drop). */
174
+ class DaytonaConnectionError extends DaytonaError {
164
175
  }
165
- exports.DaytonaTimeoutError = DaytonaTimeoutError;
176
+ exports.DaytonaConnectionError = DaytonaConnectionError;
177
+ /** Transport-layer timeout (connect / read). Subclass of DaytonaConnectionError. */
178
+ class DaytonaConnectionTimeoutError extends DaytonaConnectionError {
179
+ }
180
+ exports.DaytonaConnectionTimeoutError = DaytonaConnectionTimeoutError;
181
+ // Domain-specific subclasses. Each inherits from the HTTP-status class that
182
+ // matches its server-side status, so callers can catch either level.
183
+ // --- Git (daemon) ---
184
+ /** Git authentication against the remote failed (code `GIT_AUTH_FAILED`). */
185
+ class DaytonaGitAuthFailedError extends DaytonaAuthenticationError {
186
+ }
187
+ exports.DaytonaGitAuthFailedError = DaytonaGitAuthFailedError;
188
+ /** The git remote repository was not found (code `GIT_REPO_NOT_FOUND`). */
189
+ class DaytonaGitRepoNotFoundError extends DaytonaNotFoundError {
190
+ }
191
+ exports.DaytonaGitRepoNotFoundError = DaytonaGitRepoNotFoundError;
192
+ /** The git branch does not exist (code `GIT_BRANCH_NOT_FOUND`). */
193
+ class DaytonaGitBranchNotFoundError extends DaytonaNotFoundError {
194
+ }
195
+ exports.DaytonaGitBranchNotFoundError = DaytonaGitBranchNotFoundError;
196
+ /** The git branch already exists (code `GIT_BRANCH_EXISTS`). */
197
+ class DaytonaGitBranchExistsError extends DaytonaConflictError {
198
+ }
199
+ exports.DaytonaGitBranchExistsError = DaytonaGitBranchExistsError;
200
+ /** The git push was rejected by the remote (code `GIT_PUSH_REJECTED`). */
201
+ class DaytonaGitPushRejectedError extends DaytonaConflictError {
202
+ }
203
+ exports.DaytonaGitPushRejectedError = DaytonaGitPushRejectedError;
204
+ /** The operation requires a clean worktree (code `GIT_DIRTY_WORKTREE`). */
205
+ class DaytonaGitDirtyWorktreeError extends DaytonaConflictError {
206
+ }
207
+ exports.DaytonaGitDirtyWorktreeError = DaytonaGitDirtyWorktreeError;
208
+ /** A git merge produced conflicts (code `GIT_MERGE_CONFLICT`). */
209
+ class DaytonaGitMergeConflictError extends DaytonaConflictError {
210
+ }
211
+ exports.DaytonaGitMergeConflictError = DaytonaGitMergeConflictError;
212
+ // --- Filesystem (daemon) ---
213
+ /** The file does not exist in the sandbox (code `FILE_NOT_FOUND`). */
214
+ class DaytonaFileNotFoundError extends DaytonaNotFoundError {
215
+ }
216
+ exports.DaytonaFileNotFoundError = DaytonaFileNotFoundError;
217
+ /** Access to the sandbox file was denied (code `FILE_ACCESS_DENIED`). */
218
+ class DaytonaFileAccessDeniedError extends DaytonaForbiddenError {
219
+ }
220
+ exports.DaytonaFileAccessDeniedError = DaytonaFileAccessDeniedError;
221
+ /** The supplied file path was rejected by the daemon (code `INVALID_FILE_PATH`). */
222
+ class DaytonaInvalidFilePathError extends DaytonaBadRequestError {
223
+ }
224
+ exports.DaytonaInvalidFilePathError = DaytonaInvalidFilePathError;
225
+ /** The daemon could not read the sandbox file (code `FILE_READ_FAILED`). */
226
+ class DaytonaFileReadFailedError extends DaytonaInternalServerError {
227
+ }
228
+ exports.DaytonaFileReadFailedError = DaytonaFileReadFailedError;
229
+ // --- LSP (daemon) ---
230
+ /** The LSP server must be initialized first (code `LSP_SERVER_NOT_INITIALIZED`). */
231
+ class DaytonaLspServerNotInitializedError extends DaytonaBadRequestError {
232
+ }
233
+ exports.DaytonaLspServerNotInitializedError = DaytonaLspServerNotInitializedError;
234
+ // --- Process / session (daemon) ---
235
+ /** Command execution exceeded its timeout (code `PROCESS_EXECUTION_TIMEOUT`). */
236
+ class DaytonaProcessExecutionTimeoutError extends DaytonaTimeoutError {
237
+ }
238
+ exports.DaytonaProcessExecutionTimeoutError = DaytonaProcessExecutionTimeoutError;
239
+ /** The sandbox process does not exist (code `PROCESS_NOT_FOUND`). */
240
+ class DaytonaProcessNotFoundError extends DaytonaNotFoundError {
241
+ }
242
+ exports.DaytonaProcessNotFoundError = DaytonaProcessNotFoundError;
243
+ /** The session has already ended (code `SESSION_ENDED`). */
244
+ class DaytonaSessionEndedError extends DaytonaGoneError {
245
+ }
246
+ exports.DaytonaSessionEndedError = DaytonaSessionEndedError;
247
+ /** The session command already finished (code `COMMAND_ALREADY_COMPLETED`). */
248
+ class DaytonaCommandAlreadyCompletedError extends DaytonaGoneError {
249
+ }
250
+ exports.DaytonaCommandAlreadyCompletedError = DaytonaCommandAlreadyCompletedError;
251
+ // --- Computer-use (daemon) ---
252
+ /** The accessibility service is unavailable (code `A11Y_UNAVAILABLE`). */
253
+ class DaytonaA11yUnavailableError extends DaytonaServiceUnavailableError {
254
+ }
255
+ exports.DaytonaA11yUnavailableError = DaytonaA11yUnavailableError;
256
+ /** A screen recording is still active (code `RECORDING_STILL_ACTIVE`). */
257
+ class DaytonaRecordingStillActiveError extends DaytonaConflictError {
258
+ }
259
+ exports.DaytonaRecordingStillActiveError = DaytonaRecordingStillActiveError;
260
+ /** ffmpeg is not available for recording (code `RECORDING_FFMPEG_NOT_FOUND`). */
261
+ class DaytonaRecordingFfmpegNotFoundError extends DaytonaServiceUnavailableError {
262
+ }
263
+ exports.DaytonaRecordingFfmpegNotFoundError = DaytonaRecordingFfmpegNotFoundError;
166
264
  /**
167
- * Error thrown when a network connection fails.
265
+ * (source, code) precise DaytonaError subclass. Lookup runs before the
266
+ * HTTP status code fallback, so a domain code wins over the status default.
168
267
  *
169
- * @example
170
- * ```ts
171
- * try {
172
- * await ptyHandle.waitForConnection()
173
- * } catch (error) {
174
- * if (error instanceof DaytonaConnectionError) {
175
- * console.log(error.message)
176
- * }
177
- * }
178
- * ```
268
+ * Code strings are kept inline (not imported from the generated clients) so
269
+ * tests that virtual-mock the API client modules don't break module init.
270
+ *
271
+ * There is currently NO automated drift check against the daemon's
272
+ * `DaemonErrorCode` enum keep this map in sync by hand when codes are added.
179
273
  */
180
- class DaytonaConnectionError extends DaytonaError {
274
+ const CODE_TO_ERROR_CLASS = {
275
+ // Daemon
276
+ 'DAYTONA_DAEMON|GIT_AUTH_FAILED': DaytonaGitAuthFailedError,
277
+ 'DAYTONA_DAEMON|GIT_REPO_NOT_FOUND': DaytonaGitRepoNotFoundError,
278
+ 'DAYTONA_DAEMON|GIT_BRANCH_NOT_FOUND': DaytonaGitBranchNotFoundError,
279
+ 'DAYTONA_DAEMON|GIT_BRANCH_EXISTS': DaytonaGitBranchExistsError,
280
+ 'DAYTONA_DAEMON|GIT_PUSH_REJECTED': DaytonaGitPushRejectedError,
281
+ 'DAYTONA_DAEMON|GIT_DIRTY_WORKTREE': DaytonaGitDirtyWorktreeError,
282
+ 'DAYTONA_DAEMON|GIT_MERGE_CONFLICT': DaytonaGitMergeConflictError,
283
+ 'DAYTONA_DAEMON|FILE_NOT_FOUND': DaytonaFileNotFoundError,
284
+ 'DAYTONA_DAEMON|FILE_ACCESS_DENIED': DaytonaFileAccessDeniedError,
285
+ 'DAYTONA_DAEMON|INVALID_FILE_PATH': DaytonaInvalidFilePathError,
286
+ 'DAYTONA_DAEMON|FILE_READ_FAILED': DaytonaFileReadFailedError,
287
+ 'DAYTONA_DAEMON|LSP_SERVER_NOT_INITIALIZED': DaytonaLspServerNotInitializedError,
288
+ 'DAYTONA_DAEMON|PROCESS_EXECUTION_TIMEOUT': DaytonaProcessExecutionTimeoutError,
289
+ 'DAYTONA_DAEMON|PROCESS_NOT_FOUND': DaytonaProcessNotFoundError,
290
+ 'DAYTONA_DAEMON|SESSION_ENDED': DaytonaSessionEndedError,
291
+ 'DAYTONA_DAEMON|COMMAND_ALREADY_COMPLETED': DaytonaCommandAlreadyCompletedError,
292
+ 'DAYTONA_DAEMON|A11Y_UNAVAILABLE': DaytonaA11yUnavailableError,
293
+ 'DAYTONA_DAEMON|RECORDING_STILL_ACTIVE': DaytonaRecordingStillActiveError,
294
+ 'DAYTONA_DAEMON|RECORDING_FFMPEG_NOT_FOUND': DaytonaRecordingFfmpegNotFoundError,
295
+ };
296
+ function lookupErrorClass(source, code) {
297
+ if (!code || !source)
298
+ return undefined;
299
+ return CODE_TO_ERROR_CLASS[`${source}|${code}`];
181
300
  }
182
- exports.DaytonaConnectionError = DaytonaConnectionError;
183
301
  const STATUS_CODE_TO_ERROR = {
184
302
  400: DaytonaValidationError,
185
303
  401: DaytonaAuthenticationError,
186
304
  403: DaytonaAuthorizationError,
187
305
  404: DaytonaNotFoundError,
306
+ 408: DaytonaTimeoutError,
188
307
  409: DaytonaConflictError,
308
+ 410: DaytonaGoneError,
309
+ 422: DaytonaUnprocessableEntityError,
189
310
  429: DaytonaRateLimitError,
311
+ 500: DaytonaInternalServerError,
312
+ 502: DaytonaBadGatewayError,
313
+ 503: DaytonaServiceUnavailableError,
314
+ 504: DaytonaTimeoutError,
190
315
  };
191
- /**
192
- * Maps an HTTP status code to the corresponding Daytona error class.
193
- */
316
+ /** Maps an HTTP status code to the corresponding Daytona error class. */
194
317
  function errorClassFromStatusCode(statusCode) {
195
318
  if (statusCode === undefined) {
196
319
  return DaytonaError;
@@ -199,10 +322,12 @@ function errorClassFromStatusCode(statusCode) {
199
322
  }
200
323
  /**
201
324
  * Creates the appropriate Daytona error subclass from structured error metadata.
325
+ *
326
+ * Resolution order: (source, code) override -> HTTP status code -> DaytonaError.
202
327
  */
203
- function createDaytonaError(message, statusCode, headers, errorCode) {
204
- const ErrorClass = errorClassFromStatusCode(statusCode);
205
- return new ErrorClass(message, statusCode, headers, errorCode);
328
+ function createDaytonaError(message, statusCode, headers, code, source) {
329
+ const ErrorClass = lookupErrorClass(source, code) || errorClassFromStatusCode(statusCode);
330
+ return new ErrorClass(message, statusCode, headers, code, source);
206
331
  }
207
332
  function isAxiosTimeoutError(error) {
208
333
  return error.code === 'ECONNABORTED' || error.code === 'ETIMEDOUT' || error.message.includes('timeout of');
@@ -214,23 +339,20 @@ function getAxiosResponseDataObject(error) {
214
339
  return error.response.data;
215
340
  }
216
341
  function extractAxiosErrorCode(responseData) {
217
- if (typeof responseData?.code === 'string') {
218
- return responseData.code;
219
- }
220
- if (typeof responseData?.error_code === 'string') {
221
- return responseData.error_code;
222
- }
223
- if (typeof responseData?.error === 'string') {
224
- return responseData.error;
225
- }
226
- return undefined;
342
+ const code = responseData?.code ?? responseData?.error_code;
343
+ return typeof code === 'string' ? code : undefined;
344
+ }
345
+ function extractAxiosErrorSource(responseData) {
346
+ return typeof responseData?.source === 'string' ? responseData.source : undefined;
227
347
  }
228
348
  function extractAxiosErrorMessage(error) {
229
349
  if (isAxiosTimeoutError(error)) {
230
350
  return 'Operation timed out';
231
351
  }
232
352
  const responseData = getAxiosResponseDataObject(error);
233
- const responseMessage = responseData?.message || error.response?.data;
353
+ const responseMessage = (typeof responseData?.message === 'string' ? responseData.message : undefined) ??
354
+ (typeof responseData?.error === 'string' ? responseData.error : undefined) ??
355
+ error.response?.data;
234
356
  const message = responseMessage || error.message || String(error);
235
357
  if (typeof message === 'object') {
236
358
  try {
@@ -243,20 +365,24 @@ function extractAxiosErrorMessage(error) {
243
365
  return String(message);
244
366
  }
245
367
  /**
246
- * Creates the appropriate Daytona error subclass from an Axios error.
368
+ * Creates the appropriate Daytona error subclass from an Axios error. Maps
369
+ * client-side timeouts to DaytonaConnectionTimeoutError, networking failures
370
+ * (no response received) to DaytonaConnectionError, and HTTP responses to
371
+ * the most specific subclass via `createDaytonaError`.
247
372
  */
248
373
  function createAxiosDaytonaError(error) {
249
374
  const message = extractAxiosErrorMessage(error);
250
375
  const statusCode = error.response?.status;
251
376
  const headers = error.response?.headers;
252
377
  const responseData = getAxiosResponseDataObject(error);
253
- const errorCode = extractAxiosErrorCode(responseData);
378
+ const code = extractAxiosErrorCode(responseData);
379
+ const source = extractAxiosErrorSource(responseData);
254
380
  if (isAxiosTimeoutError(error)) {
255
- return new DaytonaTimeoutError(message, statusCode, headers, errorCode);
381
+ return new DaytonaConnectionTimeoutError(message, statusCode, headers, code, source);
256
382
  }
257
383
  if (!error.response && (error.request || error.code)) {
258
- return new DaytonaConnectionError(message, statusCode, headers, errorCode);
384
+ return new DaytonaConnectionError(message, statusCode, headers, code, source);
259
385
  }
260
- return createDaytonaError(message, statusCode, headers, errorCode);
386
+ return createDaytonaError(message, statusCode, headers, code, source);
261
387
  }
262
388
  //# sourceMappingURL=DaytonaError.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"DaytonaError.js","sourceRoot":"","sources":["../../../../../sdk-typescript/src/errors/DaytonaError.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"DaytonaError.js","sourceRoot":"","sources":["../../../../../sdk-typescript/src/errors/DaytonaError.ts"],"names":[],"mappings":"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"}
package/cjs/index.d.ts CHANGED
@@ -1,11 +1,11 @@
1
1
  export { CodeLanguage, Daytona } from './Daytona';
2
- export type { CreateSandboxBaseParams, CreateSandboxFromImageParams, CreateSandboxFromSnapshotParams, DaytonaConfig, Resources, VolumeMount, } from './Daytona';
2
+ export type { CreateSandboxBaseParams, CreateSandboxFromImageParams, CreateSandboxFromSnapshotParams, DaytonaConfig, ForkSandboxParams, Resources, VolumeMount, } from './Daytona';
3
3
  export { FileSystem } from './FileSystem';
4
4
  export type { DownloadProgress, DownloadMetadata, DownloadStreamOptions, UploadProgress, UploadStreamOptions, UploadSource, FileDownloadErrorDetails, FileDownloadRequest, FileDownloadResponse, FilePermissionsParams, FileUpload, } from './FileSystem';
5
5
  export { Git } from './Git';
6
6
  export { LspLanguageId } from './LspServer';
7
7
  export { Process } from './Process';
8
- export { DaytonaAuthenticationError, DaytonaAuthorizationError, DaytonaConflictError, DaytonaConnectionError, DaytonaError, DaytonaNotFoundError, DaytonaRateLimitError, DaytonaTimeoutError, DaytonaValidationError, } from './errors/DaytonaError';
8
+ export { SOURCE_API, SOURCE_DAEMON, SOURCE_PROXY, DaytonaError, DaytonaBadRequestError, DaytonaInvalidArgumentError, DaytonaValidationError, DaytonaAuthenticationError, DaytonaForbiddenError, DaytonaAuthorizationError, DaytonaNotFoundError, DaytonaTimeoutError, DaytonaConflictError, DaytonaGoneError, DaytonaUnprocessableEntityError, DaytonaRateLimitError, DaytonaInternalServerError, DaytonaBadGatewayError, DaytonaServiceUnavailableError, DaytonaConnectionError, DaytonaConnectionTimeoutError, DaytonaGitAuthFailedError, DaytonaGitRepoNotFoundError, DaytonaGitBranchNotFoundError, DaytonaGitBranchExistsError, DaytonaGitPushRejectedError, DaytonaGitDirtyWorktreeError, DaytonaGitMergeConflictError, DaytonaFileNotFoundError, DaytonaFileAccessDeniedError, DaytonaInvalidFilePathError, DaytonaFileReadFailedError, DaytonaLspServerNotInitializedError, DaytonaProcessExecutionTimeoutError, DaytonaProcessNotFoundError, DaytonaSessionEndedError, DaytonaCommandAlreadyCompletedError, DaytonaA11yUnavailableError, DaytonaRecordingStillActiveError, DaytonaRecordingFfmpegNotFoundError, } from './errors/DaytonaError';
9
9
  export { Image } from './Image';
10
10
  export { Sandbox } from './Sandbox';
11
11
  export type { ListSandboxesQuery, SandboxMetrics } from './Sandbox';