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.
Files changed (324) hide show
  1. google/genai/__init__.py +1 -0
  2. google/genai/_api_client.py +6 -6
  3. google/genai/_interactions/__init__.py +117 -0
  4. google/genai/_interactions/_base_client.py +2019 -0
  5. google/genai/_interactions/_client.py +511 -0
  6. google/genai/_interactions/_compat.py +234 -0
  7. google/genai/_interactions/_constants.py +29 -0
  8. google/genai/_interactions/_exceptions.py +122 -0
  9. google/genai/_interactions/_files.py +139 -0
  10. google/genai/_interactions/_models.py +873 -0
  11. google/genai/_interactions/_qs.py +165 -0
  12. google/genai/_interactions/_resource.py +58 -0
  13. google/genai/_interactions/_response.py +847 -0
  14. google/genai/_interactions/_streaming.py +354 -0
  15. google/genai/_interactions/_types.py +276 -0
  16. google/genai/_interactions/_utils/__init__.py +79 -0
  17. google/genai/_interactions/_utils/_compat.py +61 -0
  18. google/genai/_interactions/_utils/_datetime_parse.py +151 -0
  19. google/genai/_interactions/_utils/_logs.py +40 -0
  20. google/genai/_interactions/_utils/_proxy.py +80 -0
  21. google/genai/_interactions/_utils/_reflection.py +57 -0
  22. google/genai/_interactions/_utils/_resources_proxy.py +39 -0
  23. google/genai/_interactions/_utils/_streams.py +27 -0
  24. google/genai/_interactions/_utils/_sync.py +73 -0
  25. google/genai/_interactions/_utils/_transform.py +472 -0
  26. google/genai/_interactions/_utils/_typing.py +172 -0
  27. google/genai/_interactions/_utils/_utils.py +437 -0
  28. google/genai/_interactions/_version.py +18 -0
  29. google/genai/_interactions/resources/__init__.py +34 -0
  30. google/genai/_interactions/resources/interactions.py +1350 -0
  31. google/genai/_interactions/types/__init__.py +107 -0
  32. google/genai/_interactions/types/allowed_tools.py +33 -0
  33. google/genai/_interactions/types/allowed_tools_param.py +35 -0
  34. google/genai/_interactions/types/annotation.py +42 -0
  35. google/genai/_interactions/types/annotation_param.py +42 -0
  36. google/genai/_interactions/types/audio_content.py +38 -0
  37. google/genai/_interactions/types/audio_content_param.py +45 -0
  38. google/genai/_interactions/types/audio_mime_type.py +25 -0
  39. google/genai/_interactions/types/audio_mime_type_param.py +27 -0
  40. google/genai/_interactions/types/code_execution_call_arguments.py +33 -0
  41. google/genai/_interactions/types/code_execution_call_arguments_param.py +32 -0
  42. google/genai/_interactions/types/code_execution_call_content.py +37 -0
  43. google/genai/_interactions/types/code_execution_call_content_param.py +37 -0
  44. google/genai/_interactions/types/code_execution_result_content.py +42 -0
  45. google/genai/_interactions/types/code_execution_result_content_param.py +41 -0
  46. google/genai/_interactions/types/content_delta.py +358 -0
  47. google/genai/_interactions/types/content_start.py +79 -0
  48. google/genai/_interactions/types/content_stop.py +35 -0
  49. google/genai/_interactions/types/deep_research_agent_config.py +33 -0
  50. google/genai/_interactions/types/deep_research_agent_config_param.py +32 -0
  51. google/genai/_interactions/types/document_content.py +36 -0
  52. google/genai/_interactions/types/document_content_param.py +43 -0
  53. google/genai/_interactions/types/dynamic_agent_config.py +44 -0
  54. google/genai/_interactions/types/dynamic_agent_config_param.py +33 -0
  55. google/genai/_interactions/types/error_event.py +46 -0
  56. google/genai/_interactions/types/file_search_result_content.py +46 -0
  57. google/genai/_interactions/types/file_search_result_content_param.py +46 -0
  58. google/genai/_interactions/types/function.py +38 -0
  59. google/genai/_interactions/types/function_call_content.py +39 -0
  60. google/genai/_interactions/types/function_call_content_param.py +39 -0
  61. google/genai/_interactions/types/function_param.py +37 -0
  62. google/genai/_interactions/types/function_result_content.py +52 -0
  63. google/genai/_interactions/types/function_result_content_param.py +54 -0
  64. google/genai/_interactions/types/generation_config.py +57 -0
  65. google/genai/_interactions/types/generation_config_param.py +59 -0
  66. google/genai/_interactions/types/google_search_call_arguments.py +29 -0
  67. google/genai/_interactions/types/google_search_call_arguments_param.py +31 -0
  68. google/genai/_interactions/types/google_search_call_content.py +37 -0
  69. google/genai/_interactions/types/google_search_call_content_param.py +37 -0
  70. google/genai/_interactions/types/google_search_result.py +35 -0
  71. google/genai/_interactions/types/google_search_result_content.py +43 -0
  72. google/genai/_interactions/types/google_search_result_content_param.py +44 -0
  73. google/genai/_interactions/types/google_search_result_param.py +35 -0
  74. google/genai/_interactions/types/image_content.py +41 -0
  75. google/genai/_interactions/types/image_content_param.py +48 -0
  76. google/genai/_interactions/types/image_mime_type.py +23 -0
  77. google/genai/_interactions/types/image_mime_type_param.py +25 -0
  78. google/genai/_interactions/types/interaction.py +165 -0
  79. google/genai/_interactions/types/interaction_create_params.py +212 -0
  80. google/genai/_interactions/types/interaction_event.py +37 -0
  81. google/genai/_interactions/types/interaction_get_params.py +46 -0
  82. google/genai/_interactions/types/interaction_sse_event.py +32 -0
  83. google/genai/_interactions/types/interaction_status_update.py +37 -0
  84. google/genai/_interactions/types/mcp_server_tool_call_content.py +42 -0
  85. google/genai/_interactions/types/mcp_server_tool_call_content_param.py +42 -0
  86. google/genai/_interactions/types/mcp_server_tool_result_content.py +52 -0
  87. google/genai/_interactions/types/mcp_server_tool_result_content_param.py +54 -0
  88. google/genai/_interactions/types/model.py +36 -0
  89. google/genai/_interactions/types/model_param.py +38 -0
  90. google/genai/_interactions/types/speech_config.py +35 -0
  91. google/genai/_interactions/types/speech_config_param.py +35 -0
  92. google/genai/_interactions/types/text_content.py +37 -0
  93. google/genai/_interactions/types/text_content_param.py +38 -0
  94. google/genai/_interactions/types/thinking_level.py +22 -0
  95. google/genai/_interactions/types/thought_content.py +41 -0
  96. google/genai/_interactions/types/thought_content_param.py +47 -0
  97. google/genai/_interactions/types/tool.py +100 -0
  98. google/genai/_interactions/types/tool_choice.py +26 -0
  99. google/genai/_interactions/types/tool_choice_config.py +28 -0
  100. google/genai/_interactions/types/tool_choice_config_param.py +29 -0
  101. google/genai/_interactions/types/tool_choice_param.py +28 -0
  102. google/genai/_interactions/types/tool_choice_type.py +22 -0
  103. google/genai/_interactions/types/tool_param.py +97 -0
  104. google/genai/_interactions/types/turn.py +76 -0
  105. google/genai/_interactions/types/turn_param.py +73 -0
  106. google/genai/_interactions/types/url_context_call_arguments.py +29 -0
  107. google/genai/_interactions/types/url_context_call_arguments_param.py +31 -0
  108. google/genai/_interactions/types/url_context_call_content.py +37 -0
  109. google/genai/_interactions/types/url_context_call_content_param.py +37 -0
  110. google/genai/_interactions/types/url_context_result.py +33 -0
  111. google/genai/_interactions/types/url_context_result_content.py +43 -0
  112. google/genai/_interactions/types/url_context_result_content_param.py +44 -0
  113. google/genai/_interactions/types/url_context_result_param.py +32 -0
  114. google/genai/_interactions/types/usage.py +106 -0
  115. google/genai/_interactions/types/usage_param.py +106 -0
  116. google/genai/_interactions/types/video_content.py +41 -0
  117. google/genai/_interactions/types/video_content_param.py +48 -0
  118. google/genai/_interactions/types/video_mime_type.py +36 -0
  119. google/genai/_interactions/types/video_mime_type_param.py +38 -0
  120. google/genai/_live_converters.py +34 -3
  121. google/genai/_tokens_converters.py +5 -0
  122. google/genai/batches.py +62 -55
  123. google/genai/client.py +223 -0
  124. google/genai/errors.py +16 -1
  125. google/genai/file_search_stores.py +60 -60
  126. google/genai/files.py +56 -56
  127. google/genai/interactions.py +17 -0
  128. google/genai/live.py +4 -3
  129. google/genai/models.py +15 -3
  130. google/genai/tests/__init__.py +21 -0
  131. google/genai/tests/afc/__init__.py +21 -0
  132. google/genai/tests/afc/test_convert_if_exist_pydantic_model.py +309 -0
  133. google/genai/tests/afc/test_convert_number_values_for_function_call_args.py +63 -0
  134. google/genai/tests/afc/test_find_afc_incompatible_tool_indexes.py +240 -0
  135. google/genai/tests/afc/test_generate_content_stream_afc.py +530 -0
  136. google/genai/tests/afc/test_generate_content_stream_afc_thoughts.py +77 -0
  137. google/genai/tests/afc/test_get_function_map.py +176 -0
  138. google/genai/tests/afc/test_get_function_response_parts.py +277 -0
  139. google/genai/tests/afc/test_get_max_remote_calls_for_afc.py +130 -0
  140. google/genai/tests/afc/test_invoke_function_from_dict_args.py +241 -0
  141. google/genai/tests/afc/test_raise_error_for_afc_incompatible_config.py +159 -0
  142. google/genai/tests/afc/test_should_append_afc_history.py +53 -0
  143. google/genai/tests/afc/test_should_disable_afc.py +214 -0
  144. google/genai/tests/batches/__init__.py +17 -0
  145. google/genai/tests/batches/test_cancel.py +77 -0
  146. google/genai/tests/batches/test_create.py +78 -0
  147. google/genai/tests/batches/test_create_with_bigquery.py +113 -0
  148. google/genai/tests/batches/test_create_with_file.py +82 -0
  149. google/genai/tests/batches/test_create_with_gcs.py +125 -0
  150. google/genai/tests/batches/test_create_with_inlined_requests.py +255 -0
  151. google/genai/tests/batches/test_delete.py +86 -0
  152. google/genai/tests/batches/test_embedding.py +157 -0
  153. google/genai/tests/batches/test_get.py +78 -0
  154. google/genai/tests/batches/test_list.py +79 -0
  155. google/genai/tests/caches/__init__.py +17 -0
  156. google/genai/tests/caches/constants.py +29 -0
  157. google/genai/tests/caches/test_create.py +210 -0
  158. google/genai/tests/caches/test_create_custom_url.py +105 -0
  159. google/genai/tests/caches/test_delete.py +54 -0
  160. google/genai/tests/caches/test_delete_custom_url.py +52 -0
  161. google/genai/tests/caches/test_get.py +94 -0
  162. google/genai/tests/caches/test_get_custom_url.py +52 -0
  163. google/genai/tests/caches/test_list.py +68 -0
  164. google/genai/tests/caches/test_update.py +70 -0
  165. google/genai/tests/caches/test_update_custom_url.py +58 -0
  166. google/genai/tests/chats/__init__.py +1 -0
  167. google/genai/tests/chats/test_get_history.py +597 -0
  168. google/genai/tests/chats/test_send_message.py +844 -0
  169. google/genai/tests/chats/test_validate_response.py +90 -0
  170. google/genai/tests/client/__init__.py +17 -0
  171. google/genai/tests/client/test_async_stream.py +427 -0
  172. google/genai/tests/client/test_client_close.py +197 -0
  173. google/genai/tests/client/test_client_initialization.py +1687 -0
  174. google/genai/tests/client/test_client_requests.py +355 -0
  175. google/genai/tests/client/test_custom_client.py +77 -0
  176. google/genai/tests/client/test_http_options.py +178 -0
  177. google/genai/tests/client/test_replay_client_equality.py +168 -0
  178. google/genai/tests/client/test_retries.py +846 -0
  179. google/genai/tests/client/test_upload_errors.py +136 -0
  180. google/genai/tests/common/__init__.py +17 -0
  181. google/genai/tests/common/test_common.py +954 -0
  182. google/genai/tests/conftest.py +162 -0
  183. google/genai/tests/documents/__init__.py +17 -0
  184. google/genai/tests/documents/test_delete.py +51 -0
  185. google/genai/tests/documents/test_get.py +85 -0
  186. google/genai/tests/documents/test_list.py +72 -0
  187. google/genai/tests/errors/__init__.py +1 -0
  188. google/genai/tests/errors/test_api_error.py +417 -0
  189. google/genai/tests/file_search_stores/__init__.py +17 -0
  190. google/genai/tests/file_search_stores/test_create.py +66 -0
  191. google/genai/tests/file_search_stores/test_delete.py +64 -0
  192. google/genai/tests/file_search_stores/test_get.py +94 -0
  193. google/genai/tests/file_search_stores/test_import_file.py +112 -0
  194. google/genai/tests/file_search_stores/test_list.py +57 -0
  195. google/genai/tests/file_search_stores/test_upload_to_file_search_store.py +141 -0
  196. google/genai/tests/files/__init__.py +17 -0
  197. google/genai/tests/files/test_delete.py +46 -0
  198. google/genai/tests/files/test_download.py +85 -0
  199. google/genai/tests/files/test_get.py +46 -0
  200. google/genai/tests/files/test_list.py +72 -0
  201. google/genai/tests/files/test_upload.py +255 -0
  202. google/genai/tests/imports/test_no_optional_imports.py +28 -0
  203. google/genai/tests/interactions/__init__.py +0 -0
  204. google/genai/tests/interactions/test_integration.py +80 -0
  205. google/genai/tests/live/__init__.py +16 -0
  206. google/genai/tests/live/test_live.py +2177 -0
  207. google/genai/tests/live/test_live_music.py +362 -0
  208. google/genai/tests/live/test_live_response.py +163 -0
  209. google/genai/tests/live/test_send_client_content.py +147 -0
  210. google/genai/tests/live/test_send_realtime_input.py +268 -0
  211. google/genai/tests/live/test_send_tool_response.py +222 -0
  212. google/genai/tests/local_tokenizer/__init__.py +17 -0
  213. google/genai/tests/local_tokenizer/test_local_tokenizer.py +343 -0
  214. google/genai/tests/local_tokenizer/test_local_tokenizer_loader.py +235 -0
  215. google/genai/tests/mcp/__init__.py +17 -0
  216. google/genai/tests/mcp/test_has_mcp_tool_usage.py +89 -0
  217. google/genai/tests/mcp/test_mcp_to_gemini_tools.py +191 -0
  218. google/genai/tests/mcp/test_parse_config_for_mcp_sessions.py +201 -0
  219. google/genai/tests/mcp/test_parse_config_for_mcp_usage.py +130 -0
  220. google/genai/tests/mcp/test_set_mcp_usage_header.py +72 -0
  221. google/genai/tests/models/__init__.py +17 -0
  222. google/genai/tests/models/constants.py +8 -0
  223. google/genai/tests/models/test_compute_tokens.py +120 -0
  224. google/genai/tests/models/test_count_tokens.py +159 -0
  225. google/genai/tests/models/test_delete.py +107 -0
  226. google/genai/tests/models/test_edit_image.py +264 -0
  227. google/genai/tests/models/test_embed_content.py +94 -0
  228. google/genai/tests/models/test_function_call_streaming.py +442 -0
  229. google/genai/tests/models/test_generate_content.py +2502 -0
  230. google/genai/tests/models/test_generate_content_cached_content.py +132 -0
  231. google/genai/tests/models/test_generate_content_config_zero_value.py +103 -0
  232. google/genai/tests/models/test_generate_content_from_apikey.py +44 -0
  233. google/genai/tests/models/test_generate_content_http_options.py +40 -0
  234. google/genai/tests/models/test_generate_content_image_generation.py +143 -0
  235. google/genai/tests/models/test_generate_content_mcp.py +343 -0
  236. google/genai/tests/models/test_generate_content_media_resolution.py +97 -0
  237. google/genai/tests/models/test_generate_content_model.py +139 -0
  238. google/genai/tests/models/test_generate_content_part.py +821 -0
  239. google/genai/tests/models/test_generate_content_thought.py +76 -0
  240. google/genai/tests/models/test_generate_content_tools.py +1761 -0
  241. google/genai/tests/models/test_generate_images.py +191 -0
  242. google/genai/tests/models/test_generate_videos.py +759 -0
  243. google/genai/tests/models/test_get.py +104 -0
  244. google/genai/tests/models/test_list.py +233 -0
  245. google/genai/tests/models/test_recontext_image.py +189 -0
  246. google/genai/tests/models/test_segment_image.py +148 -0
  247. google/genai/tests/models/test_update.py +95 -0
  248. google/genai/tests/models/test_upscale_image.py +157 -0
  249. google/genai/tests/operations/__init__.py +17 -0
  250. google/genai/tests/operations/test_get.py +38 -0
  251. google/genai/tests/public_samples/__init__.py +17 -0
  252. google/genai/tests/public_samples/test_gemini_text_only.py +34 -0
  253. google/genai/tests/pytest_helper.py +229 -0
  254. google/genai/tests/shared/__init__.py +16 -0
  255. google/genai/tests/shared/batches/__init__.py +14 -0
  256. google/genai/tests/shared/batches/test_create_delete.py +57 -0
  257. google/genai/tests/shared/batches/test_create_get_cancel.py +56 -0
  258. google/genai/tests/shared/batches/test_list.py +40 -0
  259. google/genai/tests/shared/caches/__init__.py +14 -0
  260. google/genai/tests/shared/caches/test_create_get_delete.py +67 -0
  261. google/genai/tests/shared/caches/test_create_update_get.py +71 -0
  262. google/genai/tests/shared/caches/test_list.py +40 -0
  263. google/genai/tests/shared/chats/__init__.py +14 -0
  264. google/genai/tests/shared/chats/test_send_message.py +48 -0
  265. google/genai/tests/shared/chats/test_send_message_stream.py +50 -0
  266. google/genai/tests/shared/files/__init__.py +14 -0
  267. google/genai/tests/shared/files/test_list.py +41 -0
  268. google/genai/tests/shared/files/test_upload_get_delete.py +54 -0
  269. google/genai/tests/shared/models/__init__.py +14 -0
  270. google/genai/tests/shared/models/test_compute_tokens.py +41 -0
  271. google/genai/tests/shared/models/test_count_tokens.py +40 -0
  272. google/genai/tests/shared/models/test_edit_image.py +67 -0
  273. google/genai/tests/shared/models/test_embed.py +40 -0
  274. google/genai/tests/shared/models/test_generate_content.py +39 -0
  275. google/genai/tests/shared/models/test_generate_content_stream.py +54 -0
  276. google/genai/tests/shared/models/test_generate_images.py +40 -0
  277. google/genai/tests/shared/models/test_generate_videos.py +38 -0
  278. google/genai/tests/shared/models/test_list.py +37 -0
  279. google/genai/tests/shared/models/test_recontext_image.py +55 -0
  280. google/genai/tests/shared/models/test_segment_image.py +52 -0
  281. google/genai/tests/shared/models/test_upscale_image.py +52 -0
  282. google/genai/tests/shared/tunings/__init__.py +16 -0
  283. google/genai/tests/shared/tunings/test_create.py +46 -0
  284. google/genai/tests/shared/tunings/test_create_get_cancel.py +56 -0
  285. google/genai/tests/shared/tunings/test_list.py +39 -0
  286. google/genai/tests/tokens/__init__.py +16 -0
  287. google/genai/tests/tokens/test_create.py +154 -0
  288. google/genai/tests/transformers/__init__.py +17 -0
  289. google/genai/tests/transformers/test_blobs.py +71 -0
  290. google/genai/tests/transformers/test_bytes.py +15 -0
  291. google/genai/tests/transformers/test_duck_type.py +96 -0
  292. google/genai/tests/transformers/test_function_responses.py +72 -0
  293. google/genai/tests/transformers/test_schema.py +653 -0
  294. google/genai/tests/transformers/test_t_batch.py +286 -0
  295. google/genai/tests/transformers/test_t_content.py +160 -0
  296. google/genai/tests/transformers/test_t_contents.py +398 -0
  297. google/genai/tests/transformers/test_t_part.py +85 -0
  298. google/genai/tests/transformers/test_t_parts.py +87 -0
  299. google/genai/tests/transformers/test_t_tool.py +157 -0
  300. google/genai/tests/transformers/test_t_tools.py +195 -0
  301. google/genai/tests/tunings/__init__.py +16 -0
  302. google/genai/tests/tunings/test_cancel.py +39 -0
  303. google/genai/tests/tunings/test_end_to_end.py +106 -0
  304. google/genai/tests/tunings/test_get.py +67 -0
  305. google/genai/tests/tunings/test_list.py +75 -0
  306. google/genai/tests/tunings/test_tune.py +268 -0
  307. google/genai/tests/types/__init__.py +16 -0
  308. google/genai/tests/types/test_bytes_internal.py +271 -0
  309. google/genai/tests/types/test_bytes_type.py +152 -0
  310. google/genai/tests/types/test_future.py +101 -0
  311. google/genai/tests/types/test_optional_types.py +36 -0
  312. google/genai/tests/types/test_part_type.py +616 -0
  313. google/genai/tests/types/test_schema_from_json_schema.py +417 -0
  314. google/genai/tests/types/test_schema_json_schema.py +468 -0
  315. google/genai/tests/types/test_types.py +2903 -0
  316. google/genai/tunings.py +57 -57
  317. google/genai/types.py +229 -121
  318. google/genai/version.py +1 -1
  319. {google_genai-1.53.0.dist-info → google_genai-1.55.0.dist-info}/METADATA +4 -2
  320. google_genai-1.55.0.dist-info/RECORD +345 -0
  321. google_genai-1.53.0.dist-info/RECORD +0 -41
  322. {google_genai-1.53.0.dist-info → google_genai-1.55.0.dist-info}/WHEEL +0 -0
  323. {google_genai-1.53.0.dist-info → google_genai-1.55.0.dist-info}/licenses/LICENSE +0 -0
  324. {google_genai-1.53.0.dist-info → google_genai-1.55.0.dist-info}/top_level.txt +0 -0
