@visulima/storage 1.0.0-alpha.8 → 1.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +578 -0
- package/LICENSE.md +237 -568
- package/README.md +82 -466
- package/dist/adapter/nuxt/module.d.ts +41 -34
- package/dist/adapter/nuxt/module.js +1 -93
- package/dist/adapter/nuxt/package.json +0 -6
- package/dist/ai/ai-sdk/index.d.ts +113 -0
- package/dist/ai/ai-sdk/index.js +1 -0
- package/dist/ai/claude/index.d.ts +177 -0
- package/dist/ai/claude/index.js +1 -0
- package/dist/ai/openai/index.d.ts +205 -0
- package/dist/ai/openai/index.js +1 -0
- package/dist/ai/tanstack/index.d.ts +115 -0
- package/dist/ai/tanstack/index.js +1 -0
- package/dist/handler/http/fetch/index.d.ts +303 -4
- package/dist/handler/http/fetch/index.js +1 -4
- package/dist/handler/http/hono/index.d.ts +73 -64
- package/dist/handler/http/hono/index.js +1 -65
- package/dist/handler/http/nextjs/index.d.ts +66 -58
- package/dist/handler/http/nextjs/index.js +1 -37
- package/dist/handler/http/node/index.d.ts +368 -4
- package/dist/handler/http/node/index.js +1 -8
- package/dist/handler/http/solid-start/index.d.ts +66 -57
- package/dist/handler/http/solid-start/index.js +1 -44
- package/dist/index.d.ts +106 -17
- package/dist/index.js +1 -13
- package/dist/openapi/index.d.ts +24 -5
- package/dist/openapi/index.js +1 -5
- package/dist/packem_shared/AbstractBaseStorage-Ba7cLu-t.js +1 -0
- package/dist/packem_shared/AwsLightFile-CpZrubaV.js +1 -0
- package/dist/packem_shared/AwsLightMetaStorage-DPqJ9LTr.js +1 -0
- package/dist/packem_shared/AwsLightStorage-DTBVxHXO.js +1 -0
- package/dist/packem_shared/AzureFile-DFSaVe25.js +1 -0
- package/dist/packem_shared/AzureSMetaStorage-ByzM6Aix.js +1 -0
- package/dist/packem_shared/AzureStorage-BFsD4qbF.js +1 -0
- package/dist/packem_shared/BaseTransformer-Buw5lX_3.js +1 -0
- package/dist/packem_shared/BoxFile-CseIoPW1.js +1 -0
- package/dist/packem_shared/BoxMetaStorage-DFwhEI9C.js +1 -0
- package/dist/packem_shared/BoxStorage-B_t-OVzf.js +1 -0
- package/dist/packem_shared/BunS3File-BcYmsz1n.js +1 -0
- package/dist/packem_shared/BunS3MetaStorage-DFwhEI9C.js +1 -0
- package/dist/packem_shared/BunS3Storage-CB_pZWlV.js +1 -0
- package/dist/packem_shared/BunnyFile-BgEOlcYI.js +1 -0
- package/dist/packem_shared/BunnyMetaStorage-DFwhEI9C.js +1 -0
- package/dist/packem_shared/BunnyStorage-CILSK4_Z.js +1 -0
- package/dist/packem_shared/CloudinaryFile-Bo5B-vM1.js +1 -0
- package/dist/packem_shared/CloudinaryMetaStorage-D_vNzewL.js +1 -0
- package/dist/packem_shared/CloudinaryStorage-DiCbdAi_.js +1 -0
- package/dist/packem_shared/DiskStorage-Kp5t3vnF.js +1 -0
- package/dist/packem_shared/DiskStorageWithChecksum-Bh6w-Iu8.js +1 -0
- package/dist/packem_shared/DropboxFile-BFb7eOzy.js +1 -0
- package/dist/packem_shared/DropboxMetaStorage-DFwhEI9C.js +1 -0
- package/dist/packem_shared/DropboxStorage-H8bd8hEz.js +1 -0
- package/dist/packem_shared/ERRORS-BIBxE2oR.js +1 -0
- package/dist/packem_shared/File-W8aOo15X.js +1 -0
- package/dist/packem_shared/Files-BA3mpDwz.js +1 -0
- package/dist/packem_shared/FirebaseFile-BLaBxa2A.js +1 -0
- package/dist/packem_shared/FirebaseMetaStorage-D_vNzewL.js +1 -0
- package/dist/packem_shared/FirebaseStorage-Dgk4XyMr.js +2 -0
- package/dist/packem_shared/FtpFile-ClWDYnt2.js +1 -0
- package/dist/packem_shared/FtpMetaStorage-DFwhEI9C.js +1 -0
- package/dist/packem_shared/FtpStorage-g_DjiR-C.js +1 -0
- package/dist/packem_shared/GCSConfig-BQ0OpVhe.js +1 -0
- package/dist/packem_shared/GCSFile-Cero7qZN.js +1 -0
- package/dist/packem_shared/GCSMetaStorage-3fLTlRd4.js +1 -0
- package/dist/packem_shared/GCStorage-DUfwVFd3.js +1 -0
- package/dist/packem_shared/GoogleDriveFile-DHpLhzg9.js +1 -0
- package/dist/packem_shared/GoogleDriveMetaStorage-DqkgoE46.js +1 -0
- package/dist/packem_shared/GoogleDriveStorage-D0-5egHE.js +1 -0
- package/dist/packem_shared/LocalMetaStorage-Bp5mVc76.js +1 -0
- package/dist/packem_shared/MediaTransformer-D2kUsklW.js +1 -0
- package/dist/packem_shared/MemoryMetaStorage-Ksgh9pe7.js +1 -0
- package/dist/packem_shared/MemoryStorage-DzSTdlAq.js +1 -0
- package/dist/packem_shared/MetaStorage-DPEUyWgN.js +1 -0
- package/dist/packem_shared/Metadata-B7CcBueg.js +1 -0
- package/dist/packem_shared/Multipart-Btj2mo9r.js +1 -0
- package/dist/packem_shared/Multipart-C4GpuHMU.js +1 -0
- package/dist/packem_shared/NetlifyBlobFile-DoFhkzaH.js +1 -0
- package/dist/packem_shared/NetlifyBlobMetaStorage-D_vNzewL.js +1 -0
- package/dist/packem_shared/NetlifyBlobStorage-DZdCmOVW.js +1 -0
- package/dist/packem_shared/NoOpMetrics-BLo6u4NY.js +1 -0
- package/dist/packem_shared/OneDriveFile-CNNJYI43.js +1 -0
- package/dist/packem_shared/OneDriveMetaStorage-DqkgoE46.js +1 -0
- package/dist/packem_shared/OneDriveStorage-CvJetV7_.js +1 -0
- package/dist/packem_shared/OpenTelemetryMetrics-DJDQsNKp.js +1 -0
- package/dist/packem_shared/PocketBaseFile-DpJpxl3e.js +1 -0
- package/dist/packem_shared/PocketBaseMetaStorage-CpvDRnSu.js +1 -0
- package/dist/packem_shared/PocketBaseStorage-BPil-koe.js +1 -0
- package/dist/packem_shared/Rest-BehVaxbl.js +1 -0
- package/dist/packem_shared/Rest-ymPCZkKR.js +1 -0
- package/dist/packem_shared/S3File-CpZrubaV.js +1 -0
- package/dist/packem_shared/S3MetaStorage-CMonflzp.js +1 -0
- package/dist/packem_shared/S3Storage-wslqssvr.js +1 -0
- package/dist/packem_shared/SftpFile-ClWDYnt2.js +1 -0
- package/dist/packem_shared/SftpMetaStorage-DFwhEI9C.js +1 -0
- package/dist/packem_shared/SftpStorage-BVbMtS2b.js +1 -0
- package/dist/packem_shared/SharePointFile-Blz9FS4h.js +1 -0
- package/dist/packem_shared/SharePointMetaStorage-DFwhEI9C.js +1 -0
- package/dist/packem_shared/SharePointStorage-DWjvR5oZ.js +1 -0
- package/dist/packem_shared/SupabaseFile-Bo5B-vM1.js +1 -0
- package/dist/packem_shared/SupabaseMetaStorage-DqkgoE46.js +1 -0
- package/dist/packem_shared/SupabaseStorage-BiKmYKb6.js +1 -0
- package/dist/packem_shared/TUS_RESUMABLE-CyTSRvPU.js +1 -0
- package/dist/packem_shared/Tus-BgbON_wQ.js +1 -0
- package/dist/packem_shared/Tus-v6jzkaIO.js +1 -0
- package/dist/packem_shared/UploadControl-DZJhI9Wh.js +1 -0
- package/dist/packem_shared/UploadThingFile-BTFMpcIA.js +1 -0
- package/dist/packem_shared/UploadThingMetaStorage-D_vNzewL.js +1 -0
- package/dist/packem_shared/UploadThingStorage-jrEnANC5.js +1 -0
- package/dist/packem_shared/ValidationError-3B06DFyE.js +1 -0
- package/dist/packem_shared/VercelBlobFile-CVQwKlZk.js +1 -0
- package/dist/packem_shared/VercelBlobMetaStorage-DFwhEI9C.js +1 -0
- package/dist/packem_shared/VercelBlobStorage-Y-cDgH30.js +1 -0
- package/dist/packem_shared/_commonjsHelpers-CWAkuNXM.js +1 -0
- package/dist/packem_shared/agentsCopyFile-Dl5iffdH.js +1 -0
- package/dist/packem_shared/akamai-DthkaFul.js +1 -0
- package/dist/packem_shared/alibaba-BEi25O1g.js +1 -0
- package/dist/packem_shared/approval-fVHwBp7u.js +1 -0
- package/dist/packem_shared/approval.d-CMAYH9GF.d.ts +75 -0
- package/dist/packem_shared/aws-light-meta-storage-DGrn72VJ.js +4 -0
- package/dist/packem_shared/azure-meta-storage-ClbEsfI4.js +1 -0
- package/dist/packem_shared/backblaze-m1N5NZ9q.js +1 -0
- package/dist/packem_shared/base-handler-core-EeV8gZck.js +1 -0
- package/dist/packem_shared/base-handler-fetch-CHzsgb7C.js +1 -0
- package/dist/packem_shared/base-handler-node-BjpW8pGi.js +1 -0
- package/dist/packem_shared/cache-Cw3QjoVN.js +1 -0
- package/dist/packem_shared/claudeCopyFile-BX9O4ORk.js +1 -0
- package/dist/packem_shared/cloudflare-CdUTErlo.js +1 -0
- package/dist/packem_shared/copyFile-49FtxXcm.js +1 -0
- package/dist/packem_shared/copyFile-BUPezT_c.js +1 -0
- package/dist/packem_shared/createResponsesFileTools-6Tvt2PNr.js +1 -0
- package/dist/packem_shared/createRetryWrapper-CxgiV_hH.js +1 -0
- package/dist/packem_shared/detect-file-type-BA7UBLKA.js +1 -0
- package/dist/packem_shared/digitalOcean-B2uB6pgz.js +1 -0
- package/dist/packem_shared/disk-storage-DIn-VnCh.js +1 -0
- package/dist/packem_shared/disk-storage-with-checksum.d-B-VGEsfl.d.ts +156 -0
- package/dist/packem_shared/executors-BDzMjc4y.js +1 -0
- package/dist/packem_shared/executors.d-BZP2rWo3.d.ts +69 -0
- package/dist/packem_shared/exoscale-BDa1Gjth.js +1 -0
- package/dist/packem_shared/filebase-CsFYJIwB.js +1 -0
- package/dist/packem_shared/files.d-CH0iLBNC.d.ts +655 -0
- package/dist/packem_shared/gcs-meta-storage-Dy37wCjI.js +1 -0
- package/dist/packem_shared/get-file-status-y3wTtDQs.js +1 -0
- package/dist/packem_shared/getFormatFromContentType-DCTTPQHm.js +1 -0
- package/dist/packem_shared/has-content-50BsqrWw.js +1 -0
- package/dist/packem_shared/headers-BAiAKekR.js +26 -0
- package/dist/packem_shared/hetzner-BGGFiRGD.js +1 -0
- package/dist/packem_shared/ibmCos-j-3TfJ5p.js +1 -0
- package/dist/packem_shared/idriveE2-C6pQ5pQ0.js +1 -0
- package/dist/packem_shared/index-nZWCQrSe.js +5 -0
- package/dist/packem_shared/internal-D_cZIFwI.js +1 -0
- package/dist/packem_shared/is-expired-CBEk6XBi.js +1 -0
- package/dist/packem_shared/local-meta-storage-C2T92TYb.js +11 -0
- package/dist/packem_shared/local-meta-storage.d-D9PBfkn6.d.ts +21 -0
- package/dist/packem_shared/media-transformer.d-Quf4ai47.d.ts +331 -0
- package/dist/packem_shared/memory-storage.d-4EU1cMt1.d.ts +101 -0
- package/dist/packem_shared/minio-NKquuBfS.js +1 -0
- package/dist/packem_shared/multipart-base-BOzY19lb.js +1 -0
- package/dist/packem_shared/oauth-refresh-EdGzlcOZ.js +1 -0
- package/dist/packem_shared/oracleCloud-DslqNpn6.js +1 -0
- package/dist/packem_shared/ovhCloud-CMHE6uLV.js +1 -0
- package/dist/packem_shared/part-match-D-9dGX42.js +1 -0
- package/dist/packem_shared/path-0oTTdkvl-BVg7lYf5.js +1 -0
- package/dist/packem_shared/posix-dirname-CfpH5wZi.js +1 -0
- package/dist/packem_shared/response-builder-CbSA8qPa.js +1 -0
- package/dist/packem_shared/rest-base-CynUg0mH.js +1 -0
- package/dist/packem_shared/restOpenApiSpec-Csv513qf.js +1 -0
- package/dist/packem_shared/s3-base-storage-DXZYN24h.js +1 -0
- package/dist/packem_shared/s3-base-storage.d-BQgP5B-t.d.ts +287 -0
- package/dist/packem_shared/scaleway-U1In3v70.js +1 -0
- package/dist/packem_shared/sharedErrorSchemaObject-YN65aAKj.js +1 -0
- package/dist/packem_shared/storage-Cyy73Y6r.js +1 -0
- package/dist/packem_shared/storage.d-CEM1upWM.d.ts +1176 -0
- package/dist/packem_shared/storj-Cb59q9kF.js +1 -0
- package/dist/packem_shared/sync-DhR3536K.js +1 -0
- package/dist/packem_shared/tencent-Q1y2GENc.js +1 -0
- package/dist/packem_shared/tigris-BELKoyyp.js +1 -0
- package/dist/packem_shared/transformOpenApiSpec-CIEAgpBD.js +1 -0
- package/dist/packem_shared/tus-base.d-DLzKE54M.d.ts +106 -0
- package/dist/packem_shared/tusOpenApiSpec-D96B03t5.js +1 -0
- package/dist/packem_shared/types.d-Bon9GVVe.d.ts +104 -0
- package/dist/packem_shared/types.d-CggTCgXr.d.ts +49 -0
- package/dist/packem_shared/types.d-CrUWY4On.d.ts +720 -0
- package/dist/packem_shared/update-size-DuNuLyxj.js +1 -0
- package/dist/packem_shared/vultr-B491cQ4e.js +1 -0
- package/dist/packem_shared/waitForStorage-ByQmG4xF.js +1 -0
- package/dist/packem_shared/wasabi-DFrwIoab.js +1 -0
- package/dist/packem_shared/xhrOpenApiSpec-DQR4h6M8.js +1 -0
- package/dist/packem_shared/yandex-CwzHuEKP.js +1 -0
- package/dist/storage/aws/clients/index.d.ts +612 -6
- package/dist/storage/aws/clients/index.js +1 -6
- package/dist/storage/aws/index.d.ts +332 -4
- package/dist/storage/aws/index.js +1 -3
- package/dist/storage/aws-light/index.d.ts +259 -4
- package/dist/storage/aws-light/index.js +1 -3
- package/dist/storage/azure/index.d.ts +236 -4
- package/dist/storage/azure/index.js +1 -3
- package/dist/storage/box/index.d.ts +189 -0
- package/dist/storage/box/index.js +1 -0
- package/dist/storage/bun-s3/index.d.ts +200 -0
- package/dist/storage/bun-s3/index.js +1 -0
- package/dist/storage/bunny/index.d.ts +119 -0
- package/dist/storage/bunny/index.js +1 -0
- package/dist/storage/cloudinary/index.d.ts +121 -0
- package/dist/storage/cloudinary/index.js +1 -0
- package/dist/storage/dropbox/index.d.ts +132 -0
- package/dist/storage/dropbox/index.js +1 -0
- package/dist/storage/firebase/index.d.ts +192 -0
- package/dist/storage/firebase/index.js +1 -0
- package/dist/storage/ftp/index.d.ts +91 -0
- package/dist/storage/ftp/index.js +1 -0
- package/dist/storage/gcs/index.d.ts +195 -5
- package/dist/storage/gcs/index.js +1 -4
- package/dist/storage/google-drive/index.d.ts +148 -0
- package/dist/storage/google-drive/index.js +1 -0
- package/dist/storage/local/index.d.ts +7 -4
- package/dist/storage/local/index.js +1 -3
- package/dist/storage/memory/index.d.ts +6 -0
- package/dist/storage/memory/index.js +1 -0
- package/dist/storage/netlify-blob/index.d.ts +147 -4
- package/dist/storage/netlify-blob/index.js +1 -3
- package/dist/storage/onedrive/index.d.ts +103 -0
- package/dist/storage/onedrive/index.js +1 -0
- package/dist/storage/pocketbase/index.d.ts +172 -0
- package/dist/storage/pocketbase/index.js +1 -0
- package/dist/storage/sftp/index.d.ts +92 -0
- package/dist/storage/sftp/index.js +1 -0
- package/dist/storage/sharepoint/index.d.ts +180 -0
- package/dist/storage/sharepoint/index.js +1 -0
- package/dist/storage/supabase/index.d.ts +115 -0
- package/dist/storage/supabase/index.js +1 -0
- package/dist/storage/uploadthing/index.d.ts +95 -0
- package/dist/storage/uploadthing/index.js +1 -0
- package/dist/storage/vercel-blob/index.d.ts +189 -4
- package/dist/storage/vercel-blob/index.js +1 -3
- package/dist/transformer/audio-transformer.d.ts +127 -125
- package/dist/transformer/audio-transformer.js +1 -278
- package/dist/transformer/image-transformer.d.ts +573 -568
- package/dist/transformer/image-transformer.js +1 -1100
- package/dist/transformer/index.d.ts +62 -5
- package/dist/transformer/index.js +1 -4
- package/dist/transformer/video-transformer.d.ts +144 -142
- package/dist/transformer/video-transformer.js +1 -310
- package/package.json +202 -50
- package/dist/handler/base/base-handler-core.d.ts +0 -91
- package/dist/handler/base/base-handler-fetch.d.ts +0 -76
- package/dist/handler/base/base-handler-node.d.ts +0 -137
- package/dist/handler/multipart/multipart-base.d.ts +0 -84
- package/dist/handler/multipart/multipart-fetch.d.ts +0 -64
- package/dist/handler/multipart/multipart.d.ts +0 -49
- package/dist/handler/rest/rest-base.d.ts +0 -106
- package/dist/handler/rest/rest-fetch.d.ts +0 -88
- package/dist/handler/rest/rest.d.ts +0 -93
- package/dist/handler/tus/tus-base.d.ts +0 -152
- package/dist/handler/tus/tus-fetch.d.ts +0 -72
- package/dist/handler/tus/tus.d.ts +0 -78
- package/dist/handler/types.d.ts +0 -53
- package/dist/handler/utils/request-parser.d.ts +0 -72
- package/dist/handler/utils/response-builder.d.ts +0 -83
- package/dist/handler/utils/storage-utils.d.ts +0 -10
- package/dist/handler/utils/stream-utils.d.ts +0 -29
- package/dist/handler/utils/upload-handlers.d.ts +0 -76
- package/dist/metrics/index.d.ts +0 -2
- package/dist/metrics/no-op-metrics.d.ts +0 -15
- package/dist/metrics/opentelemetry-metrics.d.ts +0 -55
- package/dist/openapi/rest.d.ts +0 -7
- package/dist/openapi/shared.d.ts +0 -13
- package/dist/openapi/transform.d.ts +0 -3
- package/dist/openapi/tus.d.ts +0 -7
- package/dist/openapi/xhr.d.ts +0 -7
- package/dist/packem_shared/AwsLightFile-tTneXZgG.js +0 -11
- package/dist/packem_shared/AwsLightMetaStorage-BWSOtVaN.js +0 -4
- package/dist/packem_shared/AwsLightStorage-Blv-GP4v.js +0 -133
- package/dist/packem_shared/AzureFile-CesgFzps.js +0 -8
- package/dist/packem_shared/AzureSMetaStorage-CFs-OYJT.js +0 -88
- package/dist/packem_shared/AzureStorage-B0v048hG.js +0 -357
- package/dist/packem_shared/BaseTransformer-C2gLib6v.js +0 -82
- package/dist/packem_shared/DiskStorage-BlltBst6.js +0 -12
- package/dist/packem_shared/DiskStorageWithChecksum-BJTmMklc.js +0 -238
- package/dist/packem_shared/ERRORS-D0apMqnc.js +0 -97
- package/dist/packem_shared/File-Bb3P23dr.js +0 -69
- package/dist/packem_shared/GCSConfig-vPP22kN6.js +0 -11
- package/dist/packem_shared/GCSFile-BIEunhAN.js +0 -8
- package/dist/packem_shared/GCSMetaStorage-BYhwecZl.js +0 -7
- package/dist/packem_shared/GCStorage-BmnoK7Rz.js +0 -406
- package/dist/packem_shared/LocalMetaStorage-CZHhKkMd.js +0 -7
- package/dist/packem_shared/MediaTransformer-D6658DL1.js +0 -1197
- package/dist/packem_shared/MetaStorage-pECeFOad.js +0 -46
- package/dist/packem_shared/Metadata-DRLXeJ0F.js +0 -89
- package/dist/packem_shared/Multipart-5Xpy7WhY.js +0 -163
- package/dist/packem_shared/Multipart-C-iU9LXj.js +0 -128
- package/dist/packem_shared/NetlifyBlobFile-CXzyjqrD.js +0 -14
- package/dist/packem_shared/NetlifyBlobMetaStorage-DxZ5aDvD.js +0 -9
- package/dist/packem_shared/NetlifyBlobStorage-CLPtjHqd.js +0 -376
- package/dist/packem_shared/NoOpMetrics-DhAk5rXc.js +0 -10
- package/dist/packem_shared/OpenTelemetryMetrics-BnxhqIaH.js +0 -67
- package/dist/packem_shared/Rest-DO7OslCs.js +0 -267
- package/dist/packem_shared/Rest-DTaszQ6n.js +0 -228
- package/dist/packem_shared/S3File-DZiyk9Qt.js +0 -11
- package/dist/packem_shared/S3MetaStorage-Dz9aDabA.js +0 -76
- package/dist/packem_shared/S3Storage-DHmTk-hU.js +0 -316
- package/dist/packem_shared/TUS_RESUMABLE-BfguFdM1.js +0 -434
- package/dist/packem_shared/Tus-BQItPVAC.js +0 -200
- package/dist/packem_shared/Tus-BibjweWH.js +0 -195
- package/dist/packem_shared/ValidationError-BfF1aE4h.js +0 -26
- package/dist/packem_shared/VercelBlobFile-BCg4aTEq.js +0 -18
- package/dist/packem_shared/VercelBlobMetaStorage-Bd9F-VFm.js +0 -9
- package/dist/packem_shared/VercelBlobStorage-DD9LMOS6.js +0 -261
- package/dist/packem_shared/_commonjsHelpers-B85MJLTf.js +0 -5
- package/dist/packem_shared/aws-light-meta-storage-DKJBgbR6.js +0 -446
- package/dist/packem_shared/backblaze-BlMnIcBC.js +0 -20
- package/dist/packem_shared/base-handler-core-DLEVHemv.js +0 -303
- package/dist/packem_shared/base-handler-fetch-A7V0N6AJ.js +0 -291
- package/dist/packem_shared/base-handler-node-Dx7ce3sU.js +0 -730
- package/dist/packem_shared/cache-B88MXQ_2.js +0 -18
- package/dist/packem_shared/cloudflare-Bi1q8wXE.js +0 -21
- package/dist/packem_shared/defaultCloudStorageFileNameValidation-DUuacjWv.js +0 -11
- package/dist/packem_shared/digitalOcean-CWQRJM3L.js +0 -21
- package/dist/packem_shared/disk-storage-Bh2wy3YW.js +0 -810
- package/dist/packem_shared/gcs-meta-storage-DqNjM7DP.js +0 -158
- package/dist/packem_shared/has-content-CY66ehMK.js +0 -3
- package/dist/packem_shared/headers-C9DasoT1.js +0 -1318
- package/dist/packem_shared/is-expired-CTThU1q5.js +0 -8
- package/dist/packem_shared/isRetryableError-Dycp7127.js +0 -82
- package/dist/packem_shared/isValidMediaType-BeDgiObq.js +0 -35
- package/dist/packem_shared/local-meta-storage-By-3SNBI.js +0 -649
- package/dist/packem_shared/minio-C2YBZQOw.js +0 -22
- package/dist/packem_shared/multipart-base-BY0rhkw5.js +0 -102
- package/dist/packem_shared/part-match-BMNqHDYD.js +0 -96
- package/dist/packem_shared/path-CR6YkPXX-7R1-9CMk.js +0 -161
- package/dist/packem_shared/response-builder-BtnRiBUI.js +0 -45
- package/dist/packem_shared/rest-base-Bt9Np3M8.js +0 -457
- package/dist/packem_shared/restOpenApiSpec-D1JC_Jto.js +0 -800
- package/dist/packem_shared/s3-base-storage-C1DIHTYY.js +0 -510
- package/dist/packem_shared/sharedGet-Cpo7QUyu.js +0 -1019
- package/dist/packem_shared/storage-C6NSXb8h.js +0 -1175
- package/dist/packem_shared/tigris-Hac8TKnX.js +0 -21
- package/dist/packem_shared/transformOpenApiSpec-DWM5WtnN.js +0 -975
- package/dist/packem_shared/tusOpenApiSpec-mBZkl7he.js +0 -740
- package/dist/packem_shared/update-size-CCGm6i1J.js +0 -8
- package/dist/packem_shared/validator-BeX_lJet.js +0 -78
- package/dist/packem_shared/waitForStorage-Cscw85sx.js +0 -18
- package/dist/packem_shared/wasabi-DIyflHSd.js +0 -21
- package/dist/packem_shared/xhrOpenApiSpec-B1V5Dxrj.js +0 -264
- package/dist/storage/aws/clients/backblaze.d.ts +0 -12
- package/dist/storage/aws/clients/cloudflare.d.ts +0 -13
- package/dist/storage/aws/clients/digital-ocean.d.ts +0 -12
- package/dist/storage/aws/clients/minio.d.ts +0 -13
- package/dist/storage/aws/clients/tigris.d.ts +0 -12
- package/dist/storage/aws/clients/types.d.ts +0 -95
- package/dist/storage/aws/clients/wasabi.d.ts +0 -12
- package/dist/storage/aws/s3-base-storage.d.ts +0 -248
- package/dist/storage/aws/s3-client-adapter.d.ts +0 -110
- package/dist/storage/aws/s3-file.d.ts +0 -10
- package/dist/storage/aws/s3-meta-storage.d.ts +0 -15
- package/dist/storage/aws/s3-storage.d.ts +0 -70
- package/dist/storage/aws/types.d.ts +0 -119
- package/dist/storage/aws-light/aws-light-api-adapter.d.ts +0 -130
- package/dist/storage/aws-light/aws-light-file.d.ts +0 -10
- package/dist/storage/aws-light/aws-light-meta-storage.d.ts +0 -19
- package/dist/storage/aws-light/aws-light-storage.d.ts +0 -65
- package/dist/storage/aws-light/types.d.ts +0 -37
- package/dist/storage/azure/azure-file.d.ts +0 -6
- package/dist/storage/azure/azure-meta-storage.d.ts +0 -15
- package/dist/storage/azure/azure-storage.d.ts +0 -69
- package/dist/storage/azure/types.d.ts +0 -62
- package/dist/storage/gcs/fetch-error.d.ts +0 -11
- package/dist/storage/gcs/gcs-config.d.ts +0 -2
- package/dist/storage/gcs/gcs-file.d.ts +0 -6
- package/dist/storage/gcs/gcs-meta-storage.d.ts +0 -27
- package/dist/storage/gcs/gcs-storage.d.ts +0 -91
- package/dist/storage/gcs/types.d.ts +0 -55
- package/dist/storage/gcs/utils.d.ts +0 -7
- package/dist/storage/local/disk-storage-with-checksum.d.ts +0 -15
- package/dist/storage/local/disk-storage.d.ts +0 -135
- package/dist/storage/local/local-meta-storage.d.ts +0 -32
- package/dist/storage/meta-storage.d.ts +0 -30
- package/dist/storage/netlify-blob/netlify-blob-file.d.ts +0 -12
- package/dist/storage/netlify-blob/netlify-blob-meta-storage.d.ts +0 -7
- package/dist/storage/netlify-blob/netlify-blob-storage.d.ts +0 -93
- package/dist/storage/netlify-blob/types.d.ts +0 -30
- package/dist/storage/storage.d.ts +0 -353
- package/dist/storage/types.d.ts +0 -221
- package/dist/storage/utils/file/file.d.ts +0 -25
- package/dist/storage/utils/file/get-file-status.d.ts +0 -9
- package/dist/storage/utils/file/has-content.d.ts +0 -9
- package/dist/storage/utils/file/index.d.ts +0 -10
- package/dist/storage/utils/file/is-expired.d.ts +0 -8
- package/dist/storage/utils/file/metadata.d.ts +0 -18
- package/dist/storage/utils/file/part-match.d.ts +0 -11
- package/dist/storage/utils/file/types.d.ts +0 -37
- package/dist/storage/utils/file/update-metadata.d.ts +0 -10
- package/dist/storage/utils/file/update-size.d.ts +0 -10
- package/dist/storage/vercel-blob/types.d.ts +0 -32
- package/dist/storage/vercel-blob/vercel-blob-file.d.ts +0 -16
- package/dist/storage/vercel-blob/vercel-blob-meta-storage.d.ts +0 -7
- package/dist/storage/vercel-blob/vercel-blob-storage.d.ts +0 -76
- package/dist/transformer/base-transformer.d.ts +0 -63
- package/dist/transformer/media-transformer.d.ts +0 -332
- package/dist/transformer/types.d.ts +0 -652
- package/dist/transformer/utils.d.ts +0 -33
- package/dist/transformer/validation-error.d.ts +0 -23
- package/dist/utils/cache.d.ts +0 -32
- package/dist/utils/chunked-upload.d.ts +0 -65
- package/dist/utils/detect-file-type.d.ts +0 -28
- package/dist/utils/errors.d.ts +0 -74
- package/dist/utils/file-path-url-matcher.d.ts +0 -18
- package/dist/utils/headers.d.ts +0 -111
- package/dist/utils/http.d.ts +0 -92
- package/dist/utils/locker.d.ts +0 -26
- package/dist/utils/pipes/stream-checksum.d.ts +0 -47
- package/dist/utils/pipes/stream-length.d.ts +0 -22
- package/dist/utils/primitives/get-last-one.d.ts +0 -3
- package/dist/utils/primitives/is-record.d.ts +0 -2
- package/dist/utils/primitives/map-values.d.ts +0 -9
- package/dist/utils/primitives/pick.d.ts +0 -2
- package/dist/utils/primitives/to-milliseconds.d.ts +0 -12
- package/dist/utils/primitives/to-seconds.d.ts +0 -12
- package/dist/utils/range-checksum.d.ts +0 -33
- package/dist/utils/range-hasher.d.ts +0 -46
- package/dist/utils/retry.d.ts +0 -64
- package/dist/utils/types.d.ts +0 -108
- package/dist/utils/validation-error.d.ts +0 -22
- package/dist/utils/validator.d.ts +0 -36
|
@@ -1,4 +1,236 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
1
|
+
import { F as File, k as MetaStorageOptions, L as LocalMetaStorageOptions, l as BaseStorageOptions, M as MetaStorage, R as RetryConfig, d as FileInit, O as OperationOptions, f as FileQuery, o as BatchOperationResponse, e as FilePart, g as FileReturn, B as BaseStorage } from "../../packem_shared/storage.d-CEM1upWM.js";
|
|
2
|
+
import 'node:stream';
|
|
3
|
+
import { TokenCredential } from '@azure/core-auth';
|
|
4
|
+
import { BlobServiceClient } from '@azure/storage-blob';
|
|
5
|
+
import 'node:crypto';
|
|
6
|
+
import 'node:http';
|
|
7
|
+
import 'lru-cache';
|
|
8
|
+
declare class AzureFile extends File {
|
|
9
|
+
requestId?: string;
|
|
10
|
+
uri?: string;
|
|
11
|
+
}
|
|
12
|
+
interface ClientConfig {
|
|
13
|
+
/**
|
|
14
|
+
* Azure account key. Resolved from `AZURE_STORAGE_ACCOUNT_KEY` when omitted.
|
|
15
|
+
*/
|
|
16
|
+
accountKey?: string;
|
|
17
|
+
/**
|
|
18
|
+
* Azure account name. Resolved from `AZURE_STORAGE_ACCOUNT` when omitted.
|
|
19
|
+
*/
|
|
20
|
+
accountName?: string;
|
|
21
|
+
/**
|
|
22
|
+
* Azure container name.
|
|
23
|
+
*/
|
|
24
|
+
containerName: string;
|
|
25
|
+
/**
|
|
26
|
+
* Microsoft Entra credential for Azure AD / Managed Identity workloads
|
|
27
|
+
* (e.g. `DefaultAzureCredential` from `@azure/identity`). When supplied
|
|
28
|
+
* without a shared key, SDK operations use token auth and signed URLs are
|
|
29
|
+
* minted via User Delegation SAS.
|
|
30
|
+
*
|
|
31
|
+
* The principal must be allowed to access blob data and to call
|
|
32
|
+
* `Microsoft.Storage/storageAccounts/blobServices/generateUserDelegationKey/action`
|
|
33
|
+
* (for example via Storage Blob Data Contributor + Storage Blob Delegator).
|
|
34
|
+
*/
|
|
35
|
+
credential?: TokenCredential;
|
|
36
|
+
/**
|
|
37
|
+
* Azure endpoint.
|
|
38
|
+
*/
|
|
39
|
+
endpoint?: string;
|
|
40
|
+
/**
|
|
41
|
+
* Azure root path.
|
|
42
|
+
*/
|
|
43
|
+
root?: string;
|
|
44
|
+
/**
|
|
45
|
+
* Pre-issued SAS token (with or without a leading `?`). Resolved from
|
|
46
|
+
* `AZURE_STORAGE_SAS_TOKEN` when omitted. SAS-token adapters can use their
|
|
47
|
+
* configured access but cannot mint fresh signed URLs.
|
|
48
|
+
*/
|
|
49
|
+
sasToken?: string;
|
|
50
|
+
/**
|
|
51
|
+
* Controls whether a `credential`-backed adapter mints User Delegation SAS
|
|
52
|
+
* URLs. Defaults to `true` when `credential` is supplied; set `false` for
|
|
53
|
+
* token-authenticated SDK operations without signed-URL support.
|
|
54
|
+
*/
|
|
55
|
+
useUserDelegationSas?: boolean;
|
|
56
|
+
}
|
|
57
|
+
interface ClientConfig {
|
|
58
|
+
connectionString?: string;
|
|
59
|
+
/**
|
|
60
|
+
* Azure container name.
|
|
61
|
+
*/
|
|
62
|
+
containerName: string;
|
|
63
|
+
/**
|
|
64
|
+
* Azure root path.
|
|
65
|
+
*/
|
|
66
|
+
root?: string;
|
|
67
|
+
}
|
|
68
|
+
interface AzureMetaStorageOptions extends ClientConfig, MetaStorageOptions {
|
|
69
|
+
client?: BlobServiceClient;
|
|
70
|
+
}
|
|
71
|
+
interface AzureStorageOptions extends BaseStorageOptions, ClientConfig {
|
|
72
|
+
/**
|
|
73
|
+
* Configure metafiles storage
|
|
74
|
+
* @example
|
|
75
|
+
* ```ts
|
|
76
|
+
* Using local metafiles
|
|
77
|
+
* const storage = new AzureStorage({
|
|
78
|
+
* bucket: 'upload',
|
|
79
|
+
* metaStorageConfig: { directory: '/tmp/upload-metafiles' }
|
|
80
|
+
* })
|
|
81
|
+
* ```
|
|
82
|
+
* Using a separate bucket for metafiles
|
|
83
|
+
* ```ts
|
|
84
|
+
* const storage = new AzureStorage({
|
|
85
|
+
* bucket: 'upload',
|
|
86
|
+
* metaStorageConfig: { bucket: 'upload-metafiles' }
|
|
87
|
+
* })
|
|
88
|
+
* ```
|
|
89
|
+
*/
|
|
90
|
+
metaStorageConfig?: AzureMetaStorageOptions | LocalMetaStorageOptions;
|
|
91
|
+
}
|
|
92
|
+
declare class AzureMetaStorage<T extends File = File> extends MetaStorage<T> {
|
|
93
|
+
config: AzureMetaStorageOptions;
|
|
94
|
+
private client;
|
|
95
|
+
private containerClient;
|
|
96
|
+
constructor(config: AzureMetaStorageOptions);
|
|
97
|
+
override get(id: string): Promise<T>;
|
|
98
|
+
override touch(id: string, file: T): Promise<T>;
|
|
99
|
+
override delete(id: string): Promise<void>;
|
|
100
|
+
override save(id: string, file: T): Promise<T>;
|
|
101
|
+
list(): Promise<T[]>;
|
|
102
|
+
}
|
|
103
|
+
/**
|
|
104
|
+
* Azure Blob Storage implementation.
|
|
105
|
+
* @remarks
|
|
106
|
+
* ## Supported Operations
|
|
107
|
+
* - ✅ create, write, delete, get, list, update, copy, move
|
|
108
|
+
* - ✅ Batch operations: deleteBatch (native Blob Batch API, 256/request), copyBatch + moveBatch (inherited from BaseStorage)
|
|
109
|
+
* - ✅ exists: Implemented (checks metadata and Azure blob)
|
|
110
|
+
* - ❌ getStream: Not implemented (use get() for file retrieval)
|
|
111
|
+
* - ✅ getReadUrl / getUploadUrl: service SAS (shared key / connection string) or User Delegation SAS (Microsoft Entra credential). SAS-token adapters append the pre-issued token. Anonymous (public-container) adapters serve unsigned read URLs only — uploads are rejected.
|
|
112
|
+
*
|
|
113
|
+
* ## Authentication
|
|
114
|
+
* Precedence: connection string, then account key + name, then Microsoft Entra `credential` (Azure AD / Managed Identity), then a pre-issued `sasToken`, then anonymous (public-container) access.
|
|
115
|
+
*/
|
|
116
|
+
declare class AzureStorage extends BaseStorage {
|
|
117
|
+
static override readonly name: string;
|
|
118
|
+
override checksumTypes: string[];
|
|
119
|
+
override get raw(): BlobServiceClient;
|
|
120
|
+
protected meta: MetaStorage;
|
|
121
|
+
private client;
|
|
122
|
+
private readonly containerClient;
|
|
123
|
+
private readonly root;
|
|
124
|
+
private readonly resolvedRetryConfig;
|
|
125
|
+
private readonly signer?;
|
|
126
|
+
/** Pre-issued SAS token (leading `?` stripped) when in SAS-token mode. */
|
|
127
|
+
private readonly sasToken?;
|
|
128
|
+
/** True only for genuine anonymous (public-container) access. */
|
|
129
|
+
private readonly anonymous?;
|
|
130
|
+
constructor(config: AzureStorageOptions);
|
|
131
|
+
protected override getRetryConfig(): RetryConfig;
|
|
132
|
+
create(config: FileInit, options?: OperationOptions): Promise<AzureFile>;
|
|
133
|
+
/**
|
|
134
|
+
* Deletes an upload and its metadata.
|
|
135
|
+
* @param query File query containing the file ID to delete.
|
|
136
|
+
* @param query.id File ID to delete.
|
|
137
|
+
* @returns Promise resolving to the deleted file object with status: "deleted".
|
|
138
|
+
* @throws {UploadError} If the file metadata cannot be found.
|
|
139
|
+
*/
|
|
140
|
+
delete({
|
|
141
|
+
id
|
|
142
|
+
}: FileQuery, options?: OperationOptions): Promise<AzureFile>;
|
|
143
|
+
/**
|
|
144
|
+
* Deletes many blobs in one round-trip using Azure's native
|
|
145
|
+
* [Blob Batch API](https://learn.microsoft.com/rest/api/storageservices/blob-batch)
|
|
146
|
+
* (up to 256 sub-requests per request) instead of issuing one DELETE per key.
|
|
147
|
+
*
|
|
148
|
+
* Sidecar metadata removal and the {@link onDelete} hook are still applied per
|
|
149
|
+
* successfully-deleted id; a 404 sub-response is treated as success to match the
|
|
150
|
+
* `deleteIfExists` semantics of the single-key {@link delete}. If the batch endpoint
|
|
151
|
+
* is unavailable (e.g. an Azurite build without batch support) the call transparently
|
|
152
|
+
* falls back to the per-key base implementation.
|
|
153
|
+
* @param ids File ids/keys to delete.
|
|
154
|
+
* @param options Optional per-call signal/timeout/retries.
|
|
155
|
+
*/
|
|
156
|
+
override deleteBatch(ids: string[], options?: OperationOptions): Promise<BatchOperationResponse<AzureFile>>;
|
|
157
|
+
/**
|
|
158
|
+
* Moves an upload file to a new location.
|
|
159
|
+
* @param name Source file name/ID.
|
|
160
|
+
* @param destination Destination file name/ID.
|
|
161
|
+
* @returns Promise resolving to the moved file object.
|
|
162
|
+
* @throws {UploadError} If the source file cannot be found.
|
|
163
|
+
*/
|
|
164
|
+
move(name: string, destination: string, options?: OperationOptions): Promise<AzureFile>;
|
|
165
|
+
write(part: FilePart | FileQuery | AzureFile, options?: OperationOptions): Promise<AzureFile>;
|
|
166
|
+
get({
|
|
167
|
+
id
|
|
168
|
+
}: FileQuery, options?: OperationOptions): Promise<FileReturn>;
|
|
169
|
+
/**
|
|
170
|
+
* Checks if a file exists by verifying both metadata and the actual Azure blob.
|
|
171
|
+
* Returns true only if both the metadata and the blob exist.
|
|
172
|
+
* @param query File query containing the file ID to check.
|
|
173
|
+
* @returns Promise resolving to true if both metadata and blob exist, false otherwise.
|
|
174
|
+
*/
|
|
175
|
+
override exists({
|
|
176
|
+
id
|
|
177
|
+
}: FileQuery, options?: OperationOptions): Promise<boolean>;
|
|
178
|
+
/**
|
|
179
|
+
* Copies an upload file to a new location.
|
|
180
|
+
* @param name Source file name/ID.
|
|
181
|
+
* @param destination Destination file name/ID.
|
|
182
|
+
* @returns Promise resolving to the copied file object.
|
|
183
|
+
* @throws {UploadError} If the source file cannot be found.
|
|
184
|
+
*/
|
|
185
|
+
copy(name: string, destination: string, options?: OperationOptions & {
|
|
186
|
+
storageClass?: string;
|
|
187
|
+
}): Promise<AzureFile>;
|
|
188
|
+
override list(limit?: number, options?: OperationOptions): Promise<AzureFile[]>;
|
|
189
|
+
/**
|
|
190
|
+
* Returns a download URL for the blob at `key`.
|
|
191
|
+
*
|
|
192
|
+
* Shared-key / connection-string and Microsoft Entra adapters mint a fresh
|
|
193
|
+
* SAS. SAS-token adapters append the pre-issued token. Genuine anonymous
|
|
194
|
+
* (public-container) adapters return the unsigned blob URL.
|
|
195
|
+
* @param key Storage key.
|
|
196
|
+
* @param options Optional expiry and response content overrides. Response
|
|
197
|
+
* content overrides only apply when the adapter mints a fresh SAS; they are
|
|
198
|
+
* rejected on the pre-issued `sasToken` and anonymous paths, which have no
|
|
199
|
+
* signature in which to bind them.
|
|
200
|
+
* @throws {UploadError} When the adapter has no way to authorise reads, or
|
|
201
|
+
* when a response content override is supplied on a non-signing path.
|
|
202
|
+
*/
|
|
203
|
+
override getReadUrl(key: string, options?: {
|
|
204
|
+
expiresIn?: number;
|
|
205
|
+
responseContentDisposition?: string;
|
|
206
|
+
responseContentType?: string;
|
|
207
|
+
}): Promise<string>;
|
|
208
|
+
/**
|
|
209
|
+
* Returns an upload URL (HTTP PUT, `x-ms-blob-type: BlockBlob`) for `key`.
|
|
210
|
+
*
|
|
211
|
+
* Shared-key / connection-string and Microsoft Entra adapters mint a fresh
|
|
212
|
+
* SAS. SAS-token adapters append the pre-issued token. Anonymous adapters
|
|
213
|
+
* cannot upload. The caller must send the desired `x-ms-blob-content-type`
|
|
214
|
+
* header on the PUT — a SAS cannot pin the stored content type.
|
|
215
|
+
* @param key Storage key.
|
|
216
|
+
* @param options Optional expiry. `contentLength` and `contentType` are
|
|
217
|
+
* rejected: an Azure SAS does not bind the request `Content-Type` into the
|
|
218
|
+
* signature and has no server-enforced size limit, so accepting them would
|
|
219
|
+
* hand the caller a guarantee that does not hold.
|
|
220
|
+
* @throws {UploadError} When the adapter cannot authorise writes, or when an
|
|
221
|
+
* unenforceable `contentType`/`contentLength` override is supplied.
|
|
222
|
+
*/
|
|
223
|
+
override getUploadUrl(key: string, options?: {
|
|
224
|
+
contentLength?: number;
|
|
225
|
+
contentType?: string;
|
|
226
|
+
expiresIn?: number;
|
|
227
|
+
}): Promise<string>;
|
|
228
|
+
/**
|
|
229
|
+
* Prefixes the given filePath with the storage root location (assetFolder if configured).
|
|
230
|
+
* @param filePath Relative file path to prefix.
|
|
231
|
+
* @returns Full path with asset folder prefix if configured, otherwise returns original path.
|
|
232
|
+
*/
|
|
233
|
+
private getFullPath;
|
|
234
|
+
private accessCheck;
|
|
235
|
+
}
|
|
236
|
+
export { AzureFile, type AzureMetaStorageOptions, AzureMetaStorage as AzureSMetaStorage, AzureStorage, type AzureStorageOptions };
|
|
@@ -1,3 +1 @@
|
|
|
1
|
-
|
|
2
|
-
export { default as AzureSMetaStorage } from '../../packem_shared/AzureSMetaStorage-CFs-OYJT.js';
|
|
3
|
-
export { default as AzureStorage } from '../../packem_shared/AzureStorage-B0v048hG.js';
|
|
1
|
+
import{default as a}from"../../packem_shared/AzureFile-DFSaVe25.js";import{c as t}from"../../packem_shared/azure-meta-storage-ClbEsfI4.js";import{default as u}from"../../packem_shared/AzureStorage-BFsD4qbF.js";export{a as AzureFile,t as AzureSMetaStorage,u as AzureStorage};
|
|
@@ -0,0 +1,189 @@
|
|
|
1
|
+
import { F as File, L as LocalMetaStorageOptions, l as BaseStorageOptions, M as MetaStorage, d as FileInit, O as OperationOptions, e as FilePart, f as FileQuery, g as FileReturn, B as BaseStorage } from "../../packem_shared/storage.d-CEM1upWM.js";
|
|
2
|
+
import 'node:stream';
|
|
3
|
+
import { L as LocalMetaStorage } from "../../packem_shared/local-meta-storage.d-D9PBfkn6.js";
|
|
4
|
+
import { BoxClient } from 'box-typescript-sdk-gen';
|
|
5
|
+
import 'node:crypto';
|
|
6
|
+
import 'node:http';
|
|
7
|
+
import 'lru-cache';
|
|
8
|
+
declare class BoxFile extends File {
|
|
9
|
+
boxFileId?: string;
|
|
10
|
+
eTag?: string;
|
|
11
|
+
publicUrl?: string;
|
|
12
|
+
}
|
|
13
|
+
declare class BoxMetaStorage extends LocalMetaStorage<BoxFile> {
|
|
14
|
+
constructor(config?: LocalMetaStorageOptions);
|
|
15
|
+
}
|
|
16
|
+
interface BoxOAuthOptions {
|
|
17
|
+
/**
|
|
18
|
+
* Box application client ID.
|
|
19
|
+
*/
|
|
20
|
+
clientId: string;
|
|
21
|
+
/**
|
|
22
|
+
* Box application client secret.
|
|
23
|
+
*/
|
|
24
|
+
clientSecret: string;
|
|
25
|
+
/**
|
|
26
|
+
* Long-lived refresh token previously obtained via Box's authorization
|
|
27
|
+
* code flow. The adapter seeds the SDK's in-memory token storage with
|
|
28
|
+
* this value; the SDK exchanges it for a fresh access token on first
|
|
29
|
+
* use and re-refreshes when the access token expires.
|
|
30
|
+
*/
|
|
31
|
+
refreshToken: string;
|
|
32
|
+
}
|
|
33
|
+
interface BoxCcgOptions {
|
|
34
|
+
/**
|
|
35
|
+
* Box application client ID.
|
|
36
|
+
*/
|
|
37
|
+
clientId: string;
|
|
38
|
+
/**
|
|
39
|
+
* Box application client secret.
|
|
40
|
+
*/
|
|
41
|
+
clientSecret: string;
|
|
42
|
+
/**
|
|
43
|
+
* Pass `enterpriseId` to authenticate as the service account, or `userId`
|
|
44
|
+
* to authenticate as a managed/app user. At least one is required.
|
|
45
|
+
*/
|
|
46
|
+
enterpriseId?: string;
|
|
47
|
+
/**
|
|
48
|
+
* Pass `userId` to authenticate as a managed/app user.
|
|
49
|
+
*/
|
|
50
|
+
userId?: string;
|
|
51
|
+
}
|
|
52
|
+
type BoxJwtOptions = {
|
|
53
|
+
configFilePath: string;
|
|
54
|
+
} | {
|
|
55
|
+
configJsonString: string;
|
|
56
|
+
};
|
|
57
|
+
interface BoxStorageOptions extends BaseStorageOptions {
|
|
58
|
+
/**
|
|
59
|
+
* Server-side Client Credentials Grant. Mutually exclusive with
|
|
60
|
+
* `developerToken`, `oauth`, and `jwt`.
|
|
61
|
+
*/
|
|
62
|
+
ccg?: BoxCcgOptions;
|
|
63
|
+
/**
|
|
64
|
+
* Pre-built `BoxClient`. Escape hatch for callers that already wire
|
|
65
|
+
* auth themselves (e.g. with a custom `NetworkSession`, proxy config,
|
|
66
|
+
* or downscoped tokens).
|
|
67
|
+
*/
|
|
68
|
+
client?: BoxClient;
|
|
69
|
+
/**
|
|
70
|
+
* Default expiry, in seconds, advertised to callers of `getReadUrl()`.
|
|
71
|
+
* Box does not document a hard maximum for download URLs (they are
|
|
72
|
+
* short-lived by API design); this value is forwarded as documentation
|
|
73
|
+
* only — the actual lifetime is decided by Box. Defaults to 3600.
|
|
74
|
+
*/
|
|
75
|
+
defaultUrlExpiresIn?: number;
|
|
76
|
+
/**
|
|
77
|
+
* Static developer token from the Box developer console. Useful for
|
|
78
|
+
* scripts and trying the adapter; production apps should use OAuth,
|
|
79
|
+
* CCG, or JWT instead. Mutually exclusive with `oauth`, `ccg`, `jwt`.
|
|
80
|
+
*/
|
|
81
|
+
developerToken?: string;
|
|
82
|
+
/**
|
|
83
|
+
* JWT Server Authentication, configured via the JSON blob from Box's
|
|
84
|
+
* developer console. Mutually exclusive with the other auth modes.
|
|
85
|
+
*/
|
|
86
|
+
jwt?: BoxJwtOptions;
|
|
87
|
+
/**
|
|
88
|
+
* Configure metafiles storage. Defaults to local tmp directory.
|
|
89
|
+
*/
|
|
90
|
+
metaStorageConfig?: LocalMetaStorageOptions;
|
|
91
|
+
/**
|
|
92
|
+
* OAuth2 user-app flow seeded with a refresh token. Mutually exclusive
|
|
93
|
+
* with `developerToken`, `ccg`, and `jwt`.
|
|
94
|
+
*/
|
|
95
|
+
oauth?: BoxOAuthOptions;
|
|
96
|
+
/**
|
|
97
|
+
* When `true`, `getReadUrl` creates (or reuses) an `open`-access shared
|
|
98
|
+
* link instead of a short-lived signed download URL. Public shared links
|
|
99
|
+
* may be restricted on Box Business or Enterprise plans; the adapter
|
|
100
|
+
* surfaces Box's `access_denied_insufficient_permissions` error
|
|
101
|
+
* unmodified in that case.
|
|
102
|
+
*/
|
|
103
|
+
publicByDefault?: boolean;
|
|
104
|
+
/**
|
|
105
|
+
* Logical "bucket root" — virtual keys live under this Box folder ID.
|
|
106
|
+
* Use `"0"` (the default) to anchor at the user's root folder. The
|
|
107
|
+
* folder must already exist; intermediate subfolders are auto-created
|
|
108
|
+
* on upload.
|
|
109
|
+
*/
|
|
110
|
+
rootFolderId?: string;
|
|
111
|
+
}
|
|
112
|
+
/**
|
|
113
|
+
* Box storage backend.
|
|
114
|
+
*
|
|
115
|
+
* Routes virtual keys onto Box folder/file IDs under `rootFolderId`. Uploads
|
|
116
|
+
* use `uploads.uploadFile` / `uploads.uploadFileVersion` up to 50 MB and
|
|
117
|
+
* switch to the chunked-upload session API above that threshold. Subfolders
|
|
118
|
+
* along a key's path are auto-created on first write.
|
|
119
|
+
*
|
|
120
|
+
* **Auth precedence**:
|
|
121
|
+
* 1. `client` (pre-built `BoxClient`)
|
|
122
|
+
* 2. `developerToken` (static, from Box developer console)
|
|
123
|
+
* 3. `oauth` (refresh-token seeded — `clientId` + `clientSecret` + `refreshToken`)
|
|
124
|
+
* 4. `ccg` (Client Credentials Grant — `clientId` + `clientSecret` + `enterpriseId` or `userId`)
|
|
125
|
+
* 5. `jwt` (JWT Server Auth — `configJsonString` or `configFilePath`)
|
|
126
|
+
* 6. Env fallback: `BOX_DEVELOPER_TOKEN`
|
|
127
|
+
*
|
|
128
|
+
* **Limitations**:
|
|
129
|
+
* - `metadata` is not supported on the unified API — Box exposes file metadata
|
|
130
|
+
* via classifications and metadata templates. Use `storage.raw.fileMetadata.*`
|
|
131
|
+
* directly if you need them.
|
|
132
|
+
* - `cacheControl` is not supported (Box does not expose HTTP cache headers
|
|
133
|
+
* on file content).
|
|
134
|
+
* - `getUploadUrl` is not supported — Box uploads require a multipart `POST`
|
|
135
|
+
* with both an `attributes` JSON part and the file bytes part, which doesn't
|
|
136
|
+
* fit the PUT-with-raw-body presigned-URL contract.
|
|
137
|
+
* - `responseContentDisposition` is not supported on signed download URLs.
|
|
138
|
+
* - `write()` buffers the full part body in memory before choosing between
|
|
139
|
+
* the simple-upload and chunked-upload paths. Each request handler runs
|
|
140
|
+
* independently, so concurrent multi-GB writes are bounded by the host's
|
|
141
|
+
* available memory.
|
|
142
|
+
* - ⚠️ Per-operation `signal`/`timeout` are best-effort: the underlying SDK does not support request cancellation, so an in-flight call may complete server-side even after abort. `retries` is honored.
|
|
143
|
+
*/
|
|
144
|
+
declare class BoxStorage extends BaseStorage<BoxFile> {
|
|
145
|
+
static override readonly name: string;
|
|
146
|
+
override checksumTypes: string[];
|
|
147
|
+
protected meta: MetaStorage<BoxFile>;
|
|
148
|
+
private readonly authHandle;
|
|
149
|
+
private readonly client;
|
|
150
|
+
private readonly fileIdCache;
|
|
151
|
+
private readonly folderIdCache;
|
|
152
|
+
private readonly publicByDefault;
|
|
153
|
+
private readonly rootFolderId;
|
|
154
|
+
constructor(config: BoxStorageOptions);
|
|
155
|
+
override get raw(): BoxClient;
|
|
156
|
+
create(config: FileInit, _options?: OperationOptions): Promise<BoxFile>;
|
|
157
|
+
write(part: FilePart | FileQuery | BoxFile, options?: OperationOptions): Promise<BoxFile>;
|
|
158
|
+
delete({
|
|
159
|
+
id
|
|
160
|
+
}: FileQuery, options?: OperationOptions): Promise<BoxFile>;
|
|
161
|
+
get({
|
|
162
|
+
id
|
|
163
|
+
}: FileQuery, options?: OperationOptions): Promise<FileReturn>;
|
|
164
|
+
copy(name: string, destination: string, options?: OperationOptions & {
|
|
165
|
+
storageClass?: string;
|
|
166
|
+
}): Promise<BoxFile>;
|
|
167
|
+
move(name: string, destination: string, options?: OperationOptions): Promise<BoxFile>;
|
|
168
|
+
override list(limit?: number, options?: OperationOptions): Promise<BoxFile[]>;
|
|
169
|
+
override getReadUrl(key: string, options?: {
|
|
170
|
+
expiresIn?: number;
|
|
171
|
+
responseContentDisposition?: string;
|
|
172
|
+
responseContentType?: string;
|
|
173
|
+
}): Promise<string>;
|
|
174
|
+
override getUploadUrl(_key: string, _options?: {
|
|
175
|
+
contentLength?: number;
|
|
176
|
+
contentType?: string;
|
|
177
|
+
expiresIn?: number;
|
|
178
|
+
}): Promise<string>;
|
|
179
|
+
private findChildByName;
|
|
180
|
+
private folderCacheKey;
|
|
181
|
+
private resolveFolderId;
|
|
182
|
+
private resolveFileId;
|
|
183
|
+
private resolveExistingFileForUpload;
|
|
184
|
+
private performUpload;
|
|
185
|
+
private ensureSharedLink;
|
|
186
|
+
private fetchSharedLinkUrl;
|
|
187
|
+
private internalOnComplete;
|
|
188
|
+
}
|
|
189
|
+
export { type BoxCcgOptions, BoxFile, type BoxJwtOptions, BoxMetaStorage, type BoxOAuthOptions, BoxStorage, type BoxStorageOptions };
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{default as a}from"../../packem_shared/BoxFile-CseIoPW1.js";import{default as r}from"../../packem_shared/BoxMetaStorage-DFwhEI9C.js";import{default as x}from"../../packem_shared/BoxStorage-B_t-OVzf.js";export{a as BoxFile,r as BoxMetaStorage,x as BoxStorage};
|
|
@@ -0,0 +1,200 @@
|
|
|
1
|
+
import { F as File, L as LocalMetaStorageOptions, l as BaseStorageOptions, M as MetaStorage, d as FileInit, O as OperationOptions, e as FilePart, f as FileQuery, g as FileReturn, B as BaseStorage } from "../../packem_shared/storage.d-CEM1upWM.js";
|
|
2
|
+
import { Readable } from 'node:stream';
|
|
3
|
+
import { L as LocalMetaStorage } from "../../packem_shared/local-meta-storage.d-D9PBfkn6.js";
|
|
4
|
+
import 'node:crypto';
|
|
5
|
+
import 'node:http';
|
|
6
|
+
import 'lru-cache';
|
|
7
|
+
declare class BunS3File extends File {
|
|
8
|
+
/**
|
|
9
|
+
* ETag reported by the S3-compatible backend (when present on the
|
|
10
|
+
* stored object).
|
|
11
|
+
*/
|
|
12
|
+
bunS3ETag?: string;
|
|
13
|
+
/**
|
|
14
|
+
* Object key within the bucket.
|
|
15
|
+
*/
|
|
16
|
+
bunS3Key?: string;
|
|
17
|
+
}
|
|
18
|
+
declare class BunS3MetaStorage extends LocalMetaStorage<BunS3File> {
|
|
19
|
+
constructor(config?: LocalMetaStorageOptions);
|
|
20
|
+
}
|
|
21
|
+
/**
|
|
22
|
+
* Object metadata returned by `Bun.S3Client.stat` / `S3File.stat`.
|
|
23
|
+
*/
|
|
24
|
+
interface BunS3Stat {
|
|
25
|
+
etag?: string;
|
|
26
|
+
lastModified?: Date;
|
|
27
|
+
size: number;
|
|
28
|
+
type?: string;
|
|
29
|
+
}
|
|
30
|
+
/**
|
|
31
|
+
* Options accepted by `S3File.presign` / `S3Client.presign`.
|
|
32
|
+
*/
|
|
33
|
+
interface BunS3PresignOptions {
|
|
34
|
+
acl?: string;
|
|
35
|
+
contentDisposition?: string;
|
|
36
|
+
expiresIn?: number;
|
|
37
|
+
method?: "DELETE" | "GET" | "HEAD" | "POST" | "PUT";
|
|
38
|
+
type?: string;
|
|
39
|
+
}
|
|
40
|
+
/**
|
|
41
|
+
* Acceptable upload bodies for `Bun.S3Client.write` / `S3File.write`.
|
|
42
|
+
*/
|
|
43
|
+
type BunS3WriteData = ArrayBuffer | Blob | ReadableStream | Response | string | Uint8Array;
|
|
44
|
+
/**
|
|
45
|
+
* Structural view of a Bun `S3File` reference. Declared locally so the
|
|
46
|
+
* adapter type-checks under Node (where the `Bun` global is absent) while
|
|
47
|
+
* still binding to the real runtime object.
|
|
48
|
+
*/
|
|
49
|
+
interface BunS3FileRef {
|
|
50
|
+
arrayBuffer: () => Promise<ArrayBuffer>;
|
|
51
|
+
delete: () => Promise<void>;
|
|
52
|
+
exists: () => Promise<boolean>;
|
|
53
|
+
presign: (options?: BunS3PresignOptions) => string;
|
|
54
|
+
slice: (start: number, end?: number) => BunS3FileRef;
|
|
55
|
+
stat: () => Promise<BunS3Stat>;
|
|
56
|
+
stream: () => ReadableStream<Uint8Array>;
|
|
57
|
+
write: (data: BunS3WriteData, options?: {
|
|
58
|
+
type?: string;
|
|
59
|
+
}) => Promise<number>;
|
|
60
|
+
}
|
|
61
|
+
/**
|
|
62
|
+
* One entry of a `Bun.S3Client.list` response.
|
|
63
|
+
*/
|
|
64
|
+
interface BunS3ListEntry {
|
|
65
|
+
eTag?: string;
|
|
66
|
+
key?: string;
|
|
67
|
+
lastModified?: Date | string;
|
|
68
|
+
size?: number;
|
|
69
|
+
}
|
|
70
|
+
/**
|
|
71
|
+
* Structural view of `Bun.S3Client`. Either pass a real instance via
|
|
72
|
+
* `client`, or run under Bun and let the adapter construct one.
|
|
73
|
+
*/
|
|
74
|
+
interface BunS3ClientLike {
|
|
75
|
+
delete: (key: string) => Promise<void>;
|
|
76
|
+
exists: (key: string) => Promise<boolean>;
|
|
77
|
+
file: (key: string) => BunS3FileRef;
|
|
78
|
+
list: (input?: {
|
|
79
|
+
continuationToken?: string;
|
|
80
|
+
maxKeys?: number;
|
|
81
|
+
prefix?: string;
|
|
82
|
+
startAfter?: string;
|
|
83
|
+
}) => Promise<{
|
|
84
|
+
contents?: BunS3ListEntry[];
|
|
85
|
+
isTruncated?: boolean;
|
|
86
|
+
nextContinuationToken?: string;
|
|
87
|
+
}>;
|
|
88
|
+
presign: (key: string, options?: BunS3PresignOptions) => string;
|
|
89
|
+
stat: (key: string) => Promise<BunS3Stat>;
|
|
90
|
+
write: (key: string, data: BunS3WriteData, options?: {
|
|
91
|
+
type?: string;
|
|
92
|
+
}) => Promise<number>;
|
|
93
|
+
}
|
|
94
|
+
interface BunS3StorageOptions extends BaseStorageOptions {
|
|
95
|
+
/**
|
|
96
|
+
* S3 access key ID. Falls back to Bun's own env resolution
|
|
97
|
+
* (`S3_ACCESS_KEY_ID`, then `AWS_ACCESS_KEY_ID`). Ignored when `client`
|
|
98
|
+
* is supplied.
|
|
99
|
+
*/
|
|
100
|
+
accessKeyId?: string;
|
|
101
|
+
/**
|
|
102
|
+
* Canned ACL applied to uploads (e.g. `"public-read"`). Passed through
|
|
103
|
+
* to Bun's S3 client.
|
|
104
|
+
*/
|
|
105
|
+
acl?: string;
|
|
106
|
+
/**
|
|
107
|
+
* S3 bucket name. Falls back to Bun's env resolution (`S3_BUCKET`, then
|
|
108
|
+
* `AWS_BUCKET`). Ignored when `client` is supplied.
|
|
109
|
+
*/
|
|
110
|
+
bucket?: string;
|
|
111
|
+
/**
|
|
112
|
+
* Pre-built `Bun.S3Client` (or `Bun.s3` singleton). Use this to share an
|
|
113
|
+
* instance or inject a test stub. Mutually exclusive with the inline
|
|
114
|
+
* credential options.
|
|
115
|
+
*/
|
|
116
|
+
client?: BunS3ClientLike;
|
|
117
|
+
/**
|
|
118
|
+
* Custom S3-compatible endpoint. Falls back to Bun's env resolution
|
|
119
|
+
* (`S3_ENDPOINT`, then `AWS_ENDPOINT`). Ignored when `client` is
|
|
120
|
+
* supplied.
|
|
121
|
+
*/
|
|
122
|
+
endpoint?: string;
|
|
123
|
+
/**
|
|
124
|
+
* Configure metafiles storage for resumable-upload bookkeeping.
|
|
125
|
+
*/
|
|
126
|
+
metaStorageConfig?: LocalMetaStorageOptions;
|
|
127
|
+
/**
|
|
128
|
+
* S3 region. Falls back to Bun's env resolution (`S3_REGION`, then
|
|
129
|
+
* `AWS_REGION`). Ignored when `client` is supplied.
|
|
130
|
+
*/
|
|
131
|
+
region?: string;
|
|
132
|
+
/**
|
|
133
|
+
* S3 secret access key. Falls back to Bun's env resolution
|
|
134
|
+
* (`S3_SECRET_ACCESS_KEY`, then `AWS_SECRET_ACCESS_KEY`). Ignored when
|
|
135
|
+
* `client` is supplied.
|
|
136
|
+
*/
|
|
137
|
+
secretAccessKey?: string;
|
|
138
|
+
/**
|
|
139
|
+
* Temporary session token for STS credentials. Ignored when `client` is
|
|
140
|
+
* supplied.
|
|
141
|
+
*/
|
|
142
|
+
sessionToken?: string;
|
|
143
|
+
/**
|
|
144
|
+
* Use virtual-hosted-style addressing (`https://<bucket>.<host>/...`).
|
|
145
|
+
* Ignored when `client` is supplied.
|
|
146
|
+
*/
|
|
147
|
+
virtualHostedStyle?: boolean;
|
|
148
|
+
}
|
|
149
|
+
/**
|
|
150
|
+
* Bun-native S3 storage backend, backed by `Bun.S3Client` instead of the AWS
|
|
151
|
+
* SDK. Use this when you are already running on Bun and want to skip the AWS
|
|
152
|
+
* SDK dependency.
|
|
153
|
+
*
|
|
154
|
+
* Limitations (inherent to `Bun.S3Client`, which exposes no low-level
|
|
155
|
+
* multipart or server-side copy primitives):
|
|
156
|
+
*
|
|
157
|
+
* - No resumable / TUS multipart protocol. Each `write` uploads the supplied body in one shot (Bun handles large-object chunking internally). For resumable uploads use the `aws` or `aws-light` provider.
|
|
158
|
+
* - `copy` / `move` are client-side read-then-write — Bun has no server-side `CopyObject`.
|
|
159
|
+
* - `getUploadUrl` returns a presigned `PUT`; a `contentLength` cap cannot be enforced (Bun presign has no max-size policy) and is ignored.
|
|
160
|
+
* - ⚠️ Per-operation `signal`/`timeout` are best-effort: the underlying SDK does not support request cancellation, so an in-flight call may complete server-side even after abort. `retries` is honored.
|
|
161
|
+
*/
|
|
162
|
+
declare class BunS3Storage extends BaseStorage<BunS3File> {
|
|
163
|
+
static override readonly name: string;
|
|
164
|
+
protected meta: MetaStorage<BunS3File>;
|
|
165
|
+
private readonly client;
|
|
166
|
+
constructor(config: BunS3StorageOptions);
|
|
167
|
+
override get raw(): BunS3ClientLike;
|
|
168
|
+
create(config: FileInit, _options?: OperationOptions): Promise<BunS3File>;
|
|
169
|
+
write(part: BunS3File | FilePart | FileQuery, options?: OperationOptions): Promise<BunS3File>;
|
|
170
|
+
delete({
|
|
171
|
+
id
|
|
172
|
+
}: FileQuery, options?: OperationOptions): Promise<BunS3File>;
|
|
173
|
+
get({
|
|
174
|
+
id
|
|
175
|
+
}: FileQuery, options?: OperationOptions): Promise<FileReturn>;
|
|
176
|
+
override getStream({
|
|
177
|
+
id
|
|
178
|
+
}: FileQuery, options?: OperationOptions): Promise<{
|
|
179
|
+
headers?: Record<string, string>;
|
|
180
|
+
size?: number;
|
|
181
|
+
stream: Readable;
|
|
182
|
+
}>;
|
|
183
|
+
copy(name: string, destination: string, options?: OperationOptions & {
|
|
184
|
+
storageClass?: string;
|
|
185
|
+
}): Promise<BunS3File>;
|
|
186
|
+
move(name: string, destination: string, options?: OperationOptions): Promise<BunS3File>;
|
|
187
|
+
override list(limit?: number, options?: OperationOptions): Promise<BunS3File[]>;
|
|
188
|
+
override getReadUrl(key: string, options?: {
|
|
189
|
+
expiresIn?: number;
|
|
190
|
+
responseContentDisposition?: string;
|
|
191
|
+
responseContentType?: string;
|
|
192
|
+
}): Promise<string>;
|
|
193
|
+
override getUploadUrl(key: string, options?: {
|
|
194
|
+
contentLength?: number;
|
|
195
|
+
contentType?: string;
|
|
196
|
+
expiresIn?: number;
|
|
197
|
+
}): Promise<string>;
|
|
198
|
+
private internalOnComplete;
|
|
199
|
+
}
|
|
200
|
+
export { type BunS3ClientLike, BunS3File, BunS3MetaStorage, BunS3Storage, type BunS3StorageOptions };
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{default as t}from"../../packem_shared/BunS3File-BcYmsz1n.js";import{default as r}from"../../packem_shared/BunS3MetaStorage-DFwhEI9C.js";import{default as u}from"../../packem_shared/BunS3Storage-CB_pZWlV.js";export{t as BunS3File,r as BunS3MetaStorage,u as BunS3Storage};
|