§
    ­eîi.  ã                   óö   — d dl mZmZ d dlmZmZmZmZmZ  G d„ de¦  «        Z	 G d„ de
¦  «        Z G d„ de
¦  «        Z G d	„ d
e¦  «        Z G d„ de¦  «        Z G d„ de¦  «        Z G d„ de¦  «        ZdS )é    )ÚAnyÚLiteral)Ú
AnyHttpUrlÚAnyUrlÚ	BaseModelÚFieldÚfield_validatorc                   óÆ   — e Zd ZU dZeed<   dZed         ed<   dZe	dz  ed<   dZ
edz  ed<   dZedz  ed<    edd	¬
¦  «        ededz  dedz  fd„¦   «         ¦   «         ZdS )Ú
OAuthTokenzG
    See https://datatracker.ietf.org/doc/html/rfc6749#section-5.1
    Úaccess_tokenÚBearerÚ
token_typeNÚ
expires_inÚscopeÚrefresh_tokenÚbefore)ÚmodeÚvÚreturnc                 óX   — t          |t          ¦  «        r|                     ¦   «         S |S ©N)Ú
isinstanceÚstrÚtitle)Úclsr   s     úS/home/div/.hermes/hermes-agent/venv/lib/python3.11/site-packages/mcp/shared/auth.pyÚnormalize_token_typezOAuthToken.normalize_token_type   s+   € õ �a�ÑÔð 	ð —7’7‘9”9ÐØˆó    )Ú__name__Ú
__module__Ú__qualname__Ú__doc__r   Ú__annotations__r   r   r   Úintr   r   r	   Úclassmethodr   © r   r   r   r      sÍ   € € € € € € ðð ð ÐÐÑØ$,€J�˜Ô!Ð,Ð,Ñ,Ø!€J��d‘
Ð!Ð!Ñ!Ø€Eˆ3�‰:ÐÐÑØ $€M�3˜‘:Ð$Ð$Ñ$à€_�\¨Ð1Ñ1Ô1Øð S¨4¡Zð °C¸$±Jð ð ð ñ „[ñ 2Ô1ðð ð r   r   c                   ó   — e Zd Zdefd„ZdS )ÚInvalidScopeErrorÚmessagec                 ó   — || _         d S r   ©r)   ©Úselfr)   s     r   Ú__init__zInvalidScopeError.__init__   ó   € ØˆŒˆˆr   N©r   r    r!   r   r.   r&   r   r   r(   r(      ó/   € € € € € ð ð ð ð ð ð ð r   r(   c                   ó   — e Zd Zdefd„ZdS )ÚInvalidRedirectUriErrorr)   c                 ó   — || _         d S r   r+   r,   s     r   r.   z InvalidRedirectUriError.__init__!   r/   r   Nr0   r&   r   r   r3   r3       r1   r   r3   c                   óÜ  — e Zd ZU dZ edd¬¦  «        Zee         dz  ed<   dZ	e
d         dz  ed<   d	d
gZee
d         ez           ed<   dgZee         ed<   dZedz  ed<   dZedz  ed<   dZedz  ed<   dZedz  ed<   dZee         dz  ed<   dZedz  ed<   dZedz  ed<   dZedz  ed<   dZedz  ed<   dZedz  ed<   dZedz  ed<   dedz  dee         dz  fd„Zdedz  defd„ZdS )Ú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)ÚnoneÚclient_secret_postÚclient_secret_basicÚprivate_key_jwtÚtoken_endpoint_auth_methodÚauthorization_coder   )r@   r   z+urn:ietf:params:oauth:grant-type:jwt-bearerÚgrant_typesÚcodeÚresponse_typesr   Úclient_nameÚ
client_uriÚlogo_uriÚcontactsÚtos_uriÚ
policy_uriÚjwks_uriÚjwksÚsoftware_idÚsoftware_versionÚrequested_scoper   c                 ó´   — |€d S |                      d¦  «        }| j        €g n| j                              d¦  «        }|D ]}||vrt          d|› �¦  «        ‚Œ|S )NÚ z%Client was not registered with scope )Úsplitr   r(   )r-   rN   Úrequested_scopesÚallowed_scopesr   s        r   Úvalidate_scopez"OAuthClientMetadata.validate_scopeJ   s€   € ØÐ"Ø�4Ø*×0Ò0°Ñ5Ô5ÐØ#œzÐ1˜˜°t´z×7GÒ7GÈÑ7LÔ7LˆØ%ð 	Yð 	YˆEØ˜NÐ*Ð*Ý'Ð(WÐPUÐ(WÐ(WÑXÔXÐXð +àÐr   Úredirect_uric                 óÆ   — |�%| j         �	|| j         vrt          d|› d�¦  «        ‚|S | j         �%t          | j         ¦  «        dk    r| j         d         S t          d¦  «        ‚)NzRedirect URI 'z' not registered for clientr7   r   zGredirect_uri must be specified when client has multiple registered URIs)r:   r3   Úlen)r-   rU   s     r   Úvalidate_redirect_uriz)OAuthClientMetadata.validate_redirect_uriT   sy   € ØÐ#àÔ!Ð)¨\ÀÔASÐ-SÐ-SÝ-Ð.h¸|Ð.hÐ.hÐ.hÑiÔiÐiØÐØÔÐ+µ°DÔ4FÑ0GÔ0GÈ1Ò0LÐ0LØÔ% aÔ(Ð(å)Ð*sÑtÔtÐtr   )r   r    r!   r"   r   r:   Úlistr   r#   r?   r   rA   r   rC   r   rD   rE   r   rF   rG   rH   rI   rJ   rK   r   rL   rM   rT   rX   r&   r   r   r6   r6   %   s  € € € € € € ðð ð */¨¨s¸qÐ)AÑ)AÔ)A€M�4˜”< $Ñ&ÐAÐAÑAð 	ð ØÐVÔWÐZ^Ñ^ðð ñ ð 	Øð	ð �ØÐdÔeÐhkÑkôð ð ñ ð "( €N�D˜”IÐ(Ð(Ñ(Ø€Eˆ3�‰:ÐÐÑð #€K��t‘Ð"Ð"Ñ"Ø$(€J�
˜TÑ!Ð(Ð(Ñ(Ø"&€Hˆj˜4ÑÐ&Ð&Ñ&Ø!%€Hˆd�3Œi˜$ÑÐ%Ð%Ñ%Ø!%€GˆZ˜$ÑÐ%Ð%Ñ%Ø$(€J�
˜TÑ!Ð(Ð(Ñ(Ø"&€Hˆj˜4ÑÐ&Ð&Ñ&Ø€Dˆ#�‰*ÐÐÑØ"€K��t‘Ð"Ð"Ñ"Ø#'Ð�c˜D‘jÐ'Ð'Ñ'ð ¨c°D©jð  ¸TÀ#¼YÈÑ=Mð  ð  ð  ð  ð	u°&¸4±-ð 	uÀFð 	uð 	uð 	uð 	uð 	uð 	ur   r6   c                   ód   — e Zd ZU dZdZedz  ed<   dZedz  ed<   dZe	dz  ed<   dZ
e	dz  ed<   dS )ÚOAuthClientInformationFullzn
    RFC 7591 OAuth 2.0 Dynamic Client Registration full response
    (client information plus metadata).
    NÚ	client_idÚclient_secretÚclient_id_issued_atÚclient_secret_expires_at)r   r    r!   r"   r\   r   r#   r]   r^   r$   r_   r&   r   r   r[   r[   `   sp   € € € € € € ðð ð
 !€Iˆs�T‰zÐ Ð Ñ Ø $€M�3˜‘:Ð$Ð$Ñ$Ø&*Ð˜˜t™Ð*Ð*Ñ*Ø+/Ð˜c D™jÐ/Ð/Ñ/Ð/Ð/r   r[   c                   ó:  — e Zd ZU dZeed<   eed<   eed<   dZedz  ed<   dZee	         dz  ed<   dgZ
ee	         ed	<   dZee	         dz  ed
<   dZee	         dz  ed<   dZee	         dz  ed<   dZee	         dz  ed<   dZedz  ed<   dZee	         dz  ed<   dZedz  ed<   dZedz  ed<   dZedz  ed<   dZee	         dz  ed<   dZee	         dz  ed<   dZedz  ed<   dZee	         dz  ed<   dZee	         dz  ed<   dZee	         dz  ed<   dZedz  ed<   dS )ÚOAuthMetadataz{
    RFC 8414 OAuth 2.0 Authorization Server Metadata.
    See https://datatracker.ietf.org/doc/html/rfc8414#section-2
    ÚissuerÚauthorization_endpointÚtoken_endpointNÚregistration_endpointÚscopes_supportedrB   Úresponse_types_supportedÚresponse_modes_supportedÚgrant_types_supportedÚ%token_endpoint_auth_methods_supportedÚ0token_endpoint_auth_signing_alg_values_supportedÚservice_documentationÚui_locales_supportedÚop_policy_uriÚ
op_tos_uriÚrevocation_endpointÚ*revocation_endpoint_auth_methods_supportedÚ5revocation_endpoint_auth_signing_alg_values_supportedÚintrospection_endpointÚ-introspection_endpoint_auth_methods_supportedÚ8introspection_endpoint_auth_signing_alg_values_supportedÚ code_challenge_methods_supportedÚ%client_id_metadata_document_supported)r   r    r!   r"   r   r#   re   rf   rY   r   rg   rh   ri   rj   rk   rl   rm   rn   ro   rp   rq   rr   rs   rt   ru   rv   rw   Úboolr&   r   r   ra   ra   l   s  € € € € € € ðð ð
 ÐÐÑØ&Ð&Ð&Ñ&ØÐÐÑØ/3Ð˜:¨Ñ,Ð3Ð3Ñ3Ø)-Ð�d˜3”i $Ñ&Ð-Ð-Ñ-Ø+1¨(Ð˜d 3œiÐ2Ð2Ñ2Ø15Ð˜d 3œi¨$Ñ.Ð5Ð5Ñ5Ø.2Ð˜4 œ9 tÑ+Ð2Ð2Ñ2Ø>BÐ)¨4°¬9°tÑ+;ÐBÐBÑBØIMÐ4°d¸3´iÀ$Ñ6FÐMÐMÑMØ/3Ð˜:¨Ñ,Ð3Ð3Ñ3Ø-1Ð˜$˜sœ) dÑ*Ð1Ð1Ñ1Ø'+€M�: Ñ$Ð+Ð+Ñ+Ø$(€J�
˜TÑ!Ð(Ð(Ñ(Ø-1Ð˜ dÑ*Ð1Ð1Ñ1ØCGÐ.°°S´	¸DÑ0@ÐGÐGÑGØNRÐ9¸4À¼9ÀtÑ;KÐRÐRÑRØ04Ð˜J¨Ñ-Ð4Ð4Ñ4ØFJÐ1°4¸´9¸tÑ3CÐJÐJÑJØQUÐ<¸dÀ3¼iÈ$Ñ>NÐUÐUÑUØ9=Ð$ d¨3¤i°$Ñ&6Ð=Ð=Ñ=Ø9=Ð)¨4°$©;Ð=Ð=Ñ=Ð=Ð=r   ra   c                   ó�  — e Zd ZU dZeed<    edd¬¦  «        Zee         ed<   dZ	edz  ed<   dZ
ee         dz  ed	<    ed
g¬¦  «        Zee         dz  ed<   dZee         dz  ed<   dZedz  ed<   dZedz  ed<   dZedz  ed<   dZedz  ed<   dZedz  ed<   dZee         dz  ed<   dZee         dz  ed<   dZedz  ed<   dS )ÚProtectedResourceMetadatazy
    RFC 9728 OAuth 2.0 Protected Resource Metadata.
    See https://datatracker.ietf.org/doc/html/rfc9728#section-2
    Úresource.r7   r8   Úauthorization_serversNrJ   rf   Úheader)ÚdefaultÚbearer_methods_supportedÚ%resource_signing_alg_values_supportedÚresource_nameÚresource_documentationÚresource_policy_uriÚresource_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"   r   r#   r   r|   rY   rJ   rf   r   r   r€   r�   r‚   rƒ   r„   r…   rx   r†   r‡   rˆ   r&   r   r   rz   rz   Š   su  € € € € € € ðð ð
 ÐÐÑØ.3¨e°CÀAÐ.FÑ.FÔ.FÐ˜4 
Ô+ÐFÐFÑFØ"&€Hˆj˜4ÑÐ&Ð&Ñ&Ø)-Ð�d˜3”i $Ñ&Ð-Ð-Ñ-Ø16°À¸zÐ1JÑ1JÔ1JÐ˜d 3œi¨$Ñ.ÐJÐJÑJØ>BÐ)¨4°¬9°tÑ+;ÐBÐBÑBØ $€M�3˜‘:Ð$Ð$Ñ$Ø04Ð˜J¨Ñ-Ð4Ð4Ñ4Ø-1Ð˜ dÑ*Ð1Ð1Ñ1Ø*.Ð�j 4Ñ'Ð.Ð.Ñ.à>BÐ.°°t±ÐBÐBÑBØ>BÐ)¨4°¬9°tÑ+;ÐBÐBÑBØ:>Ð% t¨C¤y°4Ñ'7Ð>Ð>Ñ>à59Ð% t¨d¡{Ð9Ð9Ñ9Ð9Ð9r   rz   N)Útypingr   r   Úpydanticr   r   r   r   r	   r   Ú	Exceptionr(   r3   r6   r[   ra   rz   r&   r   r   ú<module>rŒ      s�  ðØ Ð Ð Ð Ð Ð Ð Ð à JÐ JÐ JÐ JÐ JÐ JÐ JÐ JÐ JÐ JÐ JÐ JÐ JÐ Jðð ð ð ð �ñ ô ð ð*ð ð ð ð ˜	ñ ô ð ð
ð ð ð ð ˜iñ ô ð ð
8uð 8uð 8uð 8uð 8u˜)ñ 8uô 8uð 8uðv	0ð 	0ð 	0ð 	0ð 	0Ð!4ñ 	0ô 	0ð 	0ð>ð >ð >ð >ð >�Iñ >ô >ð >ð<:ð :ð :ð :ð : 	ñ :ô :ð :ð :ð :r   