@visulima/storage 1.0.0-alpha.3 → 1.0.0-alpha.30

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 (417) hide show
  1. package/CHANGELOG.md +361 -0
  2. package/LICENSE.md +213 -573
  3. package/README.md +83 -470
  4. package/dist/adapter/nuxt/module.d.ts +41 -34
  5. package/dist/adapter/nuxt/module.js +1 -93
  6. package/dist/adapter/nuxt/node_modules/.bin/nuxi +22 -0
  7. package/dist/adapter/nuxt/node_modules/.bin/nuxt +22 -0
  8. package/dist/adapter/nuxt/package.json +0 -6
  9. package/dist/ai/ai-sdk/index.d.ts +113 -0
  10. package/dist/ai/ai-sdk/index.js +1 -0
  11. package/dist/ai/claude/index.d.ts +177 -0
  12. package/dist/ai/claude/index.js +1 -0
  13. package/dist/ai/openai/index.d.ts +205 -0
  14. package/dist/ai/openai/index.js +1 -0
  15. package/dist/ai/tanstack/index.d.ts +115 -0
  16. package/dist/ai/tanstack/index.js +1 -0
  17. package/dist/handler/http/fetch/index.d.ts +303 -4
  18. package/dist/handler/http/fetch/index.js +1 -4
  19. package/dist/handler/http/hono/index.d.ts +73 -64
  20. package/dist/handler/http/hono/index.js +1 -65
  21. package/dist/handler/http/nextjs/index.d.ts +66 -58
  22. package/dist/handler/http/nextjs/index.js +1 -37
  23. package/dist/handler/http/node/index.d.ts +361 -4
  24. package/dist/handler/http/node/index.js +1 -4
  25. package/dist/handler/http/solid-start/index.d.ts +66 -57
  26. package/dist/handler/http/solid-start/index.js +1 -44
  27. package/dist/index.d.ts +58 -17
  28. package/dist/index.js +1 -13
  29. package/dist/openapi/index.d.ts +24 -5
  30. package/dist/openapi/index.js +1 -5
  31. package/dist/packem_shared/AwsLightFile-BSqjc_rD.js +1 -0
  32. package/dist/packem_shared/AwsLightMetaStorage-B-iQbToR.js +1 -0
  33. package/dist/packem_shared/AwsLightStorage-w21RxjUm.js +1 -0
  34. package/dist/packem_shared/AzureFile-Dgj2Tef4.js +1 -0
  35. package/dist/packem_shared/AzureSMetaStorage-CR-lfQNQ.js +1 -0
  36. package/dist/packem_shared/AzureStorage-2kl7JDXs.js +1 -0
  37. package/dist/packem_shared/BaseTransformer-Fpcuz4kj.js +1 -0
  38. package/dist/packem_shared/BoxFile-Be0S4N1L.js +1 -0
  39. package/dist/packem_shared/BoxMetaStorage-DLdXbZaV.js +1 -0
  40. package/dist/packem_shared/BoxStorage-BUeEJoGL.js +1 -0
  41. package/dist/packem_shared/BunS3File-D-SRiyrm.js +1 -0
  42. package/dist/packem_shared/BunS3MetaStorage-Bv_CTTMz.js +1 -0
  43. package/dist/packem_shared/BunS3Storage-WM3rF6Fw.js +1 -0
  44. package/dist/packem_shared/BunnyFile-Dotl-lO9.js +1 -0
  45. package/dist/packem_shared/BunnyMetaStorage-DNMTSeoN.js +1 -0
  46. package/dist/packem_shared/BunnyStorage-D3s2fRB3.js +1 -0
  47. package/dist/packem_shared/CloudinaryFile-B5-m33eS.js +1 -0
  48. package/dist/packem_shared/CloudinaryMetaStorage-DEBk5eQy.js +1 -0
  49. package/dist/packem_shared/CloudinaryStorage-BBE2-aVz.js +1 -0
  50. package/dist/packem_shared/DiskStorage-DL0GiG6k.js +1 -0
  51. package/dist/packem_shared/DiskStorageWithChecksum-BvUTn7O-.js +1 -0
  52. package/dist/packem_shared/DropboxFile-BGVG2kXM.js +1 -0
  53. package/dist/packem_shared/DropboxMetaStorage-C6vj1QDA.js +1 -0
  54. package/dist/packem_shared/DropboxStorage-BL3OIdE_.js +1 -0
  55. package/dist/packem_shared/ERRORS-CyOuSMLY.js +1 -0
  56. package/dist/packem_shared/File-BhfUgJjs.js +1 -0
  57. package/dist/packem_shared/Files-CJh9_N-9.js +1 -0
  58. package/dist/packem_shared/FirebaseFile-JEu3plMP.js +1 -0
  59. package/dist/packem_shared/FirebaseMetaStorage-CzyOim-J.js +1 -0
  60. package/dist/packem_shared/FirebaseStorage-lXMXy3Pm.js +2 -0
  61. package/dist/packem_shared/FtpFile-B8jaICTB.js +1 -0
  62. package/dist/packem_shared/FtpMetaStorage-1Njy0DpU.js +1 -0
  63. package/dist/packem_shared/FtpStorage-Dw94efNW.js +1 -0
  64. package/dist/packem_shared/GCSConfig-BQ0OpVhe.js +1 -0
  65. package/dist/packem_shared/GCSFile-CDQ6IWAz.js +1 -0
  66. package/dist/packem_shared/GCSMetaStorage-udgXA5ia.js +1 -0
  67. package/dist/packem_shared/GCStorage-ChY6uJuO.js +1 -0
  68. package/dist/packem_shared/GoogleDriveFile-D0aGfGbL.js +1 -0
  69. package/dist/packem_shared/GoogleDriveMetaStorage-WGuUZPyx.js +1 -0
  70. package/dist/packem_shared/GoogleDriveStorage-C0NhBBWH.js +1 -0
  71. package/dist/packem_shared/LocalMetaStorage-QMKL7McF.js +1 -0
  72. package/dist/packem_shared/MediaTransformer-D-1c9Q_k.js +1 -0
  73. package/dist/packem_shared/MetaStorage-Y4m1dWgd.js +1 -0
  74. package/dist/packem_shared/Metadata-B6Ir0KO7.js +1 -0
  75. package/dist/packem_shared/Multipart-CIFfQksD.js +1 -0
  76. package/dist/packem_shared/Multipart-D9WIud9R.js +1 -0
  77. package/dist/packem_shared/NetlifyBlobFile-PMZLJ8AC.js +1 -0
  78. package/dist/packem_shared/NetlifyBlobMetaStorage-ClIFdTkT.js +1 -0
  79. package/dist/packem_shared/NetlifyBlobStorage-CO89TGvF.js +1 -0
  80. package/dist/packem_shared/NoOpMetrics-Dky06sf1.js +1 -0
  81. package/dist/packem_shared/OneDriveFile-XbVVKIJh.js +1 -0
  82. package/dist/packem_shared/OneDriveMetaStorage-DS4f83X2.js +1 -0
  83. package/dist/packem_shared/OneDriveStorage-jAN46vRm.js +1 -0
  84. package/dist/packem_shared/OpenTelemetryMetrics-9uxQMSlg.js +1 -0
  85. package/dist/packem_shared/PocketBaseFile-CkAiSBb0.js +1 -0
  86. package/dist/packem_shared/PocketBaseMetaStorage-B6utPncj.js +1 -0
  87. package/dist/packem_shared/PocketBaseStorage-DpOjOKAt.js +1 -0
  88. package/dist/packem_shared/Rest-BuD3ySAg.js +1 -0
  89. package/dist/packem_shared/Rest-URrQ5FYM.js +1 -0
  90. package/dist/packem_shared/S3File-BfmCOET4.js +1 -0
  91. package/dist/packem_shared/S3MetaStorage-vcriiosn.js +1 -0
  92. package/dist/packem_shared/S3Storage-n1ohEZj4.js +1 -0
  93. package/dist/packem_shared/SftpFile-CQCxZNVq.js +1 -0
  94. package/dist/packem_shared/SftpMetaStorage-DYqXwCdM.js +1 -0
  95. package/dist/packem_shared/SftpStorage-Ban-WN8v.js +1 -0
  96. package/dist/packem_shared/SharePointFile-BA6X9Sxr.js +1 -0
  97. package/dist/packem_shared/SharePointMetaStorage-DVM5-X6g.js +1 -0
  98. package/dist/packem_shared/SharePointStorage-BY90zh1c.js +1 -0
  99. package/dist/packem_shared/SupabaseFile-DZ1iv9gM.js +1 -0
  100. package/dist/packem_shared/SupabaseMetaStorage-ivXoYVUu.js +1 -0
  101. package/dist/packem_shared/SupabaseStorage-pNbHAE1Y.js +1 -0
  102. package/dist/packem_shared/TUS_RESUMABLE-B7KtPVeC.js +1 -0
  103. package/dist/packem_shared/Tus-Fp_hx5ug.js +1 -0
  104. package/dist/packem_shared/Tus-TNG9HAY8.js +1 -0
  105. package/dist/packem_shared/UploadThingFile-BpG9mE8K.js +1 -0
  106. package/dist/packem_shared/UploadThingMetaStorage-BvKNzgm7.js +1 -0
  107. package/dist/packem_shared/UploadThingStorage-BcmIE2dI.js +1 -0
  108. package/dist/packem_shared/ValidationError-D8KKJiKA.js +1 -0
  109. package/dist/packem_shared/VercelBlobFile-Cni_1qwD.js +1 -0
  110. package/dist/packem_shared/VercelBlobMetaStorage-CwaqWucZ.js +1 -0
  111. package/dist/packem_shared/VercelBlobStorage-s260zfFo.js +1 -0
  112. package/dist/packem_shared/_commonjsHelpers-D6W6KoPK.js +1 -0
  113. package/dist/packem_shared/agentsListFiles-R-CnGKc4.js +1 -0
  114. package/dist/packem_shared/akamai-BYS9pP8S.js +1 -0
  115. package/dist/packem_shared/alibaba-BJQ6ijoK.js +1 -0
  116. package/dist/packem_shared/approval-BBeX3o4E.js +1 -0
  117. package/dist/packem_shared/approval.d-CMAYH9GF.d.ts +75 -0
  118. package/dist/packem_shared/aws-light-meta-storage-CstQBYXG.js +4 -0
  119. package/dist/packem_shared/azure-meta-storage-C4SrMtT2.js +1 -0
  120. package/dist/packem_shared/backblaze-CvdtCvJL.js +1 -0
  121. package/dist/packem_shared/base-handler-core-BYDQditz.js +1 -0
  122. package/dist/packem_shared/base-handler-fetch-DWzsPkmV.js +1 -0
  123. package/dist/packem_shared/base-handler-node-Dety2rQB.js +1 -0
  124. package/dist/packem_shared/cache-qV_5Umeq.js +1 -0
  125. package/dist/packem_shared/claudeListFiles-DAezbKEi.js +1 -0
  126. package/dist/packem_shared/cloudflare-Bm_Pg6yx.js +1 -0
  127. package/dist/packem_shared/createResponsesFileTools-BCep-qdO.js +1 -0
  128. package/dist/packem_shared/defaultCloudStorageFileNameValidation-shIZX_7L.js +1 -0
  129. package/dist/packem_shared/detect-file-type-5JhzC9RU.js +1 -0
  130. package/dist/packem_shared/digitalOcean-Lj1NfDzc.js +1 -0
  131. package/dist/packem_shared/disk-storage-CKAJvhcj.js +1 -0
  132. package/dist/packem_shared/disk-storage-with-checksum.d-mHcg2uLw.d.ts +150 -0
  133. package/dist/packem_shared/executors-DG6hGtvm.js +1 -0
  134. package/dist/packem_shared/executors.d-X4hz3zfu.d.ts +65 -0
  135. package/dist/packem_shared/exoscale-O0HzxoDz.js +1 -0
  136. package/dist/packem_shared/filebase-D-urO4Ob.js +1 -0
  137. package/dist/packem_shared/gcs-meta-storage-mZiqlX-9.js +1 -0
  138. package/dist/packem_shared/has-content-Bx2p8Okx.js +1 -0
  139. package/dist/packem_shared/headers-DC2MEOrK.js +27 -0
  140. package/dist/packem_shared/hetzner-DDxE7Gy7.js +1 -0
  141. package/dist/packem_shared/ibmCos-Rx_yku4H.js +1 -0
  142. package/dist/packem_shared/idriveE2-BFhw0Vwy.js +1 -0
  143. package/dist/packem_shared/index-B4ETk0Lu.js +5 -0
  144. package/dist/packem_shared/index.d-C4Fivh4I.d.ts +94 -0
  145. package/dist/packem_shared/is-expired-1JuZjDtb.js +1 -0
  146. package/dist/packem_shared/isRetryableError-BhizNeAz.js +1 -0
  147. package/dist/packem_shared/isValidMediaType-B-2UKjZx.js +1 -0
  148. package/dist/packem_shared/listFiles-B6VF05d-.js +1 -0
  149. package/dist/packem_shared/listFiles-BtP6VnUp.js +1 -0
  150. package/dist/packem_shared/local-meta-storage-Bi0mK6gD.js +1 -0
  151. package/dist/packem_shared/local-meta-storage.d-B11vHYNm.d.ts +21 -0
  152. package/dist/packem_shared/media-transformer.d-C3QvECD7.d.ts +331 -0
  153. package/dist/packem_shared/minio-T_Z3iEy7.js +1 -0
  154. package/dist/packem_shared/multipart-base-BxckfvQf.js +1 -0
  155. package/dist/packem_shared/oauth-refresh-Dg2ybc6_.js +1 -0
  156. package/dist/packem_shared/oracleCloud-D5T9s4JV.js +1 -0
  157. package/dist/packem_shared/ovhCloud-DCwef2fe.js +1 -0
  158. package/dist/packem_shared/part-match-B5fLLmFw.js +1 -0
  159. package/dist/packem_shared/path-D7rMc9nq-B718mbm6.js +1 -0
  160. package/dist/packem_shared/posix-dirname-CiHXPPnw.js +1 -0
  161. package/dist/packem_shared/response-builder-Wdo_fvcF.js +1 -0
  162. package/dist/packem_shared/rest-base-DI7xFXr5.js +1 -0
  163. package/dist/packem_shared/restOpenApiSpec-PaIVbESh.js +1 -0
  164. package/dist/packem_shared/s3-base-storage-Dbexfg7p.js +1 -0
  165. package/dist/packem_shared/s3-base-storage.d-V3N2nKCt.d.ts +260 -0
  166. package/dist/packem_shared/scaleway-ygRXOss9.js +1 -0
  167. package/dist/packem_shared/sharedGet-Ce7WGAsc.js +1 -0
  168. package/dist/packem_shared/storage-Dh0tJh7j.js +1 -0
  169. package/dist/packem_shared/storage.d-RteRC-cG.d.ts +1106 -0
  170. package/dist/packem_shared/storj-CVA9mM-7.js +1 -0
  171. package/dist/packem_shared/tencent-CAcAGaIW.js +1 -0
  172. package/dist/packem_shared/tigris-wmhjfsH2.js +1 -0
  173. package/dist/packem_shared/transformOpenApiSpec-C0vEbDTO.js +1 -0
  174. package/dist/packem_shared/tus-base.d-CygntIPM.d.ts +99 -0
  175. package/dist/packem_shared/tusOpenApiSpec-DF0-hlWV.js +1 -0
  176. package/dist/packem_shared/types.d-ChNXbbHG.d.ts +104 -0
  177. package/dist/packem_shared/types.d-DxonY4XS.d.ts +720 -0
  178. package/dist/packem_shared/types.d-cI_cMxcZ.d.ts +49 -0
  179. package/dist/packem_shared/update-size-DANV7aa2.js +1 -0
  180. package/dist/packem_shared/vultr-lK9L-sFk.js +1 -0
  181. package/dist/packem_shared/waitForStorage-ChSBLhLc.js +1 -0
  182. package/dist/packem_shared/wasabi-JQzxdrFy.js +1 -0
  183. package/dist/packem_shared/xhrOpenApiSpec-nyoboz83.js +1 -0
  184. package/dist/packem_shared/yandex-ZwvE77v4.js +1 -0
  185. package/dist/storage/aws/clients/index.d.ts +612 -6
  186. package/dist/storage/aws/clients/index.js +1 -6
  187. package/dist/storage/aws/index.d.ts +321 -4
  188. package/dist/storage/aws/index.js +1 -3
  189. package/dist/storage/aws-light/index.d.ts +254 -4
  190. package/dist/storage/aws-light/index.js +1 -3
  191. package/dist/storage/azure/index.d.ts +217 -4
  192. package/dist/storage/azure/index.js +1 -3
  193. package/dist/storage/box/index.d.ts +189 -0
  194. package/dist/storage/box/index.js +1 -0
  195. package/dist/storage/bun-s3/index.d.ts +200 -0
  196. package/dist/storage/bun-s3/index.js +1 -0
  197. package/dist/storage/bunny/index.d.ts +119 -0
  198. package/dist/storage/bunny/index.js +1 -0
  199. package/dist/storage/cloudinary/index.d.ts +121 -0
  200. package/dist/storage/cloudinary/index.js +1 -0
  201. package/dist/storage/dropbox/index.d.ts +132 -0
  202. package/dist/storage/dropbox/index.js +1 -0
  203. package/dist/storage/firebase/index.d.ts +192 -0
  204. package/dist/storage/firebase/index.js +1 -0
  205. package/dist/storage/ftp/index.d.ts +85 -0
  206. package/dist/storage/ftp/index.js +1 -0
  207. package/dist/storage/gcs/index.d.ts +181 -5
  208. package/dist/storage/gcs/index.js +1 -4
  209. package/dist/storage/google-drive/index.d.ts +148 -0
  210. package/dist/storage/google-drive/index.js +1 -0
  211. package/dist/storage/local/index.d.ts +7 -4
  212. package/dist/storage/local/index.js +1 -3
  213. package/dist/storage/netlify-blob/index.d.ts +147 -4
  214. package/dist/storage/netlify-blob/index.js +1 -3
  215. package/dist/storage/onedrive/index.d.ts +103 -0
  216. package/dist/storage/onedrive/index.js +1 -0
  217. package/dist/storage/pocketbase/index.d.ts +172 -0
  218. package/dist/storage/pocketbase/index.js +1 -0
  219. package/dist/storage/sftp/index.d.ts +86 -0
  220. package/dist/storage/sftp/index.js +1 -0
  221. package/dist/storage/sharepoint/index.d.ts +180 -0
  222. package/dist/storage/sharepoint/index.js +1 -0
  223. package/dist/storage/supabase/index.d.ts +115 -0
  224. package/dist/storage/supabase/index.js +1 -0
  225. package/dist/storage/uploadthing/index.d.ts +95 -0
  226. package/dist/storage/uploadthing/index.js +1 -0
  227. package/dist/storage/vercel-blob/index.d.ts +189 -4
  228. package/dist/storage/vercel-blob/index.js +1 -3
  229. package/dist/transformer/audio-transformer.d.ts +127 -125
  230. package/dist/transformer/audio-transformer.js +1 -278
  231. package/dist/transformer/image-transformer.d.ts +573 -568
  232. package/dist/transformer/image-transformer.js +1 -1100
  233. package/dist/transformer/index.d.ts +62 -5
  234. package/dist/transformer/index.js +1 -4
  235. package/dist/transformer/video-transformer.d.ts +144 -142
  236. package/dist/transformer/video-transformer.js +1 -310
  237. package/package.json +195 -47
  238. package/dist/handler/base/base-handler-core.d.ts +0 -91
  239. package/dist/handler/base/base-handler-fetch.d.ts +0 -76
  240. package/dist/handler/base/base-handler-node.d.ts +0 -137
  241. package/dist/handler/multipart/multipart-base.d.ts +0 -84
  242. package/dist/handler/multipart/multipart-fetch.d.ts +0 -64
  243. package/dist/handler/multipart/multipart.d.ts +0 -49
  244. package/dist/handler/rest/rest-base.d.ts +0 -106
  245. package/dist/handler/rest/rest-fetch.d.ts +0 -88
  246. package/dist/handler/rest/rest.d.ts +0 -93
  247. package/dist/handler/tus/tus-base.d.ts +0 -152
  248. package/dist/handler/tus/tus-fetch.d.ts +0 -72
  249. package/dist/handler/tus/tus.d.ts +0 -78
  250. package/dist/handler/types.d.ts +0 -53
  251. package/dist/handler/utils/request-parser.d.ts +0 -72
  252. package/dist/handler/utils/response-builder.d.ts +0 -83
  253. package/dist/handler/utils/storage-utils.d.ts +0 -10
  254. package/dist/handler/utils/stream-utils.d.ts +0 -29
  255. package/dist/handler/utils/upload-handlers.d.ts +0 -76
  256. package/dist/metrics/index.d.ts +0 -2
  257. package/dist/metrics/no-op-metrics.d.ts +0 -15
  258. package/dist/metrics/opentelemetry-metrics.d.ts +0 -55
  259. package/dist/openapi/rest.d.ts +0 -7
  260. package/dist/openapi/shared.d.ts +0 -13
  261. package/dist/openapi/transform.d.ts +0 -3
  262. package/dist/openapi/tus.d.ts +0 -7
  263. package/dist/openapi/xhr.d.ts +0 -7
  264. package/dist/packem_shared/AwsLightFile-tTneXZgG.js +0 -11
  265. package/dist/packem_shared/AwsLightMetaStorage-BWSOtVaN.js +0 -4
  266. package/dist/packem_shared/AwsLightStorage-Blv-GP4v.js +0 -133
  267. package/dist/packem_shared/AzureFile-CesgFzps.js +0 -8
  268. package/dist/packem_shared/AzureSMetaStorage-CFs-OYJT.js +0 -88
  269. package/dist/packem_shared/AzureStorage-B0v048hG.js +0 -357
  270. package/dist/packem_shared/BaseTransformer-C2gLib6v.js +0 -82
  271. package/dist/packem_shared/DiskStorage-BlltBst6.js +0 -12
  272. package/dist/packem_shared/DiskStorageWithChecksum-BJTmMklc.js +0 -238
  273. package/dist/packem_shared/ERRORS-D0apMqnc.js +0 -97
  274. package/dist/packem_shared/File-Bb3P23dr.js +0 -69
  275. package/dist/packem_shared/GCSConfig-vPP22kN6.js +0 -11
  276. package/dist/packem_shared/GCSFile-BIEunhAN.js +0 -8
  277. package/dist/packem_shared/GCSMetaStorage-BMFEdzJ7.js +0 -7
  278. package/dist/packem_shared/GCStorage-DnhiwaS9.js +0 -406
  279. package/dist/packem_shared/LocalMetaStorage-CZHhKkMd.js +0 -7
  280. package/dist/packem_shared/MediaTransformer-D6658DL1.js +0 -1197
  281. package/dist/packem_shared/MetaStorage-pECeFOad.js +0 -46
  282. package/dist/packem_shared/Metadata-DRLXeJ0F.js +0 -89
  283. package/dist/packem_shared/Multipart-CNFK_Okz.js +0 -163
  284. package/dist/packem_shared/Multipart-CtUL7BQw.js +0 -128
  285. package/dist/packem_shared/NetlifyBlobFile-CXzyjqrD.js +0 -14
  286. package/dist/packem_shared/NetlifyBlobMetaStorage-DxZ5aDvD.js +0 -9
  287. package/dist/packem_shared/NetlifyBlobStorage-CLPtjHqd.js +0 -376
  288. package/dist/packem_shared/NoOpMetrics-DhAk5rXc.js +0 -10
  289. package/dist/packem_shared/OpenTelemetryMetrics-BnxhqIaH.js +0 -67
  290. package/dist/packem_shared/Rest-CAOAEkOj.js +0 -267
  291. package/dist/packem_shared/Rest-DNuLwBrK.js +0 -228
  292. package/dist/packem_shared/S3File-DZiyk9Qt.js +0 -11
  293. package/dist/packem_shared/S3MetaStorage-Dz9aDabA.js +0 -76
  294. package/dist/packem_shared/S3Storage-DHmTk-hU.js +0 -316
  295. package/dist/packem_shared/TUS_RESUMABLE-GJzZ9R-f.js +0 -434
  296. package/dist/packem_shared/Tus-B8PmlMgR.js +0 -200
  297. package/dist/packem_shared/Tus-C4F1aYOl.js +0 -195
  298. package/dist/packem_shared/ValidationError-BfF1aE4h.js +0 -26
  299. package/dist/packem_shared/VercelBlobFile-BCg4aTEq.js +0 -18
  300. package/dist/packem_shared/VercelBlobMetaStorage-Bd9F-VFm.js +0 -9
  301. package/dist/packem_shared/VercelBlobStorage-DD9LMOS6.js +0 -261
  302. package/dist/packem_shared/_commonjsHelpers-B85MJLTf.js +0 -5
  303. package/dist/packem_shared/aws-light-meta-storage-DKJBgbR6.js +0 -446
  304. package/dist/packem_shared/backblaze-BlMnIcBC.js +0 -20
  305. package/dist/packem_shared/base-handler-core-BKuf4YLT.js +0 -303
  306. package/dist/packem_shared/base-handler-fetch-Cr0hLiqg.js +0 -291
  307. package/dist/packem_shared/base-handler-node-gk5aN9Cx.js +0 -730
  308. package/dist/packem_shared/cache-B88MXQ_2.js +0 -18
  309. package/dist/packem_shared/cloudflare-Bi1q8wXE.js +0 -21
  310. package/dist/packem_shared/defaultCloudStorageFileNameValidation-DUuacjWv.js +0 -11
  311. package/dist/packem_shared/digitalOcean-CWQRJM3L.js +0 -21
  312. package/dist/packem_shared/disk-storage-Bh2wy3YW.js +0 -810
  313. package/dist/packem_shared/gcs-meta-storage-0tgMNnPO.js +0 -158
  314. package/dist/packem_shared/has-content-CY66ehMK.js +0 -3
  315. package/dist/packem_shared/headers-DoS5nwM-.js +0 -3220
  316. package/dist/packem_shared/is-expired-CTThU1q5.js +0 -8
  317. package/dist/packem_shared/isRetryableError-Dycp7127.js +0 -82
  318. package/dist/packem_shared/isValidMediaType-BeDgiObq.js +0 -35
  319. package/dist/packem_shared/local-meta-storage-By-3SNBI.js +0 -649
  320. package/dist/packem_shared/minio-C2YBZQOw.js +0 -22
  321. package/dist/packem_shared/multipart-base-B3i67SSX.js +0 -102
  322. package/dist/packem_shared/part-match-BMNqHDYD.js +0 -96
  323. package/dist/packem_shared/path-CR6YkPXX-7R1-9CMk.js +0 -161
  324. package/dist/packem_shared/response-builder-BtnRiBUI.js +0 -45
  325. package/dist/packem_shared/rest-base-GRCcnan7.js +0 -457
  326. package/dist/packem_shared/restOpenApiSpec-CwcHHY2C.js +0 -800
  327. package/dist/packem_shared/s3-base-storage-C1DIHTYY.js +0 -510
  328. package/dist/packem_shared/sharedGet-Cpo7QUyu.js +0 -1019
  329. package/dist/packem_shared/storage-C6NSXb8h.js +0 -1175
  330. package/dist/packem_shared/tigris-Hac8TKnX.js +0 -21
  331. package/dist/packem_shared/transformOpenApiSpec-DWM5WtnN.js +0 -975
  332. package/dist/packem_shared/tusOpenApiSpec-6ohiToBy.js +0 -740
  333. package/dist/packem_shared/update-size-CCGm6i1J.js +0 -8
  334. package/dist/packem_shared/validator-BeX_lJet.js +0 -78
  335. package/dist/packem_shared/waitForStorage-Cscw85sx.js +0 -18
  336. package/dist/packem_shared/wasabi-DIyflHSd.js +0 -21
  337. package/dist/packem_shared/xhrOpenApiSpec-DS17brnx.js +0 -264
  338. package/dist/storage/aws/clients/backblaze.d.ts +0 -12
  339. package/dist/storage/aws/clients/cloudflare.d.ts +0 -13
  340. package/dist/storage/aws/clients/digital-ocean.d.ts +0 -12
  341. package/dist/storage/aws/clients/minio.d.ts +0 -13
  342. package/dist/storage/aws/clients/tigris.d.ts +0 -12
  343. package/dist/storage/aws/clients/types.d.ts +0 -95
  344. package/dist/storage/aws/clients/wasabi.d.ts +0 -12
  345. package/dist/storage/aws/s3-base-storage.d.ts +0 -248
  346. package/dist/storage/aws/s3-client-adapter.d.ts +0 -110
  347. package/dist/storage/aws/s3-file.d.ts +0 -10
  348. package/dist/storage/aws/s3-meta-storage.d.ts +0 -15
  349. package/dist/storage/aws/s3-storage.d.ts +0 -70
  350. package/dist/storage/aws/types.d.ts +0 -119
  351. package/dist/storage/aws-light/aws-light-api-adapter.d.ts +0 -130
  352. package/dist/storage/aws-light/aws-light-file.d.ts +0 -10
  353. package/dist/storage/aws-light/aws-light-meta-storage.d.ts +0 -19
  354. package/dist/storage/aws-light/aws-light-storage.d.ts +0 -65
  355. package/dist/storage/aws-light/types.d.ts +0 -37
  356. package/dist/storage/azure/azure-file.d.ts +0 -6
  357. package/dist/storage/azure/azure-meta-storage.d.ts +0 -15
  358. package/dist/storage/azure/azure-storage.d.ts +0 -69
  359. package/dist/storage/azure/types.d.ts +0 -62
  360. package/dist/storage/gcs/fetch-error.d.ts +0 -11
  361. package/dist/storage/gcs/gcs-config.d.ts +0 -2
  362. package/dist/storage/gcs/gcs-file.d.ts +0 -6
  363. package/dist/storage/gcs/gcs-meta-storage.d.ts +0 -27
  364. package/dist/storage/gcs/gcs-storage.d.ts +0 -91
  365. package/dist/storage/gcs/types.d.ts +0 -55
  366. package/dist/storage/gcs/utils.d.ts +0 -7
  367. package/dist/storage/local/disk-storage-with-checksum.d.ts +0 -15
  368. package/dist/storage/local/disk-storage.d.ts +0 -135
  369. package/dist/storage/local/local-meta-storage.d.ts +0 -32
  370. package/dist/storage/meta-storage.d.ts +0 -30
  371. package/dist/storage/netlify-blob/netlify-blob-file.d.ts +0 -12
  372. package/dist/storage/netlify-blob/netlify-blob-meta-storage.d.ts +0 -7
  373. package/dist/storage/netlify-blob/netlify-blob-storage.d.ts +0 -93
  374. package/dist/storage/netlify-blob/types.d.ts +0 -30
  375. package/dist/storage/storage.d.ts +0 -353
  376. package/dist/storage/types.d.ts +0 -221
  377. package/dist/storage/utils/file/file.d.ts +0 -25
  378. package/dist/storage/utils/file/get-file-status.d.ts +0 -9
  379. package/dist/storage/utils/file/has-content.d.ts +0 -9
  380. package/dist/storage/utils/file/index.d.ts +0 -10
  381. package/dist/storage/utils/file/is-expired.d.ts +0 -8
  382. package/dist/storage/utils/file/metadata.d.ts +0 -18
  383. package/dist/storage/utils/file/part-match.d.ts +0 -11
  384. package/dist/storage/utils/file/types.d.ts +0 -37
  385. package/dist/storage/utils/file/update-metadata.d.ts +0 -10
  386. package/dist/storage/utils/file/update-size.d.ts +0 -10
  387. package/dist/storage/vercel-blob/types.d.ts +0 -32
  388. package/dist/storage/vercel-blob/vercel-blob-file.d.ts +0 -16
  389. package/dist/storage/vercel-blob/vercel-blob-meta-storage.d.ts +0 -7
  390. package/dist/storage/vercel-blob/vercel-blob-storage.d.ts +0 -76
  391. package/dist/transformer/base-transformer.d.ts +0 -63
  392. package/dist/transformer/media-transformer.d.ts +0 -332
  393. package/dist/transformer/types.d.ts +0 -652
  394. package/dist/transformer/utils.d.ts +0 -33
  395. package/dist/transformer/validation-error.d.ts +0 -23
  396. package/dist/utils/cache.d.ts +0 -32
  397. package/dist/utils/chunked-upload.d.ts +0 -65
  398. package/dist/utils/detect-file-type.d.ts +0 -28
  399. package/dist/utils/errors.d.ts +0 -74
  400. package/dist/utils/file-path-url-matcher.d.ts +0 -18
  401. package/dist/utils/headers.d.ts +0 -111
  402. package/dist/utils/http.d.ts +0 -92
  403. package/dist/utils/locker.d.ts +0 -26
  404. package/dist/utils/pipes/stream-checksum.d.ts +0 -47
  405. package/dist/utils/pipes/stream-length.d.ts +0 -22
  406. package/dist/utils/primitives/get-last-one.d.ts +0 -3
  407. package/dist/utils/primitives/is-record.d.ts +0 -2
  408. package/dist/utils/primitives/map-values.d.ts +0 -9
  409. package/dist/utils/primitives/pick.d.ts +0 -2
  410. package/dist/utils/primitives/to-milliseconds.d.ts +0 -12
  411. package/dist/utils/primitives/to-seconds.d.ts +0 -12
  412. package/dist/utils/range-checksum.d.ts +0 -33
  413. package/dist/utils/range-hasher.d.ts +0 -46
  414. package/dist/utils/retry.d.ts +0 -64
  415. package/dist/utils/types.d.ts +0 -108
  416. package/dist/utils/validation-error.d.ts +0 -22
  417. package/dist/utils/validator.d.ts +0 -36
