@daytonaio/sdk 0.128.0-alpha.1 → 0.128.1
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 +8 -20
- package/{cjs → src}/CodeInterpreter.d.ts +0 -1
- package/src/CodeInterpreter.js.map +1 -0
- package/{esm → src}/ComputerUse.d.ts +0 -1
- package/src/ComputerUse.js.map +1 -0
- package/{cjs → src}/Daytona.d.ts +1 -2
- package/{cjs → src}/Daytona.js +8 -6
- package/{cjs → src}/Daytona.js.map +1 -1
- package/{esm → src}/FileSystem.d.ts +0 -1
- package/src/FileSystem.js.map +1 -0
- package/{esm → src}/Git.d.ts +0 -1
- package/src/Git.js.map +1 -0
- package/{cjs → src}/Image.d.ts +0 -21
- package/{cjs → src}/Image.js +91 -123
- package/src/Image.js.map +1 -0
- package/{cjs → src}/LspServer.d.ts +0 -1
- package/src/LspServer.js.map +1 -0
- package/{esm → src}/ObjectStorage.d.ts +0 -1
- package/src/ObjectStorage.js.map +1 -0
- package/{cjs → src}/Process.d.ts +0 -1
- package/src/Process.js.map +1 -0
- package/{cjs → src}/PtyHandle.d.ts +0 -1
- package/src/PtyHandle.js.map +1 -0
- package/{cjs → src}/Sandbox.d.ts +17 -2
- package/{cjs → src}/Sandbox.js +27 -1
- package/src/Sandbox.js.map +1 -0
- package/{cjs → src}/Snapshot.d.ts +0 -2
- package/{cjs → src}/Snapshot.js +1 -9
- package/src/Snapshot.js.map +1 -0
- package/{esm → src}/Volume.d.ts +0 -1
- package/src/Volume.js.map +1 -0
- package/{cjs → src}/code-toolbox/SandboxJsCodeToolbox.d.ts +0 -1
- package/src/code-toolbox/SandboxJsCodeToolbox.js.map +1 -0
- package/{cjs → src}/code-toolbox/SandboxPythonCodeToolbox.d.ts +0 -1
- package/src/code-toolbox/SandboxPythonCodeToolbox.js.map +1 -0
- package/{cjs → src}/code-toolbox/SandboxTsCodeToolbox.d.ts +0 -1
- package/src/code-toolbox/SandboxTsCodeToolbox.js.map +1 -0
- package/{esm → src}/errors/DaytonaError.d.ts +0 -1
- package/src/errors/DaytonaError.js.map +1 -0
- package/{cjs → src}/index.d.ts +0 -1
- package/src/index.js.map +1 -0
- package/{esm → src}/types/Charts.d.ts +0 -1
- package/src/types/Charts.js.map +1 -0
- package/{esm → src}/types/CodeInterpreter.d.ts +0 -1
- package/src/types/CodeInterpreter.js.map +1 -0
- package/{cjs → src}/types/ExecuteResponse.d.ts +0 -1
- package/src/types/ExecuteResponse.js.map +1 -0
- package/{cjs → src}/types/Pty.d.ts +0 -1
- package/src/types/Pty.js.map +1 -0
- package/{cjs → src}/utils/ArtifactParser.d.ts +0 -1
- package/src/utils/ArtifactParser.js.map +1 -0
- package/{esm → src}/utils/Binary.d.ts +0 -1
- package/src/utils/Binary.js.map +1 -0
- package/{cjs → src}/utils/FileTransfer.d.ts +0 -1
- package/src/utils/FileTransfer.js.map +1 -0
- package/{cjs → src}/utils/Import.d.ts +15 -2
- package/src/utils/Import.js +77 -0
- package/src/utils/Import.js.map +1 -0
- package/{esm → src}/utils/Multipart.d.ts +0 -1
- package/src/utils/Multipart.js.map +1 -0
- package/{cjs → src}/utils/Runtime.d.ts +0 -1
- package/src/utils/Runtime.js.map +1 -0
- package/{cjs → src}/utils/Stream.d.ts +0 -1
- package/src/utils/Stream.js.map +1 -0
- package/{esm → src}/utils/WebSocket.d.ts +0 -1
- package/src/utils/WebSocket.js.map +1 -0
- package/LICENSE +0 -190
- package/cjs/CodeInterpreter.d.ts.map +0 -1
- package/cjs/CodeInterpreter.js.map +0 -1
- package/cjs/ComputerUse.d.ts +0 -443
- package/cjs/ComputerUse.d.ts.map +0 -1
- package/cjs/ComputerUse.js.map +0 -1
- package/cjs/Daytona.d.ts.map +0 -1
- package/cjs/FileSystem.d.ts +0 -328
- package/cjs/FileSystem.d.ts.map +0 -1
- package/cjs/FileSystem.js.map +0 -1
- package/cjs/Git.d.ts +0 -203
- package/cjs/Git.d.ts.map +0 -1
- package/cjs/Git.js.map +0 -1
- package/cjs/Image.d.ts.map +0 -1
- package/cjs/Image.js.map +0 -1
- package/cjs/LspServer.d.ts.map +0 -1
- package/cjs/LspServer.js.map +0 -1
- package/cjs/ObjectStorage.d.ts +0 -79
- package/cjs/ObjectStorage.d.ts.map +0 -1
- package/cjs/ObjectStorage.js.map +0 -1
- package/cjs/Process.d.ts.map +0 -1
- package/cjs/Process.js.map +0 -1
- package/cjs/PtyHandle.d.ts.map +0 -1
- package/cjs/PtyHandle.js.map +0 -1
- package/cjs/README.md +0 -147
- package/cjs/Sandbox.d.ts.map +0 -1
- package/cjs/Sandbox.js.map +0 -1
- package/cjs/Snapshot.d.ts.map +0 -1
- package/cjs/Snapshot.js.map +0 -1
- package/cjs/Volume.d.ts +0 -84
- package/cjs/Volume.d.ts.map +0 -1
- package/cjs/Volume.js.map +0 -1
- package/cjs/code-toolbox/SandboxJsCodeToolbox.d.ts.map +0 -1
- package/cjs/code-toolbox/SandboxJsCodeToolbox.js.map +0 -1
- package/cjs/code-toolbox/SandboxPythonCodeToolbox.d.ts.map +0 -1
- package/cjs/code-toolbox/SandboxPythonCodeToolbox.js.map +0 -1
- package/cjs/code-toolbox/SandboxTsCodeToolbox.d.ts.map +0 -1
- package/cjs/code-toolbox/SandboxTsCodeToolbox.js.map +0 -1
- package/cjs/errors/DaytonaError.d.ts +0 -32
- package/cjs/errors/DaytonaError.d.ts.map +0 -1
- package/cjs/errors/DaytonaError.js.map +0 -1
- package/cjs/index.d.ts.map +0 -1
- package/cjs/index.js.map +0 -1
- package/cjs/package.json +0 -3
- package/cjs/types/Charts.d.ts +0 -152
- package/cjs/types/Charts.d.ts.map +0 -1
- package/cjs/types/Charts.js.map +0 -1
- package/cjs/types/CodeInterpreter.d.ts +0 -77
- package/cjs/types/CodeInterpreter.d.ts.map +0 -1
- package/cjs/types/CodeInterpreter.js.map +0 -1
- package/cjs/types/ExecuteResponse.d.ts.map +0 -1
- package/cjs/types/ExecuteResponse.js.map +0 -1
- package/cjs/types/Pty.d.ts.map +0 -1
- package/cjs/types/Pty.js.map +0 -1
- package/cjs/utils/ArtifactParser.d.ts.map +0 -1
- package/cjs/utils/ArtifactParser.js.map +0 -1
- package/cjs/utils/Binary.d.ts +0 -39
- package/cjs/utils/Binary.d.ts.map +0 -1
- package/cjs/utils/Binary.js.map +0 -1
- package/cjs/utils/FileTransfer.d.ts.map +0 -1
- package/cjs/utils/FileTransfer.js.map +0 -1
- package/cjs/utils/Import.d.ts.map +0 -1
- package/cjs/utils/Import.js +0 -81
- package/cjs/utils/Import.js.map +0 -1
- package/cjs/utils/Multipart.d.ts +0 -27
- package/cjs/utils/Multipart.d.ts.map +0 -1
- package/cjs/utils/Multipart.js.map +0 -1
- package/cjs/utils/Runtime.d.ts.map +0 -1
- package/cjs/utils/Runtime.js.map +0 -1
- package/cjs/utils/Stream.d.ts.map +0 -1
- package/cjs/utils/Stream.js.map +0 -1
- package/cjs/utils/WebSocket.d.ts +0 -10
- package/cjs/utils/WebSocket.d.ts.map +0 -1
- package/cjs/utils/WebSocket.js.map +0 -1
- package/esm/CodeInterpreter.d.ts +0 -96
- package/esm/CodeInterpreter.d.ts.map +0 -1
- package/esm/CodeInterpreter.js +0 -295
- package/esm/CodeInterpreter.js.map +0 -1
- package/esm/ComputerUse.d.ts.map +0 -1
- package/esm/ComputerUse.js +0 -509
- package/esm/ComputerUse.js.map +0 -1
- package/esm/Daytona.d.ts +0 -354
- package/esm/Daytona.d.ts.map +0 -1
- package/esm/Daytona.js +0 -410
- package/esm/Daytona.js.map +0 -1
- package/esm/FileSystem.d.ts.map +0 -1
- package/esm/FileSystem.js +0 -331
- package/esm/FileSystem.js.map +0 -1
- package/esm/Git.d.ts.map +0 -1
- package/esm/Git.js +0 -260
- package/esm/Git.js.map +0 -1
- package/esm/Image.d.ts +0 -285
- package/esm/Image.d.ts.map +0 -1
- package/esm/Image.js +0 -569
- package/esm/Image.js.map +0 -1
- package/esm/LspServer.d.ts +0 -172
- package/esm/LspServer.d.ts.map +0 -1
- package/esm/LspServer.js +0 -204
- package/esm/LspServer.js.map +0 -1
- package/esm/ObjectStorage.d.ts.map +0 -1
- package/esm/ObjectStorage.js +0 -187
- package/esm/ObjectStorage.js.map +0 -1
- package/esm/Process.d.ts +0 -442
- package/esm/Process.d.ts.map +0 -1
- package/esm/Process.js +0 -644
- package/esm/Process.js.map +0 -1
- package/esm/PtyHandle.d.ts +0 -155
- package/esm/PtyHandle.d.ts.map +0 -1
- package/esm/PtyHandle.js +0 -374
- package/esm/PtyHandle.js.map +0 -1
- package/esm/README.md +0 -147
- package/esm/Sandbox.d.ts +0 -359
- package/esm/Sandbox.d.ts.map +0 -1
- package/esm/Sandbox.js +0 -532
- package/esm/Sandbox.js.map +0 -1
- package/esm/Snapshot.d.ts +0 -138
- package/esm/Snapshot.d.ts.map +0 -1
- package/esm/Snapshot.js +0 -207
- package/esm/Snapshot.js.map +0 -1
- package/esm/Volume.d.ts.map +0 -1
- package/esm/Volume.js +0 -95
- package/esm/Volume.js.map +0 -1
- package/esm/code-toolbox/SandboxJsCodeToolbox.d.ts +0 -6
- package/esm/code-toolbox/SandboxJsCodeToolbox.d.ts.map +0 -1
- package/esm/code-toolbox/SandboxJsCodeToolbox.js +0 -13
- package/esm/code-toolbox/SandboxJsCodeToolbox.js.map +0 -1
- package/esm/code-toolbox/SandboxPythonCodeToolbox.d.ts +0 -12
- package/esm/code-toolbox/SandboxPythonCodeToolbox.d.ts.map +0 -1
- package/esm/code-toolbox/SandboxPythonCodeToolbox.js +0 -355
- package/esm/code-toolbox/SandboxPythonCodeToolbox.js.map +0 -1
- package/esm/code-toolbox/SandboxTsCodeToolbox.d.ts +0 -6
- package/esm/code-toolbox/SandboxTsCodeToolbox.d.ts.map +0 -1
- package/esm/code-toolbox/SandboxTsCodeToolbox.js +0 -14
- package/esm/code-toolbox/SandboxTsCodeToolbox.js.map +0 -1
- package/esm/errors/DaytonaError.d.ts.map +0 -1
- package/esm/errors/DaytonaError.js +0 -44
- package/esm/errors/DaytonaError.js.map +0 -1
- package/esm/index.d.ts +0 -22
- package/esm/index.d.ts.map +0 -1
- package/esm/index.js +0 -22
- package/esm/index.js.map +0 -1
- package/esm/package.json +0 -3
- package/esm/types/Charts.d.ts.map +0 -1
- package/esm/types/Charts.js +0 -42
- package/esm/types/Charts.js.map +0 -1
- package/esm/types/CodeInterpreter.d.ts.map +0 -1
- package/esm/types/CodeInterpreter.js +0 -6
- package/esm/types/CodeInterpreter.js.map +0 -1
- package/esm/types/ExecuteResponse.d.ts +0 -26
- package/esm/types/ExecuteResponse.d.ts.map +0 -1
- package/esm/types/ExecuteResponse.js +0 -6
- package/esm/types/ExecuteResponse.js.map +0 -1
- package/esm/types/Pty.d.ts +0 -48
- package/esm/types/Pty.d.ts.map +0 -1
- package/esm/types/Pty.js +0 -6
- package/esm/types/Pty.js.map +0 -1
- package/esm/utils/ArtifactParser.d.ts +0 -14
- package/esm/utils/ArtifactParser.d.ts.map +0 -1
- package/esm/utils/ArtifactParser.js +0 -51
- package/esm/utils/ArtifactParser.js.map +0 -1
- package/esm/utils/Binary.d.ts.map +0 -1
- package/esm/utils/Binary.js +0 -157
- package/esm/utils/Binary.js.map +0 -1
- package/esm/utils/FileTransfer.d.ts +0 -15
- package/esm/utils/FileTransfer.d.ts.map +0 -1
- package/esm/utils/FileTransfer.js +0 -209
- package/esm/utils/FileTransfer.js.map +0 -1
- package/esm/utils/Import.d.ts +0 -211
- package/esm/utils/Import.d.ts.map +0 -1
- package/esm/utils/Import.js +0 -45
- package/esm/utils/Import.js.map +0 -1
- package/esm/utils/Multipart.d.ts.map +0 -1
- package/esm/utils/Multipart.js +0 -107
- package/esm/utils/Multipart.js.map +0 -1
- package/esm/utils/Runtime.d.ts +0 -37
- package/esm/utils/Runtime.d.ts.map +0 -1
- package/esm/utils/Runtime.js +0 -57
- package/esm/utils/Runtime.js.map +0 -1
- package/esm/utils/Stream.d.ts +0 -20
- package/esm/utils/Stream.d.ts.map +0 -1
- package/esm/utils/Stream.js +0 -360
- package/esm/utils/Stream.js.map +0 -1
- package/esm/utils/WebSocket.d.ts.map +0 -1
- package/esm/utils/WebSocket.js +0 -22
- package/esm/utils/WebSocket.js.map +0 -1
- /package/{cjs → src}/CodeInterpreter.js +0 -0
- /package/{cjs → src}/ComputerUse.js +0 -0
- /package/{cjs → src}/FileSystem.js +0 -0
- /package/{cjs → src}/Git.js +0 -0
- /package/{cjs → src}/LspServer.js +0 -0
- /package/{cjs → src}/ObjectStorage.js +0 -0
- /package/{cjs → src}/Process.js +0 -0
- /package/{cjs → src}/PtyHandle.js +0 -0
- /package/{cjs → src}/Volume.js +0 -0
- /package/{cjs → src}/code-toolbox/SandboxJsCodeToolbox.js +0 -0
- /package/{cjs → src}/code-toolbox/SandboxPythonCodeToolbox.js +0 -0
- /package/{cjs → src}/code-toolbox/SandboxTsCodeToolbox.js +0 -0
- /package/{cjs → src}/errors/DaytonaError.js +0 -0
- /package/{cjs → src}/index.js +0 -0
- /package/{cjs → src}/types/Charts.js +0 -0
- /package/{cjs → src}/types/CodeInterpreter.js +0 -0
- /package/{cjs → src}/types/ExecuteResponse.js +0 -0
- /package/{cjs → src}/types/Pty.js +0 -0
- /package/{cjs → src}/utils/ArtifactParser.js +0 -0
- /package/{cjs → src}/utils/Binary.js +0 -0
- /package/{cjs → src}/utils/FileTransfer.js +0 -0
- /package/{cjs → src}/utils/Multipart.js +0 -0
- /package/{cjs → src}/utils/Runtime.js +0 -0
- /package/{cjs → src}/utils/Stream.js +0 -0
- /package/{cjs → src}/utils/WebSocket.js +0 -0
package/esm/types/Pty.d.ts
DELETED
|
@@ -1,48 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Options for creating a PTY session
|
|
3
|
-
*/
|
|
4
|
-
export interface PtyCreateOptions {
|
|
5
|
-
/**
|
|
6
|
-
* The unique identifier for the PTY session
|
|
7
|
-
*/
|
|
8
|
-
id: string;
|
|
9
|
-
/**
|
|
10
|
-
* Starting directory for the PTY session, defaults to the sandbox's working directory
|
|
11
|
-
*/
|
|
12
|
-
cwd?: string;
|
|
13
|
-
/**
|
|
14
|
-
* Environment variables for the PTY session
|
|
15
|
-
*/
|
|
16
|
-
envs?: Record<string, string>;
|
|
17
|
-
/**
|
|
18
|
-
* Number of terminal columns
|
|
19
|
-
*/
|
|
20
|
-
cols?: number;
|
|
21
|
-
/**
|
|
22
|
-
* Number of terminal rows
|
|
23
|
-
*/
|
|
24
|
-
rows?: number;
|
|
25
|
-
}
|
|
26
|
-
/**
|
|
27
|
-
* Options for connecting to a PTY session
|
|
28
|
-
*/
|
|
29
|
-
export interface PtyConnectOptions {
|
|
30
|
-
/**
|
|
31
|
-
* Callback to handle PTY output data
|
|
32
|
-
*/
|
|
33
|
-
onData: (data: Uint8Array) => void | Promise<void>;
|
|
34
|
-
}
|
|
35
|
-
/**
|
|
36
|
-
* PTY session result on exit
|
|
37
|
-
*/
|
|
38
|
-
export interface PtyResult {
|
|
39
|
-
/**
|
|
40
|
-
* Exit code when the PTY process ends
|
|
41
|
-
*/
|
|
42
|
-
exitCode?: number;
|
|
43
|
-
/**
|
|
44
|
-
* Error message if the PTY failed
|
|
45
|
-
*/
|
|
46
|
-
error?: string;
|
|
47
|
-
}
|
|
48
|
-
//# sourceMappingURL=Pty.d.ts.map
|
package/esm/types/Pty.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"Pty.d.ts","sourceRoot":"","sources":["../../../../../../libs/sdk-typescript/src/types/Pty.ts"],"names":[],"mappings":"AAKA;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B;;OAEG;IACH,EAAE,EAAE,MAAM,CAAA;IAEV;;OAEG;IACH,GAAG,CAAC,EAAE,MAAM,CAAA;IAEZ;;OAEG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IAE7B;;OAEG;IACH,IAAI,CAAC,EAAE,MAAM,CAAA;IAEb;;OAEG;IACH,IAAI,CAAC,EAAE,MAAM,CAAA;CACd;AAED;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC;;OAEG;IACH,MAAM,EAAE,CAAC,IAAI,EAAE,UAAU,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;CACnD;AAED;;GAEG;AACH,MAAM,WAAW,SAAS;IACxB;;OAEG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAA;IAEjB;;OAEG;IACH,KAAK,CAAC,EAAE,MAAM,CAAA;CACf"}
|
package/esm/types/Pty.js
DELETED
package/esm/types/Pty.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"Pty.js","sourceRoot":"","sources":["../../../../../../libs/sdk-typescript/src/types/Pty.ts"],"names":[],"mappings":"AAAA;;;GAGG"}
|
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
import { ExecutionArtifacts } from '../types/ExecuteResponse.js';
|
|
2
|
-
/**
|
|
3
|
-
* Utility class for parsing artifacts from command output
|
|
4
|
-
*/
|
|
5
|
-
export declare class ArtifactParser {
|
|
6
|
-
/**
|
|
7
|
-
* Parses artifacts from command output text
|
|
8
|
-
*
|
|
9
|
-
* @param output - Raw output from command execution
|
|
10
|
-
* @returns Parsed artifacts including stdout and charts
|
|
11
|
-
*/
|
|
12
|
-
static parseArtifacts(output: string): ExecutionArtifacts;
|
|
13
|
-
}
|
|
14
|
-
//# sourceMappingURL=ArtifactParser.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ArtifactParser.d.ts","sourceRoot":"","sources":["../../../../../../libs/sdk-typescript/src/utils/ArtifactParser.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAA;AAE7D;;GAEG;AACH,qBAAa,cAAc;IACzB;;;;;OAKG;WACW,cAAc,CAAC,MAAM,EAAE,MAAM,GAAG,kBAAkB;CAuCjE"}
|
|
@@ -1,51 +0,0 @@
|
|
|
1
|
-
/*
|
|
2
|
-
* Copyright 2025 Daytona Platforms Inc.
|
|
3
|
-
* SPDX-License-Identifier: Apache-2.0
|
|
4
|
-
*/
|
|
5
|
-
import { parseChart } from '../types/Charts.js';
|
|
6
|
-
/**
|
|
7
|
-
* Utility class for parsing artifacts from command output
|
|
8
|
-
*/
|
|
9
|
-
export class ArtifactParser {
|
|
10
|
-
/**
|
|
11
|
-
* Parses artifacts from command output text
|
|
12
|
-
*
|
|
13
|
-
* @param output - Raw output from command execution
|
|
14
|
-
* @returns Parsed artifacts including stdout and charts
|
|
15
|
-
*/
|
|
16
|
-
static parseArtifacts(output) {
|
|
17
|
-
const charts = [];
|
|
18
|
-
let stdout = output;
|
|
19
|
-
// Split output by lines to find artifact markers
|
|
20
|
-
const lines = output.split('\n');
|
|
21
|
-
const artifactLines = [];
|
|
22
|
-
for (const line of lines) {
|
|
23
|
-
// Look for the artifact marker pattern
|
|
24
|
-
if (line.startsWith('dtn_artifact_k39fd2:')) {
|
|
25
|
-
artifactLines.push(line);
|
|
26
|
-
try {
|
|
27
|
-
const artifactJson = line.substring('dtn_artifact_k39fd2:'.length).trim();
|
|
28
|
-
const artifactData = JSON.parse(artifactJson);
|
|
29
|
-
if (artifactData.type === 'chart' && artifactData.value) {
|
|
30
|
-
const chartData = artifactData.value;
|
|
31
|
-
charts.push(parseChart(chartData));
|
|
32
|
-
}
|
|
33
|
-
}
|
|
34
|
-
catch (error) {
|
|
35
|
-
// Skip invalid artifacts
|
|
36
|
-
console.warn('Failed to parse artifact:', error);
|
|
37
|
-
}
|
|
38
|
-
}
|
|
39
|
-
}
|
|
40
|
-
// Remove artifact lines from stdout along with their following newlines
|
|
41
|
-
for (const line of artifactLines) {
|
|
42
|
-
stdout = stdout.replace(line + '\n', '');
|
|
43
|
-
stdout = stdout.replace(line, '');
|
|
44
|
-
}
|
|
45
|
-
return {
|
|
46
|
-
stdout,
|
|
47
|
-
charts: charts.length > 0 ? charts : undefined,
|
|
48
|
-
};
|
|
49
|
-
}
|
|
50
|
-
}
|
|
51
|
-
//# sourceMappingURL=ArtifactParser.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ArtifactParser.js","sourceRoot":"","sources":["../../../../../../libs/sdk-typescript/src/utils/ArtifactParser.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAS,UAAU,EAAE,MAAM,iBAAiB,CAAA;AAGnD;;GAEG;AACH,MAAM,OAAO,cAAc;IACzB;;;;;OAKG;IACI,MAAM,CAAC,cAAc,CAAC,MAAc;QACzC,MAAM,MAAM,GAAY,EAAE,CAAA;QAC1B,IAAI,MAAM,GAAG,MAAM,CAAA;QAEnB,iDAAiD;QACjD,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;QAChC,MAAM,aAAa,GAAa,EAAE,CAAA;QAElC,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YACzB,uCAAuC;YACvC,IAAI,IAAI,CAAC,UAAU,CAAC,sBAAsB,CAAC,EAAE,CAAC;gBAC5C,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;gBAExB,IAAI,CAAC;oBACH,MAAM,YAAY,GAAG,IAAI,CAAC,SAAS,CAAC,sBAAsB,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,CAAA;oBACzE,MAAM,YAAY,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,CAAA;oBAE7C,IAAI,YAAY,CAAC,IAAI,KAAK,OAAO,IAAI,YAAY,CAAC,KAAK,EAAE,CAAC;wBACxD,MAAM,SAAS,GAAG,YAAY,CAAC,KAAK,CAAA;wBACpC,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,CAAA;oBACpC,CAAC;gBACH,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBACf,yBAAyB;oBACzB,OAAO,CAAC,IAAI,CAAC,2BAA2B,EAAE,KAAK,CAAC,CAAA;gBAClD,CAAC;YACH,CAAC;QACH,CAAC;QAED,wEAAwE;QACxE,KAAK,MAAM,IAAI,IAAI,aAAa,EAAE,CAAC;YACjC,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,IAAI,GAAG,IAAI,EAAE,EAAE,CAAC,CAAA;YACxC,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,CAAA;QACnC,CAAC;QAED,OAAO;YACL,MAAM;YACN,MAAM,EAAE,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS;SAC/C,CAAA;IACH,CAAC;CACF"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"Binary.d.ts","sourceRoot":"","sources":["../../../../../../libs/sdk-typescript/src/utils/Binary.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAA;AAG/B;;GAEG;AACH,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,WAAW,GAAG,eAAe,GAAG,UAAU,CAWrF;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,UAAU,EAAE,GAAG,UAAU,CASjE;AAED;;GAEG;AACH,wBAAgB,QAAQ,CAAC,IAAI,EAAE,UAAU,GAAG,MAAM,CAEjD;AAED;;GAEG;AACH,wBAAgB,UAAU,CAAC,IAAI,EAAE,UAAU,GAAG,MAAM,CAEnD;AAED;;GAEG;AACH,wBAAgB,YAAY,CAAC,MAAM,EAAE,UAAU,EAAE,OAAO,EAAE,UAAU,GAAG,MAAM,EAAE,CAmB9E;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,UAAU,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,OAAO,EAAE,UAAU,GAAG,MAAM,CAc5G;AAED;;;GAGG;AACH,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,UAAU,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,UAAU,GAAG,MAAM,CAKlG;AAED;;GAEG;AACH,wBAAsB,kBAAkB,CAAC,MAAM,EAAE,GAAG,GAAG,OAAO,CAAC,UAAU,CAAC,CAgDzE;AAED;;GAEG;AACH,wBAAgB,MAAM,CAAC,KAAK,EAAE,GAAG,GAAG,OAAO,CAG1C"}
|
package/esm/utils/Binary.js
DELETED
|
@@ -1,157 +0,0 @@
|
|
|
1
|
-
/*
|
|
2
|
-
* Copyright 2025 Daytona Platforms Inc.
|
|
3
|
-
* SPDX-License-Identifier: Apache-2.0
|
|
4
|
-
*/
|
|
5
|
-
import { Buffer } from 'buffer';
|
|
6
|
-
import { DaytonaError } from '../errors/DaytonaError.js';
|
|
7
|
-
/**
|
|
8
|
-
* Converts various data types to Uint8Array
|
|
9
|
-
*/
|
|
10
|
-
export function toUint8Array(data) {
|
|
11
|
-
if (typeof data === 'string') {
|
|
12
|
-
return new TextEncoder().encode(data);
|
|
13
|
-
}
|
|
14
|
-
if (data instanceof ArrayBuffer) {
|
|
15
|
-
return new Uint8Array(data);
|
|
16
|
-
}
|
|
17
|
-
if (ArrayBuffer.isView(data)) {
|
|
18
|
-
return new Uint8Array(data.buffer, data.byteOffset, data.byteLength);
|
|
19
|
-
}
|
|
20
|
-
throw new DaytonaError('Unsupported data type for byte conversion.');
|
|
21
|
-
}
|
|
22
|
-
/**
|
|
23
|
-
* Concatenates multiple Uint8Array chunks into a single Uint8Array
|
|
24
|
-
*/
|
|
25
|
-
export function concatUint8Arrays(parts) {
|
|
26
|
-
const size = parts.reduce((sum, part) => sum + part.byteLength, 0);
|
|
27
|
-
const result = new Uint8Array(size);
|
|
28
|
-
let offset = 0;
|
|
29
|
-
for (const part of parts) {
|
|
30
|
-
result.set(part, offset);
|
|
31
|
-
offset += part.byteLength;
|
|
32
|
-
}
|
|
33
|
-
return result;
|
|
34
|
-
}
|
|
35
|
-
/**
|
|
36
|
-
* Converts Uint8Array to Buffer (uses polyfill in non-Node environments)
|
|
37
|
-
*/
|
|
38
|
-
export function toBuffer(data) {
|
|
39
|
-
return Buffer.from(data);
|
|
40
|
-
}
|
|
41
|
-
/**
|
|
42
|
-
* Decodes Uint8Array to UTF-8 string
|
|
43
|
-
*/
|
|
44
|
-
export function utf8Decode(data) {
|
|
45
|
-
return new TextDecoder('utf-8').decode(data);
|
|
46
|
-
}
|
|
47
|
-
/**
|
|
48
|
-
* Finds all occurrences of a pattern in a byte buffer
|
|
49
|
-
*/
|
|
50
|
-
export function findAllBytes(buffer, pattern) {
|
|
51
|
-
const results = [];
|
|
52
|
-
let i = 0;
|
|
53
|
-
while (i <= buffer.length - pattern.length) {
|
|
54
|
-
let match = true;
|
|
55
|
-
for (let j = 0; j < pattern.length; j++) {
|
|
56
|
-
if (buffer[i + j] !== pattern[j]) {
|
|
57
|
-
match = false;
|
|
58
|
-
break;
|
|
59
|
-
}
|
|
60
|
-
}
|
|
61
|
-
if (match) {
|
|
62
|
-
results.push(i);
|
|
63
|
-
i += pattern.length;
|
|
64
|
-
}
|
|
65
|
-
else {
|
|
66
|
-
i++;
|
|
67
|
-
}
|
|
68
|
-
}
|
|
69
|
-
return results;
|
|
70
|
-
}
|
|
71
|
-
/**
|
|
72
|
-
* Finds the first occurrence of a pattern in a byte buffer within a range
|
|
73
|
-
*/
|
|
74
|
-
export function findBytesInRange(buffer, start, end, pattern) {
|
|
75
|
-
let i = start;
|
|
76
|
-
while (i <= end - pattern.length) {
|
|
77
|
-
let match = true;
|
|
78
|
-
for (let j = 0; j < pattern.length; j++) {
|
|
79
|
-
if (buffer[i + j] !== pattern[j]) {
|
|
80
|
-
match = false;
|
|
81
|
-
break;
|
|
82
|
-
}
|
|
83
|
-
}
|
|
84
|
-
if (match)
|
|
85
|
-
return i;
|
|
86
|
-
i++;
|
|
87
|
-
}
|
|
88
|
-
return -1;
|
|
89
|
-
}
|
|
90
|
-
/**
|
|
91
|
-
* Checks if a sequence starts at a given position in a byte buffer
|
|
92
|
-
* Returns the position after the sequence if found, -1 otherwise
|
|
93
|
-
*/
|
|
94
|
-
export function indexAfterSequence(buffer, start, sequence) {
|
|
95
|
-
for (let j = 0; j < sequence.length; j++) {
|
|
96
|
-
if (buffer[start + j] !== sequence[j])
|
|
97
|
-
return -1;
|
|
98
|
-
}
|
|
99
|
-
return start + sequence.length;
|
|
100
|
-
}
|
|
101
|
-
/**
|
|
102
|
-
* Collects all bytes from various stream types into a single Uint8Array
|
|
103
|
-
*/
|
|
104
|
-
export async function collectStreamBytes(stream) {
|
|
105
|
-
if (!stream)
|
|
106
|
-
return new Uint8Array(0);
|
|
107
|
-
// ReadableStream (WHATWG)
|
|
108
|
-
if (typeof stream.getReader === 'function') {
|
|
109
|
-
const reader = stream.getReader();
|
|
110
|
-
const chunks = [];
|
|
111
|
-
try {
|
|
112
|
-
while (true) {
|
|
113
|
-
const { done, value } = await reader.read();
|
|
114
|
-
if (done)
|
|
115
|
-
break;
|
|
116
|
-
if (value?.byteLength) {
|
|
117
|
-
chunks.push(value);
|
|
118
|
-
}
|
|
119
|
-
}
|
|
120
|
-
}
|
|
121
|
-
finally {
|
|
122
|
-
await reader.cancel();
|
|
123
|
-
}
|
|
124
|
-
return concatUint8Arrays(chunks);
|
|
125
|
-
}
|
|
126
|
-
// AsyncIterable
|
|
127
|
-
if (stream?.[Symbol.asyncIterator]) {
|
|
128
|
-
const chunks = [];
|
|
129
|
-
for await (const chunk of stream) {
|
|
130
|
-
chunks.push(toUint8Array(chunk));
|
|
131
|
-
}
|
|
132
|
-
return concatUint8Arrays(chunks);
|
|
133
|
-
}
|
|
134
|
-
// Direct data types
|
|
135
|
-
if (typeof stream === 'string' || stream instanceof ArrayBuffer || ArrayBuffer.isView(stream)) {
|
|
136
|
-
return toUint8Array(stream);
|
|
137
|
-
}
|
|
138
|
-
// Blob
|
|
139
|
-
if (typeof Blob !== 'undefined' && stream instanceof Blob) {
|
|
140
|
-
const arrayBuffer = await stream.arrayBuffer();
|
|
141
|
-
return new Uint8Array(arrayBuffer);
|
|
142
|
-
}
|
|
143
|
-
// Response
|
|
144
|
-
if (typeof Response !== 'undefined' && stream instanceof Response) {
|
|
145
|
-
const arrayBuffer = await stream.arrayBuffer();
|
|
146
|
-
return new Uint8Array(arrayBuffer);
|
|
147
|
-
}
|
|
148
|
-
throw new DaytonaError('Unsupported stream type for byte collection.');
|
|
149
|
-
}
|
|
150
|
-
/**
|
|
151
|
-
* Checks if value is a File object (browser environment)
|
|
152
|
-
*/
|
|
153
|
-
export function isFile(value) {
|
|
154
|
-
const FileConstructor = globalThis.File;
|
|
155
|
-
return typeof FileConstructor !== 'undefined' && value instanceof FileConstructor;
|
|
156
|
-
}
|
|
157
|
-
//# sourceMappingURL=Binary.js.map
|
package/esm/utils/Binary.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"Binary.js","sourceRoot":"","sources":["../../../../../../libs/sdk-typescript/src/utils/Binary.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAA;AAC/B,OAAO,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAA;AAErD;;GAEG;AACH,MAAM,UAAU,YAAY,CAAC,IAA4C;IACvE,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE,CAAC;QAC7B,OAAO,IAAI,WAAW,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA;IACvC,CAAC;IACD,IAAI,IAAI,YAAY,WAAW,EAAE,CAAC;QAChC,OAAO,IAAI,UAAU,CAAC,IAAI,CAAC,CAAA;IAC7B,CAAC;IACD,IAAI,WAAW,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC;QAC7B,OAAO,IAAI,UAAU,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,UAAU,CAAC,CAAA;IACtE,CAAC;IACD,MAAM,IAAI,YAAY,CAAC,4CAA4C,CAAC,CAAA;AACtE,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,iBAAiB,CAAC,KAAmB;IACnD,MAAM,IAAI,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,IAAI,EAAE,EAAE,CAAC,GAAG,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC,CAAC,CAAA;IAClE,MAAM,MAAM,GAAG,IAAI,UAAU,CAAC,IAAI,CAAC,CAAA;IACnC,IAAI,MAAM,GAAG,CAAC,CAAA;IACd,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,MAAM,CAAC,GAAG,CAAC,IAAI,EAAE,MAAM,CAAC,CAAA;QACxB,MAAM,IAAI,IAAI,CAAC,UAAU,CAAA;IAC3B,CAAC;IACD,OAAO,MAAM,CAAA;AACf,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,QAAQ,CAAC,IAAgB;IACvC,OAAO,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;AAC1B,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,UAAU,CAAC,IAAgB;IACzC,OAAO,IAAI,WAAW,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA;AAC9C,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,YAAY,CAAC,MAAkB,EAAE,OAAmB;IAClE,MAAM,OAAO,GAAa,EAAE,CAAA;IAC5B,IAAI,CAAC,GAAG,CAAC,CAAA;IACT,OAAO,CAAC,IAAI,MAAM,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;QAC3C,IAAI,KAAK,GAAG,IAAI,CAAA;QAChB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YACxC,IAAI,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC;gBACjC,KAAK,GAAG,KAAK,CAAA;gBACb,MAAK;YACP,CAAC;QACH,CAAC;QACD,IAAI,KAAK,EAAE,CAAC;YACV,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;YACf,CAAC,IAAI,OAAO,CAAC,MAAM,CAAA;QACrB,CAAC;aAAM,CAAC;YACN,CAAC,EAAE,CAAA;QACL,CAAC;IACH,CAAC;IACD,OAAO,OAAO,CAAA;AAChB,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,gBAAgB,CAAC,MAAkB,EAAE,KAAa,EAAE,GAAW,EAAE,OAAmB;IAClG,IAAI,CAAC,GAAG,KAAK,CAAA;IACb,OAAO,CAAC,IAAI,GAAG,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;QACjC,IAAI,KAAK,GAAG,IAAI,CAAA;QAChB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YACxC,IAAI,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC;gBACjC,KAAK,GAAG,KAAK,CAAA;gBACb,MAAK;YACP,CAAC;QACH,CAAC;QACD,IAAI,KAAK;YAAE,OAAO,CAAC,CAAA;QACnB,CAAC,EAAE,CAAA;IACL,CAAC;IACD,OAAO,CAAC,CAAC,CAAA;AACX,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,kBAAkB,CAAC,MAAkB,EAAE,KAAa,EAAE,QAAoB;IACxF,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,QAAQ,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACzC,IAAI,MAAM,CAAC,KAAK,GAAG,CAAC,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC;YAAE,OAAO,CAAC,CAAC,CAAA;IAClD,CAAC;IACD,OAAO,KAAK,GAAG,QAAQ,CAAC,MAAM,CAAA;AAChC,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,kBAAkB,CAAC,MAAW;IAClD,IAAI,CAAC,MAAM;QAAE,OAAO,IAAI,UAAU,CAAC,CAAC,CAAC,CAAA;IAErC,0BAA0B;IAC1B,IAAI,OAAO,MAAM,CAAC,SAAS,KAAK,UAAU,EAAE,CAAC;QAC3C,MAAM,MAAM,GAAG,MAAM,CAAC,SAAS,EAAE,CAAA;QACjC,MAAM,MAAM,GAAiB,EAAE,CAAA;QAC/B,IAAI,CAAC;YACH,OAAO,IAAI,EAAE,CAAC;gBACZ,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,MAAM,MAAM,CAAC,IAAI,EAAE,CAAA;gBAC3C,IAAI,IAAI;oBAAE,MAAK;gBACf,IAAI,KAAK,EAAE,UAAU,EAAE,CAAC;oBACtB,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;gBACpB,CAAC;YACH,CAAC;QACH,CAAC;gBAAS,CAAC;YACT,MAAM,MAAM,CAAC,MAAM,EAAE,CAAA;QACvB,CAAC;QACD,OAAO,iBAAiB,CAAC,MAAM,CAAC,CAAA;IAClC,CAAC;IAED,gBAAgB;IAChB,IAAI,MAAM,EAAE,CAAC,MAAM,CAAC,aAAa,CAAC,EAAE,CAAC;QACnC,MAAM,MAAM,GAAiB,EAAE,CAAA;QAC/B,IAAI,KAAK,EAAE,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;YACjC,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,CAAA;QAClC,CAAC;QACD,OAAO,iBAAiB,CAAC,MAAM,CAAC,CAAA;IAClC,CAAC;IAED,oBAAoB;IACpB,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,MAAM,YAAY,WAAW,IAAI,WAAW,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC;QAC9F,OAAO,YAAY,CAAC,MAAM,CAAC,CAAA;IAC7B,CAAC;IAED,OAAO;IACP,IAAI,OAAO,IAAI,KAAK,WAAW,IAAI,MAAM,YAAY,IAAI,EAAE,CAAC;QAC1D,MAAM,WAAW,GAAG,MAAM,MAAM,CAAC,WAAW,EAAE,CAAA;QAC9C,OAAO,IAAI,UAAU,CAAC,WAAW,CAAC,CAAA;IACpC,CAAC;IAED,WAAW;IACX,IAAI,OAAO,QAAQ,KAAK,WAAW,IAAI,MAAM,YAAY,QAAQ,EAAE,CAAC;QAClE,MAAM,WAAW,GAAG,MAAM,MAAM,CAAC,WAAW,EAAE,CAAA;QAC9C,OAAO,IAAI,UAAU,CAAC,WAAW,CAAC,CAAA;IACpC,CAAC;IAED,MAAM,IAAI,YAAY,CAAC,8CAA8C,CAAC,CAAA;AACxE,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,MAAM,CAAC,KAAU;IAC/B,MAAM,eAAe,GAAI,UAAkB,CAAC,IAAI,CAAA;IAChD,OAAO,OAAO,eAAe,KAAK,WAAW,IAAI,KAAK,YAAY,eAAe,CAAA;AACnF,CAAC"}
|
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
import { DownloadMetadata } from '../FileSystem.js';
|
|
2
|
-
/**
|
|
3
|
-
* Safely aborts a stream
|
|
4
|
-
*/
|
|
5
|
-
export declare function abortStream(stream: any): void;
|
|
6
|
-
/**
|
|
7
|
-
* Normalizes response data to extract the actual stream
|
|
8
|
-
*/
|
|
9
|
-
export declare function normalizeResponseStream(responseData: any): any;
|
|
10
|
-
/**
|
|
11
|
-
* Processes multipart response using busboy (Node.js path)
|
|
12
|
-
*/
|
|
13
|
-
export declare function processDownloadFilesResponseWithBusboy(stream: any, headers: Record<string, string>, metadataMap: Map<string, DownloadMetadata>): Promise<void>;
|
|
14
|
-
export declare function processDownloadFilesResponseWithBuffered(stream: any, headers: Record<string, string>, metadataMap: Map<string, DownloadMetadata>): Promise<void>;
|
|
15
|
-
//# sourceMappingURL=FileTransfer.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"FileTransfer.d.ts","sourceRoot":"","sources":["../../../../../../libs/sdk-typescript/src/utils/FileTransfer.ts"],"names":[],"mappings":"AAYA,OAAO,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAA;AAEhD;;GAEG;AACH,wBAAgB,WAAW,CAAC,MAAM,EAAE,GAAG,GAAG,IAAI,CAM7C;AAED;;GAEG;AACH,wBAAgB,uBAAuB,CAAC,YAAY,EAAE,GAAG,GAAG,GAAG,CAgB9D;AAED;;GAEG;AACH,wBAAsB,sCAAsC,CAC1D,MAAM,EAAE,GAAG,EACX,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EAC/B,WAAW,EAAE,GAAG,CAAC,MAAM,EAAE,gBAAgB,CAAC,GACzC,OAAO,CAAC,IAAI,CAAC,CAuFf;AA8CD,wBAAsB,wCAAwC,CAC5D,MAAM,EAAE,GAAG,EACX,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EAC/B,WAAW,EAAE,GAAG,CAAC,MAAM,EAAE,gBAAgB,CAAC,GACzC,OAAO,CAAC,IAAI,CAAC,CA8Cf"}
|
|
@@ -1,209 +0,0 @@
|
|
|
1
|
-
/*
|
|
2
|
-
* Copyright 2025 Daytona Platforms Inc.
|
|
3
|
-
* SPDX-License-Identifier: Apache-2.0
|
|
4
|
-
*/
|
|
5
|
-
import { Buffer } from 'buffer';
|
|
6
|
-
import busboy from 'busboy';
|
|
7
|
-
import { DaytonaError } from '../errors/DaytonaError.js';
|
|
8
|
-
import { dynamicImport } from './Import.js';
|
|
9
|
-
import { collectStreamBytes, toBuffer, toUint8Array } from './Binary.js';
|
|
10
|
-
import { extractBoundary, getHeader, parseMultipartWithFormData } from './Multipart.js';
|
|
11
|
-
import { parseMultipart } from './Multipart.js';
|
|
12
|
-
/**
|
|
13
|
-
* Safely aborts a stream
|
|
14
|
-
*/
|
|
15
|
-
export function abortStream(stream) {
|
|
16
|
-
if (stream && typeof stream.destroy === 'function') {
|
|
17
|
-
stream.destroy();
|
|
18
|
-
}
|
|
19
|
-
else if (stream && typeof stream.cancel === 'function') {
|
|
20
|
-
stream.cancel();
|
|
21
|
-
}
|
|
22
|
-
}
|
|
23
|
-
/**
|
|
24
|
-
* Normalizes response data to extract the actual stream
|
|
25
|
-
*/
|
|
26
|
-
export function normalizeResponseStream(responseData) {
|
|
27
|
-
if (!responseData || typeof responseData !== 'object') {
|
|
28
|
-
return responseData;
|
|
29
|
-
}
|
|
30
|
-
// WHATWG ReadableStream
|
|
31
|
-
if (responseData.body && typeof responseData.body.getReader === 'function') {
|
|
32
|
-
return responseData.body;
|
|
33
|
-
}
|
|
34
|
-
// Some adapters use .stream
|
|
35
|
-
if (responseData.stream) {
|
|
36
|
-
return responseData.stream;
|
|
37
|
-
}
|
|
38
|
-
return responseData;
|
|
39
|
-
}
|
|
40
|
-
/**
|
|
41
|
-
* Processes multipart response using busboy (Node.js path)
|
|
42
|
-
*/
|
|
43
|
-
export async function processDownloadFilesResponseWithBusboy(stream, headers, metadataMap) {
|
|
44
|
-
const fileTasks = [];
|
|
45
|
-
await new Promise((resolve, reject) => {
|
|
46
|
-
const bb = busboy({
|
|
47
|
-
headers,
|
|
48
|
-
preservePath: true,
|
|
49
|
-
});
|
|
50
|
-
bb.on('file', (fieldName, fileStream, fileInfo) => {
|
|
51
|
-
const source = fileInfo?.filename;
|
|
52
|
-
if (!source) {
|
|
53
|
-
abortStream(stream);
|
|
54
|
-
reject(new DaytonaError(`Received unexpected file "${fileInfo?.filename}".`));
|
|
55
|
-
return;
|
|
56
|
-
}
|
|
57
|
-
const metadata = metadataMap.get(source);
|
|
58
|
-
if (!metadata) {
|
|
59
|
-
abortStream(stream);
|
|
60
|
-
reject(new DaytonaError(`Target metadata missing for valid source: ${source}`));
|
|
61
|
-
return;
|
|
62
|
-
}
|
|
63
|
-
if (fieldName === 'error') {
|
|
64
|
-
// Collect error message
|
|
65
|
-
const chunks = [];
|
|
66
|
-
fileStream.on('data', (chunk) => chunks.push(chunk));
|
|
67
|
-
fileStream.on('end', () => {
|
|
68
|
-
metadata.error = Buffer.concat(chunks).toString('utf-8').trim();
|
|
69
|
-
});
|
|
70
|
-
fileStream.on('error', (err) => {
|
|
71
|
-
metadata.error = `Stream error: ${err.message}`;
|
|
72
|
-
});
|
|
73
|
-
}
|
|
74
|
-
else if (fieldName === 'file') {
|
|
75
|
-
if (metadata.destination) {
|
|
76
|
-
// Stream to file
|
|
77
|
-
fileTasks.push(new Promise((resolveTask) => {
|
|
78
|
-
dynamicImport('fs', 'Downloading files to local files is not supported: ').then((fs) => {
|
|
79
|
-
const writeStream = fs.createWriteStream(metadata.destination, { autoClose: true });
|
|
80
|
-
fileStream.pipe(writeStream);
|
|
81
|
-
writeStream.on('finish', () => {
|
|
82
|
-
metadata.result = metadata.destination;
|
|
83
|
-
resolveTask();
|
|
84
|
-
});
|
|
85
|
-
writeStream.on('error', (err) => {
|
|
86
|
-
metadata.error = `Write stream failed: ${err.message}`;
|
|
87
|
-
resolveTask();
|
|
88
|
-
});
|
|
89
|
-
fileStream.on('error', (err) => {
|
|
90
|
-
metadata.error = `Read stream failed: ${err.message}`;
|
|
91
|
-
});
|
|
92
|
-
});
|
|
93
|
-
}));
|
|
94
|
-
}
|
|
95
|
-
else {
|
|
96
|
-
// Collect to buffer
|
|
97
|
-
const chunks = [];
|
|
98
|
-
fileStream.on('data', (chunk) => {
|
|
99
|
-
chunks.push(Buffer.isBuffer(chunk) ? chunk : Buffer.from(chunk));
|
|
100
|
-
});
|
|
101
|
-
fileStream.on('end', () => {
|
|
102
|
-
metadata.result = Buffer.concat(chunks);
|
|
103
|
-
});
|
|
104
|
-
fileStream.on('error', (err) => {
|
|
105
|
-
metadata.error = `Read failed: ${err.message}`;
|
|
106
|
-
});
|
|
107
|
-
}
|
|
108
|
-
}
|
|
109
|
-
else {
|
|
110
|
-
// Unknown field, drain it
|
|
111
|
-
fileStream.resume();
|
|
112
|
-
}
|
|
113
|
-
});
|
|
114
|
-
bb.on('error', (err) => {
|
|
115
|
-
abortStream(stream);
|
|
116
|
-
reject(err);
|
|
117
|
-
});
|
|
118
|
-
bb.on('finish', resolve);
|
|
119
|
-
// Feed stream into busboy
|
|
120
|
-
feedStreamToBusboy(stream, bb).catch((err) => bb.destroy(err));
|
|
121
|
-
});
|
|
122
|
-
await Promise.all(fileTasks);
|
|
123
|
-
}
|
|
124
|
-
/**
|
|
125
|
-
* Feeds various stream types into busboy
|
|
126
|
-
*/
|
|
127
|
-
async function feedStreamToBusboy(stream, bb) {
|
|
128
|
-
// Node.js stream (piping)
|
|
129
|
-
if (typeof stream?.pipe === 'function') {
|
|
130
|
-
stream.pipe(bb);
|
|
131
|
-
return;
|
|
132
|
-
}
|
|
133
|
-
// Direct buffer-like data
|
|
134
|
-
if (typeof stream === 'string' || stream instanceof ArrayBuffer || ArrayBuffer.isView(stream)) {
|
|
135
|
-
const data = toUint8Array(stream);
|
|
136
|
-
bb.write(Buffer.from(data));
|
|
137
|
-
bb.end();
|
|
138
|
-
return;
|
|
139
|
-
}
|
|
140
|
-
// WHATWG ReadableStream
|
|
141
|
-
if (typeof stream?.getReader === 'function') {
|
|
142
|
-
const reader = stream.getReader();
|
|
143
|
-
while (true) {
|
|
144
|
-
const { done, value } = await reader.read();
|
|
145
|
-
if (done)
|
|
146
|
-
break;
|
|
147
|
-
bb.write(Buffer.from(value));
|
|
148
|
-
}
|
|
149
|
-
bb.end();
|
|
150
|
-
return;
|
|
151
|
-
}
|
|
152
|
-
// AsyncIterable
|
|
153
|
-
if (stream?.[Symbol.asyncIterator]) {
|
|
154
|
-
for await (const chunk of stream) {
|
|
155
|
-
const buffer = Buffer.isBuffer(chunk) ? chunk : Buffer.from(toUint8Array(chunk));
|
|
156
|
-
bb.write(buffer);
|
|
157
|
-
}
|
|
158
|
-
bb.end();
|
|
159
|
-
return;
|
|
160
|
-
}
|
|
161
|
-
// Unsupported stream type
|
|
162
|
-
throw new DaytonaError(`Unsupported stream type: ${stream?.constructor?.name || typeof stream}`);
|
|
163
|
-
}
|
|
164
|
-
export async function processDownloadFilesResponseWithBuffered(stream, headers, metadataMap) {
|
|
165
|
-
const contentType = getHeader(headers, 'content-type') || '';
|
|
166
|
-
const bodyBytes = await collectStreamBytes(stream);
|
|
167
|
-
// Try native FormData parsing for multipart/form-data
|
|
168
|
-
if (/^multipart\/form-data/i.test(contentType) && typeof Response !== 'undefined') {
|
|
169
|
-
try {
|
|
170
|
-
const formDataMap = await parseMultipartWithFormData(bodyBytes, contentType);
|
|
171
|
-
formDataMap.forEach((value, fieldName) => {
|
|
172
|
-
const metadata = metadataMap.get(value.filename);
|
|
173
|
-
if (!metadata)
|
|
174
|
-
return;
|
|
175
|
-
if (fieldName.includes('error')) {
|
|
176
|
-
metadata.error = new TextDecoder('utf-8').decode(value.data).trim();
|
|
177
|
-
}
|
|
178
|
-
else {
|
|
179
|
-
metadata.result = toBuffer(value.data);
|
|
180
|
-
}
|
|
181
|
-
});
|
|
182
|
-
return;
|
|
183
|
-
}
|
|
184
|
-
catch {
|
|
185
|
-
// Fall through to manual parsing
|
|
186
|
-
}
|
|
187
|
-
}
|
|
188
|
-
// Manual multipart parsing (handles multipart/mixed, etc.)
|
|
189
|
-
const boundary = extractBoundary(contentType);
|
|
190
|
-
if (!boundary) {
|
|
191
|
-
throw new DaytonaError(`Missing multipart boundary in Content-Type: "${contentType}"`);
|
|
192
|
-
}
|
|
193
|
-
const parts = parseMultipart(bodyBytes, boundary);
|
|
194
|
-
for (const part of parts) {
|
|
195
|
-
if (!part.filename)
|
|
196
|
-
continue;
|
|
197
|
-
const metadata = metadataMap.get(part.filename);
|
|
198
|
-
if (!metadata)
|
|
199
|
-
continue;
|
|
200
|
-
if (part.name === 'error') {
|
|
201
|
-
metadata.error = new TextDecoder('utf-8').decode(part.data).trim();
|
|
202
|
-
}
|
|
203
|
-
else if (part.name === 'file') {
|
|
204
|
-
metadata.result = toBuffer(part.data);
|
|
205
|
-
}
|
|
206
|
-
}
|
|
207
|
-
return;
|
|
208
|
-
}
|
|
209
|
-
//# sourceMappingURL=FileTransfer.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"FileTransfer.js","sourceRoot":"","sources":["../../../../../../libs/sdk-typescript/src/utils/FileTransfer.ts"],"names":[],"mappings":"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"}
|