@visulima/storage 1.0.0-alpha.34 → 1.0.0-alpha.36

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 (384) hide show
  1. package/CHANGELOG.md +41 -0
  2. package/LICENSE.md +29 -0
  3. package/README.md +5 -2
  4. package/dist/adapter/nuxt/module.d.ts +4 -4
  5. package/dist/adapter/nuxt/module.js +1 -1
  6. package/dist/ai/ai-sdk/index.d.ts +6 -6
  7. package/dist/ai/ai-sdk/index.js +1 -1
  8. package/dist/ai/claude/index.d.ts +4 -4
  9. package/dist/ai/claude/index.js +1 -1
  10. package/dist/ai/openai/index.d.ts +5 -5
  11. package/dist/ai/openai/index.js +1 -1
  12. package/dist/ai/tanstack/index.d.ts +5 -5
  13. package/dist/ai/tanstack/index.js +1 -1
  14. package/dist/handler/http/fetch/index.d.ts +7 -7
  15. package/dist/handler/http/fetch/index.js +1 -1
  16. package/dist/handler/http/hono/index.d.ts +4 -4
  17. package/dist/handler/http/hono/index.js +1 -1
  18. package/dist/handler/http/nextjs/index.d.ts +4 -4
  19. package/dist/handler/http/nextjs/index.js +1 -1
  20. package/dist/handler/http/node/index.d.ts +15 -8
  21. package/dist/handler/http/node/index.js +1 -1
  22. package/dist/handler/http/solid-start/index.d.ts +4 -4
  23. package/dist/handler/http/solid-start/index.js +1 -1
  24. package/dist/index.d.ts +54 -7
  25. package/dist/index.js +1 -1
  26. package/dist/openapi/index.js +1 -1
  27. package/dist/packem_shared/AbstractBaseStorage-CiPEMcuo.js +1 -0
  28. package/dist/packem_shared/AwsLightFile-CpZrubaV.js +1 -0
  29. package/dist/packem_shared/AwsLightMetaStorage-C7VINc3X.js +1 -0
  30. package/dist/packem_shared/AwsLightStorage-XTKsrWEe.js +1 -0
  31. package/dist/packem_shared/AzureFile-DFSaVe25.js +1 -0
  32. package/dist/packem_shared/AzureSMetaStorage-wrp-4QPg.js +1 -0
  33. package/dist/packem_shared/AzureStorage-w9CVhOSd.js +1 -0
  34. package/dist/packem_shared/BaseTransformer-Buw5lX_3.js +1 -0
  35. package/dist/packem_shared/BoxFile-CseIoPW1.js +1 -0
  36. package/dist/packem_shared/BoxMetaStorage-B8kCnRx0.js +1 -0
  37. package/dist/packem_shared/BoxStorage-Cs4uBn1C.js +1 -0
  38. package/dist/packem_shared/BunS3File-BcYmsz1n.js +1 -0
  39. package/dist/packem_shared/BunS3MetaStorage-B8kCnRx0.js +1 -0
  40. package/dist/packem_shared/BunS3Storage-Bv4bEpk9.js +1 -0
  41. package/dist/packem_shared/BunnyFile-BgEOlcYI.js +1 -0
  42. package/dist/packem_shared/BunnyMetaStorage-B8kCnRx0.js +1 -0
  43. package/dist/packem_shared/BunnyStorage-DHi3w677.js +1 -0
  44. package/dist/packem_shared/CloudinaryFile-Bo5B-vM1.js +1 -0
  45. package/dist/packem_shared/CloudinaryMetaStorage-DwSHaxII.js +1 -0
  46. package/dist/packem_shared/CloudinaryStorage-a7kbbGvD.js +1 -0
  47. package/dist/packem_shared/DiskStorage-D85ndBIy.js +1 -0
  48. package/dist/packem_shared/DiskStorageWithChecksum-Bs7d8vb1.js +1 -0
  49. package/dist/packem_shared/DropboxFile-BFb7eOzy.js +1 -0
  50. package/dist/packem_shared/DropboxMetaStorage-B8kCnRx0.js +1 -0
  51. package/dist/packem_shared/DropboxStorage-WzidHSCO.js +1 -0
  52. package/dist/packem_shared/ERRORS-BIBxE2oR.js +1 -0
  53. package/dist/packem_shared/File-W8aOo15X.js +1 -0
  54. package/dist/packem_shared/Files-BL-vFOMZ.js +1 -0
  55. package/dist/packem_shared/FirebaseFile-BLaBxa2A.js +1 -0
  56. package/dist/packem_shared/FirebaseMetaStorage-DwSHaxII.js +1 -0
  57. package/dist/packem_shared/FirebaseStorage-XCogI7eF.js +2 -0
  58. package/dist/packem_shared/FtpFile-ClWDYnt2.js +1 -0
  59. package/dist/packem_shared/FtpMetaStorage-B8kCnRx0.js +1 -0
  60. package/dist/packem_shared/FtpStorage-DUsTI8EA.js +1 -0
  61. package/dist/packem_shared/GCSFile-Cero7qZN.js +1 -0
  62. package/dist/packem_shared/GCSMetaStorage-DAioMehe.js +1 -0
  63. package/dist/packem_shared/GCStorage-FmD2ZLYw.js +1 -0
  64. package/dist/packem_shared/GoogleDriveFile-DHpLhzg9.js +1 -0
  65. package/dist/packem_shared/GoogleDriveMetaStorage-6u_oNeEQ.js +1 -0
  66. package/dist/packem_shared/GoogleDriveStorage-DQqs4mMr.js +1 -0
  67. package/dist/packem_shared/LocalMetaStorage-C96plQoL.js +1 -0
  68. package/dist/packem_shared/MediaTransformer-D2kUsklW.js +1 -0
  69. package/dist/packem_shared/MemoryMetaStorage-Ksgh9pe7.js +1 -0
  70. package/dist/packem_shared/{MemoryStorage-CgEFb9yw.js → MemoryStorage-9gbWd09l.js} +1 -1
  71. package/dist/packem_shared/MetaStorage-DPEUyWgN.js +1 -0
  72. package/dist/packem_shared/Metadata-kxSBaSee.js +1 -0
  73. package/dist/packem_shared/Multipart-CQjYqU--.js +1 -0
  74. package/dist/packem_shared/Multipart-D0ok6BBy.js +1 -0
  75. package/dist/packem_shared/NetlifyBlobFile-DoFhkzaH.js +1 -0
  76. package/dist/packem_shared/NetlifyBlobMetaStorage-DwSHaxII.js +1 -0
  77. package/dist/packem_shared/NetlifyBlobStorage-Dt78j_3h.js +1 -0
  78. package/dist/packem_shared/NoOpMetrics-BLo6u4NY.js +1 -0
  79. package/dist/packem_shared/OneDriveFile-CNNJYI43.js +1 -0
  80. package/dist/packem_shared/OneDriveMetaStorage-6u_oNeEQ.js +1 -0
  81. package/dist/packem_shared/OneDriveStorage-B24YAM4Z.js +1 -0
  82. package/dist/packem_shared/OpenTelemetryMetrics-DJDQsNKp.js +1 -0
  83. package/dist/packem_shared/PocketBaseFile-DpJpxl3e.js +1 -0
  84. package/dist/packem_shared/PocketBaseMetaStorage-DYZyTYVd.js +1 -0
  85. package/dist/packem_shared/PocketBaseStorage-BNzPUNoh.js +1 -0
  86. package/dist/packem_shared/Rest-Cb2Ja3ny.js +1 -0
  87. package/dist/packem_shared/Rest-QhlT9FbR.js +1 -0
  88. package/dist/packem_shared/S3File-CpZrubaV.js +1 -0
  89. package/dist/packem_shared/S3MetaStorage-DFg42hO6.js +1 -0
  90. package/dist/packem_shared/S3Storage-mYWBfMkZ.js +1 -0
  91. package/dist/packem_shared/SftpFile-ClWDYnt2.js +1 -0
  92. package/dist/packem_shared/SftpMetaStorage-B8kCnRx0.js +1 -0
  93. package/dist/packem_shared/SftpStorage-BA0cBuRg.js +1 -0
  94. package/dist/packem_shared/SharePointFile-Blz9FS4h.js +1 -0
  95. package/dist/packem_shared/SharePointMetaStorage-B8kCnRx0.js +1 -0
  96. package/dist/packem_shared/SharePointStorage-CzYAzzgd.js +1 -0
  97. package/dist/packem_shared/SupabaseFile-Bo5B-vM1.js +1 -0
  98. package/dist/packem_shared/SupabaseMetaStorage-6u_oNeEQ.js +1 -0
  99. package/dist/packem_shared/SupabaseStorage-a_lK2aKT.js +1 -0
  100. package/dist/packem_shared/TUS_RESUMABLE-D-jBomrU.js +1 -0
  101. package/dist/packem_shared/Tus-BvTC2OC2.js +1 -0
  102. package/dist/packem_shared/Tus-DdAo4aXh.js +1 -0
  103. package/dist/packem_shared/UploadControl-DZJhI9Wh.js +1 -0
  104. package/dist/packem_shared/UploadThingFile-BTFMpcIA.js +1 -0
  105. package/dist/packem_shared/UploadThingMetaStorage-DwSHaxII.js +1 -0
  106. package/dist/packem_shared/UploadThingStorage-Fsa2ejS3.js +1 -0
  107. package/dist/packem_shared/ValidationError-3B06DFyE.js +1 -0
  108. package/dist/packem_shared/VercelBlobFile-CVQwKlZk.js +1 -0
  109. package/dist/packem_shared/VercelBlobMetaStorage-B8kCnRx0.js +1 -0
  110. package/dist/packem_shared/VercelBlobStorage-TY7bZ7bB.js +1 -0
  111. package/dist/packem_shared/_commonjsHelpers-CWAkuNXM.js +1 -0
  112. package/dist/packem_shared/agentsCopyFile-Dl5iffdH.js +1 -0
  113. package/dist/packem_shared/akamai-DthkaFul.js +1 -0
  114. package/dist/packem_shared/alibaba-BEi25O1g.js +1 -0
  115. package/dist/packem_shared/approval-fVHwBp7u.js +1 -0
  116. package/dist/packem_shared/aws-light-meta-storage-rDso1apP.js +4 -0
  117. package/dist/packem_shared/azure-meta-storage-DpzQG4vM.js +1 -0
  118. package/dist/packem_shared/backblaze-DDej-Mdl.js +1 -0
  119. package/dist/packem_shared/base-handler-core-D-9Ku1h-.js +1 -0
  120. package/dist/packem_shared/base-handler-fetch-CfkNakv8.js +1 -0
  121. package/dist/packem_shared/base-handler-node-BF1v1qDa.js +1 -0
  122. package/dist/packem_shared/cache-Cw3QjoVN.js +1 -0
  123. package/dist/packem_shared/claudeCopyFile-BX9O4ORk.js +1 -0
  124. package/dist/packem_shared/cloudflare-Dj5nHWcN.js +1 -0
  125. package/dist/packem_shared/copyFile-49FtxXcm.js +1 -0
  126. package/dist/packem_shared/copyFile-BUPezT_c.js +1 -0
  127. package/dist/packem_shared/createResponsesFileTools-6Tvt2PNr.js +1 -0
  128. package/dist/packem_shared/createRetryWrapper-CxgiV_hH.js +1 -0
  129. package/dist/packem_shared/detect-file-type-BA7UBLKA.js +1 -0
  130. package/dist/packem_shared/digitalOcean-B2uB6pgz.js +1 -0
  131. package/dist/packem_shared/disk-storage-B0Mx8dWz.js +1 -0
  132. package/dist/packem_shared/{disk-storage-with-checksum.d-BT_ll5b8.d.ts → disk-storage-with-checksum.d-B-VGEsfl.d.ts} +1 -1
  133. package/dist/packem_shared/executors-BDzMjc4y.js +1 -0
  134. package/dist/packem_shared/{executors.d-D8esmhum.d.ts → executors.d-BZP2rWo3.d.ts} +5 -1
  135. package/dist/packem_shared/exoscale-BDa1Gjth.js +1 -0
  136. package/dist/packem_shared/filebase-CsFYJIwB.js +1 -0
  137. package/dist/packem_shared/{index.d-DB1VD8RP.d.ts → files.d-CH0iLBNC.d.ts} +164 -181
  138. package/dist/packem_shared/gcs-meta-storage-BUz1PDbt.js +1 -0
  139. package/dist/packem_shared/get-file-status-y3wTtDQs.js +1 -0
  140. package/dist/packem_shared/getFormatFromContentType-DCTTPQHm.js +1 -0
  141. package/dist/packem_shared/has-content-50BsqrWw.js +1 -0
  142. package/dist/packem_shared/headers-BAiAKekR.js +26 -0
  143. package/dist/packem_shared/hetzner-BGGFiRGD.js +1 -0
  144. package/dist/packem_shared/ibmCos-j-3TfJ5p.js +1 -0
  145. package/dist/packem_shared/idriveE2-C6pQ5pQ0.js +1 -0
  146. package/dist/packem_shared/index-nZWCQrSe.js +5 -0
  147. package/dist/packem_shared/internal-D_cZIFwI.js +1 -0
  148. package/dist/packem_shared/is-expired-CBEk6XBi.js +1 -0
  149. package/dist/packem_shared/local-meta-storage-DEpVJPLI.js +11 -0
  150. package/dist/packem_shared/{local-meta-storage.d-DUuLtPik.d.ts → local-meta-storage.d-D9PBfkn6.d.ts} +1 -1
  151. package/dist/packem_shared/{media-transformer.d-B9dfBdoV.d.ts → media-transformer.d-Quf4ai47.d.ts} +2 -2
  152. package/dist/packem_shared/{memory-storage.d-BpxSYO-D.d.ts → memory-storage.d-4EU1cMt1.d.ts} +1 -1
  153. package/dist/packem_shared/minio-NKquuBfS.js +1 -0
  154. package/dist/packem_shared/multipart-base-BOzY19lb.js +1 -0
  155. package/dist/packem_shared/oauth-refresh-EdGzlcOZ.js +1 -0
  156. package/dist/packem_shared/oracleCloud-DslqNpn6.js +1 -0
  157. package/dist/packem_shared/ovhCloud-CMHE6uLV.js +1 -0
  158. package/dist/packem_shared/part-match-D-9dGX42.js +1 -0
  159. package/dist/packem_shared/path-0oTTdkvl-DvWvbDbh.js +1 -0
  160. package/dist/packem_shared/posix-dirname-CfpH5wZi.js +1 -0
  161. package/dist/packem_shared/response-builder-CbSA8qPa.js +1 -0
  162. package/dist/packem_shared/rest-base-BnPFeiJd.js +1 -0
  163. package/dist/packem_shared/restOpenApiSpec-Csv513qf.js +1 -0
  164. package/dist/packem_shared/s3-base-storage-DdzBeohR.js +1 -0
  165. package/dist/packem_shared/{s3-base-storage.d-CoYAf_hG.d.ts → s3-base-storage.d-BQgP5B-t.d.ts} +1 -1
  166. package/dist/packem_shared/scaleway-U1In3v70.js +1 -0
  167. package/dist/packem_shared/sharedErrorSchemaObject-YN65aAKj.js +1 -0
  168. package/dist/packem_shared/storage-0j5nCAUp.js +1 -0
  169. package/dist/packem_shared/{storage.d-C6HtvSoY.d.ts → storage.d-CEM1upWM.d.ts} +3 -2
  170. package/dist/packem_shared/storj-Cb59q9kF.js +1 -0
  171. package/dist/packem_shared/sync-DhR3536K.js +1 -0
  172. package/dist/packem_shared/tencent-Q1y2GENc.js +1 -0
  173. package/dist/packem_shared/tigris-BELKoyyp.js +1 -0
  174. package/dist/packem_shared/transformOpenApiSpec-CIEAgpBD.js +1 -0
  175. package/dist/packem_shared/{tus-base.d-Dv25OXL0.d.ts → tus-base.d-DLzKE54M.d.ts} +13 -6
  176. package/dist/packem_shared/tusOpenApiSpec-D96B03t5.js +1 -0
  177. package/dist/packem_shared/{types.d-Cd2-3e-F.d.ts → types.d-Bon9GVVe.d.ts} +1 -1
  178. package/dist/packem_shared/{types.d-CmBrgo0d.d.ts → types.d-CggTCgXr.d.ts} +2 -2
  179. package/dist/packem_shared/{types.d-CmT_ubPu.d.ts → types.d-CrUWY4On.d.ts} +2 -2
  180. package/dist/packem_shared/update-size-DuNuLyxj.js +1 -0
  181. package/dist/packem_shared/vultr-B491cQ4e.js +1 -0
  182. package/dist/packem_shared/waitForStorage-ByQmG4xF.js +1 -0
  183. package/dist/packem_shared/wasabi-DFrwIoab.js +1 -0
  184. package/dist/packem_shared/xhrOpenApiSpec-DQR4h6M8.js +1 -0
  185. package/dist/packem_shared/yandex-CwzHuEKP.js +1 -0
  186. package/dist/storage/aws/clients/index.js +1 -1
  187. package/dist/storage/aws/index.d.ts +2 -2
  188. package/dist/storage/aws/index.js +1 -1
  189. package/dist/storage/aws-light/index.d.ts +2 -2
  190. package/dist/storage/aws-light/index.js +1 -1
  191. package/dist/storage/azure/index.d.ts +1 -1
  192. package/dist/storage/azure/index.js +1 -1
  193. package/dist/storage/box/index.d.ts +2 -2
  194. package/dist/storage/box/index.js +1 -1
  195. package/dist/storage/bun-s3/index.d.ts +2 -2
  196. package/dist/storage/bun-s3/index.js +1 -1
  197. package/dist/storage/bunny/index.d.ts +2 -2
  198. package/dist/storage/bunny/index.js +1 -1
  199. package/dist/storage/cloudinary/index.d.ts +2 -2
  200. package/dist/storage/cloudinary/index.js +1 -1
  201. package/dist/storage/dropbox/index.d.ts +2 -2
  202. package/dist/storage/dropbox/index.js +1 -1
  203. package/dist/storage/firebase/index.d.ts +2 -2
  204. package/dist/storage/firebase/index.js +1 -1
  205. package/dist/storage/ftp/index.d.ts +2 -2
  206. package/dist/storage/ftp/index.js +1 -1
  207. package/dist/storage/gcs/index.d.ts +1 -1
  208. package/dist/storage/gcs/index.js +1 -1
  209. package/dist/storage/google-drive/index.d.ts +2 -2
  210. package/dist/storage/google-drive/index.js +1 -1
  211. package/dist/storage/local/index.d.ts +3 -3
  212. package/dist/storage/local/index.js +1 -1
  213. package/dist/storage/memory/index.d.ts +2 -2
  214. package/dist/storage/memory/index.js +1 -1
  215. package/dist/storage/netlify-blob/index.d.ts +2 -2
  216. package/dist/storage/netlify-blob/index.js +1 -1
  217. package/dist/storage/onedrive/index.d.ts +4 -4
  218. package/dist/storage/onedrive/index.js +1 -1
  219. package/dist/storage/pocketbase/index.d.ts +2 -2
  220. package/dist/storage/pocketbase/index.js +1 -1
  221. package/dist/storage/sftp/index.d.ts +2 -2
  222. package/dist/storage/sftp/index.js +1 -1
  223. package/dist/storage/sharepoint/index.d.ts +3 -3
  224. package/dist/storage/sharepoint/index.js +1 -1
  225. package/dist/storage/supabase/index.d.ts +2 -2
  226. package/dist/storage/supabase/index.js +1 -1
  227. package/dist/storage/uploadthing/index.d.ts +2 -2
  228. package/dist/storage/uploadthing/index.js +1 -1
  229. package/dist/storage/vercel-blob/index.d.ts +2 -2
  230. package/dist/storage/vercel-blob/index.js +1 -1
  231. package/dist/transformer/audio-transformer.d.ts +2 -2
  232. package/dist/transformer/audio-transformer.js +1 -1
  233. package/dist/transformer/image-transformer.d.ts +2 -2
  234. package/dist/transformer/image-transformer.js +1 -1
  235. package/dist/transformer/index.d.ts +3 -3
  236. package/dist/transformer/index.js +1 -1
  237. package/dist/transformer/video-transformer.d.ts +2 -2
  238. package/dist/transformer/video-transformer.js +1 -1
  239. package/package.json +7 -7
  240. package/dist/adapter/nuxt/node_modules/.bin/nuxi +0 -22
  241. package/dist/adapter/nuxt/node_modules/.bin/nuxt +0 -22
  242. package/dist/packem_shared/AwsLightFile-BSqjc_rD.js +0 -1
  243. package/dist/packem_shared/AwsLightMetaStorage-Cj7ym1qI.js +0 -1
  244. package/dist/packem_shared/AwsLightStorage-CWBRVcn5.js +0 -1
  245. package/dist/packem_shared/AzureFile-Dgj2Tef4.js +0 -1
  246. package/dist/packem_shared/AzureSMetaStorage-YCj-X8a1.js +0 -1
  247. package/dist/packem_shared/AzureStorage-nhAojuEU.js +0 -1
  248. package/dist/packem_shared/BaseTransformer-Fpcuz4kj.js +0 -1
  249. package/dist/packem_shared/BoxFile-Be0S4N1L.js +0 -1
  250. package/dist/packem_shared/BoxMetaStorage-XMZn5yvp.js +0 -1
  251. package/dist/packem_shared/BoxStorage-C3--16du.js +0 -1
  252. package/dist/packem_shared/BunS3File-D-SRiyrm.js +0 -1
  253. package/dist/packem_shared/BunS3MetaStorage-DomG8mVK.js +0 -1
  254. package/dist/packem_shared/BunS3Storage-0oYNi2Os.js +0 -1
  255. package/dist/packem_shared/BunnyFile-Dotl-lO9.js +0 -1
  256. package/dist/packem_shared/BunnyMetaStorage-luemw1pL.js +0 -1
  257. package/dist/packem_shared/BunnyStorage-CIkpp1Rc.js +0 -1
  258. package/dist/packem_shared/CloudinaryFile-B5-m33eS.js +0 -1
  259. package/dist/packem_shared/CloudinaryMetaStorage-DpxjshXZ.js +0 -1
  260. package/dist/packem_shared/CloudinaryStorage-9Y1Gq0gr.js +0 -1
  261. package/dist/packem_shared/DiskStorage-BkP8c0MY.js +0 -1
  262. package/dist/packem_shared/DiskStorageWithChecksum-CUXj5mE9.js +0 -1
  263. package/dist/packem_shared/DropboxFile-BGVG2kXM.js +0 -1
  264. package/dist/packem_shared/DropboxMetaStorage-h0eTJuk5.js +0 -1
  265. package/dist/packem_shared/DropboxStorage-CuA9MkpH.js +0 -1
  266. package/dist/packem_shared/ERRORS-vMSqlI69.js +0 -1
  267. package/dist/packem_shared/File-BhfUgJjs.js +0 -1
  268. package/dist/packem_shared/FirebaseFile-JEu3plMP.js +0 -1
  269. package/dist/packem_shared/FirebaseMetaStorage-CCBnEE8_.js +0 -1
  270. package/dist/packem_shared/FirebaseStorage-DUskfjh_.js +0 -2
  271. package/dist/packem_shared/FtpFile-B8jaICTB.js +0 -1
  272. package/dist/packem_shared/FtpMetaStorage-DxHcXk9x.js +0 -1
  273. package/dist/packem_shared/FtpStorage-DMpDY7oG.js +0 -1
  274. package/dist/packem_shared/GCSFile-CDQ6IWAz.js +0 -1
  275. package/dist/packem_shared/GCSMetaStorage-DCBR02C7.js +0 -1
  276. package/dist/packem_shared/GCStorage-RCw58CoD.js +0 -1
  277. package/dist/packem_shared/GoogleDriveFile-D0aGfGbL.js +0 -1
  278. package/dist/packem_shared/GoogleDriveMetaStorage-koEiYfFw.js +0 -1
  279. package/dist/packem_shared/GoogleDriveStorage-DNlVE5Uo.js +0 -1
  280. package/dist/packem_shared/LocalMetaStorage-BKC34woF.js +0 -1
  281. package/dist/packem_shared/MediaTransformer-D-1c9Q_k.js +0 -1
  282. package/dist/packem_shared/MemoryMetaStorage-DEzfBNgL.js +0 -1
  283. package/dist/packem_shared/MetaStorage-Y4m1dWgd.js +0 -1
  284. package/dist/packem_shared/Metadata-B6Ir0KO7.js +0 -1
  285. package/dist/packem_shared/Multipart-D2eF0kMq.js +0 -1
  286. package/dist/packem_shared/Multipart-mlcj2Wm8.js +0 -1
  287. package/dist/packem_shared/NetlifyBlobFile-PMZLJ8AC.js +0 -1
  288. package/dist/packem_shared/NetlifyBlobMetaStorage-DLJLr0fD.js +0 -1
  289. package/dist/packem_shared/NetlifyBlobStorage-DqeW_OGE.js +0 -1
  290. package/dist/packem_shared/NoOpMetrics-Dky06sf1.js +0 -1
  291. package/dist/packem_shared/OneDriveFile-XbVVKIJh.js +0 -1
  292. package/dist/packem_shared/OneDriveMetaStorage-Cuw5g3cr.js +0 -1
  293. package/dist/packem_shared/OneDriveStorage-D41BZtkz.js +0 -1
  294. package/dist/packem_shared/OpenTelemetryMetrics-9uxQMSlg.js +0 -1
  295. package/dist/packem_shared/PocketBaseFile-CkAiSBb0.js +0 -1
  296. package/dist/packem_shared/PocketBaseMetaStorage-BkzeMDP0.js +0 -1
  297. package/dist/packem_shared/PocketBaseStorage-CdvEL3YX.js +0 -1
  298. package/dist/packem_shared/Rest-08Oi3-WZ.js +0 -1
  299. package/dist/packem_shared/Rest-BpyZYW-e.js +0 -1
  300. package/dist/packem_shared/S3File-BfmCOET4.js +0 -1
  301. package/dist/packem_shared/S3MetaStorage-vcriiosn.js +0 -1
  302. package/dist/packem_shared/S3Storage-adY1XLfH.js +0 -1
  303. package/dist/packem_shared/SftpFile-CQCxZNVq.js +0 -1
  304. package/dist/packem_shared/SftpMetaStorage-DN00oxqH.js +0 -1
  305. package/dist/packem_shared/SftpStorage-CDKtnw6a.js +0 -1
  306. package/dist/packem_shared/SharePointFile-BA6X9Sxr.js +0 -1
  307. package/dist/packem_shared/SharePointMetaStorage-WkQcni-I.js +0 -1
  308. package/dist/packem_shared/SharePointStorage-CZkO7FSl.js +0 -1
  309. package/dist/packem_shared/SupabaseFile-DZ1iv9gM.js +0 -1
  310. package/dist/packem_shared/SupabaseMetaStorage-FaEVpmT5.js +0 -1
  311. package/dist/packem_shared/SupabaseStorage-O29RNXWx.js +0 -1
  312. package/dist/packem_shared/TUS_RESUMABLE-B7KtPVeC.js +0 -1
  313. package/dist/packem_shared/Tus-B7k9LUeY.js +0 -1
  314. package/dist/packem_shared/Tus-BZT2Jhl5.js +0 -1
  315. package/dist/packem_shared/UploadControl-jgusdgDN.js +0 -1
  316. package/dist/packem_shared/UploadThingFile-BpG9mE8K.js +0 -1
  317. package/dist/packem_shared/UploadThingMetaStorage-CdDfhiyy.js +0 -1
  318. package/dist/packem_shared/UploadThingStorage-ByryGerX.js +0 -1
  319. package/dist/packem_shared/ValidationError-D8KKJiKA.js +0 -1
  320. package/dist/packem_shared/VercelBlobFile-Cni_1qwD.js +0 -1
  321. package/dist/packem_shared/VercelBlobMetaStorage-CC1zy35k.js +0 -1
  322. package/dist/packem_shared/VercelBlobStorage-C4QUjBfu.js +0 -1
  323. package/dist/packem_shared/_commonjsHelpers-D6W6KoPK.js +0 -1
  324. package/dist/packem_shared/agentsListFiles-Bl2TOnMy.js +0 -1
  325. package/dist/packem_shared/akamai-BYS9pP8S.js +0 -1
  326. package/dist/packem_shared/alibaba-BJQ6ijoK.js +0 -1
  327. package/dist/packem_shared/approval-BBeX3o4E.js +0 -1
  328. package/dist/packem_shared/aws-light-meta-storage-CXIZfLXR.js +0 -4
  329. package/dist/packem_shared/azure-meta-storage-B-D-tBVw.js +0 -1
  330. package/dist/packem_shared/backblaze-CvdtCvJL.js +0 -1
  331. package/dist/packem_shared/base-handler-core-ty4J6Ji6.js +0 -1
  332. package/dist/packem_shared/base-handler-fetch-BAjJyP84.js +0 -1
  333. package/dist/packem_shared/base-handler-node-BCqhH22o.js +0 -1
  334. package/dist/packem_shared/cache-qV_5Umeq.js +0 -1
  335. package/dist/packem_shared/claudeListFiles-yLqM5iFS.js +0 -1
  336. package/dist/packem_shared/cloudflare-Bm_Pg6yx.js +0 -1
  337. package/dist/packem_shared/createResponsesFileTools-DFFHq35s.js +0 -1
  338. package/dist/packem_shared/defaultCloudStorageFileNameValidation-DSAf6C4S.js +0 -1
  339. package/dist/packem_shared/detect-file-type-DRWGvQW4.js +0 -1
  340. package/dist/packem_shared/digitalOcean-Lj1NfDzc.js +0 -1
  341. package/dist/packem_shared/disk-storage-DJ2Nic2v.js +0 -1
  342. package/dist/packem_shared/executors-MzQbS9FT.js +0 -1
  343. package/dist/packem_shared/exoscale-O0HzxoDz.js +0 -1
  344. package/dist/packem_shared/filebase-D-urO4Ob.js +0 -1
  345. package/dist/packem_shared/gcs-meta-storage-BXcsC7xV.js +0 -1
  346. package/dist/packem_shared/get-file-status-DLS18Zvd.js +0 -1
  347. package/dist/packem_shared/has-content-Bx2p8Okx.js +0 -1
  348. package/dist/packem_shared/headers-DC2MEOrK.js +0 -27
  349. package/dist/packem_shared/hetzner-DDxE7Gy7.js +0 -1
  350. package/dist/packem_shared/ibmCos-Rx_yku4H.js +0 -1
  351. package/dist/packem_shared/idriveE2-BFhw0Vwy.js +0 -1
  352. package/dist/packem_shared/index-B4ETk0Lu.js +0 -5
  353. package/dist/packem_shared/is-expired-1JuZjDtb.js +0 -1
  354. package/dist/packem_shared/isRetryableError-CBZ65V6T.js +0 -1
  355. package/dist/packem_shared/isValidMediaType-B-2UKjZx.js +0 -1
  356. package/dist/packem_shared/listFiles-BNGQbV_d.js +0 -1
  357. package/dist/packem_shared/listFiles-BdBngq3i.js +0 -1
  358. package/dist/packem_shared/local-meta-storage-tayO1ARY.js +0 -1
  359. package/dist/packem_shared/minio-T_Z3iEy7.js +0 -1
  360. package/dist/packem_shared/multipart-base-BxckfvQf.js +0 -1
  361. package/dist/packem_shared/oauth-refresh-Dg2ybc6_.js +0 -1
  362. package/dist/packem_shared/oracleCloud-D5T9s4JV.js +0 -1
  363. package/dist/packem_shared/ovhCloud-DCwef2fe.js +0 -1
  364. package/dist/packem_shared/part-match-D_NwyoF3.js +0 -1
  365. package/dist/packem_shared/path-D7rMc9nq-B718mbm6.js +0 -1
  366. package/dist/packem_shared/posix-dirname-CiHXPPnw.js +0 -1
  367. package/dist/packem_shared/response-builder-Wdo_fvcF.js +0 -1
  368. package/dist/packem_shared/rest-base-BG0e-6E0.js +0 -1
  369. package/dist/packem_shared/restOpenApiSpec-PaIVbESh.js +0 -1
  370. package/dist/packem_shared/s3-base-storage-FiC4s91g.js +0 -1
  371. package/dist/packem_shared/scaleway-ygRXOss9.js +0 -1
  372. package/dist/packem_shared/sharedGet-Ce7WGAsc.js +0 -1
  373. package/dist/packem_shared/storage-CI88PmRw.js +0 -1
  374. package/dist/packem_shared/storj-CVA9mM-7.js +0 -1
  375. package/dist/packem_shared/tencent-CAcAGaIW.js +0 -1
  376. package/dist/packem_shared/tigris-wmhjfsH2.js +0 -1
  377. package/dist/packem_shared/transformOpenApiSpec-C0vEbDTO.js +0 -1
  378. package/dist/packem_shared/tusOpenApiSpec-DF0-hlWV.js +0 -1
  379. package/dist/packem_shared/update-size-DANV7aa2.js +0 -1
  380. package/dist/packem_shared/vultr-lK9L-sFk.js +0 -1
  381. package/dist/packem_shared/waitForStorage-ChSBLhLc.js +0 -1
  382. package/dist/packem_shared/wasabi-JQzxdrFy.js +0 -1
  383. package/dist/packem_shared/xhrOpenApiSpec-nyoboz83.js +0 -1
  384. package/dist/packem_shared/yandex-ZwvE77v4.js +0 -1