@@ -1,4 +1,321 @@
1
- export { default as S3File } from "./s3-file.d.ts";
2
- export { default as S3MetaStorage } from "./s3-meta-storage.d.ts";
3
- export { default as S3Storage } from "./s3-storage.d.ts";
4
- export type { AwsError, AWSErrorV2, S3MetaStorageOptions, S3StorageOptions } from "./types.d.ts";
1
+ import { F as File, t as MetaStorageOptions, i as BaseStorageOptions, L as LocalMetaStorageOptions, M as MetaStorage, H as HttpError, g as FileQuery, O as OperationOptions, e as FileInit } from "../../packem_shared/storage.d-RteRC-cG.js";
2
+ import { Readable } from 'node:stream';
3
+ import { P as Part, S as S3CallOptions, a as S3ApiOperations, b as S3BaseStorage } from "../../packem_shared/s3-base-storage.d-V3N2nKCt.js";
4
+ import { S3ClientConfig, ObjectCannedACL, S3Client } from '@aws-sdk/client-s3';
5
+ import { ResponseMetadata } from '@aws-sdk/types';
6
+ import 'node:crypto';
7
+ import 'node:http';
8
+ import 'lru-cache';
9
+ declare class S3File extends File {
10
+ Parts?: Part[];
11
+ UploadId?: string;
12
+ uri?: string;
13
+ partsUrls?: string[];
14
+ partSize?: number;
15
+ }
16
+ type S3MetaStorageOptions = MetaStorageOptions & S3ClientConfig & {
17
+ bucket?: string;
18
+ keyFile?: string;
19
+ };
20
+ type S3StorageOptions = BaseStorageOptions & S3ClientConfig & {
21
+ /**
22
+ * Specifying access rules for uploaded files.
23
+ */
24
+ acl?: ObjectCannedACL;
25
+ /**
26
+ * S3 bucket name.
27
+ * @default 'node-Upload'
28
+ */
29
+ bucket?: string;
30
+ /**
31
+ * Force compatible client upload directly to S3 storage
32
+ */
33
+ clientDirectUpload?: boolean;
34
+ /**
35
+ * @deprecated Use standard auth providers
36
+ */
37
+ keyFile?: string;
38
+ /**
39
+ * Configure metafiles storage
40
+ * @example
41
+ * Using local metafiles
42
+ * ```ts
43
+ * const storage = new S3Storage({
44
+ * bucket: 'upload',
45
+ * region: 'eu-west-3',
46
+ * metaStorageConfig: { directory: '/tmp/upload-metafiles' }
47
+ * })
48
+ * ```
49
+ * Using a separate bucket for metafiles
50
+ * ```ts
51
+ * const storage = new S3Storage({
52
+ * bucket: 'upload',
53
+ * region: 'eu-west-3',
54
+ * metaStorageConfig: { bucket: 'upload-metafiles' }
55
+ * })
56
+ * ```
57
+ */
58
+ metaStorageConfig?: LocalMetaStorageOptions | S3MetaStorageOptions;
59
+ /**
60
+ * The parts size that the client should use for presigned multipart unloading.
61
+ * @default '16MB'
62
+ */
63
+ partSize?: number | string;
64
+ };
65
+ /**
66
+ * SDK V3
67
+ * A structure containing information about a service or networking error.
68
+ */
69
+ interface AwsError extends Error {
70
+ $fault?: "client" | "server";
71
+ $metadata: ResponseMetadata;
72
+ $service?: string;
73
+ Code?: string;
74
+ Type?: string;
75
+ }
76
+ /**
77
+ * SDK V2
78
+ * A structure containing information about a service or networking error.
79
+ */
80
+ interface AWSErrorV2 extends Error {
81
+ /**
82
+ * CloudFront request ID associated with the response.
83
+ */
84
+ cfId: string;
85
+ /**
86
+ * A unique short code representing the error that was emitted.
87
+ */
88
+ code: string;
89
+ /**
90
+ * Second request ID associated with the response from S3.
91
+ */
92
+ extendedRequestId: string;
93
+ /**
94
+ * Set when a networking error occurs to easily identify the endpoint of the request.
95
+ */
96
+ hostname: string;
97
+ /**
98
+ * A longer human readable error message.
99
+ */
100
+ message: string;
101
+ /**
102
+ * Set when a networking error occurs to easily identify the region of the request.
103
+ */
104
+ region: string;
105
+ /**
106
+ * The unique request ID associated with the response.
107
+ */
108
+ requestId: string;
109
+ /**
110
+ * Whether the error message is retryable.
111
+ */
112
+ retryable: boolean;
113
+ /**
114
+ * Amount of time (in seconds) that the request waited before being resent.
115
+ */
116
+ retryDelay: number;
117
+ /**
118
+ * In the case of a request that reached the service, this value contains the response status code.
119
+ */
120
+ statusCode: number;
121
+ /**
122
+ * The date time object when the error occurred.
123
+ */
124
+ time: Date;
125
+ }
126
+ declare class S3MetaStorage<T extends File = File> extends MetaStorage<T> {
127
+ config: S3MetaStorageOptions;
128
+ private readonly bucket;
129
+ private readonly client;
130
+ constructor(config: S3MetaStorageOptions);
131
+ override get(id: string): Promise<T>;
132
+ override touch(id: string, file: T): Promise<T>;
133
+ override delete(id: string): Promise<void>;
134
+ override save(id: string, file: T): Promise<T>;
135
+ private accessCheck;
136
+ }
137
+ type ReadableStream = globalThis.ReadableStream;
138
+ /**
139
+ * Adapter that wraps AWS SDK S3Client to implement S3ApiOperations interface.
140
+ */
141
+ declare class S3ClientAdapter implements S3ApiOperations {
142
+ private readonly client;
143
+ constructor(client: S3Client, _bucket: string);
144
+ createMultipartUpload(params: {
145
+ ACL?: string;
146
+ Bucket: string;
147
+ ContentType?: string;
148
+ Key: string;
149
+ Metadata?: Record<string, string>;
150
+ }, options?: S3CallOptions): Promise<{
151
+ UploadId: string;
152
+ }>;
153
+ uploadPart(params: {
154
+ Body: Readable | ReadableStream | Uint8Array;
155
+ Bucket: string;
156
+ ContentLength?: number;
157
+ ContentMD5?: string;
158
+ Key: string;
159
+ PartNumber: number;
160
+ UploadId: string;
161
+ }, options?: S3CallOptions): Promise<{
162
+ ETag: string;
163
+ }>;
164
+ completeMultipartUpload(params: {
165
+ Bucket: string;
166
+ Key: string;
167
+ Parts: {
168
+ ETag: string;
169
+ PartNumber: number;
170
+ }[];
171
+ UploadId: string;
172
+ }, options?: S3CallOptions): Promise<{
173
+ ETag?: string;
174
+ Location: string;
175
+ }>;
176
+ abortMultipartUpload(params: {
177
+ Bucket: string;
178
+ Key: string;
179
+ UploadId: string;
180
+ }, options?: S3CallOptions): Promise<void>;
181
+ listParts(params: {
182
+ Bucket: string;
183
+ Key: string;
184
+ UploadId: string;
185
+ }, options?: S3CallOptions): Promise<{
186
+ Parts?: Part[];
187
+ }>;
188
+ getObject(params: {
189
+ Bucket: string;
190
+ Key: string;
191
+ }, options?: S3CallOptions): Promise<{
192
+ Body?: ReadableStream | Readable;
193
+ ContentLength?: number;
194
+ ContentType?: string;
195
+ ETag?: string;
196
+ Expires?: Date;
197
+ LastModified?: Date;
198
+ Metadata?: Record<string, string>;
199
+ }>;
200
+ headObject(params: {
201
+ Bucket: string;
202
+ Key: string;
203
+ }, options?: S3CallOptions): Promise<{
204
+ ContentLength?: number;
205
+ ContentType?: string;
206
+ ETag?: string;
207
+ Expires?: Date;
208
+ LastModified?: Date;
209
+ }>;
210
+ deleteObject(params: {
211
+ Bucket: string;
212
+ Key: string;
213
+ }, options?: S3CallOptions): Promise<void>;
214
+ copyObject(params: {
215
+ Bucket: string;
216
+ CopySource: string;
217
+ Key: string;
218
+ StorageClass?: string;
219
+ }, options?: S3CallOptions): Promise<void>;
220
+ listObjectsV2(params: {
221
+ Bucket: string;
222
+ ContinuationToken?: string;
223
+ MaxKeys?: number;
224
+ }, options?: S3CallOptions): Promise<{
225
+ Contents?: {
226
+ Key?: string;
227
+ LastModified?: Date;
228
+ }[];
229
+ IsTruncated?: boolean;
230
+ NextContinuationToken?: string;
231
+ }>;
232
+ getPresignedUrl(params: {
233
+ Bucket: string;
234
+ expiresIn: number;
235
+ Key: string;
236
+ PartNumber: number;
237
+ UploadId: string;
238
+ }): Promise<string>;
239
+ checkBucketAccess(params: {
240
+ Bucket: string;
241
+ }): Promise<void>;
242
+ }
243
+ /**
244
+ * Amazon S3 storage implementation.
245
+ * @example
246
+ * ```ts
247
+ * const storage = new S3Storage({
248
+ * bucket: <YOUR_BUCKET>,
249
+ * endpoint: <YOUR_ENDPOINT>,
250
+ * region: <YOUR_REGION>,
251
+ * credentials: {
252
+ * accessKeyId: <YOUR_ACCESS_KEY_ID>,
253
+ * secretAccessKey: <YOUR_SECRET_ACCESS_KEY>
254
+ * },
255
+ * metaStorageConfig: { directory: '/tmp/upload-metafiles' }
256
+ * });
257
+ * ```
258
+ * @remarks
259
+ * ## Error Handling
260
+ * - S3 API errors are normalized with AWS-specific context
261
+ * - Errors include S3 error codes and metadata for debugging
262
+ * - Batch operations handle individual failures gracefully
263
+ *
264
+ * ## Retry Behavior
265
+ * - All S3 API calls are wrapped with configurable retry logic via `retryConfig` option
266
+ * - Default retryable status codes: 408 (Request Timeout), 429 (Too Many Requests),
267
+ * 500 (Internal Server Error), 502 (Bad Gateway), 503 (Service Unavailable), 504 (Gateway Timeout)
268
+ * - Retries server-side faults ($fault === "server") automatically
269
+ * - Custom `shouldRetry` function can be provided for advanced retry logic
270
+ * - Default retry configuration: maxRetries: 3, initialDelay: 1000ms, maxDelay: 30000ms, backoffMultiplier: 2 (exponential backoff)
271
+ * - Retry wrapper handles transient network errors and rate limiting
272
+ *
273
+ * ## Multipart Uploads
274
+ * - Large files are automatically split into multipart uploads
275
+ * - Maximum 10,000 parts per upload (S3 limitation)
276
+ * - Part size is configurable (default: 16MB, minimum: 5MB)
277
+ * - Failed multipart uploads are automatically aborted
278
+ *
279
+ * ## Supported Operations
280
+ * - ✅ create, write, delete, get, getStream, list, update, copy, move
281
+ * - ✅ Batch operations: deleteBatch, copyBatch, moveBatch (inherited from BaseStorage)
282
+ * - ✅ exists: Implemented (checks metadata and S3 object)
283
+ * - ❌ getUrl: Not implemented (presigned URLs available via buildPresigned for clientDirectUpload)
284
+ * - ❌ getUploadUrl: Not implemented (presigned URLs available via buildPresigned for clientDirectUpload)
285
+ */
286
+ declare class S3Storage extends S3BaseStorage {
287
+ static override readonly name: string;
288
+ private s3Api;
289
+ private rawClient;
290
+ constructor(config: S3StorageOptions);
291
+ /**
292
+ * Normalizes AWS S3 errors with S3-specific context.
293
+ */
294
+ override normalizeError(error: AwsError): HttpError;
295
+ override update({
296
+ id
297
+ }: FileQuery, metadata: Partial<S3File>): Promise<S3File>;
298
+ override getStream({
299
+ id
300
+ }: FileQuery, options?: OperationOptions): Promise<{
301
+ headers?: Record<string, string>;
302
+ size?: number;
303
+ stream: Readable;
304
+ }>;
305
+ override get raw(): S3Client;
306
+ override getReadUrl(key: string, options?: {
307
+ expiresIn?: number;
308
+ responseContentDisposition?: string;
309
+ responseContentType?: string;
310
+ }): Promise<string>;
311
+ override getUploadUrl(key: string, options?: {
312
+ contentLength?: number;
313
+ contentType?: string;
314
+ expiresIn?: number;
315
+ }): Promise<string>;
316
+ protected getS3Api(): S3ClientAdapter;
317
+ protected getFileClass(): new (config: FileInit) => S3File;
318
+ protected getAcl(): string | undefined;
319
+ protected accessCheck(_maxWaitTime?: number): Promise<void>;
320
+ }
321
+ export { type AWSErrorV2, type AwsError, S3File, S3MetaStorage, type S3MetaStorageOptions, S3Storage, type S3StorageOptions };
@@ -1,3 +1 @@
1
- export { default as S3File } from '../../packem_shared/S3File-DZiyk9Qt.js';
2
- export { default as S3MetaStorage } from '../../packem_shared/S3MetaStorage-Dz9aDabA.js';
3
- export { default as S3Storage } from '../../packem_shared/S3Storage-DHmTk-hU.js';
1
+ import{default as t}from"../../packem_shared/S3File-BfmCOET4.js";import{default as r}from"../../packem_shared/S3MetaStorage-vcriiosn.js";import{default as S}from"../../packem_shared/S3Storage-n1ohEZj4.js";export{t as S3File,r as S3MetaStorage,S as S3Storage};
@@ -1,4 +1,254 @@
1
- export { default as AwsLightFile } from "./aws-light-file.d.ts";
2
- export { default as AwsLightMetaStorage } from "./aws-light-meta-storage.d.ts";
3
- export { default as AwsLightStorage } from "./aws-light-storage.d.ts";
4
- export type { AwsLightClientConfig, AwsLightError, AwsLightMetaStorageOptions, AwsLightStorageOptions } from "./types.d.ts";
1
+ import { P as Part, S as S3CallOptions, a as S3ApiOperations, b as S3BaseStorage } from "../../packem_shared/s3-base-storage.d-V3N2nKCt.js";
2
+ import { F as File, t as MetaStorageOptions, i as BaseStorageOptions, M as MetaStorage, H as HttpError, g as FileQuery, O as OperationOptions, e as FileInit } from "../../packem_shared/storage.d-RteRC-cG.js";
3
+ import { Readable } from 'node:stream';
4
+ import { AwsClient } from 'aws4fetch';
5
+ import 'node:crypto';
6
+ import 'node:http';
7
+ import 'lru-cache';
8
+ declare class AwsLightFile extends File {
9
+ Parts?: Part[];
10
+ UploadId?: string;
11
+ uri?: string;
12
+ partsUrls?: string[];
13
+ partSize?: number;
14
+ }
15
+ interface AwsLightClientConfig {
16
+ accessKeyId: string;
17
+ endpoint?: string;
18
+ region: string;
19
+ secretAccessKey: string;
20
+ service?: string;
21
+ sessionToken?: string;
22
+ }
23
+ type AwsLightMetaStorageOptions = AwsLightClientConfig & MetaStorageOptions & {
24
+ bucket?: string;
25
+ };
26
+ type AwsLightStorageOptions = AwsLightClientConfig & BaseStorageOptions & {
27
+ /**
28
+ * S3 bucket name.
29
+ */
30
+ bucket?: string;
31
+ /**
32
+ * Force compatible client upload directly to S3 storage
33
+ */
34
+ clientDirectUpload?: boolean;
35
+ /**
36
+ * Configure metafiles storage
37
+ */
38
+ metaStorageConfig?: AwsLightMetaStorageOptions;
39
+ /**
40
+ * The parts size that the client should use for presigned multipart unloading.
41
+ * @default '16MB'
42
+ */
43
+ partSize?: number | string;
44
+ };
45
+ interface AwsLightError extends Error {
46
+ code?: string;
47
+ requestId?: string;
48
+ statusCode?: number;
49
+ }
50
+ /**
51
+ * AWS Light meta storage implementation using aws4fetch.
52
+ * Stores metadata in S3 object metadata headers (x-amz-meta-*).
53
+ * Optimized for worker environments (Cloudflare Workers, Web Workers, etc.).
54
+ */
55
+ declare class AwsLightMetaStorage<T extends File = File> extends MetaStorage<T> {
56
+ config: AwsLightMetaStorageOptions;
57
+ private readonly adapter;
58
+ private readonly bucket;
59
+ constructor(config: AwsLightMetaStorageOptions);
60
+ override get(id: string): Promise<T>;
61
+ override touch(id: string, file: T): Promise<T>;
62
+ override delete(id: string): Promise<void>;
63
+ override save(id: string, file: T): Promise<T>;
64
+ }
65
+ /**
66
+ * Adapter that uses aws4fetch to implement S3ApiOperations interface.
67
+ */
68
+ declare class AwsLightApiAdapter implements S3ApiOperations {
69
+ aws: AwsClient;
70
+ private readonly bucket;
71
+ private readonly endpoint;
72
+ constructor(config: AwsLightClientConfig & {
73
+ bucket: string;
74
+ });
75
+ createMultipartUpload(params: {
76
+ ACL?: string;
77
+ Bucket: string;
78
+ ContentType?: string;
79
+ Key: string;
80
+ Metadata?: Record<string, string>;
81
+ }, options?: S3CallOptions): Promise<{
82
+ UploadId: string;
83
+ }>;
84
+ uploadPart(params: {
85
+ Body: Readable | ReadableStream | Uint8Array;
86
+ Bucket: string;
87
+ ContentLength?: number;
88
+ ContentMD5?: string;
89
+ Key: string;
90
+ PartNumber: number;
91
+ UploadId: string;
92
+ }, options?: S3CallOptions): Promise<{
93
+ ETag: string;
94
+ }>;
95
+ completeMultipartUpload(params: {
96
+ Bucket: string;
97
+ Key: string;
98
+ Parts: {
99
+ ETag: string;
100
+ PartNumber: number;
101
+ }[];
102
+ UploadId: string;
103
+ }, options?: S3CallOptions): Promise<{
104
+ ETag?: string;
105
+ Location: string;
106
+ }>;
107
+ abortMultipartUpload(params: {
108
+ Bucket: string;
109
+ Key: string;
110
+ UploadId: string;
111
+ }, options?: S3CallOptions): Promise<void>;
112
+ listParts(params: {
113
+ Bucket: string;
114
+ Key: string;
115
+ UploadId: string;
116
+ }, options?: S3CallOptions): Promise<{
117
+ Parts?: Part[];
118
+ }>;
119
+ getObject(params: {
120
+ Bucket: string;
121
+ Key: string;
122
+ }, options?: S3CallOptions): Promise<{
123
+ Body?: ReadableStream | Readable;
124
+ ContentLength?: number;
125
+ ContentType?: string;
126
+ ETag?: string;
127
+ Expires?: Date;
128
+ LastModified?: Date;
129
+ Metadata?: Record<string, string>;
130
+ }>;
131
+ headObject(params: {
132
+ Bucket: string;
133
+ Key: string;
134
+ }, options?: S3CallOptions): Promise<{
135
+ ContentLength?: number;
136
+ ContentType?: string;
137
+ ETag?: string;
138
+ Expires?: Date;
139
+ LastModified?: Date;
140
+ Metadata?: Record<string, string>;
141
+ }>;
142
+ deleteObject(params: {
143
+ Bucket: string;
144
+ Key: string;
145
+ }, options?: S3CallOptions): Promise<void>;
146
+ copyObject(params: {
147
+ Bucket: string;
148
+ CopySource: string;
149
+ Key: string;
150
+ StorageClass?: string;
151
+ }, options?: S3CallOptions): Promise<void>;
152
+ listObjectsV2(params: {
153
+ Bucket: string;
154
+ ContinuationToken?: string;
155
+ MaxKeys?: number;
156
+ }, options?: S3CallOptions): Promise<{
157
+ Contents?: {
158
+ Key?: string;
159
+ LastModified?: Date;
160
+ }[];
161
+ IsTruncated?: boolean;
162
+ NextContinuationToken?: string;
163
+ }>;
164
+ getPresignedUrl(params: {
165
+ Bucket: string;
166
+ expiresIn: number;
167
+ Key: string;
168
+ PartNumber: number;
169
+ UploadId: string;
170
+ }): Promise<string>;
171
+ putObject(params: {
172
+ Body?: Uint8Array | ReadableStream;
173
+ Bucket: string;
174
+ ContentLength?: number;
175
+ ContentType?: string;
176
+ Key: string;
177
+ Metadata?: Record<string, string>;
178
+ }): Promise<void>;
179
+ checkBucketAccess(_params: {
180
+ Bucket: string;
181
+ }): Promise<void>;
182
+ /**
183
+ * Builds S3 API URL.
184
+ */
185
+ private buildUrl;
186
+ /**
187
+ * Converts ReadableStream to Readable for Node.js compatibility.
188
+ */
189
+ private streamToReadable;
190
+ }
191
+ /**
192
+ * AWS Light storage implementation using aws4fetch.
193
+ * Optimized for worker environments (Cloudflare Workers, Web Workers, etc.).
194
+ * @example
195
+ * ```ts
196
+ * const storage = new AwsLightStorage({
197
+ * bucket: <YOUR_BUCKET>,
198
+ * region: <YOUR_REGION>,
199
+ * accessKeyId: <YOUR_ACCESS_KEY_ID>,
200
+ * secretAccessKey: <YOUR_SECRET_ACCESS_KEY>
201
+ * });
202
+ * ```
203
+ * @remarks
204
+ * ## Worker Compatibility
205
+ * - Uses aws4fetch for AWS request signing (works in workers)
206
+ * - No Node.js-specific dependencies
207
+ * - Compatible with Cloudflare Workers, Web Workers, and edge runtimes
208
+ *
209
+ * ## Error Handling
210
+ * - S3 API errors are normalized with AWS-specific context
211
+ * - Errors include S3 error codes and status codes for debugging
212
+ *
213
+ * ## Retry Behavior
214
+ * - All S3 API calls are wrapped with configurable retry logic via `retryConfig` option
215
+ * - Default retryable status codes: 408, 429, 500, 502, 503, 504
216
+ * - Custom `shouldRetry` function can be provided for advanced retry logic
217
+ *
218
+ * ## Multipart Uploads
219
+ * - Large files are automatically split into multipart uploads
220
+ * - Maximum 10,000 parts per upload (S3 limitation)
221
+ * - Part size is configurable (default: 16MB, minimum: 5MB)
222
+ * - Failed multipart uploads are automatically aborted
223
+ *
224
+ * ## Supported Operations
225
+ * - ✅ create, write, delete, get, getStream, list, update, copy, move
226
+ * - ✅ Batch operations: deleteBatch, copyBatch, moveBatch (inherited from BaseStorage)
227
+ * - ✅ exists: Implemented (checks metadata and S3 object)
228
+ * - ⚠️ getUrl/getUploadUrl: Limited presigned URL support (uses aws4fetch signing)
229
+ */
230
+ declare class AwsLightStorage extends S3BaseStorage {
231
+ static override readonly name: string;
232
+ private s3Api;
233
+ constructor(config: AwsLightStorageOptions);
234
+ /**
235
+ * Normalizes AWS S3 errors with S3-specific context.
236
+ */
237
+ override normalizeError(error: AwsLightError | Error): HttpError;
238
+ override update({
239
+ id
240
+ }: FileQuery, metadata: Partial<AwsLightFile>): Promise<AwsLightFile>;
241
+ override getStream({
242
+ id
243
+ }: FileQuery, options?: OperationOptions): Promise<{
244
+ headers?: Record<string, string>;
245
+ size?: number;
246
+ stream: Readable;
247
+ }>;
248
+ override get raw(): AwsClient;
249
+ protected getS3Api(): AwsLightApiAdapter;
250
+ protected getFileClass(): new (config: FileInit) => AwsLightFile;
251
+ protected getAcl(): string | undefined;
252
+ protected accessCheck(_maxWaitTime?: number): Promise<void>;
253
+ }
254
+ export { type AwsLightClientConfig, type AwsLightError, AwsLightFile, AwsLightMetaStorage, type AwsLightMetaStorageOptions, AwsLightStorage, type AwsLightStorageOptions };
@@ -1,3 +1 @@
1
- export { default as AwsLightFile } from '../../packem_shared/AwsLightFile-tTneXZgG.js';
2
- export { A as AwsLightMetaStorage } from '../../packem_shared/aws-light-meta-storage-DKJBgbR6.js';
3
- export { default as AwsLightStorage } from '../../packem_shared/AwsLightStorage-Blv-GP4v.js';
1
+ import{default as a}from"../../packem_shared/AwsLightFile-BSqjc_rD.js";import{l as r}from"../../packem_shared/aws-light-meta-storage-CstQBYXG.js";import{default as f}from"../../packem_shared/AwsLightStorage-w21RxjUm.js";export{a as AwsLightFile,r as AwsLightMetaStorage,f as AwsLightStorage};