@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
|
@@ -0,0 +1 @@
|
|
|
1
|
+
var E=Object.defineProperty;var C=(e,r)=>E(e,"name",{value:r,configurable:!0});var n=Object.defineProperty,t=C((e,r)=>n(e,"name",{value:r,configurable:!0}),"t");const a=t(e=>{const r=e?.accessKeyId??process.env.AWS_ACCESS_KEY_ID??process.env.CLOUDFLARE_ACCESS_KEY_ID??process.env.CLOUDFLARE_ACCESS_KEY,s=e?.accountId??process.env.CLOUDFLARE_ACCOUNT_ID,c=e?.jurisdiction??process.env.CLOUDFLARE_JURISDICTION??process.env.CLOUDFLARE_R2_JURISDICTION,o=e?.secretAccessKey??process.env.AWS_SECRET_ACCESS_KEY??process.env.CLOUDFLARE_SECRET_ACCESS_KEY??process.env.CLOUDFLARE_SECRET_KEY;if(!s||!r||!o)throw new Error("Missing required parameters for Cloudflare R2 client.");return{credentials:{accessKeyId:r,secretAccessKey:o},endpoint:`https://${s}.${c?`${c}.`:""}r2.cloudflarestorage.com`,region:"auto"}},"cloudflare");export{a as cloudflare,a as default};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
var v=Object.defineProperty;var d=(e,r)=>v(e,"name",{value:r,configurable:!0});import{r as O}from"./approval-BBeX3o4E.js";import{T as F,W as y,e as o}from"./executors-DG6hGtvm.js";import*as k from"zod";var S=Object.defineProperty,h=d((e,r)=>S(e,"name",{value:r,configurable:!0}),"e");const U=h(e=>{const r=k.toJSONSchema(e),{$schema:u,...t}=r;return t},"toOpenAiJsonSchema");var A=Object.defineProperty,i=d((e,r)=>A(e,"name",{value:r,configurable:!0}),"a");const T=["listFiles","getFileMetadata","downloadFile","getFileUrl","uploadFile","deleteFile","copyFile","signUploadUrl"],f=i(e=>y.has(e),"isWriteTool"),_=i(async(e,r,u)=>{const t=F[r].input.safeParse(u);if(!t.success)return{issues:t.error.issues,ok:!1};switch(r){case"copyFile":return{ok:!0,output:await o.copyFile(e,t.data)};case"deleteFile":return{ok:!0,output:await o.deleteFile(e,t.data)};case"downloadFile":return{ok:!0,output:await o.downloadFile(e,t.data)};case"getFileMetadata":return{ok:!0,output:await o.getFileMetadata(e,t.data)};case"getFileUrl":return{ok:!0,output:await o.getFileUrl(e,t.data)};case"listFiles":return{ok:!0,output:await o.listFiles(e,t.data)};case"signUploadUrl":return{ok:!0,output:await o.signUploadUrl(e,t.data)};case"uploadFile":return{ok:!0,output:await o.uploadFile(e,t.data)};default:{const c=r;throw new Error(`Unhandled tool: ${String(c)}`)}}},"dispatch"),N=i(({files:e,overrides:r,readOnly:u=!1,requireApproval:t=!0})=>{const c=T.filter(a=>!(u&&f(a))),m=i(a=>f(a)?O(a,t):!1,"approvalFor"),g=c.map(a=>{const s=F[a],l=r?.[a];return{description:l?.description??s.description,name:a,parameters:U(s.input),strict:l?.strict??!1,type:"function"}}),w=new Set(c);return{definitions:g,execute:i(async a=>{const s=i(n=>({call_id:a.call_id,output:typeof n=="string"?n:JSON.stringify(n),type:"function_call_output"}),"wrap");if(!w.has(a.name))return s({error:`Unknown tool: ${a.name}`});let l;try{l=JSON.parse(a.arguments)}catch(n){return s({error:`Invalid JSON in arguments: ${n.message}`})}const p=await _(e,a.name,l);return p.ok?s(p.output):s({error:"Argument validation failed",issues:p.issues})},"execute"),needsApproval:m}},"createResponsesFileTools");export{N as createResponsesFileTools};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import"node:stream";import"node:timers";import"node:util";import{B as u,d as F,a as g}from"./storage-Dh0tJh7j.js";import"./path-D7rMc9nq-B718mbm6.js";import"type-is";import"./NoOpMetrics-Dky06sf1.js";import"./cache-qV_5Umeq.js";import"./ERRORS-CyOuSMLY.js";import"./isRetryableError-BhizNeAz.js";import"./is-expired-1JuZjDtb.js";export{u as BaseStorage,F as defaultCloudStorageFileNameValidation,g as defaultFilesystemFileNameValidation};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
var F=Object.defineProperty;var l=(r,t)=>F(r,"name",{value:t,configurable:!0});import{PassThrough as w,Transform as P}from"node:stream";import{fileTypeFromBuffer as d}from"file-type";var g=Object.defineProperty,p=l((r,t)=>g(r,"name",{value:t,configurable:!0}),"f");const S=p(async r=>{try{return await d(r)}catch{return}},"detectFileTypeFromBuffer"),j=p(async(r,t)=>{const y=t?.sampleSize??4100;let m;const f=[];let s=0,i=!1,n;const o=new w({highWaterMark:0}),a=new P({objectMode:!1,transform(e,c,T){if(!i&&(f.push(e),s+=e.length,s>=y||s>0)){i=!0;const h=Buffer.concat(f);n=d(h).then(u=>(m=u,u)).catch(()=>{})}T(void 0,e)}});return r.pipe(a).pipe(o),r.on("error",e=>{a.destroy(e),o.destroy(e)}),a.on("error",e=>{o.destroyed||o.destroy(e)}),await Promise.race([new Promise(e=>{if(i){e();return}const c=setTimeout(e,10);a.once("data",()=>{clearTimeout(c),e()}),a.once("end",()=>{clearTimeout(c),e()})}),new Promise(e=>{setTimeout(e,10)})]),n&&await Promise.race([n.then(()=>{}),new Promise(e=>{setTimeout(e,150)})]).catch(()=>{}),{fileType:m,stream:o}},"detectFileTypeFromStream");export{S as a,j as d};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
var t=Object.defineProperty;var n=(e,s)=>t(e,"name",{value:s,configurable:!0});var a=Object.defineProperty,o=n((e,s)=>a(e,"name",{value:s,configurable:!0}),"r");const S=o(e=>{const s=e?.key??process.env.AWS_ACCESS_KEY_ID??process.env.SPACES_KEY,r=e?.region??process.env.AWS_REGION??process.env.SPACES_REGION,c=e?.secret??process.env.AWS_SECRET_ACCESS_KEY??process.env.SPACES_SECRET;if(!r||!s||!c)throw new Error("Missing required parameters for DigitalOcean Spaces client.");return{credentials:{accessKeyId:s,secretAccessKey:c},endpoint:`https://${r}.digitaloceanspaces.com`,forcePathStyle:!1,region:"us-east-1"}},"digitalOcean");export{S as default};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
var ct=Object.defineProperty;var d=(e,t)=>ct(e,"name",{value:t,configurable:!0});import{createReadStream as lt,createWriteStream as ut}from"node:fs";import{truncate as mt,stat as C,copyFile as A}from"node:fs/promises";import{Transform as Q,PassThrough as dt,pipeline as ht}from"node:stream";import{f as x,l as yt,w as H,U as b,_ as ft,i as gt,v as pt,B as wt,y as z}from"./local-meta-storage-Bi0mK6gD.js";import{createRequire as P}from"node:module";import{K as w,C as F,M as K,L as bt,Q as vt,O as Et}from"./path-D7rMc9nq-B718mbm6.js";import{S as St}from"./index-B4ETk0Lu.js";import{d as $t}from"./detect-file-type-5JhzC9RU.js";import{throwErrorCode as p,ERRORS as h,isUploadError as Ot}from"./ERRORS-CyOuSMLY.js";import{createHash as Tt}from"node:crypto";import{B as Ft,a as kt,t as Nt}from"./storage-Dh0tJh7j.js";import Pt from"./File-BhfUgJjs.js";import{o as W,r as Dt}from"./part-match-B5fLLmFw.js";import{u as _t}from"./update-size-DANV7aa2.js";import{o as It}from"./has-content-Bx2p8Okx.js";var Mt=Object.defineProperty,Rt=d((e,t)=>Mt(e,"name",{value:t,configurable:!0}),"i$4"),xt=Object.defineProperty,X=Rt((e,t)=>xt(e,"name",{value:t,configurable:!0}),"t");const Lt=P(import.meta.url),$=typeof globalThis<"u"&&typeof globalThis.process<"u"?globalThis.process:process,jt=X(e=>{if(typeof $<"u"&&$.versions&&$.versions.node){const[t,r]=$.versions.node.split(".").map(Number);if(t>22||t===22&&r>=3||t===20&&r>=16)return $.getBuiltinModule(e)}return Lt(e)},"__cjs_getBuiltinModule"),{lstat:Ct,writeFile:At}=jt("node:fs/promises");var zt=Object.defineProperty,Wt=X((e,t)=>zt(e,"name",{value:t,configurable:!0}),"o");const R=Wt(async e=>{x(e);try{const t=await Ct(e);if(!t.isFile())throw new Error(`Ensure path exists, expected 'file', got '${String(yt(t))}'`)}catch(t){if(t.code==="ENOENT"){await H(w(b(e))),await At(e,new Uint8Array);return}throw t}},"ensureFile");var Bt=Object.defineProperty,q=d((e,t)=>Bt(e,"name",{value:t,configurable:!0}),"t$2"),Ut=Object.defineProperty,Y=q((e,t)=>Ut(e,"name",{value:t,configurable:!0}),"t"),Vt=Object.defineProperty,Qt=Y((e,t)=>Vt(e,"name",{value:t,configurable:!0}),"t");let B=class extends Error{static{d(this,"l")}static{q(this,"c")}static{Y(this,"i")}static{Qt(this,"WalkError")}root;constructor(t,r){super(`${t instanceof Error?t.message:String(t)} for path "${r}"`),this.cause=t,this.root=r}get name(){return"WalkError"}set name(t){throw new Error("Cannot overwrite name of WalkError")}};var Ht=Object.defineProperty,Kt=d((e,t)=>Ht(e,"name",{value:t,configurable:!0}),"n"),Xt=Object.defineProperty,G=Kt((e,t)=>Xt(e,"name",{value:t,configurable:!0}),"t"),qt=Object.defineProperty,Yt=G((e,t)=>qt(e,"name",{value:t,configurable:!0}),"g");const U=Yt(e=>{const t=e.replace(/\.\*/g,".([^/]*)").replace(/\*\*/g,"(.*)").replace(/(?<!\.)\*(?!\*)/g,"([^/]*)").replace(/\?/g,"[^/]").replace(/\.(?!\*)/g,String.raw`\.`).replace(/\{/g,"(").replace(/\}/g,")").replace(/,/g,"|").replace(/\[!(.*?)\]/g,"[^$1]");return new RegExp(`^${t}$`)},"globToRegExp");var Gt=Object.defineProperty,Jt=G((e,t)=>Gt(e,"name",{value:t,configurable:!0}),"n");const N=Jt((e,t,r,i)=>Array.isArray(t)&&t.length>0&&!t.some(n=>e.endsWith(n))||r&&!r.some(n=>n.test(e))?!1:!i?.some(n=>n.test(e)),"walkInclude");var Zt=Object.defineProperty,J=d((e,t)=>Zt(e,"name",{value:t,configurable:!0}),"u$1"),te=Object.defineProperty,L=J((e,t)=>te(e,"name",{value:t,configurable:!0}),"y");const ee=P(import.meta.url),O=typeof globalThis<"u"&&typeof globalThis.process<"u"?globalThis.process:process,re=L(e=>{if(typeof O<"u"&&O.versions&&O.versions.node){const[t,r]=O.versions.node.split(".").map(Number);if(t>22||t===22&&r>=3||t===20&&r>=16)return O.getBuiltinModule(e)}return ee(e)},"__cjs_getBuiltinModule"),{readdir:ie,realpath:ae,stat:se}=re("node:fs/promises");var ne=Object.defineProperty,g=L((e,t)=>ne(e,"name",{value:t,configurable:!0}),"r");const oe=g(async e=>{const t=bt(e),r=vt(t),i=await se(t);return{isDirectory:g(()=>i.isDirectory(),"isDirectory"),isFile:g(()=>i.isFile(),"isFile"),isSymbolicLink:g(()=>i.isSymbolicLink(),"isSymbolicLink"),name:r,path:t}},"_createWalkEntry");async function*k(e,{extensions:t,followSymlinks:r=!1,includeDirs:i=!0,includeFiles:n=!0,includeSymlinks:a=!0,match:s,maxDepth:l=Number.POSITIVE_INFINITY,skip:m}={}){if(x(e),l<0)return;const u=s?s.map(o=>typeof o=="string"?U(o):o):void 0,y=m?m.map(o=>typeof o=="string"?U(o):o):void 0;if(e=F(b(e)),i&&N(e,t,u,y)&&(yield await oe(e)),!(l<1||!N(e,void 0,void 0,y)))try{const o=await ie(e,{withFileTypes:!0});for(const c of o){let f=K(e,c.name);if(c.isSymbolicLink())if(r)f=await ae(f);else if(a&&N(f,t,u,y)){yield{isDirectory:g(()=>c.isDirectory(),"isDirectory"),isFile:g(()=>c.isFile(),"isFile"),isSymbolicLink:g(()=>c.isSymbolicLink(),"isSymbolicLink"),name:c.name,path:f};continue}else continue;c.isDirectory()?yield*k(f,{extensions:t,followSymlinks:r,includeDirs:i,includeFiles:n,includeSymlinks:a,match:u,maxDepth:l-1,skip:y}):c.isFile()&&n&&N(f,t,u,y)&&(yield{isDirectory:g(()=>c.isDirectory(),"isDirectory"),isFile:g(()=>c.isFile(),"isFile"),isSymbolicLink:g(()=>c.isSymbolicLink(),"isSymbolicLink"),name:c.name,path:f})}}catch(o){throw o instanceof B?o:new B(o,e)}}d(k,"f$2");J(k,"D");L(k,"g");g(k,"walk");var ce=Object.defineProperty,Z=d((e,t)=>ce(e,"name",{value:t,configurable:!0}),"t"),le=Object.defineProperty,j=Z((e,t)=>le(e,"name",{value:t,configurable:!0}),"t");const ue=P(import.meta.url),T=typeof globalThis<"u"&&typeof globalThis.process<"u"?globalThis.process:process,me=j(e=>{if(typeof T<"u"&&T.versions&&T.versions.node){const[t,r]=T.versions.node.split(".").map(Number);if(t>22||t===22&&r>=3||t===20&&r>=16)return T.getBuiltinModule(e)}return ue(e)},"__cjs_getBuiltinModule"),{accessSync:de}=me("node:fs");var he=Object.defineProperty,ye=j((e,t)=>he(e,"name",{value:t,configurable:!0}),"o");function D(e,t=ft){x(e),e=b(e);try{return de(e,t),!0}catch{return!1}}d(D,"i$1");Z(D,"d");j(D,"m");ye(D,"isAccessibleSync");var fe=Object.defineProperty,tt=d((e,t)=>fe(e,"name",{value:t,configurable:!0}),"v"),ge=Object.defineProperty,S=tt((e,t)=>ge(e,"name",{value:t,configurable:!0}),"i");const pe=P(import.meta.url),v=typeof globalThis<"u"&&typeof globalThis.process<"u"?globalThis.process:process,et=S(e=>{if(typeof v<"u"&&v.versions&&v.versions.node){const[t,r]=v.versions.node.split(".").map(Number);if(t>22||t===22&&r>=3||t===20&&r>=16)return v.getBuiltinModule(e)}return pe(e)},"__cjs_getBuiltinModule"),{cwd:_}=v,{mkdir:we,rename:be,copyFile:ve,unlink:Ee}=et("node:fs/promises"),{mkdirSync:Se,renameSync:$e,copyFileSync:Oe,unlinkSync:Te}=et("node:fs");var Fe=Object.defineProperty,rt=S((e,t)=>Fe(e,"name",{value:t,configurable:!0}),"o");class ke extends Error{static{d(this,"V")}static{tt(this,"O")}static{S(this,"a")}static{rt(this,"SameDirectoryError")}constructor(t,r){super(`Source directory "${w(t)}" does not match destination directory "${w(r)}"`),this.name="SameDirectoryError"}}const it=rt((e,t)=>{if(!e||!t)throw new Error("Source and destination paths must not be empty");if(w(e)!==w(t))throw new ke(e,t)},"validateSameDirectory");var Ne=Object.defineProperty,Pe=S((e,t)=>Ne(e,"name",{value:t,configurable:!0}),"m$1");const at=Pe(async(e,t,{cwd:r,directoryMode:i,overwrite:n,validateDirectory:a})=>{if(r&&(e=F(r,e),t=F(r,t)),a&&it(e,t),!n&&await gt(t))throw new Error(`The destination file exists: ${t}`);await we(w(t),{mode:i,recursive:!0});try{await be(e,t)}catch(s){if(s.code==="EXDEV")await ve(e,t),await Ee(e);else throw s}},"internalMoveFile");var De=Object.defineProperty,_e=S((e,t)=>De(e,"name",{value:t,configurable:!0}),"m");const st=_e((e,t,{cwd:r,directoryMode:i,overwrite:n,validateDirectory:a})=>{if(r&&(e=F(r,e),t=F(r,t)),a&&it(e,t),!n&&D(t))throw new Error(`The destination file exists: ${t}`);Se(w(t),{mode:i,recursive:!0});try{$e(e,t)}catch(s){if(s.code==="EXDEV")Oe(e,t),Te(e);else throw s}},"internalMoveFileSync");var Ie=Object.defineProperty,I=S((e,t)=>Ie(e,"name",{value:t,configurable:!0}),"i");const Me=I(async(e,t,r={})=>{const i={overwrite:!0,validateDirectory:!1,...r,cwd:r.cwd?b(r.cwd):_()};await at(e,t,i)},"move");I((e,t,r)=>{const i={overwrite:!0,validateDirectory:!1,...r};i.cwd=i.cwd?b(i.cwd):_(),st(e,t,i)},"moveSync");I(async(e,t,r)=>{const i={overwrite:!0,...r,validateDirectory:!0};i.cwd=i.cwd?b(i.cwd):_(),await at(e,t,i)},"rename");I((e,t,r)=>{const i={overwrite:!0,...r,validateDirectory:!0};i.cwd=i.cwd?b(i.cwd):_(),st(e,t,i)},"renameSync");var Re=Object.defineProperty,nt=d((e,t)=>Re(e,"name",{value:t,configurable:!0}),"r");class xe extends Q{static{d(this,"StreamChecksum")}constructor(t,r,i="base64"){super(),this.checksum=t,this.algorithm=r,this.encoding=i,this.hash=Tt(r)}checksum;algorithm;encoding;static{nt(this,"StreamChecksum")}length=0;digest="";hash;get calculatedDigest(){return this.digest}_transform(t,r,i){this.push(t),this.hash.update(t),this.length+=t.length,i()}_flush(t){this.digest=this.hash.digest(this.encoding),this.checksum&&this.checksum!==this.digest?t(new Error("Checksum mismatch")):t()}}const Le=nt((e,t,r="base64")=>t?new xe(e,t,r):new dt,"streamChecksum");var je=Object.defineProperty,Ce=d((e,t)=>je(e,"name",{value:t,configurable:!0}),"o");class Ae extends Q{static{d(this,"m")}constructor(t=Number.POSITIVE_INFINITY){super(),this.limit=t}limit;static{Ce(this,"StreamLength")}length=0;_transform(t,r,i){const n=this.length+t.length;this.limit>=n?(this.push(t),this.length=n,i()):i(new Error("Stream length limit exceeded"))}}var ze=Object.defineProperty,V=d((e,t)=>ze(e,"name",{value:t,configurable:!0}),"E");class E extends Ft{static name="disk";checksumTypes=["md5","sha1"];get raw(){return{directory:this.directory}}directory;meta;constructor(t){const r={...t,fileNameValidation:t.fileNameValidation??kt};if(super(r),this.directory=r.directory,r.metaStorage)this.meta=r.metaStorage;else{const i={...r,...r.metaStorageConfig,logger:this.logger};this.meta=new pt(i)}this.isReady=!1,this.accessCheck().then(()=>{this.isReady=!0}).catch(i=>{this.logger?.error("Storage access check failed: %O",i)})}normalizeError(t){return super.normalizeError(t)}async create(t){return this.instrumentOperation("create",async()=>{const r={...t};if(t.ttl){const a=typeof t.ttl=="string"?Nt(t.ttl):t.ttl;a!==void 0&&(r.expiredAt=Date.now()+a)}r.size!==void 0&&Number(r.size)<0&&p(h.REQUEST_ENTITY_TOO_LARGE,"Request entity too large");const i=new Pt(r);try{const a=await this.getMeta(i.id);if(a.status==="completed")return a}catch{}i.name=this.namingFunction(i),(i.size===void 0||Number.isNaN(i.size))&&(i.size===void 0||(i.size=this.maxUploadSize)),await this.validate(i);const n=this.getFilePath(i.name);try{await R(n),i.bytesWritten=0}catch(a){const s=this.normalizeError(a instanceof Error?a:new Error(String(a)));await this.onError(s),p(h.FILE_ERROR,s.message)}return i.status=W(i),await this.saveMeta(i),await this.onCreate(i),i})}async write(t){return this.instrumentOperation("write",async()=>{let r;if("contentType"in t&&"metadata"in t&&!("body"in t)&&!("start"in t)?r=t:(r=await this.getMeta(t.id),await this.checkIfExpired(r)),r.status==="completed")return r;if(t.size!==void 0&&_t(r,t.size),!Dt(t,r))return p(h.FILE_CONFLICT);const i=this.getFilePath(r.name),n=await this.lock(i);try{const a=t.start||0;if(await R(i),r.bytesWritten===0&&(r.bytesWritten=a),It(t)){if(this.isUnsupportedChecksum(t.checksumAlgorithm))return p(h.UNSUPPORTED_CHECKSUM_ALGORITHM);if((t.start===0||t.start===void 0)&&(r.bytesWritten===0||Number.isNaN(r.bytesWritten))&&(!r.contentType||r.contentType==="application/octet-stream"))try{const{fileType:o,stream:c}=await $t(t.body);o?.mime&&(r.contentType=o.mime),t.body=c}catch{}const s=t.signal,l={...r,...t,body:t.body};s&&(l.signal=s);const[m,u]=await this.lazyWrite(l);if(u)return await mt(i,r.bytesWritten),p(u);const y=a+(t.contentLength||0);r.bytesWritten=Math.max(r.bytesWritten||0,y),r.bytesWritten=Math.max(r.bytesWritten||0,m),r.status=W(r),await this.saveMeta(r)}else await R(i),r.bytesWritten=0;return r}catch(a){if(Ot(a))throw a;const s=this.normalizeError(a instanceof Error?a:new Error(String(a)));return await this.onError(s),p(h.FILE_ERROR,(typeof s.message=="string"?s.message:String(a))||String(a))}finally{await this.unlock(i,n)}})}async get({id:t}){return this.instrumentOperation("get",async()=>{const r=await this.checkIfExpired(await this.meta.get(t)),{bytesWritten:i,contentType:n,expiredAt:a,metadata:s,modifiedAt:l,name:m,originalName:u,size:y}=r;let o;try{o=await wt(this.getFilePath(m),{buffer:!0})}catch(c){const f=c;if(f.code==="ENOENT"||f.code==="EPERM"){const M=this.normalizeError(c instanceof Error?c:new Error(f.message||String(c)));return await this.onError(M),p(h.FILE_NOT_FOUND,(typeof M.message=="string"?M.message:String(c))||String(c))}const ot=this.normalizeError(c instanceof Error?c:new Error(String(c)));throw await this.onError(ot),c}return{content:o,contentType:n,ETag:St(o),expiredAt:a,id:t,metadata:s,modifiedAt:l,name:m,originalName:u,size:y||i}})}async exists({id:t}){return this.instrumentOperation("exists",async()=>{try{const r=await this.getMeta(t),i=this.getFilePath(r.name);return await C(i),!0}catch{return!1}})}async getStream({id:t}){return this.instrumentOperation("getStream",async()=>{try{const r=await this.checkIfExpired(await this.meta.get(t)),{bytesWritten:i,contentType:n,expiredAt:a,modifiedAt:s,name:l,size:m}=r,u=lt(this.getFilePath(l));return{headers:{"Content-Length":String(m||i),"Content-Type":n,...a&&{"X-Upload-Expires":a.toString()},...s&&{"Last-Modified":s.toString()}},size:m||i,stream:u}}catch(r){const i=this.normalizeError(r instanceof Error?r:new Error(String(r)));throw await this.onError(i),p(h.FILE_NOT_FOUND,(typeof i.message=="string"?i.message:String(r))||String(r))}})}async delete({id:t}){return this.instrumentOperation("delete",async()=>{const r=await this.getMeta(t);await z(this.getFilePath(r.name)),await this.deleteMeta(t);const i={...r,status:"deleted"};return await this.onDelete(i),i})}async copy(t,r){return this.instrumentOperation("copy",async()=>{E.assertSafeId(t),E.assertSafeId(r);const i=await this.getMeta(t);return await A(this.getFilePath(i.name),this.getFilePath(r)),{...i,name:r}})}async move(t,r){return this.instrumentOperation("move",async()=>{E.assertSafeId(t),E.assertSafeId(r);const i=await this.getMeta(t),n=this.getFilePath(i.name),a=this.getFilePath(r);try{await Me(n,a)}catch(s){if(s?.code==="EXDEV")await A(n,a),await z(n);else{const l=this.normalizeError(s instanceof Error?s:new Error(String(s)));throw await this.onError(l),s}}return{...i,id:i.id,name:r}})}async list(){return this.instrumentOperation("list",async()=>{const t={followSymlinks:!1,includeDirs:!1,includeFiles:!0,skip:["*.META$"]},r=[],{directory:i}=this;for await(const n of k(i,t)){const{suffix:a}=this.meta,{path:s}=n;if(!s.includes(a)){const{birthtime:l,ctime:m,mtime:u}=await C(s);r.push({createdAt:l||m,id:s.replace(i,""),modifiedAt:u})}}return r})}getFilePath(t){return E.assertSafeId(t),Et(t)&&p(h.INVALID_FILE_NAME,`Invalid file id: "${t}"`),K(this.directory,t)}lazyWrite(t){return new Promise((r,i)=>{const n=ut(this.getFilePath(t.name),{flags:"r+",start:t.start}),a=new Ae(t.contentLength||t.size-t.start),s=Le(t.checksum,t.checksumAlgorithm),l=!t.checksum,{signal:m}=t,u=V(()=>{n.close(),a.destroy(),s.destroy()},"cleanupStreams"),y=V(o=>{u(),r([Number.NaN,o])},"failWithCode");if(a.on("error",()=>{y(h.FILE_CONFLICT)}),s.on("error",()=>{y(h.CHECKSUM_MISMATCH)}),t.body.on("aborted",()=>{y(l?void 0:h.REQUEST_ABORTED)}),t.body.on("error",o=>{u(),i(o)}),m?.aborted){y(l?void 0:h.REQUEST_ABORTED);return}m&&m.addEventListener("abort",()=>{u(),n.destroy(),a.destroy(),s.destroy(),t.body.destroy(),r([Number.NaN,l?void 0:h.REQUEST_ABORTED])}),ht(t.body,a,s,n,o=>{if(o){if(u(),m?.aborted){r([Number.NaN,l?void 0:h.REQUEST_ABORTED]);return}r([Number.NaN,h.FILE_ERROR]);return}r([t.start+n.bytesWritten])})})}async accessCheck(){await H(this.directory)}}export{E as f,Ae as m,Le as s,R as y};
|
|
@@ -0,0 +1,150 @@
|
|
|
1
|
+
import { F as File, M as MetaStorage, D as DiskStorageOptions, H as HttpError, e as FileInit, f as FilePart, g as FileQuery, a as FileReturn, E as ERRORS, B as BaseStorage, h as DiskStorageWithChecksumOptions } from "./storage.d-RteRC-cG.js";
|
|
2
|
+
import { Readable } from 'node:stream';
|
|
3
|
+
/**
|
|
4
|
+
* Local disk-based storage implementation.
|
|
5
|
+
* @template TFile The file type used by this storage backend.
|
|
6
|
+
* @remarks
|
|
7
|
+
* ## Error Handling
|
|
8
|
+
* - Filesystem operations throw errors directly (no retry logic)
|
|
9
|
+
* - File not found errors are thrown immediately
|
|
10
|
+
* - Permission errors are propagated as-is
|
|
11
|
+
*
|
|
12
|
+
* ## Retry Behavior
|
|
13
|
+
* - No automatic retries (filesystem operations are typically immediate)
|
|
14
|
+
* - Errors are thrown directly for immediate feedback
|
|
15
|
+
*
|
|
16
|
+
* ## File Paths
|
|
17
|
+
* - Files are stored in the configured directory
|
|
18
|
+
* - Metadata files use the `.META` suffix by default
|
|
19
|
+
* - File paths are resolved relative to the storage directory
|
|
20
|
+
*/
|
|
21
|
+
declare class DiskStorage<TFile extends File = File> extends BaseStorage<TFile> {
|
|
22
|
+
static override readonly name: string;
|
|
23
|
+
override checksumTypes: string[];
|
|
24
|
+
override get raw(): {
|
|
25
|
+
directory: string;
|
|
26
|
+
};
|
|
27
|
+
directory: string;
|
|
28
|
+
meta: MetaStorage<TFile>;
|
|
29
|
+
constructor(config: DiskStorageOptions<TFile>);
|
|
30
|
+
/**
|
|
31
|
+
* Normalizes errors with disk storage context.
|
|
32
|
+
* @param error The error to normalize.
|
|
33
|
+
* @returns Normalized HTTP error.
|
|
34
|
+
*/
|
|
35
|
+
override normalizeError(error: Error): HttpError;
|
|
36
|
+
/**
|
|
37
|
+
* Creates a new file upload and saves its metadata.
|
|
38
|
+
* @param fileInit File initialization configuration.
|
|
39
|
+
* @returns Promise resolving to the created file object.
|
|
40
|
+
* @throws {Error} If validation fails or file already exists and is completed.
|
|
41
|
+
* @remarks
|
|
42
|
+
* Supports TTL (time-to-live) option in fileInit.
|
|
43
|
+
* Creates the file on disk if it doesn't exist.
|
|
44
|
+
* Returns existing file if it's already completed.
|
|
45
|
+
*/
|
|
46
|
+
create(fileInit: FileInit): Promise<TFile>;
|
|
47
|
+
/**
|
|
48
|
+
* Writes data to a file upload.
|
|
49
|
+
* @param part File part containing data to write, file query, or full file object.
|
|
50
|
+
* @returns Promise resolving to the updated file object.
|
|
51
|
+
* @throws {Error} If file is expired (ERRORS.GONE), locked (ERRORS.FILE_LOCKED), or conflicts occur (ERRORS.FILE_CONFLICT).
|
|
52
|
+
* @remarks
|
|
53
|
+
* Supports chunked uploads with start position.
|
|
54
|
+
* Automatically detects file type from stream on first chunk if contentType is not set.
|
|
55
|
+
* Validates checksum algorithms if provided.
|
|
56
|
+
* Uses file locking to prevent concurrent writes.
|
|
57
|
+
* Updates file status to "completed" when all bytes are written.
|
|
58
|
+
*/
|
|
59
|
+
write(part: FilePart | FileQuery | TFile): Promise<TFile>;
|
|
60
|
+
/**
|
|
61
|
+
* Gets an uploaded file by ID.
|
|
62
|
+
* @param query File query containing the file ID to retrieve.
|
|
63
|
+
* @param query.id File ID to retrieve.
|
|
64
|
+
* @returns Promise resolving to the file data including content buffer.
|
|
65
|
+
* @throws {Error} If the file cannot be found (ERRORS.FILE_NOT_FOUND) or has expired (ERRORS.GONE).
|
|
66
|
+
* @remarks
|
|
67
|
+
* Loads the entire file content into memory as a Buffer.
|
|
68
|
+
* For large files, consider using getStream() instead.
|
|
69
|
+
* Includes ETag (MD5 hash) for content verification.
|
|
70
|
+
*/
|
|
71
|
+
get({
|
|
72
|
+
id
|
|
73
|
+
}: FileQuery): Promise<FileReturn>;
|
|
74
|
+
/**
|
|
75
|
+
* Checks if a file exists by verifying both metadata and the actual filesystem file.
|
|
76
|
+
* Returns true only if both the metadata and the file exist.
|
|
77
|
+
* @param query File query containing the file ID to check.
|
|
78
|
+
* @returns Promise resolving to true if both metadata and file exist, false otherwise.
|
|
79
|
+
*/
|
|
80
|
+
override exists({
|
|
81
|
+
id
|
|
82
|
+
}: FileQuery): Promise<boolean>;
|
|
83
|
+
/**
|
|
84
|
+
* Gets an uploaded file as a readable stream for efficient large file handling.
|
|
85
|
+
* @param query File query containing the file ID to stream.
|
|
86
|
+
* @param query.id File ID to stream.
|
|
87
|
+
* @returns Promise resolving to an object containing the stream, headers, and size.
|
|
88
|
+
* @throws {UploadError} If the file cannot be found (ERRORS.FILE_NOT_FOUND) or has expired (ERRORS.GONE).
|
|
89
|
+
* @remarks Creates a readable stream directly from the file system for efficient memory usage.
|
|
90
|
+
*/
|
|
91
|
+
override getStream({
|
|
92
|
+
id
|
|
93
|
+
}: FileQuery): Promise<{
|
|
94
|
+
headers?: Record<string, string>;
|
|
95
|
+
size?: number;
|
|
96
|
+
stream: Readable;
|
|
97
|
+
}>;
|
|
98
|
+
/**
|
|
99
|
+
* Deletes an upload and its metadata.
|
|
100
|
+
* @param query File query containing the file ID to delete.
|
|
101
|
+
* @param query.id File ID to delete.
|
|
102
|
+
* @returns Promise resolving to the deleted file object with status: "deleted".
|
|
103
|
+
* @throws {UploadError} If the file metadata cannot be found.
|
|
104
|
+
*/
|
|
105
|
+
delete({
|
|
106
|
+
id
|
|
107
|
+
}: FileQuery): Promise<TFile>;
|
|
108
|
+
/**
|
|
109
|
+
* Copies an upload file to a new location.
|
|
110
|
+
* @param name Source file name/ID.
|
|
111
|
+
* @param destination Destination file name/ID.
|
|
112
|
+
* @returns Promise resolving to the copied file object.
|
|
113
|
+
* @throws {UploadError} If the source file cannot be found.
|
|
114
|
+
*/
|
|
115
|
+
copy(name: string, destination: string): Promise<TFile>;
|
|
116
|
+
/**
|
|
117
|
+
* Moves an upload file to a new location.
|
|
118
|
+
* @param name Source file name/ID.
|
|
119
|
+
* @param destination Destination file name/ID.
|
|
120
|
+
* @returns Promise resolving to the moved file object.
|
|
121
|
+
* @throws {Error} If the source file cannot be found.
|
|
122
|
+
*/
|
|
123
|
+
move(name: string, destination: string): Promise<TFile>;
|
|
124
|
+
/**
|
|
125
|
+
* Retrieves a list of uploaded files.
|
|
126
|
+
* @returns Promise resolving to an array of file metadata objects.
|
|
127
|
+
* @remarks Walks the storage directory and returns all files, excluding metadata files.
|
|
128
|
+
*/
|
|
129
|
+
override list(): Promise<TFile[]>;
|
|
130
|
+
/**
|
|
131
|
+
* Returns the absolute on-disk path for the uploaded file, always rooted at
|
|
132
|
+
* `this.directory`. Absolute inputs and `..` traversals are rejected.
|
|
133
|
+
*/
|
|
134
|
+
protected getFilePath(filename: string): string;
|
|
135
|
+
protected lazyWrite(part: File & FilePart): Promise<[number, ERRORS?]>;
|
|
136
|
+
private accessCheck;
|
|
137
|
+
}
|
|
138
|
+
/**
|
|
139
|
+
* Additionally calculates checksum of the file/range.
|
|
140
|
+
*/
|
|
141
|
+
declare class DiskStorageWithChecksum<TFile extends File = File> extends DiskStorage<TFile> {
|
|
142
|
+
private hashes;
|
|
143
|
+
constructor(config: DiskStorageWithChecksumOptions<TFile>);
|
|
144
|
+
override delete({
|
|
145
|
+
id
|
|
146
|
+
}: FileQuery): Promise<TFile>;
|
|
147
|
+
override write(part: FilePart | FileQuery): Promise<TFile>;
|
|
148
|
+
protected override lazyWrite(part: File & FilePart): Promise<[number, ERRORS?]>;
|
|
149
|
+
}
|
|
150
|
+
export { DiskStorage as D, DiskStorageWithChecksum as a };
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
var m=Object.defineProperty;var p=(t,n)=>m(t,"name",{value:n,configurable:!0});import*as e from"zod";const y=1024*1024,u=e.object({limit:e.int().positive().max(1e3).optional().meta({description:"Maximum number of items to return"}),prefix:e.string().trim().optional().meta({description:"Only return keys that start with this prefix"})}),f=e.object({key:e.string().trim().meta({description:"The object key to inspect"})}),g=e.object({binary:e.boolean().optional().meta({description:"When true, returns base64-encoded bytes instead of UTF-8 text"}),key:e.string().trim().meta({description:"The object key to download"}),maxBytes:e.int().positive().optional().meta({description:`Reject downloads larger than this byte count (default ${y}). Verified via head() before transferring.`})}),b=e.object({expiresIn:e.int().positive().optional().meta({description:"Override the adapter default URL expiry in seconds. Ignored by permanent-CDN adapters."}),key:e.string().trim().meta({description:"The object key to build a URL for"}),responseContentDisposition:e.string().trim().optional().meta({description:`Force a Content-Disposition header on the response (e.g. 'attachment; filename="f.txt"'). Strongly recommended for user-uploaded content to prevent inline rendering of HTML/SVG.`})}),h=e.object({content:e.string().meta({description:'File body. Treated as UTF-8 text unless encoding is "base64".'}),contentType:e.string().trim().optional().meta({description:"MIME type recorded with the object"}),encoding:e.enum(["text","base64"]).optional().meta({description:"How to interpret content (default: text)"}),key:e.string().trim().meta({description:"Destination object key"}),metadata:e.record(e.string().trim(),e.string()).optional().meta({description:"Custom string metadata to attach to the object"})}),F=e.object({key:e.string().trim().meta({description:"Object key to delete"})}),k=e.object({from:e.string().trim().meta({description:"Source object key"}),to:e.string().trim().meta({description:"Destination object key"})}),w=e.object({contentType:e.string().trim().optional().meta({description:"Content-Type that the upload must declare"}),expiresIn:e.int().positive().meta({description:"Lifetime of the presigned URL in seconds"}),key:e.string().trim().meta({description:"Destination object key"})}),M={copyFile:{description:"Copy a file to a new key within the configured bucket. The source remains intact.",input:k},deleteFile:{description:"Permanently delete a file from the configured bucket.",input:F},downloadFile:{description:"Download a file and return its contents. Returns UTF-8 text by default; set binary=true to receive base64-encoded bytes. Files larger than maxBytes are rejected before transfer.",input:g},getFileMetadata:{description:"Fetch metadata for a single file (size, content type, etag, custom metadata) without transferring its body.",input:f},getFileUrl:{description:"Return a signed, time-limited URL the caller can use to fetch a file. Adapters that don't support presigning will throw MethodNotAllowed.",input:b},listFiles:{description:"List files in the configured bucket, optionally filtered by key prefix.",input:u},signUploadUrl:{description:"Issue a presigned URL that lets a client upload directly to the configured bucket. Approval-gated by default — the URL grants upload permission until it expires.",input:w},uploadFile:{description:'Upload a file to the configured bucket. Pass content as UTF-8 text by default, or as base64 with encoding="base64" for binary payloads.',input:h}},T=["uploadFile","deleteFile","copyFile","signUploadUrl"],S=new Set(T);var x=Object.defineProperty,s=p((t,n)=>x(t,"name",{value:n,configurable:!0}),"r");const l=s(t=>{if(t!==void 0)return t instanceof Date?t.toISOString():typeof t=="number"?new Date(t).toISOString():t},"serializeLastModified"),j={copyFile:s(async(t,{from:n,to:i})=>{const o=await t.copy(n,i);return{copied:!0,etag:o.etag,from:n,key:o.key,to:i}},"copyFile"),deleteFile:s(async(t,{key:n})=>(await t.delete(n),{deleted:!0,key:n}),"deleteFile"),downloadFile:s(async(t,{binary:n,key:i,maxBytes:o})=>{const r=o??y,c=await t.head(i);if(typeof c.size=="number"&&c.size>r)throw new RangeError(`downloadFile refused: "${i}" is ${c.size} bytes which exceeds the maxBytes limit of ${r}. Use getFileUrl to delegate to the client, or raise maxBytes.`);const a=await t.download(i);if(a.body.byteLength>r)throw new RangeError(`downloadFile refused: "${i}" returned ${a.body.byteLength} bytes which exceeds the maxBytes limit of ${r}. Use getFileUrl instead.`);return n?{content:a.body.toString("base64"),contentType:a.contentType,encoding:"base64",key:a.key,...typeof a.size=="number"?{size:a.size}:{}}:{content:a.body.toString("utf8"),contentType:a.contentType,encoding:"text",key:a.key,...typeof a.size=="number"?{size:a.size}:{}}},"downloadFile"),getFileMetadata:s(async(t,{key:n})=>{const i=await t.head(n);return{contentType:i.contentType,...i.etag?{etag:i.etag}:{},key:i.key,...l(i.lastModified)?{lastModified:l(i.lastModified)}:{},...i.metadata?{metadata:i.metadata}:{},...typeof i.size=="number"?{size:i.size}:{}}},"getFileMetadata"),getFileUrl:s(async(t,{expiresIn:n,key:i,responseContentDisposition:o})=>{const r=await t.url(i,{expiresIn:n,responseContentDisposition:o});return{key:i,url:r}},"getFileUrl"),listFiles:s(async(t,{limit:n,prefix:i})=>({items:(await t.list({limit:n,prefix:i})).map(o=>({contentType:o.contentType,...o.etag?{etag:o.etag}:{},key:o.key,...l(o.lastModified)?{lastModified:l(o.lastModified)}:{},...typeof o.size=="number"?{size:o.size}:{}}))}),"listFiles"),signUploadUrl:s(async(t,{contentType:n,expiresIn:i,key:o})=>{const r=await t.signedUploadUrl(o,{contentType:n,expiresIn:i});return{key:o,url:r}},"signUploadUrl"),uploadFile:s(async(t,{content:n,contentType:i,encoding:o,key:r,metadata:c})=>{const a=o==="base64"?Buffer.from(n,"base64"):Buffer.from(n,"utf8"),d=await t.upload(r,a,{contentType:i,metadata:c});return{contentType:d.contentType,...d.etag?{etag:d.etag}:{},key:d.key,...l(d.lastModified)?{lastModified:l(d.lastModified)}:{},...typeof d.size=="number"?{size:d.size}:{}}},"uploadFile")};export{M as T,S as W,j as e};
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
import { F as Files } from "./index.d-C4Fivh4I.js";
|
|
2
|
+
import { C as CopyFileInput, D as DeleteFileInput, a as DownloadFileInput, G as GetFileMetadataInput, b as GetFileUrlInput, L as ListFilesInput, S as SignUploadUrlInput, U as UploadFileInput } from "./approval.d-CMAYH9GF.js";
|
|
3
|
+
interface CopyFileResult {
|
|
4
|
+
copied: true;
|
|
5
|
+
etag: string | undefined;
|
|
6
|
+
from: string;
|
|
7
|
+
key: string;
|
|
8
|
+
to: string;
|
|
9
|
+
}
|
|
10
|
+
interface DeleteFileResult {
|
|
11
|
+
deleted: true;
|
|
12
|
+
key: string;
|
|
13
|
+
}
|
|
14
|
+
interface DownloadFileResult {
|
|
15
|
+
content: string;
|
|
16
|
+
contentType: string | undefined;
|
|
17
|
+
encoding: "base64" | "text";
|
|
18
|
+
key: string;
|
|
19
|
+
size?: number;
|
|
20
|
+
}
|
|
21
|
+
interface FileMetadataResult {
|
|
22
|
+
contentType: string | undefined;
|
|
23
|
+
etag?: string;
|
|
24
|
+
key: string;
|
|
25
|
+
lastModified?: string;
|
|
26
|
+
metadata?: Record<string, unknown>;
|
|
27
|
+
size?: number;
|
|
28
|
+
}
|
|
29
|
+
interface FileUrlResult {
|
|
30
|
+
key: string;
|
|
31
|
+
url: string;
|
|
32
|
+
}
|
|
33
|
+
interface ListFilesItem {
|
|
34
|
+
contentType: string | undefined;
|
|
35
|
+
etag?: string;
|
|
36
|
+
key: string;
|
|
37
|
+
lastModified?: string;
|
|
38
|
+
size?: number;
|
|
39
|
+
}
|
|
40
|
+
interface ListFilesResult {
|
|
41
|
+
items: ListFilesItem[];
|
|
42
|
+
}
|
|
43
|
+
interface SignUploadUrlResult {
|
|
44
|
+
key: string;
|
|
45
|
+
url: string;
|
|
46
|
+
}
|
|
47
|
+
interface UploadFileResult {
|
|
48
|
+
contentType: string | undefined;
|
|
49
|
+
etag?: string;
|
|
50
|
+
key: string;
|
|
51
|
+
lastModified?: string;
|
|
52
|
+
size?: number;
|
|
53
|
+
}
|
|
54
|
+
interface Executors {
|
|
55
|
+
copyFile: (files: Files, input: CopyFileInput) => Promise<CopyFileResult>;
|
|
56
|
+
deleteFile: (files: Files, input: DeleteFileInput) => Promise<DeleteFileResult>;
|
|
57
|
+
downloadFile: (files: Files, input: DownloadFileInput) => Promise<DownloadFileResult>;
|
|
58
|
+
getFileMetadata: (files: Files, input: GetFileMetadataInput) => Promise<FileMetadataResult>;
|
|
59
|
+
getFileUrl: (files: Files, input: GetFileUrlInput) => Promise<FileUrlResult>;
|
|
60
|
+
listFiles: (files: Files, input: ListFilesInput) => Promise<ListFilesResult>;
|
|
61
|
+
signUploadUrl: (files: Files, input: SignUploadUrlInput) => Promise<SignUploadUrlResult>;
|
|
62
|
+
uploadFile: (files: Files, input: UploadFileInput) => Promise<UploadFileResult>;
|
|
63
|
+
}
|
|
64
|
+
declare const executors: Executors;
|
|
65
|
+
export { executors as e };
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
var o=Object.defineProperty;var c=(e,s)=>o(e,"name",{value:s,configurable:!0});var S=Object.defineProperty,n=c((e,s)=>S(e,"name",{value:s,configurable:!0}),"r");const C=n(e=>{const s=e?.accessKeyId??process.env.AWS_ACCESS_KEY_ID??process.env.EXOSCALE_ACCESS_KEY_ID??process.env.EXOSCALE_ACCESS_KEY,E=e?.secretAccessKey??process.env.AWS_SECRET_ACCESS_KEY??process.env.EXOSCALE_SECRET_ACCESS_KEY??process.env.EXOSCALE_SECRET_KEY,r=e?.zone??process.env.EXOSCALE_ZONE;if(!r||!s||!E)throw new Error("Missing required parameters for Exoscale SOS client.");return{credentials:{accessKeyId:s,secretAccessKey:E},endpoint:`https://sos-${r}.exo.io`,forcePathStyle:!1,region:r}},"exoscale");export{C as default};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
var n=Object.defineProperty;var E=(e,s)=>n(e,"name",{value:s,configurable:!0});var t=Object.defineProperty,o=E((e,s)=>t(e,"name",{value:s,configurable:!0}),"r");const a=o(e=>{const s=e?.accessKeyId??process.env.AWS_ACCESS_KEY_ID??process.env.FILEBASE_ACCESS_KEY_ID??process.env.FILEBASE_ACCESS_KEY,c=e?.endpoint??process.env.FILEBASE_ENDPOINT,r=e?.secretAccessKey??process.env.AWS_SECRET_ACCESS_KEY??process.env.FILEBASE_SECRET_ACCESS_KEY??process.env.FILEBASE_SECRET_KEY;if(!s||!r)throw new Error("Missing required parameters for Filebase client.");return{credentials:{accessKeyId:s,secretAccessKey:r},endpoint:c??"https://s3.filebase.com",forcePathStyle:!0,region:"us-east-1"}},"filebase");export{a as default};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
var g=Object.defineProperty;var o=(s,t)=>g(s,"name",{value:t,configurable:!0});import{randomUUID as y}from"node:crypto";import{request as f}from"gaxios";import{GoogleAuth as C}from"google-auth-library";import v from"./MetaStorage-Y4m1dWgd.js";import{stringifyMetadata as R,parseMetadata as E}from"./Metadata-B6Ir0KO7.js";import n from"./GCSConfig-BQ0OpVhe.js";import{o as $}from"./has-content-Bx2p8Okx.js";var I="@visulima/storage",P="1.0.0-alpha.29";const i={name:I,version:P};var A=Object.defineProperty,u=o((s,t)=>A(s,"name",{value:t,configurable:!0}),"n");const T=u(s=>{const t=s.match(/(\d+)-(\d+)/),e=t?.[2]?+t[2]:0;return e>0?e+1:0},"getRangeEnd"),G=u(s=>{if($(s)){const t=s.contentLength?s.start+s.contentLength-1:"*";return`bytes ${s.start}-${t}/${s.size??"*"}`}return`bytes */${s.size??"*"}`},"buildContentRange"),U=u(s=>{if(s.response!==void 0){const{response:t}=s;return t?.data?.error?.errors?.map(({reason:e=""})=>e==="rateLimitExceeded"||e==="userRateLimitExceeded"?!0:!!(e&&e.includes("EAI_AGAIN"))).includes(!0)}return!1},"shouldRetry"),w={retry:3,shouldRetry:U,statusCodesToRetry:[[408,429,500,502,503,504],[100,199],[429],[500,599]]};var b=Object.defineProperty,j=o((s,t)=>b(s,"name",{value:t,configurable:!0}),"p");class N extends v{static{o(this,"E")}constructor(t){super(t),this.config=t;const{authClient:e,...a}=t,r=a.bucket||process.env.GCS_BUCKET;if(e===void 0){if(!r)throw new Error("GCS bucket is not defined");if(!a.projectId)throw new Error("Sorry, we cannot connect to Cloud Services without a project ID.");a.scopes||=n.authScopes,this.authClient=new C(a)}else this.authClient=e;this.storageBaseURI=`${a.storageAPI||n.storageAPI}/${r}/o`,this.uploadBaseURI=`${a.uploadAPI||n.uploadAPI}/${r}/o`;const h=["storage.googleapis.com"],d=new URL(this.storageBaseURI).hostname;this.isCustomEndpoint=!h.includes(d);const{retryOptions:m,useAuthWithCustomEndpoint:p,userProject:l}=t;this.userProject=l,this.useAuthWithCustomEndpoint=p||!1,this.retryOptions={...w,...m},e===void 0&&this.accessCheck().catch(c=>{throw c.code==="404"?new Error(`Bucket ${r} does not exist`):c})}config;static{j(this,"GCSMetaStorage")}authClient;storageBaseURI;uploadBaseURI;isCustomEndpoint=!1;retryOptions={};useAuthWithCustomEndpoint;userProject;async save(t,e){const a={...e};return a.metadata&&(a.metadata=R(e.metadata)),await this.makeRequest({body:JSON.stringify(a),headers:{"Content-Type":"application/json; charset=utf-8"},method:"POST",params:{name:encodeURIComponent(this.getMetaName(t)),uploadType:"media"},url:this.uploadBaseURI}),e}async delete(t){const e=this.getMetaPath(t);await this.makeRequest({method:"DELETE",url:e})}async get(t){const e=this.getMetaPath(t),{data:a}=await this.makeRequest({params:{alt:"media"},url:e});return a.metadata&&typeof a.metadata=="string"&&(a.metadata=E(a.metadata)),a}async touch(t,e){return this.save(t,e)}async accessCheck(){return this.makeRequest({url:this.storageBaseURI.replace("/o","")})}getMetaPath(t){return`${this.storageBaseURI}/${this.getMetaName(t)}`}async makeRequest(t){return typeof t.url=="string"&&(t.url=t.url.replaceAll("/:",":")),t={...t,headers:{"User-Agent":`${i.name}/${i.version}`,"x-goog-api-client":`gl-node/${process.versions.node} gccl/${i.version} gccl-invocation-id/${y()}`},params:{...this.userProject===void 0?{}:{userProject:this.userProject}},retry:!0,retryConfig:this.retryOptions,timeout:6e4},this.isCustomEndpoint&&!this.useAuthWithCustomEndpoint?f(t):this.authClient.request(t)}}export{N as E,G as b,i as d,T as g,w as r};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
var a=Object.defineProperty;var t=(e,r)=>a(e,"name",{value:r,configurable:!0});var o=Object.defineProperty,n=t((e,r)=>o(e,"name",{value:r,configurable:!0}),"e");const s=n(e=>typeof e.start=="number"&&e.start>=0&&!!e.body,"hasContent");export{s as o};
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
var ke=Object.defineProperty;var n=(a,e)=>ke(a,"name",{value:e,configurable:!0});import{g as Ne}from"./_commonjsHelpers-D6W6KoPK.js";import Re from"path";var V={exports:{}},J,pe;function Me(){if(pe)return J;pe=1;var a=Object.defineProperty,e=n((i,o)=>a(i,"name",{value:o,configurable:!0}),"i");/*!
|
|
2
|
+
* depd
|
|
3
|
+
* Copyright(c) 2014-2018 Douglas Christopher Wilson
|
|
4
|
+
* MIT Licensed
|
|
5
|
+
*/var t=Re.relative;J=d;var r=process.cwd();function s(i,o){for(var f=i.split(/[ ,]+/),c=String(o).toLowerCase(),l=0;l<f.length;l++){var w=f[l];if(w&&(w==="*"||w.toLowerCase()===c))return!0}return!1}n(s,"containsNamespace"),e(s,"containsNamespace");function u(i,o,f){var c=Object.getOwnPropertyDescriptor(i,o),l=c.value;return c.get=e(function(){return l},"getter"),c.writable&&(c.set=e(function(w){return l=w},"setter")),delete c.value,delete c.writable,Object.defineProperty(i,o,c),c}n(u,"convertDataDescriptorToAccessor"),e(u,"convertDataDescriptorToAccessor");function p(i){for(var o="",f=0;f<i;f++)o+=", arg"+f;return o.substr(2)}n(p,"createArgumentsString"),e(p,"createArgumentsString");function m(i){var o=this.name+": "+this.namespace;this.message&&(o+=" deprecated "+this.message);for(var f=0;f<i.length;f++)o+=`
|
|
6
|
+
at `+i[f].toString();return o}n(m,"createStackString"),e(m,"createStackString");function d(i){if(!i)throw new TypeError("argument namespace is required");var o=b(),f=P(o[1]),c=f[0];function l(w){O.call(l,w)}return n(l,"t"),e(l,"deprecate"),l._file=c,l._ignored=x(i),l._namespace=i,l._traced=$(i),l._warned=Object.create(null),l.function=C,l.property=v,l}n(d,"depd"),e(d,"depd");function y(i,o){var f=typeof i.listenerCount!="function"?i.listeners(o).length:i.listenerCount(o);return f>0}n(y,"eehaslisteners"),e(y,"eehaslisteners");function x(i){if(process.noDeprecation)return!0;var o=process.env.NO_DEPRECATION||"";return s(o,i)}n(x,"isignored"),e(x,"isignored");function $(i){if(process.traceDeprecation)return!0;var o=process.env.TRACE_DEPRECATION||"";return s(o,i)}n($,"istraced"),e($,"istraced");function O(i,o){var f=y(process,"deprecation");if(!(!f&&this._ignored)){var c,l,w,j,T=0,q=!1,R=b(),_=this._file;for(o?(j=o,w=P(R[1]),w.name=j.name,_=w[0]):(T=2,j=P(R[T]),w=j);T<R.length;T++)if(c=P(R[T]),l=c[0],l===_)q=!0;else if(l===this._file)_=this._file;else if(q)break;var G=c?j.join(":")+"__"+c.join(":"):void 0;if(!(G!==void 0&&G in this._warned)){this._warned[G]=!0;var H=i;if(H||(H=w===j||!w.name?k(j):k(w)),f){var Te=S(this._namespace,H,R.slice(T));process.emit("deprecation",Te);return}var Ae=process.stderr.isTTY?N:I,Le=Ae.call(this,H,c,R.slice(T));process.stderr.write(Le+`
|
|
7
|
+
`,"utf8")}}}n(O,"log"),e(O,"log");function P(i){var o=i.getFileName()||"<anonymous>",f=i.getLineNumber(),c=i.getColumnNumber();i.isEval()&&(o=i.getEvalOrigin()+", "+o);var l=[o,f,c];return l.callSite=i,l.name=i.getFunctionName(),l}n(P,"callSiteLocation"),e(P,"callSiteLocation");function k(i){var o=i.callSite,f=i.name;f||(f="<anonymous@"+h(i)+">");var c=o.getThis(),l=c&&o.getTypeName();return l==="Object"&&(l=void 0),l==="Function"&&(l=c.name||l),l&&o.getMethodName()?l+"."+f:f}n(k,"defaultMessage"),e(k,"defaultMessage");function I(i,o,f){var c=new Date().toUTCString(),l=c+" "+this._namespace+" deprecated "+i;if(this._traced){for(var w=0;w<f.length;w++)l+=`
|
|
8
|
+
at `+f[w].toString();return l}return o&&(l+=" at "+h(o)),l}n(I,"formatPlain"),e(I,"formatPlain");function N(i,o,f){var c="\x1B[36;1m"+this._namespace+"\x1B[22;39m \x1B[33;1mdeprecated\x1B[22;39m \x1B[0m"+i+"\x1B[39m";if(this._traced){for(var l=0;l<f.length;l++)c+=`
|
|
9
|
+
\x1B[36mat `+f[l].toString()+"\x1B[39m";return c}return o&&(c+=" \x1B[36m"+h(o)+"\x1B[39m"),c}n(N,"formatColor"),e(N,"formatColor");function h(i){return t(r,i[0])+":"+i[1]+":"+i[2]}n(h,"formatLocation"),e(h,"formatLocation");function b(){var i=Error.stackTraceLimit,o={},f=Error.prepareStackTrace;Error.prepareStackTrace=g,Error.stackTraceLimit=Math.max(10,i),Error.captureStackTrace(o);var c=o.stack.slice(1);return Error.prepareStackTrace=f,Error.stackTraceLimit=i,c}n(b,"getStack"),e(b,"getStack");function g(i,o){return o}n(g,"prepareObjectStackTrace"),e(g,"prepareObjectStackTrace");function C(i,o){if(typeof i!="function")throw new TypeError("argument fn must be a function");var f=p(i.length),c=b(),l=P(c[1]);l.name=i.name;var w=new Function("fn","log","deprecate","message","site",`"use strict"
|
|
10
|
+
return function (`+f+`) {log.call(deprecate, message, site)
|
|
11
|
+
return fn.apply(this, arguments)
|
|
12
|
+
}`)(i,O,this,o,l);return w}n(C,"wrapfunction"),e(C,"wrapfunction");function v(i,o,f){if(!i||typeof i!="object"&&typeof i!="function")throw new TypeError("argument obj must be object");var c=Object.getOwnPropertyDescriptor(i,o);if(!c)throw new TypeError("must call property on owner object");if(!c.configurable)throw new TypeError("property must be configurable");var l=this,w=b(),j=P(w[1]);j.name=o,"value"in c&&(c=u(i,o));var T=c.get,q=c.set;typeof T=="function"&&(c.get=e(function(){return O.call(l,f,j),T.apply(this,arguments)},"getter")),typeof q=="function"&&(c.set=e(function(){return O.call(l,f,j),q.apply(this,arguments)},"setter")),Object.defineProperty(i,o,c)}n(v,"wrapproperty"),e(v,"wrapproperty");function S(i,o,f){var c=new Error,l;return Object.defineProperty(c,"constructor",{value:S}),Object.defineProperty(c,"message",{configurable:!0,enumerable:!1,value:o,writable:!0}),Object.defineProperty(c,"name",{enumerable:!1,configurable:!0,value:"DeprecationError",writable:!0}),Object.defineProperty(c,"namespace",{configurable:!0,enumerable:!1,value:i,writable:!0}),Object.defineProperty(c,"stack",{configurable:!0,enumerable:!1,get:e(function(){return l!==void 0?l:l=m.call(this,f)},"get"),set:e(function(w){l=w},"setter")}),c}return n(S,"DeprecationError"),e(S,"DeprecationError"),J}n(Me,"requireDepd");var X,he;function Ie(){if(he)return X;he=1;var a=Object.defineProperty,e=n((s,u)=>a(s,"name",{value:u,configurable:!0}),"n");X=Object.setPrototypeOf||({__proto__:[]}instanceof Array?t:r);function t(s,u){return s.__proto__=u,s}n(t,"setProtoOf"),e(t,"setProtoOf");function r(s,u){for(var p in u)Object.prototype.hasOwnProperty.call(s,p)||(s[p]=u[p]);return s}return n(r,"mixinProperties"),e(r,"mixinProperties"),X}n(Ie,"requireSetprototypeof");var K,me;function qe(){return me||(me=1,K={100:"Continue",101:"Switching Protocols",102:"Processing",103:"Early Hints",200:"OK",201:"Created",202:"Accepted",203:"Non-Authoritative Information",204:"No Content",205:"Reset Content",206:"Partial Content",207:"Multi-Status",208:"Already Reported",226:"IM Used",300:"Multiple Choices",301:"Moved Permanently",302:"Found",303:"See Other",304:"Not Modified",305:"Use Proxy",307:"Temporary Redirect",308:"Permanent Redirect",400:"Bad Request",401:"Unauthorized",402:"Payment Required",403:"Forbidden",404:"Not Found",405:"Method Not Allowed",406:"Not Acceptable",407:"Proxy Authentication Required",408:"Request Timeout",409:"Conflict",410:"Gone",411:"Length Required",412:"Precondition Failed",413:"Payload Too Large",414:"URI Too Long",415:"Unsupported Media Type",416:"Range Not Satisfiable",417:"Expectation Failed",418:"I'm a Teapot",421:"Misdirected Request",422:"Unprocessable Entity",423:"Locked",424:"Failed Dependency",425:"Too Early",426:"Upgrade Required",428:"Precondition Required",429:"Too Many Requests",431:"Request Header Fields Too Large",451:"Unavailable For Legal Reasons",500:"Internal Server Error",501:"Not Implemented",502:"Bad Gateway",503:"Service Unavailable",504:"Gateway Timeout",505:"HTTP Version Not Supported",506:"Variant Also Negotiates",507:"Insufficient Storage",508:"Loop Detected",509:"Bandwidth Limit Exceeded",510:"Not Extended",511:"Network Authentication Required"}),K}n(qe,"requireCodes");var Y,de;function De(){if(de)return Y;de=1;var a=Object.defineProperty,e=n((d,y)=>a(d,"name",{value:y,configurable:!0}),"r");/*!
|
|
13
|
+
* statuses
|
|
14
|
+
* Copyright(c) 2014 Jonathan Ong
|
|
15
|
+
* Copyright(c) 2016 Douglas Christopher Wilson
|
|
16
|
+
* MIT Licensed
|
|
17
|
+
*/var t=qe();Y=m,m.message=t,m.code=r(t),m.codes=s(t),m.redirect={300:!0,301:!0,302:!0,303:!0,305:!0,307:!0,308:!0},m.empty={204:!0,205:!0,304:!0},m.retry={502:!0,503:!0,504:!0};function r(d){var y={};return Object.keys(d).forEach(e(function(x){var $=d[x],O=Number(x);y[$.toLowerCase()]=O},"forEachCode")),y}n(r,"createMessageToStatusCodeMap"),e(r,"createMessageToStatusCodeMap");function s(d){return Object.keys(d).map(e(function(y){return Number(y)},"mapCode"))}n(s,"createStatusCodeList"),e(s,"createStatusCodeList");function u(d){var y=d.toLowerCase();if(!Object.prototype.hasOwnProperty.call(m.code,y))throw new Error('invalid status message: "'+d+'"');return m.code[y]}n(u,"getStatusCode"),e(u,"getStatusCode");function p(d){if(!Object.prototype.hasOwnProperty.call(m.message,d))throw new Error("invalid status code: "+d);return m.message[d]}n(p,"getStatusMessage"),e(p,"getStatusMessage");function m(d){if(typeof d=="number")return p(d);if(typeof d!="string")throw new TypeError("code must be a number or string");var y=parseInt(d,10);return isNaN(y)?u(d):p(y)}return n(m,"status"),e(m,"status"),Y}n(De,"requireStatuses");var z={exports:{}},U={exports:{}},ge;function Fe(){if(ge)return U.exports;ge=1;var a=Object.defineProperty,e=n((t,r)=>a(t,"name",{value:r,configurable:!0}),"o");return typeof Object.create=="function"?U.exports=e(function(t,r){r&&(t.super_=r,t.prototype=Object.create(r.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}))},"inherits"):U.exports=e(function(t,r){if(r){t.super_=r;var s=e(function(){},"TempCtor");s.prototype=r.prototype,t.prototype=new s,t.prototype.constructor=t}},"inherits"),U.exports}n(Fe,"requireInherits_browser");var ve;function We(){if(ve)return z.exports;ve=1;try{var a=require("util");if(typeof a.inherits!="function")throw"";z.exports=a.inherits}catch{z.exports=Fe()}return z.exports}n(We,"requireInherits");var Q,ye;function He(){if(ye)return Q;ye=1;var a=Object.defineProperty,e=n((r,s)=>a(r,"name",{value:s,configurable:!0}),"t");/*!
|
|
18
|
+
* toidentifier
|
|
19
|
+
* Copyright(c) 2016 Douglas Christopher Wilson
|
|
20
|
+
* MIT Licensed
|
|
21
|
+
*/Q=t;function t(r){return r.split(" ").map(function(s){return s.slice(0,1).toUpperCase()+s.slice(1)}).join("").replace(/[^ _0-9a-z]/gi,"")}return n(t,"toIdentifier"),e(t,"toIdentifier"),Q}n(He,"requireToidentifier");var be;function ze(){return be||(be=1,(function(a){var e=Object.defineProperty,t=n((h,b)=>e(h,"name",{value:b,configurable:!0}),"u");/*!
|
|
22
|
+
* http-errors
|
|
23
|
+
* Copyright(c) 2014 Jonathan Ong
|
|
24
|
+
* Copyright(c) 2016 Douglas Christopher Wilson
|
|
25
|
+
* MIT Licensed
|
|
26
|
+
*/var r=Me()("http-errors"),s=Ie(),u=De(),p=We(),m=He();a.exports=y,a.exports.HttpError=x(),a.exports.isHttpError=O(a.exports.HttpError),I(a.exports,u.codes,a.exports.HttpError);function d(h){return+(String(h).charAt(0)+"00")}n(d,"codeClass"),t(d,"codeClass");function y(){for(var h,b,g=500,C={},v=0;v<arguments.length;v++){var S=arguments[v],i=typeof S;if(i==="object"&&S instanceof Error)h=S,g=h.status||h.statusCode||g;else if(i==="number"&&v===0)g=S;else if(i==="string")b=S;else if(i==="object")C=S;else throw new TypeError("argument #"+(v+1)+" unsupported type "+i)}typeof g=="number"&&(g<400||g>=600)&&r("non-error status code; use only 4xx or 5xx status codes"),(typeof g!="number"||!u.message[g]&&(g<400||g>=600))&&(g=500);var o=y[g]||y[d(g)];h||(h=o?new o(b):new Error(b||u.message[g]),Error.captureStackTrace(h,y)),(!o||!(h instanceof o)||h.status!==g)&&(h.expose=g<500,h.status=h.statusCode=g);for(var f in C)f!=="status"&&f!=="statusCode"&&(h[f]=C[f]);return h}n(y,"createError"),t(y,"createError");function x(){function h(){throw new TypeError("cannot construct abstract class")}return n(h,"e"),t(h,"HttpError"),p(h,Error),h}n(x,"createHttpErrorConstructor"),t(x,"createHttpErrorConstructor");function $(h,b,g){var C=N(b);function v(S){var i=S??u.message[g],o=new Error(i);return Error.captureStackTrace(o,v),s(o,v.prototype),Object.defineProperty(o,"message",{enumerable:!0,configurable:!0,value:i,writable:!0}),Object.defineProperty(o,"name",{enumerable:!1,configurable:!0,value:C,writable:!0}),o}return n(v,"t"),t(v,"ClientError"),p(v,h),k(v,C),v.prototype.status=g,v.prototype.statusCode=g,v.prototype.expose=!0,v}n($,"createClientErrorConstructor"),t($,"createClientErrorConstructor");function O(h){return t(function(b){return!b||typeof b!="object"?!1:b instanceof h?!0:b instanceof Error&&typeof b.expose=="boolean"&&typeof b.statusCode=="number"&&b.status===b.statusCode},"isHttpError")}n(O,"createIsHttpErrorFunction"),t(O,"createIsHttpErrorFunction");function P(h,b,g){var C=N(b);function v(S){var i=S??u.message[g],o=new Error(i);return Error.captureStackTrace(o,v),s(o,v.prototype),Object.defineProperty(o,"message",{enumerable:!0,configurable:!0,value:i,writable:!0}),Object.defineProperty(o,"name",{enumerable:!1,configurable:!0,value:C,writable:!0}),o}return n(v,"t"),t(v,"ServerError"),p(v,h),k(v,C),v.prototype.status=g,v.prototype.statusCode=g,v.prototype.expose=!1,v}n(P,"createServerErrorConstructor"),t(P,"createServerErrorConstructor");function k(h,b){var g=Object.getOwnPropertyDescriptor(h,"name");g&&g.configurable&&(g.value=b,Object.defineProperty(h,"name",g))}n(k,"nameFunc"),t(k,"nameFunc");function I(h,b,g){b.forEach(t(function(C){var v,S=m(u.message[C]);switch(d(C)){case 400:v=$(g,S,C);break;case 500:v=P(g,S,C);break}v&&(h[C]=v,h[S]=v)},"forEachCode"))}n(I,"populateConstructorExports"),t(I,"populateConstructorExports");function N(h){return h.slice(-5)==="Error"?h:h+"Error"}n(N,"toClassName"),t(N,"toClassName")})(V)),V.exports}n(ze,"requireHttpErrors");var Ue=ze();const Tt=Ne(Ue);var Be=Object.defineProperty,we=n((a,e)=>Be(a,"name",{value:e,configurable:!0}),"t$2");function A(a,e=";"){let t=e===";"?/(?:^|;)\s*([^=;\s]+)(\s*=\s*(?:"((?:[^"\\]|\\.)*)"|((?:[^;]|\\\;)+))?)?/g:/(?:^|,)\s*([^=,\s]+)(\s*=\s*(?:"((?:[^"\\]|\\.)*)"|((?:[^,]|\\\,)+))?)?/g,r=[],s;for(;(s=t.exec(a))!==null;){let u=s[1].trim(),p;s[2]&&(p=(s[3]||s[4]||"").replace(/\\(.)/g,"$1").trim()),r.push([u,p])}return r}n(A,"parseParams");we(A,"parseParams");function L(a){return a.includes('"')||a.includes(";")||a.includes(" ")?`"${a.replace(/"/g,'\\"')}"`:a}n(L,"quote");we(L,"quote");var _e=Object.defineProperty,M=n((a,e)=>_e(a,"name",{value:e,configurable:!0}),"t$1");function Ce(a){return a.charAt(0).toUpperCase()+a.slice(1).toLowerCase()}n(Ce,"capitalize");M(Ce,"capitalize");function W(a){return a!=null&&typeof a[Symbol.iterator]=="function"}n(W,"isIterable");M(W,"isIterable");function Se(a){return a instanceof Date&&!isNaN(a.getTime())}n(Se,"isValidDate");M(Se,"isValidDate");function E(a){return a==="*"||/^(W\/)?".*"$/.test(a)?a:`"${a}"`}n(E,"quoteEtag");M(E,"quoteEtag");function Z(a){let e=a instanceof Date?a.getTime():a;return Math.floor(e/1e3)}n(Z,"removeMilliseconds");M(Z,"removeMilliseconds");const Ge=/^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), (\d{2}) (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) (\d{4}) (\d{2}):(\d{2}):(\d{2}) GMT$/;function xe(a){if(!Ge.test(a))return null;let e=Date.parse(a);return isNaN(e)?null:e}n(xe,"parseHttpDate");M(xe,"parseHttpDate");var Ve=Object.defineProperty,Je=n((a,e)=>Ve(a,"name",{value:e,configurable:!0}),"l$3");class B{static{n(this,"Accept")}static{Je(this,"Accept")}#e;constructor(e){if(e)return B.from(e);this.#e=new Map}#t(){this.#e=new Map([...this.#e].sort((e,t)=>t[1]-e[1]))}get mediaTypes(){return Array.from(this.#e.keys())}get weights(){return Array.from(this.#e.values())}get size(){return this.#e.size}accepts(e){return this.getWeight(e)>0}getWeight(e){let[t,r]=e.toLowerCase().split("/");for(let[s,u]of this){let[p,m]=s.split("/");if((p===t||p==="*"||t==="*")&&(m===r||m==="*"||r==="*"))return u}return 0}getPreferred(e){let t=e.map(r=>[r,this.getWeight(r)]).sort((r,s)=>s[1]-r[1])[0];return t!==void 0&&t[1]>0?t[0]:null}get(e){return this.#e.get(e.toLowerCase())??null}set(e,t=1){this.#e.set(e.toLowerCase(),t),this.#t()}delete(e){this.#e.delete(e.toLowerCase())}has(e){return this.#e.has(e.toLowerCase())}clear(){this.#e.clear()}entries(){return this.#e.entries()}[Symbol.iterator](){return this.entries()}forEach(e,t){for(let[r,s]of this)e.call(t,r,s,this)}toString(){let e=[];for(let[t,r]of this.#e)e.push(`${t}${r===1?"":`;q=${r}`}`);return e.join(",")}static from(e){let t=new B;if(e!==null){if(typeof e=="string")for(let r of e.split(/\s*,\s*/)){let s=A(r);if(s.length<1)continue;let u=s[0][0],p=1;for(let m=1;m<s.length;m++){let[d,y]=s[m];if(d==="q"){p=Number(y);break}}t.#e.set(u.toLowerCase(),p)}else if(W(e))for(let r of e)Array.isArray(r)?t.#e.set(r[0].toLowerCase(),r[1]):t.#e.set(r.toLowerCase(),1);else for(let r of Object.getOwnPropertyNames(e))t.#e.set(r.toLowerCase(),e[r]);t.#t()}return t}}var Xe=Object.defineProperty,Ke=n((a,e)=>Xe(a,"name",{value:e,configurable:!0}),"h$1");class ee{static{n(this,"AcceptEncoding")}static{Ke(this,"AcceptEncoding")}#e;constructor(e){if(e)return ee.from(e);this.#e=new Map}#t(){this.#e=new Map([...this.#e].sort((e,t)=>t[1]-e[1]))}get encodings(){return Array.from(this.#e.keys())}get weights(){return Array.from(this.#e.values())}get size(){return this.#e.size}accepts(e){return e.toLowerCase()==="identity"||this.getWeight(e)>0}getWeight(e){let t=e.toLowerCase();for(let[r,s]of this)if(r===t||r==="*"||t==="*")return s;return 0}getPreferred(e){let t=e.map(r=>[r,this.getWeight(r)]).sort((r,s)=>s[1]-r[1])[0];return t!==void 0&&t[1]>0?t[0]:null}get(e){return this.#e.get(e.toLowerCase())??null}set(e,t=1){this.#e.set(e.toLowerCase(),t),this.#t()}delete(e){this.#e.delete(e.toLowerCase())}has(e){return this.#e.has(e.toLowerCase())}clear(){this.#e.clear()}entries(){return this.#e.entries()}[Symbol.iterator](){return this.entries()}forEach(e,t){for(let[r,s]of this)e.call(t,r,s,this)}toString(){let e=[];for(let[t,r]of this.#e)e.push(`${t}${r===1?"":`;q=${r}`}`);return e.join(",")}static from(e){let t=new ee;if(e!==null){if(typeof e=="string")for(let r of e.split(/\s*,\s*/)){let s=A(r);if(s.length<1)continue;let u=s[0][0],p=1;for(let m=1;m<s.length;m++){let[d,y]=s[m];if(d==="q"){p=Number(y);break}}t.#e.set(u.toLowerCase(),p)}else if(W(e))for(let r of e)Array.isArray(r)?t.#e.set(r[0].toLowerCase(),r[1]):t.#e.set(r.toLowerCase(),1);else for(let r of Object.getOwnPropertyNames(e))t.#e.set(r.toLowerCase(),e[r]);t.#t()}return t}}var Ye=Object.defineProperty,Qe=n((a,e)=>Ye(a,"name",{value:e,configurable:!0}),"l$2");class te{static{n(this,"AcceptLanguage")}static{Qe(this,"AcceptLanguage")}#e;constructor(e){if(e)return te.from(e);this.#e=new Map}#t(){this.#e=new Map([...this.#e].sort((e,t)=>t[1]-e[1]))}get languages(){return Array.from(this.#e.keys())}get weights(){return Array.from(this.#e.values())}get size(){return this.#e.size}accepts(e){return this.getWeight(e)>0}getWeight(e){let[t,r]=e.toLowerCase().split("-");for(let[s,u]of this){let[p,m]=s.split("-");if((p===t||p==="*"||t==="*")&&(m===r||m===void 0||r===void 0))return u}return 0}getPreferred(e){let t=e.map(r=>[r,this.getWeight(r)]).sort((r,s)=>s[1]-r[1])[0];return t!==void 0&&t[1]>0?t[0]:null}get(e){return this.#e.get(e.toLowerCase())??null}set(e,t=1){this.#e.set(e.toLowerCase(),t),this.#t()}delete(e){this.#e.delete(e.toLowerCase())}has(e){return this.#e.has(e.toLowerCase())}clear(){this.#e.clear()}entries(){return this.#e.entries()}[Symbol.iterator](){return this.entries()}forEach(e,t){for(let[r,s]of this)e.call(t,r,s,this)}toString(){let e=[];for(let[t,r]of this.#e)e.push(`${t}${r===1?"":`;q=${r}`}`);return e.join(",")}static from(e){let t=new te;if(e!==null){if(typeof e=="string")for(let r of e.split(/\s*,\s*/)){let s=A(r);if(s.length<1)continue;let u=s[0][0],p=1;for(let m=1;m<s.length;m++){let[d,y]=s[m];if(d==="q"){p=Number(y);break}}t.#e.set(u.toLowerCase(),p)}else if(W(e))for(let r of e)Array.isArray(r)?t.#e.set(r[0].toLowerCase(),r[1]):t.#e.set(r.toLowerCase(),1);else for(let r of Object.getOwnPropertyNames(e))t.#e.set(r.toLowerCase(),e[r]);t.#t()}return t}}var Ze=Object.defineProperty,et=n((a,e)=>Ze(a,"name",{value:e,configurable:!0}),"s$2");class re{static{n(this,"CacheControl")}static{et(this,"CacheControl")}maxAge;maxStale;minFresh;sMaxage;noCache;noStore;noTransform;onlyIfCached;mustRevalidate;proxyRevalidate;mustUnderstand;private;public;immutable;staleWhileRevalidate;staleIfError;constructor(e){if(e)return re.from(e)}toString(){let e=[];return this.public&&e.push("public"),this.private&&e.push("private"),typeof this.maxAge=="number"&&e.push(`max-age=${this.maxAge}`),typeof this.sMaxage=="number"&&e.push(`s-maxage=${this.sMaxage}`),this.noCache&&e.push("no-cache"),this.noStore&&e.push("no-store"),this.noTransform&&e.push("no-transform"),this.onlyIfCached&&e.push("only-if-cached"),this.mustRevalidate&&e.push("must-revalidate"),this.proxyRevalidate&&e.push("proxy-revalidate"),this.mustUnderstand&&e.push("must-understand"),this.immutable&&e.push("immutable"),typeof this.staleWhileRevalidate=="number"&&e.push(`stale-while-revalidate=${this.staleWhileRevalidate}`),typeof this.staleIfError=="number"&&e.push(`stale-if-error=${this.staleIfError}`),typeof this.maxStale=="number"&&e.push(`max-stale=${this.maxStale}`),typeof this.minFresh=="number"&&e.push(`min-fresh=${this.minFresh}`),e.join(", ")}static from(e){let t=new re;if(e!==null)if(typeof e=="string"){let r=A(e,",");if(r.length>0)for(let[s,u]of r)switch(s){case"max-age":t.maxAge=Number(u);break;case"max-stale":t.maxStale=Number(u);break;case"min-fresh":t.minFresh=Number(u);break;case"s-maxage":t.sMaxage=Number(u);break;case"no-cache":t.noCache=!0;break;case"no-store":t.noStore=!0;break;case"no-transform":t.noTransform=!0;break;case"only-if-cached":t.onlyIfCached=!0;break;case"must-revalidate":t.mustRevalidate=!0;break;case"proxy-revalidate":t.proxyRevalidate=!0;break;case"must-understand":t.mustUnderstand=!0;break;case"private":t.private=!0;break;case"public":t.public=!0;break;case"immutable":t.immutable=!0;break;case"stale-while-revalidate":t.staleWhileRevalidate=Number(u);break;case"stale-if-error":t.staleIfError=Number(u);break}}else t.maxAge=e.maxAge,t.maxStale=e.maxStale,t.minFresh=e.minFresh,t.sMaxage=e.sMaxage,t.noCache=e.noCache,t.noStore=e.noStore,t.noTransform=e.noTransform,t.onlyIfCached=e.onlyIfCached,t.mustRevalidate=e.mustRevalidate,t.proxyRevalidate=e.proxyRevalidate,t.mustUnderstand=e.mustUnderstand,t.private=e.private,t.public=e.public,t.immutable=e.immutable,t.staleWhileRevalidate=e.staleWhileRevalidate,t.staleIfError=e.staleIfError;return t}}var tt=Object.defineProperty,fe=n((a,e)=>tt(a,"name",{value:e,configurable:!0}),"l$1");class D{static{n(this,"ContentDisposition")}static{fe(this,"ContentDisposition")}filename;filenameSplat;name;type;constructor(e){if(e)return D.from(e)}get preferredFilename(){let e=this.filenameSplat;if(e){let t=Ee(e);if(t)return t}return this.filename}toString(){if(!this.type)return"";let e=[this.type];return this.name&&e.push(`name=${L(this.name)}`),this.filename&&e.push(`filename=${L(this.filename)}`),this.filenameSplat&&e.push(`filename*=${L(this.filenameSplat)}`),e.join("; ")}static from(e){let t=new D;if(e!==null)if(typeof e=="string"){let r=A(e);if(r.length>0){t.type=r[0][0];for(let[s,u]of r.slice(1))s==="filename"?t.filename=u:s==="filename*"?t.filenameSplat=u:s==="name"&&(t.name=u)}}else t.filename=e.filename,t.filenameSplat=e.filenameSplat,t.name=e.name,t.type=e.type;return t}}function Ee(a){let e=a.match(/^([\w-]+)'([^']*)'(.+)$/);if(!e)return null;let[,t,,r]=e,s=$e(r);try{let u=new TextDecoder(t),p=new Uint8Array(s.split("").map(m=>m.charCodeAt(0)));return u.decode(p)}catch(u){return console.warn(`Failed to decode filename from charset ${t}:`,u),s}}n(Ee,"c");fe(Ee,"decodeFilenameSplat");function $e(a){return a.replace(/\+/g," ").replace(/%([0-9A-Fa-f]{2})/g,(e,t)=>String.fromCharCode(parseInt(t,16)))}n($e,"d");fe($e,"percentDecode");var rt=Object.defineProperty,at=n((a,e)=>rt(a,"name",{value:e,configurable:!0}),"s$1");class ae{static{n(this,"ContentRange")}static{at(this,"ContentRange")}unit="";start=null;end=null;size;constructor(e){if(e)return ae.from(e)}toString(){if(!this.unit||this.size===void 0)return"";let e=this.start!==null&&this.end!==null?`${this.start}-${this.end}`:"*";return`${this.unit} ${e}/${this.size}`}static from(e){let t=new ae;if(e!==null)if(typeof e=="string"){let r=e.match(/^(\w+)\s+(?:(\d+)-(\d+)|\*)\/((?:\d+|\*))$/);r&&(t.unit=r[1],t.start=r[2]?parseInt(r[2],10):null,t.end=r[3]?parseInt(r[3],10):null,t.size=r[4]==="*"?"*":parseInt(r[4],10))}else e.unit!==void 0&&(t.unit=e.unit),e.start!==void 0&&(t.start=e.start),e.end!==void 0&&(t.end=e.end),e.size!==void 0&&(t.size=e.size);return t}}var nt=Object.defineProperty,st=n((a,e)=>nt(a,"name",{value:e,configurable:!0}),"i$4");class F{static{n(this,"ContentType")}static{st(this,"ContentType")}boundary;charset;mediaType;constructor(e){if(e)return F.from(e)}toString(){if(!this.mediaType)return"";let e=[this.mediaType];return this.charset&&e.push(`charset=${L(this.charset)}`),this.boundary&&e.push(`boundary=${L(this.boundary)}`),e.join("; ")}static from(e){let t=new F;if(e!==null)if(typeof e=="string"){let r=A(e);if(r.length>0){t.mediaType=r[0][0];for(let[s,u]of r.slice(1))s==="boundary"?t.boundary=u:s==="charset"&&(t.charset=u)}}else t.boundary=e.boundary,t.charset=e.charset,t.mediaType=e.mediaType;return t}}var it=Object.defineProperty,ot=n((a,e)=>it(a,"name",{value:e,configurable:!0}),"i$3");class ne{static{n(this,"Cookie")}static{ot(this,"Cookie")}#e;constructor(e){if(e)return ne.from(e);this.#e=new Map}get names(){return Array.from(this.#e.keys())}get values(){return Array.from(this.#e.values())}get size(){return this.#e.size}get(e){return this.#e.get(e)??null}set(e,t){this.#e.set(e,t)}delete(e){this.#e.delete(e)}has(e){return this.#e.has(e)}clear(){this.#e.clear()}entries(){return this.#e.entries()}[Symbol.iterator](){return this.entries()}forEach(e,t){for(let[r,s]of this)e.call(t,r,s,this)}toString(){let e=[];for(let[t,r]of this.#e)e.push(`${t}=${L(r)}`);return e.join("; ")}static from(e){let t=new ne;if(e!==null)if(typeof e=="string"){let r=A(e);for(let[s,u]of r)t.#e.set(s,u??"")}else if(W(e))for(let[r,s]of e)t.#e.set(r,s);else for(let r of Object.getOwnPropertyNames(e))t.#e.set(r,e[r]);return t}}var ut=Object.defineProperty,lt=n((a,e)=>ut(a,"name",{value:e,configurable:!0}),"i$2");class se{static{n(this,"IfMatch")}static{lt(this,"IfMatch")}tags=[];constructor(e){if(e)return se.from(e)}has(e){return this.tags.includes(E(e))}matches(e){if(this.tags.length===0||this.tags.includes("*"))return!0;let t=E(e);if(t.startsWith("W/"))return!1;for(let r of this.tags)if(!r.startsWith("W/")&&r===t)return!0;return!1}toString(){return this.tags.join(", ")}static from(e){let t=new se;return e!==null&&(typeof e=="string"?t.tags.push(...e.split(/\s*,\s*/).map(E)):Array.isArray(e)?t.tags.push(...e.map(E)):t.tags.push(...e.tags.map(E))),t}}var ct=Object.defineProperty,ft=n((a,e)=>ct(a,"name",{value:e,configurable:!0}),"i$1");class ie{static{n(this,"IfNoneMatch")}static{ft(this,"IfNoneMatch")}tags=[];constructor(e){if(e)return ie.from(e)}has(e){return this.tags.includes(E(e))}matches(e){return this.has(e)||this.tags.includes("*")}toString(){return this.tags.join(", ")}static from(e){let t=new ie;return e!==null&&(typeof e=="string"?t.tags.push(...e.split(/\s*,\s*/).map(E)):Array.isArray(e)?t.tags.push(...e.map(E)):t.tags.push(...e.tags.map(E))),t}}var pt=Object.defineProperty,ht=n((a,e)=>pt(a,"name",{value:e,configurable:!0}),"l");class oe{static{n(this,"IfRange")}static{ht(this,"IfRange")}value="";constructor(e){if(e)return oe.from(e)}matches(e){if(!this.value)return!0;let t=xe(this.value);if(t!==null&&e.lastModified!=null)return Z(t)===Z(e.lastModified);if(e.etag!=null){let r=E(this.value),s=E(e.etag);return r.startsWith("W/")||s.startsWith("W/")?!1:r===s}return!1}toString(){return this.value}static from(e){let t=new oe;return e!==null&&(typeof e=="string"?t.value=e:t.value=e.toUTCString()),t}}var mt=Object.defineProperty,dt=n((a,e)=>mt(a,"name",{value:e,configurable:!0}),"a$2");class ue{static{n(this,"Range")}static{dt(this,"Range")}unit="";ranges=[];constructor(e){if(e)return ue.from(e)}canSatisfy(e){if(!this.unit||this.ranges.length===0)return!1;for(let t of this.ranges)if(t.start===void 0&&t.end===void 0||t.start!==void 0&&t.end!==void 0&&t.start>t.end)return!1;for(let t of this.ranges)if(t.start===void 0||t.start<e)return!0;return!1}normalize(e){return this.canSatisfy(e)?this.ranges.map(t=>{if(t.start!==void 0&&t.end!==void 0)return{start:t.start,end:Math.min(t.end,e-1)};if(t.start!==void 0)return{start:t.start,end:e-1};{let r=t.end;return{start:Math.max(0,e-r),end:e-1}}}):[]}toString(){if(!this.unit||this.ranges.length===0)return"";let e=this.ranges.map(t=>t.start!==void 0&&t.end!==void 0?`${t.start}-${t.end}`:t.start!==void 0?`${t.start}-`:t.end!==void 0?`-${t.end}`:"");return`${this.unit}=${e.join(",")}`}static from(e){let t=new ue;if(e!==null)if(typeof e=="string"){let r=e.match(/^(\w+)=(.+)$/);if(r){t.unit=r[1];let s=r[2].split(","),u=!1;for(let p of s){let m=p.trim().match(/^(\d*)-(\d*)$/);if(!m){u=!0;continue}let[,d,y]=m;if(!d&&!y){u=!0;continue}let x=d?parseInt(d,10):void 0,$=y?parseInt(y,10):void 0;if(x!==void 0&&$!==void 0&&x>$){u=!0;continue}t.ranges.push({start:x,end:$})}u&&(t.ranges=[])}}else e.unit!==void 0&&(t.unit=e.unit),e.ranges!==void 0&&(t.ranges=e.ranges);return t}}var gt=Object.defineProperty,vt=n((a,e)=>gt(a,"name",{value:e,configurable:!0}),"r");class le{static{n(this,"SetCookie")}static{vt(this,"SetCookie")}domain;expires;httpOnly;maxAge;name;partitioned;path;sameSite;secure;value;constructor(e){if(e)return le.from(e)}toString(){if(!this.name)return"";let e=[`${this.name}=${L(this.value||"")}`];return this.domain&&e.push(`Domain=${this.domain}`),this.expires&&e.push(`Expires=${this.expires.toUTCString()}`),this.httpOnly&&e.push("HttpOnly"),this.maxAge!=null&&e.push(`Max-Age=${this.maxAge}`),this.partitioned&&e.push("Partitioned"),this.path&&e.push(`Path=${this.path}`),this.sameSite&&e.push(`SameSite=${this.sameSite}`),this.secure&&e.push("Secure"),e.join("; ")}static from(e){let t=new le;if(e!==null)if(typeof e=="string"){let r=A(e);if(r.length>0){t.name=r[0][0],t.value=r[0][1];for(let[s,u]of r.slice(1))switch(s.toLowerCase()){case"domain":t.domain=u;break;case"expires":{if(typeof u=="string"){let p=new Date(u);Se(p)&&(t.expires=p)}break}case"httponly":t.httpOnly=!0;break;case"max-age":{if(typeof u=="string"){let p=parseInt(u,10);isNaN(p)||(t.maxAge=p)}break}case"partitioned":t.partitioned=!0;break;case"path":t.path=u;break;case"samesite":typeof u=="string"&&/strict|lax|none/i.test(u)&&(t.sameSite=Ce(u));break;case"secure":t.secure=!0;break}}}else t.domain=e.domain,t.expires=e.expires,t.httpOnly=e.httpOnly,t.maxAge=e.maxAge,t.name=e.name,t.partitioned=e.partitioned,t.path=e.path,t.sameSite=e.sameSite,t.secure=e.secure,t.value=e.value;return t}}var yt=Object.defineProperty,bt=n((a,e)=>yt(a,"name",{value:e,configurable:!0}),"o$1");class ce{static{n(this,"Vary")}static{bt(this,"Vary")}#e;constructor(e){if(e)return ce.from(e);this.#e=new Set}get headerNames(){return Array.from(this.#e)}get size(){return this.#e.size}has(e){return this.#e.has(e.toLowerCase())}add(e){let t=e.trim();t&&this.#e.add(t.toLowerCase())}delete(e){this.#e.delete(e.toLowerCase())}clear(){this.#e.clear()}forEach(e,t){for(let r of this)e.call(t,r,this)}[Symbol.iterator](){return this.#e.values()}toString(){return Array.from(this.#e).join(", ")}static from(e){let t=new ce;if(e!==null)if(typeof e=="string")for(let r of e.split(",")){let s=r.trim();s&&t.#e.add(s.toLowerCase())}else if(Array.isArray(e))for(let r of e){let s=r.trim();s&&t.#e.add(s.toLowerCase())}else for(let r of e.headerNames){let s=r.trim();s&&t.#e.add(s.toLowerCase())}return t}}var wt=Object.defineProperty,Ct=n((a,e)=>wt(a,"name",{value:e,configurable:!0}),"t");const St={ct:"CT",etag:"ETag",te:"TE",www:"WWW",x:"X",xss:"XSS"};function je(a){return a.toLowerCase().split("-").map(e=>St[e]||e.charAt(0).toUpperCase()+e.slice(1)).join("-")}n(je,"canonicalHeaderName");Ct(je,"canonicalHeaderName");var xt=Object.defineProperty,Oe=n((a,e)=>xt(a,"name",{value:e,configurable:!0}),"a");const Pe=`\r
|
|
27
|
+
`;function Et(a){let e=new Headers;for(let t of a.split(Pe)){let r=t.match(/^([^:]+):(.*)/);r&&e.append(r[1].trim(),r[2].trim())}return e}n(Et,"parse");Oe(Et,"parse");function $t(a){let e="";for(let[t,r]of a)e&&(e+=Pe),e+=`${je(t)}: ${r}`;return e}n($t,"stringify");Oe($t,"stringify");const At={acceptsMediaType(a,e){const t=this.parseAccept(a);return t?t.accepts(e):!1},createCacheControl(a){const e=[];return a.public&&e.push("public"),a.private&&e.push("private"),a.noCache&&e.push("no-cache"),a.noStore&&e.push("no-store"),a.immutable&&e.push("immutable"),a.mustRevalidate&&e.push("must-revalidate"),a.proxyRevalidate&&e.push("proxy-revalidate"),a.maxAge!==void 0&&e.push(`max-age=${a.maxAge}`),a.sMaxAge!==void 0&&e.push(`s-maxage=${a.sMaxAge}`),a.minFresh!==void 0&&e.push(`min-fresh=${a.minFresh}`),a.staleWhileRevalidate!==void 0&&e.push(`stale-while-revalidate=${a.staleWhileRevalidate}`),a.staleIfError!==void 0&&e.push(`stale-if-error=${a.staleIfError}`),e.join(", ")},createCacheControlPreset(a){const e={immutable:{immutable:!0,maxAge:31536e3},"no-cache":{noCache:!0},"no-store":{noStore:!0},private:{maxAge:3600,private:!0},public:{maxAge:3600,public:!0}};return this.createCacheControl(e[a])},createContentDisposition(a){return new D({type:a.type,...a.filename&&{filename:a.filename},...a.filenameSplat&&{filenameSplat:a.filenameSplat}}).toString()},createContentType(a){return new F({mediaType:a.mediaType,...a.charset&&{charset:a.charset},...a.boundary&&{boundary:a.boundary}}).toString()},ensureCharset(a,e="utf8"){const t=this.parseContentType(a);return t?(t.charset||(t.charset=e),t.toString()):a},fromHeaders(a){const e=new Headers;return Array.isArray(a)?a.forEach(([t,r])=>{e.set(t,Array.isArray(r)?r.join(", "):String(r))}):Object.entries(a).forEach(([t,r])=>{e.set(t,Array.isArray(r)?r.join(", "):String(r))}),e},getPreferredMediaType(a,e){const t=this.parseAccept(a);if(t){for(const r of e)if(t.accepts(r))return r}},parseAccept(a){if(a)try{return new B(a)}catch{return}},parseContentDisposition(a){if(a)try{return new D(a)}catch{return}},parseContentType(a){if(a)try{return new F(a)}catch{return}}};export{At as H,Ue as h,Tt as n};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
var c=Object.defineProperty;var o=(e,r)=>c(e,"name",{value:r,configurable:!0});var E=Object.defineProperty,a=o((e,r)=>E(e,"name",{value:r,configurable:!0}),"s");const t=new Set(["fsn1","hel1","nbg1"]),_=a(e=>{const r=e?.accessKeyId??process.env.AWS_ACCESS_KEY_ID??process.env.HETZNER_ACCESS_KEY_ID??process.env.HETZNER_ACCESS_KEY,s=e?.location??process.env.HETZNER_LOCATION,n=e?.secretAccessKey??process.env.AWS_SECRET_ACCESS_KEY??process.env.HETZNER_SECRET_ACCESS_KEY??process.env.HETZNER_SECRET_KEY;if(!r||!n||!s)throw new Error("Missing required parameters for Hetzner Object Storage client.");if(!t.has(s))throw new Error(`Invalid Hetzner location "${s}". Expected one of: ${[...t].join(", ")}.`);return{credentials:{accessKeyId:r,secretAccessKey:n},endpoint:`https://${s}.your-objectstorage.com`,forcePathStyle:!1,region:s}},"hetzner");export{_ as default};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
var t=Object.defineProperty;var o=(e,s)=>t(e,"name",{value:s,configurable:!0});var _=Object.defineProperty,S=o((e,s)=>_(e,"name",{value:s,configurable:!0}),"n");const E=S(e=>{const s=e?.accessKeyId??process.env.AWS_ACCESS_KEY_ID??process.env.IBM_COS_ACCESS_KEY_ID??process.env.IBM_COS_ACCESS_KEY,n=e?.endpoint??process.env.IBM_COS_ENDPOINT,r=e?.region??process.env.IBM_COS_REGION,c=e?.secretAccessKey??process.env.AWS_SECRET_ACCESS_KEY??process.env.IBM_COS_SECRET_ACCESS_KEY??process.env.IBM_COS_SECRET_KEY;if(!r||!s||!c)throw new Error("Missing required parameters for IBM Cloud Object Storage client.");return{credentials:{accessKeyId:s,secretAccessKey:c},endpoint:n??`https://s3.${r}.cloud-object-storage.appdomain.cloud`,forcePathStyle:!1,region:r}},"ibmCos");export{E as default};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
var _=Object.defineProperty;var c=(e,s)=>_(e,"name",{value:s,configurable:!0});var o=Object.defineProperty,t=c((e,s)=>o(e,"name",{value:s,configurable:!0}),"n");const S=t(e=>{const s=e?.accessKeyId??process.env.AWS_ACCESS_KEY_ID??process.env.IDRIVE_E2_ACCESS_KEY_ID??process.env.IDRIVE_E2_ACCESS_KEY,r=e?.endpoint??process.env.AWS_ENDPOINT??process.env.IDRIVE_E2_ENDPOINT,n=e?.region??process.env.AWS_REGION??process.env.IDRIVE_E2_REGION,E=e?.secretAccessKey??process.env.AWS_SECRET_ACCESS_KEY??process.env.IDRIVE_E2_SECRET_ACCESS_KEY??process.env.IDRIVE_E2_SECRET_KEY;if(!r||!s||!E)throw new Error("Missing required parameters for iDrive e2 client.");return{credentials:{accessKeyId:s,secretAccessKey:E},endpoint:r,forcePathStyle:!0,region:n??"us-east-1"}},"idriveE2");export{S as default};
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
var v=Object.defineProperty;var n=(a,i)=>v(a,"name",{value:i,configurable:!0});import{g as S}from"./_commonjsHelpers-D6W6KoPK.js";import h from"crypto";import j from"fs";var o,y;function w(){if(y)return o;y=1;var a=Object.defineProperty,i=n((t,e)=>a(t,"name",{value:e,configurable:!0}),"i");/*!
|
|
2
|
+
* etag
|
|
3
|
+
* Copyright(c) 2014-2016 Douglas Christopher Wilson
|
|
4
|
+
* MIT Licensed
|
|
5
|
+
*/o=g;var b=h,u=j.Stats,f=Object.prototype.toString;function s(t){if(t.length===0)return'"0-2jmj7l5rSw0yVb/vlWAYkK/YBwk"';var e=b.createHash("sha1").update(t,"utf8").digest("base64").substring(0,27),r=typeof t=="string"?Buffer.byteLength(t,"utf8"):t.length;return'"'+r.toString(16)+"-"+e+'"'}n(s,"entitytag"),i(s,"entitytag");function g(t,e){if(t==null)throw new TypeError("argument entity is required");var r=m(t),l=e&&typeof e.weak=="boolean"?e.weak:r;if(!r&&typeof t!="string"&&!Buffer.isBuffer(t))throw new TypeError("argument entity must be string, Buffer, or fs.Stats");var p=r?c(t):s(t);return l?"W/"+p:p}n(g,"etag"),i(g,"etag");function m(t){return typeof u=="function"&&t instanceof u?!0:t&&typeof t=="object"&&"ctime"in t&&f.call(t.ctime)==="[object Date]"&&"mtime"in t&&f.call(t.mtime)==="[object Date]"&&"ino"in t&&typeof t.ino=="number"&&"size"in t&&typeof t.size=="number"}n(m,"isstats"),i(m,"isstats");function c(t){var e=t.mtime.getTime().toString(16),r=t.size.toString(16);return'"'+r+"-"+e+'"'}return n(c,"stattag"),i(c,"stattag"),o}n(w,"requireEtag");var E=w();const $=S(E);export{$ as S};
|
|
@@ -0,0 +1,94 @@
|
|
|
1
|
+
import { B as BaseStorage } from "./storage.d-RteRC-cG.js";
|
|
2
|
+
/**
|
|
3
|
+
* Web-standard and Node-native body types accepted by {@link Files.upload}.
|
|
4
|
+
*/
|
|
5
|
+
type FileBody = ArrayBuffer | ArrayBufferView | Blob | Buffer | NodeJS.ReadableStream | ReadableStream<Uint8Array> | string;
|
|
6
|
+
interface UploadOptions {
|
|
7
|
+
contentType?: string;
|
|
8
|
+
metadata?: Record<string, unknown>;
|
|
9
|
+
/**
|
|
10
|
+
* Explicit byte length. Required for {@link NodeJS.ReadableStream} and Web `ReadableStream`
|
|
11
|
+
* inputs because their length is not derivable from the value itself; ignored otherwise.
|
|
12
|
+
*/
|
|
13
|
+
size?: number;
|
|
14
|
+
storageClass?: string;
|
|
15
|
+
}
|
|
16
|
+
interface SignedReadUrlOptions {
|
|
17
|
+
expiresIn?: number;
|
|
18
|
+
responseContentDisposition?: string;
|
|
19
|
+
responseContentType?: string;
|
|
20
|
+
}
|
|
21
|
+
interface SignedUploadUrlOptions {
|
|
22
|
+
contentLength?: number;
|
|
23
|
+
contentType?: string;
|
|
24
|
+
expiresIn?: number;
|
|
25
|
+
}
|
|
26
|
+
interface ListOptions {
|
|
27
|
+
limit?: number;
|
|
28
|
+
prefix?: string;
|
|
29
|
+
}
|
|
30
|
+
/**
|
|
31
|
+
* Provider-agnostic metadata-only view of an object.
|
|
32
|
+
*/
|
|
33
|
+
interface FileObject {
|
|
34
|
+
contentType: string;
|
|
35
|
+
etag?: string;
|
|
36
|
+
key: string;
|
|
37
|
+
lastModified?: Date | number | string;
|
|
38
|
+
metadata?: Record<string, unknown>;
|
|
39
|
+
size?: number;
|
|
40
|
+
}
|
|
41
|
+
interface DownloadResult extends FileObject {
|
|
42
|
+
body: Buffer;
|
|
43
|
+
}
|
|
44
|
+
interface FilesOptions<TStorage extends BaseStorage = BaseStorage> {
|
|
45
|
+
adapter: TStorage;
|
|
46
|
+
}
|
|
47
|
+
/**
|
|
48
|
+
* Files-SDK–style unified facade over a {@link BaseStorage} instance.
|
|
49
|
+
*
|
|
50
|
+
* Provides a small, consistent surface (`upload`, `download`, `head`, `exists`, `delete`, `copy`,
|
|
51
|
+
* `list`, `url`, `signedUploadUrl`) and a `raw` escape hatch to the adapter's native client.
|
|
52
|
+
*
|
|
53
|
+
* The facade uses the user-supplied `key` as both the storage path and the metadata id,
|
|
54
|
+
* so subsequent operations look up the object by the same key that was used to upload it.
|
|
55
|
+
* @example
|
|
56
|
+
* ```ts
|
|
57
|
+
* import { Files, S3Storage } from "@visulima/storage";
|
|
58
|
+
*
|
|
59
|
+
* const files = new Files({
|
|
60
|
+
* adapter: new S3Storage({ bucket: "uploads", region: "us-east-1" }),
|
|
61
|
+
* });
|
|
62
|
+
*
|
|
63
|
+
* await files.upload("avatars/abc.png", buffer, { contentType: "image/png" });
|
|
64
|
+
* const head = await files.head("avatars/abc.png");
|
|
65
|
+
* const url = await files.url("avatars/abc.png", { expiresIn: 900 });
|
|
66
|
+
* ```
|
|
67
|
+
*/
|
|
68
|
+
declare class Files<TStorage extends BaseStorage = BaseStorage> {
|
|
69
|
+
readonly adapter: TStorage;
|
|
70
|
+
constructor(options: FilesOptions<TStorage>);
|
|
71
|
+
/**
|
|
72
|
+
* Escape hatch to the adapter's native client (S3Client, BlobServiceClient, ...).
|
|
73
|
+
* Typed via the `TStorage` parameter, so pinning the adapter type at construction yields a
|
|
74
|
+
* typed view of the native client. Returns `undefined` when the adapter has no native client
|
|
75
|
+
* (e.g. DiskStorage).
|
|
76
|
+
*/
|
|
77
|
+
get raw(): TStorage["raw"];
|
|
78
|
+
upload(key: string, body: FileBody, options?: UploadOptions): Promise<FileObject>;
|
|
79
|
+
download(key: string): Promise<DownloadResult>;
|
|
80
|
+
head(key: string): Promise<FileObject>;
|
|
81
|
+
/**
|
|
82
|
+
* Resolves to `true` when an object exists at `key`, `false` otherwise. Never throws for a
|
|
83
|
+
* missing object.
|
|
84
|
+
*/
|
|
85
|
+
exists(key: string): Promise<boolean>;
|
|
86
|
+
delete(key: string): Promise<void>;
|
|
87
|
+
copy(source: string, destination: string, options?: {
|
|
88
|
+
storageClass?: string;
|
|
89
|
+
}): Promise<FileObject>;
|
|
90
|
+
list(options?: ListOptions): Promise<FileObject[]>;
|
|
91
|
+
url(key: string, options?: SignedReadUrlOptions): Promise<string>;
|
|
92
|
+
signedUploadUrl(key: string, options?: SignedUploadUrlOptions): Promise<string>;
|
|
93
|
+
}
|
|
94
|
+
export { DownloadResult as D, Files as F, ListOptions as L, SignedReadUrlOptions as S, UploadOptions as U, FileBody as a, FileObject as b, FilesOptions as c, SignedUploadUrlOptions as d };
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
var a=Object.defineProperty;var t=(e,r)=>a(e,"name",{value:r,configurable:!0});var i=Object.defineProperty,n=t((e,r)=>i(e,"name",{value:r,configurable:!0}),"t");const p=n(e=>e.expiredAt?Date.now()>+new Date(e.expiredAt):!1,"isExpired");export{p as o};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
var m=Object.defineProperty;var d=(e,t)=>m(e,"name",{value:t,configurable:!0});var b=Object.defineProperty,i=d((e,t)=>b(e,"name",{value:t,configurable:!0}),"u");const l={backoffMultiplier:2,calculateDelay:void 0,initialDelay:1e3,maxDelay:3e4,maxRetries:3,retryableStatusCodes:[408,429,500,502,503,504],shouldRetry:i(()=>!1,"shouldRetry")},p=i((e,t,r,o)=>{const a=Math.min(t*r**e,o);return Math.floor(Math.random()*a)},"calculateExponentialBackoff"),D=i(e=>new Promise(t=>{setTimeout(t,e)}),"sleep"),h=i((e,t=l.retryableStatusCodes)=>{if(e instanceof Error){const r=e.code,o=e.name;if(o==="AbortError"||r==="ABORT_ERR")return!1;if(r==="ECONNRESET"||r==="ETIMEDOUT"||r==="ENOTFOUND"||r==="ECONNREFUSED"||r==="EAI_AGAIN"||o==="NetworkError"||o==="TimeoutError")return!0;const a=e;if(a.$metadata){const u=a.$metadata.httpStatusCode;if(u&&t.includes(u)||a.$fault==="server")return!0}if(a.statusCode&&t.includes(a.statusCode))return!0;const{retryable:s}=a;return s===!0||typeof s=="string"&&s==="true"}return!1},"isRetryableError"),C=i(async(e,t={})=>{const{backoffMultiplier:r=l.backoffMultiplier,calculateDelay:o=l.calculateDelay,initialDelay:a=l.initialDelay,maxDelay:s=l.maxDelay,maxRetries:u=l.maxRetries,retryableStatusCodes:E=l.retryableStatusCodes,shouldRetry:R=l.shouldRetry}=t;let f;for(let n=0;n<=u;n+=1)try{return await e()}catch(c){if(f=c,n>=u)break;if(!(R(c)||h(c,E)))throw c;const y=o?o(n,c):p(n,a,r,s);y!==void 0&&y>0&&await D(y)}throw f},"retry"),N=i((e={})=>t=>C(t,e),"createRetryWrapper");export{N as createRetryWrapper,h as isRetryableError,C as retry};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
var p=Object.defineProperty;var r=(e,t)=>p(e,"name",{value:t,configurable:!0});import s from"mime";var m=Object.defineProperty,o=r((e,t)=>m(e,"name",{value:t,configurable:!0}),"i");const d=o((e,t)=>e?e.startsWith(`${t}/`):!1,"isValidMediaType"),l=o(e=>{if(e)return s.getExtension(e)||void 0},"getFormatFromContentType"),c=o((e,t,i)=>{const a=typeof e.size=="string"?Number.parseInt(e.size,10):e.size;if(i?.maxSize&&a>i.maxSize)throw new Error(`${t} size ${a} exceeds maximum allowed size ${i.maxSize}`);if(!d(e.contentType,t))throw new Error(`File is not ${t==="image"?"an":"a"} ${t}: ${e.contentType}`);const n=l(e.contentType);if(i?.supportedFormats&&n&&!i.supportedFormats.includes(n))throw new Error(`Unsupported ${t} format: ${n}`)},"validateMediaFile"),u=o(e=>e?!!s.getExtension(e):!1,"isKnownContentType");export{l as getFormatFromContentType,u as isKnownContentType,d as isValidMediaType,c as validateMediaFile};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
var o=Object.defineProperty;var n=(e,i)=>o(e,"name",{value:i,configurable:!0});import{toolDefinition as t}from"@tanstack/ai";import{T as l,e as p}from"./executors-DG6hGtvm.js";var d=Object.defineProperty,r=n((e,i)=>d(e,"name",{value:i,configurable:!0}),"i");const u=r(e=>t({description:l.listFiles.description,inputSchema:l.listFiles.input,name:"listFiles"}).server(i=>p.listFiles(e,i)),"listFiles"),m=r(e=>t({description:l.getFileMetadata.description,inputSchema:l.getFileMetadata.input,name:"getFileMetadata"}).server(i=>p.getFileMetadata(e,i)),"getFileMetadata"),g=r(e=>t({description:l.downloadFile.description,inputSchema:l.downloadFile.input,name:"downloadFile"}).server(i=>p.downloadFile(e,i)),"downloadFile"),v=r(e=>t({description:l.getFileUrl.description,inputSchema:l.getFileUrl.input,name:"getFileUrl"}).server(i=>p.getFileUrl(e,i)),"getFileUrl"),U=r((e,{needsApproval:i=!0}={})=>t({description:l.uploadFile.description,inputSchema:l.uploadFile.input,name:"uploadFile",needsApproval:i}).server(a=>p.uploadFile(e,a)),"uploadFile"),S=r((e,{needsApproval:i=!0}={})=>t({description:l.deleteFile.description,inputSchema:l.deleteFile.input,name:"deleteFile",needsApproval:i}).server(a=>p.deleteFile(e,a)),"deleteFile"),A=r((e,{needsApproval:i=!0}={})=>t({description:l.copyFile.description,inputSchema:l.copyFile.input,name:"copyFile",needsApproval:i}).server(a=>p.copyFile(e,a)),"copyFile"),h=r((e,{needsApproval:i=!0}={})=>t({description:l.signUploadUrl.description,inputSchema:l.signUploadUrl.input,name:"signUploadUrl",needsApproval:i}).server(a=>p.signUploadUrl(e,a)),"signUploadUrl");export{A as copyFile,S as deleteFile,g as downloadFile,m as getFileMetadata,v as getFileUrl,u as listFiles,h as signUploadUrl,U as uploadFile};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
var a=Object.defineProperty;var n=(e,i)=>a(e,"name",{value:i,configurable:!0});import{tool as p}from"ai";import{T as t,e as o}from"./executors-DG6hGtvm.js";var r=Object.defineProperty,l=n((e,i)=>r(e,"name",{value:i,configurable:!0}),"i");const F=l(e=>p({description:t.listFiles.description,execute:l(i=>o.listFiles(e,i),"execute"),inputSchema:t.listFiles.input}),"listFiles"),x=l(e=>p({description:t.getFileMetadata.description,execute:l(i=>o.getFileMetadata(e,i),"execute"),inputSchema:t.getFileMetadata.input}),"getFileMetadata"),g=l(e=>p({description:t.downloadFile.description,execute:l(i=>o.downloadFile(e,i),"execute"),inputSchema:t.downloadFile.input}),"downloadFile"),U=l(e=>p({description:t.getFileUrl.description,execute:l(i=>o.getFileUrl(e,i),"execute"),inputSchema:t.getFileUrl.input}),"getFileUrl"),m=l((e,{needsApproval:i=!0}={})=>p({description:t.uploadFile.description,execute:l(d=>o.uploadFile(e,d),"execute"),inputSchema:t.uploadFile.input,needsApproval:i}),"uploadFile"),v=l((e,{needsApproval:i=!0}={})=>p({description:t.deleteFile.description,execute:l(d=>o.deleteFile(e,d),"execute"),inputSchema:t.deleteFile.input,needsApproval:i}),"deleteFile"),S=l((e,{needsApproval:i=!0}={})=>p({description:t.copyFile.description,execute:l(d=>o.copyFile(e,d),"execute"),inputSchema:t.copyFile.input,needsApproval:i}),"copyFile"),A=l((e,{needsApproval:i=!0}={})=>p({description:t.signUploadUrl.description,execute:l(d=>o.signUploadUrl(e,d),"execute"),inputSchema:t.signUploadUrl.input,needsApproval:i}),"signUploadUrl");export{S as copyFile,v as deleteFile,g as downloadFile,x as getFileMetadata,U as getFileUrl,F as listFiles,A as signUploadUrl,m as uploadFile};
|