@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.
- package/CHANGELOG.md +361 -0
- package/LICENSE.md +213 -573
- package/README.md +83 -470
- package/dist/adapter/nuxt/module.d.ts +41 -34
- package/dist/adapter/nuxt/module.js +1 -93
- package/dist/adapter/nuxt/node_modules/.bin/nuxi +22 -0
- package/dist/adapter/nuxt/node_modules/.bin/nuxt +22 -0
- 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 +361 -4
- package/dist/handler/http/node/index.js +1 -4
- 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 +58 -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/AwsLightFile-BSqjc_rD.js +1 -0
- package/dist/packem_shared/AwsLightMetaStorage-B-iQbToR.js +1 -0
- package/dist/packem_shared/AwsLightStorage-w21RxjUm.js +1 -0
- package/dist/packem_shared/AzureFile-Dgj2Tef4.js +1 -0
- package/dist/packem_shared/AzureSMetaStorage-CR-lfQNQ.js +1 -0
- package/dist/packem_shared/AzureStorage-2kl7JDXs.js +1 -0
- package/dist/packem_shared/BaseTransformer-Fpcuz4kj.js +1 -0
- package/dist/packem_shared/BoxFile-Be0S4N1L.js +1 -0
- package/dist/packem_shared/BoxMetaStorage-DLdXbZaV.js +1 -0
- package/dist/packem_shared/BoxStorage-BUeEJoGL.js +1 -0
- package/dist/packem_shared/BunS3File-D-SRiyrm.js +1 -0
- package/dist/packem_shared/BunS3MetaStorage-Bv_CTTMz.js +1 -0
- package/dist/packem_shared/BunS3Storage-WM3rF6Fw.js +1 -0
- package/dist/packem_shared/BunnyFile-Dotl-lO9.js +1 -0
- package/dist/packem_shared/BunnyMetaStorage-DNMTSeoN.js +1 -0
- package/dist/packem_shared/BunnyStorage-D3s2fRB3.js +1 -0
- package/dist/packem_shared/CloudinaryFile-B5-m33eS.js +1 -0
- package/dist/packem_shared/CloudinaryMetaStorage-DEBk5eQy.js +1 -0
- package/dist/packem_shared/CloudinaryStorage-BBE2-aVz.js +1 -0
- package/dist/packem_shared/DiskStorage-DL0GiG6k.js +1 -0
- package/dist/packem_shared/DiskStorageWithChecksum-BvUTn7O-.js +1 -0
- package/dist/packem_shared/DropboxFile-BGVG2kXM.js +1 -0
- package/dist/packem_shared/DropboxMetaStorage-C6vj1QDA.js +1 -0
- package/dist/packem_shared/DropboxStorage-BL3OIdE_.js +1 -0
- package/dist/packem_shared/ERRORS-CyOuSMLY.js +1 -0
- package/dist/packem_shared/File-BhfUgJjs.js +1 -0
- package/dist/packem_shared/Files-CJh9_N-9.js +1 -0
- package/dist/packem_shared/FirebaseFile-JEu3plMP.js +1 -0
- package/dist/packem_shared/FirebaseMetaStorage-CzyOim-J.js +1 -0
- package/dist/packem_shared/FirebaseStorage-lXMXy3Pm.js +2 -0
- package/dist/packem_shared/FtpFile-B8jaICTB.js +1 -0
- package/dist/packem_shared/FtpMetaStorage-1Njy0DpU.js +1 -0
- package/dist/packem_shared/FtpStorage-Dw94efNW.js +1 -0
- package/dist/packem_shared/GCSConfig-BQ0OpVhe.js +1 -0
- package/dist/packem_shared/GCSFile-CDQ6IWAz.js +1 -0
- package/dist/packem_shared/GCSMetaStorage-udgXA5ia.js +1 -0
- package/dist/packem_shared/GCStorage-ChY6uJuO.js +1 -0
- package/dist/packem_shared/GoogleDriveFile-D0aGfGbL.js +1 -0
- package/dist/packem_shared/GoogleDriveMetaStorage-WGuUZPyx.js +1 -0
- package/dist/packem_shared/GoogleDriveStorage-C0NhBBWH.js +1 -0
- package/dist/packem_shared/LocalMetaStorage-QMKL7McF.js +1 -0
- package/dist/packem_shared/MediaTransformer-D-1c9Q_k.js +1 -0
- package/dist/packem_shared/MetaStorage-Y4m1dWgd.js +1 -0
- package/dist/packem_shared/Metadata-B6Ir0KO7.js +1 -0
- package/dist/packem_shared/Multipart-CIFfQksD.js +1 -0
- package/dist/packem_shared/Multipart-D9WIud9R.js +1 -0
- package/dist/packem_shared/NetlifyBlobFile-PMZLJ8AC.js +1 -0
- package/dist/packem_shared/NetlifyBlobMetaStorage-ClIFdTkT.js +1 -0
- package/dist/packem_shared/NetlifyBlobStorage-CO89TGvF.js +1 -0
- package/dist/packem_shared/NoOpMetrics-Dky06sf1.js +1 -0
- package/dist/packem_shared/OneDriveFile-XbVVKIJh.js +1 -0
- package/dist/packem_shared/OneDriveMetaStorage-DS4f83X2.js +1 -0
- package/dist/packem_shared/OneDriveStorage-jAN46vRm.js +1 -0
- package/dist/packem_shared/OpenTelemetryMetrics-9uxQMSlg.js +1 -0
- package/dist/packem_shared/PocketBaseFile-CkAiSBb0.js +1 -0
- package/dist/packem_shared/PocketBaseMetaStorage-B6utPncj.js +1 -0
- package/dist/packem_shared/PocketBaseStorage-DpOjOKAt.js +1 -0
- package/dist/packem_shared/Rest-BuD3ySAg.js +1 -0
- package/dist/packem_shared/Rest-URrQ5FYM.js +1 -0
- package/dist/packem_shared/S3File-BfmCOET4.js +1 -0
- package/dist/packem_shared/S3MetaStorage-vcriiosn.js +1 -0
- package/dist/packem_shared/S3Storage-n1ohEZj4.js +1 -0
- package/dist/packem_shared/SftpFile-CQCxZNVq.js +1 -0
- package/dist/packem_shared/SftpMetaStorage-DYqXwCdM.js +1 -0
- package/dist/packem_shared/SftpStorage-Ban-WN8v.js +1 -0
- package/dist/packem_shared/SharePointFile-BA6X9Sxr.js +1 -0
- package/dist/packem_shared/SharePointMetaStorage-DVM5-X6g.js +1 -0
- package/dist/packem_shared/SharePointStorage-BY90zh1c.js +1 -0
- package/dist/packem_shared/SupabaseFile-DZ1iv9gM.js +1 -0
- package/dist/packem_shared/SupabaseMetaStorage-ivXoYVUu.js +1 -0
- package/dist/packem_shared/SupabaseStorage-pNbHAE1Y.js +1 -0
- package/dist/packem_shared/TUS_RESUMABLE-B7KtPVeC.js +1 -0
- package/dist/packem_shared/Tus-Fp_hx5ug.js +1 -0
- package/dist/packem_shared/Tus-TNG9HAY8.js +1 -0
- package/dist/packem_shared/UploadThingFile-BpG9mE8K.js +1 -0
- package/dist/packem_shared/UploadThingMetaStorage-BvKNzgm7.js +1 -0
- package/dist/packem_shared/UploadThingStorage-BcmIE2dI.js +1 -0
- package/dist/packem_shared/ValidationError-D8KKJiKA.js +1 -0
- package/dist/packem_shared/VercelBlobFile-Cni_1qwD.js +1 -0
- package/dist/packem_shared/VercelBlobMetaStorage-CwaqWucZ.js +1 -0
- package/dist/packem_shared/VercelBlobStorage-s260zfFo.js +1 -0
- package/dist/packem_shared/_commonjsHelpers-D6W6KoPK.js +1 -0
- package/dist/packem_shared/agentsListFiles-R-CnGKc4.js +1 -0
- package/dist/packem_shared/akamai-BYS9pP8S.js +1 -0
- package/dist/packem_shared/alibaba-BJQ6ijoK.js +1 -0
- package/dist/packem_shared/approval-BBeX3o4E.js +1 -0
- package/dist/packem_shared/approval.d-CMAYH9GF.d.ts +75 -0
- package/dist/packem_shared/aws-light-meta-storage-CstQBYXG.js +4 -0
- package/dist/packem_shared/azure-meta-storage-C4SrMtT2.js +1 -0
- package/dist/packem_shared/backblaze-CvdtCvJL.js +1 -0
- package/dist/packem_shared/base-handler-core-BYDQditz.js +1 -0
- package/dist/packem_shared/base-handler-fetch-DWzsPkmV.js +1 -0
- package/dist/packem_shared/base-handler-node-Dety2rQB.js +1 -0
- package/dist/packem_shared/cache-qV_5Umeq.js +1 -0
- package/dist/packem_shared/claudeListFiles-DAezbKEi.js +1 -0
- package/dist/packem_shared/cloudflare-Bm_Pg6yx.js +1 -0
- package/dist/packem_shared/createResponsesFileTools-BCep-qdO.js +1 -0
- package/dist/packem_shared/defaultCloudStorageFileNameValidation-shIZX_7L.js +1 -0
- package/dist/packem_shared/detect-file-type-5JhzC9RU.js +1 -0
- package/dist/packem_shared/digitalOcean-Lj1NfDzc.js +1 -0
- package/dist/packem_shared/disk-storage-CKAJvhcj.js +1 -0
- package/dist/packem_shared/disk-storage-with-checksum.d-mHcg2uLw.d.ts +150 -0
- package/dist/packem_shared/executors-DG6hGtvm.js +1 -0
- package/dist/packem_shared/executors.d-X4hz3zfu.d.ts +65 -0
- package/dist/packem_shared/exoscale-O0HzxoDz.js +1 -0
- package/dist/packem_shared/filebase-D-urO4Ob.js +1 -0
- package/dist/packem_shared/gcs-meta-storage-mZiqlX-9.js +1 -0
- package/dist/packem_shared/has-content-Bx2p8Okx.js +1 -0
- package/dist/packem_shared/headers-DC2MEOrK.js +27 -0
- package/dist/packem_shared/hetzner-DDxE7Gy7.js +1 -0
- package/dist/packem_shared/ibmCos-Rx_yku4H.js +1 -0
- package/dist/packem_shared/idriveE2-BFhw0Vwy.js +1 -0
- package/dist/packem_shared/index-B4ETk0Lu.js +5 -0
- package/dist/packem_shared/index.d-C4Fivh4I.d.ts +94 -0
- package/dist/packem_shared/is-expired-1JuZjDtb.js +1 -0
- package/dist/packem_shared/isRetryableError-BhizNeAz.js +1 -0
- package/dist/packem_shared/isValidMediaType-B-2UKjZx.js +1 -0
- package/dist/packem_shared/listFiles-B6VF05d-.js +1 -0
- package/dist/packem_shared/listFiles-BtP6VnUp.js +1 -0
- package/dist/packem_shared/local-meta-storage-Bi0mK6gD.js +1 -0
- package/dist/packem_shared/local-meta-storage.d-B11vHYNm.d.ts +21 -0
- package/dist/packem_shared/media-transformer.d-C3QvECD7.d.ts +331 -0
- package/dist/packem_shared/minio-T_Z3iEy7.js +1 -0
- package/dist/packem_shared/multipart-base-BxckfvQf.js +1 -0
- package/dist/packem_shared/oauth-refresh-Dg2ybc6_.js +1 -0
- package/dist/packem_shared/oracleCloud-D5T9s4JV.js +1 -0
- package/dist/packem_shared/ovhCloud-DCwef2fe.js +1 -0
- package/dist/packem_shared/part-match-B5fLLmFw.js +1 -0
- package/dist/packem_shared/path-D7rMc9nq-B718mbm6.js +1 -0
- package/dist/packem_shared/posix-dirname-CiHXPPnw.js +1 -0
- package/dist/packem_shared/response-builder-Wdo_fvcF.js +1 -0
- package/dist/packem_shared/rest-base-DI7xFXr5.js +1 -0
- package/dist/packem_shared/restOpenApiSpec-PaIVbESh.js +1 -0
- package/dist/packem_shared/s3-base-storage-Dbexfg7p.js +1 -0
- package/dist/packem_shared/s3-base-storage.d-V3N2nKCt.d.ts +260 -0
- package/dist/packem_shared/scaleway-ygRXOss9.js +1 -0
- package/dist/packem_shared/sharedGet-Ce7WGAsc.js +1 -0
- package/dist/packem_shared/storage-Dh0tJh7j.js +1 -0
- package/dist/packem_shared/storage.d-RteRC-cG.d.ts +1106 -0
- package/dist/packem_shared/storj-CVA9mM-7.js +1 -0
- package/dist/packem_shared/tencent-CAcAGaIW.js +1 -0
- package/dist/packem_shared/tigris-wmhjfsH2.js +1 -0
- package/dist/packem_shared/transformOpenApiSpec-C0vEbDTO.js +1 -0
- package/dist/packem_shared/tus-base.d-CygntIPM.d.ts +99 -0
- package/dist/packem_shared/tusOpenApiSpec-DF0-hlWV.js +1 -0
- package/dist/packem_shared/types.d-ChNXbbHG.d.ts +104 -0
- package/dist/packem_shared/types.d-DxonY4XS.d.ts +720 -0
- package/dist/packem_shared/types.d-cI_cMxcZ.d.ts +49 -0
- package/dist/packem_shared/update-size-DANV7aa2.js +1 -0
- package/dist/packem_shared/vultr-lK9L-sFk.js +1 -0
- package/dist/packem_shared/waitForStorage-ChSBLhLc.js +1 -0
- package/dist/packem_shared/wasabi-JQzxdrFy.js +1 -0
- package/dist/packem_shared/xhrOpenApiSpec-nyoboz83.js +1 -0
- package/dist/packem_shared/yandex-ZwvE77v4.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 +321 -4
- package/dist/storage/aws/index.js +1 -3
- package/dist/storage/aws-light/index.d.ts +254 -4
- package/dist/storage/aws-light/index.js +1 -3
- package/dist/storage/azure/index.d.ts +217 -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 +85 -0
- package/dist/storage/ftp/index.js +1 -0
- package/dist/storage/gcs/index.d.ts +181 -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/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 +86 -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 +195 -47
- 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-BMFEdzJ7.js +0 -7
- package/dist/packem_shared/GCStorage-DnhiwaS9.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-CNFK_Okz.js +0 -163
- package/dist/packem_shared/Multipart-CtUL7BQw.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-CAOAEkOj.js +0 -267
- package/dist/packem_shared/Rest-DNuLwBrK.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-GJzZ9R-f.js +0 -434
- package/dist/packem_shared/Tus-B8PmlMgR.js +0 -200
- package/dist/packem_shared/Tus-C4F1aYOl.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-BKuf4YLT.js +0 -303
- package/dist/packem_shared/base-handler-fetch-Cr0hLiqg.js +0 -291
- package/dist/packem_shared/base-handler-node-gk5aN9Cx.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-0tgMNnPO.js +0 -158
- package/dist/packem_shared/has-content-CY66ehMK.js +0 -3
- package/dist/packem_shared/headers-DoS5nwM-.js +0 -3220
- 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-B3i67SSX.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-GRCcnan7.js +0 -457
- package/dist/packem_shared/restOpenApiSpec-CwcHHY2C.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-6ohiToBy.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-DS17brnx.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,5 +1,181 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
1
|
+
import { F as File, t as MetaStorageOptions, L as LocalMetaStorageOptions, i as BaseStorageOptions, M as MetaStorage, H as HttpError, e as FileInit, O as OperationOptions, f as FilePart, g as FileQuery, a as FileReturn, B as BaseStorage } from "../../packem_shared/storage.d-RteRC-cG.js";
|
|
2
|
+
import 'node:stream';
|
|
3
|
+
import { RetryConfig } from 'gaxios';
|
|
4
|
+
import { GoogleAuthOptions, GoogleAuth } from 'google-auth-library';
|
|
5
|
+
import 'node:crypto';
|
|
6
|
+
import 'node:http';
|
|
7
|
+
import 'lru-cache';
|
|
8
|
+
declare const GCSConfig: Record<string, string | string[]>;
|
|
9
|
+
declare class GCSFile extends File {
|
|
10
|
+
GCSUploadURI?: string;
|
|
11
|
+
uri?: string;
|
|
12
|
+
}
|
|
13
|
+
interface StorageSettings {
|
|
14
|
+
projectId: string;
|
|
15
|
+
retryOptions?: RetryConfig;
|
|
16
|
+
storageAPI?: string;
|
|
17
|
+
uploadAPI?: string;
|
|
18
|
+
useAuthWithCustomEndpoint?: boolean;
|
|
19
|
+
userProject?: string;
|
|
20
|
+
}
|
|
21
|
+
interface ClientError extends Error {
|
|
22
|
+
code: string;
|
|
23
|
+
config: Record<string, unknown>;
|
|
24
|
+
response?: Record<string, unknown>;
|
|
25
|
+
}
|
|
26
|
+
interface GCStorageOptions extends BaseStorageOptions, Omit<GoogleAuthOptions, "authClient" | "projectId">, StorageSettings {
|
|
27
|
+
/**
|
|
28
|
+
* Google Cloud Storage bucket
|
|
29
|
+
*/
|
|
30
|
+
bucket?: string;
|
|
31
|
+
/**
|
|
32
|
+
* Force compatible client upload directly to GCS
|
|
33
|
+
*/
|
|
34
|
+
clientDirectUpload?: boolean;
|
|
35
|
+
/**
|
|
36
|
+
* Configure metafiles storage
|
|
37
|
+
* @example
|
|
38
|
+
* ```ts
|
|
39
|
+
* Using local metafiles
|
|
40
|
+
* const storage = new GCStorage({
|
|
41
|
+
* bucket: 'upload',
|
|
42
|
+
* metaStorageConfig: { directory: '/tmp/upload-metafiles' }
|
|
43
|
+
* })
|
|
44
|
+
* ```
|
|
45
|
+
* Using a separate bucket for metafiles
|
|
46
|
+
* ```ts
|
|
47
|
+
* const storage = new GCStorage({
|
|
48
|
+
* bucket: 'upload',
|
|
49
|
+
* metaStorageConfig: { bucket: 'upload-metafiles' }
|
|
50
|
+
* })
|
|
51
|
+
* ```
|
|
52
|
+
*/
|
|
53
|
+
metaStorageConfig?: GCSMetaStorageOptions | LocalMetaStorageOptions;
|
|
54
|
+
}
|
|
55
|
+
interface GCSMetaStorageOptions extends MetaStorageOptions, Omit<GoogleAuthOptions, "authClient" | "projectId">, StorageSettings {
|
|
56
|
+
bucket?: string;
|
|
57
|
+
}
|
|
58
|
+
declare class GCSMetaStorage<T extends File = File> extends MetaStorage<T> {
|
|
59
|
+
readonly config: GCSMetaStorageOptions;
|
|
60
|
+
private authClient;
|
|
61
|
+
private readonly storageBaseURI;
|
|
62
|
+
private readonly uploadBaseURI;
|
|
63
|
+
private readonly isCustomEndpoint;
|
|
64
|
+
private readonly retryOptions;
|
|
65
|
+
private readonly useAuthWithCustomEndpoint;
|
|
66
|
+
private readonly userProject;
|
|
67
|
+
constructor(config: GCSMetaStorageOptions);
|
|
68
|
+
override save(id: string, file: T): Promise<T>;
|
|
69
|
+
override delete(id: string): Promise<void>;
|
|
70
|
+
override get(id: string): Promise<T>;
|
|
71
|
+
override touch(id: string, file: T): Promise<T>;
|
|
72
|
+
private accessCheck;
|
|
73
|
+
/**
|
|
74
|
+
* Returns metafile URL path for the given upload ID.
|
|
75
|
+
* @param id Upload ID to get metafile path for
|
|
76
|
+
* @returns Full URL path to the metafile in GCS
|
|
77
|
+
*/
|
|
78
|
+
private getMetaPath;
|
|
79
|
+
private makeRequest;
|
|
80
|
+
}
|
|
81
|
+
/**
|
|
82
|
+
* Google cloud storage based backend.
|
|
83
|
+
* @example
|
|
84
|
+
* ```ts
|
|
85
|
+
* const storage = new GCStorage({
|
|
86
|
+
* bucket: <YOUR_BUCKET>,
|
|
87
|
+
* keyFile: <PATH_TO_KEY_FILE>,
|
|
88
|
+
* metaStorage: new MetaStorage(),
|
|
89
|
+
* clientDirectUpload: true,
|
|
90
|
+
* maxUploadSize: '15GB',
|
|
91
|
+
* allowMIME: ['video/*', 'image/*'],
|
|
92
|
+
* filename: file => file.originalName
|
|
93
|
+
* });
|
|
94
|
+
* ```
|
|
95
|
+
* @remarks
|
|
96
|
+
* ## Supported Operations
|
|
97
|
+
* - ✅ create, write, delete, get, list, update, copy, move
|
|
98
|
+
* - ✅ Batch operations: deleteBatch, copyBatch, moveBatch (inherited from BaseStorage)
|
|
99
|
+
* - ✅ exists: Implemented (checks metadata and GCS object)
|
|
100
|
+
* - ❌ getStream: Not implemented (use get() for file retrieval)
|
|
101
|
+
* - ❌ getUrl: Not implemented (GCS public URLs not supported)
|
|
102
|
+
* - ❌ getUploadUrl: Not implemented (resumable upload URLs handled internally)
|
|
103
|
+
*/
|
|
104
|
+
declare class GCStorage extends BaseStorage<GCSFile> {
|
|
105
|
+
static override readonly name: string;
|
|
106
|
+
override checksumTypes: string[];
|
|
107
|
+
override get raw(): GoogleAuth;
|
|
108
|
+
protected meta: MetaStorage;
|
|
109
|
+
private readonly bucket;
|
|
110
|
+
private authClient;
|
|
111
|
+
private readonly storageBaseURI;
|
|
112
|
+
private readonly uploadBaseURI;
|
|
113
|
+
private readonly isCustomEndpoint;
|
|
114
|
+
private readonly retryOptions;
|
|
115
|
+
private readonly useAuthWithCustomEndpoint;
|
|
116
|
+
private readonly userProject;
|
|
117
|
+
constructor(config: GCStorageOptions);
|
|
118
|
+
override normalizeError(error: ClientError): HttpError;
|
|
119
|
+
create(config: FileInit, options?: OperationOptions): Promise<GCSFile>;
|
|
120
|
+
write(part: FilePart | FileQuery | GCSFile, options?: OperationOptions): Promise<GCSFile>;
|
|
121
|
+
/**
|
|
122
|
+
* Deletes an upload and its metadata.
|
|
123
|
+
* @param query File query containing the file ID to delete.
|
|
124
|
+
* @param query.id File ID to delete.
|
|
125
|
+
* @returns Promise resolving to the deleted file object with status: "deleted".
|
|
126
|
+
* @throws {UploadError} If the file metadata cannot be found.
|
|
127
|
+
*/
|
|
128
|
+
delete({
|
|
129
|
+
id
|
|
130
|
+
}: FileQuery, options?: OperationOptions): Promise<GCSFile>;
|
|
131
|
+
/**
|
|
132
|
+
* Copies an upload file to a new location.
|
|
133
|
+
* @param name Source file name/ID.
|
|
134
|
+
* @param destination Destination file name/ID.
|
|
135
|
+
* @returns Promise resolving to the copied file object.
|
|
136
|
+
* @throws {UploadError} If the source file cannot be found.
|
|
137
|
+
*/
|
|
138
|
+
copy(name: string, destination: string, options?: OperationOptions & {
|
|
139
|
+
storageClass?: string;
|
|
140
|
+
}): Promise<GCSFile>;
|
|
141
|
+
/**
|
|
142
|
+
* Moves an upload file to a new location.
|
|
143
|
+
* @param name Source file name/ID.
|
|
144
|
+
* @param destination Destination file name/ID.
|
|
145
|
+
* @returns Promise resolving to the moved file object.
|
|
146
|
+
* @throws {UploadError} If the source file cannot be found.
|
|
147
|
+
*/
|
|
148
|
+
move(name: string, destination: string, options?: OperationOptions): Promise<GCSFile>;
|
|
149
|
+
/**
|
|
150
|
+
* Gets an uploaded file by ID with content buffer.
|
|
151
|
+
* @param query File query object containing the file ID.
|
|
152
|
+
* @param query.id Unique identifier of the file to retrieve.
|
|
153
|
+
* @returns Promise resolving to file object with content buffer.
|
|
154
|
+
* @throws {UploadError} If the file cannot be found (ERRORS.FILE_NOT_FOUND) or has expired (ERRORS.GONE).
|
|
155
|
+
*/
|
|
156
|
+
get({
|
|
157
|
+
id
|
|
158
|
+
}: FileQuery, options?: OperationOptions): Promise<FileReturn>;
|
|
159
|
+
/**
|
|
160
|
+
* Checks if a file exists by verifying both metadata and the actual GCS object.
|
|
161
|
+
* Returns true only if both the metadata and the GCS object exist.
|
|
162
|
+
* @param query File query containing the file ID to check.
|
|
163
|
+
* @returns Promise resolving to true if both metadata and GCS object exist, false otherwise.
|
|
164
|
+
*/
|
|
165
|
+
override exists({
|
|
166
|
+
id
|
|
167
|
+
}: FileQuery, options?: OperationOptions): Promise<boolean>;
|
|
168
|
+
override list(limit?: number, options?: OperationOptions): Promise<GCSFile[]>;
|
|
169
|
+
protected internalWrite(part: GCSFile & Partial<FilePart>, callOptions?: OperationOptions): Promise<number>;
|
|
170
|
+
private internalOnComplete;
|
|
171
|
+
/**
|
|
172
|
+
* Merge a body-level abort signal with the caller's per-operation
|
|
173
|
+
* `options.signal` so gaxios cancels the in-flight request on either.
|
|
174
|
+
* `options.timeout` is handed to gaxios' native `timeout` instead of a
|
|
175
|
+
* second `AbortSignal.timeout` to avoid two competing deadlines.
|
|
176
|
+
*/
|
|
177
|
+
private static buildCallSignal;
|
|
178
|
+
private makeRequest;
|
|
179
|
+
private accessCheck;
|
|
180
|
+
}
|
|
181
|
+
export { type ClientError, GCSConfig, GCSFile, GCSMetaStorage, type GCSMetaStorageOptions, GCStorage, type GCStorageOptions };
|
|
@@ -1,4 +1 @@
|
|
|
1
|
-
|
|
2
|
-
export { default as GCSFile } from '../../packem_shared/GCSFile-BIEunhAN.js';
|
|
3
|
-
export { G as GCSMetaStorage } from '../../packem_shared/gcs-meta-storage-0tgMNnPO.js';
|
|
4
|
-
export { default as GCStorage } from '../../packem_shared/GCStorage-DnhiwaS9.js';
|
|
1
|
+
import{default as a}from"../../packem_shared/GCSConfig-BQ0OpVhe.js";import{default as t}from"../../packem_shared/GCSFile-CDQ6IWAz.js";import{E as C}from"../../packem_shared/gcs-meta-storage-mZiqlX-9.js";import{default as l}from"../../packem_shared/GCStorage-ChY6uJuO.js";export{a as GCSConfig,t as GCSFile,C as GCSMetaStorage,l as GCStorage};
|
|
@@ -0,0 +1,148 @@
|
|
|
1
|
+
import { F as File, L as LocalMetaStorageOptions, i as BaseStorageOptions, M as MetaStorage, e as FileInit, O as OperationOptions, f as FilePart, g as FileQuery, a as FileReturn, B as BaseStorage } from "../../packem_shared/storage.d-RteRC-cG.js";
|
|
2
|
+
import 'node:stream';
|
|
3
|
+
import { L as LocalMetaStorage } from "../../packem_shared/local-meta-storage.d-B11vHYNm.js";
|
|
4
|
+
import { drive_v3 } from '@googleapis/drive';
|
|
5
|
+
import 'node:crypto';
|
|
6
|
+
import 'node:http';
|
|
7
|
+
import 'lru-cache';
|
|
8
|
+
declare class GoogleDriveFile extends File {
|
|
9
|
+
driveFileId?: string;
|
|
10
|
+
mimeType?: string;
|
|
11
|
+
publicUrl?: string;
|
|
12
|
+
}
|
|
13
|
+
declare class GoogleDriveMetaStorage extends LocalMetaStorage<GoogleDriveFile> {
|
|
14
|
+
constructor(config?: LocalMetaStorageOptions);
|
|
15
|
+
}
|
|
16
|
+
interface GoogleDriveStorageOptions extends BaseStorageOptions {
|
|
17
|
+
/**
|
|
18
|
+
* Pre-built `@googleapis/drive` v3 client. Escape hatch for callers that
|
|
19
|
+
* have already wired auth (workload identity, ADC, etc.). When set, the
|
|
20
|
+
* adapter uses it directly and `getUploadUrl()` will throw because there's
|
|
21
|
+
* no stable way to recover the underlying auth handle.
|
|
22
|
+
*/
|
|
23
|
+
client?: drive_v3.Drive;
|
|
24
|
+
/**
|
|
25
|
+
* Inline service-account credentials. Mints a `JWT` auth client with
|
|
26
|
+
* `https://www.googleapis.com/auth/drive` scope. Mutually exclusive with
|
|
27
|
+
* the other auth shapes.
|
|
28
|
+
*/
|
|
29
|
+
credentials?: {
|
|
30
|
+
client_email: string;
|
|
31
|
+
private_key: string;
|
|
32
|
+
};
|
|
33
|
+
/**
|
|
34
|
+
* Shared Drive id. **Strongly recommended for service-account auth** —
|
|
35
|
+
* service accounts have a 15 GB personal quota; production workloads
|
|
36
|
+
* should target a Shared Drive with the service account added as a member.
|
|
37
|
+
*/
|
|
38
|
+
driveId?: string;
|
|
39
|
+
/**
|
|
40
|
+
* LRU capacity for the in-memory virtual-key → fileId cache. Drive has
|
|
41
|
+
* no native key field; every read after the first round-trips a
|
|
42
|
+
* `files.list` to resolve the id, which the cache amortizes. Defaults to
|
|
43
|
+
* 1024.
|
|
44
|
+
*/
|
|
45
|
+
fileIdCacheSize?: number;
|
|
46
|
+
/**
|
|
47
|
+
* Path to a service-account JSON file. Mutually exclusive with the other
|
|
48
|
+
* auth shapes.
|
|
49
|
+
*/
|
|
50
|
+
keyFilename?: string;
|
|
51
|
+
/**
|
|
52
|
+
* Configure metafiles storage. Defaults to local tmp directory.
|
|
53
|
+
*/
|
|
54
|
+
metaStorageConfig?: LocalMetaStorageOptions;
|
|
55
|
+
/**
|
|
56
|
+
* OAuth refresh token (3-legged OAuth, end-user Drive). The adapter mints
|
|
57
|
+
* fresh access tokens against `clientId`/`clientSecret`. Mutually
|
|
58
|
+
* exclusive with the other auth shapes.
|
|
59
|
+
*/
|
|
60
|
+
oauth?: {
|
|
61
|
+
clientId: string;
|
|
62
|
+
clientSecret: string;
|
|
63
|
+
refreshToken: string;
|
|
64
|
+
};
|
|
65
|
+
/**
|
|
66
|
+
* When `true`, `write()` also creates an "anyone with link, reader"
|
|
67
|
+
* permission and `getReadUrl()` returns the Drive public download URL.
|
|
68
|
+
* When `false` (default), `getReadUrl()` throws — Drive has no signed-URL
|
|
69
|
+
* primitive.
|
|
70
|
+
*/
|
|
71
|
+
publicByDefault?: boolean;
|
|
72
|
+
/**
|
|
73
|
+
* Logical "bucket root" — virtual keys live under this folder. Defaults
|
|
74
|
+
* to `"root"` (My Drive root) or, when `driveId` is set, the Shared
|
|
75
|
+
* Drive root id should be used here.
|
|
76
|
+
*/
|
|
77
|
+
rootFolderId?: string;
|
|
78
|
+
/**
|
|
79
|
+
* Domain-wide delegation subject (the user to impersonate). Only honored
|
|
80
|
+
* with `credentials` or `keyFilename`.
|
|
81
|
+
*/
|
|
82
|
+
subject?: string;
|
|
83
|
+
}
|
|
84
|
+
/**
|
|
85
|
+
* Google Drive storage backend.
|
|
86
|
+
*
|
|
87
|
+
* Drive is **not** a key-value store — it organizes files by `fileId`, and a
|
|
88
|
+
* single virtual key (e.g. `"docs/report.pdf"`) can map to multiple Drive
|
|
89
|
+
* files. The adapter routes by `appProperties.fsdkKey`, which it sets on
|
|
90
|
+
* every upload and resolves via `files.list` on every read. An LRU cache
|
|
91
|
+
* amortizes the resolve cost.
|
|
92
|
+
*
|
|
93
|
+
* **Auth precedence**:
|
|
94
|
+
* 1. `client` (pre-built `drive_v3.Drive`)
|
|
95
|
+
* 2. `credentials` (inline service account)
|
|
96
|
+
* 3. `keyFilename` (service-account JSON path)
|
|
97
|
+
* 4. `oauth` (refresh token + clientId/clientSecret)
|
|
98
|
+
* 5. Env fallback: `GOOGLE_DRIVE_CLIENT_EMAIL` + `GOOGLE_DRIVE_PRIVATE_KEY`, or
|
|
99
|
+
* `GOOGLE_DRIVE_KEY_FILE` (optional: `GOOGLE_DRIVE_SUBJECT` for DWD).
|
|
100
|
+
*
|
|
101
|
+
* **Limitations**:
|
|
102
|
+
* - `getReadUrl()` only works with `publicByDefault: true` — Drive has no
|
|
103
|
+
* signed-URL primitive.
|
|
104
|
+
* - `responseContentDisposition` is not supported.
|
|
105
|
+
* - `getUploadUrl()` requires explicit `credentials`/`keyFilename`/`oauth`
|
|
106
|
+
* (not a pre-built `client`) so we can mint access tokens for the
|
|
107
|
+
* resumable session.
|
|
108
|
+
* - ⚠️ 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.
|
|
109
|
+
*/
|
|
110
|
+
declare class GoogleDriveStorage extends BaseStorage<GoogleDriveFile> {
|
|
111
|
+
static override readonly name: string;
|
|
112
|
+
override checksumTypes: string[];
|
|
113
|
+
protected meta: MetaStorage<GoogleDriveFile>;
|
|
114
|
+
private readonly authForTokens;
|
|
115
|
+
private readonly driveClient;
|
|
116
|
+
private readonly fileIdCache;
|
|
117
|
+
private readonly publicByDefault;
|
|
118
|
+
private readonly rootFolderId;
|
|
119
|
+
private readonly sharedDriveParams;
|
|
120
|
+
constructor(config: GoogleDriveStorageOptions);
|
|
121
|
+
override get raw(): drive_v3.Drive;
|
|
122
|
+
create(config: FileInit, _options?: OperationOptions): Promise<GoogleDriveFile>;
|
|
123
|
+
write(part: FilePart | FileQuery | GoogleDriveFile, options?: OperationOptions): Promise<GoogleDriveFile>;
|
|
124
|
+
delete({
|
|
125
|
+
id
|
|
126
|
+
}: FileQuery, options?: OperationOptions): Promise<GoogleDriveFile>;
|
|
127
|
+
get({
|
|
128
|
+
id
|
|
129
|
+
}: FileQuery, options?: OperationOptions): Promise<FileReturn>;
|
|
130
|
+
copy(name: string, destination: string, options?: OperationOptions & {
|
|
131
|
+
storageClass?: string;
|
|
132
|
+
}): Promise<GoogleDriveFile>;
|
|
133
|
+
move(name: string, destination: string, options?: OperationOptions): Promise<GoogleDriveFile>;
|
|
134
|
+
override list(limit?: number, options?: OperationOptions): Promise<GoogleDriveFile[]>;
|
|
135
|
+
override getReadUrl(key: string, options?: {
|
|
136
|
+
expiresIn?: number;
|
|
137
|
+
responseContentDisposition?: string;
|
|
138
|
+
responseContentType?: string;
|
|
139
|
+
}): Promise<string>;
|
|
140
|
+
override getUploadUrl(key: string, options?: {
|
|
141
|
+
contentLength?: number;
|
|
142
|
+
contentType?: string;
|
|
143
|
+
expiresIn?: number;
|
|
144
|
+
}): Promise<string>;
|
|
145
|
+
private resolveFileId;
|
|
146
|
+
private internalOnComplete;
|
|
147
|
+
}
|
|
148
|
+
export { GoogleDriveFile, GoogleDriveMetaStorage, GoogleDriveStorage, type GoogleDriveStorageOptions };
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{default as r}from"../../packem_shared/GoogleDriveFile-D0aGfGbL.js";import{default as t}from"../../packem_shared/GoogleDriveMetaStorage-WGuUZPyx.js";import{default as f}from"../../packem_shared/GoogleDriveStorage-C0NhBBWH.js";export{r as GoogleDriveFile,t as GoogleDriveMetaStorage,f as GoogleDriveStorage};
|
|
@@ -1,4 +1,7 @@
|
|
|
1
|
-
export {
|
|
2
|
-
export {
|
|
3
|
-
export type
|
|
4
|
-
|
|
1
|
+
export { D as DiskStorage, a as DiskStorageWithChecksum } from "../../packem_shared/disk-storage-with-checksum.d-mHcg2uLw.js";
|
|
2
|
+
export { L as LocalMetaStorage } from "../../packem_shared/local-meta-storage.d-B11vHYNm.js";
|
|
3
|
+
export { type L as LocalMetaStorageOptions } from "../../packem_shared/storage.d-RteRC-cG.js";
|
|
4
|
+
import 'node:stream';
|
|
5
|
+
import 'node:crypto';
|
|
6
|
+
import 'node:http';
|
|
7
|
+
import 'lru-cache';
|
|
@@ -1,3 +1 @@
|
|
|
1
|
-
|
|
2
|
-
export { default as DiskStorageWithChecksum } from '../../packem_shared/DiskStorageWithChecksum-BJTmMklc.js';
|
|
3
|
-
export { L as LocalMetaStorage } from '../../packem_shared/local-meta-storage-By-3SNBI.js';
|
|
1
|
+
import{f as e}from"../../packem_shared/disk-storage-CKAJvhcj.js";import{default as t}from"../../packem_shared/DiskStorageWithChecksum-BvUTn7O-.js";import{v as f}from"../../packem_shared/local-meta-storage-Bi0mK6gD.js";export{e as DiskStorage,t as DiskStorageWithChecksum,f as LocalMetaStorage};
|
|
@@ -1,4 +1,147 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
1
|
+
import { F as File, L as LocalMetaStorageOptions, i as BaseStorageOptions, M as MetaStorage, R as RetryConfig, e as FileInit, O as OperationOptions, f as FilePart, g as FileQuery, a as FileReturn, B as BaseStorage } from "../../packem_shared/storage.d-RteRC-cG.js";
|
|
2
|
+
import 'node:stream';
|
|
3
|
+
import { L as LocalMetaStorage } from "../../packem_shared/local-meta-storage.d-B11vHYNm.js";
|
|
4
|
+
import { getStore } from '@netlify/blobs';
|
|
5
|
+
import 'node:crypto';
|
|
6
|
+
import 'node:http';
|
|
7
|
+
import 'lru-cache';
|
|
8
|
+
declare class NetlifyBlobFile extends File {
|
|
9
|
+
/**
|
|
10
|
+
* The blob's public URL
|
|
11
|
+
*/
|
|
12
|
+
url?: string;
|
|
13
|
+
/**
|
|
14
|
+
* The blob's pathname within the store
|
|
15
|
+
*/
|
|
16
|
+
pathname?: string;
|
|
17
|
+
}
|
|
18
|
+
declare class NetlifyBlobMetaStorage extends LocalMetaStorage {
|
|
19
|
+
constructor(config?: LocalMetaStorageOptions);
|
|
20
|
+
}
|
|
21
|
+
interface NetlifyBlobStorageOptions extends BaseStorageOptions {
|
|
22
|
+
/**
|
|
23
|
+
* Configure metafiles storage
|
|
24
|
+
* @example
|
|
25
|
+
* Using local metafiles
|
|
26
|
+
* ```ts
|
|
27
|
+
* const storage = new NetlifyBlobStorage({
|
|
28
|
+
* storeName: 'uploads',
|
|
29
|
+
* metaStorageConfig: { directory: '/tmp/upload-metafiles' }
|
|
30
|
+
* })
|
|
31
|
+
* ```
|
|
32
|
+
*/
|
|
33
|
+
metaStorageConfig?: LocalMetaStorageOptions;
|
|
34
|
+
/**
|
|
35
|
+
* Netlify site ID (optional, used for explicit store access)
|
|
36
|
+
*/
|
|
37
|
+
siteID?: string;
|
|
38
|
+
/**
|
|
39
|
+
* Netlify Blob store name
|
|
40
|
+
* @default 'default'
|
|
41
|
+
*/
|
|
42
|
+
storeName?: string;
|
|
43
|
+
/**
|
|
44
|
+
* Netlify API token (optional, can use environment variable NETLIFY_TOKEN)
|
|
45
|
+
*/
|
|
46
|
+
token?: string;
|
|
47
|
+
}
|
|
48
|
+
/**
|
|
49
|
+
* Netlify Blob storage based backend.
|
|
50
|
+
* @example
|
|
51
|
+
* ```ts
|
|
52
|
+
* const storage = new NetlifyBlobStorage({
|
|
53
|
+
* storeName: 'uploads',
|
|
54
|
+
* metaStorageConfig: { directory: '/tmp/upload-metafiles' }
|
|
55
|
+
* });
|
|
56
|
+
* ```
|
|
57
|
+
* @remarks
|
|
58
|
+
* ## Supported Operations
|
|
59
|
+
* - ✅ create, write, delete, get, list, copy, move
|
|
60
|
+
* - ✅ Batch operations: deleteBatch, copyBatch, moveBatch (inherited from BaseStorage)
|
|
61
|
+
* - ✅ exists: Implemented (checks metadata and Netlify Blob)
|
|
62
|
+
* - ✅ update: Implemented (updates metadata file, Netlify Blob API doesn't support blob metadata updates)
|
|
63
|
+
* - ❌ getStream: Not implemented (use get() for file retrieval)
|
|
64
|
+
* - ❌ getUrl: Not implemented (Netlify Blob URLs available via Netlify Blob API)
|
|
65
|
+
* - ❌ getUploadUrl: Not implemented (Netlify Blob upload URLs handled internally)
|
|
66
|
+
*/
|
|
67
|
+
declare class NetlifyBlobStorage extends BaseStorage<NetlifyBlobFile> {
|
|
68
|
+
static override readonly name: string;
|
|
69
|
+
override checksumTypes: string[];
|
|
70
|
+
override get raw(): ReturnType<typeof getStore>;
|
|
71
|
+
protected meta: MetaStorage;
|
|
72
|
+
private readonly storeName;
|
|
73
|
+
private readonly siteID?;
|
|
74
|
+
private readonly token?;
|
|
75
|
+
private store;
|
|
76
|
+
private readonly resolvedRetryConfig;
|
|
77
|
+
constructor(config: NetlifyBlobStorageOptions);
|
|
78
|
+
protected override getRetryConfig(): RetryConfig;
|
|
79
|
+
create(config: FileInit, _options?: OperationOptions): Promise<NetlifyBlobFile>;
|
|
80
|
+
write(part: FilePart | FileQuery | NetlifyBlobFile, options?: OperationOptions): Promise<NetlifyBlobFile>;
|
|
81
|
+
/**
|
|
82
|
+
* Deletes an upload and its metadata.
|
|
83
|
+
* @param query File query containing the file ID to delete.
|
|
84
|
+
* @param query.id File ID to delete.
|
|
85
|
+
* @returns Promise resolving to the deleted file object with status: "deleted".
|
|
86
|
+
* @throws {UploadError} If the file metadata cannot be found.
|
|
87
|
+
*/
|
|
88
|
+
delete({
|
|
89
|
+
id
|
|
90
|
+
}: FileQuery, options?: OperationOptions): Promise<NetlifyBlobFile>;
|
|
91
|
+
/**
|
|
92
|
+
* Checks if a file exists by verifying both metadata and the actual Netlify Blob.
|
|
93
|
+
* Returns true only if both the metadata and the blob exist.
|
|
94
|
+
* @param query File query containing the file ID to check.
|
|
95
|
+
* @returns Promise resolving to true if both metadata and blob exist, false otherwise.
|
|
96
|
+
*/
|
|
97
|
+
override exists({
|
|
98
|
+
id
|
|
99
|
+
}: FileQuery, options?: OperationOptions): Promise<boolean>;
|
|
100
|
+
get({
|
|
101
|
+
id
|
|
102
|
+
}: FileQuery, options?: OperationOptions): Promise<FileReturn>;
|
|
103
|
+
/**
|
|
104
|
+
* Copies an upload file to a new location.
|
|
105
|
+
* @param name Source file name/ID.
|
|
106
|
+
* @param destination Destination file name/ID.
|
|
107
|
+
* @returns Promise resolving to the copied file object.
|
|
108
|
+
* @throws {UploadError} If the source file cannot be found.
|
|
109
|
+
*/
|
|
110
|
+
copy(name: string, destination: string, options?: OperationOptions & {
|
|
111
|
+
storageClass?: string;
|
|
112
|
+
}): Promise<NetlifyBlobFile>;
|
|
113
|
+
/**
|
|
114
|
+
* Moves an upload file to a new location.
|
|
115
|
+
* @param name Source file name/ID.
|
|
116
|
+
* @param destination Destination file name/ID.
|
|
117
|
+
* @returns Promise resolving to the moved file object.
|
|
118
|
+
* @throws {UploadError} If the source file cannot be found.
|
|
119
|
+
*/
|
|
120
|
+
move(name: string, destination: string, options?: OperationOptions): Promise<NetlifyBlobFile>;
|
|
121
|
+
/**
|
|
122
|
+
* Updates file metadata with user-provided key-value pairs.
|
|
123
|
+
* Updates the metadata file (overwrites it) but does not update Netlify Blob metadata
|
|
124
|
+
* since the Netlify Blob API doesn't support metadata updates.
|
|
125
|
+
* @param query File query containing the file ID to update.
|
|
126
|
+
* @param query.id File ID to update.
|
|
127
|
+
* @param metadata Partial file object containing fields to update.
|
|
128
|
+
* @returns Promise resolving to the updated file object.
|
|
129
|
+
* @throws {UploadError} If the file cannot be found (ERRORS.FILE_NOT_FOUND).
|
|
130
|
+
* @remarks
|
|
131
|
+
* Supports TTL (time-to-live) option: if metadata contains a 'ttl' field,
|
|
132
|
+
* it will be converted to an 'expiredAt' timestamp.
|
|
133
|
+
* TTL can be a number (milliseconds) or string (e.g., "1h", "30m", "7d").
|
|
134
|
+
*/
|
|
135
|
+
override update({
|
|
136
|
+
id
|
|
137
|
+
}: FileQuery, metadata: Partial<NetlifyBlobFile>, _options?: OperationOptions): Promise<NetlifyBlobFile>;
|
|
138
|
+
override list(limit?: number, options?: OperationOptions): Promise<NetlifyBlobFile[]>;
|
|
139
|
+
private internalOnComplete;
|
|
140
|
+
/**
|
|
141
|
+
* Generate a URL for a blob in Netlify Blob store
|
|
142
|
+
* Note: Netlify Blob doesn't provide direct public URLs like Vercel Blob
|
|
143
|
+
* In production, you would typically serve these through Netlify Functions or Edge Functions
|
|
144
|
+
*/
|
|
145
|
+
private getBlobUrl;
|
|
146
|
+
}
|
|
147
|
+
export { NetlifyBlobFile, NetlifyBlobMetaStorage, NetlifyBlobStorage, type NetlifyBlobStorageOptions };
|
|
@@ -1,3 +1 @@
|
|
|
1
|
-
|
|
2
|
-
export { default as NetlifyBlobMetaStorage } from '../../packem_shared/NetlifyBlobMetaStorage-DxZ5aDvD.js';
|
|
3
|
-
export { default as NetlifyBlobStorage } from '../../packem_shared/NetlifyBlobStorage-CLPtjHqd.js';
|
|
1
|
+
import{default as o}from"../../packem_shared/NetlifyBlobFile-PMZLJ8AC.js";import{default as a}from"../../packem_shared/NetlifyBlobMetaStorage-ClIFdTkT.js";import{default as r}from"../../packem_shared/NetlifyBlobStorage-CO89TGvF.js";export{o as NetlifyBlobFile,a as NetlifyBlobMetaStorage,r as NetlifyBlobStorage};
|
|
@@ -0,0 +1,103 @@
|
|
|
1
|
+
import { O as OneDriveFile, a as OneDriveStorageOptions } from "../../packem_shared/types.d-ChNXbbHG.js";
|
|
2
|
+
export { type b as OneDriveClientCredentialsAuth, type c as OneDriveOAuthRefreshAuth } from "../../packem_shared/types.d-ChNXbbHG.js";
|
|
3
|
+
import { L as LocalMetaStorage } from "../../packem_shared/local-meta-storage.d-B11vHYNm.js";
|
|
4
|
+
import { L as LocalMetaStorageOptions, M as MetaStorage, e as FileInit, O as OperationOptions, f as FilePart, g as FileQuery, a as FileReturn, B as BaseStorage } from "../../packem_shared/storage.d-RteRC-cG.js";
|
|
5
|
+
import { Client } from '@microsoft/microsoft-graph-client';
|
|
6
|
+
import 'node:stream';
|
|
7
|
+
import 'node:crypto';
|
|
8
|
+
import 'node:http';
|
|
9
|
+
import 'lru-cache';
|
|
10
|
+
declare class OneDriveMetaStorage extends LocalMetaStorage<OneDriveFile> {
|
|
11
|
+
constructor(config?: LocalMetaStorageOptions);
|
|
12
|
+
}
|
|
13
|
+
/**
|
|
14
|
+
* OneDrive / SharePoint storage backend (Microsoft Graph).
|
|
15
|
+
*
|
|
16
|
+
* Routes virtual keys onto items under `rootFolderPath` in the target drive.
|
|
17
|
+
* Uploads use a single `PUT :/content` request up to 250 MB and switch to
|
|
18
|
+
* Microsoft Graph upload sessions above that threshold.
|
|
19
|
+
*
|
|
20
|
+
* **Auth precedence**:
|
|
21
|
+
* 1. `client` (pre-built `@microsoft/microsoft-graph-client` `Client`)
|
|
22
|
+
* 2. `accessToken` (string or `() => string | Promise<string>`)
|
|
23
|
+
* 3. `clientCredentials` (`tenantId` + `clientId` + `clientSecret`) — app-only
|
|
24
|
+
* 4. `oauth` (`refreshToken` + `clientId` [+ `clientSecret`, `tenantId`]) — delegated
|
|
25
|
+
* 5. Env fallback: `ONEDRIVE_ACCESS_TOKEN`; or `ONEDRIVE_REFRESH_TOKEN` +
|
|
26
|
+
* `ONEDRIVE_CLIENT_ID` (+ optional `ONEDRIVE_CLIENT_SECRET`, `ONEDRIVE_TENANT_ID`);
|
|
27
|
+
* or `ONEDRIVE_CLIENT_ID` + `ONEDRIVE_CLIENT_SECRET` + `ONEDRIVE_TENANT_ID`.
|
|
28
|
+
*
|
|
29
|
+
* **Targeting**: at most one of `driveId`, `siteId`, `userId`. With no
|
|
30
|
+
* targeting and delegated auth, defaults to `/me/drive`. App-only auth
|
|
31
|
+
* (`clientCredentials`) cannot use `/me/drive` — pick a target explicitly.
|
|
32
|
+
*
|
|
33
|
+
* **Limitations**:
|
|
34
|
+
* - `cacheControl` is not supported.
|
|
35
|
+
* - `metadata` is preserved via the local metafile only; Graph does not store
|
|
36
|
+
* arbitrary key/value metadata on `driveItem`.
|
|
37
|
+
* - `getUploadUrl` returns an upload-session URL — clients should `PUT` chunks
|
|
38
|
+
* directly to it with `Content-Range` headers (not a PUT-with-body URL).
|
|
39
|
+
* - `responseContentDisposition` and `responseContentType` are not supported
|
|
40
|
+
* on signed download URLs (Graph downloadUrls have no overrides).
|
|
41
|
+
* - `write()` buffers the full part body in memory before deciding between
|
|
42
|
+
* simple `PUT :/content` and upload-session paths. For multi-GB transfers
|
|
43
|
+
* prefer `getUploadUrl()` and stream chunks directly to the returned
|
|
44
|
+
* upload-session URL from the client.
|
|
45
|
+
* - ⚠️ 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.
|
|
46
|
+
*/
|
|
47
|
+
declare class OneDriveStorage extends BaseStorage<OneDriveFile> {
|
|
48
|
+
static override readonly name: string;
|
|
49
|
+
override checksumTypes: string[];
|
|
50
|
+
protected meta: MetaStorage<OneDriveFile>;
|
|
51
|
+
private readonly basePath;
|
|
52
|
+
private readonly client;
|
|
53
|
+
private readonly copyTimeoutMs;
|
|
54
|
+
private readonly publicByDefault;
|
|
55
|
+
private readonly rootFolderPath;
|
|
56
|
+
constructor(config: OneDriveStorageOptions);
|
|
57
|
+
override get raw(): Client;
|
|
58
|
+
create(config: FileInit, _options?: OperationOptions): Promise<OneDriveFile>;
|
|
59
|
+
write(part: FilePart | FileQuery | OneDriveFile, options?: OperationOptions): Promise<OneDriveFile>;
|
|
60
|
+
delete({
|
|
61
|
+
id
|
|
62
|
+
}: FileQuery, options?: OperationOptions): Promise<OneDriveFile>;
|
|
63
|
+
get({
|
|
64
|
+
id
|
|
65
|
+
}: FileQuery, options?: OperationOptions): Promise<FileReturn>;
|
|
66
|
+
copy(name: string, destination: string, options?: OperationOptions & {
|
|
67
|
+
storageClass?: string;
|
|
68
|
+
}): Promise<OneDriveFile>;
|
|
69
|
+
move(name: string, destination: string, options?: OperationOptions): Promise<OneDriveFile>;
|
|
70
|
+
override list(limit?: number, options?: OperationOptions): Promise<OneDriveFile[]>;
|
|
71
|
+
override getReadUrl(key: string, options?: {
|
|
72
|
+
expiresIn?: number;
|
|
73
|
+
responseContentDisposition?: string;
|
|
74
|
+
responseContentType?: string;
|
|
75
|
+
}): Promise<string>;
|
|
76
|
+
override getUploadUrl(key: string, options?: {
|
|
77
|
+
contentLength?: number;
|
|
78
|
+
contentType?: string;
|
|
79
|
+
expiresIn?: number;
|
|
80
|
+
}): Promise<string>;
|
|
81
|
+
private keyParts;
|
|
82
|
+
private itemApiPath;
|
|
83
|
+
private itemActionPath;
|
|
84
|
+
private folderListChildrenPath;
|
|
85
|
+
/**
|
|
86
|
+
* Build a `parentReference.path` for move/copy. Microsoft Graph requires
|
|
87
|
+
* this path to be relative to the drive, prefixed with `/drive/root:` —
|
|
88
|
+
* **not** with the configured base path (`/me/drive`, `/drives/{id}`, …).
|
|
89
|
+
*/
|
|
90
|
+
private parentReferencePath;
|
|
91
|
+
private itemPathToKey;
|
|
92
|
+
private uploadSimple;
|
|
93
|
+
private uploadSession;
|
|
94
|
+
private pollCopyMonitor;
|
|
95
|
+
private internalOnComplete;
|
|
96
|
+
}
|
|
97
|
+
/**
|
|
98
|
+
* Builds a Microsoft Graph `Client` from the OneDrive auth options (same
|
|
99
|
+
* precedence as the constructor). Exposed so the SharePoint adapter can
|
|
100
|
+
* resolve a site/document library to a `driveId` before delegating to an
|
|
101
|
+
* inner `OneDriveStorage`, without duplicating the auth-building logic.
|
|
102
|
+
*/
|
|
103
|
+
export { OneDriveFile, OneDriveMetaStorage, OneDriveStorage, type OneDriveStorageOptions };
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{default as a}from"../../packem_shared/OneDriveFile-XbVVKIJh.js";import{default as o}from"../../packem_shared/OneDriveMetaStorage-DS4f83X2.js";import{default as i}from"../../packem_shared/OneDriveStorage-jAN46vRm.js";export{a as OneDriveFile,o as OneDriveMetaStorage,i as OneDriveStorage};
|