@ardrive/turbo-sdk 1.43.0-alpha.2 → 1.43.0-alpha.3
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/lib/cjs/common/chunked.js +10 -1
- package/lib/cjs/common/upload.js +21 -8
- package/lib/esm/common/chunked.js +10 -1
- package/lib/esm/common/upload.js +21 -8
- package/lib/types/common/chunked.d.ts +25 -8
- package/lib/types/common/chunked.d.ts.map +1 -1
- package/lib/types/common/upload.d.ts.map +1 -1
- package/package.json +2 -1
|
@@ -41,13 +41,14 @@ const chunkingHeader = { 'x-chunking-version': '2' };
|
|
|
41
41
|
* uploading them in parallel, and emitting progress/error events.
|
|
42
42
|
*/
|
|
43
43
|
class ChunkedUploader {
|
|
44
|
-
constructor({ http, token, maxChunkConcurrency = exports.defaultMaxChunkConcurrency, maxFinalizeMs, chunkByteCount = exports.defaultChunkByteCount, logger = logger_js_1.Logger.default, chunkingMode = 'auto', dataItemByteCount, x402, x402RefundIdentity, }) {
|
|
44
|
+
constructor({ http, token, maxChunkConcurrency = exports.defaultMaxChunkConcurrency, maxFinalizeMs, chunkByteCount = exports.defaultChunkByteCount, logger = logger_js_1.Logger.default, chunkingMode = 'auto', dataItemByteCount, x402, x402RefundIdentity, paidUploadId, }) {
|
|
45
45
|
this.assertChunkParams({
|
|
46
46
|
chunkByteCount,
|
|
47
47
|
chunkingMode,
|
|
48
48
|
maxChunkConcurrency,
|
|
49
49
|
maxFinalizeMs,
|
|
50
50
|
});
|
|
51
|
+
this.paidUploadId = paidUploadId;
|
|
51
52
|
this.chunkByteCount = chunkByteCount;
|
|
52
53
|
this.maxChunkConcurrency = maxChunkConcurrency;
|
|
53
54
|
this.maxFinalizeMs = maxFinalizeMs;
|
|
@@ -145,6 +146,14 @@ class ChunkedUploader {
|
|
|
145
146
|
this.paidUploadId = res.id;
|
|
146
147
|
return res.id;
|
|
147
148
|
}
|
|
149
|
+
/**
|
|
150
|
+
* The paid upload id, once one has been bought. `uploadFile` reads this after
|
|
151
|
+
* a failed attempt so the next attempt resumes the upload already paid for
|
|
152
|
+
* rather than buying a second one.
|
|
153
|
+
*/
|
|
154
|
+
get currentPaidUploadId() {
|
|
155
|
+
return this.paidUploadId;
|
|
156
|
+
}
|
|
148
157
|
async initUpload() {
|
|
149
158
|
if (this.x402 !== undefined) {
|
|
150
159
|
return this.initPaidUpload(this.x402);
|
package/lib/cjs/common/upload.js
CHANGED
|
@@ -228,6 +228,11 @@ class TurboAuthenticatedBaseUploadService extends TurboUnauthenticatedUploadServ
|
|
|
228
228
|
}
|
|
229
229
|
this.logger.debug('Starting file upload', { params });
|
|
230
230
|
let retries = 0;
|
|
231
|
+
// Carried ACROSS retry attempts. A paid chunked upload is bought before any
|
|
232
|
+
// chunk is accepted, so an attempt that fails after paying must hand its
|
|
233
|
+
// upload id to the next attempt. Rebuilding the uploader with no id is how
|
|
234
|
+
// a single upload gets billed once per retry.
|
|
235
|
+
let paidUploadId;
|
|
231
236
|
const maxRetries = this.retryConfig.retries ?? 3;
|
|
232
237
|
const retryDelay = this.retryConfig.retryDelay ??
|
|
233
238
|
((retryNumber) => retryNumber * 1000);
|
|
@@ -283,6 +288,7 @@ class TurboAuthenticatedBaseUploadService extends TurboUnauthenticatedUploadServ
|
|
|
283
288
|
dataItemByteCount: dataItemSizeFactory(),
|
|
284
289
|
chunkingMode: params.chunkingMode,
|
|
285
290
|
maxFinalizeMs: params.maxFinalizeMs,
|
|
291
|
+
paidUploadId,
|
|
286
292
|
...(x402Options ? { x402: x402Options } : {}),
|
|
287
293
|
...(x402Options
|
|
288
294
|
? {
|
|
@@ -294,14 +300,21 @@ class TurboAuthenticatedBaseUploadService extends TurboUnauthenticatedUploadServ
|
|
|
294
300
|
: {}),
|
|
295
301
|
});
|
|
296
302
|
if (chunkedUploader.shouldUseChunkUploader) {
|
|
297
|
-
|
|
298
|
-
|
|
299
|
-
|
|
300
|
-
|
|
301
|
-
|
|
302
|
-
|
|
303
|
-
|
|
304
|
-
|
|
303
|
+
try {
|
|
304
|
+
const response = await chunkedUploader.upload({
|
|
305
|
+
dataItemStreamFactory,
|
|
306
|
+
dataItemSizeFactory,
|
|
307
|
+
dataItemOpts,
|
|
308
|
+
signal,
|
|
309
|
+
events,
|
|
310
|
+
});
|
|
311
|
+
return { ...response, cryptoFundResult };
|
|
312
|
+
}
|
|
313
|
+
finally {
|
|
314
|
+
// Read on the way out, success or failure. On failure this is the
|
|
315
|
+
// whole point: the next attempt resumes what this one paid for.
|
|
316
|
+
paidUploadId = chunkedUploader.currentPaidUploadId ?? paidUploadId;
|
|
317
|
+
}
|
|
305
318
|
}
|
|
306
319
|
const response = await this.uploadSignedDataItem({
|
|
307
320
|
dataItemStreamFactory,
|
|
@@ -35,13 +35,14 @@ const chunkingHeader = { 'x-chunking-version': '2' };
|
|
|
35
35
|
* uploading them in parallel, and emitting progress/error events.
|
|
36
36
|
*/
|
|
37
37
|
export class ChunkedUploader {
|
|
38
|
-
constructor({ http, token, maxChunkConcurrency = defaultMaxChunkConcurrency, maxFinalizeMs, chunkByteCount = defaultChunkByteCount, logger = Logger.default, chunkingMode = 'auto', dataItemByteCount, x402, x402RefundIdentity, }) {
|
|
38
|
+
constructor({ http, token, maxChunkConcurrency = defaultMaxChunkConcurrency, maxFinalizeMs, chunkByteCount = defaultChunkByteCount, logger = Logger.default, chunkingMode = 'auto', dataItemByteCount, x402, x402RefundIdentity, paidUploadId, }) {
|
|
39
39
|
this.assertChunkParams({
|
|
40
40
|
chunkByteCount,
|
|
41
41
|
chunkingMode,
|
|
42
42
|
maxChunkConcurrency,
|
|
43
43
|
maxFinalizeMs,
|
|
44
44
|
});
|
|
45
|
+
this.paidUploadId = paidUploadId;
|
|
45
46
|
this.chunkByteCount = chunkByteCount;
|
|
46
47
|
this.maxChunkConcurrency = maxChunkConcurrency;
|
|
47
48
|
this.maxFinalizeMs = maxFinalizeMs;
|
|
@@ -139,6 +140,14 @@ export class ChunkedUploader {
|
|
|
139
140
|
this.paidUploadId = res.id;
|
|
140
141
|
return res.id;
|
|
141
142
|
}
|
|
143
|
+
/**
|
|
144
|
+
* The paid upload id, once one has been bought. `uploadFile` reads this after
|
|
145
|
+
* a failed attempt so the next attempt resumes the upload already paid for
|
|
146
|
+
* rather than buying a second one.
|
|
147
|
+
*/
|
|
148
|
+
get currentPaidUploadId() {
|
|
149
|
+
return this.paidUploadId;
|
|
150
|
+
}
|
|
142
151
|
async initUpload() {
|
|
143
152
|
if (this.x402 !== undefined) {
|
|
144
153
|
return this.initPaidUpload(this.x402);
|
package/lib/esm/common/upload.js
CHANGED
|
@@ -224,6 +224,11 @@ export class TurboAuthenticatedBaseUploadService extends TurboUnauthenticatedUpl
|
|
|
224
224
|
}
|
|
225
225
|
this.logger.debug('Starting file upload', { params });
|
|
226
226
|
let retries = 0;
|
|
227
|
+
// Carried ACROSS retry attempts. A paid chunked upload is bought before any
|
|
228
|
+
// chunk is accepted, so an attempt that fails after paying must hand its
|
|
229
|
+
// upload id to the next attempt. Rebuilding the uploader with no id is how
|
|
230
|
+
// a single upload gets billed once per retry.
|
|
231
|
+
let paidUploadId;
|
|
227
232
|
const maxRetries = this.retryConfig.retries ?? 3;
|
|
228
233
|
const retryDelay = this.retryConfig.retryDelay ??
|
|
229
234
|
((retryNumber) => retryNumber * 1000);
|
|
@@ -279,6 +284,7 @@ export class TurboAuthenticatedBaseUploadService extends TurboUnauthenticatedUpl
|
|
|
279
284
|
dataItemByteCount: dataItemSizeFactory(),
|
|
280
285
|
chunkingMode: params.chunkingMode,
|
|
281
286
|
maxFinalizeMs: params.maxFinalizeMs,
|
|
287
|
+
paidUploadId,
|
|
282
288
|
...(x402Options ? { x402: x402Options } : {}),
|
|
283
289
|
...(x402Options
|
|
284
290
|
? {
|
|
@@ -290,14 +296,21 @@ export class TurboAuthenticatedBaseUploadService extends TurboUnauthenticatedUpl
|
|
|
290
296
|
: {}),
|
|
291
297
|
});
|
|
292
298
|
if (chunkedUploader.shouldUseChunkUploader) {
|
|
293
|
-
|
|
294
|
-
|
|
295
|
-
|
|
296
|
-
|
|
297
|
-
|
|
298
|
-
|
|
299
|
-
|
|
300
|
-
|
|
299
|
+
try {
|
|
300
|
+
const response = await chunkedUploader.upload({
|
|
301
|
+
dataItemStreamFactory,
|
|
302
|
+
dataItemSizeFactory,
|
|
303
|
+
dataItemOpts,
|
|
304
|
+
signal,
|
|
305
|
+
events,
|
|
306
|
+
});
|
|
307
|
+
return { ...response, cryptoFundResult };
|
|
308
|
+
}
|
|
309
|
+
finally {
|
|
310
|
+
// Read on the way out, success or failure. On failure this is the
|
|
311
|
+
// whole point: the next attempt resumes what this one paid for.
|
|
312
|
+
paidUploadId = chunkedUploader.currentPaidUploadId ?? paidUploadId;
|
|
313
|
+
}
|
|
301
314
|
}
|
|
302
315
|
const response = await this.uploadSignedDataItem({
|
|
303
316
|
dataItemStreamFactory,
|
|
@@ -16,13 +16,18 @@ export declare class ChunkedUploader {
|
|
|
16
16
|
/**
|
|
17
17
|
* The upload id of an x402 upload we have ALREADY PAID FOR.
|
|
18
18
|
*
|
|
19
|
-
* `uploadFile` retries a failed upload up to 6 times
|
|
20
|
-
*
|
|
21
|
-
*
|
|
22
|
-
*
|
|
23
|
-
*
|
|
24
|
-
*
|
|
25
|
-
*
|
|
19
|
+
* `uploadFile` retries a failed upload up to 6 times. Without this memo each
|
|
20
|
+
* retry opens a NEW paid upload, so one 12 MiB upload whose finalization
|
|
21
|
+
* timed out billed the customer five times over — observed, not theoretical.
|
|
22
|
+
* The payment is bound to an upload id, so a retry must resume THAT upload,
|
|
23
|
+
* never buy another. Deliberately not reset on failure: re-paying is never
|
|
24
|
+
* the right recovery, and an upload that cannot be resumed is refunded
|
|
25
|
+
* server-side.
|
|
26
|
+
*
|
|
27
|
+
* A retry does NOT re-enter `upload()` on this instance: `uploadFile`
|
|
28
|
+
* constructs a fresh uploader each attempt, so this memo only survives
|
|
29
|
+
* because that caller reads {@link currentPaidUploadId} and hands it back
|
|
30
|
+
* through the constructor.
|
|
26
31
|
*/
|
|
27
32
|
private paidUploadId;
|
|
28
33
|
private readonly http;
|
|
@@ -38,7 +43,7 @@ export declare class ChunkedUploader {
|
|
|
38
43
|
* that actually arrive and penalises an under-declaration.
|
|
39
44
|
*/
|
|
40
45
|
private dataItemByteCount;
|
|
41
|
-
constructor({ http, token, maxChunkConcurrency, maxFinalizeMs, chunkByteCount, logger, chunkingMode, dataItemByteCount, x402, x402RefundIdentity, }: {
|
|
46
|
+
constructor({ http, token, maxChunkConcurrency, maxFinalizeMs, chunkByteCount, logger, chunkingMode, dataItemByteCount, x402, x402RefundIdentity, paidUploadId, }: {
|
|
42
47
|
maxFinalizeMs?: number;
|
|
43
48
|
http: TurboHTTPService;
|
|
44
49
|
token: string;
|
|
@@ -60,6 +65,12 @@ export declare class ChunkedUploader {
|
|
|
60
65
|
address: string;
|
|
61
66
|
signatureType: number;
|
|
62
67
|
};
|
|
68
|
+
/**
|
|
69
|
+
* An upload this caller has ALREADY PAID FOR. `uploadFile` builds a new
|
|
70
|
+
* uploader per retry attempt, so the in-instance memo below cannot survive
|
|
71
|
+
* a retry on its own: the id has to be handed back in.
|
|
72
|
+
*/
|
|
73
|
+
paidUploadId?: string;
|
|
63
74
|
});
|
|
64
75
|
private shouldChunkUpload;
|
|
65
76
|
private assertChunkParams;
|
|
@@ -78,6 +89,12 @@ export declare class ChunkedUploader {
|
|
|
78
89
|
* spend cap behave identically on both paths.
|
|
79
90
|
*/
|
|
80
91
|
private initPaidUpload;
|
|
92
|
+
/**
|
|
93
|
+
* The paid upload id, once one has been bought. `uploadFile` reads this after
|
|
94
|
+
* a failed attempt so the next attempt resumes the upload already paid for
|
|
95
|
+
* rather than buying a second one.
|
|
96
|
+
*/
|
|
97
|
+
get currentPaidUploadId(): string | undefined;
|
|
81
98
|
private initUpload;
|
|
82
99
|
upload({ dataItemSizeFactory, dataItemStreamFactory, dataItemOpts, signal, events, }: UploadSignedDataItemParams): Promise<TurboUploadDataItemResponse>;
|
|
83
100
|
private toGiB;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"chunked.d.ts","sourceRoot":"","sources":["../../../src/common/chunked.ts"],"names":[],"mappings":"AAgBA,OAAO,EAAE,QAAQ,EAAE,MAAM,QAAQ,CAAC;AAElC,OAAO,EACL,SAAS,EAET,iBAAiB,EACjB,WAAW,EAEX,2BAA2B,EAC3B,0BAA0B,EAC1B,sBAAsB,EAGvB,MAAM,aAAa,CAAC;AAKrB,OAAO,EAAE,gBAAgB,EAAE,MAAM,WAAW,CAAC;AAK7C,eAAO,MAAM,0BAA0B,IAAI,CAAC;AAK5C,eAAO,MAAM,iBAAiB,QAAiB,CAAC;AAChD,eAAO,MAAM,iBAAiB,QAAU,CAAC;AACzC,eAAO,MAAM,qBAAqB,QAAoB,CAAC;AAKvD;;;GAGG;AACH,qBAAa,eAAe;IAC1B,OAAO,CAAC,cAAc,CAAS;IAC/B,OAAO,CAAC,QAAQ,CAAC,mBAAmB,CAAS;IAC7C,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAqB;IAEnD
|
|
1
|
+
{"version":3,"file":"chunked.d.ts","sourceRoot":"","sources":["../../../src/common/chunked.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"upload.d.ts","sourceRoot":"","sources":["../../../src/common/upload.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"upload.d.ts","sourceRoot":"","sources":["../../../src/common/upload.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@ardrive/turbo-sdk",
|
|
3
|
-
"version": "1.43.0-alpha.
|
|
3
|
+
"version": "1.43.0-alpha.3",
|
|
4
4
|
"main": "./lib/cjs/node/index.js",
|
|
5
5
|
"types": "./lib/types/node/index.d.ts",
|
|
6
6
|
"module": "./lib/esm/node/index.js",
|
|
@@ -65,6 +65,7 @@
|
|
|
65
65
|
"examples": "yarn example:esm & yarn example:cjs & yarn example:ts:esm & yarn example:ts:cjs",
|
|
66
66
|
"example:vite": "cd examples/vite && yarn && yarn start",
|
|
67
67
|
"example:esm": "cd examples/esm && yarn && node index.mjs",
|
|
68
|
+
"example:folder-index": "cd examples/folder-index && yarn && node index.mjs",
|
|
68
69
|
"example:cjs": "cd examples/cjs && yarn && node index.cjs",
|
|
69
70
|
"example:web": "http-server --port 8080 --host -o examples/web",
|
|
70
71
|
"example:ts:esm": "cd examples/typescript/esm && yarn && yarn test",
|