+
    ÂHàj¬$  ã                  óÊ  € ^ RI Ht ^ RIt^ RIt^ RIHt ^ RIHtHt ^ RI	H
t
 ^RIHt . R7Ot]! R]
R7      t]! R	]R7      t]! R
]R7      t]! R4      t]]]
,          R3,          tR R ltR R ltR R ltR R ltR R ltR R ltR R ltR R ltR R ltR R  ltR! R" ltR# R$ lt R% R& lt!R' R( lt"R) R* lt#R+ R, lt$R- R. lt%R/ R0 lt&R1 R2 lt'R3 R4 lt(R5 R6 lt)R# )8é    )ÚannotationsN)ÚCallable)ÚAnyÚTypeVar)Ú	BaseModel)Ú
ConnectionÚModelT)ÚboundÚMethodTÚClassTÚT.c               ó    € V ^8„  d   QhRRRR/# )é   ÚmodelsÚMultiParamModelSpecÚreturnÚstr© )Úformats   "Ú‹/home/ubuntu/.hermes/installs/5f0a1ff4045d044e/environments/88679baa1dc64374a0cd943b62eeefb9/venv/lib/python3.14/site-packages/acp/utils.pyÚ__annotate__r       s   € ÷ Dñ DÐ2ð D°sñ Dó    c                ó2   € R P                  R V  4       4      # )z | c              3  ó8   "  € T F  qP                   x € K  	  R # 5i©N)Ú__name__)Ú.0Ú
model_types   & r   Ú	<genexpr>Ú%_param_models_name.<locals>.<genexpr>!   s   é € ÐC¹F¨j×)Ö)»Fùs   ‚)Újoin)r   s   &r   Ú_param_models_namer"       s   € Ø�:‰:ÑC¹FÓCÓCÐCr   c               ó    € V ^8„  d   QhRRRR/# )r   r   r   r   ztuple[str, ...]r   )r   s   "r   r   r   $   s   € ÷ eñ eÐ&9ð e¸oñ er   c                ó<  a€ \        V ^ ,          P                  4      oV R,           F  pS\        VP                  4      ,          oK!  	  \        ;QJ d(    . V3R lV ^ ,          P                   4       F  NK  	  5# ! V3R lV ^ ,          P                   4       4      # )r   ºé   NNc              3  ó8   <"  € T F  qS9   g   K  Vx € K  	  R # 5ir   r   )r   Ú
field_nameÚshared_fieldss   & €r   r   Ú,_param_models_field_names.<locals>.<genexpr>(   s   øé € ÐdÑ.D 
ÐVcÑHc—’Ó.Dùs   ƒ�
)ÚsetÚmodel_fieldsÚtuple)r   r   r)   s   & @r   Ú_param_models_field_namesr.   $   sr   ø€ Ü˜˜q�	×.Ñ.Ó/€MØ˜R—j�jˆ
Øœ˜Z×4Ñ4Ó5Õ5Šñ !çŒ5Ôd¨f°Q­i×.DÒ.DÓd�5Ðdˆ5Ôd¨f°Q­i×.DÒ.DÓdÓdÐdr   c               ó$   € V ^8„  d   QhRRRRRR/# )r   Ú	model_objr   r   r   r   údict[str, Any]r   )r   s   "r   r   r   +   s"   € ÷ ñ ˜yð Ð2Eð È.ñ r   c                ó¶   € \        V4       Uu/ uF  pVR 8w  g   K  V\        W4      bK  	  pp\        V R R4      ;p'       d   VP                  V4       V# u upi )Ú
field_metaN)r.   ÚgetattrÚupdate)r0   r   r(   ÚkwargsÚmetas   &&   r   Úmodel_to_kwargsr8   +   si   € ô 4°FÔ;óá;ˆJØ˜Ñ%ô 	3ˆ
”G˜IÓ2Ò2Ù;ð ð ô
 �y ,°Ó5Ð5€tÖ5Ø�‰�dÔØ€Mùòs
   Ž	AœAc               ó    € V ^8„  d   QhRRRR/# )r   Úparamsr   r   r1   r   )r   s   "r   r   r   6   s   € ÷ Vñ V˜Yð V¨>ñ Vr   c                ó*   € V P                  RRRR7      # )z=Return a JSON-serializable representation used for RPC calls.T)Úby_aliasÚexclude_noneÚexclude_defaults)Ú
model_dump)r:   s   &r   Úserialize_paramsr@   6   s   € à×Ñ d¸ÐPTÐÓUÐUr   c               ó    € V ^8„  d   QhRRRR/# ©r   Úpayloadr   r   r1   r   )r   s   "r   r   r   ;   s   € ÷ ñ ˜cð  nñ r   c                óT   € V f   / # \        V \        4      '       d   \        V 4      # V # )zFConvert optional BaseModel/None responses into JSON-friendly payloads.)Ú
isinstancer   r@   ©rC   s   &r   Únormalize_resultrG   ;   s)   € à‚Øˆ	Ü�'œ9×%Ò%Ü Ó(Ð(Ø€Nr   c               ó    € V ^8„  d   QhRRRR/# rB   r   )r   s   "r   r   r   D   s   € ÷ 8ñ 8˜ð 8 ñ 8r   c                ó6   € \        V \        4      '       d   V # / # )z:Return payload when it is a dict, otherwise an empty dict.)rE   ÚdictrF   s   &r   Úensure_dictrK   D   s   € ä  ¬$×/Ò/ˆ7Ð7°RÐ7r   c               ó$   € V ^8„  d   QhRRRRRR/# ©r   rC   r   r   útype[ModelT]r   r	   r   )r   s   "r   r   r   I   s!   € ÷ .ñ .˜Cð .¨\ð .¸fñ .r   c                ó$   € VP                  V 4      # )z3Validate payload using the provided Pydantic model.)Úmodel_validate©rC   r   s   &&r   Úvalidate_modelrR   I   s   € à×$Ñ$ WÓ-Ð-r   c               ó$   € V ^8„  d   QhRRRRRR/# rM   r   )r   s   "r   r   r   N   s!   € ÷ ;ñ ; cð ;°|ð ;Èñ ;r   c                ó6   € VP                  \        V 4      4      # )zBValidate payload, coercing non-dict values to an empty dict first.)rP   rK   rQ   s   &&r   Úvalidate_model_from_dictrU   N   s   € à×$Ñ$¤[°Ó%9Ó:Ð:r   c               ó$   € V ^8„  d   QhRRRRRR/# )r   rC   r   r   rN   r   úModelT | Noner   )r   s   "r   r   r   S   s!   € ÷ ñ  Sð °lð À}ñ r   c                óT   € \        V \        4      '       d   VP                  V 4      # R# )z:Validate payload when it is a dict, otherwise return None.N)rE   rJ   rP   rQ   s   &&r   Úvalidate_optional_modelrY   S   s#   € ä�'œ4× Ò Ø×(Ñ(¨Ó1Ð1Ùr   c          
     ó,   € V ^8„  d   QhRRRRRRRRR	R
