@daytonaio/sdk 0.170.0 → 0.171.0-alpha.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 (237) hide show
  1. package/LICENSE +190 -0
  2. package/cjs/CodeInterpreter.d.ts +95 -0
  3. package/cjs/CodeInterpreter.d.ts.map +1 -0
  4. package/cjs/CodeInterpreter.js +297 -0
  5. package/cjs/CodeInterpreter.js.map +1 -0
  6. package/cjs/ComputerUse.d.ts +539 -0
  7. package/cjs/ComputerUse.d.ts.map +1 -0
  8. package/cjs/ComputerUse.js +808 -0
  9. package/cjs/ComputerUse.js.map +1 -0
  10. package/cjs/Daytona.d.ts +355 -0
  11. package/cjs/Daytona.d.ts.map +1 -0
  12. package/cjs/Daytona.js +527 -0
  13. package/cjs/Daytona.js.map +1 -0
  14. package/cjs/FileSystem.d.ts +371 -0
  15. package/cjs/FileSystem.d.ts.map +1 -0
  16. package/cjs/FileSystem.js +489 -0
  17. package/cjs/FileSystem.js.map +1 -0
  18. package/cjs/Git.d.ts +203 -0
  19. package/cjs/Git.d.ts.map +1 -0
  20. package/cjs/Git.js +326 -0
  21. package/cjs/Git.js.map +1 -0
  22. package/cjs/Image.d.ts +265 -0
  23. package/cjs/Image.d.ts.map +1 -0
  24. package/cjs/Image.js +586 -0
  25. package/cjs/Image.js.map +1 -0
  26. package/cjs/LspServer.d.ts +172 -0
  27. package/cjs/LspServer.d.ts.map +1 -0
  28. package/cjs/LspServer.js +259 -0
  29. package/cjs/LspServer.js.map +1 -0
  30. package/cjs/ObjectStorage.d.ts +79 -0
  31. package/cjs/ObjectStorage.d.ts.map +1 -0
  32. package/cjs/ObjectStorage.js +199 -0
  33. package/cjs/ObjectStorage.js.map +1 -0
  34. package/cjs/Process.d.ts +490 -0
  35. package/cjs/Process.d.ts.map +1 -0
  36. package/cjs/Process.js +647 -0
  37. package/cjs/Process.js.map +1 -0
  38. package/cjs/PtyHandle.d.ts +155 -0
  39. package/cjs/PtyHandle.d.ts.map +1 -0
  40. package/cjs/PtyHandle.js +416 -0
  41. package/cjs/PtyHandle.js.map +1 -0
  42. package/cjs/README.md +180 -0
  43. package/cjs/Sandbox.d.ts +476 -0
  44. package/cjs/Sandbox.d.ts.map +1 -0
  45. package/cjs/Sandbox.js +905 -0
  46. package/cjs/Sandbox.js.map +1 -0
  47. package/cjs/Snapshot.d.ts +140 -0
  48. package/cjs/Snapshot.d.ts.map +1 -0
  49. package/cjs/Snapshot.js +248 -0
  50. package/cjs/Snapshot.js.map +1 -0
  51. package/cjs/Volume.d.ts +84 -0
  52. package/cjs/Volume.d.ts.map +1 -0
  53. package/cjs/Volume.js +119 -0
  54. package/cjs/Volume.js.map +1 -0
  55. package/cjs/__tests__/helpers.d.ts +6 -0
  56. package/cjs/__tests__/helpers.d.ts.map +1 -0
  57. package/cjs/__tests__/helpers.js +26 -0
  58. package/cjs/__tests__/helpers.js.map +1 -0
  59. package/cjs/errors/DaytonaError.d.ts +171 -0
  60. package/cjs/errors/DaytonaError.d.ts.map +1 -0
  61. package/cjs/errors/DaytonaError.js +258 -0
  62. package/cjs/errors/DaytonaError.js.map +1 -0
  63. package/cjs/index.d.ts +22 -0
  64. package/cjs/index.d.ts.map +1 -0
  65. package/cjs/index.js +49 -0
  66. package/cjs/index.js.map +1 -0
  67. package/cjs/package.json +3 -0
  68. package/cjs/types/Charts.d.ts +38 -0
  69. package/cjs/types/Charts.d.ts.map +1 -0
  70. package/cjs/types/Charts.js +37 -0
  71. package/cjs/types/Charts.js.map +1 -0
  72. package/cjs/types/CodeInterpreter.d.ts +77 -0
  73. package/cjs/types/CodeInterpreter.d.ts.map +1 -0
  74. package/cjs/types/CodeInterpreter.js +7 -0
  75. package/cjs/types/CodeInterpreter.js.map +1 -0
  76. package/cjs/types/ExecuteResponse.d.ts +26 -0
  77. package/cjs/types/ExecuteResponse.d.ts.map +1 -0
  78. package/cjs/types/ExecuteResponse.js +7 -0
  79. package/cjs/types/ExecuteResponse.js.map +1 -0
  80. package/cjs/types/Pty.d.ts +48 -0
  81. package/cjs/types/Pty.d.ts.map +1 -0
  82. package/cjs/types/Pty.js +7 -0
  83. package/cjs/types/Pty.js.map +1 -0
  84. package/cjs/utils/Binary.d.ts +39 -0
  85. package/cjs/utils/Binary.d.ts.map +1 -0
  86. package/cjs/utils/Binary.js +168 -0
  87. package/cjs/utils/Binary.js.map +1 -0
  88. package/cjs/utils/FileTransfer.d.ts +15 -0
  89. package/cjs/utils/FileTransfer.d.ts.map +1 -0
  90. package/cjs/utils/FileTransfer.js +261 -0
  91. package/cjs/utils/FileTransfer.js.map +1 -0
  92. package/cjs/utils/Import.d.ts +125 -0
  93. package/cjs/utils/Import.d.ts.map +1 -0
  94. package/cjs/utils/Import.js +112 -0
  95. package/cjs/utils/Import.js.map +1 -0
  96. package/cjs/utils/Multipart.d.ts +29 -0
  97. package/cjs/utils/Multipart.d.ts.map +1 -0
  98. package/cjs/utils/Multipart.js +115 -0
  99. package/cjs/utils/Multipart.js.map +1 -0
  100. package/cjs/utils/Runtime.d.ts +44 -0
  101. package/cjs/utils/Runtime.d.ts.map +1 -0
  102. package/cjs/utils/Runtime.js +95 -0
  103. package/cjs/utils/Runtime.js.map +1 -0
  104. package/cjs/utils/Stream.d.ts +20 -0
  105. package/cjs/utils/Stream.d.ts.map +1 -0
  106. package/cjs/utils/Stream.js +364 -0
  107. package/cjs/utils/Stream.js.map +1 -0
  108. package/cjs/utils/WebSocket.d.ts +10 -0
  109. package/cjs/utils/WebSocket.d.ts.map +1 -0
  110. package/cjs/utils/WebSocket.js +26 -0
  111. package/cjs/utils/WebSocket.js.map +1 -0
  112. package/cjs/utils/otel.decorator.d.ts +83 -0
  113. package/cjs/utils/otel.decorator.d.ts.map +1 -0
  114. package/cjs/utils/otel.decorator.js +141 -0
  115. package/cjs/utils/otel.decorator.js.map +1 -0
  116. package/esm/CodeInterpreter.d.ts +95 -0
  117. package/esm/CodeInterpreter.d.ts.map +1 -0
  118. package/esm/CodeInterpreter.js +292 -0
  119. package/esm/CodeInterpreter.js.map +1 -0
  120. package/esm/ComputerUse.d.ts +539 -0
  121. package/esm/ComputerUse.d.ts.map +1 -0
  122. package/esm/ComputerUse.js +799 -0
  123. package/esm/ComputerUse.js.map +1 -0
  124. package/esm/Daytona.d.ts +355 -0
  125. package/esm/Daytona.d.ts.map +1 -0
  126. package/esm/Daytona.js +523 -0
  127. package/esm/Daytona.js.map +1 -0
  128. package/esm/FileSystem.d.ts +371 -0
  129. package/esm/FileSystem.d.ts.map +1 -0
  130. package/esm/FileSystem.js +485 -0
  131. package/esm/FileSystem.js.map +1 -0
  132. package/esm/Git.d.ts +203 -0
  133. package/esm/Git.d.ts.map +1 -0
  134. package/esm/Git.js +322 -0
  135. package/esm/Git.js.map +1 -0
  136. package/esm/Image.d.ts +265 -0
  137. package/esm/Image.d.ts.map +1 -0
  138. package/esm/Image.js +581 -0
  139. package/esm/Image.js.map +1 -0
  140. package/esm/LspServer.d.ts +172 -0
  141. package/esm/LspServer.d.ts.map +1 -0
  142. package/esm/LspServer.js +255 -0
  143. package/esm/LspServer.js.map +1 -0
  144. package/esm/ObjectStorage.d.ts +79 -0
  145. package/esm/ObjectStorage.d.ts.map +1 -0
  146. package/esm/ObjectStorage.js +195 -0
  147. package/esm/ObjectStorage.js.map +1 -0
  148. package/esm/Process.d.ts +490 -0
  149. package/esm/Process.d.ts.map +1 -0
  150. package/esm/Process.js +642 -0
  151. package/esm/Process.js.map +1 -0
  152. package/esm/PtyHandle.d.ts +155 -0
  153. package/esm/PtyHandle.d.ts.map +1 -0
  154. package/esm/PtyHandle.js +412 -0
  155. package/esm/PtyHandle.js.map +1 -0
  156. package/esm/README.md +180 -0
  157. package/esm/Sandbox.d.ts +476 -0
  158. package/esm/Sandbox.d.ts.map +1 -0
  159. package/esm/Sandbox.js +901 -0
  160. package/esm/Sandbox.js.map +1 -0
  161. package/esm/Snapshot.d.ts +140 -0
  162. package/esm/Snapshot.d.ts.map +1 -0
  163. package/esm/Snapshot.js +244 -0
  164. package/esm/Snapshot.js.map +1 -0
  165. package/esm/Volume.d.ts +84 -0
  166. package/esm/Volume.d.ts.map +1 -0
  167. package/esm/Volume.js +115 -0
  168. package/esm/Volume.js.map +1 -0
  169. package/esm/__tests__/helpers.d.ts +6 -0
  170. package/esm/__tests__/helpers.d.ts.map +1 -0
  171. package/esm/__tests__/helpers.js +20 -0
  172. package/esm/__tests__/helpers.js.map +1 -0
  173. package/esm/errors/DaytonaError.d.ts +171 -0
  174. package/esm/errors/DaytonaError.d.ts.map +1 -0
  175. package/esm/errors/DaytonaError.js +243 -0
  176. package/esm/errors/DaytonaError.js.map +1 -0
  177. package/esm/index.d.ts +22 -0
  178. package/esm/index.d.ts.map +1 -0
  179. package/esm/index.js +21 -0
  180. package/esm/index.js.map +1 -0
  181. package/esm/package.json +3 -0
  182. package/esm/types/Charts.d.ts +38 -0
  183. package/esm/types/Charts.d.ts.map +1 -0
  184. package/esm/types/Charts.js +33 -0
  185. package/esm/types/Charts.js.map +1 -0
  186. package/esm/types/CodeInterpreter.d.ts +77 -0
  187. package/esm/types/CodeInterpreter.d.ts.map +1 -0
  188. package/esm/types/CodeInterpreter.js +6 -0
  189. package/esm/types/CodeInterpreter.js.map +1 -0
  190. package/esm/types/ExecuteResponse.d.ts +26 -0
  191. package/esm/types/ExecuteResponse.d.ts.map +1 -0
  192. package/esm/types/ExecuteResponse.js +6 -0
  193. package/esm/types/ExecuteResponse.js.map +1 -0
  194. package/esm/types/Pty.d.ts +48 -0
  195. package/esm/types/Pty.d.ts.map +1 -0
  196. package/esm/types/Pty.js +6 -0
  197. package/esm/types/Pty.js.map +1 -0
  198. package/esm/utils/Binary.d.ts +39 -0
  199. package/esm/utils/Binary.d.ts.map +1 -0
  200. package/esm/utils/Binary.js +157 -0
  201. package/esm/utils/Binary.js.map +1 -0
  202. package/esm/utils/FileTransfer.d.ts +15 -0
  203. package/esm/utils/FileTransfer.d.ts.map +1 -0
  204. package/esm/utils/FileTransfer.js +254 -0
  205. package/esm/utils/FileTransfer.js.map +1 -0
  206. package/esm/utils/Import.d.ts +95 -0
  207. package/esm/utils/Import.d.ts.map +1 -0
  208. package/esm/utils/Import.js +77 -0
  209. package/esm/utils/Import.js.map +1 -0
  210. package/esm/utils/Multipart.d.ts +29 -0
  211. package/esm/utils/Multipart.d.ts.map +1 -0
  212. package/esm/utils/Multipart.js +109 -0
  213. package/esm/utils/Multipart.js.map +1 -0
  214. package/esm/utils/Runtime.d.ts +44 -0
  215. package/esm/utils/Runtime.d.ts.map +1 -0
  216. package/esm/utils/Runtime.js +89 -0
  217. package/esm/utils/Runtime.js.map +1 -0
  218. package/esm/utils/Stream.d.ts +20 -0
  219. package/esm/utils/Stream.d.ts.map +1 -0
  220. package/esm/utils/Stream.js +360 -0
  221. package/esm/utils/Stream.js.map +1 -0
  222. package/esm/utils/WebSocket.d.ts +10 -0
  223. package/esm/utils/WebSocket.d.ts.map +1 -0
  224. package/esm/utils/WebSocket.js +22 -0
  225. package/esm/utils/WebSocket.js.map +1 -0
  226. package/esm/utils/otel.decorator.d.ts +83 -0
  227. package/esm/utils/otel.decorator.d.ts.map +1 -0
  228. package/esm/utils/otel.decorator.js +136 -0
  229. package/esm/utils/otel.decorator.js.map +1 -0
  230. package/package.json +20 -8
  231. package/src/ComputerUse.d.ts +4 -4
  232. package/src/ComputerUse.js +4 -4
  233. package/src/Sandbox.d.ts +1 -18
  234. package/src/Sandbox.js +0 -29
  235. package/src/Sandbox.js.map +1 -1
  236. package/src/__tests__/helpers.js +0 -2
  237. package/src/__tests__/helpers.js.map +1 -1
