o
    iY8                     @   s~  d dl mZmZmZ ddlmZ ddlmZ ddl	m
Z ddl	mZ 	d&deeeef ef d	eeeef  d
eeef fddZ	d&deeeef ef d	eeeef  d
eeef fddZ	d&dedeeeef ef d	eeeef  d
eeef fddZ	d&dedeeeef ef d	eeeef  d
eeef fddZ	d&deeeef ef d	eeeef  d
eeef fddZ	d&deeeef ef d	eeeef  d
eeef fddZ	d&deeeef ef d	eeeef  d
eeef fddZ	d&deeeef ef d	eeeef  d
eeef fddZ	d&dedeeeef ef d	eeeef  d
eeef fddZ	d&dedeeeef ef d	eeeef  d
eeef fddZ	d&deeeef ef d	eeeef  d
eeef fd d!Z	d&deeeef ef d	eeeef  d
eeef fd"d#Z	d&deeeef ef d	eeeef  d
eeef fd$d%ZdS )'    )AnyOptionalUnion   )_transformers)BaseApiClient)get_value_by_path)set_value_by_pathNfrom_objectparent_objectreturnc                 C   sl   i }t | dgd urt|dgt | dg t | dgd ur!tdt | dgd ur4t|dgt | dg |S )Ndatadisplay_name6display_name parameter is not supported in Gemini API.	mime_typemimeTypegetvsetv
ValueErrorr
   r   	to_object r   e/var/www/html/karishye-ai-python/venv/lib/python3.10/site-packages/google/genai/_tokens_converters.py_Blob_to_mldev   s   r   c                    sb   i  t | dgd urt dg fddt | dgD  t | dgd ur/t dgt | dg  S )Npartsc                    s   g | ]}t | qS r   )_Part_to_mldev.0itemr   r   r   
<listcomp>4   s    z%_Content_to_mldev.<locals>.<listcomp>role)r   r   )r
   r   r   r    r   _Content_to_mldev+   s   

	r#   
api_clientc                 C   s   i }t |dgd urt|dgt |dg t |dgd ur(t|dgt |dg t |dgd ur;t|dgt |dg t |dgd urRt|dgt| t |dg| t |dgd uret|d	gt |dg |S )
Nexpire_time
expireTimenew_session_expire_timenewSessionExpireTimeuseslive_connect_constraintsbidiGenerateContentSetuplock_additional_fields	fieldMask)r   r    _LiveConnectConstraints_to_mldevr$   r
   r   r   r   r   r   _CreateAuthTokenConfig_to_mldev@   s8   



r0   c                 C   s6   i }t |dgd urt|dgt| t |dg| |S )Nconfig)r   r   r0   r/   r   r   r   #_CreateAuthTokenParameters_to_mldevi   s   r2   c                 C   s    i }t | dgd urtd|S )Nr1   z/config parameter is not supported in Vertex AI.)r   r   r   r   r   r   $_CreateAuthTokenParameters_to_vertex{   s   r3   c                 C   sl   i }t | dgd urtdt | dgd ur!t|dgt | dg t | dgd ur4t|dgt | dg |S )Nr   r   file_urifileUrir   r   r   r   r   r   r   r   r   _FileData_to_mldev   s   r7   c                 C   sF   i }t | dgd urtdt | dgd ur!t|dgt | dg |S )Nauth_configz5auth_config parameter is not supported in Gemini API.enable_widgetenableWidgetr6   r   r   r   r   _GoogleMaps_to_mldev   s   r;   c                 C   s^   i }t | dgd urtdt | dgd urtdt | dgd ur-t|dgt | dg |S )Nexclude_domainsz9exclude_domains parameter is not supported in Gemini API.blocking_confidencez=blocking_confidence parameter is not supported in Gemini API.time_range_filtertimeRangeFilterr6   r   r   r   r   _GoogleSearch_to_mldev   s   r@   c              
      s>  i t |dgd urt|ddgt |dg t |dgd ur*t|g dt |dg t |dgd ur>t|g dt |dg t |dgd urRt|g d	t |dg t |d
