@adonis-agora/media 0.21.0 → 0.22.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 (52) hide show
  1. package/CHANGELOG.md +27 -0
  2. package/dist/providers/media_provider.d.ts.map +1 -1
  3. package/dist/providers/media_provider.js +7 -0
  4. package/dist/providers/media_provider.js.map +1 -1
  5. package/dist/src/define_config.d.ts +20 -1
  6. package/dist/src/define_config.d.ts.map +1 -1
  7. package/dist/src/define_config.js.map +1 -1
  8. package/dist/src/delivery.d.ts +46 -1
  9. package/dist/src/delivery.d.ts.map +1 -1
  10. package/dist/src/delivery.js +17 -1
  11. package/dist/src/delivery.js.map +1 -1
  12. package/dist/src/delivery_signing.d.ts +70 -0
  13. package/dist/src/delivery_signing.d.ts.map +1 -0
  14. package/dist/src/delivery_signing.js +82 -0
  15. package/dist/src/delivery_signing.js.map +1 -0
  16. package/dist/src/errors.d.ts +28 -0
  17. package/dist/src/errors.d.ts.map +1 -1
  18. package/dist/src/errors.js +47 -0
  19. package/dist/src/errors.js.map +1 -1
  20. package/dist/src/image_processor.d.ts +57 -1
  21. package/dist/src/image_processor.d.ts.map +1 -1
  22. package/dist/src/image_processor.js +16 -1
  23. package/dist/src/image_processor.js.map +1 -1
  24. package/dist/src/index.d.ts +7 -4
  25. package/dist/src/index.d.ts.map +1 -1
  26. package/dist/src/index.js +3 -2
  27. package/dist/src/index.js.map +1 -1
  28. package/dist/src/media_collection.d.ts +27 -0
  29. package/dist/src/media_collection.d.ts.map +1 -1
  30. package/dist/src/media_collection.js +26 -1
  31. package/dist/src/media_collection.js.map +1 -1
  32. package/dist/src/media_library.d.ts +111 -2
  33. package/dist/src/media_library.d.ts.map +1 -1
  34. package/dist/src/media_library.js +361 -16
  35. package/dist/src/media_library.js.map +1 -1
  36. package/dist/src/media_manager.d.ts +8 -1
  37. package/dist/src/media_manager.d.ts.map +1 -1
  38. package/dist/src/media_manager.js +5 -0
  39. package/dist/src/media_manager.js.map +1 -1
  40. package/dist/src/processors/sharp.d.ts +7 -2
  41. package/dist/src/processors/sharp.d.ts.map +1 -1
  42. package/dist/src/processors/sharp.js +105 -6
  43. package/dist/src/processors/sharp.js.map +1 -1
  44. package/dist/src/responsive_image.d.ts +88 -0
  45. package/dist/src/responsive_image.d.ts.map +1 -0
  46. package/dist/src/responsive_image.js +109 -0
  47. package/dist/src/responsive_image.js.map +1 -0
  48. package/dist/src/testing/fake_image_processor.d.ts +3 -2
  49. package/dist/src/testing/fake_image_processor.d.ts.map +1 -1
  50. package/dist/src/testing/fake_image_processor.js +2 -2
  51. package/dist/src/testing/fake_image_processor.js.map +1 -1
  52. package/package.json +2 -2
@@ -1,13 +1,17 @@
1
1
  import { randomUUID } from 'node:crypto';
2
2
  import { SIGNATURE_HEAD_BYTES, verifyContentAgainstWhitelist } from './content_type.js';
3
3
  import { asBuffer, peekContents, peekStream, toBytes } from './contents.js';
