
    {h                    N   d dl mZ d dlZd dlZd dlmZmZ d dlmZ d dlm	Z	 d dl
mZ  ede      Z e	d	      Zeej                  j                  f	 	 	 	 	 	 	 dd
       Zeej                  j"                  f	 	 	 	 	 	 	 dd       Zej                  j                  f	 	 	 	 	 ddZy)    )annotationsN)TypeVaroverload)Any)	ParamSpec)	BaseModelT_Model)boundT_ParamSpecc                     y N clientmodekwargss      Y/var/www/html/hubwallet-dev/venv/lib/python3.12/site-packages/instructor/client_cohere.pyfrom_coherer      s    
      c                     y r   r   r   s      r   r   r      s    
 "%r   c           
     (   t         j                  j                  t         j                  j                  h}||vr1ddlm}  |t        |      d|D cg c]  }t        |       c}      t        | t        j                  t        j                  f      s$ddlm}  |dt        |       j                         t        | t        j                        rQt        j                  d	| t        j                  | j                   |      t         j"                  j$                  |d|S t        | t        j                        rQt        j&                  d	| t        j                  | j                   |      t         j"                  j$                  |d|S y c c}w )
Nr   )	ModeErrorCohere)r   providervalid_modes)ClientErrorzHClient must be an instance of cohere.Client or cohere.AsyncClient. Got: )creater   )r   r   r   r   r   )
instructorModeCOHERE_TOOLSCOHERE_JSON_SCHEMAinstructor.exceptionsr   str
isinstancecohereClientAsyncClientr   type__name__
InstructorpatchchatProviderCOHEREAsyncInstructor)r   r   r   r   r   mr   s          r   r   r   "   sa    	$$**K
 ;3TXK;XqCF;X
 	
 fv}}f.@.@AB5L))*,
 	

 &&--($$ 
##6;;TB((//	

 
 	
 &&,,-)) 
##6;;TB((//	

 
 	
 .) <Ys   F)r   zcohere.Clientr   instructor.Moder   r   returnzinstructor.Instructor)r   zcohere.AsyncClientr   r1   r   r   r2   zinstructor.AsyncInstructor)r   z"cohere.Client | cohere.AsyncClientr   r1   r   r   )
__future__r   r%   r   typingr   r   r   typing_extensionsr   pydanticr   r	   r   r   r    r   r!   r   r   r   <module>r7      s    "    '  )9
-& 
 'OO88  
    	  
  
 'OO>>%%
% %  	% 
% 'OO88)
.)

)
 )
r   