@visulima/storage 1.0.0-alpha.3 → 1.0.0-alpha.30

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (417) hide show
  1. package/CHANGELOG.md +361 -0
  2. package/LICENSE.md +213 -573
  3. package/README.md +83 -470
  4. package/dist/adapter/nuxt/module.d.ts +41 -34
  5. package/dist/adapter/nuxt/module.js +1 -93
  6. package/dist/adapter/nuxt/node_modules/.bin/nuxi +22 -0
  7. package/dist/adapter/nuxt/node_modules/.bin/nuxt +22 -0
  8. package/dist/adapter/nuxt/package.json +0 -6
  9. package/dist/ai/ai-sdk/index.d.ts +113 -0
  10. package/dist/ai/ai-sdk/index.js +1 -0
  11. package/dist/ai/claude/index.d.ts +177 -0
  12. package/dist/ai/claude/index.js +1 -0
  13. package/dist/ai/openai/index.d.ts +205 -0
  14. package/dist/ai/openai/index.js +1 -0
  15. package/dist/ai/tanstack/index.d.ts +115 -0
  16. package/dist/ai/tanstack/index.js +1 -0
  17. package/dist/handler/http/fetch/index.d.ts +303 -4
  18. package/dist/handler/http/fetch/index.js +1 -4
  19. package/dist/handler/http/hono/index.d.ts +73 -64
  20. package/dist/handler/http/hono/index.js +1 -65
  21. package/dist/handler/http/nextjs/index.d.ts +66 -58
  22. package/dist/handler/http/nextjs/index.js +1 -37
  23. package/dist/handler/http/node/index.d.ts +361 -4
  24. package/dist/handler/http/node/index.js +1 -4
  25. package/dist/handler/http/solid-start/index.d.ts +66 -57
  26. package/dist/handler/http/solid-start/index.js +1 -44
  27. package/dist/index.d.ts +58 -17
  28. package/dist/index.js +1 -13
  29. package/dist/openapi/index.d.ts +24 -5
  30. package/dist/openapi/index.js +1 -5
  31. package/dist/packem_shared/AwsLightFile-BSqjc_rD.js +1 -0
  32. package/dist/packem_shared/AwsLightMetaStorage-B-iQbToR.js +1 -0
  33. package/dist/packem_shared/AwsLightStorage-w21RxjUm.js +1 -0
  34. package/dist/packem_shared/AzureFile-Dgj2Tef4.js +1 -0
  35. package/dist/packem_shared/AzureSMetaStorage-CR-lfQNQ.js +1 -0
  36. package/dist/packem_shared/AzureStorage-2kl7JDXs.js +1 -0
  37. package/dist/packem_shared/BaseTransformer-Fpcuz4kj.js +1 -0
  38. package/dist/packem_shared/BoxFile-Be0S4N1L.js +1 -0
  39. package/dist/packem_shared/BoxMetaStorage-DLdXbZaV.js +1 -0
  40. package/dist/packem_shared/BoxStorage-BUeEJoGL.js +1 -0
  41. package/dist/packem_shared/BunS3File-D-SRiyrm.js +1 -0
  42. package/dist/packem_shared/BunS3MetaStorage-Bv_CTTMz.js +1 -0
  43. package/dist/packem_shared/BunS3Storage-WM3rF6Fw.js +1 -0
  44. package/dist/packem_shared/BunnyFile-Dotl-lO9.js +1 -0
  45. package/dist/packem_shared/BunnyMetaStorage-DNMTSeoN.js +1 -0
  46. package/dist/packem_shared/BunnyStorage-D3s2fRB3.js +1 -0
  47. package/dist/packem_shared/CloudinaryFile-B5-m33eS.js +1 -0
  48. package/dist/packem_shared/CloudinaryMetaStorage-DEBk5eQy.js +1 -0
  49. package/dist/packem_shared/CloudinaryStorage-BBE2-aVz.js +1 -0
  50. package/dist/packem_shared/DiskStorage-DL0GiG6k.js +1 -0
  51. package/dist/packem_shared/DiskStorageWithChecksum-BvUTn7O-.js +1 -0
  52. package/dist/packem_shared/DropboxFile-BGVG2kXM.js +1 -0
  53. package/dist/packem_shared/DropboxMetaStorage-C6vj1QDA.js +1 -0
  54. package/dist/packem_shared/DropboxStorage-BL3OIdE_.js +1 -0
  55. package/dist/packem_shared/ERRORS-CyOuSMLY.js +1 -0
  56. package/dist/packem_shared/File-BhfUgJjs.js +1 -0
  57. package/dist/packem_shared/Files-CJh9_N-9.js +1 -0
  58. package/dist/packem_shared/FirebaseFile-JEu3plMP.js +1 -0
  59. package/dist/packem_shared/FirebaseMetaStorage-CzyOim-J.js +1 -0
  60. package/dist/packem_shared/FirebaseStorage-lXMXy3Pm.js +2 -0
  61. package/dist/packem_shared/FtpFile-B8jaICTB.js +1 -0
  62. package/dist/packem_shared/FtpMetaStorage-1Njy0DpU.js +1 -0
  63. package/dist/packem_shared/FtpStorage-Dw94efNW.js +1 -0
  64. package/dist/packem_shared/GCSConfig-BQ0OpVhe.js +1 -0
  65. package/dist/packem_shared/GCSFile-CDQ6IWAz.js +1 -0
  66. package/dist/packem_shared/GCSMetaStorage-udgXA5ia.js +1 -0
  67. package/dist/packem_shared/GCStorage-ChY6uJuO.js +1 -0
  68. package/dist/packem_shared/GoogleDriveFile-D0aGfGbL.js +1 -0
  69. package/dist/packem_shared/GoogleDriveMetaStorage-WGuUZPyx.js +1 -0
  70. package/dist/packem_shared/GoogleDriveStorage-C0NhBBWH.js +1 -0
  71. package/dist/packem_shared/LocalMetaStorage-QMKL7McF.js +1 -0
  72. package/dist/packem_shared/MediaTransformer-D-1c9Q_k.js +1 -0
  73. package/dist/packem_shared/MetaStorage-Y4m1dWgd.js +1 -0
  74. package/dist/packem_shared/Metadata-B6Ir0KO7.js +1 -0
  75. package/dist/packem_shared/Multipart-CIFfQksD.js +1 -0
  76. package/dist/packem_shared/Multipart-D9WIud9R.js +1 -0
  77. package/dist/packem_shared/NetlifyBlobFile-PMZLJ8AC.js +1 -0
  78. package/dist/packem_shared/NetlifyBlobMetaStorage-ClIFdTkT.js +1 -0
  79. package/dist/packem_shared/NetlifyBlobStorage-CO89TGvF.js +1 -0
  80. package/dist/packem_shared/NoOpMetrics-Dky06sf1.js +1 -0
  81. package/dist/packem_shared/OneDriveFile-XbVVKIJh.js +1 -0
  82. package/dist/packem_shared/OneDriveMetaStorage-DS4f83X2.js +1 -0
  83. package/dist/packem_shared/OneDriveStorage-jAN46vRm.js +1 -0
  84. package/dist/packem_shared/OpenTelemetryMetrics-9uxQMSlg.js +1 -0
  85. package/dist/packem_shared/PocketBaseFile-CkAiSBb0.js +1 -0
  86. package/dist/packem_shared/PocketBaseMetaStorage-B6utPncj.js +1 -0
  87. package/dist/packem_shared/PocketBaseStorage-DpOjOKAt.js +1 -0
  88. package/dist/packem_shared/Rest-BuD3ySAg.js +1 -0
  89. package/dist/packem_shared/Rest-URrQ5FYM.js +1 -0
  90. package/dist/packem_shared/S3File-BfmCOET4.js +1 -0
  91. package/dist/packem_shared/S3MetaStorage-vcriiosn.js +1 -0
  92. package/dist/packem_shared/S3Storage-n1ohEZj4.js +1 -0
  93. package/dist/packem_shared/SftpFile-CQCxZNVq.js +1 -0
  94. package/dist/packem_shared/SftpMetaStorage-DYqXwCdM.js +1 -0
  95. package/dist/packem_shared/SftpStorage-Ban-WN8v.js +1 -0
  96. package/dist/packem_shared/SharePointFile-BA6X9Sxr.js +1 -0
  97. package/dist/packem_shared/SharePointMetaStorage-DVM5-X6g.js +1 -0
  98. package/dist/packem_shared/SharePointStorage-BY90zh1c.js +1 -0
  99. package/dist/packem_shared/SupabaseFile-DZ1iv9gM.js +1 -0
  100. package/dist/packem_shared/SupabaseMetaStorage-ivXoYVUu.js +1 -0
  101. package/dist/packem_shared/SupabaseStorage-pNbHAE1Y.js +1 -0
  102. package/dist/packem_shared/TUS_RESUMABLE-B7KtPVeC.js +1 -0
  103. package/dist/packem_shared/Tus-Fp_hx5ug.js +1 -0
  104. package/dist/packem_shared/Tus-TNG9HAY8.js +1 -0
  105. package/dist/packem_shared/UploadThingFile-BpG9mE8K.js +1 -0
  106. package/dist/packem_shared/UploadThingMetaStorage-BvKNzgm7.js +1 -0
  107. package/dist/packem_shared/UploadThingStorage-BcmIE2dI.js +1 -0
  108. package/dist/packem_shared/ValidationError-D8KKJiKA.js +1 -0
  109. package/dist/packem_shared/VercelBlobFile-Cni_1qwD.js +1 -0
  110. package/dist/packem_shared/VercelBlobMetaStorage-CwaqWucZ.js +1 -0
  111. package/dist/packem_shared/VercelBlobStorage-s260zfFo.js +1 -0
  112. package/dist/packem_shared/_commonjsHelpers-D6W6KoPK.js +1 -0
  113. package/dist/packem_shared/agentsListFiles-R-CnGKc4.js +1 -0
  114. package/dist/packem_shared/akamai-BYS9pP8S.js +1 -0
  115. package/dist/packem_shared/alibaba-BJQ6ijoK.js +1 -0
  116. package/dist/packem_shared/approval-BBeX3o4E.js +1 -0
  117. package/dist/packem_shared/approval.d-CMAYH9GF.d.ts +75 -0
  118. package/dist/packem_shared/aws-light-meta-storage-CstQBYXG.js +4 -0
  119. package/dist/packem_shared/azure-meta-storage-C4SrMtT2.js +1 -0
  120. package/dist/packem_shared/backblaze-CvdtCvJL.js +1 -0
  121. package/dist/packem_shared/base-handler-core-BYDQditz.js +1 -0
  122. package/dist/packem_shared/base-handler-fetch-DWzsPkmV.js +1 -0
  123. package/dist/packem_shared/base-handler-node-Dety2rQB.js +1 -0
  124. package/dist/packem_shared/cache-qV_5Umeq.js +1 -0
  125. package/dist/packem_shared/claudeListFiles-DAezbKEi.js +1 -0
  126. package/dist/packem_shared/cloudflare-Bm_Pg6yx.js +1 -0
  127. package/dist/packem_shared/createResponsesFileTools-BCep-qdO.js +1 -0
  128. package/dist/packem_shared/defaultCloudStorageFileNameValidation-shIZX_7L.js +1 -0
  129. package/dist/packem_shared/detect-file-type-5JhzC9RU.js +1 -0
  130. package/dist/packem_shared/digitalOcean-Lj1NfDzc.js +1 -0
  131. package/dist/packem_shared/disk-storage-CKAJvhcj.js +1 -0
  132. package/dist/packem_shared/disk-storage-with-checksum.d-mHcg2uLw.d.ts +150 -0
  133. package/dist/packem_shared/executors-DG6hGtvm.js +1 -0
  134. package/dist/packem_shared/executors.d-X4hz3zfu.d.ts +65 -0
  135. package/dist/packem_shared/exoscale-O0HzxoDz.js +1 -0
  136. package/dist/packem_shared/filebase-D-urO4Ob.js +1 -0
  137. package/dist/packem_shared/gcs-meta-storage-mZiqlX-9.js +1 -0
  138. package/dist/packem_shared/has-content-Bx2p8Okx.js +1 -0
  139. package/dist/packem_shared/headers-DC2MEOrK.js +27 -0
  140. package/dist/packem_shared/hetzner-DDxE7Gy7.js +1 -0
  141. package/dist/packem_shared/ibmCos-Rx_yku4H.js +1 -0
  142. package/dist/packem_shared/idriveE2-BFhw0Vwy.js +1 -0
  143. package/dist/packem_shared/index-B4ETk0Lu.js +5 -0
  144. package/dist/packem_shared/index.d-C4Fivh4I.d.ts +94 -0
  145. package/dist/packem_shared/is-expired-1JuZjDtb.js +1 -0
  146. package/dist/packem_shared/isRetryableError-BhizNeAz.js +1 -0
  147. package/dist/packem_shared/isValidMediaType-B-2UKjZx.js +1 -0
  148. package/dist/packem_shared/listFiles-B6VF05d-.js +1 -0
  149. package/dist/packem_shared/listFiles-BtP6VnUp.js +1 -0
  150. package/dist/packem_shared/local-meta-storage-Bi0mK6gD.js +1 -0
  151. package/dist/packem_shared/local-meta-storage.d-B11vHYNm.d.ts +21 -0
  152. package/dist/packem_shared/media-transformer.d-C3QvECD7.d.ts +331 -0
  153. package/dist/packem_shared/minio-T_Z3iEy7.js +1 -0
  154. package/dist/packem_shared/multipart-base-BxckfvQf.js +1 -0
  155. package/dist/packem_shared/oauth-refresh-Dg2ybc6_.js +1 -0
  156. package/dist/packem_shared/oracleCloud-D5T9s4JV.js +1 -0
  157. package/dist/packem_shared/ovhCloud-DCwef2fe.js +1 -0
  158. package/dist/packem_shared/part-match-B5fLLmFw.js +1 -0
  159. package/dist/packem_shared/path-D7rMc9nq-B718mbm6.js +1 -0
  160. package/dist/packem_shared/posix-dirname-CiHXPPnw.js +1 -0
  161. package/dist/packem_shared/response-builder-Wdo_fvcF.js +1 -0
  162. package/dist/packem_shared/rest-base-DI7xFXr5.js +1 -0
  163. package/dist/packem_shared/restOpenApiSpec-PaIVbESh.js +1 -0
  164. package/dist/packem_shared/s3-base-storage-Dbexfg7p.js +1 -0
  165. package/dist/packem_shared/s3-base-storage.d-V3N2nKCt.d.ts +260 -0
  166. package/dist/packem_shared/scaleway-ygRXOss9.js +1 -0
  167. package/dist/packem_shared/sharedGet-Ce7WGAsc.js +1 -0
  168. package/dist/packem_shared/storage-Dh0tJh7j.js +1 -0
  169. package/dist/packem_shared/storage.d-RteRC-cG.d.ts +1106 -0
  170. package/dist/packem_shared/storj-CVA9mM-7.js +1 -0
  171. package/dist/packem_shared/tencent-CAcAGaIW.js +1 -0
  172. package/dist/packem_shared/tigris-wmhjfsH2.js +1 -0
  173. package/dist/packem_shared/transformOpenApiSpec-C0vEbDTO.js +1 -0
  174. package/dist/packem_shared/tus-base.d-CygntIPM.d.ts +99 -0
  175. package/dist/packem_shared/tusOpenApiSpec-DF0-hlWV.js +1 -0
  176. package/dist/packem_shared/types.d-ChNXbbHG.d.ts +104 -0
  177. package/dist/packem_shared/types.d-DxonY4XS.d.ts +720 -0
  178. package/dist/packem_shared/types.d-cI_cMxcZ.d.ts +49 -0
  179. package/dist/packem_shared/update-size-DANV7aa2.js +1 -0
  180. package/dist/packem_shared/vultr-lK9L-sFk.js +1 -0
  181. package/dist/packem_shared/waitForStorage-ChSBLhLc.js +1 -0
  182. package/dist/packem_shared/wasabi-JQzxdrFy.js +1 -0
  183. package/dist/packem_shared/xhrOpenApiSpec-nyoboz83.js +1 -0
  184. package/dist/packem_shared/yandex-ZwvE77v4.js +1 -0
  185. package/dist/storage/aws/clients/index.d.ts +612 -6
  186. package/dist/storage/aws/clients/index.js +1 -6
  187. package/dist/storage/aws/index.d.ts +321 -4
  188. package/dist/storage/aws/index.js +1 -3
  189. package/dist/storage/aws-light/index.d.ts +254 -4
  190. package/dist/storage/aws-light/index.js +1 -3
  191. package/dist/storage/azure/index.d.ts +217 -4
  192. package/dist/storage/azure/index.js +1 -3
  193. package/dist/storage/box/index.d.ts +189 -0
  194. package/dist/storage/box/index.js +1 -0
  195. package/dist/storage/bun-s3/index.d.ts +200 -0
  196. package/dist/storage/bun-s3/index.js +1 -0
  197. package/dist/storage/bunny/index.d.ts +119 -0
  198. package/dist/storage/bunny/index.js +1 -0
  199. package/dist/storage/cloudinary/index.d.ts +121 -0
  200. package/dist/storage/cloudinary/index.js +1 -0
  201. package/dist/storage/dropbox/index.d.ts +132 -0
  202. package/dist/storage/dropbox/index.js +1 -0
  203. package/dist/storage/firebase/index.d.ts +192 -0
  204. package/dist/storage/firebase/index.js +1 -0
  205. package/dist/storage/ftp/index.d.ts +85 -0
  206. package/dist/storage/ftp/index.js +1 -0
  207. package/dist/storage/gcs/index.d.ts +181 -5
  208. package/dist/storage/gcs/index.js +1 -4
  209. package/dist/storage/google-drive/index.d.ts +148 -0
  210. package/dist/storage/google-drive/index.js +1 -0
  211. package/dist/storage/local/index.d.ts +7 -4
  212. package/dist/storage/local/index.js +1 -3
  213. package/dist/storage/netlify-blob/index.d.ts +147 -4
  214. package/dist/storage/netlify-blob/index.js +1 -3
  215. package/dist/storage/onedrive/index.d.ts +103 -0
  216. package/dist/storage/onedrive/index.js +1 -0
  217. package/dist/storage/pocketbase/index.d.ts +172 -0
  218. package/dist/storage/pocketbase/index.js +1 -0
  219. package/dist/storage/sftp/index.d.ts +86 -0
  220. package/dist/storage/sftp/index.js +1 -0
  221. package/dist/storage/sharepoint/index.d.ts +180 -0
  222. package/dist/storage/sharepoint/index.js +1 -0
  223. package/dist/storage/supabase/index.d.ts +115 -0
  224. package/dist/storage/supabase/index.js +1 -0
  225. package/dist/storage/uploadthing/index.d.ts +95 -0
  226. package/dist/storage/uploadthing/index.js +1 -0
  227. package/dist/storage/vercel-blob/index.d.ts +189 -4
  228. package/dist/storage/vercel-blob/index.js +1 -3
  229. package/dist/transformer/audio-transformer.d.ts +127 -125
  230. package/dist/transformer/audio-transformer.js +1 -278
  231. package/dist/transformer/image-transformer.d.ts +573 -568
  232. package/dist/transformer/image-transformer.js +1 -1100
  233. package/dist/transformer/index.d.ts +62 -5
  234. package/dist/transformer/index.js +1 -4
  235. package/dist/transformer/video-transformer.d.ts +144 -142
  236. package/dist/transformer/video-transformer.js +1 -310
  237. package/package.json +195 -47
  238. package/dist/handler/base/base-handler-core.d.ts +0 -91
  239. package/dist/handler/base/base-handler-fetch.d.ts +0 -76
  240. package/dist/handler/base/base-handler-node.d.ts +0 -137
  241. package/dist/handler/multipart/multipart-base.d.ts +0 -84
  242. package/dist/handler/multipart/multipart-fetch.d.ts +0 -64
  243. package/dist/handler/multipart/multipart.d.ts +0 -49
  244. package/dist/handler/rest/rest-base.d.ts +0 -106
  245. package/dist/handler/rest/rest-fetch.d.ts +0 -88
  246. package/dist/handler/rest/rest.d.ts +0 -93
  247. package/dist/handler/tus/tus-base.d.ts +0 -152
  248. package/dist/handler/tus/tus-fetch.d.ts +0 -72
  249. package/dist/handler/tus/tus.d.ts +0 -78
  250. package/dist/handler/types.d.ts +0 -53
  251. package/dist/handler/utils/request-parser.d.ts +0 -72
  252. package/dist/handler/utils/response-builder.d.ts +0 -83
  253. package/dist/handler/utils/storage-utils.d.ts +0 -10
  254. package/dist/handler/utils/stream-utils.d.ts +0 -29
  255. package/dist/handler/utils/upload-handlers.d.ts +0 -76
  256. package/dist/metrics/index.d.ts +0 -2
  257. package/dist/metrics/no-op-metrics.d.ts +0 -15
  258. package/dist/metrics/opentelemetry-metrics.d.ts +0 -55
  259. package/dist/openapi/rest.d.ts +0 -7
  260. package/dist/openapi/shared.d.ts +0 -13
  261. package/dist/openapi/transform.d.ts +0 -3
  262. package/dist/openapi/tus.d.ts +0 -7
  263. package/dist/openapi/xhr.d.ts +0 -7
  264. package/dist/packem_shared/AwsLightFile-tTneXZgG.js +0 -11
  265. package/dist/packem_shared/AwsLightMetaStorage-BWSOtVaN.js +0 -4
  266. package/dist/packem_shared/AwsLightStorage-Blv-GP4v.js +0 -133
  267. package/dist/packem_shared/AzureFile-CesgFzps.js +0 -8
  268. package/dist/packem_shared/AzureSMetaStorage-CFs-OYJT.js +0 -88
  269. package/dist/packem_shared/AzureStorage-B0v048hG.js +0 -357
  270. package/dist/packem_shared/BaseTransformer-C2gLib6v.js +0 -82
  271. package/dist/packem_shared/DiskStorage-BlltBst6.js +0 -12
  272. package/dist/packem_shared/DiskStorageWithChecksum-BJTmMklc.js +0 -238
  273. package/dist/packem_shared/ERRORS-D0apMqnc.js +0 -97
  274. package/dist/packem_shared/File-Bb3P23dr.js +0 -69
  275. package/dist/packem_shared/GCSConfig-vPP22kN6.js +0 -11
  276. package/dist/packem_shared/GCSFile-BIEunhAN.js +0 -8
  277. package/dist/packem_shared/GCSMetaStorage-BMFEdzJ7.js +0 -7
  278. package/dist/packem_shared/GCStorage-DnhiwaS9.js +0 -406
  279. package/dist/packem_shared/LocalMetaStorage-CZHhKkMd.js +0 -7
  280. package/dist/packem_shared/MediaTransformer-D6658DL1.js +0 -1197
  281. package/dist/packem_shared/MetaStorage-pECeFOad.js +0 -46
  282. package/dist/packem_shared/Metadata-DRLXeJ0F.js +0 -89
  283. package/dist/packem_shared/Multipart-CNFK_Okz.js +0 -163
  284. package/dist/packem_shared/Multipart-CtUL7BQw.js +0 -128
  285. package/dist/packem_shared/NetlifyBlobFile-CXzyjqrD.js +0 -14
  286. package/dist/packem_shared/NetlifyBlobMetaStorage-DxZ5aDvD.js +0 -9
  287. package/dist/packem_shared/NetlifyBlobStorage-CLPtjHqd.js +0 -376
  288. package/dist/packem_shared/NoOpMetrics-DhAk5rXc.js +0 -10
  289. package/dist/packem_shared/OpenTelemetryMetrics-BnxhqIaH.js +0 -67
  290. package/dist/packem_shared/Rest-CAOAEkOj.js +0 -267
  291. package/dist/packem_shared/Rest-DNuLwBrK.js +0 -228
  292. package/dist/packem_shared/S3File-DZiyk9Qt.js +0 -11
  293. package/dist/packem_shared/S3MetaStorage-Dz9aDabA.js +0 -76
  294. package/dist/packem_shared/S3Storage-DHmTk-hU.js +0 -316
  295. package/dist/packem_shared/TUS_RESUMABLE-GJzZ9R-f.js +0 -434
  296. package/dist/packem_shared/Tus-B8PmlMgR.js +0 -200
  297. package/dist/packem_shared/Tus-C4F1aYOl.js +0 -195
  298. package/dist/packem_shared/ValidationError-BfF1aE4h.js +0 -26
  299. package/dist/packem_shared/VercelBlobFile-BCg4aTEq.js +0 -18
  300. package/dist/packem_shared/VercelBlobMetaStorage-Bd9F-VFm.js +0 -9
  301. package/dist/packem_shared/VercelBlobStorage-DD9LMOS6.js +0 -261
  302. package/dist/packem_shared/_commonjsHelpers-B85MJLTf.js +0 -5
  303. package/dist/packem_shared/aws-light-meta-storage-DKJBgbR6.js +0 -446
  304. package/dist/packem_shared/backblaze-BlMnIcBC.js +0 -20
  305. package/dist/packem_shared/base-handler-core-BKuf4YLT.js +0 -303
  306. package/dist/packem_shared/base-handler-fetch-Cr0hLiqg.js +0 -291
  307. package/dist/packem_shared/base-handler-node-gk5aN9Cx.js +0 -730
  308. package/dist/packem_shared/cache-B88MXQ_2.js +0 -18
  309. package/dist/packem_shared/cloudflare-Bi1q8wXE.js +0 -21
  310. package/dist/packem_shared/defaultCloudStorageFileNameValidation-DUuacjWv.js +0 -11
  311. package/dist/packem_shared/digitalOcean-CWQRJM3L.js +0 -21
  312. package/dist/packem_shared/disk-storage-Bh2wy3YW.js +0 -810
  313. package/dist/packem_shared/gcs-meta-storage-0tgMNnPO.js +0 -158
  314. package/dist/packem_shared/has-content-CY66ehMK.js +0 -3
  315. package/dist/packem_shared/headers-DoS5nwM-.js +0 -3220
  316. package/dist/packem_shared/is-expired-CTThU1q5.js +0 -8
  317. package/dist/packem_shared/isRetryableError-Dycp7127.js +0 -82
  318. package/dist/packem_shared/isValidMediaType-BeDgiObq.js +0 -35
  319. package/dist/packem_shared/local-meta-storage-By-3SNBI.js +0 -649
  320. package/dist/packem_shared/minio-C2YBZQOw.js +0 -22
  321. package/dist/packem_shared/multipart-base-B3i67SSX.js +0 -102
  322. package/dist/packem_shared/part-match-BMNqHDYD.js +0 -96
  323. package/dist/packem_shared/path-CR6YkPXX-7R1-9CMk.js +0 -161
  324. package/dist/packem_shared/response-builder-BtnRiBUI.js +0 -45
  325. package/dist/packem_shared/rest-base-GRCcnan7.js +0 -457
  326. package/dist/packem_shared/restOpenApiSpec-CwcHHY2C.js +0 -800
  327. package/dist/packem_shared/s3-base-storage-C1DIHTYY.js +0 -510
  328. package/dist/packem_shared/sharedGet-Cpo7QUyu.js +0 -1019
  329. package/dist/packem_shared/storage-C6NSXb8h.js +0 -1175
  330. package/dist/packem_shared/tigris-Hac8TKnX.js +0 -21
  331. package/dist/packem_shared/transformOpenApiSpec-DWM5WtnN.js +0 -975
  332. package/dist/packem_shared/tusOpenApiSpec-6ohiToBy.js +0 -740
  333. package/dist/packem_shared/update-size-CCGm6i1J.js +0 -8
  334. package/dist/packem_shared/validator-BeX_lJet.js +0 -78
  335. package/dist/packem_shared/waitForStorage-Cscw85sx.js +0 -18
  336. package/dist/packem_shared/wasabi-DIyflHSd.js +0 -21
  337. package/dist/packem_shared/xhrOpenApiSpec-DS17brnx.js +0 -264
  338. package/dist/storage/aws/clients/backblaze.d.ts +0 -12
  339. package/dist/storage/aws/clients/cloudflare.d.ts +0 -13
  340. package/dist/storage/aws/clients/digital-ocean.d.ts +0 -12
  341. package/dist/storage/aws/clients/minio.d.ts +0 -13
  342. package/dist/storage/aws/clients/tigris.d.ts +0 -12
  343. package/dist/storage/aws/clients/types.d.ts +0 -95
  344. package/dist/storage/aws/clients/wasabi.d.ts +0 -12
  345. package/dist/storage/aws/s3-base-storage.d.ts +0 -248
  346. package/dist/storage/aws/s3-client-adapter.d.ts +0 -110
  347. package/dist/storage/aws/s3-file.d.ts +0 -10
  348. package/dist/storage/aws/s3-meta-storage.d.ts +0 -15
  349. package/dist/storage/aws/s3-storage.d.ts +0 -70
  350. package/dist/storage/aws/types.d.ts +0 -119
  351. package/dist/storage/aws-light/aws-light-api-adapter.d.ts +0 -130
  352. package/dist/storage/aws-light/aws-light-file.d.ts +0 -10
  353. package/dist/storage/aws-light/aws-light-meta-storage.d.ts +0 -19
  354. package/dist/storage/aws-light/aws-light-storage.d.ts +0 -65
  355. package/dist/storage/aws-light/types.d.ts +0 -37
  356. package/dist/storage/azure/azure-file.d.ts +0 -6
  357. package/dist/storage/azure/azure-meta-storage.d.ts +0 -15
  358. package/dist/storage/azure/azure-storage.d.ts +0 -69
  359. package/dist/storage/azure/types.d.ts +0 -62
  360. package/dist/storage/gcs/fetch-error.d.ts +0 -11
  361. package/dist/storage/gcs/gcs-config.d.ts +0 -2
  362. package/dist/storage/gcs/gcs-file.d.ts +0 -6
  363. package/dist/storage/gcs/gcs-meta-storage.d.ts +0 -27
  364. package/dist/storage/gcs/gcs-storage.d.ts +0 -91
  365. package/dist/storage/gcs/types.d.ts +0 -55
  366. package/dist/storage/gcs/utils.d.ts +0 -7
  367. package/dist/storage/local/disk-storage-with-checksum.d.ts +0 -15
  368. package/dist/storage/local/disk-storage.d.ts +0 -135
  369. package/dist/storage/local/local-meta-storage.d.ts +0 -32
  370. package/dist/storage/meta-storage.d.ts +0 -30
  371. package/dist/storage/netlify-blob/netlify-blob-file.d.ts +0 -12
  372. package/dist/storage/netlify-blob/netlify-blob-meta-storage.d.ts +0 -7
  373. package/dist/storage/netlify-blob/netlify-blob-storage.d.ts +0 -93
  374. package/dist/storage/netlify-blob/types.d.ts +0 -30
  375. package/dist/storage/storage.d.ts +0 -353
  376. package/dist/storage/types.d.ts +0 -221
  377. package/dist/storage/utils/file/file.d.ts +0 -25
  378. package/dist/storage/utils/file/get-file-status.d.ts +0 -9
  379. package/dist/storage/utils/file/has-content.d.ts +0 -9
  380. package/dist/storage/utils/file/index.d.ts +0 -10
  381. package/dist/storage/utils/file/is-expired.d.ts +0 -8
  382. package/dist/storage/utils/file/metadata.d.ts +0 -18
  383. package/dist/storage/utils/file/part-match.d.ts +0 -11
  384. package/dist/storage/utils/file/types.d.ts +0 -37
  385. package/dist/storage/utils/file/update-metadata.d.ts +0 -10
  386. package/dist/storage/utils/file/update-size.d.ts +0 -10
  387. package/dist/storage/vercel-blob/types.d.ts +0 -32
  388. package/dist/storage/vercel-blob/vercel-blob-file.d.ts +0 -16
  389. package/dist/storage/vercel-blob/vercel-blob-meta-storage.d.ts +0 -7
  390. package/dist/storage/vercel-blob/vercel-blob-storage.d.ts +0 -76
  391. package/dist/transformer/base-transformer.d.ts +0 -63
  392. package/dist/transformer/media-transformer.d.ts +0 -332
  393. package/dist/transformer/types.d.ts +0 -652
  394. package/dist/transformer/utils.d.ts +0 -33
  395. package/dist/transformer/validation-error.d.ts +0 -23
  396. package/dist/utils/cache.d.ts +0 -32
  397. package/dist/utils/chunked-upload.d.ts +0 -65
  398. package/dist/utils/detect-file-type.d.ts +0 -28
  399. package/dist/utils/errors.d.ts +0 -74
  400. package/dist/utils/file-path-url-matcher.d.ts +0 -18
  401. package/dist/utils/headers.d.ts +0 -111
  402. package/dist/utils/http.d.ts +0 -92
  403. package/dist/utils/locker.d.ts +0 -26
  404. package/dist/utils/pipes/stream-checksum.d.ts +0 -47
  405. package/dist/utils/pipes/stream-length.d.ts +0 -22
  406. package/dist/utils/primitives/get-last-one.d.ts +0 -3
  407. package/dist/utils/primitives/is-record.d.ts +0 -2
  408. package/dist/utils/primitives/map-values.d.ts +0 -9
  409. package/dist/utils/primitives/pick.d.ts +0 -2
  410. package/dist/utils/primitives/to-milliseconds.d.ts +0 -12
  411. package/dist/utils/primitives/to-seconds.d.ts +0 -12
  412. package/dist/utils/range-checksum.d.ts +0 -33
  413. package/dist/utils/range-hasher.d.ts +0 -46
  414. package/dist/utils/retry.d.ts +0 -64
  415. package/dist/utils/types.d.ts +0 -108
  416. package/dist/utils/validation-error.d.ts +0 -22
  417. package/dist/utils/validator.d.ts +0 -36