/# ©r   Úconnr   Úmethodr   r:   r   Úresponse_modelrN   r   r	   r   )r   s   "r   r   r   Z   s:   € ÷ 4ñ 4Ø
ð4àð4ð ð4ð !ð	4ð
 ñ4r   c              ƒ  ój   "  € V P                  V\        V4      4      G Rj  x€L
 p\        WC4      #  L5i)z@Send a request with serialized params and validate the response.N)Úsend_requestr@   rR   ©r\   r]   r:   r^   Úresponses   &&&& r   Úrequest_modelrc   Z   s3   é € ð ×&Ñ& vÔ/?ÀÓ/GÓH×H€HÜ˜(Ó3Ð3ñ Iùó   ‚3¡1¢3c          
     ó,   € V ^8„  d   QhRRRRRRRRR	R
/# r[   r   )r   s   "r   r   r   e   s:   € ÷ >ñ >Ø
ð>àð>ð ð>ð !ð	>ð
 ñ>r   c              ƒ  ój   "  € V P                  V\        V4      4      G Rj  x€L
 p\        WC4      #  L5i)zESend a request and validate the response, coercing non-dict payloads.N)r`   r@   rU   ra   s   &&&& r   Úrequest_model_from_dictrg   e   s3   é € ð ×&Ñ& vÔ/?ÀÓ/GÓH×H€HÜ# HÓ=Ð=ñ Iùrd   c          
     ó,   € V ^8„  d   QhRRRRRRRRR	R
