§
    Ïeîi™  ã                   óÞ   — d dl Z d dlZd dlmZmZmZ d dlT d dlmZ d dl	m
Z
mZmZ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 ddlmZ  G d„ de¦  «        Z G d„ de¦  «        ZdS )é    N)ÚOptionalÚCallableÚAny)Ú*)ÚLogLevel)ÚInvalidArgsExceptionÚAccessDeniedExceptionÚCardExceptionÚNoAuthorizationException)ÚHttpHandler)ÚJSON)Úlogger)Ú
RawRequestÚRawResponse)ÚStringsÚ	AESCipheré   )ÚCardc            
       óp   — e Zd Zdd„Zdedefd„Zdedefd„Z	deddfd	„Z
edd
edededdfd„¦   «         ZdS )ÚCardActionHandlerÚreturnNc                 ó0   — d | _         d | _        d | _        d S ©N©Ú_encrypt_keyÚ_verification_tokenÚ
_processor)Úselfs    úa/home/div/.hermes/hermes-agent/venv/lib/python3.11/site-packages/lark_oapi/card/action_handler.pyÚ__init__zCardActionHandler.__init__   s   € Ø+/ˆÔØ26ˆÔ Ø;?ˆŒˆˆó    Úreqc                 ó†  — t          j        d|j        › dt          j        |j        ¦  «        › d|j        �t          |j        t          ¦  «        nd › �¦  «         t          ¦   «         }d|_
        |                     t          › d�¦  «         	 |j        €t          d¦  «        ‚|                      |j        ¦  «        }t          j        |t           ¦  «        }||_        t$          |j        k    rJ| j        |j        k    rt-          d¦  «        ‚d|j        z  }|                     t          ¦  «        |_        |S |                      |¦  «         | j        €t9          d	¦  «        ‚|                      |¦  «        }|€ d
                     t          ¦  «        |_        n–t;          |t<          ¦  «        r||_        nyt;          |t          ¦  «        rt=          |t          ¦  «        |_        nIt;          |t          ¦  «        r|}n1t          j        |¦  «                             t          ¦  «        |_        |S # t>          $ rƒ}t          j         d|j        › d|j         !                    tD          ¦  «        › d|› �¦  «         d|_
        dt          |¦  «        z  }|                     t          ¦  «        |_        |cY d }~S d }~ww xY w)Nzcard access, uri: z, headers: z, body: éÈ   z; charset=utf-8zrequest body is nullzinvalid verification_tokenz{"challenge":"%s"}zprocessor not foundz{"msg":"success"}zhandle card failed, uri: z, request_id: z, err: iô  z{"msg":"%s"})#r   ÚdebugÚurir   ÚmarshalÚheadersÚbodyÚstrÚUTF_8r   Ústatus_codeÚset_content_typeÚAPPLICATION_JSONr   Ú_decryptÚ	unmarshalr   ÚrawÚURL_VERIFICATIONÚtyper   Útokenr	   Ú	challengeÚencodeÚcontentÚ_verify_signr   r
   Ú
isinstanceÚbytesÚ	ExceptionÚ	exceptionÚgetÚX_REQUEST_ID)r   r"   ÚrespÚ	plaintextÚcardÚ	resp_bodyÚresultÚes           r   ÚdozCardActionHandler.do   sÂ  € ÝŒð W¨#¬'ð Wð WÝ!%¤¨c¬kÑ!:Ô!:ðWð Wà69´hÐ6J�c #¤(­EÑ2Ô2Ð2ÐPTðWð Wñ 	Xô 	Xð 	Xõ ‰}Œ}ˆØˆÔØ×ÒÕ!1ÐBÐBÐBÑCÔCÐCð4	ØŒxÐÝ*Ð+AÑBÔBÐBð Ÿš c¤hÑ/Ô/ˆIõ ”> )­TÑ2Ô2ˆDØˆDŒHå 4¤9Ò,Ð,ð Ô+¨t¬zÒ9Ð9Ý/Ð0LÑMÔMÐMð 5°t´~ÑE�	Ø(×/Ò/µÑ6Ô6�”Ø�ð ×!Ò! #Ñ&Ô&Ð&àŒÐ&Ý#Ð$9Ñ:Ô:Ð:ð Ÿ/š/¨$Ñ/Ô/ˆFð ˆ~Ø6×=Ò=½eÑDÔD�”�Ý˜F¥EÑ*Ô*ð BØ%�”�Ý˜F¥CÑ(Ô(ð BÝ$ V­UÑ3Ô3�”�Ý˜F¥KÑ0Ô0ð BØ��å#œ|¨FÑ3Ô3×:Ò:½5ÑAÔA�”àˆKøåð 	ð 	ð 	ÝÔØl¨C¬GÐlÐlÀ3Ä;Ç?Â?ÕS_ÑC`ÔC`ÐlÐlÐijÐlÐlñnô nð nà"ˆDÔØ*­S°©V¬VÑ3ˆIØ$×+Ò+­EÑ2Ô2ˆDŒLàˆKˆKˆKˆKˆKˆKøøøøð	øøøs'   ÂB*H3 Ä9C9H3 È3
K È=A8J;Ê5K Ê;K r7   c                 óF  — t          j        |¦  «                             d¦  «        }t          j        |¦  «        rPt          j        | j        ¦  «        rt          d¦  «        ‚t          | j        ¦  «         	                    |¦  «        }nt          |t          ¦  «        }|S )NÚencryptzencrypt_key not found)ÚjsonÚloadsr=   r   Úis_not_emptyÚis_emptyr   r   r   Údecrypt_strr*   r+   )r   r7   rG   r@   s       r   r/   zCardActionHandler._decryptW   s�   € å”*˜WÑ%Ô%×)Ò)¨)Ñ4Ô4ˆÝÔ Ñ(Ô(ð 	,ÝÔ Ô 1Ñ2Ô2ð HÝ.Ð/FÑGÔGÐGÝ! $Ô"3Ñ4Ô4×@Ò@ÀÑIÔIˆIˆIå˜G¥UÑ+Ô+ˆIàÐr!   Úrequestc                 ó¸  — | j         �| j         dk    rd S |j                             t          ¦  «        }|j                             t          ¦  «        }|j                             t
          ¦  «        }||z   | j         z                        t          ¦  «        |j        z   }t          j
        |¦  «        }||                     ¦   «         k    rt          d¦  «        ‚d S )NÚ zsignature verification failed)r   r(   r=   ÚLARK_REQUEST_TIMESTAMPÚLARK_REQUEST_NONCEÚLARK_REQUEST_SIGNATUREr6   r+   r)   ÚhashlibÚsha1Ú	hexdigestr	   )r   rM   Ú	timestampÚnonceÚ	signatureÚbsÚhs          r   r8   zCardActionHandler._verify_signc   s¿   € ØÔ#Ð+¨tÔ/GÈ2Ò/MÐ/MØˆFØ”O×'Ò'Õ(>Ñ?Ô?ˆ	Ø”×#Ò#Õ$6Ñ7Ô7ˆØ”O×'Ò'Õ(>Ñ?Ô?ˆ	Ø˜%Ñ $Ô":Ñ:×BÒBÅ5ÑIÔIÈGÌLÑXˆÝŒL˜ÑÔˆØ˜Ÿš™œÒ%Ð%Ý'Ð(GÑHÔHÐHð &Ð%r!   Úencrypt_keyÚverification_tokenÚlevelÚCardActionHandlerBuilderc                 ór   — |�&t          j        t          |j        ¦  «        ¦  «         t	          | |¦  «        S r   )r   ÚsetLevelÚintÚvaluer^   )r[   r\   r]   s      r   ÚbuilderzCardActionHandler.buildern   s3   € àÐÝŒO�C ¤Ñ,Ô,Ñ-Ô-Ð-Ý'¨Ð5GÑHÔHÐHr!   )r   Nr   )Ú__name__Ú