@@ -695,36 +695,6 @@ class FileSearchStores(_api_module.BaseModule):
695
695
  self._api_client._verify_response(return_value)
696
696
  return return_value
697
697
 
698
- def list(
699
- self, *, config: Optional[types.ListFileSearchStoresConfigOrDict] = None
700
- ) -> Pager[types.FileSearchStore]:
701
- """Lists FileSearchStores.
702
-
703
- Args:
704
- config (ListFileSearchStoresConfig): Optional configuration for the list
705
- request.
706
-
707
- Returns:
708
- A Pager object that contains one page of file search stores. When
709
- iterating over
710
- the pager, it automatically fetches the next page if there are more.
711
-
712
- Usage:
713
-
714
- .. code-block:: python
715
- for file_search_store in client.file_search_stores.list():
716
- print(f"file search store: {file_search_store.name} -
717
- {file_search_store.display_name}")
718
- """
719
-
720
- list_request = self._list
721
- return Pager(
722
- 'file_search_stores',
723
- list_request,
724
- self._list(config=config),
725
- config,
726
- )
727
-
728
698
  def upload_to_file_search_store(
729
699
  self,
730
700
  *,
@@ -801,6 +771,36 @@ class FileSearchStores(_api_module.BaseModule):
801
771
  response=response_dict, kwargs={}
802
772
  )
