@daytona/sdk 0.171.0-alpha.3 → 0.171.0-alpha.5

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