@@ -1,42 +1,5 @@
1
- import { O as OperationOptions, B as BaseStorage } from "./storage.d-C6HtvSoY.js";
2
- /**
3
- * Web-standard and Node-native body types accepted by {@link Files.upload}.
4
- */
5
- type FileBody = ArrayBuffer | ArrayBufferView | Blob | Buffer | NodeJS.ReadableStream | ReadableStream<Uint8Array> | string;
6
- /**
7
- * Byte range for {@link Files.download}. Both bounds are 0-based and `end` is
8
- * **inclusive**, mirroring the HTTP `Range: bytes=start-end` header. Omit `end`
9
- * to read from `start` to EOF (e.g. resume an interrupted download).
10
- */
11
- interface DownloadRange {
12
- end?: number;
13
- start: number;
14
- }
15
- /**
16
- * Realtime upload progress report. `total` is omitted for streaming bodies of
17
- * unknown length. The optional `key` is set on the bulk array form so a single
18
- * callback can drive a multi-row UI.
19
- */
20
- interface UploadProgress {
21
- key?: string;
22
- loaded: number;
23
- total?: number;
24
- }
25
- type UploadProgressCallback = (event: UploadProgress) => void;
26
- /** Lifecycle state of an {@link UploadControl}. */
27
- type UploadControlState = "aborted" | "completed" | "idle" | "paused" | "uploading";
28
- /**
29
- * Serializable snapshot of an {@link UploadControl}, returned by {@link UploadControl.serialize}
30
- * and accepted by {@link UploadControl.from}. Captures the key and bytes observed so a UI can
31
- * restore progress display across reloads. Note: byte-accurate *resume* of the transfer itself is
32
- * a protocol concern handled by the TUS / multipart handlers and `@visulima/storage-client`; a
33
- * rehydrated control restarts the body from the beginning.
34
- */
35
- interface UploadControlToken {
36
- key?: string;
37
- loaded: number;
38
- version: 1;
39
- }
1
+ import { B as BaseStorage, O as OperationOptions } from "./storage.d-CEM1upWM.js";
2
+ import { Readable } from 'node:stream';
40
3
  /**
41
4
  * Pause / resume / abort handle threaded into {@link Files.upload} via {@link UploadOptions.control}.
42
5
  *
@@ -83,6 +46,44 @@ declare class UploadControl {
83
46
  serialize(): UploadControlToken;
84
47
  }
85
48
  /**
49
+ * Web-standard and Node-native body types accepted by {@link Files.upload}.
50
+ */
51
+ type FileBody = ArrayBuffer | ArrayBufferView | Blob | Buffer | NodeJS.ReadableStream | ReadableStream<Uint8Array> | string;
52
+ /**
53
+ * Byte range for {@link Files.download}. Both bounds are 0-based and `end` is
54
+ * **inclusive**, mirroring the HTTP `Range: bytes=start-end` header. Omit `end`
55
+ * to read from `start` to EOF (e.g. resume an interrupted download).
56
+ */
57
+ interface DownloadRange {
58
+ end?: number;
59
+ start: number;
60
+ }
61
+ /**
62
+ * Realtime upload progress report. `total` is omitted for streaming bodies of
63
+ * unknown length. The optional `key` is set on the bulk array form so a single
64
+ * callback can drive a multi-row UI.
65
+ */
66
+ interface UploadProgress {
67
+ key?: string;
68
+ loaded: number;
69
+ total?: number;
70
+ }
71
+ type UploadProgressCallback = (event: UploadProgress) => void;
72
+ /** Lifecycle state of an {@link UploadControl}. */
73
+ type UploadControlState = "aborted" | "completed" | "idle" | "paused" | "uploading";
74
+ /**
75
+ * Serializable snapshot of an {@link UploadControl}, returned by {@link UploadControl.serialize}
76
+ * and accepted by {@link UploadControl.from}. Captures the key and bytes observed so a UI can
77
+ * restore progress display across reloads. Note: byte-accurate *resume* of the transfer itself is
78
+ * a protocol concern handled by the TUS / multipart handlers and `@visulima/storage-client`; a
79
+ * rehydrated control restarts the body from the beginning.
80
+ */
81
+ interface UploadControlToken {
82
+ key?: string;
83
+ loaded: number;
84
+ version: 1;
85
+ }
86
+ /**
86
87
  * Multipart tuning for {@link Files.upload}. `true` enables multipart with
87
88
  * adapter defaults; an object lets the caller tune the per-part size and the
88
89
  * number of parts uploaded in parallel.
@@ -94,6 +95,18 @@ interface MultipartOptions {
94
95
  partSize?: number;
95
96
  }
96
97
  interface UploadOptions {
98
+ /**
99
+ * Pre-computed content integrity checksum for end-to-end verification. Adapters that verify
100
+ * checksums on write (e.g. DiskStorage, TUS) reject the upload when the stored bytes don't
101
+ * match. Pair with {@link UploadOptions.checksumAlgorithm} to select the digest; defaults to
102
+ * the adapter's preferred algorithm when omitted. Ignored by adapters without checksum support.
103
+ */
104
+ checksum?: string;
105
+ /**
106
+ * Digest algorithm for {@link UploadOptions.checksum} (e.g. `"sha256"`, `"md5"`, `"crc32c"`).
107
+ * Adapter-dependent; ignored when no `checksum` is supplied.
108
+ */
109
+ checksumAlgorithm?: string;
97
110
  contentType?: string;
