o
    _i6                     @   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 	dPdeeeef ef d	eeeef  d
eeef fddZ	dPdeeeef ef d	eeeef  d
eeef fddZ	dPdeeeef ef d	eeeef  d
eeef fddZ	dPdeeeef ef d	eeeef  d
eeef fddZ	dPdeeeef ef d	eeeef  d
eeef fddZ	dPdeeeef ef d	eeeef  d
eeef fddZ	dPdeeeef ef d	eeeef  d
eeef fddZ	dPdeeeef ef d	eeeef  d
eeef fddZ	dPdeeeef ef d	eeeef  d
eeef fddZ	dPdedeeeef ef d	eeeef  d
eeef fddZ	dPdedeeeef ef d	eeeef  d
eeef fd d!Z	dPdeeeef ef d	eeeef  d
eeef fd"d#Z	dPdeeeef ef d	eeeef  d
eeef fd$d%Z	dPdedeeeef ef d	eeeef  d
eeef fd&d'Z	dPdedeeeef ef d	eeeef  d
eeef fd(d)Z	dPdedeeeef ef d	eeeef  d
eeef fd*d+Z 	dPdedeeeef ef d	eeeef  d
eeef fd,d-Z!	dPdedeeeef ef d	eeeef  d
eeef fd.d/Z"	dPdedeeeef ef d	eeeef  d
eeef fd0d1Z#	dPdeeeef ef d	eeeef  d
eeef fd2d3Z$	dPdeeeef ef d	eeeef  d
eeef fd4d5Z%	dPdeeeef ef d	eeeef  d
eeef fd6d7Z&	dPdeeeef ef d	eeeef  d
eeef fd8d9Z'	dPdeeeef ef d	eeeef  d
eeef fd:d;Z(	dPdeeeef ef d	eeeef  d
eeef fd<d=Z)	dPdeeeef ef d	eeeef  d
eeef fd>d?Z*	dPdeeeef ef d	eeeef  d
eeef fd@dAZ+	dPdeeeef ef d	eeeef  d
eeef fdBdCZ,	dPdeeeef ef d	eeeef  d
eeef fdDdEZ-	dPdeeeef ef d	eeeef  d
eeef fdFdGZ.	dPdeeeef ef d	eeeef  d
eeef fdHdIZ/	dPdeeeef ef d	eeeef  d
eeef fdJdKZ0	dPdeeeef ef d	eeeef  d
eeef fdLdMZ1	dPdeeeef ef d	eeeef  d
eeef fdNdOZ2dS )Q    )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   V/home/air/demo/back/venv/lib/python3.10/site-packages/google/genai/_live_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                       g | ]}t | qS r   )_Part_to_mldev.0itemr   r   r   
<listcomp>4       z%_Content_to_mldev.<locals>.<listcomp>roler   r   r
   r   r   r!   r   _Content_to_mldev+      

	r'   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_mldevQ   s   r2   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_vertexh   s0   

r;   c                 C   sx  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rIt|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 | 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modelConfigr8   r9   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   r   r   r   _GenerationConfig_to_vertex   s   






rd   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enableWidgetr+   r   r   r   r   _GoogleMaps_to_mldev   s   rh   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timeRangeFilterr+   r   r   r   r   _GoogleSearch_to_mldev  s   rm   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turnsc                    r   r   )r'   r   r!   r   r   r"   ,  r#   z/_LiveClientContent_to_mldev.<locals>.<listcomp>turn_completeturnCompleter%   r&   r   r!   r   _LiveClientContent_to_mldev#  r(   rq   
api_clientc                 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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_mldevrq   !_LiveClientRealtimeInput_to_mldevrr   r
   r   r   r   r   r   _LiveClientMessage_to_mldev8  s8   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rBt|dgtt |dg| t |dgd urUt|dgt |dg |S rs   )r   r   _LiveClientSetup_to_vertex"_LiveClientRealtimeInput_to_vertexr}   r   r   r   _LiveClientMessage_to_vertex_  s,   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   r!   r   r   r"     r#   z5_LiveClientRealtimeInput_to_mldev.<locals>.<listcomp>audioaudio_stream_endaudioStreamEndvideotextactivity_startactivityStartactivity_endactivityEnd)r   r   r   r&   r   r!   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   r"         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 |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generation_configgenerationConfigsystem_instructionsystemInstructiontoolsc                       g | ]}t t |qS r   _Tool_to_mldevtt_toolr   rr   r   r   r   r"         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.)r   r   r'   r   	t_contentt_tools!_SessionResumptionConfig_to_mldevr   rr   r
   r   r   r   r   r{     st   
	


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rAtdg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rst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 S )Nr   r   r   r   r   r   c                    r   r   _Tool_to_vertexr   r   r   r   r   r   r"   8  r   z._LiveClientSetup_to_vertex.<locals>.<listcomp>r   r   r   r   r   r   r   r   r   r   explicitVadSignal)r   r   rd   r   r   r   r   r   r   r   r     st   	




