@sapiom/sandbox 0.7.0 → 0.8.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/CHANGELOG.md +6 -0
- package/README.md +74 -0
- package/dist/cjs/index.d.ts +2 -1
- package/dist/cjs/index.d.ts.map +1 -1
- package/dist/cjs/index.js +3 -1
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/multipart.d.ts +75 -0
- package/dist/cjs/multipart.d.ts.map +1 -0
- package/dist/cjs/multipart.js +199 -0
- package/dist/cjs/multipart.js.map +1 -0
- package/dist/cjs/sandbox.d.ts +67 -1
- package/dist/cjs/sandbox.d.ts.map +1 -1
- package/dist/cjs/sandbox.js +142 -0
- package/dist/cjs/sandbox.js.map +1 -1
- package/dist/cjs/types.d.ts +47 -0
- package/dist/cjs/types.d.ts.map +1 -1
- package/dist/esm/index.d.ts +2 -1
- package/dist/esm/index.d.ts.map +1 -1
- package/dist/esm/index.js +1 -0
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/multipart.d.ts +75 -0
- package/dist/esm/multipart.d.ts.map +1 -0
- package/dist/esm/multipart.js +189 -0
- package/dist/esm/multipart.js.map +1 -0
- package/dist/esm/sandbox.d.ts +67 -1
- package/dist/esm/sandbox.d.ts.map +1 -1
- package/dist/esm/sandbox.js +142 -0
- package/dist/esm/sandbox.js.map +1 -1
- package/dist/esm/types.d.ts +47 -0
- package/dist/esm/types.d.ts.map +1 -1
- package/dist/tsconfig.cjs.tsbuildinfo +1 -1
- package/dist/tsconfig.esm.tsbuildinfo +1 -1
- package/package.json +1 -1
package/dist/cjs/sandbox.js
CHANGED
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.SapiomSandbox = void 0;
|
|
4
4
|
const fetch_1 = require("@sapiom/fetch");
|
|
5
|
+
const multipart_js_1 = require("./multipart.js");
|
|
5
6
|
const DEFAULT_BASE_URL = "https://blaxel.services.sapiom.ai";
|
|
6
7
|
const DEFAULT_POLL_INTERVAL = 1000;
|
|
7
8
|
const DEFAULT_EXEC_TIMEOUT = 60000;
|
|
@@ -36,6 +37,9 @@ function fileUrl(baseUrl, sandboxName, absolutePath) {
|
|
|
36
37
|
: absolutePath;
|
|
37
38
|
return `${baseUrl}/v1/sandboxes/${encodeURIComponent(sandboxName)}/filesystem/${encodePathSegments(cleanPath)}`;
|
|
38
39
|
}
|
|
40
|
+
function multipartUrl(baseUrl, sandboxName, suffix) {
|
|
41
|
+
return `${baseUrl}/v1/sandboxes/${encodeURIComponent(sandboxName)}/filesystem/multipart${suffix}`;
|
|
42
|
+
}
|
|
39
43
|
function parseOutputLine(line) {
|
|
40
44
|
if (line.startsWith("stdout:")) {
|
|
41
45
|
return { stream: "stdout", data: line.slice(7) };
|
|
@@ -131,6 +135,144 @@ class SapiomSandbox {
|
|
|
131
135
|
const data = (await response.json());
|
|
132
136
|
return data.content;
|
|
133
137
|
}
|
|
138
|
+
/**
|
|
139
|
+
* Upload a file to the sandbox using multipart upload.
|
|
140
|
+
*
|
|
141
|
+
* Handles the full initiate → part upload → complete lifecycle, with
|
|
142
|
+
* parallel part uploads and automatic abort on any failure (including
|
|
143
|
+
* `signal` aborts).
|
|
144
|
+
*
|
|
145
|
+
* Prefer this over {@link writeFile} for binary content or any file over
|
|
146
|
+
* a few MB. `writeFile` stays available for small text files.
|
|
147
|
+
*
|
|
148
|
+
* @param path - File path relative to workspaceRoot.
|
|
149
|
+
* @param content - Blob, Uint8Array, or string. Strings are UTF-8 encoded.
|
|
150
|
+
* @param opts - Upload options.
|
|
151
|
+
*/
|
|
152
|
+
async uploadFile(path, content, opts) {
|
|
153
|
+
assertRelativePath(path);
|
|
154
|
+
const blob = (0, multipart_js_1.toBlob)(content);
|
|
155
|
+
const partSize = opts?.partSize ?? multipart_js_1.DEFAULT_PART_SIZE;
|
|
156
|
+
const concurrency = opts?.concurrency ?? multipart_js_1.DEFAULT_CONCURRENCY;
|
|
157
|
+
const totalBytes = blob.size;
|
|
158
|
+
const plans = (0, multipart_js_1.planParts)(totalBytes, partSize);
|
|
159
|
+
const { uploadId } = await this.initiateMultipartUpload(path, {
|
|
160
|
+
permissions: opts?.permissions,
|
|
161
|
+
signal: opts?.signal,
|
|
162
|
+
});
|
|
163
|
+
try {
|
|
164
|
+
let partsUploaded = 0;
|
|
165
|
+
let bytesUploaded = 0;
|
|
166
|
+
const maxRetries = opts?.maxRetries ?? multipart_js_1.DEFAULT_MAX_RETRIES;
|
|
167
|
+
const retryBaseDelayMs = opts?.retryBaseDelayMs ?? multipart_js_1.DEFAULT_RETRY_BASE_DELAY_MS;
|
|
168
|
+
const uploaded = await (0, multipart_js_1.runWithConcurrency)(plans, concurrency, async (plan) => {
|
|
169
|
+
const slice = blob.slice(plan.start, plan.end);
|
|
170
|
+
const ack = await (0, multipart_js_1.withRetry)(() => this.uploadPart(uploadId, plan.partNumber, slice, {
|
|
171
|
+
signal: opts?.signal,
|
|
172
|
+
}), { maxRetries, retryBaseDelayMs, signal: opts?.signal });
|
|
173
|
+
partsUploaded += 1;
|
|
174
|
+
bytesUploaded += ack.size;
|
|
175
|
+
opts?.onPartUploaded?.(ack, {
|
|
176
|
+
partsUploaded,
|
|
177
|
+
totalParts: plans.length,
|
|
178
|
+
bytesUploaded,
|
|
179
|
+
totalBytes,
|
|
180
|
+
});
|
|
181
|
+
return ack;
|
|
182
|
+
});
|
|
183
|
+
const parts = uploaded
|
|
184
|
+
.map(({ partNumber, etag }) => ({ partNumber, etag }))
|
|
185
|
+
.sort((a, b) => a.partNumber - b.partNumber);
|
|
186
|
+
await this.completeMultipartUpload(uploadId, parts, {
|
|
187
|
+
signal: opts?.signal,
|
|
188
|
+
});
|
|
189
|
+
}
|
|
190
|
+
catch (err) {
|
|
191
|
+
// Best-effort cleanup; don't mask the original error.
|
|
192
|
+
this.abortMultipartUpload(uploadId).catch(() => { });
|
|
193
|
+
throw err;
|
|
194
|
+
}
|
|
195
|
+
}
|
|
196
|
+
/**
|
|
197
|
+
* Initiate a multipart upload for a file path.
|
|
198
|
+
*
|
|
199
|
+
* Low-level: prefer {@link uploadFile} for the full lifecycle. Use this
|
|
200
|
+
* when you need custom retry/progress/resumable behavior.
|
|
201
|
+
*/
|
|
202
|
+
async initiateMultipartUpload(path, opts) {
|
|
203
|
+
assertRelativePath(path);
|
|
204
|
+
const cleanPath = path.startsWith("/") ? path.slice(1) : path;
|
|
205
|
+
const url = multipartUrl(this._baseUrl, this.name, `/initiate/${encodePathSegments(cleanPath)}`);
|
|
206
|
+
const body = {};
|
|
207
|
+
if (opts?.permissions !== undefined)
|
|
208
|
+
body.permissions = opts.permissions;
|
|
209
|
+
const response = await (0, multipart_js_1.ensureOk)(await this._fetch(url, {
|
|
210
|
+
method: "POST",
|
|
211
|
+
headers: { "Content-Type": "application/json" },
|
|
212
|
+
body: JSON.stringify(body),
|
|
213
|
+
signal: opts?.signal,
|
|
214
|
+
}), `Failed to initiate multipart upload for '${path}'`);
|
|
215
|
+
return (await response.json());
|
|
216
|
+
}
|
|
217
|
+
/**
|
|
218
|
+
* Upload a single part of a multipart upload.
|
|
219
|
+
*
|
|
220
|
+
* Low-level: prefer {@link uploadFile} for the full lifecycle.
|
|
221
|
+
*
|
|
222
|
+
* @param uploadId - Upload session ID from {@link initiateMultipartUpload}.
|
|
223
|
+
* @param partNumber - 1-indexed part number (1 to 10000).
|
|
224
|
+
* @param part - The part bytes.
|
|
225
|
+
*/
|
|
226
|
+
async uploadPart(uploadId, partNumber, part, opts) {
|
|
227
|
+
const url = multipartUrl(this._baseUrl, this.name, `/${encodeURIComponent(uploadId)}/part`) + `?partNumber=${encodeURIComponent(String(partNumber))}`;
|
|
228
|
+
const form = new FormData();
|
|
229
|
+
form.append("file", part instanceof Blob ? part : new Blob([part]));
|
|
230
|
+
// Intentionally no Content-Type header — fetch sets the multipart
|
|
231
|
+
// boundary automatically.
|
|
232
|
+
const response = await (0, multipart_js_1.ensureOk)(await this._fetch(url, {
|
|
233
|
+
method: "PUT",
|
|
234
|
+
body: form,
|
|
235
|
+
signal: opts?.signal,
|
|
236
|
+
}), `Failed to upload part ${partNumber} for upload '${uploadId}'`);
|
|
237
|
+
return (await response.json());
|
|
238
|
+
}
|
|
239
|
+
/**
|
|
240
|
+
* Complete a multipart upload by committing the uploaded parts.
|
|
241
|
+
*
|
|
242
|
+
* Low-level: prefer {@link uploadFile} for the full lifecycle.
|
|
243
|
+
*/
|
|
244
|
+
async completeMultipartUpload(uploadId, parts, opts) {
|
|
245
|
+
const url = multipartUrl(this._baseUrl, this.name, `/${encodeURIComponent(uploadId)}/complete`);
|
|
246
|
+
const response = await (0, multipart_js_1.ensureOk)(await this._fetch(url, {
|
|
247
|
+
method: "POST",
|
|
248
|
+
headers: { "Content-Type": "application/json" },
|
|
249
|
+
body: JSON.stringify({ parts }),
|
|
250
|
+
signal: opts?.signal,
|
|
251
|
+
}), `Failed to complete multipart upload '${uploadId}'`);
|
|
252
|
+
return (await response.json());
|
|
253
|
+
}
|
|
254
|
+
/**
|
|
255
|
+
* Abort a multipart upload and clean up any uploaded parts on the server.
|
|
256
|
+
*/
|
|
257
|
+
async abortMultipartUpload(uploadId, opts) {
|
|
258
|
+
const url = multipartUrl(this._baseUrl, this.name, `/${encodeURIComponent(uploadId)}`);
|
|
259
|
+
await (0, multipart_js_1.ensureOk)(await this._fetch(url, {
|
|
260
|
+
method: "DELETE",
|
|
261
|
+
signal: opts?.signal,
|
|
262
|
+
}), `Failed to abort multipart upload '${uploadId}'`);
|
|
263
|
+
}
|
|
264
|
+
/**
|
|
265
|
+
* List the parts already uploaded for a multipart upload.
|
|
266
|
+
*
|
|
267
|
+
* Useful for resumable uploads: after reconnecting, call this to see
|
|
268
|
+
* which part numbers you still need to upload.
|
|
269
|
+
*/
|
|
270
|
+
async listMultipartParts(uploadId, opts) {
|
|
271
|
+
const url = multipartUrl(this._baseUrl, this.name, `/${encodeURIComponent(uploadId)}/parts`);
|
|
272
|
+
const response = await (0, multipart_js_1.ensureOk)(await this._fetch(url, { signal: opts?.signal }), `Failed to list parts for multipart upload '${uploadId}'`);
|
|
273
|
+
const data = (await response.json());
|
|
274
|
+
return data.parts;
|
|
275
|
+
}
|
|
134
276
|
/**
|
|
135
277
|
* Execute a command in the sandbox.
|
|
136
278
|
*
|
package/dist/cjs/sandbox.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sandbox.js","sourceRoot":"","sources":["../../src/sandbox.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"sandbox.js","sourceRoot":"","sources":["../../src/sandbox.ts"],"names":[],"mappings":"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"}
|
package/dist/cjs/types.d.ts
CHANGED
|
@@ -168,4 +168,51 @@ export interface ProcessStatusResponse {
|
|
|
168
168
|
stderr?: string;
|
|
169
169
|
[key: string]: unknown;
|
|
170
170
|
}
|
|
171
|
+
/** Raw response from POST /v1/sandboxes/:name/filesystem/multipart/initiate/:path. */
|
|
172
|
+
export interface MultipartInitiateResponse {
|
|
173
|
+
uploadId: string;
|
|
174
|
+
path: string;
|
|
175
|
+
}
|
|
176
|
+
/** Ack returned after a part upload or needed to complete an upload. */
|
|
177
|
+
export interface MultipartUploadedPart {
|
|
178
|
+
partNumber: number;
|
|
179
|
+
etag: string;
|
|
180
|
+
size: number;
|
|
181
|
+
}
|
|
182
|
+
/** Full part record returned by GET .../multipart/:uploadId/parts. */
|
|
183
|
+
export interface MultipartPartInfo extends MultipartUploadedPart {
|
|
184
|
+
uploadedAt: string;
|
|
185
|
+
}
|
|
186
|
+
/** Progress reported to {@link UploadFileOptions.onPartUploaded}. */
|
|
187
|
+
export interface UploadProgress {
|
|
188
|
+
partsUploaded: number;
|
|
189
|
+
totalParts: number;
|
|
190
|
+
bytesUploaded: number;
|
|
191
|
+
totalBytes: number;
|
|
192
|
+
}
|
|
193
|
+
/** Options for {@link SapiomSandbox.uploadFile}. */
|
|
194
|
+
export interface UploadFileOptions {
|
|
195
|
+
/** Part size in bytes. @default 5 * 1024 * 1024 (5 MiB) */
|
|
196
|
+
partSize?: number;
|
|
197
|
+
/** Number of parallel part uploads. @default 4 */
|
|
198
|
+
concurrency?: number;
|
|
199
|
+
/** File permissions string passed to initiate. @default "0644" */
|
|
200
|
+
permissions?: string;
|
|
201
|
+
/**
|
|
202
|
+
* Max retries per failed part upload. Retries on 408/425/429/5xx and
|
|
203
|
+
* network errors; honors `Retry-After`. Pass `0` to disable.
|
|
204
|
+
* @default 3
|
|
205
|
+
*/
|
|
206
|
+
maxRetries?: number;
|
|
207
|
+
/**
|
|
208
|
+
* Initial retry backoff in ms. Doubles each attempt with up to `base` ms
|
|
209
|
+
* jitter, so 3 retries take ≤ ~400ms total at the default.
|
|
210
|
+
* @default 50
|
|
211
|
+
*/
|
|
212
|
+
retryBaseDelayMs?: number;
|
|
213
|
+
/** AbortSignal to cancel the upload. Triggers an auto-abort of the multipart upload on the server. */
|
|
214
|
+
signal?: AbortSignal;
|
|
215
|
+
/** Invoked after each part finishes uploading (in completion order, not partNumber order). */
|
|
216
|
+
onPartUploaded?: (part: MultipartUploadedPart, progress: UploadProgress) => void;
|
|
217
|
+
}
|
|
171
218
|
//# sourceMappingURL=types.d.ts.map
|
package/dist/cjs/types.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":"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"}
|
package/dist/esm/index.d.ts
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
1
|
export { SapiomSandbox } from "./sandbox.js";
|
|
2
|
-
export
|
|
2
|
+
export { SandboxHttpError } from "./multipart.js";
|
|
3
|
+
export type { SandboxCreateOptions, SandboxCreateResponse, SandboxTier, PortSpec, ExecOptions, ExecStreamOptions, ExecResult, StreamingExecResult, OutputLine, ProcessCreateResponse, ProcessStatusResponse, MultipartInitiateResponse, MultipartUploadedPart, MultipartPartInfo, UploadFileOptions, UploadProgress, } from "./types.js";
|
|
3
4
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/esm/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAC7C,YAAY,EACV,oBAAoB,EACpB,qBAAqB,EACrB,WAAW,EACX,QAAQ,EACR,WAAW,EACX,iBAAiB,EACjB,UAAU,EACV,mBAAmB,EACnB,UAAU,EACV,qBAAqB,EACrB,qBAAqB,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAC7C,OAAO,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAClD,YAAY,EACV,oBAAoB,EACpB,qBAAqB,EACrB,WAAW,EACX,QAAQ,EACR,WAAW,EACX,iBAAiB,EACjB,UAAU,EACV,mBAAmB,EACnB,UAAU,EACV,qBAAqB,EACrB,qBAAqB,EACrB,yBAAyB,EACzB,qBAAqB,EACrB,iBAAiB,EACjB,iBAAiB,EACjB,cAAc,GACf,MAAM,YAAY,CAAC"}
|
package/dist/esm/index.js
CHANGED
package/dist/esm/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAC7C,OAAO,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC"}
|
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
/** Max parts allowed per multipart upload (Blaxel constraint). */
|
|
2
|
+
export declare const MAX_PARTS = 10000;
|
|
3
|
+
/** Default number of retries for a single failed part upload. */
|
|
4
|
+
export declare const DEFAULT_MAX_RETRIES = 3;
|
|
5
|
+
/** Default initial retry backoff in milliseconds. */
|
|
6
|
+
export declare const DEFAULT_RETRY_BASE_DELAY_MS = 50;
|
|
7
|
+
/**
|
|
8
|
+
* Error thrown by multipart HTTP methods when the server returns a non-2xx.
|
|
9
|
+
* Exposes `status` + `retryAfterMs` (parsed from `Retry-After`) so callers
|
|
10
|
+
* and the retry loop can make informed decisions.
|
|
11
|
+
*/
|
|
12
|
+
export declare class SandboxHttpError extends Error {
|
|
13
|
+
readonly status: number;
|
|
14
|
+
readonly retryAfterMs?: number;
|
|
15
|
+
constructor(message: string, status: number, retryAfterMs?: number);
|
|
16
|
+
}
|
|
17
|
+
/**
|
|
18
|
+
* Parse a `Retry-After` header value. Supports both forms:
|
|
19
|
+
* - delta-seconds integer (e.g. `"30"`)
|
|
20
|
+
* - HTTP-date (e.g. `"Wed, 21 Oct 2015 07:28:00 GMT"`)
|
|
21
|
+
*/
|
|
22
|
+
export declare function parseRetryAfter(header: string | null): number | undefined;
|
|
23
|
+
/**
|
|
24
|
+
* Wrap a `fetch` response: if non-2xx, throw a `SandboxHttpError` carrying
|
|
25
|
+
* the status + Retry-After, otherwise return the response for the caller to
|
|
26
|
+
* parse.
|
|
27
|
+
*/
|
|
28
|
+
export declare function ensureOk(response: Response, errorPrefix: string): Promise<Response>;
|
|
29
|
+
export interface RetryOptions {
|
|
30
|
+
/** Max number of retry attempts after the initial try. @default 3 */
|
|
31
|
+
maxRetries?: number;
|
|
32
|
+
/** Initial backoff in ms. Doubles each retry with up to `base` ms jitter. @default 50 */
|
|
33
|
+
retryBaseDelayMs?: number;
|
|
34
|
+
/** AbortSignal to cancel the retry loop. */
|
|
35
|
+
signal?: AbortSignal;
|
|
36
|
+
}
|
|
37
|
+
/**
|
|
38
|
+
* Retry `fn` up to `maxRetries` times on retryable errors with jittered
|
|
39
|
+
* exponential backoff. Honors `Retry-After` when the server provides one.
|
|
40
|
+
* Respects `signal` for prompt cancellation during the backoff wait.
|
|
41
|
+
*/
|
|
42
|
+
export declare function withRetry<T>(fn: (attempt: number) => Promise<T>, opts?: RetryOptions): Promise<T>;
|
|
43
|
+
/**
|
|
44
|
+
* Default part size: 5 MiB. Bottom of Blaxel's recommended 5–10 MB range
|
|
45
|
+
* and well clear of the Sapiom ingress 8 MiB body-size ceiling (with
|
|
46
|
+
* room left for multipart form-data overhead).
|
|
47
|
+
*/
|
|
48
|
+
export declare const DEFAULT_PART_SIZE: number;
|
|
49
|
+
/** Default number of parallel part uploads. */
|
|
50
|
+
export declare const DEFAULT_CONCURRENCY = 4;
|
|
51
|
+
/** Default file permissions (Blaxel default). */
|
|
52
|
+
export declare const DEFAULT_PERMISSIONS = "0644";
|
|
53
|
+
/**
|
|
54
|
+
* Normalize any supported content type into a `Blob`.
|
|
55
|
+
* `Blob.slice()` gives us random-access + lazy reads, so large inputs don't
|
|
56
|
+
* have to sit materialized in memory.
|
|
57
|
+
*/
|
|
58
|
+
export declare function toBlob(content: Blob | Uint8Array | string): Blob;
|
|
59
|
+
export interface PartPlan {
|
|
60
|
+
partNumber: number;
|
|
61
|
+
start: number;
|
|
62
|
+
end: number;
|
|
63
|
+
}
|
|
64
|
+
/**
|
|
65
|
+
* Split a byte range into part plans.
|
|
66
|
+
* Always emits at least one part (even for zero-byte inputs) so the caller
|
|
67
|
+
* still goes through the initiate/upload/complete handshake.
|
|
68
|
+
*/
|
|
69
|
+
export declare function planParts(totalBytes: number, partSize: number): PartPlan[];
|
|
70
|
+
/**
|
|
71
|
+
* Run `worker` over `items` with at most `concurrency` promises in flight.
|
|
72
|
+
* Rejects on the first worker failure (and stops scheduling further items).
|
|
73
|
+
*/
|
|
74
|
+
export declare function runWithConcurrency<T, R>(items: readonly T[], concurrency: number, worker: (item: T, index: number) => Promise<R>): Promise<R[]>;
|
|
75
|
+
//# sourceMappingURL=multipart.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"multipart.d.ts","sourceRoot":"","sources":["../../src/multipart.ts"],"names":[],"mappings":"AAAA,kEAAkE;AAClE,eAAO,MAAM,SAAS,QAAS,CAAC;AAEhC,iEAAiE;AACjE,eAAO,MAAM,mBAAmB,IAAI,CAAC;AAErC,qDAAqD;AACrD,eAAO,MAAM,2BAA2B,KAAK,CAAC;AAK9C;;;;GAIG;AACH,qBAAa,gBAAiB,SAAQ,KAAK;IACzC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,CAAC;gBAEnB,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,YAAY,CAAC,EAAE,MAAM;CAMnE;AAED;;;;GAIG;AACH,wBAAgB,eAAe,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,GAAG,MAAM,GAAG,SAAS,CAOzE;AAED;;;;GAIG;AACH,wBAAsB,QAAQ,CAC5B,QAAQ,EAAE,QAAQ,EAClB,WAAW,EAAE,MAAM,GAClB,OAAO,CAAC,QAAQ,CAAC,CASnB;AAED,MAAM,WAAW,YAAY;IAC3B,qEAAqE;IACrE,UAAU,CAAC,EAAE,MAAM,CAAC;IAEpB,yFAAyF;IACzF,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAE1B,4CAA4C;IAC5C,MAAM,CAAC,EAAE,WAAW,CAAC;CACtB;AAcD;;;;GAIG;AACH,wBAAsB,SAAS,CAAC,CAAC,EAC/B,EAAE,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,OAAO,CAAC,CAAC,CAAC,EACnC,IAAI,CAAC,EAAE,YAAY,GAClB,OAAO,CAAC,CAAC,CAAC,CAmBZ;AAoBD;;;;GAIG;AACH,eAAO,MAAM,iBAAiB,QAAkB,CAAC;AAEjD,+CAA+C;AAC/C,eAAO,MAAM,mBAAmB,IAAI,CAAC;AAErC,iDAAiD;AACjD,eAAO,MAAM,mBAAmB,SAAS,CAAC;AAE1C;;;;GAIG;AACH,wBAAgB,MAAM,CAAC,OAAO,EAAE,IAAI,GAAG,UAAU,GAAG,MAAM,GAAG,IAAI,CAMhE;AAED,MAAM,WAAW,QAAQ;IACvB,UAAU,EAAE,MAAM,CAAC;IACnB,KAAK,EAAE,MAAM,CAAC;IACd,GAAG,EAAE,MAAM,CAAC;CACb;AAED;;;;GAIG;AACH,wBAAgB,SAAS,CAAC,UAAU,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,QAAQ,EAAE,CAsB1E;AAED;;;GAGG;AACH,wBAAsB,kBAAkB,CAAC,CAAC,EAAE,CAAC,EAC3C,KAAK,EAAE,SAAS,CAAC,EAAE,EACnB,WAAW,EAAE,MAAM,EACnB,MAAM,EAAE,CAAC,IAAI,EAAE,CAAC,EAAE,KAAK,EAAE,MAAM,KAAK,OAAO,CAAC,CAAC,CAAC,GAC7C,OAAO,CAAC,CAAC,EAAE,CAAC,CAqCd"}
|
|
@@ -0,0 +1,189 @@
|
|
|
1
|
+
/** Max parts allowed per multipart upload (Blaxel constraint). */
|
|
2
|
+
export const MAX_PARTS = 10000;
|
|
3
|
+
/** Default number of retries for a single failed part upload. */
|
|
4
|
+
export const DEFAULT_MAX_RETRIES = 3;
|
|
5
|
+
/** Default initial retry backoff in milliseconds. */
|
|
6
|
+
export const DEFAULT_RETRY_BASE_DELAY_MS = 50;
|
|
7
|
+
/** HTTP status codes worth retrying. 4xx are user errors unless explicitly transient. */
|
|
8
|
+
const RETRYABLE_STATUS = new Set([408, 425, 429, 500, 502, 503, 504]);
|
|
9
|
+
/**
|
|
10
|
+
* Error thrown by multipart HTTP methods when the server returns a non-2xx.
|
|
11
|
+
* Exposes `status` + `retryAfterMs` (parsed from `Retry-After`) so callers
|
|
12
|
+
* and the retry loop can make informed decisions.
|
|
13
|
+
*/
|
|
14
|
+
export class SandboxHttpError extends Error {
|
|
15
|
+
constructor(message, status, retryAfterMs) {
|
|
16
|
+
super(message);
|
|
17
|
+
this.name = "SandboxHttpError";
|
|
18
|
+
this.status = status;
|
|
19
|
+
if (retryAfterMs !== undefined)
|
|
20
|
+
this.retryAfterMs = retryAfterMs;
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
/**
|
|
24
|
+
* Parse a `Retry-After` header value. Supports both forms:
|
|
25
|
+
* - delta-seconds integer (e.g. `"30"`)
|
|
26
|
+
* - HTTP-date (e.g. `"Wed, 21 Oct 2015 07:28:00 GMT"`)
|
|
27
|
+
*/
|
|
28
|
+
export function parseRetryAfter(header) {
|
|
29
|
+
if (!header)
|
|
30
|
+
return undefined;
|
|
31
|
+
const seconds = Number(header);
|
|
32
|
+
if (Number.isFinite(seconds) && seconds >= 0)
|
|
33
|
+
return seconds * 1000;
|
|
34
|
+
const date = Date.parse(header);
|
|
35
|
+
if (!Number.isNaN(date))
|
|
36
|
+
return Math.max(0, date - Date.now());
|
|
37
|
+
return undefined;
|
|
38
|
+
}
|
|
39
|
+
/**
|
|
40
|
+
* Wrap a `fetch` response: if non-2xx, throw a `SandboxHttpError` carrying
|
|
41
|
+
* the status + Retry-After, otherwise return the response for the caller to
|
|
42
|
+
* parse.
|
|
43
|
+
*/
|
|
44
|
+
export async function ensureOk(response, errorPrefix) {
|
|
45
|
+
if (response.ok)
|
|
46
|
+
return response;
|
|
47
|
+
const text = await response.text().catch(() => "");
|
|
48
|
+
const retryAfterMs = parseRetryAfter(response.headers.get("Retry-After"));
|
|
49
|
+
throw new SandboxHttpError(`${errorPrefix}: ${response.status} ${text}`, response.status, retryAfterMs);
|
|
50
|
+
}
|
|
51
|
+
/** Whether this error is worth retrying. */
|
|
52
|
+
function isRetryable(err) {
|
|
53
|
+
if (err instanceof SandboxHttpError)
|
|
54
|
+
return RETRYABLE_STATUS.has(err.status);
|
|
55
|
+
// Network-level failures (fetch rejected): typically TypeError "fetch failed"
|
|
56
|
+
// or AbortError. Retry non-abort errors.
|
|
57
|
+
if (err instanceof Error) {
|
|
58
|
+
if (err.name === "AbortError")
|
|
59
|
+
return false;
|
|
60
|
+
return true;
|
|
61
|
+
}
|
|
62
|
+
return false;
|
|
63
|
+
}
|
|
64
|
+
/**
|
|
65
|
+
* Retry `fn` up to `maxRetries` times on retryable errors with jittered
|
|
66
|
+
* exponential backoff. Honors `Retry-After` when the server provides one.
|
|
67
|
+
* Respects `signal` for prompt cancellation during the backoff wait.
|
|
68
|
+
*/
|
|
69
|
+
export async function withRetry(fn, opts) {
|
|
70
|
+
const maxRetries = opts?.maxRetries ?? DEFAULT_MAX_RETRIES;
|
|
71
|
+
const base = opts?.retryBaseDelayMs ?? DEFAULT_RETRY_BASE_DELAY_MS;
|
|
72
|
+
const signal = opts?.signal;
|
|
73
|
+
for (let attempt = 0;; attempt++) {
|
|
74
|
+
try {
|
|
75
|
+
return await fn(attempt);
|
|
76
|
+
}
|
|
77
|
+
catch (err) {
|
|
78
|
+
if (attempt >= maxRetries || !isRetryable(err) || signal?.aborted) {
|
|
79
|
+
throw err;
|
|
80
|
+
}
|
|
81
|
+
const backoff = err instanceof SandboxHttpError && err.retryAfterMs !== undefined
|
|
82
|
+
? err.retryAfterMs
|
|
83
|
+
: base * 2 ** attempt + Math.random() * base;
|
|
84
|
+
await sleepWithSignal(backoff, signal);
|
|
85
|
+
}
|
|
86
|
+
}
|
|
87
|
+
}
|
|
88
|
+
function sleepWithSignal(ms, signal) {
|
|
89
|
+
return new Promise((resolve, reject) => {
|
|
90
|
+
if (signal?.aborted) {
|
|
91
|
+
reject(new DOMException("Aborted", "AbortError"));
|
|
92
|
+
return;
|
|
93
|
+
}
|
|
94
|
+
const timer = setTimeout(() => {
|
|
95
|
+
signal?.removeEventListener("abort", onAbort);
|
|
96
|
+
resolve();
|
|
97
|
+
}, ms);
|
|
98
|
+
const onAbort = () => {
|
|
99
|
+
clearTimeout(timer);
|
|
100
|
+
reject(new DOMException("Aborted", "AbortError"));
|
|
101
|
+
};
|
|
102
|
+
signal?.addEventListener("abort", onAbort, { once: true });
|
|
103
|
+
});
|
|
104
|
+
}
|
|
105
|
+
/**
|
|
106
|
+
* Default part size: 5 MiB. Bottom of Blaxel's recommended 5–10 MB range
|
|
107
|
+
* and well clear of the Sapiom ingress 8 MiB body-size ceiling (with
|
|
108
|
+
* room left for multipart form-data overhead).
|
|
109
|
+
*/
|
|
110
|
+
export const DEFAULT_PART_SIZE = 5 * 1024 * 1024;
|
|
111
|
+
/** Default number of parallel part uploads. */
|
|
112
|
+
export const DEFAULT_CONCURRENCY = 4;
|
|
113
|
+
/** Default file permissions (Blaxel default). */
|
|
114
|
+
export const DEFAULT_PERMISSIONS = "0644";
|
|
115
|
+
/**
|
|
116
|
+
* Normalize any supported content type into a `Blob`.
|
|
117
|
+
* `Blob.slice()` gives us random-access + lazy reads, so large inputs don't
|
|
118
|
+
* have to sit materialized in memory.
|
|
119
|
+
*/
|
|
120
|
+
export function toBlob(content) {
|
|
121
|
+
if (content instanceof Blob)
|
|
122
|
+
return content;
|
|
123
|
+
if (typeof content === "string") {
|
|
124
|
+
return new Blob([new TextEncoder().encode(content)]);
|
|
125
|
+
}
|
|
126
|
+
return new Blob([content]);
|
|
127
|
+
}
|
|
128
|
+
/**
|
|
129
|
+
* Split a byte range into part plans.
|
|
130
|
+
* Always emits at least one part (even for zero-byte inputs) so the caller
|
|
131
|
+
* still goes through the initiate/upload/complete handshake.
|
|
132
|
+
*/
|
|
133
|
+
export function planParts(totalBytes, partSize) {
|
|
134
|
+
if (!Number.isFinite(partSize) || partSize <= 0) {
|
|
135
|
+
throw new Error(`partSize must be a positive integer (got ${partSize})`);
|
|
136
|
+
}
|
|
137
|
+
const count = totalBytes === 0 ? 1 : Math.ceil(totalBytes / partSize);
|
|
138
|
+
if (count > MAX_PARTS) {
|
|
139
|
+
const minPartSize = Math.ceil(totalBytes / MAX_PARTS);
|
|
140
|
+
throw new Error(`File of ${totalBytes} bytes would require ${count} parts at partSize=${partSize}, ` +
|
|
141
|
+
`but the server accepts at most ${MAX_PARTS}. Increase partSize to at least ${minPartSize}.`);
|
|
142
|
+
}
|
|
143
|
+
const plans = [];
|
|
144
|
+
for (let i = 0; i < count; i++) {
|
|
145
|
+
const start = i * partSize;
|
|
146
|
+
const end = Math.min(start + partSize, totalBytes);
|
|
147
|
+
plans.push({ partNumber: i + 1, start, end });
|
|
148
|
+
}
|
|
149
|
+
return plans;
|
|
150
|
+
}
|
|
151
|
+
/**
|
|
152
|
+
* Run `worker` over `items` with at most `concurrency` promises in flight.
|
|
153
|
+
* Rejects on the first worker failure (and stops scheduling further items).
|
|
154
|
+
*/
|
|
155
|
+
export async function runWithConcurrency(items, concurrency, worker) {
|
|
156
|
+
if (!Number.isFinite(concurrency) || concurrency < 1) {
|
|
157
|
+
throw new Error(`concurrency must be >= 1 (got ${concurrency})`);
|
|
158
|
+
}
|
|
159
|
+
const results = new Array(items.length);
|
|
160
|
+
let next = 0;
|
|
161
|
+
let failed = false;
|
|
162
|
+
let firstError;
|
|
163
|
+
const limit = Math.min(concurrency, items.length);
|
|
164
|
+
const runners = [];
|
|
165
|
+
for (let slot = 0; slot < limit; slot++) {
|
|
166
|
+
runners.push((async () => {
|
|
167
|
+
while (!failed) {
|
|
168
|
+
const i = next++;
|
|
169
|
+
if (i >= items.length)
|
|
170
|
+
return;
|
|
171
|
+
try {
|
|
172
|
+
results[i] = await worker(items[i], i);
|
|
173
|
+
}
|
|
174
|
+
catch (err) {
|
|
175
|
+
if (!failed) {
|
|
176
|
+
failed = true;
|
|
177
|
+
firstError = err;
|
|
178
|
+
}
|
|
179
|
+
return;
|
|
180
|
+
}
|
|
181
|
+
}
|
|
182
|
+
})());
|
|
183
|
+
}
|
|
184
|
+
await Promise.all(runners);
|
|
185
|
+
if (failed)
|
|
186
|
+
throw firstError;
|
|
187
|
+
return results;
|
|
188
|
+
}
|
|
189
|
+
//# sourceMappingURL=multipart.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"multipart.js","sourceRoot":"","sources":["../../src/multipart.ts"],"names":[],"mappings":"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"}
|