
    6iX                    V   d dl mZ d dlmZmZmZ d dlZd dlmZ d dl	Z	ddl
mZmZ ee	j                  j                  df	 	 	 	 	 	 	 	 	 dd       Zee	j                  j                  d	f	 	 	 	 	 	 	 	 	 dd
       Z	 	 	 	 	 	 ddZe	j                  j"                  ddf	 	 	 	 	 	 	 	 	 	 	 ddZy)    )annotations)AnyLiteraloverloadN)
BaseClient   )AsyncInstructor
InstructorFc                     y N clientmodeasync_clientkwargss       n/root/.openclaw/workspace/visionaryfx/venv/lib/python3.12/site-packages/instructor/providers/bedrock/client.pyfrom_bedrockr      s         Tc                     y r   r   r   s       r   r   r      s     r   c                
    | |fS )z
    This function is deprecated and no longer used.
    Bedrock JSON handling is now done in process_response.py via handle_bedrock_json().
    r   )response_model
new_kwargss     r   handle_bedrock_jsonr      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              s$ddlm	}  |dt               j                         ||st        j                  dt        d	
       |xs
 |duxr |du }	d fd}
 j                  }|	r=t!        d t        j"                  |
|      t         j$                  j&                  |d|S t)        d t        j"                  ||      t         j$                  j&                  |d|S c c}w )z[
    Accepts both 'async_client' (preferred) and '_async' (deprecated) for async mode.
    r   )	ModeErrorBedrock)r   providervalid_modes)ClientErrorz>Client must be an instance of boto3.client (BaseClient). Got: NzPThe '_async' argument to from_bedrock is deprecated. Use 'async_client' instead.   )
stacklevelTc                 0   K    j                   di | S w)Nr   )converse)r   r   s    r   async_wrapperz#from_bedrock.<locals>.async_wrapperT   s     v(((s   )creater   )r   r&   r   r   )r   r   r   )
instructorModeBEDROCK_TOOLSBEDROCK_JSONcore.exceptionsr   str
isinstancer   r    type__name__warningswarnDeprecationWarningr$   r	   patchProviderBEDROCKr
   )r   r   r   _asyncr   r   r   mr    	use_asyncr%   r&   s   `           r   r   r   )   sh    	%%$$K
 ;0T)45AQ5
 	
 fj)2L))*,
 	
 ,^	
 Gt!3!F$I) __F 
##=tD((00	

 
 	
  
##6=((00	

 
 	
I 6s   E)
r   r   r   instructor.Moder   zLiteral[False]r   r   returnr
   )
r   r   r   r9   r   zLiteral[True]r   r   r:   r	   )r   r   r   r   r:   ztuple[Any, Any])r   r   r   r9   r   boolr6   zbool | Noner   r   r:   zInstructor | AsyncInstructor)
__future__r   typingr   r   r   r0   botocore.clientr   r'   core.clientr	   r
   r(   r)   r   r   r*   r   r   r   <module>r@      s3   " ) )  &  6 
 'OO99#(
 ! 	
  
 
 'OO99"&
   	
  
&&& & 'OO88	?
?

?
 ?
 	?

 ?
 "?
r   