transloadit 5.1.0 → 6.0.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/dist/Transloadit.d.ts +10 -0
- package/dist/Transloadit.d.ts.map +1 -1
- package/dist/Transloadit.js +26 -1
- package/dist/Transloadit.js.map +1 -1
- package/dist/alphalib/aiMessages.d.ts +1 -1
- package/dist/alphalib/aiMessages.d.ts.map +1 -1
- package/dist/alphalib/aiMessages.js +1 -1
- package/dist/alphalib/aiMessages.js.map +1 -1
- package/dist/alphalib/types/assemblyStatus.d.ts +682 -682
- package/dist/alphalib/types/assemblyStatus.d.ts.map +1 -1
- package/dist/alphalib/types/assemblyStatus.js +23 -14
- package/dist/alphalib/types/assemblyStatus.js.map +1 -1
- package/dist/alphalib/types/robots/_ai-models.d.ts.map +1 -1
- package/dist/alphalib/types/robots/_ai-models.js +2 -0
- package/dist/alphalib/types/robots/_ai-models.js.map +1 -1
- package/dist/alphalib/types/robots/_google-image-seed.d.ts +8 -0
- package/dist/alphalib/types/robots/_google-image-seed.d.ts.map +1 -0
- package/dist/alphalib/types/robots/_google-image-seed.js +12 -0
- package/dist/alphalib/types/robots/_google-image-seed.js.map +1 -0
- package/dist/alphalib/types/robots/_instructions-primitives.d.ts +2 -0
- package/dist/alphalib/types/robots/_instructions-primitives.d.ts.map +1 -1
- package/dist/alphalib/types/robots/_instructions-primitives.js +11 -14
- package/dist/alphalib/types/robots/_instructions-primitives.js.map +1 -1
- package/dist/alphalib/types/robots/ai-chat.d.ts +1 -1
- package/dist/alphalib/types/robots/ai-chat.d.ts.map +1 -1
- package/dist/alphalib/types/robots/ai-chat.js.map +1 -1
- package/dist/alphalib/types/robots/google-import.d.ts +4 -6
- package/dist/alphalib/types/robots/google-import.d.ts.map +1 -1
- package/dist/alphalib/types/robots/google-import.js +5 -2
- package/dist/alphalib/types/robots/google-import.js.map +1 -1
- package/dist/alphalib/types/robots/google-store.d.ts.map +1 -1
- package/dist/alphalib/types/robots/google-store.js +5 -13
- package/dist/alphalib/types/robots/google-store.js.map +1 -1
- package/dist/alphalib/types/robots/http-import.d.ts.map +1 -1
- package/dist/alphalib/types/robots/http-import.js +4 -0
- package/dist/alphalib/types/robots/http-import.js.map +1 -1
- package/dist/alphalib/types/robots/image-generate.d.ts.map +1 -1
- package/dist/alphalib/types/robots/image-generate.js +6 -1
- package/dist/alphalib/types/robots/image-generate.js.map +1 -1
- package/dist/alphalib/types/robots/image-resize.d.ts +4 -0
- package/dist/alphalib/types/robots/image-resize.d.ts.map +1 -1
- package/dist/alphalib/types/robots/image-resize.js +34 -6
- package/dist/alphalib/types/robots/image-resize.js.map +1 -1
- package/dist/alphalib/types/robots/s3-store.d.ts.map +1 -1
- package/dist/alphalib/types/robots/s3-store.js +21 -17
- package/dist/alphalib/types/robots/s3-store.js.map +1 -1
- package/dist/alphalib/types/robots/video-thumbs.d.ts +6 -0
- package/dist/alphalib/types/robots/video-thumbs.d.ts.map +1 -1
- package/dist/alphalib/types/robots/video-thumbs.js +15 -5
- package/dist/alphalib/types/robots/video-thumbs.js.map +1 -1
- package/dist/alphalib/zodParseWithContext.d.ts +1 -1
- package/dist/alphalib/zodParseWithContext.d.ts.map +1 -1
- package/dist/apiTypes.d.ts +2 -0
- package/dist/apiTypes.d.ts.map +1 -1
- package/dist/inputFiles.d.ts +9 -0
- package/dist/inputFiles.d.ts.map +1 -1
- package/dist/inputFiles.js +62 -10
- package/dist/inputFiles.js.map +1 -1
- package/package.json +1 -1
- package/src/Transloadit.ts +42 -1
- package/src/alphalib/aiMessages.ts +1 -1
- package/src/alphalib/types/assemblyStatus.ts +24 -14
- package/src/alphalib/types/robots/_ai-models.ts +2 -0
- package/src/alphalib/types/robots/_google-image-seed.ts +14 -0
- package/src/alphalib/types/robots/_instructions-primitives.ts +13 -15
- package/src/alphalib/types/robots/ai-chat.ts +6 -7
- package/src/alphalib/types/robots/google-import.ts +7 -1
- package/src/alphalib/types/robots/google-store.ts +6 -11
- package/src/alphalib/types/robots/http-import.ts +4 -0
- package/src/alphalib/types/robots/image-generate.ts +8 -1
- package/src/alphalib/types/robots/image-resize.ts +36 -6
- package/src/alphalib/types/robots/s3-store.ts +21 -17
- package/src/alphalib/types/robots/video-thumbs.ts +19 -5
- package/src/alphalib/zodParseWithContext.ts +1 -1
- package/src/apiTypes.ts +2 -0
- package/src/inputFiles.ts +83 -8
package/dist/apiTypes.d.ts
CHANGED
|
@@ -67,6 +67,8 @@ export type ListTemplatesParams = OptionalAuthParams & {
|
|
|
67
67
|
todate?: string;
|
|
68
68
|
keywords?: string[];
|
|
69
69
|
include_builtin?: 'all' | 'latest' | 'exclusively-all' | 'exclusively-latest';
|
|
70
|
+
/** Template columns to return, such as `['id', 'account_id']`; API2's default omits some. */
|
|
71
|
+
fields?: string[];
|
|
70
72
|
};
|
|
71
73
|
interface TemplateResponseBase {
|
|
72
74
|
id: string;
|
package/dist/apiTypes.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"apiTypes.d.ts","sourceRoot":"","sources":["../src/apiTypes.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"apiTypes.d.ts","sourceRoot":"","sources":["../src/apiTypes.ts"],"names":[],"mappings":"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"}
|
package/dist/inputFiles.d.ts
CHANGED
|
@@ -32,6 +32,15 @@ export type PrepareInputFilesOptions = {
|
|
|
32
32
|
urlStrategy?: UrlStrategy;
|
|
33
33
|
maxBase64Bytes?: number;
|
|
34
34
|
allowPrivateUrls?: boolean;
|
|
35
|
+
/** Abort once all URL downloads of this call exceed this many bytes together. */
|
|
36
|
+
maxUrlDownloadBytes?: number;
|
|
37
|
+
/** Abort a URL download (DNS checks and redirects included) after this many milliseconds. */
|
|
38
|
+
urlDownloadTimeoutMs?: number;
|
|
39
|
+
/**
|
|
40
|
+
* Awaited before each URL input is downloaded locally (not for `/http/import`), so a caller can
|
|
41
|
+
* vouch for the requester first; rejecting aborts preparation.
|
|
42
|
+
*/
|
|
43
|
+
beforeUrlDownload?: () => Promise<void>;
|
|
35
44
|
tempDir?: string;
|
|
36
45
|
};
|
|
37
46
|
export type PrepareInputFilesResult = {
|
package/dist/inputFiles.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"inputFiles.d.ts","sourceRoot":"","sources":["../src/inputFiles.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAiB,aAAa,EAAE,MAAM,UAAU,CAAA;AAC5D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,UAAU,CAAA;AAC9C,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAA;AAE3C,OAAO,KAAK,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAA;AAC7D,OAAO,KAAK,EAAE,KAAK,IAAI,eAAe,EAAE,MAAM,aAAa,CAAA;AAE3D,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,eAAe,CAAA;
|
|
1
|
+
{"version":3,"file":"inputFiles.d.ts","sourceRoot":"","sources":["../src/inputFiles.ts"],"names":[],"mappings":"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"}
|
package/dist/inputFiles.js
CHANGED
|
@@ -4,6 +4,7 @@ import { mkdtemp, rm, writeFile } from 'node:fs/promises';
|
|
|
4
4
|
import { isIP } from 'node:net';
|
|
5
5
|
import { tmpdir } from 'node:os';
|
|
6
6
|
import { basename, join, parse } from 'node:path';
|
|
7
|
+
import { Transform } from 'node:stream';
|
|
7
8
|
import { pipeline } from 'node:stream/promises';
|
|
8
9
|
import got from 'got';
|
|
9
10
|
import { ensureUniqueCounterValue } from "./ensureUniqueCounter.js";
|
|
@@ -140,16 +141,26 @@ const isPrivateIp = (address) => {
|
|
|
140
141
|
}
|
|
141
142
|
return false;
|
|
142
143
|
};
|
|
144
|
+
/**
|
|
145
|
+
* Names a URL in error messages without its query or fragment: input URLs are often presigned
|
|
146
|
+
* (ChatGPT attachments, S3), and these messages reach logs and model-visible tool results.
|
|
147
|
+
*/
|
|
148
|
+
const describeUrl = (value) => {
|
|
149
|
+
if (!URL.canParse(value))
|
|
150
|
+
return '[unparseable URL]';
|
|
151
|
+
const url = new URL(value);
|
|
152
|
+
return `${url.origin}${url.pathname}`;
|
|
153
|
+
};
|
|
143
154
|
export const resolvePublicDownloadAddresses = async (value) => {
|
|
144
155
|
const parsed = new URL(value);
|
|
145
156
|
const hostname = parsed.hostname.startsWith('[') && parsed.hostname.endsWith(']')
|
|
146
157
|
? parsed.hostname.slice(1, -1)
|
|
147
158
|
: parsed.hostname;
|
|
148
159
|
if (!['http:', 'https:'].includes(parsed.protocol)) {
|
|
149
|
-
throw new Error(`URL downloads are limited to http/https: ${value}`);
|
|
160
|
+
throw new Error(`URL downloads are limited to http/https: ${describeUrl(value)}`);
|
|
150
161
|
}
|
|
151
162
|
if (isPrivateIp(hostname)) {
|
|
152
|
-
throw new Error(`URL downloads are limited to public hosts: ${value}`);
|
|
163
|
+
throw new Error(`URL downloads are limited to public hosts: ${describeUrl(value)}`);
|
|
153
164
|
}
|
|
154
165
|
const literalFamily = isIP(hostname);
|
|
155
166
|
const resolvedAddresses = literalFamily !== 0
|
|
@@ -159,10 +170,10 @@ export const resolvePublicDownloadAddresses = async (value) => {
|
|
|
159
170
|
verbatim: true,
|
|
160
171
|
});
|
|
161
172
|
if (resolvedAddresses.some((address) => isPrivateIp(address.address))) {
|
|
162
|
-
throw new Error(`URL downloads are limited to public hosts: ${value}`);
|
|
173
|
+
throw new Error(`URL downloads are limited to public hosts: ${describeUrl(value)}`);
|
|
163
174
|
}
|
|
164
175
|
if (resolvedAddresses.length === 0) {
|
|
165
|
-
throw new Error(`Unable to resolve URL hostname: ${value}`);
|
|
176
|
+
throw new Error(`Unable to resolve URL hostname: ${describeUrl(value)}`);
|
|
166
177
|
}
|
|
167
178
|
return resolvedAddresses.map((address) => ({
|
|
168
179
|
address: address.address,
|
|
@@ -213,19 +224,46 @@ export function createPinnedDnsLookup(validatedAddresses) {
|
|
|
213
224
|
}
|
|
214
225
|
return pinnedDnsLookup;
|
|
215
226
|
}
|
|
216
|
-
const
|
|
227
|
+
const budgetExceeded = (budget, url) => new Error(`URL downloads exceed ${budget.totalBytes} bytes: ${describeUrl(url)}`);
|
|
228
|
+
/** Errors once the budget is used up, so temp files stay bounded while they stream in. */
|
|
229
|
+
const limitDownloadBytes = (budget, url) => new Transform({
|
|
230
|
+
transform(chunk, _encoding, callback) {
|
|
231
|
+
budget.remainingBytes -= chunk.length;
|
|
232
|
+
if (budget.remainingBytes < 0) {
|
|
233
|
+
callback(budgetExceeded(budget, url));
|
|
234
|
+
return;
|
|
235
|
+
}
|
|
236
|
+
callback(null, chunk);
|
|
237
|
+
},
|
|
238
|
+
});
|
|
239
|
+
const downloadUrlToFile = async ({ allowPrivateUrls, filePath, url, budget, timeoutMs, }) => {
|
|
217
240
|
let currentUrl = url;
|
|
241
|
+
// One deadline for the whole download, so DNS checks and redirects cannot each restart it.
|
|
242
|
+
const deadline = timeoutMs === undefined ? undefined : Date.now() + timeoutMs;
|
|
243
|
+
const remainingMs = () => {
|
|
244
|
+
if (deadline === undefined)
|
|
245
|
+
return undefined;
|
|
246
|
+
const remaining = deadline - Date.now();
|
|
247
|
+
if (remaining <= 0) {
|
|
248
|
+
throw new Error(`URL download timed out after ${timeoutMs} ms: ${describeUrl(url)}`);
|
|
249
|
+
}
|
|
250
|
+
return remaining;
|
|
251
|
+
};
|
|
218
252
|
for (let redirectCount = 0; redirectCount <= MAX_URL_REDIRECTS; redirectCount += 1) {
|
|
219
253
|
let validatedAddresses = null;
|
|
220
254
|
if (!allowPrivateUrls) {
|
|
255
|
+
// Not raced against the deadline: the system resolver bounds each lookup with its own
|
|
256
|
+
// short timeout and no bytes are transferred, so checking the clock right after suffices.
|
|
221
257
|
validatedAddresses = await resolvePublicDownloadAddresses(currentUrl);
|
|
222
258
|
}
|
|
259
|
+
const requestTimeoutMs = remainingMs();
|
|
223
260
|
const dnsLookup = validatedAddresses == null ? undefined : createPinnedDnsLookup(validatedAddresses);
|
|
224
261
|
const responseStream = got.stream(currentUrl, {
|
|
225
262
|
dnsLookup,
|
|
226
263
|
followRedirect: false,
|
|
227
264
|
retry: { limit: 0 },
|
|
228
265
|
throwHttpErrors: false,
|
|
266
|
+
...(requestTimeoutMs === undefined ? {} : { timeout: { request: requestTimeoutMs } }),
|
|
229
267
|
});
|
|
230
268
|
const response = await new Promise((resolvePromise, reject) => {
|
|
231
269
|
responseStream.once('response', (incomingResponse) => {
|
|
@@ -238,26 +276,37 @@ const downloadUrlToFile = async ({ allowPrivateUrls, filePath, url, }) => {
|
|
|
238
276
|
responseStream.destroy();
|
|
239
277
|
const location = response.headers.location;
|
|
240
278
|
if (location == null) {
|
|
241
|
-
throw new Error(`Redirect response missing Location header: ${currentUrl}`);
|
|
279
|
+
throw new Error(`Redirect response missing Location header: ${describeUrl(currentUrl)}`);
|
|
242
280
|
}
|
|
243
281
|
currentUrl = new URL(location, currentUrl).toString();
|
|
244
282
|
continue;
|
|
245
283
|
}
|
|
246
284
|
if (statusCode >= 400) {
|
|
247
285
|
responseStream.destroy();
|
|
248
|
-
throw new Error(`Failed to download URL: ${currentUrl} (${statusCode})`);
|
|
286
|
+
throw new Error(`Failed to download URL: ${describeUrl(currentUrl)} (${statusCode})`);
|
|
287
|
+
}
|
|
288
|
+
if (budget === undefined) {
|
|
289
|
+
await pipeline(responseStream, createWriteStream(filePath));
|
|
290
|
+
return;
|
|
291
|
+
}
|
|
292
|
+
if (Number(response.headers['content-length']) > budget.remainingBytes) {
|
|
293
|
+
responseStream.destroy();
|
|
294
|
+
throw budgetExceeded(budget, url);
|
|
249
295
|
}
|
|
250
|
-
await pipeline(responseStream, createWriteStream(filePath));
|
|
296
|
+
await pipeline(responseStream, limitDownloadBytes(budget, url), createWriteStream(filePath));
|
|
251
297
|
return;
|
|
252
298
|
}
|
|
253
|
-
throw new Error(`Too many redirects while downloading URL input: ${url}`);
|
|
299
|
+
throw new Error(`Too many redirects while downloading URL input: ${describeUrl(url)}`);
|
|
254
300
|
};
|
|
255
301
|
export const prepareInputFiles = async (options = {}) => {
|
|
256
|
-
const { inputFiles = [], params = {}, fields, base64Strategy = 'buffer', urlStrategy = 'import', maxBase64Bytes, allowPrivateUrls = true, tempDir, } = options;
|
|
302
|
+
const { inputFiles = [], params = {}, fields, base64Strategy = 'buffer', urlStrategy = 'import', maxBase64Bytes, allowPrivateUrls = true, maxUrlDownloadBytes, urlDownloadTimeoutMs, beforeUrlDownload, tempDir, } = options;
|
|
257
303
|
let nextParams = { ...params };
|
|
258
304
|
const files = {};
|
|
259
305
|
const uploads = {};
|
|
260
306
|
const cleanup = [];
|
|
307
|
+
const downloadBudget = maxUrlDownloadBytes === undefined
|
|
308
|
+
? undefined
|
|
309
|
+
: { totalBytes: maxUrlDownloadBytes, remainingBytes: maxUrlDownloadBytes };
|
|
261
310
|
if (fields && Object.keys(fields).length > 0) {
|
|
262
311
|
nextParams = {
|
|
263
312
|
...nextParams,
|
|
@@ -329,10 +378,13 @@ export const prepareInputFiles = async (options = {}) => {
|
|
|
329
378
|
getFilenameFromUrl(file.url) ??
|
|
330
379
|
`${file.field}.bin`;
|
|
331
380
|
const filePath = await ensureUniqueTempFilePath(root, filename, usedTempPaths);
|
|
381
|
+
await beforeUrlDownload?.();
|
|
332
382
|
await downloadUrlToFile({
|
|
333
383
|
allowPrivateUrls,
|
|
334
384
|
filePath,
|
|
335
385
|
url: file.url,
|
|
386
|
+
budget: downloadBudget,
|
|
387
|
+
timeoutMs: urlDownloadTimeoutMs,
|
|
336
388
|
});
|
|
337
389
|
files[file.field] = filePath;
|
|
338
390
|
}
|
package/dist/inputFiles.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"inputFiles.js","sourceRoot":"","sources":["../src/inputFiles.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"inputFiles.js","sourceRoot":"","sources":["../src/inputFiles.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
package/src/Transloadit.ts
CHANGED
|
@@ -5,7 +5,13 @@ import type {
|
|
|
5
5
|
CompileAssemblyInstructionsResult,
|
|
6
6
|
} from '@transloadit/utils'
|
|
7
7
|
import type { SignatureAlgorithm } from '@transloadit/utils/node'
|
|
8
|
-
import type {
|
|
8
|
+
import type {
|
|
9
|
+
BeforeRedirectHook,
|
|
10
|
+
Delays,
|
|
11
|
+
Headers,
|
|
12
|
+
OptionsOfJSONResponseBody,
|
|
13
|
+
RetryOptions,
|
|
14
|
+
} from 'got'
|
|
9
15
|
import type { Input as IntoStreamInput } from 'into-stream'
|
|
10
16
|
|
|
11
17
|
import type { TransloaditErrorResponseBody } from './ApiError.ts'
|
|
@@ -296,6 +302,11 @@ export interface CreateAssemblyOptions extends AssemblyUploadOptions {
|
|
|
296
302
|
* Expected number of tus uploads when files will be uploaded separately.
|
|
297
303
|
*/
|
|
298
304
|
expectedUploads?: number
|
|
305
|
+
/**
|
|
306
|
+
* Called once API2 has accepted the creation request, before uploads and polling. Callers that
|
|
307
|
+
* must not create an Assembly twice use it to tell later failures apart from rejected creation.
|
|
308
|
+
*/
|
|
309
|
+
onAssemblyCreated?: (assembly: AssemblyStatus) => void
|
|
299
310
|
}
|
|
300
311
|
|
|
301
312
|
export interface ResumeAssemblyUploadsOptions extends AssemblyUploadOptions {
|
|
@@ -459,6 +470,11 @@ type BaseOptions = {
|
|
|
459
470
|
followRedirects?: boolean
|
|
460
471
|
validateResponses?: boolean
|
|
461
472
|
clientName?: string
|
|
473
|
+
/**
|
|
474
|
+
* Fixed headers sent with every API request, for trusted relays such as the Transloadit-hosted
|
|
475
|
+
* MCP service that must identify itself to API2 next to a forwarded bearer token.
|
|
476
|
+
*/
|
|
477
|
+
extraHeaders?: Record<string, string>
|
|
462
478
|
}
|
|
463
479
|
|
|
464
480
|
export type Options = BaseOptions & (AuthKeySecret | AuthToken)
|
|
@@ -482,8 +498,28 @@ export class Transloadit {
|
|
|
482
498
|
|
|
483
499
|
private _clientName: string
|
|
484
500
|
|
|
501
|
+
#extraHeaders: Record<string, string>
|
|
502
|
+
|
|
485
503
|
private _lastUsedAssemblyUrl = ''
|
|
486
504
|
|
|
505
|
+
/**
|
|
506
|
+
* got drops `Authorization` and cookies when a redirect changes origin, but not custom headers,
|
|
507
|
+
* so `extraHeaders` (such as a relay's shared secret) are removed the same way.
|
|
508
|
+
*/
|
|
509
|
+
#dropExtraHeadersOffOrigin(requestUrl: string): BeforeRedirectHook[] {
|
|
510
|
+
const names = Object.keys(this.#extraHeaders).map((name) => name.toLowerCase())
|
|
511
|
+
if (names.length === 0) return []
|
|
512
|
+
// An unparseable request URL counts as a different origin, which drops the headers.
|
|
513
|
+
const requestOrigin = URL.canParse(requestUrl) ? new URL(requestUrl).origin : undefined
|
|
514
|
+
return [
|
|
515
|
+
(redirectOptions) => {
|
|
516
|
+
const redirectUrl = redirectOptions.url
|
|
517
|
+
if (requestOrigin && redirectUrl && new URL(redirectUrl).origin === requestOrigin) return
|
|
518
|
+
for (const name of names) delete redirectOptions.headers[name]
|
|
519
|
+
},
|
|
520
|
+
]
|
|
521
|
+
}
|
|
522
|
+
|
|
487
523
|
private _validateResponses = false
|
|
488
524
|
|
|
489
525
|
/** Create a client; new combined keys require signatureAlgorithm: 'sha256' explicitly. */
|
|
@@ -514,6 +550,7 @@ export class Transloadit {
|
|
|
514
550
|
this._maxRetries = opts.maxRetries != null ? opts.maxRetries : 5
|
|
515
551
|
this._defaultTimeout = opts.timeout != null ? opts.timeout : 60000
|
|
516
552
|
this._clientName = opts.clientName?.trim() || `node-sdk:${version}`
|
|
553
|
+
this.#extraHeaders = { ...opts.extraHeaders }
|
|
517
554
|
|
|
518
555
|
// Passed on to got https://github.com/sindresorhus/got/blob/main/documentation/7-retry.md
|
|
519
556
|
this._gotRetry = opts.gotRetry != null ? opts.gotRetry : { limit: 0 }
|
|
@@ -667,6 +704,7 @@ export class Transloadit {
|
|
|
667
704
|
uploads = {},
|
|
668
705
|
assemblyId,
|
|
669
706
|
expectedUploads,
|
|
707
|
+
onAssemblyCreated,
|
|
670
708
|
signal,
|
|
671
709
|
uploadBehavior = 'await',
|
|
672
710
|
} = opts
|
|
@@ -738,6 +776,7 @@ export class Transloadit {
|
|
|
738
776
|
signal,
|
|
739
777
|
})
|
|
740
778
|
checkResult(result)
|
|
779
|
+
onAssemblyCreated?.(result)
|
|
741
780
|
|
|
742
781
|
if (Object.keys(allStreamsMap).length > 0) {
|
|
743
782
|
const { uploadUrls } = await sendTusRequest({
|
|
@@ -1665,8 +1704,10 @@ export class Transloadit {
|
|
|
1665
1704
|
'Transloadit-Client': this._clientName,
|
|
1666
1705
|
'User-Agent': undefined, // Remove got's user-agent
|
|
1667
1706
|
...(this._authToken ? { Authorization: `Bearer ${this._authToken}` } : {}),
|
|
1707
|
+
...this.#extraHeaders,
|
|
1668
1708
|
...headers,
|
|
1669
1709
|
},
|
|
1710
|
+
hooks: { beforeRedirect: this.#dropExtraHeadersOffOrigin(url) },
|
|
1670
1711
|
responseType: 'json',
|
|
1671
1712
|
signal,
|
|
1672
1713
|
}
|
|
@@ -130,6 +130,7 @@ export const assemblyStatusErrCodeSchema = z.enum([
|
|
|
130
130
|
'CLOUDFLARE_STORE_VALIDATION',
|
|
131
131
|
'CLOUDFLARE_STORE_WRONG_REGION',
|
|
132
132
|
'CLOUD_AI_IMAGE_VALIDATION',
|
|
133
|
+
'DAM_STORAGE_UNAVAILABLE',
|
|
133
134
|
'DIGITALOCEAN_IMPORT_ACCESS_DENIED',
|
|
134
135
|
'DIGITALOCEAN_IMPORT_FAILURE',
|
|
135
136
|
'DIGITALOCEAN_IMPORT_NOT_FOUND',
|
|
@@ -190,6 +191,7 @@ export const assemblyStatusErrCodeSchema = z.enum([
|
|
|
190
191
|
'GOOGLE_IMPORT_FAILURE',
|
|
191
192
|
'GOOGLE_IMPORT_NOT_FOUND',
|
|
192
193
|
'GOOGLE_IMPORT_VALIDATION',
|
|
194
|
+
'GOOGLE_STORE_ACCESS_DENIED',
|
|
193
195
|
'GOOGLE_STORE_INVALID_INPUT',
|
|
194
196
|
'GOOGLE_STORE_VALIDATION',
|
|
195
197
|
'HTML_CONVERT_VALIDATION',
|
|
@@ -399,6 +401,9 @@ export const assemblyStatusErrCodeSchema = z.enum([
|
|
|
399
401
|
export type AssemblyStatusErrCode = z.infer<typeof assemblyStatusErrCodeSchema>
|
|
400
402
|
|
|
401
403
|
const metadataTextSchema = z.union([z.string(), z.number().finite()])
|
|
404
|
+
const metadataDateSchema = z.union([metadataTextSchema, z.array(metadataTextSchema)])
|
|
405
|
+
// Readers must survive new server errors; the exported known-code enum remains closed.
|
|
406
|
+
const publicAssemblyErrorCodeSchema = z.string().min(1)
|
|
402
407
|
|
|
403
408
|
const assemblyStatusMetaSchema = z
|
|
404
409
|
.object({
|
|
@@ -406,7 +411,7 @@ const assemblyStatusMetaSchema = z
|
|
|
406
411
|
has_alpha: storedAssetSchema.shape.has_alpha,
|
|
407
412
|
width: z.union([z.number(), z.null()]).optional(),
|
|
408
413
|
height: z.union([z.number(), z.null()]).optional(),
|
|
409
|
-
date_file_modified:
|
|
414
|
+
date_file_modified: metadataDateSchema.nullable().optional(),
|
|
410
415
|
aspect_ratio: z.union([z.number(), z.string(), z.null()]).optional(),
|
|
411
416
|
has_clipping_path: z.boolean().optional(),
|
|
412
417
|
frame_count: z.union([z.number(), z.null()]).optional(),
|
|
@@ -415,14 +420,14 @@ const assemblyStatusMetaSchema = z
|
|
|
415
420
|
average_color: z.string().nullable().optional(),
|
|
416
421
|
svgViewBoxWidth: z.union([z.number(), z.null()]).optional(),
|
|
417
422
|
svgViewBoxHeight: z.union([z.number(), z.null()]).optional(),
|
|
418
|
-
date_recorded:
|
|
419
|
-
date_file_created:
|
|
423
|
+
date_recorded: metadataDateSchema.nullable().optional(),
|
|
424
|
+
date_file_created: metadataDateSchema.nullable().optional(),
|
|
420
425
|
title: z.union([z.string(), z.number()]).nullable().optional(),
|
|
421
426
|
description: metadataTextSchema.nullable().optional(),
|
|
422
427
|
duration: z.union([z.number(), z.null()]).optional(),
|
|
423
428
|
location: z.string().nullable().optional(),
|
|
424
429
|
city: z.string().nullable().optional(),
|
|
425
|
-
state:
|
|
430
|
+
state: metadataTextSchema.nullable().optional(),
|
|
426
431
|
rights: z.union([z.string(), z.number()]).nullable().optional(),
|
|
427
432
|
country: z.string().nullable().optional(),
|
|
428
433
|
country_code: z.string().nullable().optional(),
|
|
@@ -469,7 +474,7 @@ const assemblyStatusMetaSchema = z
|
|
|
469
474
|
xp_title: metadataTextSchema.nullable().optional(),
|
|
470
475
|
xp_comment: z.string().nullable().optional(),
|
|
471
476
|
xp_keywords: metadataTextSchema.nullable().optional(),
|
|
472
|
-
xp_subject:
|
|
477
|
+
xp_subject: metadataTextSchema.nullable().optional(),
|
|
473
478
|
recognized_text: z
|
|
474
479
|
.union([
|
|
475
480
|
z.array(z.string()),
|
|
@@ -560,8 +565,8 @@ const assemblyStatusMetaSchema = z
|
|
|
560
565
|
page_count: z.union([z.number(), z.null()]).optional(),
|
|
561
566
|
page_size: z.string().nullable().optional(),
|
|
562
567
|
producer: z.string().nullable().optional(),
|
|
563
|
-
create_date:
|
|
564
|
-
modify_date:
|
|
568
|
+
create_date: metadataDateSchema.nullable().optional(),
|
|
569
|
+
modify_date: metadataDateSchema.nullable().optional(),
|
|
565
570
|
colortransfer: z.string().nullable().optional(),
|
|
566
571
|
colorprimaries: z.string().nullable().optional(),
|
|
567
572
|
archive_directory: z.string().nullable().optional(),
|
|
@@ -655,7 +660,7 @@ export const assemblyStatusUploadSchema = z
|
|
|
655
660
|
has_alpha: storedAssetSchema.shape.has_alpha,
|
|
656
661
|
name: z.string().nullable(),
|
|
657
662
|
basename: z.string().nullable(),
|
|
658
|
-
ext: z.string(),
|
|
663
|
+
ext: z.string().nullable(),
|
|
659
664
|
size: z.number(),
|
|
660
665
|
mime: z.string().nullable(),
|
|
661
666
|
type: z.string().nullable(),
|
|
@@ -918,7 +923,7 @@ export const assemblyStatusOkSchema: AssemblyStatusVariant<{
|
|
|
918
923
|
.passthrough()
|
|
919
924
|
|
|
920
925
|
const assemblyStatusErrorFields = z.object({
|
|
921
|
-
error:
|
|
926
|
+
error: publicAssemblyErrorCodeSchema,
|
|
922
927
|
ok: z.null().optional(),
|
|
923
928
|
retries: z.number().optional(),
|
|
924
929
|
numRetries: z.number().optional(),
|
|
@@ -996,12 +1001,13 @@ export type AssemblyStatus = z.infer<typeof assemblyStatusSchema>
|
|
|
996
1001
|
*/
|
|
997
1002
|
export function hasError(
|
|
998
1003
|
assembly: AssemblyStatus | undefined | null,
|
|
999
|
-
|
|
1004
|
+
// Keep known-code suggestions while matching future public response codes too.
|
|
1005
|
+
particularErrorCode?: AssemblyStatusErrCode | (string & {}),
|
|
1000
1006
|
): assembly is AssemblyStatusError {
|
|
1001
1007
|
const errorExists =
|
|
1002
1008
|
Boolean(assembly) && assembly != null && typeof assembly === 'object' && 'error' in assembly
|
|
1003
1009
|
|
|
1004
|
-
if (particularErrorCode) {
|
|
1010
|
+
if (particularErrorCode !== undefined) {
|
|
1005
1011
|
return errorExists && assembly.error === particularErrorCode
|
|
1006
1012
|
}
|
|
1007
1013
|
|
|
@@ -1079,7 +1085,7 @@ export function isAssemblyOkStatus(
|
|
|
1079
1085
|
}
|
|
1080
1086
|
|
|
1081
1087
|
/**
|
|
1082
|
-
* Type guard to check if a status string is
|
|
1088
|
+
* Type guard to check if a status string is a known error code.
|
|
1083
1089
|
*/
|
|
1084
1090
|
export function isAssemblyErrorStatus(
|
|
1085
1091
|
status: string | undefined | null,
|
|
@@ -1123,7 +1129,11 @@ export function isAssemblyTerminalOk(assembly: AssemblyStatus | undefined | null
|
|
|
1123
1129
|
* Returns true if the assembly has a terminal error state.
|
|
1124
1130
|
*/
|
|
1125
1131
|
export function isAssemblyTerminalError(assembly: AssemblyStatus | undefined | null): boolean {
|
|
1126
|
-
|
|
1132
|
+
// getError() historically stringifies explicit undefined; classification needs the raw value.
|
|
1133
|
+
return (
|
|
1134
|
+
(hasError(assembly) && publicAssemblyErrorCodeSchema.safeParse(assembly.error).success) ||
|
|
1135
|
+
isAssemblySysError(assembly)
|
|
1136
|
+
)
|
|
1127
1137
|
}
|
|
1128
1138
|
|
|
1129
1139
|
/**
|
|
@@ -1185,7 +1195,7 @@ export const assemblyIndexItemSchema = z
|
|
|
1185
1195
|
bytes_received: assemblyStatusBaseSchema.shape.bytes_received.optional(),
|
|
1186
1196
|
upload_duration: assemblyStatusBaseSchema.shape.upload_duration.optional(),
|
|
1187
1197
|
ok: assemblyStatusOkCodeSchema.nullable().optional(),
|
|
1188
|
-
error:
|
|
1198
|
+
error: publicAssemblyErrorCodeSchema.nullable().optional(),
|
|
1189
1199
|
created: z.string(),
|
|
1190
1200
|
created_ts: z.number().optional(),
|
|
1191
1201
|
template_name: z.string().nullable().optional(),
|
|
@@ -20,6 +20,7 @@ export const MODEL_CAPABILITIES: Readonly<Record<string, { pdf: boolean; image:
|
|
|
20
20
|
'anthropic/claude-fable-5': { pdf: true, image: true },
|
|
21
21
|
'anthropic/claude-fable-5-1': { pdf: true, image: true },
|
|
22
22
|
'anthropic/claude-sonnet-5': { pdf: true, image: true },
|
|
23
|
+
'anthropic/claude-sonnet-5-5': { pdf: true, image: true },
|
|
23
24
|
'openai/gpt-4.1-2025-04-14': { pdf: false, image: true },
|
|
24
25
|
'openai/chatgpt-4o-latest': { pdf: false, image: true },
|
|
25
26
|
'openai/o3-2025-04-16': { pdf: false, image: true },
|
|
@@ -33,6 +34,7 @@ export const MODEL_CAPABILITIES: Readonly<Record<string, { pdf: boolean; image:
|
|
|
33
34
|
'openai/gpt-5.5': { pdf: false, image: true },
|
|
34
35
|
'openai/gpt-5.6-sol': { pdf: false, image: true },
|
|
35
36
|
'openai/gpt-6-astra': { pdf: false, image: true },
|
|
37
|
+
'openai/gpt-6.1-sol': { pdf: false, image: true },
|
|
36
38
|
'openai/gpt-5.4': { pdf: false, image: true },
|
|
37
39
|
'openai/gpt-5.4-mini': { pdf: false, image: true },
|
|
38
40
|
'openai/gpt-5.4-nano': { pdf: false, image: true },
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { z } from 'zod'
|
|
2
|
+
|
|
3
|
+
/** Google’s signed 32-bit seed ceiling, shared by provider and Robot validation. */
|
|
4
|
+
export const googleImageSeedMaximum = 2_147_483_647
|
|
5
|
+
|
|
6
|
+
/** Validation message for the seed range supported by Google and the cloudai CLI. */
|
|
7
|
+
export const googleImageSeedValidationMessage = `seed must be an integer from 0 to ${googleImageSeedMaximum}`
|
|
8
|
+
|
|
9
|
+
/** Google image seeds must fit int32 and preserve the CLI’s nonnegative seed contract. */
|
|
10
|
+
export const googleImageSeedSchema = z
|
|
11
|
+
.number()
|
|
12
|
+
.int(googleImageSeedValidationMessage)
|
|
13
|
+
.min(0, googleImageSeedValidationMessage)
|
|
14
|
+
.max(googleImageSeedMaximum, googleImageSeedValidationMessage)
|
|
@@ -2048,25 +2048,23 @@ While we recommend to use <dfn>Template Credentials</dfn> at all times, some use
|
|
|
2048
2048
|
})
|
|
2049
2049
|
.strict()
|
|
2050
2050
|
|
|
2051
|
-
|
|
2052
|
-
export
|
|
2053
|
-
|
|
2054
|
-
|
|
2055
|
-
.string()
|
|
2056
|
-
.optional()
|
|
2057
|
-
.describe(`
|
|
2058
|
-
Create a new [Google service account](https://cloud.google.com/storage/docs/authentication). Set its role to "Storage Object Creator". Choose "JSON" for the key file format and download it to your computer. You will need to upload this file when creating your <dfn>Template Credentials</dfn>.
|
|
2051
|
+
/** Shared Google credential setup with permissions supplied by the importing or storing Robot. */
|
|
2052
|
+
export function getGoogleCredentialsDescription(permissions: string): string {
|
|
2053
|
+
return `
|
|
2054
|
+
Create a new [Google service account](https://cloud.google.com/storage/docs/authentication). Choose “JSON” for the key file format and download it to your computer. You will need to upload this file when creating your <dfn>Template Credentials</dfn>.
|
|
2059
2055
|
|
|
2060
2056
|
Go back to your Google credentials project and enable the "Google Cloud Storage JSON API" for it. Wait around ten minutes for the action to propagate through the Google network. Grab the project ID from the dropdown menu in the header bar on the Google site. You will also need it later on.
|
|
2061
2057
|
|
|
2062
|
-
|
|
2063
|
-
|
|
2064
|
-
To do this from the Google Cloud console, navigate to "IAM & Admin" and select "Roles". From here, click "Create Role", enter a name, set the role launch stage to _General availability,_ and set the permissions stated above.
|
|
2065
|
-
|
|
2066
|
-
Next, go to Storage browser and select the ellipsis on your bucket to edit bucket permissions. From here, select "Add Member", enter your service account as a new member, and select your newly created role.
|
|
2058
|
+
${permissions.trim()}
|
|
2067
2059
|
|
|
2068
2060
|
Then, create your associated [Template Credentials](/c/template-credentials/) in your Transloadit account and use the name of your <dfn>Template Credentials</dfn> as this parameter's value.
|
|
2069
|
-
`
|
|
2061
|
+
`
|
|
2062
|
+
}
|
|
2063
|
+
|
|
2064
|
+
export type GoogleBase = z.infer<typeof googleBase>
|
|
2065
|
+
export const googleBase = z
|
|
2066
|
+
.object({
|
|
2067
|
+
credentials: z.string().optional(),
|
|
2070
2068
|
})
|
|
2071
2069
|
.strict()
|
|
2072
2070
|
|
|
@@ -2314,7 +2312,7 @@ For example:
|
|
|
2314
2312
|
}
|
|
2315
2313
|
\`\`\`
|
|
2316
2314
|
|
|
2317
|
-
This will crop the area from \`(80, 100)\` to \`(600, 800)\` from a 1000×1000 pixels video, which is a
|
|
2315
|
+
This will crop the area from \`(80, 100)\` to \`(600, 800)\` from a 1000×1000 pixels video, which is a rectangle whose width is 520px and height is 700px. If \`crop\` is set, the width and height parameters are ignored, and the \`resize_strategy\` is set to \`crop\` automatically.
|
|
2318
2316
|
|
|
2319
2317
|
You can also use a JSON string of such an object with coordinates in similar fashion:
|
|
2320
2318
|
|