@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,39 +1,46 @@
1
- import type { UploadOptions } from "../../handler/types.d.ts";
2
- import type { BaseStorage } from "../../storage/storage.d.ts";
3
- import type { UploadFile } from "../../storage/utils/index.d.ts";
1
+ import { U as UploadOptions } from "../../packem_shared/types.d-cI_cMxcZ.js";
2
+ import { U as UploadFile, B as BaseStorage } from "../../packem_shared/storage.d-RteRC-cG.js";
3
+ import 'node:stream';
4
+ import 'node:events';
5
+ import 'node:http';
6
+ import '@visulima/pagination';
7
+ import "../../packem_shared/media-transformer.d-C3QvECD7.js";
8
+ import "../../packem_shared/types.d-DxonY4XS.js";
9
+ import 'node:crypto';
10
+ import 'lru-cache';
4
11
  /**
5
- * CORS configuration for upload endpoints
6
- */
7
- export interface CorsOptions {
8
- /** Allowed CORS headers */
9
- headers?: string[];
10
- /** Allowed HTTP methods */
11
- methods?: string[];
12
- /** Allowed origins (use "*" for all origins) */
13
- origin?: string | string[];
12
+ * CORS configuration for upload endpoints
13
+ */
14
+ interface CorsOptions {
15
+ /** Allowed CORS headers */
16
+ headers?: string[];
17
+ /** Allowed HTTP methods */
18
+ methods?: string[];
19
+ /** Allowed origins (use "*" for all origins) */
20
+ origin?: string | string[];
14
21
  }
15
22
  /**
16
- * Configuration options for the Nuxt storage module
17
- */
18
- export interface ModuleOptions {
19
- /** Base path for upload routes (default: '/api/upload') */
20
- basePath?: string;
21
- /** CORS configuration */
22
- cors?: CorsOptions;
23
- /** Enable multipart upload endpoint (default: true) */
24
- multipart?: boolean;
25
- /** Additional options for multipart handler */
26
- multipartOptions?: Omit<UploadOptions<UploadFile>, "storage">;
27
- /** Enable REST API endpoint for direct binary uploads (default: true) */
28
- rest?: boolean;
29
- /** Additional options for REST handler */
30
- restOptions?: Omit<UploadOptions<UploadFile>, "storage">;
31
- /** Storage instance to use for file uploads */
32
- storage: BaseStorage;
33
- /** Enable TUS resumable upload endpoint (default: true) */
34
- tus?: boolean;
35
- /** Additional options for TUS handler */
36
- tusOptions?: Omit<UploadOptions<UploadFile>, "storage">;
23
+ * Configuration options for the Nuxt storage module
24
+ */
25
+ interface ModuleOptions {
26
+ /** Base path for upload routes (default: '/api/upload') */
27
+ basePath?: string;
28
+ /** CORS configuration */
29
+ cors?: CorsOptions;
30
+ /** Enable multipart upload endpoint (default: true) */
31
+ multipart?: boolean;
32
+ /** Additional options for multipart handler */
33
+ multipartOptions?: Omit<UploadOptions<UploadFile>, "storage">;
34
+ /** Enable REST API endpoint for direct binary uploads (default: true) */
35
+ rest?: boolean;
36
+ /** Additional options for REST handler */
37
+ restOptions?: Omit<UploadOptions<UploadFile>, "storage">;
38
+ /** Storage instance to use for file uploads */
39
+ storage: BaseStorage;
40
+ /** Enable TUS resumable upload endpoint (default: true) */
41
+ tus?: boolean;
42
+ /** Additional options for TUS handler */
43
+ tusOptions?: Omit<UploadOptions<UploadFile>, "storage">;
37
44
  }
38
45
  declare const nuxtModule: any;
39
- export default nuxtModule;
46
+ export { CorsOptions, ModuleOptions, nuxtModule as default };
@@ -1,93 +1 @@
1
- import { defineNuxtModule } from '@nuxt/kit';
2
-
3
- const handlerStorage = /* @__PURE__ */ new Map();
4
- const nuxtModule = defineNuxtModule({
5
- defaults: {
6
- basePath: "/api/upload",
7
- cors: {
8
- headers: ["Content-Type", "Upload-Offset", "Upload-Length", "Tus-Resumable"],
9
- methods: ["GET", "POST", "PATCH", "PUT", "HEAD", "DELETE", "OPTIONS"],
10
- origin: "*"
11
- },
12
- multipart: true,
13
- rest: true,
14
- tus: true
15
- },
16
- meta: {
17
- compatibility: {
18
- nuxt: ">=4.0.0"
19
- },
20
- configKey: "storage",
21
- name: "@visulima/storage"
22
- },
23
- async setup(options, nuxt) {
24
- const {
25
- basePath = "/api/upload",
26
- cors = {
27
- headers: ["Content-Type", "Upload-Offset", "Upload-Length", "Tus-Resumable"],
28
- methods: ["GET", "POST", "PATCH", "PUT", "HEAD", "DELETE", "OPTIONS"],
29
- origin: "*"
30
- },
31
- multipart = true,
32
- multipartOptions = {},
33
- rest = true,
34
- restOptions = {},
35
- storage,
36
- tus = true,
37
- tusOptions = {}
38
- } = options;
39
- if (!storage) {
40
- throw new Error("[@visulima/storage/nuxt] Storage instance is required");
41
- }
42
- const { Multipart, Rest, Tus } = await import('../../handler/http/node/index.js');
43
- const multipartHandler = multipart ? new Multipart({ storage, ...multipartOptions }) : void 0;
44
- const restHandler = rest ? new Rest({ storage, ...restOptions }) : void 0;
45
- const tusHandler = tus ? new Tus({ storage, ...tusOptions }) : void 0;
46
- const setCorsHeaders = (event) => {
47
- const origin = Array.isArray(cors.origin) ? cors.origin.join(", ") : cors.origin || "*";
48
- event.node.res.setHeader("Access-Control-Allow-Origin", origin);
49
- if (cors.methods) {
50
- event.node.res.setHeader("Access-Control-Allow-Methods", cors.methods.join(", "));
51
- }
52
- if (cors.headers) {
53
- event.node.res.setHeader("Access-Control-Allow-Headers", cors.headers.join(", "));
54
- }
55
- };
56
- if (multipartHandler) {
57
- handlerStorage.set(`${basePath}/multipart`, { handler: multipartHandler, setCorsHeaders });
58
- }
59
- if (restHandler) {
60
- handlerStorage.set(`${basePath}/rest`, { handler: restHandler, setCorsHeaders });
61
- }
62
- if (tusHandler) {
63
- handlerStorage.set(`${basePath}/tus`, { handler: tusHandler, setCorsHeaders });
64
- }
65
- nuxt.hook("nitro:config", (nitroConfig) => {
66
- const routeRules = nitroConfig.routeRules || {};
67
- if (multipartHandler) {
68
- routeRules[`${basePath}/multipart/**`] = { cors: true };
69
- }
70
- if (restHandler) {
71
- routeRules[`${basePath}/rest/**`] = { cors: true };
72
- }
73
- if (tusHandler) {
74
- routeRules[`${basePath}/tus/**`] = { cors: true };
75
- }
76
- nitroConfig.routeRules = routeRules;
77
- });
78
- nuxt.hook("nitro:init", (nitro) => {
79
- nitro.hooks.hook("request", async (event) => {
80
- const url = event.node.req.url || "";
81
- for (const [route, { handler, setCorsHeaders: setHeaders }] of handlerStorage.entries()) {
82
- if (url.startsWith(route)) {
83
- setHeaders(event);
84
- await handler.handle(event.node.req, event.node.res);
85
- return;
86
- }
87
- }
88
- });
89
- });
90
- }
91
- });
92
-
93
- export { nuxtModule as default };
1
+ var v=Object.defineProperty;var p=(a,r)=>v(a,"name",{value:r,configurable:!0});import{defineNuxtModule as b}from"@nuxt/kit";var U=Object.defineProperty,S=p((a,r)=>U(a,"name",{value:r,configurable:!0}),"g");const i=new Map,j=b({defaults:{basePath:"/api/upload",cors:{headers:["Content-Type","Upload-Offset","Upload-Length","Tus-Resumable"],methods:["GET","POST","PATCH","PUT","HEAD","DELETE","OPTIONS"],origin:"*"},multipart:!0,rest:!0,tus:!0},meta:{compatibility:{nuxt:">=4.0.0"},configKey:"storage",name:"@visulima/storage"},async setup(a,r){const{basePath:o="/api/upload",cors:s={headers:["Content-Type","Upload-Offset","Upload-Length","Tus-Resumable"],methods:["GET","POST","PATCH","PUT","HEAD","DELETE","OPTIONS"],origin:"*"},multipart:h=!0,multipartOptions:m={},rest:g=!0,restOptions:T={},storage:n,tus:f=!0,tusOptions:H={}}=a;if(!n)throw new Error("[@visulima/storage/nuxt] Storage instance is required");const{Multipart:O,Rest:A,Tus:C}=await import("../../handler/http/node/index.js"),u=h?new O({storage:n,...m}):void 0,d=g?new A({storage:n,...T}):void 0,l=f?new C({storage:n,...H}):void 0,c=S(t=>{const e=Array.isArray(s.origin)?s.origin.join(", "):s.origin||"*";t.node.res.setHeader("Access-Control-Allow-Origin",e),s.methods&&t.node.res.setHeader("Access-Control-Allow-Methods",s.methods.join(", ")),s.headers&&t.node.res.setHeader("Access-Control-Allow-Headers",s.headers.join(", "))},"setCorsHeaders");u&&i.set(`${o}/multipart`,{handler:u,setCorsHeaders:c}),d&&i.set(`${o}/rest`,{handler:d,setCorsHeaders:c}),l&&i.set(`${o}/tus`,{handler:l,setCorsHeaders:c}),r.hook("nitro:config",t=>{const e=t.routeRules||{};u&&(e[`${o}/multipart/**`]={cors:!0}),d&&(e[`${o}/rest/**`]={cors:!0}),l&&(e[`${o}/tus/**`]={cors:!0}),t.routeRules=e}),r.hook("nitro:init",t=>{t.hooks.hook("request",async e=>{const w=e.node.req.url||"";for(const[E,{handler:P,setCorsHeaders:y}]of i.entries())if(w.startsWith(E)){y(e),await P.handle(e.node.req,e.node.res);return}})})}});export{j as default};
@@ -0,0 +1,22 @@
1
+ #!/bin/sh
2
+ basedir=$(dirname "$(echo "$0" | sed -e 's,\\,/,g')")
3
+
4
+ case `uname` in
5
+ *CYGWIN*|*MINGW*|*MSYS*)
6
+ if command -v cygpath > /dev/null 2>&1; then
7
+ basedir=`cygpath -w "$basedir"`
8
+ fi
9
+ ;;
10
+ esac
11
+
12
+ if [ -z "$NODE_PATH" ]; then
13
+ export NODE_PATH="/home/runner/work/visulima/visulima/node_modules/.pnpm/nuxt@4.4.4_@azure+storage-blob@12.31.0_@babel+core@7.29.0_@babel+plugin-proposal-decora_523dc65e70025e48d1ecd471e5f50478/node_modules/nuxt/node_modules:/home/runner/work/visulima/visulima/node_modules/.pnpm/nuxt@4.4.4_@azure+storage-blob@12.31.0_@babel+core@7.29.0_@babel+plugin-proposal-decora_523dc65e70025e48d1ecd471e5f50478/node_modules:/home/runner/work/visulima/visulima/node_modules/.pnpm/node_modules"
14
+ else
15
+ export NODE_PATH="/home/runner/work/visulima/visulima/node_modules/.pnpm/nuxt@4.4.4_@azure+storage-blob@12.31.0_@babel+core@7.29.0_@babel+plugin-proposal-decora_523dc65e70025e48d1ecd471e5f50478/node_modules/nuxt/node_modules:/home/runner/work/visulima/visulima/node_modules/.pnpm/nuxt@4.4.4_@azure+storage-blob@12.31.0_@babel+core@7.29.0_@babel+plugin-proposal-decora_523dc65e70025e48d1ecd471e5f50478/node_modules:/home/runner/work/visulima/visulima/node_modules/.pnpm/node_modules:$NODE_PATH"
16
+ fi
17
+ if [ -x "$basedir/node" ]; then
18
+ exec "$basedir/node" "$basedir/../nuxt/bin/nuxt.mjs" "$@"
19
+ else
20
+ exec node "$basedir/../nuxt/bin/nuxt.mjs" "$@"
21
+ fi
22
+ # cmd-shim-target=/home/runner/work/visulima/visulima/packages/storage/storage/dist/adapter/nuxt/node_modules/nuxt/bin/nuxt.mjs
@@ -0,0 +1,22 @@
1
+ #!/bin/sh
2
+ basedir=$(dirname "$(echo "$0" | sed -e 's,\\,/,g')")
3
+
4
+ case `uname` in
5
+ *CYGWIN*|*MINGW*|*MSYS*)
6
+ if command -v cygpath > /dev/null 2>&1; then
7
+ basedir=`cygpath -w "$basedir"`
8
+ fi
9
+ ;;
10
+ esac
11
+
12
+ if [ -z "$NODE_PATH" ]; then
13
+ export NODE_PATH="/home/runner/work/visulima/visulima/node_modules/.pnpm/nuxt@4.4.4_@azure+storage-blob@12.31.0_@babel+core@7.29.0_@babel+plugin-proposal-decora_523dc65e70025e48d1ecd471e5f50478/node_modules/nuxt/node_modules:/home/runner/work/visulima/visulima/node_modules/.pnpm/nuxt@4.4.4_@azure+storage-blob@12.31.0_@babel+core@7.29.0_@babel+plugin-proposal-decora_523dc65e70025e48d1ecd471e5f50478/node_modules:/home/runner/work/visulima/visulima/node_modules/.pnpm/node_modules"
14
+ else
15
+ export NODE_PATH="/home/runner/work/visulima/visulima/node_modules/.pnpm/nuxt@4.4.4_@azure+storage-blob@12.31.0_@babel+core@7.29.0_@babel+plugin-proposal-decora_523dc65e70025e48d1ecd471e5f50478/node_modules/nuxt/node_modules:/home/runner/work/visulima/visulima/node_modules/.pnpm/nuxt@4.4.4_@azure+storage-blob@12.31.0_@babel+core@7.29.0_@babel+plugin-proposal-decora_523dc65e70025e48d1ecd471e5f50478/node_modules:/home/runner/work/visulima/visulima/node_modules/.pnpm/node_modules:$NODE_PATH"
16
+ fi
17
+ if [ -x "$basedir/node" ]; then
18
+ exec "$basedir/node" "$basedir/../nuxt/bin/nuxt.mjs" "$@"
19
+ else
20
+ exec node "$basedir/../nuxt/bin/nuxt.mjs" "$@"
21
+ fi
22
+ # cmd-shim-target=/home/runner/work/visulima/visulima/packages/storage/storage/dist/adapter/nuxt/node_modules/nuxt/bin/nuxt.mjs
@@ -2,12 +2,6 @@
2
2
  "name": "@visulima/storage-nuxt",
