@visulima/storage 1.0.0-alpha.8 → 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (424) hide show
  1. package/CHANGELOG.md +578 -0
  2. package/LICENSE.md +237 -568
  3. package/README.md +82 -466
  4. package/dist/adapter/nuxt/module.d.ts +41 -34
  5. package/dist/adapter/nuxt/module.js +1 -93
  6. package/dist/adapter/nuxt/package.json +0 -6
  7. package/dist/ai/ai-sdk/index.d.ts +113 -0
  8. package/dist/ai/ai-sdk/index.js +1 -0
  9. package/dist/ai/claude/index.d.ts +177 -0
  10. package/dist/ai/claude/index.js +1 -0
  11. package/dist/ai/openai/index.d.ts +205 -0
  12. package/dist/ai/openai/index.js +1 -0
  13. package/dist/ai/tanstack/index.d.ts +115 -0
  14. package/dist/ai/tanstack/index.js +1 -0
  15. package/dist/handler/http/fetch/index.d.ts +303 -4
  16. package/dist/handler/http/fetch/index.js +1 -4
  17. package/dist/handler/http/hono/index.d.ts +73 -64
  18. package/dist/handler/http/hono/index.js +1 -65
  19. package/dist/handler/http/nextjs/index.d.ts +66 -58
  20. package/dist/handler/http/nextjs/index.js +1 -37
  21. package/dist/handler/http/node/index.d.ts +368 -4
  22. package/dist/handler/http/node/index.js +1 -8
  23. package/dist/handler/http/solid-start/index.d.ts +66 -57
  24. package/dist/handler/http/solid-start/index.js +1 -44
  25. package/dist/index.d.ts +106 -17
  26. package/dist/index.js +1 -13
  27. package/dist/openapi/index.d.ts +24 -5
  28. package/dist/openapi/index.js +1 -5
  29. package/dist/packem_shared/AbstractBaseStorage-Ba7cLu-t.js +1 -0
  30. package/dist/packem_shared/AwsLightFile-CpZrubaV.js +1 -0
  31. package/dist/packem_shared/AwsLightMetaStorage-DPqJ9LTr.js +1 -0
  32. package/dist/packem_shared/AwsLightStorage-DTBVxHXO.js +1 -0
  33. package/dist/packem_shared/AzureFile-DFSaVe25.js +1 -0
  34. package/dist/packem_shared/AzureSMetaStorage-ByzM6Aix.js +1 -0
  35. package/dist/packem_shared/AzureStorage-BFsD4qbF.js +1 -0
  36. package/dist/packem_shared/BaseTransformer-Buw5lX_3.js +1 -0
  37. package/dist/packem_shared/BoxFile-CseIoPW1.js +1 -0
  38. package/dist/packem_shared/BoxMetaStorage-DFwhEI9C.js +1 -0
  39. package/dist/packem_shared/BoxStorage-B_t-OVzf.js +1 -0
  40. package/dist/packem_shared/BunS3File-BcYmsz1n.js +1 -0
  41. package/dist/packem_shared/BunS3MetaStorage-DFwhEI9C.js +1 -0
  42. package/dist/packem_shared/BunS3Storage-CB_pZWlV.js +1 -0
  43. package/dist/packem_shared/BunnyFile-BgEOlcYI.js +1 -0
  44. package/dist/packem_shared/BunnyMetaStorage-DFwhEI9C.js +1 -0
  45. package/dist/packem_shared/BunnyStorage-CILSK4_Z.js +1 -0
  46. package/dist/packem_shared/CloudinaryFile-Bo5B-vM1.js +1 -0
  47. package/dist/packem_shared/CloudinaryMetaStorage-D_vNzewL.js +1 -0
  48. package/dist/packem_shared/CloudinaryStorage-DiCbdAi_.js +1 -0
  49. package/dist/packem_shared/DiskStorage-Kp5t3vnF.js +1 -0
  50. package/dist/packem_shared/DiskStorageWithChecksum-Bh6w-Iu8.js +1 -0
  51. package/dist/packem_shared/DropboxFile-BFb7eOzy.js +1 -0
  52. package/dist/packem_shared/DropboxMetaStorage-DFwhEI9C.js +1 -0
  53. package/dist/packem_shared/DropboxStorage-H8bd8hEz.js +1 -0
  54. package/dist/packem_shared/ERRORS-BIBxE2oR.js +1 -0
  55. package/dist/packem_shared/File-W8aOo15X.js +1 -0
  56. package/dist/packem_shared/Files-BA3mpDwz.js +1 -0
  57. package/dist/packem_shared/FirebaseFile-BLaBxa2A.js +1 -0
  58. package/dist/packem_shared/FirebaseMetaStorage-D_vNzewL.js +1 -0
  59. package/dist/packem_shared/FirebaseStorage-Dgk4XyMr.js +2 -0
  60. package/dist/packem_shared/FtpFile-ClWDYnt2.js +1 -0
  61. package/dist/packem_shared/FtpMetaStorage-DFwhEI9C.js +1 -0
  62. package/dist/packem_shared/FtpStorage-g_DjiR-C.js +1 -0
  63. package/dist/packem_shared/GCSConfig-BQ0OpVhe.js +1 -0
  64. package/dist/packem_shared/GCSFile-Cero7qZN.js +1 -0
  65. package/dist/packem_shared/GCSMetaStorage-3fLTlRd4.js +1 -0
  66. package/dist/packem_shared/GCStorage-DUfwVFd3.js +1 -0
  67. package/dist/packem_shared/GoogleDriveFile-DHpLhzg9.js +1 -0
  68. package/dist/packem_shared/GoogleDriveMetaStorage-DqkgoE46.js +1 -0
  69. package/dist/packem_shared/GoogleDriveStorage-D0-5egHE.js +1 -0
  70. package/dist/packem_shared/LocalMetaStorage-Bp5mVc76.js +1 -0
  71. package/dist/packem_shared/MediaTransformer-D2kUsklW.js +1 -0
  72. package/dist/packem_shared/MemoryMetaStorage-Ksgh9pe7.js +1 -0
  73. package/dist/packem_shared/MemoryStorage-DzSTdlAq.js +1 -0
  74. package/dist/packem_shared/MetaStorage-DPEUyWgN.js +1 -0
  75. package/dist/packem_shared/Metadata-B7CcBueg.js +1 -0
  76. package/dist/packem_shared/Multipart-Btj2mo9r.js +1 -0
  77. package/dist/packem_shared/Multipart-C4GpuHMU.js +1 -0
  78. package/dist/packem_shared/NetlifyBlobFile-DoFhkzaH.js +1 -0
  79. package/dist/packem_shared/NetlifyBlobMetaStorage-D_vNzewL.js +1 -0
  80. package/dist/packem_shared/NetlifyBlobStorage-DZdCmOVW.js +1 -0
  81. package/dist/packem_shared/NoOpMetrics-BLo6u4NY.js +1 -0
  82. package/dist/packem_shared/OneDriveFile-CNNJYI43.js +1 -0
  83. package/dist/packem_shared/OneDriveMetaStorage-DqkgoE46.js +1 -0
  84. package/dist/packem_shared/OneDriveStorage-CvJetV7_.js +1 -0
  85. package/dist/packem_shared/OpenTelemetryMetrics-DJDQsNKp.js +1 -0
  86. package/dist/packem_shared/PocketBaseFile-DpJpxl3e.js +1 -0
  87. package/dist/packem_shared/PocketBaseMetaStorage-CpvDRnSu.js +1 -0
  88. package/dist/packem_shared/PocketBaseStorage-BPil-koe.js +1 -0
  89. package/dist/packem_shared/Rest-BehVaxbl.js +1 -0
  90. package/dist/packem_shared/Rest-ymPCZkKR.js +1 -0
  91. package/dist/packem_shared/S3File-CpZrubaV.js +1 -0
  92. package/dist/packem_shared/S3MetaStorage-CMonflzp.js +1 -0
  93. package/dist/packem_shared/S3Storage-wslqssvr.js +1 -0
  94. package/dist/packem_shared/SftpFile-ClWDYnt2.js +1 -0
  95. package/dist/packem_shared/SftpMetaStorage-DFwhEI9C.js +1 -0
  96. package/dist/packem_shared/SftpStorage-BVbMtS2b.js +1 -0
  97. package/dist/packem_shared/SharePointFile-Blz9FS4h.js +1 -0
  98. package/dist/packem_shared/SharePointMetaStorage-DFwhEI9C.js +1 -0
  99. package/dist/packem_shared/SharePointStorage-DWjvR5oZ.js +1 -0
  100. package/dist/packem_shared/SupabaseFile-Bo5B-vM1.js +1 -0
  101. package/dist/packem_shared/SupabaseMetaStorage-DqkgoE46.js +1 -0
  102. package/dist/packem_shared/SupabaseStorage-BiKmYKb6.js +1 -0
  103. package/dist/packem_shared/TUS_RESUMABLE-CyTSRvPU.js +1 -0
  104. package/dist/packem_shared/Tus-BgbON_wQ.js +1 -0
  105. package/dist/packem_shared/Tus-v6jzkaIO.js +1 -0
  106. package/dist/packem_shared/UploadControl-DZJhI9Wh.js +1 -0
  107. package/dist/packem_shared/UploadThingFile-BTFMpcIA.js +1 -0
  108. package/dist/packem_shared/UploadThingMetaStorage-D_vNzewL.js +1 -0
  109. package/dist/packem_shared/UploadThingStorage-jrEnANC5.js +1 -0
  110. package/dist/packem_shared/ValidationError-3B06DFyE.js +1 -0
  111. package/dist/packem_shared/VercelBlobFile-CVQwKlZk.js +1 -0
  112. package/dist/packem_shared/VercelBlobMetaStorage-DFwhEI9C.js +1 -0
  113. package/dist/packem_shared/VercelBlobStorage-Y-cDgH30.js +1 -0
  114. package/dist/packem_shared/_commonjsHelpers-CWAkuNXM.js +1 -0
  115. package/dist/packem_shared/agentsCopyFile-Dl5iffdH.js +1 -0
  116. package/dist/packem_shared/akamai-DthkaFul.js +1 -0
  117. package/dist/packem_shared/alibaba-BEi25O1g.js +1 -0
  118. package/dist/packem_shared/approval-fVHwBp7u.js +1 -0
  119. package/dist/packem_shared/approval.d-CMAYH9GF.d.ts +75 -0
  120. package/dist/packem_shared/aws-light-meta-storage-DGrn72VJ.js +4 -0
  121. package/dist/packem_shared/azure-meta-storage-ClbEsfI4.js +1 -0
  122. package/dist/packem_shared/backblaze-m1N5NZ9q.js +1 -0
  123. package/dist/packem_shared/base-handler-core-EeV8gZck.js +1 -0
  124. package/dist/packem_shared/base-handler-fetch-CHzsgb7C.js +1 -0
  125. package/dist/packem_shared/base-handler-node-BjpW8pGi.js +1 -0
  126. package/dist/packem_shared/cache-Cw3QjoVN.js +1 -0
  127. package/dist/packem_shared/claudeCopyFile-BX9O4ORk.js +1 -0
  128. package/dist/packem_shared/cloudflare-CdUTErlo.js +1 -0
  129. package/dist/packem_shared/copyFile-49FtxXcm.js +1 -0
  130. package/dist/packem_shared/copyFile-BUPezT_c.js +1 -0
  131. package/dist/packem_shared/createResponsesFileTools-6Tvt2PNr.js +1 -0
  132. package/dist/packem_shared/createRetryWrapper-CxgiV_hH.js +1 -0
  133. package/dist/packem_shared/detect-file-type-BA7UBLKA.js +1 -0
  134. package/dist/packem_shared/digitalOcean-B2uB6pgz.js +1 -0
  135. package/dist/packem_shared/disk-storage-DIn-VnCh.js +1 -0
  136. package/dist/packem_shared/disk-storage-with-checksum.d-B-VGEsfl.d.ts +156 -0
  137. package/dist/packem_shared/executors-BDzMjc4y.js +1 -0
  138. package/dist/packem_shared/executors.d-BZP2rWo3.d.ts +69 -0
  139. package/dist/packem_shared/exoscale-BDa1Gjth.js +1 -0
  140. package/dist/packem_shared/filebase-CsFYJIwB.js +1 -0
  141. package/dist/packem_shared/files.d-CH0iLBNC.d.ts +655 -0
  142. package/dist/packem_shared/gcs-meta-storage-Dy37wCjI.js +1 -0
  143. package/dist/packem_shared/get-file-status-y3wTtDQs.js +1 -0
  144. package/dist/packem_shared/getFormatFromContentType-DCTTPQHm.js +1 -0
  145. package/dist/packem_shared/has-content-50BsqrWw.js +1 -0
  146. package/dist/packem_shared/headers-BAiAKekR.js +26 -0
  147. package/dist/packem_shared/hetzner-BGGFiRGD.js +1 -0
  148. package/dist/packem_shared/ibmCos-j-3TfJ5p.js +1 -0
  149. package/dist/packem_shared/idriveE2-C6pQ5pQ0.js +1 -0
  150. package/dist/packem_shared/index-nZWCQrSe.js +5 -0
  151. package/dist/packem_shared/internal-D_cZIFwI.js +1 -0
  152. package/dist/packem_shared/is-expired-CBEk6XBi.js +1 -0
  153. package/dist/packem_shared/local-meta-storage-C2T92TYb.js +11 -0
  154. package/dist/packem_shared/local-meta-storage.d-D9PBfkn6.d.ts +21 -0
  155. package/dist/packem_shared/media-transformer.d-Quf4ai47.d.ts +331 -0
  156. package/dist/packem_shared/memory-storage.d-4EU1cMt1.d.ts +101 -0
  157. package/dist/packem_shared/minio-NKquuBfS.js +1 -0
  158. package/dist/packem_shared/multipart-base-BOzY19lb.js +1 -0
  159. package/dist/packem_shared/oauth-refresh-EdGzlcOZ.js +1 -0
  160. package/dist/packem_shared/oracleCloud-DslqNpn6.js +1 -0
  161. package/dist/packem_shared/ovhCloud-CMHE6uLV.js +1 -0
  162. package/dist/packem_shared/part-match-D-9dGX42.js +1 -0
  163. package/dist/packem_shared/path-0oTTdkvl-BVg7lYf5.js +1 -0
  164. package/dist/packem_shared/posix-dirname-CfpH5wZi.js +1 -0
  165. package/dist/packem_shared/response-builder-CbSA8qPa.js +1 -0
  166. package/dist/packem_shared/rest-base-CynUg0mH.js +1 -0
  167. package/dist/packem_shared/restOpenApiSpec-Csv513qf.js +1 -0
  168. package/dist/packem_shared/s3-base-storage-DXZYN24h.js +1 -0
  169. package/dist/packem_shared/s3-base-storage.d-BQgP5B-t.d.ts +287 -0
  170. package/dist/packem_shared/scaleway-U1In3v70.js +1 -0
  171. package/dist/packem_shared/sharedErrorSchemaObject-YN65aAKj.js +1 -0
  172. package/dist/packem_shared/storage-Cyy73Y6r.js +1 -0
  173. package/dist/packem_shared/storage.d-CEM1upWM.d.ts +1176 -0
  174. package/dist/packem_shared/storj-Cb59q9kF.js +1 -0
  175. package/dist/packem_shared/sync-DhR3536K.js +1 -0
  176. package/dist/packem_shared/tencent-Q1y2GENc.js +1 -0
  177. package/dist/packem_shared/tigris-BELKoyyp.js +1 -0
  178. package/dist/packem_shared/transformOpenApiSpec-CIEAgpBD.js +1 -0
  179. package/dist/packem_shared/tus-base.d-DLzKE54M.d.ts +106 -0
  180. package/dist/packem_shared/tusOpenApiSpec-D96B03t5.js +1 -0
  181. package/dist/packem_shared/types.d-Bon9GVVe.d.ts +104 -0
  182. package/dist/packem_shared/types.d-CggTCgXr.d.ts +49 -0
  183. package/dist/packem_shared/types.d-CrUWY4On.d.ts +720 -0
  184. package/dist/packem_shared/update-size-DuNuLyxj.js +1 -0
  185. package/dist/packem_shared/vultr-B491cQ4e.js +1 -0
  186. package/dist/packem_shared/waitForStorage-ByQmG4xF.js +1 -0
  187. package/dist/packem_shared/wasabi-DFrwIoab.js +1 -0
  188. package/dist/packem_shared/xhrOpenApiSpec-DQR4h6M8.js +1 -0
  189. package/dist/packem_shared/yandex-CwzHuEKP.js +1 -0
  190. package/dist/storage/aws/clients/index.d.ts +612 -6
  191. package/dist/storage/aws/clients/index.js +1 -6
  192. package/dist/storage/aws/index.d.ts +332 -4
  193. package/dist/storage/aws/index.js +1 -3
  194. package/dist/storage/aws-light/index.d.ts +259 -4
  195. package/dist/storage/aws-light/index.js +1 -3
  196. package/dist/storage/azure/index.d.ts +236 -4
  197. package/dist/storage/azure/index.js +1 -3
  198. package/dist/storage/box/index.d.ts +189 -0
  199. package/dist/storage/box/index.js +1 -0
  200. package/dist/storage/bun-s3/index.d.ts +200 -0
  201. package/dist/storage/bun-s3/index.js +1 -0
  202. package/dist/storage/bunny/index.d.ts +119 -0
  203. package/dist/storage/bunny/index.js +1 -0
  204. package/dist/storage/cloudinary/index.d.ts +121 -0
  205. package/dist/storage/cloudinary/index.js +1 -0
  206. package/dist/storage/dropbox/index.d.ts +132 -0
  207. package/dist/storage/dropbox/index.js +1 -0
  208. package/dist/storage/firebase/index.d.ts +192 -0
  209. package/dist/storage/firebase/index.js +1 -0
  210. package/dist/storage/ftp/index.d.ts +91 -0
  211. package/dist/storage/ftp/index.js +1 -0
  212. package/dist/storage/gcs/index.d.ts +195 -5
  213. package/dist/storage/gcs/index.js +1 -4
  214. package/dist/storage/google-drive/index.d.ts +148 -0
  215. package/dist/storage/google-drive/index.js +1 -0
  216. package/dist/storage/local/index.d.ts +7 -4
  217. package/dist/storage/local/index.js +1 -3
  218. package/dist/storage/memory/index.d.ts +6 -0
  219. package/dist/storage/memory/index.js +1 -0
  220. package/dist/storage/netlify-blob/index.d.ts +147 -4
  221. package/dist/storage/netlify-blob/index.js +1 -3
  222. package/dist/storage/onedrive/index.d.ts +103 -0
  223. package/dist/storage/onedrive/index.js +1 -0
  224. package/dist/storage/pocketbase/index.d.ts +172 -0
  225. package/dist/storage/pocketbase/index.js +1 -0
  226. package/dist/storage/sftp/index.d.ts +92 -0
  227. package/dist/storage/sftp/index.js +1 -0
  228. package/dist/storage/sharepoint/index.d.ts +180 -0
  229. package/dist/storage/sharepoint/index.js +1 -0
  230. package/dist/storage/supabase/index.d.ts +115 -0
  231. package/dist/storage/supabase/index.js +1 -0
  232. package/dist/storage/uploadthing/index.d.ts +95 -0
  233. package/dist/storage/uploadthing/index.js +1 -0
  234. package/dist/storage/vercel-blob/index.d.ts +189 -4
  235. package/dist/storage/vercel-blob/index.js +1 -3
  236. package/dist/transformer/audio-transformer.d.ts +127 -125
  237. package/dist/transformer/audio-transformer.js +1 -278
  238. package/dist/transformer/image-transformer.d.ts +573 -568
  239. package/dist/transformer/image-transformer.js +1 -1100
  240. package/dist/transformer/index.d.ts +62 -5
  241. package/dist/transformer/index.js +1 -4
  242. package/dist/transformer/video-transformer.d.ts +144 -142
  243. package/dist/transformer/video-transformer.js +1 -310
  244. package/package.json +202 -50
  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-BlltBst6.js +0 -12
  279. package/dist/packem_shared/DiskStorageWithChecksum-BJTmMklc.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-BYhwecZl.js +0 -7
  285. package/dist/packem_shared/GCStorage-BmnoK7Rz.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-5Xpy7WhY.js +0 -163
  291. package/dist/packem_shared/Multipart-C-iU9LXj.js +0 -128
  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-DO7OslCs.js +0 -267
  298. package/dist/packem_shared/Rest-DTaszQ6n.js +0 -228
  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-BfguFdM1.js +0 -434
  303. package/dist/packem_shared/Tus-BQItPVAC.js +0 -200
  304. package/dist/packem_shared/Tus-BibjweWH.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-B85MJLTf.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-DLEVHemv.js +0 -303
  313. package/dist/packem_shared/base-handler-fetch-A7V0N6AJ.js +0 -291
  314. package/dist/packem_shared/base-handler-node-Dx7ce3sU.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-Bh2wy3YW.js +0 -810
  320. package/dist/packem_shared/gcs-meta-storage-DqNjM7DP.js +0 -158
  321. package/dist/packem_shared/has-content-CY66ehMK.js +0 -3
  322. package/dist/packem_shared/headers-C9DasoT1.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-BY0rhkw5.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-Bt9Np3M8.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,23 +0,0 @@
