@daytonaio/sdk 0.26.0-alpha.0 → 0.26.0-alpha.2

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.0",
3
+ "version": "0.26.0-alpha.2",
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.25.2-alpha.2"
37
+ "@daytonaio/api-client": "0.26.0-alpha.2"
38
38
  },
39
39
  "packageManager": "yarn@4.6.0",
40
40
  "type": "commonjs"
package/src/Process.js CHANGED
@@ -259,13 +259,30 @@ 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`; //&DAYTONA_SANDBOX_AUTH_KEY=${previewLink.token}`
262
+ const baseUrl = `${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
+ // For browser environment, append the auth token as a query parameter
266
+ const separator = baseUrl.includes('?') ? '&' : '?';
267
+ const url = `${baseUrl}${separator}DAYTONA_SANDBOX_AUTH_KEY=${encodeURIComponent(previewLink.token)}`;
268
+ ws = new isomorphic_ws_1.default(url);
269
+ // Add connection timeout for browser environment
270
+ const connectionTimeout = setTimeout(() => {
271
+ if (ws.readyState === 0) {
272
+ // CONNECTING
273
+ ws.close();
274
+ }
275
+ }, 100000); // 100 second timeout
276
+ ws.addEventListener('open', () => {
277
+ clearTimeout(connectionTimeout);
278
+ });
279
+ ws.addEventListener('error', () => {
280
+ clearTimeout(connectionTimeout);
281
+ });
266
282
  }
267
283
  else {
268
- ws = new isomorphic_ws_1.default(url, {
284
+ // For Node.js environment, use the headers option
285
+ ws = new isomorphic_ws_1.default(baseUrl, {
269
286
  headers: {
270
287
  ...this.clientConfig.baseOptions.headers,
271
288
  'x-daytona-preview-token': previewLink.token,
@@ -1 +1 @@
1
- {"version":3,"file":"Process.js","sourceRoot":"","sources":["../../../../libs/sdk-typescript/src/Process.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;;AAcH,2DAAuD;AACvD,2CAAyE;AACzE,mCAA+B;AAC/B,0EAAqC;AACrC,6CAAkD;AAGlD;;GAEG;AACH,MAAa,aAAa;IACxB;;OAEG;IACH,IAAI,CAAW;IACf;;OAEG;IACH,GAAG,CAAyB;CAC7B;AATD,sCASC;AAED;;;;GAIG;AACH,MAAa,OAAO;IAEC;IACA;IACA;IACA;IACA;IACA;IANnB,YACmB,SAAiB,EACjB,YAA2B,EAC3B,WAA+B,EAC/B,UAAsB,EACtB,UAAiC,EACjC,cAAyD;QALzD,cAAS,GAAT,SAAS,CAAQ;QACjB,iBAAY,GAAZ,YAAY,CAAe;QAC3B,gBAAW,GAAX,WAAW,CAAoB;QAC/B,eAAU,GAAV,UAAU,CAAY;QACtB,eAAU,GAAV,UAAU,CAAuB;QACjC,mBAAc,GAAd,cAAc,CAA2C;IACzE,CAAC;IAEJ;;;;;;;;;;;;;;;;;;;;;;;;;OAyBG;IACI,KAAK,CAAC,cAAc,CACzB,OAAe,EACf,GAAY,EACZ,GAA4B,EAC5B,OAAgB;QAEhB,MAAM,aAAa,GAAG,eAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAA;QAC7D,OAAO,GAAG,SAAS,aAAa,oBAAoB,CAAA;QAEpD,IAAI,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACvC,MAAM,cAAc,GAClB,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC;iBAChB,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE;gBACpB,MAAM,YAAY,GAAG,eAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAA;gBAC1D,OAAO,UAAU,GAAG,YAAY,YAAY,gBAAgB,CAAA;YAC9D,CAAC,CAAC;iBACD,IAAI,CAAC,GAAG,CAAC,GAAG,GAAG,CAAA;YACpB,OAAO,GAAG,GAAG,cAAc,IAAI,OAAO,EAAE,CAAA;QAC1C,CAAC;QAED,OAAO,GAAG,UAAU,OAAO,GAAG,CAAA;QAE9B,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,cAAc,CAAC,IAAI,CAAC,SAAS,EAAE;YACpE,OAAO;YACP,OAAO;YACP,GAAG,EAAE,GAAG,IAAI,CAAC,MAAM,IAAI,CAAC,UAAU,EAAE,CAAC;SACtC,CAAC,CAAA;QAEF,kCAAkC;QAClC,MAAM,SAAS,GAAG,+BAAc,CAAC,cAAc,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;QAErE,iDAAiD;QACjD,OAAO;YACL,GAAG,QAAQ,CAAC,IAAI;YAChB,MAAM,EAAE,SAAS,CAAC,MAAM;YACxB,SAAS;SACV,CAAA;IACH,CAAC;IAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAyDG;IACI,KAAK,CAAC,OAAO,CAAC,IAAY,EAAE,MAAsB,EAAE,OAAgB;QACzE,MAAM,UAAU,GAAG,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,IAAI,EAAE,MAAM,CAAC,CAAA;QAC/D,OAAO,IAAI,CAAC,cAAc,CAAC,UAAU,EAAE,SAAS,EAAE,MAAM,EAAE,GAAG,EAAE,OAAO,CAAC,CAAA;IACzE,CAAC;IAED;;;;;;;;;;;;;;;;;OAiBG;IACI,KAAK,CAAC,aAAa,CAAC,SAAiB;QAC1C,MAAM,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,IAAI,CAAC,SAAS,EAAE;YAClD,SAAS;SACV,CAAC,CAAA;IACJ,CAAC;IAED;;;;;;;;;;;;;OAaG;IACI,KAAK,CAAC,UAAU,CAAC,SAAiB;QACvC,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,IAAI,CAAC,SAAS,EAAE,SAAS,CAAC,CAAA;QAC5E,OAAO,QAAQ,CAAC,IAAI,CAAA;IACtB,CAAC;IAED;;;;;;;;;;;;;;;OAeG;IACI,KAAK,CAAC,iBAAiB,CAAC,SAAiB,EAAE,SAAiB;QACjE,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,iBAAiB,CAAC,IAAI,CAAC,SAAS,EAAE,SAAS,EAAE,SAAS,CAAC,CAAA;QAC9F,OAAO,QAAQ,CAAC,IAAI,CAAA;IACtB,CAAC;IAED;;;;;;;;;;;;;;;;;;;;;;;;;;;OA2BG;IACI,KAAK,CAAC,qBAAqB,CAChC,SAAiB,EACjB,GAA0B,EAC1B,OAAgB;QAEhB,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,qBAAqB,CAC1D,IAAI,CAAC,SAAS,EACd,SAAS,EACT,GAAG,EACH,SAAS,EACT,OAAO,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,OAAO,GAAG,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAC3C,CAAA;QACD,OAAO,QAAQ,CAAC,IAAI,CAAA;IACtB,CAAC;IAkCM,KAAK,CAAC,qBAAqB,CAChC,SAAiB,EACjB,SAAiB,EACjB,QAAkC,EAClC,QAAkC;QAElC,IAAI,CAAC,QAAQ,IAAI,CAAC,QAAQ,EAAE,CAAC;YAC3B,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,qBAAqB,CAAC,IAAI,CAAC,SAAS,EAAE,SAAS,EAAE,SAAS,CAAC,CAAA;YAClG,OAAO,QAAQ,CAAC,IAAI,CAAA;QACtB,CAAC;QAED,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,CAAA;QACnD,MAAM,GAAG,GAAG,GAAG,WAAW,CAAC,GAAG,CAAC,OAAO,CAAC,MAAM,EAAE,IAAI,CAAC,oBAAoB,SAAS,YAAY,SAAS,mBAAmB,CAAA,CAAA,iDAAiD;QAE1K,IAAI,EAAa,CAAA;QACjB,IAAI,iBAAO,KAAK,iBAAO,CAAC,OAAO,EAAE,CAAC;YAChC,EAAE,GAAG,IAAI,uBAAS,CAAC,GAAG,GAAG,4BAA4B,GAAG,WAAW,CAAC,KAAK,CAAC,CAAA;QAC5E,CAAC;aAAM,CAAC;YACN,EAAE,GAAG,IAAI,uBAAS,CAChB,GAAG,EACH;gBACE,OAAO,EAAE;oBACP,GAAG,IAAI,CAAC,YAAY,CAAC,WAAW,CAAC,OAAO;oBACxC,yBAAyB,EAAE,WAAW,CAAC,KAAK;iBAC7C;aACF,CACF,CAAA;QACH,CAAC;QAED,MAAM,IAAA,uBAAc,EAAC,EAAE,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAA;IAC9C,CAAC;IAED;;;;;;;;;;;;;OAaG;IACI,KAAK,CAAC,YAAY;QACvB,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,YAAY,CAAC,IAAI,CAAC,SAAS,CAAC,CAAA;QACnE,OAAO,QAAQ,CAAC,IAAI,CAAA;IACtB,CAAC;IAED;;;;;;;;;OASG;IACI,KAAK,CAAC,aAAa,CAAC,SAAiB;QAC1C,MAAM,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,IAAI,CAAC,SAAS,EAAE,SAAS,CAAC,CAAA;IAChE,CAAC;CACF;AArVD,0BAqVC"}
1
+ {"version":3,"file":"Process.js","sourceRoot":"","sources":["../../../../libs/sdk-typescript/src/Process.ts"],"names":[],"mappings":"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"}
@@ -68,8 +68,9 @@ async function processStreamingResponse(getStream, onChunk, shouldTerminate, chu
68
68
  }
69
69
  }
70
70
  function stdDemuxStream(socket, onStdout, onStderr) {
71
- // In browser-like environments, force ArrayBuffer instead of Blob:
71
+ // Set binary type to arraybuffer for consistent handling across environments
72
72
  if ('binaryType' in socket) {
73
+ ;
73
74
  socket.binaryType = 'arraybuffer';
74
75
  }
75
76
  const decoder = new TextDecoder('utf-8', { fatal: false });
@@ -80,21 +81,23 @@ function stdDemuxStream(socket, onStdout, onStderr) {
80
81
  if (cleanedUp)
81
82
  return;
82
83
  cleanedUp = true;
83
- // If ws-style API is present, unregister via EventEmitter:
84
+ // Remove event listeners based on environment
84
85
  if (typeof socket.off === 'function') {
86
+ // Node.js style (ws library)
87
+ ;
85
88
  socket.off('message', unifiedHandler);
86
89
  socket.off('close', onClose);
87
90
  socket.off('error', onError);
88
91
  }
89
92
  else {
90
- // Otherwise assume browser WebSocket and use DOM API:
93
+ // Browser style (native WebSocket)
91
94
  socket.removeEventListener('message', unifiedHandler);
92
95
  socket.removeEventListener('close', onClose);
93
96
  socket.removeEventListener('error', onError);
94
97
  }
95
98
  }
96
99
  function process(buf) {
97
- if (buf.length === 0)
100
+ if (!buf.length)
98
101
  return;
99
102
  const prefix = buf[0];
100
103
  const msg = decoder.decode(buf.subarray(1));
@@ -105,47 +108,105 @@ function stdDemuxStream(socket, onStdout, onStderr) {
105
108
  cleanup();
106
109
  reject(new Error(`Unknown data prefix ${prefix}`));
107
110
  }
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
111
  function unifiedHandler(raw) {
114
- const data = raw instanceof MessageEvent ? raw.data : raw;
115
- if (typeof data === 'string') {
116
- process(encoder.encode(data));
112
+ try {
113
+ const data = raw instanceof MessageEvent ? raw.data : raw;
114
+ if (typeof data === 'string') {
115
+ process(encoder.encode(data));
116
+ }
117
+ else if (data instanceof ArrayBuffer) {
118
+ process(new Uint8Array(data));
119
+ }
120
+ else if (Array.isArray(data)) {
121
+ // Handle Node.js Buffer array case
122
+ if (typeof Buffer !== 'undefined' && Buffer.concat) {
123
+ process(new Uint8Array(Buffer.concat(data)));
124
+ }
125
+ else {
126
+ // Fallback for browser environment
127
+ const totalLength = data.reduce((acc, buf) => acc + buf.byteLength, 0);
128
+ const combined = new Uint8Array(totalLength);
129
+ let offset = 0;
130
+ for (const buf of data) {
131
+ combined.set(new Uint8Array(buf), offset);
132
+ offset += buf.byteLength;
133
+ }
134
+ process(combined);
135
+ }
136
+ }
137
+ else if (ArrayBuffer.isView(data)) {
138
+ const v = data;
139
+ process(new Uint8Array(v.buffer, v.byteOffset, v.byteLength));
140
+ }
141
+ else if (data instanceof Blob) {
142
+ data
143
+ .arrayBuffer()
144
+ .then((ab) => process(new Uint8Array(ab)))
145
+ .catch((err) => {
146
+ cleanup();
147
+ reject(err);
148
+ });
149
+ }
150
+ else {
151
+ cleanup();
152
+ reject(new Error(`Unknown data type: ${typeof data}`));
153
+ }
117
154
  }
118
- else if (data instanceof ArrayBuffer) {
119
- process(new Uint8Array(data));
155
+ catch (error) {
156
+ cleanup();
157
+ reject(error);
120
158
  }
121
- else if (Array.isArray(data)) {
122
- // Node ws: Buffer[]
123
- process(new Uint8Array(Buffer.concat(data)));
159
+ }
160
+ const onClose = (event) => {
161
+ cleanup();
162
+ // Only resolve if it's a normal closure or no event (clean close)
163
+ if (!event || event.code === 1000 || event.code === 1001) {
164
+ resolve();
124
165
  }
125
- else if (ArrayBuffer.isView(data)) {
126
- const view = data;
127
- process(new Uint8Array(view.buffer, view.byteOffset, view.byteLength));
166
+ else {
167
+ reject(new Error(`WebSocket closed with code: ${event?.code || 'unknown'}`));
128
168
  }
129
- else if (data instanceof Blob) {
130
- // browser fallback
131
- data.arrayBuffer()
132
- .then(ab => process(new Uint8Array(ab)))
133
- .catch(err => { cleanup(); reject(err); });
169
+ };
170
+ const onError = (err) => {
171
+ cleanup();
172
+ // Handle different error types
173
+ if (err instanceof Event) {
174
+ // Browser WebSocket error event - try to get more details
175
+ let errorMessage = `WebSocket connection error: ${err.type}`;
176
+ // Try to get more specific error information
177
+ if (err.target && err.target.readyState !== undefined) {
178
+ const readyState = err.target.readyState;
179
+ const readyStateNames = ['CONNECTING', 'OPEN', 'CLOSING', 'CLOSED'];
180
+ errorMessage += ` (readyState: ${readyStateNames[readyState] || readyState})`;
181
+ }
182
+ reject(new Error(errorMessage));
183
+ }
184
+ else if (err instanceof Error) {
185
+ // Node.js error object
186
+ reject(err);
134
187
  }
135
188
  else {
136
- cleanup();
137
- reject(new Error(`Unknown data type: ${typeof data}`));
189
+ // Unknown error type
190
+ reject(new Error(`WebSocket error: ${String(err)}`));
138
191
  }
192
+ };
193
+ // Check if WebSocket is already in a bad state
194
+ const CLOSED = 3;
195
+ const CLOSING = 2;
196
+ if (socket.readyState === CLOSED || socket.readyState === CLOSING) {
197
+ reject(new Error('WebSocket is already closed or closing'));
198
+ return;
139
199
  }
140
- const onClose = () => { cleanup(); resolve(); };
141
- const onError = (err) => { cleanup(); reject(err); };
142
- // Register listeners via whichever API is available:
200
+ // Register event listeners based on environment
143
201
  if (typeof socket.on === 'function') {
202
+ // Node.js style (ws library)
203
+ ;
144
204
  socket.on('message', unifiedHandler);
145
205
  socket.on('close', onClose);
146
206
  socket.on('error', onError);
147
207
  }
148
208
  else {
209
+ // Browser style (native WebSocket)
149
210
  socket.addEventListener('message', unifiedHandler);
150
211
  socket.addEventListener('close', onClose);
151
212
  socket.addEventListener('error', onError);
@@ -1 +1 @@
1
- {"version":3,"file":"Stream.js","sourceRoot":"","sources":["../../../../../libs/sdk-typescript/src/utils/Stream.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Stream.js","sourceRoot":"","sources":["../../../../../libs/sdk-typescript/src/utils/Stream.ts"],"names":[],"mappings":"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"}