@visulima/storage 1.0.0-alpha.9 → 1.0.1

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 +562 -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-CiPEMcuo.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-BK-WPL0h.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-1UvDIQZd.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-BSn6Qfnf.js +1 -0
  39. package/dist/packem_shared/BoxStorage-DbGqBLux.js +1 -0
  40. package/dist/packem_shared/BunS3File-BcYmsz1n.js +1 -0
  41. package/dist/packem_shared/BunS3MetaStorage-BSn6Qfnf.js +1 -0
  42. package/dist/packem_shared/BunS3Storage-DNvimm9e.js +1 -0
  43. package/dist/packem_shared/BunnyFile-BgEOlcYI.js +1 -0
  44. package/dist/packem_shared/BunnyMetaStorage-BSn6Qfnf.js +1 -0
  45. package/dist/packem_shared/BunnyStorage-C7d0opLL.js +1 -0
  46. package/dist/packem_shared/CloudinaryFile-Bo5B-vM1.js +1 -0
  47. package/dist/packem_shared/CloudinaryMetaStorage-DPVnmNe5.js +1 -0
  48. package/dist/packem_shared/CloudinaryStorage-Dc3XA2lP.js +1 -0
  49. package/dist/packem_shared/DiskStorage-CI07TVNu.js +1 -0
  50. package/dist/packem_shared/DiskStorageWithChecksum-vFCubS6K.js +1 -0
  51. package/dist/packem_shared/DropboxFile-BFb7eOzy.js +1 -0
  52. package/dist/packem_shared/DropboxMetaStorage-BSn6Qfnf.js +1 -0
  53. package/dist/packem_shared/DropboxStorage-CY9Ggu3m.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-CpIcMjP0.js +1 -0
  57. package/dist/packem_shared/FirebaseFile-BLaBxa2A.js +1 -0
  58. package/dist/packem_shared/FirebaseMetaStorage-DPVnmNe5.js +1 -0
  59. package/dist/packem_shared/FirebaseStorage-D6O9CJXN.js +2 -0
  60. package/dist/packem_shared/FtpFile-ClWDYnt2.js +1 -0
  61. package/dist/packem_shared/FtpMetaStorage-BSn6Qfnf.js +1 -0
  62. package/dist/packem_shared/FtpStorage-DbEjbq8z.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-BuPA0DDW.js +1 -0
  66. package/dist/packem_shared/GCStorage-i9t5TQc1.js +1 -0
  67. package/dist/packem_shared/GoogleDriveFile-DHpLhzg9.js +1 -0
  68. package/dist/packem_shared/GoogleDriveMetaStorage-Cbwa1CHV.js +1 -0
  69. package/dist/packem_shared/GoogleDriveStorage-Bklsz7Bh.js +1 -0
  70. package/dist/packem_shared/LocalMetaStorage-BhicZnNl.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-9gbWd09l.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-CQjYqU--.js +1 -0
  77. package/dist/packem_shared/Multipart-D0ok6BBy.js +1 -0
  78. package/dist/packem_shared/NetlifyBlobFile-DoFhkzaH.js +1 -0
  79. package/dist/packem_shared/NetlifyBlobMetaStorage-DPVnmNe5.js +1 -0
  80. package/dist/packem_shared/NetlifyBlobStorage-CkpCCoN1.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-Cbwa1CHV.js +1 -0
  84. package/dist/packem_shared/OneDriveStorage-CP6MvGAa.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-DOTLwVE7.js +1 -0
  88. package/dist/packem_shared/PocketBaseStorage-2qhbI2PW.js +1 -0
  89. package/dist/packem_shared/Rest-CI_BiZPv.js +1 -0
  90. package/dist/packem_shared/Rest-DvfN4-kf.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-YGeNk3Tt.js +1 -0
  94. package/dist/packem_shared/SftpFile-ClWDYnt2.js +1 -0
  95. package/dist/packem_shared/SftpMetaStorage-BSn6Qfnf.js +1 -0
  96. package/dist/packem_shared/SftpStorage-2Hz396Xr.js +1 -0
  97. package/dist/packem_shared/SharePointFile-Blz9FS4h.js +1 -0
  98. package/dist/packem_shared/SharePointMetaStorage-BSn6Qfnf.js +1 -0
  99. package/dist/packem_shared/SharePointStorage-CrX2Pk6C.js +1 -0
  100. package/dist/packem_shared/SupabaseFile-Bo5B-vM1.js +1 -0
  101. package/dist/packem_shared/SupabaseMetaStorage-Cbwa1CHV.js +1 -0
  102. package/dist/packem_shared/SupabaseStorage-Dc_DBX29.js +1 -0
  103. package/dist/packem_shared/TUS_RESUMABLE-CyTSRvPU.js +1 -0
  104. package/dist/packem_shared/Tus-BBVt2ky3.js +1 -0
  105. package/dist/packem_shared/Tus-BlBZykIL.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-DPVnmNe5.js +1 -0
  109. package/dist/packem_shared/UploadThingStorage-BChykYSe.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-BSn6Qfnf.js +1 -0
  113. package/dist/packem_shared/VercelBlobStorage-CsRyPfw3.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-D-9Ku1h-.js +1 -0
  124. package/dist/packem_shared/base-handler-fetch-CfkNakv8.js +1 -0
  125. package/dist/packem_shared/base-handler-node-BF1v1qDa.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-CsQcYW3s.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-B1RrMqH3.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-iuJnu90B.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-DvWvbDbh.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-e0reNDE_.js +1 -0
  167. package/dist/packem_shared/restOpenApiSpec-Csv513qf.js +1 -0
  168. package/dist/packem_shared/s3-base-storage-BoTyhuzO.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-0j5nCAUp.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 +218 -67
  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