1
- /**
2
- * Custom error class for validation failures
3
- */
4
- declare class ValidationError extends Error {
5
- readonly code: string;
6
- readonly details: {
7
- invalidParams: string[];
8
- mediaType: string;
9
- suggestions?: string[];
10
- validParams: string[];
11
- };
12
- /**
13
- * Creates a new ValidationError instance with detailed error information.
14
- * @param message Human-readable error message describing the validation failure
15
- * @param code Machine-readable error code for programmatic error handling
16
- * @param mediaType The media type where validation failed ('image', 'video', or 'audio')
17
- * @param invalidParameters Array of parameter names that were invalid
18
- * @param validParameters Array of valid parameter names or values
19
- * @param suggestions Optional array of suggested corrections or valid values
20
- */
21
- constructor(message: string, code: string, mediaType: string, invalidParameters: string[], validParameters: string[], suggestions?: string[]);
22
- }
23
- export default ValidationError;
@@ -1,32 +0,0 @@
1
- /**
2
- * Simple cache interface that any cache implementation can follow
3
- */
4
- export interface Cache<K = string, V = unknown> {
5
- /** Clear all cache entries */
6
- clear: () => void | Promise<void>;
7
- /** Delete a value from cache */
8
- delete: (key: K) => boolean | Promise<boolean>;
9
- /** Get a value from cache */
10
- get: (key: K) => V | undefined | Promise<V | undefined>;
11
- /** Check if a key exists in cache */
12
- has: (key: K) => boolean | Promise<boolean>;
13
- /** Set a value in cache */
14
- set: (key: K, value: V, options?: CacheOptions) => boolean | Promise<boolean>;
15
- }
16
- /**
17
- * Options for cache operations
18
- */
19
- export interface CacheOptions {
20
- /** TTL in milliseconds */
21
- ttl?: number;
22
- }
23
- /**
24
- * No-op cache implementation that does nothing (used when caching is disabled)
25
- */
26
- export declare class NoOpCache<K = string, V = unknown> implements Cache<K, V> {
27
- get(): undefined;
28
- set(): boolean;
29
- delete(): boolean;
30
- clear(): void;
31
- has(): boolean;
32
- }
@@ -1,65 +0,0 @@
1
- import type { UploadFile } from "../storage/utils/index.d.ts";
2
- /**
3
- * Chunk information structure for tracking uploaded chunks.
4
- */
5
- export interface ChunkInfo {
6
- /** Optional checksum for validation */
7
- checksum?: string;
8
- /** Length of chunk in bytes */
9
- length: number;
10
- /** Byte offset where chunk starts */
11
- offset: number;
12
- }
13
- /**
14
- * Checks if upload is complete based on chunks coverage.
15
- * Verifies that all chunks form a continuous sequence covering the total file size.
16
- * @param chunks Array of chunk information objects
17
- * @param totalSize Total expected file size in bytes
18
- * @returns True if upload is complete, false otherwise
19
- */
20
- export declare const isUploadComplete: (chunks: ChunkInfo[], totalSize: number) => boolean;
21
- /**
22
- * Validates a chunk against file constraints.
23
- * @param chunkOffset Byte offset where chunk starts
24
- * @param chunkLength Length of chunk in bytes
25
- * @param totalSize Total file size in bytes
26
- * @param maxChunkSize Maximum allowed chunk size (optional)
27
- * @throws {Error} If validation fails
28
- */
29
- export declare const validateChunk: (chunkOffset: number, chunkLength: number, totalSize: number, maxChunkSize?: number) => void;
30
- /**
31
- * Tracks a chunk in the metadata chunks array (idempotent).
32
- * @param chunks Existing chunks array
33
- * @param chunkInfo New chunk information to track
34
- * @returns Updated chunks array
35
- */
36
- export declare const trackChunk: (chunks: ChunkInfo[], chunkInfo: ChunkInfo) => ChunkInfo[];
37
- /**
38
- * Calculates upload progress based on chunks.
39
- * @param chunks Array of chunk information objects
40
- * @param totalSize Total expected file size in bytes
41
- * @returns Object with bytesWritten and completion percentage
42
- */
43
- export declare const calculateUploadProgress: (chunks: ChunkInfo[], totalSize: number) => {
44
- bytesWritten: number;
45
- percentage: number;
46
- };
47
- /**
48
- * Gets the total bytes written based on file metadata.
49
- * For chunked uploads, uses bytesWritten from file or calculates from chunks.
50
- * @param file The file object
51
- * @returns Total bytes written
52
- */
53
- export declare const getBytesWritten: <TFile extends UploadFile>(file: TFile) => number;
54
- /**
55
- * Checks if a file is a chunked upload based on metadata.
56
- * @param file The file object
57
- * @returns True if file is a chunked upload
58
- */
59
- export declare const isChunkedUpload: <TFile extends UploadFile>(file: TFile) => boolean;
60
- /**
61
- * Gets the total size for a chunked upload.
62
- * @param file The file object
63
- * @returns Total size or undefined if not a chunked upload
64
- */
65
- export declare const getTotalSize: <TFile extends UploadFile>(file: TFile) => number | undefined;
@@ -1,28 +0,0 @@
1
- import type { Readable } from "node:stream";
2
- /**
3
- * Detects the file type from a buffer using magic numbers (binary signatures).
4
- * This provides more accurate file type detection than relying on file extensions or Content-Type headers.
5
- * @param buffer The buffer to detect file type from
6
- * @returns The detected file type with extension and MIME type, or undefined if detection fails
7
- */
8
- export declare const detectFileTypeFromBuffer: (buffer: Buffer | Uint8Array) => Promise<{
9
- ext: string;
10
- mime: string;
11
- } | undefined>;
12
- /**
13
- * Detects file type from a Node.js stream by peeking at the first chunk and returns both the detected type and a new stream.
14
- * This peeks at the stream data without consuming it, allowing the original stream to be used normally.
15
- * @param stream The readable stream to detect file type from
16
- * @param options Optional configuration for file type detection
17
- * @param options.sampleSize The sample size in bytes to peek (default: 4100)
18
- * @returns An object with the detected file type and a new readable stream
19
- */
20
- export declare const detectFileTypeFromStream: (stream: Readable, options?: {
21
- sampleSize?: number;
22
- }) => Promise<{
23
- fileType?: {
24
- ext: string;
25
- mime: string;
26
- };
27
- stream: Readable;
28
- }>;
@@ -1,74 +0,0 @@
1
- import type { HttpError } from "./types.d.ts";
2
- /**
3
- * Canonical error codes used across handlers and storage adapters.
4
- * These codes map to standardized HTTP status codes and error messages.
5
- */
6
- export declare enum ERRORS {
7
- BAD_REQUEST = "BadRequest",
8
- CHECKSUM_MISMATCH = "ChecksumMismatch",
9
- FILE_CONFLICT = "FileConflict",
10
- FILE_ERROR = "FileError",
11
- FILE_LOCKED = "FileLocked",
12
- FILE_NOT_ALLOWED = "FileNotAllowed",
13
- FILE_NOT_FOUND = "FileNotFound",
14
- FORBIDDEN = "Forbidden",
15
- GONE = "Gone",
16
- INVALID_FILE_NAME = "InvalidFileName",
17
- INVALID_FILE_SIZE = "InvalidFileSize",
18
- INVALID_RANGE = "InvalidRange",
19
- INVALID_TYPE = "Invalidtype",
20
- METHOD_NOT_ALLOWED = "MethodNotAllowed",
21
- REQUEST_ABORTED = "RequestAborted",
22
- REQUEST_ENTITY_TOO_LARGE = "RequestEntityTooLarge",
23
- STORAGE_BUSY = "StorageBusy",
24
- STORAGE_ERROR = "StorageError",
25
- TOO_MANY_REQUESTS = "TooManyRequests",
26
- UNKNOWN_ERROR = "UnknownError",
27
- UNPROCESSABLE_ENTITY = "UnprocessableEntity",
28
- UNSUPPORTED_CHECKSUM_ALGORITHM = "UnsupportedChecksumAlgorithm",
29
- UNSUPPORTED_MEDIA_TYPE = "UnsupportedMediaType"
30
- }
31
- /**
32
- * Type mapping of error codes to standardized HTTP error responses.
33
- * @template T - The error code type (defaults to string)
34
- */
35
- export type ErrorResponses<T extends string = string> = {
36
- [K in T]: HttpError;
37
- };
38
- /**
39
- * Mapping of error codes to HttpError response objects.
40
- * @returns Map of error codes to standardized HTTP error responses
41
- */
42
- export declare const ErrorMap: ErrorResponses<ERRORS>;
43
- /**
44
- * Error subclass carrying a stable error code and optional detail.
45
- * Provides structured error information for upload operations.
46
- */
47
- export declare class UploadError extends Error {
48
- name: string;
49
- /** The standardized error code from the ERRORS enum */
50
- UploadErrorCode: ERRORS;
51
- /** Optional additional error details */
52
- detail?: unknown;
53
- /**
54
- * Creates a new UploadError instance.
55
- * @param code Standardized error code (defaults to UNKNOWN_ERROR)
56
- * @param message Human-readable error message (defaults to the code)
57
- * @param detail Optional additional error details
58
- */
59
- constructor(code?: ERRORS, message?: string, detail?: unknown);
60
- }
61
- /**
62
- * Type guard to check if an error is an UploadError instance.
63
- * @param error Error to check
64
- * @returns True if the error is an UploadError with a valid error code
65
- */
66
- export declare const isUploadError: (error: unknown) => error is UploadError;
67
- /**
68
- * Convenience function to throw an UploadError from a string error code.
69
- * Looks up the appropriate error message from ErrorMap.
70
- * @param UploadErrorCode String error code to convert to UploadError
71
- * @param detail Optional additional error details
72
- * @throws UploadError with the specified code and message
73
- */
74
- export declare const throwErrorCode: (UploadErrorCode: ERRORS | string, detail?: string) => never;
@@ -1,18 +0,0 @@
1
- declare const filePathUrlMatcher: (path: string) => {
2
- params: PathMatch;
3
- path: string;
4
- } | undefined;
5
- /**
6
- * Parsed URL components from file path matching.
7
- */
8
- export type PathMatch = {
9
- /** File extension (e.g., "jpg", "png") */
10
- ext?: string;
11
- /** Metadata request type (e.g., "metadata") */
12
- metadata?: string;
13
- /** Path segments before the UUID */
14
- path?: string[];
15
- /** File UUID identifier */
16
- uuid: string;
17
- };
18
- export default filePathUrlMatcher;
@@ -1,111 +0,0 @@
1
- /**
2
- * Enhanced HTTP header utilities using remix-run/headers for type-safe header manipulation.
3
- * This module provides internal utilities for the storage package to handle complex headers.
4
- */
5
- import { Accept, ContentDisposition, ContentType } from "@remix-run/headers";
6
- import type { Headers as UploadHeaders } from "./types.d.ts";
7
- /**
8
- * Cache-Control directive options
9
- */
10
- export interface CacheControlOptions {
11
- immutable?: boolean;
12
- maxAge?: number;
13
- minFresh?: number;
14
- mustRevalidate?: boolean;
15
- noCache?: boolean;
16
- noStore?: boolean;
17
- private?: boolean;
18
- proxyRevalidate?: boolean;
19
- public?: boolean;
20
- sMaxAge?: number;
21
- staleIfError?: number;
22
- staleWhileRevalidate?: number;
23
- }
24
- /**
25
- * Utility functions for working with HTTP headers using \@remix-run/headers.
26
- */
27
- export declare const HeaderUtilities: {
28
- /**
29
- * Check if client accepts a specific media type based on Accept header.
30
- * @param acceptHeader HTTP Accept header value
31
- * @param mediaType Media type to check for acceptance
32
- * @returns True if the media type is accepted by the client
33
- */
34
- acceptsMediaType(acceptHeader: string | undefined, mediaType: string): boolean;
35
- /**
36
- * Create Cache-Control header value from options.
37
- * @param options Cache control directives configuration
38
- * @returns Cache-Control header value string
39
- */
40
- createCacheControl(options: CacheControlOptions): string;
41
- /**
42
- * Create common cache control presets with predefined configurations.
43
- * @param preset Preset name ('no-cache', 'no-store', 'public', 'private', or 'immutable')
44
- * @returns Cache-Control header value string for the preset
45
- */
46
- createCacheControlPreset(preset: "no-cache" | "no-store" | "public" | "private" | "immutable"): string;
47
- /**
48
- * Create Content-Disposition header for file downloads with optional filename.
49
- * @param options
50
- * @param options.filename Filename for the download
51
- * @param options.filenameSplat Alternative filename format
52
- * @param options.type Disposition type ('inline' or 'attachment')
53
- * @returns Content-Disposition header value string
54
- */
55
- createContentDisposition(options: {
56
- filename?: string;
57
- filenameSplat?: string;
58
- type: "inline" | "attachment";
59
- }): string;
60
- /**
61
- * Create Content-Type header value from structured data with optional charset and boundary.
62
- * @param options
63
- * @param options.boundary Multipart boundary string
64
- * @param options.charset Character encoding (e.g., 'utf8')
65
- * @param options.mediaType MIME media type (e.g., 'application/json')
66
- * @returns Content-Type header value string
67
- */
68
- createContentType(options: {
69
- boundary?: string;
70
- charset?: string;
71
- mediaType: string;
72
- }): string;
73
- /**
74
- * Get content type with charset if not already present.
75
- * @param contentType Content-Type header value to ensure charset for
76
- * @param defaultCharset Default charset to use if not present (default: 'utf8')
77
- * @returns Content-Type header value with charset ensured
78
- */
79
- ensureCharset(contentType: string, defaultCharset?: string): string;
80
- /**
81
- * Convert our Headers type to native Headers object.
82
- * @param headers Headers in array or object format
83
- * @returns Headers instance with converted header values
84
- */
85
- fromHeaders(headers: UploadHeaders): Headers;
86
- /**
87
- * Get preferred media type from Accept header based on quality factors and supported types.
88
- * @param acceptHeader HTTP Accept header value
89
- * @param supportedTypes Array of supported MIME types to match against
90
- * @returns Best matching media type or undefined if no match found
91
- */
92
- getPreferredMediaType(acceptHeader: string | undefined, supportedTypes: string[]): string | undefined;
93
- /**
94
- * Parse Accept header with quality factor support.
95
- * @param headerValue HTTP Accept header value to parse
96
- * @returns Accept instance or undefined if header is invalid or missing
97
- */
98
- parseAccept(headerValue: string | undefined): Accept | undefined;
99
- /**
100
- * Parse Content-Disposition header into structured object.
101
- * @param headerValue HTTP Content-Disposition header value to parse
102
- * @returns ContentDisposition instance or undefined if header is invalid or missing
103
- */
104
- parseContentDisposition(headerValue: string | undefined): ContentDisposition | undefined;
105
- /**
106
- * Parse Content-Type header with structured access to media type, charset, and boundary.
107
- * @param headerValue HTTP Content-Type header value to parse
108
- * @returns ContentType instance or undefined if header is invalid or missing
109
- */
110
- parseContentType(headerValue: string | undefined): ContentType | undefined;
111
- };
@@ -1,92 +0,0 @@
1
- import type { IncomingMessage, OutgoingHttpHeader, ServerResponse } from "node:http";
2
- import { Readable } from "node:stream";
3
- import type { Headers, IncomingMessageWithBody } from "./types.d.ts";
4
- /**
5
- * Reads the body of an HTTP request as a string with optional size limit.
6
- * @param request HTTP request object to read body from
7
- * @param encoding Text encoding to use (defaults to 'utf8')
8
- * @param limit Maximum body size in characters (throws error if exceeded)
9
- * @returns Promise resolving to the request body as a string
10
- */
11
- export declare const readBody: (request: IncomingMessage, encoding: BufferEncoding, limit: number | undefined) => Promise<string>;
12
- /**
13
- * Retrieve the value of a specific header of an HTTP request.
14
- * @param request request object
15
- * @param name name of the header
16
- * @param all if true, returns all values of the header, comma-separated, otherwise returns the last value.
17
- */
18
- /**
19
- * Get a header value. If `all` is true, returns the comma-joined value.
20
- */
21
- export declare const getHeader: (request: IncomingMessage, name: string, all?: boolean) => string;
22
- /**
23
- * Extracts JSON metadata from an HTTP request body.
24
- * Parses the request body as JSON if the content type is 'application/json'.
25
- * @param request HTTP request with potential body data
26
- * @param limit Maximum body size limit in bytes (default: 16MB)
27
- * @returns Parsed metadata object, or empty object if not JSON
28
- */
29
- export declare const getMetadata: (request: IncomingMessageWithBody<Record<string, unknown>>, limit?: number) => Promise<Record<string, unknown>>;
30
- /**
31
- * Appends value to the end of the multi-value header
32
- */
33
- /** Append a value to a multi-valued response header. */
34
- export declare const appendHeader: (response: ServerResponse, name: string, value: OutgoingHttpHeader) => void;
35
- /**
36
- * Sets the value of a specific header of an HTTP response.
37
- */
38
- /** Set multiple response headers and expose them for CORS. */
39
- export declare const setHeaders: (response: ServerResponse, headers?: Headers) => void;
40
- /**
41
- * Extracts host with port from a HTTP or HTTPS request.
42
- * Prefers x-forwarded-host header for proxy compatibility.
43
- * @param request HTTP request object
44
- * @returns Host string with port (e.g., "example.com:8080")
45
- */
46
- export declare const extractHost: (request: IncomingMessage & {
47
- host?: string;
48
- hostname?: string;
49
- }) => string;
50
- /**
51
- * Extracts protocol from a HTTP or HTTPS request.
52
- * Prefers x-forwarded-proto header for proxy compatibility.
53
- * @param request HTTP request object
54
- * @returns Protocol string ('http' or 'https')
55
- */
56
- export declare const extractProto: (request: IncomingMessage) => string;
57
- /**
58
- * Try build a protocol:hostname:port string from a request object.
59
- */
60
- /** Build protocol://host from an IncomingMessage using forwarded headers. */
61
- export declare const getBaseUrl: (request: IncomingMessage) => string;
62
- /**
63
- * Extracts the real path from a request URL, excluding query parameters.
64
- * Prefers originalUrl for Express compatibility.
65
- * @internal
66
- * @param request HTTP request object
67
- * @returns The path component of the URL without query parameters
68
- * @throws TypeError if path is undefined
69
- */
70
- export declare const getRealPath: (request: IncomingMessage & {
71
- originalUrl?: string;
72
- }) => string;
73
- /**
74
- * @internal
75
- */
76
- export declare const uuidRegex: RegExp;
77
- /**
78
- * Extracts a UUID identifier from the request URL path.
79
- * Uses regex pattern to match UUID-like strings in the URL.
80
- * @internal
81
- * @param request HTTP request object
82
- * @returns The extracted UUID identifier
83
- * @throws TypeError if no valid ID is found in the path
84
- */
85
- export declare const getIdFromRequest: (request: IncomingMessage & {
86
- originalUrl?: string;
87
- }) => string;
88
- /**
89
- * Converts a request to a Node.js Readable stream.
90
- * Handles both Node.js IncomingMessage and Web API Request objects.
91
- */
92
- export declare const getRequestStream: (request: IncomingMessage | Request) => Readable;
@@ -1,26 +0,0 @@
1
- import { LRUCache as Cache } from "lru-cache";
2
- /**
3
- * A simple lock map keyed by strings, backed by LRUCache. Locks
4
- * automatically expire according to the configured TTL preventing deadlocks.
5
- */
6
- declare class Locker<K extends string = string, V extends string = string> extends Cache<K, V, number> {
7
- /**
8
- * Creates a new Locker instance with configurable TTL and cache options.
9
- * @param options LRU cache configuration options
10
- */
11
- constructor(options?: Cache.Options<K, V, number>);
12
- /**
13
- * Acquires a lock for the specified key.
14
- * Throws an error if the key is already locked.
15
- * @param key The key to lock
16
- * @returns The lock token (same as the key)
17
- * @throws Error if the key is already locked
18
- */
19
- lock(key: K): string;
20
- /**
21
- * Releases the lock for the specified key.
22
- * @param key The key to unlock
23
- */
24
- unlock(key: K): void;
25
- }
26
- export default Locker;
@@ -1,47 +0,0 @@
1
- import type { BinaryToTextEncoding } from "node:crypto";
2
- import { PassThrough, Transform } from "node:stream";
3
- /**
4
- * Transform stream that validates checksums as data passes through.
5
- * Calculates hash of streaming data and validates against expected checksum.
6
- */
7
- export declare class StreamChecksum extends Transform {
8
- readonly checksum: string;
9
- readonly algorithm: string;
10
- private readonly encoding;
11
- length: number;
12
- private digest;
13
- private hash;
14
- /**
15
- * Gets the calculated digest value after the stream has finished processing.
16
- * @returns The digest value in the configured encoding, or empty string if not yet calculated
17
- */
18
- get calculatedDigest(): string;
19
- /**
20
- * Creates a new StreamChecksum transform stream.
21
- * @param checksum Expected checksum value to validate against
22
- * @param algorithm Hash algorithm to use (e.g., 'md5', 'sha256')
23
- * @param encoding Encoding for the checksum comparison (defaults to 'base64')
24
- */
25
- constructor(checksum: string, algorithm: string, encoding?: BinaryToTextEncoding);
26
- /**
27
- * Transform method that updates the hash with incoming data.
28
- * @param chunk Buffer chunk to process
29
- * @param _encoding Unused encoding parameter
30
- * @param done Callback to signal completion
31
- */
32
- _transform(chunk: Buffer, _encoding: string, done: () => void): void;
33
- /**
34
- * Finalization method that validates the checksum.
35
- * @param callback Callback called with error if checksum validation fails
36
- */
37
- _flush(callback: (error?: Error) => void): void;
38
- }
39
- /**
40
- * Factory function that returns either a StreamChecksum transform or a PassThrough stream.
41
- * Returns PassThrough when no algorithm is provided.
42
- * @param checksum Expected checksum value
43
- * @param algorithm Hash algorithm (if empty, returns PassThrough)
44
- * @param encoding Encoding for checksum comparison
45
- * @returns StreamChecksum instance or PassThrough stream
46
- */
47
- export declare const streamChecksum: (checksum: string, algorithm: string, encoding?: BinaryToTextEncoding) => PassThrough | StreamChecksum;
@@ -1,22 +0,0 @@
1
- import { Transform } from "node:stream";
2
- /**
3
- * Transform stream that tracks byte length and enforces size limits.
4
- * Counts total bytes passing through and optionally enforces a maximum limit.
5
- */
6
- declare class StreamLength extends Transform {
7
- readonly limit: number;
8
- length: number;
9
- /**
10
- * Creates a new StreamLength transform stream.
11
- * @param limit Maximum number of bytes allowed (defaults to infinity)
12
- */
13
- constructor(limit?: number);
14
- /**
15
- * Transform method that counts bytes and enforces size limits.
16
- * @param chunk Buffer chunk to process
17
- * @param _encoding Unused encoding parameter
18
- * @param callback Callback called with error if limit exceeded
19
- */
20
- _transform(chunk: Buffer, _encoding: string, callback: (error?: Error) => void): void;
21
- }
22
- export default StreamLength;
@@ -1,3 +0,0 @@
1
- /** Return the last element of an array. */
2
- declare const getLastOne: <T>(value: T[]) => T;
3
- export default getLastOne;
@@ -1,2 +0,0 @@
1
- declare const isRecord: (x: unknown) => x is Record<string, unknown>;
2
- export default isRecord;
@@ -1,9 +0,0 @@
1
- /**
2
- * Maps object values using a transformation function.
3
- * @param object The source object to map values from
4
- * @param function_ The function to transform each value
5
- * @returns A new object with transformed values
6
- * @template T - The type of the transformed values
7
- */
8
- declare const mapValues: <T>(object: Record<string, unknown>, function_: (value: unknown) => T) => Record<string, T>;
9
- export default mapValues;
@@ -1,2 +0,0 @@
1
- declare const pick: <T, K extends keyof T>(object: T, whitelist: K[]) => Pick<T, K>;
2
- export default pick;
@@ -1,12 +0,0 @@
1
- /**
2
- * Convert a human-readable duration string to milliseconds.
3
- * @param value Duration value (number in ms or human-readable string)
4
- * @returns Duration in milliseconds, or undefined if parsing fails
5
- * @example
6
- * ```ts
7
- * toMilliseconds("5m") // 300000
8
- * toMilliseconds(5000) // 5000
9
- * ```
10
- */
11
- declare const toMilliseconds: (value: number | string | undefined) => number | undefined;
12
- export default toMilliseconds;
@@ -1,12 +0,0 @@
1
- /**
2
- * Convert a human-readable duration string to seconds.
3
- * @param value Duration value (number in seconds or human-readable string)
4
- * @returns Duration in seconds
5
- * @example
6
- * ```ts
7
- * toSeconds("5m") // 300
8
- * toSeconds(300) // 300
9
- * ```
10
- */
11
- declare const toSeconds: (value: number | string) => number;
12
- export default toSeconds;
@@ -1,33 +0,0 @@
1
- import type { BinaryToTextEncoding, Hash } from "node:crypto";
2
- import { Transform } from "node:stream";
3
- import type { RangeChecksum as IRangeChecksum, RangeHasher as IRangeHasher } from "./types.d.ts";
4
- /**
5
- * Transform stream that calculates checksums for specific file ranges.
6
- * Used for validating partial file integrity during resumable uploads.
7
- */
8
- declare class RangeChecksum extends Transform implements IRangeChecksum {
9
- readonly path: string;
10
- hash: Hash;
11
- private readonly hashCopy;
12
- private hashes;
13
- /**
14
- * Creates a new RangeChecksum transform stream.
15
- * @param hashes Range hasher instance managing multiple file hashes
16
- * @param path File path identifier for this checksum operation
17
- */
18
- constructor(hashes: IRangeHasher, path: string);
19
- /**
20
- * Resets the hash state to its initial value.
21
- * Useful for reusing the checksum calculator for multiple operations.
22
- */
23
- reset(): void;
24
- /**
25
- * Returns the current hash digest in the specified encoding.
26
- * @param encoding Output encoding format (default: 'hex')
27
- * @returns Hash digest as a string
28
- */
29
- digest(encoding?: BinaryToTextEncoding): string;
30
- _transform(chunk: Buffer, _encoding: string, done: () => void): void;
31
- _flush(callback: (error?: Error) => void): void;
32
- }
33
- export default RangeChecksum;