From 0bc534889db4631be4ed8837f4204cfdda8f52c1 Mon Sep 17 00:00:00 2001 From: Mark Daoust Date: Fri, 16 Oct 2026 10:21:04 -0700 Subject: [PATCH] refactor: consolidate Python SDK converters into single _converters module PiperOrigin-RevId: 1000940190 --- google/genai/_converters.py | 9843 ++++++++++++++++++++++++ google/genai/_live_converters.py | 2052 ----- google/genai/_operations_converters.py | 403 - google/genai/_tokens_converters.py | 680 -- google/genai/batches.py | 1833 +---- google/genai/caches.py | 1117 +-- google/genai/documents.py | 132 +- google/genai/file_search_stores.py | 353 +- google/genai/files.py | 189 +- google/genai/live.py | 25 +- google/genai/live_music.py | 6 +- google/genai/models.py | 4788 +----------- google/genai/operations.py | 98 +- google/genai/tokens.py | 8 +- google/genai/tunings.py | 2613 +------ google/genai/types.py | 23 +- 16 files changed, 10259 insertions(+), 13904 deletions(-) create mode 100644 google/genai/_converters.py delete mode 100644 google/genai/_live_converters.py delete mode 100644 google/genai/_operations_converters.py delete mode 100644 google/genai/_tokens_converters.py diff --git a/google/genai/_converters.py b/google/genai/_converters.py new file mode 100644 index 0000000000..21362e7249 --- /dev/null +++ b/google/genai/_converters.py @@ -0,0 +1,9843 @@ +# 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 _base_transformers as base_t +from . import _transformers as t +from ._api_client import BaseApiClient +from ._common import get_value_by_path as getv +from ._common import move_value_by_path as movev +from ._common import set_value_by_path as setv + + +def _VideoGenerationReferenceType_to_mldev_enum_validate( + enum_value: Any, +) -> None: + if enum_value in set(['STYLE']): + raise ValueError( + f'{enum_value} enum value is only supported in Gemini Enterprise Agent' + ' Platform mode, not in Gemini Developer API mode.' + ) + + +def _AuthConfig_to_mldev( + from_object: Union[dict[str, Any], object], + parent_object: Optional[dict[str, Any]] = None, + root_object: Optional[Union[dict[str, Any], object]] = None, +) -> dict[str, Any]: + to_object: dict[str, Any] = {} + if getv(from_object, ['api_key']) is not None: + setv(to_object, ['apiKey'], getv(from_object, ['api_key'])) + + if getv(from_object, ['api_key_config']) is not None: + raise ValueError( + 'api_key_config parameter is only supported in Gemini Enterprise Agent' + ' Platform mode, not in Gemini Developer API mode.' + ) + + if getv(from_object, ['auth_type']) is not None: + raise ValueError( + 'auth_type parameter is only supported in Gemini Enterprise Agent' + ' Platform mode, not in Gemini Developer API mode.' + ) + + if getv(from_object, ['google_service_account_config']) is not None: + raise ValueError( + 'google_service_account_config parameter is only supported in Gemini' + ' Enterprise Agent Platform mode, not in Gemini Developer API mode.' + ) + + if getv(from_object, ['http_basic_auth_config']) is not None: + raise ValueError( + 'http_basic_auth_config parameter is only supported in Gemini' + ' Enterprise Agent Platform mode, not in Gemini Developer API mode.' + ) + + if getv(from_object, ['oauth_config']) is not None: + raise ValueError( + 'oauth_config parameter is only supported in Gemini Enterprise Agent' + ' Platform mode, not in Gemini Developer API mode.' + ) + + if getv(from_object, ['oidc_config']) is not None: + raise ValueError( + 'oidc_config parameter is only supported in Gemini Enterprise Agent' + ' Platform mode, not in Gemini Developer API mode.' + ) + + return to_object + + +def _AutoraterConfig_from_vertex( + from_object: Union[dict[str, Any], object], + parent_object: Optional[dict[str, Any]] = None, + root_object: Optional[Union[dict[str, Any], object]] = None, +) -> dict[str, Any]: + to_object: dict[str, Any] = {} + if getv(from_object, ['samplingCount']) is not None: + setv(to_object, ['sampling_count'], getv(from_object, ['samplingCount'])) + + if getv(from_object, ['flipEnabled']) is not None: + setv(to_object, ['flip_enabled'], getv(from_object, ['flipEnabled'])) + + if getv(from_object, ['autoraterModel']) is not None: + setv(to_object, ['autorater_model'], getv(from_object, ['autoraterModel'])) + + if getv(from_object, ['generationConfig']) is not None: + setv( + to_object, + ['generation_config'], + _GenerationConfig_from_vertex( + getv(from_object, ['generationConfig']), to_object, root_object + ), + ) + + return to_object + + +def _AutoraterConfig_to_vertex( + from_object: Union[dict[str, Any], object], + parent_object: Optional[dict[str, Any]] = None, + root_object: Optional[Union[dict[str, Any], object]] = None, +) -> dict[str, Any]: + to_object: dict[str, Any] = {} + if getv(from_object, ['sampling_count']) is not None: + setv(to_object, ['samplingCount'], getv(from_object, ['sampling_count'])) + + if getv(from_object, ['flip_enabled']) is not None: + setv(to_object, ['flipEnabled'], getv(from_object, ['flip_enabled'])) + + if getv(from_object, ['autorater_model']) is not None: + setv(to_object, ['autoraterModel'], getv(from_object, ['autorater_model'])) + + if getv(from_object, ['generation_config']) is not None: + setv( + to_object, + ['generationConfig'], + _GenerationConfig_to_vertex( + getv(from_object, ['generation_config']), to_object, root_object + ), + ) + + return to_object + + +def _BatchJobDestination_from_mldev( + from_object: Union[dict[str, Any], object], + parent_object: Optional[dict[str, Any]] = None, + root_object: Optional[Union[dict[str, Any], object]] = None, +) -> dict[str, Any]: + to_object: dict[str, Any] = {} + + if getv(from_object, ['responsesFile']) is not None: + setv(to_object, ['file_name'], getv(from_object, ['responsesFile'])) + + if getv(from_object, ['inlinedResponses', 'inlinedResponses']) is not None: + setv( + to_object, + ['inlined_responses'], + [ + _InlinedResponse_from_mldev(item, to_object, root_object) + for item in getv( + from_object, ['inlinedResponses', 'inlinedResponses'] + ) + ], + ) + + if ( + getv(from_object, ['inlinedEmbedContentResponses', 'inlinedResponses']) + is not None + ): + setv( + to_object, + ['inlined_embed_content_responses'], + [ + item + for item in getv( + from_object, + ['inlinedEmbedContentResponses', 'inlinedResponses'], + ) + ], + ) + + return to_object + + +def _BatchJobDestination_from_vertex( + from_object: Union[dict[str, Any], object], + parent_object: Optional[dict[str, Any]] = None, + root_object: Optional[Union[dict[str, Any], object]] = None, +) -> dict[str, Any]: + to_object: dict[str, Any] = {} + if getv(from_object, ['predictionsFormat']) is not None: + setv(to_object, ['format'], getv(from_object, ['predictionsFormat'])) + + if getv(from_object, ['gcsDestination', 'outputUriPrefix']) is not None: + setv( + to_object, + ['gcs_uri'], + getv(from_object, ['gcsDestination', 'outputUriPrefix']), + ) + + if getv(from_object, ['bigqueryDestination', 'outputUri']) is not None: + setv( + to_object, + ['bigquery_uri'], + getv(from_object, ['bigqueryDestination', 'outputUri']), + ) + + if getv(from_object, ['vertexMultimodalDatasetDestination']) is not None: + setv( + to_object, + ['vertex_dataset'], + _VertexMultimodalDatasetDestination_from_vertex( + getv(from_object, ['vertexMultimodalDatasetDestination']), + to_object, + root_object, + ), + ) + + return to_object + + +def _BatchJobDestination_to_vertex( + from_object: Union[dict[str, Any], object], + parent_object: Optional[dict[str, Any]] = None, + root_object: Optional[Union[dict[str, Any], object]] = None, +) -> dict[str, Any]: + to_object: dict[str, Any] = {} + if getv(from_object, ['format']) is not None: + setv(to_object, ['predictionsFormat'], getv(from_object, ['format'])) + + if getv(from_object, ['gcs_uri']) is not None: + setv( + to_object, + ['gcsDestination', 'outputUriPrefix'], + getv(from_object, ['gcs_uri']), + ) + + if getv(from_object, ['bigquery_uri']) is not None: + setv( + to_object, + ['bigqueryDestination', 'outputUri'], + getv(from_object, ['bigquery_uri']), + ) + + if getv(from_object, ['file_name']) is not None: + raise ValueError( + 'file_name parameter is only supported in Gemini Developer API mode,' + ' not in Gemini Enterprise Agent Platform mode.' + ) + + if getv(from_object, ['inlined_responses']) is not None: + raise ValueError( + 'inlined_responses parameter is only supported in Gemini Developer API' + ' mode, not in Gemini Enterprise Agent Platform mode.' + ) + + if getv(from_object, ['inlined_embed_content_responses']) is not None: + raise ValueError( + 'inlined_embed_content_responses parameter is only supported in Gemini' + ' Developer API mode, not in Gemini Enterprise Agent Platform mode.' + ) + + if getv(from_object, ['vertex_dataset']) is not None: + setv( + to_object, + ['vertexMultimodalDatasetDestination'], + _VertexMultimodalDatasetDestination_to_vertex( + getv(from_object, ['vertex_dataset']), to_object, root_object + ), + ) + + return to_object + + +def _BatchJobSource_from_vertex( + from_object: Union[dict[str, Any], object], + parent_object: Optional[dict[str, Any]] = None, + root_object: Optional[Union[dict[str, Any], object]] = None, +) -> dict[str, Any]: + to_object: dict[str, Any] = {} + if getv(from_object, ['instancesFormat']) is not None: + setv(to_object, ['format'], getv(from_object, ['instancesFormat'])) + + if getv(from_object, ['gcsSource', 'uris']) is not None: + setv(to_object, ['gcs_uri'], getv(from_object, ['gcsSource', 'uris'])) + + if getv(from_object, ['bigquerySource', 'inputUri']) is not None: + setv( + to_object, + ['bigquery_uri'], + getv(from_object, ['bigquerySource', 'inputUri']), + ) + + if ( + getv(from_object, ['vertexMultimodalDatasetSource', 'datasetName']) + is not None + ): + setv( + to_object, + ['vertex_dataset_name'], + getv(from_object, ['vertexMultimodalDatasetSource', 'datasetName']), + ) + + return to_object + + +def _BatchJobSource_to_mldev( + api_client: BaseApiClient, + from_object: Union[dict[str, Any], object], + parent_object: Optional[dict[str, Any]] = None, + root_object: Optional[Union[dict[str, Any], object]] = None, +) -> dict[str, Any]: + to_object: dict[str, Any] = {} + if getv(from_object, ['format']) is not None: + raise ValueError( + 'format parameter is only supported in Gemini Enterprise Agent Platform' + ' mode, not in Gemini Developer API mode.' + ) + + if getv(from_object, ['gcs_uri']) is not None: + raise ValueError( + 'gcs_uri parameter is only supported in Gemini Enterprise Agent' + ' Platform mode, not in Gemini Developer API mode.' + ) + + if getv(from_object, ['bigquery_uri']) is not None: + raise ValueError( + 'bigquery_uri parameter is only supported in Gemini Enterprise Agent' + ' Platform mode, not in Gemini Developer API mode.' + ) + + if getv(from_object, ['file_name']) is not None: + setv(to_object, ['fileName'], getv(from_object, ['file_name'])) + + if getv(from_object, ['inlined_requests']) is not None: + setv( + to_object, + ['requests', 'requests'], + [ + _InlinedRequest_to_mldev(api_client, item, to_object, root_object) + for item in getv(from_object, ['inlined_requests']) + ], + ) + + if getv(from_object, ['vertex_dataset_name']) is not None: + raise ValueError( + 'vertex_dataset_name parameter is only supported in Gemini Enterprise' + ' Agent Platform mode, not in Gemini Developer API mode.' + ) + + return to_object + + +def _BatchJobSource_to_vertex( + from_object: Union[dict[str, Any], object], + parent_object: Optional[dict[str, Any]] = None, + root_object: Optional[Union[dict[str, Any], object]] = None, +) -> dict[str, Any]: + to_object: dict[str, Any] = {} + if getv(from_object, ['format']) is not None: + setv(to_object, ['instancesFormat'], getv(from_object, ['format'])) + + if getv(from_object, ['gcs_uri']) is not None: + setv(to_object, ['gcsSource', 'uris'], getv(from_object, ['gcs_uri'])) + + if getv(from_object, ['bigquery_uri']) is not None: + setv( + to_object, + ['bigquerySource', 'inputUri'], + getv(from_object, ['bigquery_uri']), + ) + + if getv(from_object, ['file_name']) is not None: + raise ValueError( + 'file_name parameter is only supported in Gemini Developer API mode,' + ' not in Gemini Enterprise Agent Platform mode.' + ) + + if getv(from_object, ['inlined_requests']) is not None: + raise ValueError( + 'inlined_requests parameter is only supported in Gemini Developer API' + ' mode, not in Gemini Enterprise Agent Platform mode.' + ) + + if getv(from_object, ['vertex_dataset_name']) is not None: + setv( + to_object, + ['vertexMultimodalDatasetSource', 'datasetName'], + getv(from_object, ['vertex_dataset_name']), + ) + + return to_object + + +def _BatchJob_from_mldev( + from_object: Union[dict[str, Any], object], + parent_object: Optional[dict[str, Any]] = None, + root_object: Optional[Union[dict[str, Any], object]] = None, +) -> dict[str, Any]: + to_object: dict[str, Any] = {} + if getv(from_object, ['name']) is not None: + setv(to_object, ['name'], getv(from_object, ['name'])) + + if getv(from_object, ['metadata', 'displayName']) is not None: + setv( + to_object, + ['display_name'], + getv(from_object, ['metadata', 'displayName']), + ) + + if getv(from_object, ['metadata', 'state']) is not None: + setv( + to_object, + ['state'], + t.t_job_state(getv(from_object, ['metadata', 'state'])), + ) + + if getv(from_object, ['metadata', 'createTime']) is not None: + setv( + to_object, + ['create_time'], + getv(from_object, ['metadata', 'createTime']), + ) + + if getv(from_object, ['metadata', 'endTime']) is not None: + setv(to_object, ['end_time'], getv(from_object, ['metadata', 'endTime'])) + + if getv(from_object, ['metadata', 'updateTime']) is not None: + setv( + to_object, + ['update_time'], + getv(from_object, ['metadata', 'updateTime']), + ) + + if getv(from_object, ['metadata', 'model']) is not None: + setv(to_object, ['model'], getv(from_object, ['metadata', 'model'])) + + if getv(from_object, ['metadata', 'output']) is not None: + setv( + to_object, + ['dest'], + _BatchJobDestination_from_mldev( + t.t_recv_batch_job_destination( + getv(from_object, ['metadata', 'output']) + ), + to_object, + root_object, + ), + ) + + return to_object + + +def _BatchJob_from_vertex( + from_object: Union[dict[str, Any], object], + parent_object: Optional[dict[str, Any]] = None, + root_object: Optional[Union[dict[str, Any], object]] = None, +) -> dict[str, Any]: + to_object: dict[str, Any] = {} + if getv(from_object, ['name']) is not None: + setv(to_object, ['name'], getv(from_object, ['name'])) + + if getv(from_object, ['displayName']) is not None: + setv(to_object, ['display_name'], getv(from_object, ['displayName'])) + + if getv(from_object, ['state']) is not None: + setv(to_object, ['state'], t.t_job_state(getv(from_object, ['state']))) + + if getv(from_object, ['error']) is not None: + setv(to_object, ['error'], getv(from_object, ['error'])) + + if getv(from_object, ['createTime']) is not None: + setv(to_object, ['create_time'], getv(from_object, ['createTime'])) + + if getv(from_object, ['startTime']) is not None: + setv(to_object, ['start_time'], getv(from_object, ['startTime'])) + + if getv(from_object, ['endTime']) is not None: + setv(to_object, ['end_time'], getv(from_object, ['endTime'])) + + if getv(from_object, ['updateTime']) is not None: + setv(to_object, ['update_time'], getv(from_object, ['updateTime'])) + + if getv(from_object, ['model']) is not None: + setv(to_object, ['model'], getv(from_object, ['model'])) + + if getv(from_object, ['inputConfig']) is not None: + setv( + to_object, + ['src'], + _BatchJobSource_from_vertex( + getv(from_object, ['inputConfig']), to_object, root_object + ), + ) + + if getv(from_object, ['outputConfig']) is not None: + setv( + to_object, + ['dest'], + _BatchJobDestination_from_vertex( + t.t_recv_batch_job_destination(getv(from_object, ['outputConfig'])), + to_object, + root_object, + ), + ) + + if getv(from_object, ['completionStats']) is not None: + setv( + to_object, ['completion_stats'], getv(from_object, ['completionStats']) + ) + + if getv(from_object, ['outputInfo']) is not None: + setv(to_object, ['output_info'], getv(from_object, ['outputInfo'])) + + return to_object + + +def _CancelBatchJobParameters_to_mldev( + api_client: BaseApiClient, + from_object: Union[dict[str, Any], object], + parent_object: Optional[dict[str, Any]] = None, + root_object: Optional[Union[dict[str, Any], object]] = None, +) -> dict[str, Any]: + to_object: dict[str, Any] = {} + if getv(from_object, ['name']) is not None: + setv( + to_object, + ['_url', 'name'], + t.t_batch_job_name(api_client, getv(from_object, ['name'])), + ) + + return to_object + + +def _CancelBatchJobParameters_to_vertex( + api_client: BaseApiClient, + from_object: Union[dict[str, Any], object], + parent_object: Optional[dict[str, Any]] = None, + root_object: Optional[Union[dict[str, Any], object]] = None, +) -> dict[str, Any]: + to_object: dict[str, Any] = {} + if getv(from_object, ['name']) is not None: + setv( + to_object, + ['_url', 'name'], + t.t_batch_job_name(api_client, getv(from_object, ['name'])), + ) + + return to_object + + +def _CancelTuningJobParameters_to_mldev( + from_object: Union[dict[str, Any], object], + parent_object: Optional[dict[str, Any]] = None, + root_object: Optional[Union[dict[str, Any], object]] = None, +) -> dict[str, Any]: + to_object: dict[str, Any] = {} + if getv(from_object, ['name']) is not None: + setv(to_object, ['_url', 'name'], getv(from_object, ['name'])) + + return to_object + + +def _CancelTuningJobParameters_to_vertex( + from_object: Union[dict[str, Any], object], + parent_object: Optional[dict[str, Any]] = None, + root_object: Optional[Union[dict[str, Any], object]] = None, +) -> dict[str, Any]: + to_object: dict[str, Any] = {} + if getv(from_object, ['name']) is not None: + setv(to_object, ['_url', 'name'], getv(from_object, ['name'])) + + return to_object + + +def _CancelTuningJobResponse_from_mldev( + from_object: Union[dict[str, Any], object], + parent_object: Optional[dict[str, Any]] = None, + root_object: Optional[Union[dict[str, Any], object]] = None, +) -> dict[str, Any]: + to_object: dict[str, Any] = {} + if getv(from_object, ['sdkHttpResponse']) is not None: + setv( + to_object, ['sdk_http_response'], getv(from_object, ['sdkHttpResponse']) + ) + + return to_object + + +def _CancelTuningJobResponse_from_vertex( + from_object: Union[dict[str, Any], object], + parent_object: Optional[dict[str, Any]] = None, + root_object: Optional[Union[dict[str, Any], object]] = None, +) -> dict[str, Any]: + to_object: dict[str, Any] = {} + if getv(from_object, ['sdkHttpResponse']) is not None: + setv( + to_object, ['sdk_http_response'], getv(from_object, ['sdkHttpResponse']) + ) + + return to_object + + +def _Candidate_from_mldev( + from_object: Union[dict[str, Any], object], + parent_object: Optional[dict[str, Any]] = None, + root_object: Optional[Union[dict[str, Any], object]] = None, +) -> dict[str, Any]: + to_object: dict[str, Any] = {} + if getv(from_object, ['content']) is not None: + setv(to_object, ['content'], getv(from_object, ['content'])) + + if getv(from_object, ['citationMetadata']) is not None: + setv( + to_object, + ['citation_metadata'], + _CitationMetadata_from_mldev( + getv(from_object, ['citationMetadata']), to_object, root_object + ), + ) + + if getv(from_object, ['tokenCount']) is not None: + setv(to_object, ['token_count'], getv(from_object, ['tokenCount'])) + + if getv(from_object, ['finishReason']) is not None: + setv(to_object, ['finish_reason'], getv(from_object, ['finishReason'])) + + if getv(from_object, ['groundingMetadata']) is not None: + setv( + to_object, + ['grounding_metadata'], + getv(from_object, ['groundingMetadata']), + ) + + if getv(from_object, ['avgLogprobs']) is not None: + setv(to_object, ['avg_logprobs'], getv(from_object, ['avgLogprobs'])) + + if getv(from_object, ['index']) is not None: + setv(to_object, ['index'], getv(from_object, ['index'])) + + if getv(from_object, ['logprobsResult']) is not None: + setv(to_object, ['logprobs_result'], getv(from_object, ['logprobsResult'])) + + if getv(from_object, ['safetyRatings']) is not None: + setv( + to_object, + ['safety_ratings'], + [item for item in getv(from_object, ['safetyRatings'])], + ) + + if getv(from_object, ['urlContextMetadata']) is not None: + setv( + to_object, + ['url_context_metadata'], + getv(from_object, ['urlContextMetadata']), + ) + + if getv(from_object, ['continuationToken']) is not None: + setv( + to_object, + ['continuation_token'], + getv(from_object, ['continuationToken']), + ) + + return to_object + + +def _CitationMetadata_from_mldev( + from_object: Union[dict[str, Any], object], + parent_object: Optional[dict[str, Any]] = None, + root_object: Optional[Union[dict[str, Any], object]] = None, +) -> dict[str, Any]: + to_object: dict[str, Any] = {} + if getv(from_object, ['citationSources']) is not None: + setv( + to_object, + ['citations'], + [item for item in getv(from_object, ['citationSources'])], + ) + + return to_object + + +def _CompositeReinforcementTuningRewardConfigWeightedRewardConfig_from_vertex( + from_object: Union[dict[str, Any], object], + parent_object: Optional[dict[str, Any]] = None, + root_object: Optional[Union[dict[str, Any], object]] = None, +) -> dict[str, Any]: + to_object: dict[str, Any] = {} + if getv(from_object, ['rewardConfig']) is not None: + setv( + to_object, + ['reward_config'], + _SingleReinforcementTuningRewardConfig_from_vertex( + getv(from_object, ['rewardConfig']), to_object, root_object + ), + ) + + if getv(from_object, ['weight']) is not None: + setv(to_object, ['weight'], getv(from_object, ['weight'])) + + return to_object + + +def _CompositeReinforcementTuningRewardConfigWeightedRewardConfig_to_vertex( + from_object: Union[dict[str, Any], object], + parent_object: Optional[dict[str, Any]] = None, + root_object: Optional[Union[dict[str, Any], object]] = None, +) -> dict[str, Any]: + to_object: dict[str, Any] = {} + if getv(from_object, ['reward_config']) is not None: + setv( + to_object, + ['rewardConfig'], + _SingleReinforcementTuningRewardConfig_to_vertex( + getv(from_object, ['reward_config']), to_object, root_object + ), + ) + + if getv(from_object, ['weight']) is not None: + setv(to_object, ['weight'], getv(from_object, ['weight'])) + + return to_object + + +def _CompositeReinforcementTuningRewardConfig_from_vertex( + from_object: Union[dict[str, Any], object], + parent_object: Optional[dict[str, Any]] = None, + root_object: Optional[Union[dict[str, Any], object]] = None, +) -> dict[str, Any]: + to_object: dict[str, Any] = {} + if getv(from_object, ['weightedRewardConfigs']) is not None: + setv( + to_object, + ['weighted_reward_configs'], + [ + _CompositeReinforcementTuningRewardConfigWeightedRewardConfig_from_vertex( + item, to_object, root_object + ) + for item in getv(from_object, ['weightedRewardConfigs']) + ], + ) + + return to_object + + +def _CompositeReinforcementTuningRewardConfig_to_vertex( + from_object: Union[dict[str, Any], object], + parent_object: Optional[dict[str, Any]] = None, + root_object: Optional[Union[dict[str, Any], object]] = None, +) -> dict[str, Any]: + to_object: dict[str, Any] = {} + if getv(from_object, ['weighted_reward_configs']) is not None: + setv( + to_object, + ['weightedRewardConfigs'], + [ + _CompositeReinforcementTuningRewardConfigWeightedRewardConfig_to_vertex( + item, to_object, root_object + ) + for item in getv(from_object, ['weighted_reward_configs']) + ], + ) + + return to_object + + +def _ComputeTokensParameters_to_vertex( + api_client: BaseApiClient, + from_object: Union[dict[str, Any], object], + parent_object: Optional[dict[str, Any]] = None, + root_object: Optional[Union[dict[str, Any], object]] = None, +) -> dict[str, Any]: + to_object: dict[str, Any] = {} + if getv(from_object, ['model']) is not None: + setv( + to_object, + ['_url', 'model'], + t.t_model(api_client, getv(from_object, ['model'])), + ) + + if getv(from_object, ['contents']) is not None: + setv( + to_object, + ['contents'], + [ + _Content_to_vertex(item, to_object, root_object) + for item in t.t_contents(getv(from_object, ['contents'])) + ], + ) + + return to_object + + +def _ComputeTokensResponse_from_vertex( + from_object: Union[dict[str, Any], object], + parent_object: Optional[dict[str, Any]] = None, + root_object: Optional[Union[dict[str, Any], object]] = None, +) -> dict[str, Any]: + to_object: dict[str, Any] = {} + if getv(from_object, ['sdkHttpResponse']) is not None: + setv( + to_object, ['sdk_http_response'], getv(from_object, ['sdkHttpResponse']) + ) + + if getv(from_object, ['tokensInfo']) is not None: + setv( + to_object, + ['tokens_info'], + [item for item in getv(from_object, ['tokensInfo'])], + ) + + return to_object + + +def _ContentEmbeddingStatistics_from_vertex( + from_object: Union[dict[str, Any], object], + parent_object: Optional[dict[str, Any]] = None, + root_object: Optional[Union[dict[str, Any], object]] = None, +) -> dict[str, Any]: + to_object: dict[str, Any] = {} + if getv(from_object, ['truncated']) is not None: + setv(to_object, ['truncated'], getv(from_object, ['truncated'])) + + if getv(from_object, ['token_count']) is not None: + setv(to_object, ['token_count'], getv(from_object, ['token_count'])) + + if getv(from_object, ['tokensDetails']) is not None: + setv( + to_object, + ['tokens_details'], + [item for item in getv(from_object, ['tokensDetails'])], + ) + + return to_object + + +def _ContentEmbedding_from_vertex( + from_object: Union[dict[str, Any], object], + parent_object: Optional[dict[str, Any]] = None, + root_object: Optional[Union[dict[str, Any], object]] = None, +) -> dict[str, Any]: + to_object: dict[str, Any] = {} + if getv(from_object, ['values']) is not None: + setv(to_object, ['values'], getv(from_object, ['values'])) + + if getv(from_object, ['statistics']) is not None: + setv( + to_object, + ['statistics'], + _ContentEmbeddingStatistics_from_vertex( + getv(from_object, ['statistics']), to_object, root_object + ), + ) + + return to_object + + +def _Content_to_mldev( + from_object: Union[dict[str, Any], object], + parent_object: Optional[dict[str, Any]] = None, + root_object: Optional[Union[dict[str, Any], object]] = 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, root_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 _Content_to_vertex( + from_object: Union[dict[str, Any], object], + parent_object: Optional[dict[str, Any]] = None, + root_object: Optional[Union[dict[str, Any], object]] = None, +) -> dict[str, Any]: + to_object: dict[str, Any] = {} + if getv(from_object, ['parts']) is not None: + setv( + to_object, + ['parts'], + [ + _Part_to_vertex(item, to_object, root_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 _ControlReferenceConfig_to_vertex( + from_object: Union[dict[str, Any], object], + parent_object: Optional[dict[str, Any]] = None, + root_object: Optional[Union[dict[str, Any], object]] = None, +) -> dict[str, Any]: + to_object: dict[str, Any] = {} + if getv(from_object, ['control_type']) is not None: + setv(to_object, ['controlType'], getv(from_object, ['control_type'])) + + if getv(from_object, ['enable_control_image_computation']) is not None: + setv( + to_object, + ['computeControl'], + getv(from_object, ['enable_control_image_computation']), + ) + + return to_object + + +def _CountTokensConfig_to_mldev( + from_object: Union[dict[str, Any], object], + parent_object: Optional[dict[str, Any]] = None, + root_object: Optional[Union[dict[str, Any], object]] = None, +) -> dict[str, Any]: + to_object: dict[str, Any] = {} + + if getv(from_object, ['system_instruction']) is not None: + raise ValueError( + 'system_instruction parameter is only supported in Gemini Enterprise' + ' Agent Platform mode, not in Gemini Developer API mode.' + ) + + if getv(from_object, ['tools']) is not None: + raise ValueError( + 'tools parameter is only supported in Gemini Enterprise Agent Platform' + ' mode, not in Gemini Developer API mode.' + ) + + if getv(from_object, ['generation_config']) is not None: + raise ValueError( + 'generation_config parameter is only supported in Gemini Enterprise' + ' Agent Platform mode, not in Gemini Developer API mode.' + ) + + return to_object + + +def _CountTokensConfig_to_vertex( + from_object: Union[dict[str, Any], object], + parent_object: Optional[dict[str, Any]] = None, + root_object: Optional[Union[dict[str, Any], object]] = None, +) -> dict[str, Any]: + to_object: dict[str, Any] = {} + + if getv(from_object, ['system_instruction']) is not None: + setv( + parent_object, + ['systemInstruction'], + _Content_to_vertex( + t.t_content(getv(from_object, ['system_instruction'])), + to_object, + root_object, + ), + ) + + if getv(from_object, ['tools']) is not None: + setv( + parent_object, + ['tools'], + [ + _Tool_to_vertex(item, to_object, root_object) + for item in getv(from_object, ['tools']) + ], + ) + + if getv(from_object, ['generation_config']) is not None: + setv( + parent_object, + ['generationConfig'], + _GenerationConfig_to_vertex( + getv(from_object, ['generation_config']), to_object, root_object + ), + ) + + return to_object + + +def _CountTokensParameters_to_mldev( + api_client: BaseApiClient, + from_object: Union[dict[str, Any], object], + parent_object: Optional[dict[str, Any]] = None, + root_object: Optional[Union[dict[str, Any], object]] = None, +) -> dict[str, Any]: + to_object: dict[str, Any] = {} + if getv(from_object, ['model']) is not None: + setv( + to_object, + ['_url', 'model'], + t.t_model(api_client, getv(from_object, ['model'])), + ) + + if getv(from_object, ['contents']) is not None: + setv( + to_object, + ['contents'], + [ + _Content_to_mldev(item, to_object, root_object) + for item in t.t_contents(getv(from_object, ['contents'])) + ], + ) + + if getv(from_object, ['config']) is not None: + _CountTokensConfig_to_mldev( + getv(from_object, ['config']), to_object, root_object + ) + + return to_object + + +def _CountTokensParameters_to_vertex( + api_client: BaseApiClient, + from_object: Union[dict[str, Any], object], + parent_object: Optional[dict[str, Any]] = None, + root_object: Optional[Union[dict[str, Any], object]] = None, +) -> dict[str, Any]: + to_object: dict[str, Any] = {} + if getv(from_object, ['model']) is not None: + setv( + to_object, + ['_url', 'model'], + t.t_model(api_client, getv(from_object, ['model'])), + ) + + if getv(from_object, ['contents']) is not None: + setv( + to_object, + ['contents'], + [ + _Content_to_vertex(item, to_object, root_object) + for item in t.t_contents(getv(from_object, ['contents'])) + ], + ) + + if getv(from_object, ['config']) is not None: + _CountTokensConfig_to_vertex( + getv(from_object, ['config']), to_object, root_object + ) + + return to_object + + +def _CountTokensResponse_from_mldev( + from_object: Union[dict[str, Any], object], + parent_object: Optional[dict[str, Any]] = None, + root_object: Optional[Union[dict[str, Any], object]] = None, +) -> dict[str, Any]: + to_object: dict[str, Any] = {} + if getv(from_object, ['sdkHttpResponse']) is not None: + setv( + to_object, ['sdk_http_response'], getv(from_object, ['sdkHttpResponse']) + ) + + if getv(from_object, ['totalTokens']) is not None: + setv(to_object, ['total_tokens'], getv(from_object, ['totalTokens'])) + + if getv(from_object, ['cachedContentTokenCount']) is not None: + setv( + to_object, + ['cached_content_token_count'], + getv(from_object, ['cachedContentTokenCount']), + ) + + return to_object + + +def _CountTokensResponse_from_vertex( + from_object: Union[dict[str, Any], object], + parent_object: Optional[dict[str, Any]] = None, + root_object: Optional[Union[dict[str, Any], object]] = None, +) -> dict[str, Any]: + to_object: dict[str, Any] = {} + if getv(from_object, ['sdkHttpResponse']) is not None: + setv( + to_object, ['sdk_http_response'], getv(from_object, ['sdkHttpResponse']) + ) + + if getv(from_object, ['totalTokens']) is not None: + setv(to_object, ['total_tokens'], getv(from_object, ['totalTokens'])) + + return to_object + + +def _CreateAuthTokenConfig_to_mldev( + api_client: BaseApiClient, + from_object: Union[dict[str, Any], object], + parent_object: Optional[dict[str, Any]] = None, + root_object: Optional[Union[dict[str, Any], object]] = 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, + root_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, + root_object: Optional[Union[dict[str, Any], object]] = 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, root_object + ), + ) + + return to_object + + +def _CreateAuthTokenParameters_to_vertex( + from_object: Union[dict[str, Any], object], + parent_object: Optional[dict[str, Any]] = None, + root_object: Optional[Union[dict[str, Any], object]] = None, +) -> dict[str, Any]: + to_object: dict[str, Any] = {} + if getv(from_object, ['config']) is not None: + raise ValueError( + 'config parameter is only supported in Gemini Developer API mode, not' + ' in Gemini Enterprise Agent Platform mode.' + ) + + return to_object + + +def _CreateBatchJobConfig_to_mldev( + from_object: Union[dict[str, Any], object], + parent_object: Optional[dict[str, Any]] = None, + root_object: Optional[Union[dict[str, Any], object]] = None, +) -> dict[str, Any]: + to_object: dict[str, Any] = {} + + if getv(from_object, ['display_name']) is not None: + setv( + parent_object, + ['batch', 'displayName'], + getv(from_object, ['display_name']), + ) + + if getv(from_object, ['dest']) is not None: + raise ValueError( + 'dest parameter is only supported in Gemini Enterprise Agent Platform' + ' mode, not in Gemini Developer API mode.' + ) + + if getv(from_object, ['webhook_config']) is not None: + setv( + parent_object, + ['batch', 'webhookConfig'], + getv(from_object, ['webhook_config']), + ) + + return to_object + + +def _CreateBatchJobConfig_to_vertex( + from_object: Union[dict[str, Any], object], + parent_object: Optional[dict[str, Any]] = None, + root_object: Optional[Union[dict[str, Any], object]] = None, +) -> dict[str, Any]: + to_object: dict[str, Any] = {} + + if getv(from_object, ['display_name']) is not None: + setv(parent_object, ['displayName'], getv(from_object, ['display_name'])) + + if getv(from_object, ['dest']) is not None: + setv( + parent_object, + ['outputConfig'], + _BatchJobDestination_to_vertex( + t.t_batch_job_destination(getv(from_object, ['dest'])), + to_object, + root_object, + ), + ) + + if getv(from_object, ['webhook_config']) is not None: + raise ValueError( + 'webhook_config parameter is only supported in Gemini Developer API' + ' mode, not in Gemini Enterprise Agent Platform mode.' + ) + + return to_object + + +def _CreateBatchJobParameters_to_mldev( + api_client: BaseApiClient, + from_object: Union[dict[str, Any], object], + parent_object: Optional[dict[str, Any]] = None, + root_object: Optional[Union[dict[str, Any], object]] = None, +) -> dict[str, Any]: + to_object: dict[str, Any] = {} + if getv(from_object, ['model']) is not None: + setv( + to_object, + ['_url', 'model'], + t.t_model(api_client, getv(from_object, ['model'])), + ) + + if getv(from_object, ['src']) is not None: + setv( + to_object, + ['batch', 'inputConfig'], + _BatchJobSource_to_mldev( + api_client, + t.t_batch_job_source(api_client, getv(from_object, ['src'])), + to_object, + root_object, + ), + ) + + if getv(from_object, ['config']) is not None: + _CreateBatchJobConfig_to_mldev( + getv(from_object, ['config']), to_object, root_object + ) + + return to_object + + +def _CreateBatchJobParameters_to_vertex( + api_client: BaseApiClient, + from_object: Union[dict[str, Any], object], + parent_object: Optional[dict[str, Any]] = None, + root_object: Optional[Union[dict[str, Any], object]] = None, +) -> dict[str, Any]: + to_object: dict[str, Any] = {} + if getv(from_object, ['model']) is not None: + setv( + to_object, + ['model'], + t.t_model(api_client, getv(from_object, ['model'])), + ) + + if getv(from_object, ['src']) is not None: + setv( + to_object, + ['inputConfig'], + _BatchJobSource_to_vertex( + t.t_batch_job_source(api_client, getv(from_object, ['src'])), + to_object, + root_object, + ), + ) + + if getv(from_object, ['config']) is not None: + _CreateBatchJobConfig_to_vertex( + getv(from_object, ['config']), to_object, root_object + ) + + return to_object + + +def _CreateCachedContentConfig_to_mldev( + from_object: Union[dict[str, Any], object], + parent_object: Optional[dict[str, Any]] = None, + root_object: Optional[Union[dict[str, Any], object]] = None, +) -> dict[str, Any]: + to_object: dict[str, Any] = {} + + if getv(from_object, ['ttl']) is not None: + setv(parent_object, ['ttl'], getv(from_object, ['ttl'])) + + if getv(from_object, ['expire_time']) is not None: + setv(parent_object, ['expireTime'], getv(from_object, ['expire_time'])) + + if getv(from_object, ['display_name']) is not None: + setv(parent_object, ['displayName'], getv(from_object, ['display_name'])) + + if getv(from_object, ['contents']) is not None: + setv( + parent_object, + ['contents'], + [ + _Content_to_mldev(item, to_object, root_object) + for item in t.t_contents(getv(from_object, ['contents'])) + ], + ) + + if getv(from_object, ['system_instruction']) is not None: + setv( + parent_object, + ['systemInstruction'], + _Content_to_mldev( + t.t_content(getv(from_object, ['system_instruction'])), + to_object, + root_object, + ), + ) + + if getv(from_object, ['tools']) is not None: + setv( + parent_object, + ['tools'], + [ + _Tool_to_mldev(item, to_object, root_object) + for item in getv(from_object, ['tools']) + ], + ) + + if getv(from_object, ['tool_config']) is not None: + setv( + parent_object, + ['toolConfig'], + _ToolConfig_to_mldev( + getv(from_object, ['tool_config']), to_object, root_object + ), + ) + + if getv(from_object, ['kms_key_name']) is not None: + raise ValueError( + 'kms_key_name parameter is only supported in Gemini Enterprise Agent' + ' Platform mode, not in Gemini Developer API mode.' + ) + + return to_object + + +def _CreateCachedContentConfig_to_vertex( + from_object: Union[dict[str, Any], object], + parent_object: Optional[dict[str, Any]] = None, + root_object: Optional[Union[dict[str, Any], object]] = None, +) -> dict[str, Any]: + to_object: dict[str, Any] = {} + + if getv(from_object, ['ttl']) is not None: + setv(parent_object, ['ttl'], getv(from_object, ['ttl'])) + + if getv(from_object, ['expire_time']) is not None: + setv(parent_object, ['expireTime'], getv(from_object, ['expire_time'])) + + if getv(from_object, ['display_name']) is not None: + setv(parent_object, ['displayName'], getv(from_object, ['display_name'])) + + if getv(from_object, ['contents']) is not None: + setv( + parent_object, + ['contents'], + [ + _Content_to_vertex(item, to_object, root_object) + for item in t.t_contents(getv(from_object, ['contents'])) + ], + ) + + if getv(from_object, ['system_instruction']) is not None: + setv( + parent_object, + ['systemInstruction'], + _Content_to_vertex( + t.t_content(getv(from_object, ['system_instruction'])), + to_object, + root_object, + ), + ) + + if getv(from_object, ['tools']) is not None: + setv( + parent_object, + ['tools'], + [ + _Tool_to_vertex(item, to_object, root_object) + for item in getv(from_object, ['tools']) + ], + ) + + if getv(from_object, ['tool_config']) is not None: + setv( + parent_object, + ['toolConfig'], + _ToolConfig_to_vertex( + getv(from_object, ['tool_config']), to_object, root_object + ), + ) + + if getv(from_object, ['kms_key_name']) is not None: + setv( + parent_object, + ['encryption_spec', 'kmsKeyName'], + getv(from_object, ['kms_key_name']), + ) + + return to_object + + +def _CreateCachedContentParameters_to_mldev( + api_client: BaseApiClient, + from_object: Union[dict[str, Any], object], + parent_object: Optional[dict[str, Any]] = None, + root_object: Optional[Union[dict[str, Any], object]] = None, +) -> dict[str, Any]: + to_object: dict[str, Any] = {} + if getv(from_object, ['model']) is not None: + setv( + to_object, + ['model'], + t.t_caches_model(api_client, getv(from_object, ['model'])), + ) + + if getv(from_object, ['config']) is not None: + _CreateCachedContentConfig_to_mldev( + getv(from_object, ['config']), to_object, root_object + ) + + return to_object + + +def _CreateCachedContentParameters_to_vertex( + api_client: BaseApiClient, + from_object: Union[dict[str, Any], object], + parent_object: Optional[dict[str, Any]] = None, + root_object: Optional[Union[dict[str, Any], object]] = None, +) -> dict[str, Any]: + to_object: dict[str, Any] = {} + if getv(from_object, ['model']) is not None: + setv( + to_object, + ['model'], + t.t_caches_model(api_client, getv(from_object, ['model'])), + ) + + if getv(from_object, ['config']) is not None: + _CreateCachedContentConfig_to_vertex( + getv(from_object, ['config']), to_object, root_object + ) + + return to_object + + +def _CreateEmbeddingsBatchJobConfig_to_mldev( + from_object: Union[dict[str, Any], object], + parent_object: Optional[dict[str, Any]] = None, + root_object: Optional[Union[dict[str, Any], object]] = None, +) -> dict[str, Any]: + to_object: dict[str, Any] = {} + + if getv(from_object, ['display_name']) is not None: + setv( + parent_object, + ['batch', 'displayName'], + getv(from_object, ['display_name']), + ) + + return to_object + + +def _CreateEmbeddingsBatchJobParameters_to_mldev( + api_client: BaseApiClient, + from_object: Union[dict[str, Any], object], + parent_object: Optional[dict[str, Any]] = None, + root_object: Optional[Union[dict[str, Any], object]] = None, +) -> dict[str, Any]: + to_object: dict[str, Any] = {} + if getv(from_object, ['model']) is not None: + setv( + to_object, + ['_url', 'model'], + t.t_model(api_client, getv(from_object, ['model'])), + ) + + if getv(from_object, ['src']) is not None: + setv( + to_object, + ['batch', 'inputConfig'], + _EmbeddingsBatchJobSource_to_mldev( + api_client, getv(from_object, ['src']), to_object, root_object + ), + ) + + if getv(from_object, ['config']) is not None: + _CreateEmbeddingsBatchJobConfig_to_mldev( + getv(from_object, ['config']), to_object, root_object + ) + + return to_object + + +def _CreateFileParameters_to_mldev( + from_object: Union[dict[str, Any], object], + parent_object: Optional[dict[str, Any]] = None, + root_object: Optional[Union[dict[str, Any], object]] = None, +) -> dict[str, Any]: + to_object: dict[str, Any] = {} + if getv(from_object, ['file']) is not None: + setv(to_object, ['file'], getv(from_object, ['file'])) + + return to_object + + +def _CreateFileResponse_from_mldev( + from_object: Union[dict[str, Any], object], + parent_object: Optional[dict[str, Any]] = None, + root_object: Optional[Union[dict[str, Any], object]] = None, +) -> dict[str, Any]: + to_object: dict[str, Any] = {} + if getv(from_object, ['sdkHttpResponse']) is not None: + setv( + to_object, ['sdk_http_response'], getv(from_object, ['sdkHttpResponse']) + ) + + return to_object + + +def _CreateFileSearchStoreConfig_to_mldev( + api_client: BaseApiClient, + from_object: Union[dict[str, Any], object], + parent_object: Optional[dict[str, Any]] = None, + root_object: Optional[Union[dict[str, Any], object]] = None, +) -> dict[str, Any]: + to_object: dict[str, Any] = {} + + if getv(from_object, ['display_name']) is not None: + setv(parent_object, ['displayName'], getv(from_object, ['display_name'])) + + if getv(from_object, ['embedding_model']) is not None: + setv( + parent_object, + ['embeddingModel'], + t.t_model(api_client, getv(from_object, ['embedding_model'])), + ) + + return to_object + + +def _CreateFileSearchStoreParameters_to_mldev( + api_client: BaseApiClient, + from_object: Union[dict[str, Any], object], + parent_object: Optional[dict[str, Any]] = None, + root_object: Optional[Union[dict[str, Any], object]] = None, +) -> dict[str, Any]: + to_object: dict[str, Any] = {} + if getv(from_object, ['config']) is not None: + _CreateFileSearchStoreConfig_to_mldev( + api_client, getv(from_object, ['config']), to_object, root_object + ) + + return to_object + + +def _CreateTuningJobConfig_to_mldev( + from_object: Union[dict[str, Any], object], + parent_object: Optional[dict[str, Any]] = None, + root_object: Optional[Union[dict[str, Any], object]] = None, +) -> dict[str, Any]: + to_object: dict[str, Any] = {} + + if getv(from_object, ['validation_dataset']) is not None: + raise ValueError( + 'validation_dataset parameter is only supported in Gemini Enterprise' + ' Agent Platform mode, not in Gemini Developer API mode.' + ) + + if getv(from_object, ['tuned_model_display_name']) is not None: + setv( + parent_object, + ['displayName'], + getv(from_object, ['tuned_model_display_name']), + ) + + if getv(from_object, ['description']) is not None: + raise ValueError( + 'description parameter is only supported in Gemini Enterprise Agent' + ' Platform mode, not in Gemini Developer API mode.' + ) + + if getv(from_object, ['epoch_count']) is not None: + setv( + parent_object, + ['tuningTask', 'hyperparameters', 'epochCount'], + getv(from_object, ['epoch_count']), + ) + + if getv(from_object, ['learning_rate_multiplier']) is not None: + setv( + to_object, + ['tuningTask', 'hyperparameters', 'learningRateMultiplier'], + getv(from_object, ['learning_rate_multiplier']), + ) + + if getv(from_object, ['export_last_checkpoint_only']) is not None: + raise ValueError( + 'export_last_checkpoint_only parameter is only supported in Gemini' + ' Enterprise Agent Platform mode, not in Gemini Developer API mode.' + ) + + if getv(from_object, ['pre_tuned_model_checkpoint_id']) is not None: + raise ValueError( + 'pre_tuned_model_checkpoint_id parameter is only supported in Gemini' + ' Enterprise Agent Platform mode, not in Gemini Developer API mode.' + ) + + if getv(from_object, ['adapter_size']) is not None: + raise ValueError( + 'adapter_size parameter is only supported in Gemini Enterprise Agent' + ' Platform mode, not in Gemini Developer API mode.' + ) + + if getv(from_object, ['tuning_mode']) is not None: + raise ValueError( + 'tuning_mode parameter is only supported in Gemini Enterprise Agent' + ' Platform mode, not in Gemini Developer API mode.' + ) + + if getv(from_object, ['custom_base_model']) is not None: + raise ValueError( + 'custom_base_model parameter is only supported in Gemini Enterprise' + ' Agent Platform mode, not in Gemini Developer API mode.' + ) + + if getv(from_object, ['batch_size']) is not None: + setv( + parent_object, + ['tuningTask', 'hyperparameters', 'batchSize'], + getv(from_object, ['batch_size']), + ) + + if getv(from_object, ['learning_rate']) is not None: + setv( + parent_object, + ['tuningTask', 'hyperparameters', 'learningRate'], + getv(from_object, ['learning_rate']), + ) + + if getv(from_object, ['evaluation_config']) is not None: + raise ValueError( + 'evaluation_config parameter is only supported in Gemini Enterprise' + ' Agent Platform mode, not in Gemini Developer API mode.' + ) + + if getv(from_object, ['labels']) is not None: + raise ValueError( + 'labels parameter is only supported in Gemini Enterprise Agent Platform' + ' mode, not in Gemini Developer API mode.' + ) + + if getv(from_object, ['beta']) is not None: + raise ValueError( + 'beta parameter is only supported in Gemini Enterprise Agent Platform' + ' mode, not in Gemini Developer API mode.' + ) + + if getv(from_object, ['base_teacher_model']) is not None: + raise ValueError( + 'base_teacher_model parameter is only supported in Gemini Enterprise' + ' Agent Platform mode, not in Gemini Developer API mode.' + ) + + if getv(from_object, ['tuned_teacher_model_source']) is not None: + raise ValueError( + 'tuned_teacher_model_source parameter is only supported in Gemini' + ' Enterprise Agent Platform mode, not in Gemini Developer API mode.' + ) + + if getv(from_object, ['sft_loss_weight_multiplier']) is not None: + raise ValueError( + 'sft_loss_weight_multiplier parameter is only supported in Gemini' + ' Enterprise Agent Platform mode, not in Gemini Developer API mode.' + ) + + if getv(from_object, ['output_uri']) is not None: + raise ValueError( + 'output_uri parameter is only supported in Gemini Enterprise Agent' + ' Platform mode, not in Gemini Developer API mode.' + ) + + if getv(from_object, ['encryption_spec']) is not None: + raise ValueError( + 'encryption_spec parameter is only supported in Gemini Enterprise Agent' + ' Platform mode, not in Gemini Developer API mode.' + ) + + if getv(from_object, ['reward_config']) is not None: + raise ValueError( + 'reward_config parameter is only supported in Gemini Enterprise Agent' + ' Platform mode, not in Gemini Developer API mode.' + ) + + if getv(from_object, ['composite_reward_config']) is not None: + raise ValueError( + 'composite_reward_config parameter is only supported in Gemini' + ' Enterprise Agent Platform mode, not in Gemini Developer API mode.' + ) + + if getv(from_object, ['samples_per_prompt']) is not None: + raise ValueError( + 'samples_per_prompt parameter is only supported in Gemini Enterprise' + ' Agent Platform mode, not in Gemini Developer API mode.' + ) + + if getv(from_object, ['evaluate_interval']) is not None: + raise ValueError( + 'evaluate_interval parameter is only supported in Gemini Enterprise' + ' Agent Platform mode, not in Gemini Developer API mode.' + ) + + if getv(from_object, ['checkpoint_interval']) is not None: + raise ValueError( + 'checkpoint_interval parameter is only supported in Gemini Enterprise' + ' Agent Platform mode, not in Gemini Developer API mode.' + ) + + if getv(from_object, ['max_output_tokens']) is not None: + raise ValueError( + 'max_output_tokens parameter is only supported in Gemini Enterprise' + ' Agent Platform mode, not in Gemini Developer API mode.' + ) + + if getv(from_object, ['thinking_level']) is not None: + raise ValueError( + 'thinking_level parameter is only supported in Gemini Enterprise Agent' + ' Platform mode, not in Gemini Developer API mode.' + ) + + if getv(from_object, ['validation_dataset_uri']) is not None: + raise ValueError( + 'validation_dataset_uri parameter is only supported in Gemini' + ' Enterprise Agent Platform mode, not in Gemini Developer API mode.' + ) + + return to_object + + +def _CreateTuningJobConfig_to_vertex( + from_object: Union[dict[str, Any], object], + parent_object: Optional[dict[str, Any]] = None, + root_object: Optional[Union[dict[str, Any], object]] = None, +) -> dict[str, Any]: + to_object: dict[str, Any] = {} + + if getv(from_object, ['validation_dataset']) is not None: + setv( + parent_object, + ['reinforcementTuningSpec'], + _TuningValidationDataset_to_vertex( + getv(from_object, ['validation_dataset']), to_object, root_object + ), + ) + + if getv(from_object, ['tuned_model_display_name']) is not None: + setv( + parent_object, + ['tunedModelDisplayName'], + getv(from_object, ['tuned_model_display_name']), + ) + + if getv(from_object, ['description']) is not None: + setv(parent_object, ['description'], getv(from_object, ['description'])) + + if getv(from_object, ['epoch_count']) is not None: + setv( + parent_object, + ['reinforcementTuningSpec', 'hyperParameters', 'epochCount'], + getv(from_object, ['epoch_count']), + ) + + if getv(from_object, ['learning_rate_multiplier']) is not None: + setv( + parent_object, + [ + 'reinforcementTuningSpec', + 'hyperParameters', + 'learningRateMultiplier', + ], + getv(from_object, ['learning_rate_multiplier']), + ) + + if getv(from_object, ['export_last_checkpoint_only']) is not None: + setv( + parent_object, + ['distillationSpec', 'exportLastCheckpointOnly'], + getv(from_object, ['export_last_checkpoint_only']), + ) + + if getv(from_object, ['adapter_size']) is not None: + setv( + parent_object, + ['reinforcementTuningSpec', 'hyperParameters', 'adapterSize'], + getv(from_object, ['adapter_size']), + ) + + if getv(from_object, ['tuning_mode']) is not None: + setv( + parent_object, + ['distillationSpec', 'tuningMode'], + getv(from_object, ['tuning_mode']), + ) + + if getv(from_object, ['custom_base_model']) is not None: + setv( + parent_object, + ['customBaseModel'], + getv(from_object, ['custom_base_model']), + ) + + if getv(from_object, ['batch_size']) is not None: + setv( + parent_object, + ['reinforcementTuningSpec', 'hyperParameters', 'batchSize'], + getv(from_object, ['batch_size']), + ) + + if getv(from_object, ['learning_rate']) is not None: + setv( + parent_object, + ['distillationSpec', 'hyperParameters', 'learningRate'], + getv(from_object, ['learning_rate']), + ) + + if getv(from_object, ['evaluation_config']) is not None: + setv( + parent_object, + ['distillationSpec', 'evaluationConfig'], + _EvaluationConfig_to_vertex( + getv(from_object, ['evaluation_config']), to_object, root_object + ), + ) + + if getv(from_object, ['labels']) is not None: + setv(parent_object, ['labels'], getv(from_object, ['labels'])) + + if getv(from_object, ['beta']) is not None: + setv( + parent_object, + ['preferenceOptimizationSpec', 'hyperParameters', 'beta'], + getv(from_object, ['beta']), + ) + + if getv(from_object, ['base_teacher_model']) is not None: + setv( + parent_object, + ['distillationSpec', 'baseTeacherModel'], + getv(from_object, ['base_teacher_model']), + ) + + if getv(from_object, ['tuned_teacher_model_source']) is not None: + setv( + parent_object, + ['distillationSpec', 'tunedTeacherModelSource'], + getv(from_object, ['tuned_teacher_model_source']), + ) + + if getv(from_object, ['sft_loss_weight_multiplier']) is not None: + setv( + parent_object, + ['distillationSpec', 'hyperParameters', 'sftLossWeightMultiplier'], + getv(from_object, ['sft_loss_weight_multiplier']), + ) + + if getv(from_object, ['output_uri']) is not None: + setv(parent_object, ['outputUri'], getv(from_object, ['output_uri'])) + + if getv(from_object, ['encryption_spec']) is not None: + setv( + parent_object, + ['encryptionSpec'], + getv(from_object, ['encryption_spec']), + ) + + if getv(from_object, ['reward_config']) is not None: + setv( + parent_object, + ['reinforcementTuningSpec', 'singleRewardConfig'], + _SingleReinforcementTuningRewardConfig_to_vertex( + getv(from_object, ['reward_config']), to_object, root_object + ), + ) + + if getv(from_object, ['composite_reward_config']) is not None: + setv( + parent_object, + ['reinforcementTuningSpec', 'compositeRewardConfig'], + _CompositeReinforcementTuningRewardConfig_to_vertex( + getv(from_object, ['composite_reward_config']), + to_object, + root_object, + ), + ) + + if getv(from_object, ['samples_per_prompt']) is not None: + setv( + parent_object, + ['reinforcementTuningSpec', 'hyperParameters', 'samplesPerPrompt'], + getv(from_object, ['samples_per_prompt']), + ) + + if getv(from_object, ['evaluate_interval']) is not None: + setv( + parent_object, + ['reinforcementTuningSpec', 'hyperParameters', 'evaluateInterval'], + getv(from_object, ['evaluate_interval']), + ) + + if getv(from_object, ['checkpoint_interval']) is not None: + setv( + parent_object, + ['reinforcementTuningSpec', 'hyperParameters', 'checkpointInterval'], + getv(from_object, ['checkpoint_interval']), + ) + + if getv(from_object, ['max_output_tokens']) is not None: + setv( + parent_object, + ['reinforcementTuningSpec', 'hyperParameters', 'maxOutputTokens'], + getv(from_object, ['max_output_tokens']), + ) + + if getv(from_object, ['thinking_level']) is not None: + setv( + parent_object, + ['reinforcementTuningSpec', 'hyperParameters', 'thinkingLevel'], + getv(from_object, ['thinking_level']), + ) + + if getv(from_object, ['validation_dataset_uri']) is not None: + setv( + parent_object, + ['reinforcementTuningSpec', 'validationDatasetUri'], + getv(from_object, ['validation_dataset_uri']), + ) + + return to_object + + +def _CreateTuningJobParametersPrivate_to_mldev( + from_object: Union[dict[str, Any], object], + parent_object: Optional[dict[str, Any]] = None, + root_object: Optional[Union[dict[str, Any], object]] = None, +) -> dict[str, Any]: + to_object: dict[str, Any] = {} + if getv(from_object, ['base_model']) is not None: + setv(to_object, ['baseModel'], getv(from_object, ['base_model'])) + + if getv(from_object, ['pre_tuned_model']) is not None: + setv(to_object, ['preTunedModel'], getv(from_object, ['pre_tuned_model'])) + + if getv(from_object, ['training_dataset']) is not None: + _TuningDataset_to_mldev( + getv(from_object, ['training_dataset']), to_object, root_object + ) + + if getv(from_object, ['config']) is not None: + _CreateTuningJobConfig_to_mldev( + getv(from_object, ['config']), to_object, root_object + ) + + return to_object + + +def _CreateTuningJobParametersPrivate_to_vertex( + from_object: Union[dict[str, Any], object], + parent_object: Optional[dict[str, Any]] = None, + root_object: Optional[Union[dict[str, Any], object]] = None, +) -> dict[str, Any]: + to_object: dict[str, Any] = {} + if getv(from_object, ['base_model']) is not None: + setv(to_object, ['baseModel'], getv(from_object, ['base_model'])) + + if getv(from_object, ['pre_tuned_model']) is not None: + setv(to_object, ['preTunedModel'], getv(from_object, ['pre_tuned_model'])) + + if getv(from_object, ['training_dataset']) is not None: + _TuningDataset_to_vertex( + getv(from_object, ['training_dataset']), to_object, root_object + ) + + if getv(from_object, ['config']) is not None: + _CreateTuningJobConfig_to_vertex( + getv(from_object, ['config']), to_object, root_object + ) + + return to_object + + +def _DeleteBatchJobParameters_to_mldev( + api_client: BaseApiClient, + from_object: Union[dict[str, Any], object], + parent_object: Optional[dict[str, Any]] = None, + root_object: Optional[Union[dict[str, Any], object]] = None, +) -> dict[str, Any]: + to_object: dict[str, Any] = {} + if getv(from_object, ['name']) is not None: + setv( + to_object, + ['_url', 'name'], + t.t_batch_job_name(api_client, getv(from_object, ['name'])), + ) + + return to_object + + +def _DeleteBatchJobParameters_to_vertex( + api_client: BaseApiClient, + from_object: Union[dict[str, Any], object], + parent_object: Optional[dict[str, Any]] = None, + root_object: Optional[Union[dict[str, Any], object]] = None, +) -> dict[str, Any]: + to_object: dict[str, Any] = {} + if getv(from_object, ['name']) is not None: + setv( + to_object, + ['_url', 'name'], + t.t_batch_job_name(api_client, getv(from_object, ['name'])), + ) + + return to_object + + +def _DeleteCachedContentParameters_to_mldev( + api_client: BaseApiClient, + from_object: Union[dict[str, Any], object], + parent_object: Optional[dict[str, Any]] = None, + root_object: Optional[Union[dict[str, Any], object]] = None, +) -> dict[str, Any]: + to_object: dict[str, Any] = {} + if getv(from_object, ['name']) is not None: + setv( + to_object, + ['_url', 'name'], + t.t_cached_content_name(api_client, getv(from_object, ['name'])), + ) + + return to_object + + +def _DeleteCachedContentParameters_to_vertex( + api_client: BaseApiClient, + from_object: Union[dict[str, Any], object], + parent_object: Optional[dict[str, Any]] = None, + root_object: Optional[Union[dict[str, Any], object]] = None, +) -> dict[str, Any]: + to_object: dict[str, Any] = {} + if getv(from_object, ['name']) is not None: + setv( + to_object, + ['_url', 'name'], + t.t_cached_content_name(api_client, getv(from_object, ['name'])), + ) + + return to_object + + +def _DeleteCachedContentResponse_from_mldev( + from_object: Union[dict[str, Any], object], + parent_object: Optional[dict[str, Any]] = None, + root_object: Optional[Union[dict[str, Any], object]] = None, +) -> dict[str, Any]: + to_object: dict[str, Any] = {} + if getv(from_object, ['sdkHttpResponse']) is not None: + setv( + to_object, ['sdk_http_response'], getv(from_object, ['sdkHttpResponse']) + ) + + return to_object + + +def _DeleteCachedContentResponse_from_vertex( + from_object: Union[dict[str, Any], object], + parent_object: Optional[dict[str, Any]] = None, + root_object: Optional[Union[dict[str, Any], object]] = None, +) -> dict[str, Any]: + to_object: dict[str, Any] = {} + if getv(from_object, ['sdkHttpResponse']) is not None: + setv( + to_object, ['sdk_http_response'], getv(from_object, ['sdkHttpResponse']) + ) + + return to_object + + +def _DeleteDocumentConfig_to_mldev( + from_object: Union[dict[str, Any], object], + parent_object: Optional[dict[str, Any]] = None, + root_object: Optional[Union[dict[str, Any], object]] = None, +) -> dict[str, Any]: + to_object: dict[str, Any] = {} + + if getv(from_object, ['force']) is not None: + setv(parent_object, ['_query', 'force'], getv(from_object, ['force'])) + + return to_object + + +def _DeleteDocumentParameters_to_mldev( + from_object: Union[dict[str, Any], object], + parent_object: Optional[dict[str, Any]] = None, + root_object: Optional[Union[dict[str, Any], object]] = None, +) -> dict[str, Any]: + to_object: dict[str, Any] = {} + if getv(from_object, ['name']) is not None: + setv(to_object, ['_url', 'name'], getv(from_object, ['name'])) + + if getv(from_object, ['config']) is not None: + _DeleteDocumentConfig_to_mldev( + getv(from_object, ['config']), to_object, root_object + ) + + return to_object + + +def _DeleteFileParameters_to_mldev( + from_object: Union[dict[str, Any], object], + parent_object: Optional[dict[str, Any]] = None, + root_object: Optional[Union[dict[str, Any], object]] = None, +) -> dict[str, Any]: + to_object: dict[str, Any] = {} + if getv(from_object, ['name']) is not None: + setv( + to_object, ['_url', 'file'], t.t_file_name(getv(from_object, ['name'])) + ) + + return to_object + + +def _DeleteFileResponse_from_mldev( + from_object: Union[dict[str, Any], object], + parent_object: Optional[dict[str, Any]] = None, + root_object: Optional[Union[dict[str, Any], object]] = None, +) -> dict[str, Any]: + to_object: dict[str, Any] = {} + if getv(from_object, ['sdkHttpResponse']) is not None: + setv( + to_object, ['sdk_http_response'], getv(from_object, ['sdkHttpResponse']) + ) + + return to_object + + +def _DeleteFileSearchStoreConfig_to_mldev( + from_object: Union[dict[str, Any], object], + parent_object: Optional[dict[str, Any]] = None, + root_object: Optional[Union[dict[str, Any], object]] = None, +) -> dict[str, Any]: + to_object: dict[str, Any] = {} + + if getv(from_object, ['force']) is not None: + setv(parent_object, ['_query', 'force'], getv(from_object, ['force'])) + + return to_object + + +def _DeleteFileSearchStoreParameters_to_mldev( + from_object: Union[dict[str, Any], object], + parent_object: Optional[dict[str, Any]] = None, + root_object: Optional[Union[dict[str, Any], object]] = None, +) -> dict[str, Any]: + to_object: dict[str, Any] = {} + if getv(from_object, ['name']) is not None: + setv(to_object, ['_url', 'name'], getv(from_object, ['name'])) + + if getv(from_object, ['config']) is not None: + _DeleteFileSearchStoreConfig_to_mldev( + getv(from_object, ['config']), to_object, root_object + ) + + return to_object + + +def _DeleteModelParameters_to_mldev( + api_client: BaseApiClient, + from_object: Union[dict[str, Any], object], + parent_object: Optional[dict[str, Any]] = None, + root_object: Optional[Union[dict[str, Any], object]] = None, +) -> dict[str, Any]: + to_object: dict[str, Any] = {} + if getv(from_object, ['model']) is not None: + setv( + to_object, + ['_url', 'name'], + t.t_model(api_client, getv(from_object, ['model'])), + ) + + return to_object + + +def _DeleteModelParameters_to_vertex( + api_client: BaseApiClient, + from_object: Union[dict[str, Any], object], + parent_object: Optional[dict[str, Any]] = None, + root_object: Optional[Union[dict[str, Any], object]] = None, +) -> dict[str, Any]: + to_object: dict[str, Any] = {} + if getv(from_object, ['model']) is not None: + setv( + to_object, + ['_url', 'name'], + t.t_model(api_client, getv(from_object, ['model'])), + ) + + return to_object + + +def _DeleteModelResponse_from_mldev( + from_object: Union[dict[str, Any], object], + parent_object: Optional[dict[str, Any]] = None, + root_object: Optional[Union[dict[str, Any], object]] = None, +) -> dict[str, Any]: + to_object: dict[str, Any] = {} + if getv(from_object, ['sdkHttpResponse']) is not None: + setv( + to_object, ['sdk_http_response'], getv(from_object, ['sdkHttpResponse']) + ) + + return to_object + + +def _DeleteModelResponse_from_vertex( + from_object: Union[dict[str, Any], object], + parent_object: Optional[dict[str, Any]] = None, + root_object: Optional[Union[dict[str, Any], object]] = None, +) -> dict[str, Any]: + to_object: dict[str, Any] = {} + if getv(from_object, ['sdkHttpResponse']) is not None: + setv( + to_object, ['sdk_http_response'], getv(from_object, ['sdkHttpResponse']) + ) + + return to_object + + +def _DeleteResourceJob_from_mldev( + from_object: Union[dict[str, Any], object], + parent_object: Optional[dict[str, Any]] = None, + root_object: Optional[Union[dict[str, Any], object]] = None, +) -> dict[str, Any]: + to_object: dict[str, Any] = {} + if getv(from_object, ['sdkHttpResponse']) is not None: + setv( + to_object, ['sdk_http_response'], getv(from_object, ['sdkHttpResponse']) + ) + + if getv(from_object, ['name']) is not None: + setv(to_object, ['name'], getv(from_object, ['name'])) + + if getv(from_object, ['done']) is not None: + setv(to_object, ['done'], getv(from_object, ['done'])) + + if getv(from_object, ['error']) is not None: + setv(to_object, ['error'], getv(from_object, ['error'])) + + return to_object + + +def _DeleteResourceJob_from_vertex( + from_object: Union[dict[str, Any], object], + parent_object: Optional[dict[str, Any]] = None, + root_object: Optional[Union[dict[str, Any], object]] = None, +) -> dict[str, Any]: + to_object: dict[str, Any] = {} + if getv(from_object, ['sdkHttpResponse']) is not None: + setv( + to_object, ['sdk_http_response'], getv(from_object, ['sdkHttpResponse']) + ) + + if getv(from_object, ['name']) is not None: + setv(to_object, ['name'], getv(from_object, ['name'])) + + if getv(from_object, ['done']) is not None: + setv(to_object, ['done'], getv(from_object, ['done'])) + + if getv(from_object, ['error']) is not None: + setv(to_object, ['error'], getv(from_object, ['error'])) + + return to_object + + +def _DistillationHyperParameters_from_vertex( + from_object: Union[dict[str, Any], object], + parent_object: Optional[dict[str, Any]] = None, + root_object: Optional[Union[dict[str, Any], object]] = None, +) -> dict[str, Any]: + to_object: dict[str, Any] = {} + if getv(from_object, ['adapterSize']) is not None: + setv(to_object, ['adapter_size'], getv(from_object, ['adapterSize'])) + + if getv(from_object, ['epochCount']) is not None: + setv(to_object, ['epoch_count'], getv(from_object, ['epochCount'])) + + if getv(from_object, ['learningRateMultiplier']) is not None: + setv( + to_object, + ['learning_rate_multiplier'], + getv(from_object, ['learningRateMultiplier']), + ) + + if getv(from_object, ['generationConfig']) is not None: + setv( + to_object, + ['generation_config'], + _GenerationConfig_from_vertex( + getv(from_object, ['generationConfig']), to_object, root_object + ), + ) + + if getv(from_object, ['learningRate']) is not None: + setv(to_object, ['learning_rate'], getv(from_object, ['learningRate'])) + + if getv(from_object, ['batchSize']) is not None: + setv(to_object, ['batch_size'], getv(from_object, ['batchSize'])) + + return to_object + + +def _DistillationSamplingSpec_from_vertex( + from_object: Union[dict[str, Any], object], + parent_object: Optional[dict[str, Any]] = None, + root_object: Optional[Union[dict[str, Any], object]] = None, +) -> dict[str, Any]: + to_object: dict[str, Any] = {} + if getv(from_object, ['baseTeacherModel']) is not None: + setv( + to_object, + ['base_teacher_model'], + getv(from_object, ['baseTeacherModel']), + ) + + if getv(from_object, ['tunedTeacherModelSource']) is not None: + setv( + to_object, + ['tuned_teacher_model_source'], + getv(from_object, ['tunedTeacherModelSource']), + ) + + if getv(from_object, ['validationDatasetUri']) is not None: + setv( + to_object, + ['validation_dataset_uri'], + getv(from_object, ['validationDatasetUri']), + ) + + if getv(from_object, ['promptDatasetUri']) is not None: + setv( + to_object, + ['prompt_dataset_uri'], + getv(from_object, ['promptDatasetUri']), + ) + + if getv(from_object, ['hyperparameters']) is not None: + setv( + to_object, + ['hyperparameters'], + _DistillationHyperParameters_from_vertex( + getv(from_object, ['hyperparameters']), to_object, root_object + ), + ) + + return to_object + + +def _DistillationSpec_from_vertex( + from_object: Union[dict[str, Any], object], + parent_object: Optional[dict[str, Any]] = None, + root_object: Optional[Union[dict[str, Any], object]] = None, +) -> dict[str, Any]: + to_object: dict[str, Any] = {} + if getv(from_object, ['promptDatasetUri']) is not None: + setv( + to_object, + ['prompt_dataset_uri'], + getv(from_object, ['promptDatasetUri']), + ) + + if getv(from_object, ['baseTeacherModel']) is not None: + setv( + to_object, + ['base_teacher_model'], + getv(from_object, ['baseTeacherModel']), + ) + + if getv(from_object, ['hyperParameters']) is not None: + setv( + to_object, + ['hyper_parameters'], + _DistillationHyperParameters_from_vertex( + getv(from_object, ['hyperParameters']), to_object, root_object + ), + ) + + if getv(from_object, ['pipelineRootDirectory']) is not None: + setv( + to_object, + ['pipeline_root_directory'], + getv(from_object, ['pipelineRootDirectory']), + ) + + if getv(from_object, ['studentModel']) is not None: + setv(to_object, ['student_model'], getv(from_object, ['studentModel'])) + + if getv(from_object, ['trainingDatasetUri']) is not None: + setv( + to_object, + ['training_dataset_uri'], + getv(from_object, ['trainingDatasetUri']), + ) + + if getv(from_object, ['tunedTeacherModelSource']) is not None: + setv( + to_object, + ['tuned_teacher_model_source'], + getv(from_object, ['tunedTeacherModelSource']), + ) + + if getv(from_object, ['validationDatasetUri']) is not None: + setv( + to_object, + ['validation_dataset_uri'], + getv(from_object, ['validationDatasetUri']), + ) + + if getv(from_object, ['tuningMode']) is not None: + setv(to_object, ['tuning_mode'], getv(from_object, ['tuningMode'])) + + return to_object + + +def _EditImageConfig_to_vertex( + from_object: Union[dict[str, Any], object], + parent_object: Optional[dict[str, Any]] = None, + root_object: Optional[Union[dict[str, Any], object]] = None, +) -> dict[str, Any]: + to_object: dict[str, Any] = {} + + if getv(from_object, ['output_gcs_uri']) is not None: + setv( + parent_object, + ['parameters', 'storageUri'], + getv(from_object, ['output_gcs_uri']), + ) + + if getv(from_object, ['negative_prompt']) is not None: + setv( + parent_object, + ['parameters', 'negativePrompt'], + getv(from_object, ['negative_prompt']), + ) + + if getv(from_object, ['number_of_images']) is not None: + setv( + parent_object, + ['parameters', 'sampleCount'], + getv(from_object, ['number_of_images']), + ) + + if getv(from_object, ['aspect_ratio']) is not None: + setv( + parent_object, + ['parameters', 'aspectRatio'], + getv(from_object, ['aspect_ratio']), + ) + + if getv(from_object, ['guidance_scale']) is not None: + setv( + parent_object, + ['parameters', 'guidanceScale'], + getv(from_object, ['guidance_scale']), + ) + + if getv(from_object, ['seed']) is not None: + setv(parent_object, ['parameters', 'seed'], getv(from_object, ['seed'])) + + if getv(from_object, ['safety_filter_level']) is not None: + setv( + parent_object, + ['parameters', 'safetySetting'], + getv(from_object, ['safety_filter_level']), + ) + + if getv(from_object, ['person_generation']) is not None: + setv( + parent_object, + ['parameters', 'personGeneration'], + getv(from_object, ['person_generation']), + ) + + if getv(from_object, ['include_safety_attributes']) is not None: + setv( + parent_object, + ['parameters', 'includeSafetyAttributes'], + getv(from_object, ['include_safety_attributes']), + ) + + if getv(from_object, ['include_rai_reason']) is not None: + setv( + parent_object, + ['parameters', 'includeRaiReason'], + getv(from_object, ['include_rai_reason']), + ) + + if getv(from_object, ['language']) is not None: + setv( + parent_object, + ['parameters', 'language'], + getv(from_object, ['language']), + ) + + if getv(from_object, ['output_mime_type']) is not None: + setv( + parent_object, + ['parameters', 'outputOptions', 'mimeType'], + getv(from_object, ['output_mime_type']), + ) + + if getv(from_object, ['output_compression_quality']) is not None: + setv( + parent_object, + ['parameters', 'outputOptions', 'compressionQuality'], + getv(from_object, ['output_compression_quality']), + ) + + if getv(from_object, ['add_watermark']) is not None: + setv( + parent_object, + ['parameters', 'addWatermark'], + getv(from_object, ['add_watermark']), + ) + + if getv(from_object, ['labels']) is not None: + setv(parent_object, ['labels'], getv(from_object, ['labels'])) + + if getv(from_object, ['edit_mode']) is not None: + setv( + parent_object, + ['parameters', 'editMode'], + getv(from_object, ['edit_mode']), + ) + + if getv(from_object, ['base_steps']) is not None: + setv( + parent_object, + ['parameters', 'editConfig', 'baseSteps'], + getv(from_object, ['base_steps']), + ) + + return to_object + + +def _EditImageParameters_to_vertex( + api_client: BaseApiClient, + from_object: Union[dict[str, Any], object], + parent_object: Optional[dict[str, Any]] = None, + root_object: Optional[Union[dict[str, Any], object]] = None, +) -> dict[str, Any]: + to_object: dict[str, Any] = {} + if getv(from_object, ['model']) is not None: + setv( + to_object, + ['_url', 'model'], + t.t_model(api_client, getv(from_object, ['model'])), + ) + + if getv(from_object, ['prompt']) is not None: + setv(to_object, ['instances[0]', 'prompt'], getv(from_object, ['prompt'])) + + if getv(from_object, ['reference_images']) is not None: + setv( + to_object, + ['instances[0]', 'referenceImages'], + [ + _ReferenceImageAPI_to_vertex(item, to_object, root_object) + for item in getv(from_object, ['reference_images']) + ], + ) + + if getv(from_object, ['config']) is not None: + _EditImageConfig_to_vertex( + getv(from_object, ['config']), to_object, root_object + ) + + return to_object + + +def _EditImageResponse_from_vertex( + from_object: Union[dict[str, Any], object], + parent_object: Optional[dict[str, Any]] = None, + root_object: Optional[Union[dict[str, Any], object]] = None, +) -> dict[str, Any]: + to_object: dict[str, Any] = {} + if getv(from_object, ['sdkHttpResponse']) is not None: + setv( + to_object, ['sdk_http_response'], getv(from_object, ['sdkHttpResponse']) + ) + + if getv(from_object, ['predictions']) is not None: + setv( + to_object, + ['generated_images'], + [ + _GeneratedImage_from_vertex(item, to_object, root_object) + for item in getv(from_object, ['predictions']) + ], + ) + + return to_object + + +def _EmbedContentBatch_to_mldev( + api_client: BaseApiClient, + from_object: Union[dict[str, Any], object], + parent_object: Optional[dict[str, Any]] = None, + root_object: Optional[Union[dict[str, Any], object]] = None, +) -> dict[str, Any]: + to_object: dict[str, Any] = {} + if getv(from_object, ['contents']) is not None: + setv( + to_object, + ['requests[]', 'request', 'content'], + [ + item + for item in t.t_contents_for_embed( + api_client, getv(from_object, ['contents']) + ) + ], + ) + + if getv(from_object, ['config']) is not None: + setv( + to_object, + ['_self'], + _EmbedContentConfig_to_mldev( + getv(from_object, ['config']), to_object, root_object + ), + ) + movev(to_object, {'requests[].*': 'requests[].request.*'}) + return to_object + + +def _EmbedContentConfig_to_mldev( + from_object: Union[dict[str, Any], object], + parent_object: Optional[dict[str, Any]] = None, + root_object: Optional[Union[dict[str, Any], object]] = None, +) -> dict[str, Any]: + to_object: dict[str, Any] = {} + if getv(from_object, ['task_type']) is not None: + setv( + parent_object, + ['requests[]', 'taskType'], + getv(from_object, ['task_type']), + ) + + if getv(from_object, ['title']) is not None: + setv(parent_object, ['requests[]', 'title'], getv(from_object, ['title'])) + + if getv(from_object, ['output_dimensionality']) is not None: + setv( + parent_object, + ['requests[]', 'outputDimensionality'], + getv(from_object, ['output_dimensionality']), + ) + + if getv(from_object, ['mime_type']) is not None: + raise ValueError( + 'mime_type parameter is only supported in Gemini Enterprise Agent' + ' Platform mode, not in Gemini Developer API mode.' + ) + + if getv(from_object, ['auto_truncate']) is not None: + raise ValueError( + 'auto_truncate parameter is only supported in Gemini Enterprise Agent' + ' Platform mode, not in Gemini Developer API mode.' + ) + + if getv(from_object, ['document_ocr']) is not None: + raise ValueError( + 'document_ocr parameter is only supported in Gemini Enterprise Agent' + ' Platform mode, not in Gemini Developer API mode.' + ) + + if getv(from_object, ['audio_track_extraction']) is not None: + raise ValueError( + 'audio_track_extraction parameter is only supported in Gemini' + ' Enterprise Agent Platform mode, not in Gemini Developer API mode.' + ) + + return to_object + + +def _EmbedContentConfig_to_vertex( + from_object: Union[dict[str, Any], object], + parent_object: Optional[dict[str, Any]] = None, + root_object: Optional[Union[dict[str, Any], object]] = None, +) -> dict[str, Any]: + to_object: dict[str, Any] = {} + if getv(from_object, ['task_type']) is not None: + setv( + parent_object, + ['embedContentConfig', 'taskType'], + getv(from_object, ['task_type']), + ) + + if getv(from_object, ['title']) is not None: + setv( + parent_object, + ['embedContentConfig', 'title'], + getv(from_object, ['title']), + ) + + if getv(from_object, ['output_dimensionality']) is not None: + setv( + parent_object, + ['embedContentConfig', 'outputDimensionality'], + getv(from_object, ['output_dimensionality']), + ) + + if getv(from_object, ['mime_type']) is not None: + setv( + parent_object, + ['instances[]', 'mimeType'], + getv(from_object, ['mime_type']), + ) + + if getv(from_object, ['auto_truncate']) is not None: + setv( + parent_object, + ['embedContentConfig', 'autoTruncate'], + getv(from_object, ['auto_truncate']), + ) + + if getv(from_object, ['document_ocr']) is not None: + setv( + parent_object, + ['embedContentConfig', 'documentOcr'], + getv(from_object, ['document_ocr']), + ) + + if getv(from_object, ['audio_track_extraction']) is not None: + setv( + parent_object, + ['embedContentConfig', 'audioTrackExtraction'], + getv(from_object, ['audio_track_extraction']), + ) + + return to_object + + +def _EmbedContentParametersPrivate_to_mldev( + api_client: BaseApiClient, + from_object: Union[dict[str, Any], object], + parent_object: Optional[dict[str, Any]] = None, + root_object: Optional[Union[dict[str, Any], object]] = None, +) -> dict[str, Any]: + to_object: dict[str, Any] = {} + if getv(from_object, ['model']) is not None: + setv( + to_object, + ['_url', 'model'], + t.t_model(api_client, getv(from_object, ['model'])), + ) + + if getv(from_object, ['contents']) is not None: + setv( + to_object, + ['requests[]', 'content'], + [ + item + for item in t.t_contents_for_embed( + api_client, getv(from_object, ['contents']) + ) + ], + ) + + if getv(from_object, ['content']) is not None: + _Content_to_mldev( + t.t_content(getv(from_object, ['content'])), to_object, root_object + ) + + if getv(from_object, ['config']) is not None: + _EmbedContentConfig_to_mldev( + getv(from_object, ['config']), to_object, root_object + ) + + setv( + to_object, + ['requests[]', 'model'], + t.t_model(api_client, getv(from_object, ['model'])), + ) + return to_object + + +def _EmbedContentParametersPrivate_to_vertex( + api_client: BaseApiClient, + from_object: Union[dict[str, Any], object], + parent_object: Optional[dict[str, Any]] = None, + root_object: Optional[Union[dict[str, Any], object]] = None, +) -> dict[str, Any]: + to_object: dict[str, Any] = {} + if getv(from_object, ['model']) is not None: + setv( + to_object, + ['_url', 'model'], + t.t_model(api_client, getv(from_object, ['model'])), + ) + + if getv(from_object, ['contents']) is not None: + setv( + to_object, + ['instances[]', 'content'], + [ + item + for item in t.t_contents_for_embed( + api_client, getv(from_object, ['contents']) + ) + ], + ) + + if getv(from_object, ['content']) is not None: + setv( + to_object, + ['content'], + _Content_to_vertex( + t.t_content(getv(from_object, ['content'])), to_object, root_object + ), + ) + + if getv(from_object, ['config']) is not None: + _EmbedContentConfig_to_vertex( + getv(from_object, ['config']), to_object, root_object + ) + + return to_object + + +def _EmbedContentResponse_from_mldev( + from_object: Union[dict[str, Any], object], + parent_object: Optional[dict[str, Any]] = None, + root_object: Optional[Union[dict[str, Any], object]] = None, +) -> dict[str, Any]: + to_object: dict[str, Any] = {} + if getv(from_object, ['sdkHttpResponse']) is not None: + setv( + to_object, ['sdk_http_response'], getv(from_object, ['sdkHttpResponse']) + ) + + if getv(from_object, ['embeddings']) is not None: + setv( + to_object, + ['embeddings'], + [item for item in getv(from_object, ['embeddings'])], + ) + + if getv(from_object, ['metadata']) is not None: + setv(to_object, ['metadata'], getv(from_object, ['metadata'])) + + return to_object + + +def _EmbedContentResponse_from_vertex( + from_object: Union[dict[str, Any], object], + parent_object: Optional[dict[str, Any]] = None, + root_object: Optional[Union[dict[str, Any], object]] = None, +) -> dict[str, Any]: + to_object: dict[str, Any] = {} + if getv(from_object, ['sdkHttpResponse']) is not None: + setv( + to_object, ['sdk_http_response'], getv(from_object, ['sdkHttpResponse']) + ) + + if getv(from_object, ['predictions[]', 'embeddings']) is not None: + setv( + to_object, + ['embeddings'], + [ + _ContentEmbedding_from_vertex(item, to_object, root_object) + for item in getv(from_object, ['predictions[]', 'embeddings']) + ], + ) + + if getv(from_object, ['metadata']) is not None: + setv(to_object, ['metadata'], getv(from_object, ['metadata'])) + + if getv(root_object, ['embedding_api_type']) == 'EMBED_CONTENT': + embedding = getv(from_object, ['embedding']) + usage_metadata = getv(from_object, ['usageMetadata']) + truncated = getv(from_object, ['truncated']) + if embedding: + stats = {} + if usage_metadata and usage_metadata.get('promptTokenCount'): + stats['token_count'] = usage_metadata['promptTokenCount'] + if usage_metadata and usage_metadata.get('promptTokensDetails'): + stats['tokensDetails'] = usage_metadata['promptTokensDetails'] + if truncated: + stats['truncated'] = truncated + embedding['statistics'] = stats + setv(to_object, ['embeddings'], [embedding]) + + return to_object + + +def _EmbeddingsBatchJobSource_to_mldev( + api_client: BaseApiClient, + from_object: Union[dict[str, Any], object], + parent_object: Optional[dict[str, Any]] = None, + root_object: Optional[Union[dict[str, Any], object]] = None, +) -> dict[str, Any]: + to_object: dict[str, Any] = {} + if getv(from_object, ['file_name']) is not None: + setv(to_object, ['file_name'], getv(from_object, ['file_name'])) + + if getv(from_object, ['inlined_requests']) is not None: + setv( + to_object, + ['requests'], + _EmbedContentBatch_to_mldev( + api_client, + getv(from_object, ['inlined_requests']), + to_object, + root_object, + ), + ) + + return to_object + + +def _Endpoint_from_vertex( + from_object: Union[dict[str, Any], object], + parent_object: Optional[dict[str, Any]] = None, + root_object: Optional[Union[dict[str, Any], object]] = None, +) -> dict[str, Any]: + to_object: dict[str, Any] = {} + if getv(from_object, ['endpoint']) is not None: + setv(to_object, ['name'], getv(from_object, ['endpoint'])) + + if getv(from_object, ['deployedModelId']) is not None: + setv( + to_object, ['deployed_model_id'], getv(from_object, ['deployedModelId']) + ) + + return to_object + + +def _EvaluationConfig_from_vertex( + from_object: Union[dict[str, Any], object], + parent_object: Optional[dict[str, Any]] = None, + root_object: Optional[Union[dict[str, Any], object]] = None, +) -> dict[str, Any]: + to_object: dict[str, Any] = {} + if getv(from_object, ['metrics']) is not None: + setv(to_object, ['metrics'], t.t_metrics(getv(from_object, ['metrics']))) + + if getv(from_object, ['outputConfig']) is not None: + setv(to_object, ['output_config'], getv(from_object, ['outputConfig'])) + + if getv(from_object, ['autoraterConfig']) is not None: + setv( + to_object, + ['autorater_config'], + _AutoraterConfig_from_vertex( + getv(from_object, ['autoraterConfig']), to_object, root_object + ), + ) + + if getv(from_object, ['inferenceGenerationConfig']) is not None: + setv( + to_object, + ['inference_generation_config'], + _GenerationConfig_from_vertex( + getv(from_object, ['inferenceGenerationConfig']), + to_object, + root_object, + ), + ) + + return to_object + + +def _EvaluationConfig_to_vertex( + from_object: Union[dict[str, Any], object], + parent_object: Optional[dict[str, Any]] = None, + root_object: Optional[Union[dict[str, Any], object]] = None, +) -> dict[str, Any]: + to_object: dict[str, Any] = {} + if getv(from_object, ['metrics']) is not None: + setv(to_object, ['metrics'], t.t_metrics(getv(from_object, ['metrics']))) + + if getv(from_object, ['output_config']) is not None: + setv(to_object, ['outputConfig'], getv(from_object, ['output_config'])) + + if getv(from_object, ['autorater_config']) is not None: + setv( + to_object, + ['autoraterConfig'], + _AutoraterConfig_to_vertex( + getv(from_object, ['autorater_config']), to_object, root_object + ), + ) + + if getv(from_object, ['inference_generation_config']) is not None: + setv( + to_object, + ['inferenceGenerationConfig'], + _GenerationConfig_to_vertex( + getv(from_object, ['inference_generation_config']), + to_object, + root_object, + ), + ) + + return to_object + + +def _FetchPredictOperationParameters_to_mldev( + from_object: Union[dict[str, Any], object], + parent_object: Optional[dict[str, Any]] = None, + root_object: Optional[Union[dict[str, Any], object]] = None, +) -> dict[str, Any]: + to_object: dict[str, Any] = {} + if getv(from_object, ['operation_name']) is not None: + raise ValueError( + 'operation_name parameter is only supported in Gemini Enterprise Agent' + ' Platform mode, not in Gemini Developer API mode.' + ) + + if getv(from_object, ['resource_name']) is not None: + raise ValueError( + 'resource_name parameter is only supported in Gemini Enterprise Agent' + ' Platform mode, not in Gemini Developer API mode.' + ) + + if getv(from_object, ['config']) is not None: + raise ValueError( + 'config parameter is only supported in Gemini Enterprise Agent Platform' + ' mode, not in Gemini Developer API mode.' + ) + + return to_object + + +def _FetchPredictOperationParameters_to_vertex( + from_object: Union[dict[str, Any], object], + parent_object: Optional[dict[str, Any]] = None, + root_object: Optional[Union[dict[str, Any], object]] = None, +) -> dict[str, Any]: + to_object: dict[str, Any] = {} + if getv(from_object, ['operation_name']) is not None: + setv(to_object, ['operationName'], getv(from_object, ['operation_name'])) + + if getv(from_object, ['resource_name']) is not None: + setv( + to_object, + ['_url', 'resourceName'], + getv(from_object, ['resource_name']), + ) + + return to_object + + +def _FunctionCall_to_mldev( + from_object: Union[dict[str, Any], object], + parent_object: Optional[dict[str, Any]] = None, + root_object: Optional[Union[dict[str, Any], object]] = 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 only supported in Gemini Enterprise Agent' + ' Platform mode, not in Gemini Developer API mode.' + ) + + if getv(from_object, ['will_continue']) is not None: + raise ValueError( + 'will_continue parameter is only supported in Gemini Enterprise Agent' + ' Platform mode, not in Gemini Developer API mode.' + ) + + return to_object + + +def _FunctionCallingConfig_to_mldev( + from_object: Union[dict[str, Any], object], + parent_object: Optional[dict[str, Any]] = None, + root_object: Optional[Union[dict[str, Any], object]] = None, +) -> dict[str, Any]: + to_object: dict[str, Any] = {} + if getv(from_object, ['allowed_function_names']) is not None: + setv( + to_object, + ['allowedFunctionNames'], + getv(from_object, ['allowed_function_names']), + ) + + if getv(from_object, ['mode']) is not None: + setv(to_object, ['mode'], getv(from_object, ['mode'])) + + if getv(from_object, ['stream_function_call_arguments']) is not None: + raise ValueError( + 'stream_function_call_arguments parameter is only supported in Gemini' + ' Enterprise Agent Platform mode, not in Gemini Developer API mode.' + ) + + return to_object + + +def _GenerateContentConfig_to_mldev( + api_client: BaseApiClient, + from_object: Union[dict[str, Any], object], + parent_object: Optional[dict[str, Any]] = None, + root_object: Optional[Union[dict[str, Any], object]] = None, +) -> dict[str, Any]: + to_object: dict[str, Any] = {} + + if getv(from_object, ['system_instruction']) is not None: + setv( + parent_object, + ['systemInstruction'], + _Content_to_mldev( + t.t_content(getv(from_object, ['system_instruction'])), + to_object, + root_object, + ), + ) + + if getv(from_object, ['temperature']) is not None: + setv(to_object, ['temperature'], getv(from_object, ['temperature'])) + + if getv(from_object, ['top_p']) is not None: + setv(to_object, ['topP'], getv(from_object, ['top_p'])) + + if getv(from_object, ['top_k']) is not None: + setv(to_object, ['topK'], getv(from_object, ['top_k'])) + + if getv(from_object, ['candidate_count']) is not None: + setv(to_object, ['candidateCount'], getv(from_object, ['candidate_count'])) + + if getv(from_object, ['max_output_tokens']) is not None: + setv( + to_object, ['maxOutputTokens'], getv(from_object, ['max_output_tokens']) + ) + + if getv(from_object, ['stop_sequences']) is not None: + setv(to_object, ['stopSequences'], getv(from_object, ['stop_sequences'])) + + if getv(from_object, ['response_logprobs']) is not None: + setv( + to_object, + ['responseLogprobs'], + getv(from_object, ['response_logprobs']), + ) + + if getv(from_object, ['logprobs']) is not None: + setv(to_object, ['logprobs'], getv(from_object, ['logprobs'])) + + if getv(from_object, ['presence_penalty']) is not None: + setv( + to_object, ['presencePenalty'], getv(from_object, ['presence_penalty']) + ) + + if getv(from_object, ['frequency_penalty']) is not None: + setv( + to_object, + ['frequencyPenalty'], + getv(from_object, ['frequency_penalty']), + ) + + if getv(from_object, ['seed']) is not None: + setv(to_object, ['seed'], getv(from_object, ['seed'])) + + if getv(from_object, ['response_mime_type']) is not None: + setv( + to_object, + ['responseMimeType'], + getv(from_object, ['response_mime_type']), + ) + + if getv(from_object, ['response_schema']) is not None: + setv( + to_object, + ['responseSchema'], + t.t_schema(api_client, getv(from_object, ['response_schema'])), + ) + + if getv(from_object, ['response_json_schema']) is not None: + setv( + to_object, + ['responseJsonSchema'], + t.t_json_schema(getv(from_object, ['response_json_schema'])), + ) + + if getv(from_object, ['routing_config']) is not None: + raise ValueError( + 'routing_config parameter is only supported in Gemini Enterprise Agent' + ' Platform mode, not in Gemini Developer API mode.' + ) + + if getv(from_object, ['model_selection_config']) is not None: + raise ValueError( + 'model_selection_config parameter is only supported in Gemini' + ' Enterprise Agent Platform mode, not in Gemini Developer API mode.' + ) + + if getv(from_object, ['safety_settings']) is not None: + setv( + parent_object, + ['safetySettings'], + [ + _SafetySetting_to_mldev(item, to_object, root_object) + for item in getv(from_object, ['safety_settings']) + ], + ) + + if getv(from_object, ['tools']) is not None: + setv( + parent_object, + ['tools'], + [ + _Tool_to_mldev(t.t_tool(api_client, item), to_object, root_object) + for item in t.t_tools(api_client, getv(from_object, ['tools'])) + ], + ) + + if getv(from_object, ['tool_config']) is not None: + setv( + parent_object, + ['toolConfig'], + _ToolConfig_to_mldev( + getv(from_object, ['tool_config']), to_object, root_object + ), + ) + + if getv(from_object, ['labels']) is not None: + setv(parent_object, ['labels'], getv(from_object, ['labels'])) + + if getv(from_object, ['cached_content']) is not None: + setv( + parent_object, + ['cachedContent'], + t.t_cached_content_name( + api_client, getv(from_object, ['cached_content']) + ), + ) + + if getv(from_object, ['response_modalities']) is not None: + setv( + to_object, + ['responseModalities'], + getv(from_object, ['response_modalities']), + ) + + if getv(from_object, ['media_resolution']) is not None: + setv( + to_object, ['mediaResolution'], getv(from_object, ['media_resolution']) + ) + + if getv(from_object, ['speech_config']) is not None: + setv( + to_object, + ['speechConfig'], + t.t_speech_config(getv(from_object, ['speech_config'])), + ) + + if getv(from_object, ['audio_timestamp']) is not None: + raise ValueError( + 'audio_timestamp parameter is only supported in Gemini Enterprise Agent' + ' Platform mode, not in Gemini Developer API mode.' + ) + + if getv(from_object, ['thinking_config']) is not None: + setv(to_object, ['thinkingConfig'], getv(from_object, ['thinking_config'])) + + if getv(from_object, ['image_config']) is not None: + setv( + to_object, + ['imageConfig'], + _ImageConfig_to_mldev( + getv(from_object, ['image_config']), to_object, root_object + ), + ) + + if getv(from_object, ['enable_enhanced_civic_answers']) is not None: + setv( + to_object, + ['enableEnhancedCivicAnswers'], + getv(from_object, ['enable_enhanced_civic_answers']), + ) + + if getv(from_object, ['model_armor_config']) is not None: + raise ValueError( + 'model_armor_config parameter is only supported in Gemini Enterprise' + ' Agent Platform mode, not in Gemini Developer API mode.' + ) + + if getv(from_object, ['service_tier']) is not None: + setv(parent_object, ['serviceTier'], getv(from_object, ['service_tier'])) + + if getv(from_object, ['audio_transcription_config']) is not None: + setv( + to_object, + ['audioTranscriptionConfig'], + getv(from_object, ['audio_transcription_config']), + ) + + if getv(from_object, ['continuation_token']) is not None: + setv( + parent_object, + ['continuationToken'], + getv(from_object, ['continuation_token']), + ) + + return to_object + + +def _GenerateContentConfig_to_vertex( + api_client: BaseApiClient, + from_object: Union[dict[str, Any], object], + parent_object: Optional[dict[str, Any]] = None, + root_object: Optional[Union[dict[str, Any], object]] = None, +) -> dict[str, Any]: + to_object: dict[str, Any] = {} + + if getv(from_object, ['system_instruction']) is not None: + setv( + parent_object, + ['systemInstruction'], + _Content_to_vertex( + t.t_content(getv(from_object, ['system_instruction'])), + to_object, + root_object, + ), + ) + + if getv(from_object, ['temperature']) is not None: + setv(to_object, ['temperature'], getv(from_object, ['temperature'])) + + if getv(from_object, ['top_p']) is not None: + setv(to_object, ['topP'], getv(from_object, ['top_p'])) + + if getv(from_object, ['top_k']) is not None: + setv(to_object, ['topK'], getv(from_object, ['top_k'])) + + if getv(from_object, ['candidate_count']) is not None: + setv(to_object, ['candidateCount'], getv(from_object, ['candidate_count'])) + + if getv(from_object, ['max_output_tokens']) is not None: + setv( + to_object, ['maxOutputTokens'], getv(from_object, ['max_output_tokens']) + ) + + if getv(from_object, ['stop_sequences']) is not None: + setv(to_object, ['stopSequences'], getv(from_object, ['stop_sequences'])) + + if getv(from_object, ['response_logprobs']) is not None: + setv( + to_object, + ['responseLogprobs'], + getv(from_object, ['response_logprobs']), + ) + + if getv(from_object, ['logprobs']) is not None: + setv(to_object, ['logprobs'], getv(from_object, ['logprobs'])) + + if getv(from_object, ['presence_penalty']) is not None: + setv( + to_object, ['presencePenalty'], getv(from_object, ['presence_penalty']) + ) + + if getv(from_object, ['frequency_penalty']) is not None: + setv( + to_object, + ['frequencyPenalty'], + getv(from_object, ['frequency_penalty']), + ) + + if getv(from_object, ['seed']) is not None: + setv(to_object, ['seed'], getv(from_object, ['seed'])) + + if getv(from_object, ['response_mime_type']) is not None: + setv( + to_object, + ['responseMimeType'], + getv(from_object, ['response_mime_type']), + ) + + if getv(from_object, ['response_schema']) is not None: + setv( + to_object, + ['responseSchema'], + t.t_schema(api_client, getv(from_object, ['response_schema'])), + ) + + if getv(from_object, ['response_json_schema']) is not None: + setv( + to_object, + ['responseJsonSchema'], + t.t_json_schema(getv(from_object, ['response_json_schema'])), + ) + + if getv(from_object, ['routing_config']) is not None: + setv(to_object, ['routingConfig'], getv(from_object, ['routing_config'])) + + if getv(from_object, ['model_selection_config']) is not None: + setv( + to_object, + ['modelConfig'], + getv(from_object, ['model_selection_config']), + ) + + if getv(from_object, ['safety_settings']) is not None: + setv( + parent_object, + ['safetySettings'], + [item for item in getv(from_object, ['safety_settings'])], + ) + + if getv(from_object, ['tools']) is not None: + setv( + parent_object, + ['tools'], + [ + _Tool_to_vertex(t.t_tool(api_client, item), to_object, root_object) + for item in t.t_tools(api_client, getv(from_object, ['tools'])) + ], + ) + + if getv(from_object, ['tool_config']) is not None: + setv( + parent_object, + ['toolConfig'], + _ToolConfig_to_vertex( + getv(from_object, ['tool_config']), to_object, root_object + ), + ) + + if getv(from_object, ['labels']) is not None: + setv(parent_object, ['labels'], getv(from_object, ['labels'])) + + if getv(from_object, ['cached_content']) is not None: + setv( + parent_object, + ['cachedContent'], + t.t_cached_content_name( + api_client, getv(from_object, ['cached_content']) + ), + ) + + if getv(from_object, ['response_modalities']) is not None: + setv( + to_object, + ['responseModalities'], + getv(from_object, ['response_modalities']), + ) + + if getv(from_object, ['media_resolution']) is not None: + setv( + to_object, ['mediaResolution'], getv(from_object, ['media_resolution']) + ) + + if getv(from_object, ['speech_config']) is not None: + setv( + to_object, + ['speechConfig'], + _SpeechConfig_to_vertex( + t.t_speech_config(getv(from_object, ['speech_config'])), + to_object, + root_object, + ), + ) + + if getv(from_object, ['audio_timestamp']) is not None: + setv(to_object, ['audioTimestamp'], getv(from_object, ['audio_timestamp'])) + + if getv(from_object, ['thinking_config']) is not None: + setv(to_object, ['thinkingConfig'], getv(from_object, ['thinking_config'])) + + if getv(from_object, ['image_config']) is not None: + setv( + to_object, + ['imageConfig'], + _ImageConfig_to_vertex( + getv(from_object, ['image_config']), to_object, root_object + ), + ) + + if getv(from_object, ['enable_enhanced_civic_answers']) is not None: + raise ValueError( + 'enable_enhanced_civic_answers parameter is only supported in Gemini' + ' Developer API mode, not in Gemini Enterprise Agent Platform mode.' + ) + + if getv(from_object, ['model_armor_config']) is not None: + setv( + parent_object, + ['modelArmorConfig'], + getv(from_object, ['model_armor_config']), + ) + + if getv(from_object, ['service_tier']) is not None: + setv(parent_object, ['serviceTier'], getv(from_object, ['service_tier'])) + + if getv(from_object, ['audio_transcription_config']) is not None: + setv( + to_object, + ['audioTranscriptionConfig'], + getv(from_object, ['audio_transcription_config']), + ) + + if getv(from_object, ['continuation_token']) is not None: + setv( + parent_object, + ['continuationToken'], + getv(from_object, ['continuation_token']), + ) + + return to_object + + +def _GenerateContentParameters_to_mldev( + api_client: BaseApiClient, + from_object: Union[dict[str, Any], object], + parent_object: Optional[dict[str, Any]] = None, + root_object: Optional[Union[dict[str, Any], object]] = None, +) -> dict[str, Any]: + to_object: dict[str, Any] = {} + if getv(from_object, ['model']) is not None: + setv( + to_object, + ['_url', 'model'], + t.t_model(api_client, getv(from_object, ['model'])), + ) + + if getv(from_object, ['contents']) is not None: + setv( + to_object, + ['contents'], + [ + _Content_to_mldev(item, to_object, root_object) + for item in t.t_contents(getv(from_object, ['contents'])) + ], + ) + + if getv(from_object, ['config']) is not None: + setv( + to_object, + ['generationConfig'], + _GenerateContentConfig_to_mldev( + api_client, getv(from_object, ['config']), to_object, root_object + ), + ) + + return to_object + + +def _GenerateContentParameters_to_vertex( + api_client: BaseApiClient, + from_object: Union[dict[str, Any], object], + parent_object: Optional[dict[str, Any]] = None, + root_object: Optional[Union[dict[str, Any], object]] = None, +) -> dict[str, Any]: + to_object: dict[str, Any] = {} + if getv(from_object, ['model']) is not None: + setv( + to_object, + ['_url', 'model'], + t.t_model(api_client, getv(from_object, ['model'])), + ) + + if getv(from_object, ['contents']) is not None: + setv( + to_object, + ['contents'], + [ + _Content_to_vertex(item, to_object, root_object) + for item in t.t_contents(getv(from_object, ['contents'])) + ], + ) + + if getv(from_object, ['config']) is not None: + setv( + to_object, + ['generationConfig'], + _GenerateContentConfig_to_vertex( + api_client, getv(from_object, ['config']), to_object, root_object + ), + ) + + return to_object + + +def _GenerateContentResponse_from_mldev( + from_object: Union[dict[str, Any], object], + parent_object: Optional[dict[str, Any]] = None, + root_object: Optional[Union[dict[str, Any], object]] = None, +) -> dict[str, Any]: + to_object: dict[str, Any] = {} + if getv(from_object, ['sdkHttpResponse']) is not None: + setv( + to_object, ['sdk_http_response'], getv(from_object, ['sdkHttpResponse']) + ) + + if getv(from_object, ['candidates']) is not None: + setv( + to_object, + ['candidates'], + [ + _Candidate_from_mldev(item, to_object, root_object) + for item in getv(from_object, ['candidates']) + ], + ) + + if getv(from_object, ['modelVersion']) is not None: + setv(to_object, ['model_version'], getv(from_object, ['modelVersion'])) + + if getv(from_object, ['promptFeedback']) is not None: + setv(to_object, ['prompt_feedback'], getv(from_object, ['promptFeedback'])) + + if getv(from_object, ['responseId']) is not None: + setv(to_object, ['response_id'], getv(from_object, ['responseId'])) + + if getv(from_object, ['usageMetadata']) is not None: + setv(to_object, ['usage_metadata'], getv(from_object, ['usageMetadata'])) + + if getv(from_object, ['modelStatus']) is not None: + setv(to_object, ['model_status'], getv(from_object, ['modelStatus'])) + + return to_object + + +def _GenerateContentResponse_from_vertex( + from_object: Union[dict[str, Any], object], + parent_object: Optional[dict[str, Any]] = None, + root_object: Optional[Union[dict[str, Any], object]] = None, +) -> dict[str, Any]: + to_object: dict[str, Any] = {} + if getv(from_object, ['sdkHttpResponse']) is not None: + setv( + to_object, ['sdk_http_response'], getv(from_object, ['sdkHttpResponse']) + ) + + if getv(from_object, ['candidates']) is not None: + setv( + to_object, + ['candidates'], + [item for item in getv(from_object, ['candidates'])], + ) + + if getv(from_object, ['createTime']) is not None: + setv(to_object, ['create_time'], getv(from_object, ['createTime'])) + + if getv(from_object, ['modelVersion']) is not None: + setv(to_object, ['model_version'], getv(from_object, ['modelVersion'])) + + if getv(from_object, ['promptFeedback']) is not None: + setv(to_object, ['prompt_feedback'], getv(from_object, ['promptFeedback'])) + + if getv(from_object, ['responseId']) is not None: + setv(to_object, ['response_id'], getv(from_object, ['responseId'])) + + if getv(from_object, ['usageMetadata']) is not None: + setv(to_object, ['usage_metadata'], getv(from_object, ['usageMetadata'])) + + return to_object + + +def _GenerateImagesConfig_to_vertex( + from_object: Union[dict[str, Any], object], + parent_object: Optional[dict[str, Any]] = None, + root_object: Optional[Union[dict[str, Any], object]] = None, +) -> dict[str, Any]: + to_object: dict[str, Any] = {} + + if getv(from_object, ['output_gcs_uri']) is not None: + setv( + parent_object, + ['parameters', 'storageUri'], + getv(from_object, ['output_gcs_uri']), + ) + + if getv(from_object, ['negative_prompt']) is not None: + setv( + parent_object, + ['parameters', 'negativePrompt'], + getv(from_object, ['negative_prompt']), + ) + + if getv(from_object, ['number_of_images']) is not None: + setv( + parent_object, + ['parameters', 'sampleCount'], + getv(from_object, ['number_of_images']), + ) + + if getv(from_object, ['aspect_ratio']) is not None: + setv( + parent_object, + ['parameters', 'aspectRatio'], + getv(from_object, ['aspect_ratio']), + ) + + if getv(from_object, ['guidance_scale']) is not None: + setv( + parent_object, + ['parameters', 'guidanceScale'], + getv(from_object, ['guidance_scale']), + ) + + if getv(from_object, ['seed']) is not None: + setv(parent_object, ['parameters', 'seed'], getv(from_object, ['seed'])) + + if getv(from_object, ['safety_filter_level']) is not None: + setv( + parent_object, + ['parameters', 'safetySetting'], + getv(from_object, ['safety_filter_level']), + ) + + if getv(from_object, ['person_generation']) is not None: + setv( + parent_object, + ['parameters', 'personGeneration'], + getv(from_object, ['person_generation']), + ) + + if getv(from_object, ['include_safety_attributes']) is not None: + setv( + parent_object, + ['parameters', 'includeSafetyAttributes'], + getv(from_object, ['include_safety_attributes']), + ) + + if getv(from_object, ['include_rai_reason']) is not None: + setv( + parent_object, + ['parameters', 'includeRaiReason'], + getv(from_object, ['include_rai_reason']), + ) + + if getv(from_object, ['language']) is not None: + setv( + parent_object, + ['parameters', 'language'], + getv(from_object, ['language']), + ) + + if getv(from_object, ['output_mime_type']) is not None: + setv( + parent_object, + ['parameters', 'outputOptions', 'mimeType'], + getv(from_object, ['output_mime_type']), + ) + + if getv(from_object, ['output_compression_quality']) is not None: + setv( + parent_object, + ['parameters', 'outputOptions', 'compressionQuality'], + getv(from_object, ['output_compression_quality']), + ) + + if getv(from_object, ['add_watermark']) is not None: + setv( + parent_object, + ['parameters', 'addWatermark'], + getv(from_object, ['add_watermark']), + ) + + if getv(from_object, ['labels']) is not None: + setv(parent_object, ['labels'], getv(from_object, ['labels'])) + + if getv(from_object, ['image_size']) is not None: + setv( + parent_object, + ['parameters', 'sampleImageSize'], + getv(from_object, ['image_size']), + ) + + if getv(from_object, ['enhance_prompt']) is not None: + setv( + parent_object, + ['parameters', 'enhancePrompt'], + getv(from_object, ['enhance_prompt']), + ) + + return to_object + + +def _GenerateImagesParameters_to_vertex( + api_client: BaseApiClient, + from_object: Union[dict[str, Any], object], + parent_object: Optional[dict[str, Any]] = None, + root_object: Optional[Union[dict[str, Any], object]] = None, +) -> dict[str, Any]: + to_object: dict[str, Any] = {} + if getv(from_object, ['model']) is not None: + setv( + to_object, + ['_url', 'model'], + t.t_model(api_client, getv(from_object, ['model'])), + ) + + if getv(from_object, ['prompt']) is not None: + setv(to_object, ['instances[0]', 'prompt'], getv(from_object, ['prompt'])) + + if getv(from_object, ['config']) is not None: + _GenerateImagesConfig_to_vertex( + getv(from_object, ['config']), to_object, root_object + ) + + return to_object + + +def _GenerateImagesResponse_from_vertex( + from_object: Union[dict[str, Any], object], + parent_object: Optional[dict[str, Any]] = None, + root_object: Optional[Union[dict[str, Any], object]] = None, +) -> dict[str, Any]: + to_object: dict[str, Any] = {} + if getv(from_object, ['sdkHttpResponse']) is not None: + setv( + to_object, ['sdk_http_response'], getv(from_object, ['sdkHttpResponse']) + ) + + if getv(from_object, ['predictions']) is not None: + setv( + to_object, + ['generated_images'], + [ + _GeneratedImage_from_vertex(item, to_object, root_object) + for item in getv(from_object, ['predictions']) + ], + ) + + if getv(from_object, ['positivePromptSafetyAttributes']) is not None: + setv( + to_object, + ['positive_prompt_safety_attributes'], + _SafetyAttributes_from_vertex( + getv(from_object, ['positivePromptSafetyAttributes']), + to_object, + root_object, + ), + ) + + return to_object + + +def _GenerateVideosConfig_to_mldev( + from_object: Union[dict[str, Any], object], + parent_object: Optional[dict[str, Any]] = None, + root_object: Optional[Union[dict[str, Any], object]] = None, +) -> dict[str, Any]: + to_object: dict[str, Any] = {} + + if getv(from_object, ['number_of_videos']) is not None: + setv( + parent_object, + ['parameters', 'sampleCount'], + getv(from_object, ['number_of_videos']), + ) + + if getv(from_object, ['output_gcs_uri']) is not None: + raise ValueError( + 'output_gcs_uri parameter is only supported in Gemini Enterprise Agent' + ' Platform mode, not in Gemini Developer API mode.' + ) + + if getv(from_object, ['fps']) is not None: + raise ValueError( + 'fps parameter is only supported in Gemini Enterprise Agent Platform' + ' mode, not in Gemini Developer API mode.' + ) + + if getv(from_object, ['duration_seconds']) is not None: + setv( + parent_object, + ['parameters', 'durationSeconds'], + getv(from_object, ['duration_seconds']), + ) + + if getv(from_object, ['seed']) is not None: + raise ValueError( + 'seed parameter is only supported in Gemini Enterprise Agent Platform' + ' mode, not in Gemini Developer API mode.' + ) + + if getv(from_object, ['aspect_ratio']) is not None: + setv( + parent_object, + ['parameters', 'aspectRatio'], + getv(from_object, ['aspect_ratio']), + ) + + if getv(from_object, ['resolution']) is not None: + setv( + parent_object, + ['parameters', 'resolution'], + getv(from_object, ['resolution']), + ) + + if getv(from_object, ['person_generation']) is not None: + setv( + parent_object, + ['parameters', 'personGeneration'], + getv(from_object, ['person_generation']), + ) + + if getv(from_object, ['pubsub_topic']) is not None: + raise ValueError( + 'pubsub_topic parameter is only supported in Gemini Enterprise Agent' + ' Platform mode, not in Gemini Developer API mode.' + ) + + if getv(from_object, ['negative_prompt']) is not None: + setv( + parent_object, + ['parameters', 'negativePrompt'], + getv(from_object, ['negative_prompt']), + ) + + if getv(from_object, ['enhance_prompt']) is not None: + setv( + parent_object, + ['parameters', 'enhancePrompt'], + getv(from_object, ['enhance_prompt']), + ) + + if getv(from_object, ['generate_audio']) is not None: + raise ValueError( + 'generate_audio parameter is only supported in Gemini Enterprise Agent' + ' Platform mode, not in Gemini Developer API mode.' + ) + + if getv(from_object, ['last_frame']) is not None: + setv( + parent_object, + ['instances[0]', 'lastFrame'], + _Image_to_mldev( + getv(from_object, ['last_frame']), to_object, root_object + ), + ) + + if getv(from_object, ['reference_images']) is not None: + setv( + parent_object, + ['instances[0]', 'referenceImages'], + [ + _VideoGenerationReferenceImage_to_mldev( + item, to_object, root_object + ) + for item in getv(from_object, ['reference_images']) + ], + ) + + if getv(from_object, ['mask']) is not None: + raise ValueError( + 'mask parameter is only supported in Gemini Enterprise Agent Platform' + ' mode, not in Gemini Developer API mode.' + ) + + if getv(from_object, ['compression_quality']) is not None: + raise ValueError( + 'compression_quality parameter is only supported in Gemini Enterprise' + ' Agent Platform mode, not in Gemini Developer API mode.' + ) + + if getv(from_object, ['labels']) is not None: + raise ValueError( + 'labels parameter is only supported in Gemini Enterprise Agent Platform' + ' mode, not in Gemini Developer API mode.' + ) + + if getv(from_object, ['webhook_config']) is not None: + setv( + parent_object, ['webhookConfig'], getv(from_object, ['webhook_config']) + ) + + if getv(from_object, ['resize_mode']) is not None: + raise ValueError( + 'resize_mode parameter is only supported in Gemini Enterprise Agent' + ' Platform mode, not in Gemini Developer API mode.' + ) + + return to_object + + +def _GenerateVideosConfig_to_vertex( + from_object: Union[dict[str, Any], object], + parent_object: Optional[dict[str, Any]] = None, + root_object: Optional[Union[dict[str, Any], object]] = None, +) -> dict[str, Any]: + to_object: dict[str, Any] = {} + + if getv(from_object, ['number_of_videos']) is not None: + setv( + parent_object, + ['parameters', 'sampleCount'], + getv(from_object, ['number_of_videos']), + ) + + if getv(from_object, ['output_gcs_uri']) is not None: + setv( + parent_object, + ['parameters', 'storageUri'], + getv(from_object, ['output_gcs_uri']), + ) + + if getv(from_object, ['fps']) is not None: + setv(parent_object, ['parameters', 'fps'], getv(from_object, ['fps'])) + + if getv(from_object, ['duration_seconds']) is not None: + setv( + parent_object, + ['parameters', 'durationSeconds'], + getv(from_object, ['duration_seconds']), + ) + + if getv(from_object, ['seed']) is not None: + setv(parent_object, ['parameters', 'seed'], getv(from_object, ['seed'])) + + if getv(from_object, ['aspect_ratio']) is not None: + setv( + parent_object, + ['parameters', 'aspectRatio'], + getv(from_object, ['aspect_ratio']), + ) + + if getv(from_object, ['resolution']) is not None: + setv( + parent_object, + ['parameters', 'resolution'], + getv(from_object, ['resolution']), + ) + + if getv(from_object, ['person_generation']) is not None: + setv( + parent_object, + ['parameters', 'personGeneration'], + getv(from_object, ['person_generation']), + ) + + if getv(from_object, ['pubsub_topic']) is not None: + setv( + parent_object, + ['parameters', 'pubsubTopic'], + getv(from_object, ['pubsub_topic']), + ) + + if getv(from_object, ['negative_prompt']) is not None: + setv( + parent_object, + ['parameters', 'negativePrompt'], + getv(from_object, ['negative_prompt']), + ) + + if getv(from_object, ['enhance_prompt']) is not None: + setv( + parent_object, + ['parameters', 'enhancePrompt'], + getv(from_object, ['enhance_prompt']), + ) + + if getv(from_object, ['generate_audio']) is not None: + setv( + parent_object, + ['parameters', 'generateAudio'], + getv(from_object, ['generate_audio']), + ) + + if getv(from_object, ['last_frame']) is not None: + setv( + parent_object, + ['instances[0]', 'lastFrame'], + _Image_to_vertex( + getv(from_object, ['last_frame']), to_object, root_object + ), + ) + + if getv(from_object, ['reference_images']) is not None: + setv( + parent_object, + ['instances[0]', 'referenceImages'], + [ + _VideoGenerationReferenceImage_to_vertex( + item, to_object, root_object + ) + for item in getv(from_object, ['reference_images']) + ], + ) + + if getv(from_object, ['mask']) is not None: + setv( + parent_object, + ['instances[0]', 'mask'], + _VideoGenerationMask_to_vertex( + getv(from_object, ['mask']), to_object, root_object + ), + ) + + if getv(from_object, ['compression_quality']) is not None: + setv( + parent_object, + ['parameters', 'compressionQuality'], + getv(from_object, ['compression_quality']), + ) + + if getv(from_object, ['labels']) is not None: + setv(parent_object, ['labels'], getv(from_object, ['labels'])) + + if getv(from_object, ['webhook_config']) is not None: + raise ValueError( + 'webhook_config parameter is only supported in Gemini Developer API' + ' mode, not in Gemini Enterprise Agent Platform mode.' + ) + + if getv(from_object, ['resize_mode']) is not None: + setv( + parent_object, + ['parameters', 'resizeMode'], + getv(from_object, ['resize_mode']), + ) + + return to_object + + +def _GenerateVideosOperation_from_mldev( + from_object: Union[dict[str, Any], object], + parent_object: Optional[dict[str, Any]] = None, + root_object: Optional[Union[dict[str, Any], object]] = None, +) -> dict[str, Any]: + to_object: dict[str, Any] = {} + if getv(from_object, ['name']) is not None: + setv(to_object, ['name'], getv(from_object, ['name'])) + + if getv(from_object, ['metadata']) is not None: + setv(to_object, ['metadata'], getv(from_object, ['metadata'])) + + if getv(from_object, ['done']) is not None: + setv(to_object, ['done'], getv(from_object, ['done'])) + + if getv(from_object, ['error']) is not None: + setv(to_object, ['error'], getv(from_object, ['error'])) + + if getv(from_object, ['response', 'generateVideoResponse']) is not None: + setv( + to_object, + ['response'], + _GenerateVideosResponse_from_mldev( + getv(from_object, ['response', 'generateVideoResponse']), + to_object, + root_object, + ), + ) + + if getv(from_object, ['response', 'generateVideoResponse']) is not None: + setv( + to_object, + ['result'], + _GenerateVideosResponse_from_mldev( + getv(from_object, ['response', 'generateVideoResponse']), + to_object, + root_object, + ), + ) + + return to_object + + +def _GenerateVideosOperation_from_vertex( + from_object: Union[dict[str, Any], object], + parent_object: Optional[dict[str, Any]] = None, + root_object: Optional[Union[dict[str, Any], object]] = None, +) -> dict[str, Any]: + to_object: dict[str, Any] = {} + if getv(from_object, ['name']) is not None: + setv(to_object, ['name'], getv(from_object, ['name'])) + + if getv(from_object, ['metadata']) is not None: + setv(to_object, ['metadata'], getv(from_object, ['metadata'])) + + if getv(from_object, ['done']) is not None: + setv(to_object, ['done'], getv(from_object, ['done'])) + + if getv(from_object, ['error']) is not None: + setv(to_object, ['error'], getv(from_object, ['error'])) + + if getv(from_object, ['response']) is not None: + setv( + to_object, + ['response'], + _GenerateVideosResponse_from_vertex( + getv(from_object, ['response']), to_object, root_object + ), + ) + + if getv(from_object, ['response']) is not None: + setv( + to_object, + ['result'], + _GenerateVideosResponse_from_vertex( + getv(from_object, ['response']), to_object, root_object + ), + ) + + return to_object + + +def _GenerateVideosParameters_to_mldev( + api_client: BaseApiClient, + from_object: Union[dict[str, Any], object], + parent_object: Optional[dict[str, Any]] = None, + root_object: Optional[Union[dict[str, Any], object]] = None, +) -> dict[str, Any]: + to_object: dict[str, Any] = {} + if getv(from_object, ['model']) is not None: + setv( + to_object, + ['_url', 'model'], + t.t_model(api_client, getv(from_object, ['model'])), + ) + + if getv(from_object, ['prompt']) is not None: + setv(to_object, ['instances[0]', 'prompt'], getv(from_object, ['prompt'])) + + if getv(from_object, ['image']) is not None: + setv( + to_object, + ['instances[0]', 'image'], + _Image_to_mldev(getv(from_object, ['image']), to_object, root_object), + ) + + if getv(from_object, ['video']) is not None: + setv( + to_object, + ['instances[0]', 'video'], + _Video_to_mldev(getv(from_object, ['video']), to_object, root_object), + ) + + if getv(from_object, ['source']) is not None: + _GenerateVideosSource_to_mldev( + getv(from_object, ['source']), to_object, root_object + ) + + if getv(from_object, ['config']) is not None: + _GenerateVideosConfig_to_mldev( + getv(from_object, ['config']), to_object, root_object + ) + + return to_object + + +def _GenerateVideosParameters_to_vertex( + api_client: BaseApiClient, + from_object: Union[dict[str, Any], object], + parent_object: Optional[dict[str, Any]] = None, + root_object: Optional[Union[dict[str, Any], object]] = None, +) -> dict[str, Any]: + to_object: dict[str, Any] = {} + if getv(from_object, ['model']) is not None: + setv( + to_object, + ['_url', 'model'], + t.t_model(api_client, getv(from_object, ['model'])), + ) + + if getv(from_object, ['prompt']) is not None: + setv(to_object, ['instances[0]', 'prompt'], getv(from_object, ['prompt'])) + + if getv(from_object, ['image']) is not None: + setv( + to_object, + ['instances[0]', 'image'], + _Image_to_vertex(getv(from_object, ['image']), to_object, root_object), + ) + + if getv(from_object, ['video']) is not None: + setv( + to_object, + ['instances[0]', 'video'], + _Video_to_vertex(getv(from_object, ['video']), to_object, root_object), + ) + + if getv(from_object, ['source']) is not None: + _GenerateVideosSource_to_vertex( + getv(from_object, ['source']), to_object, root_object + ) + + if getv(from_object, ['config']) is not None: + _GenerateVideosConfig_to_vertex( + getv(from_object, ['config']), to_object, root_object + ) + + return to_object + + +def _GenerateVideosResponse_from_mldev( + from_object: Union[dict[str, Any], object], + parent_object: Optional[dict[str, Any]] = None, + root_object: Optional[Union[dict[str, Any], object]] = None, +) -> dict[str, Any]: + to_object: dict[str, Any] = {} + if getv(from_object, ['generatedSamples']) is not None: + setv( + to_object, + ['generated_videos'], + [ + _GeneratedVideo_from_mldev(item, to_object, root_object) + for item in getv(from_object, ['generatedSamples']) + ], + ) + + if getv(from_object, ['raiMediaFilteredCount']) is not None: + setv( + to_object, + ['rai_media_filtered_count'], + getv(from_object, ['raiMediaFilteredCount']), + ) + + if getv(from_object, ['raiMediaFilteredReasons']) is not None: + setv( + to_object, + ['rai_media_filtered_reasons'], + getv(from_object, ['raiMediaFilteredReasons']), + ) + + return to_object + + +def _GenerateVideosResponse_from_vertex( + from_object: Union[dict[str, Any], object], + parent_object: Optional[dict[str, Any]] = None, + root_object: Optional[Union[dict[str, Any], object]] = None, +) -> dict[str, Any]: + to_object: dict[str, Any] = {} + if getv(from_object, ['videos']) is not None: + setv( + to_object, + ['generated_videos'], + [ + _GeneratedVideo_from_vertex(item, to_object, root_object) + for item in getv(from_object, ['videos']) + ], + ) + + if getv(from_object, ['raiMediaFilteredCount']) is not None: + setv( + to_object, + ['rai_media_filtered_count'], + getv(from_object, ['raiMediaFilteredCount']), + ) + + if getv(from_object, ['raiMediaFilteredReasons']) is not None: + setv( + to_object, + ['rai_media_filtered_reasons'], + getv(from_object, ['raiMediaFilteredReasons']), + ) + + return to_object + + +def _GenerateVideosSource_to_mldev( + from_object: Union[dict[str, Any], object], + parent_object: Optional[dict[str, Any]] = None, + root_object: Optional[Union[dict[str, Any], object]] = None, +) -> dict[str, Any]: + to_object: dict[str, Any] = {} + if getv(from_object, ['prompt']) is not None: + setv( + parent_object, ['instances[0]', 'prompt'], getv(from_object, ['prompt']) + ) + + if getv(from_object, ['image']) is not None: + setv( + parent_object, + ['instances[0]', 'image'], + _Image_to_mldev(getv(from_object, ['image']), to_object, root_object), + ) + + if getv(from_object, ['video']) is not None: + setv( + parent_object, + ['instances[0]', 'video'], + _Video_to_mldev(getv(from_object, ['video']), to_object, root_object), + ) + + return to_object + + +def _GenerateVideosSource_to_vertex( + from_object: Union[dict[str, Any], object], + parent_object: Optional[dict[str, Any]] = None, + root_object: Optional[Union[dict[str, Any], object]] = None, +) -> dict[str, Any]: + to_object: dict[str, Any] = {} + if getv(from_object, ['prompt']) is not None: + setv( + parent_object, ['instances[0]', 'prompt'], getv(from_object, ['prompt']) + ) + + if getv(from_object, ['image']) is not None: + setv( + parent_object, + ['instances[0]', 'image'], + _Image_to_vertex(getv(from_object, ['image']), to_object, root_object), + ) + + if getv(from_object, ['video']) is not None: + setv( + parent_object, + ['instances[0]', 'video'], + _Video_to_vertex(getv(from_object, ['video']), to_object, root_object), + ) + + return to_object + + +def _GeneratedImageMask_from_vertex( + from_object: Union[dict[str, Any], object], + parent_object: Optional[dict[str, Any]] = None, + root_object: Optional[Union[dict[str, Any], object]] = None, +) -> dict[str, Any]: + to_object: dict[str, Any] = {} + if getv(from_object, ['_self']) is not None: + setv( + to_object, + ['mask'], + _Image_from_vertex( + getv(from_object, ['_self']), to_object, root_object + ), + ) + + if getv(from_object, ['labels']) is not None: + setv( + to_object, ['labels'], [item for item in getv(from_object, ['labels'])] + ) + + return to_object + + +def _GeneratedImage_from_vertex( + from_object: Union[dict[str, Any], object], + parent_object: Optional[dict[str, Any]] = None, + root_object: Optional[Union[dict[str, Any], object]] = None, +) -> dict[str, Any]: + to_object: dict[str, Any] = {} + if getv(from_object, ['_self']) is not None: + setv( + to_object, + ['image'], + _Image_from_vertex( + getv(from_object, ['_self']), to_object, root_object + ), + ) + + if getv(from_object, ['raiFilteredReason']) is not None: + setv( + to_object, + ['rai_filtered_reason'], + getv(from_object, ['raiFilteredReason']), + ) + + if getv(from_object, ['_self']) is not None: + setv( + to_object, + ['safety_attributes'], + _SafetyAttributes_from_vertex( + getv(from_object, ['_self']), to_object, root_object + ), + ) + + if getv(from_object, ['prompt']) is not None: + setv(to_object, ['enhanced_prompt'], getv(from_object, ['prompt'])) + + return to_object + + +def _GeneratedVideo_from_mldev( + from_object: Union[dict[str, Any], object], + parent_object: Optional[dict[str, Any]] = None, + root_object: Optional[Union[dict[str, Any], object]] = None, +) -> dict[str, Any]: + to_object: dict[str, Any] = {} + if getv(from_object, ['video']) is not None: + setv( + to_object, + ['video'], + _Video_from_mldev(getv(from_object, ['video']), to_object, root_object), + ) + + return to_object + + +def _GeneratedVideo_from_vertex( + from_object: Union[dict[str, Any], object], + parent_object: Optional[dict[str, Any]] = None, + root_object: Optional[Union[dict[str, Any], object]] = None, +) -> dict[str, Any]: + to_object: dict[str, Any] = {} + if getv(from_object, ['_self']) is not None: + setv( + to_object, + ['video'], + _Video_from_vertex( + getv(from_object, ['_self']), to_object, root_object + ), + ) + + return to_object + + +def _GenerationConfig_from_vertex( + from_object: Union[dict[str, Any], object], + parent_object: Optional[dict[str, Any]] = None, + root_object: Optional[Union[dict[str, Any], object]] = None, +) -> dict[str, Any]: + to_object: dict[str, Any] = {} + if getv(from_object, ['modelConfig']) is not None: + setv( + to_object, + ['model_selection_config'], + getv(from_object, ['modelConfig']), + ) + + if getv(from_object, ['responseJsonSchema']) is not None: + setv( + to_object, + ['response_json_schema'], + t.t_json_schema(getv(from_object, ['responseJsonSchema'])), + ) + + if getv(from_object, ['audioTimestamp']) is not None: + setv(to_object, ['audio_timestamp'], getv(from_object, ['audioTimestamp'])) + + if getv(from_object, ['candidateCount']) is not None: + setv(to_object, ['candidate_count'], getv(from_object, ['candidateCount'])) + + if getv(from_object, ['enableAffectiveDialog']) is not None: + setv( + to_object, + ['enable_affective_dialog'], + getv(from_object, ['enableAffectiveDialog']), + ) + + if getv(from_object, ['frequencyPenalty']) is not None: + setv( + to_object, + ['frequency_penalty'], + getv(from_object, ['frequencyPenalty']), + ) + + if getv(from_object, ['logprobs']) is not None: + setv(to_object, ['logprobs'], getv(from_object, ['logprobs'])) + + if getv(from_object, ['maxOutputTokens']) is not None: + setv( + to_object, ['max_output_tokens'], getv(from_object, ['maxOutputTokens']) + ) + + if getv(from_object, ['mediaResolution']) is not None: + setv( + to_object, ['media_resolution'], getv(from_object, ['mediaResolution']) + ) + + if getv(from_object, ['presencePenalty']) is not None: + setv( + to_object, ['presence_penalty'], getv(from_object, ['presencePenalty']) + ) + + if getv(from_object, ['responseLogprobs']) is not None: + setv( + to_object, + ['response_logprobs'], + getv(from_object, ['responseLogprobs']), + ) + + if getv(from_object, ['responseMimeType']) is not None: + setv( + to_object, + ['response_mime_type'], + getv(from_object, ['responseMimeType']), + ) + + if getv(from_object, ['responseModalities']) is not None: + setv( + to_object, + ['response_modalities'], + getv(from_object, ['responseModalities']), + ) + + if getv(from_object, ['responseSchema']) is not None: + setv(to_object, ['response_schema'], getv(from_object, ['responseSchema'])) + + if getv(from_object, ['routingConfig']) is not None: + setv(to_object, ['routing_config'], getv(from_object, ['routingConfig'])) + + if getv(from_object, ['seed']) is not None: + setv(to_object, ['seed'], getv(from_object, ['seed'])) + + if getv(from_object, ['speechConfig']) is not None: + setv(to_object, ['speech_config'], getv(from_object, ['speechConfig'])) + + if getv(from_object, ['stopSequences']) is not None: + setv(to_object, ['stop_sequences'], getv(from_object, ['stopSequences'])) + + if getv(from_object, ['temperature']) is not None: + setv(to_object, ['temperature'], getv(from_object, ['temperature'])) + + if getv(from_object, ['thinkingConfig']) is not None: + setv(to_object, ['thinking_config'], getv(from_object, ['thinkingConfig'])) + + if getv(from_object, ['topK']) is not None: + setv(to_object, ['top_k'], getv(from_object, ['topK'])) + + if getv(from_object, ['topP']) is not None: + setv(to_object, ['top_p'], getv(from_object, ['topP'])) + + if getv(from_object, ['responseFormat']) is not None: + setv( + to_object, + ['response_format'], + [item for item in getv(from_object, ['responseFormat'])], + ) + + if getv(from_object, ['translationConfig']) is not None: + setv( + to_object, + ['translation_config'], + _TranslationConfig_from_vertex( + getv(from_object, ['translationConfig']), to_object, root_object + ), + ) + + if getv(from_object, ['audioTranscriptionConfig']) is not None: + setv( + to_object, + ['audio_transcription_config'], + getv(from_object, ['audioTranscriptionConfig']), + ) + + return to_object + + +def _GenerationConfig_to_vertex( + from_object: Union[dict[str, Any], object], + parent_object: Optional[dict[str, Any]] = None, + root_object: Optional[Union[dict[str, Any], object]] = None, +) -> dict[str, Any]: + to_object: dict[str, Any] = {} + if getv(from_object, ['model_selection_config']) is not None: + setv( + to_object, + ['modelConfig'], + getv(from_object, ['model_selection_config']), + ) + + if getv(from_object, ['response_json_schema']) is not None: + setv( + to_object, + ['responseJsonSchema'], + t.t_json_schema(getv(from_object, ['response_json_schema'])), + ) + + if getv(from_object, ['audio_timestamp']) is not None: + setv(to_object, ['audioTimestamp'], getv(from_object, ['audio_timestamp'])) + + if getv(from_object, ['candidate_count']) is not None: + setv(to_object, ['candidateCount'], getv(from_object, ['candidate_count'])) + + if getv(from_object, ['enable_affective_dialog']) is not None: + setv( + to_object, + ['enableAffectiveDialog'], + getv(from_object, ['enable_affective_dialog']), + ) + + if getv(from_object, ['frequency_penalty']) is not None: + setv( + to_object, + ['frequencyPenalty'], + getv(from_object, ['frequency_penalty']), + ) + + if getv(from_object, ['logprobs']) is not None: + setv(to_object, ['logprobs'], getv(from_object, ['logprobs'])) + + if getv(from_object, ['max_output_tokens']) is not None: + setv( + to_object, ['maxOutputTokens'], getv(from_object, ['max_output_tokens']) + ) + + if getv(from_object, ['media_resolution']) is not None: + setv( + to_object, ['mediaResolution'], getv(from_object, ['media_resolution']) + ) + + if getv(from_object, ['presence_penalty']) is not None: + setv( + to_object, ['presencePenalty'], getv(from_object, ['presence_penalty']) + ) + + if getv(from_object, ['response_logprobs']) is not None: + setv( + to_object, + ['responseLogprobs'], + getv(from_object, ['response_logprobs']), + ) + + if getv(from_object, ['response_mime_type']) is not None: + setv( + to_object, + ['responseMimeType'], + getv(from_object, ['response_mime_type']), + ) + + if getv(from_object, ['response_modalities']) is not None: + setv( + to_object, + ['responseModalities'], + getv(from_object, ['response_modalities']), + ) + + if getv(from_object, ['response_schema']) is not None: + setv(to_object, ['responseSchema'], getv(from_object, ['response_schema'])) + + if getv(from_object, ['routing_config']) is not None: + setv(to_object, ['routingConfig'], getv(from_object, ['routing_config'])) + + if getv(from_object, ['seed']) is not None: + setv(to_object, ['seed'], getv(from_object, ['seed'])) + + if getv(from_object, ['speech_config']) is not None: + setv( + to_object, + ['speechConfig'], + _SpeechConfig_to_vertex( + getv(from_object, ['speech_config']), to_object, root_object + ), + ) + + if getv(from_object, ['stop_sequences']) is not None: + setv(to_object, ['stopSequences'], getv(from_object, ['stop_sequences'])) + + if getv(from_object, ['temperature']) is not None: + setv(to_object, ['temperature'], getv(from_object, ['temperature'])) + + if getv(from_object, ['thinking_config']) is not None: + setv(to_object, ['thinkingConfig'], getv(from_object, ['thinking_config'])) + + if getv(from_object, ['top_k']) is not None: + setv(to_object, ['topK'], getv(from_object, ['top_k'])) + + if getv(from_object, ['top_p']) is not None: + setv(to_object, ['topP'], getv(from_object, ['top_p'])) + + if getv(from_object, ['enable_enhanced_civic_answers']) is not None: + raise ValueError( + 'enable_enhanced_civic_answers parameter is only supported in Gemini' + ' Developer API mode, not in Gemini Enterprise Agent Platform mode.' + ) + + if getv(from_object, ['response_format']) is not None: + setv( + to_object, + ['responseFormat'], + [item for item in getv(from_object, ['response_format'])], + ) + + if getv(from_object, ['translation_config']) is not None: + setv( + to_object, + ['translationConfig'], + _TranslationConfig_to_vertex( + getv(from_object, ['translation_config']), to_object, root_object + ), + ) + + if getv(from_object, ['audio_transcription_config']) is not None: + setv( + to_object, + ['audioTranscriptionConfig'], + getv(from_object, ['audio_transcription_config']), + ) + + return to_object + + +def _GetBatchJobParameters_to_mldev( + api_client: BaseApiClient, + from_object: Union[dict[str, Any], object], + parent_object: Optional[dict[str, Any]] = None, + root_object: Optional[Union[dict[str, Any], object]] = None, +) -> dict[str, Any]: + to_object: dict[str, Any] = {} + if getv(from_object, ['name']) is not None: + setv( + to_object, + ['_url', 'name'], + t.t_batch_job_name(api_client, getv(from_object, ['name'])), + ) + + return to_object + + +def _GetBatchJobParameters_to_vertex( + api_client: BaseApiClient, + from_object: Union[dict[str, Any], object], + parent_object: Optional[dict[str, Any]] = None, + root_object: Optional[Union[dict[str, Any], object]] = None, +) -> dict[str, Any]: + to_object: dict[str, Any] = {} + if getv(from_object, ['name']) is not None: + setv( + to_object, + ['_url', 'name'], + t.t_batch_job_name(api_client, getv(from_object, ['name'])), + ) + + return to_object + + +def _GetCachedContentParameters_to_mldev( + api_client: BaseApiClient, + from_object: Union[dict[str, Any], object], + parent_object: Optional[dict[str, Any]] = None, + root_object: Optional[Union[dict[str, Any], object]] = None, +) -> dict[str, Any]: + to_object: dict[str, Any] = {} + if getv(from_object, ['name']) is not None: + setv( + to_object, + ['_url', 'name'], + t.t_cached_content_name(api_client, getv(from_object, ['name'])), + ) + + return to_object + + +def _GetCachedContentParameters_to_vertex( + api_client: BaseApiClient, + from_object: Union[dict[str, Any], object], + parent_object: Optional[dict[str, Any]] = None, + root_object: Optional[Union[dict[str, Any], object]] = None, +) -> dict[str, Any]: + to_object: dict[str, Any] = {} + if getv(from_object, ['name']) is not None: + setv( + to_object, + ['_url', 'name'], + t.t_cached_content_name(api_client, getv(from_object, ['name'])), + ) + + return to_object + + +def _GetDocumentParameters_to_mldev( + from_object: Union[dict[str, Any], object], + parent_object: Optional[dict[str, Any]] = None, + root_object: Optional[Union[dict[str, Any], object]] = None, +) -> dict[str, Any]: + to_object: dict[str, Any] = {} + if getv(from_object, ['name']) is not None: + setv(to_object, ['_url', 'name'], getv(from_object, ['name'])) + + return to_object + + +def _GetFileParameters_to_mldev( + from_object: Union[dict[str, Any], object], + parent_object: Optional[dict[str, Any]] = None, + root_object: Optional[Union[dict[str, Any], object]] = None, +) -> dict[str, Any]: + to_object: dict[str, Any] = {} + if getv(from_object, ['name']) is not None: + setv( + to_object, ['_url', 'file'], t.t_file_name(getv(from_object, ['name'])) + ) + + return to_object + + +def _GetFileSearchStoreParameters_to_mldev( + from_object: Union[dict[str, Any], object], + parent_object: Optional[dict[str, Any]] = None, + root_object: Optional[Union[dict[str, Any], object]] = None, +) -> dict[str, Any]: + to_object: dict[str, Any] = {} + if getv(from_object, ['name']) is not None: + setv(to_object, ['_url', 'name'], getv(from_object, ['name'])) + + return to_object + + +def _GetModelParameters_to_mldev( + api_client: BaseApiClient, + from_object: Union[dict[str, Any], object], + parent_object: Optional[dict[str, Any]] = None, + root_object: Optional[Union[dict[str, Any], object]] = None, +) -> dict[str, Any]: + to_object: dict[str, Any] = {} + if getv(from_object, ['model']) is not None: + setv( + to_object, + ['_url', 'name'], + t.t_model(api_client, getv(from_object, ['model'])), + ) + + return to_object + + +def _GetModelParameters_to_vertex( + api_client: BaseApiClient, + from_object: Union[dict[str, Any], object], + parent_object: Optional[dict[str, Any]] = None, + root_object: Optional[Union[dict[str, Any], object]] = None, +) -> dict[str, Any]: + to_object: dict[str, Any] = {} + if getv(from_object, ['model']) is not None: + setv( + to_object, + ['_url', 'name'], + t.t_model(api_client, getv(from_object, ['model'])), + ) + + return to_object + + +def _GetOperationParameters_to_mldev( + from_object: Union[dict[str, Any], object], + parent_object: Optional[dict[str, Any]] = None, + root_object: Optional[Union[dict[str, Any], object]] = None, +) -> dict[str, Any]: + to_object: dict[str, Any] = {} + if getv(from_object, ['operation_name']) is not None: + setv( + to_object, + ['_url', 'operationName'], + getv(from_object, ['operation_name']), + ) + + return to_object + + +def _GetOperationParameters_to_vertex( + from_object: Union[dict[str, Any], object], + parent_object: Optional[dict[str, Any]] = None, + root_object: Optional[Union[dict[str, Any], object]] = None, +) -> dict[str, Any]: + to_object: dict[str, Any] = {} + if getv(from_object, ['operation_name']) is not None: + setv( + to_object, + ['_url', 'operationName'], + getv(from_object, ['operation_name']), + ) + + return to_object + + +def _GetProjectOperationParameters_to_vertex( + from_object: Union[dict[str, Any], object], + parent_object: Optional[dict[str, Any]] = None, + root_object: Optional[Union[dict[str, Any], object]] = None, +) -> dict[str, Any]: + to_object: dict[str, Any] = {} + if getv(from_object, ['operation_id']) is not None: + setv( + to_object, ['_url', 'operation_id'], getv(from_object, ['operation_id']) + ) + + return to_object + + +def _GetTuningJobParameters_to_mldev( + from_object: Union[dict[str, Any], object], + parent_object: Optional[dict[str, Any]] = None, + root_object: Optional[Union[dict[str, Any], object]] = None, +) -> dict[str, Any]: + to_object: dict[str, Any] = {} + if getv(from_object, ['name']) is not None: + setv(to_object, ['_url', 'name'], getv(from_object, ['name'])) + + return to_object + + +def _GetTuningJobParameters_to_vertex( + from_object: Union[dict[str, Any], object], + parent_object: Optional[dict[str, Any]] = None, + root_object: Optional[Union[dict[str, Any], object]] = None, +) -> dict[str, Any]: + to_object: dict[str, Any] = {} + if getv(from_object, ['name']) is not None: + setv(to_object, ['_url', 'name'], getv(from_object, ['name'])) + + return to_object + + +def _GoogleMaps_to_mldev( + from_object: Union[dict[str, Any], object], + parent_object: Optional[dict[str, Any]] = None, + root_object: Optional[Union[dict[str, Any], object]] = None, +) -> dict[str, Any]: + to_object: dict[str, Any] = {} + if getv(from_object, ['auth_config']) is not None: + setv( + to_object, + ['authConfig'], + _AuthConfig_to_mldev( + getv(from_object, ['auth_config']), to_object, root_object + ), + ) + + if getv(from_object, ['enable_widget']) is not None: + setv(to_object, ['enableWidget'], getv(from_object, ['enable_widget'])) + + if getv(from_object, ['grounding_types']) is not None: + raise ValueError( + 'grounding_types parameter is only supported in Gemini Enterprise Agent' + ' Platform mode, not in Gemini Developer API mode.' + ) + + return to_object + + +def _GoogleSearch_to_mldev( + from_object: Union[dict[str, Any], object], + parent_object: Optional[dict[str, Any]] = None, + root_object: Optional[Union[dict[str, Any], object]] = None, +) -> dict[str, Any]: + to_object: dict[str, Any] = {} + if getv(from_object, ['search_types']) is not None: + setv(to_object, ['searchTypes'], getv(from_object, ['search_types'])) + + if getv(from_object, ['blocking_confidence']) is not None: + raise ValueError( + 'blocking_confidence parameter is only supported in Gemini Enterprise' + ' Agent Platform mode, not in Gemini Developer API mode.' + ) + + if getv(from_object, ['exclude_domains']) is not None: + raise ValueError( + 'exclude_domains parameter is only supported in Gemini Enterprise Agent' + ' Platform mode, not in Gemini Developer API mode.' + ) + + if getv(from_object, ['time_range_filter']) is not None: + setv( + to_object, ['timeRangeFilter'], getv(from_object, ['time_range_filter']) + ) + + return to_object + + +def _ImageConfig_to_mldev( + from_object: Union[dict[str, Any], object], + parent_object: Optional[dict[str, Any]] = None, + root_object: Optional[Union[dict[str, Any], object]] = None, +) -> dict[str, Any]: + to_object: dict[str, Any] = {} + if getv(from_object, ['aspect_ratio']) is not None: + setv(to_object, ['aspectRatio'], getv(from_object, ['aspect_ratio'])) + + if getv(from_object, ['image_size']) is not None: + setv(to_object, ['imageSize'], getv(from_object, ['image_size'])) + + if getv(from_object, ['person_generation']) is not None: + raise ValueError( + 'person_generation parameter is only supported in Gemini Enterprise' + ' Agent Platform mode, not in Gemini Developer API mode.' + ) + + if getv(from_object, ['prominent_people']) is not None: + raise ValueError( + 'prominent_people parameter is only supported in Gemini Enterprise' + ' Agent Platform mode, not in Gemini Developer API mode.' + ) + + if getv(from_object, ['output_mime_type']) is not None: + raise ValueError( + 'output_mime_type parameter is only supported in Gemini Enterprise' + ' Agent Platform mode, not in Gemini Developer API mode.' + ) + + if getv(from_object, ['output_compression_quality']) is not None: + raise ValueError( + 'output_compression_quality parameter is only supported in Gemini' + ' Enterprise Agent Platform mode, not in Gemini Developer API mode.' + ) + + if getv(from_object, ['image_output_options']) is not None: + raise ValueError( + 'image_output_options parameter is only supported in Gemini Enterprise' + ' Agent Platform mode, not in Gemini Developer API mode.' + ) + + return to_object + + +def _ImageConfig_to_vertex( + from_object: Union[dict[str, Any], object], + parent_object: Optional[dict[str, Any]] = None, + root_object: Optional[Union[dict[str, Any], object]] = None, +) -> dict[str, Any]: + to_object: dict[str, Any] = {} + if getv(from_object, ['aspect_ratio']) is not None: + setv(to_object, ['aspectRatio'], getv(from_object, ['aspect_ratio'])) + + if getv(from_object, ['image_size']) is not None: + setv(to_object, ['imageSize'], getv(from_object, ['image_size'])) + + if getv(from_object, ['person_generation']) is not None: + setv( + to_object, + ['personGeneration'], + getv(from_object, ['person_generation']), + ) + + if getv(from_object, ['prominent_people']) is not None: + setv( + to_object, ['prominentPeople'], getv(from_object, ['prominent_people']) + ) + + if getv(from_object, ['output_mime_type']) is not None: + setv( + to_object, + ['imageOutputOptions', 'mimeType'], + getv(from_object, ['output_mime_type']), + ) + + if getv(from_object, ['output_compression_quality']) is not None: + setv( + to_object, + ['imageOutputOptions', 'compressionQuality'], + getv(from_object, ['output_compression_quality']), + ) + + if getv(from_object, ['image_output_options']) is not None: + setv( + to_object, + ['imageOutputOptions'], + getv(from_object, ['image_output_options']), + ) + + return to_object + + +def _Image_from_vertex( + from_object: Union[dict[str, Any], object], + parent_object: Optional[dict[str, Any]] = None, + root_object: Optional[Union[dict[str, Any], object]] = None, +) -> dict[str, Any]: + to_object: dict[str, Any] = {} + if getv(from_object, ['gcsUri']) is not None: + setv(to_object, ['gcs_uri'], getv(from_object, ['gcsUri'])) + + if getv(from_object, ['bytesBase64Encoded']) is not None: + setv( + to_object, + ['image_bytes'], + base_t.t_bytes(getv(from_object, ['bytesBase64Encoded'])), + ) + + if getv(from_object, ['mimeType']) is not None: + setv(to_object, ['mime_type'], getv(from_object, ['mimeType'])) + + return to_object + + +def _Image_to_mldev( + from_object: Union[dict[str, Any], object], + parent_object: Optional[dict[str, Any]] = None, + root_object: Optional[Union[dict[str, Any], object]] = None, +) -> dict[str, Any]: + to_object: dict[str, Any] = {} + if getv(from_object, ['gcs_uri']) is not None: + raise ValueError( + 'gcs_uri parameter is only supported in Gemini Enterprise Agent' + ' Platform mode, not in Gemini Developer API mode.' + ) + + if getv(from_object, ['image_bytes']) is not None: + setv( + to_object, + ['bytesBase64Encoded'], + base_t.t_bytes(getv(from_object, ['image_bytes'])), + ) + + if getv(from_object, ['mime_type']) is not None: + setv(to_object, ['mimeType'], getv(from_object, ['mime_type'])) + + return to_object + + +def _Image_to_vertex( + from_object: Union[dict[str, Any], object], + parent_object: Optional[dict[str, Any]] = None, + root_object: Optional[Union[dict[str, Any], object]] = None, +) -> dict[str, Any]: + to_object: dict[str, Any] = {} + if getv(from_object, ['gcs_uri']) is not None: + setv(to_object, ['gcsUri'], getv(from_object, ['gcs_uri'])) + + if getv(from_object, ['image_bytes']) is not None: + setv( + to_object, + ['bytesBase64Encoded'], + base_t.t_bytes(getv(from_object, ['image_bytes'])), + ) + + if getv(from_object, ['mime_type']) is not None: + setv(to_object, ['mimeType'], getv(from_object, ['mime_type'])) + + return to_object + + +def _ImportFileConfig_to_mldev( + from_object: Union[dict[str, Any], object], + parent_object: Optional[dict[str, Any]] = None, + root_object: Optional[Union[dict[str, Any], object]] = None, +) -> dict[str, Any]: + to_object: dict[str, Any] = {} + + if getv(from_object, ['custom_metadata']) is not None: + setv( + parent_object, + ['customMetadata'], + [item for item in getv(from_object, ['custom_metadata'])], + ) + + if getv(from_object, ['chunking_config']) is not None: + setv( + parent_object, + ['chunkingConfig'], + getv(from_object, ['chunking_config']), + ) + + return to_object + + +def _ImportFileOperation_from_mldev( + from_object: Union[dict[str, Any], object], + parent_object: Optional[dict[str, Any]] = None, + root_object: Optional[Union[dict[str, Any], object]] = None, +) -> dict[str, Any]: + to_object: dict[str, Any] = {} + if getv(from_object, ['name']) is not None: + setv(to_object, ['name'], getv(from_object, ['name'])) + + if getv(from_object, ['metadata']) is not None: + setv(to_object, ['metadata'], getv(from_object, ['metadata'])) + + if getv(from_object, ['done']) is not None: + setv(to_object, ['done'], getv(from_object, ['done'])) + + if getv(from_object, ['error']) is not None: + setv(to_object, ['error'], getv(from_object, ['error'])) + + if getv(from_object, ['response']) is not None: + setv( + to_object, + ['response'], + _ImportFileResponse_from_mldev( + getv(from_object, ['response']), to_object, root_object + ), + ) + + return to_object + + +def _ImportFileParameters_to_mldev( + from_object: Union[dict[str, Any], object], + parent_object: Optional[dict[str, Any]] = None, + root_object: Optional[Union[dict[str, Any], object]] = None, +) -> dict[str, Any]: + to_object: dict[str, Any] = {} + if getv(from_object, ['file_search_store_name']) is not None: + setv( + to_object, + ['_url', 'file_search_store_name'], + getv(from_object, ['file_search_store_name']), + ) + + if getv(from_object, ['file_name']) is not None: + setv(to_object, ['fileName'], getv(from_object, ['file_name'])) + + if getv(from_object, ['config']) is not None: + _ImportFileConfig_to_mldev( + getv(from_object, ['config']), to_object, root_object + ) + + return to_object + + +def _ImportFileResponse_from_mldev( + from_object: Union[dict[str, Any], object], + parent_object: Optional[dict[str, Any]] = None, + root_object: Optional[Union[dict[str, Any], object]] = None, +) -> dict[str, Any]: + to_object: dict[str, Any] = {} + if getv(from_object, ['sdkHttpResponse']) is not None: + setv( + to_object, ['sdk_http_response'], getv(from_object, ['sdkHttpResponse']) + ) + + if getv(from_object, ['parent']) is not None: + setv(to_object, ['parent'], getv(from_object, ['parent'])) + + if getv(from_object, ['documentName']) is not None: + setv(to_object, ['document_name'], getv(from_object, ['documentName'])) + + return to_object + + +def _InlinedRequest_to_mldev( + api_client: BaseApiClient, + from_object: Union[dict[str, Any], object], + parent_object: Optional[dict[str, Any]] = None, + root_object: Optional[Union[dict[str, Any], object]] = None, +) -> dict[str, Any]: + to_object: dict[str, Any] = {} + if getv(from_object, ['model']) is not None: + setv( + to_object, + ['request', 'model'], + t.t_model(api_client, getv(from_object, ['model'])), + ) + + if getv(from_object, ['contents']) is not None: + setv( + to_object, + ['request', 'contents'], + [ + _Content_to_mldev(item, to_object, root_object) + for item in t.t_contents(getv(from_object, ['contents'])) + ], + ) + + if getv(from_object, ['metadata']) is not None: + setv(to_object, ['metadata'], getv(from_object, ['metadata'])) + + if getv(from_object, ['config']) is not None: + setv( + to_object, + ['request', 'generationConfig'], + _GenerateContentConfig_to_mldev( + api_client, + getv(from_object, ['config']), + getv(to_object, ['request'], default_value={}), + root_object, + ), + ) + + return to_object + + +def _InlinedResponse_from_mldev( + from_object: Union[dict[str, Any], object], + parent_object: Optional[dict[str, Any]] = None, + root_object: Optional[Union[dict[str, Any], object]] = None, +) -> dict[str, Any]: + to_object: dict[str, Any] = {} + if getv(from_object, ['response']) is not None: + setv( + to_object, + ['response'], + _GenerateContentResponse_from_mldev( + getv(from_object, ['response']), to_object, root_object + ), + ) + + if getv(from_object, ['metadata']) is not None: + setv(to_object, ['metadata'], getv(from_object, ['metadata'])) + + if getv(from_object, ['error']) is not None: + setv(to_object, ['error'], getv(from_object, ['error'])) + + return to_object + + +def _InternalRegisterFilesParameters_to_mldev( + from_object: Union[dict[str, Any], object], + parent_object: Optional[dict[str, Any]] = None, + root_object: Optional[Union[dict[str, Any], object]] = None, +) -> dict[str, Any]: + to_object: dict[str, Any] = {} + if getv(from_object, ['uris']) is not None: + setv(to_object, ['uris'], getv(from_object, ['uris'])) + + return to_object + + +def _ListBatchJobsConfig_to_mldev( + from_object: Union[dict[str, Any], object], + parent_object: Optional[dict[str, Any]] = None, + root_object: Optional[Union[dict[str, Any], object]] = None, +) -> dict[str, Any]: + to_object: dict[str, Any] = {} + + if getv(from_object, ['page_size']) is not None: + setv( + parent_object, ['_query', 'pageSize'], getv(from_object, ['page_size']) + ) + + if getv(from_object, ['page_token']) is not None: + setv( + parent_object, + ['_query', 'pageToken'], + getv(from_object, ['page_token']), + ) + + if getv(from_object, ['filter']) is not None: + raise ValueError( + 'filter parameter is only supported in Gemini Enterprise Agent Platform' + ' mode, not in Gemini Developer API mode.' + ) + + return to_object + + +def _ListBatchJobsConfig_to_vertex( + from_object: Union[dict[str, Any], object], + parent_object: Optional[dict[str, Any]] = None, + root_object: Optional[Union[dict[str, Any], object]] = None, +) -> dict[str, Any]: + to_object: dict[str, Any] = {} + + if getv(from_object, ['page_size']) is not None: + setv( + parent_object, ['_query', 'pageSize'], getv(from_object, ['page_size']) + ) + + if getv(from_object, ['page_token']) is not None: + setv( + parent_object, + ['_query', 'pageToken'], + getv(from_object, ['page_token']), + ) + + if getv(from_object, ['filter']) is not None: + setv(parent_object, ['_query', 'filter'], getv(from_object, ['filter'])) + + return to_object + + +def _ListBatchJobsParameters_to_mldev( + from_object: Union[dict[str, Any], object], + parent_object: Optional[dict[str, Any]] = None, + root_object: Optional[Union[dict[str, Any], object]] = None, +) -> dict[str, Any]: + to_object: dict[str, Any] = {} + if getv(from_object, ['config']) is not None: + _ListBatchJobsConfig_to_mldev( + getv(from_object, ['config']), to_object, root_object + ) + + return to_object + + +def _ListBatchJobsParameters_to_vertex( + from_object: Union[dict[str, Any], object], + parent_object: Optional[dict[str, Any]] = None, + root_object: Optional[Union[dict[str, Any], object]] = None, +) -> dict[str, Any]: + to_object: dict[str, Any] = {} + if getv(from_object, ['config']) is not None: + _ListBatchJobsConfig_to_vertex( + getv(from_object, ['config']), to_object, root_object + ) + + return to_object + + +def _ListBatchJobsResponse_from_mldev( + from_object: Union[dict[str, Any], object], + parent_object: Optional[dict[str, Any]] = None, + root_object: Optional[Union[dict[str, Any], object]] = None, +) -> dict[str, Any]: + to_object: dict[str, Any] = {} + if getv(from_object, ['sdkHttpResponse']) is not None: + setv( + to_object, ['sdk_http_response'], getv(from_object, ['sdkHttpResponse']) + ) + + if getv(from_object, ['nextPageToken']) is not None: + setv(to_object, ['next_page_token'], getv(from_object, ['nextPageToken'])) + + if getv(from_object, ['operations']) is not None: + setv( + to_object, + ['batch_jobs'], + [ + _BatchJob_from_mldev(item, to_object, root_object) + for item in getv(from_object, ['operations']) + ], + ) + + return to_object + + +def _ListBatchJobsResponse_from_vertex( + from_object: Union[dict[str, Any], object], + parent_object: Optional[dict[str, Any]] = None, + root_object: Optional[Union[dict[str, Any], object]] = None, +) -> dict[str, Any]: + to_object: dict[str, Any] = {} + if getv(from_object, ['sdkHttpResponse']) is not None: + setv( + to_object, ['sdk_http_response'], getv(from_object, ['sdkHttpResponse']) + ) + + if getv(from_object, ['nextPageToken']) is not None: + setv(to_object, ['next_page_token'], getv(from_object, ['nextPageToken'])) + + if getv(from_object, ['batchPredictionJobs']) is not None: + setv( + to_object, + ['batch_jobs'], + [ + _BatchJob_from_vertex(item, to_object, root_object) + for item in getv(from_object, ['batchPredictionJobs']) + ], + ) + + return to_object + + +def _ListCachedContentsConfig_to_mldev( + from_object: Union[dict[str, Any], object], + parent_object: Optional[dict[str, Any]] = None, + root_object: Optional[Union[dict[str, Any], object]] = None, +) -> dict[str, Any]: + to_object: dict[str, Any] = {} + + if getv(from_object, ['page_size']) is not None: + setv( + parent_object, ['_query', 'pageSize'], getv(from_object, ['page_size']) + ) + + if getv(from_object, ['page_token']) is not None: + setv( + parent_object, + ['_query', 'pageToken'], + getv(from_object, ['page_token']), + ) + + return to_object + + +def _ListCachedContentsConfig_to_vertex( + from_object: Union[dict[str, Any], object], + parent_object: Optional[dict[str, Any]] = None, + root_object: Optional[Union[dict[str, Any], object]] = None, +) -> dict[str, Any]: + to_object: dict[str, Any] = {} + + if getv(from_object, ['page_size']) is not None: + setv( + parent_object, ['_query', 'pageSize'], getv(from_object, ['page_size']) + ) + + if getv(from_object, ['page_token']) is not None: + setv( + parent_object, + ['_query', 'pageToken'], + getv(from_object, ['page_token']), + ) + + return to_object + + +def _ListCachedContentsParameters_to_mldev( + from_object: Union[dict[str, Any], object], + parent_object: Optional[dict[str, Any]] = None, + root_object: Optional[Union[dict[str, Any], object]] = None, +) -> dict[str, Any]: + to_object: dict[str, Any] = {} + if getv(from_object, ['config']) is not None: + _ListCachedContentsConfig_to_mldev( + getv(from_object, ['config']), to_object, root_object + ) + + return to_object + + +def _ListCachedContentsParameters_to_vertex( + from_object: Union[dict[str, Any], object], + parent_object: Optional[dict[str, Any]] = None, + root_object: Optional[Union[dict[str, Any], object]] = None, +) -> dict[str, Any]: + to_object: dict[str, Any] = {} + if getv(from_object, ['config']) is not None: + _ListCachedContentsConfig_to_vertex( + getv(from_object, ['config']), to_object, root_object + ) + + return to_object + + +def _ListCachedContentsResponse_from_mldev( + from_object: Union[dict[str, Any], object], + parent_object: Optional[dict[str, Any]] = None, + root_object: Optional[Union[dict[str, Any], object]] = None, +) -> dict[str, Any]: + to_object: dict[str, Any] = {} + if getv(from_object, ['sdkHttpResponse']) is not None: + setv( + to_object, ['sdk_http_response'], getv(from_object, ['sdkHttpResponse']) + ) + + if getv(from_object, ['nextPageToken']) is not None: + setv(to_object, ['next_page_token'], getv(from_object, ['nextPageToken'])) + + if getv(from_object, ['cachedContents']) is not None: + setv( + to_object, + ['cached_contents'], + [item for item in getv(from_object, ['cachedContents'])], + ) + + return to_object + + +def _ListCachedContentsResponse_from_vertex( + from_object: Union[dict[str, Any], object], + parent_object: Optional[dict[str, Any]] = None, + root_object: Optional[Union[dict[str, Any], object]] = None, +) -> dict[str, Any]: + to_object: dict[str, Any] = {} + if getv(from_object, ['sdkHttpResponse']) is not None: + setv( + to_object, ['sdk_http_response'], getv(from_object, ['sdkHttpResponse']) + ) + + if getv(from_object, ['nextPageToken']) is not None: + setv(to_object, ['next_page_token'], getv(from_object, ['nextPageToken'])) + + if getv(from_object, ['cachedContents']) is not None: + setv( + to_object, + ['cached_contents'], + [item for item in getv(from_object, ['cachedContents'])], + ) + + return to_object + + +def _ListDocumentsConfig_to_mldev( + from_object: Union[dict[str, Any], object], + parent_object: Optional[dict[str, Any]] = None, + root_object: Optional[Union[dict[str, Any], object]] = None, +) -> dict[str, Any]: + to_object: dict[str, Any] = {} + + if getv(from_object, ['page_size']) is not None: + setv( + parent_object, ['_query', 'pageSize'], getv(from_object, ['page_size']) + ) + + if getv(from_object, ['page_token']) is not None: + setv( + parent_object, + ['_query', 'pageToken'], + getv(from_object, ['page_token']), + ) + + return to_object + + +def _ListDocumentsParameters_to_mldev( + from_object: Union[dict[str, Any], object], + parent_object: Optional[dict[str, Any]] = None, + root_object: Optional[Union[dict[str, Any], object]] = None, +) -> dict[str, Any]: + to_object: dict[str, Any] = {} + if getv(from_object, ['parent']) is not None: + setv(to_object, ['_url', 'parent'], getv(from_object, ['parent'])) + + if getv(from_object, ['config']) is not None: + _ListDocumentsConfig_to_mldev( + getv(from_object, ['config']), to_object, root_object + ) + + return to_object + + +def _ListDocumentsResponse_from_mldev( + from_object: Union[dict[str, Any], object], + parent_object: Optional[dict[str, Any]] = None, + root_object: Optional[Union[dict[str, Any], object]] = None, +) -> dict[str, Any]: + to_object: dict[str, Any] = {} + if getv(from_object, ['sdkHttpResponse']) is not None: + setv( + to_object, ['sdk_http_response'], getv(from_object, ['sdkHttpResponse']) + ) + + if getv(from_object, ['nextPageToken']) is not None: + setv(to_object, ['next_page_token'], getv(from_object, ['nextPageToken'])) + + if getv(from_object, ['documents']) is not None: + setv( + to_object, + ['documents'], + [item for item in getv(from_object, ['documents'])], + ) + + return to_object + + +def _ListFileSearchStoresConfig_to_mldev( + from_object: Union[dict[str, Any], object], + parent_object: Optional[dict[str, Any]] = None, + root_object: Optional[Union[dict[str, Any], object]] = None, +) -> dict[str, Any]: + to_object: dict[str, Any] = {} + + if getv(from_object, ['page_size']) is not None: + setv( + parent_object, ['_query', 'pageSize'], getv(from_object, ['page_size']) + ) + + if getv(from_object, ['page_token']) is not None: + setv( + parent_object, + ['_query', 'pageToken'], + getv(from_object, ['page_token']), + ) + + return to_object + + +def _ListFileSearchStoresParameters_to_mldev( + from_object: Union[dict[str, Any], object], + parent_object: Optional[dict[str, Any]] = None, + root_object: Optional[Union[dict[str, Any], object]] = None, +) -> dict[str, Any]: + to_object: dict[str, Any] = {} + if getv(from_object, ['config']) is not None: + _ListFileSearchStoresConfig_to_mldev( + getv(from_object, ['config']), to_object, root_object + ) + + return to_object + + +def _ListFileSearchStoresResponse_from_mldev( + from_object: Union[dict[str, Any], object], + parent_object: Optional[dict[str, Any]] = None, + root_object: Optional[Union[dict[str, Any], object]] = None, +) -> dict[str, Any]: + to_object: dict[str, Any] = {} + if getv(from_object, ['sdkHttpResponse']) is not None: + setv( + to_object, ['sdk_http_response'], getv(from_object, ['sdkHttpResponse']) + ) + + if getv(from_object, ['nextPageToken']) is not None: + setv(to_object, ['next_page_token'], getv(from_object, ['nextPageToken'])) + + if getv(from_object, ['fileSearchStores']) is not None: + setv( + to_object, + ['file_search_stores'], + [item for item in getv(from_object, ['fileSearchStores'])], + ) + + return to_object + + +def _ListFilesConfig_to_mldev( + from_object: Union[dict[str, Any], object], + parent_object: Optional[dict[str, Any]] = None, + root_object: Optional[Union[dict[str, Any], object]] = None, +) -> dict[str, Any]: + to_object: dict[str, Any] = {} + + if getv(from_object, ['page_size']) is not None: + setv( + parent_object, ['_query', 'pageSize'], getv(from_object, ['page_size']) + ) + + if getv(from_object, ['page_token']) is not None: + setv( + parent_object, + ['_query', 'pageToken'], + getv(from_object, ['page_token']), + ) + + return to_object + + +def _ListFilesParameters_to_mldev( + from_object: Union[dict[str, Any], object], + parent_object: Optional[dict[str, Any]] = None, + root_object: Optional[Union[dict[str, Any], object]] = None, +) -> dict[str, Any]: + to_object: dict[str, Any] = {} + if getv(from_object, ['config']) is not None: + _ListFilesConfig_to_mldev( + getv(from_object, ['config']), to_object, root_object + ) + + return to_object + + +def _ListFilesResponse_from_mldev( + from_object: Union[dict[str, Any], object], + parent_object: Optional[dict[str, Any]] = None, + root_object: Optional[Union[dict[str, Any], object]] = None, +) -> dict[str, Any]: + to_object: dict[str, Any] = {} + if getv(from_object, ['sdkHttpResponse']) is not None: + setv( + to_object, ['sdk_http_response'], getv(from_object, ['sdkHttpResponse']) + ) + + if getv(from_object, ['nextPageToken']) is not None: + setv(to_object, ['next_page_token'], getv(from_object, ['nextPageToken'])) + + if getv(from_object, ['files']) is not None: + setv(to_object, ['files'], [item for item in getv(from_object, ['files'])]) + + return to_object + + +def _ListModelsConfig_to_mldev( + api_client: BaseApiClient, + from_object: Union[dict[str, Any], object], + parent_object: Optional[dict[str, Any]] = None, + root_object: Optional[Union[dict[str, Any], object]] = None, +) -> dict[str, Any]: + to_object: dict[str, Any] = {} + + if getv(from_object, ['page_size']) is not None: + setv( + parent_object, ['_query', 'pageSize'], getv(from_object, ['page_size']) + ) + + if getv(from_object, ['page_token']) is not None: + setv( + parent_object, + ['_query', 'pageToken'], + getv(from_object, ['page_token']), + ) + + if getv(from_object, ['filter']) is not None: + setv(parent_object, ['_query', 'filter'], getv(from_object, ['filter'])) + + if getv(from_object, ['query_base']) is not None: + setv( + parent_object, + ['_url', 'models_url'], + t.t_models_url(api_client, getv(from_object, ['query_base'])), + ) + + return to_object + + +def _ListModelsConfig_to_vertex( + api_client: BaseApiClient, + from_object: Union[dict[str, Any], object], + parent_object: Optional[dict[str, Any]] = None, + root_object: Optional[Union[dict[str, Any], object]] = None, +) -> dict[str, Any]: + to_object: dict[str, Any] = {} + + if getv(from_object, ['page_size']) is not None: + setv( + parent_object, ['_query', 'pageSize'], getv(from_object, ['page_size']) + ) + + if getv(from_object, ['page_token']) is not None: + setv( + parent_object, + ['_query', 'pageToken'], + getv(from_object, ['page_token']), + ) + + if getv(from_object, ['filter']) is not None: + setv(parent_object, ['_query', 'filter'], getv(from_object, ['filter'])) + + if getv(from_object, ['query_base']) is not None: + setv( + parent_object, + ['_url', 'models_url'], + t.t_models_url(api_client, getv(from_object, ['query_base'])), + ) + + return to_object + + +def _ListModelsParameters_to_mldev( + api_client: BaseApiClient, + from_object: Union[dict[str, Any], object], + parent_object: Optional[dict[str, Any]] = None, + root_object: Optional[Union[dict[str, Any], object]] = None, +) -> dict[str, Any]: + to_object: dict[str, Any] = {} + if getv(from_object, ['config']) is not None: + _ListModelsConfig_to_mldev( + api_client, getv(from_object, ['config']), to_object, root_object + ) + + return to_object + + +def _ListModelsParameters_to_vertex( + api_client: BaseApiClient, + from_object: Union[dict[str, Any], object], + parent_object: Optional[dict[str, Any]] = None, + root_object: Optional[Union[dict[str, Any], object]] = None, +) -> dict[str, Any]: + to_object: dict[str, Any] = {} + if getv(from_object, ['config']) is not None: + _ListModelsConfig_to_vertex( + api_client, getv(from_object, ['config']), to_object, root_object + ) + + return to_object + + +def _ListModelsResponse_from_mldev( + from_object: Union[dict[str, Any], object], + parent_object: Optional[dict[str, Any]] = None, + root_object: Optional[Union[dict[str, Any], object]] = None, +) -> dict[str, Any]: + to_object: dict[str, Any] = {} + if getv(from_object, ['sdkHttpResponse']) is not None: + setv( + to_object, ['sdk_http_response'], getv(from_object, ['sdkHttpResponse']) + ) + + if getv(from_object, ['nextPageToken']) is not None: + setv(to_object, ['next_page_token'], getv(from_object, ['nextPageToken'])) + + if getv(from_object, ['_self']) is not None: + setv( + to_object, + ['models'], + [ + _Model_from_mldev(item, to_object, root_object) + for item in t.t_extract_models(getv(from_object, ['_self'])) + ], + ) + + return to_object + + +def _ListModelsResponse_from_vertex( + from_object: Union[dict[str, Any], object], + parent_object: Optional[dict[str, Any]] = None, + root_object: Optional[Union[dict[str, Any], object]] = None, +) -> dict[str, Any]: + to_object: dict[str, Any] = {} + if getv(from_object, ['sdkHttpResponse']) is not None: + setv( + to_object, ['sdk_http_response'], getv(from_object, ['sdkHttpResponse']) + ) + + if getv(from_object, ['nextPageToken']) is not None: + setv(to_object, ['next_page_token'], getv(from_object, ['nextPageToken'])) + + if getv(from_object, ['_self']) is not None: + setv( + to_object, + ['models'], + [ + _Model_from_vertex(item, to_object, root_object) + for item in t.t_extract_models(getv(from_object, ['_self'])) + ], + ) + + return to_object + + +def _ListTuningJobsConfig_to_vertex( + from_object: Union[dict[str, Any], object], + parent_object: Optional[dict[str, Any]] = None, + root_object: Optional[Union[dict[str, Any], object]] = None, +) -> dict[str, Any]: + to_object: dict[str, Any] = {} + + if getv(from_object, ['page_size']) is not None: + setv( + parent_object, ['_query', 'pageSize'], getv(from_object, ['page_size']) + ) + + if getv(from_object, ['page_token']) is not None: + setv( + parent_object, + ['_query', 'pageToken'], + getv(from_object, ['page_token']), + ) + + if getv(from_object, ['filter']) is not None: + setv(parent_object, ['_query', 'filter'], getv(from_object, ['filter'])) + + return to_object + + +def _ListTuningJobsParameters_to_vertex( + from_object: Union[dict[str, Any], object], + parent_object: Optional[dict[str, Any]] = None, + root_object: Optional[Union[dict[str, Any], object]] = None, +) -> dict[str, Any]: + to_object: dict[str, Any] = {} + if getv(from_object, ['config']) is not None: + _ListTuningJobsConfig_to_vertex( + getv(from_object, ['config']), to_object, root_object + ) + + return to_object + + +def _ListTuningJobsResponse_from_vertex( + from_object: Union[dict[str, Any], object], + parent_object: Optional[dict[str, Any]] = None, + root_object: Optional[Union[dict[str, Any], object]] = None, +) -> dict[str, Any]: + to_object: dict[str, Any] = {} + if getv(from_object, ['sdkHttpResponse']) is not None: + setv( + to_object, ['sdk_http_response'], getv(from_object, ['sdkHttpResponse']) + ) + + if getv(from_object, ['nextPageToken']) is not None: + setv(to_object, ['next_page_token'], getv(from_object, ['nextPageToken'])) + + if getv(from_object, ['tuningJobs']) is not None: + setv( + to_object, + ['tuning_jobs'], + [ + _TuningJob_from_vertex(item, to_object, root_object) + for item in getv(from_object, ['tuningJobs']) + ], + ) + + return to_object + + +def _LiveClientContent_to_mldev( + from_object: Union[dict[str, Any], object], + parent_object: Optional[dict[str, Any]] = None, + root_object: Optional[Union[dict[str, Any], object]] = None, +) -> dict[str, Any]: + to_object: dict[str, Any] = {} + if getv(from_object, ['turns']) is not None: + setv( + to_object, + ['turns'], + [ + _Content_to_mldev(item, to_object, root_object) + for item in getv(from_object, ['turns']) + ], + ) + + if getv(from_object, ['turn_complete']) is not None: + setv(to_object, ['turnComplete'], getv(from_object, ['turn_complete'])) + + return to_object + + +def _LiveClientContent_to_vertex( + from_object: Union[dict[str, Any], object], + parent_object: Optional[dict[str, Any]] = None, + root_object: Optional[Union[dict[str, Any], object]] = None, +) -> dict[str, Any]: + to_object: dict[str, Any] = {} + if getv(from_object, ['turns']) is not None: + setv( + to_object, + ['turns'], + [ + _Content_to_vertex(item, to_object, root_object) + for item in getv(from_object, ['turns']) + ], + ) + + if getv(from_object, ['turn_complete']) is not None: + setv(to_object, ['turnComplete'], getv(from_object, ['turn_complete'])) + + return to_object + + +def _LiveClientMessage_to_mldev( + api_client: BaseApiClient, + from_object: Union[dict[str, Any], object], + parent_object: Optional[dict[str, Any]] = None, + root_object: Optional[Union[dict[str, Any], object]] = None, +) -> dict[str, Any]: + to_object: dict[str, Any] = {} + if getv(from_object, ['setup']) is not None: + setv( + to_object, + ['setup'], + _LiveClientSetup_to_mldev( + api_client, getv(from_object, ['setup']), to_object, root_object + ), + ) + + if getv(from_object, ['client_content']) is not None: + setv( + to_object, + ['clientContent'], + _LiveClientContent_to_mldev( + getv(from_object, ['client_content']), to_object, root_object + ), + ) + + if getv(from_object, ['realtime_input']) is not None: + setv(to_object, ['realtimeInput'], getv(from_object, ['realtime_input'])) + + if getv(from_object, ['tool_response']) is not None: + setv(to_object, ['toolResponse'], getv(from_object, ['tool_response'])) + + return to_object + + +def _LiveClientMessage_to_vertex( + api_client: BaseApiClient, + from_object: Union[dict[str, Any], object], + parent_object: Optional[dict[str, Any]] = None, + root_object: Optional[Union[dict[str, Any], object]] = None, +) -> dict[str, Any]: + to_object: dict[str, Any] = {} + if getv(from_object, ['setup']) is not None: + setv( + to_object, + ['setup'], + _LiveClientSetup_to_vertex( + api_client, getv(from_object, ['setup']), to_object, root_object + ), + ) + + if getv(from_object, ['client_content']) is not None: + setv( + to_object, + ['clientContent'], + _LiveClientContent_to_vertex( + getv(from_object, ['client_content']), to_object, root_object + ), + ) + + if getv(from_object, ['realtime_input']) is not None: + setv( + to_object, + ['realtimeInput'], + _LiveClientRealtimeInput_to_vertex( + getv(from_object, ['realtime_input']), to_object, root_object + ), + ) + + if getv(from_object, ['tool_response']) is not None: + setv(to_object, ['toolResponse'], getv(from_object, ['tool_response'])) + + return to_object + + +def _LiveClientRealtimeInput_to_vertex( + from_object: Union[dict[str, Any], object], + parent_object: Optional[dict[str, Any]] = None, + root_object: Optional[Union[dict[str, Any], object]] = None, +) -> dict[str, Any]: + to_object: dict[str, Any] = {} + if getv(from_object, ['media_chunks']) is not None: + setv( + to_object, + ['mediaChunks'], + [item for item in getv(from_object, ['media_chunks'])], + ) + + if getv(from_object, ['audio']) is not None: + setv(to_object, ['audio'], getv(from_object, ['audio'])) + + if getv(from_object, ['audio_stream_end']) is not None: + raise ValueError( + 'audio_stream_end parameter is only supported in Gemini Developer API' + ' mode, not in Gemini Enterprise Agent Platform mode.' + ) + + if getv(from_object, ['video']) is not None: + setv(to_object, ['video'], getv(from_object, ['video'])) + + if getv(from_object, ['text']) is not None: + setv(to_object, ['text'], getv(from_object, ['text'])) + + if getv(from_object, ['activity_start']) is not None: + setv(to_object, ['activityStart'], getv(from_object, ['activity_start'])) + + if getv(from_object, ['activity_end']) is not None: + setv(to_object, ['activityEnd'], getv(from_object, ['activity_end'])) + + return to_object + + +def _LiveClientSetup_to_mldev( + api_client: BaseApiClient, + from_object: Union[dict[str, Any], object], + parent_object: Optional[dict[str, Any]] = None, + root_object: Optional[Union[dict[str, Any], object]] = None, +) -> dict[str, Any]: + to_object: dict[str, Any] = {} + if getv(from_object, ['model']) is not None: + setv(to_object, ['model'], getv(from_object, ['model'])) + + if getv(from_object, ['generation_config']) is not None: + setv( + to_object, + ['generationConfig'], + getv(from_object, ['generation_config']), + ) + + if getv(from_object, ['system_instruction']) is not None: + setv( + to_object, + ['systemInstruction'], + _Content_to_mldev( + t.t_content(getv(from_object, ['system_instruction'])), + to_object, + root_object, + ), + ) + + if getv(from_object, ['tools']) is not None: + setv( + to_object, + ['tools'], + [ + _Tool_to_mldev(t.t_tool(api_client, item), to_object, root_object) + for item in t.t_tools(api_client, getv(from_object, ['tools'])) + ], + ) + + if getv(from_object, ['session_resumption']) is not None: + setv( + to_object, + ['sessionResumption'], + _SessionResumptionConfig_to_mldev( + getv(from_object, ['session_resumption']), to_object, root_object + ), + ) + + if getv(from_object, ['context_window_compression']) is not None: + setv( + to_object, + ['contextWindowCompression'], + getv(from_object, ['context_window_compression']), + ) + + if getv(from_object, ['input_audio_transcription']) is not None: + setv( + to_object, + ['inputAudioTranscription'], + getv(from_object, ['input_audio_transcription']), + ) + + if getv(from_object, ['output_audio_transcription']) is not None: + setv( + to_object, + ['outputAudioTranscription'], + getv(from_object, ['output_audio_transcription']), + ) + + if getv(from_object, ['proactivity']) is not None: + setv(to_object, ['proactivity'], getv(from_object, ['proactivity'])) + + if getv(from_object, ['explicit_vad_signal']) is not None: + raise ValueError( + 'explicit_vad_signal parameter is only supported in Gemini Enterprise' + ' Agent Platform mode, not in Gemini Developer API mode.' + ) + + if getv(from_object, ['history_config']) is not None: + setv(to_object, ['historyConfig'], getv(from_object, ['history_config'])) + + if getv(from_object, ['avatar_config']) is not None: + setv(to_object, ['avatarConfig'], getv(from_object, ['avatar_config'])) + + if getv(from_object, ['safety_settings']) is not None: + setv( + to_object, + ['safetySettings'], + [ + _SafetySetting_to_mldev(item, to_object, root_object) + for item in getv(from_object, ['safety_settings']) + ], + ) + + if getv(from_object, ['labels']) is not None: + setv(to_object, ['labels'], getv(from_object, ['labels'])) + + return to_object + + +def _LiveClientSetup_to_vertex( + api_client: BaseApiClient, + from_object: Union[dict[str, Any], object], + parent_object: Optional[dict[str, Any]] = None, + root_object: Optional[Union[dict[str, Any], object]] = None, +) -> dict[str, Any]: + to_object: dict[str, Any] = {} + if getv(from_object, ['model']) is not None: + setv(to_object, ['model'], getv(from_object, ['model'])) + + if getv(from_object, ['generation_config']) is not None: + setv( + to_object, + ['generationConfig'], + _GenerationConfig_to_vertex( + getv(from_object, ['generation_config']), to_object, root_object + ), + ) + + if getv(from_object, ['system_instruction']) is not None: + setv( + to_object, + ['systemInstruction'], + _Content_to_vertex( + t.t_content(getv(from_object, ['system_instruction'])), + to_object, + root_object, + ), + ) + + if getv(from_object, ['tools']) is not None: + setv( + to_object, + ['tools'], + [ + _Tool_to_vertex(t.t_tool(api_client, item), to_object, root_object) + for item in t.t_tools(api_client, getv(from_object, ['tools'])) + ], + ) + + if getv(from_object, ['session_resumption']) is not None: + setv( + to_object, + ['sessionResumption'], + getv(from_object, ['session_resumption']), + ) + + if getv(from_object, ['context_window_compression']) is not None: + setv( + to_object, + ['contextWindowCompression'], + getv(from_object, ['context_window_compression']), + ) + + if getv(from_object, ['input_audio_transcription']) is not None: + setv( + to_object, + ['inputAudioTranscription'], + getv(from_object, ['input_audio_transcription']), + ) + + if getv(from_object, ['output_audio_transcription']) is not None: + setv( + to_object, + ['outputAudioTranscription'], + getv(from_object, ['output_audio_transcription']), + ) + + if getv(from_object, ['proactivity']) is not None: + setv(to_object, ['proactivity'], getv(from_object, ['proactivity'])) + + if getv(from_object, ['explicit_vad_signal']) is not None: + setv( + to_object, + ['explicitVadSignal'], + getv(from_object, ['explicit_vad_signal']), + ) + + if getv(from_object, ['history_config']) is not None: + setv(to_object, ['historyConfig'], getv(from_object, ['history_config'])) + + if getv(from_object, ['avatar_config']) is not None: + setv(to_object, ['avatarConfig'], getv(from_object, ['avatar_config'])) + + if getv(from_object, ['safety_settings']) is not None: + setv( + to_object, + ['safetySettings'], + [item for item in getv(from_object, ['safety_settings'])], + ) + + if getv(from_object, ['labels']) is not None: + raise ValueError( + 'labels parameter is only supported in Gemini Developer API mode, not' + ' in Gemini Enterprise Agent Platform mode.' + ) + + return to_object + + +def _LiveConnectConfig_to_mldev( + api_client: BaseApiClient, + from_object: Union[dict[str, Any], object], + parent_object: Optional[dict[str, Any]] = None, + root_object: Optional[Union[dict[str, Any], object]] = 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, + root_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, root_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, root_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 only supported in Gemini Enterprise' + ' Agent Platform mode, not in Gemini Developer API mode.' + ) + + if getv(from_object, ['history_config']) is not None: + setv( + parent_object, + ['setup', 'historyConfig'], + getv(from_object, ['history_config']), + ) + + if getv(from_object, ['avatar_config']) is not None: + setv( + parent_object, + ['setup', 'avatarConfig'], + getv(from_object, ['avatar_config']), + ) + + if getv(from_object, ['safety_settings']) is not None: + setv( + parent_object, + ['setup', 'safetySettings'], + [ + _SafetySetting_to_mldev(item, to_object, root_object) + for item in getv(from_object, ['safety_settings']) + ], + ) + + if getv(from_object, ['translation_config']) is not None: + setv( + parent_object, + ['setup', 'generationConfig', 'translationConfig'], + _TranslationConfig_to_mldev( + getv(from_object, ['translation_config']), to_object, root_object + ), + ) + + return to_object + + +def _LiveConnectConfig_to_vertex( + api_client: BaseApiClient, + from_object: Union[dict[str, Any], object], + parent_object: Optional[dict[str, Any]] = None, + root_object: Optional[Union[dict[str, Any], object]] = None, +) -> dict[str, Any]: + to_object: dict[str, Any] = {} + + if getv(from_object, ['generation_config']) is not None: + setv( + parent_object, + ['setup', 'generationConfig'], + _GenerationConfig_to_vertex( + getv(from_object, ['generation_config']), to_object, root_object + ), + ) + + 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'], + _SpeechConfig_to_vertex( + t.t_live_speech_config(getv(from_object, ['speech_config'])), + to_object, + root_object, + ), + ) + + 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_vertex( + t.t_content(getv(from_object, ['system_instruction'])), + to_object, + root_object, + ), + ) + + if getv(from_object, ['tools']) is not None: + setv( + parent_object, + ['setup', 'tools'], + [ + _Tool_to_vertex(t.t_tool(api_client, item), to_object, root_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'], + getv(from_object, ['session_resumption']), + ) + + 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: + setv( + parent_object, + ['setup', 'explicitVadSignal'], + getv(from_object, ['explicit_vad_signal']), + ) + + if getv(from_object, ['history_config']) is not None: + setv( + parent_object, + ['setup', 'historyConfig'], + getv(from_object, ['history_config']), + ) + + if getv(from_object, ['avatar_config']) is not None: + setv( + parent_object, + ['setup', 'avatarConfig'], + getv(from_object, ['avatar_config']), + ) + + if getv(from_object, ['safety_settings']) is not None: + setv( + parent_object, + ['setup', 'safetySettings'], + [item for item in getv(from_object, ['safety_settings'])], + ) + + if getv(from_object, ['translation_config']) is not None: + setv( + parent_object, + ['setup', 'generationConfig', 'translationConfig'], + _TranslationConfig_to_vertex( + getv(from_object, ['translation_config']), to_object, root_object + ), + ) + + return to_object + + +def _LiveConnectConstraints_to_mldev( + api_client: BaseApiClient, + from_object: Union[dict[str, Any], object], + parent_object: Optional[dict[str, Any]] = None, + root_object: Optional[Union[dict[str, Any], object]] = 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, root_object + ), + ) + + return to_object + + +def _LiveConnectParameters_to_mldev( + api_client: BaseApiClient, + from_object: Union[dict[str, Any], object], + parent_object: Optional[dict[str, Any]] = None, + root_object: Optional[Union[dict[str, Any], object]] = 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, root_object + ), + ) + + return to_object + + +def _LiveConnectParameters_to_vertex( + api_client: BaseApiClient, + from_object: Union[dict[str, Any], object], + parent_object: Optional[dict[str, Any]] = None, + root_object: Optional[Union[dict[str, Any], object]] = 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_vertex( + api_client, getv(from_object, ['config']), to_object, root_object + ), + ) + + return to_object + + +def _LiveMusicClientMessage_to_vertex( + from_object: Union[dict[str, Any], object], + parent_object: Optional[dict[str, Any]] = None, + root_object: Optional[Union[dict[str, Any], object]] = None, +) -> dict[str, Any]: + to_object: dict[str, Any] = {} + if getv(from_object, ['setup']) is not None: + raise ValueError( + 'setup parameter is only supported in Gemini Developer API mode, not in' + ' Gemini Enterprise Agent Platform mode.' + ) + + if getv(from_object, ['client_content']) is not None: + raise ValueError( + 'client_content parameter is only supported in Gemini Developer API' + ' mode, not in Gemini Enterprise Agent Platform mode.' + ) + + if getv(from_object, ['music_generation_config']) is not None: + raise ValueError( + 'music_generation_config parameter is only supported in Gemini' + ' Developer API mode, not in Gemini Enterprise Agent Platform mode.' + ) + + if getv(from_object, ['playback_control']) is not None: + raise ValueError( + 'playback_control parameter is only supported in Gemini Developer API' + ' mode, not in Gemini Enterprise Agent Platform mode.' + ) + + return to_object + + +def _LiveMusicConnectParameters_to_mldev( + from_object: Union[dict[str, Any], object], + parent_object: Optional[dict[str, Any]] = None, + root_object: Optional[Union[dict[str, Any], object]] = None, +) -> dict[str, Any]: + to_object: dict[str, Any] = {} + if getv(from_object, ['model']) is not None: + setv(to_object, ['setup', 'model'], getv(from_object, ['model'])) + + return to_object + + +def _LiveMusicConnectParameters_to_vertex( + from_object: Union[dict[str, Any], object], + parent_object: Optional[dict[str, Any]] = None, + root_object: Optional[Union[dict[str, Any], object]] = None, +) -> dict[str, Any]: + to_object: dict[str, Any] = {} + if getv(from_object, ['model']) is not None: + raise ValueError( + 'model parameter is only supported in Gemini Developer API mode, not in' + ' Gemini Enterprise Agent Platform mode.' + ) + + return to_object + + +def _LiveMusicSetConfigParameters_to_mldev( + from_object: Union[dict[str, Any], object], + parent_object: Optional[dict[str, Any]] = None, + root_object: Optional[Union[dict[str, Any], object]] = None, +) -> dict[str, Any]: + to_object: dict[str, Any] = {} + if getv(from_object, ['music_generation_config']) is not None: + setv( + to_object, + ['musicGenerationConfig'], + getv(from_object, ['music_generation_config']), + ) + + return to_object + + +def _LiveMusicSetConfigParameters_to_vertex( + from_object: Union[dict[str, Any], object], + parent_object: Optional[dict[str, Any]] = None, + root_object: Optional[Union[dict[str, Any], object]] = None, +) -> dict[str, Any]: + to_object: dict[str, Any] = {} + if getv(from_object, ['music_generation_config']) is not None: + raise ValueError( + 'music_generation_config parameter is only supported in Gemini' + ' Developer API mode, not in Gemini Enterprise Agent Platform mode.' + ) + + return to_object + + +def _LiveMusicSetWeightedPromptsParameters_to_mldev( + from_object: Union[dict[str, Any], object], + parent_object: Optional[dict[str, Any]] = None, + root_object: Optional[Union[dict[str, Any], object]] = None, +) -> dict[str, Any]: + to_object: dict[str, Any] = {} + if getv(from_object, ['weighted_prompts']) is not None: + setv( + to_object, + ['weightedPrompts'], + [item for item in getv(from_object, ['weighted_prompts'])], + ) + + return to_object + + +def _LiveMusicSetWeightedPromptsParameters_to_vertex( + from_object: Union[dict[str, Any], object], + parent_object: Optional[dict[str, Any]] = None, + root_object: Optional[Union[dict[str, Any], object]] = None, +) -> dict[str, Any]: + to_object: dict[str, Any] = {} + if getv(from_object, ['weighted_prompts']) is not None: + raise ValueError( + 'weighted_prompts parameter is only supported in Gemini Developer API' + ' mode, not in Gemini Enterprise Agent Platform mode.' + ) + + return to_object + + +def _LiveSendRealtimeInputParameters_to_mldev( + from_object: Union[dict[str, Any], object], + parent_object: Optional[dict[str, Any]] = None, + root_object: Optional[Union[dict[str, Any], object]] = None, +) -> dict[str, Any]: + to_object: dict[str, Any] = {} + if getv(from_object, ['media']) is not None: + setv( + to_object, + ['mediaChunks'], + [item for item in t.t_blobs(getv(from_object, ['media']))], + ) + + if getv(from_object, ['audio']) is not None: + setv(to_object, ['audio'], t.t_audio_blob(getv(from_object, ['audio']))) + + if getv(from_object, ['audio_stream_end']) is not None: + setv(to_object, ['audioStreamEnd'], getv(from_object, ['audio_stream_end'])) + + if getv(from_object, ['video']) is not None: + setv(to_object, ['video'], t.t_image_blob(getv(from_object, ['video']))) + + if getv(from_object, ['text']) is not None: + setv(to_object, ['text'], getv(from_object, ['text'])) + + if getv(from_object, ['activity_start']) is not None: + setv(to_object, ['activityStart'], getv(from_object, ['activity_start'])) + + if getv(from_object, ['activity_end']) is not None: + setv(to_object, ['activityEnd'], getv(from_object, ['activity_end'])) + + return to_object + + +def _LiveSendRealtimeInputParameters_to_vertex( + from_object: Union[dict[str, Any], object], + parent_object: Optional[dict[str, Any]] = None, + root_object: Optional[Union[dict[str, Any], object]] = None, +) -> dict[str, Any]: + to_object: dict[str, Any] = {} + if getv(from_object, ['media']) is not None: + setv( + to_object, + ['mediaChunks'], + [item for item in t.t_blobs(getv(from_object, ['media']))], + ) + + if getv(from_object, ['audio']) is not None: + setv(to_object, ['audio'], t.t_audio_blob(getv(from_object, ['audio']))) + + if getv(from_object, ['audio_stream_end']) is not None: + setv(to_object, ['audioStreamEnd'], getv(from_object, ['audio_stream_end'])) + + if getv(from_object, ['video']) is not None: + setv(to_object, ['video'], t.t_image_blob(getv(from_object, ['video']))) + + if getv(from_object, ['text']) is not None: + setv(to_object, ['text'], getv(from_object, ['text'])) + + if getv(from_object, ['activity_start']) is not None: + setv(to_object, ['activityStart'], getv(from_object, ['activity_start'])) + + if getv(from_object, ['activity_end']) is not None: + setv(to_object, ['activityEnd'], getv(from_object, ['activity_end'])) + + return to_object + + +def _LiveServerMessage_from_mldev( + from_object: Union[dict[str, Any], object], + parent_object: Optional[dict[str, Any]] = None, + root_object: Optional[Union[dict[str, Any], object]] = None, +) -> dict[str, Any]: + to_object: dict[str, Any] = {} + if getv(from_object, ['setupComplete']) is not None: + setv(to_object, ['setup_complete'], getv(from_object, ['setupComplete'])) + + if getv(from_object, ['serverContent']) is not None: + setv(to_object, ['server_content'], getv(from_object, ['serverContent'])) + + if getv(from_object, ['toolCall']) is not None: + setv(to_object, ['tool_call'], getv(from_object, ['toolCall'])) + + if getv(from_object, ['toolCallCancellation']) is not None: + setv( + to_object, + ['tool_call_cancellation'], + getv(from_object, ['toolCallCancellation']), + ) + + if getv(from_object, ['usageMetadata']) is not None: + setv(to_object, ['usage_metadata'], getv(from_object, ['usageMetadata'])) + + if getv(from_object, ['goAway']) is not None: + setv(to_object, ['go_away'], getv(from_object, ['goAway'])) + + if getv(from_object, ['sessionResumptionUpdate']) is not None: + setv( + to_object, + ['session_resumption_update'], + getv(from_object, ['sessionResumptionUpdate']), + ) + + if getv(from_object, ['voiceActivityDetectionSignal']) is not None: + setv( + to_object, + ['voice_activity_detection_signal'], + getv(from_object, ['voiceActivityDetectionSignal']), + ) + + if getv(from_object, ['voiceActivity']) is not None: + setv( + to_object, + ['voice_activity'], + _VoiceActivity_from_mldev( + getv(from_object, ['voiceActivity']), to_object, root_object + ), + ) + + return to_object + + +def _LiveServerMessage_from_vertex( + from_object: Union[dict[str, Any], object], + parent_object: Optional[dict[str, Any]] = None, + root_object: Optional[Union[dict[str, Any], object]] = None, +) -> dict[str, Any]: + to_object: dict[str, Any] = {} + if getv(from_object, ['setupComplete']) is not None: + setv(to_object, ['setup_complete'], getv(from_object, ['setupComplete'])) + + if getv(from_object, ['serverContent']) is not None: + setv(to_object, ['server_content'], getv(from_object, ['serverContent'])) + + if getv(from_object, ['toolCall']) is not None: + setv(to_object, ['tool_call'], getv(from_object, ['toolCall'])) + + if getv(from_object, ['toolCallCancellation']) is not None: + setv( + to_object, + ['tool_call_cancellation'], + getv(from_object, ['toolCallCancellation']), + ) + + if getv(from_object, ['usageMetadata']) is not None: + setv( + to_object, + ['usage_metadata'], + _UsageMetadata_from_vertex( + getv(from_object, ['usageMetadata']), to_object, root_object + ), + ) + + if getv(from_object, ['goAway']) is not None: + setv(to_object, ['go_away'], getv(from_object, ['goAway'])) + + if getv(from_object, ['sessionResumptionUpdate']) is not None: + setv( + to_object, + ['session_resumption_update'], + getv(from_object, ['sessionResumptionUpdate']), + ) + + if getv(from_object, ['voiceActivityDetectionSignal']) is not None: + setv( + to_object, + ['voice_activity_detection_signal'], + getv(from_object, ['voiceActivityDetectionSignal']), + ) + + if getv(from_object, ['voiceActivity']) is not None: + setv( + to_object, + ['voice_activity'], + _VoiceActivity_from_vertex( + getv(from_object, ['voiceActivity']), to_object, root_object + ), + ) + + return to_object + + +def _MaskReferenceConfig_to_vertex( + from_object: Union[dict[str, Any], object], + parent_object: Optional[dict[str, Any]] = None, + root_object: Optional[Union[dict[str, Any], object]] = None, +) -> dict[str, Any]: + to_object: dict[str, Any] = {} + if getv(from_object, ['mask_mode']) is not None: + setv(to_object, ['maskMode'], getv(from_object, ['mask_mode'])) + + if getv(from_object, ['segmentation_classes']) is not None: + setv( + to_object, ['maskClasses'], getv(from_object, ['segmentation_classes']) + ) + + if getv(from_object, ['mask_dilation']) is not None: + setv(to_object, ['dilation'], getv(from_object, ['mask_dilation'])) + + return to_object + + +def _McpServer_to_vertex( + from_object: Union[dict[str, Any], object], + parent_object: Optional[dict[str, Any]] = None, + root_object: Optional[Union[dict[str, Any], object]] = None, +) -> dict[str, Any]: + to_object: dict[str, Any] = {} + if getv(from_object, ['name']) is not None: + raise ValueError( + 'name parameter is only supported in Gemini Developer API mode, not in' + ' Gemini Enterprise Agent Platform mode.' + ) + + if getv(from_object, ['streamable_http_transport']) is not None: + raise ValueError( + 'streamable_http_transport parameter is only supported in Gemini' + ' Developer API mode, not in Gemini Enterprise Agent Platform mode.' + ) + + return to_object + + +def _Model_from_mldev( + from_object: Union[dict[str, Any], object], + parent_object: Optional[dict[str, Any]] = None, + root_object: Optional[Union[dict[str, Any], object]] = None, +) -> dict[str, Any]: + to_object: dict[str, Any] = {} + if getv(from_object, ['name']) is not None: + setv(to_object, ['name'], getv(from_object, ['name'])) + + if getv(from_object, ['displayName']) is not None: + setv(to_object, ['display_name'], getv(from_object, ['displayName'])) + + if getv(from_object, ['description']) is not None: + setv(to_object, ['description'], getv(from_object, ['description'])) + + if getv(from_object, ['version']) is not None: + setv(to_object, ['version'], getv(from_object, ['version'])) + + if getv(from_object, ['_self']) is not None: + setv(to_object, ['tuned_model_info'], getv(from_object, ['_self'])) + + if getv(from_object, ['inputTokenLimit']) is not None: + setv( + to_object, ['input_token_limit'], getv(from_object, ['inputTokenLimit']) + ) + + if getv(from_object, ['outputTokenLimit']) is not None: + setv( + to_object, + ['output_token_limit'], + getv(from_object, ['outputTokenLimit']), + ) + + if getv(from_object, ['supportedGenerationMethods']) is not None: + setv( + to_object, + ['supported_actions'], + getv(from_object, ['supportedGenerationMethods']), + ) + + if getv(from_object, ['temperature']) is not None: + setv(to_object, ['temperature'], getv(from_object, ['temperature'])) + + if getv(from_object, ['maxTemperature']) is not None: + setv(to_object, ['max_temperature'], getv(from_object, ['maxTemperature'])) + + if getv(from_object, ['topP']) is not None: + setv(to_object, ['top_p'], getv(from_object, ['topP'])) + + if getv(from_object, ['topK']) is not None: + setv(to_object, ['top_k'], getv(from_object, ['topK'])) + + if getv(from_object, ['thinking']) is not None: + setv(to_object, ['thinking'], getv(from_object, ['thinking'])) + + return to_object + + +def _Model_from_vertex( + from_object: Union[dict[str, Any], object], + parent_object: Optional[dict[str, Any]] = None, + root_object: Optional[Union[dict[str, Any], object]] = None, +) -> dict[str, Any]: + to_object: dict[str, Any] = {} + if getv(from_object, ['name']) is not None: + setv(to_object, ['name'], getv(from_object, ['name'])) + + if getv(from_object, ['displayName']) is not None: + setv(to_object, ['display_name'], getv(from_object, ['displayName'])) + + if getv(from_object, ['description']) is not None: + setv(to_object, ['description'], getv(from_object, ['description'])) + + if getv(from_object, ['versionId']) is not None: + setv(to_object, ['version'], getv(from_object, ['versionId'])) + + if getv(from_object, ['deployedModels']) is not None: + setv( + to_object, + ['endpoints'], + [ + _Endpoint_from_vertex(item, to_object, root_object) + for item in getv(from_object, ['deployedModels']) + ], + ) + + if getv(from_object, ['labels']) is not None: + setv(to_object, ['labels'], getv(from_object, ['labels'])) + + if getv(from_object, ['_self']) is not None: + setv( + to_object, + ['tuned_model_info'], + _TunedModelInfo_from_vertex( + getv(from_object, ['_self']), to_object, root_object + ), + ) + + if getv(from_object, ['defaultCheckpointId']) is not None: + setv( + to_object, + ['default_checkpoint_id'], + getv(from_object, ['defaultCheckpointId']), + ) + + if getv(from_object, ['checkpoints']) is not None: + setv( + to_object, + ['checkpoints'], + [item for item in getv(from_object, ['checkpoints'])], + ) + + return to_object + + +def _MultiSpeakerVoiceConfig_to_vertex( + from_object: Union[dict[str, Any], object], + parent_object: Optional[dict[str, Any]] = None, + root_object: Optional[Union[dict[str, Any], object]] = None, +) -> dict[str, Any]: + to_object: dict[str, Any] = {} + if getv(from_object, ['speaker_voice_configs']) is not None: + setv( + to_object, + ['speakerVoiceConfigs'], + [ + _SpeakerVoiceConfig_to_vertex(item, to_object, root_object) + for item in getv(from_object, ['speaker_voice_configs']) + ], + ) + + return to_object + + +def _Part_to_mldev( + from_object: Union[dict[str, Any], object], + parent_object: Optional[dict[str, Any]] = None, + root_object: Optional[Union[dict[str, Any], object]] = 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'], getv(from_object, ['file_data'])) + + if getv(from_object, ['function_call']) is not None: + setv( + to_object, + ['functionCall'], + _FunctionCall_to_mldev( + getv(from_object, ['function_call']), to_object, root_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'], getv(from_object, ['inline_data'])) + + 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'])) + + if getv(from_object, ['tool_call']) is not None: + setv(to_object, ['toolCall'], getv(from_object, ['tool_call'])) + + if getv(from_object, ['tool_response']) is not None: + setv(to_object, ['toolResponse'], getv(from_object, ['tool_response'])) + + if getv(from_object, ['part_metadata']) is not None: + setv(to_object, ['partMetadata'], getv(from_object, ['part_metadata'])) + + if getv(from_object, ['audio_transcription']) is not None: + setv( + to_object, + ['audioTranscription'], + getv(from_object, ['audio_transcription']), + ) + + if getv(from_object, ['media_processing']) is not None: + setv( + to_object, ['mediaProcessing'], getv(from_object, ['media_processing']) + ) + + if getv(from_object, ['speech_metadata']) is not None: + setv(to_object, ['speechMetadata'], getv(from_object, ['speech_metadata'])) + + return to_object + + +def _Part_to_vertex( + from_object: Union[dict[str, Any], object], + parent_object: Optional[dict[str, Any]] = None, + root_object: Optional[Union[dict[str, Any], object]] = 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'], getv(from_object, ['file_data'])) + + if getv(from_object, ['function_call']) is not None: + setv(to_object, ['functionCall'], getv(from_object, ['function_call'])) + + 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'], getv(from_object, ['inline_data'])) + + 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'])) + + if getv(from_object, ['tool_call']) is not None: + raise ValueError( + 'tool_call parameter is only supported in Gemini Developer API mode,' + ' not in Gemini Enterprise Agent Platform mode.' + ) + + if getv(from_object, ['tool_response']) is not None: + raise ValueError( + 'tool_response parameter is only supported in Gemini Developer API' + ' mode, not in Gemini Enterprise Agent Platform mode.' + ) + + if getv(from_object, ['part_metadata']) is not None: + raise ValueError( + 'part_metadata parameter is only supported in Gemini Developer API' + ' mode, not in Gemini Enterprise Agent Platform mode.' + ) + + if getv(from_object, ['audio_transcription']) is not None: + setv( + to_object, + ['audioTranscription'], + getv(from_object, ['audio_transcription']), + ) + + if getv(from_object, ['media_processing']) is not None: + setv( + to_object, ['mediaProcessing'], getv(from_object, ['media_processing']) + ) + + if getv(from_object, ['speech_metadata']) is not None: + setv(to_object, ['speechMetadata'], getv(from_object, ['speech_metadata'])) + + return to_object + + +def _ProductImage_to_vertex( + from_object: Union[dict[str, Any], object], + parent_object: Optional[dict[str, Any]] = None, + root_object: Optional[Union[dict[str, Any], object]] = None, +) -> dict[str, Any]: + to_object: dict[str, Any] = {} + if getv(from_object, ['product_image']) is not None: + setv( + to_object, + ['image'], + _Image_to_vertex( + getv(from_object, ['product_image']), to_object, root_object + ), + ) + + return to_object + + +def _RecontextImageConfig_to_vertex( + from_object: Union[dict[str, Any], object], + parent_object: Optional[dict[str, Any]] = None, + root_object: Optional[Union[dict[str, Any], object]] = None, +) -> dict[str, Any]: + to_object: dict[str, Any] = {} + + if getv(from_object, ['number_of_images']) is not None: + setv( + parent_object, + ['parameters', 'sampleCount'], + getv(from_object, ['number_of_images']), + ) + + if getv(from_object, ['base_steps']) is not None: + setv( + parent_object, + ['parameters', 'baseSteps'], + getv(from_object, ['base_steps']), + ) + + if getv(from_object, ['output_gcs_uri']) is not None: + setv( + parent_object, + ['parameters', 'storageUri'], + getv(from_object, ['output_gcs_uri']), + ) + + if getv(from_object, ['seed']) is not None: + setv(parent_object, ['parameters', 'seed'], getv(from_object, ['seed'])) + + if getv(from_object, ['safety_filter_level']) is not None: + setv( + parent_object, + ['parameters', 'safetySetting'], + getv(from_object, ['safety_filter_level']), + ) + + if getv(from_object, ['person_generation']) is not None: + setv( + parent_object, + ['parameters', 'personGeneration'], + getv(from_object, ['person_generation']), + ) + + if getv(from_object, ['add_watermark']) is not None: + setv( + parent_object, + ['parameters', 'addWatermark'], + getv(from_object, ['add_watermark']), + ) + + if getv(from_object, ['output_mime_type']) is not None: + setv( + parent_object, + ['parameters', 'outputOptions', 'mimeType'], + getv(from_object, ['output_mime_type']), + ) + + if getv(from_object, ['output_compression_quality']) is not None: + setv( + parent_object, + ['parameters', 'outputOptions', 'compressionQuality'], + getv(from_object, ['output_compression_quality']), + ) + + if getv(from_object, ['enhance_prompt']) is not None: + setv( + parent_object, + ['parameters', 'enhancePrompt'], + getv(from_object, ['enhance_prompt']), + ) + + if getv(from_object, ['labels']) is not None: + setv(parent_object, ['labels'], getv(from_object, ['labels'])) + + return to_object + + +def _RecontextImageParameters_to_vertex( + api_client: BaseApiClient, + from_object: Union[dict[str, Any], object], + parent_object: Optional[dict[str, Any]] = None, + root_object: Optional[Union[dict[str, Any], object]] = None, +) -> dict[str, Any]: + to_object: dict[str, Any] = {} + if getv(from_object, ['model']) is not None: + setv( + to_object, + ['_url', 'model'], + t.t_model(api_client, getv(from_object, ['model'])), + ) + + if getv(from_object, ['source']) is not None: + _RecontextImageSource_to_vertex( + getv(from_object, ['source']), to_object, root_object + ) + + if getv(from_object, ['config']) is not None: + _RecontextImageConfig_to_vertex( + getv(from_object, ['config']), to_object, root_object + ) + + return to_object + + +def _RecontextImageResponse_from_vertex( + from_object: Union[dict[str, Any], object], + parent_object: Optional[dict[str, Any]] = None, + root_object: Optional[Union[dict[str, Any], object]] = None, +) -> dict[str, Any]: + to_object: dict[str, Any] = {} + if getv(from_object, ['predictions']) is not None: + setv( + to_object, + ['generated_images'], + [ + _GeneratedImage_from_vertex(item, to_object, root_object) + for item in getv(from_object, ['predictions']) + ], + ) + + return to_object + + +def _RecontextImageSource_to_vertex( + from_object: Union[dict[str, Any], object], + parent_object: Optional[dict[str, Any]] = None, + root_object: Optional[Union[dict[str, Any], object]] = None, +) -> dict[str, Any]: + to_object: dict[str, Any] = {} + if getv(from_object, ['prompt']) is not None: + setv( + parent_object, ['instances[0]', 'prompt'], getv(from_object, ['prompt']) + ) + + if getv(from_object, ['person_image']) is not None: + setv( + parent_object, + ['instances[0]', 'personImage', 'image'], + _Image_to_vertex( + getv(from_object, ['person_image']), to_object, root_object + ), + ) + + if getv(from_object, ['product_images']) is not None: + setv( + parent_object, + ['instances[0]', 'productImages'], + [ + _ProductImage_to_vertex(item, to_object, root_object) + for item in getv(from_object, ['product_images']) + ], + ) + + return to_object + + +def _ReferenceImageAPI_to_vertex( + from_object: Union[dict[str, Any], object], + parent_object: Optional[dict[str, Any]] = None, + root_object: Optional[Union[dict[str, Any], object]] = None, +) -> dict[str, Any]: + to_object: dict[str, Any] = {} + if getv(from_object, ['reference_image']) is not None: + setv( + to_object, + ['referenceImage'], + _Image_to_vertex( + getv(from_object, ['reference_image']), to_object, root_object + ), + ) + + if getv(from_object, ['reference_id']) is not None: + setv(to_object, ['referenceId'], getv(from_object, ['reference_id'])) + + if getv(from_object, ['reference_type']) is not None: + setv(to_object, ['referenceType'], getv(from_object, ['reference_type'])) + + if getv(from_object, ['mask_image_config']) is not None: + setv( + to_object, + ['maskImageConfig'], + _MaskReferenceConfig_to_vertex( + getv(from_object, ['mask_image_config']), to_object, root_object + ), + ) + + if getv(from_object, ['control_image_config']) is not None: + setv( + to_object, + ['controlImageConfig'], + _ControlReferenceConfig_to_vertex( + getv(from_object, ['control_image_config']), to_object, root_object + ), + ) + + if getv(from_object, ['style_image_config']) is not None: + setv( + to_object, + ['styleImageConfig'], + getv(from_object, ['style_image_config']), + ) + + if getv(from_object, ['subject_image_config']) is not None: + setv( + to_object, + ['subjectImageConfig'], + getv(from_object, ['subject_image_config']), + ) + + return to_object + + +def _RegisterFilesResponse_from_mldev( + from_object: Union[dict[str, Any], object], + parent_object: Optional[dict[str, Any]] = None, + root_object: Optional[Union[dict[str, Any], object]] = None, +) -> dict[str, Any]: + to_object: dict[str, Any] = {} + if getv(from_object, ['sdkHttpResponse']) is not None: + setv( + to_object, ['sdk_http_response'], getv(from_object, ['sdkHttpResponse']) + ) + + if getv(from_object, ['files']) is not None: + setv(to_object, ['files'], [item for item in getv(from_object, ['files'])]) + + return to_object + + +def _ReinforcementTuningAutoraterScorer_from_vertex( + from_object: Union[dict[str, Any], object], + parent_object: Optional[dict[str, Any]] = None, + root_object: Optional[Union[dict[str, Any], object]] = None, +) -> dict[str, Any]: + to_object: dict[str, Any] = {} + if getv(from_object, ['autoraterConfig']) is not None: + setv( + to_object, + ['autorater_config'], + _AutoraterConfig_from_vertex( + getv(from_object, ['autoraterConfig']), to_object, root_object + ), + ) + + if getv(from_object, ['autoraterPrompt']) is not None: + setv( + to_object, ['autorater_prompt'], getv(from_object, ['autoraterPrompt']) + ) + + if getv(from_object, ['autoraterResponseParseConfig']) is not None: + setv( + to_object, + ['autorater_response_parse_config'], + getv(from_object, ['autoraterResponseParseConfig']), + ) + + if getv(from_object, ['parsedResponseConversionScorer']) is not None: + setv( + to_object, + ['parsed_response_conversion_scorer'], + getv(from_object, ['parsedResponseConversionScorer']), + ) + + if getv(from_object, ['exactMatchScorer']) is not None: + setv( + to_object, + ['exact_match_scorer'], + getv(from_object, ['exactMatchScorer']), + ) + + return to_object + + +def _ReinforcementTuningAutoraterScorer_to_vertex( + from_object: Union[dict[str, Any], object], + parent_object: Optional[dict[str, Any]] = None, + root_object: Optional[Union[dict[str, Any], object]] = None, +) -> dict[str, Any]: + to_object: dict[str, Any] = {} + if getv(from_object, ['autorater_config']) is not None: + setv( + to_object, + ['autoraterConfig'], + _AutoraterConfig_to_vertex( + getv(from_object, ['autorater_config']), to_object, root_object + ), + ) + + if getv(from_object, ['autorater_prompt']) is not None: + setv( + to_object, ['autoraterPrompt'], getv(from_object, ['autorater_prompt']) + ) + + if getv(from_object, ['autorater_response_parse_config']) is not None: + setv( + to_object, + ['autoraterResponseParseConfig'], + getv(from_object, ['autorater_response_parse_config']), + ) + + if getv(from_object, ['parsed_response_conversion_scorer']) is not None: + setv( + to_object, + ['parsedResponseConversionScorer'], + getv(from_object, ['parsed_response_conversion_scorer']), + ) + + if getv(from_object, ['exact_match_scorer']) is not None: + setv( + to_object, + ['exactMatchScorer'], + getv(from_object, ['exact_match_scorer']), + ) + + return to_object + + +def _ReinforcementTuningExample_to_vertex( + from_object: Union[dict[str, Any], object], + parent_object: Optional[dict[str, Any]] = None, + root_object: Optional[Union[dict[str, Any], object]] = None, +) -> dict[str, Any]: + to_object: dict[str, Any] = {} + if getv(from_object, ['contents']) is not None: + setv( + to_object, + ['contents'], + [ + _Content_to_vertex(item, to_object, root_object) + for item in getv(from_object, ['contents']) + ], + ) + + if getv(from_object, ['references']) is not None: + setv(to_object, ['references'], getv(from_object, ['references'])) + + if getv(from_object, ['system_instruction']) is not None: + setv( + to_object, + ['systemInstruction'], + _Content_to_vertex( + getv(from_object, ['system_instruction']), to_object, root_object + ), + ) + + if getv(from_object, ['tools']) is not None: + setv( + to_object, + ['tools'], + [ + _Tool_to_vertex(item, to_object, root_object) + for item in getv(from_object, ['tools']) + ], + ) + + return to_object + + +def _ReinforcementTuningSpec_from_vertex( + from_object: Union[dict[str, Any], object], + parent_object: Optional[dict[str, Any]] = None, + root_object: Optional[Union[dict[str, Any], object]] = None, +) -> dict[str, Any]: + to_object: dict[str, Any] = {} + if getv(from_object, ['compositeRewardConfig']) is not None: + setv( + to_object, + ['composite_reward_config'], + _CompositeReinforcementTuningRewardConfig_from_vertex( + getv(from_object, ['compositeRewardConfig']), to_object, root_object + ), + ) + + if getv(from_object, ['trainingDatasetUri']) is not None: + setv( + to_object, + ['training_dataset_uri'], + getv(from_object, ['trainingDatasetUri']), + ) + + if getv(from_object, ['validationDatasetUri']) is not None: + setv( + to_object, + ['validation_dataset_uri'], + getv(from_object, ['validationDatasetUri']), + ) + + if getv(from_object, ['hyperParameters']) is not None: + setv( + to_object, ['hyper_parameters'], getv(from_object, ['hyperParameters']) + ) + + if getv(from_object, ['singleRewardConfig']) is not None: + setv( + to_object, + ['single_reward_config'], + _SingleReinforcementTuningRewardConfig_from_vertex( + getv(from_object, ['singleRewardConfig']), to_object, root_object + ), + ) + + return to_object + + +def _ReplicatedVoiceConfig_to_vertex( + from_object: Union[dict[str, Any], object], + parent_object: Optional[dict[str, Any]] = None, + root_object: Optional[Union[dict[str, Any], object]] = None, +) -> dict[str, Any]: + to_object: dict[str, Any] = {} + if getv(from_object, ['mime_type']) is not None: + setv(to_object, ['mimeType'], getv(from_object, ['mime_type'])) + + if getv(from_object, ['voice_sample_audio']) is not None: + setv( + to_object, + ['voiceSampleAudio'], + getv(from_object, ['voice_sample_audio']), + ) + + if getv(from_object, ['consent_audio']) is not None: + raise ValueError( + 'consent_audio parameter is only supported in Gemini Developer API' + ' mode, not in Gemini Enterprise Agent Platform mode.' + ) + + if getv(from_object, ['voice_consent_signature']) is not None: + raise ValueError( + 'voice_consent_signature parameter is only supported in Gemini' + ' Developer API mode, not in Gemini Enterprise Agent Platform mode.' + ) + + return to_object + + +def _SafetyAttributes_from_vertex( + from_object: Union[dict[str, Any], object], + parent_object: Optional[dict[str, Any]] = None, + root_object: Optional[Union[dict[str, Any], object]] = None, +) -> dict[str, Any]: + to_object: dict[str, Any] = {} + if getv(from_object, ['safetyAttributes', 'categories']) is not None: + setv( + to_object, + ['categories'], + getv(from_object, ['safetyAttributes', 'categories']), + ) + + if getv(from_object, ['safetyAttributes', 'scores']) is not None: + setv( + to_object, ['scores'], getv(from_object, ['safetyAttributes', 'scores']) + ) + + if getv(from_object, ['contentType']) is not None: + setv(to_object, ['content_type'], getv(from_object, ['contentType'])) + + return to_object + + +def _SafetySetting_to_mldev( + from_object: Union[dict[str, Any], object], + parent_object: Optional[dict[str, Any]] = None, + root_object: Optional[Union[dict[str, Any], object]] = None, +) -> dict[str, Any]: + to_object: dict[str, Any] = {} + if getv(from_object, ['category']) is not None: + setv(to_object, ['category'], getv(from_object, ['category'])) + + if getv(from_object, ['method']) is not None: + raise ValueError( + 'method parameter is only supported in Gemini Enterprise Agent Platform' + ' mode, not in Gemini Developer API mode.' + ) + + if getv(from_object, ['threshold']) is not None: + setv(to_object, ['threshold'], getv(from_object, ['threshold'])) + + return to_object + + +def _ScribbleImage_to_vertex( + from_object: Union[dict[str, Any], object], + parent_object: Optional[dict[str, Any]] = None, + root_object: Optional[Union[dict[str, Any], object]] = None, +) -> dict[str, Any]: + to_object: dict[str, Any] = {} + if getv(from_object, ['image']) is not None: + setv( + to_object, + ['image'], + _Image_to_vertex(getv(from_object, ['image']), to_object, root_object), + ) + + return to_object + + +def _SegmentImageConfig_to_vertex( + from_object: Union[dict[str, Any], object], + parent_object: Optional[dict[str, Any]] = None, + root_object: Optional[Union[dict[str, Any], object]] = None, +) -> dict[str, Any]: + to_object: dict[str, Any] = {} + + if getv(from_object, ['mode']) is not None: + setv(parent_object, ['parameters', 'mode'], getv(from_object, ['mode'])) + + if getv(from_object, ['max_predictions']) is not None: + setv( + parent_object, + ['parameters', 'maxPredictions'], + getv(from_object, ['max_predictions']), + ) + + if getv(from_object, ['confidence_threshold']) is not None: + setv( + parent_object, + ['parameters', 'confidenceThreshold'], + getv(from_object, ['confidence_threshold']), + ) + + if getv(from_object, ['mask_dilation']) is not None: + setv( + parent_object, + ['parameters', 'maskDilation'], + getv(from_object, ['mask_dilation']), + ) + + if getv(from_object, ['binary_color_threshold']) is not None: + setv( + parent_object, + ['parameters', 'binaryColorThreshold'], + getv(from_object, ['binary_color_threshold']), + ) + + if getv(from_object, ['labels']) is not None: + setv(parent_object, ['labels'], getv(from_object, ['labels'])) + + return to_object + + +def _SegmentImageParameters_to_vertex( + api_client: BaseApiClient, + from_object: Union[dict[str, Any], object], + parent_object: Optional[dict[str, Any]] = None, + root_object: Optional[Union[dict[str, Any], object]] = None, +) -> dict[str, Any]: + to_object: dict[str, Any] = {} + if getv(from_object, ['model']) is not None: + setv( + to_object, + ['_url', 'model'], + t.t_model(api_client, getv(from_object, ['model'])), + ) + + if getv(from_object, ['source']) is not None: + _SegmentImageSource_to_vertex( + getv(from_object, ['source']), to_object, root_object + ) + + if getv(from_object, ['config']) is not None: + _SegmentImageConfig_to_vertex( + getv(from_object, ['config']), to_object, root_object + ) + + return to_object + + +def _SegmentImageResponse_from_vertex( + from_object: Union[dict[str, Any], object], + parent_object: Optional[dict[str, Any]] = None, + root_object: Optional[Union[dict[str, Any], object]] = None, +) -> dict[str, Any]: + to_object: dict[str, Any] = {} + if getv(from_object, ['predictions']) is not None: + setv( + to_object, + ['generated_masks'], + [ + _GeneratedImageMask_from_vertex(item, to_object, root_object) + for item in getv(from_object, ['predictions']) + ], + ) + + return to_object + + +def _SegmentImageSource_to_vertex( + from_object: Union[dict[str, Any], object], + parent_object: Optional[dict[str, Any]] = None, + root_object: Optional[Union[dict[str, Any], object]] = None, +) -> dict[str, Any]: + to_object: dict[str, Any] = {} + if getv(from_object, ['prompt']) is not None: + setv( + parent_object, ['instances[0]', 'prompt'], getv(from_object, ['prompt']) + ) + + if getv(from_object, ['image']) is not None: + setv( + parent_object, + ['instances[0]', 'image'], + _Image_to_vertex(getv(from_object, ['image']), to_object, root_object), + ) + + if getv(from_object, ['scribble_image']) is not None: + setv( + parent_object, + ['instances[0]', 'scribble'], + _ScribbleImage_to_vertex( + getv(from_object, ['scribble_image']), to_object, root_object + ), + ) + + return to_object + + +def _SessionResumptionConfig_to_mldev( + from_object: Union[dict[str, Any], object], + parent_object: Optional[dict[str, Any]] = None, + root_object: Optional[Union[dict[str, Any], object]] = 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 only supported in Gemini Enterprise Agent' + ' Platform mode, not in Gemini Developer API mode.' + ) + + return to_object + + +def _SingleReinforcementTuningRewardConfig_from_vertex( + from_object: Union[dict[str, Any], object], + parent_object: Optional[dict[str, Any]] = None, + root_object: Optional[Union[dict[str, Any], object]] = None, +) -> dict[str, Any]: + to_object: dict[str, Any] = {} + if getv(from_object, ['autoraterScorer']) is not None: + setv( + to_object, + ['autorater_scorer'], + _ReinforcementTuningAutoraterScorer_from_vertex( + getv(from_object, ['autoraterScorer']), to_object, root_object + ), + ) + + if getv(from_object, ['rewardName']) is not None: + setv(to_object, ['reward_name'], getv(from_object, ['rewardName'])) + + if getv(from_object, ['parseResponseConfig']) is not None: + setv( + to_object, + ['parse_response_config'], + getv(from_object, ['parseResponseConfig']), + ) + + if getv(from_object, ['codeExecutionRewardScorer']) is not None: + setv( + to_object, + ['code_execution_reward_scorer'], + getv(from_object, ['codeExecutionRewardScorer']), + ) + + if getv(from_object, ['stringMatchRewardScorer']) is not None: + setv( + to_object, + ['string_match_reward_scorer'], + getv(from_object, ['stringMatchRewardScorer']), + ) + + if getv(from_object, ['cloudRunRewardScorer']) is not None: + setv( + to_object, + ['cloud_run_reward_scorer'], + getv(from_object, ['cloudRunRewardScorer']), + ) + + return to_object + + +def _SingleReinforcementTuningRewardConfig_to_vertex( + from_object: Union[dict[str, Any], object], + parent_object: Optional[dict[str, Any]] = None, + root_object: Optional[Union[dict[str, Any], object]] = None, +) -> dict[str, Any]: + to_object: dict[str, Any] = {} + if getv(from_object, ['autorater_scorer']) is not None: + setv( + to_object, + ['autoraterScorer'], + _ReinforcementTuningAutoraterScorer_to_vertex( + getv(from_object, ['autorater_scorer']), to_object, root_object + ), + ) + + if getv(from_object, ['reward_name']) is not None: + setv(to_object, ['rewardName'], getv(from_object, ['reward_name'])) + + if getv(from_object, ['parse_response_config']) is not None: + setv( + to_object, + ['parseResponseConfig'], + getv(from_object, ['parse_response_config']), + ) + + if getv(from_object, ['code_execution_reward_scorer']) is not None: + setv( + to_object, + ['codeExecutionRewardScorer'], + getv(from_object, ['code_execution_reward_scorer']), + ) + + if getv(from_object, ['string_match_reward_scorer']) is not None: + setv( + to_object, + ['stringMatchRewardScorer'], + getv(from_object, ['string_match_reward_scorer']), + ) + + if getv(from_object, ['cloud_run_reward_scorer']) is not None: + setv( + to_object, + ['cloudRunRewardScorer'], + getv(from_object, ['cloud_run_reward_scorer']), + ) + + return to_object + + +def _SpeakerVoiceConfig_to_vertex( + from_object: Union[dict[str, Any], object], + parent_object: Optional[dict[str, Any]] = None, + root_object: Optional[Union[dict[str, Any], object]] = None, +) -> dict[str, Any]: + to_object: dict[str, Any] = {} + if getv(from_object, ['speaker']) is not None: + setv(to_object, ['speaker'], getv(from_object, ['speaker'])) + + if getv(from_object, ['voice_config']) is not None: + setv( + to_object, + ['voiceConfig'], + _VoiceConfig_to_vertex( + getv(from_object, ['voice_config']), to_object, root_object + ), + ) + + return to_object + + +def _SpeechConfig_to_vertex( + from_object: Union[dict[str, Any], object], + parent_object: Optional[dict[str, Any]] = None, + root_object: Optional[Union[dict[str, Any], object]] = None, +) -> dict[str, Any]: + to_object: dict[str, Any] = {} + if getv(from_object, ['voice_config']) is not None: + setv( + to_object, + ['voiceConfig'], + _VoiceConfig_to_vertex( + getv(from_object, ['voice_config']), to_object, root_object + ), + ) + + if getv(from_object, ['language_code']) is not None: + setv(to_object, ['languageCode'], getv(from_object, ['language_code'])) + + if getv(from_object, ['multi_speaker_voice_config']) is not None: + setv( + to_object, + ['multiSpeakerVoiceConfig'], + _MultiSpeakerVoiceConfig_to_vertex( + getv(from_object, ['multi_speaker_voice_config']), + to_object, + root_object, + ), + ) + + return to_object + + +def _ToolConfig_to_mldev( + from_object: Union[dict[str, Any], object], + parent_object: Optional[dict[str, Any]] = None, + root_object: Optional[Union[dict[str, Any], object]] = None, +) -> dict[str, Any]: + to_object: dict[str, Any] = {} + if getv(from_object, ['retrieval_config']) is not None: + setv( + to_object, ['retrievalConfig'], getv(from_object, ['retrieval_config']) + ) + + if getv(from_object, ['function_calling_config']) is not None: + setv( + to_object, + ['functionCallingConfig'], + _FunctionCallingConfig_to_mldev( + getv(from_object, ['function_calling_config']), + to_object, + root_object, + ), + ) + + if getv(from_object, ['include_server_side_tool_invocations']) is not None: + setv( + to_object, + ['includeServerSideToolInvocations'], + getv(from_object, ['include_server_side_tool_invocations']), + ) + + return to_object + + +def _ToolConfig_to_vertex( + from_object: Union[dict[str, Any], object], + parent_object: Optional[dict[str, Any]] = None, + root_object: Optional[Union[dict[str, Any], object]] = None, +) -> dict[str, Any]: + to_object: dict[str, Any] = {} + if getv(from_object, ['retrieval_config']) is not None: + setv( + to_object, ['retrievalConfig'], getv(from_object, ['retrieval_config']) + ) + + if getv(from_object, ['function_calling_config']) is not None: + setv( + to_object, + ['functionCallingConfig'], + getv(from_object, ['function_calling_config']), + ) + + if getv(from_object, ['include_server_side_tool_invocations']) is not None: + raise ValueError( + 'include_server_side_tool_invocations parameter is only supported in' + ' Gemini Developer API mode, not in Gemini Enterprise Agent Platform' + ' mode.' + ) + + return to_object + + +def _Tool_to_mldev( + from_object: Union[dict[str, Any], object], + parent_object: Optional[dict[str, Any]] = None, + root_object: Optional[Union[dict[str, Any], object]] = None, +) -> dict[str, Any]: + to_object: dict[str, Any] = {} + if getv(from_object, ['retrieval']) is not None: + raise ValueError( + 'retrieval parameter is only supported in Gemini Enterprise Agent' + ' Platform mode, not in Gemini Developer API mode.' + ) + + 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, ['google_search']) is not None: + setv( + to_object, + ['googleSearch'], + _GoogleSearch_to_mldev( + getv(from_object, ['google_search']), to_object, root_object + ), + ) + + if getv(from_object, ['google_maps']) is not None: + setv( + to_object, + ['googleMaps'], + _GoogleMaps_to_mldev( + getv(from_object, ['google_maps']), to_object, root_object + ), + ) + + 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 only supported in Gemini Enterprise' + ' Agent Platform mode, not in Gemini Developer API mode.' + ) + + 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_search_retrieval']) is not None: + setv( + to_object, + ['googleSearchRetrieval'], + getv(from_object, ['google_search_retrieval']), + ) + + if getv(from_object, ['parallel_ai_search']) is not None: + raise ValueError( + 'parallel_ai_search parameter is only supported in Gemini Enterprise' + ' Agent Platform mode, not in Gemini Developer API mode.' + ) + + if getv(from_object, ['url_context']) is not None: + setv(to_object, ['urlContext'], getv(from_object, ['url_context'])) + + if getv(from_object, ['mcp_servers']) is not None: + setv( + to_object, + ['mcpServers'], + [item for item in getv(from_object, ['mcp_servers'])], + ) + + if getv(from_object, ['exa_ai_search']) is not None: + raise ValueError( + 'exa_ai_search parameter is only supported in Gemini Enterprise Agent' + ' Platform mode, not in Gemini Developer API mode.' + ) + + return to_object + + +def _Tool_to_vertex( + from_object: Union[dict[str, Any], object], + parent_object: Optional[dict[str, Any]] = None, + root_object: Optional[Union[dict[str, Any], object]] = None, +) -> dict[str, Any]: + to_object: dict[str, Any] = {} + if getv(from_object, ['retrieval']) is not None: + setv(to_object, ['retrieval'], getv(from_object, ['retrieval'])) + + 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: + raise ValueError( + 'file_search parameter is only supported in Gemini Developer API mode,' + ' not in Gemini Enterprise Agent Platform mode.' + ) + + if getv(from_object, ['google_search']) is not None: + setv(to_object, ['googleSearch'], getv(from_object, ['google_search'])) + + if getv(from_object, ['google_maps']) is not None: + setv(to_object, ['googleMaps'], getv(from_object, ['google_maps'])) + + 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: + setv( + to_object, + ['enterpriseWebSearch'], + getv(from_object, ['enterprise_web_search']), + ) + + 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_search_retrieval']) is not None: + setv( + to_object, + ['googleSearchRetrieval'], + getv(from_object, ['google_search_retrieval']), + ) + + if getv(from_object, ['parallel_ai_search']) is not None: + setv( + to_object, + ['parallelAiSearch'], + getv(from_object, ['parallel_ai_search']), + ) + + if getv(from_object, ['url_context']) is not None: + setv(to_object, ['urlContext'], getv(from_object, ['url_context'])) + + if getv(from_object, ['mcp_servers']) is not None: + setv( + to_object, + ['mcpServers'], + [ + _McpServer_to_vertex(item, to_object, root_object) + for item in getv(from_object, ['mcp_servers']) + ], + ) + + if getv(from_object, ['exa_ai_search']) is not None: + setv(to_object, ['exaAiSearch'], getv(from_object, ['exa_ai_search'])) + + return to_object + + +def _TranslationConfig_from_vertex( + from_object: Union[dict[str, Any], object], + parent_object: Optional[dict[str, Any]] = None, + root_object: Optional[Union[dict[str, Any], object]] = None, +) -> dict[str, Any]: + to_object: dict[str, Any] = {} + if getv(from_object, ['echoTargetLanguage']) is not None: + setv( + to_object, + ['echo_target_language'], + getv(from_object, ['echoTargetLanguage']), + ) + + if getv(from_object, ['targetLanguageCode']) is not None: + setv( + to_object, + ['target_language_code'], + getv(from_object, ['targetLanguageCode']), + ) + + return to_object + + +def _TranslationConfig_to_mldev( + from_object: Union[dict[str, Any], object], + parent_object: Optional[dict[str, Any]] = None, + root_object: Optional[Union[dict[str, Any], object]] = None, +) -> dict[str, Any]: + to_object: dict[str, Any] = {} + if getv(from_object, ['echo_target_language']) is not None: + setv( + to_object, + ['echoTargetLanguage'], + getv(from_object, ['echo_target_language']), + ) + + if getv(from_object, ['target_language_code']) is not None: + setv( + to_object, + ['targetLanguageCode'], + getv(from_object, ['target_language_code']), + ) + + return to_object + + +def _TranslationConfig_to_vertex( + from_object: Union[dict[str, Any], object], + parent_object: Optional[dict[str, Any]] = None, + root_object: Optional[Union[dict[str, Any], object]] = None, +) -> dict[str, Any]: + to_object: dict[str, Any] = {} + if getv(from_object, ['echo_target_language']) is not None: + setv( + to_object, + ['echoTargetLanguage'], + getv(from_object, ['echo_target_language']), + ) + + if getv(from_object, ['target_language_code']) is not None: + setv( + to_object, + ['targetLanguageCode'], + getv(from_object, ['target_language_code']), + ) + + return to_object + + +def _TunedModelInfo_from_vertex( + from_object: Union[dict[str, Any], object], + parent_object: Optional[dict[str, Any]] = None, + root_object: Optional[Union[dict[str, Any], object]] = None, +) -> dict[str, Any]: + to_object: dict[str, Any] = {} + if ( + getv(from_object, ['labels', 'google-vertex-llm-tuning-base-model-id']) + is not None + ): + setv( + to_object, + ['base_model'], + getv(from_object, ['labels', 'google-vertex-llm-tuning-base-model-id']), + ) + + if getv(from_object, ['createTime']) is not None: + setv(to_object, ['create_time'], getv(from_object, ['createTime'])) + + if getv(from_object, ['updateTime']) is not None: + setv(to_object, ['update_time'], getv(from_object, ['updateTime'])) + + return to_object + + +def _TunedModel_from_mldev( + from_object: Union[dict[str, Any], object], + parent_object: Optional[dict[str, Any]] = None, + root_object: Optional[Union[dict[str, Any], object]] = None, +) -> dict[str, Any]: + to_object: dict[str, Any] = {} + if getv(from_object, ['name']) is not None: + setv(to_object, ['model'], getv(from_object, ['name'])) + + if getv(from_object, ['name']) is not None: + setv(to_object, ['endpoint'], getv(from_object, ['name'])) + + return to_object + + +def _TuningDataset_to_mldev( + from_object: Union[dict[str, Any], object], + parent_object: Optional[dict[str, Any]] = None, + root_object: Optional[Union[dict[str, Any], object]] = None, +) -> dict[str, Any]: + to_object: dict[str, Any] = {} + if getv(from_object, ['gcs_uri']) is not None: + raise ValueError( + 'gcs_uri parameter is only supported in Gemini Enterprise Agent' + ' Platform mode, not in Gemini Developer API mode.' + ) + + if getv(from_object, ['vertex_dataset_resource']) is not None: + raise ValueError( + 'vertex_dataset_resource parameter is only supported in Gemini' + ' Enterprise Agent Platform mode, not in Gemini Developer API mode.' + ) + + if getv(from_object, ['examples']) is not None: + setv( + to_object, + ['examples', 'examples'], + [item for item in getv(from_object, ['examples'])], + ) + + return to_object + + +def _TuningDataset_to_vertex( + from_object: Union[dict[str, Any], object], + parent_object: Optional[dict[str, Any]] = None, + root_object: Optional[Union[dict[str, Any], object]] = None, +) -> dict[str, Any]: + to_object: dict[str, Any] = {} + if getv(from_object, ['gcs_uri']) is not None: + setv( + parent_object, + ['reinforcementTuningSpec', 'trainingDatasetUri'], + getv(from_object, ['gcs_uri']), + ) + + if getv(from_object, ['vertex_dataset_resource']) is not None: + setv( + parent_object, + ['reinforcementTuningSpec', 'trainingDatasetUri'], + getv(from_object, ['vertex_dataset_resource']), + ) + + if getv(from_object, ['examples']) is not None: + raise ValueError( + 'examples parameter is only supported in Gemini Developer API mode, not' + ' in Gemini Enterprise Agent Platform mode.' + ) + + return to_object + + +def _TuningJob_from_mldev( + from_object: Union[dict[str, Any], object], + parent_object: Optional[dict[str, Any]] = None, + root_object: Optional[Union[dict[str, Any], object]] = None, +) -> dict[str, Any]: + to_object: dict[str, Any] = {} + if getv(from_object, ['sdkHttpResponse']) is not None: + setv( + to_object, ['sdk_http_response'], getv(from_object, ['sdkHttpResponse']) + ) + + if getv(from_object, ['name']) is not None: + setv(to_object, ['name'], getv(from_object, ['name'])) + + if getv(from_object, ['state']) is not None: + setv( + to_object, + ['state'], + t.t_tuning_job_status(getv(from_object, ['state'])), + ) + + if getv(from_object, ['createTime']) is not None: + setv(to_object, ['create_time'], getv(from_object, ['createTime'])) + + if getv(from_object, ['tuningTask', 'startTime']) is not None: + setv( + to_object, + ['start_time'], + getv(from_object, ['tuningTask', 'startTime']), + ) + + if getv(from_object, ['tuningTask', 'completeTime']) is not None: + setv( + to_object, + ['end_time'], + getv(from_object, ['tuningTask', 'completeTime']), + ) + + if getv(from_object, ['updateTime']) is not None: + setv(to_object, ['update_time'], getv(from_object, ['updateTime'])) + + if getv(from_object, ['description']) is not None: + setv(to_object, ['description'], getv(from_object, ['description'])) + + if getv(from_object, ['baseModel']) is not None: + setv(to_object, ['base_model'], getv(from_object, ['baseModel'])) + + if getv(from_object, ['_self']) is not None: + setv( + to_object, + ['tuned_model'], + _TunedModel_from_mldev( + getv(from_object, ['_self']), to_object, root_object + ), + ) + + return to_object + + +def _TuningJob_from_vertex( + from_object: Union[dict[str, Any], object], + parent_object: Optional[dict[str, Any]] = None, + root_object: Optional[Union[dict[str, Any], object]] = None, +) -> dict[str, Any]: + to_object: dict[str, Any] = {} + if getv(from_object, ['sdkHttpResponse']) is not None: + setv( + to_object, ['sdk_http_response'], getv(from_object, ['sdkHttpResponse']) + ) + + if getv(from_object, ['name']) is not None: + setv(to_object, ['name'], getv(from_object, ['name'])) + + if getv(from_object, ['state']) is not None: + setv( + to_object, + ['state'], + t.t_tuning_job_status(getv(from_object, ['state'])), + ) + + if getv(from_object, ['createTime']) is not None: + setv(to_object, ['create_time'], getv(from_object, ['createTime'])) + + if getv(from_object, ['startTime']) is not None: + setv(to_object, ['start_time'], getv(from_object, ['startTime'])) + + if getv(from_object, ['endTime']) is not None: + setv(to_object, ['end_time'], getv(from_object, ['endTime'])) + + if getv(from_object, ['updateTime']) is not None: + setv(to_object, ['update_time'], getv(from_object, ['updateTime'])) + + if getv(from_object, ['error']) is not None: + setv(to_object, ['error'], getv(from_object, ['error'])) + + if getv(from_object, ['description']) is not None: + setv(to_object, ['description'], getv(from_object, ['description'])) + + if getv(from_object, ['baseModel']) is not None: + setv(to_object, ['base_model'], getv(from_object, ['baseModel'])) + + if getv(from_object, ['tunedModel']) is not None: + setv(to_object, ['tuned_model'], getv(from_object, ['tunedModel'])) + + if getv(from_object, ['preTunedModel']) is not None: + setv(to_object, ['pre_tuned_model'], getv(from_object, ['preTunedModel'])) + + if getv(from_object, ['supervisedTuningSpec']) is not None: + setv( + to_object, + ['supervised_tuning_spec'], + getv(from_object, ['supervisedTuningSpec']), + ) + + if getv(from_object, ['preferenceOptimizationSpec']) is not None: + setv( + to_object, + ['preference_optimization_spec'], + getv(from_object, ['preferenceOptimizationSpec']), + ) + + if getv(from_object, ['distillationSpec']) is not None: + setv( + to_object, + ['distillation_spec'], + _DistillationSpec_from_vertex( + getv(from_object, ['distillationSpec']), to_object, root_object + ), + ) + + if getv(from_object, ['reinforcementTuningSpec']) is not None: + setv( + to_object, + ['reinforcement_tuning_spec'], + _ReinforcementTuningSpec_from_vertex( + getv(from_object, ['reinforcementTuningSpec']), + to_object, + root_object, + ), + ) + + if getv(from_object, ['tuningDataStats']) is not None: + setv( + to_object, ['tuning_data_stats'], getv(from_object, ['tuningDataStats']) + ) + + if getv(from_object, ['encryptionSpec']) is not None: + setv(to_object, ['encryption_spec'], getv(from_object, ['encryptionSpec'])) + + if getv(from_object, ['partnerModelTuningSpec']) is not None: + setv( + to_object, + ['partner_model_tuning_spec'], + getv(from_object, ['partnerModelTuningSpec']), + ) + + if getv(from_object, ['evaluationConfig']) is not None: + setv( + to_object, + ['evaluation_config'], + _EvaluationConfig_from_vertex( + getv(from_object, ['evaluationConfig']), to_object, root_object + ), + ) + + if getv(from_object, ['customBaseModel']) is not None: + setv( + to_object, ['custom_base_model'], getv(from_object, ['customBaseModel']) + ) + + if getv(from_object, ['evaluateDatasetRuns']) is not None: + setv( + to_object, + ['evaluate_dataset_runs'], + [item for item in getv(from_object, ['evaluateDatasetRuns'])], + ) + + if getv(from_object, ['experiment']) is not None: + setv(to_object, ['experiment'], getv(from_object, ['experiment'])) + + if getv(from_object, ['fullFineTuningSpec']) is not None: + setv( + to_object, + ['full_fine_tuning_spec'], + getv(from_object, ['fullFineTuningSpec']), + ) + + if getv(from_object, ['labels']) is not None: + setv(to_object, ['labels'], getv(from_object, ['labels'])) + + if getv(from_object, ['outputUri']) is not None: + setv(to_object, ['output_uri'], getv(from_object, ['outputUri'])) + + if getv(from_object, ['pipelineJob']) is not None: + setv(to_object, ['pipeline_job'], getv(from_object, ['pipelineJob'])) + + if getv(from_object, ['serviceAccount']) is not None: + setv(to_object, ['service_account'], getv(from_object, ['serviceAccount'])) + + if getv(from_object, ['tunedModelDisplayName']) is not None: + setv( + to_object, + ['tuned_model_display_name'], + getv(from_object, ['tunedModelDisplayName']), + ) + + if getv(from_object, ['tuningJobState']) is not None: + setv(to_object, ['tuning_job_state'], getv(from_object, ['tuningJobState'])) + + if getv(from_object, ['veoTuningSpec']) is not None: + setv(to_object, ['veo_tuning_spec'], getv(from_object, ['veoTuningSpec'])) + + if getv(from_object, ['tuningJobMetadata']) is not None: + setv( + to_object, + ['tuning_job_metadata'], + getv(from_object, ['tuningJobMetadata']), + ) + + if getv(from_object, ['veoLoraTuningSpec']) is not None: + setv( + to_object, + ['veo_lora_tuning_spec'], + getv(from_object, ['veoLoraTuningSpec']), + ) + + if getv(from_object, ['distillationSamplingSpec']) is not None: + setv( + to_object, + ['distillation_sampling_spec'], + _DistillationSamplingSpec_from_vertex( + getv(from_object, ['distillationSamplingSpec']), + to_object, + root_object, + ), + ) + + if getv(from_object, ['gcsMetricsUri']) is not None: + setv(to_object, ['gcs_metrics_uri'], getv(from_object, ['gcsMetricsUri'])) + + return to_object + + +def _TuningOperation_from_mldev( + from_object: Union[dict[str, Any], object], + parent_object: Optional[dict[str, Any]] = None, + root_object: Optional[Union[dict[str, Any], object]] = None, +) -> dict[str, Any]: + to_object: dict[str, Any] = {} + if getv(from_object, ['sdkHttpResponse']) is not None: + setv( + to_object, ['sdk_http_response'], getv(from_object, ['sdkHttpResponse']) + ) + + if getv(from_object, ['name']) is not None: + setv(to_object, ['name'], getv(from_object, ['name'])) + + if getv(from_object, ['metadata']) is not None: + setv(to_object, ['metadata'], getv(from_object, ['metadata'])) + + if getv(from_object, ['done']) is not None: + setv(to_object, ['done'], getv(from_object, ['done'])) + + if getv(from_object, ['error']) is not None: + setv(to_object, ['error'], getv(from_object, ['error'])) + + return to_object + + +def _TuningValidationDataset_to_vertex( + from_object: Union[dict[str, Any], object], + parent_object: Optional[dict[str, Any]] = None, + root_object: Optional[Union[dict[str, Any], object]] = None, +) -> dict[str, Any]: + to_object: dict[str, Any] = {} + if getv(from_object, ['gcs_uri']) is not None: + setv(to_object, ['validationDatasetUri'], getv(from_object, ['gcs_uri'])) + + if getv(from_object, ['vertex_dataset_resource']) is not None: + setv( + to_object, + ['validationDatasetUri'], + getv(from_object, ['vertex_dataset_resource']), + ) + + return to_object + + +def _UpdateCachedContentConfig_to_mldev( + from_object: Union[dict[str, Any], object], + parent_object: Optional[dict[str, Any]] = None, + root_object: Optional[Union[dict[str, Any], object]] = None, +) -> dict[str, Any]: + to_object: dict[str, Any] = {} + + if getv(from_object, ['ttl']) is not None: + setv(parent_object, ['ttl'], getv(from_object, ['ttl'])) + + if getv(from_object, ['expire_time']) is not None: + setv(parent_object, ['expireTime'], getv(from_object, ['expire_time'])) + + return to_object + + +def _UpdateCachedContentConfig_to_vertex( + from_object: Union[dict[str, Any], object], + parent_object: Optional[dict[str, Any]] = None, + root_object: Optional[Union[dict[str, Any], object]] = None, +) -> dict[str, Any]: + to_object: dict[str, Any] = {} + + if getv(from_object, ['ttl']) is not None: + setv(parent_object, ['ttl'], getv(from_object, ['ttl'])) + + if getv(from_object, ['expire_time']) is not None: + setv(parent_object, ['expireTime'], getv(from_object, ['expire_time'])) + + return to_object + + +def _UpdateCachedContentParameters_to_mldev( + api_client: BaseApiClient, + from_object: Union[dict[str, Any], object], + parent_object: Optional[dict[str, Any]] = None, + root_object: Optional[Union[dict[str, Any], object]] = None, +) -> dict[str, Any]: + to_object: dict[str, Any] = {} + if getv(from_object, ['name']) is not None: + setv( + to_object, + ['_url', 'name'], + t.t_cached_content_name(api_client, getv(from_object, ['name'])), + ) + + if getv(from_object, ['config']) is not None: + _UpdateCachedContentConfig_to_mldev( + getv(from_object, ['config']), to_object, root_object + ) + + return to_object + + +def _UpdateCachedContentParameters_to_vertex( + api_client: BaseApiClient, + from_object: Union[dict[str, Any], object], + parent_object: Optional[dict[str, Any]] = None, + root_object: Optional[Union[dict[str, Any], object]] = None, +) -> dict[str, Any]: + to_object: dict[str, Any] = {} + if getv(from_object, ['name']) is not None: + setv( + to_object, + ['_url', 'name'], + t.t_cached_content_name(api_client, getv(from_object, ['name'])), + ) + + if getv(from_object, ['config']) is not None: + _UpdateCachedContentConfig_to_vertex( + getv(from_object, ['config']), to_object, root_object + ) + + return to_object + + +def _UpdateModelConfig_to_mldev( + from_object: Union[dict[str, Any], object], + parent_object: Optional[dict[str, Any]] = None, + root_object: Optional[Union[dict[str, Any], object]] = None, +) -> dict[str, Any]: + to_object: dict[str, Any] = {} + + if getv(from_object, ['display_name']) is not None: + setv(parent_object, ['displayName'], getv(from_object, ['display_name'])) + + if getv(from_object, ['description']) is not None: + setv(parent_object, ['description'], getv(from_object, ['description'])) + + if getv(from_object, ['default_checkpoint_id']) is not None: + setv( + parent_object, + ['defaultCheckpointId'], + getv(from_object, ['default_checkpoint_id']), + ) + + return to_object + + +def _UpdateModelConfig_to_vertex( + from_object: Union[dict[str, Any], object], + parent_object: Optional[dict[str, Any]] = None, + root_object: Optional[Union[dict[str, Any], object]] = None, +) -> dict[str, Any]: + to_object: dict[str, Any] = {} + + if getv(from_object, ['display_name']) is not None: + setv(parent_object, ['displayName'], getv(from_object, ['display_name'])) + + if getv(from_object, ['description']) is not None: + setv(parent_object, ['description'], getv(from_object, ['description'])) + + if getv(from_object, ['default_checkpoint_id']) is not None: + setv( + parent_object, + ['defaultCheckpointId'], + getv(from_object, ['default_checkpoint_id']), + ) + + return to_object + + +def _UpdateModelParameters_to_mldev( + api_client: BaseApiClient, + from_object: Union[dict[str, Any], object], + parent_object: Optional[dict[str, Any]] = None, + root_object: Optional[Union[dict[str, Any], object]] = None, +) -> dict[str, Any]: + to_object: dict[str, Any] = {} + if getv(from_object, ['model']) is not None: + setv( + to_object, + ['_url', 'name'], + t.t_model(api_client, getv(from_object, ['model'])), + ) + + if getv(from_object, ['config']) is not None: + _UpdateModelConfig_to_mldev( + getv(from_object, ['config']), to_object, root_object + ) + + return to_object + + +def _UpdateModelParameters_to_vertex( + api_client: BaseApiClient, + from_object: Union[dict[str, Any], object], + parent_object: Optional[dict[str, Any]] = None, + root_object: Optional[Union[dict[str, Any], object]] = None, +) -> dict[str, Any]: + to_object: dict[str, Any] = {} + if getv(from_object, ['model']) is not None: + setv( + to_object, + ['_url', 'model'], + t.t_model(api_client, getv(from_object, ['model'])), + ) + + if getv(from_object, ['config']) is not None: + _UpdateModelConfig_to_vertex( + getv(from_object, ['config']), to_object, root_object + ) + + return to_object + + +def _UploadToFileSearchStoreConfig_to_mldev( + from_object: Union[dict[str, Any], object], + parent_object: Optional[dict[str, Any]] = None, + root_object: Optional[Union[dict[str, Any], object]] = None, +) -> dict[str, Any]: + to_object: dict[str, Any] = {} + + if getv(from_object, ['mime_type']) is not None: + setv(parent_object, ['mimeType'], getv(from_object, ['mime_type'])) + + if getv(from_object, ['display_name']) is not None: + setv(parent_object, ['displayName'], getv(from_object, ['display_name'])) + + if getv(from_object, ['custom_metadata']) is not None: + setv( + parent_object, + ['customMetadata'], + [item for item in getv(from_object, ['custom_metadata'])], + ) + + if getv(from_object, ['chunking_config']) is not None: + setv( + parent_object, + ['chunkingConfig'], + getv(from_object, ['chunking_config']), + ) + + return to_object + + +def _UploadToFileSearchStoreOperation_from_mldev( + from_object: Union[dict[str, Any], object], + parent_object: Optional[dict[str, Any]] = None, + root_object: Optional[Union[dict[str, Any], object]] = None, +) -> dict[str, Any]: + to_object: dict[str, Any] = {} + if getv(from_object, ['name']) is not None: + setv(to_object, ['name'], getv(from_object, ['name'])) + + if getv(from_object, ['metadata']) is not None: + setv(to_object, ['metadata'], getv(from_object, ['metadata'])) + + if getv(from_object, ['done']) is not None: + setv(to_object, ['done'], getv(from_object, ['done'])) + + if getv(from_object, ['error']) is not None: + setv(to_object, ['error'], getv(from_object, ['error'])) + + if getv(from_object, ['response']) is not None: + setv( + to_object, + ['response'], + _UploadToFileSearchStoreResponse_from_mldev( + getv(from_object, ['response']), to_object, root_object + ), + ) + + return to_object + + +def _UploadToFileSearchStoreParameters_to_mldev( + from_object: Union[dict[str, Any], object], + parent_object: Optional[dict[str, Any]] = None, + root_object: Optional[Union[dict[str, Any], object]] = None, +) -> dict[str, Any]: + to_object: dict[str, Any] = {} + if getv(from_object, ['file_search_store_name']) is not None: + setv( + to_object, + ['_url', 'file_search_store_name'], + getv(from_object, ['file_search_store_name']), + ) + + if getv(from_object, ['config']) is not None: + _UploadToFileSearchStoreConfig_to_mldev( + getv(from_object, ['config']), to_object, root_object + ) + + return to_object + + +def _UploadToFileSearchStoreResponse_from_mldev( + from_object: Union[dict[str, Any], object], + parent_object: Optional[dict[str, Any]] = None, + root_object: Optional[Union[dict[str, Any], object]] = None, +) -> dict[str, Any]: + to_object: dict[str, Any] = {} + if getv(from_object, ['sdkHttpResponse']) is not None: + setv( + to_object, ['sdk_http_response'], getv(from_object, ['sdkHttpResponse']) + ) + + if getv(from_object, ['parent']) is not None: + setv(to_object, ['parent'], getv(from_object, ['parent'])) + + if getv(from_object, ['documentName']) is not None: + setv(to_object, ['document_name'], getv(from_object, ['documentName'])) + + return to_object + + +def _UploadToFileSearchStoreResumableResponse_from_mldev( + from_object: Union[dict[str, Any], object], + parent_object: Optional[dict[str, Any]] = None, + root_object: Optional[Union[dict[str, Any], object]] = None, +) -> dict[str, Any]: + to_object: dict[str, Any] = {} + if getv(from_object, ['sdkHttpResponse']) is not None: + setv( + to_object, ['sdk_http_response'], getv(from_object, ['sdkHttpResponse']) + ) + + return to_object + + +def _UpscaleImageAPIConfig_to_vertex( + from_object: Union[dict[str, Any], object], + parent_object: Optional[dict[str, Any]] = None, + root_object: Optional[Union[dict[str, Any], object]] = None, +) -> dict[str, Any]: + to_object: dict[str, Any] = {} + + if getv(from_object, ['output_gcs_uri']) is not None: + setv( + parent_object, + ['parameters', 'storageUri'], + getv(from_object, ['output_gcs_uri']), + ) + + if getv(from_object, ['safety_filter_level']) is not None: + setv( + parent_object, + ['parameters', 'safetySetting'], + getv(from_object, ['safety_filter_level']), + ) + + if getv(from_object, ['person_generation']) is not None: + setv( + parent_object, + ['parameters', 'personGeneration'], + getv(from_object, ['person_generation']), + ) + + if getv(from_object, ['include_rai_reason']) is not None: + setv( + parent_object, + ['parameters', 'includeRaiReason'], + getv(from_object, ['include_rai_reason']), + ) + + if getv(from_object, ['output_mime_type']) is not None: + setv( + parent_object, + ['parameters', 'outputOptions', 'mimeType'], + getv(from_object, ['output_mime_type']), + ) + + if getv(from_object, ['output_compression_quality']) is not None: + setv( + parent_object, + ['parameters', 'outputOptions', 'compressionQuality'], + getv(from_object, ['output_compression_quality']), + ) + + if getv(from_object, ['enhance_input_image']) is not None: + setv( + parent_object, + ['parameters', 'upscaleConfig', 'enhanceInputImage'], + getv(from_object, ['enhance_input_image']), + ) + + if getv(from_object, ['image_preservation_factor']) is not None: + setv( + parent_object, + ['parameters', 'upscaleConfig', 'imagePreservationFactor'], + getv(from_object, ['image_preservation_factor']), + ) + + if getv(from_object, ['labels']) is not None: + setv(parent_object, ['labels'], getv(from_object, ['labels'])) + + if getv(from_object, ['number_of_images']) is not None: + setv( + parent_object, + ['parameters', 'sampleCount'], + getv(from_object, ['number_of_images']), + ) + + if getv(from_object, ['mode']) is not None: + setv(parent_object, ['parameters', 'mode'], getv(from_object, ['mode'])) + + return to_object + + +def _UpscaleImageAPIParameters_to_vertex( + api_client: BaseApiClient, + from_object: Union[dict[str, Any], object], + parent_object: Optional[dict[str, Any]] = None, + root_object: Optional[Union[dict[str, Any], object]] = None, +) -> dict[str, Any]: + to_object: dict[str, Any] = {} + if getv(from_object, ['model']) is not None: + setv( + to_object, + ['_url', 'model'], + t.t_model(api_client, getv(from_object, ['model'])), + ) + + if getv(from_object, ['image']) is not None: + setv( + to_object, + ['instances[0]', 'image'], + _Image_to_vertex(getv(from_object, ['image']), to_object, root_object), + ) + + if getv(from_object, ['upscale_factor']) is not None: + setv( + to_object, + ['parameters', 'upscaleConfig', 'upscaleFactor'], + getv(from_object, ['upscale_factor']), + ) + + if getv(from_object, ['config']) is not None: + _UpscaleImageAPIConfig_to_vertex( + getv(from_object, ['config']), to_object, root_object + ) + + return to_object + + +def _UpscaleImageResponse_from_vertex( + from_object: Union[dict[str, Any], object], + parent_object: Optional[dict[str, Any]] = None, + root_object: Optional[Union[dict[str, Any], object]] = None, +) -> dict[str, Any]: + to_object: dict[str, Any] = {} + if getv(from_object, ['sdkHttpResponse']) is not None: + setv( + to_object, ['sdk_http_response'], getv(from_object, ['sdkHttpResponse']) + ) + + if getv(from_object, ['predictions']) is not None: + setv( + to_object, + ['generated_images'], + [ + _GeneratedImage_from_vertex(item, to_object, root_object) + for item in getv(from_object, ['predictions']) + ], + ) + + return to_object + + +def _UsageMetadata_from_vertex( + from_object: Union[dict[str, Any], object], + parent_object: Optional[dict[str, Any]] = None, + root_object: Optional[Union[dict[str, Any], object]] = None, +) -> dict[str, Any]: + to_object: dict[str, Any] = {} + if getv(from_object, ['promptTokenCount']) is not None: + setv( + to_object, + ['prompt_token_count'], + getv(from_object, ['promptTokenCount']), + ) + + if getv(from_object, ['cachedContentTokenCount']) is not None: + setv( + to_object, + ['cached_content_token_count'], + getv(from_object, ['cachedContentTokenCount']), + ) + + if getv(from_object, ['candidatesTokenCount']) is not None: + setv( + to_object, + ['response_token_count'], + getv(from_object, ['candidatesTokenCount']), + ) + + if getv(from_object, ['toolUsePromptTokenCount']) is not None: + setv( + to_object, + ['tool_use_prompt_token_count'], + getv(from_object, ['toolUsePromptTokenCount']), + ) + + if getv(from_object, ['thoughtsTokenCount']) is not None: + setv( + to_object, + ['thoughts_token_count'], + getv(from_object, ['thoughtsTokenCount']), + ) + + if getv(from_object, ['totalTokenCount']) is not None: + setv( + to_object, ['total_token_count'], getv(from_object, ['totalTokenCount']) + ) + + if getv(from_object, ['promptTokensDetails']) is not None: + setv( + to_object, + ['prompt_tokens_details'], + [item for item in getv(from_object, ['promptTokensDetails'])], + ) + + if getv(from_object, ['cacheTokensDetails']) is not None: + setv( + to_object, + ['cache_tokens_details'], + [item for item in getv(from_object, ['cacheTokensDetails'])], + ) + + if getv(from_object, ['candidatesTokensDetails']) is not None: + setv( + to_object, + ['response_tokens_details'], + [item for item in getv(from_object, ['candidatesTokensDetails'])], + ) + + if getv(from_object, ['toolUsePromptTokensDetails']) is not None: + setv( + to_object, + ['tool_use_prompt_tokens_details'], + [item for item in getv(from_object, ['toolUsePromptTokensDetails'])], + ) + + if getv(from_object, ['trafficType']) is not None: + setv(to_object, ['traffic_type'], getv(from_object, ['trafficType'])) + + return to_object + + +def _ValidateRewardParameters_to_vertex( + from_object: Union[dict[str, Any], object], + parent_object: Optional[dict[str, Any]] = None, + root_object: Optional[Union[dict[str, Any], object]] = None, +) -> dict[str, Any]: + to_object: dict[str, Any] = {} + if getv(from_object, ['parent']) is not None: + setv(to_object, ['_url', 'parent'], getv(from_object, ['parent'])) + + if getv(from_object, ['sample_response']) is not None: + setv( + to_object, + ['sampleResponse'], + _Content_to_vertex( + getv(from_object, ['sample_response']), to_object, root_object + ), + ) + + if getv(from_object, ['example']) is not None: + setv( + to_object, + ['example'], + _ReinforcementTuningExample_to_vertex( + getv(from_object, ['example']), to_object, root_object + ), + ) + + if getv(from_object, ['single_reward_config']) is not None: + setv( + to_object, + ['singleRewardConfig'], + _SingleReinforcementTuningRewardConfig_to_vertex( + getv(from_object, ['single_reward_config']), to_object, root_object + ), + ) + + if getv(from_object, ['composite_reward_config']) is not None: + setv( + to_object, + ['compositeRewardConfig'], + _CompositeReinforcementTuningRewardConfig_to_vertex( + getv(from_object, ['composite_reward_config']), + to_object, + root_object, + ), + ) + + return to_object + + +def _ValidateRewardResponse_from_vertex( + from_object: Union[dict[str, Any], object], + parent_object: Optional[dict[str, Any]] = None, + root_object: Optional[Union[dict[str, Any], object]] = None, +) -> dict[str, Any]: + to_object: dict[str, Any] = {} + if getv(from_object, ['sdkHttpResponse']) is not None: + setv( + to_object, ['sdk_http_response'], getv(from_object, ['sdkHttpResponse']) + ) + + if getv(from_object, ['overallReward']) is not None: + setv(to_object, ['overall_reward'], getv(from_object, ['overallReward'])) + + if getv(from_object, ['error']) is not None: + setv(to_object, ['error'], getv(from_object, ['error'])) + + if getv(from_object, ['rewardInfoDetails']) is not None: + setv( + to_object, + ['reward_info_details'], + {k: v for k, v in getv(from_object, ['rewardInfoDetails']).items()}, + ) + + return to_object + + +def _VertexMultimodalDatasetDestination_from_vertex( + from_object: Union[dict[str, Any], object], + parent_object: Optional[dict[str, Any]] = None, + root_object: Optional[Union[dict[str, Any], object]] = None, +) -> dict[str, Any]: + to_object: dict[str, Any] = {} + if getv(from_object, ['bigqueryDestination', 'outputUri']) is not None: + setv( + to_object, + ['bigquery_destination'], + getv(from_object, ['bigqueryDestination', 'outputUri']), + ) + + if getv(from_object, ['displayName']) is not None: + setv(to_object, ['display_name'], getv(from_object, ['displayName'])) + + return to_object + + +def _VertexMultimodalDatasetDestination_to_vertex( + from_object: Union[dict[str, Any], object], + parent_object: Optional[dict[str, Any]] = None, + root_object: Optional[Union[dict[str, Any], object]] = None, +) -> dict[str, Any]: + to_object: dict[str, Any] = {} + if getv(from_object, ['bigquery_destination']) is not None: + setv( + to_object, + ['bigqueryDestination', 'outputUri'], + getv(from_object, ['bigquery_destination']), + ) + + if getv(from_object, ['display_name']) is not None: + setv(to_object, ['displayName'], getv(from_object, ['display_name'])) + + return to_object + + +def _VideoGenerationMask_to_vertex( + from_object: Union[dict[str, Any], object], + parent_object: Optional[dict[str, Any]] = None, + root_object: Optional[Union[dict[str, Any], object]] = None, +) -> dict[str, Any]: + to_object: dict[str, Any] = {} + if getv(from_object, ['image']) is not None: + setv( + to_object, + ['_self'], + _Image_to_vertex(getv(from_object, ['image']), to_object, root_object), + ) + + if getv(from_object, ['mask_mode']) is not None: + setv(to_object, ['maskMode'], getv(from_object, ['mask_mode'])) + + return to_object + + +def _VideoGenerationReferenceImage_to_mldev( + from_object: Union[dict[str, Any], object], + parent_object: Optional[dict[str, Any]] = None, + root_object: Optional[Union[dict[str, Any], object]] = None, +) -> dict[str, Any]: + to_object: dict[str, Any] = {} + if getv(from_object, ['image']) is not None: + setv( + to_object, + ['image'], + _Image_to_mldev(getv(from_object, ['image']), to_object, root_object), + ) + + if getv(from_object, ['reference_type']) is not None: + _VideoGenerationReferenceType_to_mldev_enum_validate( + getv(from_object, ['reference_type']) + ) + setv(to_object, ['referenceType'], getv(from_object, ['reference_type'])) + + return to_object + + +def _VideoGenerationReferenceImage_to_vertex( + from_object: Union[dict[str, Any], object], + parent_object: Optional[dict[str, Any]] = None, + root_object: Optional[Union[dict[str, Any], object]] = None, +) -> dict[str, Any]: + to_object: dict[str, Any] = {} + if getv(from_object, ['image']) is not None: + setv( + to_object, + ['image'], + _Image_to_vertex(getv(from_object, ['image']), to_object, root_object), + ) + + if getv(from_object, ['reference_type']) is not None: + setv(to_object, ['referenceType'], getv(from_object, ['reference_type'])) + + return to_object + + +def _Video_from_mldev( + from_object: Union[dict[str, Any], object], + parent_object: Optional[dict[str, Any]] = None, + root_object: Optional[Union[dict[str, Any], object]] = None, +) -> dict[str, Any]: + to_object: dict[str, Any] = {} + if getv(from_object, ['uri']) is not None: + setv(to_object, ['uri'], getv(from_object, ['uri'])) + + if getv(from_object, ['encodedVideo']) is not None: + setv( + to_object, + ['video_bytes'], + base_t.t_bytes(getv(from_object, ['encodedVideo'])), + ) + + if getv(from_object, ['encoding']) is not None: + setv(to_object, ['mime_type'], getv(from_object, ['encoding'])) + + return to_object + + +def _Video_from_vertex( + from_object: Union[dict[str, Any], object], + parent_object: Optional[dict[str, Any]] = None, + root_object: Optional[Union[dict[str, Any], object]] = None, +) -> dict[str, Any]: + to_object: dict[str, Any] = {} + if getv(from_object, ['gcsUri']) is not None: + setv(to_object, ['uri'], getv(from_object, ['gcsUri'])) + + if getv(from_object, ['bytesBase64Encoded']) is not None: + setv( + to_object, + ['video_bytes'], + base_t.t_bytes(getv(from_object, ['bytesBase64Encoded'])), + ) + + if getv(from_object, ['mimeType']) is not None: + setv(to_object, ['mime_type'], getv(from_object, ['mimeType'])) + + return to_object + + +def _Video_to_mldev( + from_object: Union[dict[str, Any], object], + parent_object: Optional[dict[str, Any]] = None, + root_object: Optional[Union[dict[str, Any], object]] = None, +) -> dict[str, Any]: + to_object: dict[str, Any] = {} + if getv(from_object, ['uri']) is not None: + setv(to_object, ['uri'], getv(from_object, ['uri'])) + + if getv(from_object, ['video_bytes']) is not None: + setv( + to_object, + ['encodedVideo'], + base_t.t_bytes(getv(from_object, ['video_bytes'])), + ) + + if getv(from_object, ['mime_type']) is not None: + setv(to_object, ['encoding'], getv(from_object, ['mime_type'])) + + return to_object + + +def _Video_to_vertex( + from_object: Union[dict[str, Any], object], + parent_object: Optional[dict[str, Any]] = None, + root_object: Optional[Union[dict[str, Any], object]] = None, +) -> dict[str, Any]: + to_object: dict[str, Any] = {} + if getv(from_object, ['uri']) is not None: + setv(to_object, ['gcsUri'], getv(from_object, ['uri'])) + + if getv(from_object, ['video_bytes']) is not None: + setv( + to_object, + ['bytesBase64Encoded'], + base_t.t_bytes(getv(from_object, ['video_bytes'])), + ) + + if getv(from_object, ['mime_type']) is not None: + setv(to_object, ['mimeType'], getv(from_object, ['mime_type'])) + + return to_object + + +def _VoiceActivity_from_mldev( + from_object: Union[dict[str, Any], object], + parent_object: Optional[dict[str, Any]] = None, + root_object: Optional[Union[dict[str, Any], object]] = None, +) -> dict[str, Any]: + to_object: dict[str, Any] = {} + if getv(from_object, ['type']) is not None: + setv(to_object, ['voice_activity_type'], getv(from_object, ['type'])) + + if getv(from_object, ['audioOffset']) is not None: + setv(to_object, ['audio_offset'], getv(from_object, ['audioOffset'])) + + return to_object + + +def _VoiceActivity_from_vertex( + from_object: Union[dict[str, Any], object], + parent_object: Optional[dict[str, Any]] = None, + root_object: Optional[Union[dict[str, Any], object]] = None, +) -> dict[str, Any]: + to_object: dict[str, Any] = {} + if getv(from_object, ['type']) is not None: + setv(to_object, ['voice_activity_type'], getv(from_object, ['type'])) + + if getv(from_object, ['audioOffset']) is not None: + setv(to_object, ['audio_offset'], getv(from_object, ['audioOffset'])) + + return to_object + + +def _VoiceConfig_to_vertex( + from_object: Union[dict[str, Any], object], + parent_object: Optional[dict[str, Any]] = None, + root_object: Optional[Union[dict[str, Any], object]] = None, +) -> dict[str, Any]: + to_object: dict[str, Any] = {} + if getv(from_object, ['replicated_voice_config']) is not None: + setv( + to_object, + ['replicatedVoiceConfig'], + _ReplicatedVoiceConfig_to_vertex( + getv(from_object, ['replicated_voice_config']), + to_object, + root_object, + ), + ) + + if getv(from_object, ['prebuilt_voice_config']) is not None: + setv( + to_object, + ['prebuiltVoiceConfig'], + getv(from_object, ['prebuilt_voice_config']), + ) + + if getv(from_object, ['voice']) is not None: + setv(to_object, ['voice'], getv(from_object, ['voice'])) + + return to_object diff --git a/google/genai/_live_converters.py b/google/genai/_live_converters.py deleted file mode 100644 index 97fda765a1..0000000000 --- a/google/genai/_live_converters.py +++ /dev/null @@ -1,2052 +0,0 @@ -# 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 _AuthConfig_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, ['api_key']) is not None: - setv(to_object, ['apiKey'], getv(from_object, ['api_key'])) - - if getv(from_object, ['api_key_config']) is not None: - raise ValueError( - 'api_key_config parameter is only supported in Gemini Enterprise Agent' - ' Platform mode, not in Gemini Developer API mode.' - ) - - if getv(from_object, ['auth_type']) is not None: - raise ValueError( - 'auth_type parameter is only supported in Gemini Enterprise Agent' - ' Platform mode, not in Gemini Developer API mode.' - ) - - if getv(from_object, ['google_service_account_config']) is not None: - raise ValueError( - 'google_service_account_config parameter is only supported in Gemini' - ' Enterprise Agent Platform mode, not in Gemini Developer API mode.' - ) - - if getv(from_object, ['http_basic_auth_config']) is not None: - raise ValueError( - 'http_basic_auth_config parameter is only supported in Gemini' - ' Enterprise Agent Platform mode, not in Gemini Developer API mode.' - ) - - if getv(from_object, ['oauth_config']) is not None: - raise ValueError( - 'oauth_config parameter is only supported in Gemini Enterprise Agent' - ' Platform mode, not in Gemini Developer API mode.' - ) - - if getv(from_object, ['oidc_config']) is not None: - raise ValueError( - 'oidc_config parameter is only supported in Gemini Enterprise Agent' - ' Platform mode, not in Gemini Developer API mode.' - ) - - 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 _Content_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, ['parts']) is not None: - setv( - to_object, - ['parts'], - [ - _Part_to_vertex(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 _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 only supported in Gemini Enterprise Agent' - ' Platform mode, not in Gemini Developer API mode.' - ) - - if getv(from_object, ['will_continue']) is not None: - raise ValueError( - 'will_continue parameter is only supported in Gemini Enterprise Agent' - ' Platform mode, not in Gemini Developer API mode.' - ) - - return to_object - - -def _GenerationConfig_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, ['model_selection_config']) is not None: - setv( - to_object, - ['modelConfig'], - getv(from_object, ['model_selection_config']), - ) - - if getv(from_object, ['response_json_schema']) is not None: - setv( - to_object, - ['responseJsonSchema'], - t.t_json_schema(getv(from_object, ['response_json_schema'])), - ) - - if getv(from_object, ['audio_timestamp']) is not None: - setv(to_object, ['audioTimestamp'], getv(from_object, ['audio_timestamp'])) - - if getv(from_object, ['candidate_count']) is not None: - setv(to_object, ['candidateCount'], getv(from_object, ['candidate_count'])) - - if getv(from_object, ['enable_affective_dialog']) is not None: - setv( - to_object, - ['enableAffectiveDialog'], - getv(from_object, ['enable_affective_dialog']), - ) - - if getv(from_object, ['frequency_penalty']) is not None: - setv( - to_object, - ['frequencyPenalty'], - getv(from_object, ['frequency_penalty']), - ) - - if getv(from_object, ['logprobs']) is not None: - setv(to_object, ['logprobs'], getv(from_object, ['logprobs'])) - - if getv(from_object, ['max_output_tokens']) is not None: - setv( - to_object, ['maxOutputTokens'], getv(from_object, ['max_output_tokens']) - ) - - if getv(from_object, ['media_resolution']) is not None: - setv( - to_object, ['mediaResolution'], getv(from_object, ['media_resolution']) - ) - - if getv(from_object, ['presence_penalty']) is not None: - setv( - to_object, ['presencePenalty'], getv(from_object, ['presence_penalty']) - ) - - if getv(from_object, ['response_logprobs']) is not None: - setv( - to_object, - ['responseLogprobs'], - getv(from_object, ['response_logprobs']), - ) - - if getv(from_object, ['response_mime_type']) is not None: - setv( - to_object, - ['responseMimeType'], - getv(from_object, ['response_mime_type']), - ) - - if getv(from_object, ['response_modalities']) is not None: - setv( - to_object, - ['responseModalities'], - getv(from_object, ['response_modalities']), - ) - - if getv(from_object, ['response_schema']) is not None: - setv(to_object, ['responseSchema'], getv(from_object, ['response_schema'])) - - if getv(from_object, ['routing_config']) is not None: - setv(to_object, ['routingConfig'], getv(from_object, ['routing_config'])) - - if getv(from_object, ['seed']) is not None: - setv(to_object, ['seed'], getv(from_object, ['seed'])) - - if getv(from_object, ['speech_config']) is not None: - setv( - to_object, - ['speechConfig'], - _SpeechConfig_to_vertex( - getv(from_object, ['speech_config']), to_object - ), - ) - - if getv(from_object, ['stop_sequences']) is not None: - setv(to_object, ['stopSequences'], getv(from_object, ['stop_sequences'])) - - if getv(from_object, ['temperature']) is not None: - setv(to_object, ['temperature'], getv(from_object, ['temperature'])) - - if getv(from_object, ['thinking_config']) is not None: - setv(to_object, ['thinkingConfig'], getv(from_object, ['thinking_config'])) - - if getv(from_object, ['top_k']) is not None: - setv(to_object, ['topK'], getv(from_object, ['top_k'])) - - if getv(from_object, ['top_p']) is not None: - setv(to_object, ['topP'], getv(from_object, ['top_p'])) - - if getv(from_object, ['enable_enhanced_civic_answers']) is not None: - raise ValueError( - 'enable_enhanced_civic_answers parameter is only supported in Gemini' - ' Developer API mode, not in Gemini Enterprise Agent Platform mode.' - ) - - if getv(from_object, ['response_format']) is not None: - setv( - to_object, - ['responseFormat'], - [item for item in getv(from_object, ['response_format'])], - ) - - if getv(from_object, ['translation_config']) is not None: - setv( - to_object, - ['translationConfig'], - _TranslationConfig_to_vertex( - getv(from_object, ['translation_config']), to_object - ), - ) - - if getv(from_object, ['audio_transcription_config']) is not None: - setv( - to_object, - ['audioTranscriptionConfig'], - getv(from_object, ['audio_transcription_config']), - ) - - 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: - setv( - to_object, - ['authConfig'], - _AuthConfig_to_mldev(getv(from_object, ['auth_config']), to_object), - ) - - if getv(from_object, ['enable_widget']) is not None: - setv(to_object, ['enableWidget'], getv(from_object, ['enable_widget'])) - - if getv(from_object, ['grounding_types']) is not None: - raise ValueError( - 'grounding_types parameter is only supported in Gemini Enterprise Agent' - ' Platform mode, not in Gemini Developer API mode.' - ) - - 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, ['search_types']) is not None: - setv(to_object, ['searchTypes'], getv(from_object, ['search_types'])) - - if getv(from_object, ['blocking_confidence']) is not None: - raise ValueError( - 'blocking_confidence parameter is only supported in Gemini Enterprise' - ' Agent Platform mode, not in Gemini Developer API mode.' - ) - - if getv(from_object, ['exclude_domains']) is not None: - raise ValueError( - 'exclude_domains parameter is only supported in Gemini Enterprise Agent' - ' Platform mode, not in Gemini Developer API mode.' - ) - - if getv(from_object, ['time_range_filter']) is not None: - setv( - to_object, ['timeRangeFilter'], getv(from_object, ['time_range_filter']) - ) - - return to_object - - -def _LiveClientContent_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, ['turns']) is not None: - setv( - to_object, - ['turns'], - [ - _Content_to_mldev(item, to_object) - for item in getv(from_object, ['turns']) - ], - ) - - if getv(from_object, ['turn_complete']) is not None: - setv(to_object, ['turnComplete'], getv(from_object, ['turn_complete'])) - - return to_object - - -def _LiveClientContent_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, ['turns']) is not None: - setv( - to_object, - ['turns'], - [ - _Content_to_vertex(item, to_object) - for item in getv(from_object, ['turns']) - ], - ) - - if getv(from_object, ['turn_complete']) is not None: - setv(to_object, ['turnComplete'], getv(from_object, ['turn_complete'])) - - return to_object - - -def _LiveClientMessage_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, ['setup']) is not None: - setv( - to_object, - ['setup'], - _LiveClientSetup_to_mldev( - api_client, getv(from_object, ['setup']), to_object - ), - ) - - if getv(from_object, ['client_content']) is not None: - setv( - to_object, - ['clientContent'], - _LiveClientContent_to_mldev( - getv(from_object, ['client_content']), to_object - ), - ) - - if getv(from_object, ['realtime_input']) is not None: - setv(to_object, ['realtimeInput'], getv(from_object, ['realtime_input'])) - - if getv(from_object, ['tool_response']) is not None: - setv(to_object, ['toolResponse'], getv(from_object, ['tool_response'])) - - return to_object - - -def _LiveClientMessage_to_vertex( - 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, ['setup']) is not None: - setv( - to_object, - ['setup'], - _LiveClientSetup_to_vertex( - api_client, getv(from_object, ['setup']), to_object - ), - ) - - if getv(from_object, ['client_content']) is not None: - setv( - to_object, - ['clientContent'], - _LiveClientContent_to_vertex( - getv(from_object, ['client_content']), to_object - ), - ) - - if getv(from_object, ['realtime_input']) is not None: - setv( - to_object, - ['realtimeInput'], - _LiveClientRealtimeInput_to_vertex( - getv(from_object, ['realtime_input']), to_object - ), - ) - - if getv(from_object, ['tool_response']) is not None: - setv(to_object, ['toolResponse'], getv(from_object, ['tool_response'])) - - return to_object - - -def _LiveClientRealtimeInput_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, ['media_chunks']) is not None: - setv( - to_object, - ['mediaChunks'], - [item for item in getv(from_object, ['media_chunks'])], - ) - - if getv(from_object, ['audio']) is not None: - setv(to_object, ['audio'], getv(from_object, ['audio'])) - - if getv(from_object, ['audio_stream_end']) is not None: - raise ValueError( - 'audio_stream_end parameter is only supported in Gemini Developer API' - ' mode, not in Gemini Enterprise Agent Platform mode.' - ) - - if getv(from_object, ['video']) is not None: - setv(to_object, ['video'], getv(from_object, ['video'])) - - if getv(from_object, ['text']) is not None: - setv(to_object, ['text'], getv(from_object, ['text'])) - - if getv(from_object, ['activity_start']) is not None: - setv(to_object, ['activityStart'], getv(from_object, ['activity_start'])) - - if getv(from_object, ['activity_end']) is not None: - setv(to_object, ['activityEnd'], getv(from_object, ['activity_end'])) - - return to_object - - -def _LiveClientSetup_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, ['model'], getv(from_object, ['model'])) - - if getv(from_object, ['generation_config']) is not None: - setv( - to_object, - ['generationConfig'], - getv(from_object, ['generation_config']), - ) - - if getv(from_object, ['system_instruction']) is not None: - setv( - to_object, - ['systemInstruction'], - _Content_to_mldev( - t.t_content(getv(from_object, ['system_instruction'])), to_object - ), - ) - - if getv(from_object, ['tools']) is not None: - setv( - to_object, - ['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( - to_object, - ['sessionResumption'], - _SessionResumptionConfig_to_mldev( - getv(from_object, ['session_resumption']), to_object - ), - ) - - if getv(from_object, ['context_window_compression']) is not None: - setv( - to_object, - ['contextWindowCompression'], - getv(from_object, ['context_window_compression']), - ) - - if getv(from_object, ['input_audio_transcription']) is not None: - setv( - to_object, - ['inputAudioTranscription'], - getv(from_object, ['input_audio_transcription']), - ) - - if getv(from_object, ['output_audio_transcription']) is not None: - setv( - to_object, - ['outputAudioTranscription'], - getv(from_object, ['output_audio_transcription']), - ) - - if getv(from_object, ['proactivity']) is not None: - setv(to_object, ['proactivity'], getv(from_object, ['proactivity'])) - - if getv(from_object, ['explicit_vad_signal']) is not None: - raise ValueError( - 'explicit_vad_signal parameter is only supported in Gemini Enterprise' - ' Agent Platform mode, not in Gemini Developer API mode.' - ) - - if getv(from_object, ['history_config']) is not None: - setv(to_object, ['historyConfig'], getv(from_object, ['history_config'])) - - if getv(from_object, ['avatar_config']) is not None: - setv(to_object, ['avatarConfig'], getv(from_object, ['avatar_config'])) - - if getv(from_object, ['safety_settings']) is not None: - setv( - to_object, - ['safetySettings'], - [ - _SafetySetting_to_mldev(item, to_object) - for item in getv(from_object, ['safety_settings']) - ], - ) - - if getv(from_object, ['labels']) is not None: - setv(to_object, ['labels'], getv(from_object, ['labels'])) - - return to_object - - -def _LiveClientSetup_to_vertex( - 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, ['model'], getv(from_object, ['model'])) - - if getv(from_object, ['generation_config']) is not None: - setv( - to_object, - ['generationConfig'], - _GenerationConfig_to_vertex( - getv(from_object, ['generation_config']), to_object - ), - ) - - if getv(from_object, ['system_instruction']) is not None: - setv( - to_object, - ['systemInstruction'], - _Content_to_vertex( - t.t_content(getv(from_object, ['system_instruction'])), to_object - ), - ) - - if getv(from_object, ['tools']) is not None: - setv( - to_object, - ['tools'], - [ - _Tool_to_vertex(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( - to_object, - ['sessionResumption'], - getv(from_object, ['session_resumption']), - ) - - if getv(from_object, ['context_window_compression']) is not None: - setv( - to_object, - ['contextWindowCompression'], - getv(from_object, ['context_window_compression']), - ) - - if getv(from_object, ['input_audio_transcription']) is not None: - setv( - to_object, - ['inputAudioTranscription'], - getv(from_object, ['input_audio_transcription']), - ) - - if getv(from_object, ['output_audio_transcription']) is not None: - setv( - to_object, - ['outputAudioTranscription'], - getv(from_object, ['output_audio_transcription']), - ) - - if getv(from_object, ['proactivity']) is not None: - setv(to_object, ['proactivity'], getv(from_object, ['proactivity'])) - - if getv(from_object, ['explicit_vad_signal']) is not None: - setv( - to_object, - ['explicitVadSignal'], - getv(from_object, ['explicit_vad_signal']), - ) - - if getv(from_object, ['history_config']) is not None: - setv(to_object, ['historyConfig'], getv(from_object, ['history_config'])) - - if getv(from_object, ['avatar_config']) is not None: - setv(to_object, ['avatarConfig'], getv(from_object, ['avatar_config'])) - - if getv(from_object, ['safety_settings']) is not None: - setv( - to_object, - ['safetySettings'], - [item for item in getv(from_object, ['safety_settings'])], - ) - - if getv(from_object, ['labels']) is not None: - raise ValueError( - 'labels parameter is only supported in Gemini Developer API mode, not' - ' in Gemini Enterprise Agent Platform mode.' - ) - - 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 only supported in Gemini Enterprise' - ' Agent Platform mode, not in Gemini Developer API mode.' - ) - - if getv(from_object, ['history_config']) is not None: - setv( - parent_object, - ['setup', 'historyConfig'], - getv(from_object, ['history_config']), - ) - - if getv(from_object, ['avatar_config']) is not None: - setv( - parent_object, - ['setup', 'avatarConfig'], - getv(from_object, ['avatar_config']), - ) - - if getv(from_object, ['safety_settings']) is not None: - setv( - parent_object, - ['setup', 'safetySettings'], - [ - _SafetySetting_to_mldev(item, to_object) - for item in getv(from_object, ['safety_settings']) - ], - ) - - if getv(from_object, ['translation_config']) is not None: - setv( - parent_object, - ['setup', 'generationConfig', 'translationConfig'], - _TranslationConfig_to_mldev( - getv(from_object, ['translation_config']), to_object - ), - ) - - return to_object - - -def _LiveConnectConfig_to_vertex( - 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'], - _GenerationConfig_to_vertex( - getv(from_object, ['generation_config']), to_object - ), - ) - - 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'], - _SpeechConfig_to_vertex( - t.t_live_speech_config(getv(from_object, ['speech_config'])), - to_object, - ), - ) - - 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_vertex( - 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_vertex(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'], - getv(from_object, ['session_resumption']), - ) - - 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: - setv( - parent_object, - ['setup', 'explicitVadSignal'], - getv(from_object, ['explicit_vad_signal']), - ) - - if getv(from_object, ['history_config']) is not None: - setv( - parent_object, - ['setup', 'historyConfig'], - getv(from_object, ['history_config']), - ) - - if getv(from_object, ['avatar_config']) is not None: - setv( - parent_object, - ['setup', 'avatarConfig'], - getv(from_object, ['avatar_config']), - ) - - if getv(from_object, ['safety_settings']) is not None: - setv( - parent_object, - ['setup', 'safetySettings'], - [item for item in getv(from_object, ['safety_settings'])], - ) - - if getv(from_object, ['translation_config']) is not None: - setv( - parent_object, - ['setup', 'generationConfig', 'translationConfig'], - _TranslationConfig_to_vertex( - getv(from_object, ['translation_config']), to_object - ), - ) - - return to_object - - -def _LiveConnectParameters_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 _LiveConnectParameters_to_vertex( - 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_vertex( - api_client, getv(from_object, ['config']), to_object - ), - ) - - return to_object - - -def _LiveMusicClientMessage_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, ['setup']) is not None: - raise ValueError( - 'setup parameter is only supported in Gemini Developer API mode, not in' - ' Gemini Enterprise Agent Platform mode.' - ) - - if getv(from_object, ['client_content']) is not None: - raise ValueError( - 'client_content parameter is only supported in Gemini Developer API' - ' mode, not in Gemini Enterprise Agent Platform mode.' - ) - - if getv(from_object, ['music_generation_config']) is not None: - raise ValueError( - 'music_generation_config parameter is only supported in Gemini' - ' Developer API mode, not in Gemini Enterprise Agent Platform mode.' - ) - - if getv(from_object, ['playback_control']) is not None: - raise ValueError( - 'playback_control parameter is only supported in Gemini Developer API' - ' mode, not in Gemini Enterprise Agent Platform mode.' - ) - - return to_object - - -def _LiveMusicConnectParameters_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, ['model']) is not None: - setv(to_object, ['setup', 'model'], getv(from_object, ['model'])) - - return to_object - - -def _LiveMusicConnectParameters_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, ['model']) is not None: - raise ValueError( - 'model parameter is only supported in Gemini Developer API mode, not in' - ' Gemini Enterprise Agent Platform mode.' - ) - - return to_object - - -def _LiveMusicSetConfigParameters_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, ['music_generation_config']) is not None: - setv( - to_object, - ['musicGenerationConfig'], - getv(from_object, ['music_generation_config']), - ) - - return to_object - - -def _LiveMusicSetConfigParameters_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, ['music_generation_config']) is not None: - raise ValueError( - 'music_generation_config parameter is only supported in Gemini' - ' Developer API mode, not in Gemini Enterprise Agent Platform mode.' - ) - - return to_object - - -def _LiveMusicSetWeightedPromptsParameters_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, ['weighted_prompts']) is not None: - setv( - to_object, - ['weightedPrompts'], - [item for item in getv(from_object, ['weighted_prompts'])], - ) - - return to_object - - -def _LiveMusicSetWeightedPromptsParameters_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, ['weighted_prompts']) is not None: - raise ValueError( - 'weighted_prompts parameter is only supported in Gemini Developer API' - ' mode, not in Gemini Enterprise Agent Platform mode.' - ) - - return to_object - - -def _LiveSendRealtimeInputParameters_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']) is not None: - setv( - to_object, - ['mediaChunks'], - [item for item in t.t_blobs(getv(from_object, ['media']))], - ) - - if getv(from_object, ['audio']) is not None: - setv(to_object, ['audio'], t.t_audio_blob(getv(from_object, ['audio']))) - - if getv(from_object, ['audio_stream_end']) is not None: - setv(to_object, ['audioStreamEnd'], getv(from_object, ['audio_stream_end'])) - - if getv(from_object, ['video']) is not None: - setv(to_object, ['video'], t.t_image_blob(getv(from_object, ['video']))) - - if getv(from_object, ['text']) is not None: - setv(to_object, ['text'], getv(from_object, ['text'])) - - if getv(from_object, ['activity_start']) is not None: - setv(to_object, ['activityStart'], getv(from_object, ['activity_start'])) - - if getv(from_object, ['activity_end']) is not None: - setv(to_object, ['activityEnd'], getv(from_object, ['activity_end'])) - - return to_object - - -def _LiveSendRealtimeInputParameters_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, ['media']) is not None: - setv( - to_object, - ['mediaChunks'], - [item for item in t.t_blobs(getv(from_object, ['media']))], - ) - - if getv(from_object, ['audio']) is not None: - setv(to_object, ['audio'], t.t_audio_blob(getv(from_object, ['audio']))) - - if getv(from_object, ['audio_stream_end']) is not None: - setv(to_object, ['audioStreamEnd'], getv(from_object, ['audio_stream_end'])) - - if getv(from_object, ['video']) is not None: - setv(to_object, ['video'], t.t_image_blob(getv(from_object, ['video']))) - - if getv(from_object, ['text']) is not None: - setv(to_object, ['text'], getv(from_object, ['text'])) - - if getv(from_object, ['activity_start']) is not None: - setv(to_object, ['activityStart'], getv(from_object, ['activity_start'])) - - if getv(from_object, ['activity_end']) is not None: - setv(to_object, ['activityEnd'], getv(from_object, ['activity_end'])) - - return to_object - - -def _LiveServerMessage_from_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, ['setupComplete']) is not None: - setv(to_object, ['setup_complete'], getv(from_object, ['setupComplete'])) - - if getv(from_object, ['serverContent']) is not None: - setv(to_object, ['server_content'], getv(from_object, ['serverContent'])) - - if getv(from_object, ['toolCall']) is not None: - setv(to_object, ['tool_call'], getv(from_object, ['toolCall'])) - - if getv(from_object, ['toolCallCancellation']) is not None: - setv( - to_object, - ['tool_call_cancellation'], - getv(from_object, ['toolCallCancellation']), - ) - - if getv(from_object, ['usageMetadata']) is not None: - setv(to_object, ['usage_metadata'], getv(from_object, ['usageMetadata'])) - - if getv(from_object, ['goAway']) is not None: - setv(to_object, ['go_away'], getv(from_object, ['goAway'])) - - if getv(from_object, ['sessionResumptionUpdate']) is not None: - setv( - to_object, - ['session_resumption_update'], - getv(from_object, ['sessionResumptionUpdate']), - ) - - if getv(from_object, ['voiceActivityDetectionSignal']) is not None: - setv( - to_object, - ['voice_activity_detection_signal'], - getv(from_object, ['voiceActivityDetectionSignal']), - ) - - if getv(from_object, ['voiceActivity']) is not None: - setv( - to_object, - ['voice_activity'], - _VoiceActivity_from_mldev( - getv(from_object, ['voiceActivity']), to_object - ), - ) - - return to_object - - -def _LiveServerMessage_from_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, ['setupComplete']) is not None: - setv(to_object, ['setup_complete'], getv(from_object, ['setupComplete'])) - - if getv(from_object, ['serverContent']) is not None: - setv(to_object, ['server_content'], getv(from_object, ['serverContent'])) - - if getv(from_object, ['toolCall']) is not None: - setv(to_object, ['tool_call'], getv(from_object, ['toolCall'])) - - if getv(from_object, ['toolCallCancellation']) is not None: - setv( - to_object, - ['tool_call_cancellation'], - getv(from_object, ['toolCallCancellation']), - ) - - if getv(from_object, ['usageMetadata']) is not None: - setv( - to_object, - ['usage_metadata'], - _UsageMetadata_from_vertex( - getv(from_object, ['usageMetadata']), to_object - ), - ) - - if getv(from_object, ['goAway']) is not None: - setv(to_object, ['go_away'], getv(from_object, ['goAway'])) - - if getv(from_object, ['sessionResumptionUpdate']) is not None: - setv( - to_object, - ['session_resumption_update'], - getv(from_object, ['sessionResumptionUpdate']), - ) - - if getv(from_object, ['voiceActivityDetectionSignal']) is not None: - setv( - to_object, - ['voice_activity_detection_signal'], - getv(from_object, ['voiceActivityDetectionSignal']), - ) - - if getv(from_object, ['voiceActivity']) is not None: - setv( - to_object, - ['voice_activity'], - _VoiceActivity_from_vertex( - getv(from_object, ['voiceActivity']), to_object - ), - ) - - return to_object - - -def _McpServer_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, ['name']) is not None: - raise ValueError( - 'name parameter is only supported in Gemini Developer API mode, not in' - ' Gemini Enterprise Agent Platform mode.' - ) - - if getv(from_object, ['streamable_http_transport']) is not None: - raise ValueError( - 'streamable_http_transport parameter is only supported in Gemini' - ' Developer API mode, not in Gemini Enterprise Agent Platform mode.' - ) - - return to_object - - -def _MultiSpeakerVoiceConfig_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, ['speaker_voice_configs']) is not None: - setv( - to_object, - ['speakerVoiceConfigs'], - [ - _SpeakerVoiceConfig_to_vertex(item, to_object) - for item in getv(from_object, ['speaker_voice_configs']) - ], - ) - - 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'], getv(from_object, ['file_data'])) - - 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'], getv(from_object, ['inline_data'])) - - 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'])) - - if getv(from_object, ['tool_call']) is not None: - setv(to_object, ['toolCall'], getv(from_object, ['tool_call'])) - - if getv(from_object, ['tool_response']) is not None: - setv(to_object, ['toolResponse'], getv(from_object, ['tool_response'])) - - if getv(from_object, ['part_metadata']) is not None: - setv(to_object, ['partMetadata'], getv(from_object, ['part_metadata'])) - - if getv(from_object, ['audio_transcription']) is not None: - setv( - to_object, - ['audioTranscription'], - getv(from_object, ['audio_transcription']), - ) - - if getv(from_object, ['media_processing']) is not None: - setv( - to_object, ['mediaProcessing'], getv(from_object, ['media_processing']) - ) - - if getv(from_object, ['speech_metadata']) is not None: - setv(to_object, ['speechMetadata'], getv(from_object, ['speech_metadata'])) - - return to_object - - -def _Part_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, ['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'], getv(from_object, ['file_data'])) - - if getv(from_object, ['function_call']) is not None: - setv(to_object, ['functionCall'], getv(from_object, ['function_call'])) - - 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'], getv(from_object, ['inline_data'])) - - 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'])) - - if getv(from_object, ['tool_call']) is not None: - raise ValueError( - 'tool_call parameter is only supported in Gemini Developer API mode,' - ' not in Gemini Enterprise Agent Platform mode.' - ) - - if getv(from_object, ['tool_response']) is not None: - raise ValueError( - 'tool_response parameter is only supported in Gemini Developer API' - ' mode, not in Gemini Enterprise Agent Platform mode.' - ) - - if getv(from_object, ['part_metadata']) is not None: - raise ValueError( - 'part_metadata parameter is only supported in Gemini Developer API' - ' mode, not in Gemini Enterprise Agent Platform mode.' - ) - - if getv(from_object, ['audio_transcription']) is not None: - setv( - to_object, - ['audioTranscription'], - getv(from_object, ['audio_transcription']), - ) - - if getv(from_object, ['media_processing']) is not None: - setv( - to_object, ['mediaProcessing'], getv(from_object, ['media_processing']) - ) - - if getv(from_object, ['speech_metadata']) is not None: - setv(to_object, ['speechMetadata'], getv(from_object, ['speech_metadata'])) - - return to_object - - -def _ReplicatedVoiceConfig_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, ['mime_type']) is not None: - setv(to_object, ['mimeType'], getv(from_object, ['mime_type'])) - - if getv(from_object, ['voice_sample_audio']) is not None: - setv( - to_object, - ['voiceSampleAudio'], - getv(from_object, ['voice_sample_audio']), - ) - - if getv(from_object, ['consent_audio']) is not None: - raise ValueError( - 'consent_audio parameter is only supported in Gemini Developer API' - ' mode, not in Gemini Enterprise Agent Platform mode.' - ) - - if getv(from_object, ['voice_consent_signature']) is not None: - raise ValueError( - 'voice_consent_signature parameter is only supported in Gemini' - ' Developer API mode, not in Gemini Enterprise Agent Platform mode.' - ) - - return to_object - - -def _SafetySetting_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, ['category']) is not None: - setv(to_object, ['category'], getv(from_object, ['category'])) - - if getv(from_object, ['method']) is not None: - raise ValueError( - 'method parameter is only supported in Gemini Enterprise Agent Platform' - ' mode, not in Gemini Developer API mode.' - ) - - if getv(from_object, ['threshold']) is not None: - setv(to_object, ['threshold'], getv(from_object, ['threshold'])) - - 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 only supported in Gemini Enterprise Agent' - ' Platform mode, not in Gemini Developer API mode.' - ) - - return to_object - - -def _SpeakerVoiceConfig_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, ['speaker']) is not None: - setv(to_object, ['speaker'], getv(from_object, ['speaker'])) - - if getv(from_object, ['voice_config']) is not None: - setv( - to_object, - ['voiceConfig'], - _VoiceConfig_to_vertex(getv(from_object, ['voice_config']), to_object), - ) - - return to_object - - -def _SpeechConfig_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, ['voice_config']) is not None: - setv( - to_object, - ['voiceConfig'], - _VoiceConfig_to_vertex(getv(from_object, ['voice_config']), to_object), - ) - - if getv(from_object, ['language_code']) is not None: - setv(to_object, ['languageCode'], getv(from_object, ['language_code'])) - - if getv(from_object, ['multi_speaker_voice_config']) is not None: - setv( - to_object, - ['multiSpeakerVoiceConfig'], - _MultiSpeakerVoiceConfig_to_vertex( - getv(from_object, ['multi_speaker_voice_config']), to_object - ), - ) - - 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 only supported in Gemini Enterprise Agent' - ' Platform mode, not in Gemini Developer API mode.' - ) - - 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, ['google_search']) is not None: - setv( - to_object, - ['googleSearch'], - _GoogleSearch_to_mldev(getv(from_object, ['google_search']), to_object), - ) - - 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, ['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 only supported in Gemini Enterprise' - ' Agent Platform mode, not in Gemini Developer API mode.' - ) - - 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_search_retrieval']) is not None: - setv( - to_object, - ['googleSearchRetrieval'], - getv(from_object, ['google_search_retrieval']), - ) - - if getv(from_object, ['parallel_ai_search']) is not None: - raise ValueError( - 'parallel_ai_search parameter is only supported in Gemini Enterprise' - ' Agent Platform mode, not in Gemini Developer API mode.' - ) - - if getv(from_object, ['url_context']) is not None: - setv(to_object, ['urlContext'], getv(from_object, ['url_context'])) - - if getv(from_object, ['mcp_servers']) is not None: - setv( - to_object, - ['mcpServers'], - [item for item in getv(from_object, ['mcp_servers'])], - ) - - if getv(from_object, ['exa_ai_search']) is not None: - raise ValueError( - 'exa_ai_search parameter is only supported in Gemini Enterprise Agent' - ' Platform mode, not in Gemini Developer API mode.' - ) - - return to_object - - -def _Tool_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, ['retrieval']) is not None: - setv(to_object, ['retrieval'], getv(from_object, ['retrieval'])) - - 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: - raise ValueError( - 'file_search parameter is only supported in Gemini Developer API mode,' - ' not in Gemini Enterprise Agent Platform mode.' - ) - - if getv(from_object, ['google_search']) is not None: - setv(to_object, ['googleSearch'], getv(from_object, ['google_search'])) - - if getv(from_object, ['google_maps']) is not None: - setv(to_object, ['googleMaps'], getv(from_object, ['google_maps'])) - - 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: - setv( - to_object, - ['enterpriseWebSearch'], - getv(from_object, ['enterprise_web_search']), - ) - - 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_search_retrieval']) is not None: - setv( - to_object, - ['googleSearchRetrieval'], - getv(from_object, ['google_search_retrieval']), - ) - - if getv(from_object, ['parallel_ai_search']) is not None: - setv( - to_object, - ['parallelAiSearch'], - getv(from_object, ['parallel_ai_search']), - ) - - if getv(from_object, ['url_context']) is not None: - setv(to_object, ['urlContext'], getv(from_object, ['url_context'])) - - if getv(from_object, ['mcp_servers']) is not None: - setv( - to_object, - ['mcpServers'], - [ - _McpServer_to_vertex(item, to_object) - for item in getv(from_object, ['mcp_servers']) - ], - ) - - if getv(from_object, ['exa_ai_search']) is not None: - setv(to_object, ['exaAiSearch'], getv(from_object, ['exa_ai_search'])) - - return to_object - - -def _TranslationConfig_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, ['echo_target_language']) is not None: - setv( - to_object, - ['echoTargetLanguage'], - getv(from_object, ['echo_target_language']), - ) - - if getv(from_object, ['target_language_code']) is not None: - setv( - to_object, - ['targetLanguageCode'], - getv(from_object, ['target_language_code']), - ) - - return to_object - - -def _TranslationConfig_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, ['echo_target_language']) is not None: - setv( - to_object, - ['echoTargetLanguage'], - getv(from_object, ['echo_target_language']), - ) - - if getv(from_object, ['target_language_code']) is not None: - setv( - to_object, - ['targetLanguageCode'], - getv(from_object, ['target_language_code']), - ) - - return to_object - - -def _UsageMetadata_from_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, ['promptTokenCount']) is not None: - setv( - to_object, - ['prompt_token_count'], - getv(from_object, ['promptTokenCount']), - ) - - if getv(from_object, ['cachedContentTokenCount']) is not None: - setv( - to_object, - ['cached_content_token_count'], - getv(from_object, ['cachedContentTokenCount']), - ) - - if getv(from_object, ['candidatesTokenCount']) is not None: - setv( - to_object, - ['response_token_count'], - getv(from_object, ['candidatesTokenCount']), - ) - - if getv(from_object, ['toolUsePromptTokenCount']) is not None: - setv( - to_object, - ['tool_use_prompt_token_count'], - getv(from_object, ['toolUsePromptTokenCount']), - ) - - if getv(from_object, ['thoughtsTokenCount']) is not None: - setv( - to_object, - ['thoughts_token_count'], - getv(from_object, ['thoughtsTokenCount']), - ) - - if getv(from_object, ['totalTokenCount']) is not None: - setv( - to_object, ['total_token_count'], getv(from_object, ['totalTokenCount']) - ) - - if getv(from_object, ['promptTokensDetails']) is not None: - setv( - to_object, - ['prompt_tokens_details'], - [item for item in getv(from_object, ['promptTokensDetails'])], - ) - - if getv(from_object, ['cacheTokensDetails']) is not None: - setv( - to_object, - ['cache_tokens_details'], - [item for item in getv(from_object, ['cacheTokensDetails'])], - ) - - if getv(from_object, ['candidatesTokensDetails']) is not None: - setv( - to_object, - ['response_tokens_details'], - [item for item in getv(from_object, ['candidatesTokensDetails'])], - ) - - if getv(from_object, ['toolUsePromptTokensDetails']) is not None: - setv( - to_object, - ['tool_use_prompt_tokens_details'], - [item for item in getv(from_object, ['toolUsePromptTokensDetails'])], - ) - - if getv(from_object, ['trafficType']) is not None: - setv(to_object, ['traffic_type'], getv(from_object, ['trafficType'])) - - return to_object - - -def _VoiceActivity_from_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, ['type']) is not None: - setv(to_object, ['voice_activity_type'], getv(from_object, ['type'])) - - if getv(from_object, ['audioOffset']) is not None: - setv(to_object, ['audio_offset'], getv(from_object, ['audioOffset'])) - - return to_object - - -def _VoiceActivity_from_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, ['type']) is not None: - setv(to_object, ['voice_activity_type'], getv(from_object, ['type'])) - - if getv(from_object, ['audioOffset']) is not None: - setv(to_object, ['audio_offset'], getv(from_object, ['audioOffset'])) - - return to_object - - -def _VoiceConfig_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, ['replicated_voice_config']) is not None: - setv( - to_object, - ['replicatedVoiceConfig'], - _ReplicatedVoiceConfig_to_vertex( - getv(from_object, ['replicated_voice_config']), to_object - ), - ) - - if getv(from_object, ['prebuilt_voice_config']) is not None: - setv( - to_object, - ['prebuiltVoiceConfig'], - getv(from_object, ['prebuilt_voice_config']), - ) - - if getv(from_object, ['voice']) is not None: - setv(to_object, ['voice'], getv(from_object, ['voice'])) - - return to_object diff --git a/google/genai/_operations_converters.py b/google/genai/_operations_converters.py deleted file mode 100644 index b48f301da1..0000000000 --- a/google/genai/_operations_converters.py +++ /dev/null @@ -1,403 +0,0 @@ -# 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 _base_transformers as base_t -from ._common import get_value_by_path as getv -from ._common import set_value_by_path as setv - - -def _FetchPredictOperationParameters_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, ['operation_name']) is not None: - raise ValueError( - 'operation_name parameter is only supported in Gemini Enterprise Agent' - ' Platform mode, not in Gemini Developer API mode.' - ) - - if getv(from_object, ['resource_name']) is not None: - raise ValueError( - 'resource_name parameter is only supported in Gemini Enterprise Agent' - ' Platform mode, not in Gemini Developer API mode.' - ) - - if getv(from_object, ['config']) is not None: - raise ValueError( - 'config parameter is only supported in Gemini Enterprise Agent Platform' - ' mode, not in Gemini Developer API mode.' - ) - - return to_object - - -def _FetchPredictOperationParameters_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, ['operation_name']) is not None: - setv(to_object, ['operationName'], getv(from_object, ['operation_name'])) - - if getv(from_object, ['resource_name']) is not None: - setv( - to_object, - ['_url', 'resourceName'], - getv(from_object, ['resource_name']), - ) - - return to_object - - -def _GenerateVideosOperation_from_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, ['name']) is not None: - setv(to_object, ['name'], getv(from_object, ['name'])) - - if getv(from_object, ['metadata']) is not None: - setv(to_object, ['metadata'], getv(from_object, ['metadata'])) - - if getv(from_object, ['done']) is not None: - setv(to_object, ['done'], getv(from_object, ['done'])) - - if getv(from_object, ['error']) is not None: - setv(to_object, ['error'], getv(from_object, ['error'])) - - if getv(from_object, ['response', 'generateVideoResponse']) is not None: - setv( - to_object, - ['response'], - _GenerateVideosResponse_from_mldev( - getv(from_object, ['response', 'generateVideoResponse']), to_object - ), - ) - - if getv(from_object, ['response', 'generateVideoResponse']) is not None: - setv( - to_object, - ['result'], - _GenerateVideosResponse_from_mldev( - getv(from_object, ['response', 'generateVideoResponse']), to_object - ), - ) - - return to_object - - -def _GenerateVideosOperation_from_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, ['name']) is not None: - setv(to_object, ['name'], getv(from_object, ['name'])) - - if getv(from_object, ['metadata']) is not None: - setv(to_object, ['metadata'], getv(from_object, ['metadata'])) - - if getv(from_object, ['done']) is not None: - setv(to_object, ['done'], getv(from_object, ['done'])) - - if getv(from_object, ['error']) is not None: - setv(to_object, ['error'], getv(from_object, ['error'])) - - if getv(from_object, ['response']) is not None: - setv( - to_object, - ['response'], - _GenerateVideosResponse_from_vertex( - getv(from_object, ['response']), to_object - ), - ) - - if getv(from_object, ['response']) is not None: - setv( - to_object, - ['result'], - _GenerateVideosResponse_from_vertex( - getv(from_object, ['response']), to_object - ), - ) - - return to_object - - -def _GenerateVideosResponse_from_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, ['generatedSamples']) is not None: - setv( - to_object, - ['generated_videos'], - [ - _GeneratedVideo_from_mldev(item, to_object) - for item in getv(from_object, ['generatedSamples']) - ], - ) - - if getv(from_object, ['raiMediaFilteredCount']) is not None: - setv( - to_object, - ['rai_media_filtered_count'], - getv(from_object, ['raiMediaFilteredCount']), - ) - - if getv(from_object, ['raiMediaFilteredReasons']) is not None: - setv( - to_object, - ['rai_media_filtered_reasons'], - getv(from_object, ['raiMediaFilteredReasons']), - ) - - return to_object - - -def _GenerateVideosResponse_from_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, ['videos']) is not None: - setv( - to_object, - ['generated_videos'], - [ - _GeneratedVideo_from_vertex(item, to_object) - for item in getv(from_object, ['videos']) - ], - ) - - if getv(from_object, ['raiMediaFilteredCount']) is not None: - setv( - to_object, - ['rai_media_filtered_count'], - getv(from_object, ['raiMediaFilteredCount']), - ) - - if getv(from_object, ['raiMediaFilteredReasons']) is not None: - setv( - to_object, - ['rai_media_filtered_reasons'], - getv(from_object, ['raiMediaFilteredReasons']), - ) - - return to_object - - -def _GeneratedVideo_from_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, ['video']) is not None: - setv( - to_object, - ['video'], - _Video_from_mldev(getv(from_object, ['video']), to_object), - ) - - return to_object - - -def _GeneratedVideo_from_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, ['_self']) is not None: - setv( - to_object, - ['video'], - _Video_from_vertex(getv(from_object, ['_self']), to_object), - ) - - return to_object - - -def _GetOperationParameters_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, ['operation_name']) is not None: - setv( - to_object, - ['_url', 'operationName'], - getv(from_object, ['operation_name']), - ) - - return to_object - - -def _GetOperationParameters_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, ['operation_name']) is not None: - setv( - to_object, - ['_url', 'operationName'], - getv(from_object, ['operation_name']), - ) - - return to_object - - -def _ImportFileOperation_from_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, ['name']) is not None: - setv(to_object, ['name'], getv(from_object, ['name'])) - - if getv(from_object, ['metadata']) is not None: - setv(to_object, ['metadata'], getv(from_object, ['metadata'])) - - if getv(from_object, ['done']) is not None: - setv(to_object, ['done'], getv(from_object, ['done'])) - - if getv(from_object, ['error']) is not None: - setv(to_object, ['error'], getv(from_object, ['error'])) - - if getv(from_object, ['response']) is not None: - setv( - to_object, - ['response'], - _ImportFileResponse_from_mldev( - getv(from_object, ['response']), to_object - ), - ) - - return to_object - - -def _ImportFileResponse_from_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, ['sdkHttpResponse']) is not None: - setv( - to_object, ['sdk_http_response'], getv(from_object, ['sdkHttpResponse']) - ) - - if getv(from_object, ['parent']) is not None: - setv(to_object, ['parent'], getv(from_object, ['parent'])) - - if getv(from_object, ['documentName']) is not None: - setv(to_object, ['document_name'], getv(from_object, ['documentName'])) - - return to_object - - -def _UploadToFileSearchStoreOperation_from_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, ['name']) is not None: - setv(to_object, ['name'], getv(from_object, ['name'])) - - if getv(from_object, ['metadata']) is not None: - setv(to_object, ['metadata'], getv(from_object, ['metadata'])) - - if getv(from_object, ['done']) is not None: - setv(to_object, ['done'], getv(from_object, ['done'])) - - if getv(from_object, ['error']) is not None: - setv(to_object, ['error'], getv(from_object, ['error'])) - - if getv(from_object, ['response']) is not None: - setv( - to_object, - ['response'], - _UploadToFileSearchStoreResponse_from_mldev( - getv(from_object, ['response']), to_object - ), - ) - - return to_object - - -def _UploadToFileSearchStoreResponse_from_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, ['sdkHttpResponse']) is not None: - setv( - to_object, ['sdk_http_response'], getv(from_object, ['sdkHttpResponse']) - ) - - if getv(from_object, ['parent']) is not None: - setv(to_object, ['parent'], getv(from_object, ['parent'])) - - if getv(from_object, ['documentName']) is not None: - setv(to_object, ['document_name'], getv(from_object, ['documentName'])) - - return to_object - - -def _Video_from_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, ['uri']) is not None: - setv(to_object, ['uri'], getv(from_object, ['uri'])) - - if getv(from_object, ['encodedVideo']) is not None: - setv( - to_object, - ['video_bytes'], - base_t.t_bytes(getv(from_object, ['encodedVideo'])), - ) - - if getv(from_object, ['encoding']) is not None: - setv(to_object, ['mime_type'], getv(from_object, ['encoding'])) - - return to_object - - -def _Video_from_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, ['gcsUri']) is not None: - setv(to_object, ['uri'], getv(from_object, ['gcsUri'])) - - if getv(from_object, ['bytesBase64Encoded']) is not None: - setv( - to_object, - ['video_bytes'], - base_t.t_bytes(getv(from_object, ['bytesBase64Encoded'])), - ) - - if getv(from_object, ['mimeType']) is not None: - setv(to_object, ['mime_type'], getv(from_object, ['mimeType'])) - - return to_object diff --git a/google/genai/_tokens_converters.py b/google/genai/_tokens_converters.py deleted file mode 100644 index 3cbe5d1c66..0000000000 --- a/google/genai/_tokens_converters.py +++ /dev/null @@ -1,680 +0,0 @@ -# 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 _AuthConfig_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, ['api_key']) is not None: - setv(to_object, ['apiKey'], getv(from_object, ['api_key'])) - - if getv(from_object, ['api_key_config']) is not None: - raise ValueError( - 'api_key_config parameter is only supported in Gemini Enterprise Agent' - ' Platform mode, not in Gemini Developer API mode.' - ) - - if getv(from_object, ['auth_type']) is not None: - raise ValueError( - 'auth_type parameter is only supported in Gemini Enterprise Agent' - ' Platform mode, not in Gemini Developer API mode.' - ) - - if getv(from_object, ['google_service_account_config']) is not None: - raise ValueError( - 'google_service_account_config parameter is only supported in Gemini' - ' Enterprise Agent Platform mode, not in Gemini Developer API mode.' - ) - - if getv(from_object, ['http_basic_auth_config']) is not None: - raise ValueError( - 'http_basic_auth_config parameter is only supported in Gemini' - ' Enterprise Agent Platform mode, not in Gemini Developer API mode.' - ) - - if getv(from_object, ['oauth_config']) is not None: - raise ValueError( - 'oauth_config parameter is only supported in Gemini Enterprise Agent' - ' Platform mode, not in Gemini Developer API mode.' - ) - - if getv(from_object, ['oidc_config']) is not None: - raise ValueError( - 'oidc_config parameter is only supported in Gemini Enterprise Agent' - ' Platform mode, not in Gemini Developer API mode.' - ) - - 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 only supported in Gemini Developer API mode, not' - ' in Gemini Enterprise Agent Platform mode.' - ) - - 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 only supported in Gemini Enterprise Agent' - ' Platform mode, not in Gemini Developer API mode.' - ) - - if getv(from_object, ['will_continue']) is not None: - raise ValueError( - 'will_continue parameter is only supported in Gemini Enterprise Agent' - ' Platform mode, not in Gemini Developer API mode.' - ) - - 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: - setv( - to_object, - ['authConfig'], - _AuthConfig_to_mldev(getv(from_object, ['auth_config']), to_object), - ) - - if getv(from_object, ['enable_widget']) is not None: - setv(to_object, ['enableWidget'], getv(from_object, ['enable_widget'])) - - if getv(from_object, ['grounding_types']) is not None: - raise ValueError( - 'grounding_types parameter is only supported in Gemini Enterprise Agent' - ' Platform mode, not in Gemini Developer API mode.' - ) - - 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, ['search_types']) is not None: - setv(to_object, ['searchTypes'], getv(from_object, ['search_types'])) - - if getv(from_object, ['blocking_confidence']) is not None: - raise ValueError( - 'blocking_confidence parameter is only supported in Gemini Enterprise' - ' Agent Platform mode, not in Gemini Developer API mode.' - ) - - if getv(from_object, ['exclude_domains']) is not None: - raise ValueError( - 'exclude_domains parameter is only supported in Gemini Enterprise Agent' - ' Platform mode, not in Gemini Developer API mode.' - ) - - 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 only supported in Gemini Enterprise' - ' Agent Platform mode, not in Gemini Developer API mode.' - ) - - if getv(from_object, ['history_config']) is not None: - setv( - parent_object, - ['setup', 'historyConfig'], - getv(from_object, ['history_config']), - ) - - if getv(from_object, ['avatar_config']) is not None: - setv( - parent_object, - ['setup', 'avatarConfig'], - getv(from_object, ['avatar_config']), - ) - - if getv(from_object, ['safety_settings']) is not None: - setv( - parent_object, - ['setup', 'safetySettings'], - [ - _SafetySetting_to_mldev(item, to_object) - for item in getv(from_object, ['safety_settings']) - ], - ) - - if getv(from_object, ['translation_config']) is not None: - setv( - parent_object, - ['setup', 'generationConfig', 'translationConfig'], - _TranslationConfig_to_mldev( - getv(from_object, ['translation_config']), to_object - ), - ) - - 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'], getv(from_object, ['file_data'])) - - 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'], getv(from_object, ['inline_data'])) - - 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'])) - - if getv(from_object, ['tool_call']) is not None: - setv(to_object, ['toolCall'], getv(from_object, ['tool_call'])) - - if getv(from_object, ['tool_response']) is not None: - setv(to_object, ['toolResponse'], getv(from_object, ['tool_response'])) - - if getv(from_object, ['part_metadata']) is not None: - setv(to_object, ['partMetadata'], getv(from_object, ['part_metadata'])) - - if getv(from_object, ['audio_transcription']) is not None: - setv( - to_object, - ['audioTranscription'], - getv(from_object, ['audio_transcription']), - ) - - if getv(from_object, ['media_processing']) is not None: - setv( - to_object, ['mediaProcessing'], getv(from_object, ['media_processing']) - ) - - if getv(from_object, ['speech_metadata']) is not None: - setv(to_object, ['speechMetadata'], getv(from_object, ['speech_metadata'])) - - return to_object - - -def _SafetySetting_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, ['category']) is not None: - setv(to_object, ['category'], getv(from_object, ['category'])) - - if getv(from_object, ['method']) is not None: - raise ValueError( - 'method parameter is only supported in Gemini Enterprise Agent Platform' - ' mode, not in Gemini Developer API mode.' - ) - - if getv(from_object, ['threshold']) is not None: - setv(to_object, ['threshold'], getv(from_object, ['threshold'])) - - 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 only supported in Gemini Enterprise Agent' - ' Platform mode, not in Gemini Developer API mode.' - ) - - 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 only supported in Gemini Enterprise Agent' - ' Platform mode, not in Gemini Developer API mode.' - ) - - 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, ['google_search']) is not None: - setv( - to_object, - ['googleSearch'], - _GoogleSearch_to_mldev(getv(from_object, ['google_search']), to_object), - ) - - 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, ['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 only supported in Gemini Enterprise' - ' Agent Platform mode, not in Gemini Developer API mode.' - ) - - 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_search_retrieval']) is not None: - setv( - to_object, - ['googleSearchRetrieval'], - getv(from_object, ['google_search_retrieval']), - ) - - if getv(from_object, ['parallel_ai_search']) is not None: - raise ValueError( - 'parallel_ai_search parameter is only supported in Gemini Enterprise' - ' Agent Platform mode, not in Gemini Developer API mode.' - ) - - if getv(from_object, ['url_context']) is not None: - setv(to_object, ['urlContext'], getv(from_object, ['url_context'])) - - if getv(from_object, ['mcp_servers']) is not None: - setv( - to_object, - ['mcpServers'], - [item for item in getv(from_object, ['mcp_servers'])], - ) - - if getv(from_object, ['exa_ai_search']) is not None: - raise ValueError( - 'exa_ai_search parameter is only supported in Gemini Enterprise Agent' - ' Platform mode, not in Gemini Developer API mode.' - ) - - return to_object - - -def _TranslationConfig_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, ['echo_target_language']) is not None: - setv( - to_object, - ['echoTargetLanguage'], - getv(from_object, ['echo_target_language']), - ) - - if getv(from_object, ['target_language_code']) is not None: - setv( - to_object, - ['targetLanguageCode'], - getv(from_object, ['target_language_code']), - ) - - return to_object diff --git a/google/genai/batches.py b/google/genai/batches.py index e460734fe1..691c0282a0 100644 --- a/google/genai/batches.py +++ b/google/genai/batches.py @@ -17,1753 +17,20 @@ import json import logging -from typing import Any, Optional, Union +from typing import Optional, Union from urllib.parse import urlencode from . import _api_module from . import _common +from . import _converters from . import _extra_utils from . import _transformers as t from . import types -from ._api_client import BaseApiClient -from ._common import get_value_by_path as getv -from ._common import move_value_by_path as movev -from ._common import set_value_by_path as setv from .pagers import AsyncPager, Pager logger = logging.getLogger('google_genai.batches') -def _AuthConfig_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, ['api_key']) is not None: - setv(to_object, ['apiKey'], getv(from_object, ['api_key'])) - - if getv(from_object, ['api_key_config']) is not None: - raise ValueError( - 'api_key_config parameter is only supported in Gemini Enterprise Agent' - ' Platform mode, not in Gemini Developer API mode.' - ) - - if getv(from_object, ['auth_type']) is not None: - raise ValueError( - 'auth_type parameter is only supported in Gemini Enterprise Agent' - ' Platform mode, not in Gemini Developer API mode.' - ) - - if getv(from_object, ['google_service_account_config']) is not None: - raise ValueError( - 'google_service_account_config parameter is only supported in Gemini' - ' Enterprise Agent Platform mode, not in Gemini Developer API mode.' - ) - - if getv(from_object, ['http_basic_auth_config']) is not None: - raise ValueError( - 'http_basic_auth_config parameter is only supported in Gemini' - ' Enterprise Agent Platform mode, not in Gemini Developer API mode.' - ) - - if getv(from_object, ['oauth_config']) is not None: - raise ValueError( - 'oauth_config parameter is only supported in Gemini Enterprise Agent' - ' Platform mode, not in Gemini Developer API mode.' - ) - - if getv(from_object, ['oidc_config']) is not None: - raise ValueError( - 'oidc_config parameter is only supported in Gemini Enterprise Agent' - ' Platform mode, not in Gemini Developer API mode.' - ) - - return to_object - - -def _BatchJobDestination_from_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, ['responsesFile']) is not None: - setv(to_object, ['file_name'], getv(from_object, ['responsesFile'])) - - if getv(from_object, ['inlinedResponses', 'inlinedResponses']) is not None: - setv( - to_object, - ['inlined_responses'], - [ - _InlinedResponse_from_mldev(item, to_object) - for item in getv( - from_object, ['inlinedResponses', 'inlinedResponses'] - ) - ], - ) - - if ( - getv(from_object, ['inlinedEmbedContentResponses', 'inlinedResponses']) - is not None - ): - setv( - to_object, - ['inlined_embed_content_responses'], - [ - item - for item in getv( - from_object, - ['inlinedEmbedContentResponses', 'inlinedResponses'], - ) - ], - ) - - return to_object - - -def _BatchJobDestination_from_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, ['predictionsFormat']) is not None: - setv(to_object, ['format'], getv(from_object, ['predictionsFormat'])) - - if getv(from_object, ['gcsDestination', 'outputUriPrefix']) is not None: - setv( - to_object, - ['gcs_uri'], - getv(from_object, ['gcsDestination', 'outputUriPrefix']), - ) - - if getv(from_object, ['bigqueryDestination', 'outputUri']) is not None: - setv( - to_object, - ['bigquery_uri'], - getv(from_object, ['bigqueryDestination', 'outputUri']), - ) - - if getv(from_object, ['vertexMultimodalDatasetDestination']) is not None: - setv( - to_object, - ['vertex_dataset'], - _VertexMultimodalDatasetDestination_from_vertex( - getv(from_object, ['vertexMultimodalDatasetDestination']), to_object - ), - ) - - return to_object - - -def _BatchJobDestination_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, ['format']) is not None: - setv(to_object, ['predictionsFormat'], getv(from_object, ['format'])) - - if getv(from_object, ['gcs_uri']) is not None: - setv( - to_object, - ['gcsDestination', 'outputUriPrefix'], - getv(from_object, ['gcs_uri']), - ) - - if getv(from_object, ['bigquery_uri']) is not None: - setv( - to_object, - ['bigqueryDestination', 'outputUri'], - getv(from_object, ['bigquery_uri']), - ) - - if getv(from_object, ['file_name']) is not None: - raise ValueError( - 'file_name parameter is only supported in Gemini Developer API mode,' - ' not in Gemini Enterprise Agent Platform mode.' - ) - - if getv(from_object, ['inlined_responses']) is not None: - raise ValueError( - 'inlined_responses parameter is only supported in Gemini Developer API' - ' mode, not in Gemini Enterprise Agent Platform mode.' - ) - - if getv(from_object, ['inlined_embed_content_responses']) is not None: - raise ValueError( - 'inlined_embed_content_responses parameter is only supported in Gemini' - ' Developer API mode, not in Gemini Enterprise Agent Platform mode.' - ) - - if getv(from_object, ['vertex_dataset']) is not None: - setv( - to_object, - ['vertexMultimodalDatasetDestination'], - _VertexMultimodalDatasetDestination_to_vertex( - getv(from_object, ['vertex_dataset']), to_object - ), - ) - - return to_object - - -def _BatchJobSource_from_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, ['instancesFormat']) is not None: - setv(to_object, ['format'], getv(from_object, ['instancesFormat'])) - - if getv(from_object, ['gcsSource', 'uris']) is not None: - setv(to_object, ['gcs_uri'], getv(from_object, ['gcsSource', 'uris'])) - - if getv(from_object, ['bigquerySource', 'inputUri']) is not None: - setv( - to_object, - ['bigquery_uri'], - getv(from_object, ['bigquerySource', 'inputUri']), - ) - - if ( - getv(from_object, ['vertexMultimodalDatasetSource', 'datasetName']) - is not None - ): - setv( - to_object, - ['vertex_dataset_name'], - getv(from_object, ['vertexMultimodalDatasetSource', 'datasetName']), - ) - - return to_object - - -def _BatchJobSource_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, ['format']) is not None: - raise ValueError( - 'format parameter is only supported in Gemini Enterprise Agent Platform' - ' mode, not in Gemini Developer API mode.' - ) - - if getv(from_object, ['gcs_uri']) is not None: - raise ValueError( - 'gcs_uri parameter is only supported in Gemini Enterprise Agent' - ' Platform mode, not in Gemini Developer API mode.' - ) - - if getv(from_object, ['bigquery_uri']) is not None: - raise ValueError( - 'bigquery_uri parameter is only supported in Gemini Enterprise Agent' - ' Platform mode, not in Gemini Developer API mode.' - ) - - if getv(from_object, ['file_name']) is not None: - setv(to_object, ['fileName'], getv(from_object, ['file_name'])) - - if getv(from_object, ['inlined_requests']) is not None: - setv( - to_object, - ['requests', 'requests'], - [ - _InlinedRequest_to_mldev(api_client, item, to_object) - for item in getv(from_object, ['inlined_requests']) - ], - ) - - if getv(from_object, ['vertex_dataset_name']) is not None: - raise ValueError( - 'vertex_dataset_name parameter is only supported in Gemini Enterprise' - ' Agent Platform mode, not in Gemini Developer API mode.' - ) - - return to_object - - -def _BatchJobSource_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, ['format']) is not None: - setv(to_object, ['instancesFormat'], getv(from_object, ['format'])) - - if getv(from_object, ['gcs_uri']) is not None: - setv(to_object, ['gcsSource', 'uris'], getv(from_object, ['gcs_uri'])) - - if getv(from_object, ['bigquery_uri']) is not None: - setv( - to_object, - ['bigquerySource', 'inputUri'], - getv(from_object, ['bigquery_uri']), - ) - - if getv(from_object, ['file_name']) is not None: - raise ValueError( - 'file_name parameter is only supported in Gemini Developer API mode,' - ' not in Gemini Enterprise Agent Platform mode.' - ) - - if getv(from_object, ['inlined_requests']) is not None: - raise ValueError( - 'inlined_requests parameter is only supported in Gemini Developer API' - ' mode, not in Gemini Enterprise Agent Platform mode.' - ) - - if getv(from_object, ['vertex_dataset_name']) is not None: - setv( - to_object, - ['vertexMultimodalDatasetSource', 'datasetName'], - getv(from_object, ['vertex_dataset_name']), - ) - - return to_object - - -def _BatchJob_from_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, ['name']) is not None: - setv(to_object, ['name'], getv(from_object, ['name'])) - - if getv(from_object, ['metadata', 'displayName']) is not None: - setv( - to_object, - ['display_name'], - getv(from_object, ['metadata', 'displayName']), - ) - - if getv(from_object, ['metadata', 'state']) is not None: - setv( - to_object, - ['state'], - t.t_job_state(getv(from_object, ['metadata', 'state'])), - ) - - if getv(from_object, ['metadata', 'createTime']) is not None: - setv( - to_object, - ['create_time'], - getv(from_object, ['metadata', 'createTime']), - ) - - if getv(from_object, ['metadata', 'endTime']) is not None: - setv(to_object, ['end_time'], getv(from_object, ['metadata', 'endTime'])) - - if getv(from_object, ['metadata', 'updateTime']) is not None: - setv( - to_object, - ['update_time'], - getv(from_object, ['metadata', 'updateTime']), - ) - - if getv(from_object, ['metadata', 'model']) is not None: - setv(to_object, ['model'], getv(from_object, ['metadata', 'model'])) - - if getv(from_object, ['metadata', 'output']) is not None: - setv( - to_object, - ['dest'], - _BatchJobDestination_from_mldev( - t.t_recv_batch_job_destination( - getv(from_object, ['metadata', 'output']) - ), - to_object, - ), - ) - - return to_object - - -def _BatchJob_from_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, ['name']) is not None: - setv(to_object, ['name'], getv(from_object, ['name'])) - - if getv(from_object, ['displayName']) is not None: - setv(to_object, ['display_name'], getv(from_object, ['displayName'])) - - if getv(from_object, ['state']) is not None: - setv(to_object, ['state'], t.t_job_state(getv(from_object, ['state']))) - - if getv(from_object, ['error']) is not None: - setv(to_object, ['error'], getv(from_object, ['error'])) - - if getv(from_object, ['createTime']) is not None: - setv(to_object, ['create_time'], getv(from_object, ['createTime'])) - - if getv(from_object, ['startTime']) is not None: - setv(to_object, ['start_time'], getv(from_object, ['startTime'])) - - if getv(from_object, ['endTime']) is not None: - setv(to_object, ['end_time'], getv(from_object, ['endTime'])) - - if getv(from_object, ['updateTime']) is not None: - setv(to_object, ['update_time'], getv(from_object, ['updateTime'])) - - if getv(from_object, ['model']) is not None: - setv(to_object, ['model'], getv(from_object, ['model'])) - - if getv(from_object, ['inputConfig']) is not None: - setv( - to_object, - ['src'], - _BatchJobSource_from_vertex( - getv(from_object, ['inputConfig']), to_object - ), - ) - - if getv(from_object, ['outputConfig']) is not None: - setv( - to_object, - ['dest'], - _BatchJobDestination_from_vertex( - t.t_recv_batch_job_destination(getv(from_object, ['outputConfig'])), - to_object, - ), - ) - - if getv(from_object, ['completionStats']) is not None: - setv( - to_object, ['completion_stats'], getv(from_object, ['completionStats']) - ) - - if getv(from_object, ['outputInfo']) is not None: - setv(to_object, ['output_info'], getv(from_object, ['outputInfo'])) - - return to_object - - -def _CancelBatchJobParameters_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, ['name']) is not None: - setv( - to_object, - ['_url', 'name'], - t.t_batch_job_name(api_client, getv(from_object, ['name'])), - ) - - return to_object - - -def _CancelBatchJobParameters_to_vertex( - 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, ['name']) is not None: - setv( - to_object, - ['_url', 'name'], - t.t_batch_job_name(api_client, getv(from_object, ['name'])), - ) - - return to_object - - -def _Candidate_from_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, ['content']) is not None: - setv(to_object, ['content'], getv(from_object, ['content'])) - - if getv(from_object, ['citationMetadata']) is not None: - setv( - to_object, - ['citation_metadata'], - _CitationMetadata_from_mldev( - getv(from_object, ['citationMetadata']), to_object - ), - ) - - if getv(from_object, ['tokenCount']) is not None: - setv(to_object, ['token_count'], getv(from_object, ['tokenCount'])) - - if getv(from_object, ['finishReason']) is not None: - setv(to_object, ['finish_reason'], getv(from_object, ['finishReason'])) - - if getv(from_object, ['groundingMetadata']) is not None: - setv( - to_object, - ['grounding_metadata'], - getv(from_object, ['groundingMetadata']), - ) - - if getv(from_object, ['avgLogprobs']) is not None: - setv(to_object, ['avg_logprobs'], getv(from_object, ['avgLogprobs'])) - - if getv(from_object, ['index']) is not None: - setv(to_object, ['index'], getv(from_object, ['index'])) - - if getv(from_object, ['logprobsResult']) is not None: - setv(to_object, ['logprobs_result'], getv(from_object, ['logprobsResult'])) - - if getv(from_object, ['safetyRatings']) is not None: - setv( - to_object, - ['safety_ratings'], - [item for item in getv(from_object, ['safetyRatings'])], - ) - - if getv(from_object, ['urlContextMetadata']) is not None: - setv( - to_object, - ['url_context_metadata'], - getv(from_object, ['urlContextMetadata']), - ) - - if getv(from_object, ['continuationToken']) is not None: - setv( - to_object, - ['continuation_token'], - getv(from_object, ['continuationToken']), - ) - - return to_object - - -def _CitationMetadata_from_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, ['citationSources']) is not None: - setv( - to_object, - ['citations'], - [item for item in getv(from_object, ['citationSources'])], - ) - - 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 _CreateBatchJobConfig_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: - setv( - parent_object, - ['batch', 'displayName'], - getv(from_object, ['display_name']), - ) - - if getv(from_object, ['dest']) is not None: - raise ValueError( - 'dest parameter is only supported in Gemini Enterprise Agent Platform' - ' mode, not in Gemini Developer API mode.' - ) - - if getv(from_object, ['webhook_config']) is not None: - setv( - parent_object, - ['batch', 'webhookConfig'], - getv(from_object, ['webhook_config']), - ) - - return to_object - - -def _CreateBatchJobConfig_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, ['display_name']) is not None: - setv(parent_object, ['displayName'], getv(from_object, ['display_name'])) - - if getv(from_object, ['dest']) is not None: - setv( - parent_object, - ['outputConfig'], - _BatchJobDestination_to_vertex( - t.t_batch_job_destination(getv(from_object, ['dest'])), to_object - ), - ) - - if getv(from_object, ['webhook_config']) is not None: - raise ValueError( - 'webhook_config parameter is only supported in Gemini Developer API' - ' mode, not in Gemini Enterprise Agent Platform mode.' - ) - - return to_object - - -def _CreateBatchJobParameters_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, - ['_url', 'model'], - t.t_model(api_client, getv(from_object, ['model'])), - ) - - if getv(from_object, ['src']) is not None: - setv( - to_object, - ['batch', 'inputConfig'], - _BatchJobSource_to_mldev( - api_client, - t.t_batch_job_source(api_client, getv(from_object, ['src'])), - to_object, - ), - ) - - if getv(from_object, ['config']) is not None: - _CreateBatchJobConfig_to_mldev(getv(from_object, ['config']), to_object) - - return to_object - - -def _CreateBatchJobParameters_to_vertex( - 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, - ['model'], - t.t_model(api_client, getv(from_object, ['model'])), - ) - - if getv(from_object, ['src']) is not None: - setv( - to_object, - ['inputConfig'], - _BatchJobSource_to_vertex( - t.t_batch_job_source(api_client, getv(from_object, ['src'])), - to_object, - ), - ) - - if getv(from_object, ['config']) is not None: - _CreateBatchJobConfig_to_vertex(getv(from_object, ['config']), to_object) - - return to_object - - -def _CreateEmbeddingsBatchJobConfig_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: - setv( - parent_object, - ['batch', 'displayName'], - getv(from_object, ['display_name']), - ) - - return to_object - - -def _CreateEmbeddingsBatchJobParameters_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, - ['_url', 'model'], - t.t_model(api_client, getv(from_object, ['model'])), - ) - - if getv(from_object, ['src']) is not None: - setv( - to_object, - ['batch', 'inputConfig'], - _EmbeddingsBatchJobSource_to_mldev( - api_client, getv(from_object, ['src']), to_object - ), - ) - - if getv(from_object, ['config']) is not None: - _CreateEmbeddingsBatchJobConfig_to_mldev( - getv(from_object, ['config']), to_object - ) - - return to_object - - -def _DeleteBatchJobParameters_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, ['name']) is not None: - setv( - to_object, - ['_url', 'name'], - t.t_batch_job_name(api_client, getv(from_object, ['name'])), - ) - - return to_object - - -def _DeleteBatchJobParameters_to_vertex( - 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, ['name']) is not None: - setv( - to_object, - ['_url', 'name'], - t.t_batch_job_name(api_client, getv(from_object, ['name'])), - ) - - return to_object - - -def _DeleteResourceJob_from_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, ['sdkHttpResponse']) is not None: - setv( - to_object, ['sdk_http_response'], getv(from_object, ['sdkHttpResponse']) - ) - - if getv(from_object, ['name']) is not None: - setv(to_object, ['name'], getv(from_object, ['name'])) - - if getv(from_object, ['done']) is not None: - setv(to_object, ['done'], getv(from_object, ['done'])) - - if getv(from_object, ['error']) is not None: - setv(to_object, ['error'], getv(from_object, ['error'])) - - return to_object - - -def _DeleteResourceJob_from_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, ['sdkHttpResponse']) is not None: - setv( - to_object, ['sdk_http_response'], getv(from_object, ['sdkHttpResponse']) - ) - - if getv(from_object, ['name']) is not None: - setv(to_object, ['name'], getv(from_object, ['name'])) - - if getv(from_object, ['done']) is not None: - setv(to_object, ['done'], getv(from_object, ['done'])) - - if getv(from_object, ['error']) is not None: - setv(to_object, ['error'], getv(from_object, ['error'])) - - return to_object - - -def _EmbedContentBatch_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, ['contents']) is not None: - setv( - to_object, - ['requests[]', 'request', 'content'], - [ - item - for item in t.t_contents_for_embed( - api_client, getv(from_object, ['contents']) - ) - ], - ) - - if getv(from_object, ['config']) is not None: - setv( - to_object, - ['_self'], - _EmbedContentConfig_to_mldev(getv(from_object, ['config']), to_object), - ) - movev(to_object, {'requests[].*': 'requests[].request.*'}) - return to_object - - -def _EmbedContentConfig_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, ['task_type']) is not None: - setv( - parent_object, - ['requests[]', 'taskType'], - getv(from_object, ['task_type']), - ) - - if getv(from_object, ['title']) is not None: - setv(parent_object, ['requests[]', 'title'], getv(from_object, ['title'])) - - if getv(from_object, ['output_dimensionality']) is not None: - setv( - parent_object, - ['requests[]', 'outputDimensionality'], - getv(from_object, ['output_dimensionality']), - ) - - if getv(from_object, ['mime_type']) is not None: - raise ValueError( - 'mime_type parameter is only supported in Gemini Enterprise Agent' - ' Platform mode, not in Gemini Developer API mode.' - ) - - if getv(from_object, ['auto_truncate']) is not None: - raise ValueError( - 'auto_truncate parameter is only supported in Gemini Enterprise Agent' - ' Platform mode, not in Gemini Developer API mode.' - ) - - if getv(from_object, ['document_ocr']) is not None: - raise ValueError( - 'document_ocr parameter is only supported in Gemini Enterprise Agent' - ' Platform mode, not in Gemini Developer API mode.' - ) - - if getv(from_object, ['audio_track_extraction']) is not None: - raise ValueError( - 'audio_track_extraction parameter is only supported in Gemini' - ' Enterprise Agent Platform mode, not in Gemini Developer API mode.' - ) - - return to_object - - -def _EmbeddingsBatchJobSource_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, ['file_name']) is not None: - setv(to_object, ['file_name'], getv(from_object, ['file_name'])) - - if getv(from_object, ['inlined_requests']) is not None: - setv( - to_object, - ['requests'], - _EmbedContentBatch_to_mldev( - api_client, getv(from_object, ['inlined_requests']), to_object - ), - ) - - 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 only supported in Gemini Enterprise Agent' - ' Platform mode, not in Gemini Developer API mode.' - ) - - if getv(from_object, ['will_continue']) is not None: - raise ValueError( - 'will_continue parameter is only supported in Gemini Enterprise Agent' - ' Platform mode, not in Gemini Developer API mode.' - ) - - return to_object - - -def _FunctionCallingConfig_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, ['allowed_function_names']) is not None: - setv( - to_object, - ['allowedFunctionNames'], - getv(from_object, ['allowed_function_names']), - ) - - if getv(from_object, ['mode']) is not None: - setv(to_object, ['mode'], getv(from_object, ['mode'])) - - if getv(from_object, ['stream_function_call_arguments']) is not None: - raise ValueError( - 'stream_function_call_arguments parameter is only supported in Gemini' - ' Enterprise Agent Platform mode, not in Gemini Developer API mode.' - ) - - return to_object - - -def _GenerateContentConfig_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, ['system_instruction']) is not None: - setv( - parent_object, - ['systemInstruction'], - _Content_to_mldev( - t.t_content(getv(from_object, ['system_instruction'])), to_object - ), - ) - - if getv(from_object, ['temperature']) is not None: - setv(to_object, ['temperature'], getv(from_object, ['temperature'])) - - if getv(from_object, ['top_p']) is not None: - setv(to_object, ['topP'], getv(from_object, ['top_p'])) - - if getv(from_object, ['top_k']) is not None: - setv(to_object, ['topK'], getv(from_object, ['top_k'])) - - if getv(from_object, ['candidate_count']) is not None: - setv(to_object, ['candidateCount'], getv(from_object, ['candidate_count'])) - - if getv(from_object, ['max_output_tokens']) is not None: - setv( - to_object, ['maxOutputTokens'], getv(from_object, ['max_output_tokens']) - ) - - if getv(from_object, ['stop_sequences']) is not None: - setv(to_object, ['stopSequences'], getv(from_object, ['stop_sequences'])) - - if getv(from_object, ['response_logprobs']) is not None: - setv( - to_object, - ['responseLogprobs'], - getv(from_object, ['response_logprobs']), - ) - - if getv(from_object, ['logprobs']) is not None: - setv(to_object, ['logprobs'], getv(from_object, ['logprobs'])) - - if getv(from_object, ['presence_penalty']) is not None: - setv( - to_object, ['presencePenalty'], getv(from_object, ['presence_penalty']) - ) - - if getv(from_object, ['frequency_penalty']) is not None: - setv( - to_object, - ['frequencyPenalty'], - getv(from_object, ['frequency_penalty']), - ) - - if getv(from_object, ['seed']) is not None: - setv(to_object, ['seed'], getv(from_object, ['seed'])) - - if getv(from_object, ['response_mime_type']) is not None: - setv( - to_object, - ['responseMimeType'], - getv(from_object, ['response_mime_type']), - ) - - if getv(from_object, ['response_schema']) is not None: - setv( - to_object, - ['responseSchema'], - t.t_schema(api_client, getv(from_object, ['response_schema'])), - ) - - if getv(from_object, ['response_json_schema']) is not None: - setv( - to_object, - ['responseJsonSchema'], - t.t_json_schema(getv(from_object, ['response_json_schema'])), - ) - - if getv(from_object, ['routing_config']) is not None: - raise ValueError( - 'routing_config parameter is only supported in Gemini Enterprise Agent' - ' Platform mode, not in Gemini Developer API mode.' - ) - - if getv(from_object, ['model_selection_config']) is not None: - raise ValueError( - 'model_selection_config parameter is only supported in Gemini' - ' Enterprise Agent Platform mode, not in Gemini Developer API mode.' - ) - - if getv(from_object, ['safety_settings']) is not None: - setv( - parent_object, - ['safetySettings'], - [ - _SafetySetting_to_mldev(item, to_object) - for item in getv(from_object, ['safety_settings']) - ], - ) - - if getv(from_object, ['tools']) is not None: - setv( - parent_object, - ['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, ['tool_config']) is not None: - setv( - parent_object, - ['toolConfig'], - _ToolConfig_to_mldev(getv(from_object, ['tool_config']), to_object), - ) - - if getv(from_object, ['labels']) is not None: - setv(parent_object, ['labels'], getv(from_object, ['labels'])) - - if getv(from_object, ['cached_content']) is not None: - setv( - parent_object, - ['cachedContent'], - t.t_cached_content_name( - api_client, getv(from_object, ['cached_content']) - ), - ) - - if getv(from_object, ['response_modalities']) is not None: - setv( - to_object, - ['responseModalities'], - getv(from_object, ['response_modalities']), - ) - - if getv(from_object, ['media_resolution']) is not None: - setv( - to_object, ['mediaResolution'], getv(from_object, ['media_resolution']) - ) - - if getv(from_object, ['speech_config']) is not None: - setv( - to_object, - ['speechConfig'], - t.t_speech_config(getv(from_object, ['speech_config'])), - ) - - if getv(from_object, ['audio_timestamp']) is not None: - raise ValueError( - 'audio_timestamp parameter is only supported in Gemini Enterprise Agent' - ' Platform mode, not in Gemini Developer API mode.' - ) - - if getv(from_object, ['thinking_config']) is not None: - setv(to_object, ['thinkingConfig'], getv(from_object, ['thinking_config'])) - - if getv(from_object, ['image_config']) is not None: - setv( - to_object, - ['imageConfig'], - _ImageConfig_to_mldev(getv(from_object, ['image_config']), to_object), - ) - - if getv(from_object, ['enable_enhanced_civic_answers']) is not None: - setv( - to_object, - ['enableEnhancedCivicAnswers'], - getv(from_object, ['enable_enhanced_civic_answers']), - ) - - if getv(from_object, ['model_armor_config']) is not None: - raise ValueError( - 'model_armor_config parameter is only supported in Gemini Enterprise' - ' Agent Platform mode, not in Gemini Developer API mode.' - ) - - if getv(from_object, ['service_tier']) is not None: - setv(parent_object, ['serviceTier'], getv(from_object, ['service_tier'])) - - if getv(from_object, ['audio_transcription_config']) is not None: - setv( - to_object, - ['audioTranscriptionConfig'], - getv(from_object, ['audio_transcription_config']), - ) - - if getv(from_object, ['continuation_token']) is not None: - setv( - parent_object, - ['continuationToken'], - getv(from_object, ['continuation_token']), - ) - - return to_object - - -def _GenerateContentResponse_from_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, ['sdkHttpResponse']) is not None: - setv( - to_object, ['sdk_http_response'], getv(from_object, ['sdkHttpResponse']) - ) - - if getv(from_object, ['candidates']) is not None: - setv( - to_object, - ['candidates'], - [ - _Candidate_from_mldev(item, to_object) - for item in getv(from_object, ['candidates']) - ], - ) - - if getv(from_object, ['modelVersion']) is not None: - setv(to_object, ['model_version'], getv(from_object, ['modelVersion'])) - - if getv(from_object, ['promptFeedback']) is not None: - setv(to_object, ['prompt_feedback'], getv(from_object, ['promptFeedback'])) - - if getv(from_object, ['responseId']) is not None: - setv(to_object, ['response_id'], getv(from_object, ['responseId'])) - - if getv(from_object, ['usageMetadata']) is not None: - setv(to_object, ['usage_metadata'], getv(from_object, ['usageMetadata'])) - - if getv(from_object, ['modelStatus']) is not None: - setv(to_object, ['model_status'], getv(from_object, ['modelStatus'])) - - return to_object - - -def _GetBatchJobParameters_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, ['name']) is not None: - setv( - to_object, - ['_url', 'name'], - t.t_batch_job_name(api_client, getv(from_object, ['name'])), - ) - - return to_object - - -def _GetBatchJobParameters_to_vertex( - 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, ['name']) is not None: - setv( - to_object, - ['_url', 'name'], - t.t_batch_job_name(api_client, getv(from_object, ['name'])), - ) - - 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: - setv( - to_object, - ['authConfig'], - _AuthConfig_to_mldev(getv(from_object, ['auth_config']), to_object), - ) - - if getv(from_object, ['enable_widget']) is not None: - setv(to_object, ['enableWidget'], getv(from_object, ['enable_widget'])) - - if getv(from_object, ['grounding_types']) is not None: - raise ValueError( - 'grounding_types parameter is only supported in Gemini Enterprise Agent' - ' Platform mode, not in Gemini Developer API mode.' - ) - - 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, ['search_types']) is not None: - setv(to_object, ['searchTypes'], getv(from_object, ['search_types'])) - - if getv(from_object, ['blocking_confidence']) is not None: - raise ValueError( - 'blocking_confidence parameter is only supported in Gemini Enterprise' - ' Agent Platform mode, not in Gemini Developer API mode.' - ) - - if getv(from_object, ['exclude_domains']) is not None: - raise ValueError( - 'exclude_domains parameter is only supported in Gemini Enterprise Agent' - ' Platform mode, not in Gemini Developer API mode.' - ) - - if getv(from_object, ['time_range_filter']) is not None: - setv( - to_object, ['timeRangeFilter'], getv(from_object, ['time_range_filter']) - ) - - return to_object - - -def _ImageConfig_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, ['aspect_ratio']) is not None: - setv(to_object, ['aspectRatio'], getv(from_object, ['aspect_ratio'])) - - if getv(from_object, ['image_size']) is not None: - setv(to_object, ['imageSize'], getv(from_object, ['image_size'])) - - if getv(from_object, ['person_generation']) is not None: - raise ValueError( - 'person_generation parameter is only supported in Gemini Enterprise' - ' Agent Platform mode, not in Gemini Developer API mode.' - ) - - if getv(from_object, ['prominent_people']) is not None: - raise ValueError( - 'prominent_people parameter is only supported in Gemini Enterprise' - ' Agent Platform mode, not in Gemini Developer API mode.' - ) - - if getv(from_object, ['output_mime_type']) is not None: - raise ValueError( - 'output_mime_type parameter is only supported in Gemini Enterprise' - ' Agent Platform mode, not in Gemini Developer API mode.' - ) - - if getv(from_object, ['output_compression_quality']) is not None: - raise ValueError( - 'output_compression_quality parameter is only supported in Gemini' - ' Enterprise Agent Platform mode, not in Gemini Developer API mode.' - ) - - if getv(from_object, ['image_output_options']) is not None: - raise ValueError( - 'image_output_options parameter is only supported in Gemini Enterprise' - ' Agent Platform mode, not in Gemini Developer API mode.' - ) - - return to_object - - -def _InlinedRequest_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, - ['request', 'model'], - t.t_model(api_client, getv(from_object, ['model'])), - ) - - if getv(from_object, ['contents']) is not None: - setv( - to_object, - ['request', 'contents'], - [ - _Content_to_mldev(item, to_object) - for item in t.t_contents(getv(from_object, ['contents'])) - ], - ) - - if getv(from_object, ['metadata']) is not None: - setv(to_object, ['metadata'], getv(from_object, ['metadata'])) - - if getv(from_object, ['config']) is not None: - setv( - to_object, - ['request', 'generationConfig'], - _GenerateContentConfig_to_mldev( - api_client, - getv(from_object, ['config']), - getv(to_object, ['request'], default_value={}), - ), - ) - - return to_object - - -def _InlinedResponse_from_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, ['response']) is not None: - setv( - to_object, - ['response'], - _GenerateContentResponse_from_mldev( - getv(from_object, ['response']), to_object - ), - ) - - if getv(from_object, ['metadata']) is not None: - setv(to_object, ['metadata'], getv(from_object, ['metadata'])) - - if getv(from_object, ['error']) is not None: - setv(to_object, ['error'], getv(from_object, ['error'])) - - return to_object - - -def _ListBatchJobsConfig_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, ['page_size']) is not None: - setv( - parent_object, ['_query', 'pageSize'], getv(from_object, ['page_size']) - ) - - if getv(from_object, ['page_token']) is not None: - setv( - parent_object, - ['_query', 'pageToken'], - getv(from_object, ['page_token']), - ) - - if getv(from_object, ['filter']) is not None: - raise ValueError( - 'filter parameter is only supported in Gemini Enterprise Agent Platform' - ' mode, not in Gemini Developer API mode.' - ) - - return to_object - - -def _ListBatchJobsConfig_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, ['page_size']) is not None: - setv( - parent_object, ['_query', 'pageSize'], getv(from_object, ['page_size']) - ) - - if getv(from_object, ['page_token']) is not None: - setv( - parent_object, - ['_query', 'pageToken'], - getv(from_object, ['page_token']), - ) - - if getv(from_object, ['filter']) is not None: - setv(parent_object, ['_query', 'filter'], getv(from_object, ['filter'])) - - return to_object - - -def _ListBatchJobsParameters_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, ['config']) is not None: - _ListBatchJobsConfig_to_mldev(getv(from_object, ['config']), to_object) - - return to_object - - -def _ListBatchJobsParameters_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: - _ListBatchJobsConfig_to_vertex(getv(from_object, ['config']), to_object) - - return to_object - - -def _ListBatchJobsResponse_from_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, ['sdkHttpResponse']) is not None: - setv( - to_object, ['sdk_http_response'], getv(from_object, ['sdkHttpResponse']) - ) - - if getv(from_object, ['nextPageToken']) is not None: - setv(to_object, ['next_page_token'], getv(from_object, ['nextPageToken'])) - - if getv(from_object, ['operations']) is not None: - setv( - to_object, - ['batch_jobs'], - [ - _BatchJob_from_mldev(item, to_object) - for item in getv(from_object, ['operations']) - ], - ) - - return to_object - - -def _ListBatchJobsResponse_from_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, ['sdkHttpResponse']) is not None: - setv( - to_object, ['sdk_http_response'], getv(from_object, ['sdkHttpResponse']) - ) - - if getv(from_object, ['nextPageToken']) is not None: - setv(to_object, ['next_page_token'], getv(from_object, ['nextPageToken'])) - - if getv(from_object, ['batchPredictionJobs']) is not None: - setv( - to_object, - ['batch_jobs'], - [ - _BatchJob_from_vertex(item, to_object) - for item in getv(from_object, ['batchPredictionJobs']) - ], - ) - - 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'], getv(from_object, ['file_data'])) - - 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'], getv(from_object, ['inline_data'])) - - 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'])) - - if getv(from_object, ['tool_call']) is not None: - setv(to_object, ['toolCall'], getv(from_object, ['tool_call'])) - - if getv(from_object, ['tool_response']) is not None: - setv(to_object, ['toolResponse'], getv(from_object, ['tool_response'])) - - if getv(from_object, ['part_metadata']) is not None: - setv(to_object, ['partMetadata'], getv(from_object, ['part_metadata'])) - - if getv(from_object, ['audio_transcription']) is not None: - setv( - to_object, - ['audioTranscription'], - getv(from_object, ['audio_transcription']), - ) - - if getv(from_object, ['media_processing']) is not None: - setv( - to_object, ['mediaProcessing'], getv(from_object, ['media_processing']) - ) - - if getv(from_object, ['speech_metadata']) is not None: - setv(to_object, ['speechMetadata'], getv(from_object, ['speech_metadata'])) - - return to_object - - -def _SafetySetting_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, ['category']) is not None: - setv(to_object, ['category'], getv(from_object, ['category'])) - - if getv(from_object, ['method']) is not None: - raise ValueError( - 'method parameter is only supported in Gemini Enterprise Agent Platform' - ' mode, not in Gemini Developer API mode.' - ) - - if getv(from_object, ['threshold']) is not None: - setv(to_object, ['threshold'], getv(from_object, ['threshold'])) - - return to_object - - -def _ToolConfig_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_config']) is not None: - setv( - to_object, ['retrievalConfig'], getv(from_object, ['retrieval_config']) - ) - - if getv(from_object, ['function_calling_config']) is not None: - setv( - to_object, - ['functionCallingConfig'], - _FunctionCallingConfig_to_mldev( - getv(from_object, ['function_calling_config']), to_object - ), - ) - - if getv(from_object, ['include_server_side_tool_invocations']) is not None: - setv( - to_object, - ['includeServerSideToolInvocations'], - getv(from_object, ['include_server_side_tool_invocations']), - ) - - 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 only supported in Gemini Enterprise Agent' - ' Platform mode, not in Gemini Developer API mode.' - ) - - 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, ['google_search']) is not None: - setv( - to_object, - ['googleSearch'], - _GoogleSearch_to_mldev(getv(from_object, ['google_search']), to_object), - ) - - 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, ['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 only supported in Gemini Enterprise' - ' Agent Platform mode, not in Gemini Developer API mode.' - ) - - 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_search_retrieval']) is not None: - setv( - to_object, - ['googleSearchRetrieval'], - getv(from_object, ['google_search_retrieval']), - ) - - if getv(from_object, ['parallel_ai_search']) is not None: - raise ValueError( - 'parallel_ai_search parameter is only supported in Gemini Enterprise' - ' Agent Platform mode, not in Gemini Developer API mode.' - ) - - if getv(from_object, ['url_context']) is not None: - setv(to_object, ['urlContext'], getv(from_object, ['url_context'])) - - if getv(from_object, ['mcp_servers']) is not None: - setv( - to_object, - ['mcpServers'], - [item for item in getv(from_object, ['mcp_servers'])], - ) - - if getv(from_object, ['exa_ai_search']) is not None: - raise ValueError( - 'exa_ai_search parameter is only supported in Gemini Enterprise Agent' - ' Platform mode, not in Gemini Developer API mode.' - ) - - return to_object - - -def _VertexMultimodalDatasetDestination_from_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, ['bigqueryDestination', 'outputUri']) is not None: - setv( - to_object, - ['bigquery_destination'], - getv(from_object, ['bigqueryDestination', 'outputUri']), - ) - - if getv(from_object, ['displayName']) is not None: - setv(to_object, ['display_name'], getv(from_object, ['displayName'])) - - return to_object - - -def _VertexMultimodalDatasetDestination_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, ['bigquery_destination']) is not None: - setv( - to_object, - ['bigqueryDestination', 'outputUri'], - getv(from_object, ['bigquery_destination']), - ) - - if getv(from_object, ['display_name']) is not None: - setv(to_object, ['displayName'], getv(from_object, ['display_name'])) - - return to_object - - class Batches(_api_module.BaseModule): def _create( @@ -1782,7 +49,7 @@ def _create( request_url_dict: Optional[dict[str, str]] if self._api_client.vertexai: - request_dict = _CreateBatchJobParameters_to_vertex( + request_dict = _converters._CreateBatchJobParameters_to_vertex( self._api_client, parameter_model ) request_url_dict = request_dict.get('_url') @@ -1791,7 +58,7 @@ def _create( else: path = 'batchPredictionJobs' else: - request_dict = _CreateBatchJobParameters_to_mldev( + request_dict = _converters._CreateBatchJobParameters_to_mldev( self._api_client, parameter_model ) request_url_dict = request_dict.get('_url') @@ -1822,10 +89,10 @@ def _create( response_dict = {} if not response.body else json.loads(response.body) if self._api_client.vertexai: - response_dict = _BatchJob_from_vertex(response_dict) + response_dict = _converters._BatchJob_from_vertex(response_dict) if not self._api_client.vertexai: - response_dict = _BatchJob_from_mldev(response_dict) + response_dict = _converters._BatchJob_from_mldev(response_dict) return_value = types.BatchJob._from_response( response=response_dict, @@ -1869,7 +136,7 @@ def _create_embeddings( ' Gemini Enterprise Agent Platform mode.' ) else: - request_dict = _CreateEmbeddingsBatchJobParameters_to_mldev( + request_dict = _converters._CreateEmbeddingsBatchJobParameters_to_mldev( self._api_client, parameter_model ) request_url_dict = request_dict.get('_url') @@ -1901,7 +168,7 @@ def _create_embeddings( response_dict = {} if not response.body else json.loads(response.body) if not self._api_client.vertexai: - response_dict = _BatchJob_from_mldev(response_dict) + response_dict = _converters._BatchJob_from_mldev(response_dict) return_value = types.BatchJob._from_response( response=response_dict, @@ -1956,7 +223,7 @@ def get( request_url_dict: Optional[dict[str, str]] if self._api_client.vertexai: - request_dict = _GetBatchJobParameters_to_vertex( + request_dict = _converters._GetBatchJobParameters_to_vertex( self._api_client, parameter_model ) request_url_dict = request_dict.get('_url') @@ -1965,7 +232,7 @@ def get( else: path = 'batchPredictionJobs/{name}' else: - request_dict = _GetBatchJobParameters_to_mldev( + request_dict = _converters._GetBatchJobParameters_to_mldev( self._api_client, parameter_model ) request_url_dict = request_dict.get('_url') @@ -1994,10 +261,10 @@ def get( response_dict = {} if not response.body else json.loads(response.body) if self._api_client.vertexai: - response_dict = _BatchJob_from_vertex(response_dict) + response_dict = _converters._BatchJob_from_vertex(response_dict) if not self._api_client.vertexai: - response_dict = _BatchJob_from_mldev(response_dict) + response_dict = _converters._BatchJob_from_mldev(response_dict) return_value = types.BatchJob._from_response( response=response_dict, @@ -2052,7 +319,7 @@ def cancel( request_url_dict: Optional[dict[str, str]] if self._api_client.vertexai: - request_dict = _CancelBatchJobParameters_to_vertex( + request_dict = _converters._CancelBatchJobParameters_to_vertex( self._api_client, parameter_model ) request_url_dict = request_dict.get('_url') @@ -2061,7 +328,7 @@ def cancel( else: path = 'batchPredictionJobs/{name}:cancel' else: - request_dict = _CancelBatchJobParameters_to_mldev( + request_dict = _converters._CancelBatchJobParameters_to_mldev( self._api_client, parameter_model ) request_url_dict = request_dict.get('_url') @@ -2097,14 +364,18 @@ def _list( request_url_dict: Optional[dict[str, str]] if self._api_client.vertexai: - request_dict = _ListBatchJobsParameters_to_vertex(parameter_model) + request_dict = _converters._ListBatchJobsParameters_to_vertex( + parameter_model + ) request_url_dict = request_dict.get('_url') if request_url_dict: path = 'batchPredictionJobs'.format_map(request_url_dict) else: path = 'batchPredictionJobs' else: - request_dict = _ListBatchJobsParameters_to_mldev(parameter_model) + request_dict = _converters._ListBatchJobsParameters_to_mldev( + parameter_model + ) request_url_dict = request_dict.get('_url') if request_url_dict: path = 'batches'.format_map(request_url_dict) @@ -2131,10 +402,14 @@ def _list( response_dict = {} if not response.body else json.loads(response.body) if self._api_client.vertexai: - response_dict = _ListBatchJobsResponse_from_vertex(response_dict) + response_dict = _converters._ListBatchJobsResponse_from_vertex( + response_dict + ) if not self._api_client.vertexai: - response_dict = _ListBatchJobsResponse_from_mldev(response_dict) + response_dict = _converters._ListBatchJobsResponse_from_mldev( + response_dict + ) return_value = types.ListBatchJobsResponse._from_response( response=response_dict, @@ -2191,7 +466,7 @@ def delete( request_url_dict: Optional[dict[str, str]] if self._api_client.vertexai: - request_dict = _DeleteBatchJobParameters_to_vertex( + request_dict = _converters._DeleteBatchJobParameters_to_vertex( self._api_client, parameter_model ) request_url_dict = request_dict.get('_url') @@ -2200,7 +475,7 @@ def delete( else: path = 'batchPredictionJobs/{name}' else: - request_dict = _DeleteBatchJobParameters_to_mldev( + request_dict = _converters._DeleteBatchJobParameters_to_mldev( self._api_client, parameter_model ) request_url_dict = request_dict.get('_url') @@ -2231,10 +506,10 @@ def delete( response_dict = {} if not response.body else json.loads(response.body) if self._api_client.vertexai: - response_dict = _DeleteResourceJob_from_vertex(response_dict) + response_dict = _converters._DeleteResourceJob_from_vertex(response_dict) if not self._api_client.vertexai: - response_dict = _DeleteResourceJob_from_mldev(response_dict) + response_dict = _converters._DeleteResourceJob_from_mldev(response_dict) return_value = types.DeleteResourceJob._from_response( response=response_dict, @@ -2406,7 +681,7 @@ async def _create( request_url_dict: Optional[dict[str, str]] if self._api_client.vertexai: - request_dict = _CreateBatchJobParameters_to_vertex( + request_dict = _converters._CreateBatchJobParameters_to_vertex( self._api_client, parameter_model ) request_url_dict = request_dict.get('_url') @@ -2415,7 +690,7 @@ async def _create( else: path = 'batchPredictionJobs' else: - request_dict = _CreateBatchJobParameters_to_mldev( + request_dict = _converters._CreateBatchJobParameters_to_mldev( self._api_client, parameter_model ) request_url_dict = request_dict.get('_url') @@ -2446,10 +721,10 @@ async def _create( response_dict = {} if not response.body else json.loads(response.body) if self._api_client.vertexai: - response_dict = _BatchJob_from_vertex(response_dict) + response_dict = _converters._BatchJob_from_vertex(response_dict) if not self._api_client.vertexai: - response_dict = _BatchJob_from_mldev(response_dict) + response_dict = _converters._BatchJob_from_mldev(response_dict) return_value = types.BatchJob._from_response( response=response_dict, @@ -2493,7 +768,7 @@ async def _create_embeddings( ' Gemini Enterprise Agent Platform mode.' ) else: - request_dict = _CreateEmbeddingsBatchJobParameters_to_mldev( + request_dict = _converters._CreateEmbeddingsBatchJobParameters_to_mldev( self._api_client, parameter_model ) request_url_dict = request_dict.get('_url') @@ -2525,7 +800,7 @@ async def _create_embeddings( response_dict = {} if not response.body else json.loads(response.body) if not self._api_client.vertexai: - response_dict = _BatchJob_from_mldev(response_dict) + response_dict = _converters._BatchJob_from_mldev(response_dict) return_value = types.BatchJob._from_response( response=response_dict, @@ -2580,7 +855,7 @@ async def get( request_url_dict: Optional[dict[str, str]] if self._api_client.vertexai: - request_dict = _GetBatchJobParameters_to_vertex( + request_dict = _converters._GetBatchJobParameters_to_vertex( self._api_client, parameter_model ) request_url_dict = request_dict.get('_url') @@ -2589,7 +864,7 @@ async def get( else: path = 'batchPredictionJobs/{name}' else: - request_dict = _GetBatchJobParameters_to_mldev( + request_dict = _converters._GetBatchJobParameters_to_mldev( self._api_client, parameter_model ) request_url_dict = request_dict.get('_url') @@ -2620,10 +895,10 @@ async def get( response_dict = {} if not response.body else json.loads(response.body) if self._api_client.vertexai: - response_dict = _BatchJob_from_vertex(response_dict) + response_dict = _converters._BatchJob_from_vertex(response_dict) if not self._api_client.vertexai: - response_dict = _BatchJob_from_mldev(response_dict) + response_dict = _converters._BatchJob_from_mldev(response_dict) return_value = types.BatchJob._from_response( response=response_dict, @@ -2678,7 +953,7 @@ async def cancel( request_url_dict: Optional[dict[str, str]] if self._api_client.vertexai: - request_dict = _CancelBatchJobParameters_to_vertex( + request_dict = _converters._CancelBatchJobParameters_to_vertex( self._api_client, parameter_model ) request_url_dict = request_dict.get('_url') @@ -2687,7 +962,7 @@ async def cancel( else: path = 'batchPredictionJobs/{name}:cancel' else: - request_dict = _CancelBatchJobParameters_to_mldev( + request_dict = _converters._CancelBatchJobParameters_to_mldev( self._api_client, parameter_model ) request_url_dict = request_dict.get('_url') @@ -2725,14 +1000,18 @@ async def _list( request_url_dict: Optional[dict[str, str]] if self._api_client.vertexai: - request_dict = _ListBatchJobsParameters_to_vertex(parameter_model) + request_dict = _converters._ListBatchJobsParameters_to_vertex( + parameter_model + ) request_url_dict = request_dict.get('_url') if request_url_dict: path = 'batchPredictionJobs'.format_map(request_url_dict) else: path = 'batchPredictionJobs' else: - request_dict = _ListBatchJobsParameters_to_mldev(parameter_model) + request_dict = _converters._ListBatchJobsParameters_to_mldev( + parameter_model + ) request_url_dict = request_dict.get('_url') if request_url_dict: path = 'batches'.format_map(request_url_dict) @@ -2761,10 +1040,14 @@ async def _list( response_dict = {} if not response.body else json.loads(response.body) if self._api_client.vertexai: - response_dict = _ListBatchJobsResponse_from_vertex(response_dict) + response_dict = _converters._ListBatchJobsResponse_from_vertex( + response_dict + ) if not self._api_client.vertexai: - response_dict = _ListBatchJobsResponse_from_mldev(response_dict) + response_dict = _converters._ListBatchJobsResponse_from_mldev( + response_dict + ) return_value = types.ListBatchJobsResponse._from_response( response=response_dict, @@ -2821,7 +1104,7 @@ async def delete( request_url_dict: Optional[dict[str, str]] if self._api_client.vertexai: - request_dict = _DeleteBatchJobParameters_to_vertex( + request_dict = _converters._DeleteBatchJobParameters_to_vertex( self._api_client, parameter_model ) request_url_dict = request_dict.get('_url') @@ -2830,7 +1113,7 @@ async def delete( else: path = 'batchPredictionJobs/{name}' else: - request_dict = _DeleteBatchJobParameters_to_mldev( + request_dict = _converters._DeleteBatchJobParameters_to_mldev( self._api_client, parameter_model ) request_url_dict = request_dict.get('_url') @@ -2861,10 +1144,10 @@ async def delete( response_dict = {} if not response.body else json.loads(response.body) if self._api_client.vertexai: - response_dict = _DeleteResourceJob_from_vertex(response_dict) + response_dict = _converters._DeleteResourceJob_from_vertex(response_dict) if not self._api_client.vertexai: - response_dict = _DeleteResourceJob_from_mldev(response_dict) + response_dict = _converters._DeleteResourceJob_from_mldev(response_dict) return_value = types.DeleteResourceJob._from_response( response=response_dict, diff --git a/google/genai/caches.py b/google/genai/caches.py index 20ef671d99..661def9d9f 100644 --- a/google/genai/caches.py +++ b/google/genai/caches.py @@ -17,1051 +17,18 @@ import json import logging -from typing import Any, Optional, Union +from typing import Optional from urllib.parse import urlencode from . import _api_module from . import _common -from . import _transformers as t +from . import _converters from . import types -from ._api_client import BaseApiClient -from ._common import get_value_by_path as getv -from ._common import set_value_by_path as setv from .pagers import AsyncPager, Pager logger = logging.getLogger('google_genai.caches') -def _AuthConfig_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, ['api_key']) is not None: - setv(to_object, ['apiKey'], getv(from_object, ['api_key'])) - - if getv(from_object, ['api_key_config']) is not None: - raise ValueError( - 'api_key_config parameter is only supported in Gemini Enterprise Agent' - ' Platform mode, not in Gemini Developer API mode.' - ) - - if getv(from_object, ['auth_type']) is not None: - raise ValueError( - 'auth_type parameter is only supported in Gemini Enterprise Agent' - ' Platform mode, not in Gemini Developer API mode.' - ) - - if getv(from_object, ['google_service_account_config']) is not None: - raise ValueError( - 'google_service_account_config parameter is only supported in Gemini' - ' Enterprise Agent Platform mode, not in Gemini Developer API mode.' - ) - - if getv(from_object, ['http_basic_auth_config']) is not None: - raise ValueError( - 'http_basic_auth_config parameter is only supported in Gemini' - ' Enterprise Agent Platform mode, not in Gemini Developer API mode.' - ) - - if getv(from_object, ['oauth_config']) is not None: - raise ValueError( - 'oauth_config parameter is only supported in Gemini Enterprise Agent' - ' Platform mode, not in Gemini Developer API mode.' - ) - - if getv(from_object, ['oidc_config']) is not None: - raise ValueError( - 'oidc_config parameter is only supported in Gemini Enterprise Agent' - ' Platform mode, not in Gemini Developer API mode.' - ) - - 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 _Content_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, ['parts']) is not None: - setv( - to_object, - ['parts'], - [ - _Part_to_vertex(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 _CreateCachedContentConfig_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, ['ttl']) is not None: - setv(parent_object, ['ttl'], getv(from_object, ['ttl'])) - - if getv(from_object, ['expire_time']) is not None: - setv(parent_object, ['expireTime'], getv(from_object, ['expire_time'])) - - if getv(from_object, ['display_name']) is not None: - setv(parent_object, ['displayName'], getv(from_object, ['display_name'])) - - if getv(from_object, ['contents']) is not None: - setv( - parent_object, - ['contents'], - [ - _Content_to_mldev(item, to_object) - for item in t.t_contents(getv(from_object, ['contents'])) - ], - ) - - if getv(from_object, ['system_instruction']) is not None: - setv( - parent_object, - ['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, - ['tools'], - [ - _Tool_to_mldev(item, to_object) - for item in getv(from_object, ['tools']) - ], - ) - - if getv(from_object, ['tool_config']) is not None: - setv( - parent_object, - ['toolConfig'], - _ToolConfig_to_mldev(getv(from_object, ['tool_config']), to_object), - ) - - if getv(from_object, ['kms_key_name']) is not None: - raise ValueError( - 'kms_key_name parameter is only supported in Gemini Enterprise Agent' - ' Platform mode, not in Gemini Developer API mode.' - ) - - return to_object - - -def _CreateCachedContentConfig_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, ['ttl']) is not None: - setv(parent_object, ['ttl'], getv(from_object, ['ttl'])) - - if getv(from_object, ['expire_time']) is not None: - setv(parent_object, ['expireTime'], getv(from_object, ['expire_time'])) - - if getv(from_object, ['display_name']) is not None: - setv(parent_object, ['displayName'], getv(from_object, ['display_name'])) - - if getv(from_object, ['contents']) is not None: - setv( - parent_object, - ['contents'], - [ - _Content_to_vertex(item, to_object) - for item in t.t_contents(getv(from_object, ['contents'])) - ], - ) - - if getv(from_object, ['system_instruction']) is not None: - setv( - parent_object, - ['systemInstruction'], - _Content_to_vertex( - t.t_content(getv(from_object, ['system_instruction'])), to_object - ), - ) - - if getv(from_object, ['tools']) is not None: - setv( - parent_object, - ['tools'], - [ - _Tool_to_vertex(item, to_object) - for item in getv(from_object, ['tools']) - ], - ) - - if getv(from_object, ['tool_config']) is not None: - setv( - parent_object, - ['toolConfig'], - _ToolConfig_to_vertex(getv(from_object, ['tool_config']), to_object), - ) - - if getv(from_object, ['kms_key_name']) is not None: - setv( - parent_object, - ['encryption_spec', 'kmsKeyName'], - getv(from_object, ['kms_key_name']), - ) - - return to_object - - -def _CreateCachedContentParameters_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, - ['model'], - t.t_caches_model(api_client, getv(from_object, ['model'])), - ) - - if getv(from_object, ['config']) is not None: - _CreateCachedContentConfig_to_mldev( - getv(from_object, ['config']), to_object - ) - - return to_object - - -def _CreateCachedContentParameters_to_vertex( - 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, - ['model'], - t.t_caches_model(api_client, getv(from_object, ['model'])), - ) - - if getv(from_object, ['config']) is not None: - _CreateCachedContentConfig_to_vertex( - getv(from_object, ['config']), to_object - ) - - return to_object - - -def _DeleteCachedContentParameters_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, ['name']) is not None: - setv( - to_object, - ['_url', 'name'], - t.t_cached_content_name(api_client, getv(from_object, ['name'])), - ) - - return to_object - - -def _DeleteCachedContentParameters_to_vertex( - 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, ['name']) is not None: - setv( - to_object, - ['_url', 'name'], - t.t_cached_content_name(api_client, getv(from_object, ['name'])), - ) - - return to_object - - -def _DeleteCachedContentResponse_from_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, ['sdkHttpResponse']) is not None: - setv( - to_object, ['sdk_http_response'], getv(from_object, ['sdkHttpResponse']) - ) - - return to_object - - -def _DeleteCachedContentResponse_from_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, ['sdkHttpResponse']) is not None: - setv( - to_object, ['sdk_http_response'], getv(from_object, ['sdkHttpResponse']) - ) - - 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 only supported in Gemini Enterprise Agent' - ' Platform mode, not in Gemini Developer API mode.' - ) - - if getv(from_object, ['will_continue']) is not None: - raise ValueError( - 'will_continue parameter is only supported in Gemini Enterprise Agent' - ' Platform mode, not in Gemini Developer API mode.' - ) - - return to_object - - -def _FunctionCallingConfig_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, ['allowed_function_names']) is not None: - setv( - to_object, - ['allowedFunctionNames'], - getv(from_object, ['allowed_function_names']), - ) - - if getv(from_object, ['mode']) is not None: - setv(to_object, ['mode'], getv(from_object, ['mode'])) - - if getv(from_object, ['stream_function_call_arguments']) is not None: - raise ValueError( - 'stream_function_call_arguments parameter is only supported in Gemini' - ' Enterprise Agent Platform mode, not in Gemini Developer API mode.' - ) - - return to_object - - -def _GetCachedContentParameters_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, ['name']) is not None: - setv( - to_object, - ['_url', 'name'], - t.t_cached_content_name(api_client, getv(from_object, ['name'])), - ) - - return to_object - - -def _GetCachedContentParameters_to_vertex( - 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, ['name']) is not None: - setv( - to_object, - ['_url', 'name'], - t.t_cached_content_name(api_client, getv(from_object, ['name'])), - ) - - 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: - setv( - to_object, - ['authConfig'], - _AuthConfig_to_mldev(getv(from_object, ['auth_config']), to_object), - ) - - if getv(from_object, ['enable_widget']) is not None: - setv(to_object, ['enableWidget'], getv(from_object, ['enable_widget'])) - - if getv(from_object, ['grounding_types']) is not None: - raise ValueError( - 'grounding_types parameter is only supported in Gemini Enterprise Agent' - ' Platform mode, not in Gemini Developer API mode.' - ) - - 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, ['search_types']) is not None: - setv(to_object, ['searchTypes'], getv(from_object, ['search_types'])) - - if getv(from_object, ['blocking_confidence']) is not None: - raise ValueError( - 'blocking_confidence parameter is only supported in Gemini Enterprise' - ' Agent Platform mode, not in Gemini Developer API mode.' - ) - - if getv(from_object, ['exclude_domains']) is not None: - raise ValueError( - 'exclude_domains parameter is only supported in Gemini Enterprise Agent' - ' Platform mode, not in Gemini Developer API mode.' - ) - - if getv(from_object, ['time_range_filter']) is not None: - setv( - to_object, ['timeRangeFilter'], getv(from_object, ['time_range_filter']) - ) - - return to_object - - -def _ListCachedContentsConfig_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, ['page_size']) is not None: - setv( - parent_object, ['_query', 'pageSize'], getv(from_object, ['page_size']) - ) - - if getv(from_object, ['page_token']) is not None: - setv( - parent_object, - ['_query', 'pageToken'], - getv(from_object, ['page_token']), - ) - - return to_object - - -def _ListCachedContentsConfig_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, ['page_size']) is not None: - setv( - parent_object, ['_query', 'pageSize'], getv(from_object, ['page_size']) - ) - - if getv(from_object, ['page_token']) is not None: - setv( - parent_object, - ['_query', 'pageToken'], - getv(from_object, ['page_token']), - ) - - return to_object - - -def _ListCachedContentsParameters_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, ['config']) is not None: - _ListCachedContentsConfig_to_mldev(getv(from_object, ['config']), to_object) - - return to_object - - -def _ListCachedContentsParameters_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: - _ListCachedContentsConfig_to_vertex( - getv(from_object, ['config']), to_object - ) - - return to_object - - -def _ListCachedContentsResponse_from_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, ['sdkHttpResponse']) is not None: - setv( - to_object, ['sdk_http_response'], getv(from_object, ['sdkHttpResponse']) - ) - - if getv(from_object, ['nextPageToken']) is not None: - setv(to_object, ['next_page_token'], getv(from_object, ['nextPageToken'])) - - if getv(from_object, ['cachedContents']) is not None: - setv( - to_object, - ['cached_contents'], - [item for item in getv(from_object, ['cachedContents'])], - ) - - return to_object - - -def _ListCachedContentsResponse_from_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, ['sdkHttpResponse']) is not None: - setv( - to_object, ['sdk_http_response'], getv(from_object, ['sdkHttpResponse']) - ) - - if getv(from_object, ['nextPageToken']) is not None: - setv(to_object, ['next_page_token'], getv(from_object, ['nextPageToken'])) - - if getv(from_object, ['cachedContents']) is not None: - setv( - to_object, - ['cached_contents'], - [item for item in getv(from_object, ['cachedContents'])], - ) - - return to_object - - -def _McpServer_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, ['name']) is not None: - raise ValueError( - 'name parameter is only supported in Gemini Developer API mode, not in' - ' Gemini Enterprise Agent Platform mode.' - ) - - if getv(from_object, ['streamable_http_transport']) is not None: - raise ValueError( - 'streamable_http_transport parameter is only supported in Gemini' - ' Developer API mode, not in Gemini Enterprise Agent Platform mode.' - ) - - 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'], getv(from_object, ['file_data'])) - - 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'], getv(from_object, ['inline_data'])) - - 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'])) - - if getv(from_object, ['tool_call']) is not None: - setv(to_object, ['toolCall'], getv(from_object, ['tool_call'])) - - if getv(from_object, ['tool_response']) is not None: - setv(to_object, ['toolResponse'], getv(from_object, ['tool_response'])) - - if getv(from_object, ['part_metadata']) is not None: - setv(to_object, ['partMetadata'], getv(from_object, ['part_metadata'])) - - if getv(from_object, ['audio_transcription']) is not None: - setv( - to_object, - ['audioTranscription'], - getv(from_object, ['audio_transcription']), - ) - - if getv(from_object, ['media_processing']) is not None: - setv( - to_object, ['mediaProcessing'], getv(from_object, ['media_processing']) - ) - - if getv(from_object, ['speech_metadata']) is not None: - setv(to_object, ['speechMetadata'], getv(from_object, ['speech_metadata'])) - - return to_object - - -def _Part_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, ['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'], getv(from_object, ['file_data'])) - - if getv(from_object, ['function_call']) is not None: - setv(to_object, ['functionCall'], getv(from_object, ['function_call'])) - - 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'], getv(from_object, ['inline_data'])) - - 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'])) - - if getv(from_object, ['tool_call']) is not None: - raise ValueError( - 'tool_call parameter is only supported in Gemini Developer API mode,' - ' not in Gemini Enterprise Agent Platform mode.' - ) - - if getv(from_object, ['tool_response']) is not None: - raise ValueError( - 'tool_response parameter is only supported in Gemini Developer API' - ' mode, not in Gemini Enterprise Agent Platform mode.' - ) - - if getv(from_object, ['part_metadata']) is not None: - raise ValueError( - 'part_metadata parameter is only supported in Gemini Developer API' - ' mode, not in Gemini Enterprise Agent Platform mode.' - ) - - if getv(from_object, ['audio_transcription']) is not None: - setv( - to_object, - ['audioTranscription'], - getv(from_object, ['audio_transcription']), - ) - - if getv(from_object, ['media_processing']) is not None: - setv( - to_object, ['mediaProcessing'], getv(from_object, ['media_processing']) - ) - - if getv(from_object, ['speech_metadata']) is not None: - setv(to_object, ['speechMetadata'], getv(from_object, ['speech_metadata'])) - - return to_object - - -def _ToolConfig_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_config']) is not None: - setv( - to_object, ['retrievalConfig'], getv(from_object, ['retrieval_config']) - ) - - if getv(from_object, ['function_calling_config']) is not None: - setv( - to_object, - ['functionCallingConfig'], - _FunctionCallingConfig_to_mldev( - getv(from_object, ['function_calling_config']), to_object - ), - ) - - if getv(from_object, ['include_server_side_tool_invocations']) is not None: - setv( - to_object, - ['includeServerSideToolInvocations'], - getv(from_object, ['include_server_side_tool_invocations']), - ) - - return to_object - - -def _ToolConfig_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, ['retrieval_config']) is not None: - setv( - to_object, ['retrievalConfig'], getv(from_object, ['retrieval_config']) - ) - - if getv(from_object, ['function_calling_config']) is not None: - setv( - to_object, - ['functionCallingConfig'], - getv(from_object, ['function_calling_config']), - ) - - if getv(from_object, ['include_server_side_tool_invocations']) is not None: - raise ValueError( - 'include_server_side_tool_invocations parameter is only supported in' - ' Gemini Developer API mode, not in Gemini Enterprise Agent Platform' - ' mode.' - ) - - 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 only supported in Gemini Enterprise Agent' - ' Platform mode, not in Gemini Developer API mode.' - ) - - 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, ['google_search']) is not None: - setv( - to_object, - ['googleSearch'], - _GoogleSearch_to_mldev(getv(from_object, ['google_search']), to_object), - ) - - 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, ['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 only supported in Gemini Enterprise' - ' Agent Platform mode, not in Gemini Developer API mode.' - ) - - 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_search_retrieval']) is not None: - setv( - to_object, - ['googleSearchRetrieval'], - getv(from_object, ['google_search_retrieval']), - ) - - if getv(from_object, ['parallel_ai_search']) is not None: - raise ValueError( - 'parallel_ai_search parameter is only supported in Gemini Enterprise' - ' Agent Platform mode, not in Gemini Developer API mode.' - ) - - if getv(from_object, ['url_context']) is not None: - setv(to_object, ['urlContext'], getv(from_object, ['url_context'])) - - if getv(from_object, ['mcp_servers']) is not None: - setv( - to_object, - ['mcpServers'], - [item for item in getv(from_object, ['mcp_servers'])], - ) - - if getv(from_object, ['exa_ai_search']) is not None: - raise ValueError( - 'exa_ai_search parameter is only supported in Gemini Enterprise Agent' - ' Platform mode, not in Gemini Developer API mode.' - ) - - return to_object - - -def _Tool_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, ['retrieval']) is not None: - setv(to_object, ['retrieval'], getv(from_object, ['retrieval'])) - - 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: - raise ValueError( - 'file_search parameter is only supported in Gemini Developer API mode,' - ' not in Gemini Enterprise Agent Platform mode.' - ) - - if getv(from_object, ['google_search']) is not None: - setv(to_object, ['googleSearch'], getv(from_object, ['google_search'])) - - if getv(from_object, ['google_maps']) is not None: - setv(to_object, ['googleMaps'], getv(from_object, ['google_maps'])) - - 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: - setv( - to_object, - ['enterpriseWebSearch'], - getv(from_object, ['enterprise_web_search']), - ) - - 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_search_retrieval']) is not None: - setv( - to_object, - ['googleSearchRetrieval'], - getv(from_object, ['google_search_retrieval']), - ) - - if getv(from_object, ['parallel_ai_search']) is not None: - setv( - to_object, - ['parallelAiSearch'], - getv(from_object, ['parallel_ai_search']), - ) - - if getv(from_object, ['url_context']) is not None: - setv(to_object, ['urlContext'], getv(from_object, ['url_context'])) - - if getv(from_object, ['mcp_servers']) is not None: - setv( - to_object, - ['mcpServers'], - [ - _McpServer_to_vertex(item, to_object) - for item in getv(from_object, ['mcp_servers']) - ], - ) - - if getv(from_object, ['exa_ai_search']) is not None: - setv(to_object, ['exaAiSearch'], getv(from_object, ['exa_ai_search'])) - - return to_object - - -def _UpdateCachedContentConfig_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, ['ttl']) is not None: - setv(parent_object, ['ttl'], getv(from_object, ['ttl'])) - - if getv(from_object, ['expire_time']) is not None: - setv(parent_object, ['expireTime'], getv(from_object, ['expire_time'])) - - return to_object - - -def _UpdateCachedContentConfig_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, ['ttl']) is not None: - setv(parent_object, ['ttl'], getv(from_object, ['ttl'])) - - if getv(from_object, ['expire_time']) is not None: - setv(parent_object, ['expireTime'], getv(from_object, ['expire_time'])) - - return to_object - - -def _UpdateCachedContentParameters_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, ['name']) is not None: - setv( - to_object, - ['_url', 'name'], - t.t_cached_content_name(api_client, getv(from_object, ['name'])), - ) - - if getv(from_object, ['config']) is not None: - _UpdateCachedContentConfig_to_mldev( - getv(from_object, ['config']), to_object - ) - - return to_object - - -def _UpdateCachedContentParameters_to_vertex( - 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, ['name']) is not None: - setv( - to_object, - ['_url', 'name'], - t.t_cached_content_name(api_client, getv(from_object, ['name'])), - ) - - if getv(from_object, ['config']) is not None: - _UpdateCachedContentConfig_to_vertex( - getv(from_object, ['config']), to_object - ) - - return to_object - - class Caches(_api_module.BaseModule): def create( @@ -1096,7 +63,7 @@ def create( request_url_dict: Optional[dict[str, str]] if self._api_client.vertexai: - request_dict = _CreateCachedContentParameters_to_vertex( + request_dict = _converters._CreateCachedContentParameters_to_vertex( self._api_client, parameter_model ) request_url_dict = request_dict.get('_url') @@ -1105,7 +72,7 @@ def create( else: path = 'cachedContents' else: - request_dict = _CreateCachedContentParameters_to_mldev( + request_dict = _converters._CreateCachedContentParameters_to_mldev( self._api_client, parameter_model ) request_url_dict = request_dict.get('_url') @@ -1178,7 +145,7 @@ def get( request_url_dict: Optional[dict[str, str]] if self._api_client.vertexai: - request_dict = _GetCachedContentParameters_to_vertex( + request_dict = _converters._GetCachedContentParameters_to_vertex( self._api_client, parameter_model ) request_url_dict = request_dict.get('_url') @@ -1187,7 +154,7 @@ def get( else: path = '{name}' else: - request_dict = _GetCachedContentParameters_to_mldev( + request_dict = _converters._GetCachedContentParameters_to_mldev( self._api_client, parameter_model ) request_url_dict = request_dict.get('_url') @@ -1260,7 +227,7 @@ def delete( request_url_dict: Optional[dict[str, str]] if self._api_client.vertexai: - request_dict = _DeleteCachedContentParameters_to_vertex( + request_dict = _converters._DeleteCachedContentParameters_to_vertex( self._api_client, parameter_model ) request_url_dict = request_dict.get('_url') @@ -1269,7 +236,7 @@ def delete( else: path = '{name}' else: - request_dict = _DeleteCachedContentParameters_to_mldev( + request_dict = _converters._DeleteCachedContentParameters_to_mldev( self._api_client, parameter_model ) request_url_dict = request_dict.get('_url') @@ -1300,10 +267,14 @@ def delete( response_dict = {} if not response.body else json.loads(response.body) if self._api_client.vertexai: - response_dict = _DeleteCachedContentResponse_from_vertex(response_dict) + response_dict = _converters._DeleteCachedContentResponse_from_vertex( + response_dict + ) if not self._api_client.vertexai: - response_dict = _DeleteCachedContentResponse_from_mldev(response_dict) + response_dict = _converters._DeleteCachedContentResponse_from_mldev( + response_dict + ) return_value = types.DeleteCachedContentResponse._from_response( response=response_dict, @@ -1355,7 +326,7 @@ def update( request_url_dict: Optional[dict[str, str]] if self._api_client.vertexai: - request_dict = _UpdateCachedContentParameters_to_vertex( + request_dict = _converters._UpdateCachedContentParameters_to_vertex( self._api_client, parameter_model ) request_url_dict = request_dict.get('_url') @@ -1364,7 +335,7 @@ def update( else: path = '{name}' else: - request_dict = _UpdateCachedContentParameters_to_mldev( + request_dict = _converters._UpdateCachedContentParameters_to_mldev( self._api_client, parameter_model ) request_url_dict = request_dict.get('_url') @@ -1426,14 +397,18 @@ def _list( request_url_dict: Optional[dict[str, str]] if self._api_client.vertexai: - request_dict = _ListCachedContentsParameters_to_vertex(parameter_model) + request_dict = _converters._ListCachedContentsParameters_to_vertex( + parameter_model + ) request_url_dict = request_dict.get('_url') if request_url_dict: path = 'cachedContents'.format_map(request_url_dict) else: path = 'cachedContents' else: - request_dict = _ListCachedContentsParameters_to_mldev(parameter_model) + request_dict = _converters._ListCachedContentsParameters_to_mldev( + parameter_model + ) request_url_dict = request_dict.get('_url') if request_url_dict: path = 'cachedContents'.format_map(request_url_dict) @@ -1460,10 +435,14 @@ def _list( response_dict = {} if not response.body else json.loads(response.body) if self._api_client.vertexai: - response_dict = _ListCachedContentsResponse_from_vertex(response_dict) + response_dict = _converters._ListCachedContentsResponse_from_vertex( + response_dict + ) if not self._api_client.vertexai: - response_dict = _ListCachedContentsResponse_from_mldev(response_dict) + response_dict = _converters._ListCachedContentsResponse_from_mldev( + response_dict + ) return_value = types.ListCachedContentsResponse._from_response( response=response_dict, @@ -1553,7 +532,7 @@ async def create( request_url_dict: Optional[dict[str, str]] if self._api_client.vertexai: - request_dict = _CreateCachedContentParameters_to_vertex( + request_dict = _converters._CreateCachedContentParameters_to_vertex( self._api_client, parameter_model ) request_url_dict = request_dict.get('_url') @@ -1562,7 +541,7 @@ async def create( else: path = 'cachedContents' else: - request_dict = _CreateCachedContentParameters_to_mldev( + request_dict = _converters._CreateCachedContentParameters_to_mldev( self._api_client, parameter_model ) request_url_dict = request_dict.get('_url') @@ -1636,7 +615,7 @@ async def get( request_url_dict: Optional[dict[str, str]] if self._api_client.vertexai: - request_dict = _GetCachedContentParameters_to_vertex( + request_dict = _converters._GetCachedContentParameters_to_vertex( self._api_client, parameter_model ) request_url_dict = request_dict.get('_url') @@ -1645,7 +624,7 @@ async def get( else: path = '{name}' else: - request_dict = _GetCachedContentParameters_to_mldev( + request_dict = _converters._GetCachedContentParameters_to_mldev( self._api_client, parameter_model ) request_url_dict = request_dict.get('_url') @@ -1721,7 +700,7 @@ async def delete( request_url_dict: Optional[dict[str, str]] if self._api_client.vertexai: - request_dict = _DeleteCachedContentParameters_to_vertex( + request_dict = _converters._DeleteCachedContentParameters_to_vertex( self._api_client, parameter_model ) request_url_dict = request_dict.get('_url') @@ -1730,7 +709,7 @@ async def delete( else: path = '{name}' else: - request_dict = _DeleteCachedContentParameters_to_mldev( + request_dict = _converters._DeleteCachedContentParameters_to_mldev( self._api_client, parameter_model ) request_url_dict = request_dict.get('_url') @@ -1761,10 +740,14 @@ async def delete( response_dict = {} if not response.body else json.loads(response.body) if self._api_client.vertexai: - response_dict = _DeleteCachedContentResponse_from_vertex(response_dict) + response_dict = _converters._DeleteCachedContentResponse_from_vertex( + response_dict + ) if not self._api_client.vertexai: - response_dict = _DeleteCachedContentResponse_from_mldev(response_dict) + response_dict = _converters._DeleteCachedContentResponse_from_mldev( + response_dict + ) return_value = types.DeleteCachedContentResponse._from_response( response=response_dict, @@ -1816,7 +799,7 @@ async def update( request_url_dict: Optional[dict[str, str]] if self._api_client.vertexai: - request_dict = _UpdateCachedContentParameters_to_vertex( + request_dict = _converters._UpdateCachedContentParameters_to_vertex( self._api_client, parameter_model ) request_url_dict = request_dict.get('_url') @@ -1825,7 +808,7 @@ async def update( else: path = '{name}' else: - request_dict = _UpdateCachedContentParameters_to_mldev( + request_dict = _converters._UpdateCachedContentParameters_to_mldev( self._api_client, parameter_model ) request_url_dict = request_dict.get('_url') @@ -1887,14 +870,18 @@ async def _list( request_url_dict: Optional[dict[str, str]] if self._api_client.vertexai: - request_dict = _ListCachedContentsParameters_to_vertex(parameter_model) + request_dict = _converters._ListCachedContentsParameters_to_vertex( + parameter_model + ) request_url_dict = request_dict.get('_url') if request_url_dict: path = 'cachedContents'.format_map(request_url_dict) else: path = 'cachedContents' else: - request_dict = _ListCachedContentsParameters_to_mldev(parameter_model) + request_dict = _converters._ListCachedContentsParameters_to_mldev( + parameter_model + ) request_url_dict = request_dict.get('_url') if request_url_dict: path = 'cachedContents'.format_map(request_url_dict) @@ -1923,10 +910,14 @@ async def _list( response_dict = {} if not response.body else json.loads(response.body) if self._api_client.vertexai: - response_dict = _ListCachedContentsResponse_from_vertex(response_dict) + response_dict = _converters._ListCachedContentsResponse_from_vertex( + response_dict + ) if not self._api_client.vertexai: - response_dict = _ListCachedContentsResponse_from_mldev(response_dict) + response_dict = _converters._ListCachedContentsResponse_from_mldev( + response_dict + ) return_value = types.ListCachedContentsResponse._from_response( response=response_dict, diff --git a/google/genai/documents.py b/google/genai/documents.py index c58b3cdb8d..ea10a22ed4 100644 --- a/google/genai/documents.py +++ b/google/genai/documents.py @@ -18,114 +18,18 @@ from functools import partial import json import logging -from typing import Any, Optional, Union +from typing import Optional from urllib.parse import urlencode from . import _api_module from . import _common +from . import _converters from . import types -from ._common import get_value_by_path as getv -from ._common import set_value_by_path as setv from .pagers import AsyncPager, Pager logger = logging.getLogger('google_genai.documents') -def _DeleteDocumentConfig_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, ['force']) is not None: - setv(parent_object, ['_query', 'force'], getv(from_object, ['force'])) - - return to_object - - -def _DeleteDocumentParameters_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, ['name']) is not None: - setv(to_object, ['_url', 'name'], getv(from_object, ['name'])) - - if getv(from_object, ['config']) is not None: - _DeleteDocumentConfig_to_mldev(getv(from_object, ['config']), to_object) - - return to_object - - -def _GetDocumentParameters_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, ['name']) is not None: - setv(to_object, ['_url', 'name'], getv(from_object, ['name'])) - - return to_object - - -def _ListDocumentsConfig_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, ['page_size']) is not None: - setv( - parent_object, ['_query', 'pageSize'], getv(from_object, ['page_size']) - ) - - if getv(from_object, ['page_token']) is not None: - setv( - parent_object, - ['_query', 'pageToken'], - getv(from_object, ['page_token']), - ) - - return to_object - - -def _ListDocumentsParameters_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, ['parent']) is not None: - setv(to_object, ['_url', 'parent'], getv(from_object, ['parent'])) - - if getv(from_object, ['config']) is not None: - _ListDocumentsConfig_to_mldev(getv(from_object, ['config']), to_object) - - return to_object - - -def _ListDocumentsResponse_from_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, ['sdkHttpResponse']) is not None: - setv( - to_object, ['sdk_http_response'], getv(from_object, ['sdkHttpResponse']) - ) - - if getv(from_object, ['nextPageToken']) is not None: - setv(to_object, ['next_page_token'], getv(from_object, ['nextPageToken'])) - - if getv(from_object, ['documents']) is not None: - setv( - to_object, - ['documents'], - [item for item in getv(from_object, ['documents'])], - ) - - return to_object - - class Documents(_api_module.BaseModule): def get( @@ -154,7 +58,9 @@ def get( ' Gemini Enterprise Agent Platform mode.' ) else: - request_dict = _GetDocumentParameters_to_mldev(parameter_model) + request_dict = _converters._GetDocumentParameters_to_mldev( + parameter_model + ) request_url_dict = request_dict.get('_url') if request_url_dict: path = '{name}'.format_map(request_url_dict) @@ -232,7 +138,9 @@ def delete( ' Gemini Enterprise Agent Platform mode.' ) else: - request_dict = _DeleteDocumentParameters_to_mldev(parameter_model) + request_dict = _converters._DeleteDocumentParameters_to_mldev( + parameter_model + ) request_url_dict = request_dict.get('_url') if request_url_dict: path = '{name}'.format_map(request_url_dict) @@ -275,7 +183,9 @@ def _list( ' Gemini Enterprise Agent Platform mode.' ) else: - request_dict = _ListDocumentsParameters_to_mldev(parameter_model) + request_dict = _converters._ListDocumentsParameters_to_mldev( + parameter_model + ) request_url_dict = request_dict.get('_url') if request_url_dict: path = '{parent}/documents'.format_map(request_url_dict) @@ -303,7 +213,9 @@ def _list( response_dict = {} if not response.body else json.loads(response.body) if not self._api_client.vertexai: - response_dict = _ListDocumentsResponse_from_mldev(response_dict) + response_dict = _converters._ListDocumentsResponse_from_mldev( + response_dict + ) return_value = types.ListDocumentsResponse._from_response( response=response_dict, @@ -385,7 +297,9 @@ async def get( ' Gemini Enterprise Agent Platform mode.' ) else: - request_dict = _GetDocumentParameters_to_mldev(parameter_model) + request_dict = _converters._GetDocumentParameters_to_mldev( + parameter_model + ) request_url_dict = request_dict.get('_url') if request_url_dict: path = '{name}'.format_map(request_url_dict) @@ -465,7 +379,9 @@ async def delete( ' Gemini Enterprise Agent Platform mode.' ) else: - request_dict = _DeleteDocumentParameters_to_mldev(parameter_model) + request_dict = _converters._DeleteDocumentParameters_to_mldev( + parameter_model + ) request_url_dict = request_dict.get('_url') if request_url_dict: path = '{name}'.format_map(request_url_dict) @@ -510,7 +426,9 @@ async def _list( ' Gemini Enterprise Agent Platform mode.' ) else: - request_dict = _ListDocumentsParameters_to_mldev(parameter_model) + request_dict = _converters._ListDocumentsParameters_to_mldev( + parameter_model + ) request_url_dict = request_dict.get('_url') if request_url_dict: path = '{parent}/documents'.format_map(request_url_dict) @@ -540,7 +458,9 @@ async def _list( response_dict = {} if not response.body else json.loads(response.body) if not self._api_client.vertexai: - response_dict = _ListDocumentsResponse_from_mldev(response_dict) + response_dict = _converters._ListDocumentsResponse_from_mldev( + response_dict + ) return_value = types.ListDocumentsResponse._from_response( response=response_dict, diff --git a/google/genai/file_search_stores.py b/google/genai/file_search_stores.py index 330bd437f9..1c1f7d438a 100644 --- a/google/genai/file_search_stores.py +++ b/google/genai/file_search_stores.py @@ -25,303 +25,16 @@ from . import _api_module from . import _common +from . import _converters from . import _extra_utils -from . import _transformers as t from . import types -from ._api_client import BaseApiClient from ._common import get_value_by_path as getv -from ._common import set_value_by_path as setv -from ._operations_converters import _UploadToFileSearchStoreOperation_from_mldev from .documents import AsyncDocuments, Documents from .pagers import AsyncPager, Pager logger = logging.getLogger('google_genai.filesearchstores') -def _CreateFileSearchStoreConfig_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, ['display_name']) is not None: - setv(parent_object, ['displayName'], getv(from_object, ['display_name'])) - - if getv(from_object, ['embedding_model']) is not None: - setv( - parent_object, - ['embeddingModel'], - t.t_model(api_client, getv(from_object, ['embedding_model'])), - ) - - return to_object - - -def _CreateFileSearchStoreParameters_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: - _CreateFileSearchStoreConfig_to_mldev( - api_client, getv(from_object, ['config']), to_object - ) - - return to_object - - -def _DeleteFileSearchStoreConfig_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, ['force']) is not None: - setv(parent_object, ['_query', 'force'], getv(from_object, ['force'])) - - return to_object - - -def _DeleteFileSearchStoreParameters_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, ['name']) is not None: - setv(to_object, ['_url', 'name'], getv(from_object, ['name'])) - - if getv(from_object, ['config']) is not None: - _DeleteFileSearchStoreConfig_to_mldev( - getv(from_object, ['config']), to_object - ) - - return to_object - - -def _GetFileSearchStoreParameters_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, ['name']) is not None: - setv(to_object, ['_url', 'name'], getv(from_object, ['name'])) - - return to_object - - -def _ImportFileConfig_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, ['custom_metadata']) is not None: - setv( - parent_object, - ['customMetadata'], - [item for item in getv(from_object, ['custom_metadata'])], - ) - - if getv(from_object, ['chunking_config']) is not None: - setv( - parent_object, - ['chunkingConfig'], - getv(from_object, ['chunking_config']), - ) - - return to_object - - -def _ImportFileOperation_from_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, ['name']) is not None: - setv(to_object, ['name'], getv(from_object, ['name'])) - - if getv(from_object, ['metadata']) is not None: - setv(to_object, ['metadata'], getv(from_object, ['metadata'])) - - if getv(from_object, ['done']) is not None: - setv(to_object, ['done'], getv(from_object, ['done'])) - - if getv(from_object, ['error']) is not None: - setv(to_object, ['error'], getv(from_object, ['error'])) - - if getv(from_object, ['response']) is not None: - setv( - to_object, - ['response'], - _ImportFileResponse_from_mldev( - getv(from_object, ['response']), to_object - ), - ) - - return to_object - - -def _ImportFileParameters_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, ['file_search_store_name']) is not None: - setv( - to_object, - ['_url', 'file_search_store_name'], - getv(from_object, ['file_search_store_name']), - ) - - if getv(from_object, ['file_name']) is not None: - setv(to_object, ['fileName'], getv(from_object, ['file_name'])) - - if getv(from_object, ['config']) is not None: - _ImportFileConfig_to_mldev(getv(from_object, ['config']), to_object) - - return to_object - - -def _ImportFileResponse_from_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, ['sdkHttpResponse']) is not None: - setv( - to_object, ['sdk_http_response'], getv(from_object, ['sdkHttpResponse']) - ) - - if getv(from_object, ['parent']) is not None: - setv(to_object, ['parent'], getv(from_object, ['parent'])) - - if getv(from_object, ['documentName']) is not None: - setv(to_object, ['document_name'], getv(from_object, ['documentName'])) - - return to_object - - -def _ListFileSearchStoresConfig_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, ['page_size']) is not None: - setv( - parent_object, ['_query', 'pageSize'], getv(from_object, ['page_size']) - ) - - if getv(from_object, ['page_token']) is not None: - setv( - parent_object, - ['_query', 'pageToken'], - getv(from_object, ['page_token']), - ) - - return to_object - - -def _ListFileSearchStoresParameters_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, ['config']) is not None: - _ListFileSearchStoresConfig_to_mldev( - getv(from_object, ['config']), to_object - ) - - return to_object - - -def _ListFileSearchStoresResponse_from_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, ['sdkHttpResponse']) is not None: - setv( - to_object, ['sdk_http_response'], getv(from_object, ['sdkHttpResponse']) - ) - - if getv(from_object, ['nextPageToken']) is not None: - setv(to_object, ['next_page_token'], getv(from_object, ['nextPageToken'])) - - if getv(from_object, ['fileSearchStores']) is not None: - setv( - to_object, - ['file_search_stores'], - [item for item in getv(from_object, ['fileSearchStores'])], - ) - - return to_object - - -def _UploadToFileSearchStoreConfig_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, ['mime_type']) is not None: - setv(parent_object, ['mimeType'], getv(from_object, ['mime_type'])) - - if getv(from_object, ['display_name']) is not None: - setv(parent_object, ['displayName'], getv(from_object, ['display_name'])) - - if getv(from_object, ['custom_metadata']) is not None: - setv( - parent_object, - ['customMetadata'], - [item for item in getv(from_object, ['custom_metadata'])], - ) - - if getv(from_object, ['chunking_config']) is not None: - setv( - parent_object, - ['chunkingConfig'], - getv(from_object, ['chunking_config']), - ) - - return to_object - - -def _UploadToFileSearchStoreParameters_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, ['file_search_store_name']) is not None: - setv( - to_object, - ['_url', 'file_search_store_name'], - getv(from_object, ['file_search_store_name']), - ) - - if getv(from_object, ['config']) is not None: - _UploadToFileSearchStoreConfig_to_mldev( - getv(from_object, ['config']), to_object - ) - - return to_object - - -def _UploadToFileSearchStoreResumableResponse_from_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, ['sdkHttpResponse']) is not None: - setv( - to_object, ['sdk_http_response'], getv(from_object, ['sdkHttpResponse']) - ) - - return to_object - - class FileSearchStores(_api_module.BaseModule): @cached_property @@ -352,7 +65,7 @@ def create( ' Gemini Enterprise Agent Platform mode.' ) else: - request_dict = _CreateFileSearchStoreParameters_to_mldev( + request_dict = _converters._CreateFileSearchStoreParameters_to_mldev( self._api_client, parameter_model ) request_url_dict = request_dict.get('_url') @@ -435,7 +148,9 @@ def get( ' Gemini Enterprise Agent Platform mode.' ) else: - request_dict = _GetFileSearchStoreParameters_to_mldev(parameter_model) + request_dict = _converters._GetFileSearchStoreParameters_to_mldev( + parameter_model + ) request_url_dict = request_dict.get('_url') if request_url_dict: path = '{name}'.format_map(request_url_dict) @@ -514,7 +229,9 @@ def delete( ' Gemini Enterprise Agent Platform mode.' ) else: - request_dict = _DeleteFileSearchStoreParameters_to_mldev(parameter_model) + request_dict = _converters._DeleteFileSearchStoreParameters_to_mldev( + parameter_model + ) request_url_dict = request_dict.get('_url') if request_url_dict: path = '{name}'.format_map(request_url_dict) @@ -553,7 +270,9 @@ def _list( ' Gemini Enterprise Agent Platform mode.' ) else: - request_dict = _ListFileSearchStoresParameters_to_mldev(parameter_model) + request_dict = _converters._ListFileSearchStoresParameters_to_mldev( + parameter_model + ) request_url_dict = request_dict.get('_url') if request_url_dict: path = 'fileSearchStores'.format_map(request_url_dict) @@ -581,7 +300,9 @@ def _list( response_dict = {} if not response.body else json.loads(response.body) if not self._api_client.vertexai: - response_dict = _ListFileSearchStoresResponse_from_mldev(response_dict) + response_dict = _converters._ListFileSearchStoresResponse_from_mldev( + response_dict + ) return_value = types.ListFileSearchStoresResponse._from_response( response=response_dict, @@ -623,7 +344,7 @@ def _upload_to_file_search_store( ' Gemini Enterprise Agent Platform mode.' ) else: - request_dict = _UploadToFileSearchStoreParameters_to_mldev( + request_dict = _converters._UploadToFileSearchStoreParameters_to_mldev( parameter_model ) request_url_dict = request_dict.get('_url') @@ -667,8 +388,10 @@ def _upload_to_file_search_store( response_dict = {} if not response.body else json.loads(response.body) if not self._api_client.vertexai: - response_dict = _UploadToFileSearchStoreResumableResponse_from_mldev( - response_dict + response_dict = ( + _converters._UploadToFileSearchStoreResumableResponse_from_mldev( + response_dict + ) ) return_value = ( @@ -730,7 +453,7 @@ def import_file( ' Gemini Enterprise Agent Platform mode.' ) else: - request_dict = _ImportFileParameters_to_mldev(parameter_model) + request_dict = _converters._ImportFileParameters_to_mldev(parameter_model) request_url_dict = request_dict.get('_url') if request_url_dict: path = '{file_search_store_name}:importFile'.format_map( @@ -762,7 +485,7 @@ def import_file( response_dict = {} if not response.body else json.loads(response.body) if not self._api_client.vertexai: - response_dict = _ImportFileOperation_from_mldev(response_dict) + response_dict = _converters._ImportFileOperation_from_mldev(response_dict) return_value = types.ImportFileOperation._from_response( response=response_dict, @@ -856,7 +579,7 @@ def upload_to_file_search_store( upload_response = self._api_client.upload_file( fs_path, upload_url, size_bytes, http_options=http_options ) - response_dict = _UploadToFileSearchStoreOperation_from_mldev( + response_dict = _converters._UploadToFileSearchStoreOperation_from_mldev( upload_response.json ) return types.UploadToFileSearchStoreOperation._from_response( @@ -976,7 +699,7 @@ async def create( ' Gemini Enterprise Agent Platform mode.' ) else: - request_dict = _CreateFileSearchStoreParameters_to_mldev( + request_dict = _converters._CreateFileSearchStoreParameters_to_mldev( self._api_client, parameter_model ) request_url_dict = request_dict.get('_url') @@ -1059,7 +782,9 @@ async def get( ' Gemini Enterprise Agent Platform mode.' ) else: - request_dict = _GetFileSearchStoreParameters_to_mldev(parameter_model) + request_dict = _converters._GetFileSearchStoreParameters_to_mldev( + parameter_model + ) request_url_dict = request_dict.get('_url') if request_url_dict: path = '{name}'.format_map(request_url_dict) @@ -1140,7 +865,9 @@ async def delete( ' Gemini Enterprise Agent Platform mode.' ) else: - request_dict = _DeleteFileSearchStoreParameters_to_mldev(parameter_model) + request_dict = _converters._DeleteFileSearchStoreParameters_to_mldev( + parameter_model + ) request_url_dict = request_dict.get('_url') if request_url_dict: path = '{name}'.format_map(request_url_dict) @@ -1181,7 +908,9 @@ async def _list( ' Gemini Enterprise Agent Platform mode.' ) else: - request_dict = _ListFileSearchStoresParameters_to_mldev(parameter_model) + request_dict = _converters._ListFileSearchStoresParameters_to_mldev( + parameter_model + ) request_url_dict = request_dict.get('_url') if request_url_dict: path = 'fileSearchStores'.format_map(request_url_dict) @@ -1211,7 +940,9 @@ async def _list( response_dict = {} if not response.body else json.loads(response.body) if not self._api_client.vertexai: - response_dict = _ListFileSearchStoresResponse_from_mldev(response_dict) + response_dict = _converters._ListFileSearchStoresResponse_from_mldev( + response_dict + ) return_value = types.ListFileSearchStoresResponse._from_response( response=response_dict, @@ -1253,7 +984,7 @@ async def _upload_to_file_search_store( ' Gemini Enterprise Agent Platform mode.' ) else: - request_dict = _UploadToFileSearchStoreParameters_to_mldev( + request_dict = _converters._UploadToFileSearchStoreParameters_to_mldev( parameter_model ) request_url_dict = request_dict.get('_url') @@ -1297,8 +1028,10 @@ async def _upload_to_file_search_store( response_dict = {} if not response.body else json.loads(response.body) if not self._api_client.vertexai: - response_dict = _UploadToFileSearchStoreResumableResponse_from_mldev( - response_dict + response_dict = ( + _converters._UploadToFileSearchStoreResumableResponse_from_mldev( + response_dict + ) ) return_value = ( @@ -1360,7 +1093,7 @@ async def import_file( ' Gemini Enterprise Agent Platform mode.' ) else: - request_dict = _ImportFileParameters_to_mldev(parameter_model) + request_dict = _converters._ImportFileParameters_to_mldev(parameter_model) request_url_dict = request_dict.get('_url') if request_url_dict: path = '{file_search_store_name}:importFile'.format_map( @@ -1392,7 +1125,7 @@ async def import_file( response_dict = {} if not response.body else json.loads(response.body) if not self._api_client.vertexai: - response_dict = _ImportFileOperation_from_mldev(response_dict) + response_dict = _converters._ImportFileOperation_from_mldev(response_dict) return_value = types.ImportFileOperation._from_response( response=response_dict, @@ -1485,7 +1218,7 @@ async def upload_to_file_search_store( upload_response = await self._api_client.async_upload_file( fs_path, upload_url, size_bytes, http_options=http_options ) - response_dict = _UploadToFileSearchStoreOperation_from_mldev( + response_dict = _converters._UploadToFileSearchStoreOperation_from_mldev( upload_response.json ) return types.UploadToFileSearchStoreOperation._from_response( diff --git a/google/genai/files.py b/google/genai/files.py index b94f38dfd0..c1e3155d9d 100644 --- a/google/genai/files.py +++ b/google/genai/files.py @@ -20,7 +20,7 @@ import json import logging import os -from typing import Any, Optional, Union, overload +from typing import Optional, Union, overload from urllib.parse import urlencode import google.auth @@ -28,157 +28,16 @@ from . import _api_client from . import _api_module from . import _common +from . import _converters from . import _extra_utils from . import _transformers as t from . import types from ._common import get_value_by_path as getv -from ._common import set_value_by_path as setv from .pagers import AsyncPager, Pager logger = logging.getLogger('google_genai.files') -def _CreateFileParameters_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, ['file']) is not None: - setv(to_object, ['file'], getv(from_object, ['file'])) - - return to_object - - -def _CreateFileResponse_from_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, ['sdkHttpResponse']) is not None: - setv( - to_object, ['sdk_http_response'], getv(from_object, ['sdkHttpResponse']) - ) - - return to_object - - -def _DeleteFileParameters_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, ['name']) is not None: - setv( - to_object, ['_url', 'file'], t.t_file_name(getv(from_object, ['name'])) - ) - - return to_object - - -def _DeleteFileResponse_from_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, ['sdkHttpResponse']) is not None: - setv( - to_object, ['sdk_http_response'], getv(from_object, ['sdkHttpResponse']) - ) - - return to_object - - -def _GetFileParameters_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, ['name']) is not None: - setv( - to_object, ['_url', 'file'], t.t_file_name(getv(from_object, ['name'])) - ) - - return to_object - - -def _InternalRegisterFilesParameters_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, ['uris']) is not None: - setv(to_object, ['uris'], getv(from_object, ['uris'])) - - return to_object - - -def _ListFilesConfig_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, ['page_size']) is not None: - setv( - parent_object, ['_query', 'pageSize'], getv(from_object, ['page_size']) - ) - - if getv(from_object, ['page_token']) is not None: - setv( - parent_object, - ['_query', 'pageToken'], - getv(from_object, ['page_token']), - ) - - return to_object - - -def _ListFilesParameters_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, ['config']) is not None: - _ListFilesConfig_to_mldev(getv(from_object, ['config']), to_object) - - return to_object - - -def _ListFilesResponse_from_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, ['sdkHttpResponse']) is not None: - setv( - to_object, ['sdk_http_response'], getv(from_object, ['sdkHttpResponse']) - ) - - if getv(from_object, ['nextPageToken']) is not None: - setv(to_object, ['next_page_token'], getv(from_object, ['nextPageToken'])) - - if getv(from_object, ['files']) is not None: - setv(to_object, ['files'], [item for item in getv(from_object, ['files'])]) - - return to_object - - -def _RegisterFilesResponse_from_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, ['sdkHttpResponse']) is not None: - setv( - to_object, ['sdk_http_response'], getv(from_object, ['sdkHttpResponse']) - ) - - if getv(from_object, ['files']) is not None: - setv(to_object, ['files'], [item for item in getv(from_object, ['files'])]) - - return to_object - - class Files(_api_module.BaseModule): def _list( @@ -195,7 +54,7 @@ def _list( ' Gemini Enterprise Agent Platform mode.' ) else: - request_dict = _ListFilesParameters_to_mldev(parameter_model) + request_dict = _converters._ListFilesParameters_to_mldev(parameter_model) request_url_dict = request_dict.get('_url') if request_url_dict: path = 'files'.format_map(request_url_dict) @@ -223,7 +82,7 @@ def _list( response_dict = {} if not response.body else json.loads(response.body) if not self._api_client.vertexai: - response_dict = _ListFilesResponse_from_mldev(response_dict) + response_dict = _converters._ListFilesResponse_from_mldev(response_dict) return_value = types.ListFilesResponse._from_response( response=response_dict, @@ -267,7 +126,7 @@ def _create( ' Gemini Enterprise Agent Platform mode.' ) else: - request_dict = _CreateFileParameters_to_mldev(parameter_model) + request_dict = _converters._CreateFileParameters_to_mldev(parameter_model) request_url_dict = request_dict.get('_url') if request_url_dict: path = 'upload/v1beta/files'.format_map(request_url_dict) @@ -304,7 +163,7 @@ def _create( response_dict = {} if not response.body else json.loads(response.body) if not self._api_client.vertexai: - response_dict = _CreateFileResponse_from_mldev(response_dict) + response_dict = _converters._CreateFileResponse_from_mldev(response_dict) return_value = types.CreateFileResponse._from_response( response=response_dict, @@ -360,7 +219,7 @@ def get( ' Gemini Enterprise Agent Platform mode.' ) else: - request_dict = _GetFileParameters_to_mldev(parameter_model) + request_dict = _converters._GetFileParameters_to_mldev(parameter_model) request_url_dict = request_dict.get('_url') if request_url_dict: path = 'files/{file}'.format_map(request_url_dict) @@ -440,7 +299,7 @@ def delete( ' Gemini Enterprise Agent Platform mode.' ) else: - request_dict = _DeleteFileParameters_to_mldev(parameter_model) + request_dict = _converters._DeleteFileParameters_to_mldev(parameter_model) request_url_dict = request_dict.get('_url') if request_url_dict: path = 'files/{file}'.format_map(request_url_dict) @@ -470,7 +329,7 @@ def delete( response_dict = {} if not response.body else json.loads(response.body) if not self._api_client.vertexai: - response_dict = _DeleteFileResponse_from_mldev(response_dict) + response_dict = _converters._DeleteFileResponse_from_mldev(response_dict) return_value = types.DeleteFileResponse._from_response( response=response_dict, @@ -514,7 +373,9 @@ def _register_files( ' Gemini Enterprise Agent Platform mode.' ) else: - request_dict = _InternalRegisterFilesParameters_to_mldev(parameter_model) + request_dict = _converters._InternalRegisterFilesParameters_to_mldev( + parameter_model + ) request_url_dict = request_dict.get('_url') if request_url_dict: path = 'files:register'.format_map(request_url_dict) @@ -551,7 +412,9 @@ def _register_files( response_dict = {} if not response.body else json.loads(response.body) if not self._api_client.vertexai: - response_dict = _RegisterFilesResponse_from_mldev(response_dict) + response_dict = _converters._RegisterFilesResponse_from_mldev( + response_dict + ) return_value = types.RegisterFilesResponse._from_response( response=response_dict, @@ -842,7 +705,7 @@ async def _list( ' Gemini Enterprise Agent Platform mode.' ) else: - request_dict = _ListFilesParameters_to_mldev(parameter_model) + request_dict = _converters._ListFilesParameters_to_mldev(parameter_model) request_url_dict = request_dict.get('_url') if request_url_dict: path = 'files'.format_map(request_url_dict) @@ -872,7 +735,7 @@ async def _list( response_dict = {} if not response.body else json.loads(response.body) if not self._api_client.vertexai: - response_dict = _ListFilesResponse_from_mldev(response_dict) + response_dict = _converters._ListFilesResponse_from_mldev(response_dict) return_value = types.ListFilesResponse._from_response( response=response_dict, @@ -916,7 +779,7 @@ async def _create( ' Gemini Enterprise Agent Platform mode.' ) else: - request_dict = _CreateFileParameters_to_mldev(parameter_model) + request_dict = _converters._CreateFileParameters_to_mldev(parameter_model) request_url_dict = request_dict.get('_url') if request_url_dict: path = 'upload/v1beta/files'.format_map(request_url_dict) @@ -953,7 +816,7 @@ async def _create( response_dict = {} if not response.body else json.loads(response.body) if not self._api_client.vertexai: - response_dict = _CreateFileResponse_from_mldev(response_dict) + response_dict = _converters._CreateFileResponse_from_mldev(response_dict) return_value = types.CreateFileResponse._from_response( response=response_dict, @@ -1009,7 +872,7 @@ async def get( ' Gemini Enterprise Agent Platform mode.' ) else: - request_dict = _GetFileParameters_to_mldev(parameter_model) + request_dict = _converters._GetFileParameters_to_mldev(parameter_model) request_url_dict = request_dict.get('_url') if request_url_dict: path = 'files/{file}'.format_map(request_url_dict) @@ -1091,7 +954,7 @@ async def delete( ' Gemini Enterprise Agent Platform mode.' ) else: - request_dict = _DeleteFileParameters_to_mldev(parameter_model) + request_dict = _converters._DeleteFileParameters_to_mldev(parameter_model) request_url_dict = request_dict.get('_url') if request_url_dict: path = 'files/{file}'.format_map(request_url_dict) @@ -1121,7 +984,7 @@ async def delete( response_dict = {} if not response.body else json.loads(response.body) if not self._api_client.vertexai: - response_dict = _DeleteFileResponse_from_mldev(response_dict) + response_dict = _converters._DeleteFileResponse_from_mldev(response_dict) return_value = types.DeleteFileResponse._from_response( response=response_dict, @@ -1165,7 +1028,9 @@ async def _register_files( ' Gemini Enterprise Agent Platform mode.' ) else: - request_dict = _InternalRegisterFilesParameters_to_mldev(parameter_model) + request_dict = _converters._InternalRegisterFilesParameters_to_mldev( + parameter_model + ) request_url_dict = request_dict.get('_url') if request_url_dict: path = 'files:register'.format_map(request_url_dict) @@ -1202,7 +1067,9 @@ async def _register_files( response_dict = {} if not response.body else json.loads(response.body) if not self._api_client.vertexai: - response_dict = _RegisterFilesResponse_from_mldev(response_dict) + response_dict = _converters._RegisterFilesResponse_from_mldev( + response_dict + ) return_value = types.RegisterFilesResponse._from_response( response=response_dict, diff --git a/google/genai/live.py b/google/genai/live.py index 4a244c15df..ca023b6b97 100644 --- a/google/genai/live.py +++ b/google/genai/live.py @@ -15,6 +15,8 @@ """[Preview] Live API client.""" +# pylint: disable=protected-access + import asyncio import base64 import contextlib @@ -31,7 +33,7 @@ from . import _api_module from . import _common -from . import _live_converters as live_converters +from . import _converters from . import _mcp_utils from . import _transformers as t from . import errors @@ -42,7 +44,6 @@ from ._common import set_value_by_path as setv from ._mcp_utils import mcp_to_gemini_tool from .live_music import AsyncLiveMusic -from .models import _Content_to_mldev ConnectionClosed = websockets.ConnectionClosed @@ -249,7 +250,7 @@ async def send_client_content( client_content, convert_keys=True ) else: - client_content_dict = live_converters._LiveClientContent_to_mldev( + client_content_dict = _converters._LiveClientContent_to_mldev( from_object=client_content ) @@ -344,13 +345,13 @@ async def send_realtime_input( if self._api_client.vertexai: realtime_input_dict = ( - live_converters._LiveSendRealtimeInputParameters_to_vertex( + _converters._LiveSendRealtimeInputParameters_to_vertex( from_object=realtime_input ) ) else: realtime_input_dict = ( - live_converters._LiveSendRealtimeInputParameters_to_mldev( + _converters._LiveSendRealtimeInputParameters_to_mldev( from_object=realtime_input ) ) @@ -569,9 +570,9 @@ async def _receive(self) -> types.LiveServerMessage: response = {} if self._api_client.vertexai: - response_dict = live_converters._LiveServerMessage_from_vertex(response) + response_dict = _converters._LiveServerMessage_from_vertex(response) else: - response_dict = live_converters._LiveServerMessage_from_mldev(response) + response_dict = _converters._LiveServerMessage_from_mldev(response) if not response_dict and response: # Error handling. @@ -693,7 +694,7 @@ def _parse_client_message( ] else: contents = [ - _Content_to_mldev(item, to_object) + _converters._Content_to_mldev(item, to_object) for item in t.t_contents(content_input_parts) ] @@ -996,7 +997,7 @@ async def connect( uri = f'{base_url}/ws/google.ai.generativelanguage.{version}.GenerativeService.{method}' request_dict = _common.convert_to_dict( - live_converters._LiveConnectParameters_to_mldev( + _converters._LiveConnectParameters_to_mldev( api_client=self._api_client, from_object=types.LiveConnectParameters( model=transformed_model, @@ -1019,7 +1020,7 @@ async def connect( headers = original_headers.copy() if original_headers is not None else {} request_dict = _common.convert_to_dict( - live_converters._LiveConnectParameters_to_vertex( + _converters._LiveConnectParameters_to_vertex( api_client=self._api_client, from_object=types.LiveConnectParameters( model=transformed_model, @@ -1083,7 +1084,7 @@ async def connect( f'projects/{project}/locations/{location}/' + transformed_model ) request_dict = _common.convert_to_dict( - live_converters._LiveConnectParameters_to_vertex( + _converters._LiveConnectParameters_to_vertex( api_client=self._api_client, from_object=types.LiveConnectParameters( model=transformed_model, @@ -1140,7 +1141,7 @@ async def connect( response = {} if self._api_client.vertexai: - response_dict = live_converters._LiveServerMessage_from_vertex(response) + response_dict = _converters._LiveServerMessage_from_vertex(response) else: response_dict = response diff --git a/google/genai/live_music.py b/google/genai/live_music.py index 6c754d1e12..fd335a8920 100644 --- a/google/genai/live_music.py +++ b/google/genai/live_music.py @@ -15,6 +15,8 @@ """[Experimental] Live Music API client.""" +# pylint: disable=protected-access + import contextlib import json import logging @@ -23,7 +25,7 @@ from . import _api_module from . import _common -from . import _live_converters as live_converters +from . import _converters from . import _transformers as t from . import errors from . import types @@ -182,7 +184,7 @@ async def connect(self, *, model: str) -> AsyncIterator[AsyncMusicSession]: # Only mldev supported request_dict = _common.convert_to_dict( - live_converters._LiveMusicConnectParameters_to_mldev( + _converters._LiveMusicConnectParameters_to_mldev( from_object=types.LiveMusicConnectParameters( model=transformed_model, ).model_dump(exclude_none=True) diff --git a/google/genai/models.py b/google/genai/models.py index 7fd55ca620..4f6c0db277 100644 --- a/google/genai/models.py +++ b/google/genai/models.py @@ -24,4596 +24,18 @@ import warnings from . import _api_module -from . import _base_transformers as base_t from . import _common +from . import _converters from . import _extra_utils from . import _mcp_utils from . import _transformers as t from . import errors from . import types -from ._api_client import BaseApiClient -from ._common import get_value_by_path as getv -from ._common import set_value_by_path as setv from .pagers import AsyncPager, Pager logger = logging.getLogger('google_genai.models') -def _VideoGenerationReferenceType_to_mldev_enum_validate( - enum_value: Any, -) -> None: - if enum_value in set(['STYLE']): - raise ValueError( - f'{enum_value} enum value is only supported in Gemini Enterprise Agent' - ' Platform mode, not in Gemini Developer API mode.' - ) - - -def _AuthConfig_to_mldev( - from_object: Union[dict[str, Any], object], - parent_object: Optional[dict[str, Any]] = None, - root_object: Optional[Union[dict[str, Any], object]] = None, -) -> dict[str, Any]: - to_object: dict[str, Any] = {} - if getv(from_object, ['api_key']) is not None: - setv(to_object, ['apiKey'], getv(from_object, ['api_key'])) - - if getv(from_object, ['api_key_config']) is not None: - raise ValueError( - 'api_key_config parameter is only supported in Gemini Enterprise Agent' - ' Platform mode, not in Gemini Developer API mode.' - ) - - if getv(from_object, ['auth_type']) is not None: - raise ValueError( - 'auth_type parameter is only supported in Gemini Enterprise Agent' - ' Platform mode, not in Gemini Developer API mode.' - ) - - if getv(from_object, ['google_service_account_config']) is not None: - raise ValueError( - 'google_service_account_config parameter is only supported in Gemini' - ' Enterprise Agent Platform mode, not in Gemini Developer API mode.' - ) - - if getv(from_object, ['http_basic_auth_config']) is not None: - raise ValueError( - 'http_basic_auth_config parameter is only supported in Gemini' - ' Enterprise Agent Platform mode, not in Gemini Developer API mode.' - ) - - if getv(from_object, ['oauth_config']) is not None: - raise ValueError( - 'oauth_config parameter is only supported in Gemini Enterprise Agent' - ' Platform mode, not in Gemini Developer API mode.' - ) - - if getv(from_object, ['oidc_config']) is not None: - raise ValueError( - 'oidc_config parameter is only supported in Gemini Enterprise Agent' - ' Platform mode, not in Gemini Developer API mode.' - ) - - return to_object - - -def _Candidate_from_mldev( - from_object: Union[dict[str, Any], object], - parent_object: Optional[dict[str, Any]] = None, - root_object: Optional[Union[dict[str, Any], object]] = None, -) -> dict[str, Any]: - to_object: dict[str, Any] = {} - if getv(from_object, ['content']) is not None: - setv(to_object, ['content'], getv(from_object, ['content'])) - - if getv(from_object, ['citationMetadata']) is not None: - setv( - to_object, - ['citation_metadata'], - _CitationMetadata_from_mldev( - getv(from_object, ['citationMetadata']), to_object, root_object - ), - ) - - if getv(from_object, ['tokenCount']) is not None: - setv(to_object, ['token_count'], getv(from_object, ['tokenCount'])) - - if getv(from_object, ['finishReason']) is not None: - setv(to_object, ['finish_reason'], getv(from_object, ['finishReason'])) - - if getv(from_object, ['groundingMetadata']) is not None: - setv( - to_object, - ['grounding_metadata'], - getv(from_object, ['groundingMetadata']), - ) - - if getv(from_object, ['avgLogprobs']) is not None: - setv(to_object, ['avg_logprobs'], getv(from_object, ['avgLogprobs'])) - - if getv(from_object, ['index']) is not None: - setv(to_object, ['index'], getv(from_object, ['index'])) - - if getv(from_object, ['logprobsResult']) is not None: - setv(to_object, ['logprobs_result'], getv(from_object, ['logprobsResult'])) - - if getv(from_object, ['safetyRatings']) is not None: - setv( - to_object, - ['safety_ratings'], - [item for item in getv(from_object, ['safetyRatings'])], - ) - - if getv(from_object, ['urlContextMetadata']) is not None: - setv( - to_object, - ['url_context_metadata'], - getv(from_object, ['urlContextMetadata']), - ) - - if getv(from_object, ['continuationToken']) is not None: - setv( - to_object, - ['continuation_token'], - getv(from_object, ['continuationToken']), - ) - - return to_object - - -def _CitationMetadata_from_mldev( - from_object: Union[dict[str, Any], object], - parent_object: Optional[dict[str, Any]] = None, - root_object: Optional[Union[dict[str, Any], object]] = None, -) -> dict[str, Any]: - to_object: dict[str, Any] = {} - if getv(from_object, ['citationSources']) is not None: - setv( - to_object, - ['citations'], - [item for item in getv(from_object, ['citationSources'])], - ) - - return to_object - - -def _ComputeTokensParameters_to_vertex( - api_client: BaseApiClient, - from_object: Union[dict[str, Any], object], - parent_object: Optional[dict[str, Any]] = None, - root_object: Optional[Union[dict[str, Any], object]] = None, -) -> dict[str, Any]: - to_object: dict[str, Any] = {} - if getv(from_object, ['model']) is not None: - setv( - to_object, - ['_url', 'model'], - t.t_model(api_client, getv(from_object, ['model'])), - ) - - if getv(from_object, ['contents']) is not None: - setv( - to_object, - ['contents'], - [ - _Content_to_vertex(item, to_object, root_object) - for item in t.t_contents(getv(from_object, ['contents'])) - ], - ) - - return to_object - - -def _ComputeTokensResponse_from_vertex( - from_object: Union[dict[str, Any], object], - parent_object: Optional[dict[str, Any]] = None, - root_object: Optional[Union[dict[str, Any], object]] = None, -) -> dict[str, Any]: - to_object: dict[str, Any] = {} - if getv(from_object, ['sdkHttpResponse']) is not None: - setv( - to_object, ['sdk_http_response'], getv(from_object, ['sdkHttpResponse']) - ) - - if getv(from_object, ['tokensInfo']) is not None: - setv( - to_object, - ['tokens_info'], - [item for item in getv(from_object, ['tokensInfo'])], - ) - - return to_object - - -def _ContentEmbeddingStatistics_from_vertex( - from_object: Union[dict[str, Any], object], - parent_object: Optional[dict[str, Any]] = None, - root_object: Optional[Union[dict[str, Any], object]] = None, -) -> dict[str, Any]: - to_object: dict[str, Any] = {} - if getv(from_object, ['truncated']) is not None: - setv(to_object, ['truncated'], getv(from_object, ['truncated'])) - - if getv(from_object, ['token_count']) is not None: - setv(to_object, ['token_count'], getv(from_object, ['token_count'])) - - if getv(from_object, ['tokensDetails']) is not None: - setv( - to_object, - ['tokens_details'], - [item for item in getv(from_object, ['tokensDetails'])], - ) - - return to_object - - -def _ContentEmbedding_from_vertex( - from_object: Union[dict[str, Any], object], - parent_object: Optional[dict[str, Any]] = None, - root_object: Optional[Union[dict[str, Any], object]] = None, -) -> dict[str, Any]: - to_object: dict[str, Any] = {} - if getv(from_object, ['values']) is not None: - setv(to_object, ['values'], getv(from_object, ['values'])) - - if getv(from_object, ['statistics']) is not None: - setv( - to_object, - ['statistics'], - _ContentEmbeddingStatistics_from_vertex( - getv(from_object, ['statistics']), to_object, root_object - ), - ) - - return to_object - - -def _Content_to_mldev( - from_object: Union[dict[str, Any], object], - parent_object: Optional[dict[str, Any]] = None, - root_object: Optional[Union[dict[str, Any], object]] = 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, root_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 _Content_to_vertex( - from_object: Union[dict[str, Any], object], - parent_object: Optional[dict[str, Any]] = None, - root_object: Optional[Union[dict[str, Any], object]] = None, -) -> dict[str, Any]: - to_object: dict[str, Any] = {} - if getv(from_object, ['parts']) is not None: - setv( - to_object, - ['parts'], - [ - _Part_to_vertex(item, to_object, root_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 _ControlReferenceConfig_to_vertex( - from_object: Union[dict[str, Any], object], - parent_object: Optional[dict[str, Any]] = None, - root_object: Optional[Union[dict[str, Any], object]] = None, -) -> dict[str, Any]: - to_object: dict[str, Any] = {} - if getv(from_object, ['control_type']) is not None: - setv(to_object, ['controlType'], getv(from_object, ['control_type'])) - - if getv(from_object, ['enable_control_image_computation']) is not None: - setv( - to_object, - ['computeControl'], - getv(from_object, ['enable_control_image_computation']), - ) - - return to_object - - -def _CountTokensConfig_to_mldev( - from_object: Union[dict[str, Any], object], - parent_object: Optional[dict[str, Any]] = None, - root_object: Optional[Union[dict[str, Any], object]] = None, -) -> dict[str, Any]: - to_object: dict[str, Any] = {} - - if getv(from_object, ['system_instruction']) is not None: - raise ValueError( - 'system_instruction parameter is only supported in Gemini Enterprise' - ' Agent Platform mode, not in Gemini Developer API mode.' - ) - - if getv(from_object, ['tools']) is not None: - raise ValueError( - 'tools parameter is only supported in Gemini Enterprise Agent Platform' - ' mode, not in Gemini Developer API mode.' - ) - - if getv(from_object, ['generation_config']) is not None: - raise ValueError( - 'generation_config parameter is only supported in Gemini Enterprise' - ' Agent Platform mode, not in Gemini Developer API mode.' - ) - - return to_object - - -def _CountTokensConfig_to_vertex( - from_object: Union[dict[str, Any], object], - parent_object: Optional[dict[str, Any]] = None, - root_object: Optional[Union[dict[str, Any], object]] = None, -) -> dict[str, Any]: - to_object: dict[str, Any] = {} - - if getv(from_object, ['system_instruction']) is not None: - setv( - parent_object, - ['systemInstruction'], - _Content_to_vertex( - t.t_content(getv(from_object, ['system_instruction'])), - to_object, - root_object, - ), - ) - - if getv(from_object, ['tools']) is not None: - setv( - parent_object, - ['tools'], - [ - _Tool_to_vertex(item, to_object, root_object) - for item in getv(from_object, ['tools']) - ], - ) - - if getv(from_object, ['generation_config']) is not None: - setv( - parent_object, - ['generationConfig'], - _GenerationConfig_to_vertex( - getv(from_object, ['generation_config']), to_object, root_object - ), - ) - - return to_object - - -def _CountTokensParameters_to_mldev( - api_client: BaseApiClient, - from_object: Union[dict[str, Any], object], - parent_object: Optional[dict[str, Any]] = None, - root_object: Optional[Union[dict[str, Any], object]] = None, -) -> dict[str, Any]: - to_object: dict[str, Any] = {} - if getv(from_object, ['model']) is not None: - setv( - to_object, - ['_url', 'model'], - t.t_model(api_client, getv(from_object, ['model'])), - ) - - if getv(from_object, ['contents']) is not None: - setv( - to_object, - ['contents'], - [ - _Content_to_mldev(item, to_object, root_object) - for item in t.t_contents(getv(from_object, ['contents'])) - ], - ) - - if getv(from_object, ['config']) is not None: - _CountTokensConfig_to_mldev( - getv(from_object, ['config']), to_object, root_object - ) - - return to_object - - -def _CountTokensParameters_to_vertex( - api_client: BaseApiClient, - from_object: Union[dict[str, Any], object], - parent_object: Optional[dict[str, Any]] = None, - root_object: Optional[Union[dict[str, Any], object]] = None, -) -> dict[str, Any]: - to_object: dict[str, Any] = {} - if getv(from_object, ['model']) is not None: - setv( - to_object, - ['_url', 'model'], - t.t_model(api_client, getv(from_object, ['model'])), - ) - - if getv(from_object, ['contents']) is not None: - setv( - to_object, - ['contents'], - [ - _Content_to_vertex(item, to_object, root_object) - for item in t.t_contents(getv(from_object, ['contents'])) - ], - ) - - if getv(from_object, ['config']) is not None: - _CountTokensConfig_to_vertex( - getv(from_object, ['config']), to_object, root_object - ) - - return to_object - - -def _CountTokensResponse_from_mldev( - from_object: Union[dict[str, Any], object], - parent_object: Optional[dict[str, Any]] = None, - root_object: Optional[Union[dict[str, Any], object]] = None, -) -> dict[str, Any]: - to_object: dict[str, Any] = {} - if getv(from_object, ['sdkHttpResponse']) is not None: - setv( - to_object, ['sdk_http_response'], getv(from_object, ['sdkHttpResponse']) - ) - - if getv(from_object, ['totalTokens']) is not None: - setv(to_object, ['total_tokens'], getv(from_object, ['totalTokens'])) - - if getv(from_object, ['cachedContentTokenCount']) is not None: - setv( - to_object, - ['cached_content_token_count'], - getv(from_object, ['cachedContentTokenCount']), - ) - - return to_object - - -def _CountTokensResponse_from_vertex( - from_object: Union[dict[str, Any], object], - parent_object: Optional[dict[str, Any]] = None, - root_object: Optional[Union[dict[str, Any], object]] = None, -) -> dict[str, Any]: - to_object: dict[str, Any] = {} - if getv(from_object, ['sdkHttpResponse']) is not None: - setv( - to_object, ['sdk_http_response'], getv(from_object, ['sdkHttpResponse']) - ) - - if getv(from_object, ['totalTokens']) is not None: - setv(to_object, ['total_tokens'], getv(from_object, ['totalTokens'])) - - return to_object - - -def _DeleteModelParameters_to_mldev( - api_client: BaseApiClient, - from_object: Union[dict[str, Any], object], - parent_object: Optional[dict[str, Any]] = None, - root_object: Optional[Union[dict[str, Any], object]] = None, -) -> dict[str, Any]: - to_object: dict[str, Any] = {} - if getv(from_object, ['model']) is not None: - setv( - to_object, - ['_url', 'name'], - t.t_model(api_client, getv(from_object, ['model'])), - ) - - return to_object - - -def _DeleteModelParameters_to_vertex( - api_client: BaseApiClient, - from_object: Union[dict[str, Any], object], - parent_object: Optional[dict[str, Any]] = None, - root_object: Optional[Union[dict[str, Any], object]] = None, -) -> dict[str, Any]: - to_object: dict[str, Any] = {} - if getv(from_object, ['model']) is not None: - setv( - to_object, - ['_url', 'name'], - t.t_model(api_client, getv(from_object, ['model'])), - ) - - return to_object - - -def _DeleteModelResponse_from_mldev( - from_object: Union[dict[str, Any], object], - parent_object: Optional[dict[str, Any]] = None, - root_object: Optional[Union[dict[str, Any], object]] = None, -) -> dict[str, Any]: - to_object: dict[str, Any] = {} - if getv(from_object, ['sdkHttpResponse']) is not None: - setv( - to_object, ['sdk_http_response'], getv(from_object, ['sdkHttpResponse']) - ) - - return to_object - - -def _DeleteModelResponse_from_vertex( - from_object: Union[dict[str, Any], object], - parent_object: Optional[dict[str, Any]] = None, - root_object: Optional[Union[dict[str, Any], object]] = None, -) -> dict[str, Any]: - to_object: dict[str, Any] = {} - if getv(from_object, ['sdkHttpResponse']) is not None: - setv( - to_object, ['sdk_http_response'], getv(from_object, ['sdkHttpResponse']) - ) - - return to_object - - -def _EditImageConfig_to_vertex( - from_object: Union[dict[str, Any], object], - parent_object: Optional[dict[str, Any]] = None, - root_object: Optional[Union[dict[str, Any], object]] = None, -) -> dict[str, Any]: - to_object: dict[str, Any] = {} - - if getv(from_object, ['output_gcs_uri']) is not None: - setv( - parent_object, - ['parameters', 'storageUri'], - getv(from_object, ['output_gcs_uri']), - ) - - if getv(from_object, ['negative_prompt']) is not None: - setv( - parent_object, - ['parameters', 'negativePrompt'], - getv(from_object, ['negative_prompt']), - ) - - if getv(from_object, ['number_of_images']) is not None: - setv( - parent_object, - ['parameters', 'sampleCount'], - getv(from_object, ['number_of_images']), - ) - - if getv(from_object, ['aspect_ratio']) is not None: - setv( - parent_object, - ['parameters', 'aspectRatio'], - getv(from_object, ['aspect_ratio']), - ) - - if getv(from_object, ['guidance_scale']) is not None: - setv( - parent_object, - ['parameters', 'guidanceScale'], - getv(from_object, ['guidance_scale']), - ) - - if getv(from_object, ['seed']) is not None: - setv(parent_object, ['parameters', 'seed'], getv(from_object, ['seed'])) - - if getv(from_object, ['safety_filter_level']) is not None: - setv( - parent_object, - ['parameters', 'safetySetting'], - getv(from_object, ['safety_filter_level']), - ) - - if getv(from_object, ['person_generation']) is not None: - setv( - parent_object, - ['parameters', 'personGeneration'], - getv(from_object, ['person_generation']), - ) - - if getv(from_object, ['include_safety_attributes']) is not None: - setv( - parent_object, - ['parameters', 'includeSafetyAttributes'], - getv(from_object, ['include_safety_attributes']), - ) - - if getv(from_object, ['include_rai_reason']) is not None: - setv( - parent_object, - ['parameters', 'includeRaiReason'], - getv(from_object, ['include_rai_reason']), - ) - - if getv(from_object, ['language']) is not None: - setv( - parent_object, - ['parameters', 'language'], - getv(from_object, ['language']), - ) - - if getv(from_object, ['output_mime_type']) is not None: - setv( - parent_object, - ['parameters', 'outputOptions', 'mimeType'], - getv(from_object, ['output_mime_type']), - ) - - if getv(from_object, ['output_compression_quality']) is not None: - setv( - parent_object, - ['parameters', 'outputOptions', 'compressionQuality'], - getv(from_object, ['output_compression_quality']), - ) - - if getv(from_object, ['add_watermark']) is not None: - setv( - parent_object, - ['parameters', 'addWatermark'], - getv(from_object, ['add_watermark']), - ) - - if getv(from_object, ['labels']) is not None: - setv(parent_object, ['labels'], getv(from_object, ['labels'])) - - if getv(from_object, ['edit_mode']) is not None: - setv( - parent_object, - ['parameters', 'editMode'], - getv(from_object, ['edit_mode']), - ) - - if getv(from_object, ['base_steps']) is not None: - setv( - parent_object, - ['parameters', 'editConfig', 'baseSteps'], - getv(from_object, ['base_steps']), - ) - - return to_object - - -def _EditImageParameters_to_vertex( - api_client: BaseApiClient, - from_object: Union[dict[str, Any], object], - parent_object: Optional[dict[str, Any]] = None, - root_object: Optional[Union[dict[str, Any], object]] = None, -) -> dict[str, Any]: - to_object: dict[str, Any] = {} - if getv(from_object, ['model']) is not None: - setv( - to_object, - ['_url', 'model'], - t.t_model(api_client, getv(from_object, ['model'])), - ) - - if getv(from_object, ['prompt']) is not None: - setv(to_object, ['instances[0]', 'prompt'], getv(from_object, ['prompt'])) - - if getv(from_object, ['reference_images']) is not None: - setv( - to_object, - ['instances[0]', 'referenceImages'], - [ - _ReferenceImageAPI_to_vertex(item, to_object, root_object) - for item in getv(from_object, ['reference_images']) - ], - ) - - if getv(from_object, ['config']) is not None: - _EditImageConfig_to_vertex( - getv(from_object, ['config']), to_object, root_object - ) - - return to_object - - -def _EditImageResponse_from_vertex( - from_object: Union[dict[str, Any], object], - parent_object: Optional[dict[str, Any]] = None, - root_object: Optional[Union[dict[str, Any], object]] = None, -) -> dict[str, Any]: - to_object: dict[str, Any] = {} - if getv(from_object, ['sdkHttpResponse']) is not None: - setv( - to_object, ['sdk_http_response'], getv(from_object, ['sdkHttpResponse']) - ) - - if getv(from_object, ['predictions']) is not None: - setv( - to_object, - ['generated_images'], - [ - _GeneratedImage_from_vertex(item, to_object, root_object) - for item in getv(from_object, ['predictions']) - ], - ) - - return to_object - - -def _EmbedContentConfig_to_mldev( - from_object: Union[dict[str, Any], object], - parent_object: Optional[dict[str, Any]] = None, - root_object: Optional[Union[dict[str, Any], object]] = None, -) -> dict[str, Any]: - to_object: dict[str, Any] = {} - if getv(from_object, ['task_type']) is not None: - setv( - parent_object, - ['requests[]', 'taskType'], - getv(from_object, ['task_type']), - ) - - if getv(from_object, ['title']) is not None: - setv(parent_object, ['requests[]', 'title'], getv(from_object, ['title'])) - - if getv(from_object, ['output_dimensionality']) is not None: - setv( - parent_object, - ['requests[]', 'outputDimensionality'], - getv(from_object, ['output_dimensionality']), - ) - - if getv(from_object, ['mime_type']) is not None: - raise ValueError( - 'mime_type parameter is only supported in Gemini Enterprise Agent' - ' Platform mode, not in Gemini Developer API mode.' - ) - - if getv(from_object, ['auto_truncate']) is not None: - raise ValueError( - 'auto_truncate parameter is only supported in Gemini Enterprise Agent' - ' Platform mode, not in Gemini Developer API mode.' - ) - - if getv(from_object, ['document_ocr']) is not None: - raise ValueError( - 'document_ocr parameter is only supported in Gemini Enterprise Agent' - ' Platform mode, not in Gemini Developer API mode.' - ) - - if getv(from_object, ['audio_track_extraction']) is not None: - raise ValueError( - 'audio_track_extraction parameter is only supported in Gemini' - ' Enterprise Agent Platform mode, not in Gemini Developer API mode.' - ) - - return to_object - - -def _EmbedContentConfig_to_vertex( - from_object: Union[dict[str, Any], object], - parent_object: Optional[dict[str, Any]] = None, - root_object: Optional[Union[dict[str, Any], object]] = None, -) -> dict[str, Any]: - to_object: dict[str, Any] = {} - - discriminator = getv(root_object, ['embedding_api_type']) - if discriminator is None: - discriminator = 'PREDICT' - if discriminator == 'PREDICT': - if getv(from_object, ['task_type']) is not None: - setv( - parent_object, - ['instances[]', 'task_type'], - getv(from_object, ['task_type']), - ) - elif discriminator == 'EMBED_CONTENT': - if getv(from_object, ['task_type']) is not None: - setv( - parent_object, - ['embedContentConfig', 'taskType'], - getv(from_object, ['task_type']), - ) - - discriminator = getv(root_object, ['embedding_api_type']) - if discriminator is None: - discriminator = 'PREDICT' - if discriminator == 'PREDICT': - if getv(from_object, ['title']) is not None: - setv( - parent_object, ['instances[]', 'title'], getv(from_object, ['title']) - ) - elif discriminator == 'EMBED_CONTENT': - if getv(from_object, ['title']) is not None: - setv( - parent_object, - ['embedContentConfig', 'title'], - getv(from_object, ['title']), - ) - - discriminator = getv(root_object, ['embedding_api_type']) - if discriminator is None: - discriminator = 'PREDICT' - if discriminator == 'PREDICT': - if getv(from_object, ['output_dimensionality']) is not None: - setv( - parent_object, - ['parameters', 'outputDimensionality'], - getv(from_object, ['output_dimensionality']), - ) - elif discriminator == 'EMBED_CONTENT': - if getv(from_object, ['output_dimensionality']) is not None: - setv( - parent_object, - ['embedContentConfig', 'outputDimensionality'], - getv(from_object, ['output_dimensionality']), - ) - - discriminator = getv(root_object, ['embedding_api_type']) - if discriminator is None: - discriminator = 'PREDICT' - if discriminator == 'PREDICT': - if getv(from_object, ['mime_type']) is not None: - setv( - parent_object, - ['instances[]', 'mimeType'], - getv(from_object, ['mime_type']), - ) - - discriminator = getv(root_object, ['embedding_api_type']) - if discriminator is None: - discriminator = 'PREDICT' - if discriminator == 'PREDICT': - if getv(from_object, ['auto_truncate']) is not None: - setv( - parent_object, - ['parameters', 'autoTruncate'], - getv(from_object, ['auto_truncate']), - ) - elif discriminator == 'EMBED_CONTENT': - if getv(from_object, ['auto_truncate']) is not None: - setv( - parent_object, - ['embedContentConfig', 'autoTruncate'], - getv(from_object, ['auto_truncate']), - ) - - discriminator = getv(root_object, ['embedding_api_type']) - if discriminator is None: - discriminator = 'PREDICT' - if discriminator == 'EMBED_CONTENT': - if getv(from_object, ['document_ocr']) is not None: - setv( - parent_object, - ['embedContentConfig', 'documentOcr'], - getv(from_object, ['document_ocr']), - ) - - discriminator = getv(root_object, ['embedding_api_type']) - if discriminator is None: - discriminator = 'PREDICT' - if discriminator == 'EMBED_CONTENT': - if getv(from_object, ['audio_track_extraction']) is not None: - setv( - parent_object, - ['embedContentConfig', 'audioTrackExtraction'], - getv(from_object, ['audio_track_extraction']), - ) - - return to_object - - -def _EmbedContentParametersPrivate_to_mldev( - api_client: BaseApiClient, - from_object: Union[dict[str, Any], object], - parent_object: Optional[dict[str, Any]] = None, - root_object: Optional[Union[dict[str, Any], object]] = None, -) -> dict[str, Any]: - to_object: dict[str, Any] = {} - if getv(from_object, ['model']) is not None: - setv( - to_object, - ['_url', 'model'], - t.t_model(api_client, getv(from_object, ['model'])), - ) - - if getv(from_object, ['contents']) is not None: - setv( - to_object, - ['requests[]', 'content'], - [ - item - for item in t.t_contents_for_embed( - api_client, getv(from_object, ['contents']) - ) - ], - ) - - if getv(from_object, ['content']) is not None: - _Content_to_mldev( - t.t_content(getv(from_object, ['content'])), to_object, root_object - ) - - if getv(from_object, ['config']) is not None: - _EmbedContentConfig_to_mldev( - getv(from_object, ['config']), to_object, root_object - ) - - setv( - to_object, - ['requests[]', 'model'], - t.t_model(api_client, getv(from_object, ['model'])), - ) - return to_object - - -def _EmbedContentParametersPrivate_to_vertex( - api_client: BaseApiClient, - from_object: Union[dict[str, Any], object], - parent_object: Optional[dict[str, Any]] = None, - root_object: Optional[Union[dict[str, Any], object]] = None, -) -> dict[str, Any]: - to_object: dict[str, Any] = {} - if getv(from_object, ['model']) is not None: - setv( - to_object, - ['_url', 'model'], - t.t_model(api_client, getv(from_object, ['model'])), - ) - - discriminator = getv(root_object, ['embedding_api_type']) - if discriminator is None: - discriminator = 'PREDICT' - if discriminator == 'PREDICT': - if getv(from_object, ['contents']) is not None: - setv( - to_object, - ['instances[]', 'content'], - [ - item - for item in t.t_contents_for_embed( - api_client, getv(from_object, ['contents']) - ) - ], - ) - - discriminator = getv(root_object, ['embedding_api_type']) - if discriminator is None: - discriminator = 'PREDICT' - if discriminator == 'EMBED_CONTENT': - if getv(from_object, ['content']) is not None: - setv( - to_object, - ['content'], - _Content_to_vertex( - t.t_content(getv(from_object, ['content'])), - to_object, - root_object, - ), - ) - - if getv(from_object, ['config']) is not None: - _EmbedContentConfig_to_vertex( - getv(from_object, ['config']), to_object, root_object - ) - - return to_object - - -def _EmbedContentResponse_from_mldev( - from_object: Union[dict[str, Any], object], - parent_object: Optional[dict[str, Any]] = None, - root_object: Optional[Union[dict[str, Any], object]] = None, -) -> dict[str, Any]: - to_object: dict[str, Any] = {} - if getv(from_object, ['sdkHttpResponse']) is not None: - setv( - to_object, ['sdk_http_response'], getv(from_object, ['sdkHttpResponse']) - ) - - if getv(from_object, ['embeddings']) is not None: - setv( - to_object, - ['embeddings'], - [item for item in getv(from_object, ['embeddings'])], - ) - - if getv(from_object, ['metadata']) is not None: - setv(to_object, ['metadata'], getv(from_object, ['metadata'])) - - return to_object - - -def _EmbedContentResponse_from_vertex( - from_object: Union[dict[str, Any], object], - parent_object: Optional[dict[str, Any]] = None, - root_object: Optional[Union[dict[str, Any], object]] = None, -) -> dict[str, Any]: - to_object: dict[str, Any] = {} - if getv(from_object, ['sdkHttpResponse']) is not None: - setv( - to_object, ['sdk_http_response'], getv(from_object, ['sdkHttpResponse']) - ) - - if getv(from_object, ['predictions[]', 'embeddings']) is not None: - setv( - to_object, - ['embeddings'], - [ - _ContentEmbedding_from_vertex(item, to_object, root_object) - for item in getv(from_object, ['predictions[]', 'embeddings']) - ], - ) - - if getv(from_object, ['metadata']) is not None: - setv(to_object, ['metadata'], getv(from_object, ['metadata'])) - - if getv(root_object, ['embedding_api_type']) == 'EMBED_CONTENT': - embedding = getv(from_object, ['embedding']) - usage_metadata = getv(from_object, ['usageMetadata']) - truncated = getv(from_object, ['truncated']) - if embedding: - stats = {} - if usage_metadata and usage_metadata.get('promptTokenCount'): - stats['token_count'] = usage_metadata['promptTokenCount'] - if usage_metadata and usage_metadata.get('promptTokensDetails'): - stats['tokensDetails'] = usage_metadata['promptTokensDetails'] - if truncated: - stats['truncated'] = truncated - embedding['statistics'] = stats - setv(to_object, ['embeddings'], [embedding]) - - return to_object - - -def _Endpoint_from_vertex( - from_object: Union[dict[str, Any], object], - parent_object: Optional[dict[str, Any]] = None, - root_object: Optional[Union[dict[str, Any], object]] = None, -) -> dict[str, Any]: - to_object: dict[str, Any] = {} - if getv(from_object, ['endpoint']) is not None: - setv(to_object, ['name'], getv(from_object, ['endpoint'])) - - if getv(from_object, ['deployedModelId']) is not None: - setv( - to_object, ['deployed_model_id'], getv(from_object, ['deployedModelId']) - ) - - return to_object - - -def _FunctionCall_to_mldev( - from_object: Union[dict[str, Any], object], - parent_object: Optional[dict[str, Any]] = None, - root_object: Optional[Union[dict[str, Any], object]] = 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 only supported in Gemini Enterprise Agent' - ' Platform mode, not in Gemini Developer API mode.' - ) - - if getv(from_object, ['will_continue']) is not None: - raise ValueError( - 'will_continue parameter is only supported in Gemini Enterprise Agent' - ' Platform mode, not in Gemini Developer API mode.' - ) - - return to_object - - -def _FunctionCallingConfig_to_mldev( - from_object: Union[dict[str, Any], object], - parent_object: Optional[dict[str, Any]] = None, - root_object: Optional[Union[dict[str, Any], object]] = None, -) -> dict[str, Any]: - to_object: dict[str, Any] = {} - if getv(from_object, ['allowed_function_names']) is not None: - setv( - to_object, - ['allowedFunctionNames'], - getv(from_object, ['allowed_function_names']), - ) - - if getv(from_object, ['mode']) is not None: - setv(to_object, ['mode'], getv(from_object, ['mode'])) - - if getv(from_object, ['stream_function_call_arguments']) is not None: - raise ValueError( - 'stream_function_call_arguments parameter is only supported in Gemini' - ' Enterprise Agent Platform mode, not in Gemini Developer API mode.' - ) - - return to_object - - -def _GenerateContentConfig_to_mldev( - api_client: BaseApiClient, - from_object: Union[dict[str, Any], object], - parent_object: Optional[dict[str, Any]] = None, - root_object: Optional[Union[dict[str, Any], object]] = None, -) -> dict[str, Any]: - to_object: dict[str, Any] = {} - - if getv(from_object, ['system_instruction']) is not None: - setv( - parent_object, - ['systemInstruction'], - _Content_to_mldev( - t.t_content(getv(from_object, ['system_instruction'])), - to_object, - root_object, - ), - ) - - if getv(from_object, ['temperature']) is not None: - setv(to_object, ['temperature'], getv(from_object, ['temperature'])) - - if getv(from_object, ['top_p']) is not None: - setv(to_object, ['topP'], getv(from_object, ['top_p'])) - - if getv(from_object, ['top_k']) is not None: - setv(to_object, ['topK'], getv(from_object, ['top_k'])) - - if getv(from_object, ['candidate_count']) is not None: - setv(to_object, ['candidateCount'], getv(from_object, ['candidate_count'])) - - if getv(from_object, ['max_output_tokens']) is not None: - setv( - to_object, ['maxOutputTokens'], getv(from_object, ['max_output_tokens']) - ) - - if getv(from_object, ['stop_sequences']) is not None: - setv(to_object, ['stopSequences'], getv(from_object, ['stop_sequences'])) - - if getv(from_object, ['response_logprobs']) is not None: - setv( - to_object, - ['responseLogprobs'], - getv(from_object, ['response_logprobs']), - ) - - if getv(from_object, ['logprobs']) is not None: - setv(to_object, ['logprobs'], getv(from_object, ['logprobs'])) - - if getv(from_object, ['presence_penalty']) is not None: - setv( - to_object, ['presencePenalty'], getv(from_object, ['presence_penalty']) - ) - - if getv(from_object, ['frequency_penalty']) is not None: - setv( - to_object, - ['frequencyPenalty'], - getv(from_object, ['frequency_penalty']), - ) - - if getv(from_object, ['seed']) is not None: - setv(to_object, ['seed'], getv(from_object, ['seed'])) - - if getv(from_object, ['response_mime_type']) is not None: - setv( - to_object, - ['responseMimeType'], - getv(from_object, ['response_mime_type']), - ) - - if getv(from_object, ['response_schema']) is not None: - setv( - to_object, - ['responseSchema'], - t.t_schema(api_client, getv(from_object, ['response_schema'])), - ) - - if getv(from_object, ['response_json_schema']) is not None: - setv( - to_object, - ['responseJsonSchema'], - t.t_json_schema(getv(from_object, ['response_json_schema'])), - ) - - if getv(from_object, ['routing_config']) is not None: - raise ValueError( - 'routing_config parameter is only supported in Gemini Enterprise Agent' - ' Platform mode, not in Gemini Developer API mode.' - ) - - if getv(from_object, ['model_selection_config']) is not None: - raise ValueError( - 'model_selection_config parameter is only supported in Gemini' - ' Enterprise Agent Platform mode, not in Gemini Developer API mode.' - ) - - if getv(from_object, ['safety_settings']) is not None: - setv( - parent_object, - ['safetySettings'], - [ - _SafetySetting_to_mldev(item, to_object, root_object) - for item in getv(from_object, ['safety_settings']) - ], - ) - - if getv(from_object, ['tools']) is not None: - setv( - parent_object, - ['tools'], - [ - _Tool_to_mldev(t.t_tool(api_client, item), to_object, root_object) - for item in t.t_tools(api_client, getv(from_object, ['tools'])) - ], - ) - - if getv(from_object, ['tool_config']) is not None: - setv( - parent_object, - ['toolConfig'], - _ToolConfig_to_mldev( - getv(from_object, ['tool_config']), to_object, root_object - ), - ) - - if getv(from_object, ['labels']) is not None: - setv(parent_object, ['labels'], getv(from_object, ['labels'])) - - if getv(from_object, ['cached_content']) is not None: - setv( - parent_object, - ['cachedContent'], - t.t_cached_content_name( - api_client, getv(from_object, ['cached_content']) - ), - ) - - if getv(from_object, ['response_modalities']) is not None: - setv( - to_object, - ['responseModalities'], - getv(from_object, ['response_modalities']), - ) - - if getv(from_object, ['media_resolution']) is not None: - setv( - to_object, ['mediaResolution'], getv(from_object, ['media_resolution']) - ) - - if getv(from_object, ['speech_config']) is not None: - setv( - to_object, - ['speechConfig'], - t.t_speech_config(getv(from_object, ['speech_config'])), - ) - - if getv(from_object, ['audio_timestamp']) is not None: - raise ValueError( - 'audio_timestamp parameter is only supported in Gemini Enterprise Agent' - ' Platform mode, not in Gemini Developer API mode.' - ) - - if getv(from_object, ['thinking_config']) is not None: - setv(to_object, ['thinkingConfig'], getv(from_object, ['thinking_config'])) - - if getv(from_object, ['image_config']) is not None: - setv( - to_object, - ['imageConfig'], - _ImageConfig_to_mldev( - getv(from_object, ['image_config']), to_object, root_object - ), - ) - - if getv(from_object, ['enable_enhanced_civic_answers']) is not None: - setv( - to_object, - ['enableEnhancedCivicAnswers'], - getv(from_object, ['enable_enhanced_civic_answers']), - ) - - if getv(from_object, ['model_armor_config']) is not None: - raise ValueError( - 'model_armor_config parameter is only supported in Gemini Enterprise' - ' Agent Platform mode, not in Gemini Developer API mode.' - ) - - if getv(from_object, ['service_tier']) is not None: - setv(parent_object, ['serviceTier'], getv(from_object, ['service_tier'])) - - if getv(from_object, ['audio_transcription_config']) is not None: - setv( - to_object, - ['audioTranscriptionConfig'], - getv(from_object, ['audio_transcription_config']), - ) - - if getv(from_object, ['continuation_token']) is not None: - setv( - parent_object, - ['continuationToken'], - getv(from_object, ['continuation_token']), - ) - - return to_object - - -def _GenerateContentConfig_to_vertex( - api_client: BaseApiClient, - from_object: Union[dict[str, Any], object], - parent_object: Optional[dict[str, Any]] = None, - root_object: Optional[Union[dict[str, Any], object]] = None, -) -> dict[str, Any]: - to_object: dict[str, Any] = {} - - if getv(from_object, ['system_instruction']) is not None: - setv( - parent_object, - ['systemInstruction'], - _Content_to_vertex( - t.t_content(getv(from_object, ['system_instruction'])), - to_object, - root_object, - ), - ) - - if getv(from_object, ['temperature']) is not None: - setv(to_object, ['temperature'], getv(from_object, ['temperature'])) - - if getv(from_object, ['top_p']) is not None: - setv(to_object, ['topP'], getv(from_object, ['top_p'])) - - if getv(from_object, ['top_k']) is not None: - setv(to_object, ['topK'], getv(from_object, ['top_k'])) - - if getv(from_object, ['candidate_count']) is not None: - setv(to_object, ['candidateCount'], getv(from_object, ['candidate_count'])) - - if getv(from_object, ['max_output_tokens']) is not None: - setv( - to_object, ['maxOutputTokens'], getv(from_object, ['max_output_tokens']) - ) - - if getv(from_object, ['stop_sequences']) is not None: - setv(to_object, ['stopSequences'], getv(from_object, ['stop_sequences'])) - - if getv(from_object, ['response_logprobs']) is not None: - setv( - to_object, - ['responseLogprobs'], - getv(from_object, ['response_logprobs']), - ) - - if getv(from_object, ['logprobs']) is not None: - setv(to_object, ['logprobs'], getv(from_object, ['logprobs'])) - - if getv(from_object, ['presence_penalty']) is not None: - setv( - to_object, ['presencePenalty'], getv(from_object, ['presence_penalty']) - ) - - if getv(from_object, ['frequency_penalty']) is not None: - setv( - to_object, - ['frequencyPenalty'], - getv(from_object, ['frequency_penalty']), - ) - - if getv(from_object, ['seed']) is not None: - setv(to_object, ['seed'], getv(from_object, ['seed'])) - - if getv(from_object, ['response_mime_type']) is not None: - setv( - to_object, - ['responseMimeType'], - getv(from_object, ['response_mime_type']), - ) - - if getv(from_object, ['response_schema']) is not None: - setv( - to_object, - ['responseSchema'], - t.t_schema(api_client, getv(from_object, ['response_schema'])), - ) - - if getv(from_object, ['response_json_schema']) is not None: - setv( - to_object, - ['responseJsonSchema'], - t.t_json_schema(getv(from_object, ['response_json_schema'])), - ) - - if getv(from_object, ['routing_config']) is not None: - setv(to_object, ['routingConfig'], getv(from_object, ['routing_config'])) - - if getv(from_object, ['model_selection_config']) is not None: - setv( - to_object, - ['modelConfig'], - getv(from_object, ['model_selection_config']), - ) - - if getv(from_object, ['safety_settings']) is not None: - setv( - parent_object, - ['safetySettings'], - [item for item in getv(from_object, ['safety_settings'])], - ) - - if getv(from_object, ['tools']) is not None: - setv( - parent_object, - ['tools'], - [ - _Tool_to_vertex(t.t_tool(api_client, item), to_object, root_object) - for item in t.t_tools(api_client, getv(from_object, ['tools'])) - ], - ) - - if getv(from_object, ['tool_config']) is not None: - setv( - parent_object, - ['toolConfig'], - _ToolConfig_to_vertex( - getv(from_object, ['tool_config']), to_object, root_object - ), - ) - - if getv(from_object, ['labels']) is not None: - setv(parent_object, ['labels'], getv(from_object, ['labels'])) - - if getv(from_object, ['cached_content']) is not None: - setv( - parent_object, - ['cachedContent'], - t.t_cached_content_name( - api_client, getv(from_object, ['cached_content']) - ), - ) - - if getv(from_object, ['response_modalities']) is not None: - setv( - to_object, - ['responseModalities'], - getv(from_object, ['response_modalities']), - ) - - if getv(from_object, ['media_resolution']) is not None: - setv( - to_object, ['mediaResolution'], getv(from_object, ['media_resolution']) - ) - - if getv(from_object, ['speech_config']) is not None: - setv( - to_object, - ['speechConfig'], - _SpeechConfig_to_vertex( - t.t_speech_config(getv(from_object, ['speech_config'])), - to_object, - root_object, - ), - ) - - if getv(from_object, ['audio_timestamp']) is not None: - setv(to_object, ['audioTimestamp'], getv(from_object, ['audio_timestamp'])) - - if getv(from_object, ['thinking_config']) is not None: - setv(to_object, ['thinkingConfig'], getv(from_object, ['thinking_config'])) - - if getv(from_object, ['image_config']) is not None: - setv( - to_object, - ['imageConfig'], - _ImageConfig_to_vertex( - getv(from_object, ['image_config']), to_object, root_object - ), - ) - - if getv(from_object, ['enable_enhanced_civic_answers']) is not None: - raise ValueError( - 'enable_enhanced_civic_answers parameter is only supported in Gemini' - ' Developer API mode, not in Gemini Enterprise Agent Platform mode.' - ) - - if getv(from_object, ['model_armor_config']) is not None: - setv( - parent_object, - ['modelArmorConfig'], - getv(from_object, ['model_armor_config']), - ) - - if getv(from_object, ['service_tier']) is not None: - setv(parent_object, ['serviceTier'], getv(from_object, ['service_tier'])) - - if getv(from_object, ['audio_transcription_config']) is not None: - setv( - to_object, - ['audioTranscriptionConfig'], - getv(from_object, ['audio_transcription_config']), - ) - - if getv(from_object, ['continuation_token']) is not None: - setv( - parent_object, - ['continuationToken'], - getv(from_object, ['continuation_token']), - ) - - return to_object - - -def _GenerateContentParameters_to_mldev( - api_client: BaseApiClient, - from_object: Union[dict[str, Any], object], - parent_object: Optional[dict[str, Any]] = None, - root_object: Optional[Union[dict[str, Any], object]] = None, -) -> dict[str, Any]: - to_object: dict[str, Any] = {} - if getv(from_object, ['model']) is not None: - setv( - to_object, - ['_url', 'model'], - t.t_model(api_client, getv(from_object, ['model'])), - ) - - if getv(from_object, ['contents']) is not None: - setv( - to_object, - ['contents'], - [ - _Content_to_mldev(item, to_object, root_object) - for item in t.t_contents(getv(from_object, ['contents'])) - ], - ) - - if getv(from_object, ['config']) is not None: - setv( - to_object, - ['generationConfig'], - _GenerateContentConfig_to_mldev( - api_client, getv(from_object, ['config']), to_object, root_object - ), - ) - - return to_object - - -def _GenerateContentParameters_to_vertex( - api_client: BaseApiClient, - from_object: Union[dict[str, Any], object], - parent_object: Optional[dict[str, Any]] = None, - root_object: Optional[Union[dict[str, Any], object]] = None, -) -> dict[str, Any]: - to_object: dict[str, Any] = {} - if getv(from_object, ['model']) is not None: - setv( - to_object, - ['_url', 'model'], - t.t_model(api_client, getv(from_object, ['model'])), - ) - - if getv(from_object, ['contents']) is not None: - setv( - to_object, - ['contents'], - [ - _Content_to_vertex(item, to_object, root_object) - for item in t.t_contents(getv(from_object, ['contents'])) - ], - ) - - if getv(from_object, ['config']) is not None: - setv( - to_object, - ['generationConfig'], - _GenerateContentConfig_to_vertex( - api_client, getv(from_object, ['config']), to_object, root_object - ), - ) - - return to_object - - -def _GenerateContentResponse_from_mldev( - from_object: Union[dict[str, Any], object], - parent_object: Optional[dict[str, Any]] = None, - root_object: Optional[Union[dict[str, Any], object]] = None, -) -> dict[str, Any]: - to_object: dict[str, Any] = {} - if getv(from_object, ['sdkHttpResponse']) is not None: - setv( - to_object, ['sdk_http_response'], getv(from_object, ['sdkHttpResponse']) - ) - - if getv(from_object, ['candidates']) is not None: - setv( - to_object, - ['candidates'], - [ - _Candidate_from_mldev(item, to_object, root_object) - for item in getv(from_object, ['candidates']) - ], - ) - - if getv(from_object, ['modelVersion']) is not None: - setv(to_object, ['model_version'], getv(from_object, ['modelVersion'])) - - if getv(from_object, ['promptFeedback']) is not None: - setv(to_object, ['prompt_feedback'], getv(from_object, ['promptFeedback'])) - - if getv(from_object, ['responseId']) is not None: - setv(to_object, ['response_id'], getv(from_object, ['responseId'])) - - if getv(from_object, ['usageMetadata']) is not None: - setv(to_object, ['usage_metadata'], getv(from_object, ['usageMetadata'])) - - if getv(from_object, ['modelStatus']) is not None: - setv(to_object, ['model_status'], getv(from_object, ['modelStatus'])) - - return to_object - - -def _GenerateContentResponse_from_vertex( - from_object: Union[dict[str, Any], object], - parent_object: Optional[dict[str, Any]] = None, - root_object: Optional[Union[dict[str, Any], object]] = None, -) -> dict[str, Any]: - to_object: dict[str, Any] = {} - if getv(from_object, ['sdkHttpResponse']) is not None: - setv( - to_object, ['sdk_http_response'], getv(from_object, ['sdkHttpResponse']) - ) - - if getv(from_object, ['candidates']) is not None: - setv( - to_object, - ['candidates'], - [item for item in getv(from_object, ['candidates'])], - ) - - if getv(from_object, ['createTime']) is not None: - setv(to_object, ['create_time'], getv(from_object, ['createTime'])) - - if getv(from_object, ['modelVersion']) is not None: - setv(to_object, ['model_version'], getv(from_object, ['modelVersion'])) - - if getv(from_object, ['promptFeedback']) is not None: - setv(to_object, ['prompt_feedback'], getv(from_object, ['promptFeedback'])) - - if getv(from_object, ['responseId']) is not None: - setv(to_object, ['response_id'], getv(from_object, ['responseId'])) - - if getv(from_object, ['usageMetadata']) is not None: - setv(to_object, ['usage_metadata'], getv(from_object, ['usageMetadata'])) - - return to_object - - -def _GenerateImagesConfig_to_vertex( - from_object: Union[dict[str, Any], object], - parent_object: Optional[dict[str, Any]] = None, - root_object: Optional[Union[dict[str, Any], object]] = None, -) -> dict[str, Any]: - to_object: dict[str, Any] = {} - - if getv(from_object, ['output_gcs_uri']) is not None: - setv( - parent_object, - ['parameters', 'storageUri'], - getv(from_object, ['output_gcs_uri']), - ) - - if getv(from_object, ['negative_prompt']) is not None: - setv( - parent_object, - ['parameters', 'negativePrompt'], - getv(from_object, ['negative_prompt']), - ) - - if getv(from_object, ['number_of_images']) is not None: - setv( - parent_object, - ['parameters', 'sampleCount'], - getv(from_object, ['number_of_images']), - ) - - if getv(from_object, ['aspect_ratio']) is not None: - setv( - parent_object, - ['parameters', 'aspectRatio'], - getv(from_object, ['aspect_ratio']), - ) - - if getv(from_object, ['guidance_scale']) is not None: - setv( - parent_object, - ['parameters', 'guidanceScale'], - getv(from_object, ['guidance_scale']), - ) - - if getv(from_object, ['seed']) is not None: - setv(parent_object, ['parameters', 'seed'], getv(from_object, ['seed'])) - - if getv(from_object, ['safety_filter_level']) is not None: - setv( - parent_object, - ['parameters', 'safetySetting'], - getv(from_object, ['safety_filter_level']), - ) - - if getv(from_object, ['person_generation']) is not None: - setv( - parent_object, - ['parameters', 'personGeneration'], - getv(from_object, ['person_generation']), - ) - - if getv(from_object, ['include_safety_attributes']) is not None: - setv( - parent_object, - ['parameters', 'includeSafetyAttributes'], - getv(from_object, ['include_safety_attributes']), - ) - - if getv(from_object, ['include_rai_reason']) is not None: - setv( - parent_object, - ['parameters', 'includeRaiReason'], - getv(from_object, ['include_rai_reason']), - ) - - if getv(from_object, ['language']) is not None: - setv( - parent_object, - ['parameters', 'language'], - getv(from_object, ['language']), - ) - - if getv(from_object, ['output_mime_type']) is not None: - setv( - parent_object, - ['parameters', 'outputOptions', 'mimeType'], - getv(from_object, ['output_mime_type']), - ) - - if getv(from_object, ['output_compression_quality']) is not None: - setv( - parent_object, - ['parameters', 'outputOptions', 'compressionQuality'], - getv(from_object, ['output_compression_quality']), - ) - - if getv(from_object, ['add_watermark']) is not None: - setv( - parent_object, - ['parameters', 'addWatermark'], - getv(from_object, ['add_watermark']), - ) - - if getv(from_object, ['labels']) is not None: - setv(parent_object, ['labels'], getv(from_object, ['labels'])) - - if getv(from_object, ['image_size']) is not None: - setv( - parent_object, - ['parameters', 'sampleImageSize'], - getv(from_object, ['image_size']), - ) - - if getv(from_object, ['enhance_prompt']) is not None: - setv( - parent_object, - ['parameters', 'enhancePrompt'], - getv(from_object, ['enhance_prompt']), - ) - - return to_object - - -def _GenerateImagesParameters_to_vertex( - api_client: BaseApiClient, - from_object: Union[dict[str, Any], object], - parent_object: Optional[dict[str, Any]] = None, - root_object: Optional[Union[dict[str, Any], object]] = None, -) -> dict[str, Any]: - to_object: dict[str, Any] = {} - if getv(from_object, ['model']) is not None: - setv( - to_object, - ['_url', 'model'], - t.t_model(api_client, getv(from_object, ['model'])), - ) - - if getv(from_object, ['prompt']) is not None: - setv(to_object, ['instances[0]', 'prompt'], getv(from_object, ['prompt'])) - - if getv(from_object, ['config']) is not None: - _GenerateImagesConfig_to_vertex( - getv(from_object, ['config']), to_object, root_object - ) - - return to_object - - -def _GenerateImagesResponse_from_vertex( - from_object: Union[dict[str, Any], object], - parent_object: Optional[dict[str, Any]] = None, - root_object: Optional[Union[dict[str, Any], object]] = None, -) -> dict[str, Any]: - to_object: dict[str, Any] = {} - if getv(from_object, ['sdkHttpResponse']) is not None: - setv( - to_object, ['sdk_http_response'], getv(from_object, ['sdkHttpResponse']) - ) - - if getv(from_object, ['predictions']) is not None: - setv( - to_object, - ['generated_images'], - [ - _GeneratedImage_from_vertex(item, to_object, root_object) - for item in getv(from_object, ['predictions']) - ], - ) - - if getv(from_object, ['positivePromptSafetyAttributes']) is not None: - setv( - to_object, - ['positive_prompt_safety_attributes'], - _SafetyAttributes_from_vertex( - getv(from_object, ['positivePromptSafetyAttributes']), - to_object, - root_object, - ), - ) - - return to_object - - -def _GenerateVideosConfig_to_mldev( - from_object: Union[dict[str, Any], object], - parent_object: Optional[dict[str, Any]] = None, - root_object: Optional[Union[dict[str, Any], object]] = None, -) -> dict[str, Any]: - to_object: dict[str, Any] = {} - - if getv(from_object, ['number_of_videos']) is not None: - setv( - parent_object, - ['parameters', 'sampleCount'], - getv(from_object, ['number_of_videos']), - ) - - if getv(from_object, ['output_gcs_uri']) is not None: - raise ValueError( - 'output_gcs_uri parameter is only supported in Gemini Enterprise Agent' - ' Platform mode, not in Gemini Developer API mode.' - ) - - if getv(from_object, ['fps']) is not None: - raise ValueError( - 'fps parameter is only supported in Gemini Enterprise Agent Platform' - ' mode, not in Gemini Developer API mode.' - ) - - if getv(from_object, ['duration_seconds']) is not None: - setv( - parent_object, - ['parameters', 'durationSeconds'], - getv(from_object, ['duration_seconds']), - ) - - if getv(from_object, ['seed']) is not None: - raise ValueError( - 'seed parameter is only supported in Gemini Enterprise Agent Platform' - ' mode, not in Gemini Developer API mode.' - ) - - if getv(from_object, ['aspect_ratio']) is not None: - setv( - parent_object, - ['parameters', 'aspectRatio'], - getv(from_object, ['aspect_ratio']), - ) - - if getv(from_object, ['resolution']) is not None: - setv( - parent_object, - ['parameters', 'resolution'], - getv(from_object, ['resolution']), - ) - - if getv(from_object, ['person_generation']) is not None: - setv( - parent_object, - ['parameters', 'personGeneration'], - getv(from_object, ['person_generation']), - ) - - if getv(from_object, ['pubsub_topic']) is not None: - raise ValueError( - 'pubsub_topic parameter is only supported in Gemini Enterprise Agent' - ' Platform mode, not in Gemini Developer API mode.' - ) - - if getv(from_object, ['negative_prompt']) is not None: - setv( - parent_object, - ['parameters', 'negativePrompt'], - getv(from_object, ['negative_prompt']), - ) - - if getv(from_object, ['enhance_prompt']) is not None: - setv( - parent_object, - ['parameters', 'enhancePrompt'], - getv(from_object, ['enhance_prompt']), - ) - - if getv(from_object, ['generate_audio']) is not None: - raise ValueError( - 'generate_audio parameter is only supported in Gemini Enterprise Agent' - ' Platform mode, not in Gemini Developer API mode.' - ) - - if getv(from_object, ['last_frame']) is not None: - setv( - parent_object, - ['instances[0]', 'lastFrame'], - _Image_to_mldev( - getv(from_object, ['last_frame']), to_object, root_object - ), - ) - - if getv(from_object, ['reference_images']) is not None: - setv( - parent_object, - ['instances[0]', 'referenceImages'], - [ - _VideoGenerationReferenceImage_to_mldev( - item, to_object, root_object - ) - for item in getv(from_object, ['reference_images']) - ], - ) - - if getv(from_object, ['mask']) is not None: - raise ValueError( - 'mask parameter is only supported in Gemini Enterprise Agent Platform' - ' mode, not in Gemini Developer API mode.' - ) - - if getv(from_object, ['compression_quality']) is not None: - raise ValueError( - 'compression_quality parameter is only supported in Gemini Enterprise' - ' Agent Platform mode, not in Gemini Developer API mode.' - ) - - if getv(from_object, ['labels']) is not None: - raise ValueError( - 'labels parameter is only supported in Gemini Enterprise Agent Platform' - ' mode, not in Gemini Developer API mode.' - ) - - if getv(from_object, ['webhook_config']) is not None: - setv( - parent_object, ['webhookConfig'], getv(from_object, ['webhook_config']) - ) - - if getv(from_object, ['resize_mode']) is not None: - raise ValueError( - 'resize_mode parameter is only supported in Gemini Enterprise Agent' - ' Platform mode, not in Gemini Developer API mode.' - ) - - return to_object - - -def _GenerateVideosConfig_to_vertex( - from_object: Union[dict[str, Any], object], - parent_object: Optional[dict[str, Any]] = None, - root_object: Optional[Union[dict[str, Any], object]] = None, -) -> dict[str, Any]: - to_object: dict[str, Any] = {} - - if getv(from_object, ['number_of_videos']) is not None: - setv( - parent_object, - ['parameters', 'sampleCount'], - getv(from_object, ['number_of_videos']), - ) - - if getv(from_object, ['output_gcs_uri']) is not None: - setv( - parent_object, - ['parameters', 'storageUri'], - getv(from_object, ['output_gcs_uri']), - ) - - if getv(from_object, ['fps']) is not None: - setv(parent_object, ['parameters', 'fps'], getv(from_object, ['fps'])) - - if getv(from_object, ['duration_seconds']) is not None: - setv( - parent_object, - ['parameters', 'durationSeconds'], - getv(from_object, ['duration_seconds']), - ) - - if getv(from_object, ['seed']) is not None: - setv(parent_object, ['parameters', 'seed'], getv(from_object, ['seed'])) - - if getv(from_object, ['aspect_ratio']) is not None: - setv( - parent_object, - ['parameters', 'aspectRatio'], - getv(from_object, ['aspect_ratio']), - ) - - if getv(from_object, ['resolution']) is not None: - setv( - parent_object, - ['parameters', 'resolution'], - getv(from_object, ['resolution']), - ) - - if getv(from_object, ['person_generation']) is not None: - setv( - parent_object, - ['parameters', 'personGeneration'], - getv(from_object, ['person_generation']), - ) - - if getv(from_object, ['pubsub_topic']) is not None: - setv( - parent_object, - ['parameters', 'pubsubTopic'], - getv(from_object, ['pubsub_topic']), - ) - - if getv(from_object, ['negative_prompt']) is not None: - setv( - parent_object, - ['parameters', 'negativePrompt'], - getv(from_object, ['negative_prompt']), - ) - - if getv(from_object, ['enhance_prompt']) is not None: - setv( - parent_object, - ['parameters', 'enhancePrompt'], - getv(from_object, ['enhance_prompt']), - ) - - if getv(from_object, ['generate_audio']) is not None: - setv( - parent_object, - ['parameters', 'generateAudio'], - getv(from_object, ['generate_audio']), - ) - - if getv(from_object, ['last_frame']) is not None: - setv( - parent_object, - ['instances[0]', 'lastFrame'], - _Image_to_vertex( - getv(from_object, ['last_frame']), to_object, root_object - ), - ) - - if getv(from_object, ['reference_images']) is not None: - setv( - parent_object, - ['instances[0]', 'referenceImages'], - [ - _VideoGenerationReferenceImage_to_vertex( - item, to_object, root_object - ) - for item in getv(from_object, ['reference_images']) - ], - ) - - if getv(from_object, ['mask']) is not None: - setv( - parent_object, - ['instances[0]', 'mask'], - _VideoGenerationMask_to_vertex( - getv(from_object, ['mask']), to_object, root_object - ), - ) - - if getv(from_object, ['compression_quality']) is not None: - setv( - parent_object, - ['parameters', 'compressionQuality'], - getv(from_object, ['compression_quality']), - ) - - if getv(from_object, ['labels']) is not None: - setv(parent_object, ['labels'], getv(from_object, ['labels'])) - - if getv(from_object, ['webhook_config']) is not None: - raise ValueError( - 'webhook_config parameter is only supported in Gemini Developer API' - ' mode, not in Gemini Enterprise Agent Platform mode.' - ) - - if getv(from_object, ['resize_mode']) is not None: - setv( - parent_object, - ['parameters', 'resizeMode'], - getv(from_object, ['resize_mode']), - ) - - return to_object - - -def _GenerateVideosOperation_from_mldev( - from_object: Union[dict[str, Any], object], - parent_object: Optional[dict[str, Any]] = None, - root_object: Optional[Union[dict[str, Any], object]] = None, -) -> dict[str, Any]: - to_object: dict[str, Any] = {} - if getv(from_object, ['name']) is not None: - setv(to_object, ['name'], getv(from_object, ['name'])) - - if getv(from_object, ['metadata']) is not None: - setv(to_object, ['metadata'], getv(from_object, ['metadata'])) - - if getv(from_object, ['done']) is not None: - setv(to_object, ['done'], getv(from_object, ['done'])) - - if getv(from_object, ['error']) is not None: - setv(to_object, ['error'], getv(from_object, ['error'])) - - if getv(from_object, ['response', 'generateVideoResponse']) is not None: - setv( - to_object, - ['response'], - _GenerateVideosResponse_from_mldev( - getv(from_object, ['response', 'generateVideoResponse']), - to_object, - root_object, - ), - ) - - if getv(from_object, ['response', 'generateVideoResponse']) is not None: - setv( - to_object, - ['result'], - _GenerateVideosResponse_from_mldev( - getv(from_object, ['response', 'generateVideoResponse']), - to_object, - root_object, - ), - ) - - return to_object - - -def _GenerateVideosOperation_from_vertex( - from_object: Union[dict[str, Any], object], - parent_object: Optional[dict[str, Any]] = None, - root_object: Optional[Union[dict[str, Any], object]] = None, -) -> dict[str, Any]: - to_object: dict[str, Any] = {} - if getv(from_object, ['name']) is not None: - setv(to_object, ['name'], getv(from_object, ['name'])) - - if getv(from_object, ['metadata']) is not None: - setv(to_object, ['metadata'], getv(from_object, ['metadata'])) - - if getv(from_object, ['done']) is not None: - setv(to_object, ['done'], getv(from_object, ['done'])) - - if getv(from_object, ['error']) is not None: - setv(to_object, ['error'], getv(from_object, ['error'])) - - if getv(from_object, ['response']) is not None: - setv( - to_object, - ['response'], - _GenerateVideosResponse_from_vertex( - getv(from_object, ['response']), to_object, root_object - ), - ) - - if getv(from_object, ['response']) is not None: - setv( - to_object, - ['result'], - _GenerateVideosResponse_from_vertex( - getv(from_object, ['response']), to_object, root_object - ), - ) - - return to_object - - -def _GenerateVideosParameters_to_mldev( - api_client: BaseApiClient, - from_object: Union[dict[str, Any], object], - parent_object: Optional[dict[str, Any]] = None, - root_object: Optional[Union[dict[str, Any], object]] = None, -) -> dict[str, Any]: - to_object: dict[str, Any] = {} - if getv(from_object, ['model']) is not None: - setv( - to_object, - ['_url', 'model'], - t.t_model(api_client, getv(from_object, ['model'])), - ) - - if getv(from_object, ['prompt']) is not None: - setv(to_object, ['instances[0]', 'prompt'], getv(from_object, ['prompt'])) - - if getv(from_object, ['image']) is not None: - setv( - to_object, - ['instances[0]', 'image'], - _Image_to_mldev(getv(from_object, ['image']), to_object, root_object), - ) - - if getv(from_object, ['video']) is not None: - setv( - to_object, - ['instances[0]', 'video'], - _Video_to_mldev(getv(from_object, ['video']), to_object, root_object), - ) - - if getv(from_object, ['source']) is not None: - _GenerateVideosSource_to_mldev( - getv(from_object, ['source']), to_object, root_object - ) - - if getv(from_object, ['config']) is not None: - _GenerateVideosConfig_to_mldev( - getv(from_object, ['config']), to_object, root_object - ) - - return to_object - - -def _GenerateVideosParameters_to_vertex( - api_client: BaseApiClient, - from_object: Union[dict[str, Any], object], - parent_object: Optional[dict[str, Any]] = None, - root_object: Optional[Union[dict[str, Any], object]] = None, -) -> dict[str, Any]: - to_object: dict[str, Any] = {} - if getv(from_object, ['model']) is not None: - setv( - to_object, - ['_url', 'model'], - t.t_model(api_client, getv(from_object, ['model'])), - ) - - if getv(from_object, ['prompt']) is not None: - setv(to_object, ['instances[0]', 'prompt'], getv(from_object, ['prompt'])) - - if getv(from_object, ['image']) is not None: - setv( - to_object, - ['instances[0]', 'image'], - _Image_to_vertex(getv(from_object, ['image']), to_object, root_object), - ) - - if getv(from_object, ['video']) is not None: - setv( - to_object, - ['instances[0]', 'video'], - _Video_to_vertex(getv(from_object, ['video']), to_object, root_object), - ) - - if getv(from_object, ['source']) is not None: - _GenerateVideosSource_to_vertex( - getv(from_object, ['source']), to_object, root_object - ) - - if getv(from_object, ['config']) is not None: - _GenerateVideosConfig_to_vertex( - getv(from_object, ['config']), to_object, root_object - ) - - return to_object - - -def _GenerateVideosResponse_from_mldev( - from_object: Union[dict[str, Any], object], - parent_object: Optional[dict[str, Any]] = None, - root_object: Optional[Union[dict[str, Any], object]] = None, -) -> dict[str, Any]: - to_object: dict[str, Any] = {} - if getv(from_object, ['generatedSamples']) is not None: - setv( - to_object, - ['generated_videos'], - [ - _GeneratedVideo_from_mldev(item, to_object, root_object) - for item in getv(from_object, ['generatedSamples']) - ], - ) - - if getv(from_object, ['raiMediaFilteredCount']) is not None: - setv( - to_object, - ['rai_media_filtered_count'], - getv(from_object, ['raiMediaFilteredCount']), - ) - - if getv(from_object, ['raiMediaFilteredReasons']) is not None: - setv( - to_object, - ['rai_media_filtered_reasons'], - getv(from_object, ['raiMediaFilteredReasons']), - ) - - return to_object - - -def _GenerateVideosResponse_from_vertex( - from_object: Union[dict[str, Any], object], - parent_object: Optional[dict[str, Any]] = None, - root_object: Optional[Union[dict[str, Any], object]] = None, -) -> dict[str, Any]: - to_object: dict[str, Any] = {} - if getv(from_object, ['videos']) is not None: - setv( - to_object, - ['generated_videos'], - [ - _GeneratedVideo_from_vertex(item, to_object, root_object) - for item in getv(from_object, ['videos']) - ], - ) - - if getv(from_object, ['raiMediaFilteredCount']) is not None: - setv( - to_object, - ['rai_media_filtered_count'], - getv(from_object, ['raiMediaFilteredCount']), - ) - - if getv(from_object, ['raiMediaFilteredReasons']) is not None: - setv( - to_object, - ['rai_media_filtered_reasons'], - getv(from_object, ['raiMediaFilteredReasons']), - ) - - return to_object - - -def _GenerateVideosSource_to_mldev( - from_object: Union[dict[str, Any], object], - parent_object: Optional[dict[str, Any]] = None, - root_object: Optional[Union[dict[str, Any], object]] = None, -) -> dict[str, Any]: - to_object: dict[str, Any] = {} - if getv(from_object, ['prompt']) is not None: - setv( - parent_object, ['instances[0]', 'prompt'], getv(from_object, ['prompt']) - ) - - if getv(from_object, ['image']) is not None: - setv( - parent_object, - ['instances[0]', 'image'], - _Image_to_mldev(getv(from_object, ['image']), to_object, root_object), - ) - - if getv(from_object, ['video']) is not None: - setv( - parent_object, - ['instances[0]', 'video'], - _Video_to_mldev(getv(from_object, ['video']), to_object, root_object), - ) - - return to_object - - -def _GenerateVideosSource_to_vertex( - from_object: Union[dict[str, Any], object], - parent_object: Optional[dict[str, Any]] = None, - root_object: Optional[Union[dict[str, Any], object]] = None, -) -> dict[str, Any]: - to_object: dict[str, Any] = {} - if getv(from_object, ['prompt']) is not None: - setv( - parent_object, ['instances[0]', 'prompt'], getv(from_object, ['prompt']) - ) - - if getv(from_object, ['image']) is not None: - setv( - parent_object, - ['instances[0]', 'image'], - _Image_to_vertex(getv(from_object, ['image']), to_object, root_object), - ) - - if getv(from_object, ['video']) is not None: - setv( - parent_object, - ['instances[0]', 'video'], - _Video_to_vertex(getv(from_object, ['video']), to_object, root_object), - ) - - return to_object - - -def _GeneratedImageMask_from_vertex( - from_object: Union[dict[str, Any], object], - parent_object: Optional[dict[str, Any]] = None, - root_object: Optional[Union[dict[str, Any], object]] = None, -) -> dict[str, Any]: - to_object: dict[str, Any] = {} - if getv(from_object, ['_self']) is not None: - setv( - to_object, - ['mask'], - _Image_from_vertex( - getv(from_object, ['_self']), to_object, root_object - ), - ) - - if getv(from_object, ['labels']) is not None: - setv( - to_object, ['labels'], [item for item in getv(from_object, ['labels'])] - ) - - return to_object - - -def _GeneratedImage_from_vertex( - from_object: Union[dict[str, Any], object], - parent_object: Optional[dict[str, Any]] = None, - root_object: Optional[Union[dict[str, Any], object]] = None, -) -> dict[str, Any]: - to_object: dict[str, Any] = {} - if getv(from_object, ['_self']) is not None: - setv( - to_object, - ['image'], - _Image_from_vertex( - getv(from_object, ['_self']), to_object, root_object - ), - ) - - if getv(from_object, ['raiFilteredReason']) is not None: - setv( - to_object, - ['rai_filtered_reason'], - getv(from_object, ['raiFilteredReason']), - ) - - if getv(from_object, ['_self']) is not None: - setv( - to_object, - ['safety_attributes'], - _SafetyAttributes_from_vertex( - getv(from_object, ['_self']), to_object, root_object - ), - ) - - if getv(from_object, ['prompt']) is not None: - setv(to_object, ['enhanced_prompt'], getv(from_object, ['prompt'])) - - return to_object - - -def _GeneratedVideo_from_mldev( - from_object: Union[dict[str, Any], object], - parent_object: Optional[dict[str, Any]] = None, - root_object: Optional[Union[dict[str, Any], object]] = None, -) -> dict[str, Any]: - to_object: dict[str, Any] = {} - if getv(from_object, ['video']) is not None: - setv( - to_object, - ['video'], - _Video_from_mldev(getv(from_object, ['video']), to_object, root_object), - ) - - return to_object - - -def _GeneratedVideo_from_vertex( - from_object: Union[dict[str, Any], object], - parent_object: Optional[dict[str, Any]] = None, - root_object: Optional[Union[dict[str, Any], object]] = None, -) -> dict[str, Any]: - to_object: dict[str, Any] = {} - if getv(from_object, ['_self']) is not None: - setv( - to_object, - ['video'], - _Video_from_vertex( - getv(from_object, ['_self']), to_object, root_object - ), - ) - - return to_object - - -def _GenerationConfig_to_vertex( - from_object: Union[dict[str, Any], object], - parent_object: Optional[dict[str, Any]] = None, - root_object: Optional[Union[dict[str, Any], object]] = None, -) -> dict[str, Any]: - to_object: dict[str, Any] = {} - if getv(from_object, ['model_selection_config']) is not None: - setv( - to_object, - ['modelConfig'], - getv(from_object, ['model_selection_config']), - ) - - if getv(from_object, ['response_json_schema']) is not None: - setv( - to_object, - ['responseJsonSchema'], - t.t_json_schema(getv(from_object, ['response_json_schema'])), - ) - - if getv(from_object, ['audio_timestamp']) is not None: - setv(to_object, ['audioTimestamp'], getv(from_object, ['audio_timestamp'])) - - if getv(from_object, ['candidate_count']) is not None: - setv(to_object, ['candidateCount'], getv(from_object, ['candidate_count'])) - - if getv(from_object, ['enable_affective_dialog']) is not None: - setv( - to_object, - ['enableAffectiveDialog'], - getv(from_object, ['enable_affective_dialog']), - ) - - if getv(from_object, ['frequency_penalty']) is not None: - setv( - to_object, - ['frequencyPenalty'], - getv(from_object, ['frequency_penalty']), - ) - - if getv(from_object, ['logprobs']) is not None: - setv(to_object, ['logprobs'], getv(from_object, ['logprobs'])) - - if getv(from_object, ['max_output_tokens']) is not None: - setv( - to_object, ['maxOutputTokens'], getv(from_object, ['max_output_tokens']) - ) - - if getv(from_object, ['media_resolution']) is not None: - setv( - to_object, ['mediaResolution'], getv(from_object, ['media_resolution']) - ) - - if getv(from_object, ['presence_penalty']) is not None: - setv( - to_object, ['presencePenalty'], getv(from_object, ['presence_penalty']) - ) - - if getv(from_object, ['response_logprobs']) is not None: - setv( - to_object, - ['responseLogprobs'], - getv(from_object, ['response_logprobs']), - ) - - if getv(from_object, ['response_mime_type']) is not None: - setv( - to_object, - ['responseMimeType'], - getv(from_object, ['response_mime_type']), - ) - - if getv(from_object, ['response_modalities']) is not None: - setv( - to_object, - ['responseModalities'], - getv(from_object, ['response_modalities']), - ) - - if getv(from_object, ['response_schema']) is not None: - setv(to_object, ['responseSchema'], getv(from_object, ['response_schema'])) - - if getv(from_object, ['routing_config']) is not None: - setv(to_object, ['routingConfig'], getv(from_object, ['routing_config'])) - - if getv(from_object, ['seed']) is not None: - setv(to_object, ['seed'], getv(from_object, ['seed'])) - - if getv(from_object, ['speech_config']) is not None: - setv( - to_object, - ['speechConfig'], - _SpeechConfig_to_vertex( - getv(from_object, ['speech_config']), to_object, root_object - ), - ) - - if getv(from_object, ['stop_sequences']) is not None: - setv(to_object, ['stopSequences'], getv(from_object, ['stop_sequences'])) - - if getv(from_object, ['temperature']) is not None: - setv(to_object, ['temperature'], getv(from_object, ['temperature'])) - - if getv(from_object, ['thinking_config']) is not None: - setv(to_object, ['thinkingConfig'], getv(from_object, ['thinking_config'])) - - if getv(from_object, ['top_k']) is not None: - setv(to_object, ['topK'], getv(from_object, ['top_k'])) - - if getv(from_object, ['top_p']) is not None: - setv(to_object, ['topP'], getv(from_object, ['top_p'])) - - if getv(from_object, ['enable_enhanced_civic_answers']) is not None: - raise ValueError( - 'enable_enhanced_civic_answers parameter is only supported in Gemini' - ' Developer API mode, not in Gemini Enterprise Agent Platform mode.' - ) - - if getv(from_object, ['response_format']) is not None: - setv( - to_object, - ['responseFormat'], - [item for item in getv(from_object, ['response_format'])], - ) - - if getv(from_object, ['translation_config']) is not None: - setv( - to_object, - ['translationConfig'], - _TranslationConfig_to_vertex( - getv(from_object, ['translation_config']), to_object, root_object - ), - ) - - if getv(from_object, ['audio_transcription_config']) is not None: - setv( - to_object, - ['audioTranscriptionConfig'], - getv(from_object, ['audio_transcription_config']), - ) - - return to_object - - -def _GetModelParameters_to_mldev( - api_client: BaseApiClient, - from_object: Union[dict[str, Any], object], - parent_object: Optional[dict[str, Any]] = None, - root_object: Optional[Union[dict[str, Any], object]] = None, -) -> dict[str, Any]: - to_object: dict[str, Any] = {} - if getv(from_object, ['model']) is not None: - setv( - to_object, - ['_url', 'name'], - t.t_model(api_client, getv(from_object, ['model'])), - ) - - return to_object - - -def _GetModelParameters_to_vertex( - api_client: BaseApiClient, - from_object: Union[dict[str, Any], object], - parent_object: Optional[dict[str, Any]] = None, - root_object: Optional[Union[dict[str, Any], object]] = None, -) -> dict[str, Any]: - to_object: dict[str, Any] = {} - if getv(from_object, ['model']) is not None: - setv( - to_object, - ['_url', 'name'], - t.t_model(api_client, getv(from_object, ['model'])), - ) - - return to_object - - -def _GoogleMaps_to_mldev( - from_object: Union[dict[str, Any], object], - parent_object: Optional[dict[str, Any]] = None, - root_object: Optional[Union[dict[str, Any], object]] = None, -) -> dict[str, Any]: - to_object: dict[str, Any] = {} - if getv(from_object, ['auth_config']) is not None: - setv( - to_object, - ['authConfig'], - _AuthConfig_to_mldev( - getv(from_object, ['auth_config']), to_object, root_object - ), - ) - - if getv(from_object, ['enable_widget']) is not None: - setv(to_object, ['enableWidget'], getv(from_object, ['enable_widget'])) - - if getv(from_object, ['grounding_types']) is not None: - raise ValueError( - 'grounding_types parameter is only supported in Gemini Enterprise Agent' - ' Platform mode, not in Gemini Developer API mode.' - ) - - return to_object - - -def _GoogleSearch_to_mldev( - from_object: Union[dict[str, Any], object], - parent_object: Optional[dict[str, Any]] = None, - root_object: Optional[Union[dict[str, Any], object]] = None, -) -> dict[str, Any]: - to_object: dict[str, Any] = {} - if getv(from_object, ['search_types']) is not None: - setv(to_object, ['searchTypes'], getv(from_object, ['search_types'])) - - if getv(from_object, ['blocking_confidence']) is not None: - raise ValueError( - 'blocking_confidence parameter is only supported in Gemini Enterprise' - ' Agent Platform mode, not in Gemini Developer API mode.' - ) - - if getv(from_object, ['exclude_domains']) is not None: - raise ValueError( - 'exclude_domains parameter is only supported in Gemini Enterprise Agent' - ' Platform mode, not in Gemini Developer API mode.' - ) - - if getv(from_object, ['time_range_filter']) is not None: - setv( - to_object, ['timeRangeFilter'], getv(from_object, ['time_range_filter']) - ) - - return to_object - - -def _ImageConfig_to_mldev( - from_object: Union[dict[str, Any], object], - parent_object: Optional[dict[str, Any]] = None, - root_object: Optional[Union[dict[str, Any], object]] = None, -) -> dict[str, Any]: - to_object: dict[str, Any] = {} - if getv(from_object, ['aspect_ratio']) is not None: - setv(to_object, ['aspectRatio'], getv(from_object, ['aspect_ratio'])) - - if getv(from_object, ['image_size']) is not None: - setv(to_object, ['imageSize'], getv(from_object, ['image_size'])) - - if getv(from_object, ['person_generation']) is not None: - raise ValueError( - 'person_generation parameter is only supported in Gemini Enterprise' - ' Agent Platform mode, not in Gemini Developer API mode.' - ) - - if getv(from_object, ['prominent_people']) is not None: - raise ValueError( - 'prominent_people parameter is only supported in Gemini Enterprise' - ' Agent Platform mode, not in Gemini Developer API mode.' - ) - - if getv(from_object, ['output_mime_type']) is not None: - raise ValueError( - 'output_mime_type parameter is only supported in Gemini Enterprise' - ' Agent Platform mode, not in Gemini Developer API mode.' - ) - - if getv(from_object, ['output_compression_quality']) is not None: - raise ValueError( - 'output_compression_quality parameter is only supported in Gemini' - ' Enterprise Agent Platform mode, not in Gemini Developer API mode.' - ) - - if getv(from_object, ['image_output_options']) is not None: - raise ValueError( - 'image_output_options parameter is only supported in Gemini Enterprise' - ' Agent Platform mode, not in Gemini Developer API mode.' - ) - - return to_object - - -def _ImageConfig_to_vertex( - from_object: Union[dict[str, Any], object], - parent_object: Optional[dict[str, Any]] = None, - root_object: Optional[Union[dict[str, Any], object]] = None, -) -> dict[str, Any]: - to_object: dict[str, Any] = {} - if getv(from_object, ['aspect_ratio']) is not None: - setv(to_object, ['aspectRatio'], getv(from_object, ['aspect_ratio'])) - - if getv(from_object, ['image_size']) is not None: - setv(to_object, ['imageSize'], getv(from_object, ['image_size'])) - - if getv(from_object, ['person_generation']) is not None: - setv( - to_object, - ['personGeneration'], - getv(from_object, ['person_generation']), - ) - - if getv(from_object, ['prominent_people']) is not None: - setv( - to_object, ['prominentPeople'], getv(from_object, ['prominent_people']) - ) - - if getv(from_object, ['output_mime_type']) is not None: - setv( - to_object, - ['imageOutputOptions', 'mimeType'], - getv(from_object, ['output_mime_type']), - ) - - if getv(from_object, ['output_compression_quality']) is not None: - setv( - to_object, - ['imageOutputOptions', 'compressionQuality'], - getv(from_object, ['output_compression_quality']), - ) - - if getv(from_object, ['image_output_options']) is not None: - setv( - to_object, - ['imageOutputOptions'], - getv(from_object, ['image_output_options']), - ) - - return to_object - - -def _Image_from_vertex( - from_object: Union[dict[str, Any], object], - parent_object: Optional[dict[str, Any]] = None, - root_object: Optional[Union[dict[str, Any], object]] = None, -) -> dict[str, Any]: - to_object: dict[str, Any] = {} - if getv(from_object, ['gcsUri']) is not None: - setv(to_object, ['gcs_uri'], getv(from_object, ['gcsUri'])) - - if getv(from_object, ['bytesBase64Encoded']) is not None: - setv( - to_object, - ['image_bytes'], - base_t.t_bytes(getv(from_object, ['bytesBase64Encoded'])), - ) - - if getv(from_object, ['mimeType']) is not None: - setv(to_object, ['mime_type'], getv(from_object, ['mimeType'])) - - return to_object - - -def _Image_to_mldev( - from_object: Union[dict[str, Any], object], - parent_object: Optional[dict[str, Any]] = None, - root_object: Optional[Union[dict[str, Any], object]] = None, -) -> dict[str, Any]: - to_object: dict[str, Any] = {} - if getv(from_object, ['gcs_uri']) is not None: - raise ValueError( - 'gcs_uri parameter is only supported in Gemini Enterprise Agent' - ' Platform mode, not in Gemini Developer API mode.' - ) - - if getv(from_object, ['image_bytes']) is not None: - setv( - to_object, - ['bytesBase64Encoded'], - base_t.t_bytes(getv(from_object, ['image_bytes'])), - ) - - if getv(from_object, ['mime_type']) is not None: - setv(to_object, ['mimeType'], getv(from_object, ['mime_type'])) - - return to_object - - -def _Image_to_vertex( - from_object: Union[dict[str, Any], object], - parent_object: Optional[dict[str, Any]] = None, - root_object: Optional[Union[dict[str, Any], object]] = None, -) -> dict[str, Any]: - to_object: dict[str, Any] = {} - if getv(from_object, ['gcs_uri']) is not None: - setv(to_object, ['gcsUri'], getv(from_object, ['gcs_uri'])) - - if getv(from_object, ['image_bytes']) is not None: - setv( - to_object, - ['bytesBase64Encoded'], - base_t.t_bytes(getv(from_object, ['image_bytes'])), - ) - - if getv(from_object, ['mime_type']) is not None: - setv(to_object, ['mimeType'], getv(from_object, ['mime_type'])) - - return to_object - - -def _ListModelsConfig_to_mldev( - api_client: BaseApiClient, - from_object: Union[dict[str, Any], object], - parent_object: Optional[dict[str, Any]] = None, - root_object: Optional[Union[dict[str, Any], object]] = None, -) -> dict[str, Any]: - to_object: dict[str, Any] = {} - - if getv(from_object, ['page_size']) is not None: - setv( - parent_object, ['_query', 'pageSize'], getv(from_object, ['page_size']) - ) - - if getv(from_object, ['page_token']) is not None: - setv( - parent_object, - ['_query', 'pageToken'], - getv(from_object, ['page_token']), - ) - - if getv(from_object, ['filter']) is not None: - setv(parent_object, ['_query', 'filter'], getv(from_object, ['filter'])) - - if getv(from_object, ['query_base']) is not None: - setv( - parent_object, - ['_url', 'models_url'], - t.t_models_url(api_client, getv(from_object, ['query_base'])), - ) - - return to_object - - -def _ListModelsConfig_to_vertex( - api_client: BaseApiClient, - from_object: Union[dict[str, Any], object], - parent_object: Optional[dict[str, Any]] = None, - root_object: Optional[Union[dict[str, Any], object]] = None, -) -> dict[str, Any]: - to_object: dict[str, Any] = {} - - if getv(from_object, ['page_size']) is not None: - setv( - parent_object, ['_query', 'pageSize'], getv(from_object, ['page_size']) - ) - - if getv(from_object, ['page_token']) is not None: - setv( - parent_object, - ['_query', 'pageToken'], - getv(from_object, ['page_token']), - ) - - if getv(from_object, ['filter']) is not None: - setv(parent_object, ['_query', 'filter'], getv(from_object, ['filter'])) - - if getv(from_object, ['query_base']) is not None: - setv( - parent_object, - ['_url', 'models_url'], - t.t_models_url(api_client, getv(from_object, ['query_base'])), - ) - - return to_object - - -def _ListModelsParameters_to_mldev( - api_client: BaseApiClient, - from_object: Union[dict[str, Any], object], - parent_object: Optional[dict[str, Any]] = None, - root_object: Optional[Union[dict[str, Any], object]] = None, -) -> dict[str, Any]: - to_object: dict[str, Any] = {} - if getv(from_object, ['config']) is not None: - _ListModelsConfig_to_mldev( - api_client, getv(from_object, ['config']), to_object, root_object - ) - - return to_object - - -def _ListModelsParameters_to_vertex( - api_client: BaseApiClient, - from_object: Union[dict[str, Any], object], - parent_object: Optional[dict[str, Any]] = None, - root_object: Optional[Union[dict[str, Any], object]] = None, -) -> dict[str, Any]: - to_object: dict[str, Any] = {} - if getv(from_object, ['config']) is not None: - _ListModelsConfig_to_vertex( - api_client, getv(from_object, ['config']), to_object, root_object - ) - - return to_object - - -def _ListModelsResponse_from_mldev( - from_object: Union[dict[str, Any], object], - parent_object: Optional[dict[str, Any]] = None, - root_object: Optional[Union[dict[str, Any], object]] = None, -) -> dict[str, Any]: - to_object: dict[str, Any] = {} - if getv(from_object, ['sdkHttpResponse']) is not None: - setv( - to_object, ['sdk_http_response'], getv(from_object, ['sdkHttpResponse']) - ) - - if getv(from_object, ['nextPageToken']) is not None: - setv(to_object, ['next_page_token'], getv(from_object, ['nextPageToken'])) - - if getv(from_object, ['_self']) is not None: - setv( - to_object, - ['models'], - [ - _Model_from_mldev(item, to_object, root_object) - for item in t.t_extract_models(getv(from_object, ['_self'])) - ], - ) - - return to_object - - -def _ListModelsResponse_from_vertex( - from_object: Union[dict[str, Any], object], - parent_object: Optional[dict[str, Any]] = None, - root_object: Optional[Union[dict[str, Any], object]] = None, -) -> dict[str, Any]: - to_object: dict[str, Any] = {} - if getv(from_object, ['sdkHttpResponse']) is not None: - setv( - to_object, ['sdk_http_response'], getv(from_object, ['sdkHttpResponse']) - ) - - if getv(from_object, ['nextPageToken']) is not None: - setv(to_object, ['next_page_token'], getv(from_object, ['nextPageToken'])) - - if getv(from_object, ['_self']) is not None: - setv( - to_object, - ['models'], - [ - _Model_from_vertex(item, to_object, root_object) - for item in t.t_extract_models(getv(from_object, ['_self'])) - ], - ) - - return to_object - - -def _MaskReferenceConfig_to_vertex( - from_object: Union[dict[str, Any], object], - parent_object: Optional[dict[str, Any]] = None, - root_object: Optional[Union[dict[str, Any], object]] = None, -) -> dict[str, Any]: - to_object: dict[str, Any] = {} - if getv(from_object, ['mask_mode']) is not None: - setv(to_object, ['maskMode'], getv(from_object, ['mask_mode'])) - - if getv(from_object, ['segmentation_classes']) is not None: - setv( - to_object, ['maskClasses'], getv(from_object, ['segmentation_classes']) - ) - - if getv(from_object, ['mask_dilation']) is not None: - setv(to_object, ['dilation'], getv(from_object, ['mask_dilation'])) - - return to_object - - -def _McpServer_to_vertex( - from_object: Union[dict[str, Any], object], - parent_object: Optional[dict[str, Any]] = None, - root_object: Optional[Union[dict[str, Any], object]] = None, -) -> dict[str, Any]: - to_object: dict[str, Any] = {} - if getv(from_object, ['name']) is not None: - raise ValueError( - 'name parameter is only supported in Gemini Developer API mode, not in' - ' Gemini Enterprise Agent Platform mode.' - ) - - if getv(from_object, ['streamable_http_transport']) is not None: - raise ValueError( - 'streamable_http_transport parameter is only supported in Gemini' - ' Developer API mode, not in Gemini Enterprise Agent Platform mode.' - ) - - return to_object - - -def _Model_from_mldev( - from_object: Union[dict[str, Any], object], - parent_object: Optional[dict[str, Any]] = None, - root_object: Optional[Union[dict[str, Any], object]] = None, -) -> dict[str, Any]: - to_object: dict[str, Any] = {} - if getv(from_object, ['name']) is not None: - setv(to_object, ['name'], getv(from_object, ['name'])) - - if getv(from_object, ['displayName']) is not None: - setv(to_object, ['display_name'], getv(from_object, ['displayName'])) - - if getv(from_object, ['description']) is not None: - setv(to_object, ['description'], getv(from_object, ['description'])) - - if getv(from_object, ['version']) is not None: - setv(to_object, ['version'], getv(from_object, ['version'])) - - if getv(from_object, ['_self']) is not None: - setv(to_object, ['tuned_model_info'], getv(from_object, ['_self'])) - - if getv(from_object, ['inputTokenLimit']) is not None: - setv( - to_object, ['input_token_limit'], getv(from_object, ['inputTokenLimit']) - ) - - if getv(from_object, ['outputTokenLimit']) is not None: - setv( - to_object, - ['output_token_limit'], - getv(from_object, ['outputTokenLimit']), - ) - - if getv(from_object, ['supportedGenerationMethods']) is not None: - setv( - to_object, - ['supported_actions'], - getv(from_object, ['supportedGenerationMethods']), - ) - - if getv(from_object, ['temperature']) is not None: - setv(to_object, ['temperature'], getv(from_object, ['temperature'])) - - if getv(from_object, ['maxTemperature']) is not None: - setv(to_object, ['max_temperature'], getv(from_object, ['maxTemperature'])) - - if getv(from_object, ['topP']) is not None: - setv(to_object, ['top_p'], getv(from_object, ['topP'])) - - if getv(from_object, ['topK']) is not None: - setv(to_object, ['top_k'], getv(from_object, ['topK'])) - - if getv(from_object, ['thinking']) is not None: - setv(to_object, ['thinking'], getv(from_object, ['thinking'])) - - return to_object - - -def _Model_from_vertex( - from_object: Union[dict[str, Any], object], - parent_object: Optional[dict[str, Any]] = None, - root_object: Optional[Union[dict[str, Any], object]] = None, -) -> dict[str, Any]: - to_object: dict[str, Any] = {} - if getv(from_object, ['name']) is not None: - setv(to_object, ['name'], getv(from_object, ['name'])) - - if getv(from_object, ['displayName']) is not None: - setv(to_object, ['display_name'], getv(from_object, ['displayName'])) - - if getv(from_object, ['description']) is not None: - setv(to_object, ['description'], getv(from_object, ['description'])) - - if getv(from_object, ['versionId']) is not None: - setv(to_object, ['version'], getv(from_object, ['versionId'])) - - if getv(from_object, ['deployedModels']) is not None: - setv( - to_object, - ['endpoints'], - [ - _Endpoint_from_vertex(item, to_object, root_object) - for item in getv(from_object, ['deployedModels']) - ], - ) - - if getv(from_object, ['labels']) is not None: - setv(to_object, ['labels'], getv(from_object, ['labels'])) - - if getv(from_object, ['_self']) is not None: - setv( - to_object, - ['tuned_model_info'], - _TunedModelInfo_from_vertex( - getv(from_object, ['_self']), to_object, root_object - ), - ) - - if getv(from_object, ['defaultCheckpointId']) is not None: - setv( - to_object, - ['default_checkpoint_id'], - getv(from_object, ['defaultCheckpointId']), - ) - - if getv(from_object, ['checkpoints']) is not None: - setv( - to_object, - ['checkpoints'], - [item for item in getv(from_object, ['checkpoints'])], - ) - - return to_object - - -def _MultiSpeakerVoiceConfig_to_vertex( - from_object: Union[dict[str, Any], object], - parent_object: Optional[dict[str, Any]] = None, - root_object: Optional[Union[dict[str, Any], object]] = None, -) -> dict[str, Any]: - to_object: dict[str, Any] = {} - if getv(from_object, ['speaker_voice_configs']) is not None: - setv( - to_object, - ['speakerVoiceConfigs'], - [ - _SpeakerVoiceConfig_to_vertex(item, to_object, root_object) - for item in getv(from_object, ['speaker_voice_configs']) - ], - ) - - return to_object - - -def _Part_to_mldev( - from_object: Union[dict[str, Any], object], - parent_object: Optional[dict[str, Any]] = None, - root_object: Optional[Union[dict[str, Any], object]] = 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'], getv(from_object, ['file_data'])) - - if getv(from_object, ['function_call']) is not None: - setv( - to_object, - ['functionCall'], - _FunctionCall_to_mldev( - getv(from_object, ['function_call']), to_object, root_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'], getv(from_object, ['inline_data'])) - - 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'])) - - if getv(from_object, ['tool_call']) is not None: - setv(to_object, ['toolCall'], getv(from_object, ['tool_call'])) - - if getv(from_object, ['tool_response']) is not None: - setv(to_object, ['toolResponse'], getv(from_object, ['tool_response'])) - - if getv(from_object, ['part_metadata']) is not None: - setv(to_object, ['partMetadata'], getv(from_object, ['part_metadata'])) - - if getv(from_object, ['audio_transcription']) is not None: - setv( - to_object, - ['audioTranscription'], - getv(from_object, ['audio_transcription']), - ) - - if getv(from_object, ['media_processing']) is not None: - setv( - to_object, ['mediaProcessing'], getv(from_object, ['media_processing']) - ) - - if getv(from_object, ['speech_metadata']) is not None: - setv(to_object, ['speechMetadata'], getv(from_object, ['speech_metadata'])) - - return to_object - - -def _Part_to_vertex( - from_object: Union[dict[str, Any], object], - parent_object: Optional[dict[str, Any]] = None, - root_object: Optional[Union[dict[str, Any], object]] = 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'], getv(from_object, ['file_data'])) - - if getv(from_object, ['function_call']) is not None: - setv(to_object, ['functionCall'], getv(from_object, ['function_call'])) - - 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'], getv(from_object, ['inline_data'])) - - 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'])) - - if getv(from_object, ['tool_call']) is not None: - raise ValueError( - 'tool_call parameter is only supported in Gemini Developer API mode,' - ' not in Gemini Enterprise Agent Platform mode.' - ) - - if getv(from_object, ['tool_response']) is not None: - raise ValueError( - 'tool_response parameter is only supported in Gemini Developer API' - ' mode, not in Gemini Enterprise Agent Platform mode.' - ) - - if getv(from_object, ['part_metadata']) is not None: - raise ValueError( - 'part_metadata parameter is only supported in Gemini Developer API' - ' mode, not in Gemini Enterprise Agent Platform mode.' - ) - - if getv(from_object, ['audio_transcription']) is not None: - setv( - to_object, - ['audioTranscription'], - getv(from_object, ['audio_transcription']), - ) - - if getv(from_object, ['media_processing']) is not None: - setv( - to_object, ['mediaProcessing'], getv(from_object, ['media_processing']) - ) - - if getv(from_object, ['speech_metadata']) is not None: - setv(to_object, ['speechMetadata'], getv(from_object, ['speech_metadata'])) - - return to_object - - -def _ProductImage_to_vertex( - from_object: Union[dict[str, Any], object], - parent_object: Optional[dict[str, Any]] = None, - root_object: Optional[Union[dict[str, Any], object]] = None, -) -> dict[str, Any]: - to_object: dict[str, Any] = {} - if getv(from_object, ['product_image']) is not None: - setv( - to_object, - ['image'], - _Image_to_vertex( - getv(from_object, ['product_image']), to_object, root_object - ), - ) - - return to_object - - -def _RecontextImageConfig_to_vertex( - from_object: Union[dict[str, Any], object], - parent_object: Optional[dict[str, Any]] = None, - root_object: Optional[Union[dict[str, Any], object]] = None, -) -> dict[str, Any]: - to_object: dict[str, Any] = {} - - if getv(from_object, ['number_of_images']) is not None: - setv( - parent_object, - ['parameters', 'sampleCount'], - getv(from_object, ['number_of_images']), - ) - - if getv(from_object, ['base_steps']) is not None: - setv( - parent_object, - ['parameters', 'baseSteps'], - getv(from_object, ['base_steps']), - ) - - if getv(from_object, ['output_gcs_uri']) is not None: - setv( - parent_object, - ['parameters', 'storageUri'], - getv(from_object, ['output_gcs_uri']), - ) - - if getv(from_object, ['seed']) is not None: - setv(parent_object, ['parameters', 'seed'], getv(from_object, ['seed'])) - - if getv(from_object, ['safety_filter_level']) is not None: - setv( - parent_object, - ['parameters', 'safetySetting'], - getv(from_object, ['safety_filter_level']), - ) - - if getv(from_object, ['person_generation']) is not None: - setv( - parent_object, - ['parameters', 'personGeneration'], - getv(from_object, ['person_generation']), - ) - - if getv(from_object, ['add_watermark']) is not None: - setv( - parent_object, - ['parameters', 'addWatermark'], - getv(from_object, ['add_watermark']), - ) - - if getv(from_object, ['output_mime_type']) is not None: - setv( - parent_object, - ['parameters', 'outputOptions', 'mimeType'], - getv(from_object, ['output_mime_type']), - ) - - if getv(from_object, ['output_compression_quality']) is not None: - setv( - parent_object, - ['parameters', 'outputOptions', 'compressionQuality'], - getv(from_object, ['output_compression_quality']), - ) - - if getv(from_object, ['enhance_prompt']) is not None: - setv( - parent_object, - ['parameters', 'enhancePrompt'], - getv(from_object, ['enhance_prompt']), - ) - - if getv(from_object, ['labels']) is not None: - setv(parent_object, ['labels'], getv(from_object, ['labels'])) - - return to_object - - -def _RecontextImageParameters_to_vertex( - api_client: BaseApiClient, - from_object: Union[dict[str, Any], object], - parent_object: Optional[dict[str, Any]] = None, - root_object: Optional[Union[dict[str, Any], object]] = None, -) -> dict[str, Any]: - to_object: dict[str, Any] = {} - if getv(from_object, ['model']) is not None: - setv( - to_object, - ['_url', 'model'], - t.t_model(api_client, getv(from_object, ['model'])), - ) - - if getv(from_object, ['source']) is not None: - _RecontextImageSource_to_vertex( - getv(from_object, ['source']), to_object, root_object - ) - - if getv(from_object, ['config']) is not None: - _RecontextImageConfig_to_vertex( - getv(from_object, ['config']), to_object, root_object - ) - - return to_object - - -def _RecontextImageResponse_from_vertex( - from_object: Union[dict[str, Any], object], - parent_object: Optional[dict[str, Any]] = None, - root_object: Optional[Union[dict[str, Any], object]] = None, -) -> dict[str, Any]: - to_object: dict[str, Any] = {} - if getv(from_object, ['predictions']) is not None: - setv( - to_object, - ['generated_images'], - [ - _GeneratedImage_from_vertex(item, to_object, root_object) - for item in getv(from_object, ['predictions']) - ], - ) - - return to_object - - -def _RecontextImageSource_to_vertex( - from_object: Union[dict[str, Any], object], - parent_object: Optional[dict[str, Any]] = None, - root_object: Optional[Union[dict[str, Any], object]] = None, -) -> dict[str, Any]: - to_object: dict[str, Any] = {} - if getv(from_object, ['prompt']) is not None: - setv( - parent_object, ['instances[0]', 'prompt'], getv(from_object, ['prompt']) - ) - - if getv(from_object, ['person_image']) is not None: - setv( - parent_object, - ['instances[0]', 'personImage', 'image'], - _Image_to_vertex( - getv(from_object, ['person_image']), to_object, root_object - ), - ) - - if getv(from_object, ['product_images']) is not None: - setv( - parent_object, - ['instances[0]', 'productImages'], - [ - _ProductImage_to_vertex(item, to_object, root_object) - for item in getv(from_object, ['product_images']) - ], - ) - - return to_object - - -def _ReferenceImageAPI_to_vertex( - from_object: Union[dict[str, Any], object], - parent_object: Optional[dict[str, Any]] = None, - root_object: Optional[Union[dict[str, Any], object]] = None, -) -> dict[str, Any]: - to_object: dict[str, Any] = {} - if getv(from_object, ['reference_image']) is not None: - setv( - to_object, - ['referenceImage'], - _Image_to_vertex( - getv(from_object, ['reference_image']), to_object, root_object - ), - ) - - if getv(from_object, ['reference_id']) is not None: - setv(to_object, ['referenceId'], getv(from_object, ['reference_id'])) - - if getv(from_object, ['reference_type']) is not None: - setv(to_object, ['referenceType'], getv(from_object, ['reference_type'])) - - if getv(from_object, ['mask_image_config']) is not None: - setv( - to_object, - ['maskImageConfig'], - _MaskReferenceConfig_to_vertex( - getv(from_object, ['mask_image_config']), to_object, root_object - ), - ) - - if getv(from_object, ['control_image_config']) is not None: - setv( - to_object, - ['controlImageConfig'], - _ControlReferenceConfig_to_vertex( - getv(from_object, ['control_image_config']), to_object, root_object - ), - ) - - if getv(from_object, ['style_image_config']) is not None: - setv( - to_object, - ['styleImageConfig'], - getv(from_object, ['style_image_config']), - ) - - if getv(from_object, ['subject_image_config']) is not None: - setv( - to_object, - ['subjectImageConfig'], - getv(from_object, ['subject_image_config']), - ) - - return to_object - - -def _ReplicatedVoiceConfig_to_vertex( - from_object: Union[dict[str, Any], object], - parent_object: Optional[dict[str, Any]] = None, - root_object: Optional[Union[dict[str, Any], object]] = None, -) -> dict[str, Any]: - to_object: dict[str, Any] = {} - if getv(from_object, ['mime_type']) is not None: - setv(to_object, ['mimeType'], getv(from_object, ['mime_type'])) - - if getv(from_object, ['voice_sample_audio']) is not None: - setv( - to_object, - ['voiceSampleAudio'], - getv(from_object, ['voice_sample_audio']), - ) - - if getv(from_object, ['consent_audio']) is not None: - raise ValueError( - 'consent_audio parameter is only supported in Gemini Developer API' - ' mode, not in Gemini Enterprise Agent Platform mode.' - ) - - if getv(from_object, ['voice_consent_signature']) is not None: - raise ValueError( - 'voice_consent_signature parameter is only supported in Gemini' - ' Developer API mode, not in Gemini Enterprise Agent Platform mode.' - ) - - return to_object - - -def _SafetyAttributes_from_vertex( - from_object: Union[dict[str, Any], object], - parent_object: Optional[dict[str, Any]] = None, - root_object: Optional[Union[dict[str, Any], object]] = None, -) -> dict[str, Any]: - to_object: dict[str, Any] = {} - if getv(from_object, ['safetyAttributes', 'categories']) is not None: - setv( - to_object, - ['categories'], - getv(from_object, ['safetyAttributes', 'categories']), - ) - - if getv(from_object, ['safetyAttributes', 'scores']) is not None: - setv( - to_object, ['scores'], getv(from_object, ['safetyAttributes', 'scores']) - ) - - if getv(from_object, ['contentType']) is not None: - setv(to_object, ['content_type'], getv(from_object, ['contentType'])) - - return to_object - - -def _SafetySetting_to_mldev( - from_object: Union[dict[str, Any], object], - parent_object: Optional[dict[str, Any]] = None, - root_object: Optional[Union[dict[str, Any], object]] = None, -) -> dict[str, Any]: - to_object: dict[str, Any] = {} - if getv(from_object, ['category']) is not None: - setv(to_object, ['category'], getv(from_object, ['category'])) - - if getv(from_object, ['method']) is not None: - raise ValueError( - 'method parameter is only supported in Gemini Enterprise Agent Platform' - ' mode, not in Gemini Developer API mode.' - ) - - if getv(from_object, ['threshold']) is not None: - setv(to_object, ['threshold'], getv(from_object, ['threshold'])) - - return to_object - - -def _ScribbleImage_to_vertex( - from_object: Union[dict[str, Any], object], - parent_object: Optional[dict[str, Any]] = None, - root_object: Optional[Union[dict[str, Any], object]] = None, -) -> dict[str, Any]: - to_object: dict[str, Any] = {} - if getv(from_object, ['image']) is not None: - setv( - to_object, - ['image'], - _Image_to_vertex(getv(from_object, ['image']), to_object, root_object), - ) - - return to_object - - -def _SegmentImageConfig_to_vertex( - from_object: Union[dict[str, Any], object], - parent_object: Optional[dict[str, Any]] = None, - root_object: Optional[Union[dict[str, Any], object]] = None, -) -> dict[str, Any]: - to_object: dict[str, Any] = {} - - if getv(from_object, ['mode']) is not None: - setv(parent_object, ['parameters', 'mode'], getv(from_object, ['mode'])) - - if getv(from_object, ['max_predictions']) is not None: - setv( - parent_object, - ['parameters', 'maxPredictions'], - getv(from_object, ['max_predictions']), - ) - - if getv(from_object, ['confidence_threshold']) is not None: - setv( - parent_object, - ['parameters', 'confidenceThreshold'], - getv(from_object, ['confidence_threshold']), - ) - - if getv(from_object, ['mask_dilation']) is not None: - setv( - parent_object, - ['parameters', 'maskDilation'], - getv(from_object, ['mask_dilation']), - ) - - if getv(from_object, ['binary_color_threshold']) is not None: - setv( - parent_object, - ['parameters', 'binaryColorThreshold'], - getv(from_object, ['binary_color_threshold']), - ) - - if getv(from_object, ['labels']) is not None: - setv(parent_object, ['labels'], getv(from_object, ['labels'])) - - return to_object - - -def _SegmentImageParameters_to_vertex( - api_client: BaseApiClient, - from_object: Union[dict[str, Any], object], - parent_object: Optional[dict[str, Any]] = None, - root_object: Optional[Union[dict[str, Any], object]] = None, -) -> dict[str, Any]: - to_object: dict[str, Any] = {} - if getv(from_object, ['model']) is not None: - setv( - to_object, - ['_url', 'model'], - t.t_model(api_client, getv(from_object, ['model'])), - ) - - if getv(from_object, ['source']) is not None: - _SegmentImageSource_to_vertex( - getv(from_object, ['source']), to_object, root_object - ) - - if getv(from_object, ['config']) is not None: - _SegmentImageConfig_to_vertex( - getv(from_object, ['config']), to_object, root_object - ) - - return to_object - - -def _SegmentImageResponse_from_vertex( - from_object: Union[dict[str, Any], object], - parent_object: Optional[dict[str, Any]] = None, - root_object: Optional[Union[dict[str, Any], object]] = None, -) -> dict[str, Any]: - to_object: dict[str, Any] = {} - if getv(from_object, ['predictions']) is not None: - setv( - to_object, - ['generated_masks'], - [ - _GeneratedImageMask_from_vertex(item, to_object, root_object) - for item in getv(from_object, ['predictions']) - ], - ) - - return to_object - - -def _SegmentImageSource_to_vertex( - from_object: Union[dict[str, Any], object], - parent_object: Optional[dict[str, Any]] = None, - root_object: Optional[Union[dict[str, Any], object]] = None, -) -> dict[str, Any]: - to_object: dict[str, Any] = {} - if getv(from_object, ['prompt']) is not None: - setv( - parent_object, ['instances[0]', 'prompt'], getv(from_object, ['prompt']) - ) - - if getv(from_object, ['image']) is not None: - setv( - parent_object, - ['instances[0]', 'image'], - _Image_to_vertex(getv(from_object, ['image']), to_object, root_object), - ) - - if getv(from_object, ['scribble_image']) is not None: - setv( - parent_object, - ['instances[0]', 'scribble'], - _ScribbleImage_to_vertex( - getv(from_object, ['scribble_image']), to_object, root_object - ), - ) - - return to_object - - -def _SpeakerVoiceConfig_to_vertex( - from_object: Union[dict[str, Any], object], - parent_object: Optional[dict[str, Any]] = None, - root_object: Optional[Union[dict[str, Any], object]] = None, -) -> dict[str, Any]: - to_object: dict[str, Any] = {} - if getv(from_object, ['speaker']) is not None: - setv(to_object, ['speaker'], getv(from_object, ['speaker'])) - - if getv(from_object, ['voice_config']) is not None: - setv( - to_object, - ['voiceConfig'], - _VoiceConfig_to_vertex( - getv(from_object, ['voice_config']), to_object, root_object - ), - ) - - return to_object - - -def _SpeechConfig_to_vertex( - from_object: Union[dict[str, Any], object], - parent_object: Optional[dict[str, Any]] = None, - root_object: Optional[Union[dict[str, Any], object]] = None, -) -> dict[str, Any]: - to_object: dict[str, Any] = {} - if getv(from_object, ['voice_config']) is not None: - setv( - to_object, - ['voiceConfig'], - _VoiceConfig_to_vertex( - getv(from_object, ['voice_config']), to_object, root_object - ), - ) - - if getv(from_object, ['language_code']) is not None: - setv(to_object, ['languageCode'], getv(from_object, ['language_code'])) - - if getv(from_object, ['multi_speaker_voice_config']) is not None: - setv( - to_object, - ['multiSpeakerVoiceConfig'], - _MultiSpeakerVoiceConfig_to_vertex( - getv(from_object, ['multi_speaker_voice_config']), - to_object, - root_object, - ), - ) - - return to_object - - -def _ToolConfig_to_mldev( - from_object: Union[dict[str, Any], object], - parent_object: Optional[dict[str, Any]] = None, - root_object: Optional[Union[dict[str, Any], object]] = None, -) -> dict[str, Any]: - to_object: dict[str, Any] = {} - if getv(from_object, ['retrieval_config']) is not None: - setv( - to_object, ['retrievalConfig'], getv(from_object, ['retrieval_config']) - ) - - if getv(from_object, ['function_calling_config']) is not None: - setv( - to_object, - ['functionCallingConfig'], - _FunctionCallingConfig_to_mldev( - getv(from_object, ['function_calling_config']), - to_object, - root_object, - ), - ) - - if getv(from_object, ['include_server_side_tool_invocations']) is not None: - setv( - to_object, - ['includeServerSideToolInvocations'], - getv(from_object, ['include_server_side_tool_invocations']), - ) - - return to_object - - -def _ToolConfig_to_vertex( - from_object: Union[dict[str, Any], object], - parent_object: Optional[dict[str, Any]] = None, - root_object: Optional[Union[dict[str, Any], object]] = None, -) -> dict[str, Any]: - to_object: dict[str, Any] = {} - if getv(from_object, ['retrieval_config']) is not None: - setv( - to_object, ['retrievalConfig'], getv(from_object, ['retrieval_config']) - ) - - if getv(from_object, ['function_calling_config']) is not None: - setv( - to_object, - ['functionCallingConfig'], - getv(from_object, ['function_calling_config']), - ) - - if getv(from_object, ['include_server_side_tool_invocations']) is not None: - raise ValueError( - 'include_server_side_tool_invocations parameter is only supported in' - ' Gemini Developer API mode, not in Gemini Enterprise Agent Platform' - ' mode.' - ) - - return to_object - - -def _Tool_to_mldev( - from_object: Union[dict[str, Any], object], - parent_object: Optional[dict[str, Any]] = None, - root_object: Optional[Union[dict[str, Any], object]] = None, -) -> dict[str, Any]: - to_object: dict[str, Any] = {} - if getv(from_object, ['retrieval']) is not None: - raise ValueError( - 'retrieval parameter is only supported in Gemini Enterprise Agent' - ' Platform mode, not in Gemini Developer API mode.' - ) - - 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, ['google_search']) is not None: - setv( - to_object, - ['googleSearch'], - _GoogleSearch_to_mldev( - getv(from_object, ['google_search']), to_object, root_object - ), - ) - - if getv(from_object, ['google_maps']) is not None: - setv( - to_object, - ['googleMaps'], - _GoogleMaps_to_mldev( - getv(from_object, ['google_maps']), to_object, root_object - ), - ) - - 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 only supported in Gemini Enterprise' - ' Agent Platform mode, not in Gemini Developer API mode.' - ) - - 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_search_retrieval']) is not None: - setv( - to_object, - ['googleSearchRetrieval'], - getv(from_object, ['google_search_retrieval']), - ) - - if getv(from_object, ['parallel_ai_search']) is not None: - raise ValueError( - 'parallel_ai_search parameter is only supported in Gemini Enterprise' - ' Agent Platform mode, not in Gemini Developer API mode.' - ) - - if getv(from_object, ['url_context']) is not None: - setv(to_object, ['urlContext'], getv(from_object, ['url_context'])) - - if getv(from_object, ['mcp_servers']) is not None: - setv( - to_object, - ['mcpServers'], - [item for item in getv(from_object, ['mcp_servers'])], - ) - - if getv(from_object, ['exa_ai_search']) is not None: - raise ValueError( - 'exa_ai_search parameter is only supported in Gemini Enterprise Agent' - ' Platform mode, not in Gemini Developer API mode.' - ) - - return to_object - - -def _Tool_to_vertex( - from_object: Union[dict[str, Any], object], - parent_object: Optional[dict[str, Any]] = None, - root_object: Optional[Union[dict[str, Any], object]] = None, -) -> dict[str, Any]: - to_object: dict[str, Any] = {} - if getv(from_object, ['retrieval']) is not None: - setv(to_object, ['retrieval'], getv(from_object, ['retrieval'])) - - 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: - raise ValueError( - 'file_search parameter is only supported in Gemini Developer API mode,' - ' not in Gemini Enterprise Agent Platform mode.' - ) - - if getv(from_object, ['google_search']) is not None: - setv(to_object, ['googleSearch'], getv(from_object, ['google_search'])) - - if getv(from_object, ['google_maps']) is not None: - setv(to_object, ['googleMaps'], getv(from_object, ['google_maps'])) - - 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: - setv( - to_object, - ['enterpriseWebSearch'], - getv(from_object, ['enterprise_web_search']), - ) - - 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_search_retrieval']) is not None: - setv( - to_object, - ['googleSearchRetrieval'], - getv(from_object, ['google_search_retrieval']), - ) - - if getv(from_object, ['parallel_ai_search']) is not None: - setv( - to_object, - ['parallelAiSearch'], - getv(from_object, ['parallel_ai_search']), - ) - - if getv(from_object, ['url_context']) is not None: - setv(to_object, ['urlContext'], getv(from_object, ['url_context'])) - - if getv(from_object, ['mcp_servers']) is not None: - setv( - to_object, - ['mcpServers'], - [ - _McpServer_to_vertex(item, to_object, root_object) - for item in getv(from_object, ['mcp_servers']) - ], - ) - - if getv(from_object, ['exa_ai_search']) is not None: - setv(to_object, ['exaAiSearch'], getv(from_object, ['exa_ai_search'])) - - return to_object - - -def _TranslationConfig_to_vertex( - from_object: Union[dict[str, Any], object], - parent_object: Optional[dict[str, Any]] = None, - root_object: Optional[Union[dict[str, Any], object]] = None, -) -> dict[str, Any]: - to_object: dict[str, Any] = {} - if getv(from_object, ['echo_target_language']) is not None: - setv( - to_object, - ['echoTargetLanguage'], - getv(from_object, ['echo_target_language']), - ) - - if getv(from_object, ['target_language_code']) is not None: - setv( - to_object, - ['targetLanguageCode'], - getv(from_object, ['target_language_code']), - ) - - return to_object - - -def _TunedModelInfo_from_vertex( - from_object: Union[dict[str, Any], object], - parent_object: Optional[dict[str, Any]] = None, - root_object: Optional[Union[dict[str, Any], object]] = None, -) -> dict[str, Any]: - to_object: dict[str, Any] = {} - if ( - getv(from_object, ['labels', 'google-vertex-llm-tuning-base-model-id']) - is not None - ): - setv( - to_object, - ['base_model'], - getv(from_object, ['labels', 'google-vertex-llm-tuning-base-model-id']), - ) - - if getv(from_object, ['createTime']) is not None: - setv(to_object, ['create_time'], getv(from_object, ['createTime'])) - - if getv(from_object, ['updateTime']) is not None: - setv(to_object, ['update_time'], getv(from_object, ['updateTime'])) - - return to_object - - -def _UpdateModelConfig_to_mldev( - from_object: Union[dict[str, Any], object], - parent_object: Optional[dict[str, Any]] = None, - root_object: Optional[Union[dict[str, Any], object]] = None, -) -> dict[str, Any]: - to_object: dict[str, Any] = {} - - if getv(from_object, ['display_name']) is not None: - setv(parent_object, ['displayName'], getv(from_object, ['display_name'])) - - if getv(from_object, ['description']) is not None: - setv(parent_object, ['description'], getv(from_object, ['description'])) - - if getv(from_object, ['default_checkpoint_id']) is not None: - setv( - parent_object, - ['defaultCheckpointId'], - getv(from_object, ['default_checkpoint_id']), - ) - - return to_object - - -def _UpdateModelConfig_to_vertex( - from_object: Union[dict[str, Any], object], - parent_object: Optional[dict[str, Any]] = None, - root_object: Optional[Union[dict[str, Any], object]] = None, -) -> dict[str, Any]: - to_object: dict[str, Any] = {} - - if getv(from_object, ['display_name']) is not None: - setv(parent_object, ['displayName'], getv(from_object, ['display_name'])) - - if getv(from_object, ['description']) is not None: - setv(parent_object, ['description'], getv(from_object, ['description'])) - - if getv(from_object, ['default_checkpoint_id']) is not None: - setv( - parent_object, - ['defaultCheckpointId'], - getv(from_object, ['default_checkpoint_id']), - ) - - return to_object - - -def _UpdateModelParameters_to_mldev( - api_client: BaseApiClient, - from_object: Union[dict[str, Any], object], - parent_object: Optional[dict[str, Any]] = None, - root_object: Optional[Union[dict[str, Any], object]] = None, -) -> dict[str, Any]: - to_object: dict[str, Any] = {} - if getv(from_object, ['model']) is not None: - setv( - to_object, - ['_url', 'name'], - t.t_model(api_client, getv(from_object, ['model'])), - ) - - if getv(from_object, ['config']) is not None: - _UpdateModelConfig_to_mldev( - getv(from_object, ['config']), to_object, root_object - ) - - return to_object - - -def _UpdateModelParameters_to_vertex( - api_client: BaseApiClient, - from_object: Union[dict[str, Any], object], - parent_object: Optional[dict[str, Any]] = None, - root_object: Optional[Union[dict[str, Any], object]] = None, -) -> dict[str, Any]: - to_object: dict[str, Any] = {} - if getv(from_object, ['model']) is not None: - setv( - to_object, - ['_url', 'model'], - t.t_model(api_client, getv(from_object, ['model'])), - ) - - if getv(from_object, ['config']) is not None: - _UpdateModelConfig_to_vertex( - getv(from_object, ['config']), to_object, root_object - ) - - return to_object - - -def _UpscaleImageAPIConfig_to_vertex( - from_object: Union[dict[str, Any], object], - parent_object: Optional[dict[str, Any]] = None, - root_object: Optional[Union[dict[str, Any], object]] = None, -) -> dict[str, Any]: - to_object: dict[str, Any] = {} - - if getv(from_object, ['output_gcs_uri']) is not None: - setv( - parent_object, - ['parameters', 'storageUri'], - getv(from_object, ['output_gcs_uri']), - ) - - if getv(from_object, ['safety_filter_level']) is not None: - setv( - parent_object, - ['parameters', 'safetySetting'], - getv(from_object, ['safety_filter_level']), - ) - - if getv(from_object, ['person_generation']) is not None: - setv( - parent_object, - ['parameters', 'personGeneration'], - getv(from_object, ['person_generation']), - ) - - if getv(from_object, ['include_rai_reason']) is not None: - setv( - parent_object, - ['parameters', 'includeRaiReason'], - getv(from_object, ['include_rai_reason']), - ) - - if getv(from_object, ['output_mime_type']) is not None: - setv( - parent_object, - ['parameters', 'outputOptions', 'mimeType'], - getv(from_object, ['output_mime_type']), - ) - - if getv(from_object, ['output_compression_quality']) is not None: - setv( - parent_object, - ['parameters', 'outputOptions', 'compressionQuality'], - getv(from_object, ['output_compression_quality']), - ) - - if getv(from_object, ['enhance_input_image']) is not None: - setv( - parent_object, - ['parameters', 'upscaleConfig', 'enhanceInputImage'], - getv(from_object, ['enhance_input_image']), - ) - - if getv(from_object, ['image_preservation_factor']) is not None: - setv( - parent_object, - ['parameters', 'upscaleConfig', 'imagePreservationFactor'], - getv(from_object, ['image_preservation_factor']), - ) - - if getv(from_object, ['labels']) is not None: - setv(parent_object, ['labels'], getv(from_object, ['labels'])) - - if getv(from_object, ['number_of_images']) is not None: - setv( - parent_object, - ['parameters', 'sampleCount'], - getv(from_object, ['number_of_images']), - ) - - if getv(from_object, ['mode']) is not None: - setv(parent_object, ['parameters', 'mode'], getv(from_object, ['mode'])) - - return to_object - - -def _UpscaleImageAPIParameters_to_vertex( - api_client: BaseApiClient, - from_object: Union[dict[str, Any], object], - parent_object: Optional[dict[str, Any]] = None, - root_object: Optional[Union[dict[str, Any], object]] = None, -) -> dict[str, Any]: - to_object: dict[str, Any] = {} - if getv(from_object, ['model']) is not None: - setv( - to_object, - ['_url', 'model'], - t.t_model(api_client, getv(from_object, ['model'])), - ) - - if getv(from_object, ['image']) is not None: - setv( - to_object, - ['instances[0]', 'image'], - _Image_to_vertex(getv(from_object, ['image']), to_object, root_object), - ) - - if getv(from_object, ['upscale_factor']) is not None: - setv( - to_object, - ['parameters', 'upscaleConfig', 'upscaleFactor'], - getv(from_object, ['upscale_factor']), - ) - - if getv(from_object, ['config']) is not None: - _UpscaleImageAPIConfig_to_vertex( - getv(from_object, ['config']), to_object, root_object - ) - - return to_object - - -def _UpscaleImageResponse_from_vertex( - from_object: Union[dict[str, Any], object], - parent_object: Optional[dict[str, Any]] = None, - root_object: Optional[Union[dict[str, Any], object]] = None, -) -> dict[str, Any]: - to_object: dict[str, Any] = {} - if getv(from_object, ['sdkHttpResponse']) is not None: - setv( - to_object, ['sdk_http_response'], getv(from_object, ['sdkHttpResponse']) - ) - - if getv(from_object, ['predictions']) is not None: - setv( - to_object, - ['generated_images'], - [ - _GeneratedImage_from_vertex(item, to_object, root_object) - for item in getv(from_object, ['predictions']) - ], - ) - - return to_object - - -def _VideoGenerationMask_to_vertex( - from_object: Union[dict[str, Any], object], - parent_object: Optional[dict[str, Any]] = None, - root_object: Optional[Union[dict[str, Any], object]] = None, -) -> dict[str, Any]: - to_object: dict[str, Any] = {} - if getv(from_object, ['image']) is not None: - setv( - to_object, - ['_self'], - _Image_to_vertex(getv(from_object, ['image']), to_object, root_object), - ) - - if getv(from_object, ['mask_mode']) is not None: - setv(to_object, ['maskMode'], getv(from_object, ['mask_mode'])) - - return to_object - - -def _VideoGenerationReferenceImage_to_mldev( - from_object: Union[dict[str, Any], object], - parent_object: Optional[dict[str, Any]] = None, - root_object: Optional[Union[dict[str, Any], object]] = None, -) -> dict[str, Any]: - to_object: dict[str, Any] = {} - if getv(from_object, ['image']) is not None: - setv( - to_object, - ['image'], - _Image_to_mldev(getv(from_object, ['image']), to_object, root_object), - ) - - if getv(from_object, ['reference_type']) is not None: - _VideoGenerationReferenceType_to_mldev_enum_validate( - getv(from_object, ['reference_type']) - ) - setv(to_object, ['referenceType'], getv(from_object, ['reference_type'])) - - return to_object - - -def _VideoGenerationReferenceImage_to_vertex( - from_object: Union[dict[str, Any], object], - parent_object: Optional[dict[str, Any]] = None, - root_object: Optional[Union[dict[str, Any], object]] = None, -) -> dict[str, Any]: - to_object: dict[str, Any] = {} - if getv(from_object, ['image']) is not None: - setv( - to_object, - ['image'], - _Image_to_vertex(getv(from_object, ['image']), to_object, root_object), - ) - - if getv(from_object, ['reference_type']) is not None: - setv(to_object, ['referenceType'], getv(from_object, ['reference_type'])) - - return to_object - - -def _Video_from_mldev( - from_object: Union[dict[str, Any], object], - parent_object: Optional[dict[str, Any]] = None, - root_object: Optional[Union[dict[str, Any], object]] = None, -) -> dict[str, Any]: - to_object: dict[str, Any] = {} - if getv(from_object, ['uri']) is not None: - setv(to_object, ['uri'], getv(from_object, ['uri'])) - - if getv(from_object, ['encodedVideo']) is not None: - setv( - to_object, - ['video_bytes'], - base_t.t_bytes(getv(from_object, ['encodedVideo'])), - ) - - if getv(from_object, ['encoding']) is not None: - setv(to_object, ['mime_type'], getv(from_object, ['encoding'])) - - return to_object - - -def _Video_from_vertex( - from_object: Union[dict[str, Any], object], - parent_object: Optional[dict[str, Any]] = None, - root_object: Optional[Union[dict[str, Any], object]] = None, -) -> dict[str, Any]: - to_object: dict[str, Any] = {} - if getv(from_object, ['gcsUri']) is not None: - setv(to_object, ['uri'], getv(from_object, ['gcsUri'])) - - if getv(from_object, ['bytesBase64Encoded']) is not None: - setv( - to_object, - ['video_bytes'], - base_t.t_bytes(getv(from_object, ['bytesBase64Encoded'])), - ) - - if getv(from_object, ['mimeType']) is not None: - setv(to_object, ['mime_type'], getv(from_object, ['mimeType'])) - - return to_object - - -def _Video_to_mldev( - from_object: Union[dict[str, Any], object], - parent_object: Optional[dict[str, Any]] = None, - root_object: Optional[Union[dict[str, Any], object]] = None, -) -> dict[str, Any]: - to_object: dict[str, Any] = {} - if getv(from_object, ['uri']) is not None: - setv(to_object, ['uri'], getv(from_object, ['uri'])) - - if getv(from_object, ['video_bytes']) is not None: - setv( - to_object, - ['encodedVideo'], - base_t.t_bytes(getv(from_object, ['video_bytes'])), - ) - - if getv(from_object, ['mime_type']) is not None: - setv(to_object, ['encoding'], getv(from_object, ['mime_type'])) - - return to_object - - -def _Video_to_vertex( - from_object: Union[dict[str, Any], object], - parent_object: Optional[dict[str, Any]] = None, - root_object: Optional[Union[dict[str, Any], object]] = None, -) -> dict[str, Any]: - to_object: dict[str, Any] = {} - if getv(from_object, ['uri']) is not None: - setv(to_object, ['gcsUri'], getv(from_object, ['uri'])) - - if getv(from_object, ['video_bytes']) is not None: - setv( - to_object, - ['bytesBase64Encoded'], - base_t.t_bytes(getv(from_object, ['video_bytes'])), - ) - - if getv(from_object, ['mime_type']) is not None: - setv(to_object, ['mimeType'], getv(from_object, ['mime_type'])) - - return to_object - - -def _VoiceConfig_to_vertex( - from_object: Union[dict[str, Any], object], - parent_object: Optional[dict[str, Any]] = None, - root_object: Optional[Union[dict[str, Any], object]] = None, -) -> dict[str, Any]: - to_object: dict[str, Any] = {} - if getv(from_object, ['replicated_voice_config']) is not None: - setv( - to_object, - ['replicatedVoiceConfig'], - _ReplicatedVoiceConfig_to_vertex( - getv(from_object, ['replicated_voice_config']), - to_object, - root_object, - ), - ) - - if getv(from_object, ['prebuilt_voice_config']) is not None: - setv( - to_object, - ['prebuiltVoiceConfig'], - getv(from_object, ['prebuilt_voice_config']), - ) - - if getv(from_object, ['voice']) is not None: - setv(to_object, ['voice'], getv(from_object, ['voice'])) - - return to_object - - class Models(_api_module.BaseModule): def _generate_content( @@ -4632,7 +54,7 @@ def _generate_content( request_url_dict: Optional[dict[str, str]] if self._api_client.vertexai: - request_dict = _GenerateContentParameters_to_vertex( + request_dict = _converters._GenerateContentParameters_to_vertex( self._api_client, parameter_model, None, parameter_model ) request_url_dict = request_dict.get('_url') @@ -4641,7 +63,7 @@ def _generate_content( else: path = '{model}:generateContent' else: - request_dict = _GenerateContentParameters_to_mldev( + request_dict = _converters._GenerateContentParameters_to_mldev( self._api_client, parameter_model, None, parameter_model ) request_url_dict = request_dict.get('_url') @@ -4679,12 +101,12 @@ def _generate_content( response_dict = {} if not response.body else json.loads(response.body) if self._api_client.vertexai: - response_dict = _GenerateContentResponse_from_vertex( + response_dict = _converters._GenerateContentResponse_from_vertex( response_dict, None, parameter_model ) if not self._api_client.vertexai: - response_dict = _GenerateContentResponse_from_mldev( + response_dict = _converters._GenerateContentResponse_from_mldev( response_dict, None, parameter_model ) @@ -4728,7 +150,7 @@ def _generate_content_stream( request_url_dict: Optional[dict[str, str]] if self._api_client.vertexai: - request_dict = _GenerateContentParameters_to_vertex( + request_dict = _converters._GenerateContentParameters_to_vertex( self._api_client, parameter_model, None, parameter_model ) request_url_dict = request_dict.get('_url') @@ -4739,7 +161,7 @@ def _generate_content_stream( else: path = '{model}:streamGenerateContent?alt=sse' else: - request_dict = _GenerateContentParameters_to_mldev( + request_dict = _converters._GenerateContentParameters_to_mldev( self._api_client, parameter_model, None, parameter_model ) request_url_dict = request_dict.get('_url') @@ -4780,12 +202,12 @@ def _generate_content_stream( response_dict = {} if not response.body else json.loads(response.body) if self._api_client.vertexai: - response_dict = _GenerateContentResponse_from_vertex( + response_dict = _converters._GenerateContentResponse_from_vertex( response_dict, None, parameter_model ) if not self._api_client.vertexai: - response_dict = _GenerateContentResponse_from_mldev( + response_dict = _converters._GenerateContentResponse_from_mldev( response_dict, None, parameter_model ) @@ -4860,7 +282,7 @@ def _embed_content( request_url_dict: Optional[dict[str, str]] if self._api_client.vertexai: - request_dict = _EmbedContentParametersPrivate_to_vertex( + request_dict = _converters._EmbedContentParametersPrivate_to_vertex( self._api_client, parameter_model, None, parameter_model ) request_url_dict = request_dict.get('_url') @@ -4870,7 +292,7 @@ def _embed_content( else: path = endpoint_url else: - request_dict = _EmbedContentParametersPrivate_to_mldev( + request_dict = _converters._EmbedContentParametersPrivate_to_mldev( self._api_client, parameter_model, None, parameter_model ) request_url_dict = request_dict.get('_url') @@ -4901,12 +323,12 @@ def _embed_content( response_dict = {} if not response.body else json.loads(response.body) if self._api_client.vertexai: - response_dict = _EmbedContentResponse_from_vertex( + response_dict = _converters._EmbedContentResponse_from_vertex( response_dict, None, parameter_model ) if not self._api_client.vertexai: - response_dict = _EmbedContentResponse_from_mldev( + response_dict = _converters._EmbedContentResponse_from_mldev( response_dict, None, parameter_model ) @@ -4956,7 +378,7 @@ def _generate_images( ' mode, not in Gemini Developer API mode.' ) else: - request_dict = _GenerateImagesParameters_to_vertex( + request_dict = _converters._GenerateImagesParameters_to_vertex( self._api_client, parameter_model, None, parameter_model ) request_url_dict = request_dict.get('_url') @@ -4988,7 +410,7 @@ def _generate_images( response_dict = {} if not response.body else json.loads(response.body) if self._api_client.vertexai: - response_dict = _GenerateImagesResponse_from_vertex( + response_dict = _converters._GenerateImagesResponse_from_vertex( response_dict, None, parameter_model ) @@ -5040,7 +462,7 @@ def _edit_image( ' mode, not in Gemini Developer API mode.' ) else: - request_dict = _EditImageParameters_to_vertex( + request_dict = _converters._EditImageParameters_to_vertex( self._api_client, parameter_model, None, parameter_model ) request_url_dict = request_dict.get('_url') @@ -5072,7 +494,7 @@ def _edit_image( response_dict = {} if not response.body else json.loads(response.body) if self._api_client.vertexai: - response_dict = _EditImageResponse_from_vertex( + response_dict = _converters._EditImageResponse_from_vertex( response_dict, None, parameter_model ) @@ -5124,7 +546,7 @@ def _upscale_image( ' mode, not in Gemini Developer API mode.' ) else: - request_dict = _UpscaleImageAPIParameters_to_vertex( + request_dict = _converters._UpscaleImageAPIParameters_to_vertex( self._api_client, parameter_model, None, parameter_model ) request_url_dict = request_dict.get('_url') @@ -5156,7 +578,7 @@ def _upscale_image( response_dict = {} if not response.body else json.loads(response.body) if self._api_client.vertexai: - response_dict = _UpscaleImageResponse_from_vertex( + response_dict = _converters._UpscaleImageResponse_from_vertex( response_dict, None, parameter_model ) @@ -5236,7 +658,7 @@ def recontext_image( ' mode, not in Gemini Developer API mode.' ) else: - request_dict = _RecontextImageParameters_to_vertex( + request_dict = _converters._RecontextImageParameters_to_vertex( self._api_client, parameter_model, None, parameter_model ) request_url_dict = request_dict.get('_url') @@ -5268,7 +690,7 @@ def recontext_image( response_dict = {} if not response.body else json.loads(response.body) if self._api_client.vertexai: - response_dict = _RecontextImageResponse_from_vertex( + response_dict = _converters._RecontextImageResponse_from_vertex( response_dict, None, parameter_model ) @@ -5339,7 +761,7 @@ def segment_image( ' mode, not in Gemini Developer API mode.' ) else: - request_dict = _SegmentImageParameters_to_vertex( + request_dict = _converters._SegmentImageParameters_to_vertex( self._api_client, parameter_model, None, parameter_model ) request_url_dict = request_dict.get('_url') @@ -5371,7 +793,7 @@ def segment_image( response_dict = {} if not response.body else json.loads(response.body) if self._api_client.vertexai: - response_dict = _SegmentImageResponse_from_vertex( + response_dict = _converters._SegmentImageResponse_from_vertex( response_dict, None, parameter_model ) @@ -5408,7 +830,7 @@ def get( request_url_dict: Optional[dict[str, str]] if self._api_client.vertexai: - request_dict = _GetModelParameters_to_vertex( + request_dict = _converters._GetModelParameters_to_vertex( self._api_client, parameter_model, None, parameter_model ) request_url_dict = request_dict.get('_url') @@ -5417,7 +839,7 @@ def get( else: path = '{name}' else: - request_dict = _GetModelParameters_to_mldev( + request_dict = _converters._GetModelParameters_to_mldev( self._api_client, parameter_model, None, parameter_model ) request_url_dict = request_dict.get('_url') @@ -5446,10 +868,14 @@ def get( response_dict = {} if not response.body else json.loads(response.body) if self._api_client.vertexai: - response_dict = _Model_from_vertex(response_dict, None, parameter_model) + response_dict = _converters._Model_from_vertex( + response_dict, None, parameter_model + ) if not self._api_client.vertexai: - response_dict = _Model_from_mldev(response_dict, None, parameter_model) + response_dict = _converters._Model_from_mldev( + response_dict, None, parameter_model + ) return_value = types.Model._from_response( response=response_dict, @@ -5483,7 +909,7 @@ def _list( request_url_dict: Optional[dict[str, str]] if self._api_client.vertexai: - request_dict = _ListModelsParameters_to_vertex( + request_dict = _converters._ListModelsParameters_to_vertex( self._api_client, parameter_model, None, parameter_model ) request_url_dict = request_dict.get('_url') @@ -5492,7 +918,7 @@ def _list( else: path = '{models_url}' else: - request_dict = _ListModelsParameters_to_mldev( + request_dict = _converters._ListModelsParameters_to_mldev( self._api_client, parameter_model, None, parameter_model ) request_url_dict = request_dict.get('_url') @@ -5526,12 +952,12 @@ def _list( response_dict = {} if not response.body else json.loads(response.body) if self._api_client.vertexai: - response_dict = _ListModelsResponse_from_vertex( + response_dict = _converters._ListModelsResponse_from_vertex( response_dict, None, parameter_model ) if not self._api_client.vertexai: - response_dict = _ListModelsResponse_from_mldev( + response_dict = _converters._ListModelsResponse_from_mldev( response_dict, None, parameter_model ) @@ -5573,7 +999,7 @@ def update( request_url_dict: Optional[dict[str, str]] if self._api_client.vertexai: - request_dict = _UpdateModelParameters_to_vertex( + request_dict = _converters._UpdateModelParameters_to_vertex( self._api_client, parameter_model, None, parameter_model ) request_url_dict = request_dict.get('_url') @@ -5582,7 +1008,7 @@ def update( else: path = '{model}' else: - request_dict = _UpdateModelParameters_to_mldev( + request_dict = _converters._UpdateModelParameters_to_mldev( self._api_client, parameter_model, None, parameter_model ) request_url_dict = request_dict.get('_url') @@ -5613,10 +1039,14 @@ def update( response_dict = {} if not response.body else json.loads(response.body) if self._api_client.vertexai: - response_dict = _Model_from_vertex(response_dict, None, parameter_model) + response_dict = _converters._Model_from_vertex( + response_dict, None, parameter_model + ) if not self._api_client.vertexai: - response_dict = _Model_from_mldev(response_dict, None, parameter_model) + response_dict = _converters._Model_from_mldev( + response_dict, None, parameter_model + ) return_value = types.Model._from_response( response=response_dict, @@ -5654,7 +1084,7 @@ def delete( request_url_dict: Optional[dict[str, str]] if self._api_client.vertexai: - request_dict = _DeleteModelParameters_to_vertex( + request_dict = _converters._DeleteModelParameters_to_vertex( self._api_client, parameter_model, None, parameter_model ) request_url_dict = request_dict.get('_url') @@ -5663,7 +1093,7 @@ def delete( else: path = '{name}' else: - request_dict = _DeleteModelParameters_to_mldev( + request_dict = _converters._DeleteModelParameters_to_mldev( self._api_client, parameter_model, None, parameter_model ) request_url_dict = request_dict.get('_url') @@ -5694,12 +1124,12 @@ def delete( response_dict = {} if not response.body else json.loads(response.body) if self._api_client.vertexai: - response_dict = _DeleteModelResponse_from_vertex( + response_dict = _converters._DeleteModelResponse_from_vertex( response_dict, None, parameter_model ) if not self._api_client.vertexai: - response_dict = _DeleteModelResponse_from_mldev( + response_dict = _converters._DeleteModelResponse_from_mldev( response_dict, None, parameter_model ) @@ -5764,7 +1194,7 @@ def count_tokens( request_url_dict: Optional[dict[str, str]] if self._api_client.vertexai: - request_dict = _CountTokensParameters_to_vertex( + request_dict = _converters._CountTokensParameters_to_vertex( self._api_client, parameter_model, None, parameter_model ) request_url_dict = request_dict.get('_url') @@ -5773,7 +1203,7 @@ def count_tokens( else: path = '{model}:countTokens' else: - request_dict = _CountTokensParameters_to_mldev( + request_dict = _converters._CountTokensParameters_to_mldev( self._api_client, parameter_model, None, parameter_model ) request_url_dict = request_dict.get('_url') @@ -5804,12 +1234,12 @@ def count_tokens( response_dict = {} if not response.body else json.loads(response.body) if self._api_client.vertexai: - response_dict = _CountTokensResponse_from_vertex( + response_dict = _converters._CountTokensResponse_from_vertex( response_dict, None, parameter_model ) if not self._api_client.vertexai: - response_dict = _CountTokensResponse_from_mldev( + response_dict = _converters._CountTokensResponse_from_mldev( response_dict, None, parameter_model ) @@ -5880,7 +1310,7 @@ def compute_tokens( ' mode, not in Gemini Developer API mode.' ) else: - request_dict = _ComputeTokensParameters_to_vertex( + request_dict = _converters._ComputeTokensParameters_to_vertex( self._api_client, parameter_model, None, parameter_model ) request_url_dict = request_dict.get('_url') @@ -5912,7 +1342,7 @@ def compute_tokens( response_dict = {} if not response.body else json.loads(response.body) if self._api_client.vertexai: - response_dict = _ComputeTokensResponse_from_vertex( + response_dict = _converters._ComputeTokensResponse_from_vertex( response_dict, None, parameter_model ) @@ -5964,7 +1394,7 @@ def _generate_videos( request_url_dict: Optional[dict[str, str]] if self._api_client.vertexai: - request_dict = _GenerateVideosParameters_to_vertex( + request_dict = _converters._GenerateVideosParameters_to_vertex( self._api_client, parameter_model, None, parameter_model ) request_url_dict = request_dict.get('_url') @@ -5973,7 +1403,7 @@ def _generate_videos( else: path = '{model}:predictLongRunning' else: - request_dict = _GenerateVideosParameters_to_mldev( + request_dict = _converters._GenerateVideosParameters_to_mldev( self._api_client, parameter_model, None, parameter_model ) request_url_dict = request_dict.get('_url') @@ -6004,12 +1434,12 @@ def _generate_videos( response_dict = {} if not response.body else json.loads(response.body) if self._api_client.vertexai: - response_dict = _GenerateVideosOperation_from_vertex( + response_dict = _converters._GenerateVideosOperation_from_vertex( response_dict, None, parameter_model ) if not self._api_client.vertexai: - response_dict = _GenerateVideosOperation_from_mldev( + response_dict = _converters._GenerateVideosOperation_from_mldev( response_dict, None, parameter_model ) @@ -6908,7 +2338,7 @@ async def _generate_content( request_url_dict: Optional[dict[str, str]] if self._api_client.vertexai: - request_dict = _GenerateContentParameters_to_vertex( + request_dict = _converters._GenerateContentParameters_to_vertex( self._api_client, parameter_model, None, parameter_model ) request_url_dict = request_dict.get('_url') @@ -6917,7 +2347,7 @@ async def _generate_content( else: path = '{model}:generateContent' else: - request_dict = _GenerateContentParameters_to_mldev( + request_dict = _converters._GenerateContentParameters_to_mldev( self._api_client, parameter_model, None, parameter_model ) request_url_dict = request_dict.get('_url') @@ -6955,12 +2385,12 @@ async def _generate_content( response_dict = {} if not response.body else json.loads(response.body) if self._api_client.vertexai: - response_dict = _GenerateContentResponse_from_vertex( + response_dict = _converters._GenerateContentResponse_from_vertex( response_dict, None, parameter_model ) if not self._api_client.vertexai: - response_dict = _GenerateContentResponse_from_mldev( + response_dict = _converters._GenerateContentResponse_from_mldev( response_dict, None, parameter_model ) @@ -7004,7 +2434,7 @@ async def _generate_content_stream( request_url_dict: Optional[dict[str, str]] if self._api_client.vertexai: - request_dict = _GenerateContentParameters_to_vertex( + request_dict = _converters._GenerateContentParameters_to_vertex( self._api_client, parameter_model, None, parameter_model ) request_url_dict = request_dict.get('_url') @@ -7015,7 +2445,7 @@ async def _generate_content_stream( else: path = '{model}:streamGenerateContent?alt=sse' else: - request_dict = _GenerateContentParameters_to_mldev( + request_dict = _converters._GenerateContentParameters_to_mldev( self._api_client, parameter_model, None, parameter_model ) request_url_dict = request_dict.get('_url') @@ -7059,12 +2489,12 @@ async def async_generator(): # type: ignore[no-untyped-def] response_dict = {} if not response.body else json.loads(response.body) if self._api_client.vertexai: - response_dict = _GenerateContentResponse_from_vertex( + response_dict = _converters._GenerateContentResponse_from_vertex( response_dict, None, parameter_model ) if not self._api_client.vertexai: - response_dict = _GenerateContentResponse_from_mldev( + response_dict = _converters._GenerateContentResponse_from_mldev( response_dict, None, parameter_model ) @@ -7141,7 +2571,7 @@ async def _embed_content( request_url_dict: Optional[dict[str, str]] if self._api_client.vertexai: - request_dict = _EmbedContentParametersPrivate_to_vertex( + request_dict = _converters._EmbedContentParametersPrivate_to_vertex( self._api_client, parameter_model, None, parameter_model ) request_url_dict = request_dict.get('_url') @@ -7151,7 +2581,7 @@ async def _embed_content( else: path = endpoint_url else: - request_dict = _EmbedContentParametersPrivate_to_mldev( + request_dict = _converters._EmbedContentParametersPrivate_to_mldev( self._api_client, parameter_model, None, parameter_model ) request_url_dict = request_dict.get('_url') @@ -7182,12 +2612,12 @@ async def _embed_content( response_dict = {} if not response.body else json.loads(response.body) if self._api_client.vertexai: - response_dict = _EmbedContentResponse_from_vertex( + response_dict = _converters._EmbedContentResponse_from_vertex( response_dict, None, parameter_model ) if not self._api_client.vertexai: - response_dict = _EmbedContentResponse_from_mldev( + response_dict = _converters._EmbedContentResponse_from_mldev( response_dict, None, parameter_model ) @@ -7237,7 +2667,7 @@ async def _generate_images( ' mode, not in Gemini Developer API mode.' ) else: - request_dict = _GenerateImagesParameters_to_vertex( + request_dict = _converters._GenerateImagesParameters_to_vertex( self._api_client, parameter_model, None, parameter_model ) request_url_dict = request_dict.get('_url') @@ -7269,7 +2699,7 @@ async def _generate_images( response_dict = {} if not response.body else json.loads(response.body) if self._api_client.vertexai: - response_dict = _GenerateImagesResponse_from_vertex( + response_dict = _converters._GenerateImagesResponse_from_vertex( response_dict, None, parameter_model ) @@ -7321,7 +2751,7 @@ async def _edit_image( ' mode, not in Gemini Developer API mode.' ) else: - request_dict = _EditImageParameters_to_vertex( + request_dict = _converters._EditImageParameters_to_vertex( self._api_client, parameter_model, None, parameter_model ) request_url_dict = request_dict.get('_url') @@ -7353,7 +2783,7 @@ async def _edit_image( response_dict = {} if not response.body else json.loads(response.body) if self._api_client.vertexai: - response_dict = _EditImageResponse_from_vertex( + response_dict = _converters._EditImageResponse_from_vertex( response_dict, None, parameter_model ) @@ -7405,7 +2835,7 @@ async def _upscale_image( ' mode, not in Gemini Developer API mode.' ) else: - request_dict = _UpscaleImageAPIParameters_to_vertex( + request_dict = _converters._UpscaleImageAPIParameters_to_vertex( self._api_client, parameter_model, None, parameter_model ) request_url_dict = request_dict.get('_url') @@ -7437,7 +2867,7 @@ async def _upscale_image( response_dict = {} if not response.body else json.loads(response.body) if self._api_client.vertexai: - response_dict = _UpscaleImageResponse_from_vertex( + response_dict = _converters._UpscaleImageResponse_from_vertex( response_dict, None, parameter_model ) @@ -7517,7 +2947,7 @@ async def recontext_image( ' mode, not in Gemini Developer API mode.' ) else: - request_dict = _RecontextImageParameters_to_vertex( + request_dict = _converters._RecontextImageParameters_to_vertex( self._api_client, parameter_model, None, parameter_model ) request_url_dict = request_dict.get('_url') @@ -7549,7 +2979,7 @@ async def recontext_image( response_dict = {} if not response.body else json.loads(response.body) if self._api_client.vertexai: - response_dict = _RecontextImageResponse_from_vertex( + response_dict = _converters._RecontextImageResponse_from_vertex( response_dict, None, parameter_model ) @@ -7623,7 +3053,7 @@ async def segment_image( ' mode, not in Gemini Developer API mode.' ) else: - request_dict = _SegmentImageParameters_to_vertex( + request_dict = _converters._SegmentImageParameters_to_vertex( self._api_client, parameter_model, None, parameter_model ) request_url_dict = request_dict.get('_url') @@ -7655,7 +3085,7 @@ async def segment_image( response_dict = {} if not response.body else json.loads(response.body) if self._api_client.vertexai: - response_dict = _SegmentImageResponse_from_vertex( + response_dict = _converters._SegmentImageResponse_from_vertex( response_dict, None, parameter_model ) @@ -7692,7 +3122,7 @@ async def get( request_url_dict: Optional[dict[str, str]] if self._api_client.vertexai: - request_dict = _GetModelParameters_to_vertex( + request_dict = _converters._GetModelParameters_to_vertex( self._api_client, parameter_model, None, parameter_model ) request_url_dict = request_dict.get('_url') @@ -7701,7 +3131,7 @@ async def get( else: path = '{name}' else: - request_dict = _GetModelParameters_to_mldev( + request_dict = _converters._GetModelParameters_to_mldev( self._api_client, parameter_model, None, parameter_model ) request_url_dict = request_dict.get('_url') @@ -7732,10 +3162,14 @@ async def get( response_dict = {} if not response.body else json.loads(response.body) if self._api_client.vertexai: - response_dict = _Model_from_vertex(response_dict, None, parameter_model) + response_dict = _converters._Model_from_vertex( + response_dict, None, parameter_model + ) if not self._api_client.vertexai: - response_dict = _Model_from_mldev(response_dict, None, parameter_model) + response_dict = _converters._Model_from_mldev( + response_dict, None, parameter_model + ) return_value = types.Model._from_response( response=response_dict, @@ -7769,7 +3203,7 @@ async def _list( request_url_dict: Optional[dict[str, str]] if self._api_client.vertexai: - request_dict = _ListModelsParameters_to_vertex( + request_dict = _converters._ListModelsParameters_to_vertex( self._api_client, parameter_model, None, parameter_model ) request_url_dict = request_dict.get('_url') @@ -7778,7 +3212,7 @@ async def _list( else: path = '{models_url}' else: - request_dict = _ListModelsParameters_to_mldev( + request_dict = _converters._ListModelsParameters_to_mldev( self._api_client, parameter_model, None, parameter_model ) request_url_dict = request_dict.get('_url') @@ -7814,12 +3248,12 @@ async def _list( response_dict = {} if not response.body else json.loads(response.body) if self._api_client.vertexai: - response_dict = _ListModelsResponse_from_vertex( + response_dict = _converters._ListModelsResponse_from_vertex( response_dict, None, parameter_model ) if not self._api_client.vertexai: - response_dict = _ListModelsResponse_from_mldev( + response_dict = _converters._ListModelsResponse_from_mldev( response_dict, None, parameter_model ) @@ -7861,7 +3295,7 @@ async def update( request_url_dict: Optional[dict[str, str]] if self._api_client.vertexai: - request_dict = _UpdateModelParameters_to_vertex( + request_dict = _converters._UpdateModelParameters_to_vertex( self._api_client, parameter_model, None, parameter_model ) request_url_dict = request_dict.get('_url') @@ -7870,7 +3304,7 @@ async def update( else: path = '{model}' else: - request_dict = _UpdateModelParameters_to_mldev( + request_dict = _converters._UpdateModelParameters_to_mldev( self._api_client, parameter_model, None, parameter_model ) request_url_dict = request_dict.get('_url') @@ -7901,10 +3335,14 @@ async def update( response_dict = {} if not response.body else json.loads(response.body) if self._api_client.vertexai: - response_dict = _Model_from_vertex(response_dict, None, parameter_model) + response_dict = _converters._Model_from_vertex( + response_dict, None, parameter_model + ) if not self._api_client.vertexai: - response_dict = _Model_from_mldev(response_dict, None, parameter_model) + response_dict = _converters._Model_from_mldev( + response_dict, None, parameter_model + ) return_value = types.Model._from_response( response=response_dict, @@ -7942,7 +3380,7 @@ async def delete( request_url_dict: Optional[dict[str, str]] if self._api_client.vertexai: - request_dict = _DeleteModelParameters_to_vertex( + request_dict = _converters._DeleteModelParameters_to_vertex( self._api_client, parameter_model, None, parameter_model ) request_url_dict = request_dict.get('_url') @@ -7951,7 +3389,7 @@ async def delete( else: path = '{name}' else: - request_dict = _DeleteModelParameters_to_mldev( + request_dict = _converters._DeleteModelParameters_to_mldev( self._api_client, parameter_model, None, parameter_model ) request_url_dict = request_dict.get('_url') @@ -7982,12 +3420,12 @@ async def delete( response_dict = {} if not response.body else json.loads(response.body) if self._api_client.vertexai: - response_dict = _DeleteModelResponse_from_vertex( + response_dict = _converters._DeleteModelResponse_from_vertex( response_dict, None, parameter_model ) if not self._api_client.vertexai: - response_dict = _DeleteModelResponse_from_mldev( + response_dict = _converters._DeleteModelResponse_from_mldev( response_dict, None, parameter_model ) @@ -8052,7 +3490,7 @@ async def count_tokens( request_url_dict: Optional[dict[str, str]] if self._api_client.vertexai: - request_dict = _CountTokensParameters_to_vertex( + request_dict = _converters._CountTokensParameters_to_vertex( self._api_client, parameter_model, None, parameter_model ) request_url_dict = request_dict.get('_url') @@ -8061,7 +3499,7 @@ async def count_tokens( else: path = '{model}:countTokens' else: - request_dict = _CountTokensParameters_to_mldev( + request_dict = _converters._CountTokensParameters_to_mldev( self._api_client, parameter_model, None, parameter_model ) request_url_dict = request_dict.get('_url') @@ -8092,12 +3530,12 @@ async def count_tokens( response_dict = {} if not response.body else json.loads(response.body) if self._api_client.vertexai: - response_dict = _CountTokensResponse_from_vertex( + response_dict = _converters._CountTokensResponse_from_vertex( response_dict, None, parameter_model ) if not self._api_client.vertexai: - response_dict = _CountTokensResponse_from_mldev( + response_dict = _converters._CountTokensResponse_from_mldev( response_dict, None, parameter_model ) @@ -8167,7 +3605,7 @@ async def compute_tokens( ' mode, not in Gemini Developer API mode.' ) else: - request_dict = _ComputeTokensParameters_to_vertex( + request_dict = _converters._ComputeTokensParameters_to_vertex( self._api_client, parameter_model, None, parameter_model ) request_url_dict = request_dict.get('_url') @@ -8199,7 +3637,7 @@ async def compute_tokens( response_dict = {} if not response.body else json.loads(response.body) if self._api_client.vertexai: - response_dict = _ComputeTokensResponse_from_vertex( + response_dict = _converters._ComputeTokensResponse_from_vertex( response_dict, None, parameter_model ) @@ -8251,7 +3689,7 @@ async def _generate_videos( request_url_dict: Optional[dict[str, str]] if self._api_client.vertexai: - request_dict = _GenerateVideosParameters_to_vertex( + request_dict = _converters._GenerateVideosParameters_to_vertex( self._api_client, parameter_model, None, parameter_model ) request_url_dict = request_dict.get('_url') @@ -8260,7 +3698,7 @@ async def _generate_videos( else: path = '{model}:predictLongRunning' else: - request_dict = _GenerateVideosParameters_to_mldev( + request_dict = _converters._GenerateVideosParameters_to_mldev( self._api_client, parameter_model, None, parameter_model ) request_url_dict = request_dict.get('_url') @@ -8291,12 +3729,12 @@ async def _generate_videos( response_dict = {} if not response.body else json.loads(response.body) if self._api_client.vertexai: - response_dict = _GenerateVideosOperation_from_vertex( + response_dict = _converters._GenerateVideosOperation_from_vertex( response_dict, None, parameter_model ) if not self._api_client.vertexai: - response_dict = _GenerateVideosOperation_from_mldev( + response_dict = _converters._GenerateVideosOperation_from_mldev( response_dict, None, parameter_model ) diff --git a/google/genai/operations.py b/google/genai/operations.py index 62f556cbb1..9c0ab4d602 100644 --- a/google/genai/operations.py +++ b/google/genai/operations.py @@ -17,79 +17,17 @@ import json import logging -from typing import Any, Optional, TypeVar, Union +from typing import Any, Optional, TypeVar from urllib.parse import urlencode from . import _api_module from . import _common +from . import _converters from . import types -from ._common import get_value_by_path as getv -from ._common import set_value_by_path as setv logger = logging.getLogger('google_genai.operations') -def _FetchPredictOperationParameters_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, ['operation_name']) is not None: - setv(to_object, ['operationName'], getv(from_object, ['operation_name'])) - - if getv(from_object, ['resource_name']) is not None: - setv( - to_object, - ['_url', 'resourceName'], - getv(from_object, ['resource_name']), - ) - - return to_object - - -def _GetOperationParameters_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, ['operation_name']) is not None: - setv( - to_object, - ['_url', 'operationName'], - getv(from_object, ['operation_name']), - ) - - return to_object - - -def _GetOperationParameters_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, ['operation_name']) is not None: - setv( - to_object, - ['_url', 'operationName'], - getv(from_object, ['operation_name']), - ) - - return to_object - - -def _GetProjectOperationParameters_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, ['operation_id']) is not None: - setv( - to_object, ['_url', 'operation_id'], getv(from_object, ['operation_id']) - ) - - return to_object - - class Operations(_api_module.BaseModule): def _get_videos_operation( @@ -106,14 +44,18 @@ def _get_videos_operation( request_url_dict: Optional[dict[str, str]] if self._api_client.vertexai: - request_dict = _GetOperationParameters_to_vertex(parameter_model) + request_dict = _converters._GetOperationParameters_to_vertex( + parameter_model + ) request_url_dict = request_dict.get('_url') if request_url_dict: path = '{operationName}'.format_map(request_url_dict) else: path = '{operationName}' else: - request_dict = _GetOperationParameters_to_mldev(parameter_model) + request_dict = _converters._GetOperationParameters_to_mldev( + parameter_model + ) request_url_dict = request_dict.get('_url') if request_url_dict: path = '{operationName}'.format_map(request_url_dict) @@ -161,7 +103,9 @@ def _fetch_predict_videos_operation( ' mode, not in Gemini Developer API mode.' ) else: - request_dict = _FetchPredictOperationParameters_to_vertex(parameter_model) + request_dict = _converters._FetchPredictOperationParameters_to_vertex( + parameter_model + ) request_url_dict = request_dict.get('_url') if request_url_dict: path = '{resourceName}:fetchPredictOperation'.format_map( @@ -212,7 +156,9 @@ def _get( ' mode, not in Gemini Developer API mode.' ) else: - request_dict = _GetProjectOperationParameters_to_vertex(parameter_model) + request_dict = _converters._GetProjectOperationParameters_to_vertex( + parameter_model + ) request_url_dict = request_dict.get('_url') if request_url_dict: path = 'operations/{operation_id}'.format_map(request_url_dict) @@ -361,14 +307,18 @@ async def _get_videos_operation( request_url_dict: Optional[dict[str, str]] if self._api_client.vertexai: - request_dict = _GetOperationParameters_to_vertex(parameter_model) + request_dict = _converters._GetOperationParameters_to_vertex( + parameter_model + ) request_url_dict = request_dict.get('_url') if request_url_dict: path = '{operationName}'.format_map(request_url_dict) else: path = '{operationName}' else: - request_dict = _GetOperationParameters_to_mldev(parameter_model) + request_dict = _converters._GetOperationParameters_to_mldev( + parameter_model + ) request_url_dict = request_dict.get('_url') if request_url_dict: path = '{operationName}'.format_map(request_url_dict) @@ -418,7 +368,9 @@ async def _fetch_predict_videos_operation( ' mode, not in Gemini Developer API mode.' ) else: - request_dict = _FetchPredictOperationParameters_to_vertex(parameter_model) + request_dict = _converters._FetchPredictOperationParameters_to_vertex( + parameter_model + ) request_url_dict = request_dict.get('_url') if request_url_dict: path = '{resourceName}:fetchPredictOperation'.format_map( @@ -469,7 +421,9 @@ async def _get( ' mode, not in Gemini Developer API mode.' ) else: - request_dict = _GetProjectOperationParameters_to_vertex(parameter_model) + request_dict = _converters._GetProjectOperationParameters_to_vertex( + parameter_model + ) request_url_dict = request_dict.get('_url') if request_url_dict: path = 'operations/{operation_id}'.format_map(request_url_dict) diff --git a/google/genai/tokens.py b/google/genai/tokens.py index 9c9589ad77..681c8b6fe2 100644 --- a/google/genai/tokens.py +++ b/google/genai/tokens.py @@ -15,13 +15,15 @@ """[Experimental] Auth Tokens API client.""" +# pylint: disable=protected-access + import json import logging from typing import Any, Dict, List, Optional from urllib.parse import urlencode from . import _api_module from . import _common -from . import _tokens_converters as tokens_converters +from . import _converters from . import types logger = logging.getLogger('google_genai.tokens') @@ -221,7 +223,7 @@ def create( 'This method is only supported in the Gemini Developer client.' ) else: - request_dict = tokens_converters._CreateAuthTokenParameters_to_mldev( + request_dict = _converters._CreateAuthTokenParameters_to_mldev( self._api_client, parameter_model ) @@ -316,7 +318,7 @@ async def create( 'This method is only supported in the Gemini Developer client.' ) else: - request_dict = tokens_converters._CreateAuthTokenParameters_to_mldev( + request_dict = _converters._CreateAuthTokenParameters_to_mldev( self._api_client, parameter_model ) diff --git a/google/genai/tunings.py b/google/genai/tunings.py index a3e13e812a..66ea46045d 100644 --- a/google/genai/tunings.py +++ b/google/genai/tunings.py @@ -23,2560 +23,13 @@ from . import _api_module from . import _common -from . import _transformers as t +from . import _converters from . import types -from ._common import get_value_by_path as getv -from ._common import set_value_by_path as setv from .pagers import AsyncPager, Pager logger = logging.getLogger('google_genai.tunings') -def _AutoraterConfig_from_vertex( - from_object: Union[dict[str, Any], object], - parent_object: Optional[dict[str, Any]] = None, - root_object: Optional[Union[dict[str, Any], object]] = None, -) -> dict[str, Any]: - to_object: dict[str, Any] = {} - if getv(from_object, ['samplingCount']) is not None: - setv(to_object, ['sampling_count'], getv(from_object, ['samplingCount'])) - - if getv(from_object, ['flipEnabled']) is not None: - setv(to_object, ['flip_enabled'], getv(from_object, ['flipEnabled'])) - - if getv(from_object, ['autoraterModel']) is not None: - setv(to_object, ['autorater_model'], getv(from_object, ['autoraterModel'])) - - if getv(from_object, ['generationConfig']) is not None: - setv( - to_object, - ['generation_config'], - _GenerationConfig_from_vertex( - getv(from_object, ['generationConfig']), to_object, root_object - ), - ) - - return to_object - - -def _AutoraterConfig_to_vertex( - from_object: Union[dict[str, Any], object], - parent_object: Optional[dict[str, Any]] = None, - root_object: Optional[Union[dict[str, Any], object]] = None, -) -> dict[str, Any]: - to_object: dict[str, Any] = {} - if getv(from_object, ['sampling_count']) is not None: - setv(to_object, ['samplingCount'], getv(from_object, ['sampling_count'])) - - if getv(from_object, ['flip_enabled']) is not None: - setv(to_object, ['flipEnabled'], getv(from_object, ['flip_enabled'])) - - if getv(from_object, ['autorater_model']) is not None: - setv(to_object, ['autoraterModel'], getv(from_object, ['autorater_model'])) - - if getv(from_object, ['generation_config']) is not None: - setv( - to_object, - ['generationConfig'], - _GenerationConfig_to_vertex( - getv(from_object, ['generation_config']), to_object, root_object - ), - ) - - return to_object - - -def _CancelTuningJobParameters_to_mldev( - from_object: Union[dict[str, Any], object], - parent_object: Optional[dict[str, Any]] = None, - root_object: Optional[Union[dict[str, Any], object]] = None, -) -> dict[str, Any]: - to_object: dict[str, Any] = {} - if getv(from_object, ['name']) is not None: - setv(to_object, ['_url', 'name'], getv(from_object, ['name'])) - - return to_object - - -def _CancelTuningJobParameters_to_vertex( - from_object: Union[dict[str, Any], object], - parent_object: Optional[dict[str, Any]] = None, - root_object: Optional[Union[dict[str, Any], object]] = None, -) -> dict[str, Any]: - to_object: dict[str, Any] = {} - if getv(from_object, ['name']) is not None: - setv(to_object, ['_url', 'name'], getv(from_object, ['name'])) - - return to_object - - -def _CancelTuningJobResponse_from_mldev( - from_object: Union[dict[str, Any], object], - parent_object: Optional[dict[str, Any]] = None, - root_object: Optional[Union[dict[str, Any], object]] = None, -) -> dict[str, Any]: - to_object: dict[str, Any] = {} - if getv(from_object, ['sdkHttpResponse']) is not None: - setv( - to_object, ['sdk_http_response'], getv(from_object, ['sdkHttpResponse']) - ) - - return to_object - - -def _CancelTuningJobResponse_from_vertex( - from_object: Union[dict[str, Any], object], - parent_object: Optional[dict[str, Any]] = None, - root_object: Optional[Union[dict[str, Any], object]] = None, -) -> dict[str, Any]: - to_object: dict[str, Any] = {} - if getv(from_object, ['sdkHttpResponse']) is not None: - setv( - to_object, ['sdk_http_response'], getv(from_object, ['sdkHttpResponse']) - ) - - return to_object - - -def _CompositeReinforcementTuningRewardConfigWeightedRewardConfig_from_vertex( - from_object: Union[dict[str, Any], object], - parent_object: Optional[dict[str, Any]] = None, - root_object: Optional[Union[dict[str, Any], object]] = None, -) -> dict[str, Any]: - to_object: dict[str, Any] = {} - if getv(from_object, ['rewardConfig']) is not None: - setv( - to_object, - ['reward_config'], - _SingleReinforcementTuningRewardConfig_from_vertex( - getv(from_object, ['rewardConfig']), to_object, root_object - ), - ) - - if getv(from_object, ['weight']) is not None: - setv(to_object, ['weight'], getv(from_object, ['weight'])) - - return to_object - - -def _CompositeReinforcementTuningRewardConfigWeightedRewardConfig_to_vertex( - from_object: Union[dict[str, Any], object], - parent_object: Optional[dict[str, Any]] = None, - root_object: Optional[Union[dict[str, Any], object]] = None, -) -> dict[str, Any]: - to_object: dict[str, Any] = {} - if getv(from_object, ['reward_config']) is not None: - setv( - to_object, - ['rewardConfig'], - _SingleReinforcementTuningRewardConfig_to_vertex( - getv(from_object, ['reward_config']), to_object, root_object - ), - ) - - if getv(from_object, ['weight']) is not None: - setv(to_object, ['weight'], getv(from_object, ['weight'])) - - return to_object - - -def _CompositeReinforcementTuningRewardConfig_from_vertex( - from_object: Union[dict[str, Any], object], - parent_object: Optional[dict[str, Any]] = None, - root_object: Optional[Union[dict[str, Any], object]] = None, -) -> dict[str, Any]: - to_object: dict[str, Any] = {} - if getv(from_object, ['weightedRewardConfigs']) is not None: - setv( - to_object, - ['weighted_reward_configs'], - [ - _CompositeReinforcementTuningRewardConfigWeightedRewardConfig_from_vertex( - item, to_object, root_object - ) - for item in getv(from_object, ['weightedRewardConfigs']) - ], - ) - - return to_object - - -def _CompositeReinforcementTuningRewardConfig_to_vertex( - from_object: Union[dict[str, Any], object], - parent_object: Optional[dict[str, Any]] = None, - root_object: Optional[Union[dict[str, Any], object]] = None, -) -> dict[str, Any]: - to_object: dict[str, Any] = {} - if getv(from_object, ['weighted_reward_configs']) is not None: - setv( - to_object, - ['weightedRewardConfigs'], - [ - _CompositeReinforcementTuningRewardConfigWeightedRewardConfig_to_vertex( - item, to_object, root_object - ) - for item in getv(from_object, ['weighted_reward_configs']) - ], - ) - - return to_object - - -def _Content_to_vertex( - from_object: Union[dict[str, Any], object], - parent_object: Optional[dict[str, Any]] = None, - root_object: Optional[Union[dict[str, Any], object]] = None, -) -> dict[str, Any]: - to_object: dict[str, Any] = {} - if getv(from_object, ['parts']) is not None: - setv( - to_object, - ['parts'], - [ - _Part_to_vertex(item, to_object, root_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 _CreateTuningJobConfig_to_mldev( - from_object: Union[dict[str, Any], object], - parent_object: Optional[dict[str, Any]] = None, - root_object: Optional[Union[dict[str, Any], object]] = None, -) -> dict[str, Any]: - to_object: dict[str, Any] = {} - - if getv(from_object, ['validation_dataset']) is not None: - raise ValueError( - 'validation_dataset parameter is only supported in Gemini Enterprise' - ' Agent Platform mode, not in Gemini Developer API mode.' - ) - - if getv(from_object, ['tuned_model_display_name']) is not None: - setv( - parent_object, - ['displayName'], - getv(from_object, ['tuned_model_display_name']), - ) - - if getv(from_object, ['description']) is not None: - raise ValueError( - 'description parameter is only supported in Gemini Enterprise Agent' - ' Platform mode, not in Gemini Developer API mode.' - ) - - if getv(from_object, ['epoch_count']) is not None: - setv( - parent_object, - ['tuningTask', 'hyperparameters', 'epochCount'], - getv(from_object, ['epoch_count']), - ) - - if getv(from_object, ['learning_rate_multiplier']) is not None: - setv( - to_object, - ['tuningTask', 'hyperparameters', 'learningRateMultiplier'], - getv(from_object, ['learning_rate_multiplier']), - ) - - if getv(from_object, ['export_last_checkpoint_only']) is not None: - raise ValueError( - 'export_last_checkpoint_only parameter is only supported in Gemini' - ' Enterprise Agent Platform mode, not in Gemini Developer API mode.' - ) - - if getv(from_object, ['pre_tuned_model_checkpoint_id']) is not None: - raise ValueError( - 'pre_tuned_model_checkpoint_id parameter is only supported in Gemini' - ' Enterprise Agent Platform mode, not in Gemini Developer API mode.' - ) - - if getv(from_object, ['adapter_size']) is not None: - raise ValueError( - 'adapter_size parameter is only supported in Gemini Enterprise Agent' - ' Platform mode, not in Gemini Developer API mode.' - ) - - if getv(from_object, ['tuning_mode']) is not None: - raise ValueError( - 'tuning_mode parameter is only supported in Gemini Enterprise Agent' - ' Platform mode, not in Gemini Developer API mode.' - ) - - if getv(from_object, ['custom_base_model']) is not None: - raise ValueError( - 'custom_base_model parameter is only supported in Gemini Enterprise' - ' Agent Platform mode, not in Gemini Developer API mode.' - ) - - if getv(from_object, ['batch_size']) is not None: - setv( - parent_object, - ['tuningTask', 'hyperparameters', 'batchSize'], - getv(from_object, ['batch_size']), - ) - - if getv(from_object, ['learning_rate']) is not None: - setv( - parent_object, - ['tuningTask', 'hyperparameters', 'learningRate'], - getv(from_object, ['learning_rate']), - ) - - if getv(from_object, ['evaluation_config']) is not None: - raise ValueError( - 'evaluation_config parameter is only supported in Gemini Enterprise' - ' Agent Platform mode, not in Gemini Developer API mode.' - ) - - if getv(from_object, ['labels']) is not None: - raise ValueError( - 'labels parameter is only supported in Gemini Enterprise Agent Platform' - ' mode, not in Gemini Developer API mode.' - ) - - if getv(from_object, ['beta']) is not None: - raise ValueError( - 'beta parameter is only supported in Gemini Enterprise Agent Platform' - ' mode, not in Gemini Developer API mode.' - ) - - if getv(from_object, ['base_teacher_model']) is not None: - raise ValueError( - 'base_teacher_model parameter is only supported in Gemini Enterprise' - ' Agent Platform mode, not in Gemini Developer API mode.' - ) - - if getv(from_object, ['tuned_teacher_model_source']) is not None: - raise ValueError( - 'tuned_teacher_model_source parameter is only supported in Gemini' - ' Enterprise Agent Platform mode, not in Gemini Developer API mode.' - ) - - if getv(from_object, ['sft_loss_weight_multiplier']) is not None: - raise ValueError( - 'sft_loss_weight_multiplier parameter is only supported in Gemini' - ' Enterprise Agent Platform mode, not in Gemini Developer API mode.' - ) - - if getv(from_object, ['output_uri']) is not None: - raise ValueError( - 'output_uri parameter is only supported in Gemini Enterprise Agent' - ' Platform mode, not in Gemini Developer API mode.' - ) - - if getv(from_object, ['encryption_spec']) is not None: - raise ValueError( - 'encryption_spec parameter is only supported in Gemini Enterprise Agent' - ' Platform mode, not in Gemini Developer API mode.' - ) - - if getv(from_object, ['reward_config']) is not None: - raise ValueError( - 'reward_config parameter is only supported in Gemini Enterprise Agent' - ' Platform mode, not in Gemini Developer API mode.' - ) - - if getv(from_object, ['composite_reward_config']) is not None: - raise ValueError( - 'composite_reward_config parameter is only supported in Gemini' - ' Enterprise Agent Platform mode, not in Gemini Developer API mode.' - ) - - if getv(from_object, ['samples_per_prompt']) is not None: - raise ValueError( - 'samples_per_prompt parameter is only supported in Gemini Enterprise' - ' Agent Platform mode, not in Gemini Developer API mode.' - ) - - if getv(from_object, ['evaluate_interval']) is not None: - raise ValueError( - 'evaluate_interval parameter is only supported in Gemini Enterprise' - ' Agent Platform mode, not in Gemini Developer API mode.' - ) - - if getv(from_object, ['checkpoint_interval']) is not None: - raise ValueError( - 'checkpoint_interval parameter is only supported in Gemini Enterprise' - ' Agent Platform mode, not in Gemini Developer API mode.' - ) - - if getv(from_object, ['max_output_tokens']) is not None: - raise ValueError( - 'max_output_tokens parameter is only supported in Gemini Enterprise' - ' Agent Platform mode, not in Gemini Developer API mode.' - ) - - if getv(from_object, ['thinking_level']) is not None: - raise ValueError( - 'thinking_level parameter is only supported in Gemini Enterprise Agent' - ' Platform mode, not in Gemini Developer API mode.' - ) - - if getv(from_object, ['validation_dataset_uri']) is not None: - raise ValueError( - 'validation_dataset_uri parameter is only supported in Gemini' - ' Enterprise Agent Platform mode, not in Gemini Developer API mode.' - ) - - return to_object - - -def _CreateTuningJobConfig_to_vertex( - from_object: Union[dict[str, Any], object], - parent_object: Optional[dict[str, Any]] = None, - root_object: Optional[Union[dict[str, Any], object]] = None, -) -> dict[str, Any]: - to_object: dict[str, Any] = {} - - discriminator = getv(root_object, ['config', 'method']) - if discriminator is None: - discriminator = 'SUPERVISED_FINE_TUNING' - if discriminator == 'SUPERVISED_FINE_TUNING': - if getv(from_object, ['validation_dataset']) is not None: - setv( - parent_object, - ['supervisedTuningSpec'], - _TuningValidationDataset_to_vertex( - getv(from_object, ['validation_dataset']), to_object, root_object - ), - ) - elif discriminator == 'PREFERENCE_TUNING': - if getv(from_object, ['validation_dataset']) is not None: - setv( - parent_object, - ['preferenceOptimizationSpec'], - _TuningValidationDataset_to_vertex( - getv(from_object, ['validation_dataset']), to_object, root_object - ), - ) - elif discriminator == 'DISTILLATION': - if getv(from_object, ['validation_dataset']) is not None: - setv( - parent_object, - ['distillationSpec'], - _TuningValidationDataset_to_vertex( - getv(from_object, ['validation_dataset']), to_object, root_object - ), - ) - elif discriminator == 'REINFORCEMENT_TUNING': - if getv(from_object, ['validation_dataset']) is not None: - setv( - parent_object, - ['reinforcementTuningSpec'], - _TuningValidationDataset_to_vertex( - getv(from_object, ['validation_dataset']), to_object, root_object - ), - ) - - if getv(from_object, ['tuned_model_display_name']) is not None: - setv( - parent_object, - ['tunedModelDisplayName'], - getv(from_object, ['tuned_model_display_name']), - ) - - if getv(from_object, ['description']) is not None: - setv(parent_object, ['description'], getv(from_object, ['description'])) - - discriminator = getv(root_object, ['config', 'method']) - if discriminator is None: - discriminator = 'SUPERVISED_FINE_TUNING' - if discriminator == 'SUPERVISED_FINE_TUNING': - if getv(from_object, ['epoch_count']) is not None: - setv( - parent_object, - ['supervisedTuningSpec', 'hyperParameters', 'epochCount'], - getv(from_object, ['epoch_count']), - ) - elif discriminator == 'PREFERENCE_TUNING': - if getv(from_object, ['epoch_count']) is not None: - setv( - parent_object, - ['preferenceOptimizationSpec', 'hyperParameters', 'epochCount'], - getv(from_object, ['epoch_count']), - ) - elif discriminator == 'DISTILLATION': - if getv(from_object, ['epoch_count']) is not None: - setv( - parent_object, - ['distillationSpec', 'hyperParameters', 'epochCount'], - getv(from_object, ['epoch_count']), - ) - elif discriminator == 'REINFORCEMENT_TUNING': - if getv(from_object, ['epoch_count']) is not None: - setv( - parent_object, - ['reinforcementTuningSpec', 'hyperParameters', 'epochCount'], - getv(from_object, ['epoch_count']), - ) - - discriminator = getv(root_object, ['config', 'method']) - if discriminator is None: - discriminator = 'SUPERVISED_FINE_TUNING' - if discriminator == 'SUPERVISED_FINE_TUNING': - if getv(from_object, ['learning_rate_multiplier']) is not None: - setv( - parent_object, - ['supervisedTuningSpec', 'hyperParameters', 'learningRateMultiplier'], - getv(from_object, ['learning_rate_multiplier']), - ) - elif discriminator == 'PREFERENCE_TUNING': - if getv(from_object, ['learning_rate_multiplier']) is not None: - setv( - parent_object, - [ - 'preferenceOptimizationSpec', - 'hyperParameters', - 'learningRateMultiplier', - ], - getv(from_object, ['learning_rate_multiplier']), - ) - elif discriminator == 'DISTILLATION': - if getv(from_object, ['learning_rate_multiplier']) is not None: - setv( - parent_object, - ['distillationSpec', 'hyperParameters', 'learningRateMultiplier'], - getv(from_object, ['learning_rate_multiplier']), - ) - elif discriminator == 'REINFORCEMENT_TUNING': - if getv(from_object, ['learning_rate_multiplier']) is not None: - setv( - parent_object, - [ - 'reinforcementTuningSpec', - 'hyperParameters', - 'learningRateMultiplier', - ], - getv(from_object, ['learning_rate_multiplier']), - ) - - discriminator = getv(root_object, ['config', 'method']) - if discriminator is None: - discriminator = 'SUPERVISED_FINE_TUNING' - if discriminator == 'SUPERVISED_FINE_TUNING': - if getv(from_object, ['export_last_checkpoint_only']) is not None: - setv( - parent_object, - ['supervisedTuningSpec', 'exportLastCheckpointOnly'], - getv(from_object, ['export_last_checkpoint_only']), - ) - elif discriminator == 'PREFERENCE_TUNING': - if getv(from_object, ['export_last_checkpoint_only']) is not None: - setv( - parent_object, - ['preferenceOptimizationSpec', 'exportLastCheckpointOnly'], - getv(from_object, ['export_last_checkpoint_only']), - ) - elif discriminator == 'DISTILLATION': - if getv(from_object, ['export_last_checkpoint_only']) is not None: - setv( - parent_object, - ['distillationSpec', 'exportLastCheckpointOnly'], - getv(from_object, ['export_last_checkpoint_only']), - ) - - discriminator = getv(root_object, ['config', 'method']) - if discriminator is None: - discriminator = 'SUPERVISED_FINE_TUNING' - if discriminator == 'SUPERVISED_FINE_TUNING': - if getv(from_object, ['adapter_size']) is not None: - setv( - parent_object, - ['supervisedTuningSpec', 'hyperParameters', 'adapterSize'], - getv(from_object, ['adapter_size']), - ) - elif discriminator == 'PREFERENCE_TUNING': - if getv(from_object, ['adapter_size']) is not None: - setv( - parent_object, - ['preferenceOptimizationSpec', 'hyperParameters', 'adapterSize'], - getv(from_object, ['adapter_size']), - ) - elif discriminator == 'DISTILLATION': - if getv(from_object, ['adapter_size']) is not None: - setv( - parent_object, - ['distillationSpec', 'hyperParameters', 'adapterSize'], - getv(from_object, ['adapter_size']), - ) - elif discriminator == 'REINFORCEMENT_TUNING': - if getv(from_object, ['adapter_size']) is not None: - setv( - parent_object, - ['reinforcementTuningSpec', 'hyperParameters', 'adapterSize'], - getv(from_object, ['adapter_size']), - ) - - discriminator = getv(root_object, ['config', 'method']) - if discriminator is None: - discriminator = 'SUPERVISED_FINE_TUNING' - if discriminator == 'SUPERVISED_FINE_TUNING': - if getv(from_object, ['tuning_mode']) is not None: - setv( - parent_object, - ['supervisedTuningSpec', 'tuningMode'], - getv(from_object, ['tuning_mode']), - ) - elif discriminator == 'DISTILLATION': - if getv(from_object, ['tuning_mode']) is not None: - setv( - parent_object, - ['distillationSpec', 'tuningMode'], - getv(from_object, ['tuning_mode']), - ) - - if getv(from_object, ['custom_base_model']) is not None: - setv( - parent_object, - ['customBaseModel'], - getv(from_object, ['custom_base_model']), - ) - - discriminator = getv(root_object, ['config', 'method']) - if discriminator is None: - discriminator = 'SUPERVISED_FINE_TUNING' - if discriminator == 'SUPERVISED_FINE_TUNING': - if getv(from_object, ['batch_size']) is not None: - setv( - parent_object, - ['supervisedTuningSpec', 'hyperParameters', 'batchSize'], - getv(from_object, ['batch_size']), - ) - elif discriminator == 'DISTILLATION': - if getv(from_object, ['batch_size']) is not None: - setv( - parent_object, - ['distillationSpec', 'hyperParameters', 'batchSize'], - getv(from_object, ['batch_size']), - ) - elif discriminator == 'REINFORCEMENT_TUNING': - if getv(from_object, ['batch_size']) is not None: - setv( - parent_object, - ['reinforcementTuningSpec', 'hyperParameters', 'batchSize'], - getv(from_object, ['batch_size']), - ) - - discriminator = getv(root_object, ['config', 'method']) - if discriminator is None: - discriminator = 'SUPERVISED_FINE_TUNING' - if discriminator == 'SUPERVISED_FINE_TUNING': - if getv(from_object, ['learning_rate']) is not None: - setv( - parent_object, - ['supervisedTuningSpec', 'hyperParameters', 'learningRate'], - getv(from_object, ['learning_rate']), - ) - elif discriminator == 'DISTILLATION': - if getv(from_object, ['learning_rate']) is not None: - setv( - parent_object, - ['distillationSpec', 'hyperParameters', 'learningRate'], - getv(from_object, ['learning_rate']), - ) - - discriminator = getv(root_object, ['config', 'method']) - if discriminator is None: - discriminator = 'SUPERVISED_FINE_TUNING' - if discriminator == 'SUPERVISED_FINE_TUNING': - if getv(from_object, ['evaluation_config']) is not None: - setv( - parent_object, - ['supervisedTuningSpec', 'evaluationConfig'], - _EvaluationConfig_to_vertex( - getv(from_object, ['evaluation_config']), to_object, root_object - ), - ) - elif discriminator == 'PREFERENCE_TUNING': - if getv(from_object, ['evaluation_config']) is not None: - setv( - parent_object, - ['preferenceOptimizationSpec', 'evaluationConfig'], - _EvaluationConfig_to_vertex( - getv(from_object, ['evaluation_config']), to_object, root_object - ), - ) - elif discriminator == 'DISTILLATION': - if getv(from_object, ['evaluation_config']) is not None: - setv( - parent_object, - ['distillationSpec', 'evaluationConfig'], - _EvaluationConfig_to_vertex( - getv(from_object, ['evaluation_config']), to_object, root_object - ), - ) - - if getv(from_object, ['labels']) is not None: - setv(parent_object, ['labels'], getv(from_object, ['labels'])) - - if getv(from_object, ['beta']) is not None: - setv( - parent_object, - ['preferenceOptimizationSpec', 'hyperParameters', 'beta'], - getv(from_object, ['beta']), - ) - - if getv(from_object, ['base_teacher_model']) is not None: - setv( - parent_object, - ['distillationSpec', 'baseTeacherModel'], - getv(from_object, ['base_teacher_model']), - ) - - if getv(from_object, ['tuned_teacher_model_source']) is not None: - setv( - parent_object, - ['distillationSpec', 'tunedTeacherModelSource'], - getv(from_object, ['tuned_teacher_model_source']), - ) - - if getv(from_object, ['sft_loss_weight_multiplier']) is not None: - setv( - parent_object, - ['distillationSpec', 'hyperParameters', 'sftLossWeightMultiplier'], - getv(from_object, ['sft_loss_weight_multiplier']), - ) - - if getv(from_object, ['output_uri']) is not None: - setv(parent_object, ['outputUri'], getv(from_object, ['output_uri'])) - - if getv(from_object, ['encryption_spec']) is not None: - setv( - parent_object, - ['encryptionSpec'], - getv(from_object, ['encryption_spec']), - ) - - if getv(from_object, ['reward_config']) is not None: - setv( - parent_object, - ['reinforcementTuningSpec', 'singleRewardConfig'], - _SingleReinforcementTuningRewardConfig_to_vertex( - getv(from_object, ['reward_config']), to_object, root_object - ), - ) - - if getv(from_object, ['composite_reward_config']) is not None: - setv( - parent_object, - ['reinforcementTuningSpec', 'compositeRewardConfig'], - _CompositeReinforcementTuningRewardConfig_to_vertex( - getv(from_object, ['composite_reward_config']), - to_object, - root_object, - ), - ) - - if getv(from_object, ['samples_per_prompt']) is not None: - setv( - parent_object, - ['reinforcementTuningSpec', 'hyperParameters', 'samplesPerPrompt'], - getv(from_object, ['samples_per_prompt']), - ) - - if getv(from_object, ['evaluate_interval']) is not None: - setv( - parent_object, - ['reinforcementTuningSpec', 'hyperParameters', 'evaluateInterval'], - getv(from_object, ['evaluate_interval']), - ) - - if getv(from_object, ['checkpoint_interval']) is not None: - setv( - parent_object, - ['reinforcementTuningSpec', 'hyperParameters', 'checkpointInterval'], - getv(from_object, ['checkpoint_interval']), - ) - - if getv(from_object, ['max_output_tokens']) is not None: - setv( - parent_object, - ['reinforcementTuningSpec', 'hyperParameters', 'maxOutputTokens'], - getv(from_object, ['max_output_tokens']), - ) - - if getv(from_object, ['thinking_level']) is not None: - setv( - parent_object, - ['reinforcementTuningSpec', 'hyperParameters', 'thinkingLevel'], - getv(from_object, ['thinking_level']), - ) - - if getv(from_object, ['validation_dataset_uri']) is not None: - setv( - parent_object, - ['reinforcementTuningSpec', 'validationDatasetUri'], - getv(from_object, ['validation_dataset_uri']), - ) - - return to_object - - -def _CreateTuningJobParametersPrivate_to_mldev( - from_object: Union[dict[str, Any], object], - parent_object: Optional[dict[str, Any]] = None, - root_object: Optional[Union[dict[str, Any], object]] = None, -) -> dict[str, Any]: - to_object: dict[str, Any] = {} - if getv(from_object, ['base_model']) is not None: - setv(to_object, ['baseModel'], getv(from_object, ['base_model'])) - - if getv(from_object, ['pre_tuned_model']) is not None: - setv(to_object, ['preTunedModel'], getv(from_object, ['pre_tuned_model'])) - - if getv(from_object, ['training_dataset']) is not None: - _TuningDataset_to_mldev( - getv(from_object, ['training_dataset']), to_object, root_object - ) - - if getv(from_object, ['config']) is not None: - _CreateTuningJobConfig_to_mldev( - getv(from_object, ['config']), to_object, root_object - ) - - return to_object - - -def _CreateTuningJobParametersPrivate_to_vertex( - from_object: Union[dict[str, Any], object], - parent_object: Optional[dict[str, Any]] = None, - root_object: Optional[Union[dict[str, Any], object]] = None, -) -> dict[str, Any]: - to_object: dict[str, Any] = {} - if getv(from_object, ['base_model']) is not None: - setv(to_object, ['baseModel'], getv(from_object, ['base_model'])) - - if getv(from_object, ['pre_tuned_model']) is not None: - setv(to_object, ['preTunedModel'], getv(from_object, ['pre_tuned_model'])) - - if getv(from_object, ['training_dataset']) is not None: - _TuningDataset_to_vertex( - getv(from_object, ['training_dataset']), to_object, root_object - ) - - if getv(from_object, ['config']) is not None: - _CreateTuningJobConfig_to_vertex( - getv(from_object, ['config']), to_object, root_object - ) - - return to_object - - -def _DistillationHyperParameters_from_vertex( - from_object: Union[dict[str, Any], object], - parent_object: Optional[dict[str, Any]] = None, - root_object: Optional[Union[dict[str, Any], object]] = None, -) -> dict[str, Any]: - to_object: dict[str, Any] = {} - if getv(from_object, ['adapterSize']) is not None: - setv(to_object, ['adapter_size'], getv(from_object, ['adapterSize'])) - - if getv(from_object, ['epochCount']) is not None: - setv(to_object, ['epoch_count'], getv(from_object, ['epochCount'])) - - if getv(from_object, ['learningRateMultiplier']) is not None: - setv( - to_object, - ['learning_rate_multiplier'], - getv(from_object, ['learningRateMultiplier']), - ) - - if getv(from_object, ['generationConfig']) is not None: - setv( - to_object, - ['generation_config'], - _GenerationConfig_from_vertex( - getv(from_object, ['generationConfig']), to_object, root_object - ), - ) - - if getv(from_object, ['learningRate']) is not None: - setv(to_object, ['learning_rate'], getv(from_object, ['learningRate'])) - - if getv(from_object, ['batchSize']) is not None: - setv(to_object, ['batch_size'], getv(from_object, ['batchSize'])) - - return to_object - - -def _DistillationSamplingSpec_from_vertex( - from_object: Union[dict[str, Any], object], - parent_object: Optional[dict[str, Any]] = None, - root_object: Optional[Union[dict[str, Any], object]] = None, -) -> dict[str, Any]: - to_object: dict[str, Any] = {} - if getv(from_object, ['baseTeacherModel']) is not None: - setv( - to_object, - ['base_teacher_model'], - getv(from_object, ['baseTeacherModel']), - ) - - if getv(from_object, ['tunedTeacherModelSource']) is not None: - setv( - to_object, - ['tuned_teacher_model_source'], - getv(from_object, ['tunedTeacherModelSource']), - ) - - if getv(from_object, ['validationDatasetUri']) is not None: - setv( - to_object, - ['validation_dataset_uri'], - getv(from_object, ['validationDatasetUri']), - ) - - if getv(from_object, ['promptDatasetUri']) is not None: - setv( - to_object, - ['prompt_dataset_uri'], - getv(from_object, ['promptDatasetUri']), - ) - - if getv(from_object, ['hyperparameters']) is not None: - setv( - to_object, - ['hyperparameters'], - _DistillationHyperParameters_from_vertex( - getv(from_object, ['hyperparameters']), to_object, root_object - ), - ) - - return to_object - - -def _DistillationSpec_from_vertex( - from_object: Union[dict[str, Any], object], - parent_object: Optional[dict[str, Any]] = None, - root_object: Optional[Union[dict[str, Any], object]] = None, -) -> dict[str, Any]: - to_object: dict[str, Any] = {} - if getv(from_object, ['promptDatasetUri']) is not None: - setv( - to_object, - ['prompt_dataset_uri'], - getv(from_object, ['promptDatasetUri']), - ) - - if getv(from_object, ['baseTeacherModel']) is not None: - setv( - to_object, - ['base_teacher_model'], - getv(from_object, ['baseTeacherModel']), - ) - - if getv(from_object, ['hyperParameters']) is not None: - setv( - to_object, - ['hyper_parameters'], - _DistillationHyperParameters_from_vertex( - getv(from_object, ['hyperParameters']), to_object, root_object - ), - ) - - if getv(from_object, ['pipelineRootDirectory']) is not None: - setv( - to_object, - ['pipeline_root_directory'], - getv(from_object, ['pipelineRootDirectory']), - ) - - if getv(from_object, ['studentModel']) is not None: - setv(to_object, ['student_model'], getv(from_object, ['studentModel'])) - - if getv(from_object, ['trainingDatasetUri']) is not None: - setv( - to_object, - ['training_dataset_uri'], - getv(from_object, ['trainingDatasetUri']), - ) - - if getv(from_object, ['tunedTeacherModelSource']) is not None: - setv( - to_object, - ['tuned_teacher_model_source'], - getv(from_object, ['tunedTeacherModelSource']), - ) - - if getv(from_object, ['validationDatasetUri']) is not None: - setv( - to_object, - ['validation_dataset_uri'], - getv(from_object, ['validationDatasetUri']), - ) - - if getv(from_object, ['tuningMode']) is not None: - setv(to_object, ['tuning_mode'], getv(from_object, ['tuningMode'])) - - return to_object - - -def _EvaluationConfig_from_vertex( - from_object: Union[dict[str, Any], object], - parent_object: Optional[dict[str, Any]] = None, - root_object: Optional[Union[dict[str, Any], object]] = None, -) -> dict[str, Any]: - to_object: dict[str, Any] = {} - if getv(from_object, ['metrics']) is not None: - setv(to_object, ['metrics'], t.t_metrics(getv(from_object, ['metrics']))) - - if getv(from_object, ['outputConfig']) is not None: - setv(to_object, ['output_config'], getv(from_object, ['outputConfig'])) - - if getv(from_object, ['autoraterConfig']) is not None: - setv( - to_object, - ['autorater_config'], - _AutoraterConfig_from_vertex( - getv(from_object, ['autoraterConfig']), to_object, root_object - ), - ) - - if getv(from_object, ['inferenceGenerationConfig']) is not None: - setv( - to_object, - ['inference_generation_config'], - _GenerationConfig_from_vertex( - getv(from_object, ['inferenceGenerationConfig']), - to_object, - root_object, - ), - ) - - return to_object - - -def _EvaluationConfig_to_vertex( - from_object: Union[dict[str, Any], object], - parent_object: Optional[dict[str, Any]] = None, - root_object: Optional[Union[dict[str, Any], object]] = None, -) -> dict[str, Any]: - to_object: dict[str, Any] = {} - if getv(from_object, ['metrics']) is not None: - setv(to_object, ['metrics'], t.t_metrics(getv(from_object, ['metrics']))) - - if getv(from_object, ['output_config']) is not None: - setv(to_object, ['outputConfig'], getv(from_object, ['output_config'])) - - if getv(from_object, ['autorater_config']) is not None: - setv( - to_object, - ['autoraterConfig'], - _AutoraterConfig_to_vertex( - getv(from_object, ['autorater_config']), to_object, root_object - ), - ) - - if getv(from_object, ['inference_generation_config']) is not None: - setv( - to_object, - ['inferenceGenerationConfig'], - _GenerationConfig_to_vertex( - getv(from_object, ['inference_generation_config']), - to_object, - root_object, - ), - ) - - return to_object - - -def _GenerationConfig_from_vertex( - from_object: Union[dict[str, Any], object], - parent_object: Optional[dict[str, Any]] = None, - root_object: Optional[Union[dict[str, Any], object]] = None, -) -> dict[str, Any]: - to_object: dict[str, Any] = {} - if getv(from_object, ['modelConfig']) is not None: - setv( - to_object, - ['model_selection_config'], - getv(from_object, ['modelConfig']), - ) - - if getv(from_object, ['responseJsonSchema']) is not None: - setv( - to_object, - ['response_json_schema'], - t.t_json_schema(getv(from_object, ['responseJsonSchema'])), - ) - - if getv(from_object, ['audioTimestamp']) is not None: - setv(to_object, ['audio_timestamp'], getv(from_object, ['audioTimestamp'])) - - if getv(from_object, ['candidateCount']) is not None: - setv(to_object, ['candidate_count'], getv(from_object, ['candidateCount'])) - - if getv(from_object, ['enableAffectiveDialog']) is not None: - setv( - to_object, - ['enable_affective_dialog'], - getv(from_object, ['enableAffectiveDialog']), - ) - - if getv(from_object, ['frequencyPenalty']) is not None: - setv( - to_object, - ['frequency_penalty'], - getv(from_object, ['frequencyPenalty']), - ) - - if getv(from_object, ['logprobs']) is not None: - setv(to_object, ['logprobs'], getv(from_object, ['logprobs'])) - - if getv(from_object, ['maxOutputTokens']) is not None: - setv( - to_object, ['max_output_tokens'], getv(from_object, ['maxOutputTokens']) - ) - - if getv(from_object, ['mediaResolution']) is not None: - setv( - to_object, ['media_resolution'], getv(from_object, ['mediaResolution']) - ) - - if getv(from_object, ['presencePenalty']) is not None: - setv( - to_object, ['presence_penalty'], getv(from_object, ['presencePenalty']) - ) - - if getv(from_object, ['responseLogprobs']) is not None: - setv( - to_object, - ['response_logprobs'], - getv(from_object, ['responseLogprobs']), - ) - - if getv(from_object, ['responseMimeType']) is not None: - setv( - to_object, - ['response_mime_type'], - getv(from_object, ['responseMimeType']), - ) - - if getv(from_object, ['responseModalities']) is not None: - setv( - to_object, - ['response_modalities'], - getv(from_object, ['responseModalities']), - ) - - if getv(from_object, ['responseSchema']) is not None: - setv(to_object, ['response_schema'], getv(from_object, ['responseSchema'])) - - if getv(from_object, ['routingConfig']) is not None: - setv(to_object, ['routing_config'], getv(from_object, ['routingConfig'])) - - if getv(from_object, ['seed']) is not None: - setv(to_object, ['seed'], getv(from_object, ['seed'])) - - if getv(from_object, ['speechConfig']) is not None: - setv(to_object, ['speech_config'], getv(from_object, ['speechConfig'])) - - if getv(from_object, ['stopSequences']) is not None: - setv(to_object, ['stop_sequences'], getv(from_object, ['stopSequences'])) - - if getv(from_object, ['temperature']) is not None: - setv(to_object, ['temperature'], getv(from_object, ['temperature'])) - - if getv(from_object, ['thinkingConfig']) is not None: - setv(to_object, ['thinking_config'], getv(from_object, ['thinkingConfig'])) - - if getv(from_object, ['topK']) is not None: - setv(to_object, ['top_k'], getv(from_object, ['topK'])) - - if getv(from_object, ['topP']) is not None: - setv(to_object, ['top_p'], getv(from_object, ['topP'])) - - if getv(from_object, ['responseFormat']) is not None: - setv( - to_object, - ['response_format'], - [item for item in getv(from_object, ['responseFormat'])], - ) - - if getv(from_object, ['translationConfig']) is not None: - setv( - to_object, - ['translation_config'], - _TranslationConfig_from_vertex( - getv(from_object, ['translationConfig']), to_object, root_object - ), - ) - - if getv(from_object, ['audioTranscriptionConfig']) is not None: - setv( - to_object, - ['audio_transcription_config'], - getv(from_object, ['audioTranscriptionConfig']), - ) - - return to_object - - -def _GenerationConfig_to_vertex( - from_object: Union[dict[str, Any], object], - parent_object: Optional[dict[str, Any]] = None, - root_object: Optional[Union[dict[str, Any], object]] = None, -) -> dict[str, Any]: - to_object: dict[str, Any] = {} - if getv(from_object, ['model_selection_config']) is not None: - setv( - to_object, - ['modelConfig'], - getv(from_object, ['model_selection_config']), - ) - - if getv(from_object, ['response_json_schema']) is not None: - setv( - to_object, - ['responseJsonSchema'], - t.t_json_schema(getv(from_object, ['response_json_schema'])), - ) - - if getv(from_object, ['audio_timestamp']) is not None: - setv(to_object, ['audioTimestamp'], getv(from_object, ['audio_timestamp'])) - - if getv(from_object, ['candidate_count']) is not None: - setv(to_object, ['candidateCount'], getv(from_object, ['candidate_count'])) - - if getv(from_object, ['enable_affective_dialog']) is not None: - setv( - to_object, - ['enableAffectiveDialog'], - getv(from_object, ['enable_affective_dialog']), - ) - - if getv(from_object, ['frequency_penalty']) is not None: - setv( - to_object, - ['frequencyPenalty'], - getv(from_object, ['frequency_penalty']), - ) - - if getv(from_object, ['logprobs']) is not None: - setv(to_object, ['logprobs'], getv(from_object, ['logprobs'])) - - if getv(from_object, ['max_output_tokens']) is not None: - setv( - to_object, ['maxOutputTokens'], getv(from_object, ['max_output_tokens']) - ) - - if getv(from_object, ['media_resolution']) is not None: - setv( - to_object, ['mediaResolution'], getv(from_object, ['media_resolution']) - ) - - if getv(from_object, ['presence_penalty']) is not None: - setv( - to_object, ['presencePenalty'], getv(from_object, ['presence_penalty']) - ) - - if getv(from_object, ['response_logprobs']) is not None: - setv( - to_object, - ['responseLogprobs'], - getv(from_object, ['response_logprobs']), - ) - - if getv(from_object, ['response_mime_type']) is not None: - setv( - to_object, - ['responseMimeType'], - getv(from_object, ['response_mime_type']), - ) - - if getv(from_object, ['response_modalities']) is not None: - setv( - to_object, - ['responseModalities'], - getv(from_object, ['response_modalities']), - ) - - if getv(from_object, ['response_schema']) is not None: - setv(to_object, ['responseSchema'], getv(from_object, ['response_schema'])) - - if getv(from_object, ['routing_config']) is not None: - setv(to_object, ['routingConfig'], getv(from_object, ['routing_config'])) - - if getv(from_object, ['seed']) is not None: - setv(to_object, ['seed'], getv(from_object, ['seed'])) - - if getv(from_object, ['speech_config']) is not None: - setv( - to_object, - ['speechConfig'], - _SpeechConfig_to_vertex( - getv(from_object, ['speech_config']), to_object, root_object - ), - ) - - if getv(from_object, ['stop_sequences']) is not None: - setv(to_object, ['stopSequences'], getv(from_object, ['stop_sequences'])) - - if getv(from_object, ['temperature']) is not None: - setv(to_object, ['temperature'], getv(from_object, ['temperature'])) - - if getv(from_object, ['thinking_config']) is not None: - setv(to_object, ['thinkingConfig'], getv(from_object, ['thinking_config'])) - - if getv(from_object, ['top_k']) is not None: - setv(to_object, ['topK'], getv(from_object, ['top_k'])) - - if getv(from_object, ['top_p']) is not None: - setv(to_object, ['topP'], getv(from_object, ['top_p'])) - - if getv(from_object, ['enable_enhanced_civic_answers']) is not None: - raise ValueError( - 'enable_enhanced_civic_answers parameter is only supported in Gemini' - ' Developer API mode, not in Gemini Enterprise Agent Platform mode.' - ) - - if getv(from_object, ['response_format']) is not None: - setv( - to_object, - ['responseFormat'], - [item for item in getv(from_object, ['response_format'])], - ) - - if getv(from_object, ['translation_config']) is not None: - setv( - to_object, - ['translationConfig'], - _TranslationConfig_to_vertex( - getv(from_object, ['translation_config']), to_object, root_object - ), - ) - - if getv(from_object, ['audio_transcription_config']) is not None: - setv( - to_object, - ['audioTranscriptionConfig'], - getv(from_object, ['audio_transcription_config']), - ) - - return to_object - - -def _GetTuningJobParameters_to_mldev( - from_object: Union[dict[str, Any], object], - parent_object: Optional[dict[str, Any]] = None, - root_object: Optional[Union[dict[str, Any], object]] = None, -) -> dict[str, Any]: - to_object: dict[str, Any] = {} - if getv(from_object, ['name']) is not None: - setv(to_object, ['_url', 'name'], getv(from_object, ['name'])) - - return to_object - - -def _GetTuningJobParameters_to_vertex( - from_object: Union[dict[str, Any], object], - parent_object: Optional[dict[str, Any]] = None, - root_object: Optional[Union[dict[str, Any], object]] = None, -) -> dict[str, Any]: - to_object: dict[str, Any] = {} - if getv(from_object, ['name']) is not None: - setv(to_object, ['_url', 'name'], getv(from_object, ['name'])) - - return to_object - - -def _ListTuningJobsConfig_to_vertex( - from_object: Union[dict[str, Any], object], - parent_object: Optional[dict[str, Any]] = None, - root_object: Optional[Union[dict[str, Any], object]] = None, -) -> dict[str, Any]: - to_object: dict[str, Any] = {} - - if getv(from_object, ['page_size']) is not None: - setv( - parent_object, ['_query', 'pageSize'], getv(from_object, ['page_size']) - ) - - if getv(from_object, ['page_token']) is not None: - setv( - parent_object, - ['_query', 'pageToken'], - getv(from_object, ['page_token']), - ) - - if getv(from_object, ['filter']) is not None: - setv(parent_object, ['_query', 'filter'], getv(from_object, ['filter'])) - - return to_object - - -def _ListTuningJobsParameters_to_vertex( - from_object: Union[dict[str, Any], object], - parent_object: Optional[dict[str, Any]] = None, - root_object: Optional[Union[dict[str, Any], object]] = None, -) -> dict[str, Any]: - to_object: dict[str, Any] = {} - if getv(from_object, ['config']) is not None: - _ListTuningJobsConfig_to_vertex( - getv(from_object, ['config']), to_object, root_object - ) - - return to_object - - -def _ListTuningJobsResponse_from_vertex( - from_object: Union[dict[str, Any], object], - parent_object: Optional[dict[str, Any]] = None, - root_object: Optional[Union[dict[str, Any], object]] = None, -) -> dict[str, Any]: - to_object: dict[str, Any] = {} - if getv(from_object, ['sdkHttpResponse']) is not None: - setv( - to_object, ['sdk_http_response'], getv(from_object, ['sdkHttpResponse']) - ) - - if getv(from_object, ['nextPageToken']) is not None: - setv(to_object, ['next_page_token'], getv(from_object, ['nextPageToken'])) - - if getv(from_object, ['tuningJobs']) is not None: - setv( - to_object, - ['tuning_jobs'], - [ - _TuningJob_from_vertex(item, to_object, root_object) - for item in getv(from_object, ['tuningJobs']) - ], - ) - - return to_object - - -def _McpServer_to_vertex( - from_object: Union[dict[str, Any], object], - parent_object: Optional[dict[str, Any]] = None, - root_object: Optional[Union[dict[str, Any], object]] = None, -) -> dict[str, Any]: - to_object: dict[str, Any] = {} - if getv(from_object, ['name']) is not None: - raise ValueError( - 'name parameter is only supported in Gemini Developer API mode, not in' - ' Gemini Enterprise Agent Platform mode.' - ) - - if getv(from_object, ['streamable_http_transport']) is not None: - raise ValueError( - 'streamable_http_transport parameter is only supported in Gemini' - ' Developer API mode, not in Gemini Enterprise Agent Platform mode.' - ) - - return to_object - - -def _MultiSpeakerVoiceConfig_to_vertex( - from_object: Union[dict[str, Any], object], - parent_object: Optional[dict[str, Any]] = None, - root_object: Optional[Union[dict[str, Any], object]] = None, -) -> dict[str, Any]: - to_object: dict[str, Any] = {} - if getv(from_object, ['speaker_voice_configs']) is not None: - setv( - to_object, - ['speakerVoiceConfigs'], - [ - _SpeakerVoiceConfig_to_vertex(item, to_object, root_object) - for item in getv(from_object, ['speaker_voice_configs']) - ], - ) - - return to_object - - -def _Part_to_vertex( - from_object: Union[dict[str, Any], object], - parent_object: Optional[dict[str, Any]] = None, - root_object: Optional[Union[dict[str, Any], object]] = 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'], getv(from_object, ['file_data'])) - - if getv(from_object, ['function_call']) is not None: - setv(to_object, ['functionCall'], getv(from_object, ['function_call'])) - - 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'], getv(from_object, ['inline_data'])) - - 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'])) - - if getv(from_object, ['tool_call']) is not None: - raise ValueError( - 'tool_call parameter is only supported in Gemini Developer API mode,' - ' not in Gemini Enterprise Agent Platform mode.' - ) - - if getv(from_object, ['tool_response']) is not None: - raise ValueError( - 'tool_response parameter is only supported in Gemini Developer API' - ' mode, not in Gemini Enterprise Agent Platform mode.' - ) - - if getv(from_object, ['part_metadata']) is not None: - raise ValueError( - 'part_metadata parameter is only supported in Gemini Developer API' - ' mode, not in Gemini Enterprise Agent Platform mode.' - ) - - if getv(from_object, ['audio_transcription']) is not None: - setv( - to_object, - ['audioTranscription'], - getv(from_object, ['audio_transcription']), - ) - - if getv(from_object, ['media_processing']) is not None: - setv( - to_object, ['mediaProcessing'], getv(from_object, ['media_processing']) - ) - - if getv(from_object, ['speech_metadata']) is not None: - setv(to_object, ['speechMetadata'], getv(from_object, ['speech_metadata'])) - - return to_object - - -def _ReinforcementTuningAutoraterScorer_from_vertex( - from_object: Union[dict[str, Any], object], - parent_object: Optional[dict[str, Any]] = None, - root_object: Optional[Union[dict[str, Any], object]] = None, -) -> dict[str, Any]: - to_object: dict[str, Any] = {} - if getv(from_object, ['autoraterConfig']) is not None: - setv( - to_object, - ['autorater_config'], - _AutoraterConfig_from_vertex( - getv(from_object, ['autoraterConfig']), to_object, root_object - ), - ) - - if getv(from_object, ['autoraterPrompt']) is not None: - setv( - to_object, ['autorater_prompt'], getv(from_object, ['autoraterPrompt']) - ) - - if getv(from_object, ['autoraterResponseParseConfig']) is not None: - setv( - to_object, - ['autorater_response_parse_config'], - getv(from_object, ['autoraterResponseParseConfig']), - ) - - if getv(from_object, ['parsedResponseConversionScorer']) is not None: - setv( - to_object, - ['parsed_response_conversion_scorer'], - getv(from_object, ['parsedResponseConversionScorer']), - ) - - if getv(from_object, ['exactMatchScorer']) is not None: - setv( - to_object, - ['exact_match_scorer'], - getv(from_object, ['exactMatchScorer']), - ) - - return to_object - - -def _ReinforcementTuningAutoraterScorer_to_vertex( - from_object: Union[dict[str, Any], object], - parent_object: Optional[dict[str, Any]] = None, - root_object: Optional[Union[dict[str, Any], object]] = None, -) -> dict[str, Any]: - to_object: dict[str, Any] = {} - if getv(from_object, ['autorater_config']) is not None: - setv( - to_object, - ['autoraterConfig'], - _AutoraterConfig_to_vertex( - getv(from_object, ['autorater_config']), to_object, root_object - ), - ) - - if getv(from_object, ['autorater_prompt']) is not None: - setv( - to_object, ['autoraterPrompt'], getv(from_object, ['autorater_prompt']) - ) - - if getv(from_object, ['autorater_response_parse_config']) is not None: - setv( - to_object, - ['autoraterResponseParseConfig'], - getv(from_object, ['autorater_response_parse_config']), - ) - - if getv(from_object, ['parsed_response_conversion_scorer']) is not None: - setv( - to_object, - ['parsedResponseConversionScorer'], - getv(from_object, ['parsed_response_conversion_scorer']), - ) - - if getv(from_object, ['exact_match_scorer']) is not None: - setv( - to_object, - ['exactMatchScorer'], - getv(from_object, ['exact_match_scorer']), - ) - - return to_object - - -def _ReinforcementTuningExample_to_vertex( - from_object: Union[dict[str, Any], object], - parent_object: Optional[dict[str, Any]] = None, - root_object: Optional[Union[dict[str, Any], object]] = None, -) -> dict[str, Any]: - to_object: dict[str, Any] = {} - if getv(from_object, ['contents']) is not None: - setv( - to_object, - ['contents'], - [ - _Content_to_vertex(item, to_object, root_object) - for item in getv(from_object, ['contents']) - ], - ) - - if getv(from_object, ['references']) is not None: - setv(to_object, ['references'], getv(from_object, ['references'])) - - if getv(from_object, ['system_instruction']) is not None: - setv( - to_object, - ['systemInstruction'], - _Content_to_vertex( - getv(from_object, ['system_instruction']), to_object, root_object - ), - ) - - if getv(from_object, ['tools']) is not None: - setv( - to_object, - ['tools'], - [ - _Tool_to_vertex(item, to_object, root_object) - for item in getv(from_object, ['tools']) - ], - ) - - return to_object - - -def _ReinforcementTuningSpec_from_vertex( - from_object: Union[dict[str, Any], object], - parent_object: Optional[dict[str, Any]] = None, - root_object: Optional[Union[dict[str, Any], object]] = None, -) -> dict[str, Any]: - to_object: dict[str, Any] = {} - if getv(from_object, ['compositeRewardConfig']) is not None: - setv( - to_object, - ['composite_reward_config'], - _CompositeReinforcementTuningRewardConfig_from_vertex( - getv(from_object, ['compositeRewardConfig']), to_object, root_object - ), - ) - - if getv(from_object, ['trainingDatasetUri']) is not None: - setv( - to_object, - ['training_dataset_uri'], - getv(from_object, ['trainingDatasetUri']), - ) - - if getv(from_object, ['validationDatasetUri']) is not None: - setv( - to_object, - ['validation_dataset_uri'], - getv(from_object, ['validationDatasetUri']), - ) - - if getv(from_object, ['hyperParameters']) is not None: - setv( - to_object, ['hyper_parameters'], getv(from_object, ['hyperParameters']) - ) - - if getv(from_object, ['singleRewardConfig']) is not None: - setv( - to_object, - ['single_reward_config'], - _SingleReinforcementTuningRewardConfig_from_vertex( - getv(from_object, ['singleRewardConfig']), to_object, root_object - ), - ) - - return to_object - - -def _ReplicatedVoiceConfig_to_vertex( - from_object: Union[dict[str, Any], object], - parent_object: Optional[dict[str, Any]] = None, - root_object: Optional[Union[dict[str, Any], object]] = None, -) -> dict[str, Any]: - to_object: dict[str, Any] = {} - if getv(from_object, ['mime_type']) is not None: - setv(to_object, ['mimeType'], getv(from_object, ['mime_type'])) - - if getv(from_object, ['voice_sample_audio']) is not None: - setv( - to_object, - ['voiceSampleAudio'], - getv(from_object, ['voice_sample_audio']), - ) - - if getv(from_object, ['consent_audio']) is not None: - raise ValueError( - 'consent_audio parameter is only supported in Gemini Developer API' - ' mode, not in Gemini Enterprise Agent Platform mode.' - ) - - if getv(from_object, ['voice_consent_signature']) is not None: - raise ValueError( - 'voice_consent_signature parameter is only supported in Gemini' - ' Developer API mode, not in Gemini Enterprise Agent Platform mode.' - ) - - return to_object - - -def _SingleReinforcementTuningRewardConfig_from_vertex( - from_object: Union[dict[str, Any], object], - parent_object: Optional[dict[str, Any]] = None, - root_object: Optional[Union[dict[str, Any], object]] = None, -) -> dict[str, Any]: - to_object: dict[str, Any] = {} - if getv(from_object, ['autoraterScorer']) is not None: - setv( - to_object, - ['autorater_scorer'], - _ReinforcementTuningAutoraterScorer_from_vertex( - getv(from_object, ['autoraterScorer']), to_object, root_object - ), - ) - - if getv(from_object, ['rewardName']) is not None: - setv(to_object, ['reward_name'], getv(from_object, ['rewardName'])) - - if getv(from_object, ['parseResponseConfig']) is not None: - setv( - to_object, - ['parse_response_config'], - getv(from_object, ['parseResponseConfig']), - ) - - if getv(from_object, ['codeExecutionRewardScorer']) is not None: - setv( - to_object, - ['code_execution_reward_scorer'], - getv(from_object, ['codeExecutionRewardScorer']), - ) - - if getv(from_object, ['stringMatchRewardScorer']) is not None: - setv( - to_object, - ['string_match_reward_scorer'], - getv(from_object, ['stringMatchRewardScorer']), - ) - - if getv(from_object, ['cloudRunRewardScorer']) is not None: - setv( - to_object, - ['cloud_run_reward_scorer'], - getv(from_object, ['cloudRunRewardScorer']), - ) - - return to_object - - -def _SingleReinforcementTuningRewardConfig_to_vertex( - from_object: Union[dict[str, Any], object], - parent_object: Optional[dict[str, Any]] = None, - root_object: Optional[Union[dict[str, Any], object]] = None, -) -> dict[str, Any]: - to_object: dict[str, Any] = {} - if getv(from_object, ['autorater_scorer']) is not None: - setv( - to_object, - ['autoraterScorer'], - _ReinforcementTuningAutoraterScorer_to_vertex( - getv(from_object, ['autorater_scorer']), to_object, root_object - ), - ) - - if getv(from_object, ['reward_name']) is not None: - setv(to_object, ['rewardName'], getv(from_object, ['reward_name'])) - - if getv(from_object, ['parse_response_config']) is not None: - setv( - to_object, - ['parseResponseConfig'], - getv(from_object, ['parse_response_config']), - ) - - if getv(from_object, ['code_execution_reward_scorer']) is not None: - setv( - to_object, - ['codeExecutionRewardScorer'], - getv(from_object, ['code_execution_reward_scorer']), - ) - - if getv(from_object, ['string_match_reward_scorer']) is not None: - setv( - to_object, - ['stringMatchRewardScorer'], - getv(from_object, ['string_match_reward_scorer']), - ) - - if getv(from_object, ['cloud_run_reward_scorer']) is not None: - setv( - to_object, - ['cloudRunRewardScorer'], - getv(from_object, ['cloud_run_reward_scorer']), - ) - - return to_object - - -def _SpeakerVoiceConfig_to_vertex( - from_object: Union[dict[str, Any], object], - parent_object: Optional[dict[str, Any]] = None, - root_object: Optional[Union[dict[str, Any], object]] = None, -) -> dict[str, Any]: - to_object: dict[str, Any] = {} - if getv(from_object, ['speaker']) is not None: - setv(to_object, ['speaker'], getv(from_object, ['speaker'])) - - if getv(from_object, ['voice_config']) is not None: - setv( - to_object, - ['voiceConfig'], - _VoiceConfig_to_vertex( - getv(from_object, ['voice_config']), to_object, root_object - ), - ) - - return to_object - - -def _SpeechConfig_to_vertex( - from_object: Union[dict[str, Any], object], - parent_object: Optional[dict[str, Any]] = None, - root_object: Optional[Union[dict[str, Any], object]] = None, -) -> dict[str, Any]: - to_object: dict[str, Any] = {} - if getv(from_object, ['voice_config']) is not None: - setv( - to_object, - ['voiceConfig'], - _VoiceConfig_to_vertex( - getv(from_object, ['voice_config']), to_object, root_object - ), - ) - - if getv(from_object, ['language_code']) is not None: - setv(to_object, ['languageCode'], getv(from_object, ['language_code'])) - - if getv(from_object, ['multi_speaker_voice_config']) is not None: - setv( - to_object, - ['multiSpeakerVoiceConfig'], - _MultiSpeakerVoiceConfig_to_vertex( - getv(from_object, ['multi_speaker_voice_config']), - to_object, - root_object, - ), - ) - - return to_object - - -def _Tool_to_vertex( - from_object: Union[dict[str, Any], object], - parent_object: Optional[dict[str, Any]] = None, - root_object: Optional[Union[dict[str, Any], object]] = None, -) -> dict[str, Any]: - to_object: dict[str, Any] = {} - if getv(from_object, ['retrieval']) is not None: - setv(to_object, ['retrieval'], getv(from_object, ['retrieval'])) - - 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: - raise ValueError( - 'file_search parameter is only supported in Gemini Developer API mode,' - ' not in Gemini Enterprise Agent Platform mode.' - ) - - if getv(from_object, ['google_search']) is not None: - setv(to_object, ['googleSearch'], getv(from_object, ['google_search'])) - - if getv(from_object, ['google_maps']) is not None: - setv(to_object, ['googleMaps'], getv(from_object, ['google_maps'])) - - 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: - setv( - to_object, - ['enterpriseWebSearch'], - getv(from_object, ['enterprise_web_search']), - ) - - 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_search_retrieval']) is not None: - setv( - to_object, - ['googleSearchRetrieval'], - getv(from_object, ['google_search_retrieval']), - ) - - if getv(from_object, ['parallel_ai_search']) is not None: - setv( - to_object, - ['parallelAiSearch'], - getv(from_object, ['parallel_ai_search']), - ) - - if getv(from_object, ['url_context']) is not None: - setv(to_object, ['urlContext'], getv(from_object, ['url_context'])) - - if getv(from_object, ['mcp_servers']) is not None: - setv( - to_object, - ['mcpServers'], - [ - _McpServer_to_vertex(item, to_object, root_object) - for item in getv(from_object, ['mcp_servers']) - ], - ) - - if getv(from_object, ['exa_ai_search']) is not None: - setv(to_object, ['exaAiSearch'], getv(from_object, ['exa_ai_search'])) - - return to_object - - -def _TranslationConfig_from_vertex( - from_object: Union[dict[str, Any], object], - parent_object: Optional[dict[str, Any]] = None, - root_object: Optional[Union[dict[str, Any], object]] = None, -) -> dict[str, Any]: - to_object: dict[str, Any] = {} - if getv(from_object, ['echoTargetLanguage']) is not None: - setv( - to_object, - ['echo_target_language'], - getv(from_object, ['echoTargetLanguage']), - ) - - if getv(from_object, ['targetLanguageCode']) is not None: - setv( - to_object, - ['target_language_code'], - getv(from_object, ['targetLanguageCode']), - ) - - return to_object - - -def _TranslationConfig_to_vertex( - from_object: Union[dict[str, Any], object], - parent_object: Optional[dict[str, Any]] = None, - root_object: Optional[Union[dict[str, Any], object]] = None, -) -> dict[str, Any]: - to_object: dict[str, Any] = {} - if getv(from_object, ['echo_target_language']) is not None: - setv( - to_object, - ['echoTargetLanguage'], - getv(from_object, ['echo_target_language']), - ) - - if getv(from_object, ['target_language_code']) is not None: - setv( - to_object, - ['targetLanguageCode'], - getv(from_object, ['target_language_code']), - ) - - return to_object - - -def _TunedModel_from_mldev( - from_object: Union[dict[str, Any], object], - parent_object: Optional[dict[str, Any]] = None, - root_object: Optional[Union[dict[str, Any], object]] = None, -) -> dict[str, Any]: - to_object: dict[str, Any] = {} - if getv(from_object, ['name']) is not None: - setv(to_object, ['model'], getv(from_object, ['name'])) - - if getv(from_object, ['name']) is not None: - setv(to_object, ['endpoint'], getv(from_object, ['name'])) - - return to_object - - -def _TuningDataset_to_mldev( - from_object: Union[dict[str, Any], object], - parent_object: Optional[dict[str, Any]] = None, - root_object: Optional[Union[dict[str, Any], object]] = None, -) -> dict[str, Any]: - to_object: dict[str, Any] = {} - if getv(from_object, ['gcs_uri']) is not None: - raise ValueError( - 'gcs_uri parameter is only supported in Gemini Enterprise Agent' - ' Platform mode, not in Gemini Developer API mode.' - ) - - if getv(from_object, ['vertex_dataset_resource']) is not None: - raise ValueError( - 'vertex_dataset_resource parameter is only supported in Gemini' - ' Enterprise Agent Platform mode, not in Gemini Developer API mode.' - ) - - if getv(from_object, ['examples']) is not None: - setv( - to_object, - ['examples', 'examples'], - [item for item in getv(from_object, ['examples'])], - ) - - return to_object - - -def _TuningDataset_to_vertex( - from_object: Union[dict[str, Any], object], - parent_object: Optional[dict[str, Any]] = None, - root_object: Optional[Union[dict[str, Any], object]] = None, -) -> dict[str, Any]: - to_object: dict[str, Any] = {} - - discriminator = getv(root_object, ['config', 'method']) - if discriminator is None: - discriminator = 'SUPERVISED_FINE_TUNING' - if discriminator == 'SUPERVISED_FINE_TUNING': - if getv(from_object, ['gcs_uri']) is not None: - setv( - parent_object, - ['supervisedTuningSpec', 'trainingDatasetUri'], - getv(from_object, ['gcs_uri']), - ) - elif discriminator == 'PREFERENCE_TUNING': - if getv(from_object, ['gcs_uri']) is not None: - setv( - parent_object, - ['preferenceOptimizationSpec', 'trainingDatasetUri'], - getv(from_object, ['gcs_uri']), - ) - elif discriminator == 'DISTILLATION': - if getv(from_object, ['gcs_uri']) is not None: - setv( - parent_object, - ['distillationSpec', 'promptDatasetUri'], - getv(from_object, ['gcs_uri']), - ) - elif discriminator == 'REINFORCEMENT_TUNING': - if getv(from_object, ['gcs_uri']) is not None: - setv( - parent_object, - ['reinforcementTuningSpec', 'trainingDatasetUri'], - getv(from_object, ['gcs_uri']), - ) - - discriminator = getv(root_object, ['config', 'method']) - if discriminator is None: - discriminator = 'SUPERVISED_FINE_TUNING' - if discriminator == 'SUPERVISED_FINE_TUNING': - if getv(from_object, ['vertex_dataset_resource']) is not None: - setv( - parent_object, - ['supervisedTuningSpec', 'trainingDatasetUri'], - getv(from_object, ['vertex_dataset_resource']), - ) - elif discriminator == 'PREFERENCE_TUNING': - if getv(from_object, ['vertex_dataset_resource']) is not None: - setv( - parent_object, - ['preferenceOptimizationSpec', 'trainingDatasetUri'], - getv(from_object, ['vertex_dataset_resource']), - ) - elif discriminator == 'DISTILLATION': - if getv(from_object, ['vertex_dataset_resource']) is not None: - setv( - parent_object, - ['distillationSpec', 'promptDatasetUri'], - getv(from_object, ['vertex_dataset_resource']), - ) - elif discriminator == 'REINFORCEMENT_TUNING': - if getv(from_object, ['vertex_dataset_resource']) is not None: - setv( - parent_object, - ['reinforcementTuningSpec', 'trainingDatasetUri'], - getv(from_object, ['vertex_dataset_resource']), - ) - - if getv(from_object, ['examples']) is not None: - raise ValueError( - 'examples parameter is only supported in Gemini Developer API mode, not' - ' in Gemini Enterprise Agent Platform mode.' - ) - - return to_object - - -def _TuningJob_from_mldev( - from_object: Union[dict[str, Any], object], - parent_object: Optional[dict[str, Any]] = None, - root_object: Optional[Union[dict[str, Any], object]] = None, -) -> dict[str, Any]: - to_object: dict[str, Any] = {} - if getv(from_object, ['sdkHttpResponse']) is not None: - setv( - to_object, ['sdk_http_response'], getv(from_object, ['sdkHttpResponse']) - ) - - if getv(from_object, ['name']) is not None: - setv(to_object, ['name'], getv(from_object, ['name'])) - - if getv(from_object, ['state']) is not None: - setv( - to_object, - ['state'], - t.t_tuning_job_status(getv(from_object, ['state'])), - ) - - if getv(from_object, ['createTime']) is not None: - setv(to_object, ['create_time'], getv(from_object, ['createTime'])) - - if getv(from_object, ['tuningTask', 'startTime']) is not None: - setv( - to_object, - ['start_time'], - getv(from_object, ['tuningTask', 'startTime']), - ) - - if getv(from_object, ['tuningTask', 'completeTime']) is not None: - setv( - to_object, - ['end_time'], - getv(from_object, ['tuningTask', 'completeTime']), - ) - - if getv(from_object, ['updateTime']) is not None: - setv(to_object, ['update_time'], getv(from_object, ['updateTime'])) - - if getv(from_object, ['description']) is not None: - setv(to_object, ['description'], getv(from_object, ['description'])) - - if getv(from_object, ['baseModel']) is not None: - setv(to_object, ['base_model'], getv(from_object, ['baseModel'])) - - if getv(from_object, ['_self']) is not None: - setv( - to_object, - ['tuned_model'], - _TunedModel_from_mldev( - getv(from_object, ['_self']), to_object, root_object - ), - ) - - return to_object - - -def _TuningJob_from_vertex( - from_object: Union[dict[str, Any], object], - parent_object: Optional[dict[str, Any]] = None, - root_object: Optional[Union[dict[str, Any], object]] = None, -) -> dict[str, Any]: - to_object: dict[str, Any] = {} - if getv(from_object, ['sdkHttpResponse']) is not None: - setv( - to_object, ['sdk_http_response'], getv(from_object, ['sdkHttpResponse']) - ) - - if getv(from_object, ['name']) is not None: - setv(to_object, ['name'], getv(from_object, ['name'])) - - if getv(from_object, ['state']) is not None: - setv( - to_object, - ['state'], - t.t_tuning_job_status(getv(from_object, ['state'])), - ) - - if getv(from_object, ['createTime']) is not None: - setv(to_object, ['create_time'], getv(from_object, ['createTime'])) - - if getv(from_object, ['startTime']) is not None: - setv(to_object, ['start_time'], getv(from_object, ['startTime'])) - - if getv(from_object, ['endTime']) is not None: - setv(to_object, ['end_time'], getv(from_object, ['endTime'])) - - if getv(from_object, ['updateTime']) is not None: - setv(to_object, ['update_time'], getv(from_object, ['updateTime'])) - - if getv(from_object, ['error']) is not None: - setv(to_object, ['error'], getv(from_object, ['error'])) - - if getv(from_object, ['description']) is not None: - setv(to_object, ['description'], getv(from_object, ['description'])) - - if getv(from_object, ['baseModel']) is not None: - setv(to_object, ['base_model'], getv(from_object, ['baseModel'])) - - if getv(from_object, ['tunedModel']) is not None: - setv(to_object, ['tuned_model'], getv(from_object, ['tunedModel'])) - - if getv(from_object, ['preTunedModel']) is not None: - setv(to_object, ['pre_tuned_model'], getv(from_object, ['preTunedModel'])) - - if getv(from_object, ['supervisedTuningSpec']) is not None: - setv( - to_object, - ['supervised_tuning_spec'], - getv(from_object, ['supervisedTuningSpec']), - ) - - if getv(from_object, ['preferenceOptimizationSpec']) is not None: - setv( - to_object, - ['preference_optimization_spec'], - getv(from_object, ['preferenceOptimizationSpec']), - ) - - if getv(from_object, ['distillationSpec']) is not None: - setv( - to_object, - ['distillation_spec'], - _DistillationSpec_from_vertex( - getv(from_object, ['distillationSpec']), to_object, root_object - ), - ) - - if getv(from_object, ['reinforcementTuningSpec']) is not None: - setv( - to_object, - ['reinforcement_tuning_spec'], - _ReinforcementTuningSpec_from_vertex( - getv(from_object, ['reinforcementTuningSpec']), - to_object, - root_object, - ), - ) - - if getv(from_object, ['tuningDataStats']) is not None: - setv( - to_object, ['tuning_data_stats'], getv(from_object, ['tuningDataStats']) - ) - - if getv(from_object, ['encryptionSpec']) is not None: - setv(to_object, ['encryption_spec'], getv(from_object, ['encryptionSpec'])) - - if getv(from_object, ['partnerModelTuningSpec']) is not None: - setv( - to_object, - ['partner_model_tuning_spec'], - getv(from_object, ['partnerModelTuningSpec']), - ) - - if getv(from_object, ['evaluationConfig']) is not None: - setv( - to_object, - ['evaluation_config'], - _EvaluationConfig_from_vertex( - getv(from_object, ['evaluationConfig']), to_object, root_object - ), - ) - - if getv(from_object, ['customBaseModel']) is not None: - setv( - to_object, ['custom_base_model'], getv(from_object, ['customBaseModel']) - ) - - if getv(from_object, ['evaluateDatasetRuns']) is not None: - setv( - to_object, - ['evaluate_dataset_runs'], - [item for item in getv(from_object, ['evaluateDatasetRuns'])], - ) - - if getv(from_object, ['experiment']) is not None: - setv(to_object, ['experiment'], getv(from_object, ['experiment'])) - - if getv(from_object, ['fullFineTuningSpec']) is not None: - setv( - to_object, - ['full_fine_tuning_spec'], - getv(from_object, ['fullFineTuningSpec']), - ) - - if getv(from_object, ['labels']) is not None: - setv(to_object, ['labels'], getv(from_object, ['labels'])) - - if getv(from_object, ['outputUri']) is not None: - setv(to_object, ['output_uri'], getv(from_object, ['outputUri'])) - - if getv(from_object, ['pipelineJob']) is not None: - setv(to_object, ['pipeline_job'], getv(from_object, ['pipelineJob'])) - - if getv(from_object, ['serviceAccount']) is not None: - setv(to_object, ['service_account'], getv(from_object, ['serviceAccount'])) - - if getv(from_object, ['tunedModelDisplayName']) is not None: - setv( - to_object, - ['tuned_model_display_name'], - getv(from_object, ['tunedModelDisplayName']), - ) - - if getv(from_object, ['tuningJobState']) is not None: - setv(to_object, ['tuning_job_state'], getv(from_object, ['tuningJobState'])) - - if getv(from_object, ['veoTuningSpec']) is not None: - setv(to_object, ['veo_tuning_spec'], getv(from_object, ['veoTuningSpec'])) - - if getv(from_object, ['tuningJobMetadata']) is not None: - setv( - to_object, - ['tuning_job_metadata'], - getv(from_object, ['tuningJobMetadata']), - ) - - if getv(from_object, ['veoLoraTuningSpec']) is not None: - setv( - to_object, - ['veo_lora_tuning_spec'], - getv(from_object, ['veoLoraTuningSpec']), - ) - - if getv(from_object, ['distillationSamplingSpec']) is not None: - setv( - to_object, - ['distillation_sampling_spec'], - _DistillationSamplingSpec_from_vertex( - getv(from_object, ['distillationSamplingSpec']), - to_object, - root_object, - ), - ) - - if getv(from_object, ['gcsMetricsUri']) is not None: - setv(to_object, ['gcs_metrics_uri'], getv(from_object, ['gcsMetricsUri'])) - - return to_object - - -def _TuningOperation_from_mldev( - from_object: Union[dict[str, Any], object], - parent_object: Optional[dict[str, Any]] = None, - root_object: Optional[Union[dict[str, Any], object]] = None, -) -> dict[str, Any]: - to_object: dict[str, Any] = {} - if getv(from_object, ['sdkHttpResponse']) is not None: - setv( - to_object, ['sdk_http_response'], getv(from_object, ['sdkHttpResponse']) - ) - - if getv(from_object, ['name']) is not None: - setv(to_object, ['name'], getv(from_object, ['name'])) - - if getv(from_object, ['metadata']) is not None: - setv(to_object, ['metadata'], getv(from_object, ['metadata'])) - - if getv(from_object, ['done']) is not None: - setv(to_object, ['done'], getv(from_object, ['done'])) - - if getv(from_object, ['error']) is not None: - setv(to_object, ['error'], getv(from_object, ['error'])) - - return to_object - - -def _TuningValidationDataset_to_vertex( - from_object: Union[dict[str, Any], object], - parent_object: Optional[dict[str, Any]] = None, - root_object: Optional[Union[dict[str, Any], object]] = None, -) -> dict[str, Any]: - to_object: dict[str, Any] = {} - if getv(from_object, ['gcs_uri']) is not None: - setv(to_object, ['validationDatasetUri'], getv(from_object, ['gcs_uri'])) - - if getv(from_object, ['vertex_dataset_resource']) is not None: - setv( - to_object, - ['validationDatasetUri'], - getv(from_object, ['vertex_dataset_resource']), - ) - - return to_object - - -def _ValidateRewardParameters_to_vertex( - from_object: Union[dict[str, Any], object], - parent_object: Optional[dict[str, Any]] = None, - root_object: Optional[Union[dict[str, Any], object]] = None, -) -> dict[str, Any]: - to_object: dict[str, Any] = {} - if getv(from_object, ['parent']) is not None: - setv(to_object, ['_url', 'parent'], getv(from_object, ['parent'])) - - if getv(from_object, ['sample_response']) is not None: - setv( - to_object, - ['sampleResponse'], - _Content_to_vertex( - getv(from_object, ['sample_response']), to_object, root_object - ), - ) - - if getv(from_object, ['example']) is not None: - setv( - to_object, - ['example'], - _ReinforcementTuningExample_to_vertex( - getv(from_object, ['example']), to_object, root_object - ), - ) - - if getv(from_object, ['single_reward_config']) is not None: - setv( - to_object, - ['singleRewardConfig'], - _SingleReinforcementTuningRewardConfig_to_vertex( - getv(from_object, ['single_reward_config']), to_object, root_object - ), - ) - - if getv(from_object, ['composite_reward_config']) is not None: - setv( - to_object, - ['compositeRewardConfig'], - _CompositeReinforcementTuningRewardConfig_to_vertex( - getv(from_object, ['composite_reward_config']), - to_object, - root_object, - ), - ) - - return to_object - - -def _ValidateRewardResponse_from_vertex( - from_object: Union[dict[str, Any], object], - parent_object: Optional[dict[str, Any]] = None, - root_object: Optional[Union[dict[str, Any], object]] = None, -) -> dict[str, Any]: - to_object: dict[str, Any] = {} - if getv(from_object, ['sdkHttpResponse']) is not None: - setv( - to_object, ['sdk_http_response'], getv(from_object, ['sdkHttpResponse']) - ) - - if getv(from_object, ['overallReward']) is not None: - setv(to_object, ['overall_reward'], getv(from_object, ['overallReward'])) - - if getv(from_object, ['error']) is not None: - setv(to_object, ['error'], getv(from_object, ['error'])) - - if getv(from_object, ['rewardInfoDetails']) is not None: - setv( - to_object, - ['reward_info_details'], - {k: v for k, v in getv(from_object, ['rewardInfoDetails']).items()}, - ) - - return to_object - - -def _VoiceConfig_to_vertex( - from_object: Union[dict[str, Any], object], - parent_object: Optional[dict[str, Any]] = None, - root_object: Optional[Union[dict[str, Any], object]] = None, -) -> dict[str, Any]: - to_object: dict[str, Any] = {} - if getv(from_object, ['replicated_voice_config']) is not None: - setv( - to_object, - ['replicatedVoiceConfig'], - _ReplicatedVoiceConfig_to_vertex( - getv(from_object, ['replicated_voice_config']), - to_object, - root_object, - ), - ) - - if getv(from_object, ['prebuilt_voice_config']) is not None: - setv( - to_object, - ['prebuiltVoiceConfig'], - getv(from_object, ['prebuilt_voice_config']), - ) - - if getv(from_object, ['voice']) is not None: - setv(to_object, ['voice'], getv(from_object, ['voice'])) - - return to_object - - class Tunings(_api_module.BaseModule): def _get( @@ -2602,7 +55,7 @@ def _get( request_url_dict: Optional[dict[str, str]] if self._api_client.vertexai: - request_dict = _GetTuningJobParameters_to_vertex( + request_dict = _converters._GetTuningJobParameters_to_vertex( parameter_model, None, parameter_model ) request_url_dict = request_dict.get('_url') @@ -2611,7 +64,7 @@ def _get( else: path = '{name}' else: - request_dict = _GetTuningJobParameters_to_mldev( + request_dict = _converters._GetTuningJobParameters_to_mldev( parameter_model, None, parameter_model ) request_url_dict = request_dict.get('_url') @@ -2640,12 +93,12 @@ def _get( response_dict = {} if not response.body else json.loads(response.body) if self._api_client.vertexai: - response_dict = _TuningJob_from_vertex( + response_dict = _converters._TuningJob_from_vertex( response_dict, None, parameter_model ) if not self._api_client.vertexai: - response_dict = _TuningJob_from_mldev( + response_dict = _converters._TuningJob_from_mldev( response_dict, None, parameter_model ) @@ -2687,7 +140,7 @@ def _list( ' mode, not in Gemini Developer API mode.' ) else: - request_dict = _ListTuningJobsParameters_to_vertex( + request_dict = _converters._ListTuningJobsParameters_to_vertex( parameter_model, None, parameter_model ) request_url_dict = request_dict.get('_url') @@ -2717,7 +170,7 @@ def _list( response_dict = {} if not response.body else json.loads(response.body) if self._api_client.vertexai: - response_dict = _ListTuningJobsResponse_from_vertex( + response_dict = _converters._ListTuningJobsResponse_from_vertex( response_dict, None, parameter_model ) @@ -2765,7 +218,7 @@ def cancel( request_url_dict: Optional[dict[str, str]] if self._api_client.vertexai: - request_dict = _CancelTuningJobParameters_to_vertex( + request_dict = _converters._CancelTuningJobParameters_to_vertex( parameter_model, None, parameter_model ) request_url_dict = request_dict.get('_url') @@ -2774,7 +227,7 @@ def cancel( else: path = '{name}:cancel' else: - request_dict = _CancelTuningJobParameters_to_mldev( + request_dict = _converters._CancelTuningJobParameters_to_mldev( parameter_model, None, parameter_model ) request_url_dict = request_dict.get('_url') @@ -2805,12 +258,12 @@ def cancel( response_dict = {} if not response.body else json.loads(response.body) if self._api_client.vertexai: - response_dict = _CancelTuningJobResponse_from_vertex( + response_dict = _converters._CancelTuningJobResponse_from_vertex( response_dict, None, parameter_model ) if not self._api_client.vertexai: - response_dict = _CancelTuningJobResponse_from_mldev( + response_dict = _converters._CancelTuningJobResponse_from_mldev( response_dict, None, parameter_model ) @@ -2871,7 +324,7 @@ def _tune( ' mode, not in Gemini Developer API mode.' ) else: - request_dict = _CreateTuningJobParametersPrivate_to_vertex( + request_dict = _converters._CreateTuningJobParametersPrivate_to_vertex( parameter_model, None, parameter_model ) request_url_dict = request_dict.get('_url') @@ -2903,7 +356,7 @@ def _tune( response_dict = {} if not response.body else json.loads(response.body) if self._api_client.vertexai: - response_dict = _TuningJob_from_vertex( + response_dict = _converters._TuningJob_from_vertex( response_dict, None, parameter_model ) @@ -2964,7 +417,7 @@ def _tune_mldev( ' Gemini Enterprise Agent Platform mode.' ) else: - request_dict = _CreateTuningJobParametersPrivate_to_mldev( + request_dict = _converters._CreateTuningJobParametersPrivate_to_mldev( parameter_model, None, parameter_model ) request_url_dict = request_dict.get('_url') @@ -2996,7 +449,7 @@ def _tune_mldev( response_dict = {} if not response.body else json.loads(response.body) if not self._api_client.vertexai: - response_dict = _TuningOperation_from_mldev( + response_dict = _converters._TuningOperation_from_mldev( response_dict, None, parameter_model ) @@ -3077,7 +530,7 @@ def validate_reward( ' mode, not in Gemini Developer API mode.' ) else: - request_dict = _ValidateRewardParameters_to_vertex( + request_dict = _converters._ValidateRewardParameters_to_vertex( parameter_model, None, parameter_model ) request_url_dict = request_dict.get('_url') @@ -3113,7 +566,7 @@ def validate_reward( response_dict = {} if not response.body else json.loads(response.body) if self._api_client.vertexai: - response_dict = _ValidateRewardResponse_from_vertex( + response_dict = _converters._ValidateRewardResponse_from_vertex( response_dict, None, parameter_model ) @@ -3295,7 +748,7 @@ async def _get( request_url_dict: Optional[dict[str, str]] if self._api_client.vertexai: - request_dict = _GetTuningJobParameters_to_vertex( + request_dict = _converters._GetTuningJobParameters_to_vertex( parameter_model, None, parameter_model ) request_url_dict = request_dict.get('_url') @@ -3304,7 +757,7 @@ async def _get( else: path = '{name}' else: - request_dict = _GetTuningJobParameters_to_mldev( + request_dict = _converters._GetTuningJobParameters_to_mldev( parameter_model, None, parameter_model ) request_url_dict = request_dict.get('_url') @@ -3335,12 +788,12 @@ async def _get( response_dict = {} if not response.body else json.loads(response.body) if self._api_client.vertexai: - response_dict = _TuningJob_from_vertex( + response_dict = _converters._TuningJob_from_vertex( response_dict, None, parameter_model ) if not self._api_client.vertexai: - response_dict = _TuningJob_from_mldev( + response_dict = _converters._TuningJob_from_mldev( response_dict, None, parameter_model ) @@ -3382,7 +835,7 @@ async def _list( ' mode, not in Gemini Developer API mode.' ) else: - request_dict = _ListTuningJobsParameters_to_vertex( + request_dict = _converters._ListTuningJobsParameters_to_vertex( parameter_model, None, parameter_model ) request_url_dict = request_dict.get('_url') @@ -3414,7 +867,7 @@ async def _list( response_dict = {} if not response.body else json.loads(response.body) if self._api_client.vertexai: - response_dict = _ListTuningJobsResponse_from_vertex( + response_dict = _converters._ListTuningJobsResponse_from_vertex( response_dict, None, parameter_model ) @@ -3462,7 +915,7 @@ async def cancel( request_url_dict: Optional[dict[str, str]] if self._api_client.vertexai: - request_dict = _CancelTuningJobParameters_to_vertex( + request_dict = _converters._CancelTuningJobParameters_to_vertex( parameter_model, None, parameter_model ) request_url_dict = request_dict.get('_url') @@ -3471,7 +924,7 @@ async def cancel( else: path = '{name}:cancel' else: - request_dict = _CancelTuningJobParameters_to_mldev( + request_dict = _converters._CancelTuningJobParameters_to_mldev( parameter_model, None, parameter_model ) request_url_dict = request_dict.get('_url') @@ -3502,12 +955,12 @@ async def cancel( response_dict = {} if not response.body else json.loads(response.body) if self._api_client.vertexai: - response_dict = _CancelTuningJobResponse_from_vertex( + response_dict = _converters._CancelTuningJobResponse_from_vertex( response_dict, None, parameter_model ) if not self._api_client.vertexai: - response_dict = _CancelTuningJobResponse_from_mldev( + response_dict = _converters._CancelTuningJobResponse_from_mldev( response_dict, None, parameter_model ) @@ -3568,7 +1021,7 @@ async def _tune( ' mode, not in Gemini Developer API mode.' ) else: - request_dict = _CreateTuningJobParametersPrivate_to_vertex( + request_dict = _converters._CreateTuningJobParametersPrivate_to_vertex( parameter_model, None, parameter_model ) request_url_dict = request_dict.get('_url') @@ -3600,7 +1053,7 @@ async def _tune( response_dict = {} if not response.body else json.loads(response.body) if self._api_client.vertexai: - response_dict = _TuningJob_from_vertex( + response_dict = _converters._TuningJob_from_vertex( response_dict, None, parameter_model ) @@ -3661,7 +1114,7 @@ async def _tune_mldev( ' Gemini Enterprise Agent Platform mode.' ) else: - request_dict = _CreateTuningJobParametersPrivate_to_mldev( + request_dict = _converters._CreateTuningJobParametersPrivate_to_mldev( parameter_model, None, parameter_model ) request_url_dict = request_dict.get('_url') @@ -3693,7 +1146,7 @@ async def _tune_mldev( response_dict = {} if not response.body else json.loads(response.body) if not self._api_client.vertexai: - response_dict = _TuningOperation_from_mldev( + response_dict = _converters._TuningOperation_from_mldev( response_dict, None, parameter_model ) @@ -3774,7 +1227,7 @@ async def validate_reward( ' mode, not in Gemini Developer API mode.' ) else: - request_dict = _ValidateRewardParameters_to_vertex( + request_dict = _converters._ValidateRewardParameters_to_vertex( parameter_model, None, parameter_model ) request_url_dict = request_dict.get('_url') @@ -3810,7 +1263,7 @@ async def validate_reward( response_dict = {} if not response.body else json.loads(response.body) if self._api_client.vertexai: - response_dict = _ValidateRewardResponse_from_vertex( + response_dict = _converters._ValidateRewardResponse_from_vertex( response_dict, None, parameter_model ) diff --git a/google/genai/types.py b/google/genai/types.py index 1f2281b64c..055225bfdc 100644 --- a/google/genai/types.py +++ b/google/genai/types.py @@ -30,12 +30,6 @@ from pydantic import ConfigDict, Field, PrivateAttr, WrapValidator, model_validator from typing_extensions import Self, TypedDict from . import _common -from ._operations_converters import ( - _GenerateVideosOperation_from_mldev, - _GenerateVideosOperation_from_vertex, - _ImportFileOperation_from_mldev, - _UploadToFileSearchStoreOperation_from_mldev, -) if sys.version_info >= (3, 10): # Supports both Union[t1, t2] and t1 | t2 @@ -12552,9 +12546,13 @@ def from_api_response( """Instantiates a GenerateVideosOperation from an API response.""" if is_vertex_ai: - response_dict = _GenerateVideosOperation_from_vertex(api_response) + response_dict = _converters._GenerateVideosOperation_from_vertex( + api_response + ) else: - response_dict = _GenerateVideosOperation_from_mldev(api_response) + response_dict = _converters._GenerateVideosOperation_from_mldev( + api_response + ) return cls._from_response(response=response_dict, kwargs={}) @@ -18005,7 +18003,7 @@ def from_api_response( ) -> Self: """Instantiates a ImportFileOperation from an API response.""" - response_dict = _ImportFileOperation_from_mldev(api_response) + response_dict = _converters._ImportFileOperation_from_mldev(api_response) return cls._from_response(response=response_dict, kwargs={}) @@ -23554,7 +23552,9 @@ def from_api_response( ) -> Self: """Instantiates a UploadToFileSearchStoreOperation from an API response.""" - response_dict = _UploadToFileSearchStoreOperation_from_mldev(api_response) + response_dict = _converters._UploadToFileSearchStoreOperation_from_mldev( + api_response + ) return cls._from_response(response=response_dict, kwargs={}) @@ -23574,3 +23574,6 @@ class DownloadMediaConfigDict(TypedDict, total=False): DownloadMediaConfigOrDict = Union[DownloadMediaConfig, DownloadMediaConfigDict] + + +from . import _converters # pylint: disable=g-import-not-at-top