/# )r   r\   r   r]   r   r:   r   r^   rN   r   rW   r   )r   s   "r   r   r   p   s:   € ÷ =ñ =Ø
ð=àð=ð ð=ð !ð	=ð
 ñ=r   c              ƒ  ój   "  € V P                  V\        V4      4      G Rj  x€L
 p\        WC4      #  L5i)z4Send a request and validate optional dict responses.N)r`   r@   rY   ra   s   &&&& r   Úrequest_optional_modelrj   p   s3   é € ð ×&Ñ& vÔ/?ÀÓ/GÓH×H€HÜ" 8Ó<Ð<ñ Iùrd   c               ó(   € V ^8„  d   QhRRRRRRRR/# )	r   r\   r   r]   r   r:   r   r   ÚNoner   )r   s   "r   r   r   {   s.   € ÷ Cñ C˜Zð C°ð C¸ið CÈDñ Cr   c              ƒ  óX   "  € V P                  V\        V4      4      G Rj  x€L
  R#  L5i)z+Send a notification with serialized params.N)Úsend_notificationr@   )r\   r]   r:   s   &&&r   Únotify_modelro   {   s!   é € à
×
 Ñ
  Ô)9¸&Ó)AÓ
B×BÔBùs   ‚*¡(¢*c               ó    € V ^8„  d   QhRRRR/# ©r   Ú	param_clsútype[BaseModel]r   zCallable[[MethodT], MethodT]r   )r   s   "r   r   r   €   s   € ÷ 	ñ 	˜?ð 	Ð/Kñ 	r   c                ó   a € R V 3R llpV# )zmDecorator to map the method parameters to a Pydantic model.
It is just a marker and does nothing at runtime.
c               ó    € V ^8„  d   QhRRRR/# ©r   Úfuncr   r   r   )r   s   "r   r   Ú!param_model.<locals>.__annotate__…   ó   € ÷ ñ ˜ð  Gñ r   c                ó   <€ SV n         V # r   )Ú__param_model__©rw   rr   s   &€r   Ú	decoratorÚparam_model.<locals>.decorator…   s   ø€ Ø(ˆÔØˆr   r   ©rr   r}   s   f r   Úparam_modelr€   €   s   ø€ ÷
ð ð Ðr   c               ó    € V ^8„  d   QhRRRR/# rq   r   )r   s   "r   r   r   Œ   s   € ÷ 	ñ 	˜_ð 	Ð1Mñ 	r   c                 ó@   a € S '       g   \        R4      hR V 3R llpV# )zIDecorator to mark a method as accepting multiple legacy parameter models.z0param_models() requires at least one model classc               ó    € V ^8„  d   QhRRRR/# rv   r   )r   s   "r   r   Ú"param_models.<locals>.__annotate__‘   ry   r   c                ó   <€ SV n         V # r   )Ú__param_models__r|   s   &€r   r}   Úparam_models.<locals>.decorator‘   s   ø€ Ø )ˆÔØˆr   )Ú
ValueErrorr   s   j r   Úparam_modelsr‰   Œ   s$   ø€ çÜÐKÓLÐL÷ð ð Ðr   c               ó    € V ^8„  d   QhRRRR/# )r   Ú	snake_strr   r   r   )r   s   "r   r   r   ˜   s   € ÷ Fñ F˜Sð F Sñ Fr   c                ó~   € V P                  R4      pV^ ,          RP                  R VR,           4       4      ,           # )z(Convert snake_case strings to camelCase.Ú_Ú c              3  ó@   "  € T F  qP                  4       x € K  	  R # 5ir   )Útitle)r   Úxs   & r   r   Ú to_camel_case.<locals>.<genexpr>›   s   é € Ð"E±n°§7¡7§9 9³nùs   ‚r%   )Úsplitr!   )r‹   Ú
componentss   & r   Úto_camel_caser•   ˜   s2   € à—‘ Ó%€JØ�a�=˜2Ÿ7™7Ñ"E°jÀ¶nÓ"EÓEÕEÐEr   c               ó$   € V ^8„  d   QhRRRRRR/# )r   rw   úCallable[..., T]Úmodelrs   r   úCallable[[Any, BaseModel], T]r   )r   s   "r   r   r   ž   s#   € ÷ ñ Ð,ð °_ð ÐIfñ r   c                óP   a a€ \         P                  ! S 4      R  V V3R ll4       pV# )c               ó    € V ^8„  d   QhRRRR/# ©r   r:   r   r   r   r   )r   s   "r   r   Ú'_make_legacy_func.<locals>.__annotate__    s   € ÷ $ñ $˜ið $¨Añ $r   c                ó6  <€ \         P                  ! R SP                   RSP                   R2\        ^R7       SP                   Uu/ uF  q"R8w  g   K  V\        W4      bK  	  pp\        VRR4      ;p'       d   VP                  V4       S! V 3/ VB # u upi )úCalling ú with ú= parameter is deprecated, please update to the new API style.©Ú
stacklevelr3   N)ÚwarningsÚwarnr   ÚDeprecationWarningr,   r4   r5   )Úselfr:   r(   r6   r7   rw   r˜   s   &&   €€r   ÚwrappedÚ"_make_legacy_func.<locals>.wrappedŸ   s¦   ø€ ä�ŠØ�t—}‘}�o V¨E¯N©NÐ+;ð <>ð >äØõ		
ð GL×FXÒFXó
ÙFX¸
ÐjvÑ\vÔ3ˆJœ Ó3Ò3ÑFXð 	ð 
ô ˜6 <°Ó6Ð6ˆ4Ö6Ø�M‰M˜$ÔÙ�DÑ#˜FÑ#Ð#ùò
s   ÁBÁB©Ú	functoolsÚwraps©rw   r˜   r¨   s   ff r   Ú_make_legacy_funcr®   ž   s*   ù€ Ü‡_‚_�TÓ÷$ð $ó ð$ð €Nr   c               ó$   € V ^8„  d   QhRRRRRR/# )r   rw   r—   r˜   rs   r   r   )r   s   "r   r   r   ±   s#   € ÷ ñ Ð 0ð ¸ð ÐM]ñ r   c                óP   a a€ \         P                  ! S 4      R  V V3R ll4       pV# )c               ó$   € V ^8„  d   QhRRRRRR/# ©r   Úargsr   r6   r   r   r   )r   s   "r   r   Ú+_make_compatible_func.<locals>.__annotate__³   s!   € ÷ +ñ +˜Sð +¨Cð +°Añ +r   c                ó  <€ R pV'       g   \        V4      ^8X  d   V^ ,          pM)V'       g"   \        V4      ^8X  d   VP                  R4      p\        VS4      '       d–   \        P                  ! RSP
                   RSP
                   R2\        ^R7       SP                   Uu/ uF  pVR8w  g   K  V\        W44      bK  	  pp\        VRR 4      ;p'       d   VP                  V4       S! V 3/ VB # S! V .VO5/ VB # u upi )Nr:   rŸ   r    r¡   r¢   r3   )
ÚlenÚgetrE   r¤   r¥   r   r¦   r,   r4   r5   )r§   r³   r6   Úparamr(   r7   rw   r˜   s   &*,   €€r   r¨   Ú&_make_compatible_func.<locals>.wrapped²   s  ø€ àˆßœ#˜d›) qœ.Ø˜•G‰Eßœ#˜f›+¨Ô*Ø—J‘J˜xÓ(ˆEÜ�e˜U×#Ò#Ü�MŠMØ˜4Ÿ=™=˜/¨°·±Ð/?ð @Eð Eä"Øõ	ð #(×"4Ò"4óá"4�JØ Ñ-ô 7�
œG EÓ6Ò6Ù"4ð ð ô
 ˜u l°DÓ9Ð9ˆtÖ9Ø—‘˜dÔ#Ù˜Ñ' Ñ'Ð'Ù�DÐ*˜4Ò* 6Ñ*Ð*ùòs   Â'	DÂ5Drª   r­   s   ff r   Ú_make_compatible_funcrº   ±   s*   ù€ Ü‡_‚_�TÓ÷+ð +ó ð+ð. €Nr   c               ó$   € V ^8„  d   QhRRRRRR/# )r   rw   r—   r   r   r   r™   r   )r   s   "r   r   r   Í   s$   € ÷ ñ Ð"2ð Ð<Oð ÐTqñ r   c                ój   a aa€ \        S4      o\        P                  ! S 4      R  V VV3R ll4       pV# )c               ó    € V ^8„  d   QhRRRR/# rœ   r   )r   s   "r   r   Ú-_make_multi_legacy_func.<locals>.__annotate__Ñ   s   € ÷ =ñ =˜ið =¨Añ =r   c                ó†   <€ \         P                  ! R SP                   RS R2\        ^R7       S! V 3/ \	        VS4      B # )rŸ   r    r¡   r¢   )r¤   r¥   r   r¦   r8   )r§   r:   rw   Ú
model_namer   s   &&€€€r   r¨   Ú(_make_multi_legacy_func.<locals>.wrappedÐ   sI   ø€ ä�ŠØ�t—}‘}�o V¨J¨<ð 8>ð >äØõ		
ñ �DÑ<œO¨F°FÓ;Ñ<Ð<r   ©r"   r«   r¬   ©rw   r   r¨   rÀ   s   ff @r   Ú_make_multi_legacy_funcrÄ   Í   s4   ú€ Ü# FÓ+€Jä‡_‚_�TÓ÷=ñ =ó ð=ð €Nr   c               ó$   € V ^8„  d   QhRRRRRR/# )r   rw   r—   r   r   r   r   )r   s   "r   r   r   Ý   s$   € ÷ ñ Ð&6ð Ð@Sð ÐXhñ r   c                ój   a aa€ \        S4      o\        P                  ! S 4      R  V VV3R ll4       pV# )c               ó$   € V ^8„  d   QhRRRRRR/# r²   r   )r   s   "r   r   Ú1_make_multi_compatible_func.<locals>.__annotate__á   s!   € ÷ +ñ +˜Sð +¨Cð +°Añ +r   c                ó\  <€ R pV'       g   \        V4      ^8X  d   V^ ,          pM)V'       g"   \        V4      ^8X  d   VP                  R4      p\        VS4      '       dB   \        P                  ! RSP
                   RS R2\        ^R7       S! V 3/ \        VS4      B # S! V .VO5/ VB # )Nr:   rŸ   r    r¡   r¢   )r¶   r·   rE   r¤   r¥   r   r¦   r8   )r§   r³   r6   r¸   rw   rÀ   r   s   &*, €€€r   r¨   Ú,_make_multi_compatible_func.<locals>.wrappedà   s¤   ø€ àˆßœ#˜d›) qœ.Ø˜•G‰Eßœ#˜f›+¨Ô*Ø—J‘J˜xÓ(ˆEÜ�e˜V×$Ò$Ü�MŠMØ˜4Ÿ=™=˜/¨°