98
111
  /**
99
112
  * Pause / resume / abort handle for this upload. Pausing applies backpressure to the body
@@ -197,6 +210,15 @@ interface DownloadResult extends FileObject {
197
210
  body: Buffer;
198
211
  }
199
212
  /**
213
+ * Streaming variant of {@link DownloadResult} returned by {@link Files.downloadStream}. The object
214
+ * body is exposed as a Node {@link NodeJS.ReadableStream} instead of a fully-buffered `Buffer`, so
215
+ * serving a large object never allocates the whole payload in memory. Backed by the adapter's
216
+ * native `getStream()`.
217
+ */
218
+ interface DownloadStreamResult extends FileObject {
219
+ body: Readable;
220
+ }
221
+ /**
200
222
  * Caller-facing event for {@link FilesOptions.hooks}. Mirrors what runs through
201
223
  * the facade (the public `key`/`keys` and the operation type) without leaking
202
224
  * adapter internals.
@@ -331,6 +353,101 @@ interface BulkMoveResult {
331
353
  moved: FileObject[];
332
354
  }
333
355
  /**
356
+ * Per-key event reported to {@link TransferOptions.onProgress}.
357
+ */
358
+ interface TransferProgress {
359
+ /** 1-based index of the current key in walk order. */
360
+ done: number;
361
+ error?: Error;
362
+ key: string;
363
+ status: "errored" | "skipped" | "transferred";
364
+ }
365
+ interface TransferOptions extends OperationOptions {
366
+ /**
367
+ * In-flight key transfers.
368
+ * @default 8
369
+ */
370
+ concurrency?: number;
371
+ /** Per-page size requested from the source adapter while walking. */
372
+ limit?: number;
373
+ /** Fire-and-forget progress reporter. Throws are swallowed. */
374
+ onProgress?: (event: TransferProgress) => void;
375
+ /**
376
+ * When `false`, skip keys that already exist at the destination. When `true`, always upload.
377
+ * @default false
378
+ */
379
+ overwrite?: boolean;
380
+ /** Restrict the walk to this prefix on the source. */
381
+ prefix?: string;
382
+ /**
383
+ * When `true`, the first failing transfer rejects {@link transfer} instead of being
384
+ * collected in `errors`.
385
+ * @default false
386
+ */
387
+ stopOnError?: boolean;
388
+ /** Transform each source key into the destination key. Defaults to identity. */
389
+ transformKey?: (key: string) => string;
390
+ }
391
+ interface TransferResult {
392
+ errors?: BulkError[];
393
+ skipped: string[];
394
+ transferred: string[];
395
+ }
396
+ /**
397
+ * Per-key event reported to {@link SyncOptions.onProgress}.
398
+ */
399
+ interface SyncProgress {
400
+ /** 1-based index of the current key in walk order. */
401
+ done: number;
402
+ error?: Error;
403
+ key: string;
404
+ status: "deleted" | "errored" | "skipped" | "unchanged" | "updated" | "uploaded";
405
+ }
406
+ interface SyncOptions extends OperationOptions {
407
+ /**
408
+ * In-flight key operations.
409
+ * @default 8
410
+ */
411
+ concurrency?: number;
412
+ /**
413
+ * Compute the plan without writing anything. The returned `uploaded`/`updated`/`deleted` lists
414
+ * describe what *would* happen; the destination is left untouched.
415
+ * @default false
416
+ */
417
+ dryRun?: boolean;
418
+ /** Per-page size requested from the source adapter while walking. */
419
+ limit?: number;
420
+ /** Fire-and-forget progress reporter. Throws are swallowed. */
421
+ onProgress?: (event: SyncProgress) => void;
422
+ /** Restrict the sync to this prefix on both source and destination. */
423
+ prefix?: string;
424
+ /**
425
+ * Delete destination keys that no longer exist on the source (mirror semantics). Pruning runs
426
+ * after the copy pass so a failed upload never triggers a delete of its counterpart.
427
+ * @default false
428
+ */
429
+ prune?: boolean;
430
+ /**
431
+ * When `true`, the first failing operation rejects {@link sync} instead of being collected in
432
+ * `errors`. Pruning is skipped when a copy-phase error stops the run.
433
+ * @default false
434
+ */
435
+ stopOnError?: boolean;
436
+ /** Transform each source key into the destination key. Defaults to identity. */
437
+ transformKey?: (key: string) => string;
438
+ }
439
+ interface SyncResult {
440
+ /** Destination keys removed because they were absent from the source (only when `prune`). */
441
+ deleted: string[];
442
+ errors?: BulkError[];
443
+ /** Source keys whose destination copy already matched and was left untouched. */
444
+ unchanged: string[];
445
+ /** Source keys re-uploaded because the destination copy differed. */
446
+ updated: string[];
447
+ /** Source keys newly created at the destination. */
448
+ uploaded: string[];
449
+ }
450
+ /**
334
451
  * Provider-agnostic facade over a {@link BaseStorage} instance.
335
452
  *
336
453
  * Provides a small, consistent surface (`upload`, `download`, `head`, `exists`, `delete`, `copy`,
@@ -436,6 +553,13 @@ declare class Files<TStorage extends BaseStorage = BaseStorage> {
436
553
  private downloadOne;
437
554
  private downloadMany;
438
555
  /**
556
+ * Download a single object as a readable stream instead of a buffered {@link DownloadResult}.
557
+ * Backed by the adapter's native `getStream()`, this never allocates the whole payload in memory,
558
+ * making it the right choice for serving large objects without the `.raw` escape hatch. Object
559
+ * metadata (size, content-type, etag, last-modified) is fetched alongside the stream.
560
+ */
561
+ downloadStream(key: string, options?: OperationOptions): Promise<DownloadStreamResult>;
562
+ /**
439
563
  * Fetch metadata for a single object, or — when passed an array of keys — bulk-head many in
440
564
  * one call with bounded concurrency.
441
565
  */