803
773
 
774
+ def list(
775
+ self, *, config: Optional[types.ListFileSearchStoresConfigOrDict] = None
776
+ ) -> Pager[types.FileSearchStore]:
777
+ """Lists FileSearchStores.
778
+
779
+ Args:
780
+ config (ListFileSearchStoresConfig): Optional configuration for the list
781
+ request.
782
+
783
+ Returns:
784
+ A Pager object that contains one page of file search stores. When
785
+ iterating over
786
+ the pager, it automatically fetches the next page if there are more.
787
+
788
+ Usage:
789
+
790
+ .. code-block:: python
791
+ for file_search_store in client.file_search_stores.list():
792
+ print(f"file search store: {file_search_store.name} -
793
+ {file_search_store.display_name}")
794
+ """
795
+
796
+ list_request = self._list
797
+ return Pager(
798
+ 'file_search_stores',
799
+ list_request,
800
+ self._list(config=config),
801
+ config,
802
+ )
803
+
804
804
 
805
805
  class AsyncFileSearchStores(_api_module.BaseModule):
806
806
 
@@ -1189,36 +1189,6 @@ class AsyncFileSearchStores(_api_module.BaseModule):
1189
1189
  self._api_client._verify_response(return_value)
1190
1190
  return return_value
1191
1191
 
