o
    iD                     @   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 	djdeeeef ef d	eeeef  d
eeef fddZ	djdeeeef ef d	eeeef  d
eeef fddZ	djdeeeef ef d	eeeef  d
eeef fddZ	djdeeeef ef d	eeeef  d
eeef fddZ	djdeeeef ef d	eeeef  d
eeef fddZ	djdeeeef ef d	eeeef  d
eeef fddZ	djdeeeef ef d	eeeef  d
eeef fddZ	djdeeeef ef d	eeeef  d
eeef fddZ	djdeeeef ef d	eeeef  d
eeef fddZ	djdeeeef ef d	eeeef  d
eeef fddZ	djdeeeef ef d	eeeef  d
eeef fdd Z	djdeeeef ef d	eeeef  d
eeef fd!d"Z	djdeeeef ef d	eeeef  d
eeef fd#d$Z	djd%edeeeef ef d	eeeef  d
eeef fd&d'Z	djd%edeeeef ef d	eeeef  d
eeef fd(d)Z	djdeeeef ef d	eeeef  d
eeef fd*d+Z 	djdeeeef ef d	eeeef  d
eeef fd,d-Z!	djd%edeeeef ef d	eeeef  d
eeef fd.d/Z"	djd%edeeeef ef d	eeeef  d
eeef fd0d1Z#	djd%edeeeef ef d	eeeef  d
eeef fd2d3Z$	djd%edeeeef ef d	eeeef  d
eeef fd4d5Z%	djd%edeeeef ef d	eeeef  d
eeef fd6d7Z&	djd%edeeeef ef d	eeeef  d
eeef fd8d9Z'	djdeeeef ef d	eeeef  d
eeef fd:d;Z(	djdeeeef ef d	eeeef  d
eeef fd<d=Z)	djdeeeef ef d	eeeef  d
eeef fd>d?Z*	djdeeeef ef d	eeeef  d
eeef fd@dAZ+	djdeeeef ef d	eeeef  d
eeef fdBdCZ,	djdeeeef ef d	eeeef  d
eeef fdDdEZ-	djdeeeef ef d	eeeef  d
eeef fdFdGZ.	djdeeeef ef d	eeeef  d
eeef fdHdIZ/	djdeeeef ef d	eeeef  d
eeef fdJdKZ0	djdeeeef ef d	eeeef  d
eeef fdLdMZ1	djdeeeef ef d	eeeef  d
eeef fdNdOZ2	djdeeeef ef d	eeeef  d
eeef fdPdQZ3	djdeeeef ef d	eeeef  d
eeef fdRdSZ4	djdeeeef ef d	eeeef  d
eeef fdTdUZ5	djdeeeef ef d	eeeef  d
eeef fdVdWZ6	djdeeeef ef d	eeeef  d
eeef fdXdYZ7	djdeeeef ef d	eeeef  d
eeef fdZd[Z8	djdeeeef ef d	eeeef  d
eeef fd\d]Z9	djdeeeef ef d	eeeef  d
eeef fd^d_Z:	djdeeeef ef d	eeeef  d
eeef fd`daZ;	djdeeeef ef d	eeeef  d
eeef fdbdcZ<	djdeeeef ef d	eeeef  d
eeef fdddeZ=	djdeeeef ef d	eeeef  d
eeef fdfdgZ>	djdeeeef ef d	eeeef  d
eeef fdhdiZ?dS )k    )AnyOptionalUnion   )_transformers)BaseApiClient)get_value_by_path)set_value_by_pathNfrom_objectparent_objectreturnc                 C       i }t | dgd urtd|S )Nlanguage_codesz8language_codes parameter is not supported in Gemini API.getv
ValueErrorr
   r   	to_object r   U/home/livre-enfant/venv/lib/python3.10/site-packages/google/genai/_live_converters.py"_AudioTranscriptionConfig_to_mldev      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t | dgd ur-tdt | dgd ur9tdt | d	gd urEtd
t | dgd urQtdt | dgd ur]td|S )Napi_keyapiKeyapi_key_configz8api_key_config parameter is not supported in Gemini API.	auth_typez3auth_type parameter is not supported in Gemini API.google_service_account_configzGgoogle_service_account_config parameter is not supported in Gemini API.http_basic_auth_configz@http_basic_auth_config parameter is not supported in Gemini API.oauth_configz6oauth_config parameter is not supported in Gemini API.oidc_configz5oidc_config parameter is not supported in Gemini API.r   setvr   r   r   r   r   _AuthConfig_to_mldev%   s(   r"   c                 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mimeTyper    r   r   r   r   _Blob_to_mldevG   s   r(   c                    b   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                       g | ]}t | qS r   )_Part_to_mldev.0itemr   r   r   
<listcomp>a       z%_Content_to_mldev.<locals>.<listcomp>roler   r!   r
   r   r   r0   r   _Content_to_mldevX      

	r6   c                    r)   )Nr*   c                    r+   r   )_Part_to_vertexr-   r0   r   r   r1   v   r2   z&_Content_to_vertex.<locals>.<listcomp>r3   r4   r5   r   r0   r   _Content_to_vertexm   r7   r9   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   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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   rB   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rNt|dgt | dg t | dgd urat|dgt | dg t | dgd urtt|dgt | dg t | d	gd urtd
|S )Ndescriptionr?   
parametersparameters_json_schemaparametersJsonSchemaresponseresponse_json_schemaresponseJsonSchemabehaviorz1behavior parameter is not supported in Vertex AI.r    r   r   r   r   _FunctionDeclaration_to_vertex   s0   

rK   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rNt|dgt | dg t | d	gd urat|d
gt | d	g t | dgd urtt|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 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 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r5t|dgt | dg t | dgd urLt|d gtt | dg| t | d!gd ur`t|d"gt | d!g t | d#gd urtt|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 t | d*gd urtd+|S ),Nmodel_selection_configmodelConfigrH   rI   audio_timestampaudioTimestampcandidate_countcandidateCountenable_affective_dialogenableAffectiveDialogfrequency_penaltyfrequencyPenaltylogprobsmax_output_tokensmaxOutputTokensmedia_resolutionmediaResolutionpresence_penaltypresencePenaltyresponse_logprobsresponseLogprobsresponse_mime_typeresponseMimeTyperesponse_modalitiesresponseModalitiesresponse_schemaresponseSchemarouting_configroutingConfigseedspeech_configspeechConfigstop_sequencesstopSequencestemperaturethinking_configthinkingConfigtop_ktopKtop_ptopPenable_enhanced_civic_answerszFenable_enhanced_civic_answers parameter is not supported in Vertex AI.)r   r!   _SpeechConfig_to_vertexr   r   r   r   r   _GenerationConfig_to_vertex   s   






