@transloadit/node 4.1.9 → 4.2.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.
Files changed (46) hide show
  1. package/README.md +23 -1
  2. package/dist/Transloadit.d.ts +17 -5
  3. package/dist/Transloadit.d.ts.map +1 -1
  4. package/dist/Transloadit.js +206 -39
  5. package/dist/Transloadit.js.map +1 -1
  6. package/dist/alphalib/mcache.d.ts.map +1 -1
  7. package/dist/alphalib/mcache.js +22 -7
  8. package/dist/alphalib/mcache.js.map +1 -1
  9. package/dist/alphalib/types/assemblyReplay.d.ts +56 -0
  10. package/dist/alphalib/types/assemblyReplay.d.ts.map +1 -1
  11. package/dist/alphalib/types/assemblyReplayNotification.d.ts +56 -0
  12. package/dist/alphalib/types/assemblyReplayNotification.d.ts.map +1 -1
  13. package/dist/alphalib/types/assemblyStatus.d.ts +63 -57
  14. package/dist/alphalib/types/assemblyStatus.d.ts.map +1 -1
  15. package/dist/alphalib/types/assemblyStatus.js +9 -1
  16. package/dist/alphalib/types/assemblyStatus.js.map +1 -1
  17. package/dist/alphalib/types/assemblyUrls.d.ts +1 -1
  18. package/dist/alphalib/types/assemblyUrls.d.ts.map +1 -1
  19. package/dist/alphalib/types/assemblyUrls.js.map +1 -1
  20. package/dist/alphalib/types/robots/_index.d.ts +608 -81
  21. package/dist/alphalib/types/robots/_index.d.ts.map +1 -1
  22. package/dist/alphalib/types/robots/_index.js +4 -0
  23. package/dist/alphalib/types/robots/_index.js.map +1 -1
  24. package/dist/alphalib/types/robots/_instructions-primitives.d.ts +4 -4
  25. package/dist/alphalib/types/robots/_instructions-primitives.d.ts.map +1 -1
  26. package/dist/alphalib/types/robots/_instructions-primitives.js +1 -0
  27. package/dist/alphalib/types/robots/_instructions-primitives.js.map +1 -1
  28. package/dist/alphalib/types/robots/document-optimize.d.ts +489 -0
  29. package/dist/alphalib/types/robots/document-optimize.d.ts.map +1 -0
  30. package/dist/alphalib/types/robots/document-optimize.js +151 -0
  31. package/dist/alphalib/types/robots/document-optimize.js.map +1 -0
  32. package/dist/alphalib/types/template.d.ts +1050 -174
  33. package/dist/alphalib/types/template.d.ts.map +1 -1
  34. package/dist/tus.d.ts +2 -1
  35. package/dist/tus.d.ts.map +1 -1
  36. package/dist/tus.js +2 -1
  37. package/dist/tus.js.map +1 -1
  38. package/package.json +2 -2
  39. package/src/Transloadit.ts +279 -49
  40. package/src/alphalib/mcache.ts +26 -7
  41. package/src/alphalib/types/assemblyStatus.ts +9 -1
  42. package/src/alphalib/types/assemblyUrls.ts +2 -5
  43. package/src/alphalib/types/robots/_index.ts +14 -0
  44. package/src/alphalib/types/robots/_instructions-primitives.ts +1 -0
  45. package/src/alphalib/types/robots/document-optimize.ts +180 -0
  46. package/src/tus.ts +3 -0
