@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
@@ -0,0 +1,119 @@
1
+ import { F as File, L as LocalMetaStorageOptions, i as BaseStorageOptions, M as MetaStorage, e as FileInit, O as OperationOptions, f as FilePart, g as FileQuery, a as FileReturn, B as BaseStorage } from "../../packem_shared/storage.d-RteRC-cG.js";
2
+ import 'node:stream';
3
+ import { L as LocalMetaStorage } from "../../packem_shared/local-meta-storage.d-B11vHYNm.js";
4
+ import * as BunnyStorageSDK from '@bunny.net/storage-sdk';
5
+ import 'node:crypto';
6
+ import 'node:http';
7
+ import 'lru-cache';
8
+ declare class BunnyFile extends File {
9
+ /**
10
+ * SHA-256 checksum reported by Bunny Storage (when present on the
11
+ * stored object).
12
+ */
13
+ bunnyChecksum?: string;
14
+ /**
15
+ * Server-side path within the Storage Zone (always prefixed with `/`).
16
+ */
17
+ bunnyPath?: string;
18
+ }
19
+ declare class BunnyMetaStorage extends LocalMetaStorage<BunnyFile> {
20
+ constructor(config?: LocalMetaStorageOptions);
21
+ }
22
+ /**
23
+ * Bunny Storage region code. Mirrors the SDK's `StorageRegion` enum values
24
+ * (e.g. `"de"`, `"ny"`, `"syd"`).
25
+ */
26
+ type BunnyStorageRegion = `${BunnyStorageSDK.regions.StorageRegion}`;
27
+ /**
28
+ * A connected Bunny Storage zone produced by
29
+ * `BunnyStorageSDK.zone.connect_with_accesskey(...)`.
30
+ */
31
+ type BunnyStorageClient = ReturnType<typeof BunnyStorageSDK.zone.connect_with_accesskey>;
32
+ interface BunnyStorageOptions extends BaseStorageOptions {
33
+ /**
34
+ * Bunny Storage zone password / API access key. Falls back to
35
+ * `BUNNY_STORAGE_ACCESS_KEY`, then `BUNNY_ACCESS_KEY`, then the
36
+ * SDK-documented `STORAGE_ACCESS_KEY`. Ignored when `client` is supplied.
37
+ */
38
+ accessKey?: string;
39
+ /**
40
+ * Pre-built `StorageZone` instance. Use this to share an instance across
41
+ * adapters or inject test stubs. Mutually exclusive with `zone` /
42
+ * `accessKey` / `region`.
43
+ */
44
+ client?: BunnyStorageClient;
45
+ /**
46
+ * Configure metafiles storage for resumable-upload bookkeeping.
47
+ */
48
+ metaStorageConfig?: LocalMetaStorageOptions;
49
+ /**
50
+ * Origin used to build URLs from `getReadUrl`, typically a Bunny Pull
51
+ * Zone or custom CDN hostname in front of the Storage Zone. When unset,
52
+ * `getReadUrl` throws because the Storage API requires an `AccessKey`
53
+ * header and has no signed-read URL primitive.
54
+ */
55
+ publicBaseUrl?: string;
56
+ /**
57
+ * Primary Bunny Storage region. Pass one of
58
+ * `BunnyStorageSDK.regions.StorageRegion.*`, e.g. `"de"`, `"ny"`, `"syd"`.
59
+ * Falls back to `BUNNY_STORAGE_REGION`, then `STORAGE_REGION`. Ignored
60
+ * when `client` is supplied.
61
+ */
62
+ region?: BunnyStorageRegion;
63
+ /**
64
+ * Bunny Storage zone name. Falls back to `BUNNY_STORAGE_ZONE`, then the
65
+ * SDK-documented `STORAGE_ZONE`. Ignored when `client` is supplied.
66
+ */
67
+ zone?: string;
68
+ }
69
+ /**
70
+ * Bunny Storage backend.
71
+ *
72
+ * Uses `@bunny.net/storage-sdk`. Writes go through the Storage API with an `AccessKey` header; reads either go through `data()` (server-side fetch) or, when a public Pull Zone is configured, through `publicBaseUrl`.
73
+ *
74
+ * **Limitations**:
75
+ *
76
+ * - No native server-side `copy` — implemented as download + re-upload.
77
+ * - No `signedUploadUrl` / presigned PUT — Bunny has no such primitive.
78
+ * - `getReadUrl` requires `publicBaseUrl` (Pull Zone / CDN hostname) and returns an unsigned URL — Bunny has no signed-read URL primitive, so `expiresIn` is accepted for parity with other adapters but ignored.
79
+ * - `getReadUrl` rejects `responseContentDisposition` — no override exists on Bunny Storage / Pull Zone URLs.
80
+ * - `list` is non-recursive: `BunnyStorageSDK.file.list(client, "/")` returns only the immediate children of the zone root. Directory entries are filtered out client-side; the adapter does not descend.
81
+ * - ⚠️ Per-operation `signal`/`timeout` are best-effort: the underlying SDK does not support request cancellation, so an in-flight call may complete server-side even after abort. `retries` is honored.
82
+ */
83
+ declare class BunnyStorage extends BaseStorage<BunnyFile> {
84
+ static override readonly name: string;
85
+ override checksumTypes: string[];
86
+ protected meta: MetaStorage<BunnyFile>;
87
+ private readonly client;
88
+ private readonly publicBaseUrl;
89
+ private readonly zoneName;
90
+ constructor(config: BunnyStorageOptions);
91
+ override get raw(): BunnyStorageClient;
92
+ /** Name of the connected Bunny Storage zone. */
93
+ get zone(): string;
94
+ create(config: FileInit, _options?: OperationOptions): Promise<BunnyFile>;
95
+ write(part: FilePart | FileQuery | BunnyFile, options?: OperationOptions): Promise<BunnyFile>;
96
+ delete({
97
+ id
98
+ }: FileQuery, options?: OperationOptions): Promise<BunnyFile>;
99
+ get({
100
+ id
101
+ }: FileQuery, options?: OperationOptions): Promise<FileReturn>;
102
+ copy(name: string, destination: string, options?: OperationOptions & {
103
+ storageClass?: string;
104
+ }): Promise<BunnyFile>;
105
+ move(name: string, destination: string, options?: OperationOptions): Promise<BunnyFile>;
106
+ override list(limit?: number, options?: OperationOptions): Promise<BunnyFile[]>;
107
+ override getReadUrl(key: string, options?: {
108
+ expiresIn?: number;
109
+ responseContentDisposition?: string;
110
+ responseContentType?: string;
111
+ }): Promise<string>;
112
+ override getUploadUrl(_key: string, _options?: {
113
+ contentLength?: number;
114
+ contentType?: string;
115
+ expiresIn?: number;
116
+ }): Promise<string>;
117
+ private internalOnComplete;
118
+ }
119
+ export { BunnyFile, BunnyMetaStorage, BunnyStorage, type BunnyStorageClient, type BunnyStorageOptions, type BunnyStorageRegion };
@@ -0,0 +1 @@
1
+ import{default as t}from"../../packem_shared/BunnyFile-Dotl-lO9.js";import{default as r}from"../../packem_shared/BunnyMetaStorage-DNMTSeoN.js";import{default as n}from"../../packem_shared/BunnyStorage-D3s2fRB3.js";export{t as BunnyFile,r as BunnyMetaStorage,n as BunnyStorage};
@@ -0,0 +1,121 @@
1
+ import { F as File, L as LocalMetaStorageOptions, i as BaseStorageOptions, M as MetaStorage, e as FileInit, O as OperationOptions, f as FilePart, g as FileQuery, a as FileReturn, B as BaseStorage } from "../../packem_shared/storage.d-RteRC-cG.js";
2
+ import 'node:stream';
3
+ import { L as LocalMetaStorage } from "../../packem_shared/local-meta-storage.d-B11vHYNm.js";
4
+ import { v2 } from 'cloudinary';
5
+ import 'node:crypto';
6
+ import 'node:http';
7
+ import 'lru-cache';
8
+ declare class CloudinaryFile extends File {
9
+ bucket?: string;
10
+ path?: string;
11
+ publicUrl?: string;
12
+ }
13
+ declare class CloudinaryMetaStorage extends LocalMetaStorage<CloudinaryFile> {
14
+ constructor(config?: LocalMetaStorageOptions);
15
+ }
16
+ interface CloudinaryStorageOptions extends BaseStorageOptions {
17
+ /**
18
+ * Cloudinary API key. Ignored when `client` is supplied. Falls back to
19
+ * `CLOUDINARY_API_KEY`, or the credentials encoded in `CLOUDINARY_URL`.
20
+ */
21
+ apiKey?: string;
22
+ /**
23
+ * Cloudinary API secret. Ignored when `client` is supplied. Falls back to
24
+ * `CLOUDINARY_API_SECRET`, or the credentials encoded in `CLOUDINARY_URL`.
25
+ */
26
+ apiSecret?: string;
27
+ /**
28
+ * Pre-configured `cloudinary` namespace (the `v2` export). Mutually
29
+ * exclusive with `cloudName` + `apiKey` + `apiSecret`. When supplied the
30
+ * adapter skips `cloudinary.config()` and uses the instance as-is.
31
+ */
32
+ client?: typeof v2;
33
+ /**
34
+ * Cloudinary cloud name. Ignored when `client` is supplied. Falls back to
35
+ * `CLOUDINARY_CLOUD_NAME`, or the host segment of `CLOUDINARY_URL`.
36
+ */
37
+ cloudName?: string;
38
+ /**
39
+ * Default expiry, in seconds, for `getReadUrl` signed URLs on private or
40
+ * authenticated assets. Defaults to 3600 (1 hour).
41
+ */
42
+ defaultUrlExpiresIn?: number;
43
+ /**
44
+ * Configure metafiles storage. Used for TUS-style resumable upload
45
+ * bookkeeping. Defaults to {@link LocalMetaStorage} under the OS tmp
46
+ * directory.
47
+ */
48
+ metaStorageConfig?: LocalMetaStorageOptions;
49
+ /**
50
+ * Cloudinary resource type. Use `"raw"` for arbitrary files, `"image"` or
51
+ * `"video"` for media that benefits from transformations. Defaults to
52
+ * `"raw"`.
53
+ */
54
+ resourceType?: "image" | "raw" | "video";
55
+ /**
56
+ * Generate `https://` delivery URLs. Defaults to `true`.
57
+ */
58
+ secure?: boolean;
59
+ /**
60
+ * Cloudinary delivery type. `"private"` and `"authenticated"` require a
61
+ * signed URL for delivery. Defaults to `"upload"`.
62
+ */
63
+ type?: "authenticated" | "private" | "upload";
64
+ }
65
+ /**
66
+ * Cloudinary Storage backend.
67
+ *
68
+ * Single-shot uploads only — the adapter buffers the part stream and uploads
69
+ * it in one request via `upload_stream`. Cloudinary has no simple presigned
70
+ * `PUT` endpoint, so `getUploadUrl` is not implemented (the base default
71
+ * throws `METHOD_NOT_ALLOWED`).
72
+ * @example
73
+ * ```ts
74
+ * import { CloudinaryStorage } from "@visulima/storage/provider/cloudinary";
75
+ *
76
+ * const storage = new CloudinaryStorage({
77
+ * cloudName: process.env.CLOUDINARY_CLOUD_NAME,
78
+ * apiKey: process.env.CLOUDINARY_API_KEY,
79
+ * apiSecret: process.env.CLOUDINARY_API_SECRET,
80
+ * });
81
+ * ```
82
+ * @remarks
83
+ * - ⚠️ Per-operation `signal`/`timeout` are best-effort: the underlying SDK does not support request cancellation, so an in-flight call may complete server-side even after abort. `retries` is honored.
84
+ */
85
+ declare class CloudinaryStorage extends BaseStorage<CloudinaryFile> {
86
+ static override readonly name: string;
87
+ override checksumTypes: string[];
88
+ protected meta: MetaStorage<CloudinaryFile>;
89
+ private readonly client;
90
+ private readonly defaultUrlExpiresIn;
91
+ private readonly deliveryType;
92
+ private readonly resourceType;
93
+ private readonly secure;
94
+ constructor(config: CloudinaryStorageOptions);
95
+ override get raw(): typeof v2;
96
+ create(config: FileInit, _options?: OperationOptions): Promise<CloudinaryFile>;
97
+ write(part: CloudinaryFile | FilePart | FileQuery, options?: OperationOptions): Promise<CloudinaryFile>;
98
+ delete({
99
+ id
100
+ }: FileQuery, options?: OperationOptions): Promise<CloudinaryFile>;
101
+ override exists({
102
+ id
103
+ }: FileQuery, options?: OperationOptions): Promise<boolean>;
104
+ get({
105
+ id
106
+ }: FileQuery, options?: OperationOptions): Promise<FileReturn>;
107
+ copy(name: string, destination: string, options?: OperationOptions & {
108
+ storageClass?: string;
109
+ }): Promise<CloudinaryFile>;
110
+ move(name: string, destination: string, options?: OperationOptions): Promise<CloudinaryFile>;
111
+ override list(limit?: number, options?: OperationOptions): Promise<CloudinaryFile[]>;
112
+ override getReadUrl(key: string, options?: {
113
+ expiresIn?: number;
114
+ responseContentDisposition?: string;
115
+ responseContentType?: string;
116
+ }): Promise<string>;
117
+ private uploadBuffer;
118
+ private getMetaSafe;
119
+ private internalOnComplete;
120
+ }
121
+ export { CloudinaryFile, CloudinaryMetaStorage, CloudinaryStorage, type CloudinaryStorageOptions };
@@ -0,0 +1 @@
1
+ import{default as r}from"../../packem_shared/CloudinaryFile-B5-m33eS.js";import{default as t}from"../../packem_shared/CloudinaryMetaStorage-DEBk5eQy.js";import{default as d}from"../../packem_shared/CloudinaryStorage-BBE2-aVz.js";export{r as CloudinaryFile,t as CloudinaryMetaStorage,d as CloudinaryStorage};
@@ -0,0 +1,132 @@
1
+ import { F as File, L as LocalMetaStorageOptions, i as BaseStorageOptions, M as MetaStorage, e as FileInit, O as OperationOptions, f as FilePart, g as FileQuery, a as FileReturn, B as BaseStorage } from "../../packem_shared/storage.d-RteRC-cG.js";
2
+ import 'node:stream';
3
+ import { L as LocalMetaStorage } from "../../packem_shared/local-meta-storage.d-B11vHYNm.js";
4
+ import { Dropbox } from 'dropbox';
5
+ import 'node:crypto';
6
+ import 'node:http';
7
+ import 'lru-cache';
8
+ declare class DropboxFile extends File {
9
+ path?: string;
10
+ publicUrl?: string;
11
+ rev?: string;
12
+ }
13
+ declare class DropboxMetaStorage extends LocalMetaStorage<DropboxFile> {
14
+ constructor(config?: LocalMetaStorageOptions);
15
+ }
16
+ interface DropboxStorageOptions extends BaseStorageOptions {
17
+ /**
18
+ * Static or dynamic access token. Pass a string for a one-shot token, or
19
+ * a function returning a fresh token on each call. The adapter does not
20
+ * cache the result of a callable — your callable is responsible for
21
+ * caching/refresh.
22
+ */
23
+ accessToken?: string | (() => string | Promise<string>);
24
+ /**
25
+ * Dropbox app key (client_id). Required when `refreshToken` is set.
26
+ */
27
+ appKey?: string;
28
+ /**
29
+ * Dropbox app secret (client_secret). Required for confidential clients.
30
+ */
31
+ appSecret?: string;
32
+ /**
33
+ * Pre-built `Dropbox` client. Escape hatch for callers that already wire
34
+ * auth themselves (e.g. with team-space `pathRoot`, custom headers, or a
35
+ * shared `DropboxAuth`).
36
+ */
37
+ client?: Dropbox;
38
+ /**
39
+ * Default expiry, in seconds, for temporary download links from
40
+ * `getReadUrl()`. Capped at 14400 (4 hours, the Dropbox maximum).
41
+ * Defaults to 3600 (1 hour).
42
+ */
43
+ defaultUrlExpiresIn?: number;
44
+ /**
45
+ * Configure metafiles storage. Defaults to local tmp directory.
46
+ */
47
+ metaStorageConfig?: LocalMetaStorageOptions;
48
+ /**
49
+ * When `true`, `getReadUrl` creates a public shared link instead of a
50
+ * temporary 4-hour link. The link is rewritten to `?dl=1` so it serves
51
+ * raw bytes directly.
52
+ */
53
+ publicByDefault?: boolean;
54
+ /**
55
+ * OAuth2 refresh token. When set, the adapter exchanges it for fresh
56
+ * access tokens at `https://api.dropboxapi.com/oauth2/token` and caches
57
+ * them until ~60s before expiry. Requires `appKey` (PKCE) or `appKey` +
58
+ * `appSecret` (confidential client).
59
+ */
60
+ refreshToken?: string;
61
+ /**
62
+ * Logical "bucket root" — virtual keys live under this folder path. Must
63
+ * already exist; the adapter does not create folders. Path is normalized:
64
+ * leading slash is added, trailing slashes stripped. Defaults to account
65
+ * root.
66
+ */
67
+ rootFolderPath?: string;
68
+ }
69
+ /**
70
+ * Dropbox storage backend.
71
+ *
72
+ * Routes virtual keys onto Dropbox paths under `rootFolderPath`. Uploads use
73
+ * the simple `filesUpload` endpoint up to 150 MB and switch to chunked
74
+ * upload sessions above that threshold.
75
+ *
76
+ * **Auth precedence**:
77
+ * 1. `client` (pre-built `Dropbox`)
78
+ * 2. `accessToken` (string or `() => string | Promise&lt;string>`)
79
+ * 3. `refreshToken` + `appKey` (+ optional `appSecret`)
80
+ * 4. Env fallback: `DROPBOX_ACCESS_TOKEN`, or `DROPBOX_REFRESH_TOKEN` +
81
+ * `DROPBOX_APP_KEY` (+ optional `DROPBOX_APP_SECRET`)
82
+ *
83
+ * **Limitations**:
84
+ * - `metadata` and `cacheControl` are not supported (Dropbox files have no
85
+ * native arbitrary-metadata field, and no HTTP cache-header overrides).
86
+ * - `getUploadUrl` is not supported — Dropbox's `files/get_temporary_upload_link`
87
+ * requires a `POST` with raw body, which doesn't fit a presigned-PUT contract.
88
+ * - `responseContentDisposition` is not supported on signed URLs.
89
+ * - ⚠️ Per-operation `signal`/`timeout` are best-effort: the underlying SDK does not support request cancellation, so an in-flight call may complete server-side even after abort. `retries` is honored.
90
+ */
91
+ declare class DropboxStorage extends BaseStorage<DropboxFile> {
92
+ static override readonly name: string;
93
+ override checksumTypes: string[];
94
+ protected meta: MetaStorage<DropboxFile>;
95
+ private readonly authHandle;
96
+ private readonly client;
97
+ private readonly defaultUrlExpiresIn;
98
+ private readonly publicByDefault;
99
+ private readonly rootFolderPath;
100
+ constructor(config: DropboxStorageOptions);
101
+ override get raw(): Dropbox;
102
+ create(config: FileInit, _options?: OperationOptions): Promise<DropboxFile>;
103
+ write(part: FilePart | FileQuery | DropboxFile, options?: OperationOptions): Promise<DropboxFile>;
104
+ delete({
105
+ id
106
+ }: FileQuery, options?: OperationOptions): Promise<DropboxFile>;
107
+ get({
108
+ id
109
+ }: FileQuery, options?: OperationOptions): Promise<FileReturn>;
110
+ copy(name: string, destination: string, options?: OperationOptions & {
111
+ storageClass?: string;
112
+ }): Promise<DropboxFile>;
113
+ move(name: string, destination: string, options?: OperationOptions): Promise<DropboxFile>;
114
+ override list(limit?: number, options?: OperationOptions): Promise<DropboxFile[]>;
115
+ override getReadUrl(key: string, options?: {
116
+ expiresIn?: number;
117
+ responseContentDisposition?: string;
118
+ responseContentType?: string;
119
+ }): Promise<string>;
120
+ override getUploadUrl(_key: string, _options?: {
121
+ contentLength?: number;
122
+ contentType?: string;
123
+ expiresIn?: number;
124
+ }): Promise<string>;
125
+ private keyToPath;
126
+ private pathToKey;
127
+ private uploadSimple;
128
+ private uploadSession;
129
+ private createPublicSharedLink;
130
+ private internalOnComplete;
131
+ }
132
+ export { DropboxFile, DropboxMetaStorage, DropboxStorage, type DropboxStorageOptions };
@@ -0,0 +1 @@
1
+ import{default as e}from"../../packem_shared/DropboxFile-BGVG2kXM.js";import{default as t}from"../../packem_shared/DropboxMetaStorage-C6vj1QDA.js";import{default as p}from"../../packem_shared/DropboxStorage-BL3OIdE_.js";export{e as DropboxFile,t as DropboxMetaStorage,p as DropboxStorage};
@@ -0,0 +1,192 @@
1
+ import { F as File, L as LocalMetaStorageOptions, i as BaseStorageOptions, M as MetaStorage, e as FileInit, O as OperationOptions, f as FilePart, g as FileQuery, a as FileReturn, B as BaseStorage } from "../../packem_shared/storage.d-RteRC-cG.js";
2
+ import 'node:stream';
3
+ import { L as LocalMetaStorage } from "../../packem_shared/local-meta-storage.d-B11vHYNm.js";
4
+ import 'node:crypto';
5
+ import 'node:http';
6
+ import 'lru-cache';
7
+ declare class FirebaseFile extends File {
8
+ bucket?: string;
9
+ path?: string;
10
+ publicUrl?: string;
11
+ }
12
+ declare class FirebaseMetaStorage extends LocalMetaStorage<FirebaseFile> {
13
+ constructor(config?: LocalMetaStorageOptions);
14
+ }
15
+ /**
16
+ * Minimal structural type for a `@google-cloud/storage` `File` as returned by
17
+ * `firebase-admin`'s `getStorage(app).bucket().file()`. Declared locally so the
18
+ * adapter type-checks without `firebase-admin` / `@google-cloud/storage`
19
+ * installed (optional peer dependency).
20
+ */
21
+ interface FirebaseGcsFile {
22
+ copy: (destination: FirebaseGcsFile | string) => Promise<unknown>;
23
+ delete: (options?: {
24
+ ignoreNotFound?: boolean;
25
+ }) => Promise<unknown>;
26
+ download: () => Promise<[Buffer]>;
27
+ exists: () => Promise<[boolean]>;
28
+ getMetadata: () => Promise<[FirebaseGcsFileMetadata]>;
29
+ getSignedUrl: (options: FirebaseSignedUrlOptions) => Promise<[string]>;
30
+ move: (destination: FirebaseGcsFile | string) => Promise<unknown>;
31
+ name: string;
32
+ save: (data: Buffer, options?: {
33
+ contentType?: string;
34
+ resumable?: boolean;
35
+ }) => Promise<unknown>;
36
+ }
37
+ interface FirebaseGcsFileMetadata {
38
+ contentType?: string;
39
+ etag?: string;
40
+ md5Hash?: string;
41
+ name?: string;
42
+ size?: number | string;
43
+ timeCreated?: string;
44
+ updated?: string;
45
+ }
46
+ interface FirebaseSignedUrlOptions {
47
+ action: "delete" | "read" | "resumable" | "write";
48
+ contentType?: string;
49
+ expires: Date | number | string;
50
+ version?: "v2" | "v4";
51
+ }
52
+ /**
53
+ * Minimal structural type for a `@google-cloud/storage` `Bucket` as returned by
54
+ * `firebase-admin`'s `getStorage(app).bucket()`.
55
+ */
56
+ interface FirebaseBucket {
57
+ file: (key: string) => FirebaseGcsFile;
58
+ getFiles: (options?: {
59
+ maxResults?: number;
60
+ prefix?: string;
61
+ }) => Promise<[FirebaseGcsFile[]]>;
62
+ name?: string;
63
+ }
64
+ /**
65
+ * Structural type for a `firebase-admin` `App`. Only the shape needed by
66
+ * `getStorage()` is declared.
67
+ */
68
+ interface FirebaseApp {
69
+ name: string;
70
+ }
71
+ interface FirebaseStorageOptions extends BaseStorageOptions {
72
+ /**
73
+ * Pre-built `firebase-admin` {@link FirebaseApp} or an already-built
74
+ * `@google-cloud/storage` `Bucket`. When a Bucket is supplied (detected by
75
+ * the presence of `.file()` and `.getFiles()`), it is used directly and no
76
+ * Firebase app is initialized. Use this to share an instance, run tests, or
77
+ * customize the underlying GCS client.
78
+ */
79
+ app?: FirebaseApp | FirebaseBucket;
80
+ /**
81
+ * Named `firebase-admin` app to reuse/create. Defaults to the SDK default
82
+ * app. Ignored when `app` is supplied.
83
+ */
84
+ appName?: string;
85
+ /**
86
+ * Storage bucket name (e.g. `my-project.appspot.com`). Falls back to
87
+ * `FIREBASE_STORAGE_BUCKET`. Required unless a pre-built Bucket is passed
88
+ * via `app`.
89
+ */
90
+ bucket?: string;
91
+ /**
92
+ * Service-account credentials. Ignored when `app` is supplied or
93
+ * `serviceAccountPath` is used. Falls back to `FIREBASE_CLIENT_EMAIL` /
94
+ * `FIREBASE_PRIVATE_KEY`.
95
+ */
96
+ credentials?: {
97
+ clientEmail: string;
98
+ privateKey: string;
99
+ };
100
+ /**
101
+ * Default expiry, in seconds, for `getReadUrl` / `getUploadUrl` signed
102
+ * URLs. Defaults to 3600 (1 hour).
103
+ */
104
+ defaultUrlExpiresIn?: number;
105
+ /**
106
+ * Configure metafiles storage. Used for TUS-style resumable upload
107
+ * bookkeeping. Defaults to {@link LocalMetaStorage} under the OS tmp
108
+ * directory.
109
+ */
110
+ metaStorageConfig?: LocalMetaStorageOptions;
111
+ /**
112
+ * Google Cloud project id. Falls back to `FIREBASE_PROJECT_ID`,
113
+ * `GOOGLE_CLOUD_PROJECT`, or `GCLOUD_PROJECT`.
114
+ */
115
+ projectId?: string;
116
+ /**
117
+ * When set, `getReadUrl` returns `${publicBaseUrl}/${key}` instead of a
118
+ * signed URL. Use for objects served through a public bucket or CDN.
119
+ */
120
+ publicBaseUrl?: string;
121
+ /**
122
+ * Path to a service-account JSON key file. Ignored when `app` or
123
+ * `credentials` is supplied. Falls back to
124
+ * `GOOGLE_APPLICATION_CREDENTIALS`.
125
+ */
126
+ serviceAccountPath?: string;
127
+ }
128
+ /**
129
+ * Firebase Storage backend.
130
+ *
131
+ * Firebase Storage is a Google Cloud Storage bucket under the hood; this
132
+ * adapter resolves a `firebase-admin` app, obtains its `@google-cloud/storage`
133
+ * `Bucket`, and drives single-shot uploads through it. The part stream is
134
+ * buffered and uploaded in one `file.save()` call. Use `getUploadUrl` for
135
+ * direct-from-client large transfers.
136
+ * @example
137
+ * ```ts
138
+ * import { FirebaseStorage } from "@visulima/storage/provider/firebase";
139
+ *
140
+ * const storage = new FirebaseStorage({
141
+ * bucket: "my-project.appspot.com",
142
+ * projectId: process.env.FIREBASE_PROJECT_ID,
143
+ * credentials: {
144
+ * clientEmail: process.env.FIREBASE_CLIENT_EMAIL,
145
+ * privateKey: process.env.FIREBASE_PRIVATE_KEY,
146
+ * },
147
+ * });
148
+ * ```
149
+ * @remarks
150
+ * - ⚠️ Per-operation `signal`/`timeout` are best-effort: the underlying SDK does not support request cancellation, so an in-flight call may complete server-side even after abort. `retries` is honored.
151
+ */
152
+ declare class FirebaseStorage extends BaseStorage<FirebaseFile> {
153
+ static override readonly name: string;
154
+ override checksumTypes: string[];
155
+ protected meta: MetaStorage<FirebaseFile>;
156
+ private readonly bucket;
157
+ private readonly bucketName;
158
+ private readonly defaultUrlExpiresIn;
159
+ private readonly publicBaseUrl?;
160
+ constructor(config: FirebaseStorageOptions);
161
+ override get raw(): FirebaseBucket;
162
+ create(config: FileInit, _options?: OperationOptions): Promise<FirebaseFile>;
163
+ write(part: FilePart | FileQuery | FirebaseFile, options?: OperationOptions): Promise<FirebaseFile>;
164
+ delete({
165
+ id
166
+ }: FileQuery, options?: OperationOptions): Promise<FirebaseFile>;
167
+ override exists({
168
+ id
169
+ }: FileQuery, options?: OperationOptions): Promise<boolean>;
170
+ get({
171
+ id
172
+ }: FileQuery, options?: OperationOptions): Promise<FileReturn>;
173
+ copy(name: string, destination: string, options?: OperationOptions & {
174
+ storageClass?: string;
175
+ }): Promise<FirebaseFile>;
176
+ move(name: string, destination: string, options?: OperationOptions): Promise<FirebaseFile>;
177
+ override list(limit?: number, options?: OperationOptions): Promise<FirebaseFile[]>;
178
+ override getReadUrl(key: string, options?: {
179
+ expiresIn?: number;
180
+ responseContentDisposition?: string;
181
+ responseContentType?: string;
182
+ }): Promise<string>;
183
+ override getUploadUrl(key: string, options?: {
184
+ contentLength?: number;
185
+ contentType?: string;
186
+ expiresIn?: number;
187
+ }): Promise<string>;
188
+ private static resolveApp;
189
+ private getMetaSafe;
190
+ private internalOnComplete;
191
+ }
192
+ export { FirebaseFile, FirebaseMetaStorage, FirebaseStorage, type FirebaseStorageOptions };
@@ -0,0 +1 @@
1
+ import{default as r}from"../../packem_shared/FirebaseFile-JEu3plMP.js";import{default as o}from"../../packem_shared/FirebaseMetaStorage-CzyOim-J.js";import{default as s}from"../../packem_shared/FirebaseStorage-lXMXy3Pm.js";export{r as FirebaseFile,o as FirebaseMetaStorage,s as FirebaseStorage};
@@ -0,0 +1,85 @@
1
+ import { F as File, L as LocalMetaStorageOptions, i as BaseStorageOptions, M as MetaStorage, e as FileInit, O as OperationOptions, f as FilePart, g as FileQuery, a as FileReturn, B as BaseStorage } from "../../packem_shared/storage.d-RteRC-cG.js";
2
+ import 'node:stream';
3
+ import { L as LocalMetaStorage } from "../../packem_shared/local-meta-storage.d-B11vHYNm.js";
4
+ import { AccessOptions } from 'basic-ftp';
5
+ import 'node:crypto';
6
+ import 'node:http';
7
+ import 'lru-cache';
8
+ declare class FtpFile extends File {
9
+ path?: string;
10
+ }
11
+ declare class FtpMetaStorage extends LocalMetaStorage<FtpFile> {
12
+ constructor(config?: LocalMetaStorageOptions);
13
+ }
14
+ interface FtpStorageOptions extends BaseStorageOptions {
15
+ /**
16
+ * `basic-ftp` access options (`host`, `port`, `user`, `password`,
17
+ * `secure` for FTPS, …). A fresh connection is opened and closed around
18
+ * every storage operation — an FTP control connection is single-session,
19
+ * so the adapter does not pool connections.
20
+ */
21
+ connection: AccessOptions;
22
+ /**
23
+ * Configure metafile storage. FTP has no native arbitrary-metadata
24
+ * field, so upload metadata is stored as sidecar JSON on the local
25
+ * disk (defaults to the OS temp directory).
26
+ */
27
+ metaStorageConfig?: LocalMetaStorageOptions;
28
+ /**
29
+ * Logical "bucket root" — virtual keys live under this remote directory.
30
+ * The adapter creates intermediate directories on write. Leading/trailing
31
+ * slashes are normalized. Defaults to the connection's working directory.
32
+ */
33
+ rootFolderPath?: string;
34
+ }
35
+ /**
36
+ * FTP / FTPS storage backend (built on `basic-ftp`).
37
+ *
38
+ * Routes virtual keys onto remote paths under `rootFolderPath`. FTP has no
39
+ * native metadata store, so upload metadata is kept as sidecar JSON on the
40
+ * local disk (see `FtpMetaStorage`).
41
+ *
42
+ * A fresh FTP connection is opened and closed around every operation: an FTP
43
+ * control connection is single-session, so the adapter does not pool
44
+ * connections.
45
+ *
46
+ * **Limitations**:
47
+ * - `write()` buffers the full part in memory before uploading (no remote append), so chunked uploads overwrite rather than append.
48
+ * - `getReadUrl` / `getUploadUrl` are not supported — FTP has no signed-URL concept.
49
+ */
50
+ declare class FtpStorage extends BaseStorage<FtpFile> {
51
+ static override readonly name: string;
52
+ override checksumTypes: string[];
53
+ protected meta: MetaStorage<FtpFile>;
54
+ private readonly connection;
55
+ private readonly rootFolderPath;
56
+ constructor(config: FtpStorageOptions);
57
+ create(config: FileInit, _options?: OperationOptions): Promise<FtpFile>;
58
+ write(part: FilePart | FileQuery | FtpFile, options?: OperationOptions): Promise<FtpFile>;
59
+ get({
60
+ id
61
+ }: FileQuery, options?: OperationOptions): Promise<FileReturn>;
62
+ delete({
63
+ id
64
+ }: FileQuery, options?: OperationOptions): Promise<FtpFile>;
65
+ copy(name: string, destination: string, options?: OperationOptions & {
66
+ storageClass?: string;
67
+ }): Promise<FtpFile>;
68
+ move(name: string, destination: string, options?: OperationOptions): Promise<FtpFile>;
69
+ override list(_limit?: number, options?: OperationOptions): Promise<FtpFile[]>;
70
+ override exists({
71
+ id
72
+ }: FileQuery, options?: OperationOptions): Promise<boolean>;
73
+ private walkList;
74
+ /**
75
+ * Opens a fresh single-session FTP connection for one operation. `basic-ftp`
76
+ * has no `AbortSignal` hook, so cancellation is best-effort: an abort
77
+ * destroys the control/data connection via `client.close()`, which rejects
78
+ * any in-flight transfer. The rejection is normalized to an `AbortError`.
79
+ */
80
+ private run;
81
+ private ensureRemoteDirectory;
82
+ private keyToPath;
83
+ private pathToKey;
84
+ }
85
+ export { FtpFile, FtpMetaStorage, FtpStorage, type FtpStorageOptions };
@@ -0,0 +1 @@
1
+ import{default as a}from"../../packem_shared/FtpFile-B8jaICTB.js";import{default as r}from"../../packem_shared/FtpMetaStorage-1Njy0DpU.js";import{default as p}from"../../packem_shared/FtpStorage-Dw94efNW.js";export{a as FtpFile,r as FtpMetaStorage,p as FtpStorage};