|
36 | 36 | logger = logging.getLogger('google_genai.models') |
37 | 37 |
|
38 | 38 |
|
| 39 | +def _Environment_to_vertex_enum_validate(enum_value: Any) -> None: |
| 40 | + if enum_value in set(['ENVIRONMENT_MOBILE', 'ENVIRONMENT_DESKTOP']): |
| 41 | + raise ValueError( |
| 42 | + f'{enum_value} enum value is only supported in Gemini Developer API' |
| 43 | + ' mode, not in Gemini Enterprise Agent Platform mode.' |
| 44 | + ) |
| 45 | + |
| 46 | + |
39 | 47 | def _PersonGeneration_to_mldev_enum_validate(enum_value: Any) -> None: |
40 | 48 | if enum_value in set(['ALLOW_ALL']): |
41 | 49 | raise ValueError( |
@@ -273,6 +281,33 @@ def _ComputeTokensResponse_from_vertex( |
273 | 281 | return to_object |
274 | 282 |
|
275 | 283 |
|
| 284 | +def _ComputerUse_to_vertex( |
| 285 | + from_object: Union[dict[str, Any], object], |
| 286 | + parent_object: Optional[dict[str, Any]] = None, |
| 287 | + root_object: Optional[Union[dict[str, Any], object]] = None, |
| 288 | +) -> dict[str, Any]: |
| 289 | + to_object: dict[str, Any] = {} |
| 290 | + if getv(from_object, ['environment']) is not None: |
| 291 | + _Environment_to_vertex_enum_validate(getv(from_object, ['environment'])) |
| 292 | + setv(to_object, ['environment'], getv(from_object, ['environment'])) |
| 293 | + |
| 294 | + if getv(from_object, ['excluded_predefined_functions']) is not None: |
| 295 | + setv( |
| 296 | + to_object, |
| 297 | + ['excludedPredefinedFunctions'], |
| 298 | + getv(from_object, ['excluded_predefined_functions']), |
| 299 | + ) |
| 300 | + |
| 301 | + if getv(from_object, ['enable_prompt_injection_detection']) is not None: |
| 302 | + raise ValueError( |
| 303 | + 'enable_prompt_injection_detection parameter is only supported in' |
| 304 | + ' Gemini Developer API mode, not in Gemini Enterprise Agent Platform' |
| 305 | + ' mode.' |
| 306 | + ) |
| 307 | + |
| 308 | + return to_object |
| 309 | + |
| 310 | + |
276 | 311 | def _ContentEmbeddingStatistics_from_vertex( |
277 | 312 | from_object: Union[dict[str, Any], object], |
278 | 313 | parent_object: Optional[dict[str, Any]] = None, |
@@ -4350,7 +4385,13 @@ def _Tool_to_vertex( |
4350 | 4385 | setv(to_object, ['retrieval'], getv(from_object, ['retrieval'])) |
4351 | 4386 |
|
4352 | 4387 | if getv(from_object, ['computer_use']) is not None: |
4353 | | - setv(to_object, ['computerUse'], getv(from_object, ['computer_use'])) |
| 4388 | + setv( |
| 4389 | + to_object, |
| 4390 | + ['computerUse'], |
| 4391 | + _ComputerUse_to_vertex( |
| 4392 | + getv(from_object, ['computer_use']), to_object, root_object |
| 4393 | + ), |
| 4394 | + ) |
4354 | 4395 |
|
4355 | 4396 | if getv(from_object, ['file_search']) is not None: |
4356 | 4397 | raise ValueError( |
|
0 commit comments