3
3
  "version": "0.0.0",
4
4
  "type": "module",
5
- "exports": {
6
- ".": {
7
- "types": "./module.d.ts",
8
- "import": "./module.js"
9
- }
10
- },
11
5
  "main": "./module.js",
12
6
  "types": "./module.d.ts",
13
7
  "files": [
@@ -0,0 +1,113 @@
1
+ import { F as Files } from "../../packem_shared/index.d-C4Fivh4I.js";
2
+ import { C as CopyFileInput, D as DeleteFileInput, a as DownloadFileInput, G as GetFileMetadataInput, b as GetFileUrlInput, L as ListFilesInput, S as SignUploadUrlInput, U as UploadFileInput, F as FileToolName, A as ApprovalConfig, c as FileReadToolName } from "../../packem_shared/approval.d-CMAYH9GF.js";
3
+ export { type d as FileWriteToolName } from "../../packem_shared/approval.d-CMAYH9GF.js";
4
+ import { Tool } from 'ai';
5
+ import { e as executors } from "../../packem_shared/executors.d-X4hz3zfu.js";
6
+ import "../../packem_shared/storage.d-RteRC-cG.js";
7
+ import 'node:stream';
8
+ import 'node:crypto';
9
+ import 'node:http';
10
+ import 'lru-cache';
11
+ import 'zod';
12
+ /**
13
+ * Common options accepted by every write-tool factory.
14
+ */
15
+ interface ToolOptions {
16
+ needsApproval?: boolean;
17
+ }
18
+ /**
19
+ * Per-tool overrides for customizing AI SDK `tool()` properties without
20
+ * changing the underlying implementation. Core properties (`execute`,
21
+ * `inputSchema`, `outputSchema`) are intentionally excluded — those drive
22
+ * the tool's behavior and contract and shouldn't be patched at this layer.
23
+ */
24
+ type ToolOverrides = Partial<Pick<Tool, "description" | "needsApproval" | "onInputAvailable" | "onInputDelta" | "onInputStart" | "providerOptions" | "toModelOutput">>;
25
+ type ListFilesOutput = Awaited<ReturnType<typeof executors.listFiles>>;
26
+ type GetFileMetadataOutput = Awaited<ReturnType<typeof executors.getFileMetadata>>;
27
+ type DownloadFileOutput = Awaited<ReturnType<typeof executors.downloadFile>>;
28
+ type GetFileUrlOutput = Awaited<ReturnType<typeof executors.getFileUrl>>;
29
+ type UploadFileOutput = Awaited<ReturnType<typeof executors.uploadFile>>;
30
+ type DeleteFileOutput = Awaited<ReturnType<typeof executors.deleteFile>>;
31
+ type CopyFileOutput = Awaited<ReturnType<typeof executors.copyFile>>;
32
+ type SignUploadUrlOutput = Awaited<ReturnType<typeof executors.signUploadUrl>>;
33
+ declare const listFiles: (files: Files) => Tool<ListFilesInput, ListFilesOutput>;
34
+ declare const getFileMetadata: (files: Files) => Tool<GetFileMetadataInput, GetFileMetadataOutput>;
35
+ declare const downloadFile: (files: Files) => Tool<DownloadFileInput, DownloadFileOutput>;
36
+ declare const getFileUrl: (files: Files) => Tool<GetFileUrlInput, GetFileUrlOutput>;
37
+ declare const uploadFile: (files: Files, {
38
+ needsApproval
39
+ }?: ToolOptions) => Tool<UploadFileInput, UploadFileOutput>;
40
+ declare const deleteFile: (files: Files, {
41
+ needsApproval
42
+ }?: ToolOptions) => Tool<DeleteFileInput, DeleteFileOutput>;
43
+ declare const copyFile: (files: Files, {
44
+ needsApproval
45
+ }?: ToolOptions) => Tool<CopyFileInput, CopyFileOutput>;
46
+ declare const signUploadUrl: (files: Files, {
47
+ needsApproval
48
+ }?: ToolOptions) => Tool<SignUploadUrlInput, SignUploadUrlOutput>;
49
+ interface FileToolsOptions {
50
+ /**
51
+ * The configured `Files` instance the tools will operate against.
52
+ * Each tool delegates to the methods on this instance.
53
+ */
54
+ files: Files;
55
+ /**
56
+ * Per-tool overrides for customizing tool behavior (description, title,
57
+ * needsApproval, etc.) without changing the underlying implementation.
58
+ * `execute` and `inputSchema` cannot be overridden.
59
+ */
60
+ overrides?: Partial<Record<FileToolName, ToolOverrides>>;
61
+ /**
62
+ * When `true`, write tools (`uploadFile`, `deleteFile`, `copyFile`,
63
+ * `signUploadUrl`) are omitted entirely. The model cannot mutate the
64
+ * bucket regardless of approval configuration.
65
+ */
66
+ readOnly?: boolean;
67
+ /**
68
+ * Approval gating for write tools. Defaults to `true` (all writes
69
+ * require approval). See {@link ApprovalConfig}.
70
+ */
71
+ requireApproval?: ApprovalConfig;
72
+ }
73
+ interface FileTools {
74
+ copyFile: ReturnType<typeof copyFile>;
75
+ deleteFile: ReturnType<typeof deleteFile>;
76
+ downloadFile: ReturnType<typeof downloadFile>;
77
+ getFileMetadata: ReturnType<typeof getFileMetadata>;
78
+ getFileUrl: ReturnType<typeof getFileUrl>;
79
+ listFiles: ReturnType<typeof listFiles>;
80
+ signUploadUrl: ReturnType<typeof signUploadUrl>;
81
+ uploadFile: ReturnType<typeof uploadFile>;
82
+ }
83
+ type ReadOnlyFileTools = Pick<FileTools, FileReadToolName>;
84
+ /**
85
+ * Create a set of visulima/storage tools for the Vercel AI SDK.
86
+ *
87
+ * Write operations require user approval by default. Control globally or
88
+ * per-tool via `requireApproval`, or strip writes entirely with
89
+ * `readOnly: true`.
90
+ * @example
91
+ * ```ts
92
+ * import { Files } from "@visulima/storage";
93
+ * import { S3Storage } from "@visulima/storage/provider/aws";
94
+ * import { createFileTools } from "@visulima/storage/ai/sdk";
95
+ * import { generateText } from "ai";
96
+ *
97
+ * const files = new Files({ adapter: new S3Storage({ bucket: "uploads" }) });
98
+ *
99
+ * const result = await generateText({
100
+ * model,
101
+ * tools: createFileTools({ files }),
102
+ * prompt: "Find every CSV under reports/ and summarize the latest one.",
103
+ * });
104
+ * ```
105
+ */
106
+ declare function createFileTools(options: FileToolsOptions & {
107
+ readOnly: true;
108
+ }): ReadOnlyFileTools;
109
+ declare function createFileTools(options: FileToolsOptions & {
110
+ readOnly?: false | undefined;
111
+ }): FileTools;
112
+ declare function createFileTools(options: FileToolsOptions): FileTools | ReadOnlyFileTools;
113
+ export { type ApprovalConfig, type FileReadToolName, type FileToolName, FileTools, FileToolsOptions, ReadOnlyFileTools, type ToolOptions, type ToolOverrides, copyFile, createFileTools, deleteFile, downloadFile, getFileMetadata, getFileUrl, listFiles, signUploadUrl, uploadFile };
@@ -0,0 +1 @@
1
+ var d=Object.defineProperty;var t=(e,l)=>d(e,"name",{value:l,configurable:!0});import{r as c}from"../../packem_shared/approval-BBeX3o4E.js";import{W as f}from"../../packem_shared/executors-DG6hGtvm.js";import{uploadFile as u,signUploadUrl as g,listFiles as v,getFileUrl as m,getFileMetadata as O,downloadFile as U,deleteFile as b,copyFile as j}from"../../packem_shared/listFiles-BtP6VnUp.js";var y=Object.defineProperty,p=t((e,l)=>y(e,"name",{value:l,configurable:!0}),"r");function T({files:e,overrides:l,readOnly:n=!1,requireApproval:F=!0}){const o=p(r=>({needsApproval:c(r,F)}),"approval"),i={copyFile:j(e,o("copyFile")),deleteFile:b(e,o("deleteFile")),downloadFile:U(e),getFileMetadata:O(e),getFileUrl:m(e),listFiles:v(e),signUploadUrl:g(e,o("signUploadUrl")),uploadFile:u(e,o("uploadFile"))};if(l){for(const[r,a]of Object.entries(l))if(r in i&&a){const s=r;Object.assign(i,{[s]:{...i[s],...a}})}}return n?Object.fromEntries(Object.entries(i).filter(([r])=>!f.has(r))):i}t(T,"createFileTools");p(T,"createFileTools");export{j as copyFile,T as createFileTools,b as deleteFile,U as downloadFile,O as getFileMetadata,m as getFileUrl,v as listFiles,g as signUploadUrl,u as uploadFile};
@@ -0,0 +1,177 @@
1
+ import { SdkMcpToolDefinition, CanUseTool, McpSdkServerConfigWithInstance } from '@anthropic-ai/claude-agent-sdk';
2
+ import { F as Files } from "../../packem_shared/index.d-C4Fivh4I.js";
3
+ import { T as TOOL_SCHEMAS, F as FileToolName, A as ApprovalConfig } from "../../packem_shared/approval.d-CMAYH9GF.js";
4
+ export { type c as FileReadToolName, type d as FileWriteToolName } from "../../packem_shared/approval.d-CMAYH9GF.js";
5
+ import "../../packem_shared/storage.d-RteRC-cG.js";
6
+ import 'node:stream';
7
+ import 'node:crypto';
8
+ import 'node:http';
9
+ import 'lru-cache';
10
+ import 'zod';
11
+ /**
12
+ * MCP tool annotations as accepted by `tool()` and exposed on
13
+ * `SdkMcpToolDefinition`. Re-derived from the SDK rather than imported from
14
+ * `@modelcontextprotocol/sdk` directly to avoid taking on a second peer
15
+ * dependency.
16
+ */
17
+ type ToolAnnotations = NonNullable<SdkMcpToolDefinition["annotations"]>;
18
+ /**
19
+ * Per-tool overrides for `createClaudeFileTools`. `name`, `inputSchema`, and
20
+ * `handler` are intentionally not overridable — the contract that drives tool
21
+ * behavior should not be patched at this layer.
22
+ */
23
+ interface ClaudeToolOverrides {
24
+ annotations?: ToolAnnotations;
25
+ description?: string;
26
+ }
27
+ interface ClaudeWriteToolOptions {
28
+ annotations?: ToolAnnotations;
29
+ }
30
+ type ListFilesShape = (typeof TOOL_SCHEMAS.listFiles.input)["shape"];
31
+ type GetFileMetadataShape = (typeof TOOL_SCHEMAS.getFileMetadata.input)["shape"];
32
+ type DownloadFileShape = (typeof TOOL_SCHEMAS.downloadFile.input)["shape"];
33
+ type GetFileUrlShape = (typeof TOOL_SCHEMAS.getFileUrl.input)["shape"];
34
+ type UploadFileShape = (typeof TOOL_SCHEMAS.uploadFile.input)["shape"];
35
+ type DeleteFileShape = (typeof TOOL_SCHEMAS.deleteFile.input)["shape"];
36
+ type CopyFileShape = (typeof TOOL_SCHEMAS.copyFile.input)["shape"];
37
+ type SignUploadUrlShape = (typeof TOOL_SCHEMAS.signUploadUrl.input)["shape"];
38
+ declare const claudeListFiles: (files: Files) => SdkMcpToolDefinition<ListFilesShape>;
39
+ declare const claudeGetFileMetadata: (files: Files) => SdkMcpToolDefinition<GetFileMetadataShape>;
40
+ declare const claudeDownloadFile: (files: Files) => SdkMcpToolDefinition<DownloadFileShape>;
41
+ declare const claudeGetFileUrl: (files: Files) => SdkMcpToolDefinition<GetFileUrlShape>;
42
+ declare const claudeUploadFile: (files: Files, {
43
+ annotations
44
+ }?: ClaudeWriteToolOptions) => SdkMcpToolDefinition<UploadFileShape>;
45
+ declare const claudeDeleteFile: (files: Files, {
46
+ annotations
47
+ }?: ClaudeWriteToolOptions) => SdkMcpToolDefinition<DeleteFileShape>;
48
+ declare const claudeCopyFile: (files: Files, {
49
+ annotations
50
+ }?: ClaudeWriteToolOptions) => SdkMcpToolDefinition<CopyFileShape>;
51
+ declare const claudeSignUploadUrl: (files: Files, {
52
+ annotations
53
+ }?: ClaudeWriteToolOptions) => SdkMcpToolDefinition<SignUploadUrlShape>;
54
+ interface ClaudeFileToolsOptions {
55
+ /**
56
+ * The configured `Files` instance the tools will operate against.
57
+ */
58
+ files: Files;
59
+ /**
60
+ * Per-tool overrides for `description` / `annotations` without touching
61
+ * the underlying handler or input schema.
62
+ */
63
+ overrides?: Partial<Record<FileToolName, ClaudeToolOverrides>>;
64
+ /**
65
+ * When `true`, write tools (`uploadFile`, `deleteFile`, `copyFile`,
66
+ * `signUploadUrl`) are omitted from the MCP server. The model cannot
67
+ * mutate the bucket regardless of approval configuration.
68
+ */
69
+ readOnly?: boolean;
70
+ /**
71
+ * Approval gating reflected by {@link ClaudeFileTools.needsApproval} and
72
+ * the bundled {@link ClaudeFileTools.canUseTool}. Defaults to `true`
73
+ * (every write requires approval). Pass `false` to disable, or an object
74
+ * keyed by write-tool name for fine-grained control.
75
+ */
76
+ requireApproval?: ApprovalConfig;
77
+ /**
78
+ * Name of the in-process MCP server that wraps these tools. Affects the
79
+ * `mcp__&lt;server-name>__&lt;tool-name>` strings the agent uses to address
80
+ * each tool. Defaults to `"files"`.
81
+ */
82
+ serverName?: string;
83
+ /**
84
+ * MCP server `version` metadata. Defaults to `"1.0.0"`.
85
+ */
86
+ serverVersion?: string;
87
+ }
88
+ interface ClaudeFileTools {
89
+ /**
90
+ * Pass into `query({ options: { allowedTools: tools.allowedTools } })`.
91
+ * Each entry is of the form `mcp__&lt;serverName>__&lt;toolName>`.
92
+ */
93
+ allowedTools: string[];
94
+ /**
95
+ * Ready-made `canUseTool` callback. Allows reads unconditionally, allows
96
+ * writes whose `needsApproval` resolves to `false`, denies the rest with
97
+ * a `"requires approval"` message. Pass directly into `query()`, or
98
+ * compose your own using {@link ClaudeFileTools.needsApproval}.
99
+ */
100
+ canUseTool: CanUseTool;
101
+ /**
102
+ * Pass into `query({ options: { mcpServers: tools.mcpServers } })`.
103
+ */
104
+ mcpServers: Record<string, McpSdkServerConfigWithInstance>;
105
+ /**
106
+ * Whether the named tool is approval-gated under the configured
107
+ * `requireApproval`. Accepts both bare names (`"uploadFile"`) and the
108
+ * MCP-prefixed form (`"mcp__files__uploadFile"`). Read tools and unknown
109
+ * names return `false`.
110
+ */
111
+ needsApproval: (toolName: string) => boolean;
112
+ /**
113
+ * The raw SDK MCP server instance — same value as
114
+ * `mcpServers[serverName]`. Exposed for callers that want to compose it
115
+ * into a larger `mcpServers` map.
116
+ */
117
+ server: McpSdkServerConfigWithInstance;
118
+ /**
119
+ * The MCP server name used in the `mcp__&lt;server>__*` prefix.
120
+ */
121
+ serverName: string;
122
+ }
123
+ /**
124
+ * Create storage tools shaped for the Claude Agent SDK
125
+ * (`@anthropic-ai/claude-agent-sdk`).
126
+ *
127
+ * The Claude Agent SDK consumes tools by way of an in-process MCP server +
128
+ * an `allowedTools` allow-list + a `canUseTool` approval callback. The
129
+ * returned bundle gives you all three, plus the raw server instance and a
130
+ * `needsApproval()` helper if you want to wire your own `canUseTool`.
131
+ * @example
132
+ * ```ts
133
+ * import { query } from "@anthropic-ai/claude-agent-sdk";
134
+ * import { Files } from "@visulima/storage";
135
+ * import { S3Storage } from "@visulima/storage/provider/aws";
136
+ * import { createClaudeFileTools } from "@visulima/storage/ai/claude";
137
+ *
138
+ * const files = new Files({ adapter: new S3Storage({ bucket: "uploads" }) });
139
+ * const tools = createClaudeFileTools({ files });
140
+ *
141
+ * for await (const message of query({
142
+ * prompt: "List my files.",
143
+ * options: {
144
+ * mcpServers: tools.mcpServers,
145
+ * allowedTools: tools.allowedTools,
146
+ * canUseTool: tools.canUseTool,
147
+ * },
148
+ * })) {
149
+ * // handle messages
150
+ * }
151
+ * ```
152
+ * @example Read-only agent
153
+ * ```ts
154
+ * createClaudeFileTools({ files, readOnly: true })
155
+ * ```
156
+ * @example Granular approval
157
+ * ```ts
158
+ * createClaudeFileTools({
159
+ * files,
160
+ * requireApproval: {
161
+ * copyFile: false,
162
+ * deleteFile: true,
163
+ * signUploadUrl: true,
164
+ * uploadFile: false,
165
+ * },
166
+ * })
167
+ * ```
168
+ */
169
+ declare const createClaudeFileTools: ({
170
+ files,
171
+ overrides,
172
+ readOnly,
173
+ requireApproval,
174
+ serverName,
175
+ serverVersion
176
+ }: ClaudeFileToolsOptions) => ClaudeFileTools;
177
+ export { type ApprovalConfig, ClaudeFileTools, ClaudeFileToolsOptions, type ClaudeToolOverrides, type ClaudeWriteToolOptions, type FileToolName, type ToolAnnotations, claudeCopyFile, claudeDeleteFile, claudeDownloadFile, claudeGetFileMetadata, claudeGetFileUrl, claudeListFiles, claudeSignUploadUrl, claudeUploadFile, createClaudeFileTools };
@@ -0,0 +1 @@
1
+ var _=Object.defineProperty;var u=(l,a)=>_(l,"name",{value:a,configurable:!0});import{createSdkMcpServer as b}from"@anthropic-ai/claude-agent-sdk";import{r as h}from"../../packem_shared/approval-BBeX3o4E.js";import{W as y}from"../../packem_shared/executors-DG6hGtvm.js";import{claudeUploadFile as O,claudeSignUploadUrl as S,claudeListFiles as w,claudeGetFileUrl as A,claudeGetFileMetadata as E,claudeDownloadFile as M,claudeDeleteFile as W,claudeCopyFile as $}from"../../packem_shared/claudeListFiles-DAezbKEi.js";var j=Object.defineProperty,o=u((l,a)=>j(l,"name",{value:a,configurable:!0}),"r");const C="files",D="1.0.0",v=o(l=>y.has(l),"isWriteTool"),I=o(({files:l,overrides:a,readOnly:m=!1,requireApproval:f=!0,serverName:s=C,serverVersion:F=D})=>{const t={copyFile:$(l),deleteFile:W(l),downloadFile:M(l),getFileMetadata:E(l),getFileUrl:A(l),listFiles:w(l),signUploadUrl:S(l),uploadFile:O(l)};if(a){for(const[e,r]of Object.entries(a))if(e in t&&r){const c=e;t[c]={...t[c],...r}}}const i=Object.entries(t).filter(([e])=>!(m&&v(e))),n=`mcp__${s}__`,T=o(e=>e.startsWith(n)?e.slice(n.length):e,"stripPrefix"),U=new Set(i.map(([e])=>e)),p=o(e=>{const r=T(e);return!U.has(r)||!v(r)?!1:h(r,f)},"needsApproval"),g=o((e,r)=>Promise.resolve(p(e)?{behavior:"deny",message:`Tool "${e}" requires approval.`}:{behavior:"allow",updatedInput:r}),"canUseTool"),d=b({name:s,tools:i.map(([,e])=>e),version:F});return{allowedTools:i.map(([e])=>`${n}${e}`),canUseTool:g,mcpServers:{[s]:d},needsApproval:p,server:d,serverName:s}},"createClaudeFileTools");export{$ as claudeCopyFile,W as claudeDeleteFile,M as claudeDownloadFile,E as claudeGetFileMetadata,A as claudeGetFileUrl,w as claudeListFiles,S as claudeSignUploadUrl,O as claudeUploadFile,I as createClaudeFileTools};