@modelcontextprotocol/sdk
Version:
Model Context Protocol implementation for TypeScript
240 lines • 12.9 kB
TypeScript
import * as z from 'zod/v4';
/**
* Reusable URL validation that disallows javascript: scheme
*/
export declare const SafeUrlSchema: z.ZodURL;
/**
* RFC 9728 OAuth Protected Resource Metadata
*/
export declare const OAuthProtectedResourceMetadataSchema: z.ZodObject<{
resource: z.ZodString;
authorization_servers: z.ZodOptional<z.ZodArray<z.ZodURL>>;
jwks_uri: z.ZodOptional<z.ZodString>;
scopes_supported: z.ZodOptional<z.ZodArray<z.ZodString>>;
bearer_methods_supported: z.ZodOptional<z.ZodArray<z.ZodString>>;
resource_signing_alg_values_supported: z.ZodOptional<z.ZodArray<z.ZodString>>;
resource_name: z.ZodOptional<z.ZodString>;
resource_documentation: z.ZodOptional<z.ZodString>;
resource_policy_uri: z.ZodOptional<z.ZodString>;
resource_tos_uri: z.ZodOptional<z.ZodString>;
tls_client_certificate_bound_access_tokens: z.ZodOptional<z.ZodBoolean>;
authorization_details_types_supported: z.ZodOptional<z.ZodArray<z.ZodString>>;
dpop_signing_alg_values_supported: z.ZodOptional<z.ZodArray<z.ZodString>>;
dpop_bound_access_tokens_required: z.ZodOptional<z.ZodBoolean>;
}, z.core.$loose>;
/**
* RFC 8414 OAuth 2.0 Authorization Server Metadata
*/
export declare const OAuthMetadataSchema: z.ZodObject<{
issuer: z.ZodString;
authorization_endpoint: z.ZodURL;
token_endpoint: z.ZodURL;
registration_endpoint: z.ZodOptional<z.ZodURL>;
scopes_supported: z.ZodOptional<z.ZodArray<z.ZodString>>;
response_types_supported: z.ZodArray<z.ZodString>;
response_modes_supported: z.ZodOptional<z.ZodArray<z.ZodString>>;
grant_types_supported: z.ZodOptional<z.ZodArray<z.ZodString>>;
token_endpoint_auth_methods_supported: z.ZodOptional<z.ZodArray<z.ZodString>>;
token_endpoint_auth_signing_alg_values_supported: z.ZodOptional<z.ZodArray<z.ZodString>>;
service_documentation: z.ZodOptional<z.ZodURL>;
revocation_endpoint: z.ZodOptional<z.ZodURL>;
revocation_endpoint_auth_methods_supported: z.ZodOptional<z.ZodArray<z.ZodString>>;
revocation_endpoint_auth_signing_alg_values_supported: z.ZodOptional<z.ZodArray<z.ZodString>>;
introspection_endpoint: z.ZodOptional<z.ZodString>;
introspection_endpoint_auth_methods_supported: z.ZodOptional<z.ZodArray<z.ZodString>>;
introspection_endpoint_auth_signing_alg_values_supported: z.ZodOptional<z.ZodArray<z.ZodString>>;
code_challenge_methods_supported: z.ZodOptional<z.ZodArray<z.ZodString>>;
client_id_metadata_document_supported: z.ZodOptional<z.ZodBoolean>;
}, z.core.$loose>;
/**
* OpenID Connect Discovery 1.0 Provider Metadata
* see: https://openid.net/specs/openid-connect-discovery-1_0.html#ProviderMetadata
*/
export declare const OpenIdProviderMetadataSchema: z.ZodObject<{
issuer: z.ZodString;
authorization_endpoint: z.ZodURL;
token_endpoint: z.ZodURL;
userinfo_endpoint: z.ZodOptional<z.ZodURL>;
jwks_uri: z.ZodURL;
registration_endpoint: z.ZodOptional<z.ZodURL>;
scopes_supported: z.ZodOptional<z.ZodArray<z.ZodString>>;
response_types_supported: z.ZodArray<z.ZodString>;
response_modes_supported: z.ZodOptional<z.ZodArray<z.ZodString>>;
grant_types_supported: z.ZodOptional<z.ZodArray<z.ZodString>>;
acr_values_supported: z.ZodOptional<z.ZodArray<z.ZodString>>;
subject_types_supported: z.ZodArray<z.ZodString>;
id_token_signing_alg_values_supported: z.ZodArray<z.ZodString>;
id_token_encryption_alg_values_supported: z.ZodOptional<z.ZodArray<z.ZodString>>;
id_token_encryption_enc_values_supported: z.ZodOptional<z.ZodArray<z.ZodString>>;
userinfo_signing_alg_values_supported: z.ZodOptional<z.ZodArray<z.ZodString>>;
userinfo_encryption_alg_values_supported: z.ZodOptional<z.ZodArray<z.ZodString>>;
userinfo_encryption_enc_values_supported: z.ZodOptional<z.ZodArray<z.ZodString>>;
request_object_signing_alg_values_supported: z.ZodOptional<z.ZodArray<z.ZodString>>;
request_object_encryption_alg_values_supported: z.ZodOptional<z.ZodArray<z.ZodString>>;
request_object_encryption_enc_values_supported: z.ZodOptional<z.ZodArray<z.ZodString>>;
token_endpoint_auth_methods_supported: z.ZodOptional<z.ZodArray<z.ZodString>>;
token_endpoint_auth_signing_alg_values_supported: z.ZodOptional<z.ZodArray<z.ZodString>>;
display_values_supported: z.ZodOptional<z.ZodArray<z.ZodString>>;
claim_types_supported: z.ZodOptional<z.ZodArray<z.ZodString>>;
claims_supported: z.ZodOptional<z.ZodArray<z.ZodString>>;
service_documentation: z.ZodOptional<z.ZodString>;
claims_locales_supported: z.ZodOptional<z.ZodArray<z.ZodString>>;
ui_locales_supported: z.ZodOptional<z.ZodArray<z.ZodString>>;
claims_parameter_supported: z.ZodOptional<z.ZodBoolean>;
request_parameter_supported: z.ZodOptional<z.ZodBoolean>;
request_uri_parameter_supported: z.ZodOptional<z.ZodBoolean>;
require_request_uri_registration: z.ZodOptional<z.ZodBoolean>;
op_policy_uri: z.ZodOptional<z.ZodURL>;
op_tos_uri: z.ZodOptional<z.ZodURL>;
client_id_metadata_document_supported: z.ZodOptional<z.ZodBoolean>;
}, z.core.$loose>;
/**
* OpenID Connect Discovery metadata that may include OAuth 2.0 fields
* This schema represents the real-world scenario where OIDC providers
* return a mix of OpenID Connect and OAuth 2.0 metadata fields
*/
export declare const OpenIdProviderDiscoveryMetadataSchema: z.ZodObject<{
code_challenge_methods_supported: z.ZodOptional<z.ZodArray<z.ZodString>>;
issuer: z.ZodString;
authorization_endpoint: z.ZodURL;
token_endpoint: z.ZodURL;
userinfo_endpoint: z.ZodOptional<z.ZodURL>;
jwks_uri: z.ZodURL;
registration_endpoint: z.ZodOptional<z.ZodURL>;
scopes_supported: z.ZodOptional<z.ZodArray<z.ZodString>>;
response_types_supported: z.ZodArray<z.ZodString>;
response_modes_supported: z.ZodOptional<z.ZodArray<z.ZodString>>;
grant_types_supported: z.ZodOptional<z.ZodArray<z.ZodString>>;
acr_values_supported: z.ZodOptional<z.ZodArray<z.ZodString>>;
subject_types_supported: z.ZodArray<z.ZodString>;
id_token_signing_alg_values_supported: z.ZodArray<z.ZodString>;
id_token_encryption_alg_values_supported: z.ZodOptional<z.ZodArray<z.ZodString>>;
id_token_encryption_enc_values_supported: z.ZodOptional<z.ZodArray<z.ZodString>>;
userinfo_signing_alg_values_supported: z.ZodOptional<z.ZodArray<z.ZodString>>;
userinfo_encryption_alg_values_supported: z.ZodOptional<z.ZodArray<z.ZodString>>;
userinfo_encryption_enc_values_supported: z.ZodOptional<z.ZodArray<z.ZodString>>;
request_object_signing_alg_values_supported: z.ZodOptional<z.ZodArray<z.ZodString>>;
request_object_encryption_alg_values_supported: z.ZodOptional<z.ZodArray<z.ZodString>>;
request_object_encryption_enc_values_supported: z.ZodOptional<z.ZodArray<z.ZodString>>;
token_endpoint_auth_methods_supported: z.ZodOptional<z.ZodArray<z.ZodString>>;
token_endpoint_auth_signing_alg_values_supported: z.ZodOptional<z.ZodArray<z.ZodString>>;
display_values_supported: z.ZodOptional<z.ZodArray<z.ZodString>>;
claim_types_supported: z.ZodOptional<z.ZodArray<z.ZodString>>;
claims_supported: z.ZodOptional<z.ZodArray<z.ZodString>>;
service_documentation: z.ZodOptional<z.ZodString>;
claims_locales_supported: z.ZodOptional<z.ZodArray<z.ZodString>>;
ui_locales_supported: z.ZodOptional<z.ZodArray<z.ZodString>>;
claims_parameter_supported: z.ZodOptional<z.ZodBoolean>;
request_parameter_supported: z.ZodOptional<z.ZodBoolean>;
request_uri_parameter_supported: z.ZodOptional<z.ZodBoolean>;
require_request_uri_registration: z.ZodOptional<z.ZodBoolean>;
op_policy_uri: z.ZodOptional<z.ZodURL>;
op_tos_uri: z.ZodOptional<z.ZodURL>;
client_id_metadata_document_supported: z.ZodOptional<z.ZodBoolean>;
}, z.core.$strip>;
/**
* OAuth 2.1 token response
*/
export declare const OAuthTokensSchema: z.ZodObject<{
access_token: z.ZodString;
id_token: z.ZodOptional<z.ZodString>;
token_type: z.ZodString;
expires_in: z.ZodOptional<z.ZodCoercedNumber<unknown>>;
scope: z.ZodOptional<z.ZodString>;
refresh_token: z.ZodOptional<z.ZodString>;
}, z.core.$strip>;
/**
* OAuth 2.1 error response
*/
export declare const OAuthErrorResponseSchema: z.ZodObject<{
error: z.ZodString;
error_description: z.ZodOptional<z.ZodString>;
error_uri: z.ZodOptional<z.ZodString>;
}, z.core.$strip>;
/**
* Optional version of SafeUrlSchema that allows empty string for retrocompatibility on tos_uri and logo_uri
*/
export declare const OptionalSafeUrlSchema: z.ZodUnion<[z.ZodOptional<z.ZodURL>, z.ZodPipe<z.ZodLiteral<"">, z.ZodTransform<undefined, "">>]>;
/**
* RFC 7591 OAuth 2.0 Dynamic Client Registration metadata
*/
export declare const OAuthClientMetadataSchema: z.ZodObject<{
redirect_uris: z.ZodArray<z.ZodURL>;
token_endpoint_auth_method: z.ZodOptional<z.ZodString>;
grant_types: z.ZodOptional<z.ZodArray<z.ZodString>>;
response_types: z.ZodOptional<z.ZodArray<z.ZodString>>;
client_name: z.ZodOptional<z.ZodString>;
client_uri: z.ZodOptional<z.ZodURL>;
logo_uri: z.ZodUnion<[z.ZodOptional<z.ZodURL>, z.ZodPipe<z.ZodLiteral<"">, z.ZodTransform<undefined, "">>]>;
scope: z.ZodOptional<z.ZodString>;
contacts: z.ZodOptional<z.ZodArray<z.ZodString>>;
tos_uri: z.ZodUnion<[z.ZodOptional<z.ZodURL>, z.ZodPipe<z.ZodLiteral<"">, z.ZodTransform<undefined, "">>]>;
policy_uri: z.ZodOptional<z.ZodString>;
jwks_uri: z.ZodOptional<z.ZodURL>;
jwks: z.ZodOptional<z.ZodAny>;
software_id: z.ZodOptional<z.ZodString>;
software_version: z.ZodOptional<z.ZodString>;
software_statement: z.ZodOptional<z.ZodString>;
}, z.core.$strip>;
/**
* RFC 7591 OAuth 2.0 Dynamic Client Registration client information
*/
export declare const OAuthClientInformationSchema: z.ZodObject<{
client_id: z.ZodString;
client_secret: z.ZodOptional<z.ZodString>;
client_id_issued_at: z.ZodOptional<z.ZodNumber>;
client_secret_expires_at: z.ZodOptional<z.ZodNumber>;
}, z.core.$strip>;
/**
* RFC 7591 OAuth 2.0 Dynamic Client Registration full response (client information plus metadata)
*/
export declare const OAuthClientInformationFullSchema: z.ZodObject<{
redirect_uris: z.ZodArray<z.ZodURL>;
token_endpoint_auth_method: z.ZodOptional<z.ZodString>;
grant_types: z.ZodOptional<z.ZodArray<z.ZodString>>;
response_types: z.ZodOptional<z.ZodArray<z.ZodString>>;
client_name: z.ZodOptional<z.ZodString>;
client_uri: z.ZodOptional<z.ZodURL>;
logo_uri: z.ZodUnion<[z.ZodOptional<z.ZodURL>, z.ZodPipe<z.ZodLiteral<"">, z.ZodTransform<undefined, "">>]>;
scope: z.ZodOptional<z.ZodString>;
contacts: z.ZodOptional<z.ZodArray<z.ZodString>>;
tos_uri: z.ZodUnion<[z.ZodOptional<z.ZodURL>, z.ZodPipe<z.ZodLiteral<"">, z.ZodTransform<undefined, "">>]>;
policy_uri: z.ZodOptional<z.ZodString>;
jwks_uri: z.ZodOptional<z.ZodURL>;
jwks: z.ZodOptional<z.ZodAny>;
software_id: z.ZodOptional<z.ZodString>;
software_version: z.ZodOptional<z.ZodString>;
software_statement: z.ZodOptional<z.ZodString>;
client_id: z.ZodString;
client_secret: z.ZodOptional<z.ZodString>;
client_id_issued_at: z.ZodOptional<z.ZodNumber>;
client_secret_expires_at: z.ZodOptional<z.ZodNumber>;
}, z.core.$strip>;
/**
* RFC 7591 OAuth 2.0 Dynamic Client Registration error response
*/
export declare const OAuthClientRegistrationErrorSchema: z.ZodObject<{
error: z.ZodString;
error_description: z.ZodOptional<z.ZodString>;
}, z.core.$strip>;
/**
* RFC 7009 OAuth 2.0 Token Revocation request
*/
export declare const OAuthTokenRevocationRequestSchema: z.ZodObject<{
token: z.ZodString;
token_type_hint: z.ZodOptional<z.ZodString>;
}, z.core.$strip>;
export type OAuthMetadata = z.infer<typeof OAuthMetadataSchema>;
export type OpenIdProviderMetadata = z.infer<typeof OpenIdProviderMetadataSchema>;
export type OpenIdProviderDiscoveryMetadata = z.infer<typeof OpenIdProviderDiscoveryMetadataSchema>;
export type OAuthTokens = z.infer<typeof OAuthTokensSchema>;
export type OAuthErrorResponse = z.infer<typeof OAuthErrorResponseSchema>;
export type OAuthClientMetadata = z.infer<typeof OAuthClientMetadataSchema>;
export type OAuthClientInformation = z.infer<typeof OAuthClientInformationSchema>;
export type OAuthClientInformationFull = z.infer<typeof OAuthClientInformationFullSchema>;
export type OAuthClientInformationMixed = OAuthClientInformation | OAuthClientInformationFull;
export type OAuthClientRegistrationError = z.infer<typeof OAuthClientRegistrationErrorSchema>;
export type OAuthTokenRevocationRequest = z.infer<typeof OAuthTokenRevocationRequestSchema>;
export type OAuthProtectedResourceMetadata = z.infer<typeof OAuthProtectedResourceMetadataSchema>;
export type AuthorizationServerMetadata = OAuthMetadata | OpenIdProviderDiscoveryMetadata;
//# sourceMappingURL=auth.d.ts.map