@daytonaio/sdk 0.20.0 → 0.20.2
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.
- package/package.json +11 -2
- package/src/Daytona.d.ts +80 -6
- package/src/Daytona.js +136 -34
- package/src/Daytona.js.map +1 -1
- package/src/Image.d.ts +261 -0
- package/src/Image.js +563 -0
- package/src/Image.js.map +1 -0
- package/src/ObjectStorage.d.ts +85 -0
- package/src/ObjectStorage.js +230 -0
- package/src/ObjectStorage.js.map +1 -0
- package/src/Process.d.ts +0 -1
- package/src/Process.js +4 -69
- package/src/Process.js.map +1 -1
- package/src/Sandbox.d.ts +22 -2
- package/src/Sandbox.js +36 -12
- package/src/Sandbox.js.map +1 -1
- package/src/index.d.ts +1 -0
- package/src/index.js +3 -1
- package/src/index.js.map +1 -1
- package/src/utils/Stream.d.ts +13 -0
- package/src/utils/Stream.js +82 -0
- package/src/utils/Stream.js.map +1 -0
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@daytonaio/sdk",
|
|
3
|
-
"version": "0.20.
|
|
3
|
+
"version": "0.20.2",
|
|
4
4
|
"description": "TypeScript SDK for Daytona",
|
|
5
5
|
"main": "./src/index.js",
|
|
6
6
|
"types": "./src/index.d.ts",
|
|
@@ -23,17 +23,26 @@
|
|
|
23
23
|
},
|
|
24
24
|
"keywords": [],
|
|
25
25
|
"dependencies": {
|
|
26
|
+
"@aws-sdk/client-s3": "^3.445.0",
|
|
27
|
+
"@aws-sdk/lib-storage": "^3.798.0",
|
|
26
28
|
"@babel/preset-env": "7.27.2",
|
|
27
29
|
"@babel/preset-typescript": "7.27.1",
|
|
28
30
|
"@dotenvx/dotenvx": "^1.25.1",
|
|
31
|
+
"@iarna/toml": "^2.2.5",
|
|
32
|
+
"@types/shell-quote": "1.7.5",
|
|
33
|
+
"@types/tar": "6.1.13",
|
|
29
34
|
"axios": "^1.6.1",
|
|
30
35
|
"dotenv": "16.5.0",
|
|
36
|
+
"fast-glob": "^3.3.0",
|
|
31
37
|
"form-data": "^4.0.0",
|
|
38
|
+
"shell-quote": "^1.8.2",
|
|
39
|
+
"tar": "^6.2.0",
|
|
32
40
|
"typedoc": "0.27.9",
|
|
33
41
|
"typedoc-plugin-markdown": "4.4.2",
|
|
34
42
|
"typedoc-plugin-merge-modules": "6.1.0",
|
|
43
|
+
"untildify": "^5.0.0",
|
|
35
44
|
"uuid": "^11.0.3",
|
|
36
|
-
"@daytonaio/api-client": "0.20.
|
|
45
|
+
"@daytonaio/api-client": "^0.20.1"
|
|
37
46
|
},
|
|
38
47
|
"packageManager": "yarn@4.6.0",
|
|
39
48
|
"type": "commonjs"
|
package/src/Daytona.d.ts
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { CreateWorkspaceTargetEnum as SandboxTargetRegion, WorkspaceVolume } from '@daytonaio/api-client';
|
|
2
|
+
import { Image } from './Image';
|
|
2
3
|
import { Sandbox, Sandbox as Workspace } from './Sandbox';
|
|
3
4
|
import { VolumeService } from './Volume';
|
|
4
5
|
/**
|
|
@@ -88,7 +89,7 @@ export interface SandboxResources {
|
|
|
88
89
|
* Parameters for creating a new Sandbox.
|
|
89
90
|
*
|
|
90
91
|
* @interface
|
|
91
|
-
* @property {string} [image] - Optional Docker image to use for the Sandbox
|
|
92
|
+
* @property {string | Image} [image] - Optional Docker image to use for the Sandbox or an Image instance
|
|
92
93
|
* @property {string} [user] - Optional os user to use for the Sandbox
|
|
93
94
|
* @property {CodeLanguage | string} [language] - Programming language for direct code execution
|
|
94
95
|
* @property {Record<string, string>} [envVars] - Optional environment variables to set in the Sandbox
|
|
@@ -98,6 +99,7 @@ export interface SandboxResources {
|
|
|
98
99
|
* @property {boolean} [async] - If true, will not wait for the Sandbox to be ready before returning
|
|
99
100
|
* @property {number} [timeout] - Timeout in seconds for the Sandbox to be ready (0 means no timeout)
|
|
100
101
|
* @property {number} [autoStopInterval] - Auto-stop interval in minutes (0 means disabled)
|
|
102
|
+
* @property {number} [autoArchiveInterval] - Auto-archive interval in minutes (0 means the maximum interval will be used)
|
|
101
103
|
*
|
|
102
104
|
* @example
|
|
103
105
|
* const params: CreateSandboxParams = {
|
|
@@ -107,13 +109,14 @@ export interface SandboxResources {
|
|
|
107
109
|
* cpu: 2,
|
|
108
110
|
* memory: 4 // 4GB RAM
|
|
109
111
|
* },
|
|
110
|
-
* autoStopInterval: 60 // Auto-stop after 1 hour of inactivity
|
|
112
|
+
* autoStopInterval: 60, // Auto-stop after 1 hour of inactivity
|
|
113
|
+
* autoArchiveInterval: 60 // Auto-archive after a Sandbox has been stopped for 1 hour
|
|
111
114
|
* };
|
|
112
115
|
* const sandbox = await daytona.create(params, 50);
|
|
113
116
|
*/
|
|
114
117
|
export type CreateSandboxParams = {
|
|
115
|
-
/** Optional Docker image to use for the Sandbox */
|
|
116
|
-
image?: string;
|
|
118
|
+
/** Optional Docker image to use for the Sandbox or an Image instance */
|
|
119
|
+
image?: string | Image;
|
|
117
120
|
/** Optional os user to use for the Sandbox */
|
|
118
121
|
user?: string;
|
|
119
122
|
/** Programming language for direct code execution */
|
|
@@ -135,6 +138,8 @@ export type CreateSandboxParams = {
|
|
|
135
138
|
timeout?: number;
|
|
136
139
|
/** Auto-stop interval in minutes (0 means disabled) (must be a non-negative integer) */
|
|
137
140
|
autoStopInterval?: number;
|
|
141
|
+
/** Auto-archive interval in minutes (0 means the maximum interval will be used) (must be a non-negative integer) */
|
|
142
|
+
autoArchiveInterval?: number;
|
|
138
143
|
/** List of volumes to mount in the Sandbox */
|
|
139
144
|
volumes?: VolumeMount[];
|
|
140
145
|
};
|
|
@@ -176,6 +181,8 @@ export type SandboxFilter = {
|
|
|
176
181
|
export declare class Daytona {
|
|
177
182
|
private readonly sandboxApi;
|
|
178
183
|
private readonly toolboxApi;
|
|
184
|
+
private readonly imagesApi;
|
|
185
|
+
private readonly objectStorageApi;
|
|
179
186
|
private readonly target;
|
|
180
187
|
private readonly apiKey?;
|
|
181
188
|
private readonly jwtToken?;
|
|
@@ -190,6 +197,46 @@ export declare class Daytona {
|
|
|
190
197
|
*/
|
|
191
198
|
constructor(config?: DaytonaConfig);
|
|
192
199
|
/**
|
|
200
|
+
* Creates Sandboxes with default or custom configurations. You can specify various parameters,
|
|
201
|
+
* including language, image, resources, environment variables, and volumes for the Sandbox.
|
|
202
|
+
*
|
|
203
|
+
* @param {CreateSandboxParams} [params] - Parameters for Sandbox creation
|
|
204
|
+
* @param {object} [options] - Options for the create operation
|
|
205
|
+
* @param {number} [options.timeout] - Timeout in seconds (0 means no timeout, default is 60)
|
|
206
|
+
* @param {function} [options.onImageBuildLogs] - Callback function to handle image build logs.
|
|
207
|
+
* It's invoked only when `params.image` is an instance of `Image` and there's no existing
|
|
208
|
+
* image in Daytona with the same configuration.
|
|
209
|
+
* @returns {Promise<Sandbox>} The created Sandbox instance
|
|
210
|
+
*
|
|
211
|
+
* @example
|
|
212
|
+
* const image = Image.debianSlim('3.12').pipInstall('numpy');
|
|
213
|
+
* const sandbox = await daytona.create({ image }, { timeout: 90, onImageBuildLogs: console.log });
|
|
214
|
+
*
|
|
215
|
+
* @example
|
|
216
|
+
* // Create a custom sandbox
|
|
217
|
+
* const image = Image.debianSlim('3.12').pipInstall('numpy');
|
|
218
|
+
* const params: CreateSandboxParams = {
|
|
219
|
+
* language: 'typescript',
|
|
220
|
+
* image,
|
|
221
|
+
* envVars: {
|
|
222
|
+
* NODE_ENV: 'development',
|
|
223
|
+
* DEBUG: 'true'
|
|
224
|
+
* },
|
|
225
|
+
* resources: {
|
|
226
|
+
* cpu: 2,
|
|
227
|
+
* memory: 4 // 4GB RAM
|
|
228
|
+
* },
|
|
229
|
+
* autoStopInterval: 60
|
|
230
|
+
* };
|
|
231
|
+
* const sandbox = await daytona.create(params, { timeout: 100, onImageBuildLogs: console.log });
|
|
232
|
+
*/
|
|
233
|
+
create(params?: CreateSandboxParams, options?: {
|
|
234
|
+
onImageBuildLogs?: (chunk: string) => void;
|
|
235
|
+
timeout?: number;
|
|
236
|
+
}): Promise<Sandbox>;
|
|
237
|
+
/**
|
|
238
|
+
* @deprecated Use `create` with `options` object instead. This method will be removed in a future version.
|
|
239
|
+
*
|
|
193
240
|
* Creates Sandboxes with default or custom configurations. You can specify various parameters,
|
|
194
241
|
* including language, image, resources, environment variables, and volumes for the Sandbox.
|
|
195
242
|
*
|
|
@@ -214,11 +261,12 @@ export declare class Daytona {
|
|
|
214
261
|
* cpu: 2,
|
|
215
262
|
* memory: 4 // 4GB RAM
|
|
216
263
|
* },
|
|
217
|
-
* autoStopInterval: 60
|
|
264
|
+
* autoStopInterval: 60,
|
|
265
|
+
* autoArchiveInterval: 60
|
|
218
266
|
* };
|
|
219
267
|
* const sandbox = await daytona.create(params, 40);
|
|
220
268
|
*/
|
|
221
|
-
create(params?: CreateSandboxParams,
|
|
269
|
+
create(params?: CreateSandboxParams, options?: number): Promise<Sandbox>;
|
|
222
270
|
/**
|
|
223
271
|
* Gets a Sandbox by its ID.
|
|
224
272
|
*
|
|
@@ -312,6 +360,24 @@ export declare class Daytona {
|
|
|
312
360
|
* console.log(`Current sandbox state: ${sandbox.instance.state}`);
|
|
313
361
|
*/
|
|
314
362
|
getCurrentSandbox(sandboxId: string): Promise<Sandbox>;
|
|
363
|
+
/**
|
|
364
|
+
* Creates and registers a new image from the given Image definition.
|
|
365
|
+
*
|
|
366
|
+
* @param {string} name - The name of the image to create.
|
|
367
|
+
* @param {Image} image - The Image instance.
|
|
368
|
+
* @param {object} options - Options for the create operation.
|
|
369
|
+
* @param {boolean} options.verbose - Default is false. Whether to log progress information upon each state change of the image.
|
|
370
|
+
* @param {number} options.timeout - Default is no timeout. Timeout in seconds (0 means no timeout).
|
|
371
|
+
* @returns {Promise<void>}
|
|
372
|
+
*
|
|
373
|
+
* @example
|
|
374
|
+
* const image = Image.debianSlim('3.12').pipInstall('numpy');
|
|
375
|
+
* await daytona.createImage('my-python-image', image);
|
|
376
|
+
*/
|
|
377
|
+
createImage(name: string, image: Image, options?: {
|
|
378
|
+
onLogs?: (chunk: string) => void;
|
|
379
|
+
timeout?: number;
|
|
380
|
+
}): Promise<void>;
|
|
315
381
|
/**
|
|
316
382
|
* Gets the appropriate code toolbox based on language.
|
|
317
383
|
*
|
|
@@ -321,4 +387,12 @@ export declare class Daytona {
|
|
|
321
387
|
* @throws {DaytonaError} - `DaytonaError` - When an unsupported language is specified
|
|
322
388
|
*/
|
|
323
389
|
private getCodeToolbox;
|
|
390
|
+
/**
|
|
391
|
+
* Processes the image contexts by uploading them to object storage
|
|
392
|
+
*
|
|
393
|
+
* @private
|
|
394
|
+
* @param {Image} image - The Image instance.
|
|
395
|
+
* @returns {Promise<string[]>} The list of context hashes stored in object storage.
|
|
396
|
+
*/
|
|
397
|
+
private processImageContext;
|
|
324
398
|
}
|
package/src/Daytona.js
CHANGED
|
@@ -44,7 +44,10 @@ const dotenv = __importStar(require("dotenv"));
|
|
|
44
44
|
const SandboxPythonCodeToolbox_1 = require("./code-toolbox/SandboxPythonCodeToolbox");
|
|
45
45
|
const SandboxTsCodeToolbox_1 = require("./code-toolbox/SandboxTsCodeToolbox");
|
|
46
46
|
const DaytonaError_1 = require("./errors/DaytonaError");
|
|
47
|
+
const Image_1 = require("./Image");
|
|
48
|
+
const ObjectStorage_1 = require("./ObjectStorage");
|
|
47
49
|
const Sandbox_1 = require("./Sandbox");
|
|
50
|
+
const Stream_1 = require("./utils/Stream");
|
|
48
51
|
const Volume_1 = require("./Volume");
|
|
49
52
|
/**
|
|
50
53
|
* Supported programming languages for code execution
|
|
@@ -82,6 +85,8 @@ var CodeLanguage;
|
|
|
82
85
|
class Daytona {
|
|
83
86
|
sandboxApi;
|
|
84
87
|
toolboxApi;
|
|
88
|
+
imagesApi;
|
|
89
|
+
objectStorageApi;
|
|
85
90
|
target;
|
|
86
91
|
apiKey;
|
|
87
92
|
jwtToken;
|
|
@@ -165,38 +170,15 @@ class Daytona {
|
|
|
165
170
|
this.sandboxApi = new api_client_1.WorkspaceApi(configuration, '', axiosInstance);
|
|
166
171
|
this.toolboxApi = new api_client_1.ToolboxApi(configuration, '', axiosInstance);
|
|
167
172
|
this.volume = new Volume_1.VolumeService(new api_client_1.VolumesApi(configuration, '', axiosInstance));
|
|
173
|
+
this.imagesApi = new api_client_1.ImagesApi(configuration, '', axiosInstance);
|
|
174
|
+
this.objectStorageApi = new api_client_1.ObjectStorageApi(configuration, '', axiosInstance);
|
|
168
175
|
}
|
|
169
|
-
|
|
170
|
-
* Creates Sandboxes with default or custom configurations. You can specify various parameters,
|
|
171
|
-
* including language, image, resources, environment variables, and volumes for the Sandbox.
|
|
172
|
-
*
|
|
173
|
-
* @param {CreateSandboxParams} [params] - Parameters for Sandbox creation
|
|
174
|
-
* @param {number} [timeout] - Timeout in seconds (0 means no timeout, default is 60)
|
|
175
|
-
* @returns {Promise<Sandbox>} The created Sandbox instance
|
|
176
|
-
*
|
|
177
|
-
* @example
|
|
178
|
-
* // Create a default sandbox
|
|
179
|
-
* const sandbox = await daytona.create();
|
|
180
|
-
*
|
|
181
|
-
* @example
|
|
182
|
-
* // Create a custom sandbox
|
|
183
|
-
* const params: CreateSandboxParams = {
|
|
184
|
-
* language: 'typescript',
|
|
185
|
-
* image: 'node:18',
|
|
186
|
-
* envVars: {
|
|
187
|
-
* NODE_ENV: 'development',
|
|
188
|
-
* DEBUG: 'true'
|
|
189
|
-
* },
|
|
190
|
-
* resources: {
|
|
191
|
-
* cpu: 2,
|
|
192
|
-
* memory: 4 // 4GB RAM
|
|
193
|
-
* },
|
|
194
|
-
* autoStopInterval: 60
|
|
195
|
-
* };
|
|
196
|
-
* const sandbox = await daytona.create(params, 40);
|
|
197
|
-
*/
|
|
198
|
-
async create(params, timeout = 60) {
|
|
176
|
+
async create(params, options = { timeout: 60 }) {
|
|
199
177
|
const startTime = Date.now();
|
|
178
|
+
options = typeof options === 'number' ? { timeout: options } : { ...options };
|
|
179
|
+
if (options.timeout == undefined || options.timeout == null) {
|
|
180
|
+
options.timeout = 60;
|
|
181
|
+
}
|
|
200
182
|
if (params == null) {
|
|
201
183
|
params = { language: 'python' };
|
|
202
184
|
}
|
|
@@ -205,7 +187,7 @@ class Daytona {
|
|
|
205
187
|
labels['code-toolbox-language'] = params.language;
|
|
206
188
|
}
|
|
207
189
|
// remove this when params.timeout is removed
|
|
208
|
-
const effectiveTimeout = params.timeout || timeout;
|
|
190
|
+
const effectiveTimeout = params.timeout || options.timeout;
|
|
209
191
|
if (effectiveTimeout < 0) {
|
|
210
192
|
throw new DaytonaError_1.DaytonaError('Timeout must be a non-negative number');
|
|
211
193
|
}
|
|
@@ -213,10 +195,28 @@ class Daytona {
|
|
|
213
195
|
(!Number.isInteger(params.autoStopInterval) || params.autoStopInterval < 0)) {
|
|
214
196
|
throw new DaytonaError_1.DaytonaError('autoStopInterval must be a non-negative integer');
|
|
215
197
|
}
|
|
198
|
+
if (params.autoArchiveInterval !== undefined &&
|
|
199
|
+
(!Number.isInteger(params.autoArchiveInterval) || params.autoArchiveInterval < 0)) {
|
|
200
|
+
throw new DaytonaError_1.DaytonaError('autoArchiveInterval must be a non-negative integer');
|
|
201
|
+
}
|
|
216
202
|
const codeToolbox = this.getCodeToolbox(params.language);
|
|
217
203
|
try {
|
|
204
|
+
// Handle Image instance if provided
|
|
205
|
+
let imageStr;
|
|
206
|
+
let buildInfo;
|
|
207
|
+
if (typeof params.image === 'string') {
|
|
208
|
+
imageStr = params.image;
|
|
209
|
+
}
|
|
210
|
+
else if (params.image instanceof Image_1.Image) {
|
|
211
|
+
const contextHashes = await this.processImageContext(params.image);
|
|
212
|
+
buildInfo = {
|
|
213
|
+
contextHashes,
|
|
214
|
+
dockerfileContent: params.image.dockerfile,
|
|
215
|
+
};
|
|
216
|
+
}
|
|
218
217
|
const response = await this.sandboxApi.createWorkspace({
|
|
219
|
-
image:
|
|
218
|
+
image: imageStr,
|
|
219
|
+
buildInfo,
|
|
220
220
|
user: params.user,
|
|
221
221
|
env: params.envVars || {},
|
|
222
222
|
labels: params.labels,
|
|
@@ -227,18 +227,30 @@ class Daytona {
|
|
|
227
227
|
memory: params.resources?.memory,
|
|
228
228
|
disk: params.resources?.disk,
|
|
229
229
|
autoStopInterval: params.autoStopInterval,
|
|
230
|
+
autoArchiveInterval: params.autoArchiveInterval,
|
|
230
231
|
volumes: params.volumes,
|
|
231
232
|
}, undefined, {
|
|
232
233
|
timeout: effectiveTimeout * 1000,
|
|
233
234
|
});
|
|
234
|
-
|
|
235
|
+
let sandboxInstance = response.data;
|
|
236
|
+
if (sandboxInstance.state === api_client_1.WorkspaceState.PENDING_BUILD && options.onImageBuildLogs) {
|
|
237
|
+
const terminalStates = [api_client_1.WorkspaceState.STARTED, api_client_1.WorkspaceState.STARTING, api_client_1.WorkspaceState.ERROR];
|
|
238
|
+
while (sandboxInstance.state === api_client_1.WorkspaceState.PENDING_BUILD) {
|
|
239
|
+
await new Promise((resolve) => setTimeout(resolve, 1000));
|
|
240
|
+
sandboxInstance = (await this.sandboxApi.getWorkspace(sandboxInstance.id)).data;
|
|
241
|
+
}
|
|
242
|
+
await (0, Stream_1.processStreamingResponse)(() => this.sandboxApi.getBuildLogs(sandboxInstance.id, undefined, true, { responseType: 'stream' }), options.onImageBuildLogs, async () => {
|
|
243
|
+
sandboxInstance = (await this.sandboxApi.getWorkspace(sandboxInstance.id)).data;
|
|
244
|
+
return sandboxInstance.state !== undefined && terminalStates.includes(sandboxInstance.state);
|
|
245
|
+
});
|
|
246
|
+
}
|
|
235
247
|
const sandboxInfo = Sandbox_1.Sandbox.toSandboxInfo(sandboxInstance);
|
|
236
248
|
sandboxInstance.info = {
|
|
237
249
|
...sandboxInfo,
|
|
238
250
|
name: '',
|
|
239
251
|
};
|
|
240
252
|
const sandbox = new Sandbox_1.Sandbox(sandboxInstance.id, sandboxInstance, this.sandboxApi, this.toolboxApi, codeToolbox);
|
|
241
|
-
if (!params.async) {
|
|
253
|
+
if (!params.async && sandbox.instance.state !== 'started') {
|
|
242
254
|
const timeElapsed = Date.now() - startTime;
|
|
243
255
|
await sandbox.waitUntilStarted(effectiveTimeout ? effectiveTimeout - timeElapsed / 1000 : 0);
|
|
244
256
|
}
|
|
@@ -385,6 +397,70 @@ class Daytona {
|
|
|
385
397
|
async getCurrentSandbox(sandboxId) {
|
|
386
398
|
return await this.get(sandboxId);
|
|
387
399
|
}
|
|
400
|
+
/**
|
|
401
|
+
* Creates and registers a new image from the given Image definition.
|
|
402
|
+
*
|
|
403
|
+
* @param {string} name - The name of the image to create.
|
|
404
|
+
* @param {Image} image - The Image instance.
|
|
405
|
+
* @param {object} options - Options for the create operation.
|
|
406
|
+
* @param {boolean} options.verbose - Default is false. Whether to log progress information upon each state change of the image.
|
|
407
|
+
* @param {number} options.timeout - Default is no timeout. Timeout in seconds (0 means no timeout).
|
|
408
|
+
* @returns {Promise<void>}
|
|
409
|
+
*
|
|
410
|
+
* @example
|
|
411
|
+
* const image = Image.debianSlim('3.12').pipInstall('numpy');
|
|
412
|
+
* await daytona.createImage('my-python-image', image);
|
|
413
|
+
*/
|
|
414
|
+
async createImage(name, image, options = {}) {
|
|
415
|
+
const contextHashes = await this.processImageContext(image);
|
|
416
|
+
let builtImage = (await this.imagesApi.buildImage({
|
|
417
|
+
name,
|
|
418
|
+
buildInfo: {
|
|
419
|
+
contextHashes,
|
|
420
|
+
dockerfileContent: image.dockerfile,
|
|
421
|
+
},
|
|
422
|
+
}, undefined, {
|
|
423
|
+
timeout: (options.timeout || 0) * 1000,
|
|
424
|
+
})).data;
|
|
425
|
+
const terminalStates = [api_client_1.ImageState.ACTIVE, api_client_1.ImageState.ERROR];
|
|
426
|
+
const imageRef = { builtImage };
|
|
427
|
+
let streamPromise;
|
|
428
|
+
const startLogStreaming = async () => {
|
|
429
|
+
if (!streamPromise) {
|
|
430
|
+
streamPromise = (0, Stream_1.processStreamingResponse)(() => this.imagesApi.getImageBuildLogs(builtImage.id, undefined, true, { responseType: 'stream' }), options.onLogs, async () => terminalStates.includes(imageRef.builtImage.state));
|
|
431
|
+
}
|
|
432
|
+
};
|
|
433
|
+
if (options.onLogs) {
|
|
434
|
+
options.onLogs(`Building image ${builtImage.name} (${builtImage.state})`);
|
|
435
|
+
if (builtImage.state !== api_client_1.ImageState.BUILD_PENDING) {
|
|
436
|
+
await startLogStreaming();
|
|
437
|
+
}
|
|
438
|
+
}
|
|
439
|
+
let previousState = builtImage.state;
|
|
440
|
+
while (!terminalStates.includes(builtImage.state)) {
|
|
441
|
+
if (options.onLogs && previousState !== builtImage.state) {
|
|
442
|
+
if (builtImage.state !== api_client_1.ImageState.BUILD_PENDING && !streamPromise) {
|
|
443
|
+
await startLogStreaming();
|
|
444
|
+
}
|
|
445
|
+
options.onLogs(`Building image ${builtImage.name} (${builtImage.state})`);
|
|
446
|
+
previousState = builtImage.state;
|
|
447
|
+
}
|
|
448
|
+
await new Promise((resolve) => setTimeout(resolve, 1000));
|
|
449
|
+
builtImage = (await this.imagesApi.getImage(builtImage.id)).data;
|
|
450
|
+
imageRef.builtImage = builtImage;
|
|
451
|
+
}
|
|
452
|
+
if (options.onLogs) {
|
|
453
|
+
if (streamPromise) {
|
|
454
|
+
await streamPromise;
|
|
455
|
+
}
|
|
456
|
+
if (builtImage.state === api_client_1.ImageState.ACTIVE) {
|
|
457
|
+
options.onLogs(`Built image ${builtImage.name} (${builtImage.state})`);
|
|
458
|
+
}
|
|
459
|
+
}
|
|
460
|
+
if (builtImage.state === api_client_1.ImageState.ERROR) {
|
|
461
|
+
throw new DaytonaError_1.DaytonaError(`Failed to build image. Image ended in the ERROR state. name: ${builtImage.name}; error reason: ${builtImage.errorReason}`);
|
|
462
|
+
}
|
|
463
|
+
}
|
|
388
464
|
/**
|
|
389
465
|
* Gets the appropriate code toolbox based on language.
|
|
390
466
|
*
|
|
@@ -405,6 +481,32 @@ class Daytona {
|
|
|
405
481
|
throw new DaytonaError_1.DaytonaError(`Unsupported language: ${language}, supported languages: ${Object.values(CodeLanguage).join(', ')}`);
|
|
406
482
|
}
|
|
407
483
|
}
|
|
484
|
+
/**
|
|
485
|
+
* Processes the image contexts by uploading them to object storage
|
|
486
|
+
*
|
|
487
|
+
* @private
|
|
488
|
+
* @param {Image} image - The Image instance.
|
|
489
|
+
* @returns {Promise<string[]>} The list of context hashes stored in object storage.
|
|
490
|
+
*/
|
|
491
|
+
async processImageContext(image) {
|
|
492
|
+
if (!image.contextList || !image.contextList.length) {
|
|
493
|
+
return [];
|
|
494
|
+
}
|
|
495
|
+
const pushAccessCreds = (await this.objectStorageApi.getPushAccess()).data;
|
|
496
|
+
const objectStorage = new ObjectStorage_1.ObjectStorage({
|
|
497
|
+
endpointUrl: pushAccessCreds.storageUrl,
|
|
498
|
+
accessKeyId: pushAccessCreds.accessKey,
|
|
499
|
+
secretAccessKey: pushAccessCreds.secret,
|
|
500
|
+
sessionToken: pushAccessCreds.sessionToken,
|
|
501
|
+
bucketName: pushAccessCreds.bucket,
|
|
502
|
+
});
|
|
503
|
+
const contextHashes = [];
|
|
504
|
+
for (const context of image.contextList) {
|
|
505
|
+
const contextHash = await objectStorage.upload(context.sourcePath, pushAccessCreds.organizationId, context.archivePath);
|
|
506
|
+
contextHashes.push(contextHash);
|
|
507
|
+
}
|
|
508
|
+
return contextHashes;
|
|
509
|
+
}
|
|
408
510
|
}
|
|
409
511
|
exports.Daytona = Daytona;
|
|
410
512
|
//# sourceMappingURL=Daytona.js.map
|
package/src/Daytona.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Daytona.js","sourceRoot":"","sources":["../../../../libs/sdk-typescript/src/Daytona.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Daytona.js","sourceRoot":"","sources":["../../../../libs/sdk-typescript/src/Daytona.ts"],"names":[],"mappings":"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"}
|