ru   c                 C   Z   i }t | dgd urt|dgtt | dg| t | dgd ur+t|dgt | dg |S )Nauth_config
authConfigenable_widgetenableWidget)r   r!   r"   r   r   r   r   _GoogleMaps_to_mldevF  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t | dgd ur-tdt | dgd ur@t|dgt | dg |S )	Nsearch_typessearchTypesblocking_confidencez=blocking_confidence parameter is not supported in Gemini API.exclude_domainsz9exclude_domains parameter is not supported in Gemini API.time_range_filtertimeRangeFilterr    r   r   r   r   _GoogleSearch_to_mldevX  s    r   c                    b   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turnsc                    r+   r   )r6   r-   r0   r   r   r1   {  r2   z/_LiveClientContent_to_mldev.<locals>.<listcomp>turn_completeturnCompleter4   r5   r   r0   r   _LiveClientContent_to_mldevr  r7   r   c                    r   )Nr   c                    r+   r   )r9   r-   r0   r   r   r1     r2   z0_LiveClientContent_to_vertex.<locals>.<listcomp>r   r   r4   r5   r   r0   r   _LiveClientContent_to_vertex  r7   r   
api_clientc                 C      i }t |dgd urt|dgt| t |dg| t |dgd ur/t|dgtt |dg| t |dgd urEt|dgtt |dg| t |dgd urXt|dgt |dg |S Nsetupclient_contentclientContentrealtime_inputrealtimeInputtool_responsetoolResponse)r   r!   _LiveClientSetup_to_mldevr   !_LiveClientRealtimeInput_to_mldevr   r
   r   r   r   r   r   _LiveClientMessage_to_mldev  8   r   c                 C   r   r   )r   r!   _LiveClientSetup_to_vertexr   "_LiveClientRealtimeInput_to_vertexr   r   r   r   _LiveClientMessage_to_vertex  r   r   c                    s,  i  t | dgd urt dg fddt | dgD  t | dgd ur2t dgtt | dg  t | dgd urEt dgt | dg t | dgd ur[t dgtt | dg  t | d	gd urnt 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media_chunksmediaChunksc                    r+   r   r(   r-   r0   r   r   r1     r2   z5_LiveClientRealtimeInput_to_mldev.<locals>.<listcomp>audioaudio_stream_endaudioStreamEndvideotextactivity_startactivityStartactivity_endactivityEnd)r   r!   r(   r5   r   r0   r   r     s<   

	r   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gt | dg t | dgd ur9td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rt|dgt | dg |S )Nr   r   c                 S      g | ]}|qS r   r   r-   r   r   r   r1         z6_LiveClientRealtimeInput_to_vertex.<locals>.<listcomp>r   r   z9audio_stream_end parameter is not supported in Vertex AI.r   r   r   r   r   r   r    r   r   r   r   r     s,   r   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rAtdgttt |dg t |dgd ur`tdg fddt t |dgD  t |d	gd urvt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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t |dgd urtdgt |dg S )Nmodelgeneration_configgenerationConfigsystem_instructionsystemInstructiontoolsc                       g | ]}t t |qS r   _Tool_to_mldevtt_toolr-   r   r   r   r   r1   V      z-_LiveClientSetup_to_mldev.<locals>.<listcomp>session_resumptionsessionResumptioncontext_window_compressioncontextWindowCompressioninput_audio_transcriptioninputAudioTranscriptionoutput_audio_transcriptionoutputAudioTranscriptionproactivityexplicit_vad_signal=explicit_vad_signal parameter is not supported in Gemini API.history_confighistoryConfig)	r   r!   r6   r   	t_contentt_tools!_SessionResumptionConfig_to_mldevr   r   r   r
   r   r   r   r   r   9  s   
	
r   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t |dg t |dgd urDtdgttt |dg t |dgd urctdg fddt t |dgD  t |d	gd urvt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 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S )Nr   r   r   r   r   r   c                    r   r   _Tool_to_vertexr   r   r-   r   r   r   r1     r   z._LiveClientSetup_to_vertex.<locals>.<listcomp>r   r   r   r   r   r   r   r   r   r   explicitVadSignalr   7history_config parameter is not supported in Vertex AI.)r   r!   ru   r9   r   r   r   r   r   r   r   r   r     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rLt|dd gtt |dg t |d!gd urdt|dd"gtt |d!g t |d#gd uryt|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)t |d*gd urt|dd+gt |d*g S ),Nr   r   r   ra   r   r   rb   rl   r   r   rl   rq   r   r   rr   ro   r   r   rp   rW   r   r   rX   rY   r   r   rZ   rg   r   r   rg   rh   r   r   ri   rm   r   r   rn   rR   r   r   rS   r   r   r   c                    r   r   r   r-   r   r   r   r1   >  r   z/_LiveConnectConfig_to_mldev.<locals>.<listcomp>r   r   r   r   r   r   realtime_input_configrealtimeInputConfigr   r   r   r   r   r   r   )
r   r!   r   t_live_speech_configr6   r   r   r   r   r   r   r   r   r   _LiveConnectConfig_to_mldev  s  









	



r   c              
      s  i t |dgd urt|ddgtt |dg t |dgd ur-t|g dt |dg t |dgd urAt|g dt |dg t |dgd urUt|g d	t |dg t |d
gd urit|g dt |d
g t |dgd ur}t|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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rt|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r8t|ddgt |dg t |dgd urMt|dd gt |dg t |d!gd urbt|dd"gt |d!g t |d#gd urwt|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d)gt |d(g t |d*gd urt	d+S ),Nr   r   r   ra   r   rl   r   rq   r   ro   r   rW   r   rY   r   rg   r   rh   r   rm   r   rR   r   r   r   r   c                    r   r   r   r-   r   r   r   r1     r   z0_LiveConnectConfig_to_vertex.<locals>.<listcomp>r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   )
r   r!   ru   rt   r   r   r9   r   r   r   r   r   r   r   _LiveConnectConfig_to_vertex  s
  






	

	






r   c              	   C   f   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 Nr   r   config)r   r!   r   t_modelr   r   r   r   r   _LiveConnectParameters_to_mldev&      r   c              	   C   r   r   )r   r!   r   r   r   r   r   r   r    _LiveConnectParameters_to_vertex?  r   r   c                 C   sh   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t | dgd ur2td|S )	Nr   z.setup parameter is not supported in Vertex AI.r   z7client_content parameter is not supported in Vertex AI.music_generation_config@music_generation_config parameter is not supported in Vertex AI.playback_controlz9playback_control parameter is not supported in Vertex AI.r   r   r   r   r   !_LiveMusicClientMessage_to_vertexX  s   r   c                 C   s0   i }t | dgd urt|ddgt | dg |S )Nr   r   r4   r   r   r   r   $_LiveMusicConnectParameters_to_mldevp  s   r   c                 C   r   )Nr   z.model parameter is not supported in Vertex AI.r   r   r   r   r   %_LiveMusicConnectParameters_to_vertex{  r   r   c                 C   .   i }t | dgd urt|dgt | dg |S )Nr   musicGenerationConfigr4   r   r   r   r   &_LiveMusicSetConfigParameters_to_mldev  s   
r   c                 C   r   )Nr   r   r   r   r   r   r   '_LiveMusicSetConfigParameters_to_vertex     r   c                 C   s8   i }t | dgd urt|dgdd t | dgD  |S )Nweighted_promptsweightedPromptsc                 S   r   r   r   r-   r   r   r   r1     r   zC_LiveMusicSetWeightedPromptsParameters_to_mldev.<locals>.<listcomp>r4   r   r   r   r   /_LiveMusicSetWeightedPromptsParameters_to_mldev  s   r   c                 C   r   )Nr   z9weighted_prompts parameter is not supported in Vertex AI.r   r   r   r   r   0_LiveMusicSetWeightedPromptsParameters_to_vertex  r   r   c              	      s>  i  t | dgd urt dg fddtt | dgD  t | dgd ur8t dgttt | dg  t | dgd urKt dgt | dg t | dgd urdt dgttt | dg  t | d	gd urwt 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mediar   c                    r+   r   r   r-   r0   r   r   r1     r2   z=_LiveSendRealtimeInputParameters_to_mldev.<locals>.<listcomp>r   r   r   r   r   r   r   r   r   )r   r!   r   t_blobsr(   t_audio_blobt_image_blobr5   r   r0   r   )_LiveSendRealtimeInputParameters_to_mldev  s<   
	r   c              	   C   s.  i }t | dgd urt|dgdd tt | dgD  t | dgd ur3t|dgtt | dg t | dgd urFt|dgt | dg t | dgd ur\t|dgtt | dg t | d	gd urot|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 )Nr   r   c                 S   r   r   r   r-   r   r   r   r1     r   z>_LiveSendRealtimeInputParameters_to_vertex.<locals>.<listcomp>r   r   r   r   r   r   r   r   r   )r   r!   r   r   r   r   r   r   r   r   *_LiveSendRealtimeInputParameters_to_vertex  s(   r   c                 C   sd  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rNt|dgt | dg t | d	gd urat|d
gt | d	g t | dgd urtt|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t | dg| |S NsetupCompletesetup_completeserverContentserver_contenttoolCall	tool_calltoolCallCancellationtool_call_cancellationusageMetadatausage_metadatagoAwaygo_awaysessionResumptionUpdatesession_resumption_updatevoiceActivityDetectionSignalvoice_activity_detection_signalvoiceActivityvoice_activity)r   r!   _VoiceActivity_from_mldevr   r   r   r   _LiveServerMessage_from_mldev  sL   


r
  c                 C   sj  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rNt|dgt | dg t | d	gd urdt|d
gtt | d	g| t | dgd urwt|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t | dg| |S r   )r   r!   _UsageMetadata_from_vertex_VoiceActivity_from_vertexr   r   r   r   _LiveServerMessage_from_vertex@  sX   


r  c                    s<   i  t | dgd urt dg fddt | dgD   S )Nspeaker_voice_configsspeakerVoiceConfigsc                    r+   r   )_SpeakerVoiceConfig_to_vertexr-   r0   r   r   r1     r2   z6_MultiSpeakerVoiceConfig_to_vertex.<locals>.<listcomp>r4   r5   r   r0   r   "_MultiSpeakerVoiceConfig_to_vertex{  s   

	r  c                 C   s2  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 t | dgd urt|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 |S )NrY   rZ   code_execution_resultcodeExecutionResultexecutable_codeexecutableCode	file_datafileDatafunction_callfunctionCallfunction_responsefunctionResponseinline_data
inlineDatar   thoughtthought_signaturethoughtSignaturevideo_metadatavideoMetadatar   r   r   r   part_metadatapartMetadata)r   r!   r<   rB   r(   r   r   r   r   r,     sp   


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rNt|dgt | dg t | d	gd urat|d
gt | d	g t | dgd urtt|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 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t | dgd urtdt | dgd urtd|S )NrY   rZ   r  r  r  r  r  r  r  r  r  r  r  r  r   r  r  r   r!  r"  r   z2tool_call parameter is not supported in Vertex AI.r   z6tool_response parameter is not supported in Vertex AI.r#  z6part_metadata parameter is not supported in Vertex AI.r    r   r   r   r   r8     sX   


r8   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r4tdt | dgd ur@td|S )	Nr&   r'   voice_sample_audiovoiceSampleAudioconsent_audioz6consent_audio parameter is not supported in Vertex AI.voice_consent_signaturez@voice_consent_signature parameter is not supported in Vertex AI.r    r   r   r   r    _ReplicatedVoiceConfig_to_vertex  s    
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   r   3  s   r   c                 C   sZ   i }t | dgd urt|dgt | dg t | dgd ur+t|dgtt | dg| |S )Nspeakervoice_configvoiceConfig)r   r!   _VoiceConfig_to_vertexr   r   r   r   r  A  s   r  c                 C   s   i }t | dgd urt|dgtt | dg| t | dgd ur+t|dgt | dg t | dgd urAt|dgtt | dg| |S )Nr-  r.  language_codelanguageCodemulti_speaker_voice_configmultiSpeakerVoiceConfig)r   r!   r/  r  r   r   r   r   rt   S  s$   rt   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rJt|dgtt | dg| t | d	gd ur`t|d
gtt | d	g| t | dgd urst|dgt | dg t | dgd urtdt | dgd urt|dgdd t | dgD  t | dgd urt|dgt | dg t | dgd urtdt | dgd urt|dgt | dg t | dgd urt|dgdd t | dgD  |S )N	retrievalz3retrieval parameter is not supported in Gemini API.computer_usecomputerUsefile_search
fileSearchgoogle_searchgoogleSearchgoogle_maps
googleMapscode_executioncodeExecutionenterprise_web_searchz?enterprise_web_search parameter is not supported in Gemini API.function_declarationsfunctionDeclarationsc                 S   r   r   r   r-   r   r   r   r1     r   z"_Tool_to_mldev.<locals>.<listcomp>google_search_retrievalgoogleSearchRetrievalparallel_ai_searchz<parallel_ai_search parameter is not supported in Gemini API.url_context
urlContextmcp_servers
mcpServersc                 S   r   r   r   r-   r   r   r   r1     r   )r   r   r!   r   r{   r   r   r   r   r   n  sd   
r   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r4tdt | dgd urGt dgt | dg t | dgd urZt d	gt | dg t | d
gd urmt dgt | d
g t | dgd urt dgt | dg t | dgd urt dg fddt | dgD  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 S )Nr4  r5  r6  r7  z4file_search parameter is not supported in Vertex AI.r9  r:  r;  r<  r=  r>  r?  enterpriseWebSearchr@  rA  c                    r+   r   )rK   r-   r0   r   r   r1     r2   z#_Tool_to_vertex.<locals>.<listcomp>rB  rC  rD  parallelAiSearchrE  rF  rG  z4mcp_servers parameter is not supported in Vertex AI.r    r5   r   r0   r   r     sX   


	

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rNt|dgt | dg t | d	gd urat|d
gt | d	g t | dgd urtt|dgt | dg t | dgd urt|dgdd t | dgD  t | dgd urt|dgdd t | dgD  t | dgd urt|dgdd t | dgD  t | dgd urt|dgdd t | dgD  t | dgd urt|dgt | dg |S )NpromptTokenCountprompt_token_countcachedContentTokenCountcached_content_token_countcandidatesTokenCountresponse_token_counttoolUsePromptTokenCounttool_use_prompt_token_countthoughtsTokenCountthoughts_token_counttotalTokenCounttotal_token_countpromptTokensDetailsprompt_tokens_detailsc                 S   r   r   r   r-   r   r   r   r1   "  r   z._UsageMetadata_from_vertex.<locals>.<listcomp>cacheTokensDetailscache_tokens_detailsc                 S   r   r   r   r-   r   r   r   r1   )  r   candidatesTokensDetailsresponse_tokens_detailsc                 S   r   r   r   r-   r   r   r   r1   0  r   toolUsePromptTokensDetailstool_use_prompt_tokens_detailsc                 S   r   r   r   r-   r   r   r   r1   7  r   trafficTypetraffic_typer4   r   r   r   r   r    s|   




r  c                 C   r   Ntypevoice_activity_typer4   r   r   r   r   r	  @     r	  c                 C   r   ra  r4   r   r   r   r   r  K  rd  r  c                 C   rv   )Nreplicated_voice_configreplicatedVoiceConfigprebuilt_voice_configprebuiltVoiceConfig)r   r!   r)  r   r   r   r   r/  V  s    
r/  )N)@typingr   r   r    r   r   _api_clientr   _commonr   r   r	   r!   dictstrobjectr   r"   r(   r6   r9   r<   rB   rK   ru   r{   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r
  r  r  r,   r8   r)  r   r  rt   r   r   r  r	  r  r/  r   r   r   r   <module>   s  



$











'

y









*

)

.

&

V

T

 *

 '



















.

#

7

=



N

B









F

A

Q




