@cloudinary/environment-config-mcp 0.6.0 → 0.6.1
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/README.md +5 -5
- package/bin/mcp-server.js +1401 -695
- package/bin/mcp-server.js.map +150 -127
- package/esm/core.d.ts.map +1 -1
- package/esm/core.js +1 -0
- package/esm/core.js.map +1 -1
- package/esm/funcs/streamingProfilesCreateStreamingProfile.d.ts.map +1 -1
- package/esm/funcs/streamingProfilesCreateStreamingProfile.js +1 -0
- package/esm/funcs/streamingProfilesCreateStreamingProfile.js.map +1 -1
- package/esm/funcs/streamingProfilesDeleteStreamingProfile.d.ts.map +1 -1
- package/esm/funcs/streamingProfilesDeleteStreamingProfile.js +1 -0
- package/esm/funcs/streamingProfilesDeleteStreamingProfile.js.map +1 -1
- package/esm/funcs/streamingProfilesGetStreamingProfile.d.ts.map +1 -1
- package/esm/funcs/streamingProfilesGetStreamingProfile.js +1 -0
- package/esm/funcs/streamingProfilesGetStreamingProfile.js.map +1 -1
- package/esm/funcs/streamingProfilesGetStreamingProfiles.d.ts.map +1 -1
- package/esm/funcs/streamingProfilesGetStreamingProfiles.js +1 -0
- package/esm/funcs/streamingProfilesGetStreamingProfiles.js.map +1 -1
- package/esm/funcs/streamingProfilesUpdateStreamingProfile.d.ts.map +1 -1
- package/esm/funcs/streamingProfilesUpdateStreamingProfile.js +1 -0
- package/esm/funcs/streamingProfilesUpdateStreamingProfile.js.map +1 -1
- package/esm/funcs/transformationsCreateTransformation.d.ts +1 -1
- package/esm/funcs/transformationsCreateTransformation.d.ts.map +1 -1
- package/esm/funcs/transformationsCreateTransformation.js +2 -1
- package/esm/funcs/transformationsCreateTransformation.js.map +1 -1
- package/esm/funcs/transformationsDeleteTransformation.d.ts.map +1 -1
- package/esm/funcs/transformationsDeleteTransformation.js +1 -0
- package/esm/funcs/transformationsDeleteTransformation.js.map +1 -1
- package/esm/funcs/transformationsGetTransformation.d.ts.map +1 -1
- package/esm/funcs/transformationsGetTransformation.js +1 -0
- package/esm/funcs/transformationsGetTransformation.js.map +1 -1
- package/esm/funcs/transformationsListTransformations.d.ts +1 -1
- package/esm/funcs/transformationsListTransformations.d.ts.map +1 -1
- package/esm/funcs/transformationsListTransformations.js +2 -1
- package/esm/funcs/transformationsListTransformations.js.map +1 -1
- package/esm/funcs/transformationsUpdateTransformation.d.ts +2 -2
- package/esm/funcs/transformationsUpdateTransformation.d.ts.map +1 -1
- package/esm/funcs/transformationsUpdateTransformation.js +3 -2
- package/esm/funcs/transformationsUpdateTransformation.js.map +1 -1
- package/esm/funcs/triggersCreateTrigger.d.ts +1 -1
- package/esm/funcs/triggersCreateTrigger.d.ts.map +1 -1
- package/esm/funcs/triggersCreateTrigger.js +2 -1
- package/esm/funcs/triggersCreateTrigger.js.map +1 -1
- package/esm/funcs/triggersDeleteTrigger.d.ts.map +1 -1
- package/esm/funcs/triggersDeleteTrigger.js +1 -0
- package/esm/funcs/triggersDeleteTrigger.js.map +1 -1
- package/esm/funcs/triggersListTrigger.d.ts +3 -2
- package/esm/funcs/triggersListTrigger.d.ts.map +1 -1
- package/esm/funcs/triggersListTrigger.js +2 -1
- package/esm/funcs/triggersListTrigger.js.map +1 -1
- package/esm/funcs/triggersTestTrigger.d.ts +2 -2
- package/esm/funcs/triggersTestTrigger.d.ts.map +1 -1
- package/esm/funcs/triggersTestTrigger.js +10 -7
- package/esm/funcs/triggersTestTrigger.js.map +1 -1
- package/esm/funcs/triggersUpdateTrigger.d.ts +2 -2
- package/esm/funcs/triggersUpdateTrigger.d.ts.map +1 -1
- package/esm/funcs/triggersUpdateTrigger.js +10 -7
- package/esm/funcs/triggersUpdateTrigger.js.map +1 -1
- package/esm/funcs/uploadMappingsCreateUploadMapping.d.ts +2 -2
- package/esm/funcs/uploadMappingsCreateUploadMapping.d.ts.map +1 -1
- package/esm/funcs/uploadMappingsCreateUploadMapping.js +3 -2
- package/esm/funcs/uploadMappingsCreateUploadMapping.js.map +1 -1
- package/esm/funcs/uploadMappingsDeleteUploadMapping.d.ts.map +1 -1
- package/esm/funcs/uploadMappingsDeleteUploadMapping.js +1 -0
- package/esm/funcs/uploadMappingsDeleteUploadMapping.js.map +1 -1
- package/esm/funcs/uploadMappingsListUploadMappings.d.ts.map +1 -1
- package/esm/funcs/uploadMappingsListUploadMappings.js +1 -0
- package/esm/funcs/uploadMappingsListUploadMappings.js.map +1 -1
- package/esm/funcs/uploadMappingsReplaceUploadMappings.d.ts +1 -1
- package/esm/funcs/uploadMappingsReplaceUploadMappings.d.ts.map +1 -1
- package/esm/funcs/uploadMappingsReplaceUploadMappings.js +2 -1
- package/esm/funcs/uploadMappingsReplaceUploadMappings.js.map +1 -1
- package/esm/funcs/uploadMappingsUpdateUploadMapping.d.ts +3 -3
- package/esm/funcs/uploadMappingsUpdateUploadMapping.d.ts.map +1 -1
- package/esm/funcs/uploadMappingsUpdateUploadMapping.js +4 -3
- package/esm/funcs/uploadMappingsUpdateUploadMapping.js.map +1 -1
- package/esm/funcs/uploadPresetsCreateUploadPreset.d.ts +2 -2
- package/esm/funcs/uploadPresetsCreateUploadPreset.d.ts.map +1 -1
- package/esm/funcs/uploadPresetsCreateUploadPreset.js +3 -2
- package/esm/funcs/uploadPresetsCreateUploadPreset.js.map +1 -1
- package/esm/funcs/uploadPresetsDeleteUploadPreset.d.ts.map +1 -1
- package/esm/funcs/uploadPresetsDeleteUploadPreset.js +1 -0
- package/esm/funcs/uploadPresetsDeleteUploadPreset.js.map +1 -1
- package/esm/funcs/uploadPresetsGetUploadPreset.d.ts.map +1 -1
- package/esm/funcs/uploadPresetsGetUploadPreset.js +1 -0
- package/esm/funcs/uploadPresetsGetUploadPreset.js.map +1 -1
- package/esm/funcs/uploadPresetsListUploadPresets.d.ts +3 -2
- package/esm/funcs/uploadPresetsListUploadPresets.d.ts.map +1 -1
- package/esm/funcs/uploadPresetsListUploadPresets.js +6 -3
- package/esm/funcs/uploadPresetsListUploadPresets.js.map +1 -1
- package/esm/funcs/uploadPresetsUpdateUploadPreset.d.ts +2 -2
- package/esm/funcs/uploadPresetsUpdateUploadPreset.d.ts.map +1 -1
- package/esm/funcs/uploadPresetsUpdateUploadPreset.js +8 -5
- package/esm/funcs/uploadPresetsUpdateUploadPreset.js.map +1 -1
- package/esm/hooks/cloudConfig.d.ts +15 -0
- package/esm/hooks/cloudConfig.d.ts.map +1 -1
- package/esm/hooks/cloudConfig.js +28 -0
- package/esm/hooks/cloudConfig.js.map +1 -1
- package/esm/hooks/cloudinaryAuthHook.d.ts +13 -16
- package/esm/hooks/cloudinaryAuthHook.d.ts.map +1 -1
- package/esm/hooks/cloudinaryAuthHook.js +43 -180
- package/esm/hooks/cloudinaryAuthHook.js.map +1 -1
- package/esm/hooks/customHeadersHook.d.ts +13 -0
- package/esm/hooks/customHeadersHook.d.ts.map +1 -0
- package/esm/hooks/customHeadersHook.js +21 -0
- package/esm/hooks/customHeadersHook.js.map +1 -0
- package/esm/hooks/hooks.d.ts.map +1 -1
- package/esm/hooks/hooks.js +1 -0
- package/esm/hooks/hooks.js.map +1 -1
- package/esm/hooks/oauth2scopes.d.ts.map +1 -1
- package/esm/hooks/oauth2scopes.js +1 -0
- package/esm/hooks/oauth2scopes.js.map +1 -1
- package/esm/hooks/registration.d.ts.map +1 -1
- package/esm/hooks/registration.js +9 -7
- package/esm/hooks/registration.js.map +1 -1
- package/esm/hooks/responseHeadersHook.d.ts +15 -0
- package/esm/hooks/responseHeadersHook.d.ts.map +1 -0
- package/esm/hooks/responseHeadersHook.js +83 -0
- package/esm/hooks/responseHeadersHook.js.map +1 -0
- package/esm/hooks/types.d.ts.map +1 -1
- package/esm/hooks/types.js +1 -0
- package/esm/hooks/types.js.map +1 -1
- package/esm/landing-page.d.ts.map +1 -1
- package/esm/landing-page.js +10 -3
- package/esm/landing-page.js.map +1 -1
- package/esm/lib/base64.d.ts.map +1 -1
- package/esm/lib/base64.js +1 -0
- package/esm/lib/base64.js.map +1 -1
- package/esm/lib/config.d.ts +4 -4
- package/esm/lib/config.d.ts.map +1 -1
- package/esm/lib/config.js +5 -4
- package/esm/lib/config.js.map +1 -1
- package/esm/lib/encodings.d.ts +1 -0
- package/esm/lib/encodings.d.ts.map +1 -1
- package/esm/lib/encodings.js +28 -6
- package/esm/lib/encodings.js.map +1 -1
- package/esm/lib/env.d.ts.map +1 -1
- package/esm/lib/env.js +3 -2
- package/esm/lib/env.js.map +1 -1
- package/esm/lib/files.d.ts +13 -0
- package/esm/lib/files.d.ts.map +1 -1
- package/esm/lib/files.js +19 -0
- package/esm/lib/files.js.map +1 -1
- package/esm/lib/http.d.ts +1 -1
- package/esm/lib/http.d.ts.map +1 -1
- package/esm/lib/http.js +2 -1
- package/esm/lib/http.js.map +1 -1
- package/esm/lib/logger.d.ts.map +1 -1
- package/esm/lib/logger.js +1 -0
- package/esm/lib/logger.js.map +1 -1
- package/esm/lib/primitives.d.ts +1 -0
- package/esm/lib/primitives.d.ts.map +1 -1
- package/esm/lib/primitives.js +18 -0
- package/esm/lib/primitives.js.map +1 -1
- package/esm/lib/result.d.ts.map +1 -1
- package/esm/lib/result.js +1 -0
- package/esm/lib/result.js.map +1 -1
- package/esm/lib/retries.d.ts.map +1 -1
- package/esm/lib/retries.js +8 -0
- package/esm/lib/retries.js.map +1 -1
- package/esm/lib/schemas.d.ts.map +1 -1
- package/esm/lib/schemas.js +1 -0
- package/esm/lib/schemas.js.map +1 -1
- package/esm/lib/sdks.d.ts.map +1 -1
- package/esm/lib/sdks.js +1 -2
- package/esm/lib/sdks.js.map +1 -1
- package/esm/lib/security.d.ts +6 -5
- package/esm/lib/security.d.ts.map +1 -1
- package/esm/lib/security.js +34 -22
- package/esm/lib/security.js.map +1 -1
- package/esm/lib/url.d.ts.map +1 -1
- package/esm/lib/url.js +1 -0
- package/esm/lib/url.js.map +1 -1
- package/esm/mcp-server/cli/serve/command.d.ts.map +1 -1
- package/esm/mcp-server/cli/serve/command.js +8 -1
- package/esm/mcp-server/cli/serve/command.js.map +1 -1
- package/esm/mcp-server/cli/serve/impl.d.ts.map +1 -1
- package/esm/mcp-server/cli/serve/impl.js +4 -1
- package/esm/mcp-server/cli/serve/impl.js.map +1 -1
- package/esm/mcp-server/cli/start/command.d.ts.map +1 -1
- package/esm/mcp-server/cli/start/command.js +8 -1
- package/esm/mcp-server/cli/start/command.js.map +1 -1
- package/esm/mcp-server/cli/start/impl.d.ts.map +1 -1
- package/esm/mcp-server/cli/start/impl.js +4 -0
- package/esm/mcp-server/cli/start/impl.js.map +1 -1
- package/esm/mcp-server/cli.d.ts.map +1 -1
- package/esm/mcp-server/cli.js +1 -0
- package/esm/mcp-server/cli.js.map +1 -1
- package/esm/mcp-server/console-logger.d.ts.map +1 -1
- package/esm/mcp-server/console-logger.js +1 -0
- package/esm/mcp-server/console-logger.js.map +1 -1
- package/esm/mcp-server/extensions.d.ts.map +1 -1
- package/esm/mcp-server/extensions.js +1 -0
- package/esm/mcp-server/extensions.js.map +1 -1
- package/esm/mcp-server/flags.d.ts +1 -0
- package/esm/mcp-server/flags.d.ts.map +1 -1
- package/esm/mcp-server/flags.js +1 -0
- package/esm/mcp-server/flags.js.map +1 -1
- package/esm/mcp-server/mcp-server.d.ts.map +1 -1
- package/esm/mcp-server/mcp-server.js +2 -1
- package/esm/mcp-server/mcp-server.js.map +1 -1
- package/esm/mcp-server/prompts.d.ts.map +1 -1
- package/esm/mcp-server/prompts.js +1 -0
- package/esm/mcp-server/prompts.js.map +1 -1
- package/esm/mcp-server/resources.d.ts.map +1 -1
- package/esm/mcp-server/resources.js +1 -0
- package/esm/mcp-server/resources.js.map +1 -1
- package/esm/mcp-server/scopes.d.ts.map +1 -1
- package/esm/mcp-server/scopes.js +1 -0
- package/esm/mcp-server/scopes.js.map +1 -1
- package/esm/mcp-server/server.d.ts +2 -0
- package/esm/mcp-server/server.d.ts.map +1 -1
- package/esm/mcp-server/server.js +4 -3
- package/esm/mcp-server/server.js.map +1 -1
- package/esm/mcp-server/shared.d.ts.map +1 -1
- package/esm/mcp-server/shared.js +1 -0
- package/esm/mcp-server/shared.js.map +1 -1
- package/esm/mcp-server/tools/streamingProfilesCreateStreamingProfile.d.ts.map +1 -1
- package/esm/mcp-server/tools/streamingProfilesCreateStreamingProfile.js +2 -1
- package/esm/mcp-server/tools/streamingProfilesCreateStreamingProfile.js.map +1 -1
- package/esm/mcp-server/tools/streamingProfilesDeleteStreamingProfile.d.ts.map +1 -1
- package/esm/mcp-server/tools/streamingProfilesDeleteStreamingProfile.js +2 -1
- package/esm/mcp-server/tools/streamingProfilesDeleteStreamingProfile.js.map +1 -1
- package/esm/mcp-server/tools/streamingProfilesGetStreamingProfile.d.ts.map +1 -1
- package/esm/mcp-server/tools/streamingProfilesGetStreamingProfile.js +2 -1
- package/esm/mcp-server/tools/streamingProfilesGetStreamingProfile.js.map +1 -1
- package/esm/mcp-server/tools/streamingProfilesGetStreamingProfiles.d.ts.map +1 -1
- package/esm/mcp-server/tools/streamingProfilesGetStreamingProfiles.js +1 -0
- package/esm/mcp-server/tools/streamingProfilesGetStreamingProfiles.js.map +1 -1
- package/esm/mcp-server/tools/streamingProfilesUpdateStreamingProfile.d.ts.map +1 -1
- package/esm/mcp-server/tools/streamingProfilesUpdateStreamingProfile.js +3 -2
- package/esm/mcp-server/tools/streamingProfilesUpdateStreamingProfile.js.map +1 -1
- package/esm/mcp-server/tools/transformationsCreateTransformation.d.ts.map +1 -1
- package/esm/mcp-server/tools/transformationsCreateTransformation.js +4 -3
- package/esm/mcp-server/tools/transformationsCreateTransformation.js.map +1 -1
- package/esm/mcp-server/tools/transformationsDeleteTransformation.d.ts.map +1 -1
- package/esm/mcp-server/tools/transformationsDeleteTransformation.js +1 -0
- package/esm/mcp-server/tools/transformationsDeleteTransformation.js.map +1 -1
- package/esm/mcp-server/tools/transformationsGetTransformation.d.ts.map +1 -1
- package/esm/mcp-server/tools/transformationsGetTransformation.js +1 -0
- package/esm/mcp-server/tools/transformationsGetTransformation.js.map +1 -1
- package/esm/mcp-server/tools/transformationsListTransformations.d.ts.map +1 -1
- package/esm/mcp-server/tools/transformationsListTransformations.js +2 -1
- package/esm/mcp-server/tools/transformationsListTransformations.js.map +1 -1
- package/esm/mcp-server/tools/transformationsUpdateTransformation.d.ts.map +1 -1
- package/esm/mcp-server/tools/transformationsUpdateTransformation.js +4 -3
- package/esm/mcp-server/tools/transformationsUpdateTransformation.js.map +1 -1
- package/esm/mcp-server/tools/triggersCreateTrigger.d.ts +1 -1
- package/esm/mcp-server/tools/triggersCreateTrigger.d.ts.map +1 -1
- package/esm/mcp-server/tools/triggersCreateTrigger.js +3 -2
- package/esm/mcp-server/tools/triggersCreateTrigger.js.map +1 -1
- package/esm/mcp-server/tools/triggersDeleteTrigger.d.ts.map +1 -1
- package/esm/mcp-server/tools/triggersDeleteTrigger.js +2 -1
- package/esm/mcp-server/tools/triggersDeleteTrigger.js.map +1 -1
- package/esm/mcp-server/tools/triggersListTrigger.d.ts +30 -2
- package/esm/mcp-server/tools/triggersListTrigger.d.ts.map +1 -1
- package/esm/mcp-server/tools/triggersListTrigger.js +4 -3
- package/esm/mcp-server/tools/triggersListTrigger.js.map +1 -1
- package/esm/mcp-server/tools/triggersTestTrigger.d.ts +1 -1
- package/esm/mcp-server/tools/triggersTestTrigger.d.ts.map +1 -1
- package/esm/mcp-server/tools/triggersTestTrigger.js +6 -5
- package/esm/mcp-server/tools/triggersTestTrigger.js.map +1 -1
- package/esm/mcp-server/tools/triggersUpdateTrigger.d.ts +1 -1
- package/esm/mcp-server/tools/triggersUpdateTrigger.d.ts.map +1 -1
- package/esm/mcp-server/tools/triggersUpdateTrigger.js +5 -4
- package/esm/mcp-server/tools/triggersUpdateTrigger.js.map +1 -1
- package/esm/mcp-server/tools/uploadMappingsCreateUploadMapping.d.ts +1 -1
- package/esm/mcp-server/tools/uploadMappingsCreateUploadMapping.d.ts.map +1 -1
- package/esm/mcp-server/tools/uploadMappingsCreateUploadMapping.js +3 -2
- package/esm/mcp-server/tools/uploadMappingsCreateUploadMapping.js.map +1 -1
- package/esm/mcp-server/tools/uploadMappingsDeleteUploadMapping.d.ts.map +1 -1
- package/esm/mcp-server/tools/uploadMappingsDeleteUploadMapping.js +1 -0
- package/esm/mcp-server/tools/uploadMappingsDeleteUploadMapping.js.map +1 -1
- package/esm/mcp-server/tools/uploadMappingsListUploadMappings.d.ts.map +1 -1
- package/esm/mcp-server/tools/uploadMappingsListUploadMappings.js +1 -0
- package/esm/mcp-server/tools/uploadMappingsListUploadMappings.js.map +1 -1
- package/esm/mcp-server/tools/uploadMappingsUpdateUploadMapping.d.ts +1 -1
- package/esm/mcp-server/tools/uploadMappingsUpdateUploadMapping.d.ts.map +1 -1
- package/esm/mcp-server/tools/uploadMappingsUpdateUploadMapping.js +4 -3
- package/esm/mcp-server/tools/uploadMappingsUpdateUploadMapping.js.map +1 -1
- package/esm/mcp-server/tools/uploadPresetsCreateUploadPreset.d.ts +1 -1
- package/esm/mcp-server/tools/uploadPresetsCreateUploadPreset.d.ts.map +1 -1
- package/esm/mcp-server/tools/uploadPresetsCreateUploadPreset.js +3 -2
- package/esm/mcp-server/tools/uploadPresetsCreateUploadPreset.js.map +1 -1
- package/esm/mcp-server/tools/uploadPresetsDeleteUploadPreset.d.ts.map +1 -1
- package/esm/mcp-server/tools/uploadPresetsDeleteUploadPreset.js +2 -1
- package/esm/mcp-server/tools/uploadPresetsDeleteUploadPreset.js.map +1 -1
- package/esm/mcp-server/tools/uploadPresetsGetUploadPreset.d.ts.map +1 -1
- package/esm/mcp-server/tools/uploadPresetsGetUploadPreset.js +2 -1
- package/esm/mcp-server/tools/uploadPresetsGetUploadPreset.js.map +1 -1
- package/esm/mcp-server/tools/uploadPresetsListUploadPresets.d.ts +2 -1
- package/esm/mcp-server/tools/uploadPresetsListUploadPresets.d.ts.map +1 -1
- package/esm/mcp-server/tools/uploadPresetsListUploadPresets.js +7 -4
- package/esm/mcp-server/tools/uploadPresetsListUploadPresets.js.map +1 -1
- package/esm/mcp-server/tools/uploadPresetsUpdateUploadPreset.d.ts +1 -1
- package/esm/mcp-server/tools/uploadPresetsUpdateUploadPreset.d.ts.map +1 -1
- package/esm/mcp-server/tools/uploadPresetsUpdateUploadPreset.js +5 -4
- package/esm/mcp-server/tools/uploadPresetsUpdateUploadPreset.js.map +1 -1
- package/esm/mcp-server/tools.d.ts +8 -1
- package/esm/mcp-server/tools.d.ts.map +1 -1
- package/esm/mcp-server/tools.js +59 -10
- package/esm/mcp-server/tools.js.map +1 -1
- package/esm/models/accesscontrolitem.d.ts +12 -2
- package/esm/models/accesscontrolitem.d.ts.map +1 -1
- package/esm/models/accesscontrolitem.js +19 -4
- package/esm/models/accesscontrolitem.js.map +1 -1
- package/esm/models/apierror.d.ts.map +1 -1
- package/esm/models/apierror.js +1 -0
- package/esm/models/apierror.js.map +1 -1
- package/esm/models/assetdeliverytype.d.ts +16 -0
- package/esm/models/assetdeliverytype.d.ts.map +1 -0
- package/esm/models/assetdeliverytype.js +15 -0
- package/esm/models/assetdeliverytype.js.map +1 -0
- package/esm/models/createrequest.d.ts.map +1 -1
- package/esm/models/createrequest.js +3 -2
- package/esm/models/createrequest.js.map +1 -1
- package/esm/models/createstreamingprofileop.d.ts +2 -9
- package/esm/models/createstreamingprofileop.d.ts.map +1 -1
- package/esm/models/createstreamingprofileop.js +3 -5
- package/esm/models/createstreamingprofileop.js.map +1 -1
- package/esm/models/createtransformationop.d.ts +2 -8
- package/esm/models/createtransformationop.d.ts.map +1 -1
- package/esm/models/createtransformationop.js +5 -6
- package/esm/models/createtransformationop.js.map +1 -1
- package/esm/models/createtriggerop.d.ts +0 -5
- package/esm/models/createtriggerop.d.ts.map +1 -1
- package/esm/models/createtriggerop.js +1 -5
- package/esm/models/createtriggerop.js.map +1 -1
- package/esm/models/createtriggerrequest.d.ts +8 -0
- package/esm/models/createtriggerrequest.d.ts.map +1 -0
- package/esm/models/createtriggerrequest.js +12 -0
- package/esm/models/createtriggerrequest.js.map +1 -0
- package/esm/models/createuploadmappingop.d.ts +2 -15
- package/esm/models/createuploadmappingop.d.ts.map +1 -1
- package/esm/models/createuploadmappingop.js +3 -10
- package/esm/models/createuploadmappingop.js.map +1 -1
- package/esm/models/createuploadpresetop.d.ts +2 -10
- package/esm/models/createuploadpresetop.d.ts.map +1 -1
- package/esm/models/createuploadpresetop.js +3 -6
- package/esm/models/createuploadpresetop.js.map +1 -1
- package/esm/models/deletestreamingprofileop.d.ts +2 -8
- package/esm/models/deletestreamingprofileop.d.ts.map +1 -1
- package/esm/models/deletestreamingprofileop.js +4 -5
- package/esm/models/deletestreamingprofileop.js.map +1 -1
- package/esm/models/deletetransformationop.d.ts +2 -8
- package/esm/models/deletetransformationop.d.ts.map +1 -1
- package/esm/models/deletetransformationop.js +3 -4
- package/esm/models/deletetransformationop.js.map +1 -1
- package/esm/models/deletetriggerop.d.ts +2 -8
- package/esm/models/deletetriggerop.d.ts.map +1 -1
- package/esm/models/deletetriggerop.js +4 -5
- package/esm/models/deletetriggerop.js.map +1 -1
- package/esm/models/deleteuploadmappingop.d.ts +2 -9
- package/esm/models/deleteuploadmappingop.d.ts.map +1 -1
- package/esm/models/deleteuploadmappingop.js +3 -5
- package/esm/models/deleteuploadmappingop.js.map +1 -1
- package/esm/models/deleteuploadpresetop.d.ts +2 -9
- package/esm/models/deleteuploadpresetop.d.ts.map +1 -1
- package/esm/models/deleteuploadpresetop.js +4 -6
- package/esm/models/deleteuploadpresetop.js.map +1 -1
- package/esm/models/directionenum.d.ts +18 -0
- package/esm/models/directionenum.d.ts.map +1 -0
- package/esm/models/directionenum.js +17 -0
- package/esm/models/directionenum.js.map +1 -0
- package/esm/models/errors/apierror.d.ts.map +1 -1
- package/esm/models/errors/apierror.js +1 -0
- package/esm/models/errors/apierror.js.map +1 -1
- package/esm/models/errors/httpclienterrors.d.ts.map +1 -1
- package/esm/models/errors/httpclienterrors.js +1 -0
- package/esm/models/errors/httpclienterrors.js.map +1 -1
- package/esm/models/errors/sdkvalidationerror.d.ts.map +1 -1
- package/esm/models/errors/sdkvalidationerror.js +1 -0
- package/esm/models/errors/sdkvalidationerror.js.map +1 -1
- package/esm/models/eventtype.d.ts +70 -0
- package/esm/models/eventtype.d.ts.map +1 -0
- package/esm/models/eventtype.js +69 -0
- package/esm/models/eventtype.js.map +1 -0
- package/esm/models/getstreamingprofileop.d.ts +2 -9
- package/esm/models/getstreamingprofileop.d.ts.map +1 -1
- package/esm/models/getstreamingprofileop.js +4 -6
- package/esm/models/getstreamingprofileop.js.map +1 -1
- package/esm/models/getstreamingprofilesop.d.ts +2 -9
- package/esm/models/getstreamingprofilesop.d.ts.map +1 -1
- package/esm/models/getstreamingprofilesop.js +3 -5
- package/esm/models/getstreamingprofilesop.js.map +1 -1
- package/esm/models/gettransformationop.d.ts.map +1 -1
- package/esm/models/gettransformationop.js +1 -0
- package/esm/models/gettransformationop.js.map +1 -1
- package/esm/models/getuploadpresetop.d.ts +2 -2
- package/esm/models/getuploadpresetop.d.ts.map +1 -1
- package/esm/models/getuploadpresetop.js +4 -3
- package/esm/models/getuploadpresetop.js.map +1 -1
- package/esm/models/listtransformationsop.d.ts +2 -2
- package/esm/models/listtransformationsop.d.ts.map +1 -1
- package/esm/models/listtransformationsop.js +3 -2
- package/esm/models/listtransformationsop.js.map +1 -1
- package/esm/models/listtriggerop.d.ts +4 -11
- package/esm/models/listtriggerop.d.ts.map +1 -1
- package/esm/models/listtriggerop.js +5 -7
- package/esm/models/listtriggerop.js.map +1 -1
- package/esm/models/listuploadmappingsop.d.ts +3 -11
- package/esm/models/listuploadmappingsop.d.ts.map +1 -1
- package/esm/models/listuploadmappingsop.js +4 -7
- package/esm/models/listuploadmappingsop.js.map +1 -1
- package/esm/models/listuploadpresetsop.d.ts +16 -24
- package/esm/models/listuploadpresetsop.d.ts.map +1 -1
- package/esm/models/listuploadpresetsop.js +17 -22
- package/esm/models/listuploadpresetsop.js.map +1 -1
- package/esm/models/manageddeliverytype.d.ts +20 -0
- package/esm/models/manageddeliverytype.d.ts.map +1 -0
- package/esm/models/manageddeliverytype.js +19 -0
- package/esm/models/manageddeliverytype.js.map +1 -0
- package/esm/models/messageresponse.d.ts +6 -0
- package/esm/models/messageresponse.d.ts.map +1 -0
- package/esm/models/messageresponse.js +9 -0
- package/esm/models/messageresponse.js.map +1 -0
- package/esm/models/replaceuploadmappingsop.d.ts +2 -17
- package/esm/models/replaceuploadmappingsop.d.ts.map +1 -1
- package/esm/models/replaceuploadmappingsop.js +3 -11
- package/esm/models/replaceuploadmappingsop.js.map +1 -1
- package/esm/models/replaceuploadmappingsrequest.d.ts +7 -0
- package/esm/models/replaceuploadmappingsrequest.d.ts.map +1 -0
- package/esm/models/replaceuploadmappingsrequest.js +10 -0
- package/esm/models/replaceuploadmappingsrequest.js.map +1 -0
- package/esm/models/responsivebreakpoint.d.ts +11 -0
- package/esm/models/responsivebreakpoint.d.ts.map +1 -0
- package/esm/models/responsivebreakpoint.js +15 -0
- package/esm/models/responsivebreakpoint.js.map +1 -0
- package/esm/models/schemecloudinaryauth.d.ts.map +1 -1
- package/esm/models/schemecloudinaryauth.js +1 -0
- package/esm/models/schemecloudinaryauth.js.map +1 -1
- package/esm/models/security.d.ts.map +1 -1
- package/esm/models/security.js +1 -0
- package/esm/models/security.js.map +1 -1
- package/esm/models/streamingprofile.d.ts.map +1 -1
- package/esm/models/streamingprofile.js +8 -6
- package/esm/models/streamingprofile.js.map +1 -1
- package/esm/models/streamingprofilecreate.d.ts.map +1 -1
- package/esm/models/streamingprofilecreate.js +4 -3
- package/esm/models/streamingprofilecreate.js.map +1 -1
- package/esm/models/streamingprofiledataresponse.d.ts +7 -0
- package/esm/models/streamingprofiledataresponse.d.ts.map +1 -0
- package/esm/models/streamingprofiledataresponse.js +10 -0
- package/esm/models/streamingprofiledataresponse.js.map +1 -0
- package/esm/models/streamingprofilelistresponse.d.ts +7 -0
- package/esm/models/streamingprofilelistresponse.d.ts.map +1 -0
- package/esm/models/streamingprofilelistresponse.js +10 -0
- package/esm/models/streamingprofilelistresponse.js.map +1 -0
- package/esm/models/streamingprofileupdate.d.ts.map +1 -1
- package/esm/models/streamingprofileupdate.js +3 -2
- package/esm/models/streamingprofileupdate.js.map +1 -1
- package/esm/models/streamingprofileupdateresponse.d.ts +8 -0
- package/esm/models/streamingprofileupdateresponse.d.ts.map +1 -0
- package/esm/models/streamingprofileupdateresponse.js +11 -0
- package/esm/models/streamingprofileupdateresponse.js.map +1 -0
- package/esm/models/structuredmetadataparam.d.ts +12 -0
- package/esm/models/structuredmetadataparam.d.ts.map +1 -0
- package/esm/models/structuredmetadataparam.js +11 -0
- package/esm/models/structuredmetadataparam.js.map +1 -0
- package/esm/models/structuredmetadatavalue.d.ts +4 -0
- package/esm/models/structuredmetadatavalue.d.ts.map +1 -0
- package/esm/models/structuredmetadatavalue.js +11 -0
- package/esm/models/structuredmetadatavalue.js.map +1 -0
- package/esm/models/tagsparam.d.ts +7 -0
- package/esm/models/tagsparam.d.ts.map +1 -0
- package/esm/models/tagsparam.js +10 -0
- package/esm/models/tagsparam.js.map +1 -0
- package/esm/models/testtriggerop.d.ts +7 -23
- package/esm/models/testtriggerop.d.ts.map +1 -1
- package/esm/models/testtriggerop.js +8 -17
- package/esm/models/testtriggerop.js.map +1 -1
- package/esm/models/testtriggerrequest.d.ts +11 -0
- package/esm/models/testtriggerrequest.d.ts.map +1 -0
- package/esm/models/testtriggerrequest.js +12 -0
- package/esm/models/testtriggerrequest.js.map +1 -0
- package/esm/models/testtriggerresponse.d.ts +8 -0
- package/esm/models/testtriggerresponse.d.ts.map +1 -0
- package/esm/models/testtriggerresponse.js +12 -0
- package/esm/models/testtriggerresponse.js.map +1 -0
- package/esm/models/transformationinfo.d.ts.map +1 -1
- package/esm/models/transformationinfo.js +5 -4
- package/esm/models/transformationinfo.js.map +1 -1
- package/esm/models/{listresponse.d.ts → transformationlistresponse.d.ts} +3 -3
- package/esm/models/transformationlistresponse.d.ts.map +1 -0
- package/esm/models/{listresponse.js → transformationlistresponse.js} +3 -2
- package/esm/models/transformationlistresponse.js.map +1 -0
- package/esm/models/transformationsummary.d.ts.map +1 -1
- package/esm/models/transformationsummary.js +1 -0
- package/esm/models/transformationsummary.js.map +1 -1
- package/esm/models/triggerinfo.d.ts +2 -1
- package/esm/models/triggerinfo.d.ts.map +1 -1
- package/esm/models/triggerinfo.js +3 -1
- package/esm/models/triggerinfo.js.map +1 -1
- package/esm/models/triggerlistresponse.d.ts +11 -0
- package/esm/models/triggerlistresponse.d.ts.map +1 -0
- package/esm/models/triggerlistresponse.js +12 -0
- package/esm/models/triggerlistresponse.js.map +1 -0
- package/esm/models/updaterequest.d.ts.map +1 -1
- package/esm/models/updaterequest.js +3 -2
- package/esm/models/updaterequest.js.map +1 -1
- package/esm/models/updatestreamingprofileop.d.ts +2 -10
- package/esm/models/updatestreamingprofileop.d.ts.map +1 -1
- package/esm/models/updatestreamingprofileop.js +5 -8
- package/esm/models/updatestreamingprofileop.js.map +1 -1
- package/esm/models/updatetransformationop.d.ts +2 -8
- package/esm/models/updatetransformationop.d.ts.map +1 -1
- package/esm/models/updatetransformationop.js +4 -5
- package/esm/models/updatetransformationop.js.map +1 -1
- package/esm/models/updatetriggerop.d.ts +6 -15
- package/esm/models/updatetriggerop.d.ts.map +1 -1
- package/esm/models/updatetriggerop.js +7 -11
- package/esm/models/updatetriggerop.js.map +1 -1
- package/esm/models/updatetriggerrequest.d.ts +6 -0
- package/esm/models/updatetriggerrequest.d.ts.map +1 -0
- package/esm/models/updatetriggerrequest.js +10 -0
- package/esm/models/updatetriggerrequest.js.map +1 -0
- package/esm/models/updateuploadmappingop.d.ts +2 -14
- package/esm/models/updateuploadmappingop.d.ts.map +1 -1
- package/esm/models/updateuploadmappingop.js +3 -9
- package/esm/models/updateuploadmappingop.js.map +1 -1
- package/esm/models/updateuploadpresetop.d.ts +4 -11
- package/esm/models/updateuploadpresetop.d.ts.map +1 -1
- package/esm/models/updateuploadpresetop.js +6 -8
- package/esm/models/updateuploadpresetop.js.map +1 -1
- package/esm/models/uploaddeliverytype.d.ts +9 -0
- package/esm/models/uploaddeliverytype.d.ts.map +1 -0
- package/esm/models/uploaddeliverytype.js +13 -0
- package/esm/models/uploaddeliverytype.js.map +1 -0
- package/esm/models/uploadmapping.d.ts.map +1 -1
- package/esm/models/uploadmapping.js +5 -4
- package/esm/models/uploadmapping.js.map +1 -1
- package/esm/models/uploadmappingcreateresponse.d.ts +8 -0
- package/esm/models/uploadmappingcreateresponse.d.ts.map +1 -0
- package/esm/models/uploadmappingcreateresponse.js +11 -0
- package/esm/models/uploadmappingcreateresponse.js.map +1 -0
- package/esm/models/uploadmappinginput.d.ts +7 -0
- package/esm/models/uploadmappinginput.d.ts.map +1 -0
- package/esm/models/uploadmappinginput.js +11 -0
- package/esm/models/uploadmappinginput.js.map +1 -0
- package/esm/models/uploadmappinglistresponse.d.ts +12 -0
- package/esm/models/uploadmappinglistresponse.d.ts.map +1 -0
- package/esm/models/uploadmappinglistresponse.js +12 -0
- package/esm/models/uploadmappinglistresponse.js.map +1 -0
- package/esm/models/uploadmappingmutationresponse.d.ts +7 -0
- package/esm/models/uploadmappingmutationresponse.d.ts.map +1 -0
- package/esm/models/uploadmappingmutationresponse.js +10 -0
- package/esm/models/uploadmappingmutationresponse.js.map +1 -0
- package/esm/models/uploadpresetcreateresponse.d.ts +8 -0
- package/esm/models/uploadpresetcreateresponse.d.ts.map +1 -0
- package/esm/models/uploadpresetcreateresponse.js +11 -0
- package/esm/models/uploadpresetcreateresponse.js.map +1 -0
- package/esm/models/uploadpresetdetail.d.ts +13 -0
- package/esm/models/uploadpresetdetail.d.ts.map +1 -0
- package/esm/models/uploadpresetdetail.js +14 -0
- package/esm/models/uploadpresetdetail.js.map +1 -0
- package/esm/models/{uploadpreset.d.ts → uploadpresetinput.d.ts} +81 -83
- package/esm/models/uploadpresetinput.d.ts.map +1 -0
- package/esm/models/uploadpresetinput.js +129 -0
- package/esm/models/uploadpresetinput.js.map +1 -0
- package/esm/models/uploadpresetlistresponse.d.ts +8 -0
- package/esm/models/uploadpresetlistresponse.d.ts.map +1 -0
- package/esm/models/uploadpresetlistresponse.js +11 -0
- package/esm/models/uploadpresetlistresponse.js.map +1 -0
- package/esm/models/uploadpresetmutationresponse.d.ts +7 -0
- package/esm/models/uploadpresetmutationresponse.d.ts.map +1 -0
- package/esm/models/uploadpresetmutationresponse.js +10 -0
- package/esm/models/uploadpresetmutationresponse.js.map +1 -0
- package/esm/models/uploadpresetparsedsettings.d.ts +129 -0
- package/esm/models/uploadpresetparsedsettings.d.ts.map +1 -0
- package/esm/models/uploadpresetparsedsettings.js +110 -0
- package/esm/models/uploadpresetparsedsettings.js.map +1 -0
- package/esm/models/uploadpresetsummary.d.ts +16 -0
- package/esm/models/uploadpresetsummary.d.ts.map +1 -0
- package/esm/models/uploadpresetsummary.js +20 -0
- package/esm/models/uploadpresetsummary.js.map +1 -0
- package/esm/models/uritype.d.ts.map +1 -1
- package/esm/models/uritype.js +1 -0
- package/esm/models/uritype.js.map +1 -1
- package/esm/tool-names.js +5 -5
- package/esm/tool-names.js.map +1 -1
- package/esm/types/async.d.ts.map +1 -1
- package/esm/types/async.js +7 -6
- package/esm/types/async.js.map +1 -1
- package/esm/types/bigint.d.ts.map +1 -1
- package/esm/types/bigint.js +5 -3
- package/esm/types/bigint.js.map +1 -1
- package/esm/types/blobs.d.ts.map +1 -1
- package/esm/types/blobs.js +1 -0
- package/esm/types/blobs.js.map +1 -1
- package/esm/types/enums.d.ts.map +1 -1
- package/esm/types/enums.js +1 -0
- package/esm/types/enums.js.map +1 -1
- package/esm/types/fp.d.ts.map +1 -1
- package/esm/types/fp.js +1 -0
- package/esm/types/fp.js.map +1 -1
- package/esm/types/rfcdate.d.ts.map +1 -1
- package/esm/types/rfcdate.js +1 -0
- package/esm/types/rfcdate.js.map +1 -1
- package/esm/types/streams.d.ts.map +1 -1
- package/esm/types/streams.js +1 -0
- package/esm/types/streams.js.map +1 -1
- package/package.json +8 -3
- package/src/core.ts +1 -0
- package/src/funcs/streamingProfilesCreateStreamingProfile.ts +1 -0
- package/src/funcs/streamingProfilesDeleteStreamingProfile.ts +1 -0
- package/src/funcs/streamingProfilesGetStreamingProfile.ts +1 -0
- package/src/funcs/streamingProfilesGetStreamingProfiles.ts +1 -0
- package/src/funcs/streamingProfilesUpdateStreamingProfile.ts +1 -0
- package/src/funcs/transformationsCreateTransformation.ts +2 -1
- package/src/funcs/transformationsDeleteTransformation.ts +1 -0
- package/src/funcs/transformationsGetTransformation.ts +1 -0
- package/src/funcs/transformationsListTransformations.ts +2 -1
- package/src/funcs/transformationsUpdateTransformation.ts +3 -2
- package/src/funcs/triggersCreateTrigger.ts +2 -1
- package/src/funcs/triggersDeleteTrigger.ts +1 -0
- package/src/funcs/triggersListTrigger.ts +5 -3
- package/src/funcs/triggersTestTrigger.ts +13 -10
- package/src/funcs/triggersUpdateTrigger.ts +13 -10
- package/src/funcs/uploadMappingsCreateUploadMapping.ts +8 -7
- package/src/funcs/uploadMappingsDeleteUploadMapping.ts +1 -0
- package/src/funcs/uploadMappingsListUploadMappings.ts +1 -0
- package/src/funcs/uploadMappingsReplaceUploadMappings.ts +2 -1
- package/src/funcs/uploadMappingsUpdateUploadMapping.ts +8 -7
- package/src/funcs/uploadPresetsCreateUploadPreset.ts +7 -6
- package/src/funcs/uploadPresetsDeleteUploadPreset.ts +1 -0
- package/src/funcs/uploadPresetsGetUploadPreset.ts +1 -0
- package/src/funcs/uploadPresetsListUploadPresets.ts +9 -3
- package/src/funcs/uploadPresetsUpdateUploadPreset.ts +9 -6
- package/src/hooks/cloudConfig.ts +41 -0
- package/src/hooks/cloudinaryAuthHook.ts +59 -212
- package/src/hooks/customHeadersHook.ts +30 -0
- package/src/hooks/hooks.ts +1 -0
- package/src/hooks/oauth2scopes.ts +1 -0
- package/src/hooks/registration.ts +10 -8
- package/src/hooks/responseHeadersHook.ts +98 -0
- package/src/hooks/types.ts +1 -0
- package/src/landing-page.ts +10 -3
- package/src/lib/base64.ts +1 -0
- package/src/lib/config.ts +5 -4
- package/src/lib/encodings.ts +34 -5
- package/src/lib/env.ts +7 -3
- package/src/lib/files.ts +23 -0
- package/src/lib/http.ts +4 -1
- package/src/lib/logger.ts +1 -0
- package/src/lib/primitives.ts +17 -0
- package/src/lib/result.ts +1 -0
- package/src/lib/retries.ts +9 -0
- package/src/lib/schemas.ts +1 -0
- package/src/lib/sdks.ts +1 -2
- package/src/lib/security.ts +25 -7
- package/src/lib/url.ts +1 -0
- package/src/mcp-server/cli/serve/command.ts +9 -1
- package/src/mcp-server/cli/serve/impl.ts +4 -1
- package/src/mcp-server/cli/start/command.ts +9 -1
- package/src/mcp-server/cli/start/impl.ts +4 -0
- package/src/mcp-server/cli.ts +1 -0
- package/src/mcp-server/console-logger.ts +1 -0
- package/src/mcp-server/extensions.ts +1 -0
- package/src/mcp-server/flags.ts +2 -0
- package/src/mcp-server/mcp-server.ts +2 -1
- package/src/mcp-server/prompts.ts +1 -0
- package/src/mcp-server/resources.ts +1 -0
- package/src/mcp-server/scopes.ts +1 -0
- package/src/mcp-server/server.ts +9 -2
- package/src/mcp-server/shared.ts +1 -0
- package/src/mcp-server/tools/streamingProfilesCreateStreamingProfile.ts +4 -1
- package/src/mcp-server/tools/streamingProfilesDeleteStreamingProfile.ts +2 -1
- package/src/mcp-server/tools/streamingProfilesGetStreamingProfile.ts +2 -1
- package/src/mcp-server/tools/streamingProfilesGetStreamingProfiles.ts +1 -0
- package/src/mcp-server/tools/streamingProfilesUpdateStreamingProfile.ts +5 -2
- package/src/mcp-server/tools/transformationsCreateTransformation.ts +6 -3
- package/src/mcp-server/tools/transformationsDeleteTransformation.ts +1 -0
- package/src/mcp-server/tools/transformationsGetTransformation.ts +1 -0
- package/src/mcp-server/tools/transformationsListTransformations.ts +2 -1
- package/src/mcp-server/tools/transformationsUpdateTransformation.ts +6 -3
- package/src/mcp-server/tools/triggersCreateTrigger.ts +5 -2
- package/src/mcp-server/tools/triggersDeleteTrigger.ts +2 -1
- package/src/mcp-server/tools/triggersListTrigger.ts +6 -5
- package/src/mcp-server/tools/triggersTestTrigger.ts +8 -5
- package/src/mcp-server/tools/triggersUpdateTrigger.ts +7 -4
- package/src/mcp-server/tools/uploadMappingsCreateUploadMapping.ts +5 -2
- package/src/mcp-server/tools/uploadMappingsDeleteUploadMapping.ts +1 -0
- package/src/mcp-server/tools/uploadMappingsListUploadMappings.ts +1 -0
- package/src/mcp-server/tools/uploadMappingsUpdateUploadMapping.ts +6 -3
- package/src/mcp-server/tools/uploadPresetsCreateUploadPreset.ts +5 -2
- package/src/mcp-server/tools/uploadPresetsDeleteUploadPreset.ts +2 -1
- package/src/mcp-server/tools/uploadPresetsGetUploadPreset.ts +2 -1
- package/src/mcp-server/tools/uploadPresetsListUploadPresets.ts +13 -6
- package/src/mcp-server/tools/uploadPresetsUpdateUploadPreset.ts +7 -4
- package/src/mcp-server/tools.ts +86 -10
- package/src/models/accesscontrolitem.ts +45 -6
- package/src/models/apierror.ts +1 -0
- package/src/models/assetdeliverytype.ts +22 -0
- package/src/models/createrequest.ts +5 -2
- package/src/models/createstreamingprofileop.ts +6 -16
- package/src/models/createtransformationop.ts +11 -17
- package/src/models/createtriggerop.ts +1 -8
- package/src/models/createtriggerrequest.ts +17 -0
- package/src/models/createuploadmappingop.ts +7 -28
- package/src/models/createuploadpresetop.ts +7 -21
- package/src/models/deletestreamingprofileop.ts +8 -16
- package/src/models/deletetransformationop.ts +7 -15
- package/src/models/deletetriggerop.ts +8 -14
- package/src/models/deleteuploadmappingop.ts +7 -17
- package/src/models/deleteuploadpresetop.ts +8 -18
- package/src/models/directionenum.ts +24 -0
- package/src/models/errors/apierror.ts +1 -0
- package/src/models/errors/httpclienterrors.ts +1 -0
- package/src/models/errors/sdkvalidationerror.ts +1 -0
- package/src/models/eventtype.ts +76 -0
- package/src/models/getstreamingprofileop.ts +7 -17
- package/src/models/getstreamingprofilesop.ts +6 -18
- package/src/models/gettransformationop.ts +1 -0
- package/src/models/getuploadpresetop.ts +8 -4
- package/src/models/listtransformationsop.ts +7 -3
- package/src/models/listtriggerop.ts +11 -21
- package/src/models/listuploadmappingsop.ts +11 -19
- package/src/models/listuploadpresetsop.ts +35 -40
- package/src/models/manageddeliverytype.ts +28 -0
- package/src/models/messageresponse.ts +12 -0
- package/src/models/replaceuploadmappingsop.ts +7 -30
- package/src/models/replaceuploadmappingsrequest.ts +20 -0
- package/src/models/responsivebreakpoint.ts +37 -0
- package/src/models/schemecloudinaryauth.ts +1 -0
- package/src/models/security.ts +1 -0
- package/src/models/streamingprofile.ts +16 -6
- package/src/models/streamingprofilecreate.ts +8 -3
- package/src/models/streamingprofiledataresponse.ts +18 -0
- package/src/models/streamingprofilelistresponse.ts +18 -0
- package/src/models/streamingprofileupdate.ts +7 -2
- package/src/models/streamingprofileupdateresponse.ts +22 -0
- package/src/models/structuredmetadataparam.ts +28 -0
- package/src/models/structuredmetadatavalue.ts +16 -0
- package/src/models/tagsparam.ts +16 -0
- package/src/models/testtriggerop.ts +25 -45
- package/src/models/testtriggerrequest.ts +23 -0
- package/src/models/testtriggerresponse.ts +23 -0
- package/src/models/transformationinfo.ts +13 -4
- package/src/models/{listresponse.ts → transformationlistresponse.ts} +5 -2
- package/src/models/transformationsummary.ts +1 -0
- package/src/models/triggerinfo.ts +6 -2
- package/src/models/triggerlistresponse.ts +23 -0
- package/src/models/updaterequest.ts +7 -2
- package/src/models/updatestreamingprofileop.ts +11 -23
- package/src/models/updatetransformationop.ts +10 -16
- package/src/models/updatetriggerop.ts +20 -27
- package/src/models/updatetriggerrequest.ts +15 -0
- package/src/models/updateuploadmappingop.ts +7 -26
- package/src/models/updateuploadpresetop.ts +16 -21
- package/src/models/uploaddeliverytype.ts +25 -0
- package/src/models/uploadmapping.ts +7 -4
- package/src/models/uploadmappingcreateresponse.ts +20 -0
- package/src/models/uploadmappinginput.ts +14 -0
- package/src/models/uploadmappinglistresponse.ts +28 -0
- package/src/models/uploadmappingmutationresponse.ts +18 -0
- package/src/models/uploadpresetcreateresponse.ts +22 -0
- package/src/models/uploadpresetdetail.ts +36 -0
- package/src/models/uploadpresetinput.ts +414 -0
- package/src/models/uploadpresetlistresponse.ts +24 -0
- package/src/models/uploadpresetmutationresponse.ts +22 -0
- package/src/models/uploadpresetparsedsettings.ts +369 -0
- package/src/models/uploadpresetsummary.ts +45 -0
- package/src/models/uritype.ts +1 -0
- package/src/tool-names.ts +5 -5
- package/src/types/async.ts +9 -7
- package/src/types/bigint.ts +19 -17
- package/src/types/blobs.ts +1 -0
- package/src/types/enums.ts +1 -0
- package/src/types/fp.ts +1 -0
- package/src/types/rfcdate.ts +1 -0
- package/src/types/streams.ts +1 -0
- package/esm/lib/dlv.d.ts +0 -14
- package/esm/lib/dlv.d.ts.map +0 -1
- package/esm/lib/dlv.js +0 -46
- package/esm/lib/dlv.js.map +0 -1
- package/esm/lib/is-plain-object.d.ts +0 -2
- package/esm/lib/is-plain-object.d.ts.map +0 -1
- package/esm/lib/is-plain-object.js +0 -38
- package/esm/lib/is-plain-object.js.map +0 -1
- package/esm/models/listresponse.d.ts.map +0 -1
- package/esm/models/listresponse.js.map +0 -1
- package/esm/models/uploadpreset.d.ts.map +0 -1
- package/esm/models/uploadpreset.js +0 -134
- package/esm/models/uploadpreset.js.map +0 -1
- package/src/lib/dlv.ts +0 -53
- package/src/lib/is-plain-object.ts +0 -43
- package/src/models/uploadpreset.ts +0 -259
|
@@ -1,239 +1,86 @@
|
|
|
1
|
-
import {CloudConfig} from "./cloudConfig.js";
|
|
2
|
-
import {BeforeRequestContext, BeforeRequestHook} from "./types.js";
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
1
|
+
import { CloudConfig } from "./cloudConfig.js";
|
|
2
|
+
import { BeforeRequestContext, BeforeRequestHook } from "./types.js";
|
|
3
|
+
|
|
4
|
+
/**
|
|
5
|
+
* Attaches Cloudinary authentication to every outgoing request.
|
|
6
|
+
*
|
|
7
|
+
* Priority:
|
|
8
|
+
* 1. OAuth2 Bearer token (if provided via security source)
|
|
9
|
+
* 2. Basic auth (apiKey:apiSecret)
|
|
10
|
+
*/
|
|
11
|
+
export class CloudinaryAuthHook implements BeforeRequestHook {
|
|
12
|
+
private readonly config: CloudConfig;
|
|
13
|
+
|
|
14
|
+
constructor(config: CloudConfig) {
|
|
15
|
+
this.config = config;
|
|
11
16
|
}
|
|
12
17
|
|
|
13
|
-
async beforeRequest(
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
}
|
|
19
|
-
|
|
20
|
-
// Prioritize OAuth2 bearer token if it's provided.
|
|
21
|
-
if (security && typeof security === 'object' && 'oauth2' in security && typeof security.oauth2 === 'string') {
|
|
22
|
-
const token = security.oauth2;
|
|
23
|
-
if (token) {
|
|
24
|
-
request.headers.set("Authorization", `Bearer ${token}`);
|
|
25
|
-
return request;
|
|
26
|
-
}
|
|
27
|
-
}
|
|
28
|
-
|
|
29
|
-
// Fallback to API key/secret signing if no OAuth token is present.
|
|
30
|
-
let { apiKey, apiSecret } = this.cloudConfig;
|
|
18
|
+
async beforeRequest(
|
|
19
|
+
hookCtx: BeforeRequestContext,
|
|
20
|
+
request: Request,
|
|
21
|
+
): Promise<Request> {
|
|
22
|
+
const security = await this.resolveSecurity(hookCtx.securitySource);
|
|
31
23
|
|
|
32
|
-
//
|
|
33
|
-
if (security) {
|
|
34
|
-
|
|
35
|
-
if ('cloudinaryAuth' in security && security.cloudinaryAuth) {
|
|
36
|
-
// Support both camelCase and snake_case for compatibility
|
|
37
|
-
if (security.cloudinaryAuth.apiKey || security.cloudinaryAuth.api_key) {
|
|
38
|
-
apiKey = security.cloudinaryAuth.apiKey || security.cloudinaryAuth.api_key;
|
|
39
|
-
}
|
|
40
|
-
if (security.cloudinaryAuth.apiSecret || security.cloudinaryAuth.api_secret) {
|
|
41
|
-
apiSecret = security.cloudinaryAuth.apiSecret || security.cloudinaryAuth.api_secret;
|
|
42
|
-
}
|
|
43
|
-
}
|
|
44
|
-
// Handle standard SDK security format (used by MCP server)
|
|
45
|
-
else if ('apiKey' in security || 'apiSecret' in security) {
|
|
46
|
-
if ('apiKey' in security && security.apiKey) {
|
|
47
|
-
apiKey = security.apiKey;
|
|
48
|
-
}
|
|
49
|
-
if ('apiSecret' in security && security.apiSecret) {
|
|
50
|
-
apiSecret = security.apiSecret;
|
|
51
|
-
}
|
|
52
|
-
}
|
|
53
|
-
}
|
|
54
|
-
|
|
55
|
-
if (!apiKey || !apiSecret) {
|
|
24
|
+
// 1. OAuth2 Bearer token takes priority
|
|
25
|
+
if (this.isOAuth2Token(security)) {
|
|
26
|
+
request.headers.set("Authorization", `Bearer ${security.oauth2}`);
|
|
56
27
|
return request;
|
|
57
28
|
}
|
|
58
29
|
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
request.headers.set("Authorization", authHeader);
|
|
30
|
+
// 2. Resolve API key / secret (env → security overrides)
|
|
31
|
+
const { apiKey, apiSecret } = this.resolveCredentials(security);
|
|
32
|
+
if (!apiKey || !apiSecret) {
|
|
63
33
|
return request;
|
|
64
34
|
}
|
|
65
35
|
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
const queryParams = this.paramsFromQuery(url.searchParams);
|
|
69
|
-
|
|
70
|
-
// Handle case with only query parameters (no body)
|
|
71
|
-
if (!request.body) {
|
|
72
|
-
return this.signQueryOnlyRequest(request, apiKey, apiSecret, queryParams);
|
|
73
|
-
}
|
|
74
|
-
|
|
75
|
-
// if content-type is application/json, parse the body as json and add the signature, timestamp and apiKey to the body
|
|
76
|
-
if (request.headers.get("Content-Type") === "application/json") {
|
|
77
|
-
const preprocessedBody = await this.preprocessJsonRequest(request);
|
|
78
|
-
return this.signJsonRequest(request, apiKey, apiSecret, queryParams, preprocessedBody);
|
|
79
|
-
}
|
|
80
|
-
|
|
81
|
-
// if content-type is multipart/form-data, parse the body as form data and add the signature, timestamp and apiKey to the body
|
|
82
|
-
if (request.headers.get("Content-Type")?.startsWith("multipart/form-data")) {
|
|
83
|
-
return this.signFormDataRequest(request, apiKey, apiSecret, queryParams);
|
|
84
|
-
}
|
|
85
|
-
|
|
86
|
-
// Default case - just sign query parameters if any exist
|
|
87
|
-
if (queryParams.length > 0) {
|
|
88
|
-
return this.signQueryOnlyRequest(request, apiKey, apiSecret, queryParams);
|
|
89
|
-
}
|
|
36
|
+
const encoded = Buffer.from(`${apiKey}:${apiSecret}`).toString("base64");
|
|
37
|
+
request.headers.set("Authorization", `Basic ${encoded}`);
|
|
90
38
|
|
|
91
39
|
return request;
|
|
92
40
|
}
|
|
93
41
|
|
|
94
|
-
|
|
95
|
-
const params = [];
|
|
96
|
-
for (const [key, value] of searchParams.entries()) {
|
|
97
|
-
if (key !== "file" && key !== "cloud_name" && key !== "resource_type" && key !== "api_key" && key !== "signature" && key !== "timestamp") {
|
|
98
|
-
params.push(`${key}=${value}`);
|
|
99
|
-
}
|
|
100
|
-
}
|
|
101
|
-
return params;
|
|
102
|
-
}
|
|
42
|
+
// --- Security resolution ---
|
|
103
43
|
|
|
104
|
-
async
|
|
105
|
-
|
|
106
|
-
// Check if already signed
|
|
107
|
-
if (url.searchParams.has("signature")) {
|
|
108
|
-
return request;
|
|
109
|
-
}
|
|
110
|
-
|
|
111
|
-
const { signature, timestamp } = await this.computeSignature(queryParams, apiSecret);
|
|
112
|
-
url.searchParams.set("signature", signature);
|
|
113
|
-
url.searchParams.set("timestamp", timestamp.toString());
|
|
114
|
-
url.searchParams.set("api_key", apiKey);
|
|
115
|
-
|
|
116
|
-
return new Request(url.toString(), request);
|
|
44
|
+
private async resolveSecurity(source: unknown): Promise<unknown> {
|
|
45
|
+
return typeof source === "function" ? source() : source;
|
|
117
46
|
}
|
|
118
47
|
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
params.sort();
|
|
130
|
-
const paramsString = params.join("&");
|
|
131
|
-
const signature = crypto.createHash('sha256').update(`${paramsString}${apiSecret}`).digest('hex');
|
|
132
|
-
|
|
133
|
-
return { signature, timestamp };
|
|
48
|
+
private isOAuth2Token(
|
|
49
|
+
security: unknown,
|
|
50
|
+
): security is { oauth2: string } {
|
|
51
|
+
return (
|
|
52
|
+
typeof security === "object"
|
|
53
|
+
&& security !== null
|
|
54
|
+
&& "oauth2" in security
|
|
55
|
+
&& typeof (security as any).oauth2 === "string"
|
|
56
|
+
&& (security as any).oauth2.length > 0
|
|
57
|
+
);
|
|
134
58
|
}
|
|
135
59
|
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
}
|
|
142
|
-
}
|
|
143
|
-
return params;
|
|
144
|
-
}
|
|
60
|
+
private resolveCredentials(security: unknown): {
|
|
61
|
+
apiKey: string;
|
|
62
|
+
apiSecret: string;
|
|
63
|
+
} {
|
|
64
|
+
let { apiKey, apiSecret } = this.config;
|
|
145
65
|
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
for (const [key, value] of Object.entries(json)) {
|
|
149
|
-
if (key !== "file" && key !== "cloud_name" && key !== "resource_type" && key !== "api_key" && key !== "signature") {
|
|
150
|
-
params.push(`${key}=${value}`);
|
|
151
|
-
}
|
|
66
|
+
if (!security || typeof security !== "object") {
|
|
67
|
+
return { apiKey, apiSecret };
|
|
152
68
|
}
|
|
153
|
-
return params;
|
|
154
|
-
}
|
|
155
|
-
|
|
156
|
-
async preprocessJsonRequest(request: Request): Promise<any> {
|
|
157
|
-
const body = await request.json();
|
|
158
|
-
|
|
159
|
-
// Handle file:// URLs by converting to base64 data URIs
|
|
160
|
-
if (body.file && typeof body.file === 'string' && body.file.startsWith('file://')) {
|
|
161
|
-
body.file = await this.convertFileToDataUri(body.file);
|
|
162
|
-
}
|
|
163
|
-
|
|
164
|
-
return body;
|
|
165
|
-
}
|
|
166
|
-
|
|
167
|
-
async signJsonRequest(request: Request, apiKey: string, apiSecret: string, queryParams: string[] = [], preprocessedBody?: any) {
|
|
168
|
-
const body = preprocessedBody || await request.json();
|
|
169
|
-
if (body.signature) {
|
|
170
|
-
return request;
|
|
171
|
-
}
|
|
172
|
-
|
|
173
|
-
const bodyParams = this.paramsToSignJson(body);
|
|
174
|
-
const allParams = [...bodyParams, ...queryParams];
|
|
175
|
-
const { signature, timestamp } = await this.computeSignature(allParams, apiSecret);
|
|
176
|
-
body.signature = signature;
|
|
177
|
-
body.timestamp = timestamp;
|
|
178
|
-
body.api_key = apiKey;
|
|
179
|
-
return new Request(request, { body: JSON.stringify(body) });
|
|
180
|
-
}
|
|
181
|
-
|
|
182
|
-
private async convertFileToDataUri(fileUrl: string): Promise<string> {
|
|
183
|
-
// Remove 'file://' prefix to get the actual file path
|
|
184
|
-
const filePath = fileUrl.replace(/^file:\/\//, '');
|
|
185
69
|
|
|
186
|
-
|
|
187
|
-
// Import required Node.js modules
|
|
188
|
-
const { readFile } = await import('node:fs/promises');
|
|
70
|
+
const sec = security as Record<string, any>;
|
|
189
71
|
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
// Use generic MIME type for all files
|
|
197
|
-
const mimeType = 'application/octet-stream';
|
|
198
|
-
|
|
199
|
-
// Return as data URI
|
|
200
|
-
return `data:${mimeType};base64,${base64Data}`;
|
|
201
|
-
|
|
202
|
-
} catch (error) {
|
|
203
|
-
// If file reading fails, log error and return original URL
|
|
204
|
-
console.error(`Failed to read file: ${filePath}`, error);
|
|
205
|
-
throw new Error(`Failed to read file: ${filePath}. ${error instanceof Error ? error.message : String(error)}`);
|
|
72
|
+
// cloudinaryAuth format (camelCase and snake_case)
|
|
73
|
+
if (sec["cloudinaryAuth"]) {
|
|
74
|
+
const auth = sec["cloudinaryAuth"];
|
|
75
|
+
apiKey = auth.apiKey || auth.api_key || apiKey;
|
|
76
|
+
apiSecret = auth.apiSecret || auth.api_secret || apiSecret;
|
|
206
77
|
}
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
if (form.get("signature")) {
|
|
212
|
-
return request;
|
|
78
|
+
// Standard SDK security format (used by MCP server)
|
|
79
|
+
else if ("apiKey" in sec || "apiSecret" in sec) {
|
|
80
|
+
apiKey = sec["apiKey"] || apiKey;
|
|
81
|
+
apiSecret = sec["apiSecret"] || apiSecret;
|
|
213
82
|
}
|
|
214
83
|
|
|
215
|
-
|
|
216
|
-
const allParams = [...bodyParams, ...queryParams];
|
|
217
|
-
const { signature, timestamp } = await this.computeSignature(allParams, apiSecret);
|
|
218
|
-
|
|
219
|
-
// add the signature, timestamp and apiKey to the URL as query parameters
|
|
220
|
-
const url = new URL(request.url);
|
|
221
|
-
url.searchParams.set("signature", signature);
|
|
222
|
-
url.searchParams.set("timestamp", timestamp.toString());
|
|
223
|
-
url.searchParams.set("api_key", apiKey);
|
|
224
|
-
|
|
225
|
-
// construct a new request with the same URL and the same form data and the same method
|
|
226
|
-
// remove the basic authentication header
|
|
227
|
-
const newHeaders = new Headers(request.headers);
|
|
228
|
-
newHeaders.delete("Authorization");
|
|
229
|
-
return new Request(url.toString(), request);
|
|
84
|
+
return { apiKey, apiSecret };
|
|
230
85
|
}
|
|
231
|
-
|
|
232
|
-
SIGNED_ACTIONS = [
|
|
233
|
-
'explicit', 'upload', 'download', 'destroy', 'sprite', 'tags', 'context', 'metadata_update', 'text', 'multi', 'explode',
|
|
234
|
-
'rename', 'create_slideshow', 'create_video', 'create_collage', 'generate_archive'];
|
|
235
|
-
|
|
236
|
-
SIGNED_PATHS = ["image", "video", "raw", "auto", "asset"].flatMap(resourceType => this.SIGNED_ACTIONS.map(action => `${resourceType}/${action}`));
|
|
237
|
-
|
|
238
|
-
|
|
239
86
|
}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import { BeforeRequestContext, BeforeRequestHook } from "./types.js";
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* Injects custom headers into every outgoing request to the Cloudinary API.
|
|
5
|
+
*
|
|
6
|
+
* Headers are read from `hookCtx.options.customHeaders` (a Record<string, string>),
|
|
7
|
+
* which is set by mcp-service when constructing the SDK via getSDK.
|
|
8
|
+
*
|
|
9
|
+
* When no custom headers are configured, this hook is a no-op.
|
|
10
|
+
*/
|
|
11
|
+
export class CustomHeadersHook implements BeforeRequestHook {
|
|
12
|
+
async beforeRequest(
|
|
13
|
+
hookCtx: BeforeRequestContext,
|
|
14
|
+
request: Request,
|
|
15
|
+
): Promise<Request> {
|
|
16
|
+
const customHeaders = (hookCtx.options as any)?.customHeaders as
|
|
17
|
+
| Record<string, string>
|
|
18
|
+
| undefined;
|
|
19
|
+
|
|
20
|
+
if (!customHeaders) {
|
|
21
|
+
return request;
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
for (const [name, value] of Object.entries(customHeaders)) {
|
|
25
|
+
request.headers.set(name, value);
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
return request;
|
|
29
|
+
}
|
|
30
|
+
}
|
package/src/hooks/hooks.ts
CHANGED
|
@@ -1,5 +1,8 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { CloudConfig } from "./cloudConfig.js";
|
|
2
2
|
import { CloudinaryAuthHook } from "./cloudinaryAuthHook.js";
|
|
3
|
+
import { CustomHeadersHook } from "./customHeadersHook.js";
|
|
4
|
+
import { ResponseHeadersHook } from "./responseHeadersHook.js";
|
|
5
|
+
import { Hooks } from "./types.js";
|
|
3
6
|
import { UserAgentHook } from "./userAgentHook.js";
|
|
4
7
|
/*
|
|
5
8
|
* This file is only ever generated once on the first generation and then is free to be modified.
|
|
@@ -8,12 +11,11 @@ import { UserAgentHook } from "./userAgentHook.js";
|
|
|
8
11
|
*/
|
|
9
12
|
|
|
10
13
|
export function initHooks(hooks: Hooks) {
|
|
11
|
-
//
|
|
12
|
-
|
|
13
|
-
// Hooks are registered per SDK instance, and are valid for the lifetime of the SDK instance
|
|
14
|
-
const cloudinaryAuthHook = new CloudinaryAuthHook();
|
|
15
|
-
hooks.registerBeforeRequestHook(cloudinaryAuthHook);
|
|
14
|
+
// Shared config — parsed once from CLOUDINARY_URL and env vars
|
|
15
|
+
const config = new CloudConfig();
|
|
16
16
|
|
|
17
|
-
|
|
18
|
-
|
|
17
|
+
hooks.registerBeforeRequestHook(new CloudinaryAuthHook(config));
|
|
18
|
+
hooks.registerBeforeRequestHook(new CustomHeadersHook());
|
|
19
|
+
hooks.registerSDKInitHook(new UserAgentHook());
|
|
20
|
+
hooks.registerAfterSuccessHook(new ResponseHeadersHook(config.collectHeaders));
|
|
19
21
|
}
|
|
@@ -0,0 +1,98 @@
|
|
|
1
|
+
import { CollectHeaders } from "./cloudConfig.js";
|
|
2
|
+
import { AfterSuccessContext, AfterSuccessHook } from "./types.js";
|
|
3
|
+
|
|
4
|
+
/**
|
|
5
|
+
* Checks whether a lowercased header name matches a single collect spec.
|
|
6
|
+
*
|
|
7
|
+
* Supported spec formats:
|
|
8
|
+
* - `"prefix:<value>"` → headerName.startsWith(value)
|
|
9
|
+
* - `"regex:<pattern>"` → new RegExp(pattern).test(headerName)
|
|
10
|
+
* - any other string → exact match
|
|
11
|
+
*
|
|
12
|
+
* Both headerName and spec are expected to be lowercased already.
|
|
13
|
+
*/
|
|
14
|
+
function matchesSpec(headerName: string, spec: string): boolean {
|
|
15
|
+
if (spec.startsWith("prefix:")) {
|
|
16
|
+
return headerName.startsWith(spec.slice(7));
|
|
17
|
+
}
|
|
18
|
+
if (spec.startsWith("regex:")) {
|
|
19
|
+
try {
|
|
20
|
+
return new RegExp(spec.slice(6)).test(headerName);
|
|
21
|
+
} catch {
|
|
22
|
+
return false; // invalid regex — skip
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
return headerName === spec;
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
/**
|
|
29
|
+
* Captures response headers and injects them into the JSON body as `_headers`
|
|
30
|
+
* so they survive through the generated formatResult() and surface in MCP tool
|
|
31
|
+
* output. The set of headers to collect is driven by configuration:
|
|
32
|
+
* - `true` → collect every response header
|
|
33
|
+
* - `string[]` → collect only matching headers (exact name, prefix:, or regex:)
|
|
34
|
+
*/
|
|
35
|
+
export class ResponseHeadersHook implements AfterSuccessHook {
|
|
36
|
+
private readonly collectHeaders: CollectHeaders;
|
|
37
|
+
|
|
38
|
+
constructor(collectHeaders: CollectHeaders) {
|
|
39
|
+
this.collectHeaders = collectHeaders;
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
async afterSuccess(
|
|
43
|
+
hookCtx: AfterSuccessContext,
|
|
44
|
+
response: Response,
|
|
45
|
+
): Promise<Response> {
|
|
46
|
+
// Per-request SDK options override the constructor config (used by mcp-service)
|
|
47
|
+
const optCollect = (hookCtx.options as any)?.collectHeaders as
|
|
48
|
+
| CollectHeaders
|
|
49
|
+
| undefined;
|
|
50
|
+
const effective = optCollect ?? this.collectHeaders;
|
|
51
|
+
|
|
52
|
+
// Not configured — exit early
|
|
53
|
+
if (effective !== true && effective.length === 0) {
|
|
54
|
+
return response;
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
const contentType = response.headers.get("content-type") ?? "";
|
|
58
|
+
if (!contentType.includes("json")) {
|
|
59
|
+
return response;
|
|
60
|
+
}
|
|
61
|
+
|
|
62
|
+
const hdrs: Record<string, string> = {};
|
|
63
|
+
let found = false;
|
|
64
|
+
|
|
65
|
+
if (effective === true) {
|
|
66
|
+
// Collect all response headers
|
|
67
|
+
for (const [name, value] of response.headers.entries()) {
|
|
68
|
+
hdrs[name] = value;
|
|
69
|
+
found = true;
|
|
70
|
+
}
|
|
71
|
+
} else {
|
|
72
|
+
// Match each response header against the specs (exact, prefix:, regex:)
|
|
73
|
+
for (const [name, value] of response.headers.entries()) {
|
|
74
|
+
for (const spec of effective) {
|
|
75
|
+
if (matchesSpec(name, spec)) {
|
|
76
|
+
hdrs[name] = value;
|
|
77
|
+
found = true;
|
|
78
|
+
break;
|
|
79
|
+
}
|
|
80
|
+
}
|
|
81
|
+
}
|
|
82
|
+
}
|
|
83
|
+
|
|
84
|
+
if (!found) {
|
|
85
|
+
return response;
|
|
86
|
+
}
|
|
87
|
+
|
|
88
|
+
// Read body, inject headers, return a new Response so the stream is fresh.
|
|
89
|
+
const body = await response.json();
|
|
90
|
+
body._headers = hdrs;
|
|
91
|
+
|
|
92
|
+
return new Response(JSON.stringify(body), {
|
|
93
|
+
status: response.status,
|
|
94
|
+
statusText: response.statusText,
|
|
95
|
+
headers: response.headers,
|
|
96
|
+
});
|
|
97
|
+
}
|
|
98
|
+
}
|
package/src/hooks/types.ts
CHANGED
package/src/landing-page.ts
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
/*
|
|
2
2
|
* Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
|
|
3
|
+
* @generated-id: ef64a6ee46d7
|
|
3
4
|
*/
|
|
4
5
|
|
|
5
6
|
import {
|
|
@@ -18,8 +19,14 @@ export function landingPage(req: Request): Response {
|
|
|
18
19
|
|
|
19
20
|
// express wrapper
|
|
20
21
|
export function landingPageExpress(req: ExpressRequest, res: ExpressResponse) {
|
|
21
|
-
const
|
|
22
|
-
|
|
22
|
+
const proto = req.get("x-forwarded-proto")?.split(",")[0]?.trim()
|
|
23
|
+
|| req.protocol;
|
|
24
|
+
const host = req.get("host");
|
|
25
|
+
if (!host) {
|
|
26
|
+
res.status(400).send("Missing Host header");
|
|
27
|
+
return;
|
|
28
|
+
}
|
|
29
|
+
res.type("html").send(landingPageHTML(`${proto}://${host}`));
|
|
23
30
|
}
|
|
24
31
|
|
|
25
32
|
export function landingPageHTML(origin: string): string {
|
|
@@ -932,7 +939,7 @@ http_headers = { "api-key" = "YOUR_API_KEY", "api-secret" = "YOUR_API_SECRET", "
|
|
|
932
939
|
<h1>Instructions</h1>
|
|
933
940
|
<p>One-click installation for Claude Desktop users</p>
|
|
934
941
|
<div class="instruction-item">
|
|
935
|
-
<a href="https://github.com/cloudinary/environment-config-mcp/releases/download/v0.6.
|
|
942
|
+
<a href="https://github.com/cloudinary/environment-config-mcp/releases/download/v0.6.1/mcp-server.mcpb" download="mcp-server.mcpb" class="action-button header-action" style="display: inline-flex; margin-bottom: 16px;">
|
|
936
943
|
📥 Download MCP Bundle
|
|
937
944
|
</a>
|
|
938
945
|
</div>
|
package/src/lib/base64.ts
CHANGED
package/src/lib/config.ts
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
/*
|
|
2
2
|
* Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
|
|
3
|
+
* @generated-id: 320761608fb3
|
|
3
4
|
*/
|
|
4
5
|
|
|
5
6
|
import * as z from "zod";
|
|
@@ -111,9 +112,9 @@ export function serverURLFromOptions(options: SDKOptions): URL | null {
|
|
|
111
112
|
|
|
112
113
|
export const SDK_METADATA = {
|
|
113
114
|
language: "typescript",
|
|
114
|
-
openapiDocVersion: "0.
|
|
115
|
-
sdkVersion: "0.6.
|
|
116
|
-
genVersion: "2.
|
|
115
|
+
openapiDocVersion: "0.5.5",
|
|
116
|
+
sdkVersion: "0.6.1",
|
|
117
|
+
genVersion: "2.918.4",
|
|
117
118
|
userAgent:
|
|
118
|
-
"speakeasy-sdk/mcp-typescript 0.6.
|
|
119
|
+
"speakeasy-sdk/mcp-typescript 0.6.1 2.918.4 0.5.5 @cloudinary/environment-config-mcp",
|
|
119
120
|
} as const;
|
package/src/lib/encodings.ts
CHANGED
|
@@ -1,9 +1,10 @@
|
|
|
1
1
|
/*
|
|
2
2
|
* Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
|
|
3
|
+
* @generated-id: 3bd8ead98afd
|
|
3
4
|
*/
|
|
4
5
|
|
|
5
6
|
import { bytesToBase64 } from "./base64.js";
|
|
6
|
-
import { isPlainObject } from "./
|
|
7
|
+
import { isPlainObject } from "./primitives.js";
|
|
7
8
|
|
|
8
9
|
export class EncodingError extends Error {
|
|
9
10
|
constructor(message: string) {
|
|
@@ -474,6 +475,23 @@ export const encodeSpaceDelimitedQuery = queryEncoder(encodeSpaceDelimited);
|
|
|
474
475
|
export const encodePipeDelimitedQuery = queryEncoder(encodePipeDelimited);
|
|
475
476
|
export const encodeDeepObjectQuery = queryEncoder(encodeDeepObject);
|
|
476
477
|
|
|
478
|
+
function isBlobLike(val: unknown): val is Blob {
|
|
479
|
+
if (val instanceof Blob) {
|
|
480
|
+
return true;
|
|
481
|
+
}
|
|
482
|
+
|
|
483
|
+
if (typeof val !== "object" || val == null || !(Symbol.toStringTag in val)) {
|
|
484
|
+
return false;
|
|
485
|
+
}
|
|
486
|
+
|
|
487
|
+
const tag = val[Symbol.toStringTag];
|
|
488
|
+
if (tag !== "Blob" && tag !== "File") {
|
|
489
|
+
return false;
|
|
490
|
+
}
|
|
491
|
+
|
|
492
|
+
return "stream" in val && typeof val.stream === "function";
|
|
493
|
+
}
|
|
494
|
+
|
|
477
495
|
export function appendForm(
|
|
478
496
|
fd: FormData,
|
|
479
497
|
key: string,
|
|
@@ -482,11 +500,22 @@ export function appendForm(
|
|
|
482
500
|
): void {
|
|
483
501
|
if (value == null) {
|
|
484
502
|
return;
|
|
485
|
-
} else if (value
|
|
486
|
-
|
|
487
|
-
|
|
488
|
-
|
|
503
|
+
} else if (isBlobLike(value)) {
|
|
504
|
+
if (fileName) {
|
|
505
|
+
fd.append(key, value as Blob, fileName);
|
|
506
|
+
} else {
|
|
507
|
+
fd.append(key, value as Blob);
|
|
508
|
+
}
|
|
489
509
|
} else {
|
|
490
510
|
fd.append(key, String(value));
|
|
491
511
|
}
|
|
492
512
|
}
|
|
513
|
+
|
|
514
|
+
export async function normalizeBlob(
|
|
515
|
+
value: Pick<Blob, "arrayBuffer" | "type">,
|
|
516
|
+
): Promise<Blob> {
|
|
517
|
+
if (value instanceof Blob) {
|
|
518
|
+
return value;
|
|
519
|
+
}
|
|
520
|
+
return new Blob([await value.arrayBuffer()], { type: value.type });
|
|
521
|
+
}
|
package/src/lib/env.ts
CHANGED
|
@@ -1,9 +1,8 @@
|
|
|
1
1
|
/*
|
|
2
2
|
* Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
|
|
3
|
+
* @generated-id: c52972a3b198
|
|
3
4
|
*/
|
|
4
5
|
|
|
5
|
-
import { dlv } from "./dlv.js";
|
|
6
|
-
|
|
7
6
|
import * as z from "zod";
|
|
8
7
|
import { SDKOptions } from "./config.js";
|
|
9
8
|
|
|
@@ -39,8 +38,13 @@ export function env(): Env {
|
|
|
39
38
|
return envMemo;
|
|
40
39
|
}
|
|
41
40
|
|
|
41
|
+
const globals = globalThis as {
|
|
42
|
+
process?: { env?: Record<string, string | undefined> };
|
|
43
|
+
Deno?: { env?: { toObject?: () => Record<string, string | undefined> } };
|
|
44
|
+
};
|
|
45
|
+
|
|
42
46
|
envMemo = envSchema.parse(
|
|
43
|
-
|
|
47
|
+
globals.process?.env ?? globals.Deno?.env?.toObject?.() ?? {},
|
|
44
48
|
);
|
|
45
49
|
return envMemo;
|
|
46
50
|
}
|
package/src/lib/files.ts
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
/*
|
|
2
2
|
* Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
|
|
3
|
+
* @generated-id: e5efa54fcb95
|
|
3
4
|
*/
|
|
4
5
|
|
|
5
6
|
/**
|
|
@@ -80,3 +81,25 @@ export function getContentTypeFromFileName(fileName: string): string | null {
|
|
|
80
81
|
|
|
81
82
|
return mimeTypes[ext] || null;
|
|
82
83
|
}
|
|
84
|
+
|
|
85
|
+
/**
|
|
86
|
+
* Creates a Blob from file content with the given MIME type.
|
|
87
|
+
*
|
|
88
|
+
* Node.js Buffers are Uint8Array subclasses that may share a pooled
|
|
89
|
+
* ArrayBuffer (byteOffset > 0, byteLength < buffer.byteLength). Passing
|
|
90
|
+
* such a Buffer directly to `new Blob([buf])` can include the entire
|
|
91
|
+
* underlying pool on some runtimes, producing a Blob with extra bytes
|
|
92
|
+
* that corrupts multipart uploads.
|
|
93
|
+
*
|
|
94
|
+
* Copying into a standalone Uint8Array ensures the Blob receives only the
|
|
95
|
+
* intended bytes regardless of runtime behaviour.
|
|
96
|
+
*/
|
|
97
|
+
export function bytesToBlob(
|
|
98
|
+
content: Uint8Array<ArrayBufferLike> | ArrayBuffer | Blob | string,
|
|
99
|
+
contentType: string,
|
|
100
|
+
): Blob {
|
|
101
|
+
if (content instanceof Uint8Array) {
|
|
102
|
+
return new Blob([new Uint8Array(content)], { type: contentType });
|
|
103
|
+
}
|
|
104
|
+
return new Blob([content as BlobPart], { type: contentType });
|
|
105
|
+
}
|