@@ -1,800 +0,0 @@
1
- import { createHash } from 'node:crypto';
2
- import { createPaginationMetaSchemaObject, createPaginationSchemaObject } from '@visulima/pagination';
3
- import { sharedGetList, sharedGet, sharedGetMeta, sharedFileMetaSchemaObject, sharedErrorSchemaObject, sharedFileMetaExampleObject } from './sharedGet-Cpo7QUyu.js';
4
-
5
- const swaggerSpec = (origin, path, options) => {
6
- const { supportedTransformerFormat, tags, transformer } = { tags: ["REST"], transformer: false, ...options };
7
- const pathHash = createHash("sha256").update(path).digest("base64");
8
- return {
9
- components: {
10
- examples: sharedFileMetaExampleObject,
11
- parameters: {
12
- UploadIDinPath: {
13
- description: "Upload ID",
14
- in: "path",
15
- name: "id",
16
- schema: {
17
- type: "string"
18
- }
19
- }
20
- },
21
- responses: {
22
- 404: {
23
- content: {
24
- "application/json": {
25
- example: {
26
- error: {
27
- code: "FileNotFound",
28
- message: "Not found"
29
- }
30
- },
31
- schema: {
32
- $ref: "#/components/schemas/Error"
33
- }
34
- }
35
- },
36
- description: "Not Found"
37
- }
38
- },
39
- schemas: {
40
- "X-Chunk-Checksum": {
41
- description: "SHA256 checksum of the chunk data for validation. Format: 'sha256 <base64-encoded-checksum>'.",
42
- type: "string"
43
- },
44
- "X-Chunk-Offset": {
45
- description: "Byte offset for the chunk being uploaded. Required for PATCH requests in chunked uploads.",
46
- type: "integer"
47
- },
48
- "X-Chunked-Upload": {
49
- description: "Header to indicate chunked upload initialization. Set to 'true' to initialize a chunked upload session.",
50
- enum: ["true"],
51
- type: "string"
52
- },
53
- "X-Chunked-Upload-Response": {
54
- description: "Indicates this is a chunked upload session. Returned in HEAD responses.",
55
- enum: ["true"],
56
- type: "string"
57
- },
58
- "X-Received-Chunks": {
59
- description: "JSON array of received chunk offsets. Used for resumable uploads.",
60
- type: "string"
61
- },
62
- "X-Total-Size": {
63
- description: "Total size of the file in bytes for chunked uploads. Required when X-Chunked-Upload is 'true'.",
64
- type: "integer"
65
- },
66
- "X-Upload-Complete": {
67
- description: "Indicates if the upload is complete. Set to 'true' when all chunks have been uploaded.",
68
- enum: ["true", "false"],
69
- type: "string"
70
- },
71
- "X-Upload-Offset": {
72
- description: "Current upload offset in bytes. Returned in responses for chunked uploads.",
73
- type: "integer"
74
- },
75
- ...createPaginationSchemaObject(
76
- "FileMetaPagination",
77
- {
78
- $ref: "#/components/schemas/PaginationMeta"
79
- },
80
- "#/components/schemas/PaginationMeta"
81
- ),
82
- ...createPaginationMetaSchemaObject("PaginationMeta"),
83
- ...sharedErrorSchemaObject,
84
- ...sharedFileMetaSchemaObject
85
- }
86
- },
87
- paths: {
88
- [`${path.replace(/\/$/, "")}/{id}/metadata`]: {
89
- get: sharedGetMeta(`${pathHash}RestGetFileMeta`, tags)
90
- },
91
- [`${path.replace(/\/$/, "")}/{id}`]: {
92
- delete: {
93
- description: "Delete a single file",
94
- operationId: `${pathHash}RestDeleteFile`,
95
- parameters: [
96
- {
97
- $ref: "#/components/parameters/UploadIDinPath"
98
- }
99
- ],
100
- responses: {
101
- 204: {
102
- description: "No Content - File deleted successfully"
103
- },
104
- 404: {
105
- $ref: "#/components/responses/404"
106
- },
107
- default: {
108
- content: {
109
- "application/json": {
110
- schema: {
111
- $ref: "#/components/schemas/Error"
112
- }
113
- }
114
- },
115
- description: "Error"
116
- }
117
- },
118
- summary: "Delete file",
119
- tags
120
- },
121
- get: sharedGet(`${pathHash}RestGetFile`, tags, transformer, supportedTransformerFormat),
122
- head: {
123
- description: "Get file metadata and upload progress. For chunked uploads, returns progress information including current offset and completion status.",
124
- operationId: `${pathHash}RestHeadFile`,
125
- parameters: [
126
- {
127
- $ref: "#/components/parameters/UploadIDinPath"
128
- }
129
- ],
130
- responses: {
131
- 200: {
132
- description: "OK",
133
- headers: {
134
- "Content-Length": {
135
- description: "File size in bytes",
136
- schema: {
137
- type: "integer"
138
- }
139
- },
140
- "Content-Type": {
141
- description: "MIME type of the file",
142
- schema: {
143
- type: "string"
144
- }
145
- },
146
- ETag: {
147
- description: "Entity tag for caching",
148
- schema: {
149
- example: "d41d8cd98f00b204e9800998ecf8427e",
150
- type: "string"
151
- }
152
- },
153
- "Last-Modified": {
154
- description: "Last modified date",
155
- schema: {
156
- example: "2021-08-25T11:12:26.635Z",
157
- format: "date-time",
158
- type: "string"
159
- }
160
- },
161
- "X-Chunked-Upload": {
162
- description: "Indicates this is a chunked upload session",
163
- schema: {
164
- $ref: "#/components/schemas/X-Chunked-Upload-Response"
165
- }
166
- },
167
- "X-Received-Chunks": {
168
- description: "JSON array of received chunk offsets (chunked uploads only)",
169
- schema: {
170
- $ref: "#/components/schemas/X-Received-Chunks"
171
- }
172
- },
173
- "X-Upload-Complete": {
174
- description: "Indicates if upload is complete (chunked uploads only)",
175
- schema: {
176
- $ref: "#/components/schemas/X-Upload-Complete"
177
- }
178
- },
179
- "X-Upload-Expires": {
180
- description: "Upload expiration date",
181
- schema: {
182
- example: "2021-08-25T11:12:26.635Z",
183
- format: "date-time",
184
- type: "string"
185
- }
186
- },
187
- "X-Upload-Offset": {
188
- description: "Current upload offset in bytes (chunked uploads only)",
189
- schema: {
190
- $ref: "#/components/schemas/X-Upload-Offset"
191
- }
192
- }
193
- }
194
- },
195
- 404: {
196
- $ref: "#/components/responses/404"
197
- },
198
- default: {
199
- content: {
200
- "application/json": {
201
- schema: {
202
- $ref: "#/components/schemas/Error"
203
- }
204
- }
205
- },
206
- description: "Error"
207
- }
208
- },
209
- summary: "Get file metadata",
210
- tags
211
- },
212
- patch: {
213
- description: "Upload a chunk for chunked uploads. Requires X-Chunk-Offset header and chunk data in the request body.",
214
- operationId: `${pathHash}RestPatchChunk`,
215
- parameters: [
216
- {
217
- $ref: "#/components/parameters/UploadIDinPath"
218
- },
219
- {
220
- description: "Byte offset for this chunk",
221
- in: "header",
222
- name: "X-Chunk-Offset",
223
- required: true,
224
- schema: {
225
- $ref: "#/components/schemas/X-Chunk-Offset"
226
- }
227
- },
228
- {
229
- description: "SHA256 checksum of the chunk (optional)",
230
- in: "header",
231
- name: "X-Chunk-Checksum",
232
- required: false,
233
- schema: {
234
- $ref: "#/components/schemas/X-Chunk-Checksum"
235
- }
236
- }
237
- ],
238
- requestBody: {
239
- content: {
240
- "application/octet-stream": {
241
- description: "Chunk data as raw binary",
242
- schema: {
243
- format: "binary",
244
- type: "string"
245
- }
246
- }
247
- },
248
- description: "Chunk data",
249
- required: true
250
- },
251
- responses: {
252
- 200: {
253
- description: "Chunk uploaded successfully",
254
- headers: {
255
- ETag: {
256
- description: "Upload ETag",
257
- schema: {
258
- example: "d41d8cd98f00b204e9800998ecf8427e",
259
- type: "string"
260
- }
261
- },
262
- Location: {
263
- description: "File URL",
264
- schema: {
265
- example: `${origin}${path}/file-id`,
266
- format: "uri",
267
- type: "string"
268
- }
269
- },
270
- "X-Upload-Complete": {
271
- description: "Indicates if upload is complete",
272
- schema: {
273
- $ref: "#/components/schemas/X-Upload-Complete"
274
- }
275
- },
276
- "X-Upload-Expires": {
277
- description: "Upload expiration date",
278
- schema: {
279
- example: "2021-08-25T11:12:26.635Z",
280
- format: "date-time",
281
- type: "string"
282
- }
283
- },
284
- "X-Upload-Offset": {
285
- description: "Current upload offset after this chunk",
286
- schema: {
287
- $ref: "#/components/schemas/X-Upload-Offset"
288
- }
289
- }
290
- }
291
- },
292
- 201: {
293
- description: "Upload completed (all chunks received)",
294
- headers: {
295
- ETag: {
296
- description: "Upload ETag",
297
- schema: {
298
- example: "d41d8cd98f00b204e9800998ecf8427e",
299
- type: "string"
300
- }
301
- },
302
- Location: {
303
- description: "File URL",
304
- schema: {
305
- example: `${origin}${path}/file-id`,
306
- format: "uri",
307
- type: "string"
308
- }
309
- },
310
- "X-Upload-Complete": {
311
- description: "Upload is complete",
312
- schema: {
313
- enum: ["true"],
314
- type: "string"
315
- }
316
- },
317
- "X-Upload-Expires": {
318
- description: "Upload expiration date",
319
- schema: {
320
- example: "2021-08-25T11:12:26.635Z",
321
- format: "date-time",
322
- type: "string"
323
- }
324
- }
325
- }
326
- },
327
- 400: {
328
- content: {
329
- "application/json": {
330
- example: {
331
- error: {
332
- code: "BadRequest",
333
- message: "X-Chunk-Offset header is required"
334
- }
335
- },
336
- schema: {
337
- $ref: "#/components/schemas/Error"
338
- }
339
- }
340
- },
341
- description: "Bad Request"
342
- },
343
- 404: {
344
- content: {
345
- "application/json": {
346
- example: {
347
- error: {
348
- code: "FileNotFound",
349
- message: "Upload session not found"
350
- }
351
- },
352
- schema: {
353
- $ref: "#/components/schemas/Error"
354
- }
355
- }
356
- },
357
- description: "Not Found"
358
- },
359
- 413: {
360
- content: {
361
- "application/json": {
362
- example: {
363
- error: {
364
- code: "RequestEntityTooLarge",
365
- message: "Chunk size exceeds maximum allowed size of 104857600 bytes"
366
- }
367
- },
368
- schema: {
369
- $ref: "#/components/schemas/Error"
370
- }
371
- }
372
- },
373
- description: "Request Entity Too Large"
374
- },
375
- default: {
376
- content: {
377
- "application/json": {
378
- schema: {
379
- $ref: "#/components/schemas/Error"
380
- }
381
- }
382
- },
383
- description: "Error"
384
- }
385
- },
386
- summary: "Upload chunk",
387
- tags
388
- },
389
- put: {
390
- description: "Create or update a file. Requires file ID in the URL path. If file exists, it will be overwritten.",
391
- operationId: `${pathHash}RestPutFile`,
392
- parameters: [
393
- {
394
- $ref: "#/components/parameters/UploadIDinPath"
395
- }
396
- ],
397
- requestBody: {
398
- content: {
399
- "application/octet-stream": {
400
- description: "File data as raw binary",
401
- schema: {
402
- format: "binary",
403
- type: "string"
404
- }
405
- }
406
- },
407
- description: "File data",
408
- required: true
409
- },
410
- responses: {
411
- 200: {
412
- description: "File updated successfully",
413
- headers: {
414
- ETag: {
415
- description: "Upload ETag",
416
- schema: {
417
- example: "d41d8cd98f00b204e9800998ecf8427e",
418
- type: "string"
419
- }
420
- },
421
- Location: {
422
- description: "File URL",
423
- schema: {
424
- example: `${origin}${path}/file-id`,
425
- format: "uri",
426
- type: "string"
427
- }
428
- },
429
- "X-Upload-Expires": {
430
- description: "Upload expiration date",
431
- schema: {
432
- example: "2021-08-25T11:12:26.635Z",
433
- format: "date-time",
434
- type: "string"
435
- }
436
- }
437
- }
438
- },
439
- 201: {
440
- description: "File created successfully",
441
- headers: {
442
- ETag: {
443
- description: "Upload ETag",
444
- schema: {
445
- example: "d41d8cd98f00b204e9800998ecf8427e",
446
- type: "string"
447
- }
448
- },
449
- Location: {
450
- description: "File URL",
451
- schema: {
452
- example: `${origin}${path}/file-id`,
453
- format: "uri",
454
- type: "string"
455
- }
456
- },
457
- "X-Upload-Expires": {
458
- description: "Upload expiration date",
459
- schema: {
460
- example: "2021-08-25T11:12:26.635Z",
461
- format: "date-time",
462
- type: "string"
463
- }
464
- }
465
- }
466
- },
467
- 400: {
468
- content: {
469
- "application/json": {
470
- example: {
471
- error: {
472
- code: "BadRequest",
473
- message: "Request body is required"
474
- }
475
- },
476
- schema: {
477
- $ref: "#/components/schemas/Error"
478
- }
479
- }
480
- },
481
- description: "Bad Request"
482
- },
483
- 413: {
484
- content: {
485
- "application/json": {
486
- example: {
487
- error: {
488
- code: "RequestEntityTooLarge",
489
- message: "File size exceeds maximum allowed size"
490
- }
491
- },
492
- schema: {
493
- $ref: "#/components/schemas/Error"
494
- }
495
- }
496
- },
497
- description: "Request Entity Too Large"
498
- },
499
- default: {
500
- content: {
501
- "application/json": {
502
- schema: {
503
- $ref: "#/components/schemas/Error"
504
- }
505
- }
506
- },
507
- description: "Error"
508
- }
509
- },
510
- summary: "Create or update file",
511
- tags
512
- }
513
- },
514
- [path.trimEnd()]: {
515
- delete: {
516
- description: 'Delete multiple files. Supports batch delete via query parameter (?ids=id1,id2,id3) or JSON body ({ids: ["id1", "id2"]} or ["id1", "id2"]).',
517
- operationId: `${pathHash}RestBatchDelete`,
518
- parameters: [
519
- {
520
- description: "Comma-separated list of file IDs to delete",
521
- in: "query",
522
- name: "ids",
523
- required: false,
524
- schema: {
525
- example: "id1,id2,id3",
526
- type: "string"
527
- }
528
- }
529
- ],
530
- requestBody: {
531
- content: {
532
- "application/json": {
533
- schema: {
534
- oneOf: [
535
- {
536
- properties: {
537
- ids: {
538
- description: "Array of file IDs to delete",
539
- items: {
540
- type: "string"
541
- },
542
- type: "array"
543
- }
544
- },
545
- required: ["ids"],
546
- type: "object"
547
- },
548
- {
549
- description: "Array of file IDs to delete",
550
- items: {
551
- type: "string"
552
- },
553
- type: "array"
554
- }
555
- ]
556
- }
557
- }
558
- },
559
- description: "File IDs to delete (optional if using query parameter)",
560
- required: false
561
- },
562
- responses: {
563
- 204: {
564
- description: "All files deleted successfully"
565
- },
566
- 207: {
567
- description: "Multi-Status - Some files deleted successfully",
568
- headers: {
569
- "X-Delete-Errors": {
570
- description: "JSON array of deletion errors",
571
- schema: {
572
- type: "string"
573
- }
574
- },
575
- "X-Delete-Failed": {
576
- description: "Number of files that failed to delete",
577
- schema: {
578
- type: "integer"
579
- }
580
- },
581
- "X-Delete-Successful": {
582
- description: "Number of files successfully deleted",
583
- schema: {
584
- type: "integer"
585
- }
586
- }
587
- }
588
- },
589
- 400: {
590
- content: {
591
- "application/json": {
592
- example: {
593
- error: {
594
- code: "BadRequest",
595
- message: "No file IDs provided"
596
- }
597
- },
598
- schema: {
599
- $ref: "#/components/schemas/Error"
600
- }
601
- }
602
- },
603
- description: "Bad Request"
604
- },
605
- 404: {
606
- content: {
607
- "application/json": {
608
- example: {
609
- error: {
610
- code: "FileNotFound",
611
- message: "Failed to delete files: id1, id2"
612
- }
613
- },
614
- schema: {
615
- $ref: "#/components/schemas/Error"
616
- }
617
- }
618
- },
619
- description: "Not Found"
620
- },
621
- default: {
622
- content: {
623
- "application/json": {
624
- schema: {
625
- $ref: "#/components/schemas/Error"
626
- }
627
- }
628
- },
629
- description: "Error"
630
- }
631
- },
632
- summary: "Batch delete files",
633
- tags
634
- },
635
- get: sharedGetList(`${pathHash}RestGetList`, tags),
636
- post: {
637
- description: "Upload a file with raw binary data or initialize a chunked upload session. For chunked uploads, set X-Chunked-Upload: true and X-Total-Size headers.",
638
- operationId: `${pathHash}RestPostFile`,
639
- parameters: [
640
- {
641
- description: "Set to 'true' to initialize a chunked upload session",
642
- in: "header",
643
- name: "X-Chunked-Upload",
644
- required: false,
645
- schema: {
646
- $ref: "#/components/schemas/X-Chunked-Upload"
647
- }
648
- },
649
- {
650
- description: "Total size of the file in bytes (required for chunked uploads)",
651
- in: "header",
652
- name: "X-Total-Size",
653
- required: false,
654
- schema: {
655
- $ref: "#/components/schemas/X-Total-Size"
656
- }
657
- },
658
- {
659
- description: "Optional filename",
660
- in: "header",
661
- name: "Content-Disposition",
662
- required: false,
663
- schema: {
664
- example: 'attachment; filename="photo.jpg"',
665
- type: "string"
666
- }
667
- },
668
- {
669
- description: "Optional JSON metadata",
670
- in: "header",
671
- name: "X-File-Metadata",
672
- required: false,
673
- schema: {
674
- example: '{"description":"My photo"}',
675
- type: "string"
676
- }
677
- }
678
- ],
679
- requestBody: {
680
- content: {
681
- "application/octet-stream": {
682
- description: "File data as raw binary. For chunked upload initialization, body can be empty.",
683
- schema: {
684
- format: "binary",
685
- type: "string"
686
- }
687
- }
688
- },
689
- description: "File data (optional for chunked upload initialization)",
690
- required: false
691
- },
692
- responses: {
693
- 200: {
694
- description: "The file already exists, send a resume request",
695
- headers: {
696
- ETag: {
697
- description: "Upload ETag",
698
- schema: {
699
- example: "d41d8cd98f00b204e9800998ecf8427e",
700
- type: "string"
701
- }
702
- },
703
- Location: {
704
- description: "File URL",
705
- schema: {
706
- example: `${origin}${path}/file-id`,
707
- format: "uri",
708
- type: "string"
709
- }
710
- },
711
- "X-Upload-Expires": {
712
- description: "Upload expiration date",
713
- schema: {
714
- example: "2021-08-25T11:12:26.635Z",
715
- format: "date-time",
716
- type: "string"
717
- }
718
- }
719
- }
720
- },
721
- 201: {
722
- description: "File uploaded successfully or chunked upload session initialized",
723
- headers: {
724
- ETag: {
725
- description: "Upload ETag",
726
- schema: {
727
- example: "d41d8cd98f00b204e9800998ecf8427e",
728
- type: "string"
729
- }
730
- },
731
- Location: {
732
- description: "File URL or chunked upload session URL",
733
- schema: {
734
- example: `${origin}${path}/file-id`,
735
- format: "uri",
736
- type: "string"
737
- }
738
- },
739
- "X-Upload-Expires": {
740
- description: "Upload expiration date",
741
- schema: {
742
- example: "2021-08-25T11:12:26.635Z",
743
- format: "date-time",
744
- type: "string"
745
- }
746
- }
747
- }
748
- },
749
- 400: {
750
- content: {
751
- "application/json": {
752
- example: {
753
- error: {
754
- code: "BadRequest",
755
- message: "Request body is required for non-chunked uploads"
756
- }
757
- },
758
- schema: {
759
- $ref: "#/components/schemas/Error"
760
- }
761
- }
762
- },
763
- description: "Bad Request"
764
- },
765
- 413: {
766
- content: {
767
- "application/json": {
768
- example: {
769
- error: {
770
- code: "RequestEntityTooLarge",
771
- message: "File size exceeds maximum allowed size"
772
- }
773
- },
774
- schema: {
775
- $ref: "#/components/schemas/Error"
776
- }
777
- }
778
- },
779
- description: "Request Entity Too Large"
780
- },
781
- default: {
782
- content: {
783
- "application/json": {
784
- schema: {
785
- $ref: "#/components/schemas/Error"
786
- }
787
- }
788
- },
789
- description: "Error"
790
- }
791
- },
792
- summary: "Upload file or initialize chunked upload",
793
- tags
794
- }
795
- }
796
- }
797
- };
798
- };
799
-
800
- export { swaggerSpec as default };