@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,83 +0,0 @@
|
|
|
1
|
-
import type { UploadFile } from "../../storage/utils/index.d.ts";
|
|
2
|
-
import type { Header } from "../../utils/types.d.ts";
|
|
3
|
-
import type { ResponseFile } from "../types.d.ts";
|
|
4
|
-
/**
|
|
5
|
-
* Builds a standard ResponseFile from a file object and headers.
|
|
6
|
-
* @param file The file object to convert to a response
|
|
7
|
-
* @param headers Additional headers to include
|
|
8
|
-
* @param statusCode HTTP status code (default: 200)
|
|
9
|
-
* @returns ResponseFile with file data and headers
|
|
10
|
-
*/
|
|
11
|
-
export declare const buildResponseFile: <TFile extends UploadFile>(file: TFile, headers?: Record<string, string | number>, statusCode?: number) => ResponseFile<TFile>;
|
|
12
|
-
/**
|
|
13
|
-
* Builds standard file headers including Location, expiration, and ETag.
|
|
14
|
-
* @param file The file object
|
|
15
|
-
* @param locationUrl The Location header URL
|
|
16
|
-
* @param additionalHeaders Additional headers to merge in
|
|
17
|
-
* @returns Headers object with standard file headers
|
|
18
|
-
*/
|
|
19
|
-
export declare const buildFileHeaders: <TFile extends UploadFile>(file: TFile, locationUrl: string, additionalHeaders?: Record<string, string | number>) => Record<string, string | number>;
|
|
20
|
-
/**
|
|
21
|
-
* Builds chunked upload headers for progress tracking.
|
|
22
|
-
* @param file The file object with chunked upload metadata
|
|
23
|
-
* @param isComplete Whether the upload is complete
|
|
24
|
-
* @returns Headers object with chunked upload progress headers
|
|
25
|
-
*/
|
|
26
|
-
export declare const buildChunkedUploadHeaders: <TFile extends UploadFile>(file: TFile, isComplete: boolean) => Record<string, string | number>;
|
|
27
|
-
/**
|
|
28
|
-
* Builds a Location header URL for a file.
|
|
29
|
-
* @param requestUrl The request URL or originalUrl
|
|
30
|
-
* @param fileId The file ID
|
|
31
|
-
* @param contentType The file content type (for extension)
|
|
32
|
-
* @param useRelativeLocation Whether to use relative URLs
|
|
33
|
-
* @param baseUrl The base URL (for absolute URLs)
|
|
34
|
-
* @returns Location URL string
|
|
35
|
-
*/
|
|
36
|
-
export declare const buildLocationHeader: (requestUrl: string | undefined, fileId: string, contentType: string, useRelativeLocation: boolean, baseUrl?: string) => string;
|
|
37
|
-
/**
|
|
38
|
-
* Builds standard file metadata headers for HEAD requests.
|
|
39
|
-
* @param file The file object
|
|
40
|
-
* @returns Headers object with file metadata
|
|
41
|
-
*/
|
|
42
|
-
export declare const buildFileMetadataHeaders: <TFile extends UploadFile>(file: TFile) => Record<string, string | number>;
|
|
43
|
-
/**
|
|
44
|
-
* Converts headers from Record format to string format, handling arrays.
|
|
45
|
-
* @param headers Headers object that may contain arrays
|
|
46
|
-
* @returns Headers object with all values as strings
|
|
47
|
-
*/
|
|
48
|
-
export declare const convertHeadersToString: (headers: Record<string, Header>) => Record<string, string>;
|
|
49
|
-
/**
|
|
50
|
-
* Builds an error response body in standard format.
|
|
51
|
-
* @param error The error object
|
|
52
|
-
* @returns Error response body object
|
|
53
|
-
*/
|
|
54
|
-
export declare const buildErrorResponseBody: (error: {
|
|
55
|
-
code?: string;
|
|
56
|
-
message?: string;
|
|
57
|
-
name?: string;
|
|
58
|
-
}) => {
|
|
59
|
-
error: {
|
|
60
|
-
code: string;
|
|
61
|
-
message: string;
|
|
62
|
-
name: string;
|
|
63
|
-
};
|
|
64
|
-
};
|
|
65
|
-
/**
|
|
66
|
-
* Prepares response body and headers for sending, handling different body types.
|
|
67
|
-
* @param body The response body (string, Buffer, or object)
|
|
68
|
-
* @param headers Existing headers
|
|
69
|
-
* @returns Object with prepared data and headers
|
|
70
|
-
*/
|
|
71
|
-
export declare const prepareResponseBody: (body: string | Buffer | object | undefined, headers?: Record<string, string | number>) => {
|
|
72
|
-
data: Buffer | string;
|
|
73
|
-
headers: Record<string, string | number>;
|
|
74
|
-
};
|
|
75
|
-
/**
|
|
76
|
-
* Cleans file data for serialization by removing non-serializable properties.
|
|
77
|
-
* @param fileData File data object
|
|
78
|
-
* @returns Cleaned file data object
|
|
79
|
-
*/
|
|
80
|
-
export declare const cleanFileData: <TFile extends UploadFile>(fileData: TFile & {
|
|
81
|
-
content?: unknown;
|
|
82
|
-
stream?: unknown;
|
|
83
|
-
}) => Omit<TFile, "content" | "stream">;
|
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Wait for storage to be ready before handling requests.
|
|
3
|
-
* This ensures storage initialization (e.g., AWS S3, GCS) completes before processing uploads.
|
|
4
|
-
* @param storage Storage instance with isReady property
|
|
5
|
-
* @param timeoutMs Maximum time to wait in milliseconds (default: 5000)
|
|
6
|
-
* @throws Error if storage doesn't become ready within timeout
|
|
7
|
-
*/
|
|
8
|
-
export declare const waitForStorage: (storage: {
|
|
9
|
-
isReady: boolean;
|
|
10
|
-
}, timeoutMs?: number) => Promise<void>;
|
|
@@ -1,29 +0,0 @@
|
|
|
1
|
-
import type { ServerResponse } from "node:http";
|
|
2
|
-
import type { Readable } from "node:stream";
|
|
3
|
-
/**
|
|
4
|
-
* Creates a range-limited stream that properly handles backpressure.
|
|
5
|
-
* @param sourceStream Source readable stream to limit
|
|
6
|
-
* @param start Start byte position (inclusive)
|
|
7
|
-
* @param end End byte position (inclusive)
|
|
8
|
-
* @returns New readable stream limited to the specified byte range
|
|
9
|
-
*/
|
|
10
|
-
export declare const createRangeLimitedStream: (sourceStream: Readable, start: number, end: number) => Readable;
|
|
11
|
-
/**
|
|
12
|
-
* Pipes streams with proper backpressure handling and error management.
|
|
13
|
-
* @param source Source readable stream to pipe from
|
|
14
|
-
* @param destination Destination response stream to pipe to
|
|
15
|
-
* @param sendError Function to send error responses
|
|
16
|
-
*/
|
|
17
|
-
export declare const pipeWithBackpressure: <TResponse extends ServerResponse>(source: Readable, destination: TResponse, sendError: (response: TResponse, error: Error) => Promise<void>) => void;
|
|
18
|
-
/**
|
|
19
|
-
* Creates a stream response configuration object.
|
|
20
|
-
* @param stream The readable stream
|
|
21
|
-
* @param size Optional total size of the stream
|
|
22
|
-
* @param headers Optional headers to include
|
|
23
|
-
* @returns Stream response configuration
|
|
24
|
-
*/
|
|
25
|
-
export declare const createStreamResponse: (stream: Readable, size?: number, headers?: Record<string, string | number>) => {
|
|
26
|
-
headers: Record<string, string | number>;
|
|
27
|
-
size?: number;
|
|
28
|
-
stream: Readable;
|
|
29
|
-
};
|
|
@@ -1,76 +0,0 @@
|
|
|
1
|
-
import type { IncomingMessage, ServerResponse } from "node:http";
|
|
2
|
-
import type { Readable } from "node:stream";
|
|
3
|
-
import type { UploadFile } from "../../storage/utils/index.d.ts";
|
|
4
|
-
import type { ResponseBody, UploadResponse } from "../../utils/types.d.ts";
|
|
5
|
-
import type { ResponseFile, ResponseList } from "../types.d.ts";
|
|
6
|
-
/**
|
|
7
|
-
* Handles HEAD/OPTIONS requests.
|
|
8
|
-
* @param file Response file with headers and status code
|
|
9
|
-
* @param send Function to send response
|
|
10
|
-
*/
|
|
11
|
-
export declare const handleHeadOptionsRequest: <TFile extends UploadFile, NodeResponse extends ServerResponse>(file: ResponseFile<TFile>, send: (response: NodeResponse, data: {
|
|
12
|
-
headers: Record<string, string | number>;
|
|
13
|
-
statusCode: number;
|
|
14
|
-
}) => void, response: NodeResponse) => void;
|
|
15
|
-
/**
|
|
16
|
-
* Handles GET requests with streaming support.
|
|
17
|
-
* @param file Response file (may contain stream)
|
|
18
|
-
* @param request HTTP request
|
|
19
|
-
* @param response HTTP response
|
|
20
|
-
* @param next Optional Express next function
|
|
21
|
-
* @param send Function to send regular response
|
|
22
|
-
* @param sendStream Function to send stream response
|
|
23
|
-
* @param parseRangeHeader Function to parse range header
|
|
24
|
-
*/
|
|
25
|
-
export declare const handleGetRequest: <TFile extends UploadFile, NodeResponse extends ServerResponse>(file: ResponseFile<TFile> | ResponseList<TFile>, request: IncomingMessage, response: NodeResponse, next: (() => void) | undefined, send: (response: NodeResponse, data: UploadResponse<ResponseBody>) => void, sendStream: (response: NodeResponse, stream: Readable, options: {
|
|
26
|
-
headers: Record<string, string | number>;
|
|
27
|
-
range?: {
|
|
28
|
-
end: number;
|
|
29
|
-
start: number;
|
|
30
|
-
};
|
|
31
|
-
size?: number;
|
|
32
|
-
statusCode: number;
|
|
33
|
-
}) => void, parseRangeHeader: (rangeHeader: string | undefined, fileSize: number) => {
|
|
34
|
-
end: number;
|
|
35
|
-
start: number;
|
|
36
|
-
} | undefined) => void;
|
|
37
|
-
/**
|
|
38
|
-
* Handles completed upload responses.
|
|
39
|
-
* @param file Response file
|
|
40
|
-
* @param request HTTP request
|
|
41
|
-
* @param response HTTP response
|
|
42
|
-
* @param next Optional Express next function
|
|
43
|
-
* @param storage Storage instance for onComplete hook
|
|
44
|
-
* @param logger Optional logger
|
|
45
|
-
* @param finish Function to finish the response
|
|
46
|
-
*/
|
|
47
|
-
export declare const handleCompletedUpload: <TFile extends UploadFile, NodeResponse extends ServerResponse>(file: ResponseFile<TFile>, request: IncomingMessage, response: NodeResponse, next: (() => void) | undefined, storage: {
|
|
48
|
-
onComplete: (file: TFile, responseFile: ResponseFile<TFile>, request?: IncomingMessage) => void | Promise<void>;
|
|
49
|
-
}, logger: {
|
|
50
|
-
error?: (message: string, error: unknown) => void;
|
|
51
|
-
} | undefined, finish: (request: IncomingMessage, response: NodeResponse, uploadResponse: ResponseFile<TFile>) => void) => Promise<void>;
|
|
52
|
-
/**
|
|
53
|
-
* Handles partial upload responses.
|
|
54
|
-
* @param file Response file
|
|
55
|
-
* @param request HTTP request
|
|
56
|
-
* @param response HTTP response
|
|
57
|
-
* @param send Function to send response
|
|
58
|
-
*/
|
|
59
|
-
export declare const handlePartialUpload: <TFile extends UploadFile, NodeResponse extends ServerResponse>(file: ResponseFile<TFile>, request: IncomingMessage, response: NodeResponse, send: (response: NodeResponse, data: {
|
|
60
|
-
body: Buffer | string | undefined;
|
|
61
|
-
headers: Record<string, string>;
|
|
62
|
-
statusCode: number;
|
|
63
|
-
}) => void) => void;
|
|
64
|
-
/**
|
|
65
|
-
* Handles errors during upload processing.
|
|
66
|
-
* @param error The error that occurred
|
|
67
|
-
* @param request HTTP request
|
|
68
|
-
* @param emit Function to emit events
|
|
69
|
-
* @param listenerCount Function to count event listeners
|
|
70
|
-
* @param logger Optional logger
|
|
71
|
-
* @param sendError Function to send error response
|
|
72
|
-
* @param response HTTP response
|
|
73
|
-
*/
|
|
74
|
-
export declare const handleUploadError: <NodeResponse extends ServerResponse>(error: unknown, request: IncomingMessage, emit: (event: string, data: unknown) => boolean, listenerCount: (event: string) => number, logger: {
|
|
75
|
-
error?: (message: string, error: unknown) => void;
|
|
76
|
-
} | undefined, sendError: (response: NodeResponse, error: Error) => Promise<void>, response: NodeResponse) => Promise<void>;
|
package/dist/metrics/index.d.ts
DELETED
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* No-op metrics implementation.
|
|
3
|
-
* Used when metrics are not provided, ensuring no overhead when metrics are disabled.
|
|
4
|
-
*/
|
|
5
|
-
import type { Metrics } from "../utils/types.d.ts";
|
|
6
|
-
/**
|
|
7
|
-
* No-op metrics that does nothing.
|
|
8
|
-
* Used as a default when metrics are not provided.
|
|
9
|
-
*/
|
|
10
|
-
declare class NoOpMetrics implements Metrics {
|
|
11
|
-
increment(_name: string, _value?: number, _attributes?: Record<string, string | number>): void;
|
|
12
|
-
timing(_name: string, _duration: number, _attributes?: Record<string, string | number>): void;
|
|
13
|
-
gauge(_name: string, _value: number, _attributes?: Record<string, string | number>): void;
|
|
14
|
-
}
|
|
15
|
-
export default NoOpMetrics;
|
|
@@ -1,55 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* OpenTelemetry Metrics implementation for storage operations.
|
|
3
|
-
*
|
|
4
|
-
* Provides counters, timers, and gauges using OpenTelemetry Metrics API.
|
|
5
|
-
* This allows integration with any OpenTelemetry-compatible observability backend
|
|
6
|
-
* (Prometheus, Datadog, New Relic, etc.).
|
|
7
|
-
* @example
|
|
8
|
-
* ```typescript
|
|
9
|
-
* import { metrics } from "@opentelemetry/api";
|
|
10
|
-
* import { OpenTelemetryMetrics } from "@visulima/storage/metrics";
|
|
11
|
-
* import { S3Storage } from "@visulima/storage/provider/aws";
|
|
12
|
-
*
|
|
13
|
-
* // Initialize OpenTelemetry (typically done once in your app)
|
|
14
|
-
* const meter = metrics.getMeter("@visulima/storage", "1.0.0");
|
|
15
|
-
*
|
|
16
|
-
* // Create metrics instance
|
|
17
|
-
* const storageMetrics = new OpenTelemetryMetrics(meter);
|
|
18
|
-
*
|
|
19
|
-
* // Use with storage
|
|
20
|
-
* const storage = new S3Storage({
|
|
21
|
-
* bucket: "my-bucket",
|
|
22
|
-
* metrics: storageMetrics,
|
|
23
|
-
* });
|
|
24
|
-
* ```
|
|
25
|
-
*/
|
|
26
|
-
import type { Meter } from "@opentelemetry/api";
|
|
27
|
-
import type { Metrics } from "../utils/types.d.ts";
|
|
28
|
-
/**
|
|
29
|
-
* OpenTelemetry-based metrics implementation.
|
|
30
|
-
*/
|
|
31
|
-
declare class OpenTelemetryMetrics implements Metrics {
|
|
32
|
-
private readonly meter;
|
|
33
|
-
private readonly counters;
|
|
34
|
-
private readonly histograms;
|
|
35
|
-
private readonly gauges;
|
|
36
|
-
/**
|
|
37
|
-
* Creates a new OpenTelemetryMetrics instance.
|
|
38
|
-
* @param meter OpenTelemetry Meter instance. If not provided, uses the default meter.
|
|
39
|
-
* @throws {Error} If \@opentelemetry/api is not installed
|
|
40
|
-
*/
|
|
41
|
-
constructor(meter?: Meter);
|
|
42
|
-
/**
|
|
43
|
-
* Increment a counter metric.
|
|
44
|
-
*/
|
|
45
|
-
increment(name: string, value?: number, attributes?: Record<string, string | number>): void;
|
|
46
|
-
/**
|
|
47
|
-
* Record a duration/timing metric in milliseconds.
|
|
48
|
-
*/
|
|
49
|
-
timing(name: string, duration: number, attributes?: Record<string, string | number>): void;
|
|
50
|
-
/**
|
|
51
|
-
* Set a gauge metric value.
|
|
52
|
-
*/
|
|
53
|
-
gauge(name: string, value: number, attributes?: Record<string, string | number>): void;
|
|
54
|
-
}
|
|
55
|
-
export default OpenTelemetryMetrics;
|
package/dist/openapi/rest.d.ts
DELETED
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
import type { OpenAPIV3 } from "openapi-types";
|
|
2
|
-
declare const swaggerSpec: (origin: string, path: string, options: {
|
|
3
|
-
supportedTransformerFormat?: string[];
|
|
4
|
-
tags?: string[] | undefined;
|
|
5
|
-
transformer?: boolean | "audio" | "video" | "image";
|
|
6
|
-
}) => Partial<OpenAPIV3.Document>;
|
|
7
|
-
export default swaggerSpec;
|
package/dist/openapi/shared.d.ts
DELETED
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
import type { OpenAPIV3 } from "openapi-types";
|
|
2
|
-
type TransformType = boolean | "audio" | "video" | "image";
|
|
3
|
-
declare const getOrganizedTransformationParameters: (transform?: TransformType, format?: string[]) => {
|
|
4
|
-
groups: Record<string, string[]>;
|
|
5
|
-
parameters: OpenAPIV3.ParameterObject[];
|
|
6
|
-
};
|
|
7
|
-
export { getOrganizedTransformationParameters };
|
|
8
|
-
export declare const sharedGet: (operationId: string, tags: string[] | undefined, transform?: TransformType, transformerFormat?: string[]) => OpenAPIV3.OperationObject;
|
|
9
|
-
export declare const sharedGetMeta: (operationId: string, tags: string[] | undefined) => OpenAPIV3.OperationObject;
|
|
10
|
-
export declare const sharedErrorSchemaObject: Record<string, OpenAPIV3.NonArraySchemaObject>;
|
|
11
|
-
export declare const sharedFileMetaSchemaObject: Record<string, OpenAPIV3.NonArraySchemaObject>;
|
|
12
|
-
export declare const sharedFileMetaExampleObject: Record<string, OpenAPIV3.ExampleObject>;
|
|
13
|
-
export declare const sharedGetList: (operationId: string, tags: string[] | undefined) => OpenAPIV3.OperationObject;
|
package/dist/openapi/tus.d.ts
DELETED
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
import type { OpenAPIV3 } from "openapi-types";
|
|
2
|
-
declare const swaggerSpec: (path: string, options: {
|
|
3
|
-
supportedTransformerFormat?: string[];
|
|
4
|
-
tags?: string[] | undefined;
|
|
5
|
-
transformer?: boolean | "audio" | "video" | "image";
|
|
6
|
-
}) => Partial<OpenAPIV3.Document>;
|
|
7
|
-
export default swaggerSpec;
|
package/dist/openapi/xhr.d.ts
DELETED
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
import type { OpenAPIV3 } from "openapi-types";
|
|
2
|
-
declare const swaggerSpec: (origin: string, path: string, options: {
|
|
3
|
-
supportedTransformerFormat?: string[];
|
|
4
|
-
tags?: string[] | undefined;
|
|
5
|
-
transformer?: boolean | "audio" | "video" | "image";
|
|
6
|
-
}) => Partial<OpenAPIV3.Document>;
|
|
7
|
-
export default swaggerSpec;
|
|
@@ -1,133 +0,0 @@
|
|
|
1
|
-
import { Readable } from 'node:stream';
|
|
2
|
-
import { S as S3BaseStorage } from './s3-base-storage-C1DIHTYY.js';
|
|
3
|
-
import { a as AwsLightApiAdapter, A as AwsLightMetaStorage } from './aws-light-meta-storage-DKJBgbR6.js';
|
|
4
|
-
import AwsLightFile from './AwsLightFile-tTneXZgG.js';
|
|
5
|
-
|
|
6
|
-
class AwsLightStorage extends S3BaseStorage {
|
|
7
|
-
static name = "aws-light";
|
|
8
|
-
s3Api;
|
|
9
|
-
constructor(config) {
|
|
10
|
-
const { bucket = process.env.S3_BUCKET || process.env.AWS_S3_BUCKET, region = process.env.S3_REGION || process.env.AWS_REGION } = config;
|
|
11
|
-
if (!bucket) {
|
|
12
|
-
throw new Error("S3 bucket is not defined");
|
|
13
|
-
}
|
|
14
|
-
if (!region) {
|
|
15
|
-
throw new Error("S3 region is not defined");
|
|
16
|
-
}
|
|
17
|
-
if (!config.accessKeyId) {
|
|
18
|
-
throw new Error("accessKeyId is required");
|
|
19
|
-
}
|
|
20
|
-
if (!config.secretAccessKey) {
|
|
21
|
-
throw new Error("secretAccessKey is required");
|
|
22
|
-
}
|
|
23
|
-
super({
|
|
24
|
-
bucket,
|
|
25
|
-
clientDirectUpload: config.clientDirectUpload,
|
|
26
|
-
expiration: config.expiration?.maxAge ? { maxAge: String(config.expiration.maxAge) } : void 0,
|
|
27
|
-
filename: config.filename,
|
|
28
|
-
logger: config.logger,
|
|
29
|
-
metaStorage: config.metaStorage,
|
|
30
|
-
metaStorageConfig: config.metaStorageConfig ? { ...config.metaStorageConfig, ...config } : { ...config },
|
|
31
|
-
partSize: config.partSize,
|
|
32
|
-
retryConfig: {
|
|
33
|
-
...config.retryConfig,
|
|
34
|
-
shouldRetry: (error) => {
|
|
35
|
-
const errorWithStatus = error;
|
|
36
|
-
if (errorWithStatus.statusCode && [408, 429, 500, 502, 503, 504].includes(errorWithStatus.statusCode)) {
|
|
37
|
-
return true;
|
|
38
|
-
}
|
|
39
|
-
return errorWithStatus.retryable ?? false;
|
|
40
|
-
}
|
|
41
|
-
}
|
|
42
|
-
});
|
|
43
|
-
this.s3Api = new AwsLightApiAdapter({
|
|
44
|
-
accessKeyId: config.accessKeyId,
|
|
45
|
-
bucket,
|
|
46
|
-
endpoint: config.endpoint,
|
|
47
|
-
region,
|
|
48
|
-
secretAccessKey: config.secretAccessKey,
|
|
49
|
-
service: config.service,
|
|
50
|
-
sessionToken: config.sessionToken
|
|
51
|
-
});
|
|
52
|
-
const { metaStorage, metaStorageConfig } = config;
|
|
53
|
-
if (!metaStorage) {
|
|
54
|
-
const metaConfig = { ...config, ...metaStorageConfig, logger: this.logger };
|
|
55
|
-
this.meta = new AwsLightMetaStorage(metaConfig);
|
|
56
|
-
}
|
|
57
|
-
}
|
|
58
|
-
/**
|
|
59
|
-
* Normalizes AWS S3 errors with S3-specific context.
|
|
60
|
-
*/
|
|
61
|
-
normalizeError(error) {
|
|
62
|
-
const awsError = error;
|
|
63
|
-
if (awsError.statusCode || awsError.code) {
|
|
64
|
-
return {
|
|
65
|
-
code: awsError.code || awsError.name,
|
|
66
|
-
message: awsError.message,
|
|
67
|
-
name: awsError.name,
|
|
68
|
-
statusCode: awsError.statusCode || 500
|
|
69
|
-
};
|
|
70
|
-
}
|
|
71
|
-
return super.normalizeError(error);
|
|
72
|
-
}
|
|
73
|
-
async update({ id }, metadata) {
|
|
74
|
-
if (this.config.clientDirectUpload) {
|
|
75
|
-
const file = await this.getMeta(id);
|
|
76
|
-
return this.buildPresigned({ ...file, ...metadata });
|
|
77
|
-
}
|
|
78
|
-
return super.update({ id }, metadata);
|
|
79
|
-
}
|
|
80
|
-
async getStream({ id }) {
|
|
81
|
-
return this.instrumentOperation("getStream", async () => {
|
|
82
|
-
const s3Api = this.getS3Api();
|
|
83
|
-
const { Body, ContentLength, ContentType, ETag, Expires, LastModified } = await this.retry(
|
|
84
|
-
() => s3Api.getObject({
|
|
85
|
-
Bucket: this.bucket,
|
|
86
|
-
Key: id
|
|
87
|
-
})
|
|
88
|
-
);
|
|
89
|
-
await this.checkIfExpired({ expiredAt: Expires });
|
|
90
|
-
const stream = Body instanceof ReadableStream ? Readable.fromWeb(Body) : Body;
|
|
91
|
-
const readableStream = new Readable({
|
|
92
|
-
read() {
|
|
93
|
-
stream.on("data", (chunk) => {
|
|
94
|
-
this.push(chunk);
|
|
95
|
-
});
|
|
96
|
-
stream.on("end", () => {
|
|
97
|
-
this.push(null);
|
|
98
|
-
});
|
|
99
|
-
stream.on("error", (error) => {
|
|
100
|
-
this.destroy(error);
|
|
101
|
-
});
|
|
102
|
-
}
|
|
103
|
-
});
|
|
104
|
-
return {
|
|
105
|
-
headers: {
|
|
106
|
-
"Content-Length": ContentLength?.toString() ?? "0",
|
|
107
|
-
"Content-Type": ContentType,
|
|
108
|
-
...ETag && { ETag },
|
|
109
|
-
...Expires && { "X-Upload-Expires": Expires.toString() },
|
|
110
|
-
...LastModified && { "Last-Modified": LastModified.toString() }
|
|
111
|
-
},
|
|
112
|
-
size: Number(ContentLength),
|
|
113
|
-
stream: readableStream
|
|
114
|
-
};
|
|
115
|
-
});
|
|
116
|
-
}
|
|
117
|
-
getS3Api() {
|
|
118
|
-
return this.s3Api;
|
|
119
|
-
}
|
|
120
|
-
// eslint-disable-next-line class-methods-use-this
|
|
121
|
-
getFileClass() {
|
|
122
|
-
return AwsLightFile;
|
|
123
|
-
}
|
|
124
|
-
// eslint-disable-next-line class-methods-use-this
|
|
125
|
-
getAcl() {
|
|
126
|
-
return void 0;
|
|
127
|
-
}
|
|
128
|
-
async accessCheck(_maxWaitTime = 30) {
|
|
129
|
-
await this.s3Api.checkBucketAccess({ Bucket: this.bucket });
|
|
130
|
-
}
|
|
131
|
-
}
|
|
132
|
-
|
|
133
|
-
export { AwsLightStorage as default };
|
|
@@ -1,88 +0,0 @@
|
|
|
1
|
-
import { BlobServiceClient, StorageSharedKeyCredential } from '@azure/storage-blob';
|
|
2
|
-
import { throwErrorCode, ERRORS } from './ERRORS-D0apMqnc.js';
|
|
3
|
-
import MetaStorage from './MetaStorage-pECeFOad.js';
|
|
4
|
-
import { parseMetadata, stringifyMetadata } from './Metadata-DRLXeJ0F.js';
|
|
5
|
-
|
|
6
|
-
class AzureMetaStorage extends MetaStorage {
|
|
7
|
-
constructor(config) {
|
|
8
|
-
super(config);
|
|
9
|
-
this.config = config;
|
|
10
|
-
const { client, ...metaConfig } = config;
|
|
11
|
-
if (client === void 0) {
|
|
12
|
-
const connectionString = metaConfig.connectionString || process.env.AZURE_STORAGE_CONNECTION_STRING || void 0;
|
|
13
|
-
if (connectionString) {
|
|
14
|
-
this.client = BlobServiceClient.fromConnectionString(connectionString);
|
|
15
|
-
} else {
|
|
16
|
-
const accountKey = metaConfig.accountKey || process.env.AZURE_STORAGE_ACCOUNT_KEY || void 0;
|
|
17
|
-
const accountName = metaConfig.accountName || process.env.AZURE_STORAGE_ACCOUNT || void 0;
|
|
18
|
-
if (!metaConfig.accountKey) {
|
|
19
|
-
throw new Error("Missing required parameter: Azure blob storage account key.");
|
|
20
|
-
}
|
|
21
|
-
if (!metaConfig.accountName) {
|
|
22
|
-
throw new Error("Missing required parameter: Azure blob storage account name.");
|
|
23
|
-
}
|
|
24
|
-
const signedCredentials = new StorageSharedKeyCredential(accountName, accountKey);
|
|
25
|
-
this.client = new BlobServiceClient(config.endpoint ?? `https://${accountName}.blob.core.windows.net`, signedCredentials);
|
|
26
|
-
}
|
|
27
|
-
} else {
|
|
28
|
-
this.client = client;
|
|
29
|
-
}
|
|
30
|
-
const containerName = metaConfig.containerName || process.env.AZURE_STORAGE_CONTAINER || void 0;
|
|
31
|
-
if (!containerName) {
|
|
32
|
-
throw new Error("Missing required parameter: Azure container name.");
|
|
33
|
-
}
|
|
34
|
-
this.containerClient = this.client.getContainerClient(metaConfig.containerName);
|
|
35
|
-
}
|
|
36
|
-
client;
|
|
37
|
-
containerClient;
|
|
38
|
-
async get(id) {
|
|
39
|
-
const appendBlobClient = this.containerClient.getAppendBlobClient(this.getMetaName(id));
|
|
40
|
-
let propertyData;
|
|
41
|
-
try {
|
|
42
|
-
propertyData = await appendBlobClient.getProperties();
|
|
43
|
-
} catch {
|
|
44
|
-
throw throwErrorCode(ERRORS.UNKNOWN_ERROR);
|
|
45
|
-
}
|
|
46
|
-
if (!propertyData.metadata) {
|
|
47
|
-
throw throwErrorCode(ERRORS.FILE_NOT_FOUND);
|
|
48
|
-
}
|
|
49
|
-
const file = propertyData.metadata;
|
|
50
|
-
if (file.metadata && typeof file.metadata === "string") {
|
|
51
|
-
file.metadata = parseMetadata(file.metadata);
|
|
52
|
-
}
|
|
53
|
-
return file;
|
|
54
|
-
}
|
|
55
|
-
async touch(id, file) {
|
|
56
|
-
return this.save(id, file);
|
|
57
|
-
}
|
|
58
|
-
async delete(id) {
|
|
59
|
-
const blobClient = this.containerClient.getBlockBlobClient(this.getMetaName(id));
|
|
60
|
-
await blobClient.deleteIfExists();
|
|
61
|
-
}
|
|
62
|
-
async save(id, file) {
|
|
63
|
-
const transformedMetadata = { ...file };
|
|
64
|
-
if (transformedMetadata.metadata) {
|
|
65
|
-
transformedMetadata.metadata = stringifyMetadata(file.metadata);
|
|
66
|
-
}
|
|
67
|
-
const appendBlobClient = this.containerClient.getAppendBlobClient(this.getMetaName(id));
|
|
68
|
-
await appendBlobClient.setMetadata(transformedMetadata, {});
|
|
69
|
-
return file;
|
|
70
|
-
}
|
|
71
|
-
async list() {
|
|
72
|
-
const blobs = [];
|
|
73
|
-
const iterator = this.containerClient.listBlobsFlat({
|
|
74
|
-
prefix: this.prefix
|
|
75
|
-
});
|
|
76
|
-
for await (const blob of iterator) {
|
|
77
|
-
blobs.push(blob);
|
|
78
|
-
}
|
|
79
|
-
return blobs.filter((blob) => blob.name.endsWith(this.suffix)).map((blob) => {
|
|
80
|
-
return {
|
|
81
|
-
createdAt: blob.properties.createdOn,
|
|
82
|
-
id: this.getIdFromMetaName(blob.name)
|
|
83
|
-
};
|
|
84
|
-
});
|
|
85
|
-
}
|
|
86
|
-
}
|
|
87
|
-
|
|
88
|
-
export { AzureMetaStorage as default };
|