@cloudinary/environment-config-mcp 0.6.0 → 0.6.2
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 +2807 -1077
- package/bin/mcp-server.js.map +171 -145
- 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-info.d.ts +4 -0
- package/esm/mcp-server/server-info.d.ts.map +1 -0
- package/esm/mcp-server/server-info.js +24 -0
- package/esm/mcp-server/server-info.js.map +1 -0
- 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 +7 -4
- 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 +13 -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-info.ts +31 -0
- package/src/mcp-server/server.ts +12 -3
- 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,5 +1,6 @@
|
|
|
1
1
|
/*
|
|
2
2
|
* Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
|
|
3
|
+
* @generated-id: fd0de75c67bd
|
|
3
4
|
*/
|
|
4
5
|
|
|
5
6
|
import { CloudinaryEnvConfigCore } from "../core.js";
|
|
@@ -22,7 +23,7 @@ import {
|
|
|
22
23
|
UpdateUploadPresetRequest,
|
|
23
24
|
UpdateUploadPresetRequest$zodSchema,
|
|
24
25
|
} from "../models/updateuploadpresetop.js";
|
|
25
|
-
import {
|
|
26
|
+
import { UploadPresetInput } from "../models/uploadpresetinput.js";
|
|
26
27
|
import { APICall, APIPromise } from "../types/async.js";
|
|
27
28
|
import { Result } from "../types/fp.js";
|
|
28
29
|
|
|
@@ -32,7 +33,7 @@ import { Result } from "../types/fp.js";
|
|
|
32
33
|
export function uploadPresetsUpdateUploadPreset(
|
|
33
34
|
client$: CloudinaryEnvConfigCore,
|
|
34
35
|
name: string,
|
|
35
|
-
|
|
36
|
+
upload_preset_input: UploadPresetInput,
|
|
36
37
|
options?: RequestOptions,
|
|
37
38
|
): APIPromise<
|
|
38
39
|
Result<
|
|
@@ -49,7 +50,7 @@ export function uploadPresetsUpdateUploadPreset(
|
|
|
49
50
|
return new APIPromise($do(
|
|
50
51
|
client$,
|
|
51
52
|
name,
|
|
52
|
-
|
|
53
|
+
upload_preset_input,
|
|
53
54
|
options,
|
|
54
55
|
));
|
|
55
56
|
}
|
|
@@ -57,7 +58,7 @@ export function uploadPresetsUpdateUploadPreset(
|
|
|
57
58
|
async function $do(
|
|
58
59
|
client$: CloudinaryEnvConfigCore,
|
|
59
60
|
name: string,
|
|
60
|
-
|
|
61
|
+
upload_preset_input: UploadPresetInput,
|
|
61
62
|
options?: RequestOptions,
|
|
62
63
|
): Promise<
|
|
63
64
|
[
|
|
@@ -76,7 +77,7 @@ async function $do(
|
|
|
76
77
|
> {
|
|
77
78
|
const input$: UpdateUploadPresetRequest = {
|
|
78
79
|
name: name,
|
|
79
|
-
|
|
80
|
+
upload_preset_input: upload_preset_input,
|
|
80
81
|
};
|
|
81
82
|
|
|
82
83
|
const parsed$ = safeParse(
|
|
@@ -88,7 +89,9 @@ async function $do(
|
|
|
88
89
|
return [parsed$, { status: "invalid" }];
|
|
89
90
|
}
|
|
90
91
|
const payload$ = parsed$.value;
|
|
91
|
-
const body$ = encodeJSON("body", payload$.
|
|
92
|
+
const body$ = encodeJSON("body", payload$.upload_preset_input, {
|
|
93
|
+
explode: true,
|
|
94
|
+
});
|
|
92
95
|
|
|
93
96
|
const pathParams$ = {
|
|
94
97
|
cloud_name: encodeSimple("cloud_name", client$._options.cloud_name, {
|
package/src/hooks/cloudConfig.ts
CHANGED
|
@@ -1,12 +1,22 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Parsed value for the collect_headers option.
|
|
3
|
+
* - `true` → collect ALL response headers
|
|
4
|
+
* - `string[]` → collect only the listed header names (lowercased)
|
|
5
|
+
* - `[]` → disabled (default)
|
|
6
|
+
*/
|
|
7
|
+
export type CollectHeaders = true | string[];
|
|
8
|
+
|
|
1
9
|
export class CloudConfig {
|
|
2
10
|
cloudName: string;
|
|
3
11
|
apiKey: string;
|
|
4
12
|
apiSecret: string;
|
|
13
|
+
collectHeaders: CollectHeaders;
|
|
5
14
|
|
|
6
15
|
constructor() {
|
|
7
16
|
this.cloudName = "";
|
|
8
17
|
this.apiKey = "";
|
|
9
18
|
this.apiSecret = "";
|
|
19
|
+
this.collectHeaders = [];
|
|
10
20
|
|
|
11
21
|
// Access process through globalThis
|
|
12
22
|
const process = (globalThis as any)?.process;
|
|
@@ -24,6 +34,12 @@ export class CloudConfig {
|
|
|
24
34
|
this.cloudName = url.host;
|
|
25
35
|
this.apiKey = url.username || "";
|
|
26
36
|
this.apiSecret = url.password || "";
|
|
37
|
+
|
|
38
|
+
// Parse collect_headers from CLOUDINARY_URL query params
|
|
39
|
+
const collectParam = url.searchParams.get("collect_headers");
|
|
40
|
+
if (collectParam) {
|
|
41
|
+
this.collectHeaders = CloudConfig.parseCollectHeaders(collectParam);
|
|
42
|
+
}
|
|
27
43
|
} catch (error) {
|
|
28
44
|
throw new Error(`Invalid CLOUDINARY_URL: '${envVar}'`);
|
|
29
45
|
}
|
|
@@ -40,6 +56,13 @@ export class CloudConfig {
|
|
|
40
56
|
if (process.env.CLOUDINARY_API_SECRET) {
|
|
41
57
|
this.apiSecret = process.env.CLOUDINARY_API_SECRET;
|
|
42
58
|
}
|
|
59
|
+
|
|
60
|
+
// CLOUDINARY_COLLECT_HEADERS takes precedence over CLOUDINARY_URL query param
|
|
61
|
+
if (process.env.CLOUDINARY_COLLECT_HEADERS) {
|
|
62
|
+
this.collectHeaders = CloudConfig.parseCollectHeaders(
|
|
63
|
+
process.env.CLOUDINARY_COLLECT_HEADERS,
|
|
64
|
+
);
|
|
65
|
+
}
|
|
43
66
|
}
|
|
44
67
|
|
|
45
68
|
// Automatically set CLOUDINARY_CLOUD_NAME if not already set
|
|
@@ -48,4 +71,22 @@ export class CloudConfig {
|
|
|
48
71
|
process.env.CLOUDINARY_CLOUD_NAME = this.cloudName;
|
|
49
72
|
}
|
|
50
73
|
}
|
|
74
|
+
|
|
75
|
+
/**
|
|
76
|
+
* Parses a collect_headers value.
|
|
77
|
+
* "true" | "all" → `true` (collect every header)
|
|
78
|
+
* "x-request-id,cf-ray" → `["x-request-id", "cf-ray"]`
|
|
79
|
+
* "" → `[]` (disabled)
|
|
80
|
+
*/
|
|
81
|
+
private static parseCollectHeaders(value: string): CollectHeaders {
|
|
82
|
+
const trimmed = value.trim().toLowerCase();
|
|
83
|
+
if (trimmed === "true" || trimmed === "all") {
|
|
84
|
+
return true;
|
|
85
|
+
}
|
|
86
|
+
const names = trimmed
|
|
87
|
+
.split(",")
|
|
88
|
+
.map((h) => h.trim())
|
|
89
|
+
.filter(Boolean);
|
|
90
|
+
return names;
|
|
91
|
+
}
|
|
51
92
|
}
|
|
@@ -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.2/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>
|