google-genai 1.56.0__py3-none-any.whl → 1.58.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/_api_client.py +49 -26
- google/genai/_interactions/__init__.py +3 -0
- google/genai/_interactions/_base_client.py +1 -1
- google/genai/_interactions/_client.py +57 -3
- google/genai/_interactions/_client_adapter.py +48 -0
- google/genai/_interactions/types/__init__.py +6 -0
- google/genai/_interactions/types/audio_content.py +2 -0
- google/genai/_interactions/types/audio_content_param.py +2 -0
- google/genai/_interactions/types/content.py +65 -0
- google/genai/_interactions/types/content_delta.py +10 -2
- google/genai/_interactions/types/content_param.py +63 -0
- google/genai/_interactions/types/content_start.py +5 -46
- google/genai/_interactions/types/content_stop.py +1 -2
- google/genai/_interactions/types/document_content.py +2 -0
- google/genai/_interactions/types/document_content_param.py +2 -0
- google/genai/_interactions/types/error_event.py +1 -2
- google/genai/_interactions/types/file_search_call_content.py +32 -0
- google/genai/_interactions/types/file_search_call_content_param.py +31 -0
- google/genai/_interactions/types/generation_config.py +4 -0
- google/genai/_interactions/types/generation_config_param.py +4 -0
- google/genai/_interactions/types/image_config.py +31 -0
- google/genai/_interactions/types/image_config_param.py +30 -0
- google/genai/_interactions/types/image_content.py +2 -0
- google/genai/_interactions/types/image_content_param.py +2 -0
- google/genai/_interactions/types/interaction.py +6 -52
- google/genai/_interactions/types/interaction_create_params.py +4 -22
- google/genai/_interactions/types/interaction_event.py +1 -2
- google/genai/_interactions/types/interaction_sse_event.py +5 -3
- google/genai/_interactions/types/interaction_status_update.py +1 -2
- google/genai/_interactions/types/model.py +1 -0
- google/genai/_interactions/types/model_param.py +1 -0
- google/genai/_interactions/types/turn.py +3 -44
- google/genai/_interactions/types/turn_param.py +4 -40
- google/genai/_interactions/types/usage.py +1 -1
- google/genai/_interactions/types/usage_param.py +1 -1
- google/genai/_interactions/types/video_content.py +2 -0
- google/genai/_interactions/types/video_content_param.py +2 -0
- google/genai/_live_converters.py +118 -34
- google/genai/_local_tokenizer_loader.py +1 -0
- google/genai/_tokens_converters.py +14 -14
- google/genai/_transformers.py +15 -21
- google/genai/batches.py +27 -22
- google/genai/caches.py +42 -42
- google/genai/chats.py +0 -2
- google/genai/client.py +61 -55
- google/genai/files.py +224 -0
- google/genai/live.py +1 -1
- google/genai/models.py +56 -44
- 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 +598 -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 +221 -0
- google/genai/tests/client/test_custom_client.py +104 -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_register.py +272 -0
- google/genai/tests/files/test_register_table.py +70 -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/test_auth.py +476 -0
- google/genai/tests/interactions/test_integration.py +84 -0
- google/genai/tests/interactions/test_paths.py +105 -0
- google/genai/tests/live/__init__.py +16 -0
- google/genai/tests/live/test_live.py +2143 -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 +2501 -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 +246 -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 +84 -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/types.py +631 -488
- google/genai/version.py +1 -1
- {google_genai-1.56.0.dist-info → google_genai-1.58.0.dist-info}/METADATA +6 -11
- google_genai-1.58.0.dist-info/RECORD +358 -0
- google_genai-1.56.0.dist-info/RECORD +0 -162
- /google/genai/{_interactions/py.typed → tests/interactions/__init__.py} +0 -0
- {google_genai-1.56.0.dist-info → google_genai-1.58.0.dist-info}/WHEEL +0 -0
- {google_genai-1.56.0.dist-info → google_genai-1.58.0.dist-info}/licenses/LICENSE +0 -0
- {google_genai-1.56.0.dist-info → google_genai-1.58.0.dist-info}/top_level.txt +0 -0
|
@@ -30,8 +30,10 @@ class DocumentContent(BaseModel):
|
|
|
30
30
|
type: Literal["document"]
|
|
31
31
|
|
|
32
32
|
data: Optional[str] = None
|
|
33
|
+
"""The document content."""
|
|
33
34
|
|
|
34
35
|
mime_type: Optional[DocumentMimeType] = None
|
|
35
36
|
"""The mime type of the document."""
|
|
36
37
|
|
|
37
38
|
uri: Optional[str] = None
|
|
39
|
+
"""The URI of the document."""
|
|
@@ -34,11 +34,13 @@ class DocumentContentParam(TypedDict, total=False):
|
|
|
34
34
|
type: Required[Literal["document"]]
|
|
35
35
|
|
|
36
36
|
data: Annotated[Union[str, Base64FileInput], PropertyInfo(format="base64")]
|
|
37
|
+
"""The document content."""
|
|
37
38
|
|
|
38
39
|
mime_type: DocumentMimeTypeParam
|
|
39
40
|
"""The mime type of the document."""
|
|
40
41
|
|
|
41
42
|
uri: str
|
|
43
|
+
"""The URI of the document."""
|
|
42
44
|
|
|
43
45
|
|
|
44
46
|
set_pydantic_config(DocumentContentParam, {"arbitrary_types_allowed": True})
|
|
@@ -39,8 +39,7 @@ class ErrorEvent(BaseModel):
|
|
|
39
39
|
|
|
40
40
|
event_id: Optional[str] = None
|
|
41
41
|
"""
|
|
42
|
-
The event_id token to be used to resume the interaction stream, from
|
|
43
|
-
this event.
|
|
42
|
+
The event_id token to be used to resume the interaction stream, from this event.
|
|
44
43
|
"""
|
|
45
44
|
|
|
46
45
|
event_type: Optional[Literal["error"]] = None
|
|
@@ -0,0 +1,32 @@
|
|
|
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
|
+
from typing_extensions import Literal
|
|
20
|
+
|
|
21
|
+
from .._models import BaseModel
|
|
22
|
+
|
|
23
|
+
__all__ = ["FileSearchCallContent"]
|
|
24
|
+
|
|
25
|
+
|
|
26
|
+
class FileSearchCallContent(BaseModel):
|
|
27
|
+
"""File Search content."""
|
|
28
|
+
|
|
29
|
+
type: Literal["file_search_call"]
|
|
30
|
+
|
|
31
|
+
id: Optional[str] = None
|
|
32
|
+
"""A unique ID for this specific tool call."""
|
|
@@ -0,0 +1,31 @@
|
|
|
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 Literal, Required, TypedDict
|
|
21
|
+
|
|
22
|
+
__all__ = ["FileSearchCallContentParam"]
|
|
23
|
+
|
|
24
|
+
|
|
25
|
+
class FileSearchCallContentParam(TypedDict, total=False):
|
|
26
|
+
"""File Search content."""
|
|
27
|
+
|
|
28
|
+
type: Required[Literal["file_search_call"]]
|
|
29
|
+
|
|
30
|
+
id: str
|
|
31
|
+
"""A unique ID for this specific tool call."""
|
|
@@ -20,6 +20,7 @@ from typing_extensions import Literal
|
|
|
20
20
|
|
|
21
21
|
from .._models import BaseModel
|
|
22
22
|
from .tool_choice import ToolChoice
|
|
23
|
+
from .image_config import ImageConfig
|
|
23
24
|
from .speech_config import SpeechConfig
|
|
24
25
|
from .thinking_level import ThinkingLevel
|
|
25
26
|
|
|
@@ -29,6 +30,9 @@ __all__ = ["GenerationConfig"]
|
|
|
29
30
|
class GenerationConfig(BaseModel):
|
|
30
31
|
"""Configuration parameters for model interactions."""
|
|
31
32
|
|
|
33
|
+
image_config: Optional[ImageConfig] = None
|
|
34
|
+
"""Configuration for image interaction."""
|
|
35
|
+
|
|
32
36
|
max_output_tokens: Optional[int] = None
|
|
33
37
|
"""The maximum number of tokens to include in the response."""
|
|
34
38
|
|
|
@@ -23,6 +23,7 @@ from typing_extensions import Literal, TypedDict
|
|
|
23
23
|
from .._types import SequenceNotStr
|
|
24
24
|
from .thinking_level import ThinkingLevel
|
|
25
25
|
from .tool_choice_param import ToolChoiceParam
|
|
26
|
+
from .image_config_param import ImageConfigParam
|
|
26
27
|
from .speech_config_param import SpeechConfigParam
|
|
27
28
|
|
|
28
29
|
__all__ = ["GenerationConfigParam"]
|
|
@@ -31,6 +32,9 @@ __all__ = ["GenerationConfigParam"]
|
|
|
31
32
|
class GenerationConfigParam(TypedDict, total=False):
|
|
32
33
|
"""Configuration parameters for model interactions."""
|
|
33
34
|
|
|
35
|
+
image_config: ImageConfigParam
|
|
36
|
+
"""Configuration for image interaction."""
|
|
37
|
+
|
|
34
38
|
max_output_tokens: int
|
|
35
39
|
"""The maximum number of tokens to include in the response."""
|
|
36
40
|
|
|
@@ -0,0 +1,31 @@
|
|
|
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
|
+
from typing_extensions import Literal
|
|
20
|
+
|
|
21
|
+
from .._models import BaseModel
|
|
22
|
+
|
|
23
|
+
__all__ = ["ImageConfig"]
|
|
24
|
+
|
|
25
|
+
|
|
26
|
+
class ImageConfig(BaseModel):
|
|
27
|
+
"""The configuration for image interaction."""
|
|
28
|
+
|
|
29
|
+
aspect_ratio: Optional[Literal["1:1", "2:3", "3:2", "3:4", "4:3", "9:16", "16:9", "21:9"]] = None
|
|
30
|
+
|
|
31
|
+
image_size: Optional[Literal["1K", "2K", "4K"]] = None
|
|
@@ -0,0 +1,30 @@
|
|
|
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 Literal, TypedDict
|
|
21
|
+
|
|
22
|
+
__all__ = ["ImageConfigParam"]
|
|
23
|
+
|
|
24
|
+
|
|
25
|
+
class ImageConfigParam(TypedDict, total=False):
|
|
26
|
+
"""The configuration for image interaction."""
|
|
27
|
+
|
|
28
|
+
aspect_ratio: Literal["1:1", "2:3", "3:2", "3:4", "4:3", "9:16", "16:9", "21:9"]
|
|
29
|
+
|
|
30
|
+
image_size: Literal["1K", "2K", "4K"]
|
|
@@ -30,6 +30,7 @@ class ImageContent(BaseModel):
|
|
|
30
30
|
type: Literal["image"]
|
|
31
31
|
|
|
32
32
|
data: Optional[str] = None
|
|
33
|
+
"""The image content."""
|
|
33
34
|
|
|
34
35
|
mime_type: Optional[ImageMimeType] = None
|
|
35
36
|
"""The mime type of the image."""
|
|
@@ -38,3 +39,4 @@ class ImageContent(BaseModel):
|
|
|
38
39
|
"""The resolution of the media."""
|
|
39
40
|
|
|
40
41
|
uri: Optional[str] = None
|
|
42
|
+
"""The URI of the image."""
|
|
@@ -34,6 +34,7 @@ class ImageContentParam(TypedDict, total=False):
|
|
|
34
34
|
type: Required[Literal["image"]]
|
|
35
35
|
|
|
36
36
|
data: Annotated[Union[str, Base64FileInput], PropertyInfo(format="base64")]
|
|
37
|
+
"""The image content."""
|
|
37
38
|
|
|
38
39
|
mime_type: ImageMimeTypeParam
|
|
39
40
|
"""The mime type of the image."""
|
|
@@ -42,6 +43,7 @@ class ImageContentParam(TypedDict, total=False):
|
|
|
42
43
|
"""The resolution of the media."""
|
|
43
44
|
|
|
44
45
|
uri: str
|
|
46
|
+
"""The URI of the image."""
|
|
45
47
|
|
|
46
48
|
|
|
47
49
|
set_pydantic_config(ImageContentParam, {"arbitrary_types_allowed": True})
|
|
@@ -23,6 +23,7 @@ from .turn import Turn
|
|
|
23
23
|
from .model import Model
|
|
24
24
|
from .usage import Usage
|
|
25
25
|
from .._utils import PropertyInfo
|
|
26
|
+
from .content import Content
|
|
26
27
|
from .._models import BaseModel
|
|
27
28
|
from .text_content import TextContent
|
|
28
29
|
from .audio_content import AudioContent
|
|
@@ -33,6 +34,7 @@ from .document_content import DocumentContent
|
|
|
33
34
|
from .dynamic_agent_config import DynamicAgentConfig
|
|
34
35
|
from .function_call_content import FunctionCallContent
|
|
35
36
|
from .function_result_content import FunctionResultContent
|
|
37
|
+
from .file_search_call_content import FileSearchCallContent
|
|
36
38
|
from .url_context_call_content import URLContextCallContent
|
|
37
39
|
from .deep_research_agent_config import DeepResearchAgentConfig
|
|
38
40
|
from .file_search_result_content import FileSearchResultContent
|
|
@@ -44,38 +46,15 @@ from .mcp_server_tool_call_content import MCPServerToolCallContent
|
|
|
44
46
|
from .code_execution_result_content import CodeExecutionResultContent
|
|
45
47
|
from .mcp_server_tool_result_content import MCPServerToolResultContent
|
|
46
48
|
|
|
47
|
-
__all__ = ["Interaction", "AgentConfig", "Input"
|
|
49
|
+
__all__ = ["Interaction", "AgentConfig", "Input"]
|
|
48
50
|
|
|
49
51
|
AgentConfig: TypeAlias = Annotated[
|
|
50
52
|
Union[DynamicAgentConfig, DeepResearchAgentConfig], PropertyInfo(discriminator="type")
|
|
51
53
|
]
|
|
52
54
|
|
|
53
|
-
InputContentList: TypeAlias = Annotated[
|
|
54
|
-
Union[
|
|
55
|
-
TextContent,
|
|
56
|
-
ImageContent,
|
|
57
|
-
AudioContent,
|
|
58
|
-
DocumentContent,
|
|
59
|
-
VideoContent,
|
|
60
|
-
ThoughtContent,
|
|
61
|
-
FunctionCallContent,
|
|
62
|
-
FunctionResultContent,
|
|
63
|
-
CodeExecutionCallContent,
|
|
64
|
-
CodeExecutionResultContent,
|
|
65
|
-
URLContextCallContent,
|
|
66
|
-
URLContextResultContent,
|
|
67
|
-
GoogleSearchCallContent,
|
|
68
|
-
GoogleSearchResultContent,
|
|
69
|
-
MCPServerToolCallContent,
|
|
70
|
-
MCPServerToolResultContent,
|
|
71
|
-
FileSearchResultContent,
|
|
72
|
-
],
|
|
73
|
-
PropertyInfo(discriminator="type"),
|
|
74
|
-
]
|
|
75
|
-
|
|
76
55
|
Input: TypeAlias = Union[
|
|
77
56
|
str,
|
|
78
|
-
List[
|
|
57
|
+
List[Content],
|
|
79
58
|
List[Turn],
|
|
80
59
|
TextContent,
|
|
81
60
|
ImageContent,
|
|
@@ -93,32 +72,10 @@ Input: TypeAlias = Union[
|
|
|
93
72
|
GoogleSearchResultContent,
|
|
94
73
|
MCPServerToolCallContent,
|
|
95
74
|
MCPServerToolResultContent,
|
|
75
|
+
FileSearchCallContent,
|
|
96
76
|
FileSearchResultContent,
|
|
97
77
|
]
|
|
98
78
|
|
|
99
|
-
Output: TypeAlias = Annotated[
|
|
100
|
-
Union[
|
|
101
|
-
TextContent,
|
|
102
|
-
ImageContent,
|
|
103
|
-
AudioContent,
|
|
104
|
-
DocumentContent,
|
|
105
|
-
VideoContent,
|
|
106
|
-
ThoughtContent,
|
|
107
|
-
FunctionCallContent,
|
|
108
|
-
FunctionResultContent,
|
|
109
|
-
CodeExecutionCallContent,
|
|
110
|
-
CodeExecutionResultContent,
|
|
111
|
-
URLContextCallContent,
|
|
112
|
-
URLContextResultContent,
|
|
113
|
-
GoogleSearchCallContent,
|
|
114
|
-
GoogleSearchResultContent,
|
|
115
|
-
MCPServerToolCallContent,
|
|
116
|
-
MCPServerToolResultContent,
|
|
117
|
-
FileSearchResultContent,
|
|
118
|
-
],
|
|
119
|
-
PropertyInfo(discriminator="type"),
|
|
120
|
-
]
|
|
121
|
-
|
|
122
79
|
|
|
123
80
|
class Interaction(BaseModel):
|
|
124
81
|
"""The Interaction resource."""
|
|
@@ -142,10 +99,7 @@ class Interaction(BaseModel):
|
|
|
142
99
|
model: Optional[Model] = None
|
|
143
100
|
"""The name of the `Model` used for generating the interaction."""
|
|
144
101
|
|
|
145
|
-
|
|
146
|
-
"""Output only. The object type of the interaction. Always set to `interaction`."""
|
|
147
|
-
|
|
148
|
-
outputs: Optional[List[Output]] = None
|
|
102
|
+
outputs: Optional[List[Content]] = None
|
|
149
103
|
"""Output only. Responses from the model."""
|
|
150
104
|
|
|
151
105
|
previous_interaction_id: Optional[str] = None
|
|
@@ -23,6 +23,7 @@ from typing_extensions import Literal, Required, TypeAlias, TypedDict
|
|
|
23
23
|
from .tool_param import ToolParam
|
|
24
24
|
from .turn_param import TurnParam
|
|
25
25
|
from .model_param import ModelParam
|
|
26
|
+
from .content_param import ContentParam
|
|
26
27
|
from .text_content_param import TextContentParam
|
|
27
28
|
from .audio_content_param import AudioContentParam
|
|
28
29
|
from .image_content_param import ImageContentParam
|
|
@@ -33,6 +34,7 @@ from .generation_config_param import GenerationConfigParam
|
|
|
33
34
|
from .dynamic_agent_config_param import DynamicAgentConfigParam
|
|
34
35
|
from .function_call_content_param import FunctionCallContentParam
|
|
35
36
|
from .function_result_content_param import FunctionResultContentParam
|
|
37
|
+
from .file_search_call_content_param import FileSearchCallContentParam
|
|
36
38
|
from .url_context_call_content_param import URLContextCallContentParam
|
|
37
39
|
from .deep_research_agent_config_param import DeepResearchAgentConfigParam
|
|
38
40
|
from .file_search_result_content_param import FileSearchResultContentParam
|
|
@@ -47,7 +49,6 @@ from .mcp_server_tool_result_content_param import MCPServerToolResultContentPara
|
|
|
47
49
|
__all__ = [
|
|
48
50
|
"BaseCreateModelInteractionParams",
|
|
49
51
|
"Input",
|
|
50
|
-
"ContentList",
|
|
51
52
|
"BaseCreateAgentInteractionParams",
|
|
52
53
|
"AgentConfig",
|
|
53
54
|
"CreateModelInteractionParamsNonStreaming",
|
|
@@ -97,29 +98,9 @@ class BaseCreateModelInteractionParams(TypedDict, total=False):
|
|
|
97
98
|
"""A list of tool declarations the model may call during interaction."""
|
|
98
99
|
|
|
99
100
|
|
|
100
|
-
ContentList: TypeAlias = Union[
|
|
101
|
-
TextContentParam,
|
|
102
|
-
ImageContentParam,
|
|
103
|
-
AudioContentParam,
|
|
104
|
-
DocumentContentParam,
|
|
105
|
-
VideoContentParam,
|
|
106
|
-
ThoughtContentParam,
|
|
107
|
-
FunctionCallContentParam,
|
|
108
|
-
FunctionResultContentParam,
|
|
109
|
-
CodeExecutionCallContentParam,
|
|
110
|
-
CodeExecutionResultContentParam,
|
|
111
|
-
URLContextCallContentParam,
|
|
112
|
-
URLContextResultContentParam,
|
|
113
|
-
GoogleSearchCallContentParam,
|
|
114
|
-
GoogleSearchResultContentParam,
|
|
115
|
-
MCPServerToolCallContentParam,
|
|
116
|
-
MCPServerToolResultContentParam,
|
|
117
|
-
FileSearchResultContentParam,
|
|
118
|
-
]
|
|
119
|
-
|
|
120
101
|
Input: TypeAlias = Union[
|
|
121
102
|
str,
|
|
122
|
-
Iterable[
|
|
103
|
+
Iterable[ContentParam],
|
|
123
104
|
Iterable[TurnParam],
|
|
124
105
|
TextContentParam,
|
|
125
106
|
ImageContentParam,
|
|
@@ -137,6 +118,7 @@ Input: TypeAlias = Union[
|
|
|
137
118
|
GoogleSearchResultContentParam,
|
|
138
119
|
MCPServerToolCallContentParam,
|
|
139
120
|
MCPServerToolResultContentParam,
|
|
121
|
+
FileSearchCallContentParam,
|
|
140
122
|
FileSearchResultContentParam,
|
|
141
123
|
]
|
|
142
124
|
|
|
@@ -27,8 +27,7 @@ __all__ = ["InteractionEvent"]
|
|
|
27
27
|
class InteractionEvent(BaseModel):
|
|
28
28
|
event_id: Optional[str] = None
|
|
29
29
|
"""
|
|
30
|
-
The event_id token to be used to resume the interaction stream, from
|
|
31
|
-
this event.
|
|
30
|
+
The event_id token to be used to resume the interaction stream, from this event.
|
|
32
31
|
"""
|
|
33
32
|
|
|
34
33
|
event_type: Optional[Literal["interaction.start", "interaction.complete"]] = None
|
|
@@ -16,8 +16,9 @@
|
|
|
16
16
|
# File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
|
|
17
17
|
|
|
18
18
|
from typing import Union
|
|
19
|
-
from typing_extensions import TypeAlias
|
|
19
|
+
from typing_extensions import Annotated, TypeAlias
|
|
20
20
|
|
|
21
|
+
from .._utils import PropertyInfo
|
|
21
22
|
from .error_event import ErrorEvent
|
|
22
23
|
from .content_stop import ContentStop
|
|
23
24
|
from .content_delta import ContentDelta
|
|
@@ -27,6 +28,7 @@ from .interaction_status_update import InteractionStatusUpdate
|
|
|
27
28
|
|
|
28
29
|
__all__ = ["InteractionSSEEvent"]
|
|
29
30
|
|
|
30
|
-
InteractionSSEEvent: TypeAlias =
|
|
31
|
-
InteractionEvent, InteractionStatusUpdate, ContentStart, ContentDelta, ContentStop, ErrorEvent
|
|
31
|
+
InteractionSSEEvent: TypeAlias = Annotated[
|
|
32
|
+
Union[InteractionEvent, InteractionStatusUpdate, ContentStart, ContentDelta, ContentStop, ErrorEvent],
|
|
33
|
+
PropertyInfo(discriminator="event_type"),
|
|
32
34
|
]
|
|
@@ -26,8 +26,7 @@ __all__ = ["InteractionStatusUpdate"]
|
|
|
26
26
|
class InteractionStatusUpdate(BaseModel):
|
|
27
27
|
event_id: Optional[str] = None
|
|
28
28
|
"""
|
|
29
|
-
The event_id token to be used to resume the interaction stream, from
|
|
30
|
-
this event.
|
|
29
|
+
The event_id token to be used to resume the interaction stream, from this event.
|
|
31
30
|
"""
|
|
32
31
|
|
|
33
32
|
event_type: Optional[Literal["interaction.status_update"]] = None
|
|
@@ -16,56 +16,15 @@
|
|
|
16
16
|
# File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
|
|
17
17
|
|
|
18
18
|
from typing import List, Union, Optional
|
|
19
|
-
from typing_extensions import Annotated, TypeAlias
|
|
20
19
|
|
|
21
|
-
from
|
|
20
|
+
from .content import Content
|
|
22
21
|
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
22
|
|
|
41
|
-
__all__ = ["Turn"
|
|
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
|
-
]
|
|
23
|
+
__all__ = ["Turn"]
|
|
65
24
|
|
|
66
25
|
|
|
67
26
|
class Turn(BaseModel):
|
|
68
|
-
content: Union[str, List[
|
|
27
|
+
content: Union[str, List[Content], None] = None
|
|
69
28
|
"""The content of the turn."""
|
|
70
29
|
|
|
71
30
|
role: Optional[str] = None
|
|
@@ -18,51 +18,15 @@
|
|
|
18
18
|
from __future__ import annotations
|
|
19
19
|
|
|
20
20
|
from typing import Union, Iterable
|
|
21
|
-
from typing_extensions import
|
|
21
|
+
from typing_extensions import TypedDict
|
|
22
22
|
|
|
23
|
-
from .
|
|
24
|
-
from .audio_content_param import AudioContentParam
|
|
25
|
-
from .image_content_param import ImageContentParam
|
|
26
|
-
from .video_content_param import VideoContentParam
|
|
27
|
-
from .thought_content_param import ThoughtContentParam
|
|
28
|
-
from .document_content_param import DocumentContentParam
|
|
29
|
-
from .function_call_content_param import FunctionCallContentParam
|
|
30
|
-
from .function_result_content_param import FunctionResultContentParam
|
|
31
|
-
from .url_context_call_content_param import URLContextCallContentParam
|
|
32
|
-
from .file_search_result_content_param import FileSearchResultContentParam
|
|
33
|
-
from .google_search_call_content_param import GoogleSearchCallContentParam
|
|
34
|
-
from .url_context_result_content_param import URLContextResultContentParam
|
|
35
|
-
from .code_execution_call_content_param import CodeExecutionCallContentParam
|
|
36
|
-
from .google_search_result_content_param import GoogleSearchResultContentParam
|
|
37
|
-
from .mcp_server_tool_call_content_param import MCPServerToolCallContentParam
|
|
38
|
-
from .code_execution_result_content_param import CodeExecutionResultContentParam
|
|
39
|
-
from .mcp_server_tool_result_content_param import MCPServerToolResultContentParam
|
|
23
|
+
from .content_param import ContentParam
|
|
40
24
|
|
|
41
|
-
__all__ = ["TurnParam"
|
|
42
|
-
|
|
43
|
-
ContentUnionMember1: TypeAlias = Union[
|
|
44
|
-
TextContentParam,
|
|
45
|
-
ImageContentParam,
|
|
46
|
-
AudioContentParam,
|
|
47
|
-
DocumentContentParam,
|
|
48
|
-
VideoContentParam,
|
|
49
|
-
ThoughtContentParam,
|
|
50
|
-
FunctionCallContentParam,
|
|
51
|
-
FunctionResultContentParam,
|
|
52
|
-
CodeExecutionCallContentParam,
|
|
53
|
-
CodeExecutionResultContentParam,
|
|
54
|
-
URLContextCallContentParam,
|
|
55
|
-
URLContextResultContentParam,
|
|
56
|
-
GoogleSearchCallContentParam,
|
|
57
|
-
GoogleSearchResultContentParam,
|
|
58
|
-
MCPServerToolCallContentParam,
|
|
59
|
-
MCPServerToolResultContentParam,
|
|
60
|
-
FileSearchResultContentParam,
|
|
61
|
-
]
|
|
25
|
+
__all__ = ["TurnParam"]
|
|
62
26
|
|
|
63
27
|
|
|
64
28
|
class TurnParam(TypedDict, total=False):
|
|
65
|
-
content: Union[str, Iterable[
|
|
29
|
+
content: Union[str, Iterable[ContentParam]]
|
|
66
30
|
"""The content of the turn."""
|
|
67
31
|
|
|
68
32
|
role: str
|
|
@@ -93,7 +93,7 @@ class Usage(BaseModel):
|
|
|
93
93
|
total_output_tokens: Optional[int] = None
|
|
94
94
|
"""Total number of tokens across all the generated responses."""
|
|
95
95
|
|
|
96
|
-
|
|
96
|
+
total_thought_tokens: Optional[int] = None
|
|
97
97
|
"""Number of tokens of thoughts for thinking models."""
|
|
98
98
|
|
|
99
99
|
total_tokens: Optional[int] = None
|
|
@@ -93,7 +93,7 @@ class UsageParam(TypedDict, total=False):
|
|
|
93
93
|
total_output_tokens: int
|
|
94
94
|
"""Total number of tokens across all the generated responses."""
|
|
95
95
|
|
|
96
|
-
|
|
96
|
+
total_thought_tokens: int
|
|
97
97
|
"""Number of tokens of thoughts for thinking models."""
|
|
98
98
|
|
|
99
99
|
total_tokens: int
|
|
@@ -30,6 +30,7 @@ class VideoContent(BaseModel):
|
|
|
30
30
|
type: Literal["video"]
|
|
31
31
|
|
|
32
32
|
data: Optional[str] = None
|
|
33
|
+
"""The video content."""
|
|
33
34
|
|
|
34
35
|
mime_type: Optional[VideoMimeType] = None
|
|
35
36
|
"""The mime type of the video."""
|
|
@@ -38,3 +39,4 @@ class VideoContent(BaseModel):
|
|
|
38
39
|
"""The resolution of the media."""
|
|
39
40
|
|
|
40
41
|
uri: Optional[str] = None
|
|
42
|
+
"""The URI of the video."""
|
|
@@ -34,6 +34,7 @@ class VideoContentParam(TypedDict, total=False):
|
|
|
34
34
|
type: Required[Literal["video"]]
|
|
35
35
|
|
|
36
36
|
data: Annotated[Union[str, Base64FileInput], PropertyInfo(format="base64")]
|
|
37
|
+
"""The video content."""
|
|
37
38
|
|
|
38
39
|
mime_type: VideoMimeTypeParam
|
|
39
40
|
"""The mime type of the video."""
|
|
@@ -42,6 +43,7 @@ class VideoContentParam(TypedDict, total=False):
|
|
|
42
43
|
"""The resolution of the media."""
|
|
43
44
|
|
|
44
45
|
uri: str
|
|
46
|
+
"""The URI of the video."""
|
|
45
47
|
|
|
46
48
|
|
|
47
49
|
set_pydantic_config(VideoContentParam, {"arbitrary_types_allowed": True})
|