@daytonaio/sdk 0.139.0 → 0.141.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.
- package/package.json +13 -5
- package/src/ComputerUse.d.ts +98 -2
- package/src/ComputerUse.js +293 -2
- package/src/ComputerUse.js.map +1 -1
- package/src/Daytona.d.ts +12 -1
- package/src/Daytona.js +150 -0
- package/src/Daytona.js.map +1 -1
- package/src/FileSystem.js +79 -0
- package/src/FileSystem.js.map +1 -1
- package/src/Git.js +62 -0
- package/src/Git.js.map +1 -1
- package/src/LspServer.js +50 -0
- package/src/LspServer.js.map +1 -1
- package/src/ObjectStorage.js +7 -0
- package/src/ObjectStorage.js.map +1 -1
- package/src/Process.js +86 -0
- package/src/Process.js.map +1 -1
- package/src/PtyHandle.js +37 -0
- package/src/PtyHandle.js.map +1 -1
- package/src/Sandbox.js +128 -0
- package/src/Sandbox.js.map +1 -1
- package/src/Snapshot.js +39 -0
- package/src/Snapshot.js.map +1 -1
- package/src/Volume.js +20 -0
- package/src/Volume.js.map +1 -1
- package/src/utils/Import.d.ts +1 -0
- package/src/utils/Import.js +2 -0
- package/src/utils/Import.js.map +1 -1
- package/src/utils/otel.decorator.d.ts +82 -0
- package/src/utils/otel.decorator.js +141 -0
- package/src/utils/otel.decorator.js.map +1 -0
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@daytonaio/sdk",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.141.0",
|
|
4
4
|
"description": "TypeScript SDK for Daytona",
|
|
5
5
|
"main": "./src/index.js",
|
|
6
6
|
"types": "./src/index.d.ts",
|
|
@@ -25,7 +25,15 @@
|
|
|
25
25
|
"@aws-sdk/client-s3": "^3.787.0",
|
|
26
26
|
"@aws-sdk/lib-storage": "^3.798.0",
|
|
27
27
|
"@iarna/toml": "^2.2.5",
|
|
28
|
-
"
|
|
28
|
+
"@opentelemetry/api": "^1.9.0",
|
|
29
|
+
"@opentelemetry/exporter-trace-otlp-http": "^0.207.0",
|
|
30
|
+
"@opentelemetry/instrumentation-http": "^0.207.0",
|
|
31
|
+
"@opentelemetry/otlp-exporter-base": "0.207.0",
|
|
32
|
+
"@opentelemetry/resources": "2.2.0",
|
|
33
|
+
"@opentelemetry/sdk-node": "^0.207.0",
|
|
34
|
+
"@opentelemetry/sdk-trace-base": "^2.2.0",
|
|
35
|
+
"@opentelemetry/semantic-conventions": "^1.37.0",
|
|
36
|
+
"axios": "^1.13.5",
|
|
29
37
|
"busboy": "^1.0.0",
|
|
30
38
|
"dotenv": "^17.0.1",
|
|
31
39
|
"expand-tilde": "^2.0.2",
|
|
@@ -34,9 +42,9 @@
|
|
|
34
42
|
"isomorphic-ws": "^5.0.0",
|
|
35
43
|
"pathe": "^2.0.3",
|
|
36
44
|
"shell-quote": "^1.8.2",
|
|
37
|
-
"tar": "^7.5.
|
|
38
|
-
"@daytonaio/api-client": "0.
|
|
39
|
-
"@daytonaio/toolbox-api-client": "0.
|
|
45
|
+
"tar": "^7.5.7",
|
|
46
|
+
"@daytonaio/api-client": "0.141.0",
|
|
47
|
+
"@daytonaio/toolbox-api-client": "0.141.0"
|
|
40
48
|
},
|
|
41
49
|
"packageManager": "yarn@4.6.0",
|
|
42
50
|
"type": "commonjs"
|
package/src/ComputerUse.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { ComputerUseApi, MousePositionResponse, MouseClickResponse, MouseDragResponse, ScreenshotResponse, DisplayInfoResponse, WindowsResponse, ComputerUseStartResponse, ComputerUseStopResponse, ComputerUseStatusResponse, ProcessStatusResponse, ProcessRestartResponse, ProcessLogsResponse, ProcessErrorsResponse } from '@daytonaio/toolbox-api-client';
|
|
1
|
+
import { ComputerUseApi, MousePositionResponse, MouseClickResponse, MouseDragResponse, ScreenshotResponse, DisplayInfoResponse, WindowsResponse, ComputerUseStartResponse, ComputerUseStopResponse, ComputerUseStatusResponse, ProcessStatusResponse, ProcessRestartResponse, ProcessLogsResponse, ProcessErrorsResponse, Recording, ListRecordingsResponse } from '@daytonaio/toolbox-api-client';
|
|
2
2
|
/**
|
|
3
3
|
* Interface for region coordinates used in screenshot operations
|
|
4
4
|
*/
|
|
@@ -331,16 +331,111 @@ export declare class Display {
|
|
|
331
331
|
*/
|
|
332
332
|
getWindows(): Promise<WindowsResponse>;
|
|
333
333
|
}
|
|
334
|
+
/**
|
|
335
|
+
* Recording operations for computer use functionality.
|
|
336
|
+
*/
|
|
337
|
+
export declare class RecordingService {
|
|
338
|
+
private readonly apiClient;
|
|
339
|
+
constructor(apiClient: ComputerUseApi);
|
|
340
|
+
/**
|
|
341
|
+
* Starts a new screen recording session
|
|
342
|
+
*
|
|
343
|
+
* @param {string} [label] - Optional custom label for the recording
|
|
344
|
+
* @returns {Promise<Recording>} Started recording details
|
|
345
|
+
*
|
|
346
|
+
* @example
|
|
347
|
+
* ```typescript
|
|
348
|
+
* // Start a recording with a label
|
|
349
|
+
* const recording = await sandbox.computerUse.recording.start('my-test-recording');
|
|
350
|
+
* console.log(`Recording started: ${recording.id}`);
|
|
351
|
+
* console.log(`File: ${recording.filePath}`);
|
|
352
|
+
* ```
|
|
353
|
+
*/
|
|
354
|
+
start(label?: string): Promise<Recording>;
|
|
355
|
+
/**
|
|
356
|
+
* Stops an active screen recording session
|
|
357
|
+
*
|
|
358
|
+
* @param {string} id - The ID of the recording to stop
|
|
359
|
+
* @returns {Promise<Recording>} Stopped recording details
|
|
360
|
+
*
|
|
361
|
+
* @example
|
|
362
|
+
* ```typescript
|
|
363
|
+
* const result = await sandbox.computerUse.recording.stop(recording.id);
|
|
364
|
+
* console.log(`Recording stopped: ${result.durationSeconds} seconds`);
|
|
365
|
+
* console.log(`Saved to: ${result.filePath}`);
|
|
366
|
+
* ```
|
|
367
|
+
*/
|
|
368
|
+
stop(id: string): Promise<Recording>;
|
|
369
|
+
/**
|
|
370
|
+
* Lists all recordings (active and completed)
|
|
371
|
+
*
|
|
372
|
+
* @returns {Promise<ListRecordingsResponse>} List of all recordings
|
|
373
|
+
*
|
|
374
|
+
* @example
|
|
375
|
+
* ```typescript
|
|
376
|
+
* const recordings = await sandbox.computerUse.recording.list();
|
|
377
|
+
* console.log(`Found ${recordings.recordings.length} recordings`);
|
|
378
|
+
* recordings.recordings.forEach(rec => {
|
|
379
|
+
* console.log(`- ${rec.fileName}: ${rec.status}`);
|
|
380
|
+
* });
|
|
381
|
+
* ```
|
|
382
|
+
*/
|
|
383
|
+
list(): Promise<ListRecordingsResponse>;
|
|
384
|
+
/**
|
|
385
|
+
* Gets details of a specific recording by ID
|
|
386
|
+
*
|
|
387
|
+
* @param {string} id - The ID of the recording to retrieve
|
|
388
|
+
* @returns {Promise<Recording>} Recording details
|
|
389
|
+
*
|
|
390
|
+
* @example
|
|
391
|
+
* ```typescript
|
|
392
|
+
* const recording = await sandbox.computerUse.recording.get(recordingId);
|
|
393
|
+
* console.log(`Recording: ${recording.fileName}`);
|
|
394
|
+
* console.log(`Status: ${recording.status}`);
|
|
395
|
+
* console.log(`Duration: ${recording.durationSeconds} seconds`);
|
|
396
|
+
* ```
|
|
397
|
+
*/
|
|
398
|
+
get(id: string): Promise<Recording>;
|
|
399
|
+
/**
|
|
400
|
+
* Deletes a recording by ID
|
|
401
|
+
*
|
|
402
|
+
* @param {string} id - The ID of the recording to delete
|
|
403
|
+
*
|
|
404
|
+
* @example
|
|
405
|
+
* ```typescript
|
|
406
|
+
* await sandbox.computerUse.recording.delete(recordingId);
|
|
407
|
+
* console.log('Recording deleted');
|
|
408
|
+
* ```
|
|
409
|
+
*/
|
|
410
|
+
delete(id: string): Promise<void>;
|
|
411
|
+
/**
|
|
412
|
+
* Downloads a recording file and saves it to a local path
|
|
413
|
+
*
|
|
414
|
+
* The file is streamed directly to disk without loading the entire content into memory.
|
|
415
|
+
*
|
|
416
|
+
* @param {string} id - The ID of the recording to download
|
|
417
|
+
* @param {string} localPath - Path to save the recording file locally
|
|
418
|
+
*
|
|
419
|
+
* @example
|
|
420
|
+
* ```typescript
|
|
421
|
+
* // Download recording to file
|
|
422
|
+
* await sandbox.computerUse.recording.download(recordingId, 'local_recording.mp4');
|
|
423
|
+
* console.log('Recording downloaded');
|
|
424
|
+
* ```
|
|
425
|
+
*/
|
|
426
|
+
download(id: string, localPath: string): Promise<void>;
|
|
427
|
+
}
|
|
334
428
|
/**
|
|
335
429
|
* Computer Use functionality for interacting with the desktop environment.
|
|
336
430
|
*
|
|
337
|
-
* Provides access to mouse, keyboard, screenshot, and
|
|
431
|
+
* Provides access to mouse, keyboard, screenshot, display, and recording operations
|
|
338
432
|
* for automating desktop interactions within a sandbox.
|
|
339
433
|
*
|
|
340
434
|
* @property {Mouse} mouse - Mouse operations interface
|
|
341
435
|
* @property {Keyboard} keyboard - Keyboard operations interface
|
|
342
436
|
* @property {Screenshot} screenshot - Screenshot operations interface
|
|
343
437
|
* @property {Display} display - Display operations interface
|
|
438
|
+
* @property {RecordingService} recording - Screen recording operations interface
|
|
344
439
|
*
|
|
345
440
|
* @class
|
|
346
441
|
*/
|
|
@@ -350,6 +445,7 @@ export declare class ComputerUse {
|
|
|
350
445
|
readonly keyboard: Keyboard;
|
|
351
446
|
readonly screenshot: Screenshot;
|
|
352
447
|
readonly display: Display;
|
|
448
|
+
readonly recording: RecordingService;
|
|
353
449
|
constructor(apiClient: ComputerUseApi);
|
|
354
450
|
/**
|
|
355
451
|
* Starts all computer use processes (Xvfb, xfce4, x11vnc, novnc)
|
package/src/ComputerUse.js
CHANGED
|
@@ -4,7 +4,11 @@
|
|
|
4
4
|
* SPDX-License-Identifier: Apache-2.0
|
|
5
5
|
*/
|
|
6
6
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
7
|
-
exports.ComputerUse = exports.Display = exports.Screenshot = exports.Keyboard = exports.Mouse = void 0;
|
|
7
|
+
exports.ComputerUse = exports.RecordingService = exports.Display = exports.Screenshot = exports.Keyboard = exports.Mouse = void 0;
|
|
8
|
+
const tslib_1 = require("tslib");
|
|
9
|
+
const pathe = tslib_1.__importStar(require("pathe"));
|
|
10
|
+
const Import_1 = require("./utils/Import");
|
|
11
|
+
const otel_decorator_1 = require("./utils/otel.decorator");
|
|
8
12
|
/**
|
|
9
13
|
* Mouse operations for computer use functionality
|
|
10
14
|
*/
|
|
@@ -118,6 +122,36 @@ class Mouse {
|
|
|
118
122
|
}
|
|
119
123
|
}
|
|
120
124
|
exports.Mouse = Mouse;
|
|
125
|
+
tslib_1.__decorate([
|
|
126
|
+
(0, otel_decorator_1.WithInstrumentation)(),
|
|
127
|
+
tslib_1.__metadata("design:type", Function),
|
|
128
|
+
tslib_1.__metadata("design:paramtypes", []),
|
|
129
|
+
tslib_1.__metadata("design:returntype", Promise)
|
|
130
|
+
], Mouse.prototype, "getPosition", null);
|
|
131
|
+
tslib_1.__decorate([
|
|
132
|
+
(0, otel_decorator_1.WithInstrumentation)(),
|
|
133
|
+
tslib_1.__metadata("design:type", Function),
|
|
134
|
+
tslib_1.__metadata("design:paramtypes", [Number, Number]),
|
|
135
|
+
tslib_1.__metadata("design:returntype", Promise)
|
|
136
|
+
], Mouse.prototype, "move", null);
|
|
137
|
+
tslib_1.__decorate([
|
|
138
|
+
(0, otel_decorator_1.WithInstrumentation)(),
|
|
139
|
+
tslib_1.__metadata("design:type", Function),
|
|
140
|
+
tslib_1.__metadata("design:paramtypes", [Number, Number, Object, Object]),
|
|
141
|
+
tslib_1.__metadata("design:returntype", Promise)
|
|
142
|
+
], Mouse.prototype, "click", null);
|
|
143
|
+
tslib_1.__decorate([
|
|
144
|
+
(0, otel_decorator_1.WithInstrumentation)(),
|
|
145
|
+
tslib_1.__metadata("design:type", Function),
|
|
146
|
+
tslib_1.__metadata("design:paramtypes", [Number, Number, Number, Number, Object]),
|
|
147
|
+
tslib_1.__metadata("design:returntype", Promise)
|
|
148
|
+
], Mouse.prototype, "drag", null);
|
|
149
|
+
tslib_1.__decorate([
|
|
150
|
+
(0, otel_decorator_1.WithInstrumentation)(),
|
|
151
|
+
tslib_1.__metadata("design:type", Function),
|
|
152
|
+
tslib_1.__metadata("design:paramtypes", [Number, Number, String, Object]),
|
|
153
|
+
tslib_1.__metadata("design:returntype", Promise)
|
|
154
|
+
], Mouse.prototype, "scroll", null);
|
|
121
155
|
/**
|
|
122
156
|
* Keyboard operations for computer use functionality
|
|
123
157
|
*/
|
|
@@ -232,6 +266,24 @@ class Keyboard {
|
|
|
232
266
|
}
|
|
233
267
|
}
|
|
234
268
|
exports.Keyboard = Keyboard;
|
|
269
|
+
tslib_1.__decorate([
|
|
270
|
+
(0, otel_decorator_1.WithInstrumentation)(),
|
|
271
|
+
tslib_1.__metadata("design:type", Function),
|
|
272
|
+
tslib_1.__metadata("design:paramtypes", [String, Number]),
|
|
273
|
+
tslib_1.__metadata("design:returntype", Promise)
|
|
274
|
+
], Keyboard.prototype, "type", null);
|
|
275
|
+
tslib_1.__decorate([
|
|
276
|
+
(0, otel_decorator_1.WithInstrumentation)(),
|
|
277
|
+
tslib_1.__metadata("design:type", Function),
|
|
278
|
+
tslib_1.__metadata("design:paramtypes", [String, Array]),
|
|
279
|
+
tslib_1.__metadata("design:returntype", Promise)
|
|
280
|
+
], Keyboard.prototype, "press", null);
|
|
281
|
+
tslib_1.__decorate([
|
|
282
|
+
(0, otel_decorator_1.WithInstrumentation)(),
|
|
283
|
+
tslib_1.__metadata("design:type", Function),
|
|
284
|
+
tslib_1.__metadata("design:paramtypes", [String]),
|
|
285
|
+
tslib_1.__metadata("design:returntype", Promise)
|
|
286
|
+
], Keyboard.prototype, "hotkey", null);
|
|
235
287
|
/**
|
|
236
288
|
* Screenshot operations for computer use functionality
|
|
237
289
|
*/
|
|
@@ -330,6 +382,30 @@ class Screenshot {
|
|
|
330
382
|
}
|
|
331
383
|
}
|
|
332
384
|
exports.Screenshot = Screenshot;
|
|
385
|
+
tslib_1.__decorate([
|
|
386
|
+
(0, otel_decorator_1.WithInstrumentation)(),
|
|
387
|
+
tslib_1.__metadata("design:type", Function),
|
|
388
|
+
tslib_1.__metadata("design:paramtypes", [Object]),
|
|
389
|
+
tslib_1.__metadata("design:returntype", Promise)
|
|
390
|
+
], Screenshot.prototype, "takeFullScreen", null);
|
|
391
|
+
tslib_1.__decorate([
|
|
392
|
+
(0, otel_decorator_1.WithInstrumentation)(),
|
|
393
|
+
tslib_1.__metadata("design:type", Function),
|
|
394
|
+
tslib_1.__metadata("design:paramtypes", [Object, Object]),
|
|
395
|
+
tslib_1.__metadata("design:returntype", Promise)
|
|
396
|
+
], Screenshot.prototype, "takeRegion", null);
|
|
397
|
+
tslib_1.__decorate([
|
|
398
|
+
(0, otel_decorator_1.WithInstrumentation)(),
|
|
399
|
+
tslib_1.__metadata("design:type", Function),
|
|
400
|
+
tslib_1.__metadata("design:paramtypes", [Object]),
|
|
401
|
+
tslib_1.__metadata("design:returntype", Promise)
|
|
402
|
+
], Screenshot.prototype, "takeCompressed", null);
|
|
403
|
+
tslib_1.__decorate([
|
|
404
|
+
(0, otel_decorator_1.WithInstrumentation)(),
|
|
405
|
+
tslib_1.__metadata("design:type", Function),
|
|
406
|
+
tslib_1.__metadata("design:paramtypes", [Object, Object]),
|
|
407
|
+
tslib_1.__metadata("design:returntype", Promise)
|
|
408
|
+
], Screenshot.prototype, "takeCompressedRegion", null);
|
|
333
409
|
/**
|
|
334
410
|
* Display operations for computer use functionality
|
|
335
411
|
*/
|
|
@@ -377,16 +453,187 @@ class Display {
|
|
|
377
453
|
}
|
|
378
454
|
}
|
|
379
455
|
exports.Display = Display;
|
|
456
|
+
tslib_1.__decorate([
|
|
457
|
+
(0, otel_decorator_1.WithInstrumentation)(),
|
|
458
|
+
tslib_1.__metadata("design:type", Function),
|
|
459
|
+
tslib_1.__metadata("design:paramtypes", []),
|
|
460
|
+
tslib_1.__metadata("design:returntype", Promise)
|
|
461
|
+
], Display.prototype, "getInfo", null);
|
|
462
|
+
tslib_1.__decorate([
|
|
463
|
+
(0, otel_decorator_1.WithInstrumentation)(),
|
|
464
|
+
tslib_1.__metadata("design:type", Function),
|
|
465
|
+
tslib_1.__metadata("design:paramtypes", []),
|
|
466
|
+
tslib_1.__metadata("design:returntype", Promise)
|
|
467
|
+
], Display.prototype, "getWindows", null);
|
|
468
|
+
/**
|
|
469
|
+
* Recording operations for computer use functionality.
|
|
470
|
+
*/
|
|
471
|
+
class RecordingService {
|
|
472
|
+
apiClient;
|
|
473
|
+
constructor(apiClient) {
|
|
474
|
+
this.apiClient = apiClient;
|
|
475
|
+
}
|
|
476
|
+
/**
|
|
477
|
+
* Starts a new screen recording session
|
|
478
|
+
*
|
|
479
|
+
* @param {string} [label] - Optional custom label for the recording
|
|
480
|
+
* @returns {Promise<Recording>} Started recording details
|
|
481
|
+
*
|
|
482
|
+
* @example
|
|
483
|
+
* ```typescript
|
|
484
|
+
* // Start a recording with a label
|
|
485
|
+
* const recording = await sandbox.computerUse.recording.start('my-test-recording');
|
|
486
|
+
* console.log(`Recording started: ${recording.id}`);
|
|
487
|
+
* console.log(`File: ${recording.filePath}`);
|
|
488
|
+
* ```
|
|
489
|
+
*/
|
|
490
|
+
async start(label) {
|
|
491
|
+
return (await this.apiClient.startRecording({ label })).data;
|
|
492
|
+
}
|
|
493
|
+
/**
|
|
494
|
+
* Stops an active screen recording session
|
|
495
|
+
*
|
|
496
|
+
* @param {string} id - The ID of the recording to stop
|
|
497
|
+
* @returns {Promise<Recording>} Stopped recording details
|
|
498
|
+
*
|
|
499
|
+
* @example
|
|
500
|
+
* ```typescript
|
|
501
|
+
* const result = await sandbox.computerUse.recording.stop(recording.id);
|
|
502
|
+
* console.log(`Recording stopped: ${result.durationSeconds} seconds`);
|
|
503
|
+
* console.log(`Saved to: ${result.filePath}`);
|
|
504
|
+
* ```
|
|
505
|
+
*/
|
|
506
|
+
async stop(id) {
|
|
507
|
+
return (await this.apiClient.stopRecording({ id })).data;
|
|
508
|
+
}
|
|
509
|
+
/**
|
|
510
|
+
* Lists all recordings (active and completed)
|
|
511
|
+
*
|
|
512
|
+
* @returns {Promise<ListRecordingsResponse>} List of all recordings
|
|
513
|
+
*
|
|
514
|
+
* @example
|
|
515
|
+
* ```typescript
|
|
516
|
+
* const recordings = await sandbox.computerUse.recording.list();
|
|
517
|
+
* console.log(`Found ${recordings.recordings.length} recordings`);
|
|
518
|
+
* recordings.recordings.forEach(rec => {
|
|
519
|
+
* console.log(`- ${rec.fileName}: ${rec.status}`);
|
|
520
|
+
* });
|
|
521
|
+
* ```
|
|
522
|
+
*/
|
|
523
|
+
async list() {
|
|
524
|
+
return (await this.apiClient.listRecordings()).data;
|
|
525
|
+
}
|
|
526
|
+
/**
|
|
527
|
+
* Gets details of a specific recording by ID
|
|
528
|
+
*
|
|
529
|
+
* @param {string} id - The ID of the recording to retrieve
|
|
530
|
+
* @returns {Promise<Recording>} Recording details
|
|
531
|
+
*
|
|
532
|
+
* @example
|
|
533
|
+
* ```typescript
|
|
534
|
+
* const recording = await sandbox.computerUse.recording.get(recordingId);
|
|
535
|
+
* console.log(`Recording: ${recording.fileName}`);
|
|
536
|
+
* console.log(`Status: ${recording.status}`);
|
|
537
|
+
* console.log(`Duration: ${recording.durationSeconds} seconds`);
|
|
538
|
+
* ```
|
|
539
|
+
*/
|
|
540
|
+
async get(id) {
|
|
541
|
+
return (await this.apiClient.getRecording(id)).data;
|
|
542
|
+
}
|
|
543
|
+
/**
|
|
544
|
+
* Deletes a recording by ID
|
|
545
|
+
*
|
|
546
|
+
* @param {string} id - The ID of the recording to delete
|
|
547
|
+
*
|
|
548
|
+
* @example
|
|
549
|
+
* ```typescript
|
|
550
|
+
* await sandbox.computerUse.recording.delete(recordingId);
|
|
551
|
+
* console.log('Recording deleted');
|
|
552
|
+
* ```
|
|
553
|
+
*/
|
|
554
|
+
async delete(id) {
|
|
555
|
+
await this.apiClient.deleteRecording(id);
|
|
556
|
+
}
|
|
557
|
+
/**
|
|
558
|
+
* Downloads a recording file and saves it to a local path
|
|
559
|
+
*
|
|
560
|
+
* The file is streamed directly to disk without loading the entire content into memory.
|
|
561
|
+
*
|
|
562
|
+
* @param {string} id - The ID of the recording to download
|
|
563
|
+
* @param {string} localPath - Path to save the recording file locally
|
|
564
|
+
*
|
|
565
|
+
* @example
|
|
566
|
+
* ```typescript
|
|
567
|
+
* // Download recording to file
|
|
568
|
+
* await sandbox.computerUse.recording.download(recordingId, 'local_recording.mp4');
|
|
569
|
+
* console.log('Recording downloaded');
|
|
570
|
+
* ```
|
|
571
|
+
*/
|
|
572
|
+
async download(id, localPath) {
|
|
573
|
+
const response = await this.apiClient.downloadRecording(id, { responseType: 'stream' });
|
|
574
|
+
const importErrPrefix = 'Recording download failed: ';
|
|
575
|
+
const fs = await (0, Import_1.dynamicImport)('fs', importErrPrefix);
|
|
576
|
+
const stream = await (0, Import_1.dynamicImport)('stream', importErrPrefix);
|
|
577
|
+
const util = await (0, Import_1.dynamicImport)('util', importErrPrefix);
|
|
578
|
+
const pipeline = util.promisify(stream.pipeline);
|
|
579
|
+
// Create parent directory if it doesn't exist
|
|
580
|
+
const parentDir = pathe.dirname(localPath);
|
|
581
|
+
if (parentDir) {
|
|
582
|
+
await fs.promises.mkdir(parentDir, { recursive: true });
|
|
583
|
+
}
|
|
584
|
+
// Stream the download directly to file
|
|
585
|
+
const writer = fs.createWriteStream(localPath);
|
|
586
|
+
await pipeline(response.data, writer);
|
|
587
|
+
}
|
|
588
|
+
}
|
|
589
|
+
exports.RecordingService = RecordingService;
|
|
590
|
+
tslib_1.__decorate([
|
|
591
|
+
(0, otel_decorator_1.WithInstrumentation)(),
|
|
592
|
+
tslib_1.__metadata("design:type", Function),
|
|
593
|
+
tslib_1.__metadata("design:paramtypes", [String]),
|
|
594
|
+
tslib_1.__metadata("design:returntype", Promise)
|
|
595
|
+
], RecordingService.prototype, "start", null);
|
|
596
|
+
tslib_1.__decorate([
|
|
597
|
+
(0, otel_decorator_1.WithInstrumentation)(),
|
|
598
|
+
tslib_1.__metadata("design:type", Function),
|
|
599
|
+
tslib_1.__metadata("design:paramtypes", [String]),
|
|
600
|
+
tslib_1.__metadata("design:returntype", Promise)
|
|
601
|
+
], RecordingService.prototype, "stop", null);
|
|
602
|
+
tslib_1.__decorate([
|
|
603
|
+
(0, otel_decorator_1.WithInstrumentation)(),
|
|
604
|
+
tslib_1.__metadata("design:type", Function),
|
|
605
|
+
tslib_1.__metadata("design:paramtypes", []),
|
|
606
|
+
tslib_1.__metadata("design:returntype", Promise)
|
|
607
|
+
], RecordingService.prototype, "list", null);
|
|
608
|
+
tslib_1.__decorate([
|
|
609
|
+
(0, otel_decorator_1.WithInstrumentation)(),
|
|
610
|
+
tslib_1.__metadata("design:type", Function),
|
|
611
|
+
tslib_1.__metadata("design:paramtypes", [String]),
|
|
612
|
+
tslib_1.__metadata("design:returntype", Promise)
|
|
613
|
+
], RecordingService.prototype, "get", null);
|
|
614
|
+
tslib_1.__decorate([
|
|
615
|
+
(0, otel_decorator_1.WithInstrumentation)(),
|
|
616
|
+
tslib_1.__metadata("design:type", Function),
|
|
617
|
+
tslib_1.__metadata("design:paramtypes", [String]),
|
|
618
|
+
tslib_1.__metadata("design:returntype", Promise)
|
|
619
|
+
], RecordingService.prototype, "delete", null);
|
|
620
|
+
tslib_1.__decorate([
|
|
621
|
+
(0, otel_decorator_1.WithInstrumentation)(),
|
|
622
|
+
tslib_1.__metadata("design:type", Function),
|
|
623
|
+
tslib_1.__metadata("design:paramtypes", [String, String]),
|
|
624
|
+
tslib_1.__metadata("design:returntype", Promise)
|
|
625
|
+
], RecordingService.prototype, "download", null);
|
|
380
626
|
/**
|
|
381
627
|
* Computer Use functionality for interacting with the desktop environment.
|
|
382
628
|
*
|
|
383
|
-
* Provides access to mouse, keyboard, screenshot, and
|
|
629
|
+
* Provides access to mouse, keyboard, screenshot, display, and recording operations
|
|
384
630
|
* for automating desktop interactions within a sandbox.
|
|
385
631
|
*
|
|
386
632
|
* @property {Mouse} mouse - Mouse operations interface
|
|
387
633
|
* @property {Keyboard} keyboard - Keyboard operations interface
|
|
388
634
|
* @property {Screenshot} screenshot - Screenshot operations interface
|
|
389
635
|
* @property {Display} display - Display operations interface
|
|
636
|
+
* @property {RecordingService} recording - Screen recording operations interface
|
|
390
637
|
*
|
|
391
638
|
* @class
|
|
392
639
|
*/
|
|
@@ -396,12 +643,14 @@ class ComputerUse {
|
|
|
396
643
|
keyboard;
|
|
397
644
|
screenshot;
|
|
398
645
|
display;
|
|
646
|
+
recording;
|
|
399
647
|
constructor(apiClient) {
|
|
400
648
|
this.apiClient = apiClient;
|
|
401
649
|
this.mouse = new Mouse(apiClient);
|
|
402
650
|
this.keyboard = new Keyboard(apiClient);
|
|
403
651
|
this.screenshot = new Screenshot(apiClient);
|
|
404
652
|
this.display = new Display(apiClient);
|
|
653
|
+
this.recording = new RecordingService(apiClient);
|
|
405
654
|
}
|
|
406
655
|
/**
|
|
407
656
|
* Starts all computer use processes (Xvfb, xfce4, x11vnc, novnc)
|
|
@@ -514,4 +763,46 @@ class ComputerUse {
|
|
|
514
763
|
}
|
|
515
764
|
}
|
|
516
765
|
exports.ComputerUse = ComputerUse;
|
|
766
|
+
tslib_1.__decorate([
|
|
767
|
+
(0, otel_decorator_1.WithInstrumentation)(),
|
|
768
|
+
tslib_1.__metadata("design:type", Function),
|
|
769
|
+
tslib_1.__metadata("design:paramtypes", []),
|
|
770
|
+
tslib_1.__metadata("design:returntype", Promise)
|
|
771
|
+
], ComputerUse.prototype, "start", null);
|
|
772
|
+
tslib_1.__decorate([
|
|
773
|
+
(0, otel_decorator_1.WithInstrumentation)(),
|
|
774
|
+
tslib_1.__metadata("design:type", Function),
|
|
775
|
+
tslib_1.__metadata("design:paramtypes", []),
|
|
776
|
+
tslib_1.__metadata("design:returntype", Promise)
|
|
777
|
+
], ComputerUse.prototype, "stop", null);
|
|
778
|
+
tslib_1.__decorate([
|
|
779
|
+
(0, otel_decorator_1.WithInstrumentation)(),
|
|
780
|
+
tslib_1.__metadata("design:type", Function),
|
|
781
|
+
tslib_1.__metadata("design:paramtypes", []),
|
|
782
|
+
tslib_1.__metadata("design:returntype", Promise)
|
|
783
|
+
], ComputerUse.prototype, "getStatus", null);
|
|
784
|
+
tslib_1.__decorate([
|
|
785
|
+
(0, otel_decorator_1.WithInstrumentation)(),
|
|
786
|
+
tslib_1.__metadata("design:type", Function),
|
|
787
|
+
tslib_1.__metadata("design:paramtypes", [String]),
|
|
788
|
+
tslib_1.__metadata("design:returntype", Promise)
|
|
789
|
+
], ComputerUse.prototype, "getProcessStatus", null);
|
|
790
|
+
tslib_1.__decorate([
|
|
791
|
+
(0, otel_decorator_1.WithInstrumentation)(),
|
|
792
|
+
tslib_1.__metadata("design:type", Function),
|
|
793
|
+
tslib_1.__metadata("design:paramtypes", [String]),
|
|
794
|
+
tslib_1.__metadata("design:returntype", Promise)
|
|
795
|
+
], ComputerUse.prototype, "restartProcess", null);
|
|
796
|
+
tslib_1.__decorate([
|
|
797
|
+
(0, otel_decorator_1.WithInstrumentation)(),
|
|
798
|
+
tslib_1.__metadata("design:type", Function),
|
|
799
|
+
tslib_1.__metadata("design:paramtypes", [String]),
|
|
800
|
+
tslib_1.__metadata("design:returntype", Promise)
|
|
801
|
+
], ComputerUse.prototype, "getProcessLogs", null);
|
|
802
|
+
tslib_1.__decorate([
|
|
803
|
+
(0, otel_decorator_1.WithInstrumentation)(),
|
|
804
|
+
tslib_1.__metadata("design:type", Function),
|
|
805
|
+
tslib_1.__metadata("design:paramtypes", [String]),
|
|
806
|
+
tslib_1.__metadata("design:returntype", Promise)
|
|
807
|
+
], ComputerUse.prototype, "getProcessErrors", null);
|
|
517
808
|
//# sourceMappingURL=ComputerUse.js.map
|
package/src/ComputerUse.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ComputerUse.js","sourceRoot":"","sources":["../../../../libs/sdk-typescript/src/ComputerUse.ts"],"names":[],"mappings":";AAAA;;;GAGG
|
|
1
|
+
{"version":3,"file":"ComputerUse.js","sourceRoot":"","sources":["../../../../libs/sdk-typescript/src/ComputerUse.ts"],"names":[],"mappings":"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"}
|
package/src/Daytona.d.ts
CHANGED
|
@@ -26,6 +26,8 @@ export interface VolumeMount extends SandboxVolume {
|
|
|
26
26
|
* @property {string} apiUrl - URL of the Daytona API. Defaults to 'https://app.daytona.io/api'
|
|
27
27
|
* if not set here and not set in environment variable DAYTONA_API_URL.
|
|
28
28
|
* @property {string} target - Target location for Sandboxes
|
|
29
|
+
* @property {boolean} otelEnabled - OpenTelemetry tracing enabled.
|
|
30
|
+
* If set, all SDK operations will be traced.
|
|
29
31
|
*
|
|
30
32
|
* @example
|
|
31
33
|
* const config: DaytonaConfig = {
|
|
@@ -51,6 +53,8 @@ export interface DaytonaConfig {
|
|
|
51
53
|
serverUrl?: string;
|
|
52
54
|
/** Target environment for sandboxes */
|
|
53
55
|
target?: string;
|
|
56
|
+
/** Configuration for experimental features */
|
|
57
|
+
_experimental: Record<string, any>;
|
|
54
58
|
}
|
|
55
59
|
/**
|
|
56
60
|
* Supported programming languages for code execution
|
|
@@ -176,9 +180,14 @@ export type SandboxFilter = {
|
|
|
176
180
|
* };
|
|
177
181
|
* const daytona = new Daytona(config);
|
|
178
182
|
*
|
|
183
|
+
* @example
|
|
184
|
+
* // Disposes daytona and flushes traces when done
|
|
185
|
+
* await using daytona = new Daytona({
|
|
186
|
+
* otelEnabled: true,
|
|
187
|
+
* });
|
|
179
188
|
* @class
|
|
180
189
|
*/
|
|
181
|
-
export declare class Daytona {
|
|
190
|
+
export declare class Daytona implements AsyncDisposable {
|
|
182
191
|
private readonly clientConfig;
|
|
183
192
|
private readonly sandboxApi;
|
|
184
193
|
private readonly objectStorageApi;
|
|
@@ -189,6 +198,7 @@ export declare class Daytona {
|
|
|
189
198
|
private readonly organizationId?;
|
|
190
199
|
private readonly apiUrl;
|
|
191
200
|
private readonly toolboxProxyCache;
|
|
201
|
+
private otelSdk?;
|
|
192
202
|
readonly volume: VolumeService;
|
|
193
203
|
readonly snapshot: SnapshotService;
|
|
194
204
|
/**
|
|
@@ -198,6 +208,7 @@ export declare class Daytona {
|
|
|
198
208
|
* @throws {DaytonaError} - `DaytonaError` - When API key is missing
|
|
199
209
|
*/
|
|
200
210
|
constructor(config?: DaytonaConfig);
|
|
211
|
+
[Symbol.asyncDispose](): Promise<void>;
|
|
201
212
|
/**
|
|
202
213
|
* Creates Sandboxes from specified or default snapshot. You can specify various parameters,
|
|
203
214
|
* including language, image, environment variables, and volumes.
|