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