/* * Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. * @generated-id: 202f4c7efc92 */ import * as z from "zod/v4"; import { remap as remap$ } from "../../lib/primitives.js"; import { safeParse } from "../../lib/schemas.js"; import { Result as SafeParseResult } from "../../types/fp.js"; import { SDKValidationError } from "../errors/sdkvalidationerror.js"; import { OAuthMetadataSource, OAuthMetadataSource$inboundSchema, OAuthMetadataSource$outboundSchema, } from "./oauthmetadatasource.js"; /** * Custom superset of RFC 8414 OAuth 2.0 Authorization Server Metadata. * * @remarks * * Stored at connector creation time (provided for HTTP connectors, discovered via .well-known for MCP). * Mirrors the shape of .well-known/oauth-authorization-server responses. */ export type ExtendedOAuthServerMetadata = { issuer: string; authorizationEndpoint?: string | null | undefined; tokenEndpoint: string; registrationEndpoint?: string | null | undefined; scopesSupported?: Array | null | undefined; responseTypesSupported?: Array | undefined; responseModesSupported?: Array | null | undefined; grantTypesSupported?: Array | null | undefined; tokenEndpointAuthMethodsSupported?: Array | null | undefined; tokenEndpointAuthSigningAlgValuesSupported?: Array | null | undefined; serviceDocumentation?: string | null | undefined; uiLocalesSupported?: Array | null | undefined; opPolicyUri?: string | null | undefined; opTosUri?: string | null | undefined; revocationEndpoint?: string | null | undefined; revocationEndpointAuthMethodsSupported?: Array | null | undefined; revocationEndpointAuthSigningAlgValuesSupported?: | Array | null | undefined; introspectionEndpoint?: string | null | undefined; introspectionEndpointAuthMethodsSupported?: Array | null | undefined; introspectionEndpointAuthSigningAlgValuesSupported?: | Array | null | undefined; codeChallengeMethodsSupported?: Array | null | undefined; clientIdMetadataDocumentSupported?: boolean | null | undefined; xSource?: OAuthMetadataSource | null | undefined; xResourceUrl?: string | null | undefined; xScope?: string | null | undefined; }; /** @internal */ export const ExtendedOAuthServerMetadata$inboundSchema: z.ZodType< ExtendedOAuthServerMetadata, unknown > = z.object({ issuer: z.string(), authorization_endpoint: z.nullable(z.string()).optional(), token_endpoint: z.string(), registration_endpoint: z.nullable(z.string()).optional(), scopes_supported: z.nullable(z.array(z.string())).optional(), response_types_supported: z.array(z.string()).optional(), response_modes_supported: z.nullable(z.array(z.string())).optional(), grant_types_supported: z.nullable(z.array(z.string())).optional(), token_endpoint_auth_methods_supported: z.nullable(z.array(z.string())) .optional(), token_endpoint_auth_signing_alg_values_supported: z.nullable( z.array(z.string()), ).optional(), service_documentation: z.nullable(z.string()).optional(), ui_locales_supported: z.nullable(z.array(z.string())).optional(), op_policy_uri: z.nullable(z.string()).optional(), op_tos_uri: z.nullable(z.string()).optional(), revocation_endpoint: z.nullable(z.string()).optional(), revocation_endpoint_auth_methods_supported: z.nullable(z.array(z.string())) .optional(), revocation_endpoint_auth_signing_alg_values_supported: z.nullable( z.array(z.string()), ).optional(), introspection_endpoint: z.nullable(z.string()).optional(), introspection_endpoint_auth_methods_supported: z.nullable(z.array(z.string())) .optional(), introspection_endpoint_auth_signing_alg_values_supported: z.nullable( z.array(z.string()), ).optional(), code_challenge_methods_supported: z.nullable(z.array(z.string())).optional(), client_id_metadata_document_supported: z.nullable(z.boolean()).optional(), x_source: z.nullable(OAuthMetadataSource$inboundSchema).optional(), x_resource_url: z.nullable(z.string()).optional(), x_scope: z.nullable(z.string()).optional(), }).transform((v) => { return remap$(v, { "authorization_endpoint": "authorizationEndpoint", "token_endpoint": "tokenEndpoint", "registration_endpoint": "registrationEndpoint", "scopes_supported": "scopesSupported", "response_types_supported": "responseTypesSupported", "response_modes_supported": "responseModesSupported", "grant_types_supported": "grantTypesSupported", "token_endpoint_auth_methods_supported": "tokenEndpointAuthMethodsSupported", "token_endpoint_auth_signing_alg_values_supported": "tokenEndpointAuthSigningAlgValuesSupported", "service_documentation": "serviceDocumentation", "ui_locales_supported": "uiLocalesSupported", "op_policy_uri": "opPolicyUri", "op_tos_uri": "opTosUri", "revocation_endpoint": "revocationEndpoint", "revocation_endpoint_auth_methods_supported": "revocationEndpointAuthMethodsSupported", "revocation_endpoint_auth_signing_alg_values_supported": "revocationEndpointAuthSigningAlgValuesSupported", "introspection_endpoint": "introspectionEndpoint", "introspection_endpoint_auth_methods_supported": "introspectionEndpointAuthMethodsSupported", "introspection_endpoint_auth_signing_alg_values_supported": "introspectionEndpointAuthSigningAlgValuesSupported", "code_challenge_methods_supported": "codeChallengeMethodsSupported", "client_id_metadata_document_supported": "clientIdMetadataDocumentSupported", "x_source": "xSource", "x_resource_url": "xResourceUrl", "x_scope": "xScope", }); }); /** @internal */ export type ExtendedOAuthServerMetadata$Outbound = { issuer: string; authorization_endpoint?: string | null | undefined; token_endpoint: string; registration_endpoint?: string | null | undefined; scopes_supported?: Array | null | undefined; response_types_supported?: Array | undefined; response_modes_supported?: Array | null | undefined; grant_types_supported?: Array | null | undefined; token_endpoint_auth_methods_supported?: Array | null | undefined; token_endpoint_auth_signing_alg_values_supported?: | Array | null | undefined; service_documentation?: string | null | undefined; ui_locales_supported?: Array | null | undefined; op_policy_uri?: string | null | undefined; op_tos_uri?: string | null | undefined; revocation_endpoint?: string | null | undefined; revocation_endpoint_auth_methods_supported?: Array | null | undefined; revocation_endpoint_auth_signing_alg_values_supported?: | Array | null | undefined; introspection_endpoint?: string | null | undefined; introspection_endpoint_auth_methods_supported?: | Array | null | undefined; introspection_endpoint_auth_signing_alg_values_supported?: | Array | null | undefined; code_challenge_methods_supported?: Array | null | undefined; client_id_metadata_document_supported?: boolean | null | undefined; x_source?: string | null | undefined; x_resource_url?: string | null | undefined; x_scope?: string | null | undefined; }; /** @internal */ export const ExtendedOAuthServerMetadata$outboundSchema: z.ZodType< ExtendedOAuthServerMetadata$Outbound, ExtendedOAuthServerMetadata > = z.object({ issuer: z.string(), authorizationEndpoint: z.nullable(z.string()).optional(), tokenEndpoint: z.string(), registrationEndpoint: z.nullable(z.string()).optional(), scopesSupported: z.nullable(z.array(z.string())).optional(), responseTypesSupported: z.array(z.string()).optional(), responseModesSupported: z.nullable(z.array(z.string())).optional(), grantTypesSupported: z.nullable(z.array(z.string())).optional(), tokenEndpointAuthMethodsSupported: z.nullable(z.array(z.string())).optional(), tokenEndpointAuthSigningAlgValuesSupported: z.nullable(z.array(z.string())) .optional(), serviceDocumentation: z.nullable(z.string()).optional(), uiLocalesSupported: z.nullable(z.array(z.string())).optional(), opPolicyUri: z.nullable(z.string()).optional(), opTosUri: z.nullable(z.string()).optional(), revocationEndpoint: z.nullable(z.string()).optional(), revocationEndpointAuthMethodsSupported: z.nullable(z.array(z.string())) .optional(), revocationEndpointAuthSigningAlgValuesSupported: z.nullable( z.array(z.string()), ).optional(), introspectionEndpoint: z.nullable(z.string()).optional(), introspectionEndpointAuthMethodsSupported: z.nullable(z.array(z.string())) .optional(), introspectionEndpointAuthSigningAlgValuesSupported: z.nullable( z.array(z.string()), ).optional(), codeChallengeMethodsSupported: z.nullable(z.array(z.string())).optional(), clientIdMetadataDocumentSupported: z.nullable(z.boolean()).optional(), xSource: z.nullable(OAuthMetadataSource$outboundSchema).optional(), xResourceUrl: z.nullable(z.string()).optional(), xScope: z.nullable(z.string()).optional(), }).transform((v) => { return remap$(v, { authorizationEndpoint: "authorization_endpoint", tokenEndpoint: "token_endpoint", registrationEndpoint: "registration_endpoint", scopesSupported: "scopes_supported", responseTypesSupported: "response_types_supported", responseModesSupported: "response_modes_supported", grantTypesSupported: "grant_types_supported", tokenEndpointAuthMethodsSupported: "token_endpoint_auth_methods_supported", tokenEndpointAuthSigningAlgValuesSupported: "token_endpoint_auth_signing_alg_values_supported", serviceDocumentation: "service_documentation", uiLocalesSupported: "ui_locales_supported", opPolicyUri: "op_policy_uri", opTosUri: "op_tos_uri", revocationEndpoint: "revocation_endpoint", revocationEndpointAuthMethodsSupported: "revocation_endpoint_auth_methods_supported", revocationEndpointAuthSigningAlgValuesSupported: "revocation_endpoint_auth_signing_alg_values_supported", introspectionEndpoint: "introspection_endpoint", introspectionEndpointAuthMethodsSupported: "introspection_endpoint_auth_methods_supported", introspectionEndpointAuthSigningAlgValuesSupported: "introspection_endpoint_auth_signing_alg_values_supported", codeChallengeMethodsSupported: "code_challenge_methods_supported", clientIdMetadataDocumentSupported: "client_id_metadata_document_supported", xSource: "x_source", xResourceUrl: "x_resource_url", xScope: "x_scope", }); }); export function extendedOAuthServerMetadataToJSON( extendedOAuthServerMetadata: ExtendedOAuthServerMetadata, ): string { return JSON.stringify( ExtendedOAuthServerMetadata$outboundSchema.parse( extendedOAuthServerMetadata, ), ); } export function extendedOAuthServerMetadataFromJSON( jsonString: string, ): SafeParseResult { return safeParse( jsonString, (x) => ExtendedOAuthServerMetadata$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'ExtendedOAuthServerMetadata' from JSON`, ); }