@daytonaio/sdk 0.26.0-alpha.14 → 0.26.0-alpha.16

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 CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@daytonaio/sdk",
3
- "version": "0.26.0-alpha.14",
3
+ "version": "0.26.0-alpha.16",
4
4
  "description": "TypeScript SDK for Daytona",
5
5
  "main": "./src/index.js",
6
6
  "types": "./src/index.d.ts",
@@ -34,7 +34,7 @@
34
34
  "pathe": "^2.0.3",
35
35
  "shell-quote": "^1.8.2",
36
36
  "tar": "^6.2.0",
37
- "@daytonaio/api-client": "0.26.0-alpha.14"
37
+ "@daytonaio/api-client": "0.26.0-alpha.16"
38
38
  },
39
39
  "packageManager": "yarn@4.6.0",
40
40
  "type": "commonjs"
package/src/Process.d.ts CHANGED
@@ -1,4 +1,4 @@
1
- import { Command, Configuration, Session, SessionExecuteRequest, SessionExecuteResponse, ToolboxApi } from '@daytonaio/api-client';
1
+ import { Command, Configuration, Session, SessionCommandLogsResponse, SessionExecuteRequest, SessionExecuteResponse, PortPreviewUrl, ToolboxApi } from '@daytonaio/api-client';
2
2
  import { SandboxCodeToolbox } from './Sandbox';
3
3
  import { ExecuteResponse } from './types/ExecuteResponse';
4
4
  /**
@@ -25,7 +25,8 @@ export declare class Process {
25
25
  private readonly codeToolbox;
26
26
  private readonly toolboxApi;
27
27
  private readonly getRootDir;
28
- constructor(sandboxId: string, clientConfig: Configuration, codeToolbox: SandboxCodeToolbox, toolboxApi: ToolboxApi, getRootDir: () => Promise<string>);
28
+ private readonly getPreviewLink;
29
+ constructor(sandboxId: string, clientConfig: Configuration, codeToolbox: SandboxCodeToolbox, toolboxApi: ToolboxApi, getRootDir: () => Promise<string>, getPreviewLink: (port: number) => Promise<PortPreviewUrl>);
29
30
  /**
30
31
  * Executes a shell command in the Sandbox.
31
32
  *
@@ -197,13 +198,14 @@ export declare class Process {
197
198
  *
198
199
  * @param {string} sessionId - Unique identifier of the session
199
200
  * @param {string} commandId - Unique identifier of the command
200
- * @returns {Promise<string>} Command logs
201
+ * @returns {Promise<SessionCommandLogsResponse>} Command logs containing: stdout and stderr
201
202
  *
202
203
  * @example
203
204
  * const logs = await process.getSessionCommandLogs('my-session', 'cmd-123');
204
- * console.log('Command output:', logs);
205
+ * console.log('[STDOUT]:', logs.stdout);
206
+ * console.log('[STDERR]:', logs.stderr);
205
207
  */
206
- getSessionCommandLogs(sessionId: string, commandId: string): Promise<string>;
208
+ getSessionCommandLogs(sessionId: string, commandId: string): Promise<SessionCommandLogsResponse>;
207
209
  /**
208
210
  * Asynchronously retrieve and process the logs for a command executed in a session as they become available.
209
211
  *
@@ -214,10 +216,12 @@ export declare class Process {
214
216
  *
215
217
  * @example
216
218
  * const logs = await process.getSessionCommandLogs('my-session', 'cmd-123', (chunk) => {
217
- * console.log('Log chunk:', chunk);
219
+ * console.log('[STDOUT]:', chunk);
220
+ * }, (chunk) => {
221
+ * console.log('[STDERR]:', chunk);
218
222
  * });
219
223
  */
220
- getSessionCommandLogs(sessionId: string, commandId: string, onLogs: (chunk: string) => void): Promise<void>;
224
+ getSessionCommandLogs(sessionId: string, commandId: string, onStdout: (chunk: string) => void, onStderr: (chunk: string) => void): Promise<void>;
221
225
  /**
222
226
  * Lists all active sessions in the Sandbox.
223
227
  *
package/src/Process.js CHANGED
@@ -5,9 +5,12 @@
5
5
  */
6
6
  Object.defineProperty(exports, "__esModule", { value: true });
7
7
  exports.Process = exports.CodeRunParams = void 0;
8
+ const tslib_1 = require("tslib");
8
9
  const ArtifactParser_1 = require("./utils/ArtifactParser");
9
10
  const Stream_1 = require("./utils/Stream");
10
11
  const buffer_1 = require("buffer");
12
+ const isomorphic_ws_1 = tslib_1.__importDefault(require("isomorphic-ws"));
13
+ const Runtime_1 = require("./utils/Runtime");
11
14
  /**
12
15
  * Parameters for code execution.
13
16
  */