4
- import { DEFAULT_DELIVERY_SIGNED_TTL_SECONDS, resolveDeliveryMode, } from './delivery.js';
4
+ import { DEFAULT_DELIVERY_SIGNED_TTL_SECONDS, DEFAULT_IMAGE_QUALITIES, DEFAULT_IMAGE_WIDTHS, resolveDeliveryMode, } from './delivery.js';
5
+ import { DEFAULT_DELIVERY_SIGNING_TTL_SECONDS, deliveryExpiry, deliveryQueryString, signDelivery, verifyDelivery, } from './delivery_signing.js';
5
6
  import { publishMedia } from './diagnostics.js';
6
- import { ContentSignatureUnrecognizedError, ContentTypeMismatchError, ConversionArtifactMissingError, ConversionNotDefinedError, ImageProcessorMissingError, MediaNotFoundError, MediaObjectMissingError, MimeNotAllowedError, TransformerNotDefinedError, TransformerOutputError, TransformNotReadyError, UploadNotSupportedError, } from './errors.js';
7
+ import { ContentSignatureUnrecognizedError, ContentTypeMismatchError, ConversionArtifactMissingError, ConversionNotDefinedError, DeliverySignatureError, ImageProcessorMissingError, ImageSizeNotAllowedError, MediaNotFoundError, MediaObjectMissingError, MimeNotAllowedError, NotAnImageError, TransformerNotDefinedError, TransformerOutputError, TransformNotReadyError, UploadNotSupportedError, } from './errors.js';
7
8
  import { isExtendedDisk } from './extended_disk.js';
8
9
  import { sanitizeFileName } from './file_name.js';
10
+ import { focalPointOf, presetCrops, } from './image_processor.js';
9
11
  import { MediaCollectionRegistry } from './media_collection.js';
10
12
  import { resolveDeclaredMimeType } from './mime_type.js';
13
+ import { BROWSER_IMAGE_TYPES, imageCandidates, } from './responsive_image.js';
14
+ import { placeholderOf } from './transformers/placeholder.js';
11
15
  export class MediaLibrary {
12
16
  /**
13
17
  * The storage façade the library resolves disks through. Public (read-only) so delivery
@@ -29,6 +33,9 @@ export class MediaLibrary {
29
33
  now;
30
34
  deliveryMode;
31
35
  deliverySignedTtlSeconds;
36
+ deliveryImages;
37
+ deliverySigning;
38
+ deliveryPath;
32
39
  constructor(options) {
33
40
  this.storage = options.storage;
34
41
  this.store = options.store;
@@ -40,6 +47,13 @@ export class MediaLibrary {
40
47
  this.deliveryMode = options.deliveryMode ?? 'auto';
41
48
  this.deliverySignedTtlSeconds =
42
49
  options.deliverySignedTtlSeconds ?? DEFAULT_DELIVERY_SIGNED_TTL_SECONDS;
50
+ this.deliveryImages = {
51
+ widths: options.deliveryImages?.widths ?? DEFAULT_IMAGE_WIDTHS,
52
+ qualities: options.deliveryImages?.qualities ?? DEFAULT_IMAGE_QUALITIES,
53
+ formats: options.deliveryImages?.formats ?? ['webp'],
54
+ };
55
+ this.deliverySigning = options.deliverySigning;
56
+ this.deliveryPath = options.deliveryPath ?? '/media/:id';
43
57
  }
44
58
  emit(event, payload) {
45
59
  if (this.emitDiagnostics)
@@ -208,9 +222,13 @@ export class MediaLibrary {
208
222
  const { path } = input;
209
223
  let saved;
210
224
  try {
225
+ const strippedSize = config.stripMetadata
226
+ ? await this.#stripMetadata(target, path, input.mimeType)
227
+ : undefined;
211
228
  // `getMetaData` is a HEAD-shaped metadata read, never a body download — the zero-copy
212
- // guarantee of `attachExisting` holds even when the caller omits `size`.
213
- const size = input.size ?? (await target.getMetaData(path)).contentLength;
229
+ // guarantee of `attachExisting` holds even when the caller omits `size` (and the collection
230
+ // does not `stripMetadata`, which has to read the bytes).
231
+ const size = strippedSize ?? input.size ?? (await target.getMetaData(path)).contentLength;
214
232
  // A single-file collection holds exactly one item, so its order resets to 0 on replace.
215
233
  const order = config.single
216
234
  ? 0
@@ -321,26 +339,148 @@ export class MediaLibrary {
321
339
  }
322
340
  throw new ConversionNotDefinedError(record.collection, conversionName);
323
341
  }
342
+ return this.#generateConversion(record, preset);
343
+ }
344
+ /** Run `preset` over the record's original, store the output and persist it as a conversion. */
345
+ async #generateConversion(record, preset) {
324
346
  if (!this.imageProcessor)
325
347
  throw new ImageProcessorMissingError();
326
348
  const original = asBuffer(await this.storage.disk(record.disk).getBytes(record.path));
327
- const result = await this.imageProcessor.convert(original, preset);
349
+ if (preset.onlyDownscale && preset.width && this.imageProcessor.dimensions) {
350
+ const size = await this.imageProcessor.dimensions(original);
351
+ if (size && size.width <= preset.width) {
352
+ return this.#recordConversion(record, preset.name, {
353
+ meta: { skipped: 'not-smaller-than-original', width: size.width, height: size.height },
354
+ });
355
+ }
356
+ }
357
+ const focalPoint = focalPointOf(record.customProperties);
358
+ const result = await this.imageProcessor.convert(original, preset, focalPoint ? { focalPoint } : {});
328
359
  const dir = record.path.slice(0, record.path.lastIndexOf('/'));