__module__Ú__qualname__r    r   r   rE   r:   r*   r/   r8   Ústaticmethodr   rc   © r!   r   r   r      sæ   € € € € € ð@ð @ð @ð @ð
=�jð = [ð =ð =ð =ð =ð~
 ð 
¨#ð 
ð 
ð 
ð 
ð	I Jð 	I°4ð 	Ið 	Ið 	Ið 	Ið ðIð I˜Sð I°cð IÀ(ð IÐVpð Ið Ið Iñ „\ðIð Ið Ir!   r   c                   óP   — e Zd Zdededdfd„Zdeegef         dd fd„Zde	fd„Z
dS )	r^   r[   r\   r   Nc                 ó0   — || _         || _        d | _        d S r   r   )r   r[   r\   s      r   r    z!CardActionHandlerBuilder.__init__v   s   € Ø'ˆÔØ#5ˆÔ Ø;?ˆŒˆˆr!   Úfc                 ó   — || _         | S r   )r   )r   rk   s     r   Úregisterz!CardActionHandlerBuilder.register{   s   € ØˆŒØˆr!   c                 ój   — t          ¦   «         }| j        |_        | j        |_        | j        |_        |S r   )r   r   r   r   )r   Úcard_action_handlers     r   ÚbuildzCardActionHandlerBuilder.build   s7   € Ý/Ñ1Ô1ÐØ+/Ô+<ÐÔ(Ø26Ô2JÐÔ/Ø)-¬ÐÔ&Ø"Ð"r!   )rd   re   rf   r*   r    r   r   r   rm   r   rp   rh   r!   r   r^   r^   u   sŽ   € € € € € ð@ Cð @¸Sð @ÀTð @ð @ð @ð @ð
˜( D 6¨3 ;Ô/ð Ð4Nð ð ð ð ð#Ð(ð #ð #ð #ð #ð #ð #r!   r^   )rS   rH   Útypingr   r   r   Úlark_oapi.core.constÚlark_oapi.core.enumr   Úlark_oapi.core.exceptionr   r	   r
   r   Úlark_oapi.core.httpr   Úlark_oapi.core.jsonr   Úlark_oapi.core.logr   Úlark_oapi.core.modelr   r   Úlark_oapi.core.utilsr   r   Úmodelr   r   Úobjectr^   rh   r!   r   ú<module>r|      sv  ðØ €€€Ø €€€Ø *Ð *Ð *Ð *Ð *Ð *Ð *Ð *Ð *Ð *à "Ð "Ð "Ð "Ø (Ð (Ð (Ð (Ð (Ð (ðð ð ð ð ð ð ð ð ð ð ð à +Ð +Ð +Ð +Ð +Ð +Ø $Ð $Ð $Ð $Ð $Ð $Ø %Ð %Ð %Ð %Ð %Ð %Ø 8Ð 8Ð 8Ð 8Ð 8Ð 8Ð 8Ð 8Ø 3Ð 3Ð 3Ð 3Ð 3Ð 3Ð 3Ð 3Ø Ð Ð Ð Ð Ð ðaIð aIð aIð aIð aI˜ñ aIô aIð aIðH#ð #ð #ð #ð #˜vñ #ô #ð #ð #ð #r!   