@daytonaio/sdk 0.110.2-alpha.4 → 0.110.2-alpha.6
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/FileSystem.js +406 -138
- package/src/FileSystem.js.map +1 -1
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@daytonaio/sdk",
|
|
3
|
-
"version": "0.110.2-alpha.
|
|
3
|
+
"version": "0.110.2-alpha.6",
|
|
4
4
|
"description": "TypeScript SDK for Daytona",
|
|
5
5
|
"main": "./src/index.js",
|
|
6
6
|
"types": "./src/index.d.ts",
|
|
@@ -35,7 +35,7 @@
|
|
|
35
35
|
"pathe": "^2.0.3",
|
|
36
36
|
"shell-quote": "^1.8.2",
|
|
37
37
|
"tar": "^6.2.0",
|
|
38
|
-
"@daytonaio/api-client": "0.110.2-alpha.
|
|
38
|
+
"@daytonaio/api-client": "0.110.2-alpha.6"
|
|
39
39
|
},
|
|
40
40
|
"packageManager": "yarn@4.6.0",
|
|
41
41
|
"type": "commonjs"
|
package/src/FileSystem.js
CHANGED
|
@@ -101,187 +101,243 @@ class FileSystem {
|
|
|
101
101
|
async downloadFiles(files, timeoutSec = 30 * 60) {
|
|
102
102
|
if (files.length === 0)
|
|
103
103
|
return [];
|
|
104
|
+
const isNodeLike = typeof process !== 'undefined' &&
|
|
105
|
+
!!process.versions?.node &&
|
|
106
|
+
typeof globalThis.Buffer !== 'undefined';
|
|
107
|
+
const isBrowser = typeof window !== 'undefined' &&
|
|
108
|
+
typeof window.document !== 'undefined' &&
|
|
109
|
+
!isNodeLike;
|
|
104
110
|
const srcFileMetaMap = new Map();
|
|
105
111
|
const fileTasks = [];
|
|
112
|
+
// Pre-validate destinations
|
|
106
113
|
for (const f of files) {
|
|
107
114
|
srcFileMetaMap.set(f.source, { dst: f.destination });
|
|
108
115
|
if (f.destination) {
|
|
109
|
-
|
|
110
|
-
|
|
116
|
+
if (isNodeLike) {
|
|
117
|
+
const fs = await (0, Import_1.dynamicImport)('fs', 'Downloading files to local files is not supported: ');
|
|
118
|
+
await fs.promises.mkdir(pathe.dirname(f.destination), { recursive: true });
|
|
119
|
+
}
|
|
120
|
+
else {
|
|
121
|
+
// No filesystem in browsers / serverless edge
|
|
122
|
+
throw new DaytonaError_1.DaytonaError('Downloading files to local files is not supported in this runtime.');
|
|
123
|
+
}
|
|
111
124
|
}
|
|
112
125
|
}
|
|
113
126
|
const response = await this.toolboxApi.downloadFiles(this.sandboxId, { paths: Array.from(srcFileMetaMap.keys()) }, undefined, {
|
|
114
127
|
responseType: 'stream',
|
|
115
128
|
timeout: timeoutSec * 1000,
|
|
116
129
|
});
|
|
130
|
+
const contentType = getHeader(response.headers, 'content-type') || '';
|
|
117
131
|
let responseData = response.data;
|
|
118
|
-
//
|
|
119
|
-
// Extract the actual stream from various possible formats
|
|
132
|
+
// Normalize responseData across runtimes
|
|
120
133
|
if (responseData && typeof responseData === 'object') {
|
|
121
|
-
//
|
|
134
|
+
// Fetch Response in some adapters
|
|
122
135
|
if (responseData.body && typeof responseData.body.getReader === 'function') {
|
|
123
|
-
responseData = responseData.body;
|
|
136
|
+
responseData = responseData.body; // ReadableStream
|
|
124
137
|
}
|
|
125
|
-
// If it has a stream property
|
|
126
138
|
else if (responseData.stream) {
|
|
127
139
|
responseData = responseData.stream;
|
|
128
140
|
}
|
|
129
141
|
}
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
if (
|
|
140
|
-
responseData
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
responseData.cancel();
|
|
144
|
-
}
|
|
145
|
-
reject(new DaytonaError_1.DaytonaError(`Received unexpected file "${fileInfo.filename}".`));
|
|
146
|
-
return;
|
|
147
|
-
}
|
|
148
|
-
const meta = srcFileMetaMap.get(source);
|
|
149
|
-
if (!meta) {
|
|
150
|
-
if (typeof responseData.destroy === 'function') {
|
|
151
|
-
responseData.destroy();
|
|
142
|
+
// ---------- NODE PATH (busboy) ----------
|
|
143
|
+
if (isNodeLike) {
|
|
144
|
+
await new Promise((resolve, reject) => {
|
|
145
|
+
const bb = (0, busboy_1.default)({
|
|
146
|
+
headers: response.headers,
|
|
147
|
+
preservePath: true,
|
|
148
|
+
});
|
|
149
|
+
bb.on('file', (partType, fileStream, fileInfo) => {
|
|
150
|
+
const source = fileInfo.filename;
|
|
151
|
+
if (!source) {
|
|
152
|
+
safeAbort(responseData);
|
|
153
|
+
reject(new DaytonaError_1.DaytonaError(`Received unexpected file "${fileInfo.filename}".`));
|
|
154
|
+
return;
|
|
152
155
|
}
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
}
|
|
159
|
-
if (partType === 'error') {
|
|
160
|
-
let buf = Buffer.alloc(0);
|
|
161
|
-
fileStream.on('data', (chunk) => {
|
|
162
|
-
buf = Buffer.concat([buf, chunk]);
|
|
163
|
-
});
|
|
164
|
-
fileStream.on('end', () => {
|
|
165
|
-
meta.error = buf.toString('utf-8').trim();
|
|
166
|
-
});
|
|
167
|
-
fileStream.on('error', (err) => {
|
|
168
|
-
meta.error = `Stream error: ${err.message}`;
|
|
169
|
-
});
|
|
170
|
-
}
|
|
171
|
-
else if (partType === 'file') {
|
|
172
|
-
if (meta.dst) {
|
|
173
|
-
fileTasks.push(new Promise((resolve) => {
|
|
174
|
-
(0, Import_1.dynamicImport)('fs', 'Downloading files to local files is not supported: ').then((fs) => {
|
|
175
|
-
const writeStream = fs.createWriteStream(meta.dst, { autoClose: true });
|
|
176
|
-
fileStream.pipe(writeStream);
|
|
177
|
-
writeStream.on('finish', () => {
|
|
178
|
-
meta.result = meta.dst;
|
|
179
|
-
resolve();
|
|
180
|
-
});
|
|
181
|
-
writeStream.on('error', (err) => {
|
|
182
|
-
meta.error = `Write stream failed: ${err.message}`;
|
|
183
|
-
resolve();
|
|
184
|
-
});
|
|
185
|
-
fileStream.on('error', (err) => {
|
|
186
|
-
meta.error = `Read stream failed: ${err.message}`;
|
|
187
|
-
});
|
|
188
|
-
});
|
|
189
|
-
}));
|
|
156
|
+
const meta = srcFileMetaMap.get(source);
|
|
157
|
+
if (!meta) {
|
|
158
|
+
safeAbort(responseData);
|
|
159
|
+
reject(new DaytonaError_1.DaytonaError(`Target metadata missing for valid source: ${source}`));
|
|
160
|
+
return;
|
|
190
161
|
}
|
|
191
|
-
|
|
192
|
-
|
|
162
|
+
if (partType === 'error') {
|
|
163
|
+
let buf = Buffer.alloc(0);
|
|
193
164
|
fileStream.on('data', (chunk) => {
|
|
194
|
-
|
|
165
|
+
buf = Buffer.concat([buf, chunk]);
|
|
195
166
|
});
|
|
196
167
|
fileStream.on('end', () => {
|
|
197
|
-
meta.
|
|
168
|
+
meta.error = buf.toString('utf-8').trim();
|
|
198
169
|
});
|
|
199
170
|
fileStream.on('error', (err) => {
|
|
200
|
-
meta.error = `
|
|
171
|
+
meta.error = `Stream error: ${err.message}`;
|
|
201
172
|
});
|
|
202
173
|
}
|
|
174
|
+
else if (partType === 'file') {
|
|
175
|
+
if (meta.dst) {
|
|
176
|
+
fileTasks.push(new Promise((resolveInner) => {
|
|
177
|
+
(0, Import_1.dynamicImport)('fs', 'Downloading files to local files is not supported: ').then((fs) => {
|
|
178
|
+
const writeStream = fs.createWriteStream(meta.dst, { autoClose: true });
|
|
179
|
+
fileStream.pipe(writeStream);
|
|
180
|
+
writeStream.on('finish', () => {
|
|
181
|
+
meta.result = meta.dst;
|
|
182
|
+
resolveInner();
|
|
183
|
+
});
|
|
184
|
+
writeStream.on('error', (err) => {
|
|
185
|
+
meta.error = `Write stream failed: ${err.message}`;
|
|
186
|
+
resolveInner();
|
|
187
|
+
});
|
|
188
|
+
fileStream.on('error', (err) => {
|
|
189
|
+
meta.error = `Read stream failed: ${err.message}`;
|
|
190
|
+
});
|
|
191
|
+
});
|
|
192
|
+
}));
|
|
193
|
+
}
|
|
194
|
+
else {
|
|
195
|
+
const chunks = [];
|
|
196
|
+
fileStream.on('data', (chunk) => {
|
|
197
|
+
chunks.push(chunk);
|
|
198
|
+
});
|
|
199
|
+
fileStream.on('end', () => {
|
|
200
|
+
meta.result = Buffer.concat(chunks);
|
|
201
|
+
});
|
|
202
|
+
fileStream.on('error', (err) => {
|
|
203
|
+
meta.error = `Read failed: ${err.message}`;
|
|
204
|
+
});
|
|
205
|
+
}
|
|
206
|
+
}
|
|
207
|
+
else {
|
|
208
|
+
fileStream.resume();
|
|
209
|
+
}
|
|
210
|
+
});
|
|
211
|
+
bb.on('error', (err) => {
|
|
212
|
+
safeAbort(responseData);
|
|
213
|
+
reject(err);
|
|
214
|
+
});
|
|
215
|
+
bb.on('finish', resolve);
|
|
216
|
+
// Pipe or write chunks into busboy
|
|
217
|
+
if (typeof responseData?.pipe === 'function') {
|
|
218
|
+
responseData.pipe(bb);
|
|
203
219
|
}
|
|
204
|
-
else
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
});
|
|
208
|
-
bb.on('error', (err) => {
|
|
209
|
-
if (typeof responseData.destroy === 'function') {
|
|
210
|
-
responseData.destroy();
|
|
211
|
-
}
|
|
212
|
-
else if (typeof responseData.cancel === 'function') {
|
|
213
|
-
responseData.cancel();
|
|
214
|
-
}
|
|
215
|
-
reject(err);
|
|
216
|
-
});
|
|
217
|
-
bb.on('finish', resolve);
|
|
218
|
-
// Handle both Node.js streams and Web ReadableStreams (browser/serverless)
|
|
219
|
-
if (typeof responseData.pipe === 'function') {
|
|
220
|
-
// Node.js stream
|
|
221
|
-
responseData.pipe(bb);
|
|
222
|
-
}
|
|
223
|
-
else if (typeof responseData.getReader === 'function') {
|
|
224
|
-
// Web ReadableStream (browser/serverless) - use getReader()
|
|
225
|
-
(async () => {
|
|
220
|
+
else if (typeof responseData === 'string' ||
|
|
221
|
+
responseData instanceof ArrayBuffer ||
|
|
222
|
+
ArrayBuffer.isView(responseData)) {
|
|
226
223
|
try {
|
|
227
|
-
const
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
break;
|
|
232
|
-
bb.write(value);
|
|
233
|
-
}
|
|
224
|
+
const u8 = toUint8Array(responseData);
|
|
225
|
+
// Ensure Node Buffer for busboy
|
|
226
|
+
const buf = Buffer.from(u8);
|
|
227
|
+
bb.write(buf);
|
|
234
228
|
bb.end();
|
|
235
229
|
}
|
|
236
230
|
catch (err) {
|
|
237
231
|
bb.destroy(err);
|
|
238
232
|
}
|
|
239
|
-
}
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
|
|
233
|
+
}
|
|
234
|
+
else if (typeof responseData?.getReader === 'function') {
|
|
235
|
+
;
|
|
236
|
+
(async () => {
|
|
237
|
+
try {
|
|
238
|
+
const reader = responseData.getReader();
|
|
239
|
+
while (true) {
|
|
240
|
+
const { done, value } = await reader.read();
|
|
241
|
+
if (done)
|
|
242
|
+
break;
|
|
243
|
+
const buf = Buffer.from(value);
|
|
244
|
+
bb.write(buf);
|
|
245
|
+
}
|
|
246
|
+
bb.end();
|
|
247
|
+
}
|
|
248
|
+
catch (err) {
|
|
249
|
+
bb.destroy(err);
|
|
250
|
+
}
|
|
251
|
+
})();
|
|
252
|
+
}
|
|
253
|
+
else if (responseData?.[Symbol.asyncIterator]) {
|
|
254
|
+
;
|
|
255
|
+
(async () => {
|
|
256
|
+
try {
|
|
257
|
+
for await (const chunk of responseData) {
|
|
258
|
+
const buf = Buffer.isBuffer(chunk) ? chunk : Buffer.from(toUint8Array(chunk));
|
|
259
|
+
bb.write(buf);
|
|
260
|
+
}
|
|
261
|
+
bb.end();
|
|
262
|
+
}
|
|
263
|
+
catch (err) {
|
|
264
|
+
bb.destroy(err);
|
|
265
|
+
}
|
|
266
|
+
})();
|
|
267
|
+
}
|
|
268
|
+
else {
|
|
269
|
+
const typeInfo = responseData
|
|
270
|
+
? `type: ${typeof responseData}, constructor: ${responseData.constructor?.name}, keys: ${Object.keys(responseData)
|
|
271
|
+
.slice(0, 10)
|
|
272
|
+
.join(', ')}`
|
|
273
|
+
: 'null or undefined';
|
|
274
|
+
reject(new DaytonaError_1.DaytonaError(`Unsupported stream type for response data. ${typeInfo}`));
|
|
275
|
+
}
|
|
276
|
+
});
|
|
277
|
+
await Promise.all(fileTasks);
|
|
278
|
+
return finalizeResults(files, srcFileMetaMap);
|
|
279
|
+
}
|
|
280
|
+
// ---------- BROWSER / EDGE PATH (no busboy) ----------
|
|
281
|
+
// 1) Read the whole body as Uint8Array
|
|
282
|
+
const bodyBytes = await collectBodyBytes(responseData);
|
|
283
|
+
// 2) If it's standard `multipart/form-data`, let the platform parse it.
|
|
284
|
+
if (/^multipart\/form-data/i.test(contentType) && typeof Response !== 'undefined') {
|
|
285
|
+
try {
|
|
286
|
+
const res = new Response(bodyBytes, { headers: { 'Content-Type': contentType } });
|
|
287
|
+
const fd = await res.formData();
|
|
288
|
+
for (const [field, value] of fd.entries()) {
|
|
289
|
+
if (value instanceof File) {
|
|
290
|
+
const source = value.name; // filename
|
|
291
|
+
const meta = srcFileMetaMap.get(source);
|
|
292
|
+
if (!meta)
|
|
293
|
+
continue;
|
|
294
|
+
if (field === 'error') {
|
|
295
|
+
const text = await value.text();
|
|
296
|
+
meta.error = text.trim();
|
|
297
|
+
}
|
|
298
|
+
else if (field === 'file') {
|
|
299
|
+
// return as bytes (cast as any to satisfy Buffer type downstream)
|
|
300
|
+
const ab = await value.arrayBuffer();
|
|
301
|
+
meta.result = new Uint8Array(ab);
|
|
247
302
|
}
|
|
248
|
-
bb.end();
|
|
249
303
|
}
|
|
250
|
-
|
|
251
|
-
|
|
304
|
+
else {
|
|
305
|
+
// Non-file fields (rare in this API)
|
|
306
|
+
if (field === 'error') {
|
|
307
|
+
// Try to find a source-less error; attach to all?
|
|
308
|
+
for (const meta of srcFileMetaMap.values()) {
|
|
309
|
+
meta.error = String(value);
|
|
310
|
+
}
|
|
311
|
+
}
|
|
252
312
|
}
|
|
253
|
-
}
|
|
254
|
-
|
|
255
|
-
else {
|
|
256
|
-
// Debug info to understand what we're dealing with
|
|
257
|
-
const typeInfo = responseData ?
|
|
258
|
-
`type: ${typeof responseData}, constructor: ${responseData.constructor?.name}, keys: ${Object.keys(responseData).slice(0, 10).join(', ')}` :
|
|
259
|
-
'null or undefined';
|
|
260
|
-
reject(new DaytonaError_1.DaytonaError(`Unsupported stream type for response data. ${typeInfo}`));
|
|
313
|
+
}
|
|
314
|
+
return finalizeResults(files, srcFileMetaMap);
|
|
261
315
|
}
|
|
262
|
-
|
|
263
|
-
|
|
264
|
-
const results = [];
|
|
265
|
-
for (const f of files) {
|
|
266
|
-
const meta = srcFileMetaMap.get(f.source);
|
|
267
|
-
let err = meta?.error;
|
|
268
|
-
if (!err && !meta?.result) {
|
|
269
|
-
err = 'No data received for this file';
|
|
316
|
+
catch {
|
|
317
|
+
// Fall through to manual parser
|
|
270
318
|
}
|
|
271
|
-
|
|
272
|
-
|
|
273
|
-
|
|
319
|
+
}
|
|
320
|
+
// 3) Generic multipart/* parser (supports multipart/mixed, etc.)
|
|
321
|
+
const boundary = getMultipartBoundary(contentType);
|
|
322
|
+
if (!boundary) {
|
|
323
|
+
throw new DaytonaError_1.DaytonaError(`Missing multipart boundary in Content-Type: "${contentType}"`);
|
|
324
|
+
}
|
|
325
|
+
const parts = parseMultipart(bodyBytes, boundary);
|
|
326
|
+
for (const p of parts) {
|
|
327
|
+
const source = p.filename;
|
|
328
|
+
if (!source)
|
|
329
|
+
continue;
|
|
330
|
+
const meta = srcFileMetaMap.get(source);
|
|
331
|
+
if (!meta)
|
|
332
|
+
continue;
|
|
333
|
+
if (p.name === 'error') {
|
|
334
|
+
meta.error = utf8Decode(p.data).trim();
|
|
274
335
|
}
|
|
275
|
-
else if (
|
|
276
|
-
|
|
336
|
+
else if (p.name === 'file') {
|
|
337
|
+
meta.result = p.data; // Uint8Array in browsers
|
|
277
338
|
}
|
|
278
|
-
results.push({
|
|
279
|
-
source: f.source,
|
|
280
|
-
result: res,
|
|
281
|
-
error: err,
|
|
282
|
-
});
|
|
283
339
|
}
|
|
284
|
-
return
|
|
340
|
+
return finalizeResults(files, srcFileMetaMap);
|
|
285
341
|
}
|
|
286
342
|
/**
|
|
287
343
|
* Searches for text patterns within files in the Sandbox.
|
|
@@ -483,4 +539,216 @@ class FileSystem {
|
|
|
483
539
|
}
|
|
484
540
|
}
|
|
485
541
|
exports.FileSystem = FileSystem;
|
|
542
|
+
/* -------------------- helpers -------------------- */
|
|
543
|
+
function getHeader(headers, key) {
|
|
544
|
+
if (!headers)
|
|
545
|
+
return undefined;
|
|
546
|
+
const k = Object.keys(headers).find((h) => h.toLowerCase() === key.toLowerCase());
|
|
547
|
+
return k ? headers[k] : undefined;
|
|
548
|
+
}
|
|
549
|
+
function safeAbort(streamish) {
|
|
550
|
+
if (streamish && typeof streamish.destroy === 'function')
|
|
551
|
+
streamish.destroy();
|
|
552
|
+
else if (streamish && typeof streamish.cancel === 'function')
|
|
553
|
+
streamish.cancel();
|
|
554
|
+
}
|
|
555
|
+
function toUint8Array(data) {
|
|
556
|
+
if (typeof data === 'string') {
|
|
557
|
+
// latin1 is safe for raw byte mapping; utf-8 also works since we only handle response bytes
|
|
558
|
+
return new TextEncoder().encode(data);
|
|
559
|
+
}
|
|
560
|
+
if (data instanceof ArrayBuffer)
|
|
561
|
+
return new Uint8Array(data);
|
|
562
|
+
if (ArrayBuffer.isView(data)) {
|
|
563
|
+
return new Uint8Array(data.buffer, data.byteOffset, data.byteLength);
|
|
564
|
+
}
|
|
565
|
+
throw new DaytonaError_1.DaytonaError('Unsupported data type for byte conversion.');
|
|
566
|
+
}
|
|
567
|
+
async function collectBodyBytes(body) {
|
|
568
|
+
if (!body)
|
|
569
|
+
return new Uint8Array(0);
|
|
570
|
+
// WHATWG ReadableStream
|
|
571
|
+
if (typeof body.getReader === 'function') {
|
|
572
|
+
const reader = body.getReader();
|
|
573
|
+
const chunks = [];
|
|
574
|
+
let total = 0;
|
|
575
|
+
while (true) {
|
|
576
|
+
const { done, value } = await reader.read();
|
|
577
|
+
if (done)
|
|
578
|
+
break;
|
|
579
|
+
if (value && value.byteLength) {
|
|
580
|
+
chunks.push(value);
|
|
581
|
+
total += value.byteLength;
|
|
582
|
+
}
|
|
583
|
+
}
|
|
584
|
+
return concatU8(chunks, total);
|
|
585
|
+
}
|
|
586
|
+
// Async iterator
|
|
587
|
+
if (body[Symbol.asyncIterator]) {
|
|
588
|
+
const chunks = [];
|
|
589
|
+
let total = 0;
|
|
590
|
+
for await (const chunk of body) {
|
|
591
|
+
const u8 = toUint8Array(chunk);
|
|
592
|
+
chunks.push(u8);
|
|
593
|
+
total += u8.byteLength;
|
|
594
|
+
}
|
|
595
|
+
return concatU8(chunks, total);
|
|
596
|
+
}
|
|
597
|
+
if (typeof body === 'string' || body instanceof ArrayBuffer || ArrayBuffer.isView(body)) {
|
|
598
|
+
return toUint8Array(body);
|
|
599
|
+
}
|
|
600
|
+
// Blob (axios/XHR sometimes)
|
|
601
|
+
if (typeof Blob !== 'undefined' && body instanceof Blob) {
|
|
602
|
+
const ab = await body.arrayBuffer();
|
|
603
|
+
return new Uint8Array(ab);
|
|
604
|
+
}
|
|
605
|
+
// Fetch Response
|
|
606
|
+
if (typeof Response !== 'undefined' && body instanceof Response) {
|
|
607
|
+
const ab = await body.arrayBuffer();
|
|
608
|
+
return new Uint8Array(ab);
|
|
609
|
+
}
|
|
610
|
+
throw new DaytonaError_1.DaytonaError('Unsupported response body for browser parsing.');
|
|
611
|
+
}
|
|
612
|
+
function concatU8(parts, total) {
|
|
613
|
+
const size = total ?? parts.reduce((s, p) => s + p.byteLength, 0);
|
|
614
|
+
const out = new Uint8Array(size);
|
|
615
|
+
let off = 0;
|
|
616
|
+
for (const p of parts) {
|
|
617
|
+
out.set(p, off);
|
|
618
|
+
off += p.byteLength;
|
|
619
|
+
}
|
|
620
|
+
return out;
|
|
621
|
+
}
|
|
622
|
+
function getMultipartBoundary(ct) {
|
|
623
|
+
const m = /boundary="?([^";]+)"?/i.exec(ct || '');
|
|
624
|
+
return m ? m[1] : null;
|
|
625
|
+
}
|
|
626
|
+
/**
|
|
627
|
+
* Minimal multipart parser (binary safe), supports CRLF boundaries.
|
|
628
|
+
* Good enough for common server outputs (multipart/mixed or form-data).
|
|
629
|
+
*/
|
|
630
|
+
function parseMultipart(body, boundary) {
|
|
631
|
+
const dashBoundary = `--${boundary}`;
|
|
632
|
+
const enc = new TextEncoder();
|
|
633
|
+
const db = enc.encode(dashBoundary);
|
|
634
|
+
const crlf = enc.encode('\r\n');
|
|
635
|
+
const dbCrlf = concatU8([db, crlf]);
|
|
636
|
+
const endBoundary = concatU8([enc.encode(`--${boundary}--`)]);
|
|
637
|
+
// Find all boundary starts
|
|
638
|
+
const starts = findAll(body, db);
|
|
639
|
+
if (starts.length === 0)
|
|
640
|
+
return [];
|
|
641
|
+
const parts = [];
|
|
642
|
+
for (let i = 0; i < starts.length; i++) {
|
|
643
|
+
const start = starts[i];
|
|
644
|
+
// Part starts after boundary + CRLF
|
|
645
|
+
const headerStart = indexAfter(body, start, dbCrlf);
|
|
646
|
+
if (headerStart < 0)
|
|
647
|
+
continue;
|
|
648
|
+
// End is next boundary start or final end
|
|
649
|
+
const nextStart = starts[i + 1] ?? body.length;
|
|
650
|
+
let partEnd = nextStart - 2; // strip trailing CRLF before boundary
|
|
651
|
+
if (partEnd < headerStart)
|
|
652
|
+
partEnd = headerStart;
|
|
653
|
+
// Split headers/body by \r\n\r\n
|
|
654
|
+
const sep = findSequence(body, headerStart, partEnd, enc.encode('\r\n\r\n'));
|
|
655
|
+
if (sep < 0)
|
|
656
|
+
continue;
|
|
657
|
+
const headersBytes = body.subarray(headerStart, sep);
|
|
658
|
+
const dataStart = sep + 4;
|
|
659
|
+
const data = body.subarray(dataStart, partEnd);
|
|
660
|
+
const headersText = new TextDecoder('utf-8').decode(headersBytes);
|
|
661
|
+
const headers = {};
|
|
662
|
+
for (const line of headersText.split(/\r\n/)) {
|
|
663
|
+
const idx = line.indexOf(':');
|
|
664
|
+
if (idx > -1) {
|
|
665
|
+
const k = line.slice(0, idx).trim().toLowerCase();
|
|
666
|
+
const v = line.slice(idx + 1).trim();
|
|
667
|
+
headers[k] = v;
|
|
668
|
+
}
|
|
669
|
+
}
|
|
670
|
+
const cd = headers['content-disposition'] || '';
|
|
671
|
+
const name = getDispositionParam(cd, 'name');
|
|
672
|
+
const filename = getDispositionParam(cd, 'filename');
|
|
673
|
+
parts.push({ name, filename, headers, data });
|
|
674
|
+
}
|
|
675
|
+
return parts;
|
|
676
|
+
}
|
|
677
|
+
function findAll(hay, needle) {
|
|
678
|
+
const res = [];
|
|
679
|
+
let i = 0;
|
|
680
|
+
while (i <= hay.length - needle.length) {
|
|
681
|
+
let ok = true;
|
|
682
|
+
for (let j = 0; j < needle.length; j++) {
|
|
683
|
+
if (hay[i + j] !== needle[j]) {
|
|
684
|
+
ok = false;
|
|
685
|
+
break;
|
|
686
|
+
}
|
|
687
|
+
}
|
|
688
|
+
if (ok) {
|
|
689
|
+
res.push(i);
|
|
690
|
+
i += needle.length;
|
|
691
|
+
}
|
|
692
|
+
else {
|
|
693
|
+
i++;
|
|
694
|
+
}
|
|
695
|
+
}
|
|
696
|
+
return res;
|
|
697
|
+
}
|
|
698
|
+
function findSequence(hay, start, end, needle) {
|
|
699
|
+
let i = start;
|
|
700
|
+
while (i <= end - needle.length) {
|
|
701
|
+
let ok = true;
|
|
702
|
+
for (let j = 0; j < needle.length; j++) {
|
|
703
|
+
if (hay[i + j] !== needle[j]) {
|
|
704
|
+
ok = false;
|
|
705
|
+
break;
|
|
706
|
+
}
|
|
707
|
+
}
|
|
708
|
+
if (ok)
|
|
709
|
+
return i;
|
|
710
|
+
i++;
|
|
711
|
+
}
|
|
712
|
+
return -1;
|
|
713
|
+
}
|
|
714
|
+
function indexAfter(hay, start, seq) {
|
|
715
|
+
for (let j = 0; j < seq.length; j++) {
|
|
716
|
+
if (hay[start + j] !== seq[j])
|
|
717
|
+
return -1;
|
|
718
|
+
}
|
|
719
|
+
return start + seq.length;
|
|
720
|
+
}
|
|
721
|
+
function getDispositionParam(cd, key) {
|
|
722
|
+
const re = new RegExp(`${key}\\*?=("(?:[^"]+)"|[^;]+)`, 'i');
|
|
723
|
+
const m = re.exec(cd);
|
|
724
|
+
if (!m)
|
|
725
|
+
return undefined;
|
|
726
|
+
let val = m[1];
|
|
727
|
+
if (val.startsWith('"') && val.endsWith('"'))
|
|
728
|
+
val = val.slice(1, -1);
|
|
729
|
+
return val;
|
|
730
|
+
}
|
|
731
|
+
function utf8Decode(u8) {
|
|
732
|
+
return new TextDecoder('utf-8').decode(u8);
|
|
733
|
+
}
|
|
734
|
+
function finalizeResults(files, metaMap) {
|
|
735
|
+
const results = [];
|
|
736
|
+
for (const f of files) {
|
|
737
|
+
const meta = metaMap.get(f.source);
|
|
738
|
+
let err = meta?.error;
|
|
739
|
+
if (!err && !meta?.result) {
|
|
740
|
+
err = 'No data received for this file';
|
|
741
|
+
}
|
|
742
|
+
let res;
|
|
743
|
+
if (!err && meta) {
|
|
744
|
+
// In browsers `result` can be Uint8Array; cast to keep the public type stable.
|
|
745
|
+
res = meta.result;
|
|
746
|
+
}
|
|
747
|
+
else if (!meta) {
|
|
748
|
+
err = 'No writer metadata found';
|
|
749
|
+
}
|
|
750
|
+
results.push({ source: f.source, result: res, error: err });
|
|
751
|
+
}
|
|
752
|
+
return results;
|
|
753
|
+
}
|
|
486
754
|
//# sourceMappingURL=FileSystem.js.map
|
package/src/FileSystem.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FileSystem.js","sourceRoot":"","sources":["../../../../libs/sdk-typescript/src/FileSystem.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"FileSystem.js","sourceRoot":"","sources":["../../../../libs/sdk-typescript/src/FileSystem.ts"],"names":[],"mappings":"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"}
|