@@ -33,12 +36,14 @@ class Process {
33
36
  codeToolbox;
34
37
  toolboxApi;
35
38
  getRootDir;
36
- constructor(sandboxId, clientConfig, codeToolbox, toolboxApi, getRootDir) {
39
+ getPreviewLink;
40
+ constructor(sandboxId, clientConfig, codeToolbox, toolboxApi, getRootDir, getPreviewLink) {
37
41
  this.sandboxId = sandboxId;
38
42
  this.clientConfig = clientConfig;
39
43
  this.codeToolbox = codeToolbox;
40
44
  this.toolboxApi = toolboxApi;
41
45
  this.getRootDir = getRootDir;
46
+ this.getPreviewLink = getPreviewLink;
42
47
  }
43
48
  /**
44
49
  * Executes a shell command in the Sandbox.
@@ -248,13 +253,29 @@ class Process {
248
253
  const response = await this.toolboxApi.executeSessionCommand(this.sandboxId, sessionId, req, undefined, timeout ? { timeout: timeout * 1000 } : {});
249
254
  return response.data;
250
255
  }
251
- async getSessionCommandLogs(sessionId, commandId, onLogs) {
252
- if (!onLogs) {
256
+ async getSessionCommandLogs(sessionId, commandId, onStdout, onStderr) {
257
+ if (!onStdout && !onStderr) {
253
258
  const response = await this.toolboxApi.getSessionCommandLogs(this.sandboxId, sessionId, commandId);
254
259
  return response.data;
255
260
  }
256
- const url = `${this.clientConfig.basePath}/toolbox/${this.sandboxId}/toolbox/process/session/${sessionId}/command/${commandId}/logs?follow=true`;
257
- await (0, Stream_1.processStreamingResponse)(() => fetch(url, { method: 'GET', headers: this.clientConfig.baseOptions.headers }), onLogs, () => this.getSessionCommand(sessionId, commandId).then((res) => res.exitCode !== null && res.exitCode !== undefined));
261
+ const previewLink = await this.getPreviewLink(2280);
262
+ const url = `${previewLink.url.replace(/^http/, 'ws')}/process/session/${sessionId}/command/${commandId}/logs?follow=true`;
263
+ onStdout('before choosing between browser and non-browser');
264
+ let ws;
265
+ if (Runtime_1.RUNTIME === Runtime_1.Runtime.BROWSER) {
266
+ onStdout('browser websocket');
267
+ ws = new isomorphic_ws_1.default(url + '&DAYTONA_SANDBOX_AUTH_KEY=' + previewLink.token, `X-Daytona-SDK-Version~${this.clientConfig.baseOptions.headers['X-Daytona-SDK-Version']}`);
268
+ }
269
+ else {
270
+ onStdout('non-browser websocket');
271
+ ws = new isomorphic_ws_1.default(url, {
272
+ headers: {
273
+ ...this.clientConfig.baseOptions.headers,
274
+ 'X-Daytona-Preview-Token': previewLink.token,
275
+ },
276
+ });
277
+ }
278
+ await (0, Stream_1.stdDemuxStream)(ws, onStdout, onStderr);
258
279
  }
259
280
  /**
260
281
  * Lists all active sessions in the Sandbox.
@@ -1 +1 @@
1
- {"version":3,"file":"Process.js","sourceRoot":"","sources":["../../../../libs/sdk-typescript/src/Process.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Process.js","sourceRoot":"","sources":["../../../../libs/sdk-typescript/src/Process.ts"],"names":[],"mappings":"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"}
package/src/Sandbox.d.ts CHANGED
@@ -1,4 +1,4 @@
1
- import { ToolboxApi, SandboxState, SandboxApi, Sandbox as SandboxDto, PortPreviewUrl, SandboxVolume, BuildInfo, SandboxBackupStateEnum, Configuration } from '@daytonaio/api-client';
1
+ import { ToolboxApi, SandboxState, SandboxApi, Sandbox as SandboxDto, PortPreviewUrl, SandboxVolume, BuildInfo, SandboxBackupStateEnum, Configuration, SshAccessDto, SshAccessValidationDto } from '@daytonaio/api-client';
2
2
  import { FileSystem } from './FileSystem';
3
3
  import { Git } from './Git';
4
4
  import { CodeRunParams, Process } from './Process';
@@ -284,6 +284,27 @@ export declare class Sandbox implements SandboxDto {
284
284
  * Sandbox must be stopped before archiving.
285
285
  */
286
286
  archive(): Promise<void>;
287
+ /**
288
+ * Creates an SSH access token for the sandbox.
289
+ *
290
+ * @param {number} expiresInMinutes - The number of minutes the SSH access token will be valid for.
291
+ * @returns {Promise<SshAccessDto>} The SSH access token.
292
+ */
293
+ createSshAccess(expiresInMinutes?: number): Promise<SshAccessDto>;
294
+ /**
295
+ * Revokes an SSH access token for the sandbox.
296
+ *
297
+ * @param {string} token - The token to revoke.
298
+ * @returns {Promise<void>}
299
+ */
300
+ revokeSshAccess(token: string): Promise<void>;
301
+ /**
302
+ * Validates an SSH access token for the sandbox.
303
+ *
304
+ * @param {string} token - The token to validate.
305
+ * @returns {Promise<SshAccessValidationDto>} The SSH access validation result.
306
+ */
307
+ validateSshAccess(token: string): Promise<SshAccessValidationDto>;
287
308
  private getRootDir;
288
309
  /**
289
310
  * Assigns the API sandbox data to the Sandbox object.
package/src/Sandbox.js CHANGED
@@ -101,7 +101,7 @@ class Sandbox {
101
101
  this.rootDir = '';
102
102
  this.fs = new FileSystem_1.FileSystem(this.id, this.clientConfig, this.toolboxApi, async () => await this.getRootDir());
103
103
  this.git = new Git_1.Git(this.id, this.toolboxApi, async () => await this.getRootDir());
104
- this.process = new Process_1.Process(this.id, this.clientConfig, this.codeToolbox, this.toolboxApi, async () => await this.getRootDir());
104
+ this.process = new Process_1.Process(this.id, this.clientConfig, this.codeToolbox, this.toolboxApi, async () => await this.getRootDir(), async (port) => await this.getPreviewLink(port));
105
105
  this.computerUse = new ComputerUse_1.ComputerUse(this.id, this.toolboxApi);
106
106
  }
107
107
  /**
@@ -389,6 +389,33 @@ class Sandbox {
389
389
  await this.sandboxApi.archiveSandbox(this.id);
390
390
  await this.refreshData();
391
391
  }
392
+ /**
393
+ * Creates an SSH access token for the sandbox.
394
+ *
395
+ * @param {number} expiresInMinutes - The number of minutes the SSH access token will be valid for.
396
+ * @returns {Promise<SshAccessDto>} The SSH access token.
397
+ */
398
+ async createSshAccess(expiresInMinutes) {
399
+ return (await this.sandboxApi.createSshAccess(this.id, undefined, expiresInMinutes)).data;
400
+ }
401
+ /**
402
+ * Revokes an SSH access token for the sandbox.
403
+ *
404
+ * @param {string} token - The token to revoke.
405
+ * @returns {Promise<void>}
406
+ */
407
+ async revokeSshAccess(token) {
408
+ await this.sandboxApi.revokeSshAccess(this.id, undefined, token);
409
+ }
410
+ /**
411
+ * Validates an SSH access token for the sandbox.
412
+ *
413
+ * @param {string} token - The token to validate.
414
+ * @returns {Promise<SshAccessValidationDto>} The SSH access validation result.
415
+ */
416
+ async validateSshAccess(token) {
417
+ return (await this.sandboxApi.validateSshAccess(token)).data;
418
+ }
392
419
  async getRootDir() {
393
420
  if (!this.rootDir) {
394
421
  this.rootDir = (await this.getUserRootDir()) || '';
@@ -1 +1 @@
1
- {"version":3,"file":"Sandbox.js","sourceRoot":"","sources":["../../../../libs/sdk-typescript/src/Sandbox.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;AAaH,6CAAyC;AACzC,+BAA2B;AAC3B,uCAAkD;AAClD,2CAAsD;AACtD,wDAAoD;AACpD,uCAAiD;AACjD,+CAA2C;AAW3C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAmCG;AACH,MAAa,OAAO;IA6CC;IACA;IACA;IACA;IA/CH,EAAE,CAAY;IACd,GAAG,CAAK;IACR,OAAO,CAAS;IAChB,WAAW,CAAa;IAEjC,EAAE,CAAS;IACX,cAAc,CAAS;IACvB,QAAQ,CAAS;IACjB,IAAI,CAAS;IACb,GAAG,CAAyB;IAC5B,MAAM,CAAyB;IAC/B,MAAM,CAAU;IAChB,MAAM,CAAS;IACf,GAAG,CAAS;IACZ,GAAG,CAAS;IACZ,MAAM,CAAS;IACf,IAAI,CAAS;IACb,KAAK,CAAe;IACpB,WAAW,CAAS;IACpB,WAAW,CAAyB;IACpC,eAAe,CAAS;IACxB,gBAAgB,CAAS;IACzB,mBAAmB,CAAS;IAC5B,kBAAkB,CAAS;IAC3B,YAAY,CAAS;IACrB,OAAO,CAAuB;IAC9B,SAAS,CAAY;IACrB,SAAS,CAAS;IAClB,SAAS,CAAS;IAClB,eAAe,CAAU;IACzB,gBAAgB,CAAS;IAExB,OAAO,CAAQ;IAEvB;;;;;;;OAOG;IACH,YACE,UAAsB,EACL,YAA2B,EAC3B,UAAsB,EACtB,UAAsB,EACtB,WAA+B;QAH/B,iBAAY,GAAZ,YAAY,CAAe;QAC3B,eAAU,GAAV,UAAU,CAAY;QACtB,eAAU,GAAV,UAAU,CAAY;QACtB,gBAAW,GAAX,WAAW,CAAoB;QAEhD,IAAI,CAAC,iBAAiB,CAAC,UAAU,CAAC,CAAA;QAClC,IAAI,CAAC,OAAO,GAAG,EAAE,CAAA;QACjB,IAAI,CAAC,EAAE,GAAG,IAAI,uBAAU,CAAC,IAAI,CAAC,EAAE,EAAE,IAAI,CAAC,YAAY,EAAE,IAAI,CAAC,UAAU,EAAE,KAAK,IAAI,EAAE,CAAC,MAAM,IAAI,CAAC,UAAU,EAAE,CAAC,CAAA;QAC1G,IAAI,CAAC,GAAG,GAAG,IAAI,SAAG,CAAC,IAAI,CAAC,EAAE,EAAE,IAAI,CAAC,UAAU,EAAE,KAAK,IAAI,EAAE,CAAC,MAAM,IAAI,CAAC,UAAU,EAAE,CAAC,CAAA;QACjF,IAAI,CAAC,OAAO,GAAG,IAAI,iBAAO,CACxB,IAAI,CAAC,EAAE,EACP,IAAI,CAAC,YAAY,EACjB,IAAI,CAAC,WAAW,EAChB,IAAI,CAAC,UAAU,EACf,KAAK,IAAI,EAAE,CAAC,MAAM,IAAI,CAAC,UAAU,EAAE,CACpC,CAAA;QACD,IAAI,CAAC,WAAW,GAAG,IAAI,yBAAW,CAAC,IAAI,CAAC,EAAE,EAAE,IAAI,CAAC,UAAU,CAAC,CAAA;IAC9D,CAAC;IAED;;;;;;;;OAQG;IACI,KAAK,CAAC,cAAc;QACzB,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;QAC7D,OAAO,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAA;IAC1B,CAAC;IAED;;;;;;;;;;;;;OAaG;IACI,KAAK,CAAC,eAAe,CAAC,UAAkC,EAAE,aAAqB;QACpF,OAAO,IAAI,qBAAS,CAClB,UAA2B,EAC3B,IAAA,yBAAkB,EAAC,MAAM,IAAI,CAAC,UAAU,EAAE,EAAE,aAAa,CAAC,EAC1D,IAAI,CAAC,UAAU,EACf,IAAI,CAAC,EAAE,CACR,CAAA;IACH,CAAC;IAED;;;;;;;;;;;;;;;OAeG;IACI,KAAK,CAAC,SAAS,CAAC,MAA8B;QACnD,IAAI,CAAC,MAAM,GAAG,CAAC,MAAM,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAA;QACpF,OAAO,IAAI,CAAC,MAAM,CAAA;IACpB,CAAC;IAED;;;;;;;;;;;;;;OAcG;IACI,KAAK,CAAC,KAAK,CAAC,OAAO,GAAG,EAAE;QAC7B,IAAI,OAAO,GAAG,CAAC,EAAE,CAAC;YAChB,MAAM,IAAI,2BAAY,CAAC,uCAAuC,CAAC,CAAA;QACjE,CAAC;QAED,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAA;QAC5B,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,YAAY,CAAC,IAAI,CAAC,EAAE,EAAE,SAAS,EAAE,EAAE,OAAO,EAAE,OAAO,GAAG,IAAI,EAAE,CAAC,CAAA;QACpG,IAAI,CAAC,iBAAiB,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAA;QACrC,MAAM,WAAW,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,CAAA;QAC1C,MAAM,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,OAAO,GAAG,WAAW,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAA;IAChG,CAAC;IAED;;;;;;;;;;;;;OAaG;IACI,KAAK,CAAC,IAAI,CAAC,OAAO,GAAG,EAAE;QAC5B,IAAI,OAAO,GAAG,CAAC,EAAE,CAAC;YAChB,MAAM,IAAI,2BAAY,CAAC,uCAAuC,CAAC,CAAA;QACjE,CAAC;QACD,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAA;QAC5B,MAAM,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC,IAAI,CAAC,EAAE,EAAE,SAAS,EAAE,EAAE,OAAO,EAAE,OAAO,GAAG,IAAI,EAAE,CAAC,CAAA;QAClF,MAAM,IAAI,CAAC,WAAW,EAAE,CAAA;QACxB,MAAM,WAAW,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,CAAA;QAC1C,MAAM,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,OAAO,GAAG,WAAW,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAA;IAChG,CAAC;IAED;;;OAGG;IACI,KAAK,CAAC,MAAM,CAAC,OAAO,GAAG,EAAE;QAC9B,MAAM,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,IAAI,CAAC,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE,OAAO,EAAE,OAAO,GAAG,IAAI,EAAE,CAAC,CAAA;QAC1F,MAAM,IAAI,CAAC,WAAW,EAAE,CAAA;IAC1B,CAAC;IAED;;;;;;;;;;OAUG;IACI,KAAK,CAAC,gBAAgB,CAAC,OAAO,GAAG,EAAE;QACxC,IAAI,OAAO,GAAG,CAAC,EAAE,CAAC;YAChB,MAAM,IAAI,2BAAY,CAAC,uCAAuC,CAAC,CAAA;QACjE,CAAC;QAED,MAAM,aAAa,GAAG,GAAG,CAAA,CAAC,6BAA6B;QACvD,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAA;QAE5B,OAAO,IAAI,CAAC,KAAK,KAAK,SAAS,EAAE,CAAC;YAChC,MAAM,IAAI,CAAC,WAAW,EAAE,CAAA;YAExB,kFAAkF;YAClF,IAAI,IAAI,CAAC,KAAK,KAAK,SAAS,EAAE,CAAC;gBAC7B,OAAM;YACR,CAAC;YAED,IAAI,IAAI,CAAC,KAAK,KAAK,OAAO,EAAE,CAAC;gBAC3B,MAAM,MAAM,GAAG,WAAW,IAAI,CAAC,EAAE,iCAAiC,IAAI,CAAC,KAAK,mBAAmB,IAAI,CAAC,WAAW,EAAE,CAAA;gBACjH,MAAM,IAAI,2BAAY,CAAC,MAAM,CAAC,CAAA;YAChC,CAAC;YAED,IAAI,OAAO,KAAK,CAAC,IAAI,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,GAAG,OAAO,GAAG,IAAI,EAAE,CAAC;gBAC7D,MAAM,IAAI,2BAAY,CAAC,0DAA0D,CAAC,CAAA;YACpF,CAAC;YAED,MAAM,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,aAAa,CAAC,CAAC,CAAA;QACpE,CAAC;IACH,CAAC;IAED;;;;;;;;;;OAUG;IACI,KAAK,CAAC,gBAAgB,CAAC,OAAO,GAAG,EAAE;QACxC,IAAI,OAAO,GAAG,CAAC,EAAE,CAAC;YAChB,MAAM,IAAI,2BAAY,CAAC,uCAAuC,CAAC,CAAA;QACjE,CAAC;QAED,MAAM,aAAa,GAAG,GAAG,CAAA,CAAC,6BAA6B;QACvD,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAA;QAE5B,OAAO,IAAI,CAAC,KAAK,KAAK,SAAS,EAAE,CAAC;YAChC,MAAM,IAAI,CAAC,WAAW,EAAE,CAAA;YAExB,kFAAkF;YAClF,IAAI,IAAI,CAAC,KAAK,KAAK,SAAS,EAAE,CAAC;gBAC7B,OAAM;YACR,CAAC;YAED,IAAI,IAAI,CAAC,KAAK,KAAK,OAAO,EAAE,CAAC;gBAC3B,MAAM,MAAM,GAAG,uCAAuC,IAAI,CAAC,KAAK,mBAAmB,IAAI,CAAC,WAAW,EAAE,CAAA;gBACrG,MAAM,IAAI,2BAAY,CAAC,MAAM,CAAC,CAAA;YAChC,CAAC;YAED,IAAI,OAAO,KAAK,CAAC,IAAI,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,GAAG,OAAO,GAAG,IAAI,EAAE,CAAC;gBAC7D,MAAM,IAAI,2BAAY,CAAC,4DAA4D,CAAC,CAAA;YACtF,CAAC;YAED,MAAM,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,aAAa,CAAC,CAAC,CAAA;QACpE,CAAC;IACH,CAAC;IAED;;;;;;;;;;OAUG;IACI,KAAK,CAAC,WAAW;QACtB,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;QAC1D,IAAI,CAAC,iBAAiB,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAA;IACvC,CAAC;IAED;;;;;;;;;;;;;;;;;OAiBG;IACI,KAAK,CAAC,mBAAmB,CAAC,QAAgB;QAC/C,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,QAAQ,GAAG,CAAC,EAAE,CAAC;YAChD,MAAM,IAAI,2BAAY,CAAC,iDAAiD,CAAC,CAAA;QAC3E,CAAC;QAED,MAAM,IAAI,CAAC,UAAU,CAAC,mBAAmB,CAAC,IAAI,CAAC,EAAE,EAAE,QAAQ,CAAC,CAAA;QAC5D,IAAI,CAAC,gBAAgB,GAAG,QAAQ,CAAA;IAClC,CAAC;IAED;;;;;;;;;;;;;;;OAeG;IACI,KAAK,CAAC,sBAAsB,CAAC,QAAgB;QAClD,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,QAAQ,GAAG,CAAC,EAAE,CAAC;YAChD,MAAM,IAAI,2BAAY,CAAC,oDAAoD,CAAC,CAAA;QAC9E,CAAC;QACD,MAAM,IAAI,CAAC,UAAU,CAAC,sBAAsB,CAAC,IAAI,CAAC,EAAE,EAAE,QAAQ,CAAC,CAAA;QAC/D,IAAI,CAAC,mBAAmB,GAAG,QAAQ,CAAA;IACrC,CAAC;IAED;;;;;;;;;;;;;;;;;OAiBG;IACI,KAAK,CAAC,qBAAqB,CAAC,QAAgB;QACjD,MAAM,IAAI,CAAC,UAAU,CAAC,qBAAqB,CAAC,IAAI,CAAC,EAAE,EAAE,QAAQ,CAAC,CAAA;QAC9D,IAAI,CAAC,kBAAkB,GAAG,QAAQ,CAAA;IACpC,CAAC;IAED;;;;;;;;;;;;;OAaG;IACI,KAAK,CAAC,cAAc,CAAC,IAAY;QACtC,OAAO,CAAC,MAAM,IAAI,CAAC,UAAU,CAAC,iBAAiB,CAAC,IAAI,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC,CAAC,IAAI,CAAA;IACtE,CAAC;IAED;;;;;OAKG;IACI,KAAK,CAAC,OAAO;QAClB,MAAM,IAAI,CAAC,UAAU,CAAC,cAAc,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;QAC7C,MAAM,IAAI,CAAC,WAAW,EAAE,CAAA;IAC1B,CAAC;IAEO,KAAK,CAAC,UAAU;QACtB,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;YAClB,IAAI,CAAC,OAAO,GAAG,CAAC,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC,IAAI,EAAE,CAAA;QACpD,CAAC;QACD,OAAO,IAAI,CAAC,OAAO,CAAA;IACrB,CAAC;IAED;;;;;OAKG;IACK,iBAAiB,CAAC,UAAsB;QAC9C,IAAI,CAAC,EAAE,GAAG,UAAU,CAAC,EAAE,CAAA;QACvB,IAAI,CAAC,cAAc,GAAG,UAAU,CAAC,cAAc,CAAA;QAC/C,IAAI,CAAC,QAAQ,GAAG,UAAU,CAAC,QAAQ,CAAA;QACnC,IAAI,CAAC,IAAI,GAAG,UAAU,CAAC,IAAI,CAAA;QAC3B,IAAI,CAAC,GAAG,GAAG,UAAU,CAAC,GAAG,CAAA;QACzB,IAAI,CAAC,MAAM,GAAG,UAAU,CAAC,MAAM,CAAA;QAC/B,IAAI,CAAC,MAAM,GAAG,UAAU,CAAC,MAAM,CAAA;QAC/B,IAAI,CAAC,MAAM,GAAG,UAAU,CAAC,MAAM,CAAA;QAC/B,IAAI,CAAC,GAAG,GAAG,UAAU,CAAC,GAAG,CAAA;QACzB,IAAI,CAAC,GAAG,GAAG,UAAU,CAAC,GAAG,CAAA;QACzB,IAAI,CAAC,MAAM,GAAG,UAAU,CAAC,MAAM,CAAA;QAC/B,IAAI,CAAC,IAAI,GAAG,UAAU,CAAC,IAAI,CAAA;QAC3B,IAAI,CAAC,KAAK,GAAG,UAAU,CAAC,KAAK,CAAA;QAC7B,IAAI,CAAC,WAAW,GAAG,UAAU,CAAC,WAAW,CAAA;QACzC,IAAI,CAAC,WAAW,GAAG,UAAU,CAAC,WAAW,CAAA;QACzC,IAAI,CAAC,eAAe,GAAG,UAAU,CAAC,eAAe,CAAA;QACjD,IAAI,CAAC,gBAAgB,GAAG,UAAU,CAAC,gBAAgB,CAAA;QACnD,IAAI,CAAC,mBAAmB,GAAG,UAAU,CAAC,mBAAmB,CAAA;QACzD,IAAI,CAAC,kBAAkB,GAAG,UAAU,CAAC,kBAAkB,CAAA;QACvD,IAAI,CAAC,YAAY,GAAG,UAAU,CAAC,YAAY,CAAA;QAC3C,IAAI,CAAC,OAAO,GAAG,UAAU,CAAC,OAAO,CAAA;QACjC,IAAI,CAAC,SAAS,GAAG,UAAU,CAAC,SAAS,CAAA;QACrC,IAAI,CAAC,SAAS,GAAG,UAAU,CAAC,SAAS,CAAA;QACrC,IAAI,CAAC,SAAS,GAAG,UAAU,CAAC,SAAS,CAAA;QACrC,IAAI,CAAC,eAAe,GAAG,UAAU,CAAC,eAAe,CAAA;QACjD,IAAI,CAAC,gBAAgB,GAAG,UAAU,CAAC,gBAAgB,CAAA;IACrD,CAAC;CACF;AAvaD,0BAuaC"}
1
+ {"version":3,"file":"Sandbox.js","sourceRoot":"","sources":["../../../../libs/sdk-typescript/src/Sandbox.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,6 @@
1
+ import WebSocket from 'isomorphic-ws';
2
+ export declare const STDOUT_PREFIX = 1;
3
+ export declare const STDERR_PREFIX = 2;
1
4
  /**
2
5
  * Process a streaming response from fetch(), where getStream() returns a Fetch Response.
3
6
  *
@@ -8,3 +11,11 @@
8
11
  * @param requireConsecutiveTermination – whether you need two time-outs in a row to break
9
12
  */
10
13
  export declare function processStreamingResponse(getStream: () => Promise<Response>, onChunk: (chunk: string) => void, shouldTerminate: () => Promise<boolean>, chunkTimeout?: number, requireConsecutiveTermination?: boolean): Promise<void>;
14
+ /**
15
+ * Demultiplexes a WebSocket stream into separate stdout and stderr streams.
16
+ *
17
+ * @param socket - The WebSocket instance to demultiplex.
18
+ * @param onStdout - Callback function for stdout messages.
19
+ * @param onStderr - Callback function for stderr messages.
20
+ */
21
+ export declare function stdDemuxStream(ws: WebSocket, onStdout: (data: string) => void, onStderr: (data: string) => void): Promise<void>;
@@ -1,10 +1,11 @@
1
1
  "use strict";
2
- /*
3
- * Copyright 2025 Daytona Platforms Inc.
4
- * SPDX-License-Identifier: Apache-2.0
5
- */
6
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.STDERR_PREFIX = exports.STDOUT_PREFIX = void 0;
7
4
  exports.processStreamingResponse = processStreamingResponse;
5
+ exports.stdDemuxStream = stdDemuxStream;
6
+ const DaytonaError_1 = require("../errors/DaytonaError");
7
+ exports.STDOUT_PREFIX = 1;
8
+ exports.STDERR_PREFIX = 2;
8
9
  /**
9
10
  * Process a streaming response from fetch(), where getStream() returns a Fetch Response.
10
11
  *
@@ -63,4 +64,157 @@ async function processStreamingResponse(getStream, onChunk, shouldTerminate, chu
63
64
  await reader.cancel();
64
65
  }
65
66
  }
67
+ /**
68
+ * Demultiplexes a WebSocket stream into separate stdout and stderr streams.
69
+ *
70
+ * @param socket - The WebSocket instance to demultiplex.
71
+ * @param onStdout - Callback function for stdout messages.
72
+ * @param onStderr - Callback function for stderr messages.
73
+ */
74
+ function stdDemuxStream(ws, onStdout, onStderr) {
75
+ return new Promise((resolve, reject) => {
76
+ // If running in a browser or any WebSocket supporting binaryType, use ArrayBuffer for binary data
77
+ if ('binaryType' in ws) {
78
+ ws.binaryType = 'arraybuffer'; // ensure binary frames yield ArrayBuffer, not Blob
79
+ }
80
+ const textDecoder = new TextDecoder(); // for decoding UTF-8 bytes to string
81
+ // Event handler for incoming messages (Node: Buffer/ArrayBuffer/String; Browser: event.data etc.)
82
+ const handleMessage = (event) => {
83
+ // Normalize event/data between Node (ws) and browser WebSocket
84
+ const data = event && event instanceof Object && 'data' in event ? event.data : event;
85
+ try {
86
+ // Prepare a Uint8Array for the message data (so we can inspect the first byte and decode the rest)
87
+ let bytes;
88
+ if (typeof data === 'string') {
89
+ // If a text message is received (e.g., older ws or if server sent text), first char is the prefix byte
90
+ const prefix = data.charCodeAt(0);
91
+ const contentText = data.substring(1);
92
+ // Deliver to appropriate stream based on prefix
93
+ if (prefix === exports.STDOUT_PREFIX) {
94
+ onStdout(contentText);
95
+ }
96
+ else if (prefix === exports.STDERR_PREFIX) {
97
+ onStderr(contentText);
98
+ }
99
+ else {
100
+ throw new DaytonaError_1.DaytonaError(`Unknown data prefix: '${prefix}'`);
101
+ }
102
+ return; // done handling this message
103
+ }
104
+ else if (data instanceof ArrayBuffer) {
105
+ bytes = new Uint8Array(data);
106
+ }
107
+ else if (ArrayBuffer.isView(data)) {
108
+ // Covers Node.js Buffer (Uint8Array subclass) and other TypedArrays
109
+ bytes = new Uint8Array(data.buffer, data.byteOffset, data.byteLength);
110
+ }
111
+ else if (data instanceof Blob) {
112
+ // Browser binary frames might be Blob if binaryType wasn't set in time. Convert to ArrayBuffer asynchronously.
113
+ data.arrayBuffer().then((buf) => {
114
+ try {
115
+ processBytes(new Uint8Array(buf));
116
+ }
117
+ catch (err) {
118
+ handleError(err);
119
+ }
120
+ }, (err) => {
121
+ handleError(err);
122
+ });
123
+ return; // will continue asynchronously once blob is read
124
+ }
125
+ else {
126
+ throw new Error(`Unsupported message data type: ${Object.prototype.toString.call(data)}`);
127
+ }
128
+ // We have a Uint8Array 'bytes' representing the full message.
129
+ processBytes(bytes);
130
+ }
131
+ catch (err) {
132
+ // On any synchronous error in processing, clean up and reject.
133
+ cleanup();
134
+ try {
135
+ ws.close();
136
+ }
137
+ catch (_) {
138
+ /* ignore if already closed */
139
+ }
140
+ reject(err);
141
+ }
142
+ };
143
+ // Process a Uint8Array message: demux by prefix and decode the content
144
+ const processBytes = (bytes) => {
145
+ if (bytes.length < 1)
146
+ return;
147
+ const prefix = bytes[0];
148
+ const contentBytes = bytes.subarray(1);
149
+ // Decode remaining bytes to UTF-8 string (TextDecoder handles multi-byte chars properly)
150
+ const text = textDecoder.decode(contentBytes);
151
+ if (prefix === exports.STDOUT_PREFIX) {
152
+ onStdout(text);
153
+ }
154
+ else if (prefix === exports.STDERR_PREFIX) {
155
+ onStderr(text);
156
+ }
157
+ else {
158
+ throw new DaytonaError_1.DaytonaError(`Unknown data prefix: '${prefix}'`);
159
+ }
160
+ };
161
+ // Event handler for errors
162
+ const handleError = (error) => {
163
+ // Convert Event or plain error to Error instance for consistency
164
+ const err = error && error instanceof Event ? new Error('WebSocket error') : error;
165
+ cleanup();
166
+ try {
167
+ ws.close();
168
+ }
169
+ catch (_) {
170
+ /* ignore if already closed */
171
+ }
172
+ reject(err);
173
+ };
174
+ // Event handler for socket closure
175
+ const handleClose = () => {
176
+ cleanup();
177
+ resolve();
178
+ };
179
+ // Cleanup function to remove all listeners to avoid memory leaks
180
+ const cleanup = () => {
181
+ if (ws.removeEventListener) {
182
+ // Browser (EventTarget) style cleanup
183
+ ws.removeEventListener('message', handleMessage);
184
+ ws.removeEventListener('error', handleError);
185
+ ws.removeEventListener('close', handleClose);
186
+ }
187
+ if (ws.off) {
188
+ // Node.js ws (EventEmitter) style cleanup (supported in Node 14+)
189
+ ws.off('message', handleMessage);
190
+ ws.off('error', handleError);
191
+ ws.off('close', handleClose);
192
+ }
193
+ else if (ws.removeListener) {
194
+ // Node.js ws fallback for older Node versions
195
+ ;
196
+ ws.removeListener('message', handleMessage);
197
+ ws.removeListener('error', handleError);
198
+ ws.removeListener('close', handleClose);
199
+ }
200
+ };
201
+ // Attach event listeners in a way compatible with both Node (EventEmitter) and browser (EventTarget):
202
+ if (ws.addEventListener) {
203
+ // Browser or WebSocket implementation with EventTarget interface
204
+ ws.addEventListener('message', handleMessage);
205
+ ws.addEventListener('error', handleError);
206
+ ws.addEventListener('close', handleClose);
207
+ }
208
+ else if (ws.on) {
209
+ // Node.js ws library (EventEmitter) interface
210
+ ws.on('message', handleMessage); // ws@8+ yields Buffer for text frames, which we handle via TextDecoder
211
+ ws.on('error', handleError);
212
+ ws.on('close', handleClose);
213
+ }
214
+ else {
215
+ // Unknown WebSocket interface - should not happen with isomorphic-ws
216
+ throw new Error('Unsupported WebSocket implementation');
217
+ }
218
+ });
219
+ }
66
220
  //# sourceMappingURL=Stream.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Stream.js","sourceRoot":"","sources":["../../../../../libs/sdk-typescript/src/utils/Stream.ts"],"names":[],"mappings":";AAAA;;;GAGG;;AAWH,4DAqDC;AA9DD;;;;;;;;GAQG;AACI,KAAK,UAAU,wBAAwB,CAC5C,SAAkC,EAClC,OAAgC,EAChC,eAAuC,EACvC,YAAY,GAAG,IAAI,EACnB,6BAA6B,GAAG,IAAI;IAEpC,MAAM,GAAG,GAAG,MAAM,SAAS,EAAE,CAAA;IAC7B,IAAI,CAAC,GAAG,CAAC,IAAI;QAAE,MAAM,IAAI,KAAK,CAAC,sBAAsB,CAAC,CAAA;IACtD,MAAM,MAAM,GAAG,GAAG,CAAC,IAAI,CAAC,SAAS,EAAE,CAAA;IACnC,MAAM,OAAO,GAAG,IAAI,WAAW,EAAE,CAAA;IACjC,MAAM,OAAO,GAAG,MAAM,EAAE,CAAA;IACxB,IAAI,eAAe,GAAG,CAAC,CAAA;IAEvB,2CAA2C;IAC3C,IAAI,WAAW,GAAsC,IAAI,CAAA;IAEzD,IAAI,CAAC;QACH,OAAO,IAAI,EAAE,CAAC;YACZ,iCAAiC;YACjC,IAAI,CAAC,WAAW,EAAE,CAAC;gBACjB,WAAW,GAAG,MAAM,CAAC,IAAI,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,IAAI,IAAI,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;YAC3F,CAAC;YAED,6CAA6C;YAC7C,MAAM,cAAc,GAAG,IAAI,OAAO,CAAiB,CAAC,CAAC,EAAE,EAAE,CAAC,UAAU,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,YAAY,CAAC,CAAC,CAAA;YACrG,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC,WAAW,EAAE,cAAc,CAAC,CAAC,CAAA;YAEhE,IAAI,MAAM,KAAK,OAAO,EAAE,CAAC;gBACvB,oDAAoD;gBACpD,MAAM,IAAI,GAAG,MAAM,eAAe,EAAE,CAAA;gBACpC,IAAI,IAAI,EAAE,CAAC;oBACT,eAAe,EAAE,CAAA;oBACjB,IAAI,CAAC,6BAA6B,IAAI,eAAe,GAAG,CAAC;wBAAE,MAAK;gBAClE,CAAC;qBAAM,CAAC;oBACN,eAAe,GAAG,CAAC,CAAA;gBACrB,CAAC;gBACD,+CAA+C;YACjD,CAAC;iBAAM,CAAC;gBACN,2BAA2B;gBAC3B,WAAW,GAAG,IAAI,CAAA;gBAClB,IAAI,MAAM,KAAK,IAAI,EAAE,CAAC;oBACpB,gBAAgB;oBAChB,MAAK;gBACP,CAAC;gBACD,cAAc;gBACd,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAA;gBAC/B,eAAe,GAAG,CAAC,CAAA;YACrB,CAAC;QACH,CAAC;IACH,CAAC;YAAS,CAAC;QACT,MAAM,MAAM,CAAC,MAAM,EAAE,CAAA;IACvB,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"Stream.js","sourceRoot":"","sources":["../../../../../libs/sdk-typescript/src/utils/Stream.ts"],"names":[],"mappings":"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"}