@@ -0,0 +1,292 @@
1
+ /*
2
+ * Copyright 2025 Daytona Platforms Inc.
3
+ * SPDX-License-Identifier: Apache-2.0
4
+ */
5
+ /**
6
+ * @module code-interpreter
7
+ */
8
+ import WebSocket from 'isomorphic-ws';
9
+ import { DaytonaConnectionError, DaytonaError, DaytonaTimeoutError, DaytonaValidationError, } from './errors/DaytonaError.js';
10
+ import { createSandboxWebSocket } from './utils/WebSocket.js';
11
+ const WEBSOCKET_TIMEOUT_CODE = 4008;
12
+ /**
13
+ * Handles Python code interpretation and execution within a Sandbox.
14
+ *
15
+ * Provides methods to execute code (currently only Python) in isolated interpreter contexts,
16
+ * manage contexts, and stream execution output via callbacks.
17
+ *
18
+ * For other languages, use the `codeRun` method from the `Process` interface, or execute the appropriate command directly in the sandbox terminal.
19
+ */
20
+ export class CodeInterpreter {
21
+ clientConfig;
22
+ apiClient;
23
+ getPreviewToken;
24
+ constructor(clientConfig, apiClient, getPreviewToken) {
25
+ this.clientConfig = clientConfig;
26
+ this.apiClient = apiClient;
27
+ this.getPreviewToken = getPreviewToken;
28
+ }
29
+ /**
30
+ * Run Python code in the sandbox.
31
+ *
32
+ * @param {string} code - Code to run.
33
+ * @param {RunCodeOptions} options - Execution options (context, envs, callbacks, timeout).
34
+ * @returns {Promise<ExecutionResult>} ExecutionResult containing stdout, stderr and optional error info.
35
+ *
36
+ * @example
37
+ * ```ts
38
+ * const handleStdout = (msg: OutputMessage) => process.stdout.write(`STDOUT: ${msg.output}`)
39
+ * const handleStderr = (msg: OutputMessage) => process.stdout.write(`STDERR: ${msg.output}`)
40
+ * const handleError = (err: ExecutionError) =>
41
+ * console.error(`ERROR: ${err.name}: ${err.value}\n${err.traceback ?? ''}`)
42
+ *
43
+ * const code = `
44
+ * import sys
45
+ * import time
46
+ * for i in range(5):
47
+ * print(i)
48
+ * time.sleep(1)
49
+ * sys.stderr.write("Counting done!")
50
+ * `
51
+ *
52
+ * const result = await codeInterpreter.runCode(code, {
53
+ * onStdout: handleStdout,
54
+ * onStderr: handleStderr,
55
+ * onError: handleError,
56
+ * timeout: 10,
57
+ * })
58
+ * ```
59
+ */
60
+ async runCode(code, options = {}) {
61
+ if (!code || !code.trim()) {
62
+ throw new DaytonaValidationError('Code is required for execution');
63
+ }
64
+ const url = `${this.clientConfig.basePath.replace(/^http/, 'ws')}/process/interpreter/execute`;
65
+ const ws = await createSandboxWebSocket(url, this.clientConfig.baseOptions?.headers || {}, this.getPreviewToken);
66
+ const result = { stdout: '', stderr: '' };
67
+ return new Promise((resolve, reject) => {
68
+ let settled = false;
69
+ const cleanup = () => {
70
+ detach();
71
+ try {
72
+ if (ws.readyState === WebSocket.OPEN || ws.readyState === WebSocket.CONNECTING) {
73
+ ws.close();
74
+ }
75
+ }
76
+ catch {
77
+ /* ignore */
78
+ }
79
+ };
80
+ const fail = (error) => {
81
+ if (settled)
82
+ return;
83
+ settled = true;
84
+ cleanup();
85
+ reject(error);
86
+ };
87
+ const succeed = () => {
88
+ if (settled)
89
+ return;
90
+ settled = true;
91
+ cleanup();
92
+ resolve(result);
93
+ };
94
+ const handleOpen = () => {
95
+ const payload = { code };
96
+ const context = options.context;
97
+ if (context?.id) {
98
+ payload.contextId = context.id;
99
+ }
100
+ if (options.envs) {
101
+ payload.envs = options.envs;
102
+ }
103
+ payload.timeout = options.timeout;
104
+ ws.send(JSON.stringify(payload));
105
+ };
106
+ const handleMessage = async (event) => {
107
+ try {
108
+ const text = await this.extractMessageText(event);
109
+ if (!text) {
110
+ return;
111
+ }
112
+ const chunk = JSON.parse(text);
113
+ const chunkType = chunk.type;
114
+ if (chunkType === 'stdout') {
115
+ const stdout = chunk.text ?? '';
116
+ result.stdout += stdout;
117
+ if (options.onStdout) {
118
+ await options.onStdout({ output: stdout });
119
+ }
120
+ }
121
+ else if (chunkType === 'stderr') {
122
+ const stderr = chunk.text ?? '';
123
+ result.stderr += stderr;
124
+ if (options.onStderr) {
125
+ await options.onStderr({ output: stderr });
126
+ }
127
+ }
128
+ else if (chunkType === 'error') {
129
+ const error = {
130
+ name: chunk.name ?? '',
131
+ value: chunk.value ?? '',
132
+ traceback: chunk.traceback ?? '',
133
+ };
134
+ result.error = error;
135
+ if (options.onError) {
136
+ await options.onError(error);
137
+ }
138
+ }
139
+ else if (chunkType === 'control') {
140
+ const controlText = chunk.text ?? '';
141
+ if (controlText === 'completed' || controlText === 'interrupted') {
142
+ succeed();
143
+ }
144
+ }
145
+ }
146
+ catch {
147
+ // Ignore invalid JSON payloads
148
+ }
149
+ };
150
+ const handleClose = (event, reason) => {
151
+ if (settled)
152
+ return;
153
+ const { code, message } = this.normalizeCloseEvent(event, reason);
154
+ if (code !== 1000 && code !== 1001) {
155
+ fail(this.createCloseError(code, message));
156
+ return;
157
+ }
158
+ succeed();
159
+ };
160
+ const handleError = (error) => {
161
+ fail(new DaytonaConnectionError(`Failed to execute code: ${error.message ?? String(error)}`));
162
+ };
163
+ const detach = () => {
164
+ if ('removeEventListener' in ws) {
165
+ ws.removeEventListener('open', handleOpen);
166
+ ws.removeEventListener('message', handleMessage);
167
+ ws.removeEventListener('close', handleClose);
168
+ ws.removeEventListener('error', handleError);
169
+ }
170
+ if ('off' in ws) {
171
+ ;
172
+ ws.off('open', handleOpen);
173
+ ws.off('message', handleMessage);
174
+ ws.off('close', handleClose);
175
+ ws.off('error', handleError);
176
+ }
177
+ else if ('removeListener' in ws) {
178
+ ;
179
+ ws.removeListener('open', handleOpen);
180
+ ws.removeListener('message', handleMessage);
181
+ ws.removeListener('close', handleClose);
182
+ ws.removeListener('error', handleError);
183
+ }
184
+ };
185
+ if ('addEventListener' in ws) {
186
+ ws.addEventListener('open', handleOpen);
187
+ ws.addEventListener('message', handleMessage);
188
+ ws.addEventListener('close', handleClose);
189
+ ws.addEventListener('error', handleError);
190
+ }
191
+ else if ('on' in ws) {
192
+ ;
193
+ ws.on('open', handleOpen);
194
+ ws.on('message', handleMessage);
195
+ ws.on('close', handleClose);
196
+ ws.on('error', handleError);
197
+ }
198
+ else {
199
+ throw new DaytonaError('Unsupported WebSocket implementation');
200
+ }
201
+ });
202
+ }
203
+ /**
204
+ * Create a new isolated interpreter context.
205
+ *
206
+ * @param {string} [cwd] - Working directory for the context. Uses sandbox working directory if omitted.
207
+ *
208
+ * @returns {Promise<InterpreterContext>} The created context.
209
+ *
210
+ * @example
211
+ * ```ts
212
+ * const ctx = await sandbox.codeInterpreter.createContext()
213
+ * await sandbox.codeInterpreter.runCode('x = 10', { context: ctx })
214
+ * await sandbox.codeInterpreter.deleteContext(ctx.id!)
215
+ * ```
216
+ */
217
+ async createContext(cwd) {
218
+ return (await this.apiClient.createInterpreterContext({ cwd })).data;
219
+ }
220
+ /**
221
+ * List all user-created interpreter contexts (default context is excluded).
222
+ *
223
+ * @returns {Promise<InterpreterContext[]>} List of contexts.
224
+ *
225
+ * @example
226
+ * ```ts
227
+ * const contexts = await sandbox.codeInterpreter.listContexts()
228
+ * for (const ctx of contexts) {
229
+ * console.log(ctx.id, ctx.language, ctx.cwd)
230
+ * }
231
+ * ```
232
+ */
233
+ async listContexts() {
234
+ return (await this.apiClient.listInterpreterContexts()).data.contexts ?? [];
235
+ }
236
+ /**
237
+ * Delete an interpreter context and shut down its worker process.
238
+ *
239
+ * @param {InterpreterContext} context - Context to delete.
240
+ *
241
+ * @example
242
+ * ```ts
243
+ * const ctx = await sandbox.codeInterpreter.createContext()
244
+ * // ... use context ...
245
+ * await sandbox.codeInterpreter.deleteContext(ctx)
246
+ * ```
247
+ */
248
+ async deleteContext(context) {
249
+ await this.apiClient.deleteInterpreterContext(context.id);
250
+ }
251
+ async extractMessageText(event) {
252
+ const data = event && typeof event === 'object' && 'data' in event ? event.data : event;
253
+ if (typeof data === 'string') {
254
+ return data;
255
+ }
256
+ if (typeof ArrayBuffer !== 'undefined' && data instanceof ArrayBuffer) {
257
+ return new TextDecoder('utf-8').decode(new Uint8Array(data));
258
+ }
259
+ if (typeof Blob !== 'undefined' && data instanceof Blob) {
260
+ return await data.text();
261
+ }
262
+ if (ArrayBuffer.isView(data)) {
263
+ return new TextDecoder('utf-8').decode(new Uint8Array(data.buffer, data.byteOffset, data.byteLength));
264
+ }
265
+ if (data == null) {
266
+ return '';
267
+ }
268
+ return data.toString();
269
+ }
270
+ normalizeCloseEvent(event, reason) {
271
+ if (typeof event === 'number') {
272
+ return {
273
+ code: event,
274
+ message: reason ? reason.toString('utf-8') : '',
275
+ };
276
+ }
277
+ return {
278
+ code: event.code,
279
+ message: event.reason,
280
+ };
281
+ }
282
+ createCloseError(code, message) {
283
+ if (code === WEBSOCKET_TIMEOUT_CODE) {
284
+ return new DaytonaTimeoutError('Execution timed out: operation exceeded the configured `timeout`. Provide a larger value if needed.');
285
+ }
286
+ if (message) {
287
+ return new DaytonaConnectionError(message + ` (close code ${code})`);
288
+ }
289
+ return new DaytonaConnectionError(`Code execution failed: WebSocket closed with code ${code}`);
290
+ }
291
+ }
292
+ //# sourceMappingURL=CodeInterpreter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CodeInterpreter.js","sourceRoot":"","sources":["../../../../../libs/sdk-typescript/src/CodeInterpreter.ts"],"names":[],"mappings":"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"}