package/package.json CHANGED
@@ -1,67 +1,75 @@
1
1
  {
2
2
  "name": "@visulima/storage",
3
- "version": "1.0.0-alpha.9",
4
- "description": "Visulima upload - Store files in a web-accessible location via a simplified API. Can automatically scale and rotate images. Includes S3, Azure, GCS and local filesystem-based backends with the most convenient features of each.",
3
+ "version": "1.0.1",
4
+ "description": "Server-side file-storage abstraction - store files in a web-accessible location via a simplified API. Includes S3, Azure, GCS, local filesystem and 20+ other backends with TUS/multipart/REST upload handlers and the most convenient features of each.",
5
5
  "keywords": [
6
6
  "anolilab",
7
- "visulima",
7
+ "astro",
8
+ "aws",
9
+ "aws-s3",
10
+ "azure",
11
+ "better-upload",
12
+ "better-uploads",
13
+ "chunk",
14
+ "chunked-upload",
15
+ "chunked-uploads",
16
+ "cloudflare-r2",
17
+ "cloudflare-workers",
18
+ "digitalocean-spaces",
19
+ "edge-runtime",
20
+ "elysia",
21
+ "enterprise-security",
8
22
  "express",
9
- "upload",
10
- "uploads",
23
+ "fastify",
11
24
  "file",
25
+ "file-upload",
12
26
  "files",
13
- "chunk",
14
- "resumable",
15
- "chunked-uploads",
16
- "tus",
17
27
  "form",
18
- "post",
19
- "multipart",
20
28
  "form-data",
21
29
  "formdata",
22
- "middleware",
23
- "better-upload",
24
- "better-uploads",
25
- "s3",
26
- "azure",
27
- "aws",
30
+ "framework-agnostic",
28
31
  "gcs",
29
32
  "google",
30
- "storage",
31
- "file-upload",
32
- "cloudflare-r2",
33
- "digitalocean-spaces",
34
33
  "google-cloud-storage",
34
+ "hetzner",
35
+ "hetzner-object-storage",
36
+ "hono",
37
+ "middleware",
35
38
  "minio",
36
- "presigned-urls",
39
+ "multipart",
40
+ "multipart-upload",
37
41
  "nextjs",
38
- "remix",
39
- "sveltekit",
40
42
  "nuxt",
41
- "astro",
43
+ "post",
44
+ "presigned-urls",
42
45
  "react",
43
- "aws-s3",
44
- "typescript",
45
- "hono",
46
- "fastify",
47
- "elysia",
48
- "framework-agnostic",
49
- "edge-runtime",
50
- "cloudflare-workers",
51
- "vercel-edge",
46
+ "remix",
47
+ "resumable",
48
+ "s3",
52
49
  "serverless",
50
+ "storage",
51
+ "storj",
52
+ "sveltekit",
53
+ "tus",
54
+ "typescript",
53
55
  "universal",
54
- "enterprise-security",
55
- "multipart-upload",
56
- "chunked-upload",
56
+ "upload",
57
57
  "upload-library",
58
- "uploadthing"
58
+ "uploads",
59
+ "uploadthing",
60
+ "vercel-edge",
61
+ "visulima"
59
62
  ],
60
- "homepage": "https://visulima.com/packages/uploads",
63
+ "homepage": "https://visulima.com/packages/storage",
64
+ "license": "MIT",
65
+ "author": {
66
+ "name": "Daniel Bannert",
67
+ "email": "d.bannert@anolilab.de"
68
+ },
61
69
  "repository": {
62
70
  "type": "git",
63
71
  "url": "https://github.com/visulima/visulima.git",
64
- "directory": "packages/storage"
72
+ "directory": "packages/storage/storage"
65
73
  },
66
74
  "funding": [
67
75
  {
@@ -73,13 +81,14 @@
73
81
  "url": "https://anolilab.com/support"
74
82
  }
75
83
  ],
76
- "license": "MIT",
77
- "author": {
78
- "name": "Daniel Bannert",
79
- "email": "d.bannert@anolilab.de"
80
- },
81
- "sideEffects": false,
84
+ "files": [
85
+ "dist/**",
86
+ "README.md",
87
+ "CHANGELOG.md",
88
+ "LICENSE.md"
89
+ ],
82
90
  "type": "module",
91
+ "sideEffects": false,
83
92
  "exports": {
84
93
  ".": {
85
94
  "types": "./dist/index.d.ts",
@@ -117,6 +126,66 @@
117
126
  "types": "./dist/storage/local/index.d.ts",
118
127
  "import": "./dist/storage/local/index.js"
119
128
  },
129
+ "./provider/memory": {
130
+ "types": "./dist/storage/memory/index.d.ts",
131
+ "import": "./dist/storage/memory/index.js"
132
+ },
133
+ "./provider/ftp": {
134
+ "types": "./dist/storage/ftp/index.d.ts",
135
+ "import": "./dist/storage/ftp/index.js"
136
+ },
137
+ "./provider/sftp": {
138
+ "types": "./dist/storage/sftp/index.d.ts",
139
+ "import": "./dist/storage/sftp/index.js"
140
+ },
141
+ "./provider/supabase": {
142
+ "types": "./dist/storage/supabase/index.d.ts",
143
+ "import": "./dist/storage/supabase/index.js"
144
+ },
145
+ "./provider/uploadthing": {
146
+ "types": "./dist/storage/uploadthing/index.d.ts",
147
+ "import": "./dist/storage/uploadthing/index.js"
148
+ },
149
+ "./provider/dropbox": {
150
+ "types": "./dist/storage/dropbox/index.d.ts",
151
+ "import": "./dist/storage/dropbox/index.js"
152
+ },
153
+ "./provider/google-drive": {
154
+ "types": "./dist/storage/google-drive/index.d.ts",
155
+ "import": "./dist/storage/google-drive/index.js"
156
+ },
157
+ "./provider/onedrive": {
158
+ "types": "./dist/storage/onedrive/index.d.ts",
159
+ "import": "./dist/storage/onedrive/index.js"
160
+ },
161
+ "./provider/box": {
162
+ "types": "./dist/storage/box/index.d.ts",
163
+ "import": "./dist/storage/box/index.js"
164
+ },
165
+ "./provider/bun-s3": {
166
+ "types": "./dist/storage/bun-s3/index.d.ts",
167
+ "import": "./dist/storage/bun-s3/index.js"
168
+ },
169
+ "./provider/bunny": {
170
+ "types": "./dist/storage/bunny/index.d.ts",
171
+ "import": "./dist/storage/bunny/index.js"
172
+ },
173
+ "./provider/cloudinary": {
174
+ "types": "./dist/storage/cloudinary/index.d.ts",
175
+ "import": "./dist/storage/cloudinary/index.js"
176
+ },
177
+ "./provider/firebase": {
178
+ "types": "./dist/storage/firebase/index.d.ts",
179
+ "import": "./dist/storage/firebase/index.js"
180
+ },
181
+ "./provider/pocketbase": {
182
+ "types": "./dist/storage/pocketbase/index.d.ts",
183
+ "import": "./dist/storage/pocketbase/index.js"
184
+ },
185
+ "./provider/sharepoint": {
186
+ "types": "./dist/storage/sharepoint/index.d.ts",
187
+ "import": "./dist/storage/sharepoint/index.js"
188
+ },
120
189
  "./openapi": {
121
190
  "types": "./dist/openapi/index.d.ts",
122
191
  "import": "./dist/openapi/index.js"
@@ -177,47 +246,83 @@
177
246
  "types": "./dist/adapter/nuxt/module.d.ts",
178
247
  "import": "./dist/adapter/nuxt/module.js"
179
248
  },
249
+ "./ai/sdk": {
250
+ "types": "./dist/ai/ai-sdk/index.d.ts",
251
+ "import": "./dist/ai/ai-sdk/index.js"
252
+ },
253
+ "./ai/openai": {
254
+ "types": "./dist/ai/openai/index.d.ts",
255
+ "import": "./dist/ai/openai/index.js"
256
+ },
257
+ "./ai/claude": {
258
+ "types": "./dist/ai/claude/index.d.ts",
259
+ "import": "./dist/ai/claude/index.js"
260
+ },
261
+ "./ai/tanstack": {
262
+ "types": "./dist/ai/tanstack/index.d.ts",
263
+ "import": "./dist/ai/tanstack/index.js"
264
+ },
180
265
  "./package.json": "./package.json"
181
266
  },
182
- "files": [
183
- "dist/**",
184
- "README.md",
185
- "CHANGELOG.md",
186
- "LICENSE.md"
187
- ],
267
+ "publishConfig": {
268
+ "access": "public",
269
+ "provenance": true
270
+ },
188
271
  "dependencies": {
189
- "@remix-run/multipart-parser": "^0.14.2",
272
+ "@remix-run/multipart-parser": "0.16.3",
190
273
  "@sindresorhus/fnv1a": "3.1.0",
191
- "@visulima/pagination": "5.0.0-alpha.7",
192
- "file-type": "21.3.4",
193
- "lru-cache": "11.2.7",
274
+ "@visulima/pagination": "5.0.0",
275
+ "file-type": "22.0.1",
276
+ "lru-cache": "11.5.1",
194
277
  "mime": "^4.1.0",
195
- "nanoid": "5.1.7",
196
- "path-to-regexp": "^8.3.0",
197
- "type-is": "^2.0.1"
278
+ "nanoid": "5.1.16",
279
+ "path-to-regexp": "8.4.2",
280
+ "type-is": "^2.1.0",
281
+ "zod": "4.4.3"
198
282
  },
199
283
  "peerDependencies": {
284
+ "@anthropic-ai/claude-agent-sdk": ">=0.2.0",
200
285
  "@aws-sdk/client-s3": ">=3.901.0",
201
286
  "@aws-sdk/credential-providers": ">=3.901.0",
202
287
  "@aws-sdk/s3-request-presigner": ">=3.901.0",
203
288
  "@aws-sdk/signature-v4-crt": ">=3.901.0",
204
289
  "@aws-sdk/types": ">=3.930.0",
290
+ "@azure/core-auth": ">=1.9.0",
205
291
  "@azure/storage-blob": ">=12.28.0",
292
+ "@bunny.net/storage-sdk": ">=0.3.0",
293
+ "@googleapis/drive": ">=20.0.0",
294
+ "@microsoft/microsoft-graph-client": ">=3.0.0",
206
295
  "@netlify/blobs": ">=10.3.1",
207
296
  "@nuxt/kit": ">=4.2.1",
297
+ "@openai/agents": ">=0.11.0",
208
298
  "@opentelemetry/api": ">=1.9.0",
209
299
  "@solidjs/start": ">=1.1.0",
210
- "@vercel/blob": ">=2.0.0",
300
+ "@supabase/storage-js": ">=2.105.0",
301
+ "@tanstack/ai": ">=0.16.0",
302
+ "@vercel/blob": ">=2.4.0",
303
+ "ai": ">=5.0.0",
211
304
  "aws-crt": ">=1.27.3",
212
305
  "aws4fetch": ">=1.0.0",
306
+ "basic-ftp": ">=5.0.0",
307
+ "box-typescript-sdk-gen": ">=1.19.0",
308
+ "cloudinary": ">=2.0.0",
309
+ "dropbox": ">=10.34.0",
310
+ "firebase-admin": ">=10.0.0",
213
311
  "gaxios": ">=7.1.2",
214
312
  "google-auth-library": ">=10.4.0",
215
313
  "hono": ">=4.0.0",
216
314
  "mediabunny": ">=1.23.0",
217
315
  "next": ">=15",
218
- "sharp": ">=0.33.5"
316
+ "openai": ">=5.0.0",
317
+ "pocketbase": ">=0.23.0",
318
+ "sharp": ">=0.34.5",
319
+ "ssh2-sftp-client": ">=11.0.0",
320
+ "uploadthing": ">=7.0.0"
219
321
  },
220
322
  "peerDependenciesMeta": {
323
+ "@anthropic-ai/claude-agent-sdk": {
324
+ "optional": true
325
+ },
221
326
  "@aws-sdk/client-s3": {
222
327
  "optional": true
223
328
  },
@@ -233,30 +338,69 @@
233
338
  "@aws-sdk/types": {
234
339
  "optional": true
235
340
  },
341
+ "@azure/core-auth": {
342
+ "optional": true
343
+ },
236
344
  "@azure/storage-blob": {
237
345
  "optional": true
238
346
  },
347
+ "@bunny.net/storage-sdk": {
348
+ "optional": true
349
+ },
350
+ "@googleapis/drive": {
351
+ "optional": true
352
+ },
353
+ "@microsoft/microsoft-graph-client": {
354
+ "optional": true
355
+ },
239
356
  "@netlify/blobs": {
240
357
  "optional": true
241
358
  },
242
359
  "@nuxt/kit": {
243
360
  "optional": true
244
361
  },
362
+ "@openai/agents": {
363
+ "optional": true
364
+ },
245
365
  "@opentelemetry/api": {
246
366
  "optional": true
247
367
  },
248
368
  "@solidjs/start": {
249
369
  "optional": true
250
370
  },
371
+ "@supabase/storage-js": {
372
+ "optional": true
373
+ },
374
+ "@tanstack/ai": {
375
+ "optional": true
376
+ },
251
377
  "@vercel/blob": {
252
378
  "optional": true
253
379
  },
380
+ "ai": {
381
+ "optional": true
382
+ },
254
383
  "aws-crt": {
255
384
  "optional": true
256
385
  },
257
386
  "aws4fetch": {
258
387
  "optional": true
259
388
  },
389
+ "basic-ftp": {
390
+ "optional": true
391
+ },
392
+ "box-typescript-sdk-gen": {
393
+ "optional": true
394
+ },
395
+ "cloudinary": {
396
+ "optional": true
397
+ },
398
+ "dropbox": {
399
+ "optional": true
400
+ },
401
+ "firebase-admin": {
402
+ "optional": true
403
+ },
260
404
  "gaxios": {
261
405
  "optional": true
262
406
  },
@@ -272,16 +416,23 @@
272
416
  "next": {
273
417
  "optional": true
274
418
  },
419
+ "openai": {
420
+ "optional": true
421
+ },
422
+ "pocketbase": {
423
+ "optional": true
424
+ },
275
425
  "sharp": {
276
426
  "optional": true
427
+ },
428
+ "ssh2-sftp-client": {
429
+ "optional": true
430
+ },
431
+ "uploadthing": {
432
+ "optional": true
277
433
  }
278
434
  },
279
- "optionalDependencies": {},
280
435
  "engines": {
281
- "node": ">=22.13 <=25.x"
282
- },
283
- "publishConfig": {
284
- "access": "public",
285
- "provenance": true
436
+ "node": "^22.14.0 || >=24.10.0"
286
437
  }
287
438
  }
