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 	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d.d/Z"	dPd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   c/var/www/html/karishye-ai-python/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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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 |S )Nbehaviorz1behavior parameter is not supported in Vertex AI.descriptionname
parametersparameters_json_schemaparametersJsonSchemaresponseresponse_json_schemaresponseJsonSchemar+   r   r   r   r   _FunctionDeclaration_to_vertexQ   s0   

r6   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modelConfigr4   r5   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_vertexv   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enableWidgetr+   r   r   r   r   _GoogleMaps_to_mldev   s   rd   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   ri   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(   rm   
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_mldevrm   !_LiveClientRealtimeInput_to_mldevrn   r
   r   r   r   r   r   _LiveClientMessage_to_mldev'  s8   rz   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 ro   )r   r   _LiveClientSetup_to_vertex"_LiveClientRealtimeInput_to_vertexry   r   r   r   _LiveClientMessage_to_vertexN  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"   x  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   rx   o  s<   

	rx   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 S )Nmodelgeneration_configgenerationConfigsystem_instructionsystemInstructiontoolsc                       g | ]}t t |qS r   _Tool_to_mldevtt_toolr   rn   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)r   r   r'   r   	t_contentt_tools!_SessionResumptionConfig_to_mldevrn   r
   r   r   r   r   rw     sl   
	


rw   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 S )Nr   r   r   r   r   r   c                    r   r   _Tool_to_vertexr   r   r   r   r   r   r"   "  r   z._LiveClientSetup_to_vertex.<locals>.<listcomp>r   r   r   r   r   r   r   r   r   )r   r   r`   r   r   r   r   r   r   r   r{     sh   	



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 )(Nr   rp   r   rL   rp   r   rM   rW   rp   r   rW   r\   rp   r   r]   rZ   rp   r   r[   rB   rp   r   rC   rD   rp   r   rE   rR   rp   r   rR   rS   rp   r   rT   rX   rp   r   rY   r=   rp   r   r>   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   t_live_speech_configr'   r   r   r   r   r   r   r   _LiveConnectConfig_to_mldevJ  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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r4t|ddg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 )(Nr   rp   r   rL   r   rW   r   r\   r   rZ   r   rB   r   rD   r   rR   r   rS   r   rX   r   r=   r   r   r   r   c                    r   r   r   r   r   r   r   r"   D  r   z0_LiveConnectConfig_to_vertex.<locals>.<listcomp>r   r   r   r   r   r   r   r   r   r   r   )r   r   r`   r_   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   rp   config)r   r   r   t_modelr   ry   r   r   r   _LiveConnectParameters_to_mldevw      r   c              	   C   r   r   )r   r   r   r   r   ry   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 )	Nrp   z.setup parameter is not supported in Vertex AI.rq   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   rp   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_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   r"   D  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   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 |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)r   r   _UsageMetadata_from_vertexr   r   r   r   _LiveServerMessage_from_vertex\  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
inlineDatar   thoughtthought_signaturethoughtSignaturevideo_metadatavideoMetadata)r   r   r,   r   r   r   r   r   r     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   r     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gt | dg t | dgd ur4td|S )Nlanguage_codelanguageCodevoice_configvoiceConfigmulti_speaker_voice_configzCmulti_speaker_voice_config parameter is not supported in Vertex AI.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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   r   r   r   r   r   r   r   r"     r   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   rd   ri   r   r   r   r   r     sP   
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r/t dgt | dg t | dgd urBt dgt | dg t | dgd urUt d	gt | dg t | d
gd uratd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  S )Nr   r   c                    r   r   )r6   r   r!   r   r   r"   #  r#   z#_Tool_to_vertex.<locals>.<listcomp>r   r   r   r  r  r  z4file_search parameter is not supported in Vertex AI.r  r  r  enterpriseWebSearchr  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   O  s|   




r   )N)3typingr   r   r    r   r   _api_clientr   _commonr   r   r	   r   dictstrobjectr   r'   r,   r6   r`   rd   ri   rm   rz   r}   rx   r|   rw   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  







'

y







*

#

.

&

J

H

 

 



















.

#

-

<





:

7
