# Copyright 2025 Google LLC # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # See the License for the specific language governing permissions and # limitations under the License. # # Code generated by the Google Gen AI SDK generator DO NOT EDIT. from typing import Any, Optional, Union from . import _transformers as t from ._api_client import BaseApiClient from ._common import get_value_by_path as getv from ._common import set_value_by_path as setv def _Blob_to_mldev( from_object: Union[dict[str, Any], object], parent_object: Optional[dict[str, Any]] = None, ) -> dict[str, Any]: to_object: dict[str, Any] = {} if getv(from_object, ['data']) is not None: setv(to_object, ['data'], getv(from_object, ['data'])) if getv(from_object, ['display_name']) is not None: raise ValueError('display_name parameter is not supported in Gemini API.') if getv(from_object, ['mime_type']) is not None: setv(to_object, ['mimeType'], getv(from_object, ['mime_type'])) return to_object def _Content_to_mldev( from_object: Union[dict[str, Any], object], parent_object: Optional[dict[str, Any]] = None, ) -> dict[str, Any]: to_object: dict[str, Any] = {} if getv(from_object, ['parts']) is not None: setv( to_object, ['parts'], [ _Part_to_mldev(item, to_object) for item in getv(from_object, ['parts']) ], ) if getv(from_object, ['role']) is not None: setv(to_object, ['role'], getv(from_object, ['role'])) return to_object def _CreateAuthTokenConfig_to_mldev( api_client: BaseApiClient, from_object: Union[dict[str, Any], object], parent_object: Optional[dict[str, Any]] = None, ) -> dict[str, Any]: to_object: dict[str, Any] = {} if getv(from_object, ['expire_time']) is not None: setv(parent_object, ['expireTime'], getv(from_object, ['expire_time'])) if getv(from_object, ['new_session_expire_time']) is not None: setv( parent_object, ['newSessionExpireTime'], getv(from_object, ['new_session_expire_time']), ) if getv(from_object, ['uses']) is not None: setv(parent_object, ['uses'], getv(from_object, ['uses'])) if getv(from_object, ['live_connect_constraints']) is not None: setv( parent_object, ['bidiGenerateContentSetup'], _LiveConnectConstraints_to_mldev( api_client, getv(from_object, ['live_connect_constraints']), to_object, ), ) if getv(from_object, ['lock_additional_fields']) is not None: setv( parent_object, ['fieldMask'], getv(from_object, ['lock_additional_fields']), ) return to_object def _CreateAuthTokenParameters_to_mldev( api_client: BaseApiClient, from_object: Union[dict[str, Any], object], parent_object: Optional[dict[str, Any]] = None, ) -> dict[str, Any]: to_object: dict[str, Any] = {} if getv(from_object, ['config']) is not None: setv( to_object, ['config'], _CreateAuthTokenConfig_to_mldev( api_client, getv(from_object, ['config']), to_object ), ) return to_object def _CreateAuthTokenParameters_to_vertex( from_object: Union[dict[str, Any], object], parent_object: Optional[dict[str, Any]] = None, ) -> dict[str, Any]: to_object: dict[str, Any] = {} if getv(from_object, ['config']) is not None: raise ValueError('config parameter is not supported in Vertex AI.') return to_object def _FileData_to_mldev( from_object: Union[dict[str, Any], object], parent_object: Optional[dict[str, Any]] = None, ) -> dict[str, Any]: to_object: dict[str, Any] = {} if getv(from_object, ['display_name']) is not None: raise ValueError('display_name parameter is not supported in Gemini API.') if getv(from_object, ['file_uri']) is not None: setv(to_object, ['fileUri'], getv(from_object, ['file_uri'])) if getv(from_object, ['mime_type']) is not None: setv(to_object, ['mimeType'], getv(from_object, ['mime_type'])) return to_object def _FunctionCall_to_mldev( from_object: Union[dict[str, Any], object], parent_object: Optional[dict[str, Any]] = None, ) -> dict[str, Any]: to_object: dict[str, Any] = {} if getv(from_object, ['id']) is not None: setv(to_object, ['id'], getv(from_object, ['id'])) if getv(from_object, ['args']) is not None: setv(to_object, ['args'], getv(from_object, ['args'])) if getv(from_object, ['name']) is not None: setv(to_object, ['name'], getv(from_object, ['name'])) if getv(from_object, ['partial_args']) is not None: raise ValueError('partial_args parameter is not supported in Gemini API.') if getv(from_object, ['will_continue']) is not None: raise ValueError('will_continue parameter is not supported in Gemini API.') return to_object def _GoogleMaps_to_mldev( from_object: Union[dict[str, Any], object], parent_object: Optional[dict[str, Any]] = None, ) -> dict[str, Any]: to_object: dict[str, Any] = {} if getv(from_object, ['auth_config']) is not None: raise ValueError('auth_config parameter is not supported in Gemini API.') if getv(from_object, ['enable_widget']) is not None: setv(to_object, ['enableWidget'], getv(from_object, ['enable_widget'])) return to_object def _GoogleSearch_to_mldev( from_object: Union[dict[str, Any], object], parent_object: Optional[dict[str, Any]] = None, ) -> dict[str, Any]: to_object: dict[str, Any] = {} if getv(from_object, ['exclude_domains']) is not None: raise ValueError( 'exclude_domains parameter is not supported in Gemini API.' ) if getv(from_object, ['blocking_confidence']) is not None: raise ValueError( 'blocking_confidence parameter is not supported in Gemini API.' ) if getv(from_object, ['time_range_filter']) is not None: setv( to_object, ['timeRangeFilter'], getv(from_object, ['time_range_filter']) ) return to_object def _LiveConnectConfig_to_mldev( api_client: BaseApiClient, from_object: Union[dict[str, Any], object], parent_object: Optional[dict[str, Any]] = None, ) -> dict[str, Any]: to_object: dict[str, Any] = {} if getv(from_object, ['generation_config']) is not None: setv( parent_object, ['setup', 'generationConfig'], getv(from_object, ['generation_config']), ) if getv(from_object, ['response_modalities']) is not None: setv( parent_object, ['setup', 'generationConfig', 'responseModalities'], getv(from_object, ['response_modalities']), ) if getv(from_object, ['temperature']) is not None: setv( parent_object, ['setup', 'generationConfig', 'temperature'], getv(from_object, ['temperature']), ) if getv(from_object, ['top_p']) is not None: setv( parent_object, ['setup', 'generationConfig', 'topP'], getv(from_object, ['top_p']), ) if getv(from_object, ['top_k']) is not None: setv( parent_object, ['setup', 'generationConfig', 'topK'], getv(from_object, ['top_k']), ) if getv(from_object, ['max_output_tokens']) is not None: setv( parent_object, ['setup', 'generationConfig', 'maxOutputTokens'], getv(from_object, ['max_output_tokens']), ) if getv(from_object, ['media_resolution']) is not None: setv( parent_object, ['setup', 'generationConfig', 'mediaResolution'], getv(from_object, ['media_resolution']), ) if getv(from_object, ['seed']) is not None: setv( parent_object, ['setup', 'generationConfig', 'seed'], getv(from_object, ['seed']), ) if getv(from_object, ['speech_config']) is not None: setv( parent_object, ['setup', 'generationConfig', 'speechConfig'], t.t_live_speech_config(getv(from_object, ['speech_config'])), ) if getv(from_object, ['thinking_config']) is not None: setv( parent_object, ['setup', 'generationConfig', 'thinkingConfig'], getv(from_object, ['thinking_config']), ) if getv(from_object, ['enable_affective_dialog']) is not None: setv( parent_object, ['setup', 'generationConfig', 'enableAffectiveDialog'], getv(from_object, ['enable_affective_dialog']), ) if getv(from_object, ['system_instruction']) is not None: setv( parent_object, ['setup', 'systemInstruction'], _Content_to_mldev( t.t_content(getv(from_object, ['system_instruction'])), to_object ), ) if getv(from_object, ['tools']) is not None: setv( parent_object, ['setup', 'tools'], [ _Tool_to_mldev(t.t_tool(api_client, item), to_object) for item in t.t_tools(api_client, getv(from_object, ['tools'])) ], ) if getv(from_object, ['session_resumption']) is not None: setv( parent_object, ['setup', 'sessionResumption'], _SessionResumptionConfig_to_mldev( getv(from_object, ['session_resumption']), to_object ), ) if getv(from_object, ['input_audio_transcription']) is not None: setv( parent_object, ['setup', 'inputAudioTranscription'], getv(from_object, ['input_audio_transcription']), ) if getv(from_object, ['output_audio_transcription']) is not None: setv( parent_object, ['setup', 'outputAudioTranscription'], getv(from_object, ['output_audio_transcription']), ) if getv(from_object, ['realtime_input_config']) is not None: setv( parent_object, ['setup', 'realtimeInputConfig'], getv(from_object, ['realtime_input_config']), ) if getv(from_object, ['context_window_compression']) is not None: setv( parent_object, ['setup', 'contextWindowCompression'], getv(from_object, ['context_window_compression']), ) if getv(from_object, ['proactivity']) is not None: setv( parent_object, ['setup', 'proactivity'], getv(from_object, ['proactivity']), ) if getv(from_object, ['explicit_vad_signal']) is not None: raise ValueError( 'explicit_vad_signal parameter is not supported in Gemini API.' ) return to_object def _LiveConnectConstraints_to_mldev( api_client: BaseApiClient, from_object: Union[dict[str, Any], object], parent_object: Optional[dict[str, Any]] = None, ) -> dict[str, Any]: to_object: dict[str, Any] = {} if getv(from_object, ['model']) is not None: setv( to_object, ['setup', 'model'], t.t_model(api_client, getv(from_object, ['model'])), ) if getv(from_object, ['config']) is not None: setv( to_object, ['config'], _LiveConnectConfig_to_mldev( api_client, getv(from_object, ['config']), to_object ), ) return to_object def _Part_to_mldev( from_object: Union[dict[str, Any], object], parent_object: Optional[dict[str, Any]] = None, ) -> dict[str, Any]: to_object: dict[str, Any] = {} if getv(from_object, ['media_resolution']) is not None: setv( to_object, ['mediaResolution'], getv(from_object, ['media_resolution']) ) if getv(from_object, ['code_execution_result']) is not None: setv( to_object, ['codeExecutionResult'], getv(from_object, ['code_execution_result']), ) if getv(from_object, ['executable_code']) is not None: setv(to_object, ['executableCode'], getv(from_object, ['executable_code'])) if getv(from_object, ['file_data']) is not None: setv( to_object, ['fileData'], _FileData_to_mldev(getv(from_object, ['file_data']), to_object), ) if getv(from_object, ['function_call']) is not None: setv( to_object, ['functionCall'], _FunctionCall_to_mldev(getv(from_object, ['function_call']), to_object), ) if getv(from_object, ['function_response']) is not None: setv( to_object, ['functionResponse'], getv(from_object, ['function_response']), ) if getv(from_object, ['inline_data']) is not None: setv( to_object, ['inlineData'], _Blob_to_mldev(getv(from_object, ['inline_data']), to_object), ) if getv(from_object, ['text']) is not None: setv(to_object, ['text'], getv(from_object, ['text'])) if getv(from_object, ['thought']) is not None: setv(to_object, ['thought'], getv(from_object, ['thought'])) if getv(from_object, ['thought_signature']) is not None: setv( to_object, ['thoughtSignature'], getv(from_object, ['thought_signature']), ) if getv(from_object, ['video_metadata']) is not None: setv(to_object, ['videoMetadata'], getv(from_object, ['video_metadata'])) return to_object def _SessionResumptionConfig_to_mldev( from_object: Union[dict[str, Any], object], parent_object: Optional[dict[str, Any]] = None, ) -> dict[str, Any]: to_object: dict[str, Any] = {} if getv(from_object, ['handle']) is not None: setv(to_object, ['handle'], getv(from_object, ['handle'])) if getv(from_object, ['transparent']) is not None: raise ValueError('transparent parameter is not supported in Gemini API.') return to_object def _Tool_to_mldev( from_object: Union[dict[str, Any], object], parent_object: Optional[dict[str, Any]] = None, ) -> dict[str, Any]: to_object: dict[str, Any] = {} if getv(from_object, ['retrieval']) is not None: raise ValueError('retrieval parameter is not supported in Gemini API.') if getv(from_object, ['computer_use']) is not None: setv(to_object, ['computerUse'], getv(from_object, ['computer_use'])) if getv(from_object, ['file_search']) is not None: setv(to_object, ['fileSearch'], getv(from_object, ['file_search'])) if getv(from_object, ['code_execution']) is not None: setv(to_object, ['codeExecution'], getv(from_object, ['code_execution'])) if getv(from_object, ['enterprise_web_search']) is not None: raise ValueError( 'enterprise_web_search parameter is not supported in Gemini API.' ) if getv(from_object, ['function_declarations']) is not None: setv( to_object, ['functionDeclarations'], [item for item in getv(from_object, ['function_declarations'])], ) if getv(from_object, ['google_maps']) is not None: setv( to_object, ['googleMaps'], _GoogleMaps_to_mldev(getv(from_object, ['google_maps']), to_object), ) if getv(from_object, ['google_search']) is not None: setv( to_object, ['googleSearch'], _GoogleSearch_to_mldev(getv(from_object, ['google_search']), to_object), ) if getv(from_object, ['google_search_retrieval']) is not None: setv( to_object, ['googleSearchRetrieval'], getv(from_object, ['google_search_retrieval']), ) if getv(from_object, ['url_context']) is not None: setv(to_object, ['urlContext'], getv(from_object, ['url_context'])) return to_object