@@ -1,91 +0,0 @@
1
- import { EventEmitter } from "node:events";
2
- import type { BaseStorage } from "../../storage/storage.d.ts";
3
- import type { UploadFile } from "../../storage/utils/index.d.ts";
4
- import type MediaTransformer from "../../transformer/media-transformer.d.ts";
5
- import type { ErrorResponses } from "../../utils/errors.d.ts";
6
- import type { ResponseBodyType } from "../../utils/types.d.ts";
7
- import type { UploadOptions } from "../types.d.ts";
8
- /**
9
- * Core base class containing shared business logic for all handlers.
10
- * This class is platform-agnostic and contains no Node.js or Web API specific code.
11
- * @template TFile The file type used by this handler.
12
- */
13
- declare abstract class BaseHandlerCore<TFile extends UploadFile> extends EventEmitter {
14
- /**
15
- * Response body type for the handler.
16
- */
17
- responseType: ResponseBodyType;
18
- /**
19
- * Storage instance for file operations.
20
- */
21
- storage: BaseStorage<TFile>;
22
- /**
23
- * Optional media transformer for image/video processing.
24
- */
25
- mediaTransformer?: MediaTransformer;
26
- /**
27
- * Whether to disable termination for finished uploads.
28
- */
29
- disableTerminationForFinishedUploads?: boolean;
30
- /**
31
- * Logger instance for debugging and error reporting.
32
- */
33
- protected logger?: Console;
34
- /**
35
- * Gets the logger instance.
36
- * @returns Logger instance or undefined.
37
- */
38
- get loggerInstance(): Console | undefined;
39
- /**
40
- * Internal error responses configuration.
41
- */
42
- protected internalErrorResponses: ErrorResponses;
43
- /**
44
- * Gets the error responses configuration.
45
- * @returns Error responses configuration.
46
- */
47
- get errorResponses(): ErrorResponses;
48
- constructor({ disableTerminationForFinishedUploads, mediaTransformer, storage }: UploadOptions<TFile>);
49
- /**
50
- * Sets custom error responses.
51
- * @param value Partial error responses to override defaults.
52
- */
53
- set errorResponses(value: Partial<ErrorResponses>);
54
- /**
55
- * Assemble error responses by merging defaults with custom overrides.
56
- * @param customErrors Custom error responses to override defaults
57
- */
58
- assembleErrors: (customErrors?: {}) => void;
59
- /**
60
- * Parses HTTP Range header and returns start/end byte positions for partial content requests.
61
- * @param rangeHeader HTTP Range header value (e.g., "bytes=0-1023").
62
- * @param fileSize Total size of the file in bytes.
63
- * @returns Object with start and end positions, or undefined if range is invalid.
64
- */
65
- parseRangeHeader(rangeHeader: string | undefined, fileSize: number): {
66
- end: number;
67
- start: number;
68
- } | undefined;
69
- /**
70
- * Build file URL from request and file data.
71
- * Platform-agnostic version that accepts URL string.
72
- * @param requestUrl Request URL string
73
- * @param file File object containing ID and content type
74
- * @returns Constructed file URL with extension based on content type
75
- */
76
- protected buildFileUrlFromString(requestUrl: string, file: TFile): string;
77
- /**
78
- * Negotiates content type based on Accept header and supported formats.
79
- * Platform-agnostic version that accepts header string.
80
- * @param acceptHeader Accept header value
81
- * @param supportedTypes Array of supported MIME types to match against
82
- * @returns Best matching content type or undefined if no match found
83
- */
84
- negotiateContentTypeFromHeader(acceptHeader: string | undefined, supportedTypes: string[]): string | undefined;
85
- /**
86
- * Check for undefined ID or path errors and throw appropriate HTTP errors.
87
- * @param error The error to check
88
- */
89
- protected checkForUndefinedIdOrPath(error: unknown): void;
90
- }
91
- export default BaseHandlerCore;
@@ -1,76 +0,0 @@
1
- import type { UploadFile } from "../../storage/utils/index.d.ts";
2
- import type { UploadResponse } from "../../utils/types.d.ts";
3
- import type { Handlers, ResponseFile, ResponseList, UploadOptions } from "../types.d.ts";
4
- import BaseHandlerCore from "./base-handler-core.d.ts";
5
- /**
6
- * Base handler for Web API Fetch platform (Request/Response).
7
- * Extends BaseHandlerCore with Fetch-specific request/response handling.
8
- * @template TFile The file type used by this handler.
9
- */
10
- declare abstract class BaseHandlerFetch<TFile extends UploadFile> extends BaseHandlerCore<TFile> {
11
- /**
12
- * Limiting enabled HTTP method handler.
13
- */
14
- static readonly methods: Handlers[];
15
- /**
16
- * Map of registered HTTP method handlers.
17
- */
18
- protected registeredHandlers: Map<string, (request: Request) => Promise<ResponseFile<TFile> | ResponseList<TFile>>>;
19
- constructor(options: UploadOptions<TFile>);
20
- /**
21
- * Gets the registered handlers map.
22
- * @returns Map of registered handlers.
23
- */
24
- get handlers(): Map<string, (request: Request) => Promise<ResponseFile<TFile> | ResponseList<TFile>>>;
25
- /**
26
- * Handles Web API Fetch requests (for Hono, Cloudflare Workers, etc.).
27
- * @param request Web API Request object.
28
- * @returns Promise resolving to Web API Response.
29
- */
30
- fetch(request: Request): Promise<globalThis.Response>;
31
- /**
32
- * Compose and register HTTP method handlers.
33
- * Subclasses should override this to register their specific handlers.
34
- */
35
- protected abstract compose(): void;
36
- /**
37
- * Handle the response from handlers for fetch requests and convert to Web API Response.
38
- * @param request Web API Request object
39
- * @param file Response file or list from handler
40
- * @returns Promise resolving to Web API Response object
41
- */
42
- protected handleFetchResponse(request: Request, file: ResponseFile<TFile> | ResponseList<TFile>): Promise<globalThis.Response>;
43
- /**
44
- * Convert headers to Web API Headers format by flattening arrays and converting to strings.
45
- * @param headers Headers object with potentially array values
46
- * @returns Headers object with all values as strings
47
- */
48
- protected convertHeaders(headers: Record<string, number | string | string[]>): Record<string, string>;
49
- /**
50
- * Create Web API Response from UploadResponse object.
51
- * @param uploadResponse Upload response containing body, headers, and status code
52
- * @returns Web API Response object
53
- */
54
- protected createResponse(uploadResponse: UploadResponse): globalThis.Response;
55
- /**
56
- * Create error Response from Error object with appropriate status code and message.
57
- * @param error Error object to convert to HTTP error response
58
- * @returns Web API Response object with error details
59
- */
60
- protected createErrorResponse(error: Error): Promise<globalThis.Response>;
61
- /**
62
- * Build file URL from request and file data.
63
- * @param request Web API Request object
64
- * @param file File object containing ID and content type
65
- * @returns Constructed file URL with extension based on content type
66
- */
67
- protected buildFileUrl(request: Request, file: TFile): string;
68
- /**
69
- * Negotiates content type based on Accept header and supported formats.
70
- * @param request Web API Request object containing Accept header.
71
- * @param supportedTypes Array of supported MIME types to match against.
72
- * @returns Best matching content type or undefined if no match found.
73
- */
74
- negotiateContentType(request: Request, supportedTypes: string[]): string | undefined;
75
- }
76
- export default BaseHandlerFetch;