@daytonaio/sdk 0.26.0-alpha.0 → 0.26.0-alpha.10
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 +2 -2
- package/src/Git.d.ts +5 -2
- package/src/Git.js +6 -2
- package/src/Git.js.map +1 -1
- package/src/Process.d.ts +5 -3
- package/src/Process.js +3 -3
- package/src/Process.js.map +1 -1
- package/src/utils/Runtime.js.map +1 -1
- package/src/utils/Stream.d.ts +8 -1
- package/src/utils/Stream.js +134 -72
- package/src/utils/Stream.js.map +1 -1
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@daytonaio/sdk",
|
|
3
|
-
"version": "0.26.0-alpha.
|
|
3
|
+
"version": "0.26.0-alpha.10",
|
|
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.
|
|
37
|
+
"@daytonaio/api-client": "0.26.0-alpha.10"
|
|
38
38
|
},
|
|
39
39
|
"packageManager": "yarn@4.6.0",
|
|
40
40
|
"type": "commonjs"
|
package/src/Git.d.ts
CHANGED
|
@@ -132,6 +132,7 @@ export declare class Git {
|
|
|
132
132
|
* @param {string} message - Commit message describing the changes
|
|
133
133
|
* @param {string} author - Name of the commit author
|
|
134
134
|
* @param {string} email - Email address of the commit author
|
|
135
|
+
* @param {boolean} [allowEmpty] - Allow creating an empty commit when no changes are staged
|
|
135
136
|
* @returns {Promise<void>}
|
|
136
137
|
*
|
|
137
138
|
* @example
|
|
@@ -141,10 +142,12 @@ export declare class Git {
|
|
|
141
142
|
* 'workspace/repo',
|
|
142
143
|
* 'Update documentation',
|
|
143
144
|
* 'John Doe',
|
|
144
|
-
* 'john@example.com'
|
|
145
|
+
* 'john@example.com',
|
|
146
|
+
* true
|
|
145
147
|
* );
|
|
148
|
+
*
|
|
146
149
|
*/
|
|
147
|
-
commit(path: string, message: string, author: string, email: string): Promise<GitCommitResponse>;
|
|
150
|
+
commit(path: string, message: string, author: string, email: string, allowEmpty?: boolean): Promise<GitCommitResponse>;
|
|
148
151
|
/**
|
|
149
152
|
* Push local changes to the remote repository.
|
|
150
153
|
*
|
package/src/Git.js
CHANGED
|
@@ -169,6 +169,7 @@ class Git {
|
|
|
169
169
|
* @param {string} message - Commit message describing the changes
|
|
170
170
|
* @param {string} author - Name of the commit author
|
|
171
171
|
* @param {string} email - Email address of the commit author
|
|
172
|
+
* @param {boolean} [allowEmpty] - Allow creating an empty commit when no changes are staged
|
|
172
173
|
* @returns {Promise<void>}
|
|
173
174
|
*
|
|
174
175
|
* @example
|
|
@@ -178,15 +179,18 @@ class Git {
|
|
|
178
179
|
* 'workspace/repo',
|
|
179
180
|
* 'Update documentation',
|
|
180
181
|
* 'John Doe',
|
|
181
|
-
* 'john@example.com'
|
|
182
|
+
* 'john@example.com',
|
|
183
|
+
* true
|
|
182
184
|
* );
|
|
185
|
+
*
|
|
183
186
|
*/
|
|
184
|
-
async commit(path, message, author, email) {
|
|
187
|
+
async commit(path, message, author, email, allowEmpty) {
|
|
185
188
|
const response = await this.toolboxApi.gitCommitChanges(this.sandboxId, {
|
|
186
189
|
path: (0, Path_1.prefixRelativePath)(await this.getRootDir(), path),
|
|
187
190
|
message,
|
|
188
191
|
author,
|
|
189
192
|
email,
|
|
193
|
+
allow_empty: allowEmpty,
|
|
190
194
|
});
|
|
191
195
|
return {
|
|
192
196
|
sha: response.data.hash,
|
package/src/Git.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Git.js","sourceRoot":"","sources":["../../../../libs/sdk-typescript/src/Git.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;AAGH,uCAAiD;AAYjD;;;;GAIG;AACH,MAAa,GAAG;IAEK;IACA;IACA;IAHnB,YACmB,SAAiB,EACjB,UAAsB,EACtB,UAAiC;QAFjC,cAAS,GAAT,SAAS,CAAQ;QACjB,eAAU,GAAV,UAAU,CAAY;QACtB,eAAU,GAAV,UAAU,CAAuB;IACjD,CAAC;IAEJ;;;;;;;;;;;;;;;;OAgBG;IACI,KAAK,CAAC,GAAG,CAAC,IAAY,EAAE,KAAe;QAC5C,MAAM,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC,IAAI,CAAC,SAAS,EAAE;YAChD,IAAI,EAAE,IAAA,yBAAkB,EAAC,MAAM,IAAI,CAAC,UAAU,EAAE,EAAE,IAAI,CAAC;YACvD,KAAK;SACN,CAAC,CAAA;IACJ,CAAC;IAED;;;;;;;;;;OAUG;IACI,KAAK,CAAC,QAAQ,CAAC,IAAY;QAChC,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,eAAe,CACpD,IAAI,CAAC,SAAS,EACd,IAAA,yBAAkB,EAAC,MAAM,IAAI,CAAC,UAAU,EAAE,EAAE,IAAI,CAAC,CAClD,CAAA;QACD,OAAO,QAAQ,CAAC,IAAI,CAAA;IACtB,CAAC;IAED;;;;;;;;;;OAUG;IACI,KAAK,CAAC,YAAY,CAAC,IAAY,EAAE,IAAY;QAClD,MAAM,IAAI,CAAC,UAAU,CAAC,eAAe,CAAC,IAAI,CAAC,SAAS,EAAE;YACpD,IAAI,EAAE,IAAA,yBAAkB,EAAC,MAAM,IAAI,CAAC,UAAU,EAAE,EAAE,IAAI,CAAC;YACvD,IAAI;SACL,CAAC,CAAA;QACF,OAAM;IACR,CAAC;IAED;;;;;;;;;;OAUG;IACI,KAAK,CAAC,YAAY,CAAC,IAAY,EAAE,IAAY;QAClD,MAAM,IAAI,CAAC,UAAU,CAAC,eAAe,CAAC,IAAI,CAAC,SAAS,EAAE;YACpD,IAAI,EAAE,IAAA,yBAAkB,EAAC,MAAM,IAAI,CAAC,UAAU,EAAE,EAAE,IAAI,CAAC;YACvD,IAAI;SACL,CAAC,CAAA;QACF,OAAM;IACR,CAAC;IAED;;;;;;;;;;OAUG;IACI,KAAK,CAAC,cAAc,CAAC,IAAY,EAAE,MAAc;QACtD,MAAM,IAAI,CAAC,UAAU,CAAC,iBAAiB,CAAC,IAAI,CAAC,SAAS,EAAE;YACtD,IAAI,EAAE,IAAA,yBAAkB,EAAC,MAAM,IAAI,CAAC,UAAU,EAAE,EAAE,IAAI,CAAC;YACvD,MAAM;SACP,CAAC,CAAA;QACF,OAAM;IACR,CAAC;IAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAsCG;IACI,KAAK,CAAC,KAAK,CAChB,GAAW,EACX,IAAY,EACZ,MAAe,EACf,QAAiB,EACjB,QAAiB,EACjB,QAAiB;QAEjB,MAAM,IAAI,CAAC,UAAU,CAAC,kBAAkB,CAAC,IAAI,CAAC,SAAS,EAAE;YACvD,GAAG,EAAE,GAAG;YACR,MAAM,EAAE,MAAM;YACd,IAAI,EAAE,IAAA,yBAAkB,EAAC,MAAM,IAAI,CAAC,UAAU,EAAE,EAAE,IAAI,CAAC;YACvD,QAAQ;YACR,QAAQ;YACR,SAAS,EAAE,QAAQ;SACpB,CAAC,CAAA;IACJ,CAAC;IAED
|
|
1
|
+
{"version":3,"file":"Git.js","sourceRoot":"","sources":["../../../../libs/sdk-typescript/src/Git.ts"],"names":[],"mappings":"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"}
|
package/src/Process.d.ts
CHANGED
|
@@ -202,8 +202,8 @@ export declare class Process {
|
|
|
202
202
|
*
|
|
203
203
|
* @example
|
|
204
204
|
* const logs = await process.getSessionCommandLogs('my-session', 'cmd-123');
|
|
205
|
-
* console.log('
|
|
206
|
-
* console.log('
|
|
205
|
+
* console.log('[STDOUT]:', logs.stdout);
|
|
206
|
+
* console.log('[STDERR]:', logs.stderr);
|
|
207
207
|
*/
|
|
208
208
|
getSessionCommandLogs(sessionId: string, commandId: string): Promise<SessionCommandLogsResponse>;
|
|
209
209
|
/**
|
|
@@ -216,7 +216,9 @@ export declare class Process {
|
|
|
216
216
|
*
|
|
217
217
|
* @example
|
|
218
218
|
* const logs = await process.getSessionCommandLogs('my-session', 'cmd-123', (chunk) => {
|
|
219
|
-
* console.log('
|
|
219
|
+
* console.log('[STDOUT]:', chunk);
|
|
220
|
+
* }, (chunk) => {
|
|
221
|
+
* console.log('[STDERR]:', chunk);
|
|
220
222
|
* });
|
|
221
223
|
*/
|
|
222
224
|
getSessionCommandLogs(sessionId: string, commandId: string, onStdout: (chunk: string) => void, onStderr: (chunk: string) => void): Promise<void>;
|
package/src/Process.js
CHANGED
|
@@ -259,16 +259,16 @@ class Process {
|
|
|
259
259
|
return response.data;
|
|
260
260
|
}
|
|
261
261
|
const previewLink = await this.getPreviewLink(2280);
|
|
262
|
-
const url = `${previewLink.url.replace('http', 'ws')}/process/session/${sessionId}/command/${commandId}/logs?follow=true`;
|
|
262
|
+
const url = `${previewLink.url.replace('http', 'ws')}/process/session/${sessionId}/command/${commandId}/logs?follow=true`;
|
|
263
263
|
let ws;
|
|
264
264
|
if (Runtime_1.RUNTIME === Runtime_1.Runtime.BROWSER) {
|
|
265
|
-
ws = new isomorphic_ws_1.default(url + '&DAYTONA_SANDBOX_AUTH_KEY=' + previewLink.token);
|
|
265
|
+
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']}`);
|
|
266
266
|
}
|
|
267
267
|
else {
|
|
268
268
|
ws = new isomorphic_ws_1.default(url, {
|
|
269
269
|
headers: {
|
|
270
270
|
...this.clientConfig.baseOptions.headers,
|
|
271
|
-
'
|
|
271
|
+
'X-Daytona-Preview-Token': previewLink.token,
|
|
272
272
|
},
|
|
273
273
|
});
|
|
274
274
|
}
|
package/src/Process.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Process.js","sourceRoot":"","sources":["../../../../libs/sdk-typescript/src/Process.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;;AAcH,2DAAuD;AACvD,
|
|
1
|
+
{"version":3,"file":"Process.js","sourceRoot":"","sources":["../../../../libs/sdk-typescript/src/Process.ts"],"names":[],"mappings":"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"}
|
package/src/utils/Runtime.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Runtime.js","sourceRoot":"","sources":["../../../../../libs/sdk-typescript/src/utils/Runtime.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;
|
|
1
|
+
{"version":3,"file":"Runtime.js","sourceRoot":"","sources":["../../../../../libs/sdk-typescript/src/utils/Runtime.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;AAmDH,8BASC;AAED,kDAyBC;AA1DD,IAAY,OAOX;AAPD,WAAY,OAAO;IACjB,wBAAa,CAAA;IACb,wBAAa,CAAA;IACb,sBAAW,CAAA;IACX,8BAAmB,CAAA;IACnB,oCAAyB,CAAA;IACzB,8BAAmB,CAAA;AACrB,CAAC,EAPW,OAAO,uBAAP,OAAO,QAOlB;AAEY,QAAA,OAAO,GAClB,OAAO,IAAI,KAAK,WAAW;IACzB,CAAC,CAAC,OAAO,CAAC,IAAI;IACd,CAAC,CAAC,OAAO,GAAG,KAAK,WAAW,IAAI,CAAC,CAAC,GAAG,CAAC,OAAO;QAC3C,CAAC,CAAC,OAAO,CAAC,GAAG;QACb,CAAC,CAAC,mBAAmB,EAAE;YACrB,CAAC,CAAC,OAAO,CAAC,UAAU;YACpB,CAAC,CAAC,OAAO,MAAM,KAAK,WAAW;gBAC7B,CAAC,CAAC,OAAO,CAAC,OAAO;gBACjB,CAAC,CAAC,OAAO,OAAO,KAAK,WAAW,IAAI,CAAC,CAAC,OAAO,CAAC,QAAQ,EAAE,IAAI;oBAC1D,CAAC,CAAC,OAAO,CAAC,IAAI;oBACd,CAAC,CAAC,OAAO,CAAC,OAAO,CAAA;AAE7B,SAAgB,SAAS,CAAC,IAAY;IACpC,IAAI,eAAO,KAAK,OAAO,CAAC,IAAI,IAAI,eAAO,KAAK,OAAO,CAAC,GAAG,EAAE,CAAC;QACxD,OAAO,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAA;IAC1B,CAAC;IACD,IAAI,eAAO,KAAK,OAAO,CAAC,IAAI,EAAE,CAAC;QAC7B,OAAO,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,CAAA;IAC3B,CAAC;IAED,OAAO,SAAS,CAAA;AAClB,CAAC;AAED,SAAgB,mBAAmB;IACjC,wDAAwD;IACxD,MAAM,GAAG,GAAG,OAAO,OAAO,KAAK,WAAW,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAA;IAE7D,0BAA0B;IAC1B,MAAM,SAAS,GAAG,UAAiB,CAAA;IAEnC,OAAO,OAAO;IACZ,sCAAsC;IACtC,OAAO,SAAS,CAAC,aAAa,KAAK,UAAU;QAC3C,mBAAmB;QACnB,GAAG,CAAC,QAAQ,KAAK,GAAG;QACpB,+BAA+B;QAC/B,GAAG,CAAC,iBAAiB,EAAE,UAAU,CAAC,YAAY,CAAC;QAC/C,GAAG,CAAC,gBAAgB,KAAK,SAAS;QAClC,GAAG,CAAC,aAAa,KAAK,MAAM;QAC5B,kBAAkB;QAClB,GAAG,CAAC,wBAAwB,KAAK,SAAS;QAC1C,qCAAqC;QACrC,CAAC,GAAG,CAAC,eAAe,KAAK,SAAS,IAAI,GAAG,CAAC,uBAAuB,KAAK,SAAS,CAAC;QAChF,SAAS;QACT,GAAG,CAAC,MAAM,KAAK,GAAG;QAClB,oBAAoB;QACpB,GAAG,CAAC,SAAS,KAAK,SAAS,CAC9B,CAAA;AACH,CAAC"}
|
package/src/utils/Stream.d.ts
CHANGED
|
@@ -11,4 +11,11 @@ export declare const STDERR_PREFIX = 2;
|
|
|
11
11
|
* @param requireConsecutiveTermination – whether you need two time-outs in a row to break
|
|
12
12
|
*/
|
|
13
13
|
export declare function processStreamingResponse(getStream: () => Promise<Response>, onChunk: (chunk: string) => void, shouldTerminate: () => Promise<boolean>, chunkTimeout?: number, requireConsecutiveTermination?: boolean): Promise<void>;
|
|
14
|
-
|
|
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>;
|
package/src/utils/Stream.js
CHANGED
|
@@ -1,8 +1,4 @@
|
|
|
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 });
|
|
7
3
|
exports.STDERR_PREFIX = exports.STDOUT_PREFIX = void 0;
|
|
8
4
|
exports.processStreamingResponse = processStreamingResponse;
|
|
@@ -67,88 +63,154 @@ async function processStreamingResponse(getStream, onChunk, shouldTerminate, chu
|
|
|
67
63
|
await reader.cancel();
|
|
68
64
|
}
|
|
69
65
|
}
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
66
|
+
/**
|
|
67
|
+
* Demultiplexes a WebSocket stream into separate stdout and stderr streams.
|
|
68
|
+
*
|
|
69
|
+
* @param socket - The WebSocket instance to demultiplex.
|
|
70
|
+
* @param onStdout - Callback function for stdout messages.
|
|
71
|
+
* @param onStderr - Callback function for stderr messages.
|
|
72
|
+
*/
|
|
73
|
+
function stdDemuxStream(ws, onStdout, onStderr) {
|
|
77
74
|
return new Promise((resolve, reject) => {
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
75
|
+
// If running in a browser or any WebSocket supporting binaryType, use ArrayBuffer for binary data
|
|
76
|
+
if ('binaryType' in ws) {
|
|
77
|
+
ws.binaryType = 'arraybuffer'; // ensure binary frames yield ArrayBuffer, not Blob
|
|
78
|
+
}
|
|
79
|
+
const textDecoder = new TextDecoder(); // for decoding UTF-8 bytes to string
|
|
80
|
+
// Event handler for incoming messages (Node: Buffer/ArrayBuffer/String; Browser: event.data etc.)
|
|
81
|
+
const handleMessage = (event) => {
|
|
82
|
+
// Normalize event/data between Node (ws) and browser WebSocket
|
|
83
|
+
const data = event && event instanceof Object && 'data' in event ? event.data : event;
|
|
84
|
+
try {
|
|
85
|
+
// Prepare a Uint8Array for the message data (so we can inspect the first byte and decode the rest)
|
|
86
|
+
let bytes;
|
|
87
|
+
if (typeof data === 'string') {
|
|
88
|
+
// If a text message is received (e.g., older ws or if server sent text), first char is the prefix byte
|
|
89
|
+
const prefixCode = data.charCodeAt(0);
|
|
90
|
+
const contentText = data.substring(1);
|
|
91
|
+
// Deliver to appropriate stream based on prefix
|
|
92
|
+
if (prefixCode === exports.STDOUT_PREFIX) {
|
|
93
|
+
onStdout(contentText);
|
|
94
|
+
}
|
|
95
|
+
else if (prefixCode === exports.STDERR_PREFIX) {
|
|
96
|
+
onStderr(contentText);
|
|
97
|
+
}
|
|
98
|
+
return; // done handling this message
|
|
99
|
+
}
|
|
100
|
+
else if (data instanceof ArrayBuffer) {
|
|
101
|
+
bytes = new Uint8Array(data);
|
|
102
|
+
}
|
|
103
|
+
else if (ArrayBuffer.isView(data)) {
|
|
104
|
+
// Covers Node.js Buffer (Uint8Array subclass) and other TypedArrays
|
|
105
|
+
bytes = new Uint8Array(data.buffer, data.byteOffset, data.byteLength);
|
|
106
|
+
}
|
|
107
|
+
else if (data instanceof Blob) {
|
|
108
|
+
// Browser binary frames might be Blob if binaryType wasn't set in time. Convert to ArrayBuffer asynchronously.
|
|
109
|
+
data.arrayBuffer().then((buf) => {
|
|
110
|
+
try {
|
|
111
|
+
processBytes(new Uint8Array(buf));
|
|
112
|
+
}
|
|
113
|
+
catch (err) {
|
|
114
|
+
handleError(err);
|
|
115
|
+
}
|
|
116
|
+
}, (err) => {
|
|
117
|
+
handleError(err);
|
|
118
|
+
});
|
|
119
|
+
return; // will continue asynchronously once blob is read
|
|
120
|
+
}
|
|
121
|
+
else {
|
|
122
|
+
throw new Error(`Unsupported message data type: ${Object.prototype.toString.call(data)}`);
|
|
123
|
+
}
|
|
124
|
+
// We have a Uint8Array 'bytes' representing the full message.
|
|
125
|
+
processBytes(bytes);
|
|
126
|
+
}
|
|
127
|
+
catch (err) {
|
|
128
|
+
// On any synchronous error in processing, clean up and reject.
|
|
129
|
+
cleanup();
|
|
130
|
+
try {
|
|
131
|
+
ws.close();
|
|
132
|
+
}
|
|
133
|
+
catch (_) {
|
|
134
|
+
/* ignore if already closed */
|
|
135
|
+
}
|
|
136
|
+
reject(err);
|
|
137
|
+
}
|
|
138
|
+
};
|
|
139
|
+
// Process a Uint8Array message: demux by prefix and decode the content
|
|
140
|
+
const processBytes = (bytes) => {
|
|
141
|
+
if (bytes.length < 1)
|
|
81
142
|
return;
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
143
|
+
const channel = bytes[0]; // prefix byte: 1 = STDOUT, 2 = STDERR
|
|
144
|
+
const contentBytes = bytes.subarray(1);
|
|
145
|
+
// Decode remaining bytes to UTF-8 string (TextDecoder handles multi-byte chars properly)
|
|
146
|
+
const text = textDecoder.decode(contentBytes);
|
|
147
|
+
if (channel === 1) {
|
|
148
|
+
onStdout(text);
|
|
149
|
+
}
|
|
150
|
+
else if (channel === 2) {
|
|
151
|
+
onStderr(text);
|
|
88
152
|
}
|
|
89
153
|
else {
|
|
90
|
-
//
|
|
91
|
-
|
|
92
|
-
socket.removeEventListener('close', onClose);
|
|
93
|
-
socket.removeEventListener('error', onError);
|
|
154
|
+
// If other channels exist (e.g., 0 for stdin echo, 3 for server error messages), ignore or handle as needed.
|
|
155
|
+
// Here we ignore unexpected channels, but you could add handling for channel 3 (error messages) if required.
|
|
94
156
|
}
|
|
95
|
-
}
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
const
|
|
100
|
-
const msg = decoder.decode(buf.subarray(1));
|
|
101
|
-
if (prefix === exports.STDOUT_PREFIX)
|
|
102
|
-
return onStdout(msg);
|
|
103
|
-
if (prefix === exports.STDERR_PREFIX)
|
|
104
|
-
return onStderr(msg);
|
|
157
|
+
};
|
|
158
|
+
// Event handler for errors
|
|
159
|
+
const handleError = (error) => {
|
|
160
|
+
// Convert Event or plain error to Error instance for consistency
|
|
161
|
+
const err = error && error instanceof Event ? new Error('WebSocket error') : error;
|
|
105
162
|
cleanup();
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
/**
|
|
109
|
-
* A single handler that accepts either:
|
|
110
|
-
* - raw ws data (Buffer, ArrayBuffer, string, Buffer[])
|
|
111
|
-
* - or a DOM MessageEvent with `.data`
|
|
112
|
-
*/
|
|
113
|
-
function unifiedHandler(raw) {
|
|
114
|
-
const data = raw instanceof MessageEvent ? raw.data : raw;
|
|
115
|
-
if (typeof data === 'string') {
|
|
116
|
-
process(encoder.encode(data));
|
|
117
|
-
}
|
|
118
|
-
else if (data instanceof ArrayBuffer) {
|
|
119
|
-
process(new Uint8Array(data));
|
|
163
|
+
try {
|
|
164
|
+
ws.close();
|
|
120
165
|
}
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
process(new Uint8Array(Buffer.concat(data)));
|
|
166
|
+
catch (_) {
|
|
167
|
+
/* ignore if already closed */
|
|
124
168
|
}
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
169
|
+
reject(err);
|
|
170
|
+
};
|
|
171
|
+
// Event handler for socket closure
|
|
172
|
+
const handleClose = () => {
|
|
173
|
+
cleanup();
|
|
174
|
+
resolve();
|
|
175
|
+
};
|
|
176
|
+
// Cleanup function to remove all listeners to avoid memory leaks
|
|
177
|
+
const cleanup = () => {
|
|
178
|
+
if (ws.removeEventListener) {
|
|
179
|
+
// Browser (EventTarget) style cleanup
|
|
180
|
+
ws.removeEventListener('message', handleMessage);
|
|
181
|
+
ws.removeEventListener('error', handleError);
|
|
182
|
+
ws.removeEventListener('close', handleClose);
|
|
128
183
|
}
|
|
129
|
-
|
|
130
|
-
//
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
184
|
+
if (ws.off) {
|
|
185
|
+
// Node.js ws (EventEmitter) style cleanup (supported in Node 14+)
|
|
186
|
+
ws.off('message', handleMessage);
|
|
187
|
+
ws.off('error', handleError);
|
|
188
|
+
ws.off('close', handleClose);
|
|
134
189
|
}
|
|
135
|
-
else {
|
|
136
|
-
|
|
137
|
-
|
|
190
|
+
else if (ws.removeListener) {
|
|
191
|
+
// Node.js ws fallback for older Node versions
|
|
192
|
+
;
|
|
193
|
+
ws.removeListener('message', handleMessage);
|
|
194
|
+
ws.removeListener('error', handleError);
|
|
195
|
+
ws.removeListener('close', handleClose);
|
|
138
196
|
}
|
|
197
|
+
};
|
|
198
|
+
// Attach event listeners in a way compatible with both Node (EventEmitter) and browser (EventTarget):
|
|
199
|
+
if (ws.addEventListener) {
|
|
200
|
+
// Browser or WebSocket implementation with EventTarget interface
|
|
201
|
+
ws.addEventListener('message', handleMessage);
|
|
202
|
+
ws.addEventListener('error', handleError);
|
|
203
|
+
ws.addEventListener('close', handleClose);
|
|
139
204
|
}
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
socket.on('close', onClose);
|
|
146
|
-
socket.on('error', onError);
|
|
205
|
+
else if (ws.on) {
|
|
206
|
+
// Node.js ws library (EventEmitter) interface
|
|
207
|
+
ws.on('message', handleMessage); // ws@8+ yields Buffer for text frames, which we handle via TextDecoder
|
|
208
|
+
ws.on('error', handleError);
|
|
209
|
+
ws.on('close', handleClose);
|
|
147
210
|
}
|
|
148
211
|
else {
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
socket.addEventListener('error', onError);
|
|
212
|
+
// Unknown WebSocket interface - should not happen with isomorphic-ws
|
|
213
|
+
throw new Error('Unsupported WebSocket implementation');
|
|
152
214
|
}
|
|
153
215
|
});
|
|
154
216
|
}
|
package/src/utils/Stream.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Stream.js","sourceRoot":"","sources":["../../../../../libs/sdk-typescript/src/utils/Stream.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"Stream.js","sourceRoot":"","sources":["../../../../../libs/sdk-typescript/src/utils/Stream.ts"],"names":[],"mappings":"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"}
|