@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
package/CHANGELOG.md CHANGED
@@ -1,5 +1,32 @@
1
1
  # @adonis-agora/media
2
2
 
3
+ ## 0.22.0
4
+
5
+ ### Minor Changes
6
+
7
+ - [#199](https://github.com/DavideCarvalho/adonis-agora-media/pull/199) [`0bee4fd`](https://github.com/DavideCarvalho/adonis-agora-media/commit/0bee4fd8ffbf3385f2bcf61baf5c50411af96e9b) Thanks [@DavideCarvalho](https://github.com/DavideCarvalho)! - `next/image` for stored images, and the features of other image libraries (Nuxt Image/IPX, Astro, Unpic, spatie, imgproxy) that were worth having.
8
+
9
+ **Rendering (`@adonis-agora/media-react`)**
10
+ - `<MediaImage>` renders one `<img>`. It loads lazily by default, `priority` marks the LCP image (React 19 also preloads it), and `fill` sizes it to the parent box. A blurred preview is painted behind it until it loads; this works with SSR, survives hydration, and stays in place if the image fails. Three ways to feed it:
11
+ - `image={await media.library.image(id)}`: a descriptor built on the server.
12
+ - `src="/a.jpg"`: a plain URL, with your own `srcSet`, `blurDataURL` and `placeholderColor`.
13
+ - `src={mediaId} loader={mediaImageLoader()}`: a loader, with `next/image`'s algorithm and widths.
14
+ - `layout` (`constrained` / `fullWidth` / `fixed`) derives the box style and `sizes`. A lazy image gets `sizes="auto, …"`.
15
+ - `focalPoint` becomes `object-position`.
16
+ - `<MediaPicture>` does art direction with `<source>`s, each with its own size.
17
+ - `placeholderStyle()` paints the preview on other components.
18
+
19
+ **Server (`@adonis-agora/media`)**
20
+ - `media.library.image(id)` returns `src`, a `srcSet` of same-picture presets, the intrinsic size, the placeholder and the focal point. An explicit `conversions` list forms its own art-directed group, and `onDemand` switches to resize URLs.
21
+ - On-demand resize through `MediaDeliveryHandler` (`?w=`/`?q=`): each size is resized once and cached as a conversion, never enlarged, and limited to the `delivery.images` whitelist. The format (AVIF/WebP) is negotiated from `Accept`, and the result carries `vary: 'Accept'`.
22
+ - Signed delivery URLs (`delivery.signing`, `media.library.deliveryUrl()`): an HMAC over the record, the conversion, the size and the expiry. Expiries are rounded so URLs stay cacheable. Unsigned requests are refused by default. With signing configured, `image()` only hands out signed route URLs.
23
+ - Focal points (`media.library.setFocalPoint()`) and preset `position` (`'attention'`/`'entropy'`) for content-aware crops.
24
+ - `responsive: true` collections: presets at standard widths (skipping those wider than the original) and the placeholder, from one flag.
25
+ - `stripMetadata: true` collections: the original is rewritten without EXIF/GPS/XMP/IPTC, with the orientation baked in and the colour profile kept.
26
+ - Generated image conversions record their output size in `meta`. Presets gain `withoutEnlargement`, `onlyDownscale` and `position`. `ImageProcessor` gains optional `dimensions()`/`stripMetadata()` and a `focalPoint` convert option.
27
+ - Fixes: animated GIF/WebP keep their frames when converted to WebP. Concurrent conversions of one record no longer drop each other.
28
+ - New errors: `ImageSizeNotAllowedError`, `NotAnImageError`, `DeliverySignatureError`.
29
+
3
30
  ## 0.21.0
4
31
 
5
32
  ### Minor Changes
@@ -1 +1 @@
1
- {"version":3,"file":"media_provider.d.ts","sourceRoot":"","sources":["../../providers/media_provider.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,kBAAkB,EAAqB,MAAM,sBAAsB,CAAC;AAmBlF;;;;;;;;;;;GAWG;AACH,MAAM,CAAC,OAAO,OAAO,aAAa;;IACpB,SAAS,CAAC,GAAG,EAAE,kBAAkB;IAA7C,YAAsB,GAAG,EAAE,kBAAkB,EAAI;IAEjD,QAAQ,SA6GP;IAED;;;OAGG;IACG,IAAI,kBAwBT;CA0YF"}
1
+ {"version":3,"file":"media_provider.d.ts","sourceRoot":"","sources":["../../providers/media_provider.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,kBAAkB,EAAqB,MAAM,sBAAsB,CAAC;AAmBlF;;;;;;;;;;;GAWG;AACH,MAAM,CAAC,OAAO,OAAO,aAAa;;IACpB,SAAS,CAAC,GAAG,EAAE,kBAAkB;IAA7C,YAAsB,GAAG,EAAE,kBAAkB,EAAI;IAEjD,QAAQ,SAoHP;IAED;;;OAGG;IACG,IAAI,kBAwBT;CA0YF"}
@@ -114,6 +114,13 @@ export default class MediaProvider {
114
114
  ...(config.delivery?.signedTtlSeconds !== undefined
115
115
  ? { deliverySignedTtlSeconds: config.delivery.signedTtlSeconds }
116
116
  : {}),
117
+ ...(config.delivery?.images !== undefined
118
+ ? { deliveryImages: config.delivery.images }
119
+ : {}),
120
+ ...(config.delivery?.signing !== undefined
121
+ ? { deliverySigning: config.delivery.signing }
122
+ : {}),
123
+ ...(config.delivery?.path !== undefined ? { deliveryPath: config.delivery.path } : {}),
117
124
  });
118
125
  });
119
126
  }
