
    {h
                    $   d dl mZ d dlmZmZmZ d dlmZ d dl	Z	ee	j                  j                  df	 	 	 	 	 	 	 	 	 d	d       Zee	j                  j                  df	 	 	 	 	 	 	 	 	 d
d       Ze	j                  j                  df	 	 	 	 	 	 	 	 	 ddZy)    )annotations)AnyLiteraloverloadNTc                     y N clientmode	use_asynckwargss       Y/var/www/html/hubwallet-dev/venv/lib/python3.12/site-packages/instructor/client_gemini.pyfrom_geminir      s     "%    Fc                     y r   r	   r
   s       r   r   r      s      r   c           
        dd l }|j                  dt        d       t        j                  j
                  t        j                  j                  h}||vr1ddlm}  |t        |      d|D cg c]  }t        |       c}      t        | t        j                        s$ddlm}  |d	t        |       j                         |rS| j                   }	t        j"                  d| t        j$                  |	|
      t        j&                  j(                  |d|S | j*                  }	t        j,                  d| t        j$                  |	|
      t        j&                  j(                  |d|S c c}w )Nr   a  from_gemini is deprecated and will be removed in a future version. Please use from_genai or from_provider instead. Install google-genai with: pip install google-genai
Example migration:
  # Old way
  from instructor import from_gemini
  import google.generativeai as genai
  client = from_gemini(genai.GenerativeModel('gemini-1.5-flash'))

  # New way
  from instructor import from_genai
  from google import genai
  client = from_genai(genai.Client())
  # OR use from_provider
  client = instructor.from_provider('google/gemini-1.5-flash')   )
stacklevel)	ModeErrorGemini)r   providervalid_modes)ClientErrorz:Client must be an instance of genai.GenerativeModel. Got: )creater   )r   r   r   r   r	   )warningswarnDeprecationWarning
instructorModeGEMINI_JSONGEMINI_TOOLSinstructor.exceptionsr   str
isinstancegenaiGenerativeModelr   type__name__generate_content_asyncAsyncInstructorpatchProviderGEMINIgenerate_content
Instructor)
r   r   r   r   r   r   r   mr   r   s
             r   r   r      sj    MM	I 	!  ( 	##$$K
 ;3TXK;XqCF;X
 	
 fe3345L))*,
 	

 ..)) 
##6=((//	

 
 	
 $$F   vD9$$++	
  - <Ys   ,E,)
r   genai.GenerativeModelr   instructor.Moder   zLiteral[True]r   r   returnzinstructor.AsyncInstructor)
r   r2   r   r3   r   zLiteral[False]r   r   r4   zinstructor.Instructor)
r   r2   r   r3   r   boolr   r   r4   z2instructor.Instructor | instructor.AsyncInstructor)
__future__r   typingr   r   r   google.generativeaigenerativeair&   r   r    r!   r   r	   r   r   <module>r:      s   " ) ) #  
 'OO77#%!%
% % 	%
  % 
% 
 'OO77 % ! 
    	 
   
  'OO77@!@
@ @ 	@
 8@r   