@@ -528,145 +652,4 @@ declare class Files<TStorage extends BaseStorage = BaseStorage> {
528
652
  url(key: string, options?: OperationOptions & SignedReadUrlOptions): Promise<string>;
529
653
  signedUploadUrl(key: string, options?: OperationOptions & SignedUploadUrlOptions): Promise<string>;
530
654
  }
531
- /**
532
- * Per-key event reported to {@link TransferOptions.onProgress}.
533
- */
534
- interface TransferProgress {
535
- /** 1-based index of the current key in walk order. */
536
- done: number;
537
- error?: Error;
538
- key: string;
539
- status: "errored" | "skipped" | "transferred";
540
- }
541
- interface TransferOptions extends OperationOptions {
542
- /**
543
- * In-flight key transfers.
544
- * @default 8
545
- */
546
- concurrency?: number;
547
- /** Per-page size requested from the source adapter while walking. */
548
- limit?: number;
549
- /** Fire-and-forget progress reporter. Throws are swallowed. */
550
- onProgress?: (event: TransferProgress) => void;
551
- /**
552
- * When `false`, skip keys that already exist at the destination. When `true`, always upload.
553
- * @default false
554
- */
555
- overwrite?: boolean;
556
- /** Restrict the walk to this prefix on the source. */
557
- prefix?: string;
558
- /**
559
- * When `true`, the first failing transfer rejects {@link transfer} instead of being
560
- * collected in `errors`.
561
- * @default false
562
- */
563
- stopOnError?: boolean;
564
- /** Transform each source key into the destination key. Defaults to identity. */
565
- transformKey?: (key: string) => string;
566
- }
567
- interface TransferResult {
568
- errors?: BulkError[];
569
- skipped: string[];
570
- transferred: string[];
571
- }
572
- /**
573
- * Streams every object from `source` to `destination` for cross-provider migration.
574
- * Built entirely on the public {@link Files} surface — no adapter implements anything new.
575
- *
576
- * Each object is downloaded and re-uploaded with bounded concurrency. By default missing
577
- * destination keys are uploaded and existing keys are skipped — pass `overwrite: true` to force
578
- * re-upload. Body, content type, and user metadata travel; `etag`/`lastModified` are
579
- * destination-assigned.
580
- *
581
- * Like the other bulk methods, `transfer` doesn't throw on partial failure: results come back as
582
- * `{ transferred, skipped, errors? }`.
583
- * @example
584
- * ```ts
585
- * const from = new Files({ adapter: new S3Storage({ bucket: "old", ... }) });
586
- * const to = new Files({ adapter: new GCSStorage({ bucket: "new", ... }) });
587
- *
588
- * const { transferred, skipped, errors } = await transfer(from, to, {
589
- * prefix: "uploads/",
590
- * onProgress: ({ done, key, status }) => console.log(done, key, status),
591
- * });
592
- * ```
593
- */
594
- declare const transfer: (source: Files, destination: Files, options?: TransferOptions) => Promise<TransferResult>;
595
- /**
596
- * Per-key event reported to {@link SyncOptions.onProgress}.
597
- */
598
- interface SyncProgress {
599
- /** 1-based index of the current key in walk order. */
600
- done: number;
601
- error?: Error;
602
- key: string;
603
- status: "deleted" | "errored" | "skipped" | "unchanged" | "updated" | "uploaded";
604
- }
605
- interface SyncOptions extends OperationOptions {
606
- /**
607
- * In-flight key operations.
608
- * @default 8
609
- */
610
- concurrency?: number;
611
- /**
612
- * Compute the plan without writing anything. The returned `uploaded`/`updated`/`deleted` lists
613
- * describe what *would* happen; the destination is left untouched.
614
- * @default false
615
- */
616
- dryRun?: boolean;
617
- /** Per-page size requested from the source adapter while walking. */
618
- limit?: number;
619
- /** Fire-and-forget progress reporter. Throws are swallowed. */
620
- onProgress?: (event: SyncProgress) => void;
621
- /** Restrict the sync to this prefix on both source and destination. */
622
- prefix?: string;
623
- /**
624
- * Delete destination keys that no longer exist on the source (mirror semantics). Pruning runs
625
- * after the copy pass so a failed upload never triggers a delete of its counterpart.
626
- * @default false
627
- */
628
- prune?: boolean;
629
- /**
630
- * When `true`, the first failing operation rejects {@link sync} instead of being collected in
631
- * `errors`. Pruning is skipped when a copy-phase error stops the run.
632
- * @default false
633
- */
634
- stopOnError?: boolean;
635
- /** Transform each source key into the destination key. Defaults to identity. */
636
- transformKey?: (key: string) => string;
637
- }
638
- interface SyncResult {
639
- /** Destination keys removed because they were absent from the source (only when `prune`). */
640
- deleted: string[];
641
- errors?: BulkError[];
642
- /** Source keys whose destination copy already matched and was left untouched. */
643
- unchanged: string[];
644
- /** Source keys re-uploaded because the destination copy differed. */
645
- updated: string[];
646
- /** Source keys newly created at the destination. */
647
- uploaded: string[];
648
- }
649
- /**
650
- * Incremental, optionally-pruning mirror from `source` to `destination`. Built entirely on the
651
- * public {@link Files} surface — no adapter implements anything new.
652
- *
653
- * Each source object is compared against its destination counterpart (by size, then etag, then
654
- * modification time) and only copied when missing or differing; matching objects are skipped. With
655
- * `prune: true`, destination keys absent from the source are deleted afterwards (full mirror).
656
- * Pass `dryRun: true` to compute the plan without writing.
657
- *
658
- * Like the other bulk methods, `sync` doesn't throw on partial failure: results come back as
659
- * `{ uploaded, updated, unchanged, deleted, errors? }`.
660
- * @example
661
- * ```ts
662
- * const from = new Files({ adapter: new S3Storage({ bucket: "primary", ... }) });
663
- * const to = new Files({ adapter: new GCSStorage({ bucket: "mirror", ... }) });
664
- *
665
- * // Preview first…
666
- * const plan = await sync(from, to, { prefix: "assets/", prune: true, dryRun: true });
667
- * // …then apply.
668
- * const result = await sync(from, to, { prefix: "assets/", prune: true });
669
- * ```
670
- */
671
- declare const sync: (source: Files, destination: Files, options?: SyncOptions) => Promise<SyncResult>;
672
- export { TransferResult as A, BulkDeleteResult as B, UploadControlState as C, DownloadOptions as D, UploadControlToken as E, Files as F, UploadOptions as G, HookActionType as H, UploadProgress as I, UploadProgressCallback as J, sync as K, ListAllOptions as L, MultipartOptions as M, transfer as N, SignedReadUrlOptions as S, TransferOptions as T, UploadControl as U, BulkDownloadOptions as a, BulkDownloadResult as b, BulkError as c, BulkExistsResult as d, BulkHeadResult as e, BulkMoveItem as f, BulkMoveResult as g, BulkOptions as h, BulkUploadItem as i, BulkUploadOptions as j, BulkUploadResult as k, DownloadRange as l, DownloadResult as m, FileBody as n, FileObject as o, FilesHooks as p, FilesOptions as q, HookEvent as r, ListDirectoryResult as s, ListOptions as t, SignedUploadUrlOptions as u, StorageCapabilities as v, SyncOptions as w, SyncProgress as x, SyncResult as y, TransferProgress as z };
655
+ export { SyncProgress as A, BulkDeleteResult as B, TransferProgress as C, DownloadOptions as D, UploadControlState as E, Files as F, UploadControlToken as G, HookActionType as H, UploadOptions as I, UploadProgress as J, UploadProgressCallback as K, ListAllOptions as L, MultipartOptions as M, SyncOptions as S, TransferOptions as T, UploadControl as U, SyncResult as a, TransferResult as b, BulkDownloadOptions as c, BulkDownloadResult as d, BulkError as e, BulkExistsResult as f, BulkHeadResult as g, BulkMoveItem as h, BulkMoveResult as i, BulkOptions as j, BulkUploadItem as k, BulkUploadOptions as l, BulkUploadResult as m, DownloadRange as n, DownloadResult as o, DownloadStreamResult as p, FileBody as q, FileObject as r, FilesHooks as s, FilesOptions as t, HookEvent as u, ListDirectoryResult as v, ListOptions as w, SignedReadUrlOptions as x, SignedUploadUrlOptions as y, StorageCapabilities as z };
@@ -0,0 +1 @@
1
+ import{randomUUID as p}from"node:crypto";import{request as l}from"gaxios";import{GoogleAuth as g}from"google-auth-library";import y from"./MetaStorage-DPEUyWgN.js";import{stringifyMetadata as f,parseMetadata as C}from"./Metadata-kxSBaSee.js";import a from"./GCSConfig-BQ0OpVhe.js";import{e as R}from"./has-content-50BsqrWw.js";var v="@visulima/storage",E="1.0.0-alpha.35";const n={name:v,version:E},b=r=>{const t=r.match(/(\d+)-(\d+)/),e=t?.[2]?+t[2]:0;return e>0?e+1:0},q=r=>{if(R(r)){const t=r.contentLength?r.start+r.contentLength-1:"*";return`bytes ${r.start}-${t}/${r.size??"*"}`}return`bytes */${r.size??"*"}`},I=r=>{if(r.response!==void 0){const{response:t}=r;return t?.data?.error?.errors?.map(({reason:e=""})=>e==="rateLimitExceeded"||e==="userRateLimitExceeded"?!0:!!(e&&e.includes("EAI_AGAIN"))).includes(!0)}return!1},A={retry:3,shouldRetry:I,statusCodesToRetry:[[408,429,500,502,503,504],[100,199],[429],[500,599]]};class M extends y{constructor(t){super(t),this.config=t;const{authClient:e,...s}=t,o=s.bucket||process.env.GCS_BUCKET;if(e===void 0){if(!o)throw new Error("GCS bucket is not defined");if(!s.projectId)throw new Error("Sorry, we cannot connect to Cloud Services without a project ID.");s.scopes||=a.authScopes,this.authClient=new g(s)}else this.authClient=e;this.storageBaseURI=`${s.storageAPI||a.storageAPI}/${o}/o`,this.uploadBaseURI=`${s.uploadAPI||a.uploadAPI}/${o}/o`;const u=["storage.googleapis.com"],c=new URL(this.storageBaseURI).hostname;this.isCustomEndpoint=!u.includes(c);const{retryOptions:h,useAuthWithCustomEndpoint:d,userProject:m}=t;this.userProject=m,this.useAuthWithCustomEndpoint=d||!1,this.retryOptions={...A,...h},e===void 0&&this.accessCheck().catch(i=>{throw i.code==="404"?new Error(`Bucket ${o} does not exist`):i})}config;authClient;storageBaseURI;uploadBaseURI;isCustomEndpoint=!1;retryOptions={};useAuthWithCustomEndpoint;userProject;async save(t,e){const s={...e};return s.metadata&&(s.metadata=f(e.metadata)),await this.makeRequest({body:JSON.stringify(s),headers:{"Content-Type":"application/json; charset=utf-8"},method:"POST",params:{name:encodeURIComponent(this.getMetaName(t)),uploadType:"media"},url:this.uploadBaseURI}),e}async delete(t){const e=this.getMetaPath(t);await this.makeRequest({method:"DELETE",url:e})}async get(t){const e=this.getMetaPath(t),{data:s}=await this.makeRequest({params:{alt:"media"},url:e});return s.metadata&&typeof s.metadata=="string"&&(s.metadata=C(s.metadata)),s}async touch(t,e){return this.save(t,e)}async accessCheck(){return this.makeRequest({url:this.storageBaseURI.replace("/o","")})}getMetaPath(t){return`${this.storageBaseURI}/${this.getMetaName(t)}`}async makeRequest(t){return typeof t.url=="string"&&(t.url=t.url.replaceAll("/:",":")),t={...t,headers:{"User-Agent":`${n.name}/${n.version}`,"x-goog-api-client":`gl-node/${process.versions.node} gccl/${n.version} gccl-invocation-id/${p()}`},params:{...this.userProject===void 0?{}:{userProject:this.userProject}},retry:!0,retryConfig:this.retryOptions,timeout:6e4},this.isCustomEndpoint&&!this.useAuthWithCustomEndpoint?l(t):this.authClient.request(t)}}export{q as b,b as g,n as m,A as r,M as v};
@@ -0,0 +1 @@
1
+ const e=t=>t.bytesWritten===t.size?"completed":t.createdAt?"part":"created";export{e as t};
@@ -0,0 +1 @@
1
+ import s from"mime";const r=(e,t)=>e?e.startsWith(`${t}/`):!1,a=e=>{if(e)return s.getExtension(e)||void 0},m=(e,t,o)=>{const n=typeof e.size=="string"?Number.parseInt(e.size,10):e.size;if(o?.maxSize&&n>o.maxSize)throw new Error(`${t} size ${n} exceeds maximum allowed size ${o.maxSize}`);if(!r(e.contentType,t))throw new Error(`File is not ${t==="image"?"an":"a"} ${t}: ${e.contentType}`);const i=a(e.contentType);if(o?.supportedFormats&&i&&!o.supportedFormats.includes(i))throw new Error(`Unsupported ${t} format: ${i}`)},d=e=>e?!!s.getExtension(e):!1;export{a as getFormatFromContentType,d as isKnownContentType,r as isValidMediaType,m as validateMediaFile};
@@ -0,0 +1 @@
1
+ const e=t=>typeof t.start=="number"&&t.start>=0&&!!t.body;export{e};
@@ -0,0 +1,26 @@
1
+ import{g as Me}from"./_commonjsHelpers-CWAkuNXM.js";import $e from"path";var ie={exports:{}},oe,fe;function He(){if(fe)return oe;fe=1;/*!
2
+ * depd
3
+ * Copyright(c) 2014-2018 Douglas Christopher Wilson
4
+ * MIT Licensed
5
+ */var s=$e.relative;oe=l;var e=process.cwd();function t(i,o){for(var h=i.split(/[ ,]+/),p=String(o).toLowerCase(),c=0;c<h.length;c++){var C=h[c];if(C&&(C==="*"||C.toLowerCase()===p))return!0}return!1}function r(i,o,h){var p=Object.getOwnPropertyDescriptor(i,o),c=p.value;return p.get=function(){return c},p.writable&&(p.set=function(C){return c=C}),delete p.value,delete p.writable,Object.defineProperty(i,o,p),p}function a(i){for(var o="",h=0;h<i;h++)o+=", arg"+h;return o.substr(2)}function n(i){var o=this.name+": "+this.namespace;this.message&&(o+=" deprecated "+this.message);for(var h=0;h<i.length;h++)o+=`
6
+ at `+i[h].toString();return o}function l(i){if(!i)throw new TypeError("argument namespace is required");var o=b(),h=w(o[1]),p=h[0];function c(C){S.call(c,C)}return c._file=p,c._ignored=y(i),c._namespace=i,c._traced=v(i),c._warned=Object.create(null),c.function=x,c.property=g,c}function f(i,o){var h=typeof i.listenerCount!="function"?i.listeners(o).length:i.listenerCount(o);return h>0}function y(i){if(process.noDeprecation)return!0;var o=process.env.NO_DEPRECATION||"";return t(o,i)}function v(i){if(process.traceDeprecation)return!0;var o=process.env.TRACE_DEPRECATION||"";return t(o,i)}function S(i,o){var h=f(process,"deprecation");if(!(!h&&this._ignored)){var p,c,C,P,T=0,D=!1,M=b(),ae=this._file;for(o?(P=o,C=w(M[1]),C.name=P.name,ae=C[0]):(T=2,P=w(M[T]),C=P);T<M.length;T++)if(p=w(M[T]),c=p[0],c===ae)D=!0;else if(c===this._file)ae=this._file;else if(D)break;var ne=p?P.join(":")+"__"+p.join(":"):void 0;if(!(ne!==void 0&&ne in this._warned)){this._warned[ne]=!0;var G=i;if(G||(G=C===P||!C.name?k(P):k(C)),h){var Re=A(this._namespace,G,M.slice(T));process.emit("deprecation",Re);return}var Le=process.stderr.isTTY?_:F,je=Le.call(this,G,p,M.slice(T));process.stderr.write(je+`
7
+ `,"utf8")}}}function w(i){var o=i.getFileName()||"<anonymous>",h=i.getLineNumber(),p=i.getColumnNumber();i.isEval()&&(o=i.getEvalOrigin()+", "+o);var c=[o,h,p];return c.callSite=i,c.name=i.getFunctionName(),c}function k(i){var o=i.callSite,h=i.name;h||(h="<anonymous@"+d(i)+">");var p=o.getThis(),c=p&&o.getTypeName();return c==="Object"&&(c=void 0),c==="Function"&&(c=p.name||c),c&&o.getMethodName()?c+"."+h:h}function F(i,o,h){var p=new Date().toUTCString(),c=p+" "+this._namespace+" deprecated "+i;if(this._traced){for(var C=0;C<h.length;C++)c+=`
8
+ at `+h[C].toString();return c}return o&&(c+=" at "+d(o)),c}function _(i,o,h){var p="\x1B[36;1m"+this._namespace+"\x1B[22;39m \x1B[33;1mdeprecated\x1B[22;39m \x1B[0m"+i+"\x1B[39m";if(this._traced){for(var c=0;c<h.length;c++)p+=`
9
+ \x1B[36mat `+h[c].toString()+"\x1B[39m";return p}return o&&(p+=" \x1B[36m"+d(o)+"\x1B[39m"),p}function d(i){return s(e,i[0])+":"+i[1]+":"+i[2]}function b(){var i=Error.stackTraceLimit,o={},h=Error.prepareStackTrace;Error.prepareStackTrace=m,Error.stackTraceLimit=Math.max(10,i),Error.captureStackTrace(o);var p=o.stack.slice(1);return Error.prepareStackTrace=h,Error.stackTraceLimit=i,p}function m(i,o){return o}function x(i,o){if(typeof i!="function")throw new TypeError("argument fn must be a function");var h=a(i.length),p=b(),c=w(p[1]);c.name=i.name;var C=new Function("fn","log","deprecate","message","site",`"use strict"
10
+ return function (`+h+`) {log.call(deprecate, message, site)
11
+ return fn.apply(this, arguments)
12
+ }`)(i,S,this,o,c);return C}function g(i,o,h){if(!i||typeof i!="object"&&typeof i!="function")throw new TypeError("argument obj must be object");var p=Object.getOwnPropertyDescriptor(i,o);if(!p)throw new TypeError("must call property on owner object");if(!p.configurable)throw new TypeError("property must be configurable");var c=this,C=b(),P=w(C[1]);P.name=o,"value"in p&&(p=r(i,o));var T=p.get,D=p.set;typeof T=="function"&&(p.get=function(){return S.call(c,h,P),T.apply(this,arguments)}),typeof D=="function"&&(p.set=function(){return S.call(c,h,P),D.apply(this,arguments)}),Object.defineProperty(i,o,p)}function A(i,o,h){var p=new Error,c;return Object.defineProperty(p,"constructor",{value:A}),Object.defineProperty(p,"message",{configurable:!0,enumerable:!1,value:o,writable:!0}),Object.defineProperty(p,"name",{enumerable:!1,configurable:!0,value:"DeprecationError",writable:!0}),Object.defineProperty(p,"namespace",{configurable:!0,enumerable:!1,value:i,writable:!0}),Object.defineProperty(p,"stack",{configurable:!0,enumerable:!1,get:function(){return c!==void 0?c:c=n.call(this,h)},set:function(C){c=C}}),p}return oe}var le,he;function Ne(){if(he)return le;he=1,le=Object.setPrototypeOf||({__proto__:[]}instanceof Array?s:e);function s(t,r){return t.__proto__=r,t}function e(t,r){for(var a in r)Object.prototype.hasOwnProperty.call(t,a)||(t[a]=r[a]);return t}return le}var ue,de;function Ie(){return de||(de=1,ue={100:"Continue",101:"Switching Protocols",102:"Processing",103:"Early Hints",200:"OK",201:"Created",202:"Accepted",203:"Non-Authoritative Information",204:"No Content",205:"Reset Content",206:"Partial Content",207:"Multi-Status",208:"Already Reported",226:"IM Used",300:"Multiple Choices",301:"Moved Permanently",302:"Found",303:"See Other",304:"Not Modified",305:"Use Proxy",307:"Temporary Redirect",308:"Permanent Redirect",400:"Bad Request",401:"Unauthorized",402:"Payment Required",403:"Forbidden",404:"Not Found",405:"Method Not Allowed",406:"Not Acceptable",407:"Proxy Authentication Required",408:"Request Timeout",409:"Conflict",410:"Gone",411:"Length Required",412:"Precondition Failed",413:"Payload Too Large",414:"URI Too Long",415:"Unsupported Media Type",416:"Range Not Satisfiable",417:"Expectation Failed",418:"I'm a Teapot",421:"Misdirected Request",422:"Unprocessable Entity",423:"Locked",424:"Failed Dependency",425:"Too Early",426:"Upgrade Required",428:"Precondition Required",429:"Too Many Requests",431:"Request Header Fields Too Large",451:"Unavailable For Legal Reasons",500:"Internal Server Error",501:"Not Implemented",502:"Bad Gateway",503:"Service Unavailable",504:"Gateway Timeout",505:"HTTP Version Not Supported",506:"Variant Also Negotiates",507:"Insufficient Storage",508:"Loop Detected",509:"Bandwidth Limit Exceeded",510:"Not Extended",511:"Network Authentication Required"}),ue}var ce,me;function qe(){if(me)return ce;me=1;/*!
13
+ * statuses
14
+ * Copyright(c) 2014 Jonathan Ong
15
+ * Copyright(c) 2016 Douglas Christopher Wilson
16
+ * MIT Licensed
17
+ */var s=Ie();ce=n,n.message=s,n.code=e(s),n.codes=t(s),n.redirect={300:!0,301:!0,302:!0,303:!0,305:!0,307:!0,308:!0},n.empty={204:!0,205:!0,304:!0},n.retry={502:!0,503:!0,504:!0};function e(l){var f={};return Object.keys(l).forEach(function(y){var v=l[y],S=Number(y);f[v.toLowerCase()]=S}),f}function t(l){return Object.keys(l).map(function(f){return Number(f)})}function r(l){var f=l.toLowerCase();if(!Object.prototype.hasOwnProperty.call(n.code,f))throw new Error('invalid status message: "'+l+'"');return n.code[f]}function a(l){if(!Object.prototype.hasOwnProperty.call(n.message,l))throw new Error("invalid status code: "+l);return n.message[l]}function n(l){if(typeof l=="number")return a(l);if(typeof l!="string")throw new TypeError("code must be a number or string");var f=parseInt(l,10);return isNaN(f)?r(l):a(f)}return ce}var K={exports:{}},V={exports:{}},ge;function Fe(){return ge||(ge=1,typeof Object.create=="function"?V.exports=function(s,e){e&&(s.super_=e,s.prototype=Object.create(e.prototype,{constructor:{value:s,enumerable:!1,writable:!0,configurable:!0}}))}:V.exports=function(s,e){if(e){s.super_=e;var t=function(){};t.prototype=e.prototype,s.prototype=new t,s.prototype.constructor=s}}),V.exports}var ye;function De(){if(ye)return K.exports;ye=1;try{var s=require("util");if(typeof s.inherits!="function")throw"";K.exports=s.inherits}catch{K.exports=Fe()}return K.exports}var pe,ve;function We(){if(ve)return pe;ve=1;/*!
18
+ * toidentifier
19
+ * Copyright(c) 2016 Douglas Christopher Wilson
20
+ * MIT Licensed
21
+ */pe=s;function s(e){return e.split(" ").map(function(t){return t.slice(0,1).toUpperCase()+t.slice(1)}).join("").replace(/[^ _0-9a-z]/gi,"")}return pe}var we;function Ue(){return we||(we=1,(function(s){/*!
22
+ * http-errors
23
+ * Copyright(c) 2014 Jonathan Ong
24
+ * Copyright(c) 2016 Douglas Christopher Wilson
25
+ * MIT Licensed
26
+ */var e=He()("http-errors"),t=Ne(),r=qe(),a=De(),n=We();s.exports=f,s.exports.HttpError=y(),s.exports.isHttpError=S(s.exports.HttpError),F(s.exports,r.codes,s.exports.HttpError);function l(d){return+(String(d).charAt(0)+"00")}function f(){for(var d,b,m=500,x={},g=0;g<arguments.length;g++){var A=arguments[g],i=typeof A;if(i==="object"&&A instanceof Error)d=A,m=d.status||d.statusCode||m;else if(i==="number"&&g===0)m=A;else if(i==="string")b=A;else if(i==="object")x=A;else throw new TypeError("argument #"+(g+1)+" unsupported type "+i)}typeof m=="number"&&(m<400||m>=600)&&e("non-error status code; use only 4xx or 5xx status codes"),(typeof m!="number"||!r.message[m]&&(m<400||m>=600))&&(m=500);var o=f[m]||f[l(m)];d||(d=o?new o(b):new Error(b||r.message[m]),Error.captureStackTrace(d,f)),(!o||!(d instanceof o)||d.status!==m)&&(d.expose=m<500,d.status=d.statusCode=m);for(var h in x)h!=="status"&&h!=="statusCode"&&(d[h]=x[h]);return d}function y(){function d(){throw new TypeError("cannot construct abstract class")}return a(d,Error),d}function v(d,b,m){var x=_(b);function g(A){var i=A??r.message[m],o=new Error(i);return Error.captureStackTrace(o,g),t(o,g.prototype),Object.defineProperty(o,"message",{enumerable:!0,configurable:!0,value:i,writable:!0}),Object.defineProperty(o,"name",{enumerable:!1,configurable:!0,value:x,writable:!0}),o}return a(g,d),k(g,x),g.prototype.status=m,g.prototype.statusCode=m,g.prototype.expose=!0,g}function S(d){return function(b){return!b||typeof b!="object"?!1:b instanceof d?!0:b instanceof Error&&typeof b.expose=="boolean"&&typeof b.statusCode=="number"&&b.status===b.statusCode}}function w(d,b,m){var x=_(b);function g(A){var i=A??r.message[m],o=new Error(i);return Error.captureStackTrace(o,g),t(o,g.prototype),Object.defineProperty(o,"message",{enumerable:!0,configurable:!0,value:i,writable:!0}),Object.defineProperty(o,"name",{enumerable:!1,configurable:!0,value:x,writable:!0}),o}return a(g,d),k(g,x),g.prototype.status=m,g.prototype.statusCode=m,g.prototype.expose=!1,g}function k(d,b){var m=Object.getOwnPropertyDescriptor(d,"name");m&&m.configurable&&(m.value=b,Object.defineProperty(d,"name",m))}function F(d,b,m){b.forEach(function(x){var g,A=n(r.message[x]);switch(l(x)){case 400:g=v(m,A,x);break;case 500:g=w(m,A,x);break}g&&(d[x]=g,d[A]=g)})}function _(d){return d.slice(-5)==="Error"?d:d+"Error"}})(ie)),ie.exports}var ze=Ue();const at=Me(ze);function R(s,e=";"){let t=e===";"?/(?:^|;)\s*([^=;\s]+)(\s*=\s*(?:"((?:[^"\\]|\\.)*)"|((?:[^;]|\\;)+))?)?/g:/(?:^|,)\s*([^=,\s]+)(\s*=\s*(?:"((?:[^"\\]|\\.)*)"|((?:[^,]|\\,)+))?)?/g,r=[],a;for(;(a=t.exec(s))!==null;){let n=a[1].trim(),l;a[2]&&(l=(a[3]||a[4]||"").replace(/\\(.)/g,"$1").trim()),r.push([n,l])}return r}function L(s){return s.includes('"')||s.includes(";")||s.includes(" ")?`"${s.replace(/"/g,'\\"')}"`:s}function Be(s){return s.charAt(0).toUpperCase()+s.slice(1).toLowerCase()}function $(s){return s!=null&&typeof s[Symbol.iterator]=="function"}function Xe(s){return s instanceof Date&&!isNaN(s.getTime())}function O(s){return s==="*"||/^(W\/)?".*"$/.test(s)?s:`"${s}"`}function be(s){let e=s instanceof Date?s.getTime():s;return Math.floor(e/1e3)}const _e=/^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), (\d{2}) (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) (\d{4}) (\d{2}):(\d{2}):(\d{2}) GMT$/;function Ge(s){if(!_e.test(s))return null;let e=Date.parse(s);return isNaN(e)?null:e}class X{#e;constructor(e){if(e)return X.from(e);this.#e=new Map}#t(){this.#e=new Map([...this.#e].sort((e,t)=>t[1]-e[1]))}get mediaTypes(){return Array.from(this.#e.keys())}get weights(){return Array.from(this.#e.values())}get size(){return this.#e.size}accepts(e){return this.getWeight(e)>0}getWeight(e){let[t,r]=e.toLowerCase().split("/");for(let[a,n]of this){let[l,f]=a.split("/");if((l===t||l==="*"||t==="*")&&(f===r||f==="*"||r==="*"))return n}return 0}getPreferred(e){let t=e.map(r=>[r,this.getWeight(r)]).sort((r,a)=>a[1]-r[1])[0];return t!==void 0&&t[1]>0?t[0]:null}get(e){return this.#e.get(e.toLowerCase())??null}set(e,t=1){this.#e.set(e.toLowerCase(),t),this.#t()}delete(e){this.#e.delete(e.toLowerCase())}has(e){return this.#e.has(e.toLowerCase())}clear(){this.#e.clear()}entries(){return this.#e.entries()}[Symbol.iterator](){return this.entries()}forEach(e,t){for(let[r,a]of this)e.call(t,r,a,this)}toString(){let e=[];for(let[t,r]of this.#e)e.push(`${t}${r===1?"":`;q=${r}`}`);return e.join(",")}static from(e){let t=new X;if(e!==null){if(typeof e=="string")for(let r of e.split(/\s*,\s*/)){let a=R(r);if(a.length<1)continue;let n=a[0][0],l=1;for(let f=1;f<a.length;f++){let[y,v]=a[f];if(y==="q"){l=Number(v);break}}t.#e.set(n.toLowerCase(),l)}else if($(e))for(let r of e)Array.isArray(r)?t.#e.set(r[0].toLowerCase(),r[1]):t.#e.set(r.toLowerCase(),1);else for(let r of Object.getOwnPropertyNames(e))t.#e.set(r.toLowerCase(),e[r]);t.#t()}return t}}class J{#e;constructor(e){if(e)return J.from(e);this.#e=new Map}#t(){this.#e=new Map([...this.#e].sort((e,t)=>t[1]-e[1]))}get encodings(){return Array.from(this.#e.keys())}get weights(){return Array.from(this.#e.values())}get size(){return this.#e.size}accepts(e){return e.toLowerCase()==="identity"||this.getWeight(e)>0}getWeight(e){let t=e.toLowerCase();for(let[r,a]of this)if(r===t||r==="*"||t==="*")return a;return 0}getPreferred(e){let t=e.map(r=>[r,this.getWeight(r)]).sort((r,a)=>a[1]-r[1])[0];return t!==void 0&&t[1]>0?t[0]:null}get(e){return this.#e.get(e.toLowerCase())??null}set(e,t=1){this.#e.set(e.toLowerCase(),t),this.#t()}delete(e){this.#e.delete(e.toLowerCase())}has(e){return this.#e.has(e.toLowerCase())}clear(){this.#e.clear()}entries(){return this.#e.entries()}[Symbol.iterator](){return this.entries()}forEach(e,t){for(let[r,a]of this)e.call(t,r,a,this)}toString(){let e=[];for(let[t,r]of this.#e)e.push(`${t}${r===1?"":`;q=${r}`}`);return e.join(",")}static from(e){let t=new J;if(e!==null){if(typeof e=="string")for(let r of e.split(/\s*,\s*/)){let a=R(r);if(a.length<1)continue;let n=a[0][0],l=1;for(let f=1;f<a.length;f++){let[y,v]=a[f];if(y==="q"){l=Number(v);break}}t.#e.set(n.toLowerCase(),l)}else if($(e))for(let r of e)Array.isArray(r)?t.#e.set(r[0].toLowerCase(),r[1]):t.#e.set(r.toLowerCase(),1);else for(let r of Object.getOwnPropertyNames(e))t.#e.set(r.toLowerCase(),e[r]);t.#t()}return t}}class Y{#e;constructor(e){if(e)return Y.from(e);this.#e=new Map}#t(){this.#e=new Map([...this.#e].sort((e,t)=>t[1]-e[1]))}get languages(){return Array.from(this.#e.keys())}get weights(){return Array.from(this.#e.values())}get size(){return this.#e.size}accepts(e){return this.getWeight(e)>0}getWeight(e){let[t,r]=e.toLowerCase().split("-");for(let[a,n]of this){let[l,f]=a.split("-");if((l===t||l==="*"||t==="*")&&(f===r||f===void 0||r===void 0))return n}return 0}getPreferred(e){let t=e.map(r=>[r,this.getWeight(r)]).sort((r,a)=>a[1]-r[1])[0];return t!==void 0&&t[1]>0?t[0]:null}get(e){return this.#e.get(e.toLowerCase())??null}set(e,t=1){this.#e.set(e.toLowerCase(),t),this.#t()}delete(e){this.#e.delete(e.toLowerCase())}has(e){return this.#e.has(e.toLowerCase())}clear(){this.#e.clear()}entries(){return this.#e.entries()}[Symbol.iterator](){return this.entries()}forEach(e,t){for(let[r,a]of this)e.call(t,r,a,this)}toString(){let e=[];for(let[t,r]of this.#e)e.push(`${t}${r===1?"":`;q=${r}`}`);return e.join(",")}static from(e){let t=new Y;if(e!==null){if(typeof e=="string")for(let r of e.split(/\s*,\s*/)){let a=R(r);if(a.length<1)continue;let n=a[0][0],l=1;for(let f=1;f<a.length;f++){let[y,v]=a[f];if(y==="q"){l=Number(v);break}}t.#e.set(n.toLowerCase(),l)}else if($(e))for(let r of e)Array.isArray(r)?t.#e.set(r[0].toLowerCase(),r[1]):t.#e.set(r.toLowerCase(),1);else for(let r of Object.getOwnPropertyNames(e))t.#e.set(r.toLowerCase(),e[r]);t.#t()}return t}}class Q{maxAge;maxStale;minFresh;sMaxage;noCache;noStore;noTransform;onlyIfCached;mustRevalidate;proxyRevalidate;mustUnderstand;private;public;immutable;staleWhileRevalidate;staleIfError;constructor(e){if(e)return Q.from(e)}toString(){let e=[];return this.public&&e.push("public"),this.private&&e.push("private"),typeof this.maxAge=="number"&&e.push(`max-age=${this.maxAge}`),typeof this.sMaxage=="number"&&e.push(`s-maxage=${this.sMaxage}`),this.noCache&&e.push("no-cache"),this.noStore&&e.push("no-store"),this.noTransform&&e.push("no-transform"),this.onlyIfCached&&e.push("only-if-cached"),this.mustRevalidate&&e.push("must-revalidate"),this.proxyRevalidate&&e.push("proxy-revalidate"),this.mustUnderstand&&e.push("must-understand"),this.immutable&&e.push("immutable"),typeof this.staleWhileRevalidate=="number"&&e.push(`stale-while-revalidate=${this.staleWhileRevalidate}`),typeof this.staleIfError=="number"&&e.push(`stale-if-error=${this.staleIfError}`),typeof this.maxStale=="number"&&e.push(`max-stale=${this.maxStale}`),typeof this.minFresh=="number"&&e.push(`min-fresh=${this.minFresh}`),e.join(", ")}static from(e){let t=new Q;if(e!==null)if(typeof e=="string"){let r=R(e,",");if(r.length>0)for(let[a,n]of r)switch(a){case"max-age":t.maxAge=Number(n);break;case"max-stale":t.maxStale=Number(n);break;case"min-fresh":t.minFresh=Number(n);break;case"s-maxage":t.sMaxage=Number(n);break;case"no-cache":t.noCache=!0;break;case"no-store":t.noStore=!0;break;case"no-transform":t.noTransform=!0;break;case"only-if-cached":t.onlyIfCached=!0;break;case"must-revalidate":t.mustRevalidate=!0;break;case"proxy-revalidate":t.proxyRevalidate=!0;break;case"must-understand":t.mustUnderstand=!0;break;case"private":t.private=!0;break;case"public":t.public=!0;break;case"immutable":t.immutable=!0;break;case"stale-while-revalidate":t.staleWhileRevalidate=Number(n);break;case"stale-if-error":t.staleIfError=Number(n);break}}else t.maxAge=e.maxAge,t.maxStale=e.maxStale,t.minFresh=e.minFresh,t.sMaxage=e.sMaxage,t.noCache=e.noCache,t.noStore=e.noStore,t.noTransform=e.noTransform,t.onlyIfCached=e.onlyIfCached,t.mustRevalidate=e.mustRevalidate,t.proxyRevalidate=e.proxyRevalidate,t.mustUnderstand=e.mustUnderstand,t.private=e.private,t.public=e.public,t.immutable=e.immutable,t.staleWhileRevalidate=e.staleWhileRevalidate,t.staleIfError=e.staleIfError;return t}}class H{filename;filenameSplat;name;type;constructor(e){if(e)return H.from(e)}get preferredFilename(){let e=this.filenameSplat;if(e){let t=Ke(e);if(t)return t}return this.filename}toString(){if(!this.type)return"";let e=[this.type];return this.name&&e.push(`name=${L(this.name)}`),this.filename&&e.push(`filename=${L(this.filename)}`),this.filenameSplat&&e.push(`filename*=${L(this.filenameSplat)}`),e.join("; ")}static from(e){let t=new H;if(e!==null)if(typeof e=="string"){let r=R(e);if(r.length>0){t.type=r[0][0];for(let[a,n]of r.slice(1))a==="filename"?t.filename=n:a==="filename*"?t.filenameSplat=n:a==="name"&&(t.name=n)}}else t.filename=e.filename,t.filenameSplat=e.filenameSplat,t.name=e.name,t.type=e.type;return t}}function Ke(s){let e=s.match(/^([\w-]+)'([^']*)'(.+)$/);if(!e)return null;let[,t,,r]=e,a=Ve(r);try{let n=new TextDecoder(t),l=new Uint8Array(a.split("").map(f=>f.charCodeAt(0)));return n.decode(l)}catch(n){return console.warn(`Failed to decode filename from charset ${t}:`,n),a}}function Ve(s){return s.replace(/%([0-9A-Fa-f]{2})/g,(e,t)=>String.fromCharCode(parseInt(t,16)))}class Z{unit="";start=null;end=null;size;constructor(e){if(e)return Z.from(e)}toString(){if(!this.unit||this.size===void 0)return"";let e=this.start!==null&&this.end!==null?`${this.start}-${this.end}`:"*";return`${this.unit} ${e}/${this.size}`}static from(e){let t=new Z;if(e!==null)if(typeof e=="string"){let r=e.match(/^(\w+)\s+(?:(\d+)-(\d+)|\*)\/((?:\d+|\*))$/);r&&(t.unit=r[1],t.start=r[2]?parseInt(r[2],10):null,t.end=r[3]?parseInt(r[3],10):null,t.size=r[4]==="*"?"*":parseInt(r[4],10))}else e.unit!==void 0&&(t.unit=e.unit),e.start!==void 0&&(t.start=e.start),e.end!==void 0&&(t.end=e.end),e.size!==void 0&&(t.size=e.size);return t}}class N{boundary;charset;mediaType;constructor(e){if(e)return N.from(e)}toString(){if(!this.mediaType)return"";let e=[this.mediaType];return this.charset&&e.push(`charset=${L(this.charset)}`),this.boundary&&e.push(`boundary=${L(this.boundary)}`),e.join("; ")}static from(e){let t=new N;if(e!==null)if(typeof e=="string"){let r=R(e);if(r.length>0){t.mediaType=r[0][0];for(let[a,n]of r.slice(1))a==="boundary"?t.boundary=n:a==="charset"&&(t.charset=n)}}else t.boundary=e.boundary,t.charset=e.charset,t.mediaType=e.mediaType;return t}}class I{#e;constructor(e){if(e)return I.from(e);this.#e=[]}get names(){return this.#e.map(([e])=>e)}get values(){return this.#e.map(([,e])=>e)}get size(){return this.#e.length}get(e){return this.#e.find(([t])=>t===e)?.[1]??null}getAll(e){return this.#e.filter(([t])=>t===e).map(([,t])=>t)}set(e,t){let r=this.#e.findIndex(([a])=>a===e);r===-1?this.#e.push([e,t]):(this.#e[r]=[e,t],this.#e=this.#e.filter(([a],n)=>a!==e||n===r))}append(e,t){this.#e.push([e,t])}delete(e){this.#e=this.#e.filter(([t])=>t!==e)}has(e){return this.#e.some(([t])=>t===e)}clear(){this.#e=[]}*entries(){for(let[e,t]of this.#e)yield[e,t]}[Symbol.iterator](){return this.entries()}forEach(e,t){for(let[r,a]of this)e.call(t,r,a,this)}toString(){let e=[];for(let[t,r]of this.#e)e.push(`${t}=${L(r)}`);return e.join("; ")}static from(e){let t=new I;if(e!==null)if(typeof e=="string"){let r=R(e);for(let[a,n]of r)t.#e.push([a,n??""])}else if($(e))for(let[r,a]of e)t.#e.push([r,a]);else for(let r of Object.getOwnPropertyNames(e))t.#e.push([r,e[r]]);return t}}class ee{tags=[];constructor(e){if(e)return ee.from(e)}has(e){return this.tags.includes(O(e))}matches(e){if(this.tags.length===0||this.tags.includes("*"))return!0;let t=O(e);if(t.startsWith("W/"))return!1;for(let r of this.tags)if(!r.startsWith("W/")&&r===t)return!0;return!1}toString(){return this.tags.join(", ")}static from(e){let t=new ee;return e!==null&&(typeof e=="string"?t.tags.push(...e.split(/\s*,\s*/).map(O)):Array.isArray(e)?t.tags.push(...e.map(O)):t.tags.push(...e.tags.map(O))),t}}class te{tags=[];constructor(e){if(e)return te.from(e)}has(e){return this.tags.includes(O(e))}matches(e){return this.has(e)||this.tags.includes("*")}toString(){return this.tags.join(", ")}static from(e){let t=new te;return e!==null&&(typeof e=="string"?t.tags.push(...e.split(/\s*,\s*/).map(O)):Array.isArray(e)?t.tags.push(...e.map(O)):t.tags.push(...e.tags.map(O))),t}}class re{value="";constructor(e){if(e)return re.from(e)}matches(e){if(!this.value)return!0;let t=Ge(this.value);if(t!==null&&e.lastModified!=null)return be(t)===be(e.lastModified);if(e.etag!=null){let r=O(this.value),a=O(e.etag);return r.startsWith("W/")||a.startsWith("W/")?!1:r===a}return!1}toString(){return this.value}static from(e){let t=new re;return e!==null&&(typeof e=="string"?t.value=e:t.value=e.toUTCString()),t}}class se{unit="";ranges=[];constructor(e){if(e)return se.from(e)}canSatisfy(e){if(!this.unit||this.ranges.length===0)return!1;for(let t of this.ranges)if(t.start===void 0&&t.end===void 0||t.start!==void 0&&t.end!==void 0&&t.start>t.end)return!1;for(let t of this.ranges)if(t.start===void 0||t.start<e)return!0;return!1}normalize(e){return this.canSatisfy(e)?this.ranges.map(t=>{if(t.start!==void 0&&t.end!==void 0)return{start:t.start,end:Math.min(t.end,e-1)};if(t.start!==void 0)return{start:t.start,end:e-1};{let r=t.end;return{start:Math.max(0,e-r),end:e-1}}}):[]}toString(){if(!this.unit||this.ranges.length===0)return"";let e=this.ranges.map(t=>t.start!==void 0&&t.end!==void 0?`${t.start}-${t.end}`:t.start!==void 0?`${t.start}-`:t.end!==void 0?`-${t.end}`:"");return`${this.unit}=${e.join(",")}`}static from(e){let t=new se;if(e!==null)if(typeof e=="string"){let r=e.match(/^(\w+)=(.+)$/);if(r){t.unit=r[1];let a=r[2].split(","),n=!1;for(let l of a){let f=l.trim().match(/^(\d*)-(\d*)$/);if(!f){n=!0;continue}let[,y,v]=f;if(!y&&!v){n=!0;continue}let S=y?parseInt(y,10):void 0,w=v?parseInt(v,10):void 0;if(S!==void 0&&w!==void 0&&S>w){n=!0;continue}t.ranges.push({start:S,end:w})}n&&(t.ranges=[])}}else e.unit!==void 0&&(t.unit=e.unit),e.ranges!==void 0&&(t.ranges=e.ranges);return t}}class j{domain;expires;httpOnly;maxAge;name;partitioned;path;sameSite;secure;value;constructor(e){if(e)return j.from(e)}toString(){if(!this.name)return"";let e=[`${this.name}=${L(this.value||"")}`];return this.domain&&e.push(`Domain=${this.domain}`),this.expires&&e.push(`Expires=${this.expires.toUTCString()}`),this.httpOnly&&e.push("HttpOnly"),this.maxAge!=null&&e.push(`Max-Age=${this.maxAge}`),this.partitioned&&e.push("Partitioned"),this.path&&e.push(`Path=${this.path}`),this.sameSite&&e.push(`SameSite=${this.sameSite}`),this.secure&&e.push("Secure"),e.join("; ")}static from(e){let t=new j;if(e!==null)if(typeof e=="string"){let r=R(e);if(r.length>0){t.name=r[0][0],t.value=r[0][1];for(let[a,n]of r.slice(1))switch(a.toLowerCase()){case"domain":t.domain=n;break;case"expires":{if(typeof n=="string"){let l=new Date(n);Xe(l)&&(t.expires=l)}break}case"httponly":t.httpOnly=!0;break;case"max-age":{if(typeof n=="string"){let l=parseInt(n,10);isNaN(l)||(t.maxAge=l)}break}case"partitioned":t.partitioned=!0;break;case"path":t.path=n;break;case"samesite":typeof n=="string"&&/strict|lax|none/i.test(n)&&(t.sameSite=Be(n));break;case"secure":t.secure=!0;break}}}else t.domain=e.domain,t.expires=e.expires,t.httpOnly=e.httpOnly,t.maxAge=e.maxAge,t.name=e.name,t.partitioned=e.partitioned,t.path=e.path,t.sameSite=e.sameSite,t.secure=e.secure,t.value=e.value;return t}}class q{#e;constructor(e){if(e)return q.from(e);this.#e=new Set}get headerNames(){return Array.from(this.#e)}get size(){return this.#e.size}has(e){return this.#e.has(e.toLowerCase())}add(e){let t=e.trim();t&&this.#e.add(t.toLowerCase())}delete(e){this.#e.delete(e.toLowerCase())}clear(){this.#e.clear()}forEach(e,t){for(let r of this)e.call(t,r,this)}[Symbol.iterator](){return this.#e.values()}toString(){return Array.from(this.#e).join(", ")}static from(e){let t=new q;if(e!==null)if(typeof e=="string")for(let r of e.split(",")){let a=r.trim();a&&t.#e.add(a.toLowerCase())}else if(Array.isArray(e))for(let r of e){let a=r.trim();a&&t.#e.add(a.toLowerCase())}else for(let r of e.headerNames){let a=r.trim();a&&t.#e.add(a.toLowerCase())}return t}}const W="set-cookie",Je=new Set(["copyWithin","fill","pop","push","reverse","shift","sort","splice","unshift"]),Oe=[E("accept","Accept",s=>X.from(s),["clear","delete","set"]),E("acceptEncoding","Accept-Encoding",s=>J.from(s),["clear","delete","set"]),E("acceptLanguage","Accept-Language",s=>Y.from(s),["clear","delete","set"]),E("cacheControl","Cache-Control",s=>Q.from(s)),E("contentDisposition","Content-Disposition",s=>H.from(s)),E("contentRange","Content-Range",s=>Z.from(s)),E("contentType","Content-Type",s=>N.from(s)),E("cookie","Cookie",s=>I.from(s),["append","clear","delete","set"]),E("ifMatch","If-Match",s=>ee.from(s)),E("ifNoneMatch","If-None-Match",s=>te.from(s)),E("ifRange","If-Range",s=>re.from(s)),E("range","Range",s=>se.from(s)),E("vary","Vary",s=>q.from(s),["add","clear","delete"])],Pe=[u("acceptCharset","Accept-Charset",!0),u("acceptPatch","Accept-Patch",!0),u("acceptPost","Accept-Post",!0),u("acceptRanges","Accept-Ranges",!0),u("accessControlAllowCredentials","Access-Control-Allow-Credentials"),u("accessControlAllowHeaders","Access-Control-Allow-Headers",!0),u("accessControlAllowMethods","Access-Control-Allow-Methods",!0),u("accessControlAllowOrigin","Access-Control-Allow-Origin"),u("accessControlExposeHeaders","Access-Control-Expose-Headers",!0),u("accessControlRequestHeaders","Access-Control-Request-Headers",!0),u("accessControlRequestMethod","Access-Control-Request-Method"),u("allow","Allow",!0),u("authorization","Authorization"),u("connection","Connection",!0),u("contentEncoding","Content-Encoding",!0),u("contentLanguage","Content-Language",!0),u("contentLocation","Content-Location"),u("contentSecurityPolicy","Content-Security-Policy"),u("contentSecurityPolicyReportOnly","Content-Security-Policy-Report-Only"),u("crossOriginEmbedderPolicy","Cross-Origin-Embedder-Policy"),u("crossOriginEmbedderPolicyReportOnly","Cross-Origin-Embedder-Policy-Report-Only"),u("crossOriginOpenerPolicy","Cross-Origin-Opener-Policy"),u("crossOriginOpenerPolicyReportOnly","Cross-Origin-Opener-Policy-Report-Only"),u("crossOriginResourcePolicy","Cross-Origin-Resource-Policy"),u("etag","ETag",!1,O),u("expect","Expect"),u("forwarded","Forwarded"),u("from","From"),u("host","Host"),u("idempotencyKey","Idempotency-Key"),u("keepAlive","Keep-Alive"),u("link","Link",!0),u("location","Location"),u("origin","Origin"),u("permissionsPolicy","Permissions-Policy",!0),u("pragma","Pragma",!0),u("prefer","Prefer",!0),u("preferenceApplied","Preference-Applied",!0),u("referer","Referer"),u("referrerPolicy","Referrer-Policy"),u("refresh","Refresh"),u("retryAfter","Retry-After"),u("server","Server"),u("strictTransportSecurity","Strict-Transport-Security"),u("traceparent","Traceparent"),u("tracestate","Tracestate",!0),u("userAgent","User-Agent"),u("via","Via",!0),u("wwwAuthenticate","WWW-Authenticate",!0),u("xContentTypeOptions","X-Content-Type-Options"),u("xForwardedFor","X-Forwarded-For",!0),u("xForwardedHost","X-Forwarded-Host"),u("xForwardedProto","X-Forwarded-Proto"),u("xFrameOptions","X-Frame-Options"),u("xPoweredBy","X-Powered-By"),u("xRobotsTag","X-Robots-Tag",!0)],Ye=[U("accessControlMaxAge","Access-Control-Max-Age"),U("age","Age"),U("contentLength","Content-Length"),U("maxForwards","Max-Forwards"),U("upgradeInsecureRequests","Upgrade-Insecure-Requests")],Qe=[z("date","Date"),z("expires","Expires"),z("ifModifiedSince","If-Modified-Since"),z("ifUnmodifiedSince","If-Unmodified-Since"),z("lastModified","Last-Modified")],B={kind:"set-cookie",property:"setCookie",name:"Set-Cookie"},Te=[...Oe,...Pe,...Ye,...Qe,B],Ce=new Map(Te.map(s=>[s.property,s])),Ze=new Set(["accept","acceptEncoding","acceptLanguage","cacheControl","ifMatch","ifNoneMatch"]),Se=new Set([...Oe.filter(s=>Ze.has(s.property)),...Pe.filter(s=>s.list)].map(s=>s.name.toLowerCase()));class ke extends Headers{#e=new Map;#t=new Map;#s;constructor(e){super(),e!==void 0&&this.#l(e)}append(e,t){Headers.prototype.append.call(this,e,t),this.#r(e)}delete(e){Headers.prototype.delete.call(this,e),this.#r(e)}set(e,t){Headers.prototype.set.call(this,e,t),this.#r(e)}apply(e){if(typeof e=="string")throw new TypeError("SuperHeaders does not parse raw header strings; use parse() instead");if($(e)){for(let[t,r]of e)this.#n(t,r);return this}for(let t of Object.getOwnPropertyNames(e)){let r=e[t],a=Ce.get(t);if(r==null)this.delete(a?.name??t);else if(a&&this.#u(a))this.#i(a,r);else if(a)for(let[n,l]of new ke({[t]:r}))this.#n(n,l);else this.#n(t,String(r))}return this}#l(e){if(typeof e=="string")throw new TypeError("SuperHeaders does not parse raw header strings; use parse() instead");if($(e)){for(let[t,r]of e)Headers.prototype.append.call(this,t,r);return}for(let t of Object.getOwnPropertyNames(e)){let r=e[t],a=Ce.get(t);a?this.#i(a,r):r!=null&&Headers.prototype.set.call(this,t,String(r))}}#n(e,t){let r=e.toLowerCase();if(r===W){t!==""&&this.append(e,t);return}if(r==="cookie"){let a=I.from(t);if(a.size===0)return;let n=I.from(this.get(e));for(let[l,f]of a)n.append(l,f);this.set(e,n.toString());return}if(r==="vary"){let a=q.from(t);if(a.size===0)return;let n=q.from(this.get(e));for(let l of a)n.add(l);this.set(e,n.toString());return}Se.has(r)?t!==""&&this.append(e,t):this.set(e,t)}#u(e){let t=e.name.toLowerCase();return t!==W&&t!=="cookie"&&t!=="vary"&&!Se.has(t)}#c(e){switch(e.kind){case"object":return this.#p(e);case"string":return this.#d(e);case"number":return this.#g(e);case"date":return this.#v(e);case"set-cookie":return this.#b()}}#i(e,t){switch(e.kind){case"object":this.#f(e,t);break;case"string":this.#m(e,t);break;case"number":this.#y(e,t);break;case"date":this.#w(e,t);break;case"set-cookie":this.#C(t);break}}#p(e){let t=e.name.toLowerCase(),r=Headers.prototype.get.call(this,e.name),a=this.#a(t),n=this.#e.get(t);if(n&&n.raw===r&&n.revision===a)return n.value;let l=e.from(r),f=xe(l,e.mutatingMethods,()=>{this.#h(e,l,a)});return this.#e.set(t,{raw:r,revision:a,value:f}),f}#f(e,t){if(t==null)Headers.prototype.delete.call(this,e.name);else if(typeof t=="string")Headers.prototype.set.call(this,e.name,t);else{let r=e.from(t).toString();r===""?Headers.prototype.delete.call(this,e.name):Headers.prototype.set.call(this,e.name,r)}this.#r(e.name)}#h(e,t,r){let a=e.name.toLowerCase();if(this.#a(a)!==r)return;let n=t.toString();n===""?Headers.prototype.delete.call(this,e.name):Headers.prototype.set.call(this,e.name,n);let l=this.#e.get(a);l?.revision===r&&(l.raw=Headers.prototype.get.call(this,e.name))}#d(e){return Headers.prototype.get.call(this,e.name)}#m(e,t){if(t==null)Headers.prototype.delete.call(this,e.name);else{let r=e.list&&Array.isArray(t)?t.map(String).join(", "):String(t);Headers.prototype.set.call(this,e.name,e.transform?e.transform(r):r)}this.#r(e.name)}#g(e){let t=Headers.prototype.get.call(this,e.name);return t===null?null:parseInt(t,10)}#y(e,t){t==null?Headers.prototype.delete.call(this,e.name):Headers.prototype.set.call(this,e.name,String(t)),this.#r(e.name)}#v(e){let t=Headers.prototype.get.call(this,e.name);return t===null?null:new Date(t)}#w(e,t){if(t==null)Headers.prototype.delete.call(this,e.name);else if(typeof t=="string")Headers.prototype.set.call(this,e.name,t);else{let r=typeof t=="number"?new Date(t):t;if(!(r instanceof Date))throw new TypeError(`${e.property} must be a string, number, Date, null, or undefined`);Headers.prototype.set.call(this,e.name,r.toUTCString())}this.#r(e.name)}#b(){let e=Ae(this),t=this.#a(W),r=this.#s;if(r&&r.revision===t&&tt(r.raw,e))return r.value;let a=e.map(l=>j.from(l)),n=xe(a,new Set,()=>{this.#S(a,t)});return this.#s={raw:e,revision:t,value:n},n}#C(e){if(e==null)Headers.prototype.delete.call(this,B.name);else{let t=Array.isArray(e)?e:[e];this.#o(t.map(Ee))}this.#r(B.name)}#S(e,t){this.#a(W)===t&&(et(e),this.#o(e.map(Ee)),this.#s?.revision===t&&(this.#s.raw=Ae(this)))}#o(e){Headers.prototype.delete.call(this,B.name);for(let t of e)t!==""&&Headers.prototype.append.call(this,B.name,t)}#r(e){let t=e.toLowerCase();this.#t.set(t,this.#a(t)+1),this.#e.delete(t),t===W&&(this.#s=void 0)}#a(e){return this.#t.get(e)??0}static{for(let e of Te)Object.defineProperty(this.prototype,e.property,{configurable:!0,get(){return this.#c(e)},set(t){this.#i(e,t)}})}}function E(s,e,t,r=[]){return{kind:"object",property:s,name:e,from(a){return t(a)},mutatingMethods:new Set(r)}}function u(s,e,t=!1,r){return{kind:"string",property:s,name:e,list:t,transform:r}}function U(s,e){return{kind:"number",property:s,name:e}}function z(s,e){return{kind:"date",property:s,name:e}}function xe(s,e,t){let r=new WeakMap;function a(n){if(n instanceof Date)return n;let l=r.get(n);if(l)return l;let f=new Proxy(n,{get(y,v,S){let w=Reflect.get(y,v,y);return typeof w=="function"?typeof v=="string"&&(e.has(v)||Array.isArray(y)&&Je.has(v))?(...k)=>{let F=w.apply(y,k);return t(),F}:Array.isArray(y)?(...k)=>w.apply(S,k):w.bind(y):w!==null&&typeof w=="object"?a(w):w},set(y,v,S){let w=Reflect.set(y,v,S,y);return t(),w},defineProperty(y,v,S){let w=Reflect.defineProperty(y,v,S);return t(),w},deleteProperty(y,v){let S=Reflect.deleteProperty(y,v);return t(),S}});return r.set(n,f),f}return a(s)}function Ae(s){return Headers.prototype.getSetCookie.call(s)}function Ee(s){return typeof s=="string"?s:j.from(s).toString()}function et(s){for(let e=0;e<s.length;e++){let t=s[e];s[e]=j.from(t)}}function tt(s,e){if(s.length!==e.length)return!1;for(let t=0;t<s.length;t++)if(s[t]!==e[t])return!1;return!0}const nt={acceptsMediaType(s,e){const t=this.parseAccept(s);return t?t.accepts(e):!1},createCacheControl(s){const e=[];return s.public&&e.push("public"),s.private&&e.push("private"),s.noCache&&e.push("no-cache"),s.noStore&&e.push("no-store"),s.immutable&&e.push("immutable"),s.mustRevalidate&&e.push("must-revalidate"),s.proxyRevalidate&&e.push("proxy-revalidate"),s.maxAge!==void 0&&e.push(`max-age=${s.maxAge}`),s.sMaxAge!==void 0&&e.push(`s-maxage=${s.sMaxAge}`),s.minFresh!==void 0&&e.push(`min-fresh=${s.minFresh}`),s.staleWhileRevalidate!==void 0&&e.push(`stale-while-revalidate=${s.staleWhileRevalidate}`),s.staleIfError!==void 0&&e.push(`stale-if-error=${s.staleIfError}`),e.join(", ")},createCacheControlPreset(s){const e={immutable:{immutable:!0,maxAge:31536e3},"no-cache":{noCache:!0},"no-store":{noStore:!0},private:{maxAge:3600,private:!0},public:{maxAge:3600,public:!0}};return this.createCacheControl(e[s])},createContentDisposition(s){return new H({type:s.type,...s.filename&&{filename:s.filename},...s.filenameSplat&&{filenameSplat:s.filenameSplat}}).toString()},createContentType(s){return new N({mediaType:s.mediaType,...s.charset&&{charset:s.charset},...s.boundary&&{boundary:s.boundary}}).toString()},ensureCharset(s,e="utf8"){const t=this.parseContentType(s);return t?(t.charset||(t.charset=e),t.toString()):s},fromHeaders(s){const e=new Headers;return Array.isArray(s)?s.forEach(([t,r])=>{e.set(t,Array.isArray(r)?r.join(", "):String(r))}):Object.entries(s).forEach(([t,r])=>{e.set(t,Array.isArray(r)?r.join(", "):String(r))}),e},getPreferredMediaType(s,e){const t=this.parseAccept(s);if(t){for(const r of e)if(t.accepts(r))return r}},parseAccept(s){if(s)try{return new X(s)}catch{return}},parseContentDisposition(s){if(s)try{return new H(s)}catch{return}},parseContentType(s){if(s)try{return new N(s)}catch{return}}};export{nt as H,ze as h,at as n};
@@ -0,0 +1 @@
1
+ const E=new Set(["fsn1","hel1","nbg1"]),n=s=>{const r=s?.accessKeyId??process.env.AWS_ACCESS_KEY_ID??process.env.HETZNER_ACCESS_KEY_ID??process.env.HETZNER_ACCESS_KEY,e=s?.location??process.env.HETZNER_LOCATION,o=s?.secretAccessKey??process.env.AWS_SECRET_ACCESS_KEY??process.env.HETZNER_SECRET_ACCESS_KEY??process.env.HETZNER_SECRET_KEY;if(!r||!o||!e)throw new Error("Missing required parameters for Hetzner Object Storage client.");if(!E.has(e))throw new Error(`Invalid Hetzner location "${e}". Expected one of: ${[...E].join(", ")}.`);return{credentials:{accessKeyId:r,secretAccessKey:o},endpoint:`https://${e}.your-objectstorage.com`,forcePathStyle:!1,region:e}};export{n as default};
@@ -0,0 +1 @@
1
+ const _=e=>{const r=e?.accessKeyId??process.env.AWS_ACCESS_KEY_ID??process.env.IBM_COS_ACCESS_KEY_ID??process.env.IBM_COS_ACCESS_KEY,o=e?.endpoint??process.env.IBM_COS_ENDPOINT,s=e?.region??process.env.IBM_COS_REGION,c=e?.secretAccessKey??process.env.AWS_SECRET_ACCESS_KEY??process.env.IBM_COS_SECRET_ACCESS_KEY??process.env.IBM_COS_SECRET_KEY;if(!s||!r||!c)throw new Error("Missing required parameters for IBM Cloud Object Storage client.");return{credentials:{accessKeyId:r,secretAccessKey:c},endpoint:o??`https://s3.${s}.cloud-object-storage.appdomain.cloud`,forcePathStyle:!1,region:s}};export{_ as default};
@@ -0,0 +1 @@
1
+ const c=e=>{const s=e?.accessKeyId??process.env.AWS_ACCESS_KEY_ID??process.env.IDRIVE_E2_ACCESS_KEY_ID??process.env.IDRIVE_E2_ACCESS_KEY,E=e?.endpoint??process.env.AWS_ENDPOINT??process.env.IDRIVE_E2_ENDPOINT,_=e?.region??process.env.AWS_REGION??process.env.IDRIVE_E2_REGION,r=e?.secretAccessKey??process.env.AWS_SECRET_ACCESS_KEY??process.env.IDRIVE_E2_SECRET_ACCESS_KEY??process.env.IDRIVE_E2_SECRET_KEY;if(!E||!s||!r)throw new Error("Missing required parameters for iDrive e2 client.");return{credentials:{accessKeyId:s,secretAccessKey:r},endpoint:E,forcePathStyle:!0,region:_??"us-east-1"}};export{c as default};
@@ -0,0 +1,5 @@
1
+ import{g as y}from"./_commonjsHelpers-CWAkuNXM.js";import b from"crypto";import l from"fs";var n,u;function v(){if(u)return n;u=1;/*!
2
+ * etag
3
+ * Copyright(c) 2014-2016 Douglas Christopher Wilson
4
+ * MIT Licensed
5
+ */n=g;var f=b,i=l.Stats,o=Object.prototype.toString;function s(e){if(e.length===0)return'"0-2jmj7l5rSw0yVb/vlWAYkK/YBwk"';var t=f.createHash("sha1").update(e,"utf8").digest("base64").substring(0,27),r=typeof e=="string"?Buffer.byteLength(e,"utf8"):e.length;return'"'+r.toString(16)+"-"+t+'"'}function g(e,t){if(e==null)throw new TypeError("argument entity is required");var r=m(e),c=t&&typeof t.weak=="boolean"?t.weak:r;if(!r&&typeof e!="string"&&!Buffer.isBuffer(e))throw new TypeError("argument entity must be string, Buffer, or fs.Stats");var a=r?p(e):s(e);return c?"W/"+a:a}function m(e){return typeof i=="function"&&e instanceof i?!0:e&&typeof e=="object"&&"ctime"in e&&o.call(e.ctime)==="[object Date]"&&"mtime"in e&&o.call(e.mtime)==="[object Date]"&&"ino"in e&&typeof e.ino=="number"&&"size"in e&&typeof e.size=="number"}function p(e){var t=e.mtime.getTime().toString(16),r=e.size.toString(16);return'"'+r+"-"+t+'"'}return n}var S=v();const E=y(S);export{E as F};
@@ -0,0 +1 @@
1
+ import{Readable as n}from"node:stream";import{throwErrorCode as y,ERRORS as u}from"./ERRORS-BIBxE2oR.js";const z=8,d=r=>typeof r=="object"&&r!==null&&typeof r.getReader=="function",g=r=>typeof r=="object"&&r!==null&&typeof r.pipe=="function"&&typeof r.read=="function",v=async(r,t)=>{if(typeof r=="string"){const e=Buffer.from(r);return{size:e.byteLength,stream:n.from(e)}}if(Buffer.isBuffer(r))return{size:r.byteLength,stream:n.from(r)};if(r instanceof Uint8Array){const e=Buffer.from(r.buffer,r.byteOffset,r.byteLength);return{size:e.byteLength,stream:n.from(e)}}if(r instanceof ArrayBuffer){const e=Buffer.from(r);return{size:e.byteLength,stream:n.from(e)}}if(ArrayBuffer.isView(r)){const e=r,o=Buffer.from(e.buffer,e.byteOffset,e.byteLength);return{size:o.byteLength,stream:n.from(o)}}if(typeof Blob<"u"&&r instanceof Blob)return{size:r.size,stream:n.fromWeb(r.stream())};if(d(r))return{size:t,stream:n.fromWeb(r)};if(g(r))return{size:t,stream:r};throw new TypeError(`Unsupported body type: ${Object.prototype.toString.call(r)}`)},N=(r,t)=>({contentType:r.contentType??"application/octet-stream",etag:r.ETag,key:r.name||r.id||t||"",lastModified:r.modifiedAt??r.createdAt,metadata:r.metadata,size:typeof r.size=="number"?r.size:void 0}),p=(r,t)=>{r.split("/").some(e=>e==="."||e==="..")&&y(u.INVALID_FILE_NAME,`${u.INVALID_FILE_NAME}: ${t} must not contain "." or ".." path segments: "${r}"`)},E=r=>{if(!r)return"";const t=r.split("/").filter(e=>e.length>0).join("/");return p(t,"prefix"),t},A=(r,t)=>{if(!t&&!r.signal&&r.timeout===void 0&&r.retries===void 0)return;const e={...r};return t&&(t.signal!==void 0&&(e.signal=t.signal),t.timeout!==void 0&&(e.timeout=t.timeout),t.retries!==void 0&&(e.retries=t.retries)),r.signal&&t?.signal&&(e.signal=AbortSignal.any([r.signal,t.signal])),e},B=async(r,t,e)=>{const o=Array.from({length:r.length});let s=0,f=!1;const m=async()=>{for(;s<r.length;){if(f||e.signal?.aborted)return;const i=s;s+=1;try{const a=await t(r[i],i);o[i]={status:"fulfilled",value:a}}catch(a){o[i]={reason:a,status:"rejected"},e.stopOnError&&(f=!0)}}},l=Math.max(1,Math.min(e.concurrency,r.length)),c=Array.from({length:l},()=>m());return await Promise.all(c),o},L=(r,t)=>t instanceof Error?{error:t,key:r}:{error:new Error(typeof t=="string"?t:"Unknown error",{cause:t}),key:r},w=(r,t)=>{if(r)try{r(t)}catch{}},M=(r,t)=>{if(typeof r.size=="number"&&typeof t.size=="number"&&r.size!==t.size)return!1;if(r.etag&&t.etag)return r.etag===t.etag;if(typeof r.size=="number"&&typeof t.size=="number")return!0;const e=r.lastModified===void 0?void 0:Number(new Date(r.lastModified)),o=t.lastModified===void 0?void 0:Number(new Date(t.lastModified));return e!==void 0&&o!==void 0&&!Number.isNaN(e)&&!Number.isNaN(o)?e<=o:!0};export{z as D,p as a,v as b,N as c,A as m,E as n,M as o,B as r,w as s,L as t};
@@ -0,0 +1 @@
1
+ const t=e=>e.expiredAt?Date.now()>+new Date(e.expiredAt):!1;export{t};