329
- const conversionPath = `${dir}/conversions/${conversionName}.${result.format}`;
360
+ const conversionPath = `${dir}/conversions/${preset.name}.${result.format}`;
330
361
  await this.storage.disk(record.disk).put(conversionPath, result.data, {
331
362
  contentType: result.contentType,
332
363
  });
333
- const updated = await this.store.save({
364
+ const updated = await this.#recordConversion(record, preset.name, {
365
+ path: conversionPath,
366
+ disk: record.disk,
367
+ ...(result.width && result.height
368
+ ? { meta: { width: result.width, height: result.height } }
369
+ : {}),
370
+ });
371
+ this.emit('conversion', { id: record.id, conversion: preset.name, path: conversionPath });
372
+ return updated;
373
+ }
374
+ /**
375
+ * Rewrite the object at `path` without its metadata (`stripMetadata` collections). Returns the
376
+ * new size, or `undefined` when nothing was rewritten (not an image, nothing to strip).
377
+ */
378
+ async #stripMetadata(target, path, mimeType) {
379
+ if (!mimeType.startsWith('image/') || mimeType.startsWith('image/svg'))
380
+ return undefined;
381
+ if (!this.imageProcessor)
382
+ throw new ImageProcessorMissingError();
383
+ if (!this.imageProcessor.stripMetadata)
384
+ return undefined;
385
+ const original = asBuffer(await target.getBytes(path));
386
+ const stripped = await this.imageProcessor.stripMetadata(original);
387
+ if (!stripped)
388
+ return undefined;
389
+ await target.put(path, stripped, { contentType: mimeType });
390
+ return stripped.byteLength;
391
+ }
392
+ /** Persist one conversion entry, re-reading first so a concurrent one is not dropped. */
393
+ async #recordConversion(record, name, conversion) {
394
+ const current = (await this.store.find(record.id)) ?? record;
395
+ return this.store.save({
396
+ ...current,
397
+ conversions: { ...current.conversions, [name]: conversion },
398
+ updatedAt: this.now(),
399
+ });
400
+ }
401
+ /**
402
+ * Set (or clear, with `null`) the part of the image every crop must keep — a face in an avatar,
403
+ * the subject of a banner. Stored as `customProperties.focalPoint` (`{ x, y }`, fractions of the
404
+ * displayed image), handed to the processor for every cropping preset (`fit: 'cover'` with both
405
+ * sides), and returned by {@link image} so CSS crops (`object-fit: cover`) keep it too.
406
+ *
407
+ * The cropping conversions already generated are dropped — the eager ones regenerated at once,
408
+ * the lazy ones on next access — since they were cut around the old point.
409
+ *
410
+ * ```ts
411
+ * await media.library.setFocalPoint(user.avatarMediaId, { x: 0.42, y: 0.31 })
412
+ * ```
413
+ */
414
+ async setFocalPoint(id, point) {
415
+ const record = await this.store.find(id);
416
+ if (!record)
417
+ throw new MediaNotFoundError(id);
418
+ if (point !== null && !focalPointOf({ focalPoint: point })) {
419
+ throw new RangeError(`Focal point must be { x, y } with both between 0 and 1, got ${JSON.stringify(point)}.`);
420
+ }
421
+ const { focalPoint: _previous, ...rest } = record.customProperties;
422
+ const presets = this.collections.get(record.collection).conversions ?? [];
423
+ const cropping = presets.filter((preset) => presetCrops(preset));
424
+ const conversions = { ...record.conversions };
425
+ for (const preset of cropping) {
426
+ const stale = conversions[preset.name];
427
+ if (stale?.path && stale.disk)
428
+ await this.storage.disk(stale.disk).delete(stale.path);
429
+ delete conversions[preset.name];
430
+ }
431
+ let updated = await this.store.save({
334
432
  ...record,
335
- conversions: {
336
- ...record.conversions,
337
- [conversionName]: { path: conversionPath, disk: record.disk },
338
- },
433
+ customProperties: point ? { ...rest, focalPoint: { x: point.x, y: point.y } } : rest,
434
+ conversions,
339
435
  updatedAt: this.now(),
340
436
  });
341
- this.emit('conversion', { id, conversion: conversionName, path: conversionPath });
437
+ for (const preset of cropping) {
438
+ if (preset.eager)
439
+ updated = await this.#generateConversion(updated, preset);
440
+ }
342
441
  return updated;
343
442
  }
