google-genai 1.54.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.
Files changed (319) hide show
  1. google/genai/__init__.py +1 -0
  2. google/genai/_interactions/__init__.py +117 -0
  3. google/genai/_interactions/_base_client.py +2019 -0
  4. google/genai/_interactions/_client.py +511 -0
  5. google/genai/_interactions/_compat.py +234 -0
  6. google/genai/_interactions/_constants.py +29 -0
  7. google/genai/_interactions/_exceptions.py +122 -0
  8. google/genai/_interactions/_files.py +139 -0
  9. google/genai/_interactions/_models.py +873 -0
  10. google/genai/_interactions/_qs.py +165 -0
  11. google/genai/_interactions/_resource.py +58 -0
  12. google/genai/_interactions/_response.py +847 -0
  13. google/genai/_interactions/_streaming.py +354 -0
  14. google/genai/_interactions/_types.py +276 -0
  15. google/genai/_interactions/_utils/__init__.py +79 -0
  16. google/genai/_interactions/_utils/_compat.py +61 -0
  17. google/genai/_interactions/_utils/_datetime_parse.py +151 -0
  18. google/genai/_interactions/_utils/_logs.py +40 -0
  19. google/genai/_interactions/_utils/_proxy.py +80 -0
  20. google/genai/_interactions/_utils/_reflection.py +57 -0
  21. google/genai/_interactions/_utils/_resources_proxy.py +39 -0
  22. google/genai/_interactions/_utils/_streams.py +27 -0
  23. google/genai/_interactions/_utils/_sync.py +73 -0
  24. google/genai/_interactions/_utils/_transform.py +472 -0
  25. google/genai/_interactions/_utils/_typing.py +172 -0
  26. google/genai/_interactions/_utils/_utils.py +437 -0
  27. google/genai/_interactions/_version.py +18 -0
  28. google/genai/_interactions/resources/__init__.py +34 -0
  29. google/genai/_interactions/resources/interactions.py +1350 -0
  30. google/genai/_interactions/types/__init__.py +107 -0
  31. google/genai/_interactions/types/allowed_tools.py +33 -0
  32. google/genai/_interactions/types/allowed_tools_param.py +35 -0
  33. google/genai/_interactions/types/annotation.py +42 -0
  34. google/genai/_interactions/types/annotation_param.py +42 -0
  35. google/genai/_interactions/types/audio_content.py +38 -0
  36. google/genai/_interactions/types/audio_content_param.py +45 -0
  37. google/genai/_interactions/types/audio_mime_type.py +25 -0
  38. google/genai/_interactions/types/audio_mime_type_param.py +27 -0
  39. google/genai/_interactions/types/code_execution_call_arguments.py +33 -0
  40. google/genai/_interactions/types/code_execution_call_arguments_param.py +32 -0
  41. google/genai/_interactions/types/code_execution_call_content.py +37 -0
  42. google/genai/_interactions/types/code_execution_call_content_param.py +37 -0
  43. google/genai/_interactions/types/code_execution_result_content.py +42 -0
  44. google/genai/_interactions/types/code_execution_result_content_param.py +41 -0
  45. google/genai/_interactions/types/content_delta.py +358 -0
  46. google/genai/_interactions/types/content_start.py +79 -0
  47. google/genai/_interactions/types/content_stop.py +35 -0
  48. google/genai/_interactions/types/deep_research_agent_config.py +33 -0
  49. google/genai/_interactions/types/deep_research_agent_config_param.py +32 -0
  50. google/genai/_interactions/types/document_content.py +36 -0
  51. google/genai/_interactions/types/document_content_param.py +43 -0
  52. google/genai/_interactions/types/dynamic_agent_config.py +44 -0
  53. google/genai/_interactions/types/dynamic_agent_config_param.py +33 -0
  54. google/genai/_interactions/types/error_event.py +46 -0
  55. google/genai/_interactions/types/file_search_result_content.py +46 -0
  56. google/genai/_interactions/types/file_search_result_content_param.py +46 -0
  57. google/genai/_interactions/types/function.py +38 -0
  58. google/genai/_interactions/types/function_call_content.py +39 -0
  59. google/genai/_interactions/types/function_call_content_param.py +39 -0
  60. google/genai/_interactions/types/function_param.py +37 -0
  61. google/genai/_interactions/types/function_result_content.py +52 -0
  62. google/genai/_interactions/types/function_result_content_param.py +54 -0
  63. google/genai/_interactions/types/generation_config.py +57 -0
  64. google/genai/_interactions/types/generation_config_param.py +59 -0
  65. google/genai/_interactions/types/google_search_call_arguments.py +29 -0
  66. google/genai/_interactions/types/google_search_call_arguments_param.py +31 -0
  67. google/genai/_interactions/types/google_search_call_content.py +37 -0
  68. google/genai/_interactions/types/google_search_call_content_param.py +37 -0
  69. google/genai/_interactions/types/google_search_result.py +35 -0
  70. google/genai/_interactions/types/google_search_result_content.py +43 -0
  71. google/genai/_interactions/types/google_search_result_content_param.py +44 -0
  72. google/genai/_interactions/types/google_search_result_param.py +35 -0
  73. google/genai/_interactions/types/image_content.py +41 -0
  74. google/genai/_interactions/types/image_content_param.py +48 -0
  75. google/genai/_interactions/types/image_mime_type.py +23 -0
  76. google/genai/_interactions/types/image_mime_type_param.py +25 -0
  77. google/genai/_interactions/types/interaction.py +165 -0
  78. google/genai/_interactions/types/interaction_create_params.py +212 -0
  79. google/genai/_interactions/types/interaction_event.py +37 -0
  80. google/genai/_interactions/types/interaction_get_params.py +46 -0
  81. google/genai/_interactions/types/interaction_sse_event.py +32 -0
  82. google/genai/_interactions/types/interaction_status_update.py +37 -0
  83. google/genai/_interactions/types/mcp_server_tool_call_content.py +42 -0
  84. google/genai/_interactions/types/mcp_server_tool_call_content_param.py +42 -0
  85. google/genai/_interactions/types/mcp_server_tool_result_content.py +52 -0
  86. google/genai/_interactions/types/mcp_server_tool_result_content_param.py +54 -0
  87. google/genai/_interactions/types/model.py +36 -0
  88. google/genai/_interactions/types/model_param.py +38 -0
  89. google/genai/_interactions/types/speech_config.py +35 -0
  90. google/genai/_interactions/types/speech_config_param.py +35 -0
  91. google/genai/_interactions/types/text_content.py +37 -0
  92. google/genai/_interactions/types/text_content_param.py +38 -0
  93. google/genai/_interactions/types/thinking_level.py +22 -0
  94. google/genai/_interactions/types/thought_content.py +41 -0
  95. google/genai/_interactions/types/thought_content_param.py +47 -0
  96. google/genai/_interactions/types/tool.py +100 -0
  97. google/genai/_interactions/types/tool_choice.py +26 -0
  98. google/genai/_interactions/types/tool_choice_config.py +28 -0
  99. google/genai/_interactions/types/tool_choice_config_param.py +29 -0
  100. google/genai/_interactions/types/tool_choice_param.py +28 -0
  101. google/genai/_interactions/types/tool_choice_type.py +22 -0
  102. google/genai/_interactions/types/tool_param.py +97 -0
  103. google/genai/_interactions/types/turn.py +76 -0
  104. google/genai/_interactions/types/turn_param.py +73 -0
  105. google/genai/_interactions/types/url_context_call_arguments.py +29 -0
  106. google/genai/_interactions/types/url_context_call_arguments_param.py +31 -0
  107. google/genai/_interactions/types/url_context_call_content.py +37 -0
  108. google/genai/_interactions/types/url_context_call_content_param.py +37 -0
  109. google/genai/_interactions/types/url_context_result.py +33 -0
  110. google/genai/_interactions/types/url_context_result_content.py +43 -0
  111. google/genai/_interactions/types/url_context_result_content_param.py +44 -0
  112. google/genai/_interactions/types/url_context_result_param.py +32 -0
  113. google/genai/_interactions/types/usage.py +106 -0
  114. google/genai/_interactions/types/usage_param.py +106 -0
  115. google/genai/_interactions/types/video_content.py +41 -0
  116. google/genai/_interactions/types/video_content_param.py +48 -0
  117. google/genai/_interactions/types/video_mime_type.py +36 -0
  118. google/genai/_interactions/types/video_mime_type_param.py +38 -0
  119. google/genai/_live_converters.py +31 -0
  120. google/genai/_tokens_converters.py +5 -0
  121. google/genai/batches.py +7 -0
  122. google/genai/client.py +223 -0
  123. google/genai/interactions.py +17 -0
  124. google/genai/live.py +4 -3
  125. google/genai/models.py +12 -0
  126. google/genai/tests/__init__.py +21 -0
  127. google/genai/tests/afc/__init__.py +21 -0
  128. google/genai/tests/afc/test_convert_if_exist_pydantic_model.py +309 -0
  129. google/genai/tests/afc/test_convert_number_values_for_function_call_args.py +63 -0
  130. google/genai/tests/afc/test_find_afc_incompatible_tool_indexes.py +240 -0
  131. google/genai/tests/afc/test_generate_content_stream_afc.py +530 -0
  132. google/genai/tests/afc/test_generate_content_stream_afc_thoughts.py +77 -0
  133. google/genai/tests/afc/test_get_function_map.py +176 -0
  134. google/genai/tests/afc/test_get_function_response_parts.py +277 -0
  135. google/genai/tests/afc/test_get_max_remote_calls_for_afc.py +130 -0
  136. google/genai/tests/afc/test_invoke_function_from_dict_args.py +241 -0
  137. google/genai/tests/afc/test_raise_error_for_afc_incompatible_config.py +159 -0
  138. google/genai/tests/afc/test_should_append_afc_history.py +53 -0
  139. google/genai/tests/afc/test_should_disable_afc.py +214 -0
  140. google/genai/tests/batches/__init__.py +17 -0
  141. google/genai/tests/batches/test_cancel.py +77 -0
  142. google/genai/tests/batches/test_create.py +78 -0
  143. google/genai/tests/batches/test_create_with_bigquery.py +113 -0
  144. google/genai/tests/batches/test_create_with_file.py +82 -0
  145. google/genai/tests/batches/test_create_with_gcs.py +125 -0
  146. google/genai/tests/batches/test_create_with_inlined_requests.py +255 -0
  147. google/genai/tests/batches/test_delete.py +86 -0
  148. google/genai/tests/batches/test_embedding.py +157 -0
  149. google/genai/tests/batches/test_get.py +78 -0
  150. google/genai/tests/batches/test_list.py +79 -0
  151. google/genai/tests/caches/__init__.py +17 -0
  152. google/genai/tests/caches/constants.py +29 -0
  153. google/genai/tests/caches/test_create.py +210 -0
  154. google/genai/tests/caches/test_create_custom_url.py +105 -0
  155. google/genai/tests/caches/test_delete.py +54 -0
  156. google/genai/tests/caches/test_delete_custom_url.py +52 -0
  157. google/genai/tests/caches/test_get.py +94 -0
  158. google/genai/tests/caches/test_get_custom_url.py +52 -0
  159. google/genai/tests/caches/test_list.py +68 -0
  160. google/genai/tests/caches/test_update.py +70 -0
  161. google/genai/tests/caches/test_update_custom_url.py +58 -0
  162. google/genai/tests/chats/__init__.py +1 -0
  163. google/genai/tests/chats/test_get_history.py +597 -0
  164. google/genai/tests/chats/test_send_message.py +844 -0
  165. google/genai/tests/chats/test_validate_response.py +90 -0
  166. google/genai/tests/client/__init__.py +17 -0
  167. google/genai/tests/client/test_async_stream.py +427 -0
  168. google/genai/tests/client/test_client_close.py +197 -0
  169. google/genai/tests/client/test_client_initialization.py +1687 -0
  170. google/genai/tests/client/test_client_requests.py +355 -0
  171. google/genai/tests/client/test_custom_client.py +77 -0
  172. google/genai/tests/client/test_http_options.py +178 -0
  173. google/genai/tests/client/test_replay_client_equality.py +168 -0
  174. google/genai/tests/client/test_retries.py +846 -0
  175. google/genai/tests/client/test_upload_errors.py +136 -0
  176. google/genai/tests/common/__init__.py +17 -0
  177. google/genai/tests/common/test_common.py +954 -0
  178. google/genai/tests/conftest.py +162 -0
  179. google/genai/tests/documents/__init__.py +17 -0
  180. google/genai/tests/documents/test_delete.py +51 -0
  181. google/genai/tests/documents/test_get.py +85 -0
  182. google/genai/tests/documents/test_list.py +72 -0
  183. google/genai/tests/errors/__init__.py +1 -0
  184. google/genai/tests/errors/test_api_error.py +417 -0
  185. google/genai/tests/file_search_stores/__init__.py +17 -0
  186. google/genai/tests/file_search_stores/test_create.py +66 -0
  187. google/genai/tests/file_search_stores/test_delete.py +64 -0
  188. google/genai/tests/file_search_stores/test_get.py +94 -0
  189. google/genai/tests/file_search_stores/test_import_file.py +112 -0
  190. google/genai/tests/file_search_stores/test_list.py +57 -0
  191. google/genai/tests/file_search_stores/test_upload_to_file_search_store.py +141 -0
  192. google/genai/tests/files/__init__.py +17 -0
  193. google/genai/tests/files/test_delete.py +46 -0
  194. google/genai/tests/files/test_download.py +85 -0
  195. google/genai/tests/files/test_get.py +46 -0
  196. google/genai/tests/files/test_list.py +72 -0
  197. google/genai/tests/files/test_upload.py +255 -0
  198. google/genai/tests/imports/test_no_optional_imports.py +28 -0
  199. google/genai/tests/interactions/__init__.py +0 -0
  200. google/genai/tests/interactions/test_integration.py +80 -0
  201. google/genai/tests/live/__init__.py +16 -0
  202. google/genai/tests/live/test_live.py +2177 -0
  203. google/genai/tests/live/test_live_music.py +362 -0
  204. google/genai/tests/live/test_live_response.py +163 -0
  205. google/genai/tests/live/test_send_client_content.py +147 -0
  206. google/genai/tests/live/test_send_realtime_input.py +268 -0
  207. google/genai/tests/live/test_send_tool_response.py +222 -0
  208. google/genai/tests/local_tokenizer/__init__.py +17 -0
  209. google/genai/tests/local_tokenizer/test_local_tokenizer.py +343 -0
  210. google/genai/tests/local_tokenizer/test_local_tokenizer_loader.py +235 -0
  211. google/genai/tests/mcp/__init__.py +17 -0
  212. google/genai/tests/mcp/test_has_mcp_tool_usage.py +89 -0
  213. google/genai/tests/mcp/test_mcp_to_gemini_tools.py +191 -0
  214. google/genai/tests/mcp/test_parse_config_for_mcp_sessions.py +201 -0
  215. google/genai/tests/mcp/test_parse_config_for_mcp_usage.py +130 -0
  216. google/genai/tests/mcp/test_set_mcp_usage_header.py +72 -0
  217. google/genai/tests/models/__init__.py +17 -0
  218. google/genai/tests/models/constants.py +8 -0
  219. google/genai/tests/models/test_compute_tokens.py +120 -0
  220. google/genai/tests/models/test_count_tokens.py +159 -0
  221. google/genai/tests/models/test_delete.py +107 -0
  222. google/genai/tests/models/test_edit_image.py +264 -0
  223. google/genai/tests/models/test_embed_content.py +94 -0
  224. google/genai/tests/models/test_function_call_streaming.py +442 -0
  225. google/genai/tests/models/test_generate_content.py +2502 -0
  226. google/genai/tests/models/test_generate_content_cached_content.py +132 -0
  227. google/genai/tests/models/test_generate_content_config_zero_value.py +103 -0
  228. google/genai/tests/models/test_generate_content_from_apikey.py +44 -0
  229. google/genai/tests/models/test_generate_content_http_options.py +40 -0
  230. google/genai/tests/models/test_generate_content_image_generation.py +143 -0
  231. google/genai/tests/models/test_generate_content_mcp.py +343 -0
  232. google/genai/tests/models/test_generate_content_media_resolution.py +97 -0
  233. google/genai/tests/models/test_generate_content_model.py +139 -0
  234. google/genai/tests/models/test_generate_content_part.py +821 -0
  235. google/genai/tests/models/test_generate_content_thought.py +76 -0
  236. google/genai/tests/models/test_generate_content_tools.py +1761 -0
  237. google/genai/tests/models/test_generate_images.py +191 -0
  238. google/genai/tests/models/test_generate_videos.py +759 -0
  239. google/genai/tests/models/test_get.py +104 -0
  240. google/genai/tests/models/test_list.py +233 -0
  241. google/genai/tests/models/test_recontext_image.py +189 -0
  242. google/genai/tests/models/test_segment_image.py +148 -0
  243. google/genai/tests/models/test_update.py +95 -0
  244. google/genai/tests/models/test_upscale_image.py +157 -0
  245. google/genai/tests/operations/__init__.py +17 -0
  246. google/genai/tests/operations/test_get.py +38 -0
  247. google/genai/tests/public_samples/__init__.py +17 -0
  248. google/genai/tests/public_samples/test_gemini_text_only.py +34 -0
  249. google/genai/tests/pytest_helper.py +229 -0
  250. google/genai/tests/shared/__init__.py +16 -0
  251. google/genai/tests/shared/batches/__init__.py +14 -0
  252. google/genai/tests/shared/batches/test_create_delete.py +57 -0
  253. google/genai/tests/shared/batches/test_create_get_cancel.py +56 -0
  254. google/genai/tests/shared/batches/test_list.py +40 -0
  255. google/genai/tests/shared/caches/__init__.py +14 -0
  256. google/genai/tests/shared/caches/test_create_get_delete.py +67 -0
  257. google/genai/tests/shared/caches/test_create_update_get.py +71 -0
  258. google/genai/tests/shared/caches/test_list.py +40 -0
  259. google/genai/tests/shared/chats/__init__.py +14 -0
  260. google/genai/tests/shared/chats/test_send_message.py +48 -0
  261. google/genai/tests/shared/chats/test_send_message_stream.py +50 -0
  262. google/genai/tests/shared/files/__init__.py +14 -0
  263. google/genai/tests/shared/files/test_list.py +41 -0
  264. google/genai/tests/shared/files/test_upload_get_delete.py +54 -0
  265. google/genai/tests/shared/models/__init__.py +14 -0
  266. google/genai/tests/shared/models/test_compute_tokens.py +41 -0
  267. google/genai/tests/shared/models/test_count_tokens.py +40 -0
  268. google/genai/tests/shared/models/test_edit_image.py +67 -0
  269. google/genai/tests/shared/models/test_embed.py +40 -0
  270. google/genai/tests/shared/models/test_generate_content.py +39 -0
  271. google/genai/tests/shared/models/test_generate_content_stream.py +54 -0
  272. google/genai/tests/shared/models/test_generate_images.py +40 -0
  273. google/genai/tests/shared/models/test_generate_videos.py +38 -0
  274. google/genai/tests/shared/models/test_list.py +37 -0
  275. google/genai/tests/shared/models/test_recontext_image.py +55 -0
  276. google/genai/tests/shared/models/test_segment_image.py +52 -0
  277. google/genai/tests/shared/models/test_upscale_image.py +52 -0
  278. google/genai/tests/shared/tunings/__init__.py +16 -0
  279. google/genai/tests/shared/tunings/test_create.py +46 -0
  280. google/genai/tests/shared/tunings/test_create_get_cancel.py +56 -0
  281. google/genai/tests/shared/tunings/test_list.py +39 -0
  282. google/genai/tests/tokens/__init__.py +16 -0
  283. google/genai/tests/tokens/test_create.py +154 -0
  284. google/genai/tests/transformers/__init__.py +17 -0
  285. google/genai/tests/transformers/test_blobs.py +71 -0
  286. google/genai/tests/transformers/test_bytes.py +15 -0
  287. google/genai/tests/transformers/test_duck_type.py +96 -0
  288. google/genai/tests/transformers/test_function_responses.py +72 -0
  289. google/genai/tests/transformers/test_schema.py +653 -0
  290. google/genai/tests/transformers/test_t_batch.py +286 -0
  291. google/genai/tests/transformers/test_t_content.py +160 -0
  292. google/genai/tests/transformers/test_t_contents.py +398 -0
  293. google/genai/tests/transformers/test_t_part.py +85 -0
  294. google/genai/tests/transformers/test_t_parts.py +87 -0
  295. google/genai/tests/transformers/test_t_tool.py +157 -0
  296. google/genai/tests/transformers/test_t_tools.py +195 -0
  297. google/genai/tests/tunings/__init__.py +16 -0
  298. google/genai/tests/tunings/test_cancel.py +39 -0
  299. google/genai/tests/tunings/test_end_to_end.py +106 -0
  300. google/genai/tests/tunings/test_get.py +67 -0
  301. google/genai/tests/tunings/test_list.py +75 -0
  302. google/genai/tests/tunings/test_tune.py +268 -0
  303. google/genai/tests/types/__init__.py +16 -0
  304. google/genai/tests/types/test_bytes_internal.py +271 -0
  305. google/genai/tests/types/test_bytes_type.py +152 -0
  306. google/genai/tests/types/test_future.py +101 -0
  307. google/genai/tests/types/test_optional_types.py +36 -0
  308. google/genai/tests/types/test_part_type.py +616 -0
  309. google/genai/tests/types/test_schema_from_json_schema.py +417 -0
  310. google/genai/tests/types/test_schema_json_schema.py +468 -0
  311. google/genai/tests/types/test_types.py +2903 -0
  312. google/genai/types.py +72 -0
  313. google/genai/version.py +1 -1
  314. {google_genai-1.54.0.dist-info → google_genai-1.55.0.dist-info}/METADATA +3 -1
  315. google_genai-1.55.0.dist-info/RECORD +345 -0
  316. google_genai-1.54.0.dist-info/RECORD +0 -41
  317. {google_genai-1.54.0.dist-info → google_genai-1.55.0.dist-info}/WHEEL +0 -0
  318. {google_genai-1.54.0.dist-info → google_genai-1.55.0.dist-info}/licenses/LICENSE +0 -0
  319. {google_genai-1.54.0.dist-info → google_genai-1.55.0.dist-info}/top_level.txt +0 -0
