google-genai 1.53.0__py3-none-any.whl → 1.55.0__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- google/genai/__init__.py +1 -0
- google/genai/_api_client.py +6 -6
- google/genai/_interactions/__init__.py +117 -0
- google/genai/_interactions/_base_client.py +2019 -0
- google/genai/_interactions/_client.py +511 -0
- google/genai/_interactions/_compat.py +234 -0
- google/genai/_interactions/_constants.py +29 -0
- google/genai/_interactions/_exceptions.py +122 -0
- google/genai/_interactions/_files.py +139 -0
- google/genai/_interactions/_models.py +873 -0
- google/genai/_interactions/_qs.py +165 -0
- google/genai/_interactions/_resource.py +58 -0
- google/genai/_interactions/_response.py +847 -0
- google/genai/_interactions/_streaming.py +354 -0
- google/genai/_interactions/_types.py +276 -0
- google/genai/_interactions/_utils/__init__.py +79 -0
- google/genai/_interactions/_utils/_compat.py +61 -0
- google/genai/_interactions/_utils/_datetime_parse.py +151 -0
- google/genai/_interactions/_utils/_logs.py +40 -0
- google/genai/_interactions/_utils/_proxy.py +80 -0
- google/genai/_interactions/_utils/_reflection.py +57 -0
- google/genai/_interactions/_utils/_resources_proxy.py +39 -0
- google/genai/_interactions/_utils/_streams.py +27 -0
- google/genai/_interactions/_utils/_sync.py +73 -0
- google/genai/_interactions/_utils/_transform.py +472 -0
- google/genai/_interactions/_utils/_typing.py +172 -0
- google/genai/_interactions/_utils/_utils.py +437 -0
- google/genai/_interactions/_version.py +18 -0
- google/genai/_interactions/resources/__init__.py +34 -0
- google/genai/_interactions/resources/interactions.py +1350 -0
- google/genai/_interactions/types/__init__.py +107 -0
- google/genai/_interactions/types/allowed_tools.py +33 -0
- google/genai/_interactions/types/allowed_tools_param.py +35 -0
- google/genai/_interactions/types/annotation.py +42 -0
- google/genai/_interactions/types/annotation_param.py +42 -0
- google/genai/_interactions/types/audio_content.py +38 -0
- google/genai/_interactions/types/audio_content_param.py +45 -0
- google/genai/_interactions/types/audio_mime_type.py +25 -0
- google/genai/_interactions/types/audio_mime_type_param.py +27 -0
- google/genai/_interactions/types/code_execution_call_arguments.py +33 -0
- google/genai/_interactions/types/code_execution_call_arguments_param.py +32 -0
- google/genai/_interactions/types/code_execution_call_content.py +37 -0
- google/genai/_interactions/types/code_execution_call_content_param.py +37 -0
- google/genai/_interactions/types/code_execution_result_content.py +42 -0
- google/genai/_interactions/types/code_execution_result_content_param.py +41 -0
- google/genai/_interactions/types/content_delta.py +358 -0
- google/genai/_interactions/types/content_start.py +79 -0
- google/genai/_interactions/types/content_stop.py +35 -0
- google/genai/_interactions/types/deep_research_agent_config.py +33 -0
- google/genai/_interactions/types/deep_research_agent_config_param.py +32 -0
- google/genai/_interactions/types/document_content.py +36 -0
- google/genai/_interactions/types/document_content_param.py +43 -0
- google/genai/_interactions/types/dynamic_agent_config.py +44 -0
- google/genai/_interactions/types/dynamic_agent_config_param.py +33 -0
- google/genai/_interactions/types/error_event.py +46 -0
- google/genai/_interactions/types/file_search_result_content.py +46 -0
- google/genai/_interactions/types/file_search_result_content_param.py +46 -0
- google/genai/_interactions/types/function.py +38 -0
- google/genai/_interactions/types/function_call_content.py +39 -0
- google/genai/_interactions/types/function_call_content_param.py +39 -0
- google/genai/_interactions/types/function_param.py +37 -0
- google/genai/_interactions/types/function_result_content.py +52 -0
- google/genai/_interactions/types/function_result_content_param.py +54 -0
- google/genai/_interactions/types/generation_config.py +57 -0
- google/genai/_interactions/types/generation_config_param.py +59 -0
- google/genai/_interactions/types/google_search_call_arguments.py +29 -0
- google/genai/_interactions/types/google_search_call_arguments_param.py +31 -0
- google/genai/_interactions/types/google_search_call_content.py +37 -0
- google/genai/_interactions/types/google_search_call_content_param.py +37 -0
- google/genai/_interactions/types/google_search_result.py +35 -0
- google/genai/_interactions/types/google_search_result_content.py +43 -0
- google/genai/_interactions/types/google_search_result_content_param.py +44 -0
- google/genai/_interactions/types/google_search_result_param.py +35 -0
- google/genai/_interactions/types/image_content.py +41 -0
- google/genai/_interactions/types/image_content_param.py +48 -0
- google/genai/_interactions/types/image_mime_type.py +23 -0
- google/genai/_interactions/types/image_mime_type_param.py +25 -0
- google/genai/_interactions/types/interaction.py +165 -0
- google/genai/_interactions/types/interaction_create_params.py +212 -0
- google/genai/_interactions/types/interaction_event.py +37 -0
- google/genai/_interactions/types/interaction_get_params.py +46 -0
- google/genai/_interactions/types/interaction_sse_event.py +32 -0
- google/genai/_interactions/types/interaction_status_update.py +37 -0
- google/genai/_interactions/types/mcp_server_tool_call_content.py +42 -0
- google/genai/_interactions/types/mcp_server_tool_call_content_param.py +42 -0
- google/genai/_interactions/types/mcp_server_tool_result_content.py +52 -0
- google/genai/_interactions/types/mcp_server_tool_result_content_param.py +54 -0
- google/genai/_interactions/types/model.py +36 -0
- google/genai/_interactions/types/model_param.py +38 -0
- google/genai/_interactions/types/speech_config.py +35 -0
- google/genai/_interactions/types/speech_config_param.py +35 -0
- google/genai/_interactions/types/text_content.py +37 -0
- google/genai/_interactions/types/text_content_param.py +38 -0
- google/genai/_interactions/types/thinking_level.py +22 -0
- google/genai/_interactions/types/thought_content.py +41 -0
- google/genai/_interactions/types/thought_content_param.py +47 -0
- google/genai/_interactions/types/tool.py +100 -0
- google/genai/_interactions/types/tool_choice.py +26 -0
- google/genai/_interactions/types/tool_choice_config.py +28 -0
- google/genai/_interactions/types/tool_choice_config_param.py +29 -0
- google/genai/_interactions/types/tool_choice_param.py +28 -0
- google/genai/_interactions/types/tool_choice_type.py +22 -0
- google/genai/_interactions/types/tool_param.py +97 -0
- google/genai/_interactions/types/turn.py +76 -0
- google/genai/_interactions/types/turn_param.py +73 -0
- google/genai/_interactions/types/url_context_call_arguments.py +29 -0
- google/genai/_interactions/types/url_context_call_arguments_param.py +31 -0
- google/genai/_interactions/types/url_context_call_content.py +37 -0
- google/genai/_interactions/types/url_context_call_content_param.py +37 -0
- google/genai/_interactions/types/url_context_result.py +33 -0
- google/genai/_interactions/types/url_context_result_content.py +43 -0
- google/genai/_interactions/types/url_context_result_content_param.py +44 -0
- google/genai/_interactions/types/url_context_result_param.py +32 -0
- google/genai/_interactions/types/usage.py +106 -0
- google/genai/_interactions/types/usage_param.py +106 -0
- google/genai/_interactions/types/video_content.py +41 -0
- google/genai/_interactions/types/video_content_param.py +48 -0
- google/genai/_interactions/types/video_mime_type.py +36 -0
- google/genai/_interactions/types/video_mime_type_param.py +38 -0
- google/genai/_live_converters.py +34 -3
- google/genai/_tokens_converters.py +5 -0
- google/genai/batches.py +62 -55
- google/genai/client.py +223 -0
- google/genai/errors.py +16 -1
- google/genai/file_search_stores.py +60 -60
- google/genai/files.py +56 -56
- google/genai/interactions.py +17 -0
- google/genai/live.py +4 -3
- google/genai/models.py +15 -3
- google/genai/tests/__init__.py +21 -0
- google/genai/tests/afc/__init__.py +21 -0
- google/genai/tests/afc/test_convert_if_exist_pydantic_model.py +309 -0
- google/genai/tests/afc/test_convert_number_values_for_function_call_args.py +63 -0
- google/genai/tests/afc/test_find_afc_incompatible_tool_indexes.py +240 -0
- google/genai/tests/afc/test_generate_content_stream_afc.py +530 -0
- google/genai/tests/afc/test_generate_content_stream_afc_thoughts.py +77 -0
- google/genai/tests/afc/test_get_function_map.py +176 -0
- google/genai/tests/afc/test_get_function_response_parts.py +277 -0
- google/genai/tests/afc/test_get_max_remote_calls_for_afc.py +130 -0
- google/genai/tests/afc/test_invoke_function_from_dict_args.py +241 -0
- google/genai/tests/afc/test_raise_error_for_afc_incompatible_config.py +159 -0
- google/genai/tests/afc/test_should_append_afc_history.py +53 -0
- google/genai/tests/afc/test_should_disable_afc.py +214 -0
- google/genai/tests/batches/__init__.py +17 -0
- google/genai/tests/batches/test_cancel.py +77 -0
- google/genai/tests/batches/test_create.py +78 -0
- google/genai/tests/batches/test_create_with_bigquery.py +113 -0
- google/genai/tests/batches/test_create_with_file.py +82 -0
- google/genai/tests/batches/test_create_with_gcs.py +125 -0
- google/genai/tests/batches/test_create_with_inlined_requests.py +255 -0
- google/genai/tests/batches/test_delete.py +86 -0
- google/genai/tests/batches/test_embedding.py +157 -0
- google/genai/tests/batches/test_get.py +78 -0
- google/genai/tests/batches/test_list.py +79 -0
- google/genai/tests/caches/__init__.py +17 -0
- google/genai/tests/caches/constants.py +29 -0
- google/genai/tests/caches/test_create.py +210 -0
- google/genai/tests/caches/test_create_custom_url.py +105 -0
- google/genai/tests/caches/test_delete.py +54 -0
- google/genai/tests/caches/test_delete_custom_url.py +52 -0
- google/genai/tests/caches/test_get.py +94 -0
- google/genai/tests/caches/test_get_custom_url.py +52 -0
- google/genai/tests/caches/test_list.py +68 -0
- google/genai/tests/caches/test_update.py +70 -0
- google/genai/tests/caches/test_update_custom_url.py +58 -0
- google/genai/tests/chats/__init__.py +1 -0
- google/genai/tests/chats/test_get_history.py +597 -0
- google/genai/tests/chats/test_send_message.py +844 -0
- google/genai/tests/chats/test_validate_response.py +90 -0
- google/genai/tests/client/__init__.py +17 -0
- google/genai/tests/client/test_async_stream.py +427 -0
- google/genai/tests/client/test_client_close.py +197 -0
- google/genai/tests/client/test_client_initialization.py +1687 -0
- google/genai/tests/client/test_client_requests.py +355 -0
- google/genai/tests/client/test_custom_client.py +77 -0
- google/genai/tests/client/test_http_options.py +178 -0
- google/genai/tests/client/test_replay_client_equality.py +168 -0
- google/genai/tests/client/test_retries.py +846 -0
- google/genai/tests/client/test_upload_errors.py +136 -0
- google/genai/tests/common/__init__.py +17 -0
- google/genai/tests/common/test_common.py +954 -0
- google/genai/tests/conftest.py +162 -0
- google/genai/tests/documents/__init__.py +17 -0
- google/genai/tests/documents/test_delete.py +51 -0
- google/genai/tests/documents/test_get.py +85 -0
- google/genai/tests/documents/test_list.py +72 -0
- google/genai/tests/errors/__init__.py +1 -0
- google/genai/tests/errors/test_api_error.py +417 -0
- google/genai/tests/file_search_stores/__init__.py +17 -0
- google/genai/tests/file_search_stores/test_create.py +66 -0
- google/genai/tests/file_search_stores/test_delete.py +64 -0
- google/genai/tests/file_search_stores/test_get.py +94 -0
- google/genai/tests/file_search_stores/test_import_file.py +112 -0
- google/genai/tests/file_search_stores/test_list.py +57 -0
- google/genai/tests/file_search_stores/test_upload_to_file_search_store.py +141 -0
- google/genai/tests/files/__init__.py +17 -0
- google/genai/tests/files/test_delete.py +46 -0
- google/genai/tests/files/test_download.py +85 -0
- google/genai/tests/files/test_get.py +46 -0
- google/genai/tests/files/test_list.py +72 -0
- google/genai/tests/files/test_upload.py +255 -0
- google/genai/tests/imports/test_no_optional_imports.py +28 -0
- google/genai/tests/interactions/__init__.py +0 -0
- google/genai/tests/interactions/test_integration.py +80 -0
- google/genai/tests/live/__init__.py +16 -0
- google/genai/tests/live/test_live.py +2177 -0
- google/genai/tests/live/test_live_music.py +362 -0
- google/genai/tests/live/test_live_response.py +163 -0
- google/genai/tests/live/test_send_client_content.py +147 -0
- google/genai/tests/live/test_send_realtime_input.py +268 -0
- google/genai/tests/live/test_send_tool_response.py +222 -0
- google/genai/tests/local_tokenizer/__init__.py +17 -0
- google/genai/tests/local_tokenizer/test_local_tokenizer.py +343 -0
- google/genai/tests/local_tokenizer/test_local_tokenizer_loader.py +235 -0
- google/genai/tests/mcp/__init__.py +17 -0
- google/genai/tests/mcp/test_has_mcp_tool_usage.py +89 -0
- google/genai/tests/mcp/test_mcp_to_gemini_tools.py +191 -0
- google/genai/tests/mcp/test_parse_config_for_mcp_sessions.py +201 -0
- google/genai/tests/mcp/test_parse_config_for_mcp_usage.py +130 -0
- google/genai/tests/mcp/test_set_mcp_usage_header.py +72 -0
- google/genai/tests/models/__init__.py +17 -0
- google/genai/tests/models/constants.py +8 -0
- google/genai/tests/models/test_compute_tokens.py +120 -0
- google/genai/tests/models/test_count_tokens.py +159 -0
- google/genai/tests/models/test_delete.py +107 -0
- google/genai/tests/models/test_edit_image.py +264 -0
- google/genai/tests/models/test_embed_content.py +94 -0
- google/genai/tests/models/test_function_call_streaming.py +442 -0
- google/genai/tests/models/test_generate_content.py +2502 -0
- google/genai/tests/models/test_generate_content_cached_content.py +132 -0
- google/genai/tests/models/test_generate_content_config_zero_value.py +103 -0
- google/genai/tests/models/test_generate_content_from_apikey.py +44 -0
- google/genai/tests/models/test_generate_content_http_options.py +40 -0
- google/genai/tests/models/test_generate_content_image_generation.py +143 -0
- google/genai/tests/models/test_generate_content_mcp.py +343 -0
- google/genai/tests/models/test_generate_content_media_resolution.py +97 -0
- google/genai/tests/models/test_generate_content_model.py +139 -0
- google/genai/tests/models/test_generate_content_part.py +821 -0
- google/genai/tests/models/test_generate_content_thought.py +76 -0
- google/genai/tests/models/test_generate_content_tools.py +1761 -0
- google/genai/tests/models/test_generate_images.py +191 -0
- google/genai/tests/models/test_generate_videos.py +759 -0
- google/genai/tests/models/test_get.py +104 -0
- google/genai/tests/models/test_list.py +233 -0
- google/genai/tests/models/test_recontext_image.py +189 -0
- google/genai/tests/models/test_segment_image.py +148 -0
- google/genai/tests/models/test_update.py +95 -0
- google/genai/tests/models/test_upscale_image.py +157 -0
- google/genai/tests/operations/__init__.py +17 -0
- google/genai/tests/operations/test_get.py +38 -0
- google/genai/tests/public_samples/__init__.py +17 -0
- google/genai/tests/public_samples/test_gemini_text_only.py +34 -0
- google/genai/tests/pytest_helper.py +229 -0
- google/genai/tests/shared/__init__.py +16 -0
- google/genai/tests/shared/batches/__init__.py +14 -0
- google/genai/tests/shared/batches/test_create_delete.py +57 -0
- google/genai/tests/shared/batches/test_create_get_cancel.py +56 -0
- google/genai/tests/shared/batches/test_list.py +40 -0
- google/genai/tests/shared/caches/__init__.py +14 -0
- google/genai/tests/shared/caches/test_create_get_delete.py +67 -0
- google/genai/tests/shared/caches/test_create_update_get.py +71 -0
- google/genai/tests/shared/caches/test_list.py +40 -0
- google/genai/tests/shared/chats/__init__.py +14 -0
- google/genai/tests/shared/chats/test_send_message.py +48 -0
- google/genai/tests/shared/chats/test_send_message_stream.py +50 -0
- google/genai/tests/shared/files/__init__.py +14 -0
- google/genai/tests/shared/files/test_list.py +41 -0
- google/genai/tests/shared/files/test_upload_get_delete.py +54 -0
- google/genai/tests/shared/models/__init__.py +14 -0
- google/genai/tests/shared/models/test_compute_tokens.py +41 -0
- google/genai/tests/shared/models/test_count_tokens.py +40 -0
- google/genai/tests/shared/models/test_edit_image.py +67 -0
- google/genai/tests/shared/models/test_embed.py +40 -0
- google/genai/tests/shared/models/test_generate_content.py +39 -0
- google/genai/tests/shared/models/test_generate_content_stream.py +54 -0
- google/genai/tests/shared/models/test_generate_images.py +40 -0
- google/genai/tests/shared/models/test_generate_videos.py +38 -0
- google/genai/tests/shared/models/test_list.py +37 -0
- google/genai/tests/shared/models/test_recontext_image.py +55 -0
- google/genai/tests/shared/models/test_segment_image.py +52 -0
- google/genai/tests/shared/models/test_upscale_image.py +52 -0
- google/genai/tests/shared/tunings/__init__.py +16 -0
- google/genai/tests/shared/tunings/test_create.py +46 -0
- google/genai/tests/shared/tunings/test_create_get_cancel.py +56 -0
- google/genai/tests/shared/tunings/test_list.py +39 -0
- google/genai/tests/tokens/__init__.py +16 -0
- google/genai/tests/tokens/test_create.py +154 -0
- google/genai/tests/transformers/__init__.py +17 -0
- google/genai/tests/transformers/test_blobs.py +71 -0
- google/genai/tests/transformers/test_bytes.py +15 -0
- google/genai/tests/transformers/test_duck_type.py +96 -0
- google/genai/tests/transformers/test_function_responses.py +72 -0
- google/genai/tests/transformers/test_schema.py +653 -0
- google/genai/tests/transformers/test_t_batch.py +286 -0
- google/genai/tests/transformers/test_t_content.py +160 -0
- google/genai/tests/transformers/test_t_contents.py +398 -0
- google/genai/tests/transformers/test_t_part.py +85 -0
- google/genai/tests/transformers/test_t_parts.py +87 -0
- google/genai/tests/transformers/test_t_tool.py +157 -0
- google/genai/tests/transformers/test_t_tools.py +195 -0
- google/genai/tests/tunings/__init__.py +16 -0
- google/genai/tests/tunings/test_cancel.py +39 -0
- google/genai/tests/tunings/test_end_to_end.py +106 -0
- google/genai/tests/tunings/test_get.py +67 -0
- google/genai/tests/tunings/test_list.py +75 -0
- google/genai/tests/tunings/test_tune.py +268 -0
- google/genai/tests/types/__init__.py +16 -0
- google/genai/tests/types/test_bytes_internal.py +271 -0
- google/genai/tests/types/test_bytes_type.py +152 -0
- google/genai/tests/types/test_future.py +101 -0
- google/genai/tests/types/test_optional_types.py +36 -0
- google/genai/tests/types/test_part_type.py +616 -0
- google/genai/tests/types/test_schema_from_json_schema.py +417 -0
- google/genai/tests/types/test_schema_json_schema.py +468 -0
- google/genai/tests/types/test_types.py +2903 -0
- google/genai/tunings.py +57 -57
- google/genai/types.py +229 -121
- google/genai/version.py +1 -1
- {google_genai-1.53.0.dist-info → google_genai-1.55.0.dist-info}/METADATA +4 -2
- google_genai-1.55.0.dist-info/RECORD +345 -0
- google_genai-1.53.0.dist-info/RECORD +0 -41
- {google_genai-1.53.0.dist-info → google_genai-1.55.0.dist-info}/WHEEL +0 -0
- {google_genai-1.53.0.dist-info → google_genai-1.55.0.dist-info}/licenses/LICENSE +0 -0
- {google_genai-1.53.0.dist-info → google_genai-1.55.0.dist-info}/top_level.txt +0 -0
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
# Copyright 2025 Google LLC
|
|
2
|
+
#
|
|
3
|
+
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
4
|
+
# you may not use this file except in compliance with the License.
|
|
5
|
+
# You may obtain a copy of the License at
|
|
6
|
+
#
|
|
7
|
+
# http://www.apache.org/licenses/LICENSE-2.0
|
|
8
|
+
#
|
|
9
|
+
# Unless required by applicable law or agreed to in writing, software
|
|
10
|
+
# distributed under the License is distributed on an "AS IS" BASIS,
|
|
11
|
+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
12
|
+
# See the License for the specific language governing permissions and
|
|
13
|
+
# limitations under the License.
|
|
14
|
+
#
|
|
15
|
+
|
|
16
|
+
# File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
|
|
17
|
+
|
|
18
|
+
from __future__ import annotations
|
|
19
|
+
|
|
20
|
+
from typing_extensions import TypedDict
|
|
21
|
+
|
|
22
|
+
__all__ = ["SpeechConfigParam"]
|
|
23
|
+
|
|
24
|
+
|
|
25
|
+
class SpeechConfigParam(TypedDict, total=False):
|
|
26
|
+
"""The configuration for speech interaction."""
|
|
27
|
+
|
|
28
|
+
language: str
|
|
29
|
+
"""The language of the speech."""
|
|
30
|
+
|
|
31
|
+
speaker: str
|
|
32
|
+
"""The speaker's name, it should match the speaker name given in the prompt."""
|
|
33
|
+
|
|
34
|
+
voice: str
|
|
35
|
+
"""The voice of the speaker."""
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
# Copyright 2025 Google LLC
|
|
2
|
+
#
|
|
3
|
+
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
4
|
+
# you may not use this file except in compliance with the License.
|
|
5
|
+
# You may obtain a copy of the License at
|
|
6
|
+
#
|
|
7
|
+
# http://www.apache.org/licenses/LICENSE-2.0
|
|
8
|
+
#
|
|
9
|
+
# Unless required by applicable law or agreed to in writing, software
|
|
10
|
+
# distributed under the License is distributed on an "AS IS" BASIS,
|
|
11
|
+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
12
|
+
# See the License for the specific language governing permissions and
|
|
13
|
+
# limitations under the License.
|
|
14
|
+
#
|
|
15
|
+
|
|
16
|
+
# File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
|
|
17
|
+
|
|
18
|
+
from typing import List, Optional
|
|
19
|
+
from typing_extensions import Literal
|
|
20
|
+
|
|
21
|
+
from .._models import BaseModel
|
|
22
|
+
from .annotation import Annotation
|
|
23
|
+
|
|
24
|
+
__all__ = ["TextContent"]
|
|
25
|
+
|
|
26
|
+
|
|
27
|
+
class TextContent(BaseModel):
|
|
28
|
+
"""A text content block."""
|
|
29
|
+
|
|
30
|
+
type: Literal["text"]
|
|
31
|
+
"""Used as the OpenAPI type discriminator for the content oneof."""
|
|
32
|
+
|
|
33
|
+
annotations: Optional[List[Annotation]] = None
|
|
34
|
+
"""Citation information for model-generated content."""
|
|
35
|
+
|
|
36
|
+
text: Optional[str] = None
|
|
37
|
+
"""The text content."""
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
# Copyright 2025 Google LLC
|
|
2
|
+
#
|
|
3
|
+
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
4
|
+
# you may not use this file except in compliance with the License.
|
|
5
|
+
# You may obtain a copy of the License at
|
|
6
|
+
#
|
|
7
|
+
# http://www.apache.org/licenses/LICENSE-2.0
|
|
8
|
+
#
|
|
9
|
+
# Unless required by applicable law or agreed to in writing, software
|
|
10
|
+
# distributed under the License is distributed on an "AS IS" BASIS,
|
|
11
|
+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
12
|
+
# See the License for the specific language governing permissions and
|
|
13
|
+
# limitations under the License.
|
|
14
|
+
#
|
|
15
|
+
|
|
16
|
+
# File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
|
|
17
|
+
|
|
18
|
+
from __future__ import annotations
|
|
19
|
+
|
|
20
|
+
from typing import Iterable
|
|
21
|
+
from typing_extensions import Literal, Required, TypedDict
|
|
22
|
+
|
|
23
|
+
from .annotation_param import AnnotationParam
|
|
24
|
+
|
|
25
|
+
__all__ = ["TextContentParam"]
|
|
26
|
+
|
|
27
|
+
|
|
28
|
+
class TextContentParam(TypedDict, total=False):
|
|
29
|
+
"""A text content block."""
|
|
30
|
+
|
|
31
|
+
type: Required[Literal["text"]]
|
|
32
|
+
"""Used as the OpenAPI type discriminator for the content oneof."""
|
|
33
|
+
|
|
34
|
+
annotations: Iterable[AnnotationParam]
|
|
35
|
+
"""Citation information for model-generated content."""
|
|
36
|
+
|
|
37
|
+
text: str
|
|
38
|
+
"""The text content."""
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
# Copyright 2025 Google LLC
|
|
2
|
+
#
|
|
3
|
+
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
4
|
+
# you may not use this file except in compliance with the License.
|
|
5
|
+
# You may obtain a copy of the License at
|
|
6
|
+
#
|
|
7
|
+
# http://www.apache.org/licenses/LICENSE-2.0
|
|
8
|
+
#
|
|
9
|
+
# Unless required by applicable law or agreed to in writing, software
|
|
10
|
+
# distributed under the License is distributed on an "AS IS" BASIS,
|
|
11
|
+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
12
|
+
# See the License for the specific language governing permissions and
|
|
13
|
+
# limitations under the License.
|
|
14
|
+
#
|
|
15
|
+
|
|
16
|
+
# File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
|
|
17
|
+
|
|
18
|
+
from typing_extensions import Literal, TypeAlias
|
|
19
|
+
|
|
20
|
+
__all__ = ["ThinkingLevel"]
|
|
21
|
+
|
|
22
|
+
ThinkingLevel: TypeAlias = Literal["low", "high"]
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
# Copyright 2025 Google LLC
|
|
2
|
+
#
|
|
3
|
+
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
4
|
+
# you may not use this file except in compliance with the License.
|
|
5
|
+
# You may obtain a copy of the License at
|
|
6
|
+
#
|
|
7
|
+
# http://www.apache.org/licenses/LICENSE-2.0
|
|
8
|
+
#
|
|
9
|
+
# Unless required by applicable law or agreed to in writing, software
|
|
10
|
+
# distributed under the License is distributed on an "AS IS" BASIS,
|
|
11
|
+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
12
|
+
# See the License for the specific language governing permissions and
|
|
13
|
+
# limitations under the License.
|
|
14
|
+
#
|
|
15
|
+
|
|
16
|
+
# File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
|
|
17
|
+
|
|
18
|
+
from typing import List, Union, Optional
|
|
19
|
+
from typing_extensions import Literal, Annotated, TypeAlias
|
|
20
|
+
|
|
21
|
+
from .._utils import PropertyInfo
|
|
22
|
+
from .._models import BaseModel
|
|
23
|
+
from .text_content import TextContent
|
|
24
|
+
from .image_content import ImageContent
|
|
25
|
+
|
|
26
|
+
__all__ = ["ThoughtContent", "Summary"]
|
|
27
|
+
|
|
28
|
+
Summary: TypeAlias = Annotated[Union[TextContent, ImageContent], PropertyInfo(discriminator="type")]
|
|
29
|
+
|
|
30
|
+
|
|
31
|
+
class ThoughtContent(BaseModel):
|
|
32
|
+
"""A thought content block."""
|
|
33
|
+
|
|
34
|
+
type: Literal["thought"]
|
|
35
|
+
"""Used as the OpenAPI type discriminator for the content oneof."""
|
|
36
|
+
|
|
37
|
+
signature: Optional[str] = None
|
|
38
|
+
"""Signature to match the backend source to be part of the generation."""
|
|
39
|
+
|
|
40
|
+
summary: Optional[List[Summary]] = None
|
|
41
|
+
"""A summary of the thought."""
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
# Copyright 2025 Google LLC
|
|
2
|
+
#
|
|
3
|
+
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
4
|
+
# you may not use this file except in compliance with the License.
|
|
5
|
+
# You may obtain a copy of the License at
|
|
6
|
+
#
|
|
7
|
+
# http://www.apache.org/licenses/LICENSE-2.0
|
|
8
|
+
#
|
|
9
|
+
# Unless required by applicable law or agreed to in writing, software
|
|
10
|
+
# distributed under the License is distributed on an "AS IS" BASIS,
|
|
11
|
+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
12
|
+
# See the License for the specific language governing permissions and
|
|
13
|
+
# limitations under the License.
|
|
14
|
+
#
|
|
15
|
+
|
|
16
|
+
# File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
|
|
17
|
+
|
|
18
|
+
from __future__ import annotations
|
|
19
|
+
|
|
20
|
+
from typing import Union, Iterable
|
|
21
|
+
from typing_extensions import Literal, Required, Annotated, TypeAlias, TypedDict
|
|
22
|
+
|
|
23
|
+
from .._types import Base64FileInput
|
|
24
|
+
from .._utils import PropertyInfo
|
|
25
|
+
from .._models import set_pydantic_config
|
|
26
|
+
from .text_content_param import TextContentParam
|
|
27
|
+
from .image_content_param import ImageContentParam
|
|
28
|
+
|
|
29
|
+
__all__ = ["ThoughtContentParam", "Summary"]
|
|
30
|
+
|
|
31
|
+
Summary: TypeAlias = Union[TextContentParam, ImageContentParam]
|
|
32
|
+
|
|
33
|
+
|
|
34
|
+
class ThoughtContentParam(TypedDict, total=False):
|
|
35
|
+
"""A thought content block."""
|
|
36
|
+
|
|
37
|
+
type: Required[Literal["thought"]]
|
|
38
|
+
"""Used as the OpenAPI type discriminator for the content oneof."""
|
|
39
|
+
|
|
40
|
+
signature: Annotated[Union[str, Base64FileInput], PropertyInfo(format="base64")]
|
|
41
|
+
"""Signature to match the backend source to be part of the generation."""
|
|
42
|
+
|
|
43
|
+
summary: Iterable[Summary]
|
|
44
|
+
"""A summary of the thought."""
|
|
45
|
+
|
|
46
|
+
|
|
47
|
+
set_pydantic_config(ThoughtContentParam, {"arbitrary_types_allowed": True})
|
|
@@ -0,0 +1,100 @@
|
|
|
1
|
+
# Copyright 2025 Google LLC
|
|
2
|
+
#
|
|
3
|
+
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
4
|
+
# you may not use this file except in compliance with the License.
|
|
5
|
+
# You may obtain a copy of the License at
|
|
6
|
+
#
|
|
7
|
+
# http://www.apache.org/licenses/LICENSE-2.0
|
|
8
|
+
#
|
|
9
|
+
# Unless required by applicable law or agreed to in writing, software
|
|
10
|
+
# distributed under the License is distributed on an "AS IS" BASIS,
|
|
11
|
+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
12
|
+
# See the License for the specific language governing permissions and
|
|
13
|
+
# limitations under the License.
|
|
14
|
+
#
|
|
15
|
+
|
|
16
|
+
# File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
|
|
17
|
+
|
|
18
|
+
from typing import Dict, List, Union, Optional
|
|
19
|
+
from typing_extensions import Literal, Annotated, TypeAlias
|
|
20
|
+
|
|
21
|
+
from pydantic import Field as FieldInfo
|
|
22
|
+
|
|
23
|
+
from .._utils import PropertyInfo
|
|
24
|
+
from .._models import BaseModel
|
|
25
|
+
from .function import Function
|
|
26
|
+
from .allowed_tools import AllowedTools
|
|
27
|
+
|
|
28
|
+
__all__ = ["Tool", "GoogleSearch", "CodeExecution", "URLContext", "ComputerUse", "MCPServer", "FileSearch"]
|
|
29
|
+
|
|
30
|
+
|
|
31
|
+
class GoogleSearch(BaseModel):
|
|
32
|
+
"""A tool that can be used by the model to search Google."""
|
|
33
|
+
|
|
34
|
+
type: Literal["google_search"]
|
|
35
|
+
|
|
36
|
+
|
|
37
|
+
class CodeExecution(BaseModel):
|
|
38
|
+
"""A tool that can be used by the model to execute code."""
|
|
39
|
+
|
|
40
|
+
type: Literal["code_execution"]
|
|
41
|
+
|
|
42
|
+
|
|
43
|
+
class URLContext(BaseModel):
|
|
44
|
+
"""A tool that can be used by the model to fetch URL context."""
|
|
45
|
+
|
|
46
|
+
type: Literal["url_context"]
|
|
47
|
+
|
|
48
|
+
|
|
49
|
+
class ComputerUse(BaseModel):
|
|
50
|
+
"""A tool that can be used by the model to interact with the computer."""
|
|
51
|
+
|
|
52
|
+
type: Literal["computer_use"]
|
|
53
|
+
|
|
54
|
+
environment: Optional[Literal["browser"]] = None
|
|
55
|
+
"""The environment being operated."""
|
|
56
|
+
|
|
57
|
+
excluded_predefined_functions: Optional[List[str]] = FieldInfo(alias="excludedPredefinedFunctions", default=None)
|
|
58
|
+
"""The list of predefined functions that are excluded from the model call."""
|
|
59
|
+
|
|
60
|
+
|
|
61
|
+
class MCPServer(BaseModel):
|
|
62
|
+
"""A MCPServer is a server that can be called by the model to perform actions."""
|
|
63
|
+
|
|
64
|
+
type: Literal["mcp_server"]
|
|
65
|
+
|
|
66
|
+
allowed_tools: Optional[List[AllowedTools]] = None
|
|
67
|
+
"""The allowed tools."""
|
|
68
|
+
|
|
69
|
+
headers: Optional[Dict[str, str]] = None
|
|
70
|
+
"""Optional: Fields for authentication headers, timeouts, etc., if needed."""
|
|
71
|
+
|
|
72
|
+
name: Optional[str] = None
|
|
73
|
+
"""The name of the MCPServer."""
|
|
74
|
+
|
|
75
|
+
url: Optional[str] = None
|
|
76
|
+
"""
|
|
77
|
+
The full URL for the MCPServer endpoint.
|
|
78
|
+
Example: "https://api.example.com/mcp"
|
|
79
|
+
"""
|
|
80
|
+
|
|
81
|
+
|
|
82
|
+
class FileSearch(BaseModel):
|
|
83
|
+
"""A tool that can be used by the model to search files."""
|
|
84
|
+
|
|
85
|
+
type: Literal["file_search"]
|
|
86
|
+
|
|
87
|
+
file_search_store_names: Optional[List[str]] = None
|
|
88
|
+
"""The file search store names to search."""
|
|
89
|
+
|
|
90
|
+
metadata_filter: Optional[str] = None
|
|
91
|
+
"""Metadata filter to apply to the semantic retrieval documents and chunks."""
|
|
92
|
+
|
|
93
|
+
top_k: Optional[int] = None
|
|
94
|
+
"""The number of semantic retrieval chunks to retrieve."""
|
|
95
|
+
|
|
96
|
+
|
|
97
|
+
Tool: TypeAlias = Annotated[
|
|
98
|
+
Union[Function, GoogleSearch, CodeExecution, URLContext, ComputerUse, MCPServer, FileSearch],
|
|
99
|
+
PropertyInfo(discriminator="type"),
|
|
100
|
+
]
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
# Copyright 2025 Google LLC
|
|
2
|
+
#
|
|
3
|
+
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
4
|
+
# you may not use this file except in compliance with the License.
|
|
5
|
+
# You may obtain a copy of the License at
|
|
6
|
+
#
|
|
7
|
+
# http://www.apache.org/licenses/LICENSE-2.0
|
|
8
|
+
#
|
|
9
|
+
# Unless required by applicable law or agreed to in writing, software
|
|
10
|
+
# distributed under the License is distributed on an "AS IS" BASIS,
|
|
11
|
+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
12
|
+
# See the License for the specific language governing permissions and
|
|
13
|
+
# limitations under the License.
|
|
14
|
+
#
|
|
15
|
+
|
|
16
|
+
# File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
|
|
17
|
+
|
|
18
|
+
from typing import Union
|
|
19
|
+
from typing_extensions import TypeAlias
|
|
20
|
+
|
|
21
|
+
from .tool_choice_type import ToolChoiceType
|
|
22
|
+
from .tool_choice_config import ToolChoiceConfig
|
|
23
|
+
|
|
24
|
+
__all__ = ["ToolChoice"]
|
|
25
|
+
|
|
26
|
+
ToolChoice: TypeAlias = Union[ToolChoiceType, ToolChoiceConfig]
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
# Copyright 2025 Google LLC
|
|
2
|
+
#
|
|
3
|
+
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
4
|
+
# you may not use this file except in compliance with the License.
|
|
5
|
+
# You may obtain a copy of the License at
|
|
6
|
+
#
|
|
7
|
+
# http://www.apache.org/licenses/LICENSE-2.0
|
|
8
|
+
#
|
|
9
|
+
# Unless required by applicable law or agreed to in writing, software
|
|
10
|
+
# distributed under the License is distributed on an "AS IS" BASIS,
|
|
11
|
+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
12
|
+
# See the License for the specific language governing permissions and
|
|
13
|
+
# limitations under the License.
|
|
14
|
+
#
|
|
15
|
+
|
|
16
|
+
# File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
|
|
17
|
+
|
|
18
|
+
from typing import Optional
|
|
19
|
+
|
|
20
|
+
from .._models import BaseModel
|
|
21
|
+
from .allowed_tools import AllowedTools
|
|
22
|
+
|
|
23
|
+
__all__ = ["ToolChoiceConfig"]
|
|
24
|
+
|
|
25
|
+
|
|
26
|
+
class ToolChoiceConfig(BaseModel):
|
|
27
|
+
allowed_tools: Optional[AllowedTools] = None
|
|
28
|
+
"""The configuration for allowed tools."""
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
# Copyright 2025 Google LLC
|
|
2
|
+
#
|
|
3
|
+
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
4
|
+
# you may not use this file except in compliance with the License.
|
|
5
|
+
# You may obtain a copy of the License at
|
|
6
|
+
#
|
|
7
|
+
# http://www.apache.org/licenses/LICENSE-2.0
|
|
8
|
+
#
|
|
9
|
+
# Unless required by applicable law or agreed to in writing, software
|
|
10
|
+
# distributed under the License is distributed on an "AS IS" BASIS,
|
|
11
|
+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
12
|
+
# See the License for the specific language governing permissions and
|
|
13
|
+
# limitations under the License.
|
|
14
|
+
#
|
|
15
|
+
|
|
16
|
+
# File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
|
|
17
|
+
|
|
18
|
+
from __future__ import annotations
|
|
19
|
+
|
|
20
|
+
from typing_extensions import TypedDict
|
|
21
|
+
|
|
22
|
+
from .allowed_tools_param import AllowedToolsParam
|
|
23
|
+
|
|
24
|
+
__all__ = ["ToolChoiceConfigParam"]
|
|
25
|
+
|
|
26
|
+
|
|
27
|
+
class ToolChoiceConfigParam(TypedDict, total=False):
|
|
28
|
+
allowed_tools: AllowedToolsParam
|
|
29
|
+
"""The configuration for allowed tools."""
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
# Copyright 2025 Google LLC
|
|
2
|
+
#
|
|
3
|
+
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
4
|
+
# you may not use this file except in compliance with the License.
|
|
5
|
+
# You may obtain a copy of the License at
|
|
6
|
+
#
|
|
7
|
+
# http://www.apache.org/licenses/LICENSE-2.0
|
|
8
|
+
#
|
|
9
|
+
# Unless required by applicable law or agreed to in writing, software
|
|
10
|
+
# distributed under the License is distributed on an "AS IS" BASIS,
|
|
11
|
+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
12
|
+
# See the License for the specific language governing permissions and
|
|
13
|
+
# limitations under the License.
|
|
14
|
+
#
|
|
15
|
+
|
|
16
|
+
# File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
|
|
17
|
+
|
|
18
|
+
from __future__ import annotations
|
|
19
|
+
|
|
20
|
+
from typing import Union
|
|
21
|
+
from typing_extensions import TypeAlias
|
|
22
|
+
|
|
23
|
+
from .tool_choice_type import ToolChoiceType
|
|
24
|
+
from .tool_choice_config_param import ToolChoiceConfigParam
|
|
25
|
+
|
|
26
|
+
__all__ = ["ToolChoiceParam"]
|
|
27
|
+
|
|
28
|
+
ToolChoiceParam: TypeAlias = Union[ToolChoiceType, ToolChoiceConfigParam]
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
# Copyright 2025 Google LLC
|
|
2
|
+
#
|
|
3
|
+
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
4
|
+
# you may not use this file except in compliance with the License.
|
|
5
|
+
# You may obtain a copy of the License at
|
|
6
|
+
#
|
|
7
|
+
# http://www.apache.org/licenses/LICENSE-2.0
|
|
8
|
+
#
|
|
9
|
+
# Unless required by applicable law or agreed to in writing, software
|
|
10
|
+
# distributed under the License is distributed on an "AS IS" BASIS,
|
|
11
|
+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
12
|
+
# See the License for the specific language governing permissions and
|
|
13
|
+
# limitations under the License.
|
|
14
|
+
#
|
|
15
|
+
|
|
16
|
+
# File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
|
|
17
|
+
|
|
18
|
+
from typing_extensions import Literal, TypeAlias
|
|
19
|
+
|
|
20
|
+
__all__ = ["ToolChoiceType"]
|
|
21
|
+
|
|
22
|
+
ToolChoiceType: TypeAlias = Literal["auto", "any", "none", "validated"]
|
|
@@ -0,0 +1,97 @@
|
|
|
1
|
+
# Copyright 2025 Google LLC
|
|
2
|
+
#
|
|
3
|
+
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
4
|
+
# you may not use this file except in compliance with the License.
|
|
5
|
+
# You may obtain a copy of the License at
|
|
6
|
+
#
|
|
7
|
+
# http://www.apache.org/licenses/LICENSE-2.0
|
|
8
|
+
#
|
|
9
|
+
# Unless required by applicable law or agreed to in writing, software
|
|
10
|
+
# distributed under the License is distributed on an "AS IS" BASIS,
|
|
11
|
+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
12
|
+
# See the License for the specific language governing permissions and
|
|
13
|
+
# limitations under the License.
|
|
14
|
+
#
|
|
15
|
+
|
|
16
|
+
# File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
|
|
17
|
+
|
|
18
|
+
from __future__ import annotations
|
|
19
|
+
|
|
20
|
+
from typing import Dict, Union, Iterable
|
|
21
|
+
from typing_extensions import Literal, Required, Annotated, TypeAlias, TypedDict
|
|
22
|
+
|
|
23
|
+
from .._types import SequenceNotStr
|
|
24
|
+
from .._utils import PropertyInfo
|
|
25
|
+
from .function_param import FunctionParam
|
|
26
|
+
from .allowed_tools_param import AllowedToolsParam
|
|
27
|
+
|
|
28
|
+
__all__ = ["ToolParam", "GoogleSearch", "CodeExecution", "URLContext", "ComputerUse", "MCPServer", "FileSearch"]
|
|
29
|
+
|
|
30
|
+
|
|
31
|
+
class GoogleSearch(TypedDict, total=False):
|
|
32
|
+
"""A tool that can be used by the model to search Google."""
|
|
33
|
+
|
|
34
|
+
type: Required[Literal["google_search"]]
|
|
35
|
+
|
|
36
|
+
|
|
37
|
+
class CodeExecution(TypedDict, total=False):
|
|
38
|
+
"""A tool that can be used by the model to execute code."""
|
|
39
|
+
|
|
40
|
+
type: Required[Literal["code_execution"]]
|
|
41
|
+
|
|
42
|
+
|
|
43
|
+
class URLContext(TypedDict, total=False):
|
|
44
|
+
"""A tool that can be used by the model to fetch URL context."""
|
|
45
|
+
|
|
46
|
+
type: Required[Literal["url_context"]]
|
|
47
|
+
|
|
48
|
+
|
|
49
|
+
class ComputerUse(TypedDict, total=False):
|
|
50
|
+
"""A tool that can be used by the model to interact with the computer."""
|
|
51
|
+
|
|
52
|
+
type: Required[Literal["computer_use"]]
|
|
53
|
+
|
|
54
|
+
environment: Literal["browser"]
|
|
55
|
+
"""The environment being operated."""
|
|
56
|
+
|
|
57
|
+
excluded_predefined_functions: Annotated[SequenceNotStr[str], PropertyInfo(alias="excludedPredefinedFunctions")]
|
|
58
|
+
"""The list of predefined functions that are excluded from the model call."""
|
|
59
|
+
|
|
60
|
+
|
|
61
|
+
class MCPServer(TypedDict, total=False):
|
|
62
|
+
"""A MCPServer is a server that can be called by the model to perform actions."""
|
|
63
|
+
|
|
64
|
+
type: Required[Literal["mcp_server"]]
|
|
65
|
+
|
|
66
|
+
allowed_tools: Iterable[AllowedToolsParam]
|
|
67
|
+
"""The allowed tools."""
|
|
68
|
+
|
|
69
|
+
headers: Dict[str, str]
|
|
70
|
+
"""Optional: Fields for authentication headers, timeouts, etc., if needed."""
|
|
71
|
+
|
|
72
|
+
name: str
|
|
73
|
+
"""The name of the MCPServer."""
|
|
74
|
+
|
|
75
|
+
url: str
|
|
76
|
+
"""
|
|
77
|
+
The full URL for the MCPServer endpoint.
|
|
78
|
+
Example: "https://api.example.com/mcp"
|
|
79
|
+
"""
|
|
80
|
+
|
|
81
|
+
|
|
82
|
+
class FileSearch(TypedDict, total=False):
|
|
83
|
+
"""A tool that can be used by the model to search files."""
|
|
84
|
+
|
|
85
|
+
type: Required[Literal["file_search"]]
|
|
86
|
+
|
|
87
|
+
file_search_store_names: SequenceNotStr[str]
|
|
88
|
+
"""The file search store names to search."""
|
|
89
|
+
|
|
90
|
+
metadata_filter: str
|
|
91
|
+
"""Metadata filter to apply to the semantic retrieval documents and chunks."""
|
|
92
|
+
|
|
93
|
+
top_k: int
|
|
94
|
+
"""The number of semantic retrieval chunks to retrieve."""
|
|
95
|
+
|
|
96
|
+
|
|
97
|
+
ToolParam: TypeAlias = Union[FunctionParam, GoogleSearch, CodeExecution, URLContext, ComputerUse, MCPServer, FileSearch]
|
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
# Copyright 2025 Google LLC
|
|
2
|
+
#
|
|
3
|
+
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
4
|
+
# you may not use this file except in compliance with the License.
|
|
5
|
+
# You may obtain a copy of the License at
|
|
6
|
+
#
|
|
7
|
+
# http://www.apache.org/licenses/LICENSE-2.0
|
|
8
|
+
#
|
|
9
|
+
# Unless required by applicable law or agreed to in writing, software
|
|
10
|
+
# distributed under the License is distributed on an "AS IS" BASIS,
|
|
11
|
+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
12
|
+
# See the License for the specific language governing permissions and
|
|
13
|
+
# limitations under the License.
|
|
14
|
+
#
|
|
15
|
+
|
|
16
|
+
# File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
|
|
17
|
+
|
|
18
|
+
from typing import List, Union, Optional
|
|
19
|
+
from typing_extensions import Annotated, TypeAlias
|
|
20
|
+
|
|
21
|
+
from .._utils import PropertyInfo
|
|
22
|
+
from .._models import BaseModel
|
|
23
|
+
from .text_content import TextContent
|
|
24
|
+
from .audio_content import AudioContent
|
|
25
|
+
from .image_content import ImageContent
|
|
26
|
+
from .video_content import VideoContent
|
|
27
|
+
from .thought_content import ThoughtContent
|
|
28
|
+
from .document_content import DocumentContent
|
|
29
|
+
from .function_call_content import FunctionCallContent
|
|
30
|
+
from .function_result_content import FunctionResultContent
|
|
31
|
+
from .url_context_call_content import URLContextCallContent
|
|
32
|
+
from .file_search_result_content import FileSearchResultContent
|
|
33
|
+
from .google_search_call_content import GoogleSearchCallContent
|
|
34
|
+
from .url_context_result_content import URLContextResultContent
|
|
35
|
+
from .code_execution_call_content import CodeExecutionCallContent
|
|
36
|
+
from .google_search_result_content import GoogleSearchResultContent
|
|
37
|
+
from .mcp_server_tool_call_content import MCPServerToolCallContent
|
|
38
|
+
from .code_execution_result_content import CodeExecutionResultContent
|
|
39
|
+
from .mcp_server_tool_result_content import MCPServerToolResultContent
|
|
40
|
+
|
|
41
|
+
__all__ = ["Turn", "ContentUnionMember1"]
|
|
42
|
+
|
|
43
|
+
ContentUnionMember1: TypeAlias = Annotated[
|
|
44
|
+
Union[
|
|
45
|
+
TextContent,
|
|
46
|
+
ImageContent,
|
|
47
|
+
AudioContent,
|
|
48
|
+
DocumentContent,
|
|
49
|
+
VideoContent,
|
|
50
|
+
ThoughtContent,
|
|
51
|
+
FunctionCallContent,
|
|
52
|
+
FunctionResultContent,
|
|
53
|
+
CodeExecutionCallContent,
|
|
54
|
+
CodeExecutionResultContent,
|
|
55
|
+
URLContextCallContent,
|
|
56
|
+
URLContextResultContent,
|
|
57
|
+
GoogleSearchCallContent,
|
|
58
|
+
GoogleSearchResultContent,
|
|
59
|
+
MCPServerToolCallContent,
|
|
60
|
+
MCPServerToolResultContent,
|
|
61
|
+
FileSearchResultContent,
|
|
62
|
+
],
|
|
63
|
+
PropertyInfo(discriminator="type"),
|
|
64
|
+
]
|
|
65
|
+
|
|
66
|
+
|
|
67
|
+
class Turn(BaseModel):
|
|
68
|
+
content: Union[str, List[ContentUnionMember1], None] = None
|
|
69
|
+
"""The content of the turn."""
|
|
70
|
+
|
|
71
|
+
role: Optional[str] = None
|
|
72
|
+
"""The originator of this turn.
|
|
73
|
+
|
|
74
|
+
Must be user for input or model for
|
|
75
|
+
model output.
|
|
76
|
+
"""
|