443
+ /**
444
+ * Resize the image to one of `delivery.images.widths`, on demand — the server half of a
445
+ * `next/image`-style loader (`?w=640&q=75`). Generated once and kept as the conversion
446
+ * `@w640q75`, so later requests (and `delete()`) treat it like any other conversion. Never
447
+ * enlarges: past the original's width it is the original's size, re-encoded.
448
+ *
449
+ * Returns the conversion to deliver, or `undefined` for an SVG (served as is: it scales by itself).
450
+ * Throws {@link ImageSizeNotAllowedError} outside the whitelist and {@link NotAnImageError} for a
451
+ * record that is not an image.
452
+ */
453
+ async resized(id, request) {
454
+ const { widths, qualities, formats } = this.deliveryImages;
455
+ const width = request.trusted
456
+ ? numberInRange('width', request.width, 1, MAX_SIGNED_WIDTH)
457
+ : allowedNumber('width', request.width, widths);
458
+ const quality = request.quality === undefined || request.quality === ''
459
+ ? qualities[0]
460
+ : request.trusted
461
+ ? numberInRange('quality', request.quality, 1, 100)
462
+ : allowedNumber('quality', request.quality, qualities);
463
+ const record = await this.store.find(id);
464
+ if (!record)
465
+ throw new MediaNotFoundError(id);
466
+ if (record.mimeType.startsWith('image/svg'))
467
+ return { record, conversion: undefined };
468
+ if (!record.mimeType.startsWith('image/'))
469
+ throw new NotAnImageError(id, record.mimeType);
470
+ const format = negotiateFormat(request.accept, formats, record.mimeType);
471
+ const name = `@w${width}q${quality}-${format}`;
472
+ if (record.conversions[name])
473
+ return { record, conversion: name };
474
+ const updated = await this.#generateConversion(record, {
475
+ name,
476
+ width,
477
+ quality,
478
+ format,
479
+ fit: 'inside',
480
+ withoutEnlargement: true,
481
+ });
482
+ return { record: updated, conversion: name };
483
+ }
344
484
  /**
345
485
  * Run a named {@link Transformer} of the record's collection and persist its output as
346
486
  * `record.conversions[name]`. **Idempotent**: an already-generated conversion returns the record
@@ -589,6 +729,160 @@ export class MediaLibrary {
589
729
  const target = await this.#resolveTarget(id, conversion);
590
730
  return this.storage.disk(target.disk).getUrl(target.path);
591
731
  }
732
+ /**
733
+ * Everything an `<img>` needs to render a stored image like `next/image`: `srcSet` from the
734
+ * collection's presets, the intrinsic `width`/`height` and the blur-up `placeholder` — as plain
735
+ * JSON, for a page prop. Render it with `<MediaImage>` from `@adonis-agora/media-react`.
736
+ *
737
+ * ```ts
738
+ * // config: presets at a few widths (eager, so they exist from the attach on) + the placeholder
739
+ * { name: 'banner', conversions: [{ name: 'sm', width: 640, eager: true }, { name: 'lg', width: 1280, eager: true }],
740
+ * transformers: [transformers.placeholder()] }
741
+ *
742
+ * return inertia.render('courses/show', { banner: await media.library.image(course.bannerMediaId) })
743
+ * ```
744
+ *
745
+ * The intrinsic size and the original-as-candidate come from the placeholder, so without
746
+ * `transformers.placeholder()` the result has no `width`/`height` and only the presets in
747
+ * `srcSet`. Like {@link url}, this answers "how", not "who": authorize the caller first.
748
+ */
749
+ async image(id, options = {}) {
750
+ let record = await this.store.find(id);
751
+ if (!record)
752
+ throw new MediaNotFoundError(id);
753
+ if (options.onDemand)
754
+ return this.#onDemandImage(record, options.onDemand);
755
+ const presets = this.collections.get(record.collection).conversions ?? [];
756
+ if (options.generate) {
757
+ for (const preset of presets) {
758
+ if (options.conversions && !options.conversions.includes(preset.name))
759
+ continue;
760
+ if (!preset.blur && !record.conversions[preset.name]) {
761
+ record = await this.ensureConversion(id, preset.name);
762
+ }
763
+ }
764
+ }
765
+ const urlOf = (conversion) => {
766
+ if (options.url)
767
+ return options.url(conversion);
768
+ if (options.expiresIn !== undefined) {
769
+ return this.signedUrl(id, options.expiresIn, conversion ? { conversion } : {});
770
+ }
771
+ // With signing configured, nothing goes out as a storage URL: everything through the route.
772
+ if (this.deliverySigning)
773
+ return this.deliveryUrl(id, conversion ? { conversion } : {});
774
+ return this.url(id, conversion);
775
+ };
776
+ const candidates = imageCandidates(record, presets, options.conversions);
777
+ const urls = await Promise.all(candidates.map((c) => urlOf(c.conversion)));
778
+ const widest = urls.at(-1);
779
+ const placeholder = placeholderOf(record);
780
+ // An explicit group (an art-directed `<source>`) reports its own size — a square crop is not
781
+ // the original's shape.
782
+ const groupSize = options.conversions
783
+ ? [...candidates].reverse().find((c) => c.height !== undefined)
784
+ : undefined;
785
+ const size = groupSize
786
+ ? { width: groupSize.width, height: groupSize.height }
787
+ : placeholder
788
+ ? { width: placeholder.width, height: placeholder.height }
789
+ : undefined;
790
+ return {
791
+ src: widest ?? (await urlOf(undefined)),
792
+ ...(candidates.length > 0
793
+ ? { srcSet: candidates.map((c, i) => `${urls[i]} ${c.width}w`).join(', ') }
794
+ : {}),
795
+ ...(size ?? {}),
796
+ ...(placeholder
797
+ ? { placeholder: { dataUrl: placeholder.dataUrl, color: placeholder.color } }
798
+ : {}),
799
+ ...focalPointProp(record),
800
+ };
801
+ }
802
+ /** {@link image} with `onDemand`: candidates are delivery-route URLs resized per width. */
803
+ #onDemandImage(record, onDemand) {
804
+ const settings = onDemand === true ? {} : onDemand;
805
+ const placeholder = placeholderOf(record);
806
+ const extra = {
807
+ ...(placeholder
808
+ ? {
809
+ width: placeholder.width,
810
+ height: placeholder.height,
811
+ placeholder: { dataUrl: placeholder.dataUrl, color: placeholder.color },
812
+ }
813
+ : {}),
814
+ ...focalPointProp(record),
815
+ };
816
+ const original = this.deliveryUrl(record.id);
817
+ // Not resizable (an SVG scales itself; a non-image has no widths): the route serves it as is.
818
+ if (!record.mimeType.startsWith('image/') || record.mimeType.startsWith('image/svg')) {
819
+ return { src: original, ...extra };
820
+ }
821
+ const originalWidth = placeholder?.width;
822
+ const widths = [...(settings.widths ?? this.deliveryImages.widths)]
823
+ .filter((w) => (originalWidth === undefined ? w >= 256 : w < originalWidth))
824
+ .sort((a, b) => a - b);
825
+ const candidates = widths.map((width) => ({
826
+ url: this.deliveryUrl(record.id, {
827
+ width,
828
+ ...(settings.quality !== undefined ? { quality: settings.quality } : {}),
829
+ }),
830
+ width,
831
+ }));
832
+ // The original, full size, as the widest — when its width is known and browsers decode it.
833
+ if (originalWidth !== undefined && BROWSER_IMAGE_TYPES.has(record.mimeType)) {
834
+ candidates.push({ url: original, width: originalWidth });
835
+ }
836
+ if (candidates.length === 0)
837
+ return { src: original, ...extra };
838
+ return {
839
+ src: candidates.at(-1).url,
840
+ srcSet: candidates.map((c) => `${c.url} ${c.width}w`).join(', '),
841
+ ...extra,
842
+ };
843
+ }
844
+ /**
845
+ * URL of the delivery route (`delivery.path`, default `/media/:id`) for a record — optionally a
846
+ * conversion, or resized (`width`/`quality`). With `delivery.signing` configured it is signed and
847
+ * expires, and `MediaDeliveryHandler` serves exactly what was signed (any width) and nothing else;
848
+ * without it, a plain route URL (widths limited to `delivery.images`).
849
+ *
850
+ * ```ts
851
+ * media.library.deliveryUrl(id) // /media/<id>?exp=…&sig=…
852
+ * media.library.deliveryUrl(id, { width: 640 }) // /media/<id>?w=640&exp=…&sig=…
853
+ * ```
854
+ */
855
+ deliveryUrl(id, options = {}) {
856
+ const path = this.deliveryPath.replace(':id', encodeURIComponent(id));
857
+ const { conversion, width, quality } = options;
858
+ if (!this.deliverySigning)
859
+ return path + deliveryQueryString({ conversion, width, quality });
860
+ const ttl = options.expiresIn ?? this.deliverySigning.expiresIn ?? DEFAULT_DELIVERY_SIGNING_TTL_SECONDS;
861
+ const expires = deliveryExpiry(this.now().getTime(), ttl);
862
+ const signature = signDelivery(this.deliverySigning.secret, {
863
+ mediaId: id,
864
+ conversion,
865
+ width,
866
+ quality,
867
+ expires,
868
+ });
869
+ return path + deliveryQueryString({ conversion, width, quality, expires, signature });
870
+ }
871
+ /**
872
+ * Check a delivery request against `delivery.signing`: `true` when it is signed and valid (serve
873
+ * any size it names), `false` when signing is off or the request is unsigned and that is allowed.
874
+ * Throws {@link DeliverySignatureError} for an invalid or expired signature, or a missing one when
875
+ * `delivery.signing.required` (the default). `MediaDeliveryHandler` calls this for you.
876
+ */
877
+ checkDeliverySignature(request) {
878
+ if (!this.deliverySigning)
879
+ return false;
880
+ const signed = verifyDelivery(this.deliverySigning.secret, request, this.now().getTime());
881
+ if (!signed && (this.deliverySigning.required ?? true)) {
882
+ throw new DeliverySignatureError('missing');
883
+ }
884
+ return signed;
885
+ }
592
886
  /**
593
887
  * Resolve how a media record should reach the client, per the configured `delivery.mode` — the
594
888
  * read-side counterpart to `uploads.mode`. Returns either a URL to redirect to (`public`/`signed`)
@@ -606,14 +900,29 @@ export class MediaLibrary {
606
900
  * ```
607
901
  */
