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

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
package/src/Daytona.js DELETED
@@ -1,521 +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.Daytona = exports.CodeLanguage = exports.CODE_TOOLBOX_LANGUAGE_LABEL = void 0;
8
- const tslib_1 = require("tslib");
9
- const api_client_1 = require("@daytona/api-client");
10
- const axios_1 = tslib_1.__importStar(require("axios"));
11
- const DaytonaError_1 = require("./errors/DaytonaError");
12
- const Image_1 = require("./Image");
13
- const Sandbox_1 = require("./Sandbox");
14
- const Snapshot_1 = require("./Snapshot");
15
- const Volume_1 = require("./Volume");
16
- const packageJson = tslib_1.__importStar(require("../package.json"));
17
- const Stream_1 = require("./utils/Stream");
18
- const Runtime_1 = require("./utils/Runtime");
19
- const otel_decorator_1 = require("./utils/otel.decorator");
20
- const api_1 = require("@opentelemetry/api");
21
- const sdk_node_1 = require("@opentelemetry/sdk-node");
22
- const instrumentation_http_1 = require("@opentelemetry/instrumentation-http");
23
- const sdk_trace_base_1 = require("@opentelemetry/sdk-trace-base");
24
- const exporter_trace_otlp_http_1 = require("@opentelemetry/exporter-trace-otlp-http");
25
- const otlp_exporter_base_1 = require("@opentelemetry/otlp-exporter-base");
26
- const semantic_conventions_1 = require("@opentelemetry/semantic-conventions");
27
- const resources_1 = require("@opentelemetry/resources");
28
- const api_2 = require("@opentelemetry/api");
29
- exports.CODE_TOOLBOX_LANGUAGE_LABEL = 'code-toolbox-language';
30
- /**
31
- * Supported programming languages for code execution
32
- *
33
- * Python is used as the default sandbox language when no language is explicitly specified.
34
- */
35
- var CodeLanguage;
36
- (function (CodeLanguage) {
37
- CodeLanguage["PYTHON"] = "python";
38
- CodeLanguage["TYPESCRIPT"] = "typescript";
39
- CodeLanguage["JAVASCRIPT"] = "javascript";
40
- })(CodeLanguage || (exports.CodeLanguage = CodeLanguage = {}));
41
- /**
42
- * Main class for interacting with the Daytona API.
43
- * Provides methods for creating, managing, and interacting with Daytona Sandboxes.
44
- * Can be initialized either with explicit configuration or using environment variables.
45
- *
46
- * @property {VolumeService} volume - Service for managing Daytona Volumes
47
- * @property {SnapshotService} snapshot - Service for managing Daytona Snapshots
48
- *
49
- * @example
50
- * // Using environment variables
51
- * // Uses DAYTONA_API_KEY, DAYTONA_API_URL, DAYTONA_TARGET
52
- * const daytona = new Daytona();
53
- * const sandbox = await daytona.create();
54
- *
55
- * @example
56
- * // Using explicit configuration
57
- * const config: DaytonaConfig = {
58
- * apiKey: "your-api-key",
59
- * apiUrl: "https://your-api.com",
60
- * target: "us"
61
- * };
62
- * const daytona = new Daytona(config);
63
- *
64
- * @example
65
- * // Disposes daytona and flushes traces when done
66
- * await using daytona = new Daytona({
67
- * otelEnabled: true,
68
- * });
69
- * @class
70
- */
71
- class Daytona {
72
- clientConfig;
73
- sandboxApi;
74
- objectStorageApi;
75
- configApi;
76
- target;
77
- apiKey;
78
- jwtToken;
79
- organizationId;
80
- apiUrl;
81
- otelSdk;
82
- volume;
83
- snapshot;
84
- /**
85
- * Creates a new Daytona client instance.
86
- *
87
- * @param {DaytonaConfig} [config] - Configuration options
88
- * @throws {DaytonaError} - `DaytonaError` - When API key is missing
89
- */
90
- constructor(config) {
91
- let apiUrl;
92
- if (config) {
93
- this.apiKey = !config?.apiKey && config?.jwtToken ? undefined : config?.apiKey;
94
- this.jwtToken = config?.jwtToken;
95
- this.organizationId = config?.organizationId;
96
- apiUrl = config?.apiUrl || config?.serverUrl;
97
- this.target = config?.target;
98
- }
99
- let _envReader;
100
- const envReader = () => {
101
- if (_envReader === undefined) {
102
- _envReader = Runtime_1.RUNTIME !== Runtime_1.Runtime.BROWSER ? new Runtime_1.DaytonaEnvReader() : null;
103
- }
104
- return _envReader;
105
- };
106
- if (!config ||
107
- (!(this.apiKey && apiUrl && this.target) && !(this.jwtToken && this.organizationId && apiUrl && this.target))) {
108
- const reader = envReader();
109
- if (reader) {
110
- this.apiKey = this.apiKey || (this.jwtToken ? undefined : reader.get('DAYTONA_API_KEY'));
111
- this.jwtToken = this.jwtToken || reader.get('DAYTONA_JWT_TOKEN');
112
- this.organizationId = this.organizationId || reader.get('DAYTONA_ORGANIZATION_ID');
113
- apiUrl = apiUrl || reader.get('DAYTONA_API_URL') || reader.get('DAYTONA_SERVER_URL');
114
- this.target = this.target || reader.get('DAYTONA_TARGET');
115
- if (reader.get('DAYTONA_SERVER_URL') && !reader.get('DAYTONA_API_URL')) {
116
- console.warn('[Deprecation Warning] Environment variable `DAYTONA_SERVER_URL` is deprecated and will be removed in future versions. Use `DAYTONA_API_URL` instead.');
117
- }
118
- }
119
- }
120
- this.apiUrl = apiUrl || 'https://app.daytona.io/api';
121
- const orgHeader = {};
122
- if (!this.apiKey) {
123
- if (!this.organizationId) {
124
- throw new DaytonaError_1.DaytonaAuthenticationError('Organization ID is required when using JWT token');
125
- }
126
- orgHeader['X-Daytona-Organization-ID'] = this.organizationId;
127
- }
128
- const isLegacyPackage = packageJson.name === '@daytonaio/sdk';
129
- const sdkLabel = isLegacyPackage ? 'sdk-typescript-legacy' : 'sdk-typescript';
130
- const configuration = new api_client_1.Configuration({
131
- basePath: this.apiUrl,
132
- baseOptions: {
133
- headers: {
134
- Authorization: `Bearer ${this.apiKey || this.jwtToken}`,
135
- 'X-Daytona-Source': sdkLabel,
136
- 'X-Daytona-SDK-Version': packageJson.version,
137
- 'User-Agent': `${sdkLabel}/${packageJson.version}`,
138
- ...orgHeader,
139
- },
140
- },
141
- });
142
- const axiosInstance = Daytona.createAxiosInstance();
143
- this.sandboxApi = new api_client_1.SandboxApi(configuration, '', axiosInstance);
144
- this.objectStorageApi = new api_client_1.ObjectStorageApi(configuration, '', axiosInstance);
145
- this.configApi = new api_client_1.ConfigApi(configuration, '', axiosInstance);
146
- this.volume = new Volume_1.VolumeService(new api_client_1.VolumesApi(configuration, '', axiosInstance));
147
- this.snapshot = new Snapshot_1.SnapshotService(configuration, new api_client_1.SnapshotsApi(configuration, '', axiosInstance), this.objectStorageApi, this.target);
148
- this.clientConfig = configuration;
149
- if (!config?._experimental?.otelEnabled && envReader()?.get('DAYTONA_EXPERIMENTAL_OTEL_ENABLED') !== 'true') {
150
- return;
151
- }
152
- api_2.diag.setLogger(new api_2.DiagConsoleLogger(), api_2.DiagLogLevel.INFO);
153
- this.otelSdk = new sdk_node_1.NodeSDK({
154
- resource: (0, resources_1.resourceFromAttributes)({
155
- [semantic_conventions_1.ATTR_SERVICE_VERSION]: packageJson.version,
156
- [semantic_conventions_1.ATTR_SERVICE_NAME]: 'daytona-typescript-sdk',
157
- }),
158
- instrumentations: [
159
- new instrumentation_http_1.HttpInstrumentation({
160
- requireParentforOutgoingSpans: false,
161
- }),
162
- ],
163
- spanProcessors: [
164
- new sdk_trace_base_1.BatchSpanProcessor(new exporter_trace_otlp_http_1.OTLPTraceExporter({
165
- compression: otlp_exporter_base_1.CompressionAlgorithm.GZIP,
166
- })),
167
- ],
168
- });
169
- this.otelSdk.start();
170
- // Flush and shutdown OTEL on process exit
171
- process.on('SIGTERM', async () => {
172
- await this.otelSdk?.shutdown();
173
- });
174
- }
175
- async [Symbol.asyncDispose]() {
176
- if (!this.otelSdk) {
177
- return;
178
- }
179
- await this.otelSdk.shutdown();
180
- }
181
- async create(params, options = { timeout: 60 }) {
182
- const startTime = Date.now();
183
- options = typeof options === 'number' ? { timeout: options } : { ...options };
184
- if (options.timeout == undefined || options.timeout == null) {
185
- options.timeout = 60;
186
- }
187
- if (params == null) {
188
- params = { language: 'python' };
189
- }
190
- if (!params.language) {
191
- params.language = 'python';
192
- }
193
- const labels = params.labels || {};
194
- if (params.language) {
195
- const validLanguages = Object.values(CodeLanguage);
196
- if (!validLanguages.includes(params.language)) {
197
- throw new DaytonaError_1.DaytonaValidationError(`Invalid ${exports.CODE_TOOLBOX_LANGUAGE_LABEL}: ${params.language}. Supported languages: ${validLanguages.join(', ')}`);
198
- }
199
- labels[exports.CODE_TOOLBOX_LANGUAGE_LABEL] = params.language;
200
- }
201
- if (options.timeout < 0) {
202
- throw new DaytonaError_1.DaytonaValidationError('Timeout must be a non-negative number');
203
- }
204
- if (params.autoStopInterval !== undefined &&
205
- (!Number.isInteger(params.autoStopInterval) || params.autoStopInterval < 0)) {
206
- throw new DaytonaError_1.DaytonaValidationError('autoStopInterval must be a non-negative integer');
207
- }
208
- if (params.ephemeral) {
209
- if (params.autoDeleteInterval !== undefined && params.autoDeleteInterval !== 0) {
210
- console.warn("'ephemeral' and 'autoDeleteInterval' cannot be used together. If ephemeral is true, autoDeleteInterval will be ignored and set to 0.");
211
- }
212
- params.autoDeleteInterval = 0;
213
- }
214
- if (params.autoArchiveInterval !== undefined &&
215
- (!Number.isInteger(params.autoArchiveInterval) || params.autoArchiveInterval < 0)) {
216
- throw new DaytonaError_1.DaytonaValidationError('autoArchiveInterval must be a non-negative integer');
217
- }
218
- try {
219
- let buildInfo;
220
- let snapshot;
221
- let resources;
222
- if ('snapshot' in params) {
223
- snapshot = params.snapshot;
224
- }
225
- if ('image' in params) {
226
- if (typeof params.image === 'string') {
227
- buildInfo = {
228
- dockerfileContent: Image_1.Image.base(params.image).dockerfile,
229
- };
230
- }
231
- else if (params.image instanceof Image_1.Image) {
232
- const contextHashes = await Snapshot_1.SnapshotService.processImageContext(this.objectStorageApi, params.image);
233
- buildInfo = {
234
- contextHashes,
235
- dockerfileContent: params.image.dockerfile,
236
- };
237
- }
238
- }
239
- if ('resources' in params) {
240
- resources = params.resources;
241
- }
242
- const response = await this.sandboxApi.createSandbox({
243
- name: params.name,
244
- snapshot: snapshot,
245
- buildInfo,
246
- user: params.user,
247
- env: params.envVars || {},
248
- labels: labels,
249
- public: params.public,
250
- target: this.target,
251
- cpu: resources?.cpu,
252
- gpu: resources?.gpu,
253
- memory: resources?.memory,
254
- disk: resources?.disk,
255
- autoStopInterval: params.autoStopInterval,
256
- autoArchiveInterval: params.autoArchiveInterval,
257
- autoDeleteInterval: params.autoDeleteInterval,
258
- volumes: params.volumes,
259
- networkBlockAll: params.networkBlockAll,
260
- networkAllowList: params.networkAllowList,
261
- }, undefined, {
262
- timeout: options.timeout * 1000,
263
- });
264
- let sandboxInstance = response.data;
265
- if (sandboxInstance.state === api_client_1.SandboxState.PENDING_BUILD && options.onSnapshotCreateLogs) {
266
- const terminalStates = [
267
- api_client_1.SandboxState.STARTED,
268
- api_client_1.SandboxState.STARTING,
269
- api_client_1.SandboxState.ERROR,
270
- api_client_1.SandboxState.BUILD_FAILED,
271
- ];
272
- while (sandboxInstance.state === api_client_1.SandboxState.PENDING_BUILD) {
273
- if (options.timeout) {
274
- const elapsed = (Date.now() - startTime) / 1000;
275
- if (elapsed > options.timeout) {
276
- throw new DaytonaError_1.DaytonaTimeoutError(`Sandbox build has been pending for more than ${options.timeout} seconds. Please check the sandbox state again later.`);
277
- }
278
- }
279
- await new Promise((resolve) => setTimeout(resolve, 1000));
280
- sandboxInstance = (await this.sandboxApi.getSandbox(sandboxInstance.id)).data;
281
- }
282
- const response = await this.sandboxApi.getBuildLogsUrl(sandboxInstance.id);
283
- await (0, Stream_1.processStreamingResponse)(() => fetch(response.data.url + '?follow=true', {
284
- method: 'GET',
285
- headers: this.clientConfig.baseOptions.headers,
286
- }), (chunk) => options.onSnapshotCreateLogs?.(chunk.trimEnd()), async () => {
287
- sandboxInstance = (await this.sandboxApi.getSandbox(sandboxInstance.id)).data;
288
- return sandboxInstance.state !== undefined && terminalStates.includes(sandboxInstance.state);
289
- });
290
- }
291
- const sandbox = new Sandbox_1.Sandbox(sandboxInstance, new api_client_1.Configuration(structuredClone(this.clientConfig)), Daytona.createAxiosInstance(), this.sandboxApi);
292
- if (sandbox.state !== 'started') {
293
- const timeElapsed = Date.now() - startTime;
294
- await sandbox.waitUntilStarted(options.timeout ? Math.max(0.001, options.timeout - timeElapsed / 1000) : options.timeout);
295
- }
296
- return sandbox;
297
- }
298
- catch (error) {
299
- if (error instanceof DaytonaError_1.DaytonaTimeoutError) {
300
- const errMsg = `Failed to create and start sandbox within ${options.timeout} seconds. Operation timed out.`;
301
- throw new DaytonaError_1.DaytonaTimeoutError(errMsg, error.statusCode, error.headers, error.errorCode);
302
- }
303
- throw error;
304
- }
305
- }
306
- /**
307
- * Gets a Sandbox by its ID or name.
308
- *
309
- * @param {string} sandboxIdOrName - The ID or name of the Sandbox to retrieve
310
- * @returns {Promise<Sandbox>} The Sandbox
311
- *
312
- * @example
313
- * const sandbox = await daytona.get('my-sandbox-id-or-name');
314
- * console.log(`Sandbox state: ${sandbox.state}`);
315
- */
316
- async get(sandboxIdOrName) {
317
- const response = await this.sandboxApi.getSandbox(sandboxIdOrName);
318
- const sandboxInstance = response.data;
319
- return new Sandbox_1.Sandbox(sandboxInstance, structuredClone(this.clientConfig), Daytona.createAxiosInstance(), this.sandboxApi);
320
- }
321
- /**
322
- * Returns paginated list of Sandboxes filtered by labels.
323
- *
324
- * @param {Record<string, string>} [labels] - Labels to filter Sandboxes
325
- * @param {number} [page] - Page number for pagination (starting from 1)
326
- * @param {number} [limit] - Maximum number of items per page
327
- * @returns {Promise<PaginatedSandboxes>} Paginated list of Sandboxes that match the labels.
328
- *
329
- * @example
330
- * const result = await daytona.list({ 'my-label': 'my-value' }, 2, 10);
331
- * for (const sandbox of result.items) {
332
- * console.log(`${sandbox.id}: ${sandbox.state}`);
333
- * }
334
- */
335
- async list(labels, page, limit) {
336
- const response = await this.sandboxApi.listSandboxesPaginated(undefined, page, limit, undefined, undefined, labels ? JSON.stringify(labels) : undefined);
337
- return {
338
- items: response.data.items.map((sandbox) => {
339
- return new Sandbox_1.Sandbox(sandbox, structuredClone(this.clientConfig), Daytona.createAxiosInstance(), this.sandboxApi);
340
- }),
341
- total: response.data.total,
342
- page: response.data.page,
343
- totalPages: response.data.totalPages,
344
- };
345
- }
346
- /**
347
- * Starts a Sandbox and waits for it to be ready.
348
- *
349
- * @param {Sandbox} sandbox - The Sandbox to start
350
- * @param {number} [timeout] - Optional timeout in seconds (0 means no timeout)
351
- * @returns {Promise<void>}
352
- *
353
- * @example
354
- * const sandbox = await daytona.get('my-sandbox-id');
355
- * // Wait up to 60 seconds for the sandbox to start
356
- * await daytona.start(sandbox, 60);
357
- */
358
- async start(sandbox, timeout) {
359
- await sandbox.start(timeout);
360
- }
361
- /**
362
- * Stops a Sandbox.
363
- *
364
- * @param {Sandbox} sandbox - The Sandbox to stop
365
- * @returns {Promise<void>}
366
- *
367
- * @example
368
- * const sandbox = await daytona.get('my-sandbox-id');
369
- * await daytona.stop(sandbox);
370
- */
371
- async stop(sandbox) {
372
- await sandbox.stop();
373
- }
374
- /**
375
- * Forks a Sandbox, creating a new Sandbox with an identical filesystem.
376
- *
377
- * @param {Sandbox} sandbox - The Sandbox to fork
378
- * @param {object} [params] - Fork parameters
379
- * @param {string} [params.name] - Optional name for the forked Sandbox
380
- * @param {number} [timeout] - Timeout in seconds (0 means no timeout, default is 60)
381
- * @returns {Promise<Sandbox>} The forked Sandbox
382
- *
383
- * @example
384
- * const sandbox = await daytona.get('my-sandbox-id');
385
- * const forked = await daytona._experimental_fork(sandbox, { name: 'my-fork' });
386
- * console.log(`Forked sandbox: ${forked.id}`);
387
- */
388
- async _experimental_fork(sandbox, params, timeout = 60) {
389
- return await sandbox._experimental_fork(params, timeout);
390
- }
391
- /**
392
- * Deletes a Sandbox.
393
- *
394
- * @param {Sandbox} sandbox - The Sandbox to delete
395
- * @param {number} timeout - Timeout in seconds (0 means no timeout, default is 60)
396
- * @returns {Promise<void>}
397
- *
398
- * @example
399
- * const sandbox = await daytona.get('my-sandbox-id');
400
- * await daytona.delete(sandbox);
401
- */
402
- async delete(sandbox, timeout = 60) {
403
- await sandbox.delete(timeout);
404
- }
405
- /**
406
- * @hidden
407
- */
408
- static createAxiosInstance() {
409
- const axiosInstance = axios_1.default.create({
410
- timeout: 24 * 60 * 60 * 1000, // 24 hours
411
- });
412
- // Request interceptor: Inject trace context into headers
413
- axiosInstance.interceptors.request.use((requestConfig) => {
414
- // Get the current active context (which may contain an active span)
415
- const currentContext = api_1.context.active();
416
- // Inject trace context into HTTP headers using W3C Trace Context propagation
417
- // This adds headers like 'traceparent' and 'tracestate'
418
- api_1.propagation.inject(currentContext, requestConfig.headers);
419
- requestConfig.metadata = { startTime: Date.now() };
420
- return requestConfig;
421
- }, (error) => {
422
- return Promise.reject(error);
423
- });
424
- axiosInstance.interceptors.response.use((response) => {
425
- return response;
426
- }, (error) => {
427
- if (error instanceof axios_1.AxiosError) {
428
- throw (0, DaytonaError_1.createAxiosDaytonaError)(error);
429
- }
430
- throw new DaytonaError_1.DaytonaError(error instanceof Error ? error.message : String(error));
431
- });
432
- axiosInstance.interceptors.response.use((response) => {
433
- const startTime = response.config.metadata?.startTime;
434
- if (startTime) {
435
- const duration = Date.now() - startTime;
436
- // Get the active span to add attributes
437
- const activeSpan = api_1.trace.getActiveSpan();
438
- // Only modify the span if it's still recording (not ended)
439
- if (activeSpan && activeSpan.isRecording()) {
440
- // Add response metadata to the span
441
- activeSpan.setAttributes({
442
- 'http.response.status_code': response.status,
443
- 'http.response.duration_ms': duration,
444
- // 'http.response.size_bytes': JSON.stringify(response.data).length,
445
- });
446
- }
447
- }
448
- return response;
449
- }, (error) => {
450
- const startTime = error.config?.metadata?.startTime;
451
- if (startTime) {
452
- const duration = Date.now() - startTime;
453
- // Get the active span to record the error
454
- const activeSpan = api_1.trace.getActiveSpan();
455
- // Only modify the span if it's still recording (not ended)
456
- if (activeSpan && activeSpan.isRecording()) {
457
- activeSpan.setStatus({
458
- code: api_1.SpanStatusCode.ERROR,
459
- message: error.message,
460
- });
461
- activeSpan.setAttributes({
462
- 'http.response.duration_ms': duration,
463
- 'error.type': error.name,
464
- 'error.message': error.message,
465
- });
466
- if (error.response) {
467
- activeSpan.setAttribute('http.response.status_code', error.response.status);
468
- }
469
- // Record the exception on the span
470
- activeSpan.recordException(error);
471
- }
472
- }
473
- return Promise.reject(error);
474
- });
475
- return axiosInstance;
476
- }
477
- }
478
- exports.Daytona = Daytona;
479
- tslib_1.__decorate([
480
- (0, otel_decorator_1.WithInstrumentation)(),
481
- tslib_1.__metadata("design:type", Function),
482
- tslib_1.__metadata("design:paramtypes", [Object, Object]),
483
- tslib_1.__metadata("design:returntype", Promise)
484
- ], Daytona.prototype, "create", null);
485
- tslib_1.__decorate([
486
- (0, otel_decorator_1.WithInstrumentation)(),
487
- tslib_1.__metadata("design:type", Function),
488
- tslib_1.__metadata("design:paramtypes", [String]),
489
- tslib_1.__metadata("design:returntype", Promise)
490
- ], Daytona.prototype, "get", null);
491
- tslib_1.__decorate([
492
- (0, otel_decorator_1.WithInstrumentation)(),
493
- tslib_1.__metadata("design:type", Function),
494
- tslib_1.__metadata("design:paramtypes", [Object, Number, Number]),
495
- tslib_1.__metadata("design:returntype", Promise)
496
- ], Daytona.prototype, "list", null);
497
- tslib_1.__decorate([
498
- (0, otel_decorator_1.WithInstrumentation)(),
499
- tslib_1.__metadata("design:type", Function),
500
- tslib_1.__metadata("design:paramtypes", [Sandbox_1.Sandbox, Number]),
501
- tslib_1.__metadata("design:returntype", Promise)
502
- ], Daytona.prototype, "start", null);
503
- tslib_1.__decorate([
504
- (0, otel_decorator_1.WithInstrumentation)(),
505
- tslib_1.__metadata("design:type", Function),
506
- tslib_1.__metadata("design:paramtypes", [Sandbox_1.Sandbox]),
507
- tslib_1.__metadata("design:returntype", Promise)
508
- ], Daytona.prototype, "stop", null);
509
- tslib_1.__decorate([
510
- (0, otel_decorator_1.WithInstrumentation)(),
511
- tslib_1.__metadata("design:type", Function),
512
- tslib_1.__metadata("design:paramtypes", [Sandbox_1.Sandbox, Object, Object]),
513
- tslib_1.__metadata("design:returntype", Promise)
514
- ], Daytona.prototype, "_experimental_fork", null);
515
- tslib_1.__decorate([
516
- (0, otel_decorator_1.WithInstrumentation)(),
517
- tslib_1.__metadata("design:type", Function),
518
- tslib_1.__metadata("design:paramtypes", [Sandbox_1.Sandbox, Object]),
519
- tslib_1.__metadata("design:returntype", Promise)
520
- ], Daytona.prototype, "delete", null);
521
- //# sourceMappingURL=Daytona.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"Daytona.js","sourceRoot":"","sources":["../../../../libs/sdk-typescript/src/Daytona.ts"],"names":[],"mappings":"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"}