Ë
    ïñþi)  ã                   óÚ   — d dl mZ d dlmZ d dlmZmZ d dlmZm	Z	 d dl
mZ d dlmZ d dlmZ d dlmZ d d	lmZmZ d d
lmZmZmZ  G d„ de«      Z G d„ de«      Ze G d„ d«      «       Zy)é    )Ú	dataclass)Úpartial)ÚAnyÚLiteral)Ú	BaseModelÚValidationError)ÚRequest)ÚResponse)Ústringify_pydantic_error)ÚPydanticJSONResponse)ÚAuthenticationErrorÚClientAuthenticator)ÚAccessTokenÚ OAuthAuthorizationServerProviderÚRefreshTokenc                   óP   — e Zd ZU dZeed<   dZed   dz  ed<   eed<   edz  ed<   y)ÚRevocationRequestzI
    # See https://datatracker.ietf.org/doc/html/rfc7009#section-2.1
    ÚtokenN)Úaccess_tokenÚrefresh_tokenÚtoken_type_hintÚ	client_idÚclient_secret)Ú__name__Ú
__module__Ú__qualname__Ú__doc__ÚstrÚ__annotations__r   r   © ó    ú_/root/aria/mcps/aria-brain/venv/lib/python3.12/site-packages/mcp/server/auth/handlers/revoke.pyr   r      s2   … ñð ƒJØGK€O�WÐ<Ñ=ÀÑDÓKØƒNØ˜‘:Ôr!   r   c                   ó2   — e Zd ZU ed   ed<   dZedz  ed<   y)ÚRevocationErrorResponse)Úinvalid_requestÚunauthorized_clientÚerrorNÚerror_description)r   r   r   r   r   r(   r   r    r!   r"   r$   r$      s   … ØÐ;Ñ<Ó<Ø$(Ð�s˜T‘zÔ(r!   r$   c                   ó>   — e Zd ZU eeeef   ed<   eed<   dedefd„Z	y)ÚRevocationHandlerÚproviderÚclient_authenticatorÚrequestÚreturnc           
   ƒ   ó<  K  — 	 | j                   j                  |«      ƒ d{  –—† }	 |j                  «       ƒ d{  –—† }t        j                  t        |«      «      }| j                  j                  t        | j                  j                  |«      g}|j                   dk(  rt#        |«      }d}|D ]   } ||j$                  «      ƒ d{  –—† }|€Œ  n |r<|j&                  |j&                  k(  r#| j                  j)                  |«      ƒ d{  –—†  t+        d	d
ddœ¬«      S 7 �Œ# t        $ r,}t        dt	        d|j
                  ¬«      ¬«      cY d}~S d}~ww xY w7 �Œ## t        $ r+}t        dt	        dt        |«      ¬«      ¬«      cY d}~S d}~ww xY w7 ŒÍ7 Œ‹­w)zF
        Handler for the OAuth 2.0 Token Revocation endpoint.
        Ni‘  r&   )r'   r(   )Ústatus_codeÚcontenti�  r%   r   éÈ   zno-storezno-cache)zCache-ControlÚPragma)r0   Úheaders)r,   Úauthenticate_requestr   r   r$   ÚmessageÚformr   Úmodel_validateÚdictr   r   r+   Úload_access_tokenr   Úload_refresh_tokenr   Úreversedr   r   Úrevoke_tokenr
   )	Úselfr-   ÚclientÚeÚ	form_dataÚrevocation_requestÚloadersr   Úloaders	            r"   ÚhandlezRevocationHandler.handle&   sŠ  è ø€ ð		Ø×4Ñ4×IÑIÈ'ÓR×RˆFð
	Ø%Ÿl™l›n×,ˆIÜ!2×!AÑ!AÄ$ÀyÃ/Ó!RÐð �M‰M×+Ñ+Ü�D—M‘M×4Ñ4°fÓ=ð
ˆð ×-Ñ-°Ò@Ü˜wÓ'ˆGà37ˆØò 	ˆFÙ Ð!3×!9Ñ!9Ó:×:ˆEØÑ Ùð	ñ �U—_‘_¨×(8Ñ(8Ò8ð —-‘-×,Ñ,¨UÓ3×3Ð3ô Øà!+Ø$ñô
ð 	
ðU SúÜ"ò 	Ü'ØÜ/Ø/Ø&'§i¡iôôõ ûð	úð -úäò 	Ü'ØÜ/Ø+Ü&>¸qÓ&Aôôõ ûð	úð$ ;øð 4ús¢   ‚F„D& ¢D#£D& ¨E! »E¼"E! ÁA,FÃ
FÃFÃ<FÄFÄFÄ#D& Ä&	EÄ/!EÅEÅFÅEÅFÅE! Å!	FÅ* FÆ
FÆFÆFÆFÆFN)
r   r   r   r   r   r   r   r	   r
   rE   r    r!   r"   r*   r*   !   s,   … à.¨s°C¸¨}Ñ=Ó=Ø-Ó-ð5
 Gð 5
°ô 5
r!   r*   N)Údataclassesr   Ú	functoolsr   Útypingr   r   Úpydanticr   r   Ústarlette.requestsr	   Ústarlette.responsesr
   Úmcp.server.auth.errorsr   Úmcp.server.auth.json_responser   Ú&mcp.server.auth.middleware.client_authr   r   Úmcp.server.auth.providerr   r   r   r   r$   r*   r    r!   r"   ú<module>rP      s[   ðÝ !Ý ß ç /Ý &Ý (õõ ?ß [ß `Ñ `ô˜	ô ô)˜iô )ð
 ÷9
ð 9
ó ñ9
r!   