608
902
  async deliver(id, options = {}) {
609
- const target = await this.#resolveTarget(id, options.conversion);
903
+ const resizing = options.width !== undefined && options.width !== '';
904
+ const conversion = resizing
905
+ ? (await this.resized(id, {
906
+ width: options.width,
907
+ quality: options.quality,
908
+ accept: options.accept,
909
+ trusted: options.trusted,
910
+ })).conversion
911
+ : options.conversion;
912
+ const vary = resizing && options.accept !== undefined ? { vary: 'Accept' } : {};
913
+ const target = await this.#resolveTarget(id, conversion);
610
914
  const disk = this.storage.disk(target.disk);
611
915
  const mode = await resolveDeliveryMode(options.mode ?? this.deliveryMode, disk, target.path);
612
- if (mode === 'public')
613
- return { kind: 'redirect', url: await disk.getUrl(target.path) };
916
+ if (mode === 'public') {
917
+ return { kind: 'redirect', url: await disk.getUrl(target.path), ...vary };
918
+ }
614
919
  if (mode === 'signed') {
615
920
  const expiresIn = options.signedTtlSeconds ?? this.deliverySignedTtlSeconds;
616
- return { kind: 'redirect', url: await disk.getSignedUrl(target.path, { expiresIn }) };
921
+ return {
922
+ kind: 'redirect',
923
+ url: await disk.getSignedUrl(target.path, { expiresIn }),
924
+ ...vary,
925
+ };
617
926
  }
618
927
  // Prefer the disk's own metadata over the record's: for a conversion the record describes the
619
928
  // ORIGINAL (a `thumb` of a PNG may well be a WEBP), and its `size` is the original's too.
@@ -624,6 +933,7 @@ export class MediaLibrary {
624
933
  mimeType: metadata.contentType ?? target.record.mimeType,
625
934
  size: metadata.contentLength,
626
935
  fileName: target.fileName,
936
+ ...vary,
627
937
  };
628
938
  }