¨|ð <Eð Eä"Øõ	ñ ˜Ñ?¤°°vÓ >Ñ?Ð?Ù�DÐ*˜4Ò* 6Ñ*Ð*r   rÂ   rÃ   s   ff @r   Ú_make_multi_compatible_funcrË   Ý   s4   ú€ Ü# FÓ+€Jä‡_‚_�TÓ÷+ñ +ó ð+ð  €Nr   c               ó    € V ^8„  d   QhRRRR/# )r   Úclsr   r   r   )r   s   "r   r   r   ô   s   € ÷ ñ ˜&ð  Vñ r   c           	     óÀ  € \        V 4       FÎ  p\        W4      p\        V4      '       g   K!  \        VRR4      p\        VRR4      pVf   Vf   KE  RV9   dM   Ve"   \        V \	        V4      \        W$4      4       Kq  Vf   Kw  \        V \	        V4      \        W#4      4       K˜  Ve   \        W\        W$4      4       K³  Vf   K¹  \        W\        W#4      4       KÐ  	  V # )z7Mark a class as backward compatible with old API style.r{   Nr†   r�   )	Údirr4   ÚcallableÚsetattrr•   rÄ   r®   rË   rº   )rÍ   Úattrrw   r˜   r   s   &    r   Úcompatible_classrÓ   ô   sÈ   € ä�C–ˆÜ�sÓ!ˆÜ˜�~Š~ÙÜ˜Ð/°Ó6ˆÜ˜Ð1°4Ó8ˆØŠ=˜Vš^ÙØ�$Œ;ØÒ!Ü˜œ]¨4Ó0Ô2IÈ$Ó2WÖXà’=ÙÜ˜œ]¨4Ó0Ô2CÀDÓ2PÖQàÒ!Ü˜Ô#>¸tÓ#LÖMà’=ÙÜ˜Ô#8¸Ó#EÖFñ+ ð, €Jr   )
rK   rG   ro   rc   rg   rj   r@   rR   rU   rY   )*Ú
__future__r   r«   r¤   Úcollections.abcr   Útypingr   r   Úpydanticr   Ú
connectionr   Ú__all__r	   r   Útyper   r   r-   r   r"   r.   r8   r@   rG   rK   rR   rU   rY   rc   rg   rj   ro   r€   r‰   r•   r®   rº   rÄ   rË   rÓ   r   r   r   Ú<module>rÛ      sÒ   ðÝ "ã Û Ý $ß å å "ò€ñ 
� Ô	+€Ù
�) 8Ô
,€Ù	� Ô	&€ÙˆCƒL€Ø˜D �O¨SÐ0Õ1Ð õDõeõõVõ
õ8õ
.õ
;õ
õ4õ>õ=õCõ
	õ	õFõõ&õ8õ ÷.r   