1192
- async def list(
1193
- self, *, config: Optional[types.ListFileSearchStoresConfigOrDict] = None
1194
- ) -> AsyncPager[types.FileSearchStore]:
1195
- """Lists FileSearchStores asynchronously.
1196
-
1197
- Args:
1198
- config (ListFileSearchStoresConfig): Optional parameters for the request,
1199
- such as page_size.
1200
-
1201
- Returns:
1202
- A Pager object that contains one page of FileSearchStores. When iterating
1203
- over
1204
- the pager, it automatically fetches the next page if there are more.
1205
-
1206
- Usage:
1207
-
1208
- .. code-block:: python
1209
- async for file_search_store in await client.aio.file_search_stores.list():
1210
- print(f"file search store: {file_search_store.name} -
1211
- {file_search_store.display_name}")
1212
- """
1213
-
1214
- list_request = self._list
1215
- return AsyncPager(
1216
- 'file_search_stores',
1217
- list_request,
1218
- await self._list(config=config),
1219
- config,
1220
- )
1221
-
1222
1192
  async def upload_to_file_search_store(
1223
1193
  self,
1224
1194
  *,
@@ -1294,3 +1264,33 @@ class AsyncFileSearchStores(_api_module.BaseModule):
1294
1264
  return types.UploadToFileSearchStoreOperation._from_response(
1295
1265
  response=response_dict, kwargs={}
1296
1266
  )
1267
+
1268
+ async def list(
1269
+ self, *, config: Optional[types.ListFileSearchStoresConfigOrDict] = None
1270
+ ) -> AsyncPager[types.FileSearchStore]:
1271
+ """Lists FileSearchStores asynchronously.
1272
+
1273
+ Args:
1274
+ config (ListFileSearchStoresConfig): Optional parameters for the request,
1275
+ such as page_size.
1276
+
1277
+ Returns:
1278
+ A Pager object that contains one page of FileSearchStores. When iterating
1279
+ over
1280
+ the pager, it automatically fetches the next page if there are more.
1281
+
1282
+ Usage:
1283
+
1284
+ .. code-block:: python
1285
+ async for file_search_store in await client.aio.file_search_stores.list():
1286
+ print(f"file search store: {file_search_store.name} -
1287
+ {file_search_store.display_name}")
1288
+ """
1289
+
1290
+ list_request = self._list
1291
+ return AsyncPager(
1292
+ 'file_search_stores',
1293
+ list_request,
1294
+ await self._list(config=config),
1295
+ config,
1296
+ )
google/genai/files.py CHANGED
@@ -402,34 +402,6 @@ class Files(_api_module.BaseModule):
402
402
  self._api_client._verify_response(return_value)
403
403
  return return_value
404
404
 
405
- def list(
406
- self, *, config: Optional[types.ListFilesConfigOrDict] = None
407
- ) -> Pager[types.File]:
408
- """Lists all files from the service.
409
-
410
- Args:
411
- config (ListFilesConfig): Optional, configuration for the list method.
412
-
413
- Returns:
414
- A Pager object that contains one page of files. When iterating over
415
- the pager, it automatically fetches the next page if there are more.
416
-
417
- Usage:
418
-
419
- .. code-block:: python
420
-
421
- for file in client.files.list(config={'page_size': 10}):
422
- print(file.name)
423
- """
424
-
425
- list_request = self._list
426
- return Pager(
427
- 'files',
428
- list_request,
429
- self._list(config=config),
430
- config,
431
- )
432
-
433
405
  def upload(
434
406
  self,
435
407
  *,
@@ -587,6 +559,34 @@ class Files(_api_module.BaseModule):
587
559
 
588
560
  return data
589
561
 
562
+ def list(
563
+ self, *, config: Optional[types.ListFilesConfigOrDict] = None
564
+ ) -> Pager[types.File]:
565
+ """Lists all files from the service.
566
+
567
+ Args:
568
+ config (ListFilesConfig): Optional, configuration for the list method.
569
+
570
+ Returns:
571
+ A Pager object that contains one page of files. When iterating over
572
+ the pager, it automatically fetches the next page if there are more.
573
+
574
+ Usage:
575
+
576
+ .. code-block:: python
577
+
578
+ for file in client.files.list(config={'page_size': 10}):
579
+ print(file.name)
580
+ """
581
+
582
+ list_request = self._list
583
+ return Pager(
584
+ 'files',
585
+ list_request,
586
+ self._list(config=config),
587
+ config,
588
+ )
589
+
590
590
 
591
591
  class AsyncFiles(_api_module.BaseModule):
592
592
 
@@ -845,34 +845,6 @@ class AsyncFiles(_api_module.BaseModule):
845
845
  self._api_client._verify_response(return_value)
846
846
  return return_value
847
847
 
848
- async def list(
849
- self, *, config: Optional[types.ListFilesConfigOrDict] = None
850
- ) -> AsyncPager[types.File]:
851
- """Lists all files from the service asynchronously.
852
-
853
- Args:
854
- config (ListFilesConfig): Optional, configuration for the list method.
855
-
856
- Returns:
857
- A Pager object that contains one page of files. When iterating over
858
- the pager, it automatically fetches the next page if there are more.
859
-
860
- Usage:
861
-
862
- .. code-block:: python
863
-
864
- async for file in await client.aio.files.list(config={'page_size': 10}):
865
- print(file.name)
866
- """
867
-
868
- list_request = self._list
869
- return AsyncPager(
870
- 'files',
871
- list_request,
872
- await self._list(config=config),
873
- config,
874
- )
875
-
876
848
  async def upload(
877
849
  self,
878
850
  *,
@@ -1019,3 +991,31 @@ class AsyncFiles(_api_module.BaseModule):
1019
991
  )
1020
992
 
1021
993
  return data
994
+
995
+ async def list(
996
+ self, *, config: Optional[types.ListFilesConfigOrDict] = None
997
+ ) -> AsyncPager[types.File]:
998
+ """Lists all files from the service asynchronously.
999
+
1000
+ Args:
1001
+ config (ListFilesConfig): Optional, configuration for the list method.
1002
+
1003
+ Returns:
1004
+ A Pager object that contains one page of files. When iterating over
1005
+ the pager, it automatically fetches the next page if there are more.
1006
+
1007
+ Usage:
1008
+
1009
+ .. code-block:: python
1010
+
1011
+ async for file in await client.aio.files.list(config={'page_size': 10}):
1012
+ print(file.name)
1013
+ """
1014
+
1015
+ list_request = self._list
1016
+ return AsyncPager(
1017
+ 'files',
1018
+ list_request,
1019
+ await self._list(config=config),
1020
+ config,
1021
+ )
@@ -0,0 +1,17 @@
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
+ """Expose stainless types."""
16
+
17
+ from ._interactions.types import *
google/genai/live.py CHANGED
@@ -975,8 +975,9 @@ class AsyncLive(_api_module.BaseModule):
975
975
  ).model_dump(exclude_none=True),
976
976
  )
