o
    _i<                     @   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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   X/home/air/demo/back/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   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rGtdt | dgd urStd|S )Nidargsnamepartial_argsz6partial_args parameter is not supported in Gemini API.will_continuez7will_continue parameter is not supported in Gemini API.r   r   r   r   r   _FunctionCall_to_mldev   s   r=   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   rA   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   rF   c              
      sX  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 t |d(gd urtd)S )*Ngeneration_configsetupgenerationConfigresponse_modalities)rH   rI   responseModalitiestemperature)rH   rI   rL   top_p)rH   rI   topPtop_k)rH   rI   topKmax_output_tokens)rH   rI   maxOutputTokensmedia_resolution)rH   rI   mediaResolutionseed)rH   rI   rU   speech_config)rH   rI   speechConfigthinking_config)rH   rI   thinkingConfigenable_affective_dialog)rH   rI   enableAffectiveDialogsystem_instructionsystemInstructiontoolsc                    s   g | ]}t t |qS r   )_Tool_to_mldevtt_toolr   r$   r   r   r   r!   4  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explicit_vad_signalz=explicit_vad_signal parameter is not supported in Gemini API.)	r   r   r`   t_live_speech_configr#   	t_contentt_tools!_SessionResumptionConfig_to_mldevr   )r$   r
   r   r   rb   r   _LiveConnectConfig_to_mldev   s   









	




rs   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modelrH   r1   )r   r   r`   t_modelrs   r/   r   r   r   r.   n  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rgt|d
gtt | d	g| t | dgd urzt|dg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 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 )NrS   rT   code_execution_resultcodeExecutionResultexecutable_codeexecutableCode	file_datafileDatafunction_callfunctionCallfunction_responsefunctionResponseinline_data
inlineDatatextthoughtthought_signaturethoughtSignaturevideo_metadatavideoMetadata)r   r   r7   r=   r   r   r   r   r   r     sd   


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   rr     s   rr   c                 C   s~  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 t | dgd urGt|dgt | dg t | d	gd urStd
t | dgd urkt|dgdd t | dg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 t | dgd urt|dgt | dg |S )N	retrievalz3retrieval parameter is not supported in Gemini API.computer_usecomputerUsefile_search
fileSearchcode_executioncodeExecutionenterprise_web_searchz?enterprise_web_search parameter is not supported in Gemini API.function_declarationsfunctionDeclarationsc                 S   s   g | ]}|qS r   r   r   r   r   r   r!     s    z"_Tool_to_mldev.<locals>.<listcomp>google_maps
googleMapsgoogle_searchgoogleSearchgoogle_search_retrievalgoogleSearchRetrievalurl_context
urlContext)r   r   r   rA   rF   r   r   r   r   r_     sP   
r_   )N)typingr   r   r    r   r`   _api_clientr   _commonr   r   r	   r   dictstrobjectr   r#   r0   r2   r3   r7   r=   rA   rF   rs   r.   r   rr   r_   r   r   r   r   <module>   s   





,













 



E


