
    6i                       d dl mZ d dlZd dlmZ d dlmZmZmZm	Z	 d dl
Z
d dl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	ej$                  j*                  f	 	 	 	 	 	 	 dd       Ze	ej$                  j*                  f	 	 	 	 	 	 	 dd       Zej$                  j&                  f	 	 	 	 	 ddZy)    )annotationsN)	Awaitable)AnyTypeVarcastoverload)	BaseModel)	ParamSpecT_Model)boundT_ParamSpecc                     y N clientmodekwargss      m/root/.openclaw/workspace/visionaryfx/venv/lib/python3.12/site-packages/instructor/providers/cohere/client.pyfrom_coherer          
      c                     y r   r   r   s      r   r   r      r   r   c                     y r   r   r   s      r   r   r   !       
 "%r   c                     y r   r   r   s      r   r   r   )   r   r   c           
     r    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      }t         t        j                  t        j                  f      rd}nQt         t        j                  t        j                  f      rd}n$ddlm}  |dt               j                         ||d	<   |rMd fd
}	t        j                   d t        j"                  |	|      t         j$                  j&                  |d|S d fd}
t        j(                  d t        j"                  |
|      t         j$                  j&                  |d|S c c}w )N   )	ModeErrorCohere)r   providervalid_modesv2v1)ClientErrorzsClient must be an instance of cohere.Client or cohere.AsyncClient or cohere.ClientV2 or cohere.AsyncClientV2. Got: _cohere_client_versionc                    K   |j                  dd      r j                  | i |S  j                  | i |}t        j                  |      rt        t        t           |       d {   S |S 7 wNstreamF)popchat_streamchatinspectisawaitabler   r   r   )argscall_kwargsresultr   s      r   async_wrapperz"from_cohere.<locals>.async_wrapperT   sn     x/)v))4?;?? V[[$6+6F""6*!)C.&999M :s   A&A2)A0*A2)creater   )r   r3   r!   r   c                 p    |j                  dd      r j                  | i |S  j                  | i |S r(   )r*   r+   r,   )r/   r0   r   s     r   sync_wrapperz!from_cohere.<locals>.sync_wrappere   s?    x/)v))4?;??6;;444r   )r/   r   r0   r   r   )
instructorModeCOHERE_TOOLSCOHERE_JSON_SCHEMAcore.exceptionsr   str
isinstancecohereAsyncClientAsyncClientV2ClientV2Clientr%   type__name__AsyncInstructorpatchProviderCOHERE
Instructor)r   r   r   r"   r   mis_asyncclient_versionr%   r2   r5   s   `          r   r   r   1   s    	$$**K
 ;0TXK;XqCF;X
 	

 &6#5#5v7K7K"LMH&6??F,@,@AB	FV]]F,>,>?	@2L))*,
 	
 (6F#$	 )) 
##=tD((//	

 
 	
	5
 $$ 
##<dC((//	

 
 	
W <Ys   F4)r   zcohere.Clientr   instructor.Moder   r   returninstructor.Instructor)r   zcohere.ClientV2r   rL   r   r   rM   rN   )r   zcohere.AsyncClientr   rL   r   r   rM   instructor.AsyncInstructor)r   zcohere.AsyncClientV2r   rL   r   r   rM   rO   )r   zKcohere.Client | cohere.AsyncClient | cohere.ClientV2 | cohere.AsyncClientV2r   rL   r   r   )
__future__r   r-   collections.abcr   typingr   r   r   r   r=   r6   pydanticr	   typing_extensionsr
   r   r   r7   r8   r   r9   r   r   r   <module>rU      s   "  % / /    ' )9
-& 
 'OO88  
    	  
  
 'OO88  
    	  
  
 'OO>>%%
% %  	% 
% 
 'OO>>% %
% %  	% 
% 'OO88?
W?

?
 ?
r   