@ardrive/turbo-sdk 1.30.0 → 1.31.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/README.md +36 -2
- package/bundles/web.bundle.min.js +490 -17
- package/lib/cjs/cli/commands/uploadFile.js +1 -0
- package/lib/cjs/cli/commands/uploadFolder.js +5 -1
- package/lib/cjs/cli/options.js +22 -1
- package/lib/cjs/cli/types.js +0 -15
- package/lib/cjs/cli/utils.js +14 -0
- package/lib/cjs/common/chunked.js +414 -0
- package/lib/cjs/common/http.js +1 -0
- package/lib/cjs/common/turbo.js +10 -2
- package/lib/cjs/common/upload.js +42 -10
- package/lib/cjs/types.js +14 -1
- package/lib/cjs/version.js +1 -1
- package/lib/esm/cli/commands/uploadFile.js +2 -1
- package/lib/esm/cli/commands/uploadFolder.js +5 -1
- package/lib/esm/cli/options.js +22 -1
- package/lib/esm/cli/types.js +0 -15
- package/lib/esm/cli/utils.js +13 -0
- package/lib/esm/common/chunked.js +407 -0
- package/lib/esm/common/http.js +1 -0
- package/lib/esm/common/turbo.js +10 -2
- package/lib/esm/common/upload.js +42 -10
- package/lib/esm/types.js +13 -0
- package/lib/esm/version.js +1 -1
- package/lib/types/cli/commands/uploadFile.d.ts.map +1 -1
- package/lib/types/cli/commands/uploadFolder.d.ts.map +1 -1
- package/lib/types/cli/options.d.ts +58 -2
- package/lib/types/cli/options.d.ts.map +1 -1
- package/lib/types/cli/types.d.ts +5 -0
- package/lib/types/cli/types.d.ts.map +1 -1
- package/lib/types/cli/utils.d.ts +3 -2
- package/lib/types/cli/utils.d.ts.map +1 -1
- package/lib/types/common/chunked.d.ts +48 -0
- package/lib/types/common/chunked.d.ts.map +1 -0
- package/lib/types/common/http.d.ts +1 -1
- package/lib/types/common/http.d.ts.map +1 -1
- package/lib/types/common/turbo.d.ts +2 -2
- package/lib/types/common/turbo.d.ts.map +1 -1
- package/lib/types/common/upload.d.ts +3 -3
- package/lib/types/common/upload.d.ts.map +1 -1
- package/lib/types/types.d.ts +48 -4
- package/lib/types/types.d.ts.map +1 -1
- package/lib/types/version.d.ts +1 -1
- package/package.json +9 -5
package/lib/esm/common/upload.js
CHANGED
|
@@ -18,6 +18,7 @@ import { pLimit } from 'plimit-lit';
|
|
|
18
18
|
import { defaultRetryConfig } from '../utils/axiosClient.js';
|
|
19
19
|
import { isBlob, sleep } from '../utils/common.js';
|
|
20
20
|
import { FailedRequestError } from '../utils/errors.js';
|
|
21
|
+
import { ChunkedUploader } from './chunked.js';
|
|
21
22
|
import { TurboEventEmitter, createStreamWithUploadEvents } from './events.js';
|
|
22
23
|
import { TurboHTTPService } from './http.js';
|
|
23
24
|
import { TurboWinstonLogger } from './logger.js';
|
|
@@ -91,7 +92,7 @@ export class TurboAuthenticatedBaseUploadService extends TurboUnauthenticatedUpl
|
|
|
91
92
|
/**
|
|
92
93
|
* Signs and uploads raw data to the Turbo Upload Service.
|
|
93
94
|
*/
|
|
94
|
-
upload({ data, dataItemOpts, signal, events, }) {
|
|
95
|
+
upload({ data, dataItemOpts, signal, events, chunkByteCount, chunkingMode, maxChunkConcurrency, }) {
|
|
95
96
|
// This function is intended to be usable in both Node and browser environments.
|
|
96
97
|
if (isBlob(data)) {
|
|
97
98
|
const streamFactory = () => data.stream();
|
|
@@ -119,6 +120,9 @@ export class TurboAuthenticatedBaseUploadService extends TurboUnauthenticatedUpl
|
|
|
119
120
|
signal,
|
|
120
121
|
dataItemOpts,
|
|
121
122
|
events,
|
|
123
|
+
chunkByteCount,
|
|
124
|
+
chunkingMode,
|
|
125
|
+
maxChunkConcurrency,
|
|
122
126
|
});
|
|
123
127
|
}
|
|
124
128
|
resolveUploadFileConfig(params) {
|
|
@@ -159,22 +163,43 @@ export class TurboAuthenticatedBaseUploadService extends TurboUnauthenticatedUpl
|
|
|
159
163
|
let lastStatusCode = undefined; // Store the last status code for throwing
|
|
160
164
|
const emitter = new TurboEventEmitter(events);
|
|
161
165
|
// avoid duplicating signing on failures here - these errors will immediately be thrown
|
|
162
|
-
// TODO: create a SigningError class and throw that instead of the generic Error
|
|
163
|
-
const { dataItemStreamFactory, dataItemSizeFactory } = await this.signer.signDataItem({
|
|
164
|
-
fileStreamFactory,
|
|
165
|
-
fileSizeFactory,
|
|
166
|
-
dataItemOpts,
|
|
167
|
-
emitter,
|
|
168
|
-
});
|
|
169
166
|
// TODO: move the retry implementation to the http class, and avoid awaiting here. This will standardize the retry logic across all upload methods.
|
|
170
167
|
while (retries < maxRetries) {
|
|
171
168
|
if (signal?.aborted) {
|
|
172
169
|
throw new CanceledError();
|
|
173
170
|
}
|
|
171
|
+
// TODO: create a SigningError class and throw that instead of the generic Error
|
|
172
|
+
const { dataItemStreamFactory, dataItemSizeFactory } = await this.signer.signDataItem({
|
|
173
|
+
fileStreamFactory,
|
|
174
|
+
fileSizeFactory,
|
|
175
|
+
dataItemOpts,
|
|
176
|
+
emitter,
|
|
177
|
+
});
|
|
174
178
|
// Now that we have the signed data item, we can upload it using the uploadSignedDataItem method
|
|
175
179
|
// which will create a new emitter with upload events. We await
|
|
176
180
|
// this result due to the wrapped retry logic of this method.
|
|
177
181
|
try {
|
|
182
|
+
const { chunkByteCount, maxChunkConcurrency } = params;
|
|
183
|
+
const chunkedUploader = new ChunkedUploader({
|
|
184
|
+
http: this.httpService,
|
|
185
|
+
token: this.token,
|
|
186
|
+
maxChunkConcurrency,
|
|
187
|
+
chunkByteCount,
|
|
188
|
+
logger: this.logger,
|
|
189
|
+
dataItemByteCount: dataItemSizeFactory(),
|
|
190
|
+
chunkingMode: params.chunkingMode,
|
|
191
|
+
maxFinalizeMs: params.maxFinalizeMs,
|
|
192
|
+
});
|
|
193
|
+
if (chunkedUploader.shouldUseChunkUploader) {
|
|
194
|
+
const response = await chunkedUploader.upload({
|
|
195
|
+
dataItemStreamFactory,
|
|
196
|
+
dataItemSizeFactory,
|
|
197
|
+
dataItemOpts,
|
|
198
|
+
signal,
|
|
199
|
+
events,
|
|
200
|
+
});
|
|
201
|
+
return response;
|
|
202
|
+
}
|
|
178
203
|
const response = await this.uploadSignedDataItem({
|
|
179
204
|
dataItemStreamFactory,
|
|
180
205
|
dataItemSizeFactory,
|
|
@@ -212,7 +237,7 @@ export class TurboAuthenticatedBaseUploadService extends TurboUnauthenticatedUpl
|
|
|
212
237
|
]);
|
|
213
238
|
}
|
|
214
239
|
}
|
|
215
|
-
const msg = `Failed to upload file after ${
|
|
240
|
+
const msg = `Failed to upload file after ${retries + 1} attempts\n${lastError instanceof Error ? lastError.message : lastError}`;
|
|
216
241
|
// After all retries, throw the last error for catching
|
|
217
242
|
if (lastError instanceof FailedRequestError) {
|
|
218
243
|
lastError.message = msg;
|
|
@@ -263,7 +288,7 @@ export class TurboAuthenticatedBaseUploadService extends TurboUnauthenticatedUpl
|
|
|
263
288
|
*/
|
|
264
289
|
async uploadFolder(params) {
|
|
265
290
|
this.logger.debug('Uploading folder...', { params });
|
|
266
|
-
const { dataItemOpts, signal, manifestOptions = {}, maxConcurrentUploads = 1, throwOnFailure = true, } = params;
|
|
291
|
+
const { dataItemOpts, signal, manifestOptions = {}, maxConcurrentUploads = 1, throwOnFailure = true, maxChunkConcurrency, chunkByteCount, chunkingMode, maxFinalizeMs, } = params;
|
|
267
292
|
const { disableManifest, indexFile, fallbackFile } = manifestOptions;
|
|
268
293
|
const paths = {};
|
|
269
294
|
const response = {
|
|
@@ -287,6 +312,9 @@ export class TurboAuthenticatedBaseUploadService extends TurboUnauthenticatedUpl
|
|
|
287
312
|
fileSizeFactory: () => this.getFileSize(file),
|
|
288
313
|
signal,
|
|
289
314
|
dataItemOpts: dataItemOptsWithContentType,
|
|
315
|
+
chunkByteCount,
|
|
316
|
+
maxChunkConcurrency,
|
|
317
|
+
chunkingMode,
|
|
290
318
|
});
|
|
291
319
|
const relativePath = this.getRelativePath(file, params);
|
|
292
320
|
paths[relativePath] = { id: result.id };
|
|
@@ -332,6 +360,10 @@ export class TurboAuthenticatedBaseUploadService extends TurboUnauthenticatedUpl
|
|
|
332
360
|
fileSizeFactory: () => manifestBuffer.byteLength,
|
|
333
361
|
signal,
|
|
334
362
|
dataItemOpts: { ...dataItemOpts, tags: tagsWithManifestContentType },
|
|
363
|
+
chunkByteCount,
|
|
364
|
+
maxChunkConcurrency,
|
|
365
|
+
maxFinalizeMs,
|
|
366
|
+
chunkingMode,
|
|
335
367
|
});
|
|
336
368
|
return {
|
|
337
369
|
...response,
|
package/lib/esm/types.js
CHANGED
|
@@ -23,6 +23,18 @@ export const tokenTypes = [
|
|
|
23
23
|
'pol',
|
|
24
24
|
'base-eth',
|
|
25
25
|
];
|
|
26
|
+
export const multipartPendingStatus = [
|
|
27
|
+
'ASSEMBLING',
|
|
28
|
+
'VALIDATING',
|
|
29
|
+
'FINALIZING',
|
|
30
|
+
];
|
|
31
|
+
export const multipartFailedStatus = [
|
|
32
|
+
'UNDERFUNDED',
|
|
33
|
+
'INVALID',
|
|
34
|
+
'APPROVAL_FAILED',
|
|
35
|
+
'REVOKE_FAILED',
|
|
36
|
+
];
|
|
37
|
+
export const multipartFinalizedStatus = ['FINALIZED'];
|
|
26
38
|
export const isNodeUploadFolderParams = (p) => p.folderPath !== undefined;
|
|
27
39
|
export const isWebUploadFolderParams = (p) => p.files !== undefined;
|
|
28
40
|
export function isKyvePrivateKey(wallet) {
|
|
@@ -43,3 +55,4 @@ export function isSolanaWalletAdapter(walletAdapter) {
|
|
|
43
55
|
export function isEthereumWalletAdapter(walletAdapter) {
|
|
44
56
|
return 'getSigner' in walletAdapter;
|
|
45
57
|
}
|
|
58
|
+
export const validChunkingModes = ['force', 'disabled', 'auto'];
|
package/lib/esm/version.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"uploadFile.d.ts","sourceRoot":"","sources":["../../../../src/cli/commands/uploadFile.ts"],"names":[],"mappings":"AAkBA,OAAO,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"uploadFile.d.ts","sourceRoot":"","sources":["../../../../src/cli/commands/uploadFile.ts"],"names":[],"mappings":"AAkBA,OAAO,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAQhD,wBAAsB,UAAU,CAAC,OAAO,EAAE,iBAAiB,GAAG,OAAO,CAAC,IAAI,CAAC,CAmB1E"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"uploadFolder.d.ts","sourceRoot":"","sources":["../../../../src/cli/commands/uploadFolder.ts"],"names":[],"mappings":"AAgBA,OAAO,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AAQlD,wBAAsB,YAAY,CAChC,OAAO,EAAE,mBAAmB,GAC3B,OAAO,CAAC,IAAI,CAAC,
|
|
1
|
+
{"version":3,"file":"uploadFolder.d.ts","sourceRoot":"","sources":["../../../../src/cli/commands/uploadFolder.ts"],"names":[],"mappings":"AAgBA,OAAO,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AAQlD,wBAAsB,YAAY,CAChC,OAAO,EAAE,mBAAmB,GAC3B,OAAO,CAAC,IAAI,CAAC,CAkCf"}
|
|
@@ -131,7 +131,7 @@ export declare const optionMap: {
|
|
|
131
131
|
};
|
|
132
132
|
readonly maxConcurrency: {
|
|
133
133
|
readonly alias: "--max-concurrency <maxConcurrency>";
|
|
134
|
-
readonly description: "Maximum number of concurrent uploads";
|
|
134
|
+
readonly description: "Maximum number of concurrent file uploads";
|
|
135
135
|
};
|
|
136
136
|
readonly paidBy: {
|
|
137
137
|
readonly alias: "--paid-by <paidBy...>";
|
|
@@ -156,6 +156,23 @@ export declare const optionMap: {
|
|
|
156
156
|
readonly alias: "--byte-count <byteCount>";
|
|
157
157
|
readonly description: "Number of bytes to use for the action";
|
|
158
158
|
};
|
|
159
|
+
readonly maxChunkConcurrency: {
|
|
160
|
+
readonly alias: "--max-chunk-concurrency <maxChunkConcurrency>";
|
|
161
|
+
readonly description: "Maximum number of concurrent chunks to upload per file";
|
|
162
|
+
};
|
|
163
|
+
readonly maxFinalizeMs: {
|
|
164
|
+
readonly alias: "--max-finalize-ms <maxFinalizeMs>";
|
|
165
|
+
readonly description: "Maximum time in milliseconds to wait for the finalization of all chunks after the last chunk is uploaded. Defaults to 1 minute per GiB of the total file size.";
|
|
166
|
+
};
|
|
167
|
+
readonly chunkByteCount: {
|
|
168
|
+
readonly alias: "--chunk-byte-count <chunkByteCount>";
|
|
169
|
+
readonly description: "Size of each chunk in bytes";
|
|
170
|
+
};
|
|
171
|
+
readonly chunkingMode: {
|
|
172
|
+
readonly alias: "--chunking-mode <chunkingMode>";
|
|
173
|
+
readonly description: "Chunking mode to use for the upload. Can be \"auto\", \"force\" or \"disabled\". Defaults to \"auto\".";
|
|
174
|
+
readonly default: "auto";
|
|
175
|
+
};
|
|
159
176
|
};
|
|
160
177
|
export declare const walletOptions: ({
|
|
161
178
|
readonly alias: "-w, --wallet-file <filePath>";
|
|
@@ -229,6 +246,19 @@ export declare const uploadOptions: ({
|
|
|
229
246
|
readonly alias: "--use-signer-balance-first";
|
|
230
247
|
readonly description: "Use the signer balance first before using credit share approvals";
|
|
231
248
|
readonly default: false;
|
|
249
|
+
} | {
|
|
250
|
+
readonly alias: "--max-chunk-concurrency <maxChunkConcurrency>";
|
|
251
|
+
readonly description: "Maximum number of concurrent chunks to upload per file";
|
|
252
|
+
} | {
|
|
253
|
+
readonly alias: "--max-finalize-ms <maxFinalizeMs>";
|
|
254
|
+
readonly description: "Maximum time in milliseconds to wait for the finalization of all chunks after the last chunk is uploaded. Defaults to 1 minute per GiB of the total file size.";
|
|
255
|
+
} | {
|
|
256
|
+
readonly alias: "--chunk-byte-count <chunkByteCount>";
|
|
257
|
+
readonly description: "Size of each chunk in bytes";
|
|
258
|
+
} | {
|
|
259
|
+
readonly alias: "--chunking-mode <chunkingMode>";
|
|
260
|
+
readonly description: "Chunking mode to use for the upload. Can be \"auto\", \"force\" or \"disabled\". Defaults to \"auto\".";
|
|
261
|
+
readonly default: "auto";
|
|
232
262
|
})[];
|
|
233
263
|
export declare const uploadFolderOptions: ({
|
|
234
264
|
readonly description: "An array of additional tags for the write action, in \"--tags name1 value1 name2 value2\" format";
|
|
@@ -258,7 +288,7 @@ export declare const uploadFolderOptions: ({
|
|
|
258
288
|
readonly default: true;
|
|
259
289
|
} | {
|
|
260
290
|
readonly alias: "--max-concurrency <maxConcurrency>";
|
|
261
|
-
readonly description: "Maximum number of concurrent uploads";
|
|
291
|
+
readonly description: "Maximum number of concurrent file uploads";
|
|
262
292
|
} | {
|
|
263
293
|
readonly alias: "--paid-by <paidBy...>";
|
|
264
294
|
readonly description: "Address to pay for the upload";
|
|
@@ -271,6 +301,19 @@ export declare const uploadFolderOptions: ({
|
|
|
271
301
|
readonly alias: "--use-signer-balance-first";
|
|
272
302
|
readonly description: "Use the signer balance first before using credit share approvals";
|
|
273
303
|
readonly default: false;
|
|
304
|
+
} | {
|
|
305
|
+
readonly alias: "--max-chunk-concurrency <maxChunkConcurrency>";
|
|
306
|
+
readonly description: "Maximum number of concurrent chunks to upload per file";
|
|
307
|
+
} | {
|
|
308
|
+
readonly alias: "--max-finalize-ms <maxFinalizeMs>";
|
|
309
|
+
readonly description: "Maximum time in milliseconds to wait for the finalization of all chunks after the last chunk is uploaded. Defaults to 1 minute per GiB of the total file size.";
|
|
310
|
+
} | {
|
|
311
|
+
readonly alias: "--chunk-byte-count <chunkByteCount>";
|
|
312
|
+
readonly description: "Size of each chunk in bytes";
|
|
313
|
+
} | {
|
|
314
|
+
readonly alias: "--chunking-mode <chunkingMode>";
|
|
315
|
+
readonly description: "Chunking mode to use for the upload. Can be \"auto\", \"force\" or \"disabled\". Defaults to \"auto\".";
|
|
316
|
+
readonly default: "auto";
|
|
274
317
|
})[];
|
|
275
318
|
export declare const uploadFileOptions: ({
|
|
276
319
|
readonly description: "An array of additional tags for the write action, in \"--tags name1 value1 name2 value2\" format";
|
|
@@ -300,6 +343,19 @@ export declare const uploadFileOptions: ({
|
|
|
300
343
|
readonly alias: "--use-signer-balance-first";
|
|
301
344
|
readonly description: "Use the signer balance first before using credit share approvals";
|
|
302
345
|
readonly default: false;
|
|
346
|
+
} | {
|
|
347
|
+
readonly alias: "--max-chunk-concurrency <maxChunkConcurrency>";
|
|
348
|
+
readonly description: "Maximum number of concurrent chunks to upload per file";
|
|
349
|
+
} | {
|
|
350
|
+
readonly alias: "--max-finalize-ms <maxFinalizeMs>";
|
|
351
|
+
readonly description: "Maximum time in milliseconds to wait for the finalization of all chunks after the last chunk is uploaded. Defaults to 1 minute per GiB of the total file size.";
|
|
352
|
+
} | {
|
|
353
|
+
readonly alias: "--chunk-byte-count <chunkByteCount>";
|
|
354
|
+
readonly description: "Size of each chunk in bytes";
|
|
355
|
+
} | {
|
|
356
|
+
readonly alias: "--chunking-mode <chunkingMode>";
|
|
357
|
+
readonly description: "Chunking mode to use for the upload. Can be \"auto\", \"force\" or \"disabled\". Defaults to \"auto\".";
|
|
358
|
+
readonly default: "auto";
|
|
303
359
|
})[];
|
|
304
360
|
export declare const shareCreditsOptions: ({
|
|
305
361
|
readonly alias: "-a, --address <nativeAddress>";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"options.d.ts","sourceRoot":"","sources":["../../../src/cli/options.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,eAAO,MAAM,SAAS
|
|
1
|
+
{"version":3,"file":"options.d.ts","sourceRoot":"","sources":["../../../src/cli/options.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,eAAO,MAAM,SAAS;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAyKZ,CAAC;AAEX,eAAO,MAAM,aAAa;;;;;;;;;IAIzB,CAAC;AAEF,eAAO,MAAM,aAAa;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAUzB,CAAC;AAEF,eAAO,MAAM,aAAa;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAUzB,CAAC;AAEF,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAO/B,CAAC;AAEF,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAAyC,CAAC;AAExE,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;;;;;;IAK/B,CAAC;AAEF,eAAO,MAAM,oBAAoB;;;;;;;;;;;;IAAwC,CAAC;AAE1E,eAAO,MAAM,iBAAiB;;;;;;;;;;;;IAAuB,CAAC"}
|
package/lib/types/cli/types.d.ts
CHANGED
|
@@ -13,6 +13,7 @@
|
|
|
13
13
|
* See the License for the specific language governing permissions and
|
|
14
14
|
* limitations under the License.
|
|
15
15
|
*/
|
|
16
|
+
import { TurboChunkingMode } from '../types.js';
|
|
16
17
|
export type GlobalOptions = {
|
|
17
18
|
dev: boolean;
|
|
18
19
|
local: boolean;
|
|
@@ -43,6 +44,10 @@ export type UploadOptions = WalletOptions & {
|
|
|
43
44
|
ignoreApprovals: boolean;
|
|
44
45
|
useSignerBalanceFirst: boolean;
|
|
45
46
|
tags: string[] | undefined;
|
|
47
|
+
maxChunkConcurrency: string | undefined;
|
|
48
|
+
maxFinalizeMs: string | undefined;
|
|
49
|
+
chunkByteCount: string | undefined;
|
|
50
|
+
chunkingMode: TurboChunkingMode | undefined;
|
|
46
51
|
};
|
|
47
52
|
export type UploadFolderOptions = UploadOptions & {
|
|
48
53
|
folderPath: string | undefined;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/cli/types.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/cli/types.ts"],"names":[],"mappings":"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"}
|
package/lib/types/cli/utils.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { Command, OptionValues } from 'commander';
|
|
2
|
-
import { Currency, TokenType, TurboAuthenticatedClient, TurboUnauthenticatedConfiguration } from '../node/index.js';
|
|
2
|
+
import { Currency, TokenType, TurboAuthenticatedClient, TurboChunkingParams, TurboUnauthenticatedConfiguration } from '../node/index.js';
|
|
3
3
|
import { AddressOptions, GlobalOptions, TokenPriceOptions, UploadFolderOptions, UploadOptions, WalletOptions } from './types.js';
|
|
4
4
|
export declare function exitWithErrorLog(error: unknown): void;
|
|
5
5
|
export declare function runCommand<T extends OptionValues>(command: Command, action: (options: T) => Promise<void>): Promise<void>;
|
|
@@ -27,7 +27,7 @@ export declare function getUploadFolderOptions(options: UploadFolderOptions): {
|
|
|
27
27
|
fallbackFile: string | undefined;
|
|
28
28
|
disableManifest: boolean;
|
|
29
29
|
maxConcurrentUploads: number;
|
|
30
|
-
}
|
|
30
|
+
} & Partial<TurboChunkingParams>;
|
|
31
31
|
/**
|
|
32
32
|
* Parse tags array from CLI input into Tag array
|
|
33
33
|
* Accepts format: ["name1", "value1", "name2", "value2"]
|
|
@@ -46,5 +46,6 @@ export declare function currencyFromOptions<T extends GlobalOptions & {
|
|
|
46
46
|
currency?: string;
|
|
47
47
|
}>(options: T): Currency | undefined;
|
|
48
48
|
export declare function requiredByteCountFromOptions({ byteCount, }: TokenPriceOptions): number;
|
|
49
|
+
export declare function getChunkingOptions<O extends UploadOptions>(options: O): Partial<TurboChunkingParams>;
|
|
49
50
|
export {};
|
|
50
51
|
//# sourceMappingURL=utils.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../src/cli/utils.ts"],"names":[],"mappings":"AAgBA,OAAO,EAAE,OAAO,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AAGlD,OAAO,EACL,QAAQ,EACR,SAAS,EACT,wBAAwB,
|
|
1
|
+
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../src/cli/utils.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
import { Readable } from 'stream';
|
|
2
|
+
import { ByteCount, TurboChunkingMode, TurboLogger, TurboUploadDataItemResponse, UploadSignedDataItemParams } from '../types.js';
|
|
3
|
+
import { TurboHTTPService } from './http.js';
|
|
4
|
+
export declare const defaultMaxChunkConcurrency = 5;
|
|
5
|
+
export declare const maxChunkByteCount: number;
|
|
6
|
+
export declare const minChunkByteCount: number;
|
|
7
|
+
export declare const defaultChunkByteCount: number;
|
|
8
|
+
/**
|
|
9
|
+
* Performs a chunked upload by splitting the stream into fixed-size buffers,
|
|
10
|
+
* uploading them in parallel, and emitting progress/error events.
|
|
11
|
+
*/
|
|
12
|
+
export declare class ChunkedUploader {
|
|
13
|
+
private chunkByteCount;
|
|
14
|
+
private readonly maxChunkConcurrency;
|
|
15
|
+
private readonly maxFinalizeMs;
|
|
16
|
+
private readonly http;
|
|
17
|
+
private readonly token;
|
|
18
|
+
private readonly logger;
|
|
19
|
+
readonly shouldUseChunkUploader: boolean;
|
|
20
|
+
private maxBacklogQueue;
|
|
21
|
+
constructor({ http, token, maxChunkConcurrency, maxFinalizeMs, chunkByteCount, logger, chunkingMode, dataItemByteCount, }: {
|
|
22
|
+
maxFinalizeMs?: number;
|
|
23
|
+
http: TurboHTTPService;
|
|
24
|
+
token: string;
|
|
25
|
+
logger: TurboLogger;
|
|
26
|
+
chunkByteCount?: number;
|
|
27
|
+
maxChunkConcurrency?: number;
|
|
28
|
+
chunkingMode?: TurboChunkingMode;
|
|
29
|
+
dataItemByteCount: ByteCount;
|
|
30
|
+
});
|
|
31
|
+
private shouldChunkUpload;
|
|
32
|
+
private assertChunkParams;
|
|
33
|
+
/**
|
|
34
|
+
* Initialize or resume an upload session, returning the upload ID.
|
|
35
|
+
*/
|
|
36
|
+
private initUpload;
|
|
37
|
+
upload({ dataItemSizeFactory, dataItemStreamFactory, dataItemOpts, signal, events, }: UploadSignedDataItemParams): Promise<TurboUploadDataItemResponse>;
|
|
38
|
+
private toGiB;
|
|
39
|
+
private finalizeUpload;
|
|
40
|
+
}
|
|
41
|
+
/**
|
|
42
|
+
* Yield Buffers of up to `chunkByteCount`, coalescing whatever small pieces
|
|
43
|
+
* the source produces into proper slices.
|
|
44
|
+
*/
|
|
45
|
+
export declare function splitIntoChunks(source: Readable | ReadableStream<Uint8Array>, chunkByteCount: number): AsyncGenerator<Buffer, void, unknown>;
|
|
46
|
+
export declare function splitReadableIntoChunks(source: Readable, chunkByteCount: number): AsyncGenerator<Buffer, void, unknown>;
|
|
47
|
+
export declare function splitReadableStreamIntoChunks(source: ReadableStream<Uint8Array>, chunkByteCount: number): AsyncGenerator<Buffer, void, unknown>;
|
|
48
|
+
//# sourceMappingURL=chunked.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"chunked.d.ts","sourceRoot":"","sources":["../../../src/common/chunked.ts"],"names":[],"mappings":"AAiBA,OAAO,EAAE,QAAQ,EAAE,MAAM,QAAQ,CAAC;AAElC,OAAO,EACL,SAAS,EACT,iBAAiB,EACjB,WAAW,EAEX,2BAA2B,EAC3B,0BAA0B,EAE3B,MAAM,aAAa,CAAC;AAIrB,OAAO,EAAE,gBAAgB,EAAE,MAAM,WAAW,CAAC;AAK7C,eAAO,MAAM,0BAA0B,IAAI,CAAC;AAE5C,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;IACnD,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAmB;IACxC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAS;IAC/B,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAc;IAErC,SAAgB,sBAAsB,EAAE,OAAO,CAAC;IAChD,OAAO,CAAC,eAAe,CAAS;gBAEpB,EACV,IAAI,EACJ,KAAK,EACL,mBAAgD,EAChD,aAAa,EACb,cAAsC,EACtC,MAAmC,EACnC,YAAqB,EACrB,iBAAiB,GAClB,EAAE;QACD,aAAa,CAAC,EAAE,MAAM,CAAC;QACvB,IAAI,EAAE,gBAAgB,CAAC;QACvB,KAAK,EAAE,MAAM,CAAC;QACd,MAAM,EAAE,WAAW,CAAC;QACpB,cAAc,CAAC,EAAE,MAAM,CAAC;QACxB,mBAAmB,CAAC,EAAE,MAAM,CAAC;QAC7B,YAAY,CAAC,EAAE,iBAAiB,CAAC;QACjC,iBAAiB,EAAE,SAAS,CAAC;KAC9B;IAqBD,OAAO,CAAC,iBAAiB;IAoBzB,OAAO,CAAC,iBAAiB;IAuDzB;;OAEG;YACW,UAAU;IAqBX,MAAM,CAAC,EAClB,mBAAmB,EACnB,qBAAqB,EACrB,YAAY,EACZ,MAAM,EACN,MAAM,GACP,EAAE,0BAA0B,GAAG,OAAO,CAAC,2BAA2B,CAAC;IAwHpE,OAAO,CAAC,KAAK;YAIC,cAAc;CA0F7B;AAED;;;GAGG;AACH,wBAAuB,eAAe,CACpC,MAAM,EAAE,QAAQ,GAAG,cAAc,CAAC,UAAU,CAAC,EAC7C,cAAc,EAAE,MAAM,GACrB,cAAc,CAAC,MAAM,EAAE,IAAI,EAAE,OAAO,CAAC,CAMvC;AACD,wBAAuB,uBAAuB,CAC5C,MAAM,EAAE,QAAQ,EAChB,cAAc,EAAE,MAAM,GACrB,cAAc,CAAC,MAAM,EAAE,IAAI,EAAE,OAAO,CAAC,CAkDvC;AAED,wBAAuB,6BAA6B,CAClD,MAAM,EAAE,cAAc,CAAC,UAAU,CAAC,EAClC,cAAc,EAAE,MAAM,GACrB,cAAc,CAAC,MAAM,EAAE,IAAI,EAAE,OAAO,CAAC,CAyDvC"}
|
|
@@ -36,7 +36,7 @@ export declare class TurboHTTPService implements TurboHTTPServiceInterface {
|
|
|
36
36
|
signal?: AbortSignal;
|
|
37
37
|
allowedStatuses?: number[];
|
|
38
38
|
headers?: Partial<TurboSignedRequestHeaders> & Record<string, string>;
|
|
39
|
-
data: Readable | Buffer | ReadableStream;
|
|
39
|
+
data: Readable | Buffer | ReadableStream | Uint8Array;
|
|
40
40
|
}): Promise<T>;
|
|
41
41
|
private tryRequest;
|
|
42
42
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"http.d.ts","sourceRoot":"","sources":["../../../src/common/http.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AACH,OAAO,EAAc,aAAa,EAAgC,MAAM,OAAO,CAAC;AAChF,OAAO,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAChD,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAEvC,OAAO,EACL,yBAAyB,EACzB,WAAW,EACX,yBAAyB,EAC1B,MAAM,aAAa,CAAC;AAIrB,qBAAa,gBAAiB,YAAW,yBAAyB;IAChE,SAAS,CAAC,KAAK,EAAE,aAAa,CAAC;IAC/B,SAAS,CAAC,MAAM,EAAE,WAAW,CAAC;gBAElB,EACV,GAAG,EACH,WAAW,EACX,MAAM,GACP,EAAE;QACD,GAAG,EAAE,MAAM,CAAC;QACZ,WAAW,CAAC,EAAE,iBAAiB,CAAC;QAChC,MAAM,EAAE,WAAW,CAAC;KACrB;IAYK,GAAG,CAAC,CAAC,EAAE,EACX,QAAQ,EACR,MAAM,EACN,eAA4B,EAC5B,OAAO,GACR,EAAE;QACD,QAAQ,EAAE,MAAM,CAAC;QACjB,MAAM,CAAC,EAAE,WAAW,CAAC;QACrB,eAAe,CAAC,EAAE,MAAM,EAAE,CAAC;QAC3B,OAAO,CAAC,EAAE,OAAO,CAAC,yBAAyB,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;KACvE,GAAG,OAAO,CAAC,CAAC,CAAC;IAOR,IAAI,CAAC,CAAC,EAAE,EACZ,QAAQ,EACR,MAAM,EACN,eAA4B,EAC5B,OAAO,EACP,IAAI,GACL,EAAE;QACD,QAAQ,EAAE,MAAM,CAAC;QACjB,MAAM,CAAC,EAAE,WAAW,CAAC;QACrB,eAAe,CAAC,EAAE,MAAM,EAAE,CAAC;QAC3B,OAAO,CAAC,EAAE,OAAO,CAAC,yBAAyB,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QACtE,IAAI,EAAE,QAAQ,GAAG,MAAM,GAAG,cAAc,CAAC;
|
|
1
|
+
{"version":3,"file":"http.d.ts","sourceRoot":"","sources":["../../../src/common/http.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AACH,OAAO,EAAc,aAAa,EAAgC,MAAM,OAAO,CAAC;AAChF,OAAO,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAChD,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAEvC,OAAO,EACL,yBAAyB,EACzB,WAAW,EACX,yBAAyB,EAC1B,MAAM,aAAa,CAAC;AAIrB,qBAAa,gBAAiB,YAAW,yBAAyB;IAChE,SAAS,CAAC,KAAK,EAAE,aAAa,CAAC;IAC/B,SAAS,CAAC,MAAM,EAAE,WAAW,CAAC;gBAElB,EACV,GAAG,EACH,WAAW,EACX,MAAM,GACP,EAAE;QACD,GAAG,EAAE,MAAM,CAAC;QACZ,WAAW,CAAC,EAAE,iBAAiB,CAAC;QAChC,MAAM,EAAE,WAAW,CAAC;KACrB;IAYK,GAAG,CAAC,CAAC,EAAE,EACX,QAAQ,EACR,MAAM,EACN,eAA4B,EAC5B,OAAO,GACR,EAAE;QACD,QAAQ,EAAE,MAAM,CAAC;QACjB,MAAM,CAAC,EAAE,WAAW,CAAC;QACrB,eAAe,CAAC,EAAE,MAAM,EAAE,CAAC;QAC3B,OAAO,CAAC,EAAE,OAAO,CAAC,yBAAyB,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;KACvE,GAAG,OAAO,CAAC,CAAC,CAAC;IAOR,IAAI,CAAC,CAAC,EAAE,EACZ,QAAQ,EACR,MAAM,EACN,eAA4B,EAC5B,OAAO,EACP,IAAI,GACL,EAAE;QACD,QAAQ,EAAE,MAAM,CAAC;QACjB,MAAM,CAAC,EAAE,WAAW,CAAC;QACrB,eAAe,CAAC,EAAE,MAAM,EAAE,CAAC;QAC3B,OAAO,CAAC,EAAE,OAAO,CAAC,yBAAyB,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QACtE,IAAI,EAAE,QAAQ,GAAG,MAAM,GAAG,cAAc,GAAG,UAAU,CAAC;KACvD,GAAG,OAAO,CAAC,CAAC,CAAC;YAoDA,UAAU;CA0BzB"}
|
|
@@ -13,7 +13,7 @@
|
|
|
13
13
|
* See the License for the specific language governing permissions and
|
|
14
14
|
* limitations under the License.
|
|
15
15
|
*/
|
|
16
|
-
import { CreditShareApproval, Currency, GetCreditShareApprovalsResponse, NativeAddress, TokenType, TurboAbortSignal, TurboAuthenticatedClientConfiguration, TurboAuthenticatedClientInterface, TurboAuthenticatedPaymentServiceInterface, TurboAuthenticatedUploadServiceInterface, TurboBalanceResponse, TurboCheckoutSessionParams, TurboCheckoutSessionResponse, TurboCountriesResponse, TurboCreateCreditShareApprovalParams, TurboCryptoFundResponse, TurboCurrenciesResponse, TurboDataItemSigner, TurboFiatEstimateForBytesResponse, TurboFiatToArResponse, TurboFundWithTokensParams, TurboPaymentIntentParams, TurboPaymentIntentResponse, TurboPriceResponse, TurboRatesResponse, TurboRevokeCreditsParams, TurboSignedDataItemFactory, TurboSubmitFundTxResponse, TurboTokenPriceForBytesResponse, TurboUnauthenticatedClientConfiguration, TurboUnauthenticatedClientInterface, TurboUnauthenticatedPaymentServiceInterface, TurboUnauthenticatedUploadServiceInterface, TurboUploadAndSigningEmitterEvents, TurboUploadDataItemResponse, TurboUploadEmitterEvents, TurboUploadFileWithFileOrPathParams, TurboUploadFileWithStreamFactoryParams, TurboUploadFolderParams, TurboUploadFolderResponse, TurboWincForFiatParams, TurboWincForFiatResponse, TurboWincForTokenParams, TurboWincForTokenResponse, UploadDataInput } from '../types.js';
|
|
16
|
+
import { CreditShareApproval, Currency, GetCreditShareApprovalsResponse, NativeAddress, TokenType, TurboAbortSignal, TurboAuthenticatedClientConfiguration, TurboAuthenticatedClientInterface, TurboAuthenticatedPaymentServiceInterface, TurboAuthenticatedUploadServiceInterface, TurboBalanceResponse, TurboCheckoutSessionParams, TurboCheckoutSessionResponse, TurboChunkingParams, TurboCountriesResponse, TurboCreateCreditShareApprovalParams, TurboCryptoFundResponse, TurboCurrenciesResponse, TurboDataItemSigner, TurboFiatEstimateForBytesResponse, TurboFiatToArResponse, TurboFundWithTokensParams, TurboPaymentIntentParams, TurboPaymentIntentResponse, TurboPriceResponse, TurboRatesResponse, TurboRevokeCreditsParams, TurboSignedDataItemFactory, TurboSubmitFundTxResponse, TurboTokenPriceForBytesResponse, TurboUnauthenticatedClientConfiguration, TurboUnauthenticatedClientInterface, TurboUnauthenticatedPaymentServiceInterface, TurboUnauthenticatedUploadServiceInterface, TurboUploadAndSigningEmitterEvents, TurboUploadDataItemResponse, TurboUploadEmitterEvents, TurboUploadFileWithFileOrPathParams, TurboUploadFileWithStreamFactoryParams, TurboUploadFolderParams, TurboUploadFolderResponse, TurboWincForFiatParams, TurboWincForFiatResponse, TurboWincForTokenParams, TurboWincForTokenResponse, UploadDataInput } from '../types.js';
|
|
17
17
|
/**
|
|
18
18
|
* Testing configuration.
|
|
19
19
|
*/
|
|
@@ -138,7 +138,7 @@ export declare class TurboAuthenticatedClient extends TurboUnauthenticatedClient
|
|
|
138
138
|
/**
|
|
139
139
|
* Signs and uploads raw data to the Turbo Upload Service.
|
|
140
140
|
*/
|
|
141
|
-
upload({ data, dataItemOpts, signal, events, }: UploadDataInput & TurboAbortSignal & TurboUploadAndSigningEmitterEvents): Promise<TurboUploadDataItemResponse>;
|
|
141
|
+
upload({ data, dataItemOpts, signal, events, chunkByteCount, chunkingMode, maxChunkConcurrency, }: UploadDataInput & TurboAbortSignal & TurboUploadAndSigningEmitterEvents & TurboChunkingParams): Promise<TurboUploadDataItemResponse>;
|
|
142
142
|
/**
|
|
143
143
|
* Signs and uploads raw file data to the Turbo Upload Service.
|
|
144
144
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"turbo.d.ts","sourceRoot":"","sources":["../../../src/common/turbo.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"turbo.d.ts","sourceRoot":"","sources":["../../../src/common/turbo.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { IAxiosRetryConfig } from 'axios-retry';
|
|
2
2
|
import { Readable } from 'node:stream';
|
|
3
|
-
import { ArweaveManifest, CreditShareApproval, TokenType, TurboAbortSignal, TurboAuthenticatedUploadServiceConfiguration, TurboAuthenticatedUploadServiceInterface, TurboCreateCreditShareApprovalParams, TurboDataItemSigner, TurboFileFactory, TurboLogger, TurboRevokeCreditsParams,
|
|
3
|
+
import { ArweaveManifest, CreditShareApproval, TokenType, TurboAbortSignal, TurboAuthenticatedUploadServiceConfiguration, TurboAuthenticatedUploadServiceInterface, TurboChunkingParams, TurboCreateCreditShareApprovalParams, TurboDataItemSigner, TurboFileFactory, TurboLogger, TurboRevokeCreditsParams, TurboUnauthenticatedUploadServiceConfiguration, TurboUnauthenticatedUploadServiceInterface, TurboUploadAndSigningEmitterEvents, TurboUploadDataItemResponse, TurboUploadEmitterEvents, TurboUploadFileParams, TurboUploadFolderParams, TurboUploadFolderResponse, UploadDataInput, UploadSignedDataItemParams } from '../types.js';
|
|
4
4
|
import { TurboHTTPService } from './http.js';
|
|
5
5
|
export type TurboUploadConfig = TurboFileFactory & TurboAbortSignal & TurboUploadEmitterEvents;
|
|
6
6
|
export declare const creditSharingTagNames: {
|
|
@@ -17,7 +17,7 @@ export declare class TurboUnauthenticatedUploadService implements TurboUnauthent
|
|
|
17
17
|
protected token: TokenType;
|
|
18
18
|
protected retryConfig: IAxiosRetryConfig;
|
|
19
19
|
constructor({ url, logger, retryConfig, token, }: TurboUnauthenticatedUploadServiceConfiguration);
|
|
20
|
-
uploadSignedDataItem({ dataItemStreamFactory, dataItemSizeFactory, dataItemOpts, signal, events, }:
|
|
20
|
+
uploadSignedDataItem({ dataItemStreamFactory, dataItemSizeFactory, dataItemOpts, signal, events, }: UploadSignedDataItemParams): Promise<TurboUploadDataItemResponse>;
|
|
21
21
|
}
|
|
22
22
|
export declare abstract class TurboAuthenticatedBaseUploadService extends TurboUnauthenticatedUploadService implements TurboAuthenticatedUploadServiceInterface {
|
|
23
23
|
protected signer: TurboDataItemSigner;
|
|
@@ -25,7 +25,7 @@ export declare abstract class TurboAuthenticatedBaseUploadService extends TurboU
|
|
|
25
25
|
/**
|
|
26
26
|
* Signs and uploads raw data to the Turbo Upload Service.
|
|
27
27
|
*/
|
|
28
|
-
upload({ data, dataItemOpts, signal, events, }: UploadDataInput & TurboAbortSignal & TurboUploadAndSigningEmitterEvents): Promise<TurboUploadDataItemResponse>;
|
|
28
|
+
upload({ data, dataItemOpts, signal, events, chunkByteCount, chunkingMode, maxChunkConcurrency, }: UploadDataInput & TurboAbortSignal & TurboUploadAndSigningEmitterEvents & TurboChunkingParams): Promise<TurboUploadDataItemResponse>;
|
|
29
29
|
private resolveUploadFileConfig;
|
|
30
30
|
uploadFile(params: TurboUploadFileParams): Promise<TurboUploadDataItemResponse>;
|
|
31
31
|
protected generateManifest({ paths, indexFile, fallbackFile, }: {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"upload.d.ts","sourceRoot":"","sources":["../../../src/common/upload.ts"],"names":[],"mappings":"AAgBA,OAAO,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAChD,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAGvC,OAAO,EACL,eAAe,EACf,mBAAmB,EAEnB,SAAS,EACT,gBAAgB,EAChB,4CAA4C,EAC5C,wCAAwC,EACxC,oCAAoC,EACpC,mBAAmB,EACnB,gBAAgB,EAChB,WAAW,EACX,wBAAwB,EACxB,
|
|
1
|
+
{"version":3,"file":"upload.d.ts","sourceRoot":"","sources":["../../../src/common/upload.ts"],"names":[],"mappings":"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"}
|
package/lib/types/types.d.ts
CHANGED
|
@@ -24,6 +24,7 @@ import { JWKInterface } from './common/jwk.js';
|
|
|
24
24
|
import { TurboWinstonLogger } from './common/logger.js';
|
|
25
25
|
export type Base64String = string;
|
|
26
26
|
export type NativeAddress = string;
|
|
27
|
+
export type ByteCount = number;
|
|
27
28
|
export type PublicArweaveAddress = Base64String;
|
|
28
29
|
export type TransactionId = Base64String;
|
|
29
30
|
export type UserAddress = string | PublicArweaveAddress;
|
|
@@ -177,6 +178,33 @@ export type TurboUploadDataItemResponse = {
|
|
|
177
178
|
createdApproval?: CreditShareApproval;
|
|
178
179
|
revokedApprovals?: CreditShareApproval[];
|
|
179
180
|
};
|
|
181
|
+
export declare const multipartPendingStatus: readonly ["ASSEMBLING", "VALIDATING", "FINALIZING"];
|
|
182
|
+
export type PendingMultiPartStatus = (typeof multipartPendingStatus)[number];
|
|
183
|
+
export declare const multipartFailedStatus: readonly ["UNDERFUNDED", "INVALID", "APPROVAL_FAILED", "REVOKE_FAILED"];
|
|
184
|
+
export type FailedMultiPartStatus = (typeof multipartFailedStatus)[number];
|
|
185
|
+
export declare const multipartFinalizedStatus: readonly ["FINALIZED"];
|
|
186
|
+
export type FinalizedMultiPartStatus = (typeof multipartFinalizedStatus)[number];
|
|
187
|
+
export type TurboMultiPartStatusResponse = {
|
|
188
|
+
status: PendingMultiPartStatus;
|
|
189
|
+
} | {
|
|
190
|
+
status: FailedMultiPartStatus;
|
|
191
|
+
} | FinalizedStatusResponse;
|
|
192
|
+
type FinalizedStatusResponse = {
|
|
193
|
+
status: 'FINALIZED';
|
|
194
|
+
} & {
|
|
195
|
+
receipt: {
|
|
196
|
+
id: string;
|
|
197
|
+
deadlineHeight: number;
|
|
198
|
+
timestamp: number;
|
|
199
|
+
version: string;
|
|
200
|
+
dataCaches: string[];
|
|
201
|
+
fastFinalityIndexes: string[];
|
|
202
|
+
winc: string;
|
|
203
|
+
owner: string;
|
|
204
|
+
public: string;
|
|
205
|
+
signature: string;
|
|
206
|
+
};
|
|
207
|
+
};
|
|
180
208
|
type UploadFolderParams = {
|
|
181
209
|
dataItemOpts?: DataItemOptions;
|
|
182
210
|
maxConcurrentUploads?: number;
|
|
@@ -186,7 +214,7 @@ type UploadFolderParams = {
|
|
|
186
214
|
fallbackFile?: string;
|
|
187
215
|
indexFile?: string;
|
|
188
216
|
};
|
|
189
|
-
} & TurboAbortSignal;
|
|
217
|
+
} & TurboAbortSignal & TurboChunkingParams;
|
|
190
218
|
export type NodeUploadFolderParams = {
|
|
191
219
|
folderPath: string;
|
|
192
220
|
} & UploadFolderParams;
|
|
@@ -420,11 +448,26 @@ export type UploadDataInput = {
|
|
|
420
448
|
dataItemOpts?: DataItemOptions;
|
|
421
449
|
signal?: AbortSignal;
|
|
422
450
|
};
|
|
451
|
+
export declare const validChunkingModes: readonly ["force", "disabled", "auto"];
|
|
452
|
+
export type TurboChunkingMode = (typeof validChunkingModes)[number];
|
|
453
|
+
export type TurboChunkingParams = {
|
|
454
|
+
/** Maximum size in bytes for each chunk. The last chunk must be smaller than this size. */
|
|
455
|
+
chunkByteCount?: number;
|
|
456
|
+
/** Number of chunks to send up concurrently */
|
|
457
|
+
maxChunkConcurrency?: number;
|
|
458
|
+
/** Chunking mode for uploads. 'auto' means chunking is enabled if the file is larger than 2 chunkByteCounts */
|
|
459
|
+
chunkingMode?: TurboChunkingMode;
|
|
460
|
+
/**
|
|
461
|
+
* Maximum time in milliseconds to wait for the finalization of all chunks after the last chunk is uploaded.
|
|
462
|
+
* If not specified, the SDK will use a default value of 1 minute per GiB.
|
|
463
|
+
*/
|
|
464
|
+
maxFinalizeMs?: number;
|
|
465
|
+
};
|
|
423
466
|
export type TurboUploadFileWithStreamFactoryParams = TurboFileFactory & TurboAbortSignal & TurboUploadAndSigningEmitterEvents;
|
|
424
467
|
export type TurboUploadFileWithFileOrPathParams = {
|
|
425
468
|
file: File | string;
|
|
426
469
|
dataItemOpts?: DataItemOptions;
|
|
427
|
-
} & TurboAbortSignal & TurboUploadAndSigningEmitterEvents;
|
|
470
|
+
} & TurboAbortSignal & TurboUploadAndSigningEmitterEvents & TurboChunkingParams;
|
|
428
471
|
export type TurboUploadFileParams = TurboUploadFileWithStreamFactoryParams | TurboUploadFileWithFileOrPathParams;
|
|
429
472
|
export type FileStreamFactory = WebFileStreamFactory | NodeFileStreamFactory;
|
|
430
473
|
export type WebFileStreamFactory = (() => ReadableStream) | (() => Buffer);
|
|
@@ -436,7 +479,7 @@ export type TurboFileFactory<T = FileStreamFactory> = {
|
|
|
436
479
|
fileSizeFactory: StreamSizeFactory;
|
|
437
480
|
dataItemOpts?: DataItemOptions;
|
|
438
481
|
emitter?: TurboEventEmitter;
|
|
439
|
-
};
|
|
482
|
+
} & TurboChunkingParams;
|
|
440
483
|
export type WebTurboFileFactory = TurboFileFactory<WebFileStreamFactory>;
|
|
441
484
|
export type TurboSignedDataItemFactory = {
|
|
442
485
|
dataItemStreamFactory: SignedDataStreamFactory;
|
|
@@ -534,7 +577,7 @@ export interface TurboUnauthenticatedUploadServiceInterface {
|
|
|
534
577
|
uploadSignedDataItem({ dataItemStreamFactory, dataItemSizeFactory, dataItemOpts, signal, events, }: TurboSignedDataItemFactory & TurboAbortSignal & TurboUploadEmitterEvents): Promise<TurboUploadDataItemResponse>;
|
|
535
578
|
}
|
|
536
579
|
export interface TurboAuthenticatedUploadServiceInterface extends TurboUnauthenticatedUploadServiceInterface {
|
|
537
|
-
upload({ data, events, }: UploadDataInput & TurboAbortSignal & TurboUploadEmitterEvents): Promise<TurboUploadDataItemResponse>;
|
|
580
|
+
upload({ data, events, }: UploadDataInput & TurboAbortSignal & TurboUploadEmitterEvents & TurboChunkingParams): Promise<TurboUploadDataItemResponse>;
|
|
538
581
|
uploadFile(params: TurboUploadFileParams): Promise<TurboUploadDataItemResponse>;
|
|
539
582
|
uploadFolder(p: TurboUploadFolderParams): Promise<TurboUploadFolderResponse>;
|
|
540
583
|
shareCredits(p: TurboCreateCreditShareApprovalParams): Promise<CreditShareApproval>;
|
|
@@ -575,5 +618,6 @@ export type TokenMap = {
|
|
|
575
618
|
arweave: TokenTools;
|
|
576
619
|
};
|
|
577
620
|
export type TokenFactory = Record<string, (config: TokenConfig | AoProcessConfig) => TokenTools>;
|
|
621
|
+
export type UploadSignedDataItemParams = TurboSignedDataItemFactory & TurboAbortSignal & TurboUploadEmitterEvents;
|
|
578
622
|
export {};
|
|
579
623
|
//# sourceMappingURL=types.d.ts.map
|