@@ -0,0 +1,358 @@
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 .._utils import PropertyInfo
22
+ from .._models import BaseModel
23
+ from .annotation import Annotation
24
+ from .text_content import TextContent
25
+ from .image_content import ImageContent
26
+ from .audio_mime_type import AudioMimeType
27
+ from .image_mime_type import ImageMimeType
28
+ from .video_mime_type import VideoMimeType
29
+ from .url_context_result import URLContextResult
30
+ from .google_search_result import GoogleSearchResult
31
+ from .url_context_call_arguments import URLContextCallArguments
32
+ from .google_search_call_arguments import GoogleSearchCallArguments
33
+ from .code_execution_call_arguments import CodeExecutionCallArguments
34
+
35
+ __all__ = [
36
+ "ContentDelta",
37
+ "Delta",
38
+ "DeltaTextDelta",
39
+ "DeltaImageDelta",
40
+ "DeltaAudioDelta",
41
+ "DeltaDocumentDelta",
42
+ "DeltaVideoDelta",
43
+ "DeltaThoughtSummaryDelta",
44
+ "DeltaThoughtSummaryDeltaContent",
45
+ "DeltaThoughtSignatureDelta",
46
+ "DeltaFunctionCallDelta",
47
+ "DeltaFunctionResultDelta",
48
+ "DeltaFunctionResultDeltaResult",
49
+ "DeltaFunctionResultDeltaResultItems",
50
+ "DeltaFunctionResultDeltaResultItemsItem",
51
+ "DeltaCodeExecutionCallDelta",
52
+ "DeltaCodeExecutionResultDelta",
53
+ "DeltaURLContextCallDelta",
54
+ "DeltaURLContextResultDelta",
55
+ "DeltaGoogleSearchCallDelta",
56
+ "DeltaGoogleSearchResultDelta",
57
+ "DeltaMCPServerToolCallDelta",
58
+ "DeltaMCPServerToolResultDelta",
59
+ "DeltaMCPServerToolResultDeltaResult",
60
+ "DeltaMCPServerToolResultDeltaResultItems",
61
+ "DeltaMCPServerToolResultDeltaResultItemsItem",
62
+ "DeltaFileSearchResultDelta",
63
+ "DeltaFileSearchResultDeltaResult",
64
+ ]
65
+
66
+
67
+ class DeltaTextDelta(BaseModel):
68
+ type: Literal["text"]
69
+ """Used as the OpenAPI type discriminator for the content oneof."""
70
+
71
+ annotations: Optional[List[Annotation]] = None
72
+ """Citation information for model-generated content."""
73
+
74
+ text: Optional[str] = None
75
+
76
+
77
+ class DeltaImageDelta(BaseModel):
78
+ type: Literal["image"]
79
+ """Used as the OpenAPI type discriminator for the content oneof."""
80
+
81
+ data: Optional[str] = None
82
+
83
+ mime_type: Optional[ImageMimeType] = None
84
+ """The mime type of the image."""
85
+
86
+ resolution: Optional[Literal["low", "medium", "high"]] = None
87
+ """The resolution of the media."""
88
+
89
+ uri: Optional[str] = None
90
+
91
+
92
+ class DeltaAudioDelta(BaseModel):
93
+ type: Literal["audio"]
94
+ """Used as the OpenAPI type discriminator for the content oneof."""
95
+
96
+ data: Optional[str] = None
97
+
98
+ mime_type: Optional[AudioMimeType] = None
99
+ """The mime type of the audio."""
100
+
101
+ uri: Optional[str] = None
102
+
103
+
104
+ class DeltaDocumentDelta(BaseModel):
105
+ type: Literal["document"]
106
+ """Used as the OpenAPI type discriminator for the content oneof."""
107
+
108
+ data: Optional[str] = None
109
+
110
+ mime_type: Optional[str] = None
111
+
112
+ uri: Optional[str] = None
113
+
114
+
115
+ class DeltaVideoDelta(BaseModel):
116
+ type: Literal["video"]
117
+ """Used as the OpenAPI type discriminator for the content oneof."""
118
+
119
+ data: Optional[str] = None
120
+
121
+ mime_type: Optional[VideoMimeType] = None
122
+ """The mime type of the video."""
123
+
124
+ resolution: Optional[Literal["low", "medium", "high"]] = None
125
+ """The resolution of the media."""
126
+
127
+ uri: Optional[str] = None
128
+
129
+
130
+ DeltaThoughtSummaryDeltaContent: TypeAlias = Annotated[
131
+ Union[TextContent, ImageContent], PropertyInfo(discriminator="type")
132
+ ]
133
+
134
+
135
+ class DeltaThoughtSummaryDelta(BaseModel):
136
+ type: Literal["thought_summary"]
137
+ """Used as the OpenAPI type discriminator for the content oneof."""
138
+
139
+ content: Optional[DeltaThoughtSummaryDeltaContent] = None
140
+ """A text content block."""
141
+
142
+
143
+ class DeltaThoughtSignatureDelta(BaseModel):
144
+ type: Literal["thought_signature"]
145
+ """Used as the OpenAPI type discriminator for the content oneof."""
146
+
147
+ signature: Optional[str] = None
148
+ """Signature to match the backend source to be part of the generation."""
149
+
150
+
151
+ class DeltaFunctionCallDelta(BaseModel):
152
+ type: Literal["function_call"]
153
+ """Used as the OpenAPI type discriminator for the content oneof."""
154
+
155
+ id: Optional[str] = None
156
+ """A unique ID for this specific tool call."""
157
+
158
+ arguments: Optional[Dict[str, object]] = None
159
+
160
+ name: Optional[str] = None
161
+
162
+
163
+ DeltaFunctionResultDeltaResultItemsItem: TypeAlias = Union[str, ImageContent]
164
+
165
+
166
+ class DeltaFunctionResultDeltaResultItems(BaseModel):
167
+ items: Optional[List[DeltaFunctionResultDeltaResultItemsItem]] = None
168
+
169
+
170
+ DeltaFunctionResultDeltaResult: TypeAlias = Union[DeltaFunctionResultDeltaResultItems, str]
171
+
172
+
173
+ class DeltaFunctionResultDelta(BaseModel):
174
+ type: Literal["function_result"]
175
+ """Used as the OpenAPI type discriminator for the content oneof."""
176
+
177
+ call_id: Optional[str] = None
178
+ """ID to match the ID from the function call block."""
179
+
180
+ is_error: Optional[bool] = None
181
+
182
+ name: Optional[str] = None
183
+
184
+ result: Optional[DeltaFunctionResultDeltaResult] = None
185
+ """Tool call result delta."""
186
+
187
+
188
+ class DeltaCodeExecutionCallDelta(BaseModel):
189
+ type: Literal["code_execution_call"]
190
+ """Used as the OpenAPI type discriminator for the content oneof."""
191
+
192
+ id: Optional[str] = None
193
+ """A unique ID for this specific tool call."""
194
+
195
+ arguments: Optional[CodeExecutionCallArguments] = None
196
+ """The arguments to pass to the code execution."""
197
+
198
+
199
+ class DeltaCodeExecutionResultDelta(BaseModel):
200
+ type: Literal["code_execution_result"]
201
+ """Used as the OpenAPI type discriminator for the content oneof."""
202
+
203
+ call_id: Optional[str] = None
204
+ """ID to match the ID from the function call block."""
205
+
206
+ is_error: Optional[bool] = None
207
+
208
+ result: Optional[str] = None
209
+
210
+ signature: Optional[str] = None
211
+
212
+
213
+ class DeltaURLContextCallDelta(BaseModel):
214
+ type: Literal["url_context_call"]
215
+ """Used as the OpenAPI type discriminator for the content oneof."""
216
+
217
+ id: Optional[str] = None
218
+ """A unique ID for this specific tool call."""
219
+
220
+ arguments: Optional[URLContextCallArguments] = None
221
+ """The arguments to pass to the URL context."""
222
+
223
+
224
+ class DeltaURLContextResultDelta(BaseModel):
225
+ type: Literal["url_context_result"]
226
+ """Used as the OpenAPI type discriminator for the content oneof."""
227
+
228
+ call_id: Optional[str] = None
229
+ """ID to match the ID from the function call block."""
230
+
231
+ is_error: Optional[bool] = None
232
+
233
+ result: Optional[List[URLContextResult]] = None
234
+
235
+ signature: Optional[str] = None
236
+
237
+
238
+ class DeltaGoogleSearchCallDelta(BaseModel):
239
+ type: Literal["google_search_call"]
240
+ """Used as the OpenAPI type discriminator for the content oneof."""
241
+
242
+ id: Optional[str] = None
243
+ """A unique ID for this specific tool call."""
244
+
245
+ arguments: Optional[GoogleSearchCallArguments] = None
246
+ """The arguments to pass to Google Search."""
247
+
248
+
249
+ class DeltaGoogleSearchResultDelta(BaseModel):
250
+ type: Literal["google_search_result"]
251
+ """Used as the OpenAPI type discriminator for the content oneof."""
252
+
253
+ call_id: Optional[str] = None
254
+ """ID to match the ID from the function call block."""
255
+
256
+ is_error: Optional[bool] = None
257
+
258
+ result: Optional[List[GoogleSearchResult]] = None
259
+
260
+ signature: Optional[str] = None
261
+
262
+
263
+ class DeltaMCPServerToolCallDelta(BaseModel):
264
+ type: Literal["mcp_server_tool_call"]
265
+ """Used as the OpenAPI type discriminator for the content oneof."""
266
+
267
+ id: Optional[str] = None
268
+ """A unique ID for this specific tool call."""
269
+
270
+ arguments: Optional[Dict[str, object]] = None
271
+
272
+ name: Optional[str] = None
273
+
274
+ server_name: Optional[str] = None
275
+
276
+
277
+ DeltaMCPServerToolResultDeltaResultItemsItem: TypeAlias = Union[str, ImageContent]
278
+
279
+
280
+ class DeltaMCPServerToolResultDeltaResultItems(BaseModel):
281
+ items: Optional[List[DeltaMCPServerToolResultDeltaResultItemsItem]] = None
282
+
283
+
284
+ DeltaMCPServerToolResultDeltaResult: TypeAlias = Union[DeltaMCPServerToolResultDeltaResultItems, str]
285
+
286
+
287
+ class DeltaMCPServerToolResultDelta(BaseModel):
288
+ type: Literal["mcp_server_tool_result"]
289
+ """Used as the OpenAPI type discriminator for the content oneof."""
290
+
291
+ call_id: Optional[str] = None
292
+ """ID to match the ID from the function call block."""
293
+
294
+ name: Optional[str] = None
295
+
296
+ result: Optional[DeltaMCPServerToolResultDeltaResult] = None
297
+ """Tool call result delta."""
298
+
299
+ server_name: Optional[str] = None
300
+
301
+
302
+ class DeltaFileSearchResultDeltaResult(BaseModel):
303
+ """The result of the File Search."""
304
+
305
+ file_search_store: Optional[str] = None
306
+ """The name of the file search store."""
307
+
308
+ text: Optional[str] = None
309
+ """The text of the search result."""
310
+
311
+ title: Optional[str] = None
312
+ """The title of the search result."""
313
+
314
+
315
+ class DeltaFileSearchResultDelta(BaseModel):
316
+ type: Literal["file_search_result"]
317
+ """Used as the OpenAPI type discriminator for the content oneof."""
318
+
319
+ result: Optional[List[DeltaFileSearchResultDeltaResult]] = None
320
+
321
+
322
+ Delta: TypeAlias = Annotated[
323
+ Union[
324
+ DeltaTextDelta,
325
+ DeltaImageDelta,
326
+ DeltaAudioDelta,
327
+ DeltaDocumentDelta,
328
+ DeltaVideoDelta,
329
+ DeltaThoughtSummaryDelta,
330
+ DeltaThoughtSignatureDelta,
331
+ DeltaFunctionCallDelta,
332
+ DeltaFunctionResultDelta,
333
+ DeltaCodeExecutionCallDelta,
334
+ DeltaCodeExecutionResultDelta,
335
+ DeltaURLContextCallDelta,
336
+ DeltaURLContextResultDelta,
337
+ DeltaGoogleSearchCallDelta,
338
+ DeltaGoogleSearchResultDelta,
339
+ DeltaMCPServerToolCallDelta,
340
+ DeltaMCPServerToolResultDelta,
341
+ DeltaFileSearchResultDelta,
342
+ ],
343
+ PropertyInfo(discriminator="type"),
344
+ ]
345
+
346
+
347
+ class ContentDelta(BaseModel):
348
+ delta: Optional[Delta] = None
349
+
350
+ event_id: Optional[str] = None
351
+ """
352
+ The event_id token to be used to resume the interaction stream, from
353
+ this event.
354
+ """
355
+
356
+ event_type: Optional[Literal["content.delta"]] = None
357
+
358
+ index: Optional[int] = None
@@ -0,0 +1,79 @@
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, 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 .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__ = ["ContentStart", "Content"]
42
+
43
+ Content: 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 ContentStart(BaseModel):
68
+ content: Optional[Content] = None
69
+ """The content of the response."""
70
+
71
+ event_id: Optional[str] = None
72
+ """
73
+ The event_id token to be used to resume the interaction stream, from
74
+ this event.
75
+ """
76
+
77
+ event_type: Optional[Literal["content.start"]] = None
78
+
79
+ index: Optional[int] = None
@@ -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 typing import Optional
19
+ from typing_extensions import Literal
20
+
21
+ from .._models import BaseModel
22
+
23
+ __all__ = ["ContentStop"]
24
+
25
+
26
+ class ContentStop(BaseModel):
27
+ event_id: Optional[str] = None
28
+ """
29
+ The event_id token to be used to resume the interaction stream, from
30
+ this event.
31
+ """
32
+
33
+ event_type: Optional[Literal["content.stop"]] = None
34
+
35
+ index: Optional[int] = None
@@ -0,0 +1,33 @@
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__ = ["DeepResearchAgentConfig"]
24
+
25
+
26
+ class DeepResearchAgentConfig(BaseModel):
27
+ """Configuration for the Deep Research agent."""
28
+
29
+ thinking_summaries: Optional[Literal["auto", "none"]] = None
30
+ """Whether to include thought summaries in the response."""
31
+
32
+ type: Optional[Literal["deep-research"]] = None
33
+ """Used as the OpenAPI type discriminator for the content oneof."""
@@ -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 __future__ import annotations
19
+
20
+ from typing_extensions import Literal, TypedDict
21
+
22
+ __all__ = ["DeepResearchAgentConfigParam"]
23
+
24
+
25
+ class DeepResearchAgentConfigParam(TypedDict, total=False):
26
+ """Configuration for the Deep Research agent."""
27
+
28
+ thinking_summaries: Literal["auto", "none"]
29
+ """Whether to include thought summaries in the response."""
30
+
31
+ type: Literal["deep-research"]
32
+ """Used as the OpenAPI type discriminator for the content oneof."""
@@ -0,0 +1,36 @@
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__ = ["DocumentContent"]
24
+
25
+
26
+ class DocumentContent(BaseModel):
27
+ """A document content block."""
28
+
29
+ type: Literal["document"]
30
+ """Used as the OpenAPI type discriminator for the content oneof."""
31
+
32
+ data: Optional[str] = None
33
+
34
+ mime_type: Optional[str] = None
35
+
36
+ uri: Optional[str] = None
@@ -0,0 +1,43 @@
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 Literal, Required, Annotated, TypedDict
22
+
23
+ from .._types import Base64FileInput
24
+ from .._utils import PropertyInfo
25
+ from .._models import set_pydantic_config
26
+
27
+ __all__ = ["DocumentContentParam"]
28
+
29
+
30
+ class DocumentContentParam(TypedDict, total=False):
31
+ """A document content block."""
32
+
33
+ type: Required[Literal["document"]]
34
+ """Used as the OpenAPI type discriminator for the content oneof."""
35
+
36
+ data: Annotated[Union[str, Base64FileInput], PropertyInfo(format="base64")]
37
+
38
+ mime_type: str
39
+
40
+ uri: str
41
+
42
+
43
+ set_pydantic_config(DocumentContentParam, {"arbitrary_types_allowed": True})
@@ -0,0 +1,44 @@
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 TYPE_CHECKING, Dict, Optional
19
+ from typing_extensions import Literal
20
+
21
+ from pydantic import Field as FieldInfo
22
+
23
+ from .._models import BaseModel
24
+
25
+ __all__ = ["DynamicAgentConfig"]
26
+
27
+
28
+ class DynamicAgentConfig(BaseModel):
29
+ """Configuration for dynamic agents."""
30
+
31
+ type: Optional[Literal["dynamic"]] = None
32
+ """Used as the OpenAPI type discriminator for the content oneof."""
33
+
34
+ if TYPE_CHECKING:
35
+ # Some versions of Pydantic <2.8.0 have a bug and don’t allow assigning a
36
+ # value to this field, so for compatibility we avoid doing it at runtime.
37
+ __pydantic_extra__: Dict[str, object] = FieldInfo(init=False) # pyright: ignore[reportIncompatibleVariableOverride]
38
+
39
+ # Stub to indicate that arbitrary properties are accepted.
40
+ # To access properties that are not valid identifiers you can use `getattr`, e.g.
41
+ # `getattr(obj, '$type')`
42
+ def __getattr__(self, attr: str) -> object: ...
43
+ else:
44
+ __pydantic_extra__: Dict[str, object]