XjddlmZmZddlmZmZmZmZmZGddeZ Gdde Z Gdde Z Gd d eZ Gd d e ZGd deZGddeZy))AnyLiteral) AnyHttpUrlAnyUrl BaseModelFieldfield_validatorceZdZUdZeed<dZeded<dZe dzed<dZ edzed<dZ edzed<e dd e d edzd edzfd Zy) OAuthTokenzG See https://datatracker.ietf.org/doc/html/rfc6749#section-5.1 access_tokenBearer token_typeN expires_inscope refresh_tokenbeforemodevreturncFt|tr|jS|SN) isinstancestrtitleclsrs c/mnt/ssd/data/Dropbox/adrian/vault-secondbrain/venv/lib/python3.12/site-packages/mcp/shared/auth.pynormalize_token_typezOAuthToken.normalize_token_types! a 779 )__name__ __module__ __qualname____doc__r__annotations__rrrintrrr classmethodrr rr r s$,J!,!Jd !E3: $M3:$\1S4ZC$J2r r ceZdZdefdZy)InvalidScopeErrormessagec||_yrr+selfr+s r__init__zInvalidScopeError.__init__  r Nr!r"r#rr0r(r rr*r*r r*ceZdZdefdZy)InvalidRedirectUriErrorr+c||_yrr-r.s rr0z InvalidRedirectUriError.__init__!r1r Nr2r(r rr5r5 r3r r5ceZdZUdZeddZeedzed<dZ e ddzed<d d gZ ee d e zed <d gZ ee ed<dZe dzed<dZe dzed<dZedzed<dZedzed<dZee dzed<dZedzed<dZedzed<dZedzed<dZedzed<dZe dzed<dZe dzed<eddddddededefdZde dzdee dzfd Zd!edzdefd"Z y)#OAuthClientMetadataz RFC 7591 OAuth 2.0 Dynamic Client Registration metadata. See https://datatracker.ietf.org/doc/html/rfc7591#section-2 for the full specification. . min_lengthN redirect_uris)noneclient_secret_postclient_secret_basicprivate_key_jwttoken_endpoint_auth_methodauthorization_coder)rBrz+urn:ietf:params:oauth:grant-type:jwt-bearer grant_typescoderesponse_typesr client_name client_urilogo_uricontactstos_uri policy_urijwks_urijwks software_idsoftware_versionrrrrc|dk(ry|S)Nr(rs r"_empty_string_optional_url_to_nonez6OAuthClientMetadata._empty_string_optional_url_to_noneJs 7r requested_scopec|y|jd}|jgn|jjd}|D]}||vstd||S)N z%Client was not registered with scope )splitrr*)r/rSrequested_scopesallowed_scopesrs rvalidate_scopez"OAuthClientMetadata.validate_scope\sp  "*005#zz1tzz7G7G7L% YEN*'*OPUw(WXX Y r redirect_uric|+|j||jvrtd|d|S|j't|jdk(r|jdStd)NzRedirect URI 'z' not registered for clientr9rzGredirect_uri must be specified when client has multiple registered URIs)r<r5len)r/rZs rvalidate_redirect_uriz)OAuthClientMetadata.validate_redirect_urifsw  #!!)\ASAS-S-|nLg.hii     +D4F4F0G10L%%a( ()*st tr )!r!r"r#r$rr<listrr%rArrCrrErrFrGrrHrIrJrKrLrMrrNrOr r'objectrRrYr]r(r rr8r8%s */sq)AM4<$&A VWZ^^   dehkk"(NDI(E3:#Kt"$(J T!("&Hj4&!%Hd3i$%!%GZ$ %$(J T!("&Hj4&D#*"Kt"#'cDj'  6f cDj T#Y=M  u&4- uF ur r8cbeZdZUdZdZedzed<dZedzed<dZe dzed<dZ e dzed<y)OAuthClientInformationFullzn RFC 7591 OAuth 2.0 Dynamic Client Registration full response (client information plus metadata). N client_id client_secretclient_id_issued_atclient_secret_expires_at) r!r"r#r$rbrr%rcrdr&rer(r rrararsC !IsTz $M3:$&*t*+/cDj/r raceZdZUdZeed<eed<eed<dZedzed<dZee dzed<dgZ ee ed <dZ ee dzed <dZ ee dzed <dZ ee dzed <dZee dzed <dZedzed<dZee dzed<dZedzed<dZedzed<dZedzed<dZee dzed<dZee dzed<dZedzed<dZee dzed<dZee dzed<dZee dzed<dZedzed<y) OAuthMetadataz{ RFC 8414 OAuth 2.0 Authorization Server Metadata. See https://datatracker.ietf.org/doc/html/rfc8414#section-2 issuerauthorization_endpointtoken_endpointNregistration_endpointscopes_supportedrDresponse_types_supportedresponse_modes_supportedgrant_types_supported%token_endpoint_auth_methods_supported0token_endpoint_auth_signing_alg_values_supportedservice_documentationui_locales_supported op_policy_uri op_tos_urirevocation_endpoint*revocation_endpoint_auth_methods_supported5revocation_endpoint_auth_signing_alg_values_supportedintrospection_endpoint-introspection_endpoint_auth_methods_supported8introspection_endpoint_auth_signing_alg_values_supported code_challenge_methods_supported%client_id_metadata_document_supported)r!r"r#r$rr%rkrlr^rrmrnrorprqrrrsrtrurvrwrxryrzr{r|r}boolr(r rrgrg~su &&/3:,3)-d3i$&-+1(d3i215d3i$.5.249t+2>B)49t+;BIM4d3i$6FM/3:,3-1$s)d*1'+M:$+$(J T!(-1d*1CG.S D0@GNR949t;KR04J-4FJ149t3CJQUNU9=$d3i$&6=9=)4$;=r rgc^eZdZUdZeed<eddZeeed<dZ edzed<dZ ee dzed <ed g Z ee dzed <dZ ee dzed <dZe dzed<dZedzed<dZedzed<dZedzed<dZedzed<dZee dzed<dZee dzed<dZedzed<y)ProtectedResourceMetadatazy RFC 9728 OAuth 2.0 Protected Resource Metadata. See https://datatracker.ietf.org/doc/html/rfc9728#section-2 resource.r9r:authorization_serversNrLrlheader)defaultbearer_methods_supported%resource_signing_alg_values_supported resource_nameresource_documentationresource_policy_uriresource_tos_uri*tls_client_certificate_bound_access_tokens%authorization_details_types_supported!dpop_signing_alg_values_supported!dpop_bound_access_tokens_required)r!r"r#r$rr%rrr^rLrlrrrrrrrrr~rrrr(r rrrs .3CA.F4 +F"&Hj4&)-d3i$&-16z1Jd3i$.J>B)49t+;B $M3:$04J-4-1d*1*.j4'.>B.t B>B)49t+;B:>%tCy4'7>59%td{9r rN)typingrrpydanticrrrrr r Exceptionr*r5r8rargrr(r rrshJJ*  i Ju)JuZ 0!4 0>I><: :r