@visulima/storage 1.0.0-alpha.9 → 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (424) hide show
  1. package/CHANGELOG.md +555 -0
  2. package/LICENSE.md +237 -568
  3. package/README.md +82 -466
  4. package/dist/adapter/nuxt/module.d.ts +41 -34
  5. package/dist/adapter/nuxt/module.js +1 -93
  6. package/dist/adapter/nuxt/package.json +0 -6
  7. package/dist/ai/ai-sdk/index.d.ts +113 -0
  8. package/dist/ai/ai-sdk/index.js +1 -0
  9. package/dist/ai/claude/index.d.ts +177 -0
  10. package/dist/ai/claude/index.js +1 -0
  11. package/dist/ai/openai/index.d.ts +205 -0
  12. package/dist/ai/openai/index.js +1 -0
  13. package/dist/ai/tanstack/index.d.ts +115 -0
  14. package/dist/ai/tanstack/index.js +1 -0
  15. package/dist/handler/http/fetch/index.d.ts +303 -4
  16. package/dist/handler/http/fetch/index.js +1 -4
  17. package/dist/handler/http/hono/index.d.ts +73 -64
  18. package/dist/handler/http/hono/index.js +1 -65
  19. package/dist/handler/http/nextjs/index.d.ts +66 -58
  20. package/dist/handler/http/nextjs/index.js +1 -37
  21. package/dist/handler/http/node/index.d.ts +368 -4
  22. package/dist/handler/http/node/index.js +1 -8
  23. package/dist/handler/http/solid-start/index.d.ts +66 -57
  24. package/dist/handler/http/solid-start/index.js +1 -44
  25. package/dist/index.d.ts +106 -17
  26. package/dist/index.js +1 -13
  27. package/dist/openapi/index.d.ts +24 -5
  28. package/dist/openapi/index.js +1 -5
  29. package/dist/packem_shared/AbstractBaseStorage-Ba7cLu-t.js +1 -0
  30. package/dist/packem_shared/AwsLightFile-CpZrubaV.js +1 -0
  31. package/dist/packem_shared/AwsLightMetaStorage-DPqJ9LTr.js +1 -0
  32. package/dist/packem_shared/AwsLightStorage-DTBVxHXO.js +1 -0
  33. package/dist/packem_shared/AzureFile-DFSaVe25.js +1 -0
  34. package/dist/packem_shared/AzureSMetaStorage-ByzM6Aix.js +1 -0
  35. package/dist/packem_shared/AzureStorage-BFsD4qbF.js +1 -0
  36. package/dist/packem_shared/BaseTransformer-Buw5lX_3.js +1 -0
  37. package/dist/packem_shared/BoxFile-CseIoPW1.js +1 -0
  38. package/dist/packem_shared/BoxMetaStorage-DFwhEI9C.js +1 -0
  39. package/dist/packem_shared/BoxStorage-B_t-OVzf.js +1 -0
  40. package/dist/packem_shared/BunS3File-BcYmsz1n.js +1 -0
  41. package/dist/packem_shared/BunS3MetaStorage-DFwhEI9C.js +1 -0
  42. package/dist/packem_shared/BunS3Storage-CB_pZWlV.js +1 -0
  43. package/dist/packem_shared/BunnyFile-BgEOlcYI.js +1 -0
  44. package/dist/packem_shared/BunnyMetaStorage-DFwhEI9C.js +1 -0
  45. package/dist/packem_shared/BunnyStorage-CILSK4_Z.js +1 -0
  46. package/dist/packem_shared/CloudinaryFile-Bo5B-vM1.js +1 -0
  47. package/dist/packem_shared/CloudinaryMetaStorage-D_vNzewL.js +1 -0
  48. package/dist/packem_shared/CloudinaryStorage-DiCbdAi_.js +1 -0
  49. package/dist/packem_shared/DiskStorage-Kp5t3vnF.js +1 -0
  50. package/dist/packem_shared/DiskStorageWithChecksum-Bh6w-Iu8.js +1 -0
  51. package/dist/packem_shared/DropboxFile-BFb7eOzy.js +1 -0
  52. package/dist/packem_shared/DropboxMetaStorage-DFwhEI9C.js +1 -0
  53. package/dist/packem_shared/DropboxStorage-H8bd8hEz.js +1 -0
  54. package/dist/packem_shared/ERRORS-BIBxE2oR.js +1 -0
  55. package/dist/packem_shared/File-W8aOo15X.js +1 -0
  56. package/dist/packem_shared/Files-BA3mpDwz.js +1 -0
  57. package/dist/packem_shared/FirebaseFile-BLaBxa2A.js +1 -0
  58. package/dist/packem_shared/FirebaseMetaStorage-D_vNzewL.js +1 -0
  59. package/dist/packem_shared/FirebaseStorage-Dgk4XyMr.js +2 -0
  60. package/dist/packem_shared/FtpFile-ClWDYnt2.js +1 -0
  61. package/dist/packem_shared/FtpMetaStorage-DFwhEI9C.js +1 -0
  62. package/dist/packem_shared/FtpStorage-g_DjiR-C.js +1 -0
  63. package/dist/packem_shared/GCSConfig-BQ0OpVhe.js +1 -0
  64. package/dist/packem_shared/GCSFile-Cero7qZN.js +1 -0
  65. package/dist/packem_shared/GCSMetaStorage-3fLTlRd4.js +1 -0
  66. package/dist/packem_shared/GCStorage-DUfwVFd3.js +1 -0
  67. package/dist/packem_shared/GoogleDriveFile-DHpLhzg9.js +1 -0
  68. package/dist/packem_shared/GoogleDriveMetaStorage-DqkgoE46.js +1 -0
  69. package/dist/packem_shared/GoogleDriveStorage-D0-5egHE.js +1 -0
  70. package/dist/packem_shared/LocalMetaStorage-Bp5mVc76.js +1 -0
  71. package/dist/packem_shared/MediaTransformer-D2kUsklW.js +1 -0
  72. package/dist/packem_shared/MemoryMetaStorage-Ksgh9pe7.js +1 -0
  73. package/dist/packem_shared/MemoryStorage-DzSTdlAq.js +1 -0
  74. package/dist/packem_shared/MetaStorage-DPEUyWgN.js +1 -0
  75. package/dist/packem_shared/Metadata-B7CcBueg.js +1 -0
  76. package/dist/packem_shared/Multipart-Btj2mo9r.js +1 -0
  77. package/dist/packem_shared/Multipart-C4GpuHMU.js +1 -0
  78. package/dist/packem_shared/NetlifyBlobFile-DoFhkzaH.js +1 -0
  79. package/dist/packem_shared/NetlifyBlobMetaStorage-D_vNzewL.js +1 -0
  80. package/dist/packem_shared/NetlifyBlobStorage-DZdCmOVW.js +1 -0
  81. package/dist/packem_shared/NoOpMetrics-BLo6u4NY.js +1 -0
  82. package/dist/packem_shared/OneDriveFile-CNNJYI43.js +1 -0
  83. package/dist/packem_shared/OneDriveMetaStorage-DqkgoE46.js +1 -0
  84. package/dist/packem_shared/OneDriveStorage-CvJetV7_.js +1 -0
  85. package/dist/packem_shared/OpenTelemetryMetrics-DJDQsNKp.js +1 -0
  86. package/dist/packem_shared/PocketBaseFile-DpJpxl3e.js +1 -0
  87. package/dist/packem_shared/PocketBaseMetaStorage-CpvDRnSu.js +1 -0
  88. package/dist/packem_shared/PocketBaseStorage-BPil-koe.js +1 -0
  89. package/dist/packem_shared/Rest-BehVaxbl.js +1 -0
  90. package/dist/packem_shared/Rest-ymPCZkKR.js +1 -0
  91. package/dist/packem_shared/S3File-CpZrubaV.js +1 -0
  92. package/dist/packem_shared/S3MetaStorage-CMonflzp.js +1 -0
  93. package/dist/packem_shared/S3Storage-wslqssvr.js +1 -0
  94. package/dist/packem_shared/SftpFile-ClWDYnt2.js +1 -0
  95. package/dist/packem_shared/SftpMetaStorage-DFwhEI9C.js +1 -0
  96. package/dist/packem_shared/SftpStorage-BVbMtS2b.js +1 -0
  97. package/dist/packem_shared/SharePointFile-Blz9FS4h.js +1 -0
  98. package/dist/packem_shared/SharePointMetaStorage-DFwhEI9C.js +1 -0
  99. package/dist/packem_shared/SharePointStorage-DWjvR5oZ.js +1 -0
  100. package/dist/packem_shared/SupabaseFile-Bo5B-vM1.js +1 -0
  101. package/dist/packem_shared/SupabaseMetaStorage-DqkgoE46.js +1 -0
  102. package/dist/packem_shared/SupabaseStorage-BiKmYKb6.js +1 -0
  103. package/dist/packem_shared/TUS_RESUMABLE-CyTSRvPU.js +1 -0
  104. package/dist/packem_shared/Tus-BgbON_wQ.js +1 -0
  105. package/dist/packem_shared/Tus-v6jzkaIO.js +1 -0
  106. package/dist/packem_shared/UploadControl-DZJhI9Wh.js +1 -0
  107. package/dist/packem_shared/UploadThingFile-BTFMpcIA.js +1 -0
  108. package/dist/packem_shared/UploadThingMetaStorage-D_vNzewL.js +1 -0
  109. package/dist/packem_shared/UploadThingStorage-jrEnANC5.js +1 -0
  110. package/dist/packem_shared/ValidationError-3B06DFyE.js +1 -0
  111. package/dist/packem_shared/VercelBlobFile-CVQwKlZk.js +1 -0
  112. package/dist/packem_shared/VercelBlobMetaStorage-DFwhEI9C.js +1 -0
  113. package/dist/packem_shared/VercelBlobStorage-Y-cDgH30.js +1 -0
  114. package/dist/packem_shared/_commonjsHelpers-CWAkuNXM.js +1 -0
  115. package/dist/packem_shared/agentsCopyFile-Dl5iffdH.js +1 -0
  116. package/dist/packem_shared/akamai-DthkaFul.js +1 -0
  117. package/dist/packem_shared/alibaba-BEi25O1g.js +1 -0
  118. package/dist/packem_shared/approval-fVHwBp7u.js +1 -0
  119. package/dist/packem_shared/approval.d-CMAYH9GF.d.ts +75 -0
  120. package/dist/packem_shared/aws-light-meta-storage-DGrn72VJ.js +4 -0
  121. package/dist/packem_shared/azure-meta-storage-ClbEsfI4.js +1 -0
  122. package/dist/packem_shared/backblaze-m1N5NZ9q.js +1 -0
  123. package/dist/packem_shared/base-handler-core-EeV8gZck.js +1 -0
  124. package/dist/packem_shared/base-handler-fetch-CHzsgb7C.js +1 -0
  125. package/dist/packem_shared/base-handler-node-BjpW8pGi.js +1 -0
  126. package/dist/packem_shared/cache-Cw3QjoVN.js +1 -0
  127. package/dist/packem_shared/claudeCopyFile-BX9O4ORk.js +1 -0
  128. package/dist/packem_shared/cloudflare-CdUTErlo.js +1 -0
  129. package/dist/packem_shared/copyFile-49FtxXcm.js +1 -0
  130. package/dist/packem_shared/copyFile-BUPezT_c.js +1 -0
  131. package/dist/packem_shared/createResponsesFileTools-6Tvt2PNr.js +1 -0
  132. package/dist/packem_shared/createRetryWrapper-CxgiV_hH.js +1 -0
  133. package/dist/packem_shared/detect-file-type-BA7UBLKA.js +1 -0
  134. package/dist/packem_shared/digitalOcean-B2uB6pgz.js +1 -0
  135. package/dist/packem_shared/disk-storage-DIn-VnCh.js +1 -0
  136. package/dist/packem_shared/disk-storage-with-checksum.d-B-VGEsfl.d.ts +156 -0
  137. package/dist/packem_shared/executors-BDzMjc4y.js +1 -0
  138. package/dist/packem_shared/executors.d-BZP2rWo3.d.ts +69 -0
  139. package/dist/packem_shared/exoscale-BDa1Gjth.js +1 -0
  140. package/dist/packem_shared/filebase-CsFYJIwB.js +1 -0
  141. package/dist/packem_shared/files.d-CH0iLBNC.d.ts +655 -0
  142. package/dist/packem_shared/gcs-meta-storage-Dy37wCjI.js +1 -0
  143. package/dist/packem_shared/get-file-status-y3wTtDQs.js +1 -0
  144. package/dist/packem_shared/getFormatFromContentType-DCTTPQHm.js +1 -0
  145. package/dist/packem_shared/has-content-50BsqrWw.js +1 -0
  146. package/dist/packem_shared/headers-BAiAKekR.js +26 -0
  147. package/dist/packem_shared/hetzner-BGGFiRGD.js +1 -0
  148. package/dist/packem_shared/ibmCos-j-3TfJ5p.js +1 -0
  149. package/dist/packem_shared/idriveE2-C6pQ5pQ0.js +1 -0
  150. package/dist/packem_shared/index-nZWCQrSe.js +5 -0
  151. package/dist/packem_shared/internal-D_cZIFwI.js +1 -0
  152. package/dist/packem_shared/is-expired-CBEk6XBi.js +1 -0
  153. package/dist/packem_shared/local-meta-storage-C2T92TYb.js +11 -0
  154. package/dist/packem_shared/local-meta-storage.d-D9PBfkn6.d.ts +21 -0
  155. package/dist/packem_shared/media-transformer.d-Quf4ai47.d.ts +331 -0
  156. package/dist/packem_shared/memory-storage.d-4EU1cMt1.d.ts +101 -0
  157. package/dist/packem_shared/minio-NKquuBfS.js +1 -0
  158. package/dist/packem_shared/multipart-base-BOzY19lb.js +1 -0
  159. package/dist/packem_shared/oauth-refresh-EdGzlcOZ.js +1 -0
  160. package/dist/packem_shared/oracleCloud-DslqNpn6.js +1 -0
  161. package/dist/packem_shared/ovhCloud-CMHE6uLV.js +1 -0
  162. package/dist/packem_shared/part-match-D-9dGX42.js +1 -0
  163. package/dist/packem_shared/path-0oTTdkvl-BVg7lYf5.js +1 -0
  164. package/dist/packem_shared/posix-dirname-CfpH5wZi.js +1 -0
  165. package/dist/packem_shared/response-builder-CbSA8qPa.js +1 -0
  166. package/dist/packem_shared/rest-base-CynUg0mH.js +1 -0
  167. package/dist/packem_shared/restOpenApiSpec-Csv513qf.js +1 -0
  168. package/dist/packem_shared/s3-base-storage-DXZYN24h.js +1 -0
  169. package/dist/packem_shared/s3-base-storage.d-BQgP5B-t.d.ts +287 -0
  170. package/dist/packem_shared/scaleway-U1In3v70.js +1 -0
  171. package/dist/packem_shared/sharedErrorSchemaObject-YN65aAKj.js +1 -0
  172. package/dist/packem_shared/storage-Cyy73Y6r.js +1 -0
  173. package/dist/packem_shared/storage.d-CEM1upWM.d.ts +1176 -0
  174. package/dist/packem_shared/storj-Cb59q9kF.js +1 -0
  175. package/dist/packem_shared/sync-DhR3536K.js +1 -0
  176. package/dist/packem_shared/tencent-Q1y2GENc.js +1 -0
  177. package/dist/packem_shared/tigris-BELKoyyp.js +1 -0
  178. package/dist/packem_shared/transformOpenApiSpec-CIEAgpBD.js +1 -0
  179. package/dist/packem_shared/tus-base.d-DLzKE54M.d.ts +106 -0
  180. package/dist/packem_shared/tusOpenApiSpec-D96B03t5.js +1 -0
  181. package/dist/packem_shared/types.d-Bon9GVVe.d.ts +104 -0
  182. package/dist/packem_shared/types.d-CggTCgXr.d.ts +49 -0
  183. package/dist/packem_shared/types.d-CrUWY4On.d.ts +720 -0
  184. package/dist/packem_shared/update-size-DuNuLyxj.js +1 -0
  185. package/dist/packem_shared/vultr-B491cQ4e.js +1 -0
  186. package/dist/packem_shared/waitForStorage-ByQmG4xF.js +1 -0
  187. package/dist/packem_shared/wasabi-DFrwIoab.js +1 -0
  188. package/dist/packem_shared/xhrOpenApiSpec-DQR4h6M8.js +1 -0
  189. package/dist/packem_shared/yandex-CwzHuEKP.js +1 -0
  190. package/dist/storage/aws/clients/index.d.ts +612 -6
  191. package/dist/storage/aws/clients/index.js +1 -6
  192. package/dist/storage/aws/index.d.ts +332 -4
  193. package/dist/storage/aws/index.js +1 -3
  194. package/dist/storage/aws-light/index.d.ts +259 -4
  195. package/dist/storage/aws-light/index.js +1 -3
  196. package/dist/storage/azure/index.d.ts +236 -4
  197. package/dist/storage/azure/index.js +1 -3
  198. package/dist/storage/box/index.d.ts +189 -0
  199. package/dist/storage/box/index.js +1 -0
  200. package/dist/storage/bun-s3/index.d.ts +200 -0
  201. package/dist/storage/bun-s3/index.js +1 -0
  202. package/dist/storage/bunny/index.d.ts +119 -0
  203. package/dist/storage/bunny/index.js +1 -0
  204. package/dist/storage/cloudinary/index.d.ts +121 -0
  205. package/dist/storage/cloudinary/index.js +1 -0
  206. package/dist/storage/dropbox/index.d.ts +132 -0
  207. package/dist/storage/dropbox/index.js +1 -0
  208. package/dist/storage/firebase/index.d.ts +192 -0
  209. package/dist/storage/firebase/index.js +1 -0
  210. package/dist/storage/ftp/index.d.ts +91 -0
  211. package/dist/storage/ftp/index.js +1 -0
  212. package/dist/storage/gcs/index.d.ts +195 -5
  213. package/dist/storage/gcs/index.js +1 -4
  214. package/dist/storage/google-drive/index.d.ts +148 -0
  215. package/dist/storage/google-drive/index.js +1 -0
  216. package/dist/storage/local/index.d.ts +7 -4
  217. package/dist/storage/local/index.js +1 -3
  218. package/dist/storage/memory/index.d.ts +6 -0
  219. package/dist/storage/memory/index.js +1 -0
  220. package/dist/storage/netlify-blob/index.d.ts +147 -4
  221. package/dist/storage/netlify-blob/index.js +1 -3
  222. package/dist/storage/onedrive/index.d.ts +103 -0
  223. package/dist/storage/onedrive/index.js +1 -0
  224. package/dist/storage/pocketbase/index.d.ts +172 -0
  225. package/dist/storage/pocketbase/index.js +1 -0
  226. package/dist/storage/sftp/index.d.ts +92 -0
  227. package/dist/storage/sftp/index.js +1 -0
  228. package/dist/storage/sharepoint/index.d.ts +180 -0
  229. package/dist/storage/sharepoint/index.js +1 -0
  230. package/dist/storage/supabase/index.d.ts +115 -0
  231. package/dist/storage/supabase/index.js +1 -0
  232. package/dist/storage/uploadthing/index.d.ts +95 -0
  233. package/dist/storage/uploadthing/index.js +1 -0
  234. package/dist/storage/vercel-blob/index.d.ts +189 -4
  235. package/dist/storage/vercel-blob/index.js +1 -3
  236. package/dist/transformer/audio-transformer.d.ts +127 -125
  237. package/dist/transformer/audio-transformer.js +1 -278
  238. package/dist/transformer/image-transformer.d.ts +573 -568
  239. package/dist/transformer/image-transformer.js +1 -1100
  240. package/dist/transformer/index.d.ts +62 -5
  241. package/dist/transformer/index.js +1 -4
  242. package/dist/transformer/video-transformer.d.ts +144 -142
  243. package/dist/transformer/video-transformer.js +1 -310
  244. package/package.json +202 -51
  245. package/dist/handler/base/base-handler-core.d.ts +0 -91
  246. package/dist/handler/base/base-handler-fetch.d.ts +0 -76
  247. package/dist/handler/base/base-handler-node.d.ts +0 -137
  248. package/dist/handler/multipart/multipart-base.d.ts +0 -84
  249. package/dist/handler/multipart/multipart-fetch.d.ts +0 -64
  250. package/dist/handler/multipart/multipart.d.ts +0 -49
  251. package/dist/handler/rest/rest-base.d.ts +0 -106
  252. package/dist/handler/rest/rest-fetch.d.ts +0 -88
  253. package/dist/handler/rest/rest.d.ts +0 -93
  254. package/dist/handler/tus/tus-base.d.ts +0 -152
  255. package/dist/handler/tus/tus-fetch.d.ts +0 -72
  256. package/dist/handler/tus/tus.d.ts +0 -78
  257. package/dist/handler/types.d.ts +0 -53
  258. package/dist/handler/utils/request-parser.d.ts +0 -72
  259. package/dist/handler/utils/response-builder.d.ts +0 -83
  260. package/dist/handler/utils/storage-utils.d.ts +0 -10
  261. package/dist/handler/utils/stream-utils.d.ts +0 -29
  262. package/dist/handler/utils/upload-handlers.d.ts +0 -76
  263. package/dist/metrics/index.d.ts +0 -2
  264. package/dist/metrics/no-op-metrics.d.ts +0 -15
  265. package/dist/metrics/opentelemetry-metrics.d.ts +0 -55
  266. package/dist/openapi/rest.d.ts +0 -7
  267. package/dist/openapi/shared.d.ts +0 -13
  268. package/dist/openapi/transform.d.ts +0 -3
  269. package/dist/openapi/tus.d.ts +0 -7
  270. package/dist/openapi/xhr.d.ts +0 -7
  271. package/dist/packem_shared/AwsLightFile-tTneXZgG.js +0 -11
  272. package/dist/packem_shared/AwsLightMetaStorage-BWSOtVaN.js +0 -4
  273. package/dist/packem_shared/AwsLightStorage-Blv-GP4v.js +0 -133
  274. package/dist/packem_shared/AzureFile-CesgFzps.js +0 -8
  275. package/dist/packem_shared/AzureSMetaStorage-CFs-OYJT.js +0 -88
  276. package/dist/packem_shared/AzureStorage-B0v048hG.js +0 -357
  277. package/dist/packem_shared/BaseTransformer-C2gLib6v.js +0 -82
  278. package/dist/packem_shared/DiskStorage-Ck5yGQsq.js +0 -12
  279. package/dist/packem_shared/DiskStorageWithChecksum-BRl-V5x2.js +0 -238
  280. package/dist/packem_shared/ERRORS-D0apMqnc.js +0 -97
  281. package/dist/packem_shared/File-Bb3P23dr.js +0 -69
  282. package/dist/packem_shared/GCSConfig-vPP22kN6.js +0 -11
  283. package/dist/packem_shared/GCSFile-BIEunhAN.js +0 -8
  284. package/dist/packem_shared/GCSMetaStorage-CHZKMe7N.js +0 -7
  285. package/dist/packem_shared/GCStorage-C-gAuP0j.js +0 -406
  286. package/dist/packem_shared/LocalMetaStorage-CZHhKkMd.js +0 -7
  287. package/dist/packem_shared/MediaTransformer-D6658DL1.js +0 -1197
  288. package/dist/packem_shared/MetaStorage-pECeFOad.js +0 -46
  289. package/dist/packem_shared/Metadata-DRLXeJ0F.js +0 -89
  290. package/dist/packem_shared/Multipart-CRV21AUU.js +0 -128
  291. package/dist/packem_shared/Multipart-D2ryPMjD.js +0 -163
  292. package/dist/packem_shared/NetlifyBlobFile-CXzyjqrD.js +0 -14
  293. package/dist/packem_shared/NetlifyBlobMetaStorage-DxZ5aDvD.js +0 -9
  294. package/dist/packem_shared/NetlifyBlobStorage-CLPtjHqd.js +0 -376
  295. package/dist/packem_shared/NoOpMetrics-DhAk5rXc.js +0 -10
  296. package/dist/packem_shared/OpenTelemetryMetrics-BnxhqIaH.js +0 -67
  297. package/dist/packem_shared/Rest-DcxBMBjU.js +0 -228
  298. package/dist/packem_shared/Rest-DjwU3puo.js +0 -267
  299. package/dist/packem_shared/S3File-DZiyk9Qt.js +0 -11
  300. package/dist/packem_shared/S3MetaStorage-Dz9aDabA.js +0 -76
  301. package/dist/packem_shared/S3Storage-DHmTk-hU.js +0 -316
  302. package/dist/packem_shared/TUS_RESUMABLE-Dtfsffnj.js +0 -434
  303. package/dist/packem_shared/Tus-DFVlZHaX.js +0 -200
  304. package/dist/packem_shared/Tus-DaN0FmOy.js +0 -195
  305. package/dist/packem_shared/ValidationError-BfF1aE4h.js +0 -26
  306. package/dist/packem_shared/VercelBlobFile-BCg4aTEq.js +0 -18
  307. package/dist/packem_shared/VercelBlobMetaStorage-Bd9F-VFm.js +0 -9
  308. package/dist/packem_shared/VercelBlobStorage-DD9LMOS6.js +0 -261
  309. package/dist/packem_shared/_commonjsHelpers-BqLXS_qQ.js +0 -5
  310. package/dist/packem_shared/aws-light-meta-storage-DKJBgbR6.js +0 -446
  311. package/dist/packem_shared/backblaze-BlMnIcBC.js +0 -20
  312. package/dist/packem_shared/base-handler-core-BoAqTyz7.js +0 -303
  313. package/dist/packem_shared/base-handler-fetch-D4u2xits.js +0 -291
  314. package/dist/packem_shared/base-handler-node-DGzcHHAy.js +0 -730
  315. package/dist/packem_shared/cache-B88MXQ_2.js +0 -18
  316. package/dist/packem_shared/cloudflare-Bi1q8wXE.js +0 -21
  317. package/dist/packem_shared/defaultCloudStorageFileNameValidation-DUuacjWv.js +0 -11
  318. package/dist/packem_shared/digitalOcean-CWQRJM3L.js +0 -21
  319. package/dist/packem_shared/disk-storage-CD47QI30.js +0 -810
  320. package/dist/packem_shared/gcs-meta-storage-CJ8Uts_d.js +0 -158
  321. package/dist/packem_shared/has-content-CY66ehMK.js +0 -3
  322. package/dist/packem_shared/headers-YLRp1dLo.js +0 -1318
  323. package/dist/packem_shared/is-expired-CTThU1q5.js +0 -8
  324. package/dist/packem_shared/isRetryableError-Dycp7127.js +0 -82
  325. package/dist/packem_shared/isValidMediaType-BeDgiObq.js +0 -35
  326. package/dist/packem_shared/local-meta-storage-By-3SNBI.js +0 -649
  327. package/dist/packem_shared/minio-C2YBZQOw.js +0 -22
  328. package/dist/packem_shared/multipart-base-C994naBi.js +0 -102
  329. package/dist/packem_shared/part-match-BMNqHDYD.js +0 -96
  330. package/dist/packem_shared/path-CR6YkPXX-7R1-9CMk.js +0 -161
  331. package/dist/packem_shared/response-builder-BtnRiBUI.js +0 -45
  332. package/dist/packem_shared/rest-base-D9URIFkc.js +0 -457
  333. package/dist/packem_shared/restOpenApiSpec-D1JC_Jto.js +0 -800
  334. package/dist/packem_shared/s3-base-storage-C1DIHTYY.js +0 -510
  335. package/dist/packem_shared/sharedGet-Cpo7QUyu.js +0 -1019
  336. package/dist/packem_shared/storage-C6NSXb8h.js +0 -1175
  337. package/dist/packem_shared/tigris-Hac8TKnX.js +0 -21
  338. package/dist/packem_shared/transformOpenApiSpec-DWM5WtnN.js +0 -975
  339. package/dist/packem_shared/tusOpenApiSpec-mBZkl7he.js +0 -740
  340. package/dist/packem_shared/update-size-CCGm6i1J.js +0 -8
  341. package/dist/packem_shared/validator-BeX_lJet.js +0 -78
  342. package/dist/packem_shared/waitForStorage-Cscw85sx.js +0 -18
  343. package/dist/packem_shared/wasabi-DIyflHSd.js +0 -21
  344. package/dist/packem_shared/xhrOpenApiSpec-B1V5Dxrj.js +0 -264
  345. package/dist/storage/aws/clients/backblaze.d.ts +0 -12
  346. package/dist/storage/aws/clients/cloudflare.d.ts +0 -13
  347. package/dist/storage/aws/clients/digital-ocean.d.ts +0 -12
  348. package/dist/storage/aws/clients/minio.d.ts +0 -13
  349. package/dist/storage/aws/clients/tigris.d.ts +0 -12
  350. package/dist/storage/aws/clients/types.d.ts +0 -95
  351. package/dist/storage/aws/clients/wasabi.d.ts +0 -12
  352. package/dist/storage/aws/s3-base-storage.d.ts +0 -248
  353. package/dist/storage/aws/s3-client-adapter.d.ts +0 -110
  354. package/dist/storage/aws/s3-file.d.ts +0 -10
  355. package/dist/storage/aws/s3-meta-storage.d.ts +0 -15
  356. package/dist/storage/aws/s3-storage.d.ts +0 -70
  357. package/dist/storage/aws/types.d.ts +0 -119
  358. package/dist/storage/aws-light/aws-light-api-adapter.d.ts +0 -130
  359. package/dist/storage/aws-light/aws-light-file.d.ts +0 -10
  360. package/dist/storage/aws-light/aws-light-meta-storage.d.ts +0 -19
  361. package/dist/storage/aws-light/aws-light-storage.d.ts +0 -65
  362. package/dist/storage/aws-light/types.d.ts +0 -37
  363. package/dist/storage/azure/azure-file.d.ts +0 -6
  364. package/dist/storage/azure/azure-meta-storage.d.ts +0 -15
  365. package/dist/storage/azure/azure-storage.d.ts +0 -69
  366. package/dist/storage/azure/types.d.ts +0 -62
  367. package/dist/storage/gcs/fetch-error.d.ts +0 -11
  368. package/dist/storage/gcs/gcs-config.d.ts +0 -2
  369. package/dist/storage/gcs/gcs-file.d.ts +0 -6
  370. package/dist/storage/gcs/gcs-meta-storage.d.ts +0 -27
  371. package/dist/storage/gcs/gcs-storage.d.ts +0 -91
  372. package/dist/storage/gcs/types.d.ts +0 -55
  373. package/dist/storage/gcs/utils.d.ts +0 -7
  374. package/dist/storage/local/disk-storage-with-checksum.d.ts +0 -15
  375. package/dist/storage/local/disk-storage.d.ts +0 -135
  376. package/dist/storage/local/local-meta-storage.d.ts +0 -32
  377. package/dist/storage/meta-storage.d.ts +0 -30
  378. package/dist/storage/netlify-blob/netlify-blob-file.d.ts +0 -12
  379. package/dist/storage/netlify-blob/netlify-blob-meta-storage.d.ts +0 -7
  380. package/dist/storage/netlify-blob/netlify-blob-storage.d.ts +0 -93
  381. package/dist/storage/netlify-blob/types.d.ts +0 -30
  382. package/dist/storage/storage.d.ts +0 -353
  383. package/dist/storage/types.d.ts +0 -221
  384. package/dist/storage/utils/file/file.d.ts +0 -25
  385. package/dist/storage/utils/file/get-file-status.d.ts +0 -9
  386. package/dist/storage/utils/file/has-content.d.ts +0 -9
  387. package/dist/storage/utils/file/index.d.ts +0 -10
  388. package/dist/storage/utils/file/is-expired.d.ts +0 -8
  389. package/dist/storage/utils/file/metadata.d.ts +0 -18
  390. package/dist/storage/utils/file/part-match.d.ts +0 -11
  391. package/dist/storage/utils/file/types.d.ts +0 -37
  392. package/dist/storage/utils/file/update-metadata.d.ts +0 -10
  393. package/dist/storage/utils/file/update-size.d.ts +0 -10
  394. package/dist/storage/vercel-blob/types.d.ts +0 -32
  395. package/dist/storage/vercel-blob/vercel-blob-file.d.ts +0 -16
  396. package/dist/storage/vercel-blob/vercel-blob-meta-storage.d.ts +0 -7
  397. package/dist/storage/vercel-blob/vercel-blob-storage.d.ts +0 -76
  398. package/dist/transformer/base-transformer.d.ts +0 -63
  399. package/dist/transformer/media-transformer.d.ts +0 -332
  400. package/dist/transformer/types.d.ts +0 -652
  401. package/dist/transformer/utils.d.ts +0 -33
  402. package/dist/transformer/validation-error.d.ts +0 -23
  403. package/dist/utils/cache.d.ts +0 -32
  404. package/dist/utils/chunked-upload.d.ts +0 -65
  405. package/dist/utils/detect-file-type.d.ts +0 -28
  406. package/dist/utils/errors.d.ts +0 -74
  407. package/dist/utils/file-path-url-matcher.d.ts +0 -18
  408. package/dist/utils/headers.d.ts +0 -111
  409. package/dist/utils/http.d.ts +0 -92
  410. package/dist/utils/locker.d.ts +0 -26
  411. package/dist/utils/pipes/stream-checksum.d.ts +0 -47
  412. package/dist/utils/pipes/stream-length.d.ts +0 -22
  413. package/dist/utils/primitives/get-last-one.d.ts +0 -3
  414. package/dist/utils/primitives/is-record.d.ts +0 -2
  415. package/dist/utils/primitives/map-values.d.ts +0 -9
  416. package/dist/utils/primitives/pick.d.ts +0 -2
  417. package/dist/utils/primitives/to-milliseconds.d.ts +0 -12
  418. package/dist/utils/primitives/to-seconds.d.ts +0 -12
  419. package/dist/utils/range-checksum.d.ts +0 -33
  420. package/dist/utils/range-hasher.d.ts +0 -46
  421. package/dist/utils/retry.d.ts +0 -64
  422. package/dist/utils/types.d.ts +0 -108
  423. package/dist/utils/validation-error.d.ts +0 -22
  424. package/dist/utils/validator.d.ts +0 -36
