
     `iT                    P    d dl mZ d dlZd dlmZmZ dd
Z e            dddZdS )    )annotationsN)AnyCallablefuncCallable[..., Any]arg_namestrreturnboolc                <    t          j        |           }||j        v S )zBReturns whether or not the given function has a specific parameter)inspect	signature
parameters)r   r   sigs      p/home/jaya/work/projects/VOICE-AGENT/VIET/agent-env/lib/python3.11/site-packages/anthropic/_utils/_reflection.pyfunction_has_argumentr      s    

D
!
!Cs~%%    )exclude_paramssource_func
check_funcr   set[str]Nonec               "   t          j        |          }t          j        |           }g }|j                                        D ]\  }}||v r
|j                            |          }|s|                    d| d           @|j        |j        k    rC|                    d| dt          |j                   dt          |j                              |r5t          t          |           dd
                    |          z             dS )	zCEnsure that the signature of the second function matches the first.zthe `z` param is missingztypes for the `z!` param are do not match; source=z
 checking=z0 errors encountered when comparing signatures:

z

N)r   r   r   itemsgetappend
annotationreprAssertionErrorlenjoin)	r   r   r   	check_sig
source_sigerrorsnamesource_paramcustom_params	            r   assert_signatures_in_syncr(      sk    !*--I";//JF(399;;  l>!! +//55 	MM:$:::;;;"l&===MM R$  R  RlNeIfIf  R  Rrv  xD  xO  sP  sP  R  R   	 >  wF___bhbmbmntbubuuvvvw wr   )r   r   r   r	   r
   r   )r   r   r   r   r   r   r
   r   )	
__future__r   r   typingr   r   r   setr(    r   r   <module>r-      s    " " " " " "                 & & & &  #suu	w w w w w w w wr   