977
977
  )
978
- del request_dict['config']
979
978
 
979
+ del request_dict['config']
980
+ request_dict = _common.encode_unserializable_types(request_dict)
980
981
  setv(request_dict, ['setup', 'model'], transformed_model)
981
982
 
982
983
  request = json.dumps(request_dict)
@@ -998,7 +999,7 @@ class AsyncLive(_api_module.BaseModule):
998
999
  )
999
1000
  )
1000
1001
  del request_dict['config']
1001
-
1002
+ request_dict = _common.encode_unserializable_types(request_dict)
1002
1003
  setv(request_dict, ['setup', 'model'], transformed_model)
1003
1004
 
1004
1005
  request = json.dumps(request_dict)
@@ -1061,7 +1062,7 @@ class AsyncLive(_api_module.BaseModule):
1061
1062
  )
1062
1063
  )
1063
1064
  del request_dict['config']
1064
-
1065
+ request_dict = _common.encode_unserializable_types(request_dict)
1065
1066
  if (
1066
1067
  getv(
1067
1068
  request_dict, ['setup', 'generationConfig', 'responseModalities']
google/genai/models.py CHANGED
@@ -1110,6 +1110,13 @@ def _GenerateContentConfig_to_mldev(
1110
1110
  _ImageConfig_to_mldev(getv(from_object, ['image_config']), to_object),
1111
1111
  )
1112
1112
 
1113
+ if getv(from_object, ['enable_enhanced_civic_answers']) is not None:
1114
+ setv(
1115
+ to_object,
1116
+ ['enableEnhancedCivicAnswers'],
1117
+ getv(from_object, ['enable_enhanced_civic_answers']),
1118
+ )
1119
+
1113
1120
  return to_object
1114
1121
 
1115
1122
 
@@ -1269,6 +1276,11 @@ def _GenerateContentConfig_to_vertex(
1269
1276
  _ImageConfig_to_vertex(getv(from_object, ['image_config']), to_object),
1270
1277
  )
1271
1278
 
1279
+ if getv(from_object, ['enable_enhanced_civic_answers']) is not None:
1280
+ raise ValueError(
1281
+ 'enable_enhanced_civic_answers parameter is not supported in Vertex AI.'
1282
+ )
1283
+
1272
1284
  return to_object
1273
1285
 
1274
1286
 
@@ -3420,12 +3432,12 @@ def _SpeechConfig_to_vertex(
3420
3432
  parent_object: Optional[dict[str, Any]] = None,
3421
3433
  ) -> dict[str, Any]:
3422
3434
  to_object: dict[str, Any] = {}
3423
- if getv(from_object, ['language_code']) is not None:
3424
- setv(to_object, ['languageCode'], getv(from_object, ['language_code']))
3425
-
3426
3435
  if getv(from_object, ['voice_config']) is not None:
3427
3436
  setv(to_object, ['voiceConfig'], getv(from_object, ['voice_config']))
3428
3437
 
3438
+ if getv(from_object, ['language_code']) is not None:
3439
+ setv(to_object, ['languageCode'], getv(from_object, ['language_code']))
3440
+
3429
3441
  if getv(from_object, ['multi_speaker_voice_config']) is not None:
3430
3442
  raise ValueError(
3431
3443
  'multi_speaker_voice_config parameter is not supported in Vertex AI.'
@@ -0,0 +1,21 @@
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
+
17
+ """Tests for the Google GenAI SDK."""
18
+
19
+
20
+ import pytest
21
+ pytest.register_assert_rewrite('genai.replay_api_client')
@@ -0,0 +1,21 @@
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
+
17
+ """AFC helper function unit tests.
18
+
19
+ For AFC end to end test, please write test cases in
20
+ test_generate_content_tools.py module
21
+ """