@@ -1 +1 @@
1
- {"version":3,"file":"media_provider.js","sourceRoot":"","sources":["../../providers/media_provider.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,mBAAmB,EAAE,MAAM,iCAAiC,CAAC;AAEtE,OAAO,EAAE,yBAAyB,EAAE,MAAM,uBAAuB,CAAC;AAClE,OAAO,EAAE,sBAAsB,EAAE,MAAM,yBAAyB,CAAC;AAEjE,OAAO,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AAEvD,OAAO,EAAE,YAAY,EAAE,MAAM,+BAA+B,CAAC;AAE7D,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAExD,OAAO,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AAEjD,OAAO,EAAE,yBAAyB,EAAE,MAAM,mCAAmC,CAAC;AAE9E;;;;;;;;;;;GAWG;AACH,MAAM,CAAC,OAAO,OAAO,aAAa;IACV,GAAG;IAAzB,YAAsB,GAAuB;mBAAvB,GAAG;IAAuB,CAAC;IAEjD,QAAQ;QACN,+EAA+E;QAC/E,yEAAyE;QACzE,8FAA8F;QAC9F,0FAA0F;QAC1F,YAAY,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAEvB,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,SAAS,CAAC,YAAY,EAAE,KAAK,IAAI,EAAE;YACpD,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,CAAc,OAAO,EAAE,EAAE,CAAC,CAAC;YAE7D,8FAA8F;YAC9F,oFAAoF;YACpF,MAAM,GAAG,GAAiB,EAAE,GAAG,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC;YAC5C,MAAM,KAAK,GAAG,MAAM,YAAY,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;YAC9C,MAAM,cAAc,GAAG,MAAM,IAAI,CAAC,sBAAsB,CAAC,MAAM,CAAC,CAAC;YAEjE,8FAA8F;YAC9F,wFAAwF;YACxF,MAAM,SAAS,GAAG,MAAM,CAAC,OAAO,EAAE,SAAS,CAAC;YAC5C,MAAM,cAAc,GAAmC,SAAS;gBAC9D,CAAC,CAAC,MAAM,yBAAyB,CAC7B;oBACE,GAAG,CAAC,SAAS,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,SAAS,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;oBACpE,GAAG,CAAC,SAAS,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,SAAS,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;iBACxE,EACD,EAAE,GAAG,EAAE,IAAI,CAAC,GAAG,EAAE,CAClB;gBACH,CAAC,CAAC,SAAS,CAAC;YAEd,0FAA0F;YAC1F,6FAA6F;YAC7F,+BAA+B;YAC/B,MAAM,MAAM,GAAG,MAAM,CAAC,OAAO,EAAE,MAAM,CAAC;YACtC,MAAM,oBAAoB,GAAmC,MAAM;gBACjE,CAAC,CAAC,MAAM,yBAAyB,CAC7B;oBACE,GAAG,CAAC,MAAM,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;oBAC9D,GAAG,CAAC,MAAM,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;iBAClE,EACD,EAAE,GAAG,EAAE,IAAI,CAAC,GAAG,EAAE,CAClB;gBACH,CAAC,CAAC,SAAS,CAAC;YAEd,0FAA0F;YAC1F,2FAA2F;YAC3F,uBAAuB;YACvB,MAAM,eAAe,GAAG,MAAM,sBAAsB,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YAEnE,6FAA6F;YAC7F,oFAAoF;YACpF,8FAA8F;YAC9F,wFAAwF;YACxF,kGAAkG;YAClG,MAAM,YAAY,GAAG,CAAC,MAAM,MAAM,CAChC,+BAA+B,CAChC,CAAkC,CAAC;YACpC,MAAM,WAAW,GAAG,MAAM,CAAC,IAAI,IAAI,CAAC,MAAM,IAAI,CAAC,uBAAuB,EAAE,CAAC,CAAC;YAE1E,yFAAyF;YACzF,mEAAmE;YACnE,MAAM,OAAO,GAAG,yBAAyB,CAAC,EAAE,YAAY,EAAE,eAAe,EAAE,WAAW,EAAE,CAAC,CAAC;YAE1F,OAAO,IAAI,YAAY,CAAC;gBACtB,WAAW;gBACX,OAAO;gBACP,KAAK;gBACL,GAAG,CAAC,cAAc,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,cAAc,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBAC3D,GAAG,CAAC,MAAM,CAAC,WAAW,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,MAAM,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBAChF,GAAG,CAAC,MAAM,CAAC,mBAAmB,KAAK,SAAS;oBAC1C,CAAC,CAAC,EAAE,mBAAmB,EAAE,MAAM,CAAC,mBAAmB,EAAE;oBACrD,CAAC,CAAC,EAAE,CAAC;gBACP,GAAG,CAAC,MAAM,CAAC,eAAe,KAAK,SAAS;oBACtC,CAAC,CAAC,EAAE,eAAe,EAAE,MAAM,CAAC,eAAe,EAAE;oBAC7C,CAAC,CAAC,EAAE,CAAC;gBACP,GAAG,CAAC,MAAM,CAAC,OAAO,EAAE,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,MAAM,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBAClF,GAAG,CAAC,MAAM,CAAC,OAAO,EAAE,QAAQ,KAAK,SAAS;oBACxC,CAAC,CAAC,EAAE,cAAc,EAAE,MAAM,CAAC,OAAO,CAAC,QAAQ,EAAE;oBAC7C,CAAC,CAAC,EAAE,CAAC;gBACP,GAAG,CAAC,MAAM,CAAC,OAAO,EAAE,iBAAiB,KAAK,SAAS;oBACjD,CAAC,CAAC,EAAE,uBAAuB,EAAE,MAAM,CAAC,OAAO,CAAC,iBAAiB,EAAE;oBAC/D,CAAC,CAAC,EAAE,CAAC;gBACP,GAAG,CAAC,cAAc,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,cAAc,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBAC3D,GAAG,CAAC,SAAS,EAAE,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,kBAAkB,EAAE,SAAS,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBAC1F,GAAG,CAAC,SAAS,EAAE,iBAAiB,KAAK,SAAS;oBAC5C,CAAC,CAAC,EAAE,0BAA0B,EAAE,SAAS,CAAC,iBAAiB,EAAE;oBAC7D,CAAC,CAAC,EAAE,CAAC;gBACP,GAAG,CAAC,oBAAoB,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,oBAAoB,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBACvE,wFAAwF;gBACxF,uDAAuD;gBACvD,GAAG,CAAC,CAAC,MAAM,EAAE,QAAQ,IAAI,MAAM,CAAC,OAAO,EAAE,QAAQ,CAAC;oBAChD,CAAC,CAAC,EAAE,cAAc,EAAE,CAAC,MAAM,EAAE,QAAQ,IAAI,MAAM,CAAC,OAAO,EAAE,QAAQ,CAAW,EAAE;oBAC9E,CAAC,CAAC,EAAE,CAAC;gBACP,GAAG,CAAC,CAAC,MAAM,EAAE,iBAAiB,IAAI,MAAM,CAAC,OAAO,EAAE,iBAAiB,CAAC;oBAClE,CAAC,CAAC;wBACE,uBAAuB,EAAE,CAAC,MAAM,EAAE,iBAAiB;4BACjD,MAAM,CAAC,OAAO,EAAE,iBAAiB,CAAW;qBAC/C;oBACH,CAAC,CAAC,EAAE,CAAC;gBACP,GAAG,CAAC,MAAM,EAAE,iBAAiB,KAAK,SAAS;oBACzC,CAAC,CAAC,EAAE,uBAAuB,EAAE,MAAM,CAAC,iBAAiB,EAAE;oBACvD,CAAC,CAAC,EAAE,CAAC;gBACP,0FAA0F;gBAC1F,qFAAqF;gBACrF,GAAG,CAAC,MAAM,CAAC,QAAQ,EAAE,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,MAAM,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBACtF,GAAG,CAAC,MAAM,CAAC,QAAQ,EAAE,gBAAgB,KAAK,SAAS;oBACjD,CAAC,CAAC,EAAE,wBAAwB,EAAE,MAAM,CAAC,QAAQ,CAAC,gBAAgB,EAAE;oBAChE,CAAC,CAAC,EAAE,CAAC;aACR,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,IAAI;QACR,2FAA2F;QAC3F,0FAA0F;QAC1F,yFAAyF;QACzF,gGAAgG;QAChG,8FAA8F;QAC9F,gGAAgG;QAChG,8FAA8F;QAC9F,gGAAgG;QAChG,uFAAuF;QACvF,EAAE;QACF,4FAA4F;QAC5F,2FAA2F;QAC3F,iGAAiG;QACjG,8FAA8F;QAC9F,8FAA8F;QAC9F,4FAA4F;QAC5F,gGAAgG;QAChG,+FAA+F;QAC/F,6FAA6F;QAC7F,MAAM,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,KAAK,IAAI,EAAE;YAC/B,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YACvD,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC;QAC/B,CAAC,CAAC,CAAC;IACL,CAAC;IAED;;;;;;;;;;;;;OAaG;IACH,eAAe,CAAC,MAAyB;QACvC,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,CAAc,OAAO,EAAE,EAAE,CAAC,CAAC;QAC7D,IAAI,CAAC,eAAe,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QACrC,IAAI,CAAC,yBAAyB,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QAE/C,MAAM,MAAM,GAAG,MAAM,CAAC,OAAO,EAAE,MAAM,CAAC;QACtC,IAAI,CAAC,MAAM,EAAE,OAAO;YAAE,OAAO;QAE7B,MAAM,MAAM,GAAG,CAAC,MAAM,CAAC,MAAM,IAAI,gBAAgB,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;QACvE,MAAM,OAAO,GAAG,GAAG,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QAE5D,MAAM,IAAI,GAAG,CACX,OAAoE,EACpE,QAAQ,GAAG,GAAG,EACd,EAAE;YACF,OAAO,KAAK,EAAE,GAAgB,EAAE,EAAE;gBAChC,IAAI,CAAC;oBACH,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,MAAM,OAAO,EAAE,EAAE,GAAG,CAAC,CAAC;oBACnD,OAAO,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,MAAM,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC;gBACpE,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBACf,MAAM,OAAO,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,cAAc,CAAC;oBACxE,MAAM,IAAI,GAAI,KAA2B,CAAC,IAAI,CAAC;oBAC/C,OAAO,GAAG,CAAC,QAAQ;yBAChB,MAAM,CAAC,IAAI,KAAK,8BAA8B,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC;yBAC3D,IAAI,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,GAAG,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;gBACvE,CAAC;YACH,CAAC,CAAC;QACJ,CAAC,CAAC;QAEF,MAAM;aACH,IAAI,CACH,GAAG,MAAM,kBAAkB,EAC3B,IAAI,CAAC,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE,EAAE;YACxB,MAAM,IAAI,GAAG,GAAG,CAAC,OAAO,CAAC,IAAI,EAO5B,CAAC;YACF,OAAO,KAAK,CAAC,oBAAoB,CAAC;gBAChC,GAAG,EAAE,IAAI,CAAC,GAAG;gBACb,GAAG,CAAC,IAAI,CAAC,WAAW,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBAC5E,GAAG,CAAC,IAAI,CAAC,UAAU,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,IAAI,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBACzE,GAAG,CAAC,IAAI,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBACvD,GAAG,CAAC,IAAI,CAAC,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBACnE,GAAG,CAAC,IAAI,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;aACxD,CAAC,CAAC;QACL,CAAC,CAAC,CACH;aACA,EAAE,CAAC,+BAA+B,CAAC,CAAC;QAEvC,MAAM;aACH,IAAI,CACH,GAAG,MAAM,qCAAqC,EAC9C,IAAI,CAAC,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE,EAAE;YACxB,MAAM,GAAG,GAAG,UAAU,CAAC,GAAG,CAAC,CAAC;YAC5B,MAAM,IAAI,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC;YAC3B,OAAO,KAAK,CAAC,OAAO,CAAC,WAAW,CAAC;gBAC/B,GAAG;gBACH,QAAQ,EAAE,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC;gBACrC,UAAU,EAAE,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,UAAU,CAAC;gBACzC,GAAG,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;aACxC,CAAC,CAAC;QACL,CAAC,CAAC,CACH;aACA,EAAE,CAAC,kCAAkC,CAAC,CAAC;QAE1C,MAAM;aACH,IAAI,CACH,GAAG,MAAM,4BAA4B,EACrC,IAAI,CAAC,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE,EAAE;YACxB,MAAM,IAAI,GAAG,GAAG,CAAC,OAAO,CAAC,IAAI,EAA4D,CAAC;YAC1F,OAAO,KAAK,CAAC,oBAAoB,CAAC;gBAChC,GAAG,EAAE,IAAI,CAAC,GAAG;gBACb,QAAQ,EAAE,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC;gBACrC,KAAK,EAAE,IAAI,CAAC,KAAK;gBACjB,GAAG,CAAC,IAAI,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;aACxD,CAAC,CAAC;QACL,CAAC,CAAC,CACH;aACA,EAAE,CAAC,+BAA+B,CAAC,CAAC;QAEvC,MAAM;aACH,MAAM,CACL,GAAG,MAAM,mBAAmB,EAC5B,IAAI,CAAC,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE,EAAE;YACxB,MAAM,GAAG,GAAG,UAAU,CAAC,GAAG,CAAC,CAAC;YAC5B,MAAM,IAAI,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC;YAC3B,MAAM,KAAK,CAAC,iBAAiB,CAAC;gBAC5B,GAAG;gBACH,QAAQ,EAAE,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC;gBACrC,GAAG,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;aACxC,CAAC,CAAC;YACH,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC;QACtB,CAAC,CAAC,CACH;aACA,EAAE,CAAC,4BAA4B,CAAC,CAAC;QAEpC,MAAM;aACH,GAAG,CACF,GAAG,MAAM,QAAQ,EACjB,IAAI,CAAC,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE,EAAE;YACxB,MAAM,GAAG,GAAG,UAAU,CAAC,GAAG,CAAC,CAAC;YAC5B,MAAM,IAAI,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC;YAC3B,MAAM,WAAW,GAAG,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC;YACvD,OAAO,KAAK,CAAC,WAAW,CAAC;gBACvB,GAAG;gBACH,yFAAyF;gBACzF,QAAQ,EAAE,GAAG,CAAC,OAAO,CAAC,OAAO;gBAC7B,GAAG,CAAC,WAAW,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBACrD,GAAG,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;aACxC,CAAC,CAAC;QACL,CAAC,EAAE,GAAG,CAAC,CACR;aACA,EAAE,CAAC,qBAAqB,CAAC,CAAC;IAC/B,CAAC;IAED;;;;;;;;;;;;;;;OAeG;IACH,eAAe,CAAC,MAAyB,EAAE,MAAmB;QAC5D,MAAM,SAAS,GAAG,MAAM,CAAC,OAAO,EAAE,SAAS,CAAC;QAC5C,IAAI,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO;YAAE,OAAO;QAExC,MAAM,MAAM,GAAG,CAAC,SAAS,CAAC,MAAM,CAAC,MAAM,IAAI,oBAAoB,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;QACrF,MAAM,SAAS,GAAG,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC;QACxC,MAAM,OAAO,GAAG,SAAS,CAAC,MAAM,CAAC,OAAO,CAAC;QACzC,MAAM,UAAU,GAAG,SAAS,CAAC,MAAM,CAAC,UAAU,CAAC;QAE/C,0FAA0F;QAC1F,IAAI,OAAqC,CAAC;QAC1C,MAAM,UAAU,GAAG,KAAK,IAA+B,EAAE;YACvD,IAAI,CAAC,OAAO,EAAE,CAAC;gBACb,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;gBAC1D,OAAO,GAAG,IAAI,gBAAgB,CAAC;oBAC7B,OAAO,EAAE,KAAK,CAAC,SAAS;oBACxB,IAAI,EAAE,SAAS,IAAI,KAAK,CAAC,OAAO,CAAC,WAAW;oBAC5C,QAAQ,EAAE,MAAM;oBAChB,0FAA0F;oBAC1F,wEAAwE;oBACxE,WAAW,EAAE,KAAK,CAAC,WAAW;oBAC9B,GAAG,CAAC,UAAU,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;oBACnD,GAAG,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;iBAC9C,CAAC,CAAC;YACL,CAAC;YACD,OAAO,OAAO,CAAC;QACjB,CAAC,CAAC;QAEF,MAAM,GAAG,GAAG,CAAC,MAA4B,EAAE,QAAQ,GAAG,KAAK,EAAE,EAAE;YAC7D,OAAO,KAAK,EAAE,GAAgB,EAAE,EAAE;gBAChC,MAAM,GAAG,GAAG,MAAM,UAAU,EAAE,CAAC;gBAC/B,MAAM,OAAO,GAAuC,EAAE,CAAC;gBACvD,KAAK,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC,EAAE,CAAC;oBAClE,OAAO,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,GAAG,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;gBACxE,CAAC;gBACD,MAAM,GAAG,GAAe,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC;gBAC5C,IAAI,GAAG,CAAC,MAAM,CAAC,EAAE,KAAK,SAAS;oBAAE,GAAG,CAAC,QAAQ,GAAG,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;gBACtE,IAAI,QAAQ;oBAAE,GAAG,CAAC,IAAI,GAAG,MAAM,WAAW,CAAC,GAAG,CAAC,CAAC;gBAEhD,MAAM,GAAG,GAAG,MAAM,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;gBAClC,KAAK,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC;oBACxD,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;gBACnC,CAAC;gBACD,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;gBAChC,OAAO,GAAG,CAAC,IAAI,IAAI,EAAE,CAAC;YACxB,CAAC,CAAC;QACJ,CAAC,CAAC;QAEF,MAAM,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,SAAS,CAAC,EAAE,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,2BAA2B,CAAC,CAAC;QAClF,MAAM,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,0BAA0B,CAAC,CAAC;QAChE,MAAM,CAAC,KAAK,CAAC,GAAG,MAAM,MAAM,EAAE,CAAC,MAAM,CAAC,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,wBAAwB,CAAC,CAAC;QAClF,MAAM,CAAC,KAAK,CAAC,GAAG,MAAM,MAAM,EAAE,GAAG,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,yBAAyB,CAAC,CAAC;QAChF,MAAM,CAAC,MAAM,CAAC,GAAG,MAAM,MAAM,EAAE,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,0BAA0B,CAAC,CAAC;IAC/E,CAAC;IAED;;;;;;;;;;;;;;;OAeG;IACH,yBAAyB,CAAC,MAAyB,EAAE,MAAmB;QACtE,MAAM,MAAM,GAAG,MAAM,CAAC,OAAO,EAAE,MAAM,CAAC;QACtC,IAAI,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO;YAAE,OAAO;QAErC,MAAM,MAAM,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,IAAI,gCAAgC,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;QAC9F,MAAM,SAAS,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC;QACrC,MAAM,OAAO,GAAG,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC;QACtC,MAAM,UAAU,GAAG,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC;QAC5C,MAAM,WAAW,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC;QACzC,MAAM,eAAe,GAAG,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC;QAEjD,0FAA0F;QAC1F,6FAA6F;QAC7F,yFAAyF;QACzF,IAAI,OAAwC,CAAC;QAC7C,MAAM,UAAU,GAAG,KAAK,IAAkC,EAAE;YAC1D,IAAI,CAAC,OAAO,EAAE,CAAC;gBACb,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;gBAC1D,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,0BAA0B,CAAC,WAAW,CAAC,CAAC;gBAClE,OAAO,GAAG,IAAI,mBAAmB,CAAC;oBAChC,OAAO,EAAE,KAAK,CAAC,MAAM;oBACrB,KAAK,EAAE,KAAK,CAAC,6BAA6B,CAAC,IAAI,CAAC,KAAK,CAAC;oBACtD,GAAG,CAAC,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;oBACvD,GAAG,CAAC,UAAU,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;oBACnD,GAAG,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;oBAC7C,GAAG,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;iBAC5C,CAAC,CAAC;YACL,CAAC;YACD,OAAO,OAAO,CAAC;QACjB,CAAC,CAAC;QAEF,MAAM,GAAG,GAAG,CAAC,SAAoD,EAAE,EAAE;YACnE,OAAO,KAAK,EAAE,GAAgB,EAAE,EAAE;gBAChC,MAAM,OAAO,GAAG,MAAM,UAAU,EAAE,CAAC;gBACnC,MAAM,GAAG,GAAG,MAAM,OAAO,CAAC,MAAM,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE,GAAG,CAAC,CAAC;gBACtD,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;gBAChC,OAAO,GAAG,CAAC,IAAI,IAAI,EAAE,CAAC;YACxB,CAAC,CAAC;QACJ,CAAC,CAAC;QAEF,+FAA+F;QAC/F,iGAAiG;QACjG,kDAAkD;QAClD,MAAM;aACH,KAAK,CAAC,GAAG,EAAE;YACV,MAAM;iBACH,IAAI,CACH,GAAG,EACH,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE;gBACV,MAAM,IAAI,GAAG,GAAG,CAAC,OAAO,CAAC,IAAI,EAK5B,CAAC;gBACF,OAAO;oBACL,MAAM,EAAE,UAAU;oBAClB,QAAQ,EAAE,IAAI,CAAC,QAAQ;oBACvB,IAAI,EAAE,IAAI,CAAC,IAAI;oBACf,GAAG,CAAC,IAAI,CAAC,WAAW,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;oBAC5E,GAAG,CAAC,IAAI,CAAC,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;iBACpE,CAAC;YACJ,CAAC,CAAC,CACH;iBACA,EAAE,CAAC,wCAAwC,CAAC,CAAC;YAEhD,MAAM;iBACH,GAAG,CACF,MAAM,EACN,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CACtE;iBACA,EAAE,CAAC,sCAAsC,CAAC,CAAC;YAE9C,MAAM;iBACH,IAAI,CACH,wBAAwB,EACxB,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE;gBACV,MAAM,IAAI,GAAG,GAAG,CAAC,OAAO,CAAC,IAAI,EAAsB,CAAC;gBACpD,OAAO;oBACL,MAAM,EAAE,cAAc;oBACtB,QAAQ,EAAE,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC;oBAC/B,UAAU,EAAE,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,UAAU,CAAC;oBACzC,IAAI,EAAE,IAAI,CAAC,IAAI;iBAChB,CAAC;YACJ,CAAC,CAAC,CACH;iBACA,EAAE,CAAC,2CAA2C,CAAC,CAAC;YAEnD,MAAM;iBACH,IAAI,CACH,eAAe,EACf,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE;gBACV,MAAM,IAAI,GAAG,GAAG,CAAC,OAAO,CAAC,IAAI,EAAiC,CAAC;gBAC/D,OAAO;oBACL,MAAM,EAAE,UAAU;oBAClB,QAAQ,EAAE,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC;oBAC/B,GAAG,CAAC,IAAI,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;iBAC3D,CAAC;YACJ,CAAC,CAAC,CACH;iBACA,EAAE,CAAC,wCAAwC,CAAC,CAAC;YAEhD,MAAM;iBACH,MAAM,CACL,MAAM,EACN,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CACrE;iBACA,EAAE,CAAC,qCAAqC,CAAC,CAAC;QAC/C,CAAC,CAAC;aACD,MAAM,CAAC,MAAM,CAAC;aACd,UAAU,CAAC,CAAC,eAAe,IAAI,EAAE,CAA6C,CAAC,CAAC;IACrF,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,0BAA0B,CAC9B,KAA4D;QAE5D,IAAI,CAAC,KAAK;YAAE,OAAO,SAAS,CAAC;QAC7B,MAAM,MAAM,GAAG,CAAC,MAAM,KAAK,EAAE,CAAC,CAAC,OAAO,CAAC;QACvC,OAAO,OAAO,MAAM,KAAK,UAAU,CAAC,CAAC,CAAC,IAAI,MAAM,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC;IAC9D,CAAC;IAED,iFAAiF;IACjF,KAAK,CAAC,sBAAsB,CAAC,MAAmB;QAC9C,MAAM,EAAE,GAAG,MAAM,CAAC,cAAc,CAAC;QACjC,IAAI,CAAC,EAAE;YAAE,OAAO,SAAS,CAAC;QAC1B,IAAI,OAAO,EAAE,KAAK,UAAU;YAAE,OAAO,EAAE,EAAE,CAAC;QAC1C,OAAO,EAAE,CAAC;IACZ,CAAC;IAED;;;;;;;;;;;;;;;;;;;;;;;;OAwBG;IACH,KAAK,CAAC,uBAAuB;QAC3B,MAAM,WAAW,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,CAAmB,OAAO,CAAC,CAAC;QACnE,IAAI,WAAW,KAAK,SAAS,IAAI,WAAW,KAAK,IAAI;YAAE,OAAO,SAAS,CAAC;QAExE,MAAM,EAAE,cAAc,EAAE,GAAG,MAAM,MAAM,CAAC,gBAAgB,CAAC,CAAC;QAC1D,yFAAyF;QACzF,gGAAgG;QAChG,MAAM,QAAQ,GAAG,MAAM,cAAc,CAAC,OAAO,CAAsB,IAAI,CAAC,GAAG,EAAE,WAAW,CAAC,CAAC;QAC1F,IAAI,QAAQ;YAAE,OAAO,QAAQ,CAAC,MAAM,EAAE,OAAO,IAAI,QAAQ,CAAC,OAAO,IAAI,SAAS,CAAC;QAE/E,OAAQ,WAAgC,CAAC,OAAO,IAAI,SAAS,CAAC;IAChE,CAAC;CACF;AAmBD,+FAA+F;AAC/F,SAAS,UAAU,CAAC,GAAgB;IAClC,MAAM,SAAS,GAAG,GAAG,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IAC3C,MAAM,GAAG,GAAG,OAAO,SAAS,KAAK,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC;IAClE,IAAI,GAAG;QAAE,OAAO,GAAG,CAAC;IACpB,MAAM,MAAM,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,iBAAiB,CAAC,EAAE,EAAE,IAAI,EAAE,8BAA8B,EAAE,CAAC,CAAC;AAC9F,CAAC;AAED,uEAAuE;AACvE,SAAS,QAAQ,CAAC,GAAgB;IAChC,MAAM,KAAK,GAAG,GAAG,CAAC,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;IACxC,OAAO,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;AACvD,CAAC;AAED;;;;GAIG;AACH,KAAK,UAAU,WAAW,CAAC,GAAgB;IACzC,MAAM,MAAM,GAAa,EAAE,CAAC;IAC5B,IAAI,KAAK,EAAE,MAAM,KAAK,IAAI,GAAG,CAAC,OAAO,CAAC,OAAO;QAAE,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;IAC/E,OAAO,IAAI,UAAU,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC;AAC/C,CAAC"}
1
+ {"version":3,"file":"media_provider.js","sourceRoot":"","sources":["../../providers/media_provider.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,5 @@
1
- import type { DeliveryMode } from './delivery.js';
1
+ import type { DeliveryMode, OnDemandImageConfig } from './delivery.js';
2
+ import type { DeliverySigningConfig } from './delivery_signing.js';
2
3
  import type { DiskFactory, S3Credentials, S3DiskConfig } from './disks/factory.js';
3
4
  import { disks } from './disks/factory.js';
4
5
  import type { ImageProcessor } from './image_processor.js';
@@ -184,6 +185,24 @@ export interface MediaDeliveryConfig {
184
185
  mode?: DeliveryMode;
185
186
  /** Lifetime of the signed URL when delivery resolves to `signed`. Default 300. */
186
187
  signedTtlSeconds?: number;
188
+ /**
189
+ * On-demand resizing — the `?w=640&q=75` of a `next/image`-style loader, through
190
+ * `MediaDeliveryHandler`. Only these widths and qualities are served (each resized once, then
191
+ * cached as a conversion), so a client cannot fill the storage with arbitrary sizes. Defaults
192
+ * match `next/image` and `@adonis-agora/media-react`'s loader.
193
+ */
194
+ images?: OnDemandImageConfig;
195
+ /**
196
+ * Sign delivery URLs (`media.library.deliveryUrl()`, and `image()` URLs): the route serves only
197
+ * what the app signed, until it expires — no public URL, and an `<img>` carries its own
198
+ * authorization. With `required` (the default), unsigned requests are refused.
199
+ */
200
+ signing?: DeliverySigningConfig;
201
+ /**
202
+ * The route the app mounts `MediaDeliveryHandler` on, with `:id` — what `deliveryUrl()` builds
203
+ * URLs for. Default `/media/:id`.
204
+ */
205
+ path?: string;
187
206
  }
188
207
  /**
189
208
  * Shape of `config/media.ts`. Storage is delegated to `@adonisjs/drive` — the `disk` is the name of a
@@ -1 +1 @@
1
- {"version":3,"file":"define_config.d.ts","sourceRoot":"","sources":["../../src/define_config.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"define_config.d.ts","sourceRoot":"","sources":["../../src/define_config.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"define_config.js","sourceRoot":"","sources":["../../src/define_config.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC;AAI3C,OAAO,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AAErD,OAAO,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAC7C,OAAO,EAAE,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AAQlE,OAAO,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAC;AAgP9D;;;;GAIG;AACH,MAAM,UAAU,YAAY,CAA8B,MAAM,GAAM,EAAO;IAC3E,OAAO,MAAM,CAAC;AAChB,CAAC;AAiDD,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,UAAU,EAAE,MAAM,EAAE,YAAY,EAAE,cAAc,EAAE,CAAC"}
1
+ {"version":3,"file":"define_config.js","sourceRoot":"","sources":["../../src/define_config.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC;AAI3C,OAAO,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AAErD,OAAO,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAC7C,OAAO,EAAE,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AAQlE,OAAO,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAC;AAkQ9D;;;;GAIG;AACH,MAAM,UAAU,YAAY,CAA8B,MAAM,GAAM,EAAO;IAC3E,OAAO,MAAM,CAAC;AAChB,CAAC;AAiDD,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,UAAU,EAAE,MAAM,EAAE,YAAY,EAAE,cAAc,EAAE,CAAC"}
@@ -20,7 +20,7 @@ export declare const DEFAULT_DELIVERY_SIGNED_TTL_SECONDS = 300;
20
20
  * because the library is framework-agnostic: the app turns a `redirect` into `response.redirect(url)`
21
21
  * and a `stream` into `response.stream(stream)` with whatever headers it wants.
22
22
  */
23
- export type DeliveryResult = {
23
+ export type DeliveryResult = ({
24
24
  kind: 'redirect';
25
25
  url: string;
26
26
  } | {
@@ -29,6 +29,13 @@ export type DeliveryResult = {
29
29
  mimeType: string;
30
30
  size?: number | undefined;
31
31
  fileName?: string | undefined;
32
+ }) & {
33
+ /**
34
+ * `'Accept'` when the format was negotiated from the request's `Accept` header (on-demand
35
+ * resize): send it as the `Vary` header, or a cache in between hands an AVIF to a browser that
36
+ * asked for WebP.
37
+ */
38
+ vary?: 'Accept' | undefined;
32
39
  };
33
40
  /**
34
41
  * Collapse a requested {@link DeliveryMode} to a concrete one for a specific object.
@@ -48,6 +55,44 @@ export interface DeliveryRequest {
48
55
  mediaId: string;
49
56
  /** Deliver this named conversion instead of the original (generated lazily if absent). */
50
57
  conversion?: string | undefined;
58
+ /**
59
+ * Deliver the image resized to this width — the `?w=` of a `next/image`-style loader. Must be one
60
+ * of `delivery.images.widths`; resized once, then cached. A query-string value can be passed as
61
+ * is: it is parsed and validated here.
62
+ */
63
+ width?: number | string | undefined;
64
+ /** Quality of the resized image (`?q=`); one of `delivery.images.qualities`. */
65
+ quality?: number | string | undefined;
66
+ /**
67
+ * The request's `Accept` header: picks the first of `delivery.images.formats` the browser
68
+ * supports (AVIF before WebP, say). Absent ⇒ the first configured format.
69
+ */
70
+ accept?: string | undefined;
71
+ /** `?exp=` of a signed URL (`delivery.signing`). */
72
+ expires?: number | string | undefined;
73
+ /** `?sig=` of a signed URL (`delivery.signing`). */
74
+ signature?: string | undefined;
75
+ }
76
+ /**
77
+ * `next/image`'s default `deviceSizes` + `imageSizes`: the widths a loader may ask for. The same
78
+ * list on both sides is what keeps a loader's `srcset` and the server's whitelist in step.
79
+ */
80
+ export declare const DEFAULT_IMAGE_WIDTHS: readonly number[];
81
+ /** `next/image`'s default `qualities`: one, so a client cannot multiply the cache by quality. */
82
+ export declare const DEFAULT_IMAGE_QUALITIES: readonly number[];
83
+ /** On-demand resizing for `?w=`/`?q=` delivery (`delivery.images`). */
84
+ export interface OnDemandImageConfig {
85
+ /** Widths a request may ask for. Default {@link DEFAULT_IMAGE_WIDTHS}. */
86
+ widths?: readonly number[];
87
+ /** Qualities a request may ask for; the first is the default. Default {@link DEFAULT_IMAGE_QUALITIES}. */
88
+ qualities?: readonly number[];
89
+ /**
90
+ * Modern formats to serve, in order of preference, negotiated against the request's `Accept`
91
+ * (like `next/image`'s `images.formats`). A browser that accepts none of them gets JPEG — or PNG
92
+ * when the original is a PNG/GIF, to keep transparency. Default `['webp']`: AVIF is markedly
93
+ * smaller but many times slower to encode, so it is opt-in (`['avif', 'webp']`).
94
+ */
95
+ formats?: readonly ('avif' | 'webp')[];
51
96
  }
52
97
  export interface MediaDeliveryHandlerOptions {
53
98
  /** The {@link MediaLibrary} records are resolved from — or a `MediaManager`, whose `.library` is used. */
@@ -1 +1 @@
1
- {"version":3,"file":"delivery.d.ts","sourceRoot":"","sources":["../../src/delivery.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AACvD,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,YAAY,CAAC;AAEvC;;;;;;;;GAQG;AACH,MAAM,MAAM,YAAY,GAAG,MAAM,GAAG,QAAQ,GAAG,QAAQ,GAAG,OAAO,CAAC;AAElE,0FAA0F;AAC1F,MAAM,MAAM,oBAAoB,GAAG,QAAQ,GAAG,QAAQ,GAAG,OAAO,CAAC;AAEjE,+FAA+F;AAC/F,eAAO,MAAM,mCAAmC,MAAM,CAAC;AAEvD;;;;GAIG;AACH,MAAM,MAAM,cAAc,GACtB;IAAE,IAAI,EAAE,UAAU,CAAC;IAAC,GAAG,EAAE,MAAM,CAAA;CAAE,GACjC;IACE,IAAI,EAAE,QAAQ,CAAC;IACf,MAAM,EAAE,QAAQ,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC1B,QAAQ,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CAC/B,CAAC;AAEN;;;;;;;;;;GAUG;AACH,wBAAsB,mBAAmB,CACvC,IAAI,EAAE,YAAY,GAAG,SAAS,EAC9B,IAAI,EAAE,IAAI,EACV,GAAG,EAAE,MAAM,GACV,OAAO,CAAC,oBAAoB,CAAC,CAK/B;AAED,oEAAoE;AACpE,MAAM,WAAW,eAAe;IAC9B,8BAA8B;IAC9B,OAAO,EAAE,MAAM,CAAC;IAChB,0FAA0F;IAC1F,UAAU,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CACjC;AAED,MAAM,WAAW,2BAA2B;IAC1C,0GAA0G;IAC1G,OAAO,EAAE,YAAY,GAAG;QAAE,OAAO,EAAE,YAAY,CAAA;KAAE,CAAC;IAClD,yFAAyF;IACzF,IAAI,CAAC,EAAE,YAAY,GAAG,SAAS,CAAC;IAChC,8DAA8D;IAC9D,gBAAgB,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CACvC;AAED;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,qBAAa,oBAAoB;IAC/B,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAe;IACvC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAA2B;IAChD,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAqB;IAEtD,YAAY,OAAO,EAAE,2BAA2B,EAK/C;IAED,MAAM,CAAC,OAAO,EAAE,eAAe,GAAG,OAAO,CAAC,cAAc,CAAC,CAMxD;CACF"}
1
+ {"version":3,"file":"delivery.d.ts","sourceRoot":"","sources":["../../src/delivery.ts"],"names":[],"mappings":"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"}
@@ -19,6 +19,15 @@ export async function resolveDeliveryMode(mode, disk, key) {
19
19
  return 'signed';
20
20
  return (await disk.getVisibility(key)) === 'public' ? 'public' : 'signed';
21
21
  }
22
+ /**
23
+ * `next/image`'s default `deviceSizes` + `imageSizes`: the widths a loader may ask for. The same
24
+ * list on both sides is what keeps a loader's `srcset` and the server's whitelist in step.
25
+ */
26
+ export const DEFAULT_IMAGE_WIDTHS = [
27
+ 16, 32, 48, 64, 96, 128, 256, 384, 640, 750, 828, 1080, 1200, 1920, 2048, 3840,
28
+ ];
29
+ /** `next/image`'s default `qualities`: one, so a client cannot multiply the cache by quality. */
30
+ export const DEFAULT_IMAGE_QUALITIES = [75];
22
31
  /**
23
32
  * Framework-agnostic read counterpart to {@link TusUploadHandler}: the app mounts ONE route, with
24
33
  * its own middleware, and delegates the "how do these bytes reach the client" question here.
@@ -51,9 +60,16 @@ export class MediaDeliveryHandler {
51
60
  this.mode = options.mode;
52
61
  this.signedTtlSeconds = options.signedTtlSeconds;
53
62
  }
54
- handle(request) {
63
+ async handle(request) {
64
+ // With `delivery.signing`, a signed request is authorized by its signature (any size the app
65
+ // signed); an unsigned one is refused when signing is required. Throws DeliverySignatureError.
66
+ const trusted = this.library.checkDeliverySignature(request);
55
67
  return this.library.deliver(request.mediaId, {
68
+ ...(trusted ? { trusted: true } : {}),
56
69
  ...(request.conversion !== undefined ? { conversion: request.conversion } : {}),
70
+ ...(request.width !== undefined && request.width !== ''
71
+ ? { width: request.width, quality: request.quality, accept: request.accept }
72
+ : {}),
57
73
  ...(this.mode !== undefined ? { mode: this.mode } : {}),
58
74
  ...(this.signedTtlSeconds !== undefined ? { signedTtlSeconds: this.signedTtlSeconds } : {}),
59
75
  });
@@ -1 +1 @@
1
- {"version":3,"file":"delivery.js","sourceRoot":"","sources":["../../src/delivery.ts"],"names":[],"mappings":"AAkBA,+FAA+F;AAC/F,MAAM,CAAC,MAAM,mCAAmC,GAAG,GAAG,CAAC;AAiBvD;;;;;;;;;;GAUG;AACH,MAAM,CAAC,KAAK,UAAU,mBAAmB,CACvC,IAA8B,EAC9B,IAAU,EACV,GAAW;IAEX,MAAM,SAAS,GAAiB,IAAI,IAAI,MAAM,CAAC;IAC/C,IAAI,SAAS,KAAK,MAAM;QAAE,OAAO,SAAS,CAAC;IAC3C,IAAI,OAAO,IAAI,CAAC,aAAa,KAAK,UAAU;QAAE,OAAO,QAAQ,CAAC;IAC9D,OAAO,CAAC,MAAM,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC;AAC5E,CAAC;AAmBD;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,MAAM,OAAO,oBAAoB;IACd,OAAO,CAAe;IACtB,IAAI,CAA2B;IAC/B,gBAAgB,CAAqB;IAEtD,YAAY,OAAoC;QAC9C,MAAM,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;QAC/B,IAAI,CAAC,OAAO,GAAG,SAAS,IAAI,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC;QAC7D,IAAI,CAAC,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;QACzB,IAAI,CAAC,gBAAgB,GAAG,OAAO,CAAC,gBAAgB,CAAC;IACnD,CAAC;IAED,MAAM,CAAC,OAAwB;QAC7B,OAAO,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,OAAO,EAAE;YAC3C,GAAG,CAAC,OAAO,CAAC,UAAU,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,OAAO,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAC/E,GAAG,CAAC,IAAI,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACvD,GAAG,CAAC,IAAI,CAAC,gBAAgB,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,gBAAgB,EAAE,IAAI,CAAC,gBAAgB,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SAC5F,CAAC,CAAC;IACL,CAAC;CACF"}
1
+ {"version":3,"file":"delivery.js","sourceRoot":"","sources":["../../src/delivery.ts"],"names":[],"mappings":"AAkBA,+FAA+F;AAC/F,MAAM,CAAC,MAAM,mCAAmC,GAAG,GAAG,CAAC;AAyBvD;;;;;;;;;;GAUG;AACH,MAAM,CAAC,KAAK,UAAU,mBAAmB,CACvC,IAA8B,EAC9B,IAAU,EACV,GAAW;IAEX,MAAM,SAAS,GAAiB,IAAI,IAAI,MAAM,CAAC;IAC/C,IAAI,SAAS,KAAK,MAAM;QAAE,OAAO,SAAS,CAAC;IAC3C,IAAI,OAAO,IAAI,CAAC,aAAa,KAAK,UAAU;QAAE,OAAO,QAAQ,CAAC;IAC9D,OAAO,CAAC,MAAM,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC;AAC5E,CAAC;AA2BD;;;GAGG;AACH,MAAM,CAAC,MAAM,oBAAoB,GAAsB;IACrD,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI;CAC/E,CAAC;AAEF,iGAAiG;AACjG,MAAM,CAAC,MAAM,uBAAuB,GAAsB,CAAC,EAAE,CAAC,CAAC;AA0B/D;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,MAAM,OAAO,oBAAoB;IACd,OAAO,CAAe;IACtB,IAAI,CAA2B;IAC/B,gBAAgB,CAAqB;IAEtD,YAAY,OAAoC;QAC9C,MAAM,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;QAC/B,IAAI,CAAC,OAAO,GAAG,SAAS,IAAI,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC;QAC7D,IAAI,CAAC,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;QACzB,IAAI,CAAC,gBAAgB,GAAG,OAAO,CAAC,gBAAgB,CAAC;IACnD,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,OAAwB;QACnC,6FAA6F;QAC7F,+FAA+F;QAC/F,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,sBAAsB,CAAC,OAAO,CAAC,CAAC;QAC7D,OAAO,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,OAAO,EAAE;YAC3C,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACrC,GAAG,CAAC,OAAO,CAAC,UAAU,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,OAAO,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAC/E,GAAG,CAAC,OAAO,CAAC,KAAK,KAAK,SAAS,IAAI,OAAO,CAAC,KAAK,KAAK,EAAE;gBACrD,CAAC,CAAC,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,OAAO,EAAE,OAAO,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE;gBAC5E,CAAC,CAAC,EAAE,CAAC;YACP,GAAG,CAAC,IAAI,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACvD,GAAG,CAAC,IAAI,CAAC,gBAAgB,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,gBAAgB,EAAE,IAAI,CAAC,gBAAgB,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SAC5F,CAAC,CAAC;IACL,CAAC;CACF"}
@@ -0,0 +1,70 @@
1
+ /**
2
+ * Signed delivery URLs (`delivery.signing`) — the imgproxy/Thumbor model: the app signs the exact
3
+ * request (record, conversion, size, expiry) with a secret, and the delivery route serves only
4
+ * requests it signed. Nothing about the URL can be changed without breaking the signature, so a
5
+ * signed URL can ask for any width (the app chose it) and still not be turned into a key to other
6
+ * records or sizes — and an `<img>`, which cannot send an auth header, carries its authorization
7
+ * in the URL until it expires.
8
+ */
9
+ export interface DeliverySigningConfig {
10
+ /** HMAC key — e.g. `env.get('APP_KEY')`. Rotating it invalidates every outstanding URL. */
11
+ secret: string;
12
+ /**
13
+ * How long a signed URL stays valid, in seconds. Default 3600. Expiries are rounded up to a
14
+ * multiple of this, so a page rendered twice within the window gets the same URLs and the
15
+ * browser cache keeps working — a URL is valid for between one and two windows.
16
+ */
17
+ expiresIn?: number;
18
+ /**
19
+ * Refuse unsigned requests at the delivery route. Default `true`: with signing configured, the
20
+ * point is usually that nothing is reachable without a URL the app handed out.
21
+ */
22
+ required?: boolean;
23
+ }
24
+ /** What a signature covers. */
25
+ export interface SignedDeliveryParams {
26
+ mediaId: string;
27
+ conversion?: string | undefined;
28
+ width?: number | undefined;
29
+ quality?: number | undefined;
30
+ /** Unix seconds. */
31
+ expires: number;
32
+ }
33
+ /** The query parameters of a delivery URL, as the route receives them. */
34
+ export interface DeliveryQuery {
35
+ conversion?: string | undefined;
36
+ w?: string | undefined;
37
+ q?: string | undefined;
38
+ exp?: string | undefined;
39
+ sig?: string | undefined;
40
+ }
41
+ export declare const DEFAULT_DELIVERY_SIGNING_TTL_SECONDS = 3600;
42
+ /** HMAC-SHA256 over the canonical form of the params, base64url. */
43
+ export declare function signDelivery(secret: string, params: SignedDeliveryParams): string;
44
+ /**
45
+ * Expiry for a URL signed now: `now + ttl`, rounded up to a multiple of `ttl` so the URL is stable
46
+ * for the rest of the window.
47
+ */
48
+ export declare function deliveryExpiry(nowMs: number, ttlSeconds: number): number;
49
+ /**
50
+ * Check a request's signature. Throws {@link DeliverySignatureError} when it is invalid or expired.
51
+ * Returns `false` when the request carries no signature at all (the caller decides whether that is
52
+ * allowed), `true` when it is signed and valid.
53
+ */
54
+ export declare function verifyDelivery(secret: string, request: {
55
+ mediaId: string;
56
+ conversion?: string | undefined;
57
+ width?: number | string | undefined;
58
+ quality?: number | string | undefined;
59
+ expires?: number | string | undefined;
60
+ signature?: string | undefined;
61
+ }, nowMs: number): boolean;
62
+ /** Build the query string of a delivery URL. */
63
+ export declare function deliveryQueryString(params: {
64
+ conversion?: string | undefined;
65
+ width?: number | undefined;
66
+ quality?: number | undefined;
67
+ expires?: number | undefined;
68
+ signature?: string | undefined;
69
+ }): string;
70
+ //# sourceMappingURL=delivery_signing.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"delivery_signing.d.ts","sourceRoot":"","sources":["../../src/delivery_signing.ts"],"names":[],"mappings":"AAGA;;;;;;;GAOG;AACH,MAAM,WAAW,qBAAqB;IACpC,2FAA2F;IAC3F,MAAM,EAAE,MAAM,CAAC;IACf;;;;OAIG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;;;OAGG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED,+BAA+B;AAC/B,MAAM,WAAW,oBAAoB;IACnC,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAChC,KAAK,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC3B,OAAO,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC7B,oBAAoB;IACpB,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,0EAA0E;AAC1E,MAAM,WAAW,aAAa;IAC5B,UAAU,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAChC,CAAC,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACvB,CAAC,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACvB,GAAG,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACzB,GAAG,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CAC1B;AAED,eAAO,MAAM,oCAAoC,OAAO,CAAC;AAEzD,oEAAoE;AACpE,wBAAgB,YAAY,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,oBAAoB,GAAG,MAAM,CASjF;AAED;;;GAGG;AACH,wBAAgB,cAAc,CAAC,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,MAAM,CAGxE;AAED;;;;GAIG;AACH,wBAAgB,cAAc,CAC5B,MAAM,EAAE,MAAM,EACd,OAAO,EAAE;IACP,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAChC,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAAC;IACpC,OAAO,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAAC;IACtC,OAAO,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAAC;IACtC,SAAS,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CAChC,EACD,KAAK,EAAE,MAAM,GACZ,OAAO,CA0BT;AAED,gDAAgD;AAChD,wBAAgB,mBAAmB,CAAC,MAAM,EAAE;IAC1C,UAAU,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAChC,KAAK,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC3B,OAAO,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC7B,OAAO,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC7B,SAAS,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CAChC,GAAG,MAAM,CAST"}
@@ -0,0 +1,82 @@
1
+ import { createHmac, timingSafeEqual } from 'node:crypto';
2
+ import { DeliverySignatureError } from './errors.js';
3
+ export const DEFAULT_DELIVERY_SIGNING_TTL_SECONDS = 3600;
4
+ /** HMAC-SHA256 over the canonical form of the params, base64url. */
5
+ export function signDelivery(secret, params) {
6
+ const canonical = [
7
+ params.mediaId,
8
+ params.conversion ?? '',
9
+ params.width ?? '',
10
+ params.quality ?? '',
11
+ params.expires,
12
+ ].join('\n');
13
+ return createHmac('sha256', secret).update(canonical).digest('base64url');
14
+ }
15
+ /**
16
+ * Expiry for a URL signed now: `now + ttl`, rounded up to a multiple of `ttl` so the URL is stable
17
+ * for the rest of the window.
18
+ */
19
+ export function deliveryExpiry(nowMs, ttlSeconds) {
20
+ const now = Math.floor(nowMs / 1000);
21
+ return Math.ceil((now + ttlSeconds) / ttlSeconds) * ttlSeconds;
22
+ }
23
+ /**
24
+ * Check a request's signature. Throws {@link DeliverySignatureError} when it is invalid or expired.
25
+ * Returns `false` when the request carries no signature at all (the caller decides whether that is
26
+ * allowed), `true` when it is signed and valid.
27
+ */
28
+ export function verifyDelivery(secret, request, nowMs) {
29
+ const { signature, expires } = request;
30
+ if ((signature === undefined || signature === '') && (expires === undefined || expires === '')) {
31
+ return false;
32
+ }
33
+ if (!signature || expires === undefined || expires === '') {
34
+ throw new DeliverySignatureError('invalid');
35
+ }
36
+ const exp = Number(expires);
37
+ if (!Number.isInteger(exp))
38
+ throw new DeliverySignatureError('invalid');
39
+ const expected = signDelivery(secret, {
40
+ mediaId: request.mediaId,
41
+ conversion: emptyToUndefined(request.conversion),
42
+ width: toOptionalInt(request.width),
43
+ quality: toOptionalInt(request.quality),
44
+ expires: exp,
45
+ });
46
+ const given = Buffer.from(signature);
47
+ const wanted = Buffer.from(expected);
48
+ if (given.length !== wanted.length || !timingSafeEqual(given, wanted)) {
49
+ throw new DeliverySignatureError('invalid');
50
+ }
51
+ // Checked after the signature: an attacker learns nothing from "expired" on a forged URL.
52
+ if (exp * 1000 < nowMs)
53
+ throw new DeliverySignatureError('expired');
54
+ return true;
55
+ }
56
+ /** Build the query string of a delivery URL. */
57
+ export function deliveryQueryString(params) {
58
+ const query = new URLSearchParams();
59
+ if (params.conversion !== undefined)
60
+ query.set('conversion', params.conversion);
61
+ if (params.width !== undefined)
62
+ query.set('w', String(params.width));
63
+ if (params.quality !== undefined)
64
+ query.set('q', String(params.quality));
65
+ if (params.expires !== undefined)
66
+ query.set('exp', String(params.expires));
67
+ if (params.signature !== undefined)
68
+ query.set('sig', params.signature);
69
+ const text = query.toString();
70
+ return text ? `?${text}` : '';
71
+ }
72
+ function emptyToUndefined(value) {
73
+ return value === '' ? undefined : value;
74
+ }
75
+ function toOptionalInt(value) {
76
+ if (value === undefined || value === '')
77
+ return undefined;
78
+ const parsed = typeof value === 'number' ? value : /^\d+$/.test(value) ? Number(value) : Number.NaN;
79
+ // A non-numeric value cannot have been signed by us; NaN makes the HMAC mismatch.
80
+ return parsed;
81
+ }
82
+ //# sourceMappingURL=delivery_signing.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"delivery_signing.js","sourceRoot":"","sources":["../../src/delivery_signing.ts"],"names":[],"mappings":"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"}
@@ -231,4 +231,32 @@ export declare class UploadSessionStoreNotConfiguredError extends Error {
231
231
  readonly code = "E_MEDIA_UPLOAD_SESSION_STORE_NOT_CONFIGURED";
232
232
  constructor(name: string);
233
233
  }
234
+ /**
235
+ * A resize was requested at a width or quality outside `delivery.images` — the whitelist that stops
236
+ * a client from filling the storage with one cached variant per arbitrary size. Map it to a 400.
237
+ */
238
+ export declare class ImageSizeNotAllowedError extends Error {
239
+ readonly field: 'width' | 'quality';
240
+ readonly value: unknown;
241
+ readonly allowed: readonly number[];
242
+ readonly code = "E_MEDIA_IMAGE_SIZE_NOT_ALLOWED";
243
+ constructor(field: 'width' | 'quality', value: unknown, allowed: readonly number[]);
244
+ }
245
+ /** A resize (`?w=`) was requested for a record that is not a raster image. Map it to a 400. */
246
+ export declare class NotAnImageError extends Error {
247
+ readonly mediaId: string;
248
+ readonly mimeType: string;
249
+ readonly code = "E_MEDIA_NOT_AN_IMAGE";
250
+ constructor(mediaId: string, mimeType: string);
251
+ }
252
+ /**
253
+ * A delivery request failed signature checking (`delivery.signing`): it carries no signature while
254
+ * one is required (`missing`), the signature does not match the request (`invalid` — any
255
+ * parameter changed, or a URL signed with another key), or it expired (`expired`). Map it to a 403.
256
+ */
257
+ export declare class DeliverySignatureError extends Error {
258
+ readonly reason: 'missing' | 'invalid' | 'expired';
259
+ readonly code = "E_MEDIA_DELIVERY_SIGNATURE";
260
+ constructor(reason: 'missing' | 'invalid' | 'expired');
261
+ }
234
262
  //# sourceMappingURL=errors.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../src/errors.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../src/errors.ts"],"names":[],"mappings":"AAAA,qBAAa,mBAAoB,SAAQ,KAAK;IAG1C,QAAQ,CAAC,UAAU,EAAE,MAAM;IAC3B,QAAQ,CAAC,QAAQ,EAAE,MAAM;IACzB,QAAQ,CAAC,QAAQ,EAAE,SAAS,MAAM,EAAE;IAJtC,QAAQ,CAAC,IAAI,8BAA8B;IAC3C,YACW,UAAU,EAAE,MAAM,EAClB,QAAQ,EAAE,MAAM,EAChB,QAAQ,EAAE,SAAS,MAAM,EAAE,EAMrC;CACF;AAED;;;;;;GAMG;AACH,qBAAa,wBAAyB,SAAQ,KAAK;IAG/C,QAAQ,CAAC,UAAU,EAAE,MAAM;IAC3B,QAAQ,CAAC,gBAAgB,EAAE,MAAM;IACjC,QAAQ,CAAC,gBAAgB,EAAE,MAAM;IAJnC,QAAQ,CAAC,IAAI,mCAAmC;IAChD,YACW,UAAU,EAAE,MAAM,EAClB,gBAAgB,EAAE,MAAM,EACxB,gBAAgB,EAAE,MAAM,EACjC,QAAQ,EAAE,SAAS,MAAM,EAAE,EAM5B;CACF;AAED;;;;;;;;;GASG;AACH,qBAAa,iCAAkC,SAAQ,KAAK;IAGxD,QAAQ,CAAC,UAAU,EAAE,MAAM;IAC3B,QAAQ,CAAC,gBAAgB,EAAE,MAAM,GAAG,SAAS;IAC7C,QAAQ,CAAC,QAAQ,EAAE,SAAS,MAAM,EAAE;IAJtC,QAAQ,CAAC,IAAI,4CAA4C;IACzD,YACW,UAAU,EAAE,MAAM,EAClB,gBAAgB,EAAE,MAAM,GAAG,SAAS,EACpC,QAAQ,EAAE,SAAS,MAAM,EAAE,EAQrC;CACF;AAED;;;;;GAKG;AACH,qBAAa,kBAAmB,SAAQ,KAAK;IAC3C,QAAQ,CAAC,IAAI,6BAA6B;IAC1C,YAAY,IAAI,EAAE,MAAM,EAKvB;CACF;AAED,qBAAa,kBAAmB,SAAQ,KAAK;IAC3C,QAAQ,CAAC,IAAI,8BAA8B;IAC3C,YAAY,EAAE,EAAE,MAAM,EAGrB;CACF;AAED,qBAAa,uBAAwB,SAAQ,KAAK;IAChD,QAAQ,CAAC,IAAI,4BAA4B;IACzC,YAAY,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAKpC;CACF;AAED,qBAAa,yBAA0B,SAAQ,KAAK;IAClD,QAAQ,CAAC,IAAI,oCAAoC;IACjD,YAAY,UAAU,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAGjD;CACF;AAED;;;;GAIG;AACH,qBAAa,0BAA2B,SAAQ,KAAK;IACnD,QAAQ,CAAC,IAAI,qCAAqC;IAClD,YAAY,UAAU,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAGlD;CACF;AAED;;;;;GAKG;AACH,qBAAa,sBAAuB,SAAQ,KAAK;IAG7C,QAAQ,CAAC,OAAO,EAAE,MAAM;IACxB,QAAQ,CAAC,WAAW,EAAE,MAAM;IAH9B,QAAQ,CAAC,IAAI,iCAAiC;IAC9C,YACW,OAAO,EAAE,MAAM,EACf,WAAW,EAAE,MAAM,EAM7B;CACF;AAED;;;;GAIG;AACH,qBAAa,wBAAyB,SAAQ,KAAK;IACjD,QAAQ,CAAC,IAAI,kCAAkC;IAC/C,YAAY,UAAU,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAK3C;CACF;AAED;;;;;GAKG;AACH,qBAAa,8BAA+B,SAAQ,KAAK;IAGrD,QAAQ,CAAC,WAAW,EAAE,MAAM;IAC5B,QAAQ,CAAC,WAAW,EAAE,MAAM;IAH9B,QAAQ,CAAC,IAAI,yCAAyC;IACtD,YACW,WAAW,EAAE,MAAM,EACnB,WAAW,EAAE,MAAM,EAC5B,IAAI,CAAC,EAAE,MAAM,EAMd;CACF;AAED;;;;;GAKG;AACH,qBAAa,sBAAuB,SAAQ,KAAK;IAC/C,QAAQ,CAAC,IAAI,wCAAwC;IACrD,YAAY,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAG9C;CACF;AAED;;;;GAIG;AACH,qBAAa,8BAA+B,SAAQ,KAAK;IACvD,QAAQ,CAAC,IAAI,yCAAyC;IACtD,YAAY,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAK9C;CACF;AAED;;;;;GAKG;AACH,qBAAa,yBAA0B,SAAQ,KAAK;IAClD,QAAQ,CAAC,IAAI,oCAAoC;IACjD;;OAEG;IACH,YACE,OAAO,EAAE,MAAM,EACf,IAAI,SAAqQ,EAI1Q;CACF;AAED;;;;GAIG;AACH,qBAAa,iBAAkB,SAAQ,KAAK;IAGxC,QAAQ,CAAC,MAAM,EAAE,MAAM;IACvB,QAAQ,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI;IAChC,QAAQ,CAAC,MAAM,EAAE,MAAM;IAJzB,QAAQ,CAAC,IAAI,2BAA2B;IACxC,YACW,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,MAAM,GAAG,IAAI,EACvB,MAAM,EAAE,MAAM,EAMxB;CACF;AAED,qBAAa,0BAA2B,SAAQ,KAAK;IACnD,QAAQ,CAAC,IAAI,qCAAqC;IAClD,cAGC;CACF;AAED,qBAAa,oBAAqB,SAAQ,KAAK;IAC7C,QAAQ,CAAC,IAAI,+BAA+B;IAC5C,YAAY,OAAO,EAAE,MAAM,EAG1B;CACF;AAED,qBAAa,uBAAwB,SAAQ,KAAK;IAChD,QAAQ,CAAC,IAAI,kCAAkC;IAC/C,YAAY,IAAI,EAAE,MAAM,EAAE,SAAS,SAA4B,EAK9D;CACF;AAED,qBAAa,0BAA2B,SAAQ,KAAK;IACnD,QAAQ,CAAC,IAAI,sCAAsC;IACnD,YAAY,EAAE,EAAE,MAAM,EAGrB;CACF;AAED,qBAAa,yBAA0B,SAAQ,KAAK;IAGhD,QAAQ,CAAC,QAAQ,EAAE,MAAM;IACzB,QAAQ,CAAC,QAAQ,EAAE,MAAM;IAH3B,QAAQ,CAAC,IAAI,oCAAoC;IACjD,YACW,QAAQ,EAAE,MAAM,EAChB,QAAQ,EAAE,MAAM,EAI1B;CACF;AAED,qBAAa,yBAA0B,SAAQ,KAAK;IAClD,QAAQ,CAAC,IAAI,oCAAoC;IACjD,YAAY,EAAE,EAAE,MAAM,EAGrB;CACF;AAED;;;;;;GAMG;AACH,qBAAa,mBAAoB,SAAQ,KAAK;IAC5C,QAAQ,CAAC,IAAI,8BAA8B;IAC3C,YAAY,MAAM,EAAE,MAAM,EAGzB;CACF;AAED,mHAAmH;AACnH,qBAAa,yBAA0B,SAAQ,KAAK;IAGhD,QAAQ,CAAC,UAAU,EAAE,MAAM;IAC3B,QAAQ,CAAC,UAAU,EAAE,MAAM;IAH7B,QAAQ,CAAC,IAAI,sCAAsC;IACnD,YACW,UAAU,EAAE,MAAM,EAClB,UAAU,EAAE,MAAM,EAM5B;CACF;AAED;;;;GAIG;AACH,qBAAa,0BAA2B,SAAQ,KAAK;IAGjD,QAAQ,CAAC,SAAS,EAAE,MAAM;IAC1B,QAAQ,CAAC,YAAY,EAAE,SAAS,MAAM,EAAE;IAH1C,QAAQ,CAAC,IAAI,qCAAqC;IAClD,YACW,SAAS,EAAE,MAAM,EACjB,YAAY,EAAE,SAAS,MAAM,EAAE,EAMzC;CACF;AAED;;;;;;;;;;GAUG;AACH,qBAAa,mBAAoB,SAAQ,KAAK;IAEhC,QAAQ,CAAC,QAAQ,EAAE,MAAM;IADrC,QAAQ,CAAC,IAAI,8BAA8B;IAC3C,YAAqB,QAAQ,EAAE,MAAM,EAMpC;CACF;AAED,qBAAa,+BAAgC,SAAQ,KAAK;IACxD,QAAQ,CAAC,IAAI,mCAAmC;IAChD,cAKC;CACF;AAED,qBAAa,kCAAmC,SAAQ,KAAK;IAC3D,QAAQ,CAAC,IAAI,sCAAsC;IACnD,cAKC;CACF;AAED,qBAAa,uBAAwB,SAAQ,KAAK;IAChD,QAAQ,CAAC,IAAI,kCAAkC;IAC/C,YAAY,IAAI,EAAE,MAAM,EAKvB;CACF;AAED,qBAAa,oCAAqC,SAAQ,KAAK;IAC7D,QAAQ,CAAC,IAAI,iDAAiD;IAC9D,YAAY,IAAI,EAAE,MAAM,EAKvB;CACF;AAED;;;GAGG;AACH,qBAAa,wBAAyB,SAAQ,KAAK;IAG/C,QAAQ,CAAC,KAAK,EAAE,OAAO,GAAG,SAAS;IACnC,QAAQ,CAAC,KAAK,EAAE,OAAO;IACvB,QAAQ,CAAC,OAAO,EAAE,SAAS,MAAM,EAAE;IAJrC,QAAQ,CAAC,IAAI,oCAAoC;IACjD,YACW,KAAK,EAAE,OAAO,GAAG,SAAS,EAC1B,KAAK,EAAE,OAAO,EACd,OAAO,EAAE,SAAS,MAAM,EAAE,EAMpC;CACF;AAED,+FAA+F;AAC/F,qBAAa,eAAgB,SAAQ,KAAK;IAGtC,QAAQ,CAAC,OAAO,EAAE,MAAM;IACxB,QAAQ,CAAC,QAAQ,EAAE,MAAM;IAH3B,QAAQ,CAAC,IAAI,0BAA0B;IACvC,YACW,OAAO,EAAE,MAAM,EACf,QAAQ,EAAE,MAAM,EAI1B;CACF;AAED;;;;GAIG;AACH,qBAAa,sBAAuB,SAAQ,KAAK;IAEnC,QAAQ,CAAC,MAAM,EAAE,SAAS,GAAG,SAAS,GAAG,SAAS;IAD9D,QAAQ,CAAC,IAAI,gCAAgC;IAC7C,YAAqB,MAAM,EAAE,SAAS,GAAG,SAAS,GAAG,SAAS,EAS7D;CACF"}
@@ -342,4 +342,51 @@ export class UploadSessionStoreNotConfiguredError extends Error {
342
342
  this.name = 'UploadSessionStoreNotConfiguredError';
343
343
  }
344
344
  }
345
+ /**
346
+ * A resize was requested at a width or quality outside `delivery.images` — the whitelist that stops
347
+ * a client from filling the storage with one cached variant per arbitrary size. Map it to a 400.
348
+ */
349
+ export class ImageSizeNotAllowedError extends Error {
350
+ field;
351
+ value;
352
+ allowed;
353
+ code = 'E_MEDIA_IMAGE_SIZE_NOT_ALLOWED';
354
+ constructor(field, value, allowed) {
355
+ super(`Image ${field} ${JSON.stringify(value)} is not allowed. Allowed: ${allowed.join(', ')} (delivery.images.${field === 'width' ? 'widths' : 'qualities'}).`);
356
+ this.field = field;
357
+ this.value = value;
358
+ this.allowed = allowed;
359
+ this.name = 'ImageSizeNotAllowedError';
360
+ }
361
+ }
362
+ /** A resize (`?w=`) was requested for a record that is not a raster image. Map it to a 400. */
363
+ export class NotAnImageError extends Error {
364
+ mediaId;
365
+ mimeType;
366
+ code = 'E_MEDIA_NOT_AN_IMAGE';
367
+ constructor(mediaId, mimeType) {
368
+ super(`Media "${mediaId}" is "${mimeType}", not an image that can be resized.`);
369
+ this.mediaId = mediaId;
370
+ this.mimeType = mimeType;
371
+ this.name = 'NotAnImageError';
372
+ }
373
+ }
374
+ /**
375
+ * A delivery request failed signature checking (`delivery.signing`): it carries no signature while
376
+ * one is required (`missing`), the signature does not match the request (`invalid` — any
377
+ * parameter changed, or a URL signed with another key), or it expired (`expired`). Map it to a 403.
378
+ */
379
+ export class DeliverySignatureError extends Error {
380
+ reason;
381
+ code = 'E_MEDIA_DELIVERY_SIGNATURE';
382
+ constructor(reason) {
383
+ super(reason === 'missing'
384
+ ? 'This media URL must be signed (delivery.signing.required).'
385
+ : reason === 'expired'
386
+ ? 'This media URL has expired.'
387
+ : 'This media URL has an invalid signature.');
388
+ this.reason = reason;
389
+ this.name = 'DeliverySignatureError';
390
+ }
391
+ }
345
392
  //# sourceMappingURL=errors.js.map