§
    %Èj»  ã                  óp   — U d Z ddlmZ ddlZddlmZ ddlmZ ddlm	Z	 i Z
ded	<   dd„Zi Zded<   dd„ZdS )z1Signature and dependency parameter introspection.é    )ÚannotationsN)ÚCallable)ÚAnyé   )Ú
Dependencyz+dict[Callable[..., Any], inspect.Signature]Ú_signature_cacheÚfunctionúCallable[..., Any]Úreturnúinspect.Signaturec                óÜ   — | t           v rt           |          S t          | dd¦  «        }t          |t          j        ¦  «        r|t           | <   |S t          j        | ¦  «        }|t           | <   |S )z&Get a cached signature for a function.Ú__signature__N)r   ÚgetattrÚ
isinstanceÚinspectÚ	SignatureÚ	signature)r	   Úsignature_attrr   s      úb/home/rurouni/.hermes/hermes-agent/venv/lib/python3.11/site-packages/uncalled_for/introspection.pyÚget_signaturer      sq   € àÕ#Ð#Ð#Ý Ô)Ð)å˜X ¸Ñ=Ô=€NÝ.¥'Ô"3Ñ4Ô4ð Ø%3Õ˜Ñ"ØÐåÔ! (Ñ+Ô+€IØ!*ÕXÑØÐó    z4dict[Callable[..., Any], dict[str, Dependency[Any]]]Ú_parameter_cacheúdict[str, Dependency[Any]]c                óî   — | t           v rt           |          S i }t          | ¦  «        }|j                             ¦   «         D ])\  }}t	          |j        t          ¦  «        r
|j        ||<   Œ*|t           | <   |S )z8Find parameters whose defaults are Dependency instances.)r   r   Ú
parametersÚitemsr   Údefaultr   )r	   Údependenciesr   ÚnameÚ	parameters        r   Úget_dependency_parametersr!       sƒ   € ð Õ#Ð#Ð#Ý Ô)Ð)à/1€LÝ˜hÑ'Ô'€Ià$Ô/×5Ò5Ñ7Ô7ð 3ð 3‰ˆˆiÝiÔ'­Ñ4Ô4ð 	3Ø!*Ô!2ˆL˜Ñøà!-ÕXÑØÐr   )r	   r
   r   r   )r	   r
   r   r   )Ú__doc__Ú
__future__r   r   Úcollections.abcr   Útypingr   Úbaser   r   Ú__annotations__r   r   r!   © r   r   ú<module>r)      s¹   ðØ 7Ð 7Ð 7à "Ð "Ð "Ð "Ð "Ð "à €€€Ø $Ð $Ð $Ð $Ð $Ð $Ø Ð Ð Ð Ð Ð à Ð Ð Ð Ð Ð à@BÐ Ð BÐ BÐ BÑ Bðð ð ð ð JLÐ Ð KÐ KÐ KÑ Kðð ð ð ð ð r   