gd urft|g dt |d
g t |dgd urzt|g dt |dg t |dgd urt|g dt |dg t |dgd urt|g dt |dg t |dgd urt|g dtt |dg t |dgd urt|g dt |dg t |dgd urt|g dt |dg t |dgd urt|ddgttt |dg t |dgd urt|ddg fddt t |dgD  t |dgd ur4t|ddgtt |dg t |dgd urIt|dd gt |dg t |d!gd ur^t|dd"gt |d!g t |d#gd urst|dd$gt |d#g t |d%gd urt|dd&gt |d%g t |d'gd urt|dd'gt |d'g S )(Ngeneration_configsetupgenerationConfigresponse_modalities)rB   rC   responseModalitiestemperature)rB   rC   rF   top_p)rB   rC   topPtop_k)rB   rC   topKmax_output_tokens)rB   rC   maxOutputTokensmedia_resolution)rB   rC   mediaResolutionseed)rB   rC   rO   speech_config)rB   rC   speechConfigthinking_config)rB   rC   thinkingConfigenable_affective_dialog)rB   rC   enableAffectiveDialogsystem_instructionsystemInstructiontoolsc                    s   g | ]}t t |qS r   )_Tool_to_mldevtt_toolr   r$   r   r   r   r!     s    z/_LiveConnectConfig_to_mldev.<locals>.<listcomp>session_resumptionsessionResumptioninput_audio_transcriptioninputAudioTranscriptionoutput_audio_transcriptionoutputAudioTranscriptionrealtime_input_configrealtimeInputConfigcontext_window_compressioncontextWindowCompressionproactivity)r   r   rZ   t_live_speech_configr#   	t_contentt_tools!_SessionResumptionConfig_to_mldev)r$   r
   r   r   r\   r   _LiveConnectConfig_to_mldev   s   









	




rl   c              	   C   sf   i }t |dgd urt|ddgt| t |dg t |dgd ur1t|dgt| t |dg| |S )NmodelrB   r1   )r   r   rZ   t_modelrl   r/   r   r   r   r.   R  s    r.   c                 C   s  i }t | dgd urt|dgt | dg t | dgd ur(t|dgt | dg t | dgd ur;t|dgt | dg t | dgd urQt|dgtt | dg| t | d	gd urdt|d
gt | d	g t | dgd urzt|dgtt | dg| t | dgd urt|dgt | dg t | dgd urt|dgt | dg t | dgd urt|dgt | dg t | dgd urt|dgt | dg |S )Nfunction_callfunctionCallcode_execution_resultcodeExecutionResultexecutable_codeexecutableCode	file_datafileDatafunction_responsefunctionResponseinline_data
inlineDatatextthoughtthought_signaturethoughtSignaturevideo_metadatavideoMetadata)r   r   r7   r   r   r   r   r   r   k  sT   


r   c                 C   sF   i }t | dgd urt|dgt | dg t | dgd ur!td|S )Nhandletransparentz5transparent parameter is not supported in Gemini API.r   r   r   r   r   rk     s   rk   c                 C   s~  i }t | dgd urt|dgdd t | dgD  t | dgd ur&tdt | dgd ur9t|dgt | dg t | d	gd urLt|d
gt | d	g t | dgd ur_t|dgt | dg t | dgd urrt|dgt | dg t | dgd ur~tdt | dgd urt|dgtt | dg| t | dgd urt|dgtt | dg| t | dgd urt|dgt | dg |S )Nfunction_declarationsfunctionDeclarationsc                 S   s   g | ]}|qS r   r   r   r   r   r   r!     s    z"_Tool_to_mldev.<locals>.<listcomp>	retrievalz3retrieval parameter is not supported in Gemini API.google_search_retrievalgoogleSearchRetrievalcomputer_usecomputerUsefile_search
fileSearchcode_executioncodeExecutionenterprise_web_searchz?enterprise_web_search parameter is not supported in Gemini API.google_maps
googleMapsgoogle_searchgoogleSearchurl_context
urlContext)r   r   r   r;   r@   r   r   r   r   rY     sP   
rY   )N)typingr   r   r    r   rZ   _api_clientr   _commonr   r   r	   r   dictstrobjectr   r#   r0   r2   r3   r7   r;   r@   rl   r.   r   rk   rY   r   r   r   r   <module>   s   





,











 



<