package/README.md CHANGED
@@ -260,6 +260,28 @@ try {
260
260
 
261
261
  You can find [details about your executed Assemblies here](https://transloadit.com/assemblies).
262
262
 
263
+ ### Resuming interrupted uploads
264
+
265
+ If an upload was interrupted, you can resume it by providing the original `assemblyUrl` and the
266
+ same input mapping. Resume relies on matching `fieldname`, `filename`, and `size`, so keep input
267
+ names stable and pass the same files. Only path-based inputs resume; Buffer/string/stream uploads
268
+ start a new tus upload automatically.
269
+
270
+ You can pass the same upload and progress options as `createAssembly` (such as `chunkSize`,
271
+ `uploadConcurrency`, `waitForCompletion`, `timeout`, `onUploadProgress`, and `onAssemblyProgress`).
272
+ When `waitForCompletion` is `true`, the SDK will poll and resolve once the Assembly is finished.
273
+
274
+ ```javascript
275
+ const status = await transloadit.resumeAssemblyUploads({
276
+ assemblyUrl: 'https://api2.transloadit.com/assemblies/ASSEMBLY_ID',
277
+ files: {
278
+ file1: '/PATH/TO/FILE.jpg',
279
+ file2: '/PATH/TO/FILE2.jpg',
280
+ },
281
+ uploadConcurrency: 2,
282
+ })
283
+ ```
284
+
263
285
  ## Examples
264
286
 
265
287
  - [Upload and resize image](https://github.com/transloadit/node-sdk/blob/main/examples/resize_an_image.ts)
@@ -677,7 +699,7 @@ If you want to retry on other errors, please see the [retry example code](exampl
677
699
  This project uses [debug](https://github.com/visionmedia/debug) so you can run node with the `DEBUG=transloadit` evironment variable to enable verbose logging. Example:
678
700
 
679
701
  ```bash
680
- DEBUG=transloadit* npx tsx examples/template_api.ts
702
+ DEBUG=transloadit* node examples/template_api.ts
681
703
  ```
682
704
 
683
705
  ## Maintainers
@@ -15,8 +15,7 @@ export interface UploadProgress {
15
15
  totalBytes?: number | undefined;
16
16
  }
17
17
  export type AssemblyProgress = (assembly: AssemblyStatus) => void;
18
- export interface CreateAssemblyOptions {
19
- params?: CreateAssemblyParams;
18
+ interface AssemblyUploadOptions {
20
19
  files?: {
21
20
  [name: string]: string;
22
21
  };
@@ -29,18 +28,29 @@ export interface CreateAssemblyOptions {
29
28
  timeout?: number;
30
29
  onUploadProgress?: (uploadProgress: UploadProgress) => void;
31
30
  onAssemblyProgress?: AssemblyProgress;
32
- assemblyId?: string;
33
31
  /**
34
- * Optional AbortSignal to cancel the assembly creation and upload.
32
+ * Optional AbortSignal to cancel the upload and any follow-up polling.
35
33
  * When aborted, any in-flight HTTP requests and TUS uploads will be cancelled.
36
34
  */
37
35
  signal?: AbortSignal;
38
36
  }
37
+ export interface CreateAssemblyOptions extends AssemblyUploadOptions {
38
+ params?: CreateAssemblyParams;
39
+ assemblyId?: string;
40
+ }
41
+ export interface ResumeAssemblyUploadsOptions extends AssemblyUploadOptions {
42
+ assemblyUrl: string;
43
+ }
39
44
  export interface AwaitAssemblyCompletionOptions {
40
45
  onAssemblyProgress?: AssemblyProgress;
41
46
  timeout?: number;
42
47
  interval?: number;
43
48
  startTimeMs?: number;
49
+ /**
50
+ * Optional assembly URL to poll instead of the configured client endpoint.
51
+ * Useful when resuming an Assembly created on a different host/region.
52
+ */
53
+ assemblyUrl?: string;
44
54
  /**
45
55
  * Optional AbortSignal to cancel polling.
46
56
  * When aborted, the polling loop will stop and throw an AbortError.
@@ -107,7 +117,8 @@ export declare class Transloadit {
107
117
  * @param opts assembly options
108
118
  */
109
119
  createAssembly(opts?: CreateAssemblyOptions): CreateAssemblyPromise;
110
- awaitAssemblyCompletion(assemblyId: string, { onAssemblyProgress, timeout, startTimeMs, interval, signal, onPoll, }?: AwaitAssemblyCompletionOptions): Promise<AssemblyStatus>;
120
+ resumeAssemblyUploads(opts: ResumeAssemblyUploadsOptions): Promise<AssemblyStatus>;
121
+ awaitAssemblyCompletion(assemblyId: string, { onAssemblyProgress, timeout, startTimeMs, interval, assemblyUrl, signal, onPoll, }?: AwaitAssemblyCompletionOptions): Promise<AssemblyStatus>;
111
122
  maybeThrowInconsistentResponseError(message: string): void;
112
123
  /**
113
124
  * Cancel the assembly
@@ -150,6 +161,7 @@ export declare class Transloadit {
150
161
  getAssembly(assemblyId: string, options?: {
151
162
  signal?: AbortSignal;
152
163
  }): Promise<AssemblyStatus>;
164
+ private _fetchAssemblyStatus;
153
165
  /**
154
166
  * Create a Credential
155
167
  *
@@ -1 +1 @@
1
- {"version":3,"file":"Transloadit.d.ts","sourceRoot":"","sources":["../src/Transloadit.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Transloadit.d.ts","sourceRoot":"","sources":["../src/Transloadit.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,8 @@
1
1
  import * as assert from 'node:assert';
2
2
  import { randomUUID } from 'node:crypto';
3
3
  import { constants, createReadStream } from 'node:fs';
4
- import { access } from 'node:fs/promises';
4
+ import { access, stat } from 'node:fs/promises';
5
+ import { basename } from 'node:path';
5
6
  import { setTimeout as delay } from 'node:timers/promises';
6
7
  import { getSignedSmartCdnUrl, signParamsSync } from '@transloadit/utils/node';
7
8
  import debug from 'debug';
@@ -26,6 +27,55 @@ export { InconsistentResponseError, ApiError };
26
27
  const log = debug('transloadit');
27
28
  const logWarn = debug('transloadit:warn');
28
29
  const { version } = packageJson;
30
+ const getUploadKey = (fieldname, filename, size) => {
31
+ if (!fieldname || !filename || size == null)
32
+ return null;
33
+ return JSON.stringify([fieldname, filename, size]);
34
+ };
35
+ const getSizeFromValue = (value) => {
36
+ if (typeof value === 'string')
37
+ return Buffer.byteLength(value);
38
+ if (Buffer.isBuffer(value))
39
+ return value.length;
40
+ if (value instanceof ArrayBuffer)
41
+ return value.byteLength;
42
+ if (ArrayBuffer.isView(value))
43
+ return value.byteLength;
44
+ return undefined;
45
+ };
46
+ const toReadableUpload = (label, value) => {
47
+ const readable = isReadableStream(value);
48
+ if (!readable && isStream(value)) {
49
+ throw new Error(`Upload named "${label}" is not a Readable stream`);
50
+ }
51
+ return readable ? value : intoStream(value);
52
+ };
53
+ const buildStreamsMap = (descriptors) => Object.fromEntries(descriptors.map((descriptor) => {
54
+ if (descriptor.path) {
55
+ const stream = createReadStream(descriptor.path);
56
+ return [descriptor.label, { stream, path: descriptor.path }];
57
+ }
58
+ const value = descriptor.value;
59
+ if (value == null) {
60
+ throw new Error(`Upload named "${descriptor.label}" has no data`);
61
+ }
62
+ const stream = toReadableUpload(descriptor.label, value);
63
+ return [descriptor.label, { stream }];
64
+ }));
65
+ const pauseStreams = (streamsMap) => {
66
+ for (const { stream } of Object.values(streamsMap)) {
67
+ stream.pause();
68
+ }
69
+ };
70
+ const createStreamErrorPromise = (streamsMap) => {
71
+ const promise = new Promise((_resolve, reject) => {
72
+ for (const { stream } of Object.values(streamsMap)) {
73
+ stream.on('error', reject);
74
+ }
75
+ });
76
+ promise.catch(() => { });
77
+ return promise;
78
+ };
29
79
  // Not sure if this is still a problem with the API, but throw a special error type so the user can retry if needed
30
80
  function checkAssemblyUrls(result) {
31
81
  if (result.assembly_url == null || result.assembly_ssl_url == null) {
@@ -35,6 +85,13 @@ function checkAssemblyUrls(result) {
35
85
  function getHrTimeMs() {
36
86
  return Number(process.hrtime.bigint() / 1000000n);
37
87
  }
88
+ function getAssemblyIdFromUrl(assemblyUrl) {
89
+ const match = assemblyUrl.match(/\/assemblies\/([^/?#]+)/);
90
+ if (!match) {
91
+ throw new Error(`Invalid assembly URL: ${assemblyUrl}`);
92
+ }
93
+ return match[1] ?? '';
94
+ }
38
95
  function checkResult(result) {
39
96
  // In case server returned a successful HTTP status code, but an `error` in the JSON object
40
97
  // This happens sometimes, for example when createAssembly with an invalid file (IMPORT_FILE_ERROR)
@@ -105,39 +162,29 @@ export class Transloadit {
105
162
  const promise = (async () => {
106
163
  this._lastUsedAssemblyUrl = `${this._endpoint}${urlSuffix}`;
107
164
  await pMap(Object.entries(files), async ([, path]) => access(path, constants.F_OK | constants.R_OK), { concurrency: 5 });
108
- // Convert uploads to streams
109
- const streamsMap = Object.fromEntries(Object.entries(uploads).map(([label, value]) => {
110
- const isReadable = isReadableStream(value);
111
- if (!isReadable && isStream(value)) {
112
- // https://github.com/transloadit/node-sdk/issues/92
113
- throw new Error(`Upload named "${label}" is not a Readable stream`);
114
- }
115
- return [label, isReadableStream(value) ? value : intoStream(value)];
116
- }));
117
- // Wrap in object structure (so we can store whether it's a pathless stream or not)
118
- const allStreamsMap = Object.fromEntries(Object.entries(streamsMap).map(([label, stream]) => [label, { stream }]));
119
- // Create streams from files too
120
- for (const [label, path] of Object.entries(files)) {
121
- const stream = createReadStream(path);
122
- allStreamsMap[label] = { stream, path }; // File streams have path
123
- }
165
+ const descriptors = [
166
+ ...Object.entries(files).map(([label, path]) => ({
167
+ label,
168
+ path,
169
+ filename: basename(path),
170
+ })),
171
+ ...Object.entries(uploads).map(([label, value]) => ({
172
+ label,
173
+ filename: label,
174
+ value,
175
+ })),
176
+ ];
177
+ const allStreamsMap = buildStreamsMap(descriptors);
124
178
  const allStreams = Object.values(allStreamsMap);
125
179
  // Pause all streams
126
- for (const { stream } of allStreams) {
127
- stream.pause();
128
- }
180
+ pauseStreams(allStreamsMap);
129
181
  // If any stream emits error, we want to handle this and exit with error.
130
182
  // This promise races against createAssemblyAndUpload() below via Promise.race().
131
183
  // When createAssemblyAndUpload wins the race, this promise becomes "orphaned" -
132
184
  // it's no longer awaited, but stream error handlers remain attached.
133
185
  // The no-op catch prevents Node's unhandled rejection warning if a stream
134
186
  // errors after the race is already won.
135
- const streamErrorPromise = new Promise((_resolve, reject) => {
136
- for (const { stream } of allStreams) {
137
- stream.on('error', reject);
138
- }
139
- });
140
- streamErrorPromise.catch(() => { });
187
+ const streamErrorPromise = createStreamErrorPromise(allStreamsMap);
141
188
  const createAssemblyAndUpload = async () => {
142
189
  const result = await this._remoteJson({
143
190
  urlSuffix,
@@ -179,9 +226,109 @@ export class Transloadit {
179
226
  // This allows the user to use or log the assemblyId even before it has been created for easier debugging
180
227
  return Object.assign(promise, { assemblyId: effectiveAssemblyId });
181
228
  }
182
- async awaitAssemblyCompletion(assemblyId, { onAssemblyProgress = () => { }, timeout, startTimeMs = getHrTimeMs(), interval = 1000, signal, onPoll, } = {}) {
229
+ async resumeAssemblyUploads(opts) {
230
+ const { assemblyUrl, files = {}, uploads = {}, chunkSize: requestedChunkSize = Number.POSITIVE_INFINITY, uploadConcurrency = 10, timeout = 24 * 60 * 60 * 1000, // 1 day
231
+ waitForCompletion = false, onUploadProgress = () => { }, onAssemblyProgress = () => { }, signal, } = opts;
232
+ const startTimeMs = getHrTimeMs();
233
+ getAssemblyIdFromUrl(assemblyUrl);
234
+ const assembly = await this._fetchAssemblyStatus({ url: assemblyUrl, signal });
235
+ const statusUrl = assembly.assembly_ssl_url ?? assembly.assembly_url ?? assemblyUrl;
236
+ const finishedKeys = new Set();
237
+ for (const upload of assembly.uploads ?? []) {
238
+ const key = getUploadKey(upload.field ?? null, upload.basename ?? null, upload.size);
239
+ if (key)
240
+ finishedKeys.add(key);
241
+ }
242
+ for (const upload of assembly.tus_uploads ?? []) {
243
+ if (!upload.finished)
244
+ continue;
245
+ const key = getUploadKey(upload.fieldname, upload.filename, upload.size);
246
+ if (key)
247
+ finishedKeys.add(key);
248
+ }
249
+ const resumeUrls = new Map();
250
+ for (const upload of assembly.tus_uploads ?? []) {
251
+ if (upload.finished)
252
+ continue;
253
+ if (!upload.upload_url)
254
+ continue;
255
+ const key = getUploadKey(upload.fieldname, upload.filename, upload.size);
256
+ if (key)
257
+ resumeUrls.set(key, upload.upload_url);
258
+ }
259
+ const descriptors = [];
260
+ await pMap(Object.entries(files), async ([label, path]) => {
261
+ await access(path, constants.F_OK | constants.R_OK);
262
+ const info = await stat(path);
263
+ descriptors.push({
264
+ label,
265
+ path,
266
+ filename: basename(path),
267
+ size: info.size,
268
+ });
269
+ }, { concurrency: 5 });
270
+ for (const [label, value] of Object.entries(uploads)) {
271
+ descriptors.push({
272
+ label,
273
+ filename: label,
274
+ size: isReadableStream(value) ? undefined : getSizeFromValue(value),
275
+ value,
276
+ });
277
+ }
278
+ const descriptorsToUpload = descriptors.filter((descriptor) => {
279
+ const key = getUploadKey(descriptor.label, descriptor.filename, descriptor.size ?? null);
280
+ return key ? !finishedKeys.has(key) : true;
281
+ });
282
+ const uploadUrlsByLabel = {};
283
+ for (const descriptor of descriptorsToUpload) {
284
+ if (!descriptor.path)
285
+ continue;
286
+ const key = getUploadKey(descriptor.label, descriptor.filename, descriptor.size ?? null);
287
+ if (!key)
288
+ continue;
289
+ const uploadUrl = resumeUrls.get(key);
290
+ if (uploadUrl)
291
+ uploadUrlsByLabel[descriptor.label] = uploadUrl;
292
+ }
293
+ const streamsMap = buildStreamsMap(descriptorsToUpload);
294
+ pauseStreams(streamsMap);
295
+ if (Object.keys(streamsMap).length > 0) {
296
+ const streamErrorPromise = createStreamErrorPromise(streamsMap);
297
+ const uploadPromise = sendTusRequest({
298
+ streamsMap,
299
+ assembly,
300
+ requestedChunkSize,
301
+ uploadConcurrency,
302
+ onProgress: onUploadProgress,
303
+ signal,
304
+ uploadUrls: uploadUrlsByLabel,
305
+ });
306
+ await Promise.race([uploadPromise, streamErrorPromise]);
307
+ }
308
+ const latestAssembly = await this._fetchAssemblyStatus({ url: statusUrl, signal });
309
+ if (!waitForCompletion)
310
+ return latestAssembly;
311
+ if (latestAssembly.assembly_id == null) {
312
+ throw new InconsistentResponseError('Server returned an assembly response without an assembly_id after resuming uploads');
313
+ }
314
+ const awaitResult = await this.awaitAssemblyCompletion(latestAssembly.assembly_id, {
315
+ timeout,
316
+ onAssemblyProgress,
317
+ startTimeMs,
318
+ assemblyUrl: statusUrl,
319
+ signal,
320
+ });
321
+ checkResult(awaitResult);
322
+ return awaitResult;
323
+ }
324
+ async awaitAssemblyCompletion(assemblyId, { onAssemblyProgress = () => { }, timeout, startTimeMs = getHrTimeMs(), interval = 1000, assemblyUrl, signal, onPoll, } = {}) {
183
325
  assert.ok(assemblyId);
184
326
  let lastResult;
327
+ const fetchAssemblyStatus = () => {
328
+ return assemblyUrl
329
+ ? this._fetchAssemblyStatus({ url: assemblyUrl, signal })
330
+ : this.getAssembly(assemblyId, { signal });
331
+ };
185
332
  while (true) {
186
333
  // Check if caller wants to stop polling early
187
334
  if (onPoll?.() === false && lastResult) {
@@ -191,7 +338,7 @@ export class Transloadit {
191
338
  if (signal?.aborted) {
192
339
  throw signal.reason ?? new DOMException('Aborted', 'AbortError');
193
340
  }
194
- const result = await this.getAssembly(assemblyId, { signal });
341
+ const result = await fetchAssemblyStatus();
195
342
  lastResult = result;
196
343
  // If 'ok' is not in result, it implies a terminal state (e.g., error, completed, canceled).
197
344
  // If 'ok' is present, then we check if it's one of the non-terminal polling states.
@@ -327,13 +474,21 @@ export class Transloadit {
327
474
  * @returns the retrieved Assembly
328
475
  */
329
476
  async getAssembly(assemblyId, options) {
330
- const rawResult = await this._remoteJson({
331
- urlSuffix: `/assemblies/${assemblyId}`,
477
+ return await this._fetchAssemblyStatus({
478
+ assemblyId,
332
479
  signal: options?.signal,
333
480
  });
481
+ }
482
+ async _fetchAssemblyStatus({ assemblyId, url, signal, }) {
483
+ const rawResult = await this._remoteJson({
484
+ url,
485
+ urlSuffix: url ? undefined : `/assemblies/${assemblyId}`,
486
+ signal,
487
+ });
334
488
  const parsedResult = zodParseWithContext(assemblyStatusSchema, rawResult);
335
489
  if (!parsedResult.success) {
336
- this.maybeThrowInconsistentResponseError(`The API responded with data that does not match the expected schema while getting Assembly: ${assemblyId}.\n${parsedResult.humanReadable}`);
490
+ const label = assemblyId ?? url ?? 'unknown';
491
+ this.maybeThrowInconsistentResponseError(`The API responded with data that does not match the expected schema while getting Assembly: ${label}.\n${parsedResult.humanReadable}`);
337
492
  }
338
493
  checkAssemblyUrls(rawResult);
339
494
  return rawResult;
@@ -597,21 +752,33 @@ export class Transloadit {
597
752
  logWarn('HTTP error', statusCode, body);
598
753
  // check whether we should retry
599
754
  // https://transloadit.com/blog/2012/04/introducing-rate-limiting/
600
- if (typeof body === 'object' &&
755
+ const retryAfterHeader = err.response?.headers?.['retry-after'];
756
+ const retryAfterSeconds = typeof retryAfterHeader === 'string' ? Number(retryAfterHeader) : undefined;
757
+ const retryInFromInfo = typeof body === 'object' &&
601
758
  body != null &&
602
- 'error' in body &&
603
759
  'info' in body &&
604
760
  typeof body.info === 'object' &&
605
761
  body.info != null &&
606
762
  'retryIn' in body.info &&
607
763
  typeof body.info.retryIn === 'number' &&
608
- Boolean(body.info.retryIn) &&
609
- retryCount < this._maxRetries && // 413 taken from https://transloadit.com/blog/2012/04/introducing-rate-limiting/
764
+ body.info.retryIn > 0
765
+ ? body.info.retryIn
766
+ : undefined;
767
+ const retryInSec = retryInFromInfo ??
768
+ (typeof retryAfterSeconds === 'number' && retryAfterSeconds > 0
769
+ ? retryAfterSeconds
770
+ : undefined);
771
+ const shouldRetry = retryCount < this._maxRetries && // 413 taken from https://transloadit.com/blog/2012/04/introducing-rate-limiting/
610
772
  // todo can 413 be removed?
611
- ((statusCode === 413 && body.error === 'RATE_LIMIT_REACHED') || statusCode === 429)) {
612
- const { retryIn: retryInSec } = body.info;
613
- logWarn(`Rate limit reached, retrying request in approximately ${retryInSec} seconds.`);
614
- const retryInMs = 1000 * (retryInSec * (1 + 0.1 * Math.random()));
773
+ ((statusCode === 413 &&
774
+ body &&
775
+ typeof body === 'object' &&
776
+ body.error === 'RATE_LIMIT_REACHED') ||
777
+ statusCode === 429);
778
+ if (shouldRetry) {
779
+ const retryDelaySec = retryInSec ?? 1;
780
+ logWarn(`Rate limit reached, retrying request in approximately ${retryDelaySec} seconds.`);
781
+ const retryInMs = 1000 * (retryDelaySec * (1 + 0.1 * Math.random()));
615
782
  await delay(retryInMs);
616
783
  // Retry
617
784
  }
@@ -1 +1 @@
1
- {"version":3,"file":"Transloadit.js","sourceRoot":"","sources":["../src/Transloadit.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Transloadit.js","sourceRoot":"","sources":["../src/Transloadit.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"mcache.d.ts","sourceRoot":"","sources":["../../src/alphalib/mcache.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAA;AACxD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,KAAK,CAAA;AAEjC,MAAM,WAAW,UAAU;IACzB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,MAAM,CAAC,EAAE,SAAS,CAAA;IAClB;;;OAGG;IACH,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB;;OAEG;IACH,KAAK,CAAC,EAAE,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,MAAM,CAAA;CACvC;AAOD;;;;;;;;;;;;;GAaG;AACH,qBAAa,MAAM,CAAC,CAAC;;gBAKP,IAAI,GAAE,UAAe;IAWjC;;;;OAIG;IACG,GAAG,CAAC,QAAQ,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,GAAG,IAAI,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC,CAAC,CAAC;IA6BzE;;OAEG;IACH,GAAG,CAAC,KAAK,EAAE,CAAC,EAAE,GAAG,IAAI,EAAE,OAAO,EAAE,GAAG,IAAI;IAWvC;;OAEG;IACH,GAAG,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,GAAG,OAAO;IAiBhC;;OAEG;IACH,KAAK,IAAI,IAAI;IAIb;;OAEG;IACH,MAAM,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,GAAG,OAAO;IAKnC;;OAEG;IACH,IAAI,IAAI,IAAI,MAAM,CAEjB;IAED;;OAEG;IACH,OAAO,IAAI,IAAI;CAqChB"}
1
+ {"version":3,"file":"mcache.d.ts","sourceRoot":"","sources":["../../src/alphalib/mcache.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAA;AACxD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,KAAK,CAAA;AAEjC,MAAM,WAAW,UAAU;IACzB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,MAAM,CAAC,EAAE,SAAS,CAAA;IAClB;;;OAGG;IACH,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB;;OAEG;IACH,KAAK,CAAC,EAAE,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,MAAM,CAAA;CACvC;AAOD;;;;;;;;;;;;;GAaG;AACH,qBAAa,MAAM,CAAC,CAAC;;gBAMP,IAAI,GAAE,UAAe;IAYjC;;;;OAIG;IAGG,GAAG,CAAC,QAAQ,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,GAAG,IAAI,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC,CAAC,CAAC;IA4CzE;;OAEG;IACH,GAAG,CAAC,KAAK,EAAE,CAAC,EAAE,GAAG,IAAI,EAAE,OAAO,EAAE,GAAG,IAAI;IAWvC;;OAEG;IACH,GAAG,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,GAAG,OAAO;IAiBhC;;OAEG;IACH,KAAK,IAAI,IAAI;IAIb;;OAEG;IACH,MAAM,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,GAAG,OAAO;IAKnC;;OAEG;IACH,IAAI,IAAI,IAAI,MAAM,CAEjB;IAED;;OAEG;IACH,OAAO,IAAI,IAAI;CAqChB"}
@@ -14,9 +14,11 @@
14
14
  */
15
15
  export class Mcache {
16
16
  #cache;
17
+ #pending;
17
18
  #opts;
18
19
  constructor(opts = {}) {
19
20
  this.#cache = new Map();
21
+ this.#pending = new Map();
20
22
  this.#opts = {
21
23
  ttlMs: opts.ttlMs ?? Number.POSITIVE_INFINITY,
22
24
  maxSize: opts.maxSize ?? 10_000,
@@ -30,6 +32,7 @@ export class Mcache {
30
32
  * The cache key is generated from the args using JSON.stringify by default,
31
33
  * or using the custom keyFn if provided.
32
34
  */
35
+ // biome-ignore lint/suspicious/useAwait: @TODO check this out later
33
36
  async get(producer, ...args) {
34
37
  const key = this.#opts.keyFn ? this.#opts.keyFn(...args) : JSON.stringify(args);
35
38
  const cached = this.#cache.get(key);
@@ -42,14 +45,26 @@ export class Mcache {
42
45
  this.#opts.logger?.debug(`Cache expired for key ${key} (age: ${age}ms > ${this.#opts.ttlMs}ms)`);
43
46
  this.#cache.delete(key);
44
47
  }
45
- this.#opts.logger?.debug(`Cache miss for key ${key}, computing value`);
46
- const value = await producer();
47
- // Validate if schema provided
48
- if (this.#opts.zodSchema) {
49
- this.#opts.zodSchema.parse(value);
48
+ const pending = this.#pending.get(key);
49
+ if (pending) {
50
+ this.#opts.logger?.debug(`Cache miss for key ${key}, waiting for pending request`);
51
+ return pending;
50
52
  }
51
- this.#set(key, value);
52
- return value;
53
+ this.#opts.logger?.debug(`Cache miss for key ${key}, computing value`);
54
+ const promise = Promise.resolve().then(async () => {
55
+ const value = await producer();
56
+ // Validate if schema provided
57
+ if (this.#opts.zodSchema) {
58
+ this.#opts.zodSchema.parse(value);
59
+ }
60
+ this.#set(key, value);
61
+ return value;
62
+ });
63
+ this.#pending.set(key, promise);
64
+ void promise.finally(() => {
65
+ this.#pending.delete(key);
66
+ });
67
+ return promise;
53
68
  }
54
69
  /**
55
70
  * Set a value in the cache directly.
@@ -1 +1 @@
1
- {"version":3,"file":"mcache.js","sourceRoot":"","sources":["../../src/alphalib/mcache.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"mcache.js","sourceRoot":"","sources":["../../src/alphalib/mcache.ts"],"names":[],"mappings":"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"}