r   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 )*Nr   rt   r   rQ   rt   r   rR   r\   rt   r   r\   ra   rt   r   rb   r_   rt   r   r`   rG   rt   r   rH   rI   rt   r   rJ   rW   rt   r   rW   rX   rt   r   rY   r]   rt   r   r^   rB   rt   r   rC   r   r   r   c                    r   r   r   r   r   r   r   r"     r   z/_LiveConnectConfig_to_mldev.<locals>.<listcomp>r   r   r   r   r   r   realtime_input_configrealtimeInputConfigr   r   r   r   r   )	r   r   r   t_live_speech_configr'   r   r   r   r   r   r   r   r   _LiveConnectConfig_to_mldevg  s   









	




r   c              
      sb  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 |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 |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r1t|ddgt |dg t |dgd urFt|dd gt |dg t |d!gd ur[t|dd"gt |d!g t |d#gd urpt|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 S )*Nr   rt   r   rQ   r   r\   r   ra   r   r_   r   rG   r   rI   r   rW   r   rX   r   r]   r   rB   r   r   r   r   c                    r   r   r   r   r   r   r   r"   c  r   z0_LiveConnectConfig_to_vertex.<locals>.<listcomp>r   r   r   r   r   r   r   r   r   r   r   r   r   )r   r   rd   r   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   rt   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 )	Nrt   z.setup parameter is not supported in Vertex AI.ru   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   r   !_LiveMusicClientMessage_to_vertex  s   r   c                 C   s0   i }t | dgd urt|ddgt | dg |S )Nr   rt   r%   r   r   r   r   $_LiveMusicConnectParameters_to_mldev  s   r   c                 C       i }t | dgd urtd|S )Nr   z.model parameter is not supported in Vertex AI.r   r   r   r   r   %_LiveMusicConnectParameters_to_vertex  s   r   c                 C   s.   i }t | dgd urt|dgt | dg |S )Nr   musicGenerationConfigr%   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   r"   "  r   zC_LiveMusicSetWeightedPromptsParameters_to_mldev.<locals>.<listcomp>r%   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   r!   r   r   r"   >  r#   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_blobr&   r   r!   r   )_LiveSendRealtimeInputParameters_to_mldev5  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   r"   j  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_vertexa  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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 |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)r   r   _UsageMetadata_from_vertexr   r   r   r   _LiveServerMessage_from_vertex  sH   


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 )NrI   rJ   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videoMetadata)r   r   r,   r2   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   r     s   r   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   r   r   r   r   r   r   r   r"     r   z"_Tool_to_mldev.<locals>.<listcomp>google_maps
googleMapsgoogle_searchgoogleSearchgoogle_search_retrievalgoogleSearchRetrievalurl_context
urlContext)r   r   r   rh   rm   r   r   r   r   r     sP   
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rtt 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gt | dg  S )Nr   r  r  r  z4file_search parameter is not supported in Vertex AI.r  r  r  enterpriseWebSearchr  r	  c                    r   r   )r;   r   r!   r   r   r"   Y  r#   z#_Tool_to_vertex.<locals>.<listcomp>r
  r  r  r  r  r  r  r  r   r&   r   r!   r   r   =  sH   


	
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   r"     r   z._UsageMetadata_from_vertex.<locals>.<listcomp>cacheTokensDetailscache_tokens_detailsc                 S   r   r   r   r   r   r   r   r"     r   candidatesTokensDetailsresponse_tokens_detailsc                 S   r   r   r   r   r   r   r   r"     r   toolUsePromptTokensDetailstool_use_prompt_tokens_detailsc                 S   r   r   r   r   r   r   r   r"     r   trafficTypetraffic_typer%   r   r   r   r   r   r  s|   




r   )N)3typingr   r   r    r   r   _api_clientr   _commonr   r   r	   r   dictstrobjectr   r'   r,   r2   r;   rd   rh   rm   rq   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   r   r   <module>   sN  









'

s







*

#

.

&

O

O

 

 



















.

#

4

E



:

7
