Ë
    ÅÏÉi»  ã                  óv   — 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y)z1Signature and dependency parameter introspection.é    )ÚannotationsN)ÚCallable)ÚAnyé   )Ú
Dependencyz+dict[Callable[..., Any], inspect.Signature]Ú_signature_cachec                óÈ   — | 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)ÚfunctionÚsignature_attrr   s      új/Users/bowang/.openclaw/workspace/ChatDev/.venv/lib/python3.12/site-packages/uncalled_for/introspection.pyÚget_signaturer      sf   € àÔ#Ñ#Ü Ñ)Ð)ä˜X ¸Ó=€NÜ.¤'×"3Ñ"3Ô4Ø%3Ô˜Ñ"ØÐä×!Ñ! (Ó+€IØ!*ÔXÑØÐó    z4dict[Callable[..., Any], dict[str, Dependency[Any]]]Ú_parameter_cachec                óì   — | t         v r	t         |    S i }t        | «      }|j                  j                  «       D ]/  \  }}t	        |j
                  t        «      sŒ!|j
                  ||<   Œ1 |t         | <   |S )z8Find parameters whose defaults are Dependency instances.)r   r   Ú
parametersÚitemsr   Údefaultr   )r   Údependenciesr   ÚnameÚ	parameters        r   Úget_dependency_parametersr       sw   € ð Ô#Ñ#Ü Ñ)Ð)à/1€LÜ˜hÓ'€Ià$×/Ñ/×5Ñ5Ö7‰ˆˆiÜi×'Ñ'¬Õ4Ø!*×!2Ñ!2ˆL˜Òð 8ð ".ÔXÑØÐr   )r   úCallable[..., Any]Úreturnzinspect.Signature)r   r   r   zdict[str, Dependency[Any]])Ú__doc__Ú
__future__r   r   Úcollections.abcr   Útypingr   Úbaser   r   Ú__annotations__r   r   r   © r   r   Ú<module>r'      sM   ðÚ 7å "ã Ý $Ý å à@BÐ Ð=Ó Bóð JLÐ ÐFÓ KðØ ðàôr   