629
939
  /**
@@ -661,4 +971,39 @@ function assertSafeArtifactPath(transformer, relativePath) {
661
971
  }
662
972
  return normalized;
663
973
  }
974
+ /** Widest image a signed URL may ask for — a sanity bound; the original's width still caps it. */
975
+ const MAX_SIGNED_WIDTH = 8192;
976
+ /** Parse a requested width/quality and check it is within `[min, max]` (signed requests). */
977
+ function numberInRange(field, value, min, max) {
978
+ const parsed = typeof value === 'number' ? value : /^\d+$/.test(value) ? Number(value) : Number.NaN;
979
+ if (!Number.isInteger(parsed) || parsed < min || parsed > max) {
980
+ throw new ImageSizeNotAllowedError(field, value, [min, max]);
981
+ }
982
+ return parsed;
983
+ }
984
+ /** Parse a requested width/quality (a query-string value, possibly) and check it is whitelisted. */
985
+ function allowedNumber(field, value, allowed) {
986
+ const parsed = typeof value === 'number' ? value : /^\d+$/.test(value) ? Number(value) : Number.NaN;
987
+ if (!allowed.includes(parsed))
988
+ throw new ImageSizeNotAllowedError(field, value, allowed);
989
+ return parsed;
990
+ }
991
+ /**
992
+ * The resized image's format: the first configured modern format the browser accepts. A browser
993
+ * that accepts none gets a format every browser decodes: PNG for an original that may be
994
+ * transparent, JPEG otherwise. No `Accept` at all (a server-side caller) ⇒ the first configured.
995
+ */
996
+ function negotiateFormat(accept, formats, originalMimeType) {
997
+ if (accept === undefined)
998
+ return formats[0] ?? 'webp';
999
+ const accepted = accept.toLowerCase();
1000
+ const modern = formats.find((format) => accepted.includes(`image/${format}`));
1001
+ if (modern)
1002
+ return modern;
1003
+ return originalMimeType === 'image/png' || originalMimeType === 'image/gif' ? 'png' : 'jpeg';
1004
+ }
1005
+ function focalPointProp(record) {
1006
+ const focalPoint = focalPointOf(record.customProperties);
1007
+ return focalPoint ? { focalPoint } : {};
1008
+ }
664
1009
  //# sourceMappingURL=media_library.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"media_library.js","sourceRoot":"","sources":["../../src/media_library.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"media_library.js","sourceRoot":"","sources":["../../src/media_library.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,6 @@
