@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
@@ -1,10 +0,0 @@
1
- import type { Part } from "../aws/s3-base-storage.d.ts";
2
- import { File } from "../utils/index.d.ts";
3
- declare class AwsLightFile extends File {
4
- Parts?: Part[];
5
- UploadId?: string;
6
- uri?: string;
7
- partsUrls?: string[];
8
- partSize?: number;
9
- }
10
- export default AwsLightFile;
@@ -1,19 +0,0 @@
1
- import MetaStorage from "../meta-storage.d.ts";
2
- import type { File } from "../utils/index.d.ts";
3
- import type { AwsLightMetaStorageOptions } from "./types.d.ts";
4
- /**
5
- * AWS Light meta storage implementation using aws4fetch.
6
- * Stores metadata in S3 object metadata headers (x-amz-meta-*).
7
- * Optimized for worker environments (Cloudflare Workers, Web Workers, etc.).
8
- */
9
- declare class AwsLightMetaStorage<T extends File = File> extends MetaStorage<T> {
10
- config: AwsLightMetaStorageOptions;
11
- private readonly adapter;
12
- private readonly bucket;
13
- constructor(config: AwsLightMetaStorageOptions);
14
- get(id: string): Promise<T>;
15
- touch(id: string, file: T): Promise<T>;
16
- delete(id: string): Promise<void>;
17
- save(id: string, file: T): Promise<T>;
18
- }
19
- export default AwsLightMetaStorage;
@@ -1,65 +0,0 @@
1
- import { Readable } from "node:stream";
2
- import { S3BaseStorage } from "../aws/s3-base-storage.d.ts";
3
- import type { FileInit, FileQuery } from "../utils/index.d.ts";
4
- import AwsLightApiAdapter from "./aws-light-api-adapter.d.ts";
5
- import AwsLightFile from "./aws-light-file.d.ts";
6
- import type { AwsLightError, AwsLightStorageOptions } from "./types.d.ts";
7
- /**
8
- * AWS Light storage implementation using aws4fetch.
9
- * Optimized for worker environments (Cloudflare Workers, Web Workers, etc.).
10
- * @example
11
- * ```ts
12
- * const storage = new AwsLightStorage({
13
- * bucket: <YOUR_BUCKET>,
14
- * region: <YOUR_REGION>,
15
- * accessKeyId: <YOUR_ACCESS_KEY_ID>,
16
- * secretAccessKey: <YOUR_SECRET_ACCESS_KEY>
17
- * });
18
- * ```
19
- * @remarks
20
- * ## Worker Compatibility
21
- * - Uses aws4fetch for AWS request signing (works in workers)
22
- * - No Node.js-specific dependencies
23
- * - Compatible with Cloudflare Workers, Web Workers, and edge runtimes
24
- *
25
- * ## Error Handling
26
- * - S3 API errors are normalized with AWS-specific context
27
- * - Errors include S3 error codes and status codes for debugging
28
- *
29
- * ## Retry Behavior
30
- * - All S3 API calls are wrapped with configurable retry logic via `retryConfig` option
31
- * - Default retryable status codes: 408, 429, 500, 502, 503, 504
32
- * - Custom `shouldRetry` function can be provided for advanced retry logic
33
- *
34
- * ## Multipart Uploads
35
- * - Large files are automatically split into multipart uploads
36
- * - Maximum 10,000 parts per upload (S3 limitation)
37
- * - Part size is configurable (default: 16MB, minimum: 5MB)
38
- * - Failed multipart uploads are automatically aborted
39
- *
40
- * ## Supported Operations
41
- * - ✅ create, write, delete, get, getStream, list, update, copy, move
42
- * - ✅ Batch operations: deleteBatch, copyBatch, moveBatch (inherited from BaseStorage)
43
- * - ✅ exists: Implemented (checks metadata and S3 object)
44
- * - ⚠️ getUrl/getUploadUrl: Limited presigned URL support (uses aws4fetch signing)
45
- */
46
- declare class AwsLightStorage extends S3BaseStorage<AwsLightFile> {
47
- static readonly name: string;
48
- private s3Api;
49
- constructor(config: AwsLightStorageOptions);
50
- /**
51
- * Normalizes AWS S3 errors with S3-specific context.
52
- */
53
- normalizeError(error: AwsLightError | Error): import("../../utils/types").HttpError;
54
- update({ id }: FileQuery, metadata: Partial<AwsLightFile>): Promise<AwsLightFile>;
55
- getStream({ id }: FileQuery): Promise<{
56
- headers?: Record<string, string>;
57
- size?: number;
58
- stream: Readable;
59
- }>;
60
- protected getS3Api(): AwsLightApiAdapter;
61
- protected getFileClass(): new (config: FileInit) => AwsLightFile;
62
- protected getAcl(): string | undefined;
63
- protected accessCheck(_maxWaitTime?: number): Promise<void>;
64
- }
65
- export default AwsLightStorage;
@@ -1,37 +0,0 @@
1
- import type { BaseStorageOptions, MetaStorageOptions } from "../types.d.ts";
2
- import type AwsLightFile from "./aws-light-file.d.ts";
3
- export interface AwsLightClientConfig {
4
- accessKeyId: string;
5
- endpoint?: string;
6
- region: string;
7
- secretAccessKey: string;
8
- service?: string;
9
- sessionToken?: string;
10
- }
11
- export type AwsLightMetaStorageOptions = AwsLightClientConfig & MetaStorageOptions & {
12
- bucket?: string;
13
- };
14
- export type AwsLightStorageOptions = AwsLightClientConfig & BaseStorageOptions<AwsLightFile> & {
15
- /**
16
- * S3 bucket name.
17
- */
18
- bucket?: string;
19
- /**
20
- * Force compatible client upload directly to S3 storage
21
- */
22
- clientDirectUpload?: boolean;
23
- /**
24
- * Configure metafiles storage
25
- */
26
- metaStorageConfig?: AwsLightMetaStorageOptions;
27
- /**
28
- * The parts size that the client should use for presigned multipart unloading.
29
- * @default '16MB'
30
- */
31
- partSize?: number | string;
32
- };
33
- export interface AwsLightError extends Error {
34
- code?: string;
35
- requestId?: string;
36
- statusCode?: number;
37
- }
@@ -1,6 +0,0 @@
1
- import { File } from "../utils/index.d.ts";
2
- declare class AzureFile extends File {
3
- requestId?: string;
4
- uri?: string;
5
- }
6
- export default AzureFile;
@@ -1,15 +0,0 @@
1
- import MetaStorage from "../meta-storage.d.ts";
2
- import type { File } from "../utils/index.d.ts";
3
- import type { AzureMetaStorageOptions } from "./types.d.ts";
4
- declare class AzureMetaStorage<T extends File = File> extends MetaStorage<T> {
5
- config: AzureMetaStorageOptions;
6
- private client;
7
- private containerClient;
8
- constructor(config: AzureMetaStorageOptions);
9
- get(id: string): Promise<T>;
10
- touch(id: string, file: T): Promise<T>;
11
- delete(id: string): Promise<void>;
12
- save(id: string, file: T): Promise<T>;
13
- list(): Promise<T[]>;
14
- }
15
- export default AzureMetaStorage;
@@ -1,69 +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 AzureFile from "./azure-file.d.ts";
5
- import type { AzureStorageOptions } from "./types.d.ts";
6
- /**
7
- * Azure Blob Storage implementation.
8
- * @remarks
9
- * ## Supported Operations
10
- * - ✅ create, write, delete, get, list, update, copy, move
11
- * - ✅ Batch operations: deleteBatch, copyBatch, moveBatch (inherited from BaseStorage)
12
- * - ✅ exists: Implemented (checks metadata and Azure blob)
13
- * - ❌ getStream: Not implemented (use get() for file retrieval)
14
- * - ❌ getUrl: Not implemented (Azure Blob URLs not supported)
15
- * - ❌ getUploadUrl: Not implemented (Azure Blob upload URLs handled internally)
16
- */
17
- declare class AzureStorage extends BaseStorage<AzureFile, FileReturn> {
18
- static readonly name: string;
19
- checksumTypes: string[];
20
- protected meta: MetaStorage<AzureFile>;
21
- private client;
22
- private readonly containerClient;
23
- private readonly root;
24
- private readonly retry;
25
- constructor(config: AzureStorageOptions);
26
- create(config: FileInit): Promise<AzureFile>;
27
- /**
28
- * Deletes an upload and its metadata.
29
- * @param query File query containing the file ID to delete.
30
- * @param query.id File ID to delete.
31
- * @returns Promise resolving to the deleted file object with status: "deleted".
32
- * @throws {UploadError} If the file metadata cannot be found.
33
- */
34
- delete({ id }: FileQuery): Promise<AzureFile>;
35
- /**
36
- * Moves an upload file to a new location.
37
- * @param name Source file name/ID.
38
- * @param destination Destination file name/ID.
39
- * @returns Promise resolving to the moved file object.
40
- * @throws {UploadError} If the source file cannot be found.
41
- */
42
- move(name: string, destination: string): Promise<AzureFile>;
43
- write(part: FilePart | FileQuery | AzureFile): Promise<AzureFile>;
44
- get({ id }: FileQuery): Promise<FileReturn>;
45
- /**
46
- * Checks if a file exists by verifying both metadata and the actual Azure blob.
47
- * Returns true only if both the metadata and the blob exist.
48
- * @param query File query containing the file ID to check.
49
- * @returns Promise resolving to true if both metadata and blob exist, false otherwise.
50
- */
51
- exists({ id }: FileQuery): Promise<boolean>;
52
- /**
53
- * Copies an upload file to a new location.
54
- * @param name Source file name/ID.
55
- * @param destination Destination file name/ID.
56
- * @returns Promise resolving to the copied file object.
57
- * @throws {UploadError} If the source file cannot be found.
58
- */
59
- copy(name: string, destination: string): Promise<AzureFile>;
60
- list(limit?: number): Promise<AzureFile[]>;
61
- /**
62
- * Prefixes the given filePath with the storage root location (assetFolder if configured).
63
- * @param filePath Relative file path to prefix.
64
- * @returns Full path with asset folder prefix if configured, otherwise returns original path.
65
- */
66
- private getFullPath;
67
- private accessCheck;
68
- }
69
- export default AzureStorage;
@@ -1,62 +0,0 @@
1
- import type { BlobServiceClient } from "@azure/storage-blob";
2
- import type { LocalMetaStorageOptions } from "../local/local-meta-storage.d.ts";
3
- import type { BaseStorageOptions, MetaStorageOptions } from "../types.d.ts";
4
- import type AzureFile from "./azure-file.d.ts";
5
- interface ClientConfig {
6
- /**
7
- * Azure account key.
8
- */
9
- accountKey?: string;
10
- /**
11
- * Azure account name.
12
- */
13
- accountName?: string;
14
- /**
15
- * Azure container name.
16
- */
17
- containerName: string;
18
- /**
19
- * Azure endpoint.
20
- */
21
- endpoint?: string;
22
- /**
23
- * Azure root path.
24
- */
25
- root?: string;
26
- }
27
- interface ClientConfig {
28
- connectionString?: string;
29
- /**
30
- * Azure container name.
31
- */
32
- containerName: string;
33
- /**
34
- * Azure root path.
35
- */
36
- root?: string;
37
- }
38
- export interface AzureMetaStorageOptions extends ClientConfig, MetaStorageOptions {
39
- client?: BlobServiceClient;
40
- }
41
- export interface AzureStorageOptions extends BaseStorageOptions<AzureFile>, ClientConfig {
42
- /**
43
- * Configure metafiles storage
44
- * @example
45
- * ```ts
46
- * Using local metafiles
47
- * const storage = new AzureStorage({
48
- * bucket: 'upload',
49
- * metaStorageConfig: { directory: '/tmp/upload-metafiles' }
50
- * })
51
- * ```
52
- * Using a separate bucket for metafiles
53
- * ```ts
54
- * const storage = new AzureStorage({
55
- * bucket: 'upload',
56
- * metaStorageConfig: { bucket: 'upload-metafiles' }
57
- * })
58
- * ```
59
- */
60
- metaStorageConfig?: AzureMetaStorageOptions | LocalMetaStorageOptions;
61
- }
62
- export {};
@@ -1,11 +0,0 @@
1
- declare class FetchError extends Error {
2
- code: string;
3
- config: {
4
- uri: string;
5
- };
6
- name: string;
7
- constructor(message: string, code: string, config: {
8
- uri: string;
9
- });
10
- }
11
- export default FetchError;
@@ -1,2 +0,0 @@
1
- declare const GCSConfig: Record<string, string | string[]>;
2
- export default GCSConfig;
@@ -1,6 +0,0 @@
1
- import { File } from "../utils/index.d.ts";
2
- declare class GCSFile extends File {
3
- GCSUploadURI?: string;
4
- uri?: string;
5
- }
6
- export default GCSFile;
@@ -1,27 +0,0 @@
1
- import MetaStorage from "../meta-storage.d.ts";
2
- import type { File } from "../utils/index.d.ts";
3
- import type { GCSMetaStorageOptions } from "./types.d.ts";
4
- declare class GCSMetaStorage<T extends File = File> extends MetaStorage<T> {
5
- readonly config: GCSMetaStorageOptions;
6
- private authClient;
7
- private readonly storageBaseURI;
8
- private readonly uploadBaseURI;
9
- private readonly isCustomEndpoint;
10
- private readonly retryOptions;
11
- private readonly useAuthWithCustomEndpoint;
12
- private readonly userProject;
13
- constructor(config: GCSMetaStorageOptions);
14
- save(id: string, file: T): Promise<T>;
15
- delete(id: string): Promise<void>;
16
- get(id: string): Promise<T>;
17
- touch(id: string, file: T): Promise<T>;
18
- private accessCheck;
19
- /**
20
- * Returns metafile URL path for the given upload ID.
21
- * @param id Upload ID to get metafile path for
22
- * @returns Full URL path to the metafile in GCS
23
- */
24
- private getMetaPath;
25
- private makeRequest;
26
- }
27
- export default GCSMetaStorage;
@@ -1,91 +0,0 @@
1
- import type { HttpError } from "../../utils/types.d.ts";
2
- import type MetaStorage from "../meta-storage.d.ts";
3
- import { BaseStorage } from "../storage.d.ts";
4
- import type { FileInit, FilePart, FileQuery, FileReturn } from "../utils/index.d.ts";
5
- import GCSFile from "./gcs-file.d.ts";
6
- import type { ClientError, GCStorageOptions } from "./types.d.ts";
7
- /**
8
- * Google cloud storage based backend.
9
- * @example
10
- * ```ts
11
- * const storage = new GCStorage({
12
- * bucket: <YOUR_BUCKET>,
13
- * keyFile: <PATH_TO_KEY_FILE>,
14
- * metaStorage: new MetaStorage(),
15
- * clientDirectUpload: true,
16
- * maxUploadSize: '15GB',
17
- * allowMIME: ['video/*', 'image/*'],
18
- * filename: file => file.originalName
19
- * });
20
- * ```
21
- * @remarks
22
- * ## Supported Operations
23
- * - ✅ create, write, delete, get, list, update, copy, move
24
- * - ✅ Batch operations: deleteBatch, copyBatch, moveBatch (inherited from BaseStorage)
25
- * - ✅ exists: Implemented (checks metadata and GCS object)
26
- * - ❌ getStream: Not implemented (use get() for file retrieval)
27
- * - ❌ getUrl: Not implemented (GCS public URLs not supported)
28
- * - ❌ getUploadUrl: Not implemented (resumable upload URLs handled internally)
29
- */
30
- declare class GCStorage extends BaseStorage<GCSFile, FileReturn> {
31
- static readonly name: string;
32
- checksumTypes: string[];
33
- protected meta: MetaStorage<GCSFile>;
34
- private readonly bucket;
35
- private authClient;
36
- private readonly storageBaseURI;
37
- private readonly uploadBaseURI;
38
- private readonly isCustomEndpoint;
39
- private readonly retryOptions;
40
- private readonly useAuthWithCustomEndpoint;
41
- private readonly userProject;
42
- constructor(config: GCStorageOptions);
43
- normalizeError(error: ClientError): HttpError;
44
- create(config: FileInit): Promise<GCSFile>;
45
- write(part: FilePart | FileQuery | GCSFile): Promise<GCSFile>;
46
- /**
47
- * Deletes an upload and its metadata.
48
- * @param query File query containing the file ID to delete.
49
- * @param query.id File ID to delete.
50
- * @returns Promise resolving to the deleted file object with status: "deleted".
51
- * @throws {UploadError} If the file metadata cannot be found.
52
- */
53
- delete({ id }: FileQuery): Promise<GCSFile>;
54
- /**
55
- * Copies an upload file to a new location.
56
- * @param name Source file name/ID.
57
- * @param destination Destination file name/ID.
58
- * @returns Promise resolving to the copied file object.
59
- * @throws {UploadError} If the source file cannot be found.
60
- */
61
- copy(name: string, destination: string): Promise<GCSFile>;
62
- /**
63
- * Moves an upload file to a new location.
64
- * @param name Source file name/ID.
65
- * @param destination Destination file name/ID.
66
- * @returns Promise resolving to the moved file object.
67
- * @throws {UploadError} If the source file cannot be found.
68
- */
69
- move(name: string, destination: string): Promise<GCSFile>;
70
- /**
71
- * Gets an uploaded file by ID with content buffer.
72
- * @param query File query object containing the file ID.
73
- * @param query.id Unique identifier of the file to retrieve.
74
- * @returns Promise resolving to file object with content buffer.
75
- * @throws {UploadError} If the file cannot be found (ERRORS.FILE_NOT_FOUND) or has expired (ERRORS.GONE).
76
- */
77
- get({ id }: FileQuery): Promise<FileReturn>;
78
- /**
79
- * Checks if a file exists by verifying both metadata and the actual GCS object.
80
- * Returns true only if both the metadata and the GCS object exist.
81
- * @param query File query containing the file ID to check.
82
- * @returns Promise resolving to true if both metadata and GCS object exist, false otherwise.
83
- */
84
- exists({ id }: FileQuery): Promise<boolean>;
85
- list(limit?: number): Promise<GCSFile[]>;
86
- protected internalWrite(part: GCSFile & Partial<FilePart>): Promise<number>;
87
- private internalOnComplete;
88
- private makeRequest;
89
- private accessCheck;
90
- }
91
- export default GCStorage;
@@ -1,55 +0,0 @@
1
- import type { RetryConfig } from "gaxios";
2
- import type { GoogleAuth, GoogleAuthOptions } from "google-auth-library";
3
- import type { LocalMetaStorageOptions } from "../local/local-meta-storage.d.ts";
4
- import type { BaseStorageOptions, MetaStorageOptions } from "../types.d.ts";
5
- import type GCSFile from "./gcs-file.d.ts";
6
- interface StorageSettings {
7
- projectId: string;
8
- retryOptions?: RetryConfig;
9
- storageAPI?: string;
10
- uploadAPI?: string;
11
- useAuthWithCustomEndpoint?: boolean;
12
- userProject?: string;
13
- }
14
- export interface ClientError extends Error {
15
- code: string;
16
- config: Record<string, unknown>;
17
- response?: Record<string, unknown>;
18
- }
19
- export interface GCStorageOptions extends BaseStorageOptions<GCSFile>, Omit<GoogleAuthOptions, "authClient" | "projectId">, StorageSettings {
20
- /**
21
- * Google Cloud Storage bucket
22
- */
23
- bucket?: string;
24
- /**
25
- * Force compatible client upload directly to GCS
26
- */
27
- clientDirectUpload?: boolean;
28
- /**
29
- * Configure metafiles storage
30
- * @example
31
- * ```ts
32
- * Using local metafiles
33
- * const storage = new GCStorage({
34
- * bucket: 'upload',
35
- * metaStorageConfig: { directory: '/tmp/upload-metafiles' }
36
- * })
37
- * ```
38
- * Using a separate bucket for metafiles
39
- * ```ts
40
- * const storage = new GCStorage({
41
- * bucket: 'upload',
42
- * metaStorageConfig: { bucket: 'upload-metafiles' }
43
- * })
44
- * ```
45
- */
46
- metaStorageConfig?: GCSMetaStorageOptions | LocalMetaStorageOptions;
47
- }
48
- export interface GCSMetaStorageOptions extends MetaStorageOptions, Omit<GoogleAuthOptions, "authClient" | "projectId">, StorageSettings {
49
- /**
50
- * @internal
51
- */
52
- authClient?: GoogleAuth;
53
- bucket?: string;
54
- }
55
- export {};
@@ -1,7 +0,0 @@
1
- import type { GaxiosError, RetryConfig } from "gaxios";
2
- import type { FilePart } from "../utils/index.d.ts";
3
- import type GCSFile from "./gcs-file.d.ts";
4
- export declare const getRangeEnd: (range: string) => number;
5
- export declare const buildContentRange: (part: GCSFile & Partial<FilePart>) => string;
6
- export declare const shouldRetry: (error: GaxiosError) => boolean;
7
- export declare const retryOptions: RetryConfig;
@@ -1,15 +0,0 @@
1
- import { ERRORS } from "../../utils/errors.d.ts";
2
- import type { DiskStorageWithChecksumOptions } from "../types.d.ts";
3
- import type { File, FilePart, FileQuery } from "../utils/index.d.ts";
4
- import DiskStorage from "./disk-storage.d.ts";
5
- /**
6
- * Additionally calculates checksum of the file/range.
7
- */
8
- declare class DiskStorageWithChecksum<TFile extends File = File> extends DiskStorage<TFile> {
9
- private hashes;
10
- constructor(config: DiskStorageWithChecksumOptions<TFile>);
11
- delete({ id }: FileQuery): Promise<TFile>;
12
- write(part: FilePart | FileQuery): Promise<TFile>;
13
- protected lazyWrite(part: File & FilePart): Promise<[number, ERRORS?]>;
14
- }
15
- export default DiskStorageWithChecksum;
@@ -1,135 +0,0 @@
1
- import type { Readable } from "node:stream";
2
- import { ERRORS } from "../../utils/errors.d.ts";
3
- import type { HttpError } from "../../utils/types.d.ts";
4
- import type MetaStorage from "../meta-storage.d.ts";
5
- import { BaseStorage } from "../storage.d.ts";
6
- import type { DiskStorageOptions } from "../types.d.ts";
7
- import type { FileInit, FilePart, FileQuery } from "../utils/index.d.ts";
8
- import { File } from "../utils/index.d.ts";
9
- import type { FileReturn } from "../utils/file/types.d.ts";
10
- /**
11
- * Local disk-based storage implementation.
12
- * @template TFile The file type used by this storage backend.
13
- * @remarks
14
- * ## Error Handling
15
- * - Filesystem operations throw errors directly (no retry logic)
16
- * - File not found errors are thrown immediately
17
- * - Permission errors are propagated as-is
18
- *
19
- * ## Retry Behavior
20
- * - No automatic retries (filesystem operations are typically immediate)
21
- * - Errors are thrown directly for immediate feedback
22
- *
23
- * ## File Paths
24
- * - Files are stored in the configured directory
25
- * - Metadata files use the `.META` suffix by default
26
- * - File paths are resolved relative to the storage directory
27
- */
28
- declare class DiskStorage<TFile extends File = File> extends BaseStorage<TFile, FileReturn> {
29
- static readonly name: string;
30
- checksumTypes: string[];
31
- directory: string;
32
- meta: MetaStorage<TFile>;
33
- constructor(config: DiskStorageOptions<TFile>);
34
- /**
35
- * Normalizes errors with disk storage context.
36
- * @param error The error to normalize.
37
- * @returns Normalized HTTP error.
38
- */
39
- normalizeError(error: Error): HttpError;
40
- /**
41
- * Creates a new file upload and saves its metadata.
42
- * @param fileInit File initialization configuration.
43
- * @returns Promise resolving to the created file object.
44
- * @throws {Error} If validation fails or file already exists and is completed.
45
- * @remarks
46
- * Supports TTL (time-to-live) option in fileInit.
47
- * Creates the file on disk if it doesn't exist.
48
- * Returns existing file if it's already completed.
49
- */
50
- create(fileInit: FileInit): Promise<TFile>;
51
- /**
52
- * Writes data to a file upload.
53
- * @param part File part containing data to write, file query, or full file object.
54
- * @returns Promise resolving to the updated file object.
55
- * @throws {Error} If file is expired (ERRORS.GONE), locked (ERRORS.FILE_LOCKED), or conflicts occur (ERRORS.FILE_CONFLICT).
56
- * @remarks
57
- * Supports chunked uploads with start position.
58
- * Automatically detects file type from stream on first chunk if contentType is not set.
59
- * Validates checksum algorithms if provided.
60
- * Uses file locking to prevent concurrent writes.
61
- * Updates file status to "completed" when all bytes are written.
62
- */
63
- write(part: FilePart | FileQuery | TFile): Promise<TFile>;
64
- /**
65
- * Gets an uploaded file by ID.
66
- * @param query File query containing the file ID to retrieve.
67
- * @param query.id File ID to retrieve.
68
- * @returns Promise resolving to the file data including content buffer.
69
- * @throws {Error} If the file cannot be found (ERRORS.FILE_NOT_FOUND) or has expired (ERRORS.GONE).
70
- * @remarks
71
- * Loads the entire file content into memory as a Buffer.
72
- * For large files, consider using getStream() instead.
73
- * Includes ETag (MD5 hash) for content verification.
74
- */
75
- get({ id }: FileQuery): Promise<FileReturn>;
76
- /**
77
- * Checks if a file exists by verifying both metadata and the actual filesystem file.
78
- * Returns true only if both the metadata and the file exist.
79
- * @param query File query containing the file ID to check.
80
- * @returns Promise resolving to true if both metadata and file exist, false otherwise.
81
- */
82
- exists({ id }: FileQuery): Promise<boolean>;
83
- /**
84
- * Gets an uploaded file as a readable stream for efficient large file handling.
85
- * @param query File query containing the file ID to stream.
86
- * @param query.id File ID to stream.
87
- * @returns Promise resolving to an object containing the stream, headers, and size.
88
- * @throws {UploadError} If the file cannot be found (ERRORS.FILE_NOT_FOUND) or has expired (ERRORS.GONE).
89
- * @remarks Creates a readable stream directly from the file system for efficient memory usage.
90
- */
91
- getStream({ id }: FileQuery): Promise<{
92
- headers?: Record<string, string>;
93
- size?: number;
94
- stream: Readable;
95
- }>;
96
- /**
97
- * Deletes an upload and its metadata.
98
- * @param query File query containing the file ID to delete.
99
- * @param query.id File ID to delete.
100
- * @returns Promise resolving to the deleted file object with status: "deleted".
101
- * @throws {UploadError} If the file metadata cannot be found.
102
- */
103
- delete({ id }: FileQuery): Promise<TFile>;
104
- /**
105
- * Copies an upload file to a new location.
106
- * @param name Source file name/ID.
107
- * @param destination Destination file name/ID.
108
- * @returns Promise resolving to the copied file object.
109
- * @throws {UploadError} If the source file cannot be found.
110
- */
111
- copy(name: string, destination: string): Promise<TFile>;
112
- /**
113
- * Moves an upload file to a new location.
114
- * @param name Source file name/ID.
115
- * @param destination Destination file name/ID.
116
- * @returns Promise resolving to the moved file object.
117
- * @throws {Error} If the source file cannot be found.
118
- */
119
- move(name: string, destination: string): Promise<TFile>;
120
- /**
121
- * Retrieves a list of uploaded files.
122
- * @returns Promise resolving to an array of file metadata objects.
123
- * @remarks Walks the storage directory and returns all files, excluding metadata files.
124
- */
125
- list(): Promise<TFile[]>;
126
- /**
127
- * Returns path for the uploaded file
128
- * If filename is already an absolute path, returns it as-is.
129
- * Otherwise, joins it with the storage directory.
130
- */
131
- protected getFilePath(filename: string): string;
132
- protected lazyWrite(part: File & FilePart): Promise<[number, ERRORS?]>;
133
- private accessCheck;
134
- }
135
- export default DiskStorage;