Ë
    áß²je  ã                   óJ   — d Z ddlZdedefd„Zddœdededefd	„Zdedefd
„Zy)ué   Lazy forwarding helpers shared by the AIAgent faÃ§ade and its mixins.

Targets are resolved on every call, so ``patch("<module>.<name>")`` in tests still
intercepts and the heavy agent modules stay off the ``run_agent`` import path.
é    NÚmoduleÚnamec                 ó@   — t        t        j                  | «      |«      S )z%Resolve ``module.name`` at call time.)ÚgetattrÚ	importlibÚimport_module©r   r   s     ú7/home/ubuntu/.hermes/hermes-agent/agent/lazy_forward.pyÚ	lazy_attrr   	   s   € ä”9×*Ñ*¨6Ó2°DÓ9Ð9ó    F©Ústaticr   c                óz   ‡ ‡— |rˆ ˆfd„}nˆ ˆfd„}‰x|_         |_        d‰ › d‰› d�|_        |rt        |«      S |S )zˆBuild an AIAgent method that lazily forwards to ``module.name``
    (``target(self, *args, **kwargs)``; ``static=True`` drops ``self``).c                  ó(   •—  t        ‰‰«      | i |¤ŽS ©N©r   )ÚargsÚkwargsr   r   s     €€r
   Ú	forwarderzforward.<locals>.forwarder   s   ø€ Ø*”9˜V TÓ*¨DÐ;°FÑ;Ð;r   c                 ó0   •—  t        ‰‰«      | g|¢­i |¤ŽS r   r   )Úselfr   r   r   r   s      €€r
   r   zforward.<locals>.forwarder   s!   ø€ Ø*”9˜V TÓ*¨4ÐA°$ÒA¸&ÑAÐAr   u   Forwarder â€” see ``ú.z``.)Ú__name__Ú__qualname__Ú__doc__Ústaticmethod)r   r   r   r   s   ``  r
   Úforwardr      sL   ù€ ñ ö	<õ	Bà26Ð6€IÔ˜Ô/Ø.¨v¨h°a¸°v¸SÐA€IÔÙ&,Œ<˜	Ó"Ð;°)Ð;r   c                 ó   — t        | |d¬«      S )NTr   )r   r	   s     r
   Úforward_staticr      s   € Ü�6˜4¨Ô-Ð-r   )r   r   Ústrr   Úboolr   r   © r   r
   ú<module>r#      sT   ðñó
 ð:�cð : ó :ð
 7<ò <�Cð <˜sð <¨tó <ð.˜3ð . cô .r   