@daytonaio/sdk 0.128.0-alpha.1 → 0.128.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 +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 +0 -1
- package/{cjs → src}/Daytona.js +0 -1
- package/src/Daytona.js.map +1 -0
- 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/Daytona.js.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/utils/Stream.js
DELETED
|
@@ -1,360 +0,0 @@
|
|
|
1
|
-
import { STDOUT_PREFIX_BYTES, STDERR_PREFIX_BYTES, MAX_PREFIX_LEN } from '../Process.js';
|
|
2
|
-
function isStreamTerminationError(err) {
|
|
3
|
-
if (!err || typeof err !== 'object')
|
|
4
|
-
return false;
|
|
5
|
-
const e = err;
|
|
6
|
-
// Typical Undici / fetch termination cases
|
|
7
|
-
if (e.name === 'AbortError')
|
|
8
|
-
return true;
|
|
9
|
-
if (typeof e.message === 'string' && /terminated/i.test(e.message))
|
|
10
|
-
return true;
|
|
11
|
-
if (e.code === 'UND_ERR_SOCKET')
|
|
12
|
-
return true;
|
|
13
|
-
// Look into nested causes, Undici often nests errors
|
|
14
|
-
if (e.cause)
|
|
15
|
-
return isStreamTerminationError(e.cause);
|
|
16
|
-
return false;
|
|
17
|
-
}
|
|
18
|
-
/**
|
|
19
|
-
* Process a streaming response from fetch(), where getStream() returns a Fetch Response.
|
|
20
|
-
*
|
|
21
|
-
* @param getStream – zero-arg function that does `await fetch(...)` and returns the Response
|
|
22
|
-
* @param onChunk – called with each decoded UTF-8 chunk
|
|
23
|
-
* @param shouldTerminate – pollable; if true for two consecutive timeouts (or once if requireConsecutiveTermination=false), the loop breaks
|
|
24
|
-
* @param chunkTimeout – milliseconds to wait for a new chunk before calling shouldTerminate()
|
|
25
|
-
* @param requireConsecutiveTermination – whether you need two time-outs in a row to break
|
|
26
|
-
*/
|
|
27
|
-
export async function processStreamingResponse(getStream, onChunk, shouldTerminate, chunkTimeout = 2000, requireConsecutiveTermination = true) {
|
|
28
|
-
const res = await getStream();
|
|
29
|
-
if (!res.body)
|
|
30
|
-
throw new Error('No streaming support');
|
|
31
|
-
const reader = res.body.getReader();
|
|
32
|
-
const decoder = new TextDecoder('utf-8');
|
|
33
|
-
const TIMEOUT = Symbol();
|
|
34
|
-
let exitCheckStreak = 0;
|
|
35
|
-
// Only one pending read promise at a time:
|
|
36
|
-
let readPromise = null;
|
|
37
|
-
try {
|
|
38
|
-
while (true) {
|
|
39
|
-
// Start a read if none in flight
|
|
40
|
-
if (!readPromise) {
|
|
41
|
-
readPromise = reader.read().then((r) => (r.done ? null : (r.value ?? new Uint8Array(0))));
|
|
42
|
-
}
|
|
43
|
-
// Race that single read against your timeout
|
|
44
|
-
const timeoutPromise = new Promise((r) => setTimeout(() => r(TIMEOUT), chunkTimeout));
|
|
45
|
-
const result = await Promise.race([readPromise, timeoutPromise]);
|
|
46
|
-
if (result === TIMEOUT) {
|
|
47
|
-
// no data yet, but the readPromise is still pending
|
|
48
|
-
const stop = await shouldTerminate();
|
|
49
|
-
if (stop) {
|
|
50
|
-
exitCheckStreak++;
|
|
51
|
-
if (!requireConsecutiveTermination || exitCheckStreak > 1) {
|
|
52
|
-
try {
|
|
53
|
-
await reader.cancel();
|
|
54
|
-
}
|
|
55
|
-
catch {
|
|
56
|
-
/* ignore */
|
|
57
|
-
}
|
|
58
|
-
readPromise = null;
|
|
59
|
-
break;
|
|
60
|
-
}
|
|
61
|
-
}
|
|
62
|
-
else {
|
|
63
|
-
exitCheckStreak = 0;
|
|
64
|
-
}
|
|
65
|
-
// loop again—but do NOT overwrite readPromise!
|
|
66
|
-
}
|
|
67
|
-
else {
|
|
68
|
-
// readPromise has resolved
|
|
69
|
-
readPromise = null;
|
|
70
|
-
if (result === null) {
|
|
71
|
-
// stream closed
|
|
72
|
-
break;
|
|
73
|
-
}
|
|
74
|
-
// valid chunk - use {stream: true} to buffer incomplete UTF-8 sequences
|
|
75
|
-
onChunk(decoder.decode(result, { stream: true }));
|
|
76
|
-
exitCheckStreak = 0;
|
|
77
|
-
}
|
|
78
|
-
}
|
|
79
|
-
}
|
|
80
|
-
catch (err) {
|
|
81
|
-
if (!isStreamTerminationError(err)) {
|
|
82
|
-
throw err;
|
|
83
|
-
}
|
|
84
|
-
}
|
|
85
|
-
finally {
|
|
86
|
-
// Flush any remaining buffered bytes from the decoder
|
|
87
|
-
const remaining = decoder.decode();
|
|
88
|
-
if (remaining) {
|
|
89
|
-
onChunk(remaining);
|
|
90
|
-
}
|
|
91
|
-
try {
|
|
92
|
-
await reader.cancel();
|
|
93
|
-
}
|
|
94
|
-
catch {
|
|
95
|
-
/* ignore */
|
|
96
|
-
}
|
|
97
|
-
}
|
|
98
|
-
}
|
|
99
|
-
/**
|
|
100
|
-
* Demultiplexes a WebSocket stream into separate stdout and stderr streams.
|
|
101
|
-
*
|
|
102
|
-
* @param socket - The WebSocket instance to demultiplex.
|
|
103
|
-
* @param onStdout - Callback function for stdout messages.
|
|
104
|
-
* @param onStderr - Callback function for stderr messages.
|
|
105
|
-
*/
|
|
106
|
-
export function stdDemuxStream(ws, onStdout, onStderr) {
|
|
107
|
-
return new Promise((resolve, reject) => {
|
|
108
|
-
// If running in a browser or any WebSocket supporting binaryType, use ArrayBuffer for binary data
|
|
109
|
-
if ('binaryType' in ws) {
|
|
110
|
-
ws.binaryType = 'arraybuffer'; // ensure binary frames yield ArrayBuffer, not Blob
|
|
111
|
-
}
|
|
112
|
-
// Separate decoders for stdout and stderr to maintain independent UTF-8 decoding state
|
|
113
|
-
const stdoutDecoder = new TextDecoder('utf-8');
|
|
114
|
-
const stderrDecoder = new TextDecoder('utf-8');
|
|
115
|
-
const buf = []; // Buffer to accumulate incoming chunks
|
|
116
|
-
let currentDataType = null; // Track current stream type
|
|
117
|
-
// Helper function to emit payload data
|
|
118
|
-
const emit = (payload) => {
|
|
119
|
-
if (payload.length === 0)
|
|
120
|
-
return;
|
|
121
|
-
// Use {stream: true} to buffer incomplete UTF-8 sequences for the next chunk
|
|
122
|
-
if (currentDataType === 'stdout') {
|
|
123
|
-
const text = stdoutDecoder.decode(payload, { stream: true });
|
|
124
|
-
onStdout(text);
|
|
125
|
-
}
|
|
126
|
-
else if (currentDataType === 'stderr') {
|
|
127
|
-
const text = stderrDecoder.decode(payload, { stream: true });
|
|
128
|
-
onStderr(text);
|
|
129
|
-
}
|
|
130
|
-
// If currentDataType is null, drop unlabeled bytes (shouldn't happen with proper labeling)
|
|
131
|
-
};
|
|
132
|
-
// Helper function to find a subarray within a larger array
|
|
133
|
-
const findSubarray = (haystack, needle) => {
|
|
134
|
-
if (needle.length === 0)
|
|
135
|
-
return 0;
|
|
136
|
-
if (haystack.length < needle.length)
|
|
137
|
-
return -1;
|
|
138
|
-
for (let i = 0; i <= haystack.length - needle.length; i++) {
|
|
139
|
-
let found = true;
|
|
140
|
-
for (let j = 0; j < needle.length; j++) {
|
|
141
|
-
if (haystack[i + j] !== needle[j]) {
|
|
142
|
-
found = false;
|
|
143
|
-
break;
|
|
144
|
-
}
|
|
145
|
-
}
|
|
146
|
-
if (found)
|
|
147
|
-
return i;
|
|
148
|
-
}
|
|
149
|
-
return -1;
|
|
150
|
-
};
|
|
151
|
-
// Event handler for incoming messages (Node: Buffer/ArrayBuffer/String; Browser: event.data etc.)
|
|
152
|
-
const handleMessage = (event) => {
|
|
153
|
-
// Normalize event/data between Node (ws) and browser WebSocket
|
|
154
|
-
const data = event && event instanceof Object && 'data' in event ? event.data : event;
|
|
155
|
-
try {
|
|
156
|
-
// Prepare a Uint8Array for the message data
|
|
157
|
-
let bytes;
|
|
158
|
-
if (typeof data === 'string') {
|
|
159
|
-
// Convert string to bytes for consistent byte-based demuxing
|
|
160
|
-
bytes = new TextEncoder().encode(data);
|
|
161
|
-
}
|
|
162
|
-
else if (data instanceof ArrayBuffer) {
|
|
163
|
-
bytes = new Uint8Array(data);
|
|
164
|
-
}
|
|
165
|
-
else if (ArrayBuffer.isView(data)) {
|
|
166
|
-
// Covers Node.js Buffer (Uint8Array subclass) and other TypedArrays
|
|
167
|
-
bytes = new Uint8Array(data.buffer, data.byteOffset, data.byteLength);
|
|
168
|
-
}
|
|
169
|
-
else if (data instanceof Blob) {
|
|
170
|
-
// Browser binary frames might be Blob if binaryType wasn't set in time. Convert to ArrayBuffer asynchronously.
|
|
171
|
-
data.arrayBuffer().then((buf) => {
|
|
172
|
-
try {
|
|
173
|
-
processChunk(new Uint8Array(buf));
|
|
174
|
-
}
|
|
175
|
-
catch (err) {
|
|
176
|
-
handleError(err);
|
|
177
|
-
}
|
|
178
|
-
}, (err) => {
|
|
179
|
-
handleError(err);
|
|
180
|
-
});
|
|
181
|
-
return; // will continue asynchronously once blob is read
|
|
182
|
-
}
|
|
183
|
-
else {
|
|
184
|
-
throw new Error(`Unsupported message data type: ${Object.prototype.toString.call(data)}`);
|
|
185
|
-
}
|
|
186
|
-
// Process the chunk
|
|
187
|
-
processChunk(bytes);
|
|
188
|
-
}
|
|
189
|
-
catch (err) {
|
|
190
|
-
// On any synchronous error in processing, clean up and reject.
|
|
191
|
-
cleanup();
|
|
192
|
-
try {
|
|
193
|
-
ws.close();
|
|
194
|
-
}
|
|
195
|
-
catch {
|
|
196
|
-
/* ignore if already closed */
|
|
197
|
-
}
|
|
198
|
-
reject(err);
|
|
199
|
-
}
|
|
200
|
-
};
|
|
201
|
-
// Process a chunk of data with buffering and safe region handling
|
|
202
|
-
const processChunk = (chunk) => {
|
|
203
|
-
if (chunk.length === 0)
|
|
204
|
-
return;
|
|
205
|
-
// Add chunk to buffer
|
|
206
|
-
buf.push(...chunk);
|
|
207
|
-
// Process as much as we can, preserving only bytes that could be part of a prefix
|
|
208
|
-
while (true) {
|
|
209
|
-
const bufArray = new Uint8Array(buf);
|
|
210
|
-
// Calculate how many bytes we can safely process
|
|
211
|
-
// We need to keep bytes that could potentially be the start of a prefix marker
|
|
212
|
-
let safeLen = buf.length;
|
|
213
|
-
// Check if the last few bytes could be part of a prefix marker
|
|
214
|
-
if (buf.length >= MAX_PREFIX_LEN) {
|
|
215
|
-
// Check if the last byte could be part of a prefix (must be 0x01 or 0x02)
|
|
216
|
-
const lastByte = buf[buf.length - 1];
|
|
217
|
-
if (lastByte !== 0x01 && lastByte !== 0x02) {
|
|
218
|
-
// Last byte can't be part of any prefix, safe to process everything
|
|
219
|
-
safeLen = buf.length;
|
|
220
|
-
}
|
|
221
|
-
else if (buf.length >= MAX_PREFIX_LEN + 1) {
|
|
222
|
-
// Check second-to-last byte if buffer is long enough
|
|
223
|
-
const secondLastByte = buf[buf.length - 2];
|
|
224
|
-
if (secondLastByte !== 0x01 && secondLastByte !== 0x02) {
|
|
225
|
-
// Second-to-last byte can't be part of any prefix, safe to process all but last byte
|
|
226
|
-
safeLen = buf.length - 1;
|
|
227
|
-
}
|
|
228
|
-
else {
|
|
229
|
-
// Both last bytes could be part of prefix, keep MAX_PREFIX_LEN - 1 bytes
|
|
230
|
-
safeLen = buf.length - (MAX_PREFIX_LEN - 1);
|
|
231
|
-
}
|
|
232
|
-
}
|
|
233
|
-
else {
|
|
234
|
-
// Buffer is exactly MAX_PREFIX_LEN, keep MAX_PREFIX_LEN - 1 bytes
|
|
235
|
-
safeLen = buf.length - (MAX_PREFIX_LEN - 1);
|
|
236
|
-
}
|
|
237
|
-
}
|
|
238
|
-
else {
|
|
239
|
-
// Buffer shorter than MAX_PREFIX_LEN, keep MAX_PREFIX_LEN - 1 bytes
|
|
240
|
-
safeLen = buf.length - (MAX_PREFIX_LEN - 1);
|
|
241
|
-
}
|
|
242
|
-
if (safeLen <= 0) {
|
|
243
|
-
break;
|
|
244
|
-
}
|
|
245
|
-
// Find earliest next marker within the safe region
|
|
246
|
-
const safeRegion = bufArray.subarray(0, safeLen);
|
|
247
|
-
const stdoutIndex = findSubarray(safeRegion, STDOUT_PREFIX_BYTES);
|
|
248
|
-
const stderrIndex = findSubarray(safeRegion, STDERR_PREFIX_BYTES);
|
|
249
|
-
let nextIdx = -1;
|
|
250
|
-
let nextKind = null;
|
|
251
|
-
let nextLen = 0;
|
|
252
|
-
if (stdoutIndex !== -1 && (stderrIndex === -1 || stdoutIndex < stderrIndex)) {
|
|
253
|
-
nextIdx = stdoutIndex;
|
|
254
|
-
nextKind = 'stdout';
|
|
255
|
-
nextLen = STDOUT_PREFIX_BYTES.length;
|
|
256
|
-
}
|
|
257
|
-
else if (stderrIndex !== -1) {
|
|
258
|
-
nextIdx = stderrIndex;
|
|
259
|
-
nextKind = 'stderr';
|
|
260
|
-
nextLen = STDERR_PREFIX_BYTES.length;
|
|
261
|
-
}
|
|
262
|
-
if (nextIdx === -1) {
|
|
263
|
-
// No full marker in safe region: emit everything we safely can as payload
|
|
264
|
-
const toEmit = bufArray.subarray(0, safeLen);
|
|
265
|
-
emit(toEmit);
|
|
266
|
-
buf.splice(0, safeLen);
|
|
267
|
-
break; // wait for more data to resolve any partial marker at the end
|
|
268
|
-
}
|
|
269
|
-
// We found a marker. Emit preceding bytes (if any) under the current stream.
|
|
270
|
-
if (nextIdx > 0) {
|
|
271
|
-
const toEmit = bufArray.subarray(0, nextIdx);
|
|
272
|
-
emit(toEmit);
|
|
273
|
-
}
|
|
274
|
-
// Advance past the marker and switch current stream
|
|
275
|
-
buf.splice(0, nextIdx + nextLen);
|
|
276
|
-
currentDataType = nextKind;
|
|
277
|
-
}
|
|
278
|
-
};
|
|
279
|
-
// Event handler for errors
|
|
280
|
-
const handleError = (error) => {
|
|
281
|
-
// Convert Event or plain error to Error instance for consistency
|
|
282
|
-
const err = error && error instanceof Event ? new Error('WebSocket error') : error;
|
|
283
|
-
cleanup();
|
|
284
|
-
try {
|
|
285
|
-
ws.close();
|
|
286
|
-
}
|
|
287
|
-
catch {
|
|
288
|
-
/* ignore if already closed */
|
|
289
|
-
}
|
|
290
|
-
reject(err);
|
|
291
|
-
};
|
|
292
|
-
// Event handler for socket closure
|
|
293
|
-
const handleClose = () => {
|
|
294
|
-
// Flush any remaining buffered payload on clean close
|
|
295
|
-
if (buf.length > 0 && currentDataType) {
|
|
296
|
-
const remainingBytes = new Uint8Array(buf);
|
|
297
|
-
// Use {stream: false} or omit to flush any buffered incomplete UTF-8 sequences
|
|
298
|
-
if (currentDataType === 'stdout') {
|
|
299
|
-
const text = stdoutDecoder.decode(remainingBytes, { stream: false });
|
|
300
|
-
onStdout(text);
|
|
301
|
-
}
|
|
302
|
-
else if (currentDataType === 'stderr') {
|
|
303
|
-
const text = stderrDecoder.decode(remainingBytes, { stream: false });
|
|
304
|
-
onStderr(text);
|
|
305
|
-
}
|
|
306
|
-
}
|
|
307
|
-
else {
|
|
308
|
-
// Flush any remaining bytes in the decoders even if buf is empty
|
|
309
|
-
const stdoutFlushed = stdoutDecoder.decode();
|
|
310
|
-
const stderrFlushed = stderrDecoder.decode();
|
|
311
|
-
if (stdoutFlushed)
|
|
312
|
-
onStdout(stdoutFlushed);
|
|
313
|
-
if (stderrFlushed)
|
|
314
|
-
onStderr(stderrFlushed);
|
|
315
|
-
}
|
|
316
|
-
cleanup();
|
|
317
|
-
resolve();
|
|
318
|
-
};
|
|
319
|
-
// Cleanup function to remove all listeners to avoid memory leaks
|
|
320
|
-
const cleanup = () => {
|
|
321
|
-
if (ws.removeEventListener) {
|
|
322
|
-
// Browser (EventTarget) style cleanup
|
|
323
|
-
ws.removeEventListener('message', handleMessage);
|
|
324
|
-
ws.removeEventListener('error', handleError);
|
|
325
|
-
ws.removeEventListener('close', handleClose);
|
|
326
|
-
}
|
|
327
|
-
if (ws.off) {
|
|
328
|
-
// Node.js ws (EventEmitter) style cleanup (supported in Node 14+)
|
|
329
|
-
ws.off('message', handleMessage);
|
|
330
|
-
ws.off('error', handleError);
|
|
331
|
-
ws.off('close', handleClose);
|
|
332
|
-
}
|
|
333
|
-
else if (ws.removeListener) {
|
|
334
|
-
// Node.js ws fallback for older Node versions
|
|
335
|
-
;
|
|
336
|
-
ws.removeListener('message', handleMessage);
|
|
337
|
-
ws.removeListener('error', handleError);
|
|
338
|
-
ws.removeListener('close', handleClose);
|
|
339
|
-
}
|
|
340
|
-
};
|
|
341
|
-
// Attach event listeners in a way compatible with both Node (EventEmitter) and browser (EventTarget):
|
|
342
|
-
if (ws.addEventListener) {
|
|
343
|
-
// Browser or WebSocket implementation with EventTarget interface
|
|
344
|
-
ws.addEventListener('message', handleMessage);
|
|
345
|
-
ws.addEventListener('error', handleError);
|
|
346
|
-
ws.addEventListener('close', handleClose);
|
|
347
|
-
}
|
|
348
|
-
else if (ws.on) {
|
|
349
|
-
// Node.js ws library (EventEmitter) interface
|
|
350
|
-
ws.on('message', handleMessage); // ws@8+ yields Buffer for text frames, which we handle via TextDecoder
|
|
351
|
-
ws.on('error', handleError);
|
|
352
|
-
ws.on('close', handleClose);
|
|
353
|
-
}
|
|
354
|
-
else {
|
|
355
|
-
// Unknown WebSocket interface - should not happen with isomorphic-ws
|
|
356
|
-
throw new Error('Unsupported WebSocket implementation');
|
|
357
|
-
}
|
|
358
|
-
});
|
|
359
|
-
}
|
|
360
|
-
//# sourceMappingURL=Stream.js.map
|
package/esm/utils/Stream.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"Stream.js","sourceRoot":"","sources":["../../../../../../libs/sdk-typescript/src/utils/Stream.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"WebSocket.d.ts","sourceRoot":"","sources":["../../../../../../libs/sdk-typescript/src/utils/WebSocket.ts"],"names":[],"mappings":"AAKA,OAAO,SAAS,MAAM,eAAe,CAAA;AAGrC;;;;;;GAMG;AACH,wBAAsB,sBAAsB,CAC1C,GAAG,EAAE,MAAM,EACX,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAC5B,eAAe,EAAE,MAAM,OAAO,CAAC,MAAM,CAAC,GACrC,OAAO,CAAC,SAAS,CAAC,CAWpB"}
|
package/esm/utils/WebSocket.js
DELETED
|
@@ -1,22 +0,0 @@
|
|
|
1
|
-
/*
|
|
2
|
-
* Copyright 2025 Daytona Platforms Inc.
|
|
3
|
-
* SPDX-License-Identifier: Apache-2.0
|
|
4
|
-
*/
|
|
5
|
-
import WebSocket from 'isomorphic-ws';
|
|
6
|
-
import { RUNTIME, Runtime } from './Runtime.js';
|
|
7
|
-
/**
|
|
8
|
-
* Creates an authenticated WebSocket connection to the sandbox toolbox.
|
|
9
|
-
*
|
|
10
|
-
* @param url - The websocket URL (ws[s]://...)
|
|
11
|
-
* @param headers - Headers to forward when running in Node environments
|
|
12
|
-
* @param getPreviewToken - Lazy getter for preview tokens (required for browser/serverless runtimes)
|
|
13
|
-
*/
|
|
14
|
-
export async function createSandboxWebSocket(url, headers, getPreviewToken) {
|
|
15
|
-
if (RUNTIME === Runtime.BROWSER || RUNTIME === Runtime.DENO || RUNTIME === Runtime.SERVERLESS) {
|
|
16
|
-
const previewToken = await getPreviewToken();
|
|
17
|
-
const separator = url.includes('?') ? '&' : '?';
|
|
18
|
-
return new WebSocket(`${url}${separator}DAYTONA_SANDBOX_AUTH_KEY=${previewToken}`, `X-Daytona-SDK-Version~${String(headers['X-Daytona-SDK-Version'] ?? '')}`);
|
|
19
|
-
}
|
|
20
|
-
return new WebSocket(url, { headers });
|
|
21
|
-
}
|
|
22
|
-
//# sourceMappingURL=WebSocket.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"WebSocket.js","sourceRoot":"","sources":["../../../../../../libs/sdk-typescript/src/utils/WebSocket.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,SAAS,MAAM,eAAe,CAAA;AACrC,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AAE5C;;;;;;GAMG;AACH,MAAM,CAAC,KAAK,UAAU,sBAAsB,CAC1C,GAAW,EACX,OAA4B,EAC5B,eAAsC;IAEtC,IAAI,OAAO,KAAK,OAAO,CAAC,OAAO,IAAI,OAAO,KAAK,OAAO,CAAC,IAAI,IAAI,OAAO,KAAK,OAAO,CAAC,UAAU,EAAE,CAAC;QAC9F,MAAM,YAAY,GAAG,MAAM,eAAe,EAAE,CAAA;QAC5C,MAAM,SAAS,GAAG,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAA;QAC/C,OAAO,IAAI,SAAS,CAClB,GAAG,GAAG,GAAG,SAAS,4BAA4B,YAAY,EAAE,EAC5D,yBAAyB,MAAM,CAAC,OAAO,CAAC,uBAAuB,CAAC,IAAI,EAAE,CAAC,EAAE,CAC1E,CAAA;IACH,CAAC;IAED,OAAO,IAAI,SAAS,CAAC,GAAG,EAAE,EAAE,OAAO,EAAE,CAAC,CAAA;AACxC,CAAC"}
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
/package/{cjs → src}/Git.js
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
/package/{cjs → src}/Process.js
RENAMED
|
File without changes
|
|
File without changes
|
/package/{cjs → src}/Volume.js
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
/package/{cjs → src}/index.js
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|