@@ -1,221 +0,0 @@
1
- import type { Readable } from "node:stream";
2
- import type { Cache } from "../utils/cache.d.ts";
3
- import type { RetryConfig } from "../utils/retry.d.ts";
4
- import type { HttpError, HttpErrorBody, Metrics, Validation } from "../utils/types.d.ts";
5
- import type { LocalMetaStorageOptions } from "./local/local-meta-storage.d.ts";
6
- import type MetaStorage from "./meta-storage.d.ts";
7
- import type { File, FileInit, FilePart, FileQuery, FileReturn, UploadFile } from "./utils/index.d.ts";
8
- export interface MetaStorageOptions {
9
- logger?: Console;
10
- prefix?: string;
11
- suffix?: string;
12
- }
13
- export type OnCreate<TFile extends File = File> = (file: TFile) => Promise<void> | void;
14
- export type OnUpdate<TFile extends File = File> = (file: TFile) => Promise<void> | void;
15
- export type OnComplete<TFile extends File = File, TResponse = unknown, TRequest = unknown> = (file: TFile, response: TResponse, request?: TRequest) => Promise<void> | void;
16
- export type OnDelete<TFile extends File = File> = (file: TFile) => Promise<void> | void;
17
- export type OnError<TBody = HttpErrorBody> = (error: HttpError<TBody>) => Promise<void> | void;
18
- export interface PurgeList {
19
- items: UploadFile[];
20
- maxAgeMs: number;
21
- }
22
- export interface ExpirationOptions {
23
- /**
24
- * Age of the upload, after which it is considered expired and can be deleted
25
- */
26
- maxAge: number | string;
27
- /**
28
- * Auto purging interval for expired upload
29
- */
30
- purgeInterval?: number | string;
31
- /**
32
- * Auto prolong expiring upload
33
- */
34
- rolling?: boolean;
35
- }
36
- export interface BaseStorageOptions<T extends File = File> extends GenericStorageConfig {
37
- /** Allowed MIME types */
38
- allowMIME?: string[];
39
- /** The full path of the folder where the uploaded asset will be stored. */
40
- assetFolder?: string;
41
- /** Cache instance to use for caching */
42
- cache?: Cache;
43
- /**
44
- * Automatic cleaning of abandoned and completed upload
45
- * @example
46
- * ```ts
47
- * app.use(
48
- * '/upload',
49
- * Upload.upload({
50
- * directory: 'upload',
51
- * expiration: { maxAge: '6h', purgeInterval: '30min' },
52
- * onComplete
53
- * })
54
- * );
55
- * ```
56
- */
57
- expiration?: ExpirationOptions;
58
- /** File naming function */
59
- filename?: (file: T) => string;
60
- /**
61
- * File name validation function.
62
- * Returns true if the filename is valid, false otherwise.
63
- * @default Cloud storage platforms: permissive (only blocks path traversal and null bytes)
64
- * @default DiskStorage: strict (blocks filesystem-incompatible characters)
65
- * @example
66
- * ```ts
67
- * fileNameValidation: (name: string) => {
68
- * // Custom validation logic
69
- * return name.length > 0 && !name.includes('../');
70
- * }
71
- * ```
72
- */
73
- fileNameValidation?: (name: string) => boolean;
74
- /** Logger injection */
75
- logger?: Console;
76
- /** Limiting the size of custom metadata */
77
- maxMetadataSize?: number | string;
78
- /** File size limit */
79
- maxUploadSize?: number | string;
80
- /** Provide custom meta storage */
81
- metaStorage?: MetaStorage<T>;
82
- /** Metrics injection for observability */
83
- metrics?: Metrics;
84
- /** Callback function that is called when an upload is completed */
85
- onComplete?: OnComplete<T>;
86
- /** Callback function that is called when a new upload is created */
87
- onCreate?: OnCreate<T>;
88
- /** Callback function that is called when an upload is cancelled */
89
- onDelete?: OnDelete<T>;
90
- /** Customize error response */
91
- onError?: OnError;
92
- /** Callback function that is called when an upload is updated */
93
- onUpdate?: OnUpdate<T>;
94
- /** Force relative URI in Location header */
95
- useRelativeLocation?: boolean;
96
- /** Upload validation options */
97
- validation?: Validation<T>;
98
- }
99
- export type DiskStorageOptions<T extends File> = BaseStorageOptions<T> & {
100
- /**
101
- * Uploads directory.
102
- */
103
- directory: string;
104
- /**
105
- * Configuring metafile storage on the local disk
106
- * @example
107
- * ```ts
108
- * const storage = new DiskStorage({
109
- * directory: 'upload',
110
- * metaStorageConfig: { directory: '/tmp/upload-metafiles', prefix: '.' }
111
- * });
112
- * ```
113
- */
114
- metaStorageConfig?: LocalMetaStorageOptions;
115
- };
116
- export type DiskStorageWithChecksumOptions<T extends File> = DiskStorageOptions<T> & {
117
- /**
118
- * Enable/disable file/range checksum calculation
119
- */
120
- checksum?: boolean | "md5" | "sha1";
121
- };
122
- /**
123
- * Unified storage configuration
124
- */
125
- export interface GenericStorageConfig {
126
- /** Allow additional properties for specific storage backends */
127
- [key: string]: unknown;
128
- /** Base path/prefix for all operations */
129
- basePath?: string;
130
- /** Cache TTL */
131
- cacheTTL?: number;
132
- /** Supported checksum algorithms */
133
- checksumTypes?: string[];
134
- /** Logger instance */
135
- logger?: Console;
136
- /** Maximum file size */
137
- maxFileSize?: number | string;
138
- /** Metrics instance for observability */
139
- metrics?: Metrics;
140
- /** Retry configuration for transient failures */
141
- retryConfig?: RetryConfig;
142
- }
143
- /**
144
- * Batch operation result for a single file
145
- */
146
- export interface BatchOperationResult<T extends File = File> {
147
- /** Error message if operation failed */
148
- error?: string;
149
- /** File that was successfully operated on */
150
- file?: T;
151
- /** File ID */
152
- id: string;
153
- /** Whether the operation was successful */
154
- success: boolean;
155
- }
156
- /**
157
- * Response from batch operations (deleteBatch, copyBatch, moveBatch)
158
- */
159
- export interface BatchOperationResponse<T extends File = File> {
160
- /** Failed operations with error details */
161
- failed: {
162
- error: string;
163
- id: string;
164
- }[];
165
- /** Total number of failed operations */
166
- failedCount: number;
167
- /** Successfully processed files */
168
- successful: T[];
169
- /** Total number of successful operations */
170
- successfulCount: number;
171
- }
172
- /**
173
- * Generic storage operations that all backends should support
174
- */
175
- export interface GenericStorageOperations<T extends File = File, TReturn extends FileReturn = FileReturn> {
176
- /** Copy a file */
177
- copy: (source: string, destination: string, options?: {
178
- storageClass?: string;
179
- }) => Promise<T>;
180
- /** Copy multiple files */
181
- copyBatch?: (operations: {
182
- destination: string;
183
- options?: {
184
- storageClass?: string;
185
- };
186
- source: string;
187
- }[]) => Promise<BatchOperationResponse<T>>;
188
- /** Create a new file upload */
189
- create: (config: FileInit) => Promise<T>;
190
- /** Delete a file */
191
- delete: (query: FileQuery) => Promise<T>;
192
- /** Delete multiple files */
193
- deleteBatch?: (ids: string[]) => Promise<BatchOperationResponse<T>>;
194
- /** Check if file exists */
195
- exists: (query: FileQuery) => Promise<boolean>;
196
- /** Get file data */
197
- get: (query: FileQuery) => Promise<TReturn>;
198
- /** Get file as a readable stream */
199
- getStream?: (query: FileQuery) => Promise<{
200
- headers?: Record<string, string>;
201
- size?: number;
202
- stream: Readable;
203
- }>;
204
- /** Get signed URL for upload (if supported) */
205
- getUploadUrl?: (query: FileQuery, expiresIn?: number) => Promise<string>;
206
- /** Get file URL (if supported) */
207
- getUrl?: (query: FileQuery, expiresIn?: number) => Promise<string>;
208
- /** List files */
209
- list: (limit?: number) => Promise<T[]>;
210
- /** Move a file */
211
- move: (source: string, destination: string) => Promise<T>;
212
- /** Move multiple files */
213
- moveBatch?: (operations: {
214
- destination: string;
215
- source: string;
216
- }[]) => Promise<BatchOperationResponse<T>>;
217
- /** Update file metadata */
218
- update: (query: FileQuery, metadata: Partial<T>) => Promise<T>;
219
- /** Write data to a file */
220
- write: (part: FilePart | FileQuery) => Promise<T>;
221
- }
@@ -1,25 +0,0 @@
1
- import type { Metadata } from "./metadata.d.ts";
2
- import type { FileInit, UploadEventType } from "./types.d.ts";
3
- type DateType = Date | number | string;
4
- declare class File implements FileInit {
5
- bytesWritten: number;
6
- contentType: string;
7
- originalName: string;
8
- id: string;
9
- metadata: Metadata;
10
- name: string;
11
- size?: number;
12
- status?: UploadEventType;
13
- expiredAt?: DateType;
14
- createdAt?: DateType;
15
- modifiedAt?: DateType;
16
- hash?: {
17
- algorithm: string;
18
- value: string;
19
- };
20
- content?: Buffer;
21
- ETag?: string;
22
- constructor({ contentType, expiredAt, metadata, originalName, size }: FileInit);
23
- }
24
- export type UploadFile = Readonly<File>;
25
- export default File;
@@ -1,9 +0,0 @@
1
- import type File from "./file.d.ts";
2
- import type { UploadEventType } from "./types.d.ts";
3
- /**
4
- * Determines the upload status of a file based on its current state.
5
- * @param file File object to check status for
6
- * @returns Upload event type: 'completed' if fully uploaded, 'part' if partially uploaded, 'created' if just started
7
- */
8
- declare const getFileStatus: (file: File) => UploadEventType;
9
- export default getFileStatus;
@@ -1,9 +0,0 @@
1
- import type { FilePart } from "./types.d.ts";
2
- /**
3
- * Type guard to check if a partial file part has valid content.
4
- * Validates that the part has a valid start position and body stream.
5
- * @param part Partial file part to check
6
- * @returns True if the part has valid content (start >= 0 and body exists)
7
- */
8
- declare const hasContent: (part: Partial<FilePart>) => part is FilePart;
9
- export default hasContent;
@@ -1,10 +0,0 @@
1
- export type { UploadFile } from "./file.d.ts";
2
- export { default as File } from "./file.d.ts";
3
- export { default as getFileStatus } from "./get-file-status.d.ts";
4
- export { default as hasContent } from "./has-content.d.ts";
5
- export { default as isExpired } from "./is-expired.d.ts";
6
- export { isMetadata, Metadata } from "./metadata.d.ts";
7
- export { default as partMatch } from "./part-match.d.ts";
8
- export type { Checksum, FileInit, FilePart, FileQuery, FileReturn, UploadEventType } from "./types.d.ts";
9
- export { default as updateMetadata } from "./update-metadata.d.ts";
10
- export { default as updateSize } from "./update-size.d.ts";
@@ -1,8 +0,0 @@
1
- import type File from "./file.d.ts";
2
- /**
3
- * Checks if a file has expired based on its expiredAt timestamp.
4
- * @param file File object to check expiration for
5
- * @returns True if the file has expired, false otherwise
6
- */
7
- declare const isExpired: (file: File) => boolean;
8
- export default isExpired;
@@ -1,18 +0,0 @@
1
- export declare class Metadata {
2
- [key: string]: unknown;
3
- psize?: number | string;
4
- pname?: string;
5
- pfiletype?: string;
6
- ptype?: string;
7
- pmimeType?: string;
8
- pcontentType?: string;
9
- ptitle?: string;
10
- pfilename?: string;
11
- poriginalName?: string;
12
- plastModified?: number | string;
13
- }
14
- export declare const isMetadata: (raw: unknown) => raw is Metadata;
15
- export declare const validateKey: (key: string) => boolean;
16
- export declare const validateValue: (value: string) => boolean;
17
- export declare const stringifyMetadata: (metadata: NonNullable<Metadata>) => string;
18
- export declare const parseMetadata: (string_?: string) => Metadata;
@@ -1,11 +0,0 @@
1
- import type File from "./file.d.ts";
2
- import type { FilePart } from "./types.d.ts";
3
- /**
4
- * Validates if a file part matches the expected file size and offset constraints.
5
- * Checks that the part doesn't exceed file size boundaries.
6
- * @param part Partial file part to validate
7
- * @param file File object to validate against
8
- * @returns True if the part is valid for the file, false otherwise
9
- */
10
- declare const partMatch: (part: Partial<FilePart>, file: File) => boolean;
11
- export default partMatch;
@@ -1,37 +0,0 @@
1
- import type { Readable } from "node:stream";
2
- import type { Metadata } from "./metadata.d.ts";
3
- export interface FileInit {
4
- contentType?: string;
5
- expiredAt?: Date | number | string;
6
- metadata: Metadata;
7
- originalName?: string;
8
- size?: number | string;
9
- storageClass?: string;
10
- ttl?: number | string;
11
- }
12
- export interface FileReturn extends Omit<Required<FileInit>, "storageClass" | "ttl" | "expiredAt"> {
13
- content: Buffer;
14
- ETag?: string;
15
- expiredAt?: Date | number | string;
16
- id: string;
17
- modifiedAt?: Date | number | string;
18
- name: string;
19
- storageClass?: string;
20
- }
21
- type UploadEventTypeValue = "completed" | "created" | "deleted" | "part" | "updated";
22
- export type UploadEventType = UploadEventTypeValue;
23
- export interface FileQuery {
24
- id: string;
25
- name?: string;
26
- size?: number;
27
- }
28
- export interface Checksum {
29
- checksum?: string;
30
- checksumAlgorithm?: string;
31
- }
32
- export interface FilePart extends Checksum, FileQuery {
33
- body: Readable;
34
- contentLength?: number;
35
- start: number;
36
- }
37
- export {};
@@ -1,10 +0,0 @@
1
- import type File from "./file.d.ts";
2
- /**
3
- * Updates a file object with new metadata using deep merge.
4
- * Also updates the originalName based on the merged metadata.
5
- * @param file File object to update
6
- * @param metadata Partial metadata to merge into the file
7
- * @template T - File type extending base File class
8
- */
9
- declare const updateMetadata: <T extends File>(file: T, metadata: Partial<T>) => void;
10
- export default updateMetadata;
@@ -1,10 +0,0 @@
1
- import type File from "./file.d.ts";
2
- /**
3
- * Updates a file's size, but only if the new size is smaller than the current size.
4
- * This prevents accidental size increases that could indicate data corruption.
5
- * @param file File object to update
6
- * @param size New size value
7
- * @returns The updated file object
8
- */
9
- declare const updateSize: (file: File, size: number) => File;
10
- export default updateSize;
@@ -1,32 +0,0 @@
1
- import type { LocalMetaStorageOptions } from "../local/local-meta-storage.d.ts";
2
- import type { BaseStorageOptions } from "../types.d.ts";
3
- import type VercelBlobFile from "./vercel-blob-file.d.ts";
4
- export interface VercelBlobStorageOptions extends BaseStorageOptions<VercelBlobFile> {
5
- /**
6
- * Configure metafiles storage
7
- * @example
8
- * Using local metafiles
9
- * ```ts
10
- * const storage = new VercelBlobStorage({
11
- * token: process.env.BLOB_READ_WRITE_TOKEN,
12
- * metaStorageConfig: { directory: '/tmp/upload-metafiles' }
13
- * })
14
- * ```
15
- */
16
- metaStorageConfig?: LocalMetaStorageOptions;
17
- /**
18
- * Enable multipart uploads for large files
19
- * Can be a boolean to always use multipart, or a number (in bytes) as threshold
20
- * @default false
21
- * @example
22
- * // Always use multipart uploads
23
- * multipart: true
24
- * // Use multipart for files larger than 100MB
25
- * multipart: 100 * 1024 * 1024
26
- */
27
- multipart?: boolean | number;
28
- /**
29
- * Vercel Blob read-write token
30
- */
31
- token?: string;
32
- }
@@ -1,16 +0,0 @@
1
- import { File } from "../utils/index.d.ts";
2
- declare class VercelBlobFile extends File {
3
- /**
4
- * The blob's public URL
5
- */
6
- url?: string;
7
- /**
8
- * The blob's download URL (may be different from url for private blobs)
9
- */
10
- downloadUrl?: string;
11
- /**
12
- * The blob's pathname within the store
13
- */
14
- pathname?: string;
15
- }
16
- export default VercelBlobFile;
@@ -1,7 +0,0 @@
1
- import type { LocalMetaStorageOptions } from "../local/local-meta-storage.d.ts";
2
- import LocalMetaStorage from "../local/local-meta-storage.d.ts";
3
- import type VercelBlobFile from "./vercel-blob-file.d.ts";
4
- declare class VercelBlobMetaStorage extends LocalMetaStorage<VercelBlobFile> {
5
- constructor(config?: LocalMetaStorageOptions);
6
- }
7
- export default VercelBlobMetaStorage;
@@ -1,76 +0,0 @@
1
- import type MetaStorage from "../meta-storage.d.ts";
2
- import { BaseStorage } from "../storage.d.ts";
3
- import type { FileInit, FilePart, FileQuery, FileReturn } from "../utils/index.d.ts";
4
- import type { VercelBlobStorageOptions } from "./types.d.ts";
5
- import VercelBlobFile from "./vercel-blob-file.d.ts";
6
- /**
7
- * Vercel Blob storage based backend.
8
- * @example
9
- * ```ts
10
- * const storage = new VercelBlobStorage({
11
- * token: process.env.BLOB_READ_WRITE_TOKEN,
12
- * metaStorageConfig: { directory: '/tmp/upload-metafiles' }
13
- * });
14
- * ```
15
- * @remarks
16
- * ## Supported Operations
17
- * - ✅ create, write, delete, get, copy, move
18
- * - ✅ Batch operations: deleteBatch, copyBatch, moveBatch (inherited from BaseStorage)
19
- * - ✅ exists: Implemented (checks metadata and Vercel Blob)
20
- * - ❌ getStream: Not implemented (use get() for file retrieval)
21
- * - ❌ list: Not implemented (Vercel Blob API doesn't support listing)
22
- * - ❌ update: Not implemented (Vercel Blob API doesn't support metadata updates)
23
- * - ❌ getUrl: Not implemented (Vercel Blob URLs available via Vercel Blob API)
24
- * - ❌ getUploadUrl: Not implemented (Vercel Blob upload URLs handled internally)
25
- */
26
- declare class VercelBlobStorage extends BaseStorage<VercelBlobFile, FileReturn> {
27
- static readonly name: string;
28
- checksumTypes: string[];
29
- protected meta: MetaStorage<VercelBlobFile>;
30
- private readonly token;
31
- private readonly multipart;
32
- constructor(config: VercelBlobStorageOptions);
33
- create(config: FileInit): Promise<VercelBlobFile>;
34
- write(part: FilePart | FileQuery | VercelBlobFile): Promise<VercelBlobFile>;
35
- /**
36
- * Deletes an upload and its metadata.
37
- * @param query File query containing the file ID to delete.
38
- * @param query.id File ID to delete.
39
- * @returns Promise resolving to the deleted file object with status: "deleted".
40
- * @throws {UploadError} If the file metadata cannot be found.
41
- */
42
- delete({ id }: FileQuery): Promise<VercelBlobFile>;
43
- /**
44
- * Checks if a file exists by verifying both metadata and the actual Vercel Blob.
45
- * Returns true only if both the metadata and the blob exist.
46
- * @param query File query containing the file ID to check.
47
- * @returns Promise resolving to true if both metadata and blob exist, false otherwise.
48
- */
49
- exists({ id }: FileQuery): Promise<boolean>;
50
- get({ id }: FileQuery): Promise<FileReturn>;
51
- /**
52
- * Copies an upload file to a new location.
53
- * @param name Source file name/ID.
54
- * @param destination Destination file name/ID.
55
- * @returns Promise resolving to the copied file object.
56
- * @throws {UploadError} If the source file cannot be found.
57
- */
58
- copy(name: string, destination: string): Promise<VercelBlobFile>;
59
- /**
60
- * Moves an upload file to a new location.
61
- * @param name Source file name/ID.
62
- * @param destination Destination file name/ID.
63
- * @returns Promise resolving to the moved file object.
64
- * @throws {UploadError} If the source file cannot be found.
65
- */
66
- move(name: string, destination: string): Promise<VercelBlobFile>;
67
- list(limit?: number): Promise<VercelBlobFile[]>;
68
- private internalOnComplete;
69
- /**
70
- * Determines if multipart upload should be used for the given file.
71
- * @param file File object to check.
72
- * @returns True if multipart upload should be used, false otherwise.
73
- */
74
- private shouldUseMultipart;
75
- }
76
- export default VercelBlobStorage;
@@ -1,63 +0,0 @@
1
- import { Readable } from "node:stream";
2
- import type { BaseStorage } from "../storage/storage.d.ts";
3
- import type { File, FileReturn } from "../storage/utils/index.d.ts";
4
- import type { Cache } from "../utils/cache.d.ts";
5
- import type { BaseTransformerConfig } from "./types.d.ts";
6
- /**
7
- * Abstract base class for all media transformers.
8
- *
9
- * Provides a common interface and shared functionality for image, video, and audio transformers.
10
- * All transformers must implement the abstract methods defined here.
11
- */
12
- declare abstract class BaseTransformer<Config extends BaseTransformerConfig, CacheValue extends object, TFile extends File = File, TFileReturn extends FileReturn = FileReturn> {
13
- protected readonly storage: BaseStorage<TFile, TFileReturn>;
14
- protected config: Config;
15
- protected logger?: Console;
16
- protected cache?: Cache<string, CacheValue>;
17
- /**
18
- * Creates a new BaseTransformer instance with common functionality.
19
- * @param storage The storage backend for retrieving and storing files.
20
- * @param config Configuration options for the transformer.
21
- * @param logger Optional logger instance for logging operations.
22
- * @protected
23
- */
24
- protected constructor(storage: BaseStorage<TFile, TFileReturn>, config: Config, logger?: Console);
25
- /**
26
- * Transforms a file with the given steps.
27
- * @param fileId Unique identifier of the file to transform.
28
- * @param steps Array of transformation steps to apply.
29
- * @returns Promise resolving to transformation result.
30
- */
31
- abstract transform(fileId: string, steps: any[]): Promise<any>;
32
- /**
33
- * Streams transform of a file with the given steps (for large files).
34
- * @param fileId Unique identifier of the file to transform.
35
- * @param steps Array of transformation steps to apply.
36
- * @returns Promise resolving to streaming result with headers, size, and stream.
37
- */
38
- transformStream?(fileId: string, steps: any[]): Promise<{
39
- headers?: Record<string, string>;
40
- size?: number;
41
- stream: Readable;
42
- }>;
43
- /**
44
- * Clears cache for a specific file or all files.
45
- * @param fileId Optional file identifier to clear cache for specific file.
46
- */
47
- clearCache(fileId?: string): void;
48
- /**
49
- * Gets cache statistics.
50
- * @returns Cache statistics including max size and current size.
51
- */
52
- getCacheStats(): {
53
- maxSize: number;
54
- size: number;
55
- };
56
- /**
57
- * Gets content type from transformation result based on format.
58
- * @param result Transformation result object containing format information.
59
- * @returns Content type string (MIME type).
60
- */
61
- protected getContentTypeFromResult(result: any): string;
62
- }
63
- export default BaseTransformer;