1
1
  import { AttachmentManager } from './attachment.js';
2
- import type { DeliveryMode } from './delivery.js';
2
+ import type { DeliveryMode, OnDemandImageConfig } from './delivery.js';
3
+ import type { DeliverySigningConfig } from './delivery_signing.js';
3
4
  import { DirectUploadManager } from './direct_upload.js';
4
5
  import type { ImageProcessor } from './image_processor.js';
5
6
  import type { MediaCollectionConfig, MediaCollectionRegistry } from './media_collection.js';
@@ -54,6 +55,12 @@ export interface MediaManagerOptions {
54
55
  deliveryMode?: DeliveryMode;
55
56
  /** Signed-URL lifetime in seconds when delivery resolves to `signed`. Default 300. */
56
57
  deliverySignedTtlSeconds?: number;
58
+ /** On-demand resizing for `library.deliver(id, { width })` (`delivery.images`). */
59
+ deliveryImages?: OnDemandImageConfig;
60
+ /** Signed delivery URLs (`delivery.signing`). */
61
+ deliverySigning?: DeliverySigningConfig;
62
+ /** Route of the delivery handler, with `:id` (`delivery.path`). */
63
+ deliveryPath?: string;
57
64
  }
58
65
  /**
59
66
  * The singleton bound into the AdonisJS container as `MediaManager`. Composes the two layers over a
@@ -1 +1 @@
1
- {"version":3,"file":"media_manager.d.ts","sourceRoot":"","sources":["../../src/media_manager.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"media_manager.d.ts","sourceRoot":"","sources":["../../src/media_manager.ts"],"names":[],"mappings":"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"}
@@ -46,6 +46,11 @@ export class MediaManager {
46
46
  ...(options.deliverySignedTtlSeconds !== undefined
47
47
  ? { deliverySignedTtlSeconds: options.deliverySignedTtlSeconds }
48
48
  : {}),
49
+ ...(options.deliveryImages !== undefined ? { deliveryImages: options.deliveryImages } : {}),
50
+ ...(options.deliverySigning !== undefined
51
+ ? { deliverySigning: options.deliverySigning }
52
+ : {}),
53
+ ...(options.deliveryPath !== undefined ? { deliveryPath: options.deliveryPath } : {}),
49
54
  });
50
55
  this.attachments = new AttachmentManager({
51
56
  storage: this.storage,