@transloadit/node 6.8.0 → 6.9.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/README.md +67 -3
- package/dist/Transloadit.d.ts +6 -0
- package/dist/Transloadit.d.ts.map +1 -1
- package/dist/Transloadit.js +9 -0
- package/dist/Transloadit.js.map +1 -1
- package/dist/cli/commands/storage.d.ts.map +1 -1
- package/dist/cli/commands/storage.js +110 -37
- package/dist/cli/commands/storage.js.map +1 -1
- package/dist/cli/storageReceipts.d.ts +80 -1
- package/dist/cli/storageReceipts.d.ts.map +1 -1
- package/dist/cli/storageReceipts.js +48 -12
- package/dist/cli/storageReceipts.js.map +1 -1
- package/dist/storageAsset.d.ts +44 -0
- package/dist/storageAsset.d.ts.map +1 -0
- package/dist/storageAsset.js +173 -0
- package/dist/storageAsset.js.map +1 -0
- package/dist/storageImage.d.ts +11 -35
- package/dist/storageImage.d.ts.map +1 -1
- package/dist/storageImage.js +21 -141
- package/dist/storageImage.js.map +1 -1
- package/package.json +2 -2
- package/src/Transloadit.ts +22 -0
- package/src/cli/commands/storage.ts +141 -67
- package/src/cli/storageReceipts.ts +50 -11
- package/src/storageAsset.ts +271 -0
- package/src/storageImage.ts +43 -201
|
@@ -8,10 +8,11 @@ import { ensureError, isErrnoException } from "./types.js";
|
|
|
8
8
|
// Keep every JSON key verbatim: a Storage filename may be "__proto__", which z.record strips.
|
|
9
9
|
const receiptsSchema = z.custom((value) => typeof value === 'object' && value !== null && !Array.isArray(value));
|
|
10
10
|
const deliveryParameterSchema = z.union([z.string(), z.number(), z.boolean()]);
|
|
11
|
+
const workspaceSchema = z.string().regex(/^[a-zA-Z0-9][a-zA-Z0-9_-]{0,127}$/);
|
|
11
12
|
/** Project identity and rendering metadata (including optional preview pixels), without credentials. */
|
|
12
13
|
export const storageCatalogSchema = z
|
|
13
14
|
.object({
|
|
14
|
-
workspace:
|
|
15
|
+
workspace: workspaceSchema,
|
|
15
16
|
apiOrigin: z.string().url().optional(),
|
|
16
17
|
public: z.array(z.string().refine((prefix) => {
|
|
17
18
|
try {
|
|
@@ -22,6 +23,7 @@ export const storageCatalogSchema = z
|
|
|
22
23
|
}
|
|
23
24
|
}, 'Expected a normalized public directory')),
|
|
24
25
|
images: receiptsSchema,
|
|
26
|
+
files: receiptsSchema.optional(),
|
|
25
27
|
delivery: z
|
|
26
28
|
.object({
|
|
27
29
|
baseUrl: z.string().url().optional(),
|
|
@@ -32,7 +34,28 @@ export const storageCatalogSchema = z
|
|
|
32
34
|
.passthrough()
|
|
33
35
|
.optional(),
|
|
34
36
|
})
|
|
35
|
-
.passthrough()
|
|
37
|
+
.passthrough()
|
|
38
|
+
.superRefine((catalog, context) => {
|
|
39
|
+
for (const [path, value] of Object.entries(catalog.files ?? {})) {
|
|
40
|
+
const receipt = storedAssetSchema.safeParse(value);
|
|
41
|
+
if (!receipt.success ||
|
|
42
|
+
receipt.data.path !== path ||
|
|
43
|
+
receipt.data.workspace !== catalog.workspace) {
|
|
44
|
+
context.addIssue({
|
|
45
|
+
code: 'custom',
|
|
46
|
+
path: ['files', path],
|
|
47
|
+
message: 'Expected a matching Storage asset receipt',
|
|
48
|
+
});
|
|
49
|
+
}
|
|
50
|
+
if (Object.hasOwn(catalog.images, path)) {
|
|
51
|
+
context.addIssue({
|
|
52
|
+
code: 'custom',
|
|
53
|
+
path: ['files', path],
|
|
54
|
+
message: 'A path cannot occur in both images and files',
|
|
55
|
+
});
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
});
|
|
36
59
|
/** Default project catalog; --receipts can select a separate project explicitly. */
|
|
37
60
|
export const defaultStorageCatalog = 'transloadit.images.json';
|
|
38
61
|
/** Non-production login origins are explicit transport overrides, never rendering credentials. */
|
|
@@ -48,6 +71,12 @@ const imageReceiptSchema = storedAssetSchema.extend({
|
|
|
48
71
|
width: z.number().int().positive().max(Number.MAX_SAFE_INTEGER),
|
|
49
72
|
height: z.number().int().positive().max(Number.MAX_SAFE_INTEGER),
|
|
50
73
|
});
|
|
74
|
+
/** Only image receipts with intrinsic dimensions belong in the Viewer map. */
|
|
75
|
+
export function isStorageImageReceipt(value) {
|
|
76
|
+
const result = imageReceiptSchema.safeParse(value);
|
|
77
|
+
// Dimensions also describe videos; an unknown MIME type cannot establish a Viewer image.
|
|
78
|
+
return result.success && result.data.mime?.startsWith('image/') === true;
|
|
79
|
+
}
|
|
51
80
|
const legacyTypesHeader = '// Generated by transloadit storage. Commit this file with the image catalog; do not edit.';
|
|
52
81
|
const typesHeader = '// Generated by transloadit storage. Optional Viewer types; follow the catalog’s commit policy. Do not edit.';
|
|
53
82
|
/** The single conventional type-registration file beside a CLI catalog. */
|
|
@@ -73,14 +102,20 @@ function catalogTypes(catalog, file) {
|
|
|
73
102
|
return [
|
|
74
103
|
typesHeader,
|
|
75
104
|
...(file === undefined ? [] : [`// Catalog: ${JSON.stringify(basename(file))}`]),
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
105
|
+
// Headerless legacy ownership must still match the old empty interface exactly. Newly
|
|
106
|
+
// generated file-only catalogs have an owner line and need no Viewer dependency.
|
|
107
|
+
...(properties.length === 0 && file !== undefined
|
|
108
|
+
? ['export {}', '']
|
|
109
|
+
: [
|
|
110
|
+
"import '@transloadit/viewer/next'",
|
|
111
|
+
'',
|
|
112
|
+
"declare module '@transloadit/viewer/next' {",
|
|
113
|
+
' interface RegisteredStorageImages {',
|
|
114
|
+
...properties,
|
|
115
|
+
' }',
|
|
116
|
+
'}',
|
|
117
|
+
'',
|
|
118
|
+
]),
|
|
84
119
|
].join('\n');
|
|
85
120
|
}
|
|
86
121
|
async function readReceipts(file) {
|
|
@@ -110,7 +145,7 @@ export async function readStorageCatalog(file) {
|
|
|
110
145
|
}
|
|
111
146
|
/** A workspace override selects another workspace, never another key or implicit project rebinding. */
|
|
112
147
|
export function assertStorageWorkspace(actual, project, requested) {
|
|
113
|
-
if (!
|
|
148
|
+
if (!workspaceSchema.safeParse(actual).success)
|
|
114
149
|
throw new Error(`Invalid Storage Workspace ${JSON.stringify(actual)}: expected a URL-safe slug beginning with a letter or digit.`);
|
|
115
150
|
if (requested !== undefined && requested !== actual)
|
|
116
151
|
throw new Error(`Selected credentials belong to ${actual}, not ${requested}. Nothing uploaded.`);
|
|
@@ -126,9 +161,10 @@ export function assertStorageCatalogOrigin(catalog, endpoint, file) {
|
|
|
126
161
|
if (catalog !== undefined &&
|
|
127
162
|
catalog.apiOrigin === undefined &&
|
|
128
163
|
Object.keys(catalog.images).length === 0 &&
|
|
164
|
+
Object.keys(catalog.files ?? {}).length === 0 &&
|
|
129
165
|
(catalog.public.length > 0 || catalog.delivery !== undefined))
|
|
130
166
|
throw new Error(`Catalog ${JSON.stringify(file)} has no verified API origin. Run storage receipts sync into a new --receipts file using the original API --endpoint, then review and replace this catalog. The existing file was preserved.`);
|
|
131
|
-
for (const [path, value] of Object.entries(catalog?.images
|
|
167
|
+
for (const [path, value] of Object.entries({ ...catalog?.images, ...catalog?.files })) {
|
|
132
168
|
const previous = receiptOriginSchema.safeParse(value);
|
|
133
169
|
if (!previous.success ||
|
|
134
170
|
(previous.data.apiOrigin === undefined && catalog?.apiOrigin === undefined))
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"storageReceipts.js","sourceRoot":"","sources":["../../src/cli/storageReceipts.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAA;AACxC,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAA;AACtF,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAA;AAEnD,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAEvB,OAAO,EAAE,iBAAiB,EAAE,MAAM,mCAAmC,CAAA;AACrE,OAAO,EAAE,4BAA4B,EAAE,MAAM,6BAA6B,CAAA;AAC1E,OAAO,EAAE,WAAW,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAA;AAE1D,8FAA8F;AAC9F,MAAM,cAAc,GAAG,CAAC,CAAC,MAAM,CAC7B,CAAC,KAAc,EAAE,EAAE,CAAC,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CACzF,CAAA;AACD,MAAM,uBAAuB,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,CAAA;AAE9E,wGAAwG;AACxG,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC;KAClC,MAAM,CAAC;IACN,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,mCAAmC,CAAC;IAChE,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE;IACtC,MAAM,EAAE,CAAC,CAAC,KAAK,CACb,CAAC,CAAC,MAAM,EAAE,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,EAAE;QAC3B,IAAI,CAAC;YACH,OAAO,4BAA4B,CAAC,MAAM,CAAC,KAAK,MAAM,CAAA;QACxD,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,KAAK,CAAA;QACd,CAAC;IACH,CAAC,EAAE,wCAAwC,CAAC,CAC7C;IACD,MAAM,EAAE,cAAc;IACtB,QAAQ,EAAE,CAAC;SACR,MAAM,CAAC;QACN,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE;QACpC,SAAS,EAAE,CAAC;aACT,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,uBAAuB,EAAE,CAAC,CAAC,KAAK,CAAC,uBAAuB,CAAC,CAAC,CAAC,CAAC;aACxF,QAAQ,EAAE;KACd,CAAC;SACD,WAAW,EAAE;SACb,QAAQ,EAAE;CACd,CAAC;KACD,WAAW,EAAE,CAAA;AAGhB,oFAAoF;AACpF,MAAM,CAAC,MAAM,qBAAqB,GAAG,yBAAyB,CAAA;AAE9D,kGAAkG;AAClG,MAAM,UAAU,sBAAsB,CAAC,QAAiB;IACtD,IAAI,CAAC,QAAQ;QAAE,OAAO,SAAS,CAAA;IAC/B,MAAM,EAAE,MAAM,EAAE,GAAG,IAAI,GAAG,CAAC,QAAQ,CAAC,CAAA;IACpC,IAAI,MAAM,KAAK,8BAA8B;QAAE,OAAO,SAAS,CAAA;IAC/D,OAAO,EAAE,OAAO,EAAE,GAAG,MAAM,mBAAmB,EAAE,SAAS,EAAE,EAAE,GAAG,EAAE,UAAU,EAAE,EAAE,CAAA;AAClF,CAAC;AAED,MAAM,kBAAkB,GAAG,iBAAiB,CAAC,MAAM,CAAC;IAClD,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE,CAAC,GAAG,CAAC,MAAM,CAAC,gBAAgB,CAAC;IAC/D,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE,CAAC,GAAG,CAAC,MAAM,CAAC,gBAAgB,CAAC;CACjE,CAAC,CAAA;AAEF,MAAM,iBAAiB,GACrB,4FAA4F,CAAA;AAC9F,MAAM,WAAW,GACf,8GAA8G,CAAA;AAEhH,2EAA2E;AAC3E,MAAM,UAAU,gBAAgB,CAAC,OAAe;IAC9C,OAAO,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,yBAAyB,CAAC,CAAA;AAC1D,CAAC;AAED,SAAS,YAAY,CAAC,OAA8B,EAAE,IAAa;IACjE,0FAA0F;IAC1F,mFAAmF;IACnF,MAAM,SAAS,GAAG,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,uBAAuB,CAAA;IACnE,oGAAoG;IACpG,MAAM,UAAU,GAAG,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC;SAC9C,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;SAChD,OAAO,CAAC,CAAC,CAAC,IAAI,EAAE,OAAO,CAAC,EAAE,EAAE;QAC3B,MAAM,UAAU,GAAG,kBAAkB,CAAC,SAAS,CAAC,OAAO,CAAC,CAAA;QACxD,6FAA6F;QAC7F,IAAI,CAAC,UAAU,CAAC,OAAO;YAAE,OAAO,EAAE,CAAA;QAClC,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,UAAU,EAAE,SAAS,EAAE,GAAG,UAAU,CAAC,IAAI,CAAA;QAC1E,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAA;QACjC,OAAO,OAAO,IAAI,aAAa,IAAI,gBAAgB,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,eAAe,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,iBAAiB,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,YAAY,KAAK,aAAa,MAAM,wBAAwB,SAAS,uBAAuB,CAAA;IAC5P,CAAC,CAAC,CAAA;IACJ,OAAO;QACL,WAAW;QACX,GAAG,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,eAAe,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC;QAChF,mCAAmC;QACnC,EAAE;QACF,6CAA6C;QAC7C,uCAAuC;QACvC,GAAG,UAAU;QACb,KAAK;QACL,GAAG;QACH,EAAE;KACH,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;AACd,CAAC;AAED,KAAK,UAAU,YAAY,CACzB,IAAY;IAEZ,IAAI,CAAC;QACH,MAAM,IAAI,GAAG,MAAM,KAAK,CAAC,IAAI,CAAC,CAAA;QAC9B,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE;YAAE,MAAM,IAAI,KAAK,CAAC,0DAA0D,CAAC,CAAA;QAC/F,OAAO;YACL,OAAO,EAAE,oBAAoB,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC;YAC7E,IAAI,EAAE,IAAI,CAAC,IAAI,GAAG,KAAK;SACxB,CAAA;IACH,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAI,gBAAgB,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,IAAI,KAAK,QAAQ;YAAE,OAAO,EAAE,CAAA;QACjE,MAAM,MAAM,GACV,KAAK,YAAY,WAAW;YAC1B,CAAC,CAAC,cAAc;YAChB,CAAC,CAAC,KAAK,YAAY,CAAC,CAAC,QAAQ;gBAC3B,CAAC,CAAC,yBAAyB,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,yBAAyB,EAAE;gBACzF,CAAC,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,OAAO,CAAA;QAClC,MAAM,IAAI,KAAK,CAAC,wBAAwB,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,MAAM,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,CAAA;IAC9F,CAAC;AACH,CAAC;AAED,qFAAqF;AACrF,MAAM,CAAC,KAAK,UAAU,kBAAkB,CAAC,IAAY;IACnD,OAAO,CAAC,MAAM,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAA;AAC3C,CAAC;AAED,uGAAuG;AACvG,MAAM,UAAU,sBAAsB,CAAC,MAAc,EAAE,OAAgB,EAAE,SAAkB;IACzF,IAAI,CAAC,oBAAoB,CAAC,KAAK,CAAC,SAAS,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,OAAO;QACjE,MAAM,IAAI,KAAK,CACb,6BAA6B,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,8DAA8D,CAClH,CAAA;IACH,IAAI,SAAS,KAAK,SAAS,IAAI,SAAS,KAAK,MAAM;QACjD,MAAM,IAAI,KAAK,CAAC,kCAAkC,MAAM,SAAS,SAAS,qBAAqB,CAAC,CAAA;IAClG,IAAI,OAAO,KAAK,SAAS,IAAI,OAAO,KAAK,MAAM,IAAI,SAAS,KAAK,SAAS;QACxE,MAAM,IAAI,KAAK,CACb,gBAAgB,OAAO,wCAAwC,MAAM,qBAAqB,CAC3F,CAAA;AACL,CAAC;AAED,MAAM,mBAAmB,GAAG,CAAC,CAAC,MAAM,CAAC,EAAE,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAA;AAEhF,gGAAgG;AAChG,MAAM,UAAU,0BAA0B,CACxC,OAA0C,EAC1C,QAAgB,EAChB,IAAY;IAEZ,MAAM,QAAQ,GAAG,GAAU,EAAE,CAC3B,IAAI,KAAK,CACP,WAAW,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,8GAA8G,CAC9I,CAAA;IACH,IAAI,OAAO,EAAE,SAAS,KAAK,SAAS,IAAI,IAAI,GAAG,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,MAAM,KAAK,QAAQ;QACpF,MAAM,QAAQ,EAAE,CAAA;IAClB,IACE,OAAO,KAAK,SAAS;QACrB,OAAO,CAAC,SAAS,KAAK,SAAS;QAC/B,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,MAAM,KAAK,CAAC;QACxC,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,IAAI,OAAO,CAAC,QAAQ,KAAK,SAAS,CAAC;QAE7D,MAAM,IAAI,KAAK,CACb,WAAW,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,6LAA6L,CAC7N,CAAA;IACH,KAAK,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,OAAO,EAAE,MAAM,IAAI,EAAE,CAAC,EAAE,CAAC;QAClE,MAAM,QAAQ,GAAG,mBAAmB,CAAC,SAAS,CAAC,KAAK,CAAC,CAAA;QACrD,IACE,CAAC,QAAQ,CAAC,OAAO;YACjB,CAAC,QAAQ,CAAC,IAAI,CAAC,SAAS,KAAK,SAAS,IAAI,OAAO,EAAE,SAAS,KAAK,SAAS,CAAC;YAE3E,MAAM,IAAI,KAAK,CACb,WAAW,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,mCAAmC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,kKAAkK,CACzP,CAAA;QACH,IACE,QAAQ,CAAC,IAAI,CAAC,SAAS,KAAK,SAAS;YACrC,IAAI,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,MAAM,KAAK,QAAQ;YAEpD,MAAM,QAAQ,EAAE,CAAA;IACpB,CAAC;AACH,CAAC;AAED;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,qBAAqB,CACzC,IAAY,EACZ,MAG+C,EAC/C,YAAyB;IAEzB,MAAM,QAAQ,GAAG,GAAG,IAAI,OAAO,CAAA;IAC/B,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,IAAI,QAAQ,CAAC,IAAI,CAAC,IAAI,UAAU,EAAE,MAAM,CAAC,CAAA;IAC/E,MAAM,SAAS,GAAG,gBAAgB,CAAC,IAAI,CAAC,CAAA;IACxC,IAAI,QAAQ,CAAC,IAAI,CAAC,KAAK,yBAAyB;QAC9C,MAAM,IAAI,KAAK,CACb,oFAAoF,CACrF,CAAA;IACH,MAAM,cAAc,GAAG,GAAG,SAAS,OAAO,CAAA;IAC1C,MAAM,YAAY,GAAG,IAAI,eAAe,EAAE,CAAA;IAC1C,MAAM,MAAM,GAAG,GAAS,EAAE,CACxB,YAAY,CAAC,KAAK,CAChB,IAAI,KAAK,CAAC,kEAAkE,CAAC,CAC9E,CAAA;IACH,8FAA8F;IAC9F,OAAO,CAAC,IAAI,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAA;IAC9B,OAAO,CAAC,IAAI,CAAC,SAAS,EAAE,MAAM,CAAC,CAAA;IAC/B,IAAI,IAA4B,CAAA;IAChC,IAAI,SAAiC,CAAA;IACrC,IAAI,eAAe,GAAG,KAAK,CAAA;IAC3B,IAAI,CAAC;QACH,IAAI,GAAG,MAAM,IAAI,CAAC,QAAQ,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC,KAAc,EAAE,EAAE;YAChE,IAAI,gBAAgB,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;gBACvD,MAAM,IAAI,KAAK,CACb,iFAAiF,QAAQ,8CAA8C,EACvI,EAAE,KAAK,EAAE,KAAK,EAAE,CACjB,CAAA;YACH,CAAC;YACD,MAAM,KAAK,CAAA;QACb,CAAC,CAAC,CAAA;QACF,YAAY,CAAC,MAAM,CAAC,cAAc,EAAE,CAAA;QACpC,8EAA8E;QAC9E,SAAS,GAAG,MAAM,IAAI,CAAC,GAAG,SAAS,OAAO,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC,KAAc,EAAE,EAAE;YAChF,MAAM,IAAI,KAAK,CACb,sCAAsC,SAAS,sCAAsC,EACrF,EAAE,KAAK,EAAE,KAAK,EAAE,CACjB,CAAA;QACH,CAAC,CAAC,CAAA;QACF,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,GAAG,MAAM,YAAY,CAAC,IAAI,CAAC,CAAA;QAClD,MAAM,SAAS,GAAG,MAAM,KAAK,CAAC,SAAS,CAAC,CAAC,KAAK,CAAC,CAAC,KAAc,EAAE,EAAE;YAChE,IAAI,gBAAgB,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,IAAI,KAAK,QAAQ;gBAAE,OAAO,SAAS,CAAA;YACxE,MAAM,KAAK,CAAA;QACb,CAAC,CAAC,CAAA;QACF,IAAI,SAAS,KAAK,SAAS,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE;YAChD,MAAM,IAAI,KAAK,CAAC,4CAA4C,SAAS,EAAE,CAAC,CAAA;QAC1E,IACE,SAAS,KAAK,SAAS;YACvB,CAAC,CAAC,WAAW,EAAE,iBAAiB,CAAC,CAAC,QAAQ,CACxC,CAAC,MAAM,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CACzD;YAED,MAAM,IAAI,KAAK,CACb,qDAAqD,SAAS,iDAAiD,CAChH,CAAA;QACH,IAAI,SAAS,KAAK,SAAS,EAAE,CAAC;YAC5B,MAAM,QAAQ,GAAG,CAAC,MAAM,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;iBACjD,UAAU,CAAC,MAAM,EAAE,IAAI,CAAC;iBACxB,OAAO,CAAC,iBAAiB,EAAE,WAAW,CAAC,CAAA;YAC1C,MAAM,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAA;YACrC,MAAM,aAAa,GAAG,eAAe,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,EAAE,CAAA;YACrE,uFAAuF;YACvF,IAAI,KAAK,KAAK,aAAa,IAAI,CAAC,CAAC,OAAO,KAAK,SAAS,IAAI,QAAQ,KAAK,YAAY,CAAC,OAAO,CAAC,CAAC;gBAC3F,MAAM,IAAI,KAAK,CACb,6BAA6B,SAAS,cAAc,KAAK,EAAE,UAAU,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,iBAAiB,6EAA6E,CACzM,CAAA;QACL,CAAC;QACD,MAAM,OAAO,GAAG,MAAM,MAAM,CAAC,OAAO,EAAE,YAAY,CAAC,MAAM,CAAC,CAAA;QAC1D,qFAAqF;QACrF,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;YAC1B,YAAY,CAAC,MAAM,CAAC,cAAc,EAAE,CAAA;YACpC,OAAM;QACR,CAAC;QACD,IAAI,CAAC,oBAAoB,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,OAAO;YAClD,MAAM,IAAI,KAAK,CACb,2GAA2G,CAC5G,CAAA;QACH,4FAA4F;QAC5F,0FAA0F;QAC1F,MAAM,SAAS,CAAC,SAAS,EAAE,GAAG,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE;YAClE,IAAI,EAAE,IAAI;YACV,IAAI,EAAE,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK;SACzC,CAAC,CAAA;QACF,eAAe,GAAG,IAAI,CAAA;QACtB,IAAI,IAAI,KAAK,SAAS;YAAE,MAAM,KAAK,CAAC,SAAS,EAAE,IAAI,CAAC,CAAA;QACpD,MAAM,SAAS,CAAC,cAAc,EAAE,YAAY,CAAC,OAAO,EAAE,IAAI,CAAC,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAA;QACzF,IAAI,SAAS,KAAK,SAAS;YAAE,MAAM,KAAK,CAAC,cAAc,EAAE,SAAS,CAAC,IAAI,GAAG,KAAK,CAAC,CAAA;QAChF,MAAM,MAAM,CAAC,SAAS,EAAE,IAAI,CAAC,CAAA;QAC7B,eAAe,GAAG,KAAK,CAAA;QACvB,YAAY,EAAE,EAAE,CAAA;QAChB,sFAAsF;QACtF,2FAA2F;QAC3F,MAAM,MAAM,CAAC,cAAc,EAAE,SAAS,CAAC,CAAC,KAAK,CAAC,CAAC,KAAc,EAAE,EAAE;YAC/D,MAAM,IAAI,KAAK,CACb,oCAAoC,SAAS,uEAAuE,EACpH,EAAE,KAAK,EAAE,KAAK,EAAE,CACjB,CAAA;QACH,CAAC,CAAC,CAAA;QACF,YAAY,CAAC,MAAM,CAAC,cAAc,EAAE,CAAA;IACtC,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAI,eAAe;YACjB,MAAM,IAAI,KAAK,CACb,GAAG,WAAW,CAAC,KAAK,CAAC,CAAC,OAAO,kCAAkC,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,GAAG,EAC3F,EAAE,KAAK,EAAE,KAAK,EAAE,CACjB,CAAA;QACH,MAAM,KAAK,CAAA;IACb,CAAC;YAAS,CAAC;QACT,IAAI,CAAC;YACH,IAAI,SAAS,KAAK,SAAS,EAAE,CAAC;gBAC5B,MAAM,SAAS,CAAC,KAAK,EAAE,CAAA;gBACvB,MAAM,EAAE,CAAC,GAAG,SAAS,OAAO,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAA;YAChD,CAAC;YACD,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;gBACvB,MAAM,IAAI,CAAC,KAAK,EAAE,CAAA;gBAClB,MAAM,EAAE,CAAC,QAAQ,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAA;gBACnC,IAAI,CAAC,eAAe;oBAAE,MAAM,EAAE,CAAC,SAAS,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAA;gBAC1D,MAAM,EAAE,CAAC,cAAc,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAA;YAC3C,CAAC;QACH,CAAC;gBAAS,CAAC;YACT,OAAO,CAAC,GAAG,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAA;YAC7B,OAAO,CAAC,GAAG,CAAC,SAAS,EAAE,MAAM,CAAC,CAAA;QAChC,CAAC;IACH,CAAC;AACH,CAAC"}
|
|
1
|
+
{"version":3,"file":"storageReceipts.js","sourceRoot":"","sources":["../../src/cli/storageReceipts.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
import type { StoredAsset } from './alphalib/types/storageAsset.ts';
|
|
2
|
+
import type { CreateAssemblyOptions, Transloadit } from './Transloadit.ts';
|
|
3
|
+
import { z } from 'zod';
|
|
4
|
+
/**
|
|
5
|
+
* Verified metadata for an original of any media type. Dimensions are optional.
|
|
6
|
+
*/
|
|
7
|
+
export interface StoredAssetReceipt extends Readonly<StoredAsset> {
|
|
8
|
+
/** Legacy catalog spelling; new server receipts use has_alpha. */
|
|
9
|
+
readonly hasAlpha?: boolean;
|
|
10
|
+
readonly md5hash: string;
|
|
11
|
+
}
|
|
12
|
+
/** Shared SDK/CLI opt-in for server extraction; rendering remains a separate choice. */
|
|
13
|
+
export declare const storageImagePlaceholderSchema: z.ZodEnum<["blur", "empty"]>;
|
|
14
|
+
/** One explicit destination, with the existing Assembly upload and polling controls. */
|
|
15
|
+
export interface StoreAssetOptions extends Pick<CreateAssemblyOptions, 'chunkSize' | 'onAssemblyProgress' | 'onUploadProgress' | 'signal' | 'timeout'> {
|
|
16
|
+
/** Complete relative Storage filename. Directories and interpolation expressions are rejected. */
|
|
17
|
+
path: string;
|
|
18
|
+
/** Explicit opt-in replacement of an existing path; defaults to false. */
|
|
19
|
+
overwrite?: boolean;
|
|
20
|
+
/** Request a server ThumbHash. Successful extraction adds metadata usage of 20% of the file bytes. */
|
|
21
|
+
placeholder?: z.infer<typeof storageImagePlaceholderSchema>;
|
|
22
|
+
/** Observe verified metadata. Not awaited; sync and async observer errors cannot undo a write. */
|
|
23
|
+
onReceipt?: (receipt: StoredAssetReceipt, input: StoredAssetExpectation, assemblyId: string | undefined) => void | Promise<void>;
|
|
24
|
+
}
|
|
25
|
+
/** Trusted upload facts used to correlate a stored result with an application-owned upload. */
|
|
26
|
+
export interface StoredAssetExpectation {
|
|
27
|
+
path: string;
|
|
28
|
+
size: number;
|
|
29
|
+
md5hash: string;
|
|
30
|
+
}
|
|
31
|
+
/** Recovers one original's receipt without re-uploading or trusting notification payloads. */
|
|
32
|
+
export interface GetStoredAssetReceiptOptions {
|
|
33
|
+
assemblyId: string;
|
|
34
|
+
expected: StoredAssetExpectation;
|
|
35
|
+
}
|
|
36
|
+
/** Stores one exact original; a mismatch is reported with the completed write's receipt. */
|
|
37
|
+
export declare function storeAsset(client: Transloadit, filePath: string, options: StoreAssetOptions): Promise<StoredAssetReceipt>;
|
|
38
|
+
/** Shared upload pipeline; the image entry point retains its existing transformed-byte policy. */
|
|
39
|
+
export declare function storeOriginal(client: Transloadit, filePath: string, options: StoreAssetOptions, image?: boolean): Promise<StoredAssetReceipt>;
|
|
40
|
+
/** Fetches authoritative Assembly status and verifies identity and original-byte fidelity. */
|
|
41
|
+
export declare function getStoredAssetReceipt(client: Transloadit, options: GetStoredAssetReceiptOptions): Promise<StoredAssetReceipt>;
|
|
42
|
+
/** Shared recovery keeps image-specific validation and Assembly diagnostics together. */
|
|
43
|
+
export declare function getOriginalReceipt(client: Transloadit, options: GetStoredAssetReceiptOptions, image?: boolean): Promise<StoredAssetReceipt>;
|
|
44
|
+
//# sourceMappingURL=storageAsset.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"storageAsset.d.ts","sourceRoot":"","sources":["../src/storageAsset.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kCAAkC,CAAA;AACnE,OAAO,KAAK,EAAE,qBAAqB,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAA;AAM1E,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAMvB;;GAEG;AACH,MAAM,WAAW,kBAAmB,SAAQ,QAAQ,CAAC,WAAW,CAAC;IAC/D,kEAAkE;IAClE,QAAQ,CAAC,QAAQ,CAAC,EAAE,OAAO,CAAA;IAC3B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;CACzB;AAED,wFAAwF;AACxF,eAAO,MAAM,6BAA6B,8BAA4B,CAAA;AAEtE,wFAAwF;AACxF,MAAM,WAAW,iBACf,SAAQ,IAAI,CACV,qBAAqB,EACrB,WAAW,GAAG,oBAAoB,GAAG,kBAAkB,GAAG,QAAQ,GAAG,SAAS,CAC/E;IACD,kGAAkG;IAClG,IAAI,EAAE,MAAM,CAAA;IACZ,0EAA0E;IAC1E,SAAS,CAAC,EAAE,OAAO,CAAA;IACnB,sGAAsG;IACtG,WAAW,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,6BAA6B,CAAC,CAAA;IAC3D,kGAAkG;IAClG,SAAS,CAAC,EAAE,CACV,OAAO,EAAE,kBAAkB,EAC3B,KAAK,EAAE,sBAAsB,EAC7B,UAAU,EAAE,MAAM,GAAG,SAAS,KAC3B,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;CAC1B;AAED,+FAA+F;AAC/F,MAAM,WAAW,sBAAsB;IACrC,IAAI,EAAE,MAAM,CAAA;IACZ,IAAI,EAAE,MAAM,CAAA;IACZ,OAAO,EAAE,MAAM,CAAA;CAChB;AAED,8FAA8F;AAC9F,MAAM,WAAW,4BAA4B;IAC3C,UAAU,EAAE,MAAM,CAAA;IAClB,QAAQ,EAAE,sBAAsB,CAAA;CACjC;AA+CD,4FAA4F;AAC5F,wBAAgB,UAAU,CACxB,MAAM,EAAE,WAAW,EACnB,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE,iBAAiB,GACzB,OAAO,CAAC,kBAAkB,CAAC,CAE7B;AAED,kGAAkG;AAClG,wBAAsB,aAAa,CACjC,MAAM,EAAE,WAAW,EACnB,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE,iBAAiB,EAC1B,KAAK,UAAQ,GACZ,OAAO,CAAC,kBAAkB,CAAC,CA8E7B;AAED,8FAA8F;AAC9F,wBAAgB,qBAAqB,CACnC,MAAM,EAAE,WAAW,EACnB,OAAO,EAAE,4BAA4B,GACpC,OAAO,CAAC,kBAAkB,CAAC,CAE7B;AAED,yFAAyF;AACzF,wBAAsB,kBAAkB,CACtC,MAAM,EAAE,WAAW,EACnB,OAAO,EAAE,4BAA4B,EACrC,KAAK,UAAQ,GACZ,OAAO,CAAC,kBAAkB,CAAC,CAU7B"}
|
|
@@ -0,0 +1,173 @@
|
|
|
1
|
+
import { createHash } from 'node:crypto';
|
|
2
|
+
import { createReadStream } from 'node:fs';
|
|
3
|
+
import debug from 'debug';
|
|
4
|
+
import { z } from 'zod';
|
|
5
|
+
import { ApiError } from "./ApiError.js";
|
|
6
|
+
import { storedAssetSchema } from "./alphalib/types/storageAsset.js";
|
|
7
|
+
import InconsistentResponseError from "./InconsistentResponseError.js";
|
|
8
|
+
/** Shared SDK/CLI opt-in for server extraction; rendering remains a separate choice. */
|
|
9
|
+
export const storageImagePlaceholderSchema = z.enum(['blur', 'empty']);
|
|
10
|
+
const positiveIntegerSchema = z.number().int().positive().max(Number.MAX_SAFE_INTEGER);
|
|
11
|
+
const receiptRequestSchema = z.object({
|
|
12
|
+
assemblyId: z.string().regex(/^[A-Za-z0-9_-]+$/),
|
|
13
|
+
expected: z.object({
|
|
14
|
+
path: z.string(),
|
|
15
|
+
size: positiveIntegerSchema,
|
|
16
|
+
md5hash: z.string().regex(/^[a-f0-9]{32}$/),
|
|
17
|
+
}),
|
|
18
|
+
});
|
|
19
|
+
const completedAssetSchema = z.object({
|
|
20
|
+
ok: z.literal('ASSEMBLY_COMPLETED'),
|
|
21
|
+
results: z.object({
|
|
22
|
+
':original': z.tuple([
|
|
23
|
+
storedAssetSchema.extend({
|
|
24
|
+
md5hash: storedAssetSchema.shape.md5hash.unwrap(),
|
|
25
|
+
size: positiveIntegerSchema,
|
|
26
|
+
}),
|
|
27
|
+
]),
|
|
28
|
+
}),
|
|
29
|
+
});
|
|
30
|
+
const completedImageSchema = completedAssetSchema.extend({
|
|
31
|
+
results: z.object({
|
|
32
|
+
':original': z.tuple([
|
|
33
|
+
completedAssetSchema.shape.results.shape[':original'].items[0].extend({
|
|
34
|
+
width: positiveIntegerSchema,
|
|
35
|
+
height: positiveIntegerSchema,
|
|
36
|
+
}),
|
|
37
|
+
]),
|
|
38
|
+
}),
|
|
39
|
+
});
|
|
40
|
+
function validateDestination(path) {
|
|
41
|
+
if (typeof path !== 'string' ||
|
|
42
|
+
path.trim() !== path ||
|
|
43
|
+
Buffer.byteLength(path) > 1024 ||
|
|
44
|
+
path.normalize('NFC') !== path ||
|
|
45
|
+
/[\p{Cc}\p{Cs}\\|]/u.test(path) ||
|
|
46
|
+
path.includes('${') ||
|
|
47
|
+
path.split('/').some((segment) => segment.trim() === '' || segment === '.' || segment === '..')) {
|
|
48
|
+
throw new TypeError('Storage path must be a complete relative filename without interpolation');
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
/** Stores one exact original; a mismatch is reported with the completed write's receipt. */
|
|
52
|
+
export function storeAsset(client, filePath, options) {
|
|
53
|
+
return storeOriginal(client, filePath, options);
|
|
54
|
+
}
|
|
55
|
+
/** Shared upload pipeline; the image entry point retains its existing transformed-byte policy. */
|
|
56
|
+
export async function storeOriginal(client, filePath, options, image = false) {
|
|
57
|
+
const { path, chunkSize, onAssemblyProgress, onUploadProgress, onReceipt, overwrite, signal, timeout, } = options;
|
|
58
|
+
validateDestination(path);
|
|
59
|
+
const placeholder = storageImagePlaceholderSchema.optional().parse(options.placeholder, {
|
|
60
|
+
path: ['placeholder'],
|
|
61
|
+
});
|
|
62
|
+
if (overwrite !== undefined && typeof overwrite !== 'boolean')
|
|
63
|
+
throw new TypeError('overwrite must be a boolean');
|
|
64
|
+
signal?.throwIfAborted();
|
|
65
|
+
const checksum = createHash('md5');
|
|
66
|
+
let size = 0;
|
|
67
|
+
for await (const chunk of createReadStream(filePath, { signal })) {
|
|
68
|
+
checksum.update(chunk);
|
|
69
|
+
size += chunk.length;
|
|
70
|
+
}
|
|
71
|
+
if (size === 0)
|
|
72
|
+
throw new Error(image ? 'Cannot store an empty image' : 'Cannot store an empty file');
|
|
73
|
+
const md5hash = checksum.digest('hex');
|
|
74
|
+
signal?.throwIfAborted();
|
|
75
|
+
const assembly = await client.createAssembly({
|
|
76
|
+
chunkSize,
|
|
77
|
+
files: { [image ? 'image' : 'file']: filePath },
|
|
78
|
+
onAssemblyProgress,
|
|
79
|
+
onUploadProgress,
|
|
80
|
+
params: {
|
|
81
|
+
steps: {
|
|
82
|
+
...(placeholder === 'blur'
|
|
83
|
+
? {
|
|
84
|
+
':original': {
|
|
85
|
+
robot: '/upload/handle',
|
|
86
|
+
output_meta: { thumbhash: true },
|
|
87
|
+
},
|
|
88
|
+
}
|
|
89
|
+
: {}),
|
|
90
|
+
stored: {
|
|
91
|
+
robot: '/transloadit/store',
|
|
92
|
+
use: ':original',
|
|
93
|
+
path,
|
|
94
|
+
conflict_strategy: overwrite === true ? 'overwrite' : 'error',
|
|
95
|
+
},
|
|
96
|
+
},
|
|
97
|
+
},
|
|
98
|
+
signal,
|
|
99
|
+
timeout,
|
|
100
|
+
waitForCompletion: true,
|
|
101
|
+
});
|
|
102
|
+
const input = { path, size, md5hash };
|
|
103
|
+
// API2 can watermark uploads before Robots run; this exact write's result describes stored bytes.
|
|
104
|
+
const receipt = validateReceipt(assembly, input, true, image);
|
|
105
|
+
const observerFailed = () => {
|
|
106
|
+
debug('transloadit:warn')('Ignored onReceipt observer failure after a completed Storage write');
|
|
107
|
+
};
|
|
108
|
+
try {
|
|
109
|
+
// Neither a stalled observer nor its rejection may hide a successfully stored receipt.
|
|
110
|
+
void Promise.resolve(onReceipt?.({ ...receipt }, input, assembly.assembly_id)).catch(observerFailed);
|
|
111
|
+
}
|
|
112
|
+
catch {
|
|
113
|
+
observerFailed();
|
|
114
|
+
}
|
|
115
|
+
if (!image && (receipt.size !== size || receipt.md5hash !== md5hash)) {
|
|
116
|
+
throw new InconsistentResponseError('Stored bytes differ from the original file; do not upload again', {
|
|
117
|
+
cause: { assemblyId: assembly.assembly_id, receipt, expected: input },
|
|
118
|
+
});
|
|
119
|
+
}
|
|
120
|
+
return receipt;
|
|
121
|
+
}
|
|
122
|
+
/** Fetches authoritative Assembly status and verifies identity and original-byte fidelity. */
|
|
123
|
+
export function getStoredAssetReceipt(client, options) {
|
|
124
|
+
return getOriginalReceipt(client, options);
|
|
125
|
+
}
|
|
126
|
+
/** Shared recovery keeps image-specific validation and Assembly diagnostics together. */
|
|
127
|
+
export async function getOriginalReceipt(client, options, image = false) {
|
|
128
|
+
const { assemblyId, expected } = receiptRequestSchema.parse(options);
|
|
129
|
+
validateDestination(expected.path);
|
|
130
|
+
const assembly = await client.getAssembly(assemblyId);
|
|
131
|
+
if (assembly.assembly_id !== assemblyId) {
|
|
132
|
+
throw new InconsistentResponseError('The response did not match the requested Assembly', {
|
|
133
|
+
cause: { assemblyId },
|
|
134
|
+
});
|
|
135
|
+
}
|
|
136
|
+
return validateReceipt(assembly, expected, false, image);
|
|
137
|
+
}
|
|
138
|
+
function validateReceipt(assembly, expected, acceptTransformed = false, image = false) {
|
|
139
|
+
const { path, size, md5hash } = expected;
|
|
140
|
+
if (typeof assembly.error === 'string')
|
|
141
|
+
throw new ApiError({ body: assembly });
|
|
142
|
+
if (assembly.ok === 'ASSEMBLY_CANCELED') {
|
|
143
|
+
throw new InconsistentResponseError('The Storage Assembly ended with ASSEMBLY_CANCELED', {
|
|
144
|
+
cause: { assemblyId: assembly.assembly_id },
|
|
145
|
+
});
|
|
146
|
+
}
|
|
147
|
+
if (assembly.ok === 'ASSEMBLY_UPLOADING' ||
|
|
148
|
+
assembly.ok === 'ASSEMBLY_EXECUTING' ||
|
|
149
|
+
assembly.ok === 'ASSEMBLY_REPLAYING') {
|
|
150
|
+
throw new InconsistentResponseError(`The Storage Assembly is not complete (${assembly.ok})`, {
|
|
151
|
+
cause: { assemblyId: assembly.assembly_id },
|
|
152
|
+
});
|
|
153
|
+
}
|
|
154
|
+
const parsed = (image ? completedImageSchema : completedAssetSchema).safeParse(assembly);
|
|
155
|
+
const result = parsed.success ? parsed.data.results[':original'][0] : undefined;
|
|
156
|
+
const originals = assembly.results?.[':original'];
|
|
157
|
+
const receiptCheck = {
|
|
158
|
+
originalCount: Array.isArray(originals) ? originals.length : 0,
|
|
159
|
+
metadataValid: parsed.success,
|
|
160
|
+
pathMatches: result === undefined ? undefined : result.path === path,
|
|
161
|
+
sizeMatches: result === undefined ? undefined : result.size === size,
|
|
162
|
+
md5Matches: result === undefined ? undefined : result.md5hash === md5hash,
|
|
163
|
+
};
|
|
164
|
+
if (result === undefined ||
|
|
165
|
+
result.path !== path ||
|
|
166
|
+
(!acceptTransformed && (!receiptCheck.sizeMatches || !receiptCheck.md5Matches))) {
|
|
167
|
+
throw new InconsistentResponseError(`The Assembly did not return a matching Storage ${image ? 'image' : 'asset'} receipt`, {
|
|
168
|
+
cause: { assemblyId: assembly.assembly_id, receiptCheck },
|
|
169
|
+
});
|
|
170
|
+
}
|
|
171
|
+
return result;
|
|
172
|
+
}
|
|
173
|
+
//# sourceMappingURL=storageAsset.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"storageAsset.js","sourceRoot":"","sources":["../src/storageAsset.ts"],"names":[],"mappings":"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"}
|
package/dist/storageImage.d.ts
CHANGED
|
@@ -1,43 +1,19 @@
|
|
|
1
|
-
import type {
|
|
2
|
-
import type {
|
|
3
|
-
|
|
4
|
-
/**
|
|
5
|
-
|
|
6
|
-
* Width and height reflect EXIF auto-orientation, matching Storage preview delivery.
|
|
7
|
-
*/
|
|
8
|
-
export interface StoredImageReceipt extends Readonly<StoredAsset> {
|
|
9
|
-
/** Legacy catalog spelling; new server receipts use has_alpha. */
|
|
10
|
-
readonly hasAlpha?: boolean;
|
|
1
|
+
import type { GetStoredAssetReceiptOptions, StoreAssetOptions, StoredAssetExpectation, StoredAssetReceipt } from './storageAsset.ts';
|
|
2
|
+
import type { Transloadit } from './Transloadit.ts';
|
|
3
|
+
export { storageImagePlaceholderSchema } from './storageAsset.ts';
|
|
4
|
+
/** Verified image metadata; dimensions reflect EXIF orientation used by preview delivery. */
|
|
5
|
+
export interface StoredImageReceipt extends StoredAssetReceipt {
|
|
11
6
|
readonly height: number;
|
|
12
|
-
readonly md5hash: string;
|
|
13
7
|
readonly width: number;
|
|
14
8
|
}
|
|
15
|
-
|
|
16
|
-
export
|
|
17
|
-
/**
|
|
18
|
-
export interface StoreImageOptions extends
|
|
19
|
-
/** Complete relative Storage filename. Directories and interpolation expressions are rejected. */
|
|
20
|
-
path: string;
|
|
21
|
-
/** Explicit opt-in replacement of an existing path; defaults to false. */
|
|
22
|
-
overwrite?: boolean;
|
|
23
|
-
/** Request a server ThumbHash. Successful extraction adds metadata usage of 20% of the file bytes. */
|
|
24
|
-
placeholder?: z.infer<typeof storageImagePlaceholderSchema>;
|
|
25
|
-
/** Observe verified metadata. Not awaited; sync and async observer errors cannot undo a write. */
|
|
9
|
+
export type StoredImageExpectation = StoredAssetExpectation;
|
|
10
|
+
export type GetStoredImageReceiptOptions = GetStoredAssetReceiptOptions;
|
|
11
|
+
/** Image-specific callback on the shared original upload pipeline. */
|
|
12
|
+
export interface StoreImageOptions extends Omit<StoreAssetOptions, 'onReceipt'> {
|
|
26
13
|
onReceipt?: (receipt: StoredImageReceipt, input: StoredImageExpectation, assemblyId: string | undefined) => void | Promise<void>;
|
|
27
14
|
}
|
|
28
|
-
/**
|
|
29
|
-
export interface StoredImageExpectation {
|
|
30
|
-
path: string;
|
|
31
|
-
size: number;
|
|
32
|
-
md5hash: string;
|
|
33
|
-
}
|
|
34
|
-
/** Recovers one original's receipt without re-uploading or trusting notification payloads. */
|
|
35
|
-
export interface GetStoredImageReceiptOptions {
|
|
36
|
-
assemblyId: string;
|
|
37
|
-
expected: StoredImageExpectation;
|
|
38
|
-
}
|
|
39
|
-
/** Stores one original without overwriting; receipt validation occurs after the Storage write. */
|
|
15
|
+
/** Retains the image API's transformed-byte semantics; use storeAsset for exact originals. */
|
|
40
16
|
export declare function storeImage(client: Transloadit, filePath: string, options: StoreImageOptions): Promise<StoredImageReceipt>;
|
|
41
|
-
/**
|
|
17
|
+
/** Recovers one image receipt with the same strict byte checks as generic receipt recovery. */
|
|
42
18
|
export declare function getStoredImageReceipt(client: Transloadit, options: GetStoredImageReceiptOptions): Promise<StoredImageReceipt>;
|
|
43
19
|
//# sourceMappingURL=storageImage.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"storageImage.d.ts","sourceRoot":"","sources":["../src/storageImage.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"storageImage.d.ts","sourceRoot":"","sources":["../src/storageImage.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,4BAA4B,EAC5B,iBAAiB,EACjB,sBAAsB,EACtB,kBAAkB,EACnB,MAAM,mBAAmB,CAAA;AAC1B,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAA;AAQnD,OAAO,EAAE,6BAA6B,EAAE,MAAM,mBAAmB,CAAA;AAEjE,6FAA6F;AAC7F,MAAM,WAAW,kBAAmB,SAAQ,kBAAkB;IAC5D,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;IACvB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;CACvB;AAED,MAAM,MAAM,sBAAsB,GAAG,sBAAsB,CAAA;AAC3D,MAAM,MAAM,4BAA4B,GAAG,4BAA4B,CAAA;AAEvE,sEAAsE;AACtE,MAAM,WAAW,iBAAkB,SAAQ,IAAI,CAAC,iBAAiB,EAAE,WAAW,CAAC;IAC7E,SAAS,CAAC,EAAE,CACV,OAAO,EAAE,kBAAkB,EAC3B,KAAK,EAAE,sBAAsB,EAC7B,UAAU,EAAE,MAAM,GAAG,SAAS,KAC3B,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;CAC1B;AAqBD,8FAA8F;AAC9F,wBAAsB,UAAU,CAC9B,MAAM,EAAE,WAAW,EACnB,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE,iBAAiB,GACzB,OAAO,CAAC,kBAAkB,CAAC,CAY7B;AAED,+FAA+F;AAC/F,wBAAsB,qBAAqB,CACzC,MAAM,EAAE,WAAW,EACnB,OAAO,EAAE,4BAA4B,GACpC,OAAO,CAAC,kBAAkB,CAAC,CAE7B"}
|