pydantic-ai 1.0.9__tar.gz → 1.0.10__tar.gz

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.

Potentially problematic release.


This version of pydantic-ai might be problematic. Click here for more details.

Files changed (460) hide show
  1. {pydantic_ai-1.0.9 → pydantic_ai-1.0.10}/PKG-INFO +4 -4
  2. {pydantic_ai-1.0.9 → pydantic_ai-1.0.10}/tests/models/cassettes/test_google/test_google_model_document_url_input.yaml +12 -14
  3. {pydantic_ai-1.0.9 → pydantic_ai-1.0.10}/tests/models/cassettes/test_google/test_google_model_image_as_binary_content_input.yaml +6 -6
  4. {pydantic_ai-1.0.9 → pydantic_ai-1.0.10}/tests/models/cassettes/test_google/test_google_model_image_url_input.yaml +9 -10
  5. {pydantic_ai-1.0.9 → pydantic_ai-1.0.10}/tests/models/cassettes/test_google/test_google_model_text_as_binary_content_input.yaml +4 -4
  6. {pydantic_ai-1.0.9 → pydantic_ai-1.0.10}/tests/models/cassettes/test_google/test_google_model_text_document_url_input.yaml +11 -9
  7. {pydantic_ai-1.0.9 → pydantic_ai-1.0.10}/tests/models/cassettes/test_google/test_google_model_video_as_binary_content_input.yaml +18 -16
  8. {pydantic_ai-1.0.9 → pydantic_ai-1.0.10}/tests/models/cassettes/test_google/test_google_model_video_url_input.yaml +36 -36
  9. {pydantic_ai-1.0.9 → pydantic_ai-1.0.10}/tests/models/test_google.py +17 -11
  10. {pydantic_ai-1.0.9 → pydantic_ai-1.0.10}/tests/models/test_groq.py +1 -12
  11. {pydantic_ai-1.0.9 → pydantic_ai-1.0.10}/tests/models/test_huggingface.py +1 -15
  12. {pydantic_ai-1.0.9 → pydantic_ai-1.0.10}/tests/models/test_instrumented.py +36 -0
  13. {pydantic_ai-1.0.9 → pydantic_ai-1.0.10}/tests/models/test_openai.py +0 -11
  14. {pydantic_ai-1.0.9 → pydantic_ai-1.0.10}/tests/test_agent.py +70 -5
  15. pydantic_ai-1.0.10/tests/test_format_as_xml.py +594 -0
  16. {pydantic_ai-1.0.9 → pydantic_ai-1.0.10}/tests/test_streaming.py +39 -7
  17. pydantic_ai-1.0.9/tests/test_format_as_xml.py +0 -202
  18. {pydantic_ai-1.0.9 → pydantic_ai-1.0.10}/.gitignore +0 -0
  19. {pydantic_ai-1.0.9 → pydantic_ai-1.0.10}/LICENSE +0 -0
  20. {pydantic_ai-1.0.9 → pydantic_ai-1.0.10}/Makefile +0 -0
  21. {pydantic_ai-1.0.9 → pydantic_ai-1.0.10}/README.md +0 -0
  22. {pydantic_ai-1.0.9 → pydantic_ai-1.0.10}/pyproject.toml +0 -0
  23. {pydantic_ai-1.0.9 → pydantic_ai-1.0.10}/tests/__init__.py +0 -0
  24. {pydantic_ai-1.0.9 → pydantic_ai-1.0.10}/tests/assets/dummy.pdf +0 -0
  25. {pydantic_ai-1.0.9 → pydantic_ai-1.0.10}/tests/assets/kiwi.png +0 -0
  26. {pydantic_ai-1.0.9 → pydantic_ai-1.0.10}/tests/assets/marcelo.mp3 +0 -0
  27. {pydantic_ai-1.0.9 → pydantic_ai-1.0.10}/tests/assets/product_name.txt +0 -0
  28. {pydantic_ai-1.0.9 → pydantic_ai-1.0.10}/tests/assets/small_video.mp4 +0 -0
  29. {pydantic_ai-1.0.9 → pydantic_ai-1.0.10}/tests/cassettes/test_dbos/test_complex_agent_run.yaml +0 -0
  30. {pydantic_ai-1.0.9 → pydantic_ai-1.0.10}/tests/cassettes/test_dbos/test_complex_agent_run_in_workflow.yaml +0 -0
  31. {pydantic_ai-1.0.9 → pydantic_ai-1.0.10}/tests/cassettes/test_dbos/test_complex_agent_run_stream_in_workflow.yaml +0 -0
  32. {pydantic_ai-1.0.9 → pydantic_ai-1.0.10}/tests/cassettes/test_dbos/test_dbos_agent_iter.yaml +0 -0
  33. {pydantic_ai-1.0.9 → pydantic_ai-1.0.10}/tests/cassettes/test_dbos/test_dbos_agent_iter_in_workflow.yaml +0 -0
  34. {pydantic_ai-1.0.9 → pydantic_ai-1.0.10}/tests/cassettes/test_dbos/test_dbos_agent_override_deps_in_workflow.yaml +0 -0
  35. {pydantic_ai-1.0.9 → pydantic_ai-1.0.10}/tests/cassettes/test_dbos/test_dbos_agent_override_tools_in_workflow.yaml +0 -0
  36. {pydantic_ai-1.0.9 → pydantic_ai-1.0.10}/tests/cassettes/test_dbos/test_dbos_agent_run.yaml +0 -0
  37. {pydantic_ai-1.0.9 → pydantic_ai-1.0.10}/tests/cassettes/test_dbos/test_dbos_agent_run_in_workflow_with_toolsets.yaml +0 -0
  38. {pydantic_ai-1.0.9 → pydantic_ai-1.0.10}/tests/cassettes/test_dbos/test_dbos_agent_run_stream.yaml +0 -0
  39. {pydantic_ai-1.0.9 → pydantic_ai-1.0.10}/tests/cassettes/test_dbos/test_dbos_agent_run_sync.yaml +0 -0
  40. {pydantic_ai-1.0.9 → pydantic_ai-1.0.10}/tests/cassettes/test_dbos/test_dbos_agent_run_sync_in_workflow.yaml +0 -0
  41. {pydantic_ai-1.0.9 → pydantic_ai-1.0.10}/tests/cassettes/test_dbos/test_dbos_agent_with_dataclass_deps_as_dict.yaml +0 -0
  42. {pydantic_ai-1.0.9 → pydantic_ai-1.0.10}/tests/cassettes/test_dbos/test_dbos_agent_with_hitl_tool.yaml +0 -0
  43. {pydantic_ai-1.0.9 → pydantic_ai-1.0.10}/tests/cassettes/test_dbos/test_dbos_agent_with_hitl_tool_sync.yaml +0 -0
  44. {pydantic_ai-1.0.9 → pydantic_ai-1.0.10}/tests/cassettes/test_dbos/test_dbos_agent_with_model_retry.yaml +0 -0
  45. {pydantic_ai-1.0.9 → pydantic_ai-1.0.10}/tests/cassettes/test_dbos/test_dbos_agent_with_non_dict_deps.yaml +0 -0
  46. {pydantic_ai-1.0.9 → pydantic_ai-1.0.10}/tests/cassettes/test_dbos/test_dbos_agent_with_unserializable_deps_type.yaml +0 -0
  47. {pydantic_ai-1.0.9 → pydantic_ai-1.0.10}/tests/cassettes/test_dbos/test_dbos_model_stream_direct.yaml +0 -0
  48. {pydantic_ai-1.0.9 → pydantic_ai-1.0.10}/tests/cassettes/test_dbos/test_multiple_agents.yaml +0 -0
  49. {pydantic_ai-1.0.9 → pydantic_ai-1.0.10}/tests/cassettes/test_dbos/test_simple_agent_run_in_workflow.yaml +0 -0
  50. {pydantic_ai-1.0.9 → pydantic_ai-1.0.10}/tests/cassettes/test_mcp/test_agent_with_server_not_running.yaml +0 -0
  51. {pydantic_ai-1.0.9 → pydantic_ai-1.0.10}/tests/cassettes/test_mcp/test_agent_with_stdio_server.yaml +0 -0
  52. {pydantic_ai-1.0.9 → pydantic_ai-1.0.10}/tests/cassettes/test_mcp/test_tool_returning_audio_resource.yaml +0 -0
  53. {pydantic_ai-1.0.9 → pydantic_ai-1.0.10}/tests/cassettes/test_mcp/test_tool_returning_audio_resource_link.yaml +0 -0
  54. {pydantic_ai-1.0.9 → pydantic_ai-1.0.10}/tests/cassettes/test_mcp/test_tool_returning_dict.yaml +0 -0
  55. {pydantic_ai-1.0.9 → pydantic_ai-1.0.10}/tests/cassettes/test_mcp/test_tool_returning_error.yaml +0 -0
  56. {pydantic_ai-1.0.9 → pydantic_ai-1.0.10}/tests/cassettes/test_mcp/test_tool_returning_image.yaml +0 -0
  57. {pydantic_ai-1.0.9 → pydantic_ai-1.0.10}/tests/cassettes/test_mcp/test_tool_returning_image_resource.yaml +0 -0
  58. {pydantic_ai-1.0.9 → pydantic_ai-1.0.10}/tests/cassettes/test_mcp/test_tool_returning_image_resource_link.yaml +0 -0
  59. {pydantic_ai-1.0.9 → pydantic_ai-1.0.10}/tests/cassettes/test_mcp/test_tool_returning_multiple_items.yaml +0 -0
  60. {pydantic_ai-1.0.9 → pydantic_ai-1.0.10}/tests/cassettes/test_mcp/test_tool_returning_none.yaml +0 -0
  61. {pydantic_ai-1.0.9 → pydantic_ai-1.0.10}/tests/cassettes/test_mcp/test_tool_returning_str.yaml +0 -0
  62. {pydantic_ai-1.0.9 → pydantic_ai-1.0.10}/tests/cassettes/test_mcp/test_tool_returning_text_resource.yaml +0 -0
  63. {pydantic_ai-1.0.9 → pydantic_ai-1.0.10}/tests/cassettes/test_mcp/test_tool_returning_text_resource_link.yaml +0 -0
  64. {pydantic_ai-1.0.9 → pydantic_ai-1.0.10}/tests/cassettes/test_settings/test_stop_settings[anthropic].yaml +0 -0
  65. {pydantic_ai-1.0.9 → pydantic_ai-1.0.10}/tests/cassettes/test_settings/test_stop_settings[bedrock].yaml +0 -0
  66. {pydantic_ai-1.0.9 → pydantic_ai-1.0.10}/tests/cassettes/test_settings/test_stop_settings[cohere].yaml +0 -0
  67. {pydantic_ai-1.0.9 → pydantic_ai-1.0.10}/tests/cassettes/test_settings/test_stop_settings[gemini].yaml +0 -0
  68. {pydantic_ai-1.0.9 → pydantic_ai-1.0.10}/tests/cassettes/test_settings/test_stop_settings[google].yaml +0 -0
  69. {pydantic_ai-1.0.9 → pydantic_ai-1.0.10}/tests/cassettes/test_settings/test_stop_settings[groq].yaml +0 -0
  70. {pydantic_ai-1.0.9 → pydantic_ai-1.0.10}/tests/cassettes/test_settings/test_stop_settings[mistral].yaml +0 -0
  71. {pydantic_ai-1.0.9 → pydantic_ai-1.0.10}/tests/cassettes/test_settings/test_stop_settings[openai].yaml +0 -0
  72. {pydantic_ai-1.0.9 → pydantic_ai-1.0.10}/tests/cassettes/test_temporal/test_complex_agent_run.yaml +0 -0
  73. {pydantic_ai-1.0.9 → pydantic_ai-1.0.10}/tests/cassettes/test_temporal/test_complex_agent_run_in_workflow.yaml +0 -0
  74. {pydantic_ai-1.0.9 → pydantic_ai-1.0.10}/tests/cassettes/test_temporal/test_complex_agent_run_stream_in_workflow.yaml +0 -0
  75. {pydantic_ai-1.0.9 → pydantic_ai-1.0.10}/tests/cassettes/test_temporal/test_logfire_plugin.yaml +0 -0
  76. {pydantic_ai-1.0.9 → pydantic_ai-1.0.10}/tests/cassettes/test_temporal/test_multiple_agents.yaml +0 -0
  77. {pydantic_ai-1.0.9 → pydantic_ai-1.0.10}/tests/cassettes/test_temporal/test_simple_agent_run_in_workflow.yaml +0 -0
  78. {pydantic_ai-1.0.9 → pydantic_ai-1.0.10}/tests/cassettes/test_temporal/test_temporal_agent_iter.yaml +0 -0
  79. {pydantic_ai-1.0.9 → pydantic_ai-1.0.10}/tests/cassettes/test_temporal/test_temporal_agent_override_deps_in_workflow.yaml +0 -0
  80. {pydantic_ai-1.0.9 → pydantic_ai-1.0.10}/tests/cassettes/test_temporal/test_temporal_agent_run.yaml +0 -0
  81. {pydantic_ai-1.0.9 → pydantic_ai-1.0.10}/tests/cassettes/test_temporal/test_temporal_agent_run_stream.yaml +0 -0
  82. {pydantic_ai-1.0.9 → pydantic_ai-1.0.10}/tests/cassettes/test_temporal/test_temporal_agent_run_sync.yaml +0 -0
  83. {pydantic_ai-1.0.9 → pydantic_ai-1.0.10}/tests/cassettes/test_temporal/test_temporal_agent_sync_tool_activity_disabled.yaml +0 -0
  84. {pydantic_ai-1.0.9 → pydantic_ai-1.0.10}/tests/cassettes/test_temporal/test_temporal_agent_with_dataclass_deps_as_dict.yaml +0 -0
  85. {pydantic_ai-1.0.9 → pydantic_ai-1.0.10}/tests/cassettes/test_temporal/test_temporal_agent_with_hitl_tool.yaml +0 -0
  86. {pydantic_ai-1.0.9 → pydantic_ai-1.0.10}/tests/cassettes/test_temporal/test_temporal_agent_with_model_retry.yaml +0 -0
  87. {pydantic_ai-1.0.9 → pydantic_ai-1.0.10}/tests/cassettes/test_temporal/test_temporal_agent_with_non_dict_deps.yaml +0 -0
  88. {pydantic_ai-1.0.9 → pydantic_ai-1.0.10}/tests/cassettes/test_temporal/test_temporal_agent_with_unserializable_deps_type.yaml +0 -0
  89. {pydantic_ai-1.0.9 → pydantic_ai-1.0.10}/tests/conftest.py +0 -0
  90. {pydantic_ai-1.0.9 → pydantic_ai-1.0.10}/tests/evals/__init__.py +0 -0
  91. {pydantic_ai-1.0.9 → pydantic_ai-1.0.10}/tests/evals/test_dataset.py +0 -0
  92. {pydantic_ai-1.0.9 → pydantic_ai-1.0.10}/tests/evals/test_evaluator_base.py +0 -0
  93. {pydantic_ai-1.0.9 → pydantic_ai-1.0.10}/tests/evals/test_evaluator_common.py +0 -0
  94. {pydantic_ai-1.0.9 → pydantic_ai-1.0.10}/tests/evals/test_evaluator_context.py +0 -0
  95. {pydantic_ai-1.0.9 → pydantic_ai-1.0.10}/tests/evals/test_evaluator_spec.py +0 -0
  96. {pydantic_ai-1.0.9 → pydantic_ai-1.0.10}/tests/evals/test_evaluators.py +0 -0
  97. {pydantic_ai-1.0.9 → pydantic_ai-1.0.10}/tests/evals/test_llm_as_a_judge.py +0 -0
  98. {pydantic_ai-1.0.9 → pydantic_ai-1.0.10}/tests/evals/test_otel.py +0 -0
  99. {pydantic_ai-1.0.9 → pydantic_ai-1.0.10}/tests/evals/test_render_numbers.py +0 -0
  100. {pydantic_ai-1.0.9 → pydantic_ai-1.0.10}/tests/evals/test_reporting.py +0 -0
  101. {pydantic_ai-1.0.9 → pydantic_ai-1.0.10}/tests/evals/test_reports.py +0 -0
  102. {pydantic_ai-1.0.9 → pydantic_ai-1.0.10}/tests/evals/test_utils.py +0 -0
  103. {pydantic_ai-1.0.9 → pydantic_ai-1.0.10}/tests/evals/utils.py +0 -0
  104. {pydantic_ai-1.0.9 → pydantic_ai-1.0.10}/tests/example_modules/README.md +0 -0
  105. {pydantic_ai-1.0.9 → pydantic_ai-1.0.10}/tests/example_modules/bank_database.py +0 -0
  106. {pydantic_ai-1.0.9 → pydantic_ai-1.0.10}/tests/example_modules/fake_database.py +0 -0
  107. {pydantic_ai-1.0.9 → pydantic_ai-1.0.10}/tests/example_modules/mcp_server.py +0 -0
  108. {pydantic_ai-1.0.9 → pydantic_ai-1.0.10}/tests/example_modules/weather_service.py +0 -0
  109. {pydantic_ai-1.0.9 → pydantic_ai-1.0.10}/tests/ext/__init__.py +0 -0
  110. {pydantic_ai-1.0.9 → pydantic_ai-1.0.10}/tests/ext/test_langchain.py +0 -0
  111. {pydantic_ai-1.0.9 → pydantic_ai-1.0.10}/tests/graph/__init__.py +0 -0
  112. {pydantic_ai-1.0.9 → pydantic_ai-1.0.10}/tests/graph/test_file_persistence.py +0 -0
  113. {pydantic_ai-1.0.9 → pydantic_ai-1.0.10}/tests/graph/test_graph.py +0 -0
  114. {pydantic_ai-1.0.9 → pydantic_ai-1.0.10}/tests/graph/test_mermaid.py +0 -0
  115. {pydantic_ai-1.0.9 → pydantic_ai-1.0.10}/tests/graph/test_persistence.py +0 -0
  116. {pydantic_ai-1.0.9 → pydantic_ai-1.0.10}/tests/graph/test_state.py +0 -0
  117. {pydantic_ai-1.0.9 → pydantic_ai-1.0.10}/tests/graph/test_utils.py +0 -0
  118. {pydantic_ai-1.0.9 → pydantic_ai-1.0.10}/tests/import_examples.py +0 -0
  119. {pydantic_ai-1.0.9 → pydantic_ai-1.0.10}/tests/json_body_serializer.py +0 -0
  120. {pydantic_ai-1.0.9 → pydantic_ai-1.0.10}/tests/mcp_server.py +0 -0
  121. {pydantic_ai-1.0.9 → pydantic_ai-1.0.10}/tests/models/__init__.py +0 -0
  122. {pydantic_ai-1.0.9 → pydantic_ai-1.0.10}/tests/models/cassettes/test_anthropic/test_anthropic_code_execution_tool.yaml +0 -0
  123. {pydantic_ai-1.0.9 → pydantic_ai-1.0.10}/tests/models/cassettes/test_anthropic/test_anthropic_code_execution_tool_stream.yaml +0 -0
  124. {pydantic_ai-1.0.9 → pydantic_ai-1.0.10}/tests/models/cassettes/test_anthropic/test_anthropic_model_empty_message_on_history.yaml +0 -0
  125. {pydantic_ai-1.0.9 → pydantic_ai-1.0.10}/tests/models/cassettes/test_anthropic/test_anthropic_model_instructions.yaml +0 -0
  126. {pydantic_ai-1.0.9 → pydantic_ai-1.0.10}/tests/models/cassettes/test_anthropic/test_anthropic_model_thinking_part.yaml +0 -0
  127. {pydantic_ai-1.0.9 → pydantic_ai-1.0.10}/tests/models/cassettes/test_anthropic/test_anthropic_model_thinking_part_from_other_model.yaml +0 -0
  128. {pydantic_ai-1.0.9 → pydantic_ai-1.0.10}/tests/models/cassettes/test_anthropic/test_anthropic_model_thinking_part_redacted.yaml +0 -0
  129. {pydantic_ai-1.0.9 → pydantic_ai-1.0.10}/tests/models/cassettes/test_anthropic/test_anthropic_model_thinking_part_redacted_stream.yaml +0 -0
  130. {pydantic_ai-1.0.9 → pydantic_ai-1.0.10}/tests/models/cassettes/test_anthropic/test_anthropic_model_thinking_part_stream.yaml +0 -0
  131. {pydantic_ai-1.0.9 → pydantic_ai-1.0.10}/tests/models/cassettes/test_anthropic/test_anthropic_model_web_search_tool_stream.yaml +0 -0
  132. {pydantic_ai-1.0.9 → pydantic_ai-1.0.10}/tests/models/cassettes/test_anthropic/test_anthropic_prompted_output.yaml +0 -0
  133. {pydantic_ai-1.0.9 → pydantic_ai-1.0.10}/tests/models/cassettes/test_anthropic/test_anthropic_prompted_output_multiple.yaml +0 -0
  134. {pydantic_ai-1.0.9 → pydantic_ai-1.0.10}/tests/models/cassettes/test_anthropic/test_anthropic_server_tool_pass_history_to_another_provider.yaml +0 -0
  135. {pydantic_ai-1.0.9 → pydantic_ai-1.0.10}/tests/models/cassettes/test_anthropic/test_anthropic_server_tool_receive_history_from_another_provider.yaml +0 -0
  136. {pydantic_ai-1.0.9 → pydantic_ai-1.0.10}/tests/models/cassettes/test_anthropic/test_anthropic_text_output_function.yaml +0 -0
  137. {pydantic_ai-1.0.9 → pydantic_ai-1.0.10}/tests/models/cassettes/test_anthropic/test_anthropic_text_parts_ahead_of_built_in_tool_call.yaml +0 -0
  138. {pydantic_ai-1.0.9 → pydantic_ai-1.0.10}/tests/models/cassettes/test_anthropic/test_anthropic_tool_output.yaml +0 -0
  139. {pydantic_ai-1.0.9 → pydantic_ai-1.0.10}/tests/models/cassettes/test_anthropic/test_anthropic_tool_with_thinking.yaml +0 -0
  140. {pydantic_ai-1.0.9 → pydantic_ai-1.0.10}/tests/models/cassettes/test_anthropic/test_anthropic_web_search_tool.yaml +0 -0
  141. {pydantic_ai-1.0.9 → pydantic_ai-1.0.10}/tests/models/cassettes/test_anthropic/test_anthropic_web_search_tool_stream.yaml +0 -0
  142. {pydantic_ai-1.0.9 → pydantic_ai-1.0.10}/tests/models/cassettes/test_anthropic/test_document_binary_content_input.yaml +0 -0
  143. {pydantic_ai-1.0.9 → pydantic_ai-1.0.10}/tests/models/cassettes/test_anthropic/test_document_url_input.yaml +0 -0
  144. {pydantic_ai-1.0.9 → pydantic_ai-1.0.10}/tests/models/cassettes/test_anthropic/test_extra_headers.yaml +0 -0
  145. {pydantic_ai-1.0.9 → pydantic_ai-1.0.10}/tests/models/cassettes/test_anthropic/test_image_as_binary_content_tool_response.yaml +0 -0
  146. {pydantic_ai-1.0.9 → pydantic_ai-1.0.10}/tests/models/cassettes/test_anthropic/test_image_url_input.yaml +0 -0
  147. {pydantic_ai-1.0.9 → pydantic_ai-1.0.10}/tests/models/cassettes/test_anthropic/test_image_url_input_invalid_mime_type.yaml +0 -0
  148. {pydantic_ai-1.0.9 → pydantic_ai-1.0.10}/tests/models/cassettes/test_anthropic/test_multiple_parallel_tool_calls.yaml +0 -0
  149. {pydantic_ai-1.0.9 → pydantic_ai-1.0.10}/tests/models/cassettes/test_anthropic/test_text_document_url_input.yaml +0 -0
  150. {pydantic_ai-1.0.9 → pydantic_ai-1.0.10}/tests/models/cassettes/test_bedrock/test_bedrock_anthropic_tool_with_thinking.yaml +0 -0
  151. {pydantic_ai-1.0.9 → pydantic_ai-1.0.10}/tests/models/cassettes/test_bedrock/test_bedrock_empty_system_prompt.yaml +0 -0
  152. {pydantic_ai-1.0.9 → pydantic_ai-1.0.10}/tests/models/cassettes/test_bedrock/test_bedrock_model.yaml +0 -0
  153. {pydantic_ai-1.0.9 → pydantic_ai-1.0.10}/tests/models/cassettes/test_bedrock/test_bedrock_model_anthropic_model_without_tools.yaml +0 -0
  154. {pydantic_ai-1.0.9 → pydantic_ai-1.0.10}/tests/models/cassettes/test_bedrock/test_bedrock_model_guardrail_config.yaml +0 -0
  155. {pydantic_ai-1.0.9 → pydantic_ai-1.0.10}/tests/models/cassettes/test_bedrock/test_bedrock_model_instructions.yaml +0 -0
  156. {pydantic_ai-1.0.9 → pydantic_ai-1.0.10}/tests/models/cassettes/test_bedrock/test_bedrock_model_iter_stream.yaml +0 -0
  157. {pydantic_ai-1.0.9 → pydantic_ai-1.0.10}/tests/models/cassettes/test_bedrock/test_bedrock_model_max_tokens.yaml +0 -0
  158. {pydantic_ai-1.0.9 → pydantic_ai-1.0.10}/tests/models/cassettes/test_bedrock/test_bedrock_model_other_parameters.yaml +0 -0
  159. {pydantic_ai-1.0.9 → pydantic_ai-1.0.10}/tests/models/cassettes/test_bedrock/test_bedrock_model_performance_config.yaml +0 -0
  160. {pydantic_ai-1.0.9 → pydantic_ai-1.0.10}/tests/models/cassettes/test_bedrock/test_bedrock_model_retry.yaml +0 -0
  161. {pydantic_ai-1.0.9 → pydantic_ai-1.0.10}/tests/models/cassettes/test_bedrock/test_bedrock_model_stream.yaml +0 -0
  162. {pydantic_ai-1.0.9 → pydantic_ai-1.0.10}/tests/models/cassettes/test_bedrock/test_bedrock_model_structured_output.yaml +0 -0
  163. {pydantic_ai-1.0.9 → pydantic_ai-1.0.10}/tests/models/cassettes/test_bedrock/test_bedrock_model_thinking_part_anthropic.yaml +0 -0
  164. {pydantic_ai-1.0.9 → pydantic_ai-1.0.10}/tests/models/cassettes/test_bedrock/test_bedrock_model_thinking_part_deepseek.yaml +0 -0
  165. {pydantic_ai-1.0.9 → pydantic_ai-1.0.10}/tests/models/cassettes/test_bedrock/test_bedrock_model_thinking_part_from_other_model.yaml +0 -0
  166. {pydantic_ai-1.0.9 → pydantic_ai-1.0.10}/tests/models/cassettes/test_bedrock/test_bedrock_model_thinking_part_redacted.yaml +0 -0
  167. {pydantic_ai-1.0.9 → pydantic_ai-1.0.10}/tests/models/cassettes/test_bedrock/test_bedrock_model_thinking_part_redacted_stream.yaml +0 -0
  168. {pydantic_ai-1.0.9 → pydantic_ai-1.0.10}/tests/models/cassettes/test_bedrock/test_bedrock_model_thinking_part_stream.yaml +0 -0
  169. {pydantic_ai-1.0.9 → pydantic_ai-1.0.10}/tests/models/cassettes/test_bedrock/test_bedrock_model_top_p.yaml +0 -0
  170. {pydantic_ai-1.0.9 → pydantic_ai-1.0.10}/tests/models/cassettes/test_bedrock/test_bedrock_multiple_documents_in_history.yaml +0 -0
  171. {pydantic_ai-1.0.9 → pydantic_ai-1.0.10}/tests/models/cassettes/test_bedrock/test_document_url_input.yaml +0 -0
  172. {pydantic_ai-1.0.9 → pydantic_ai-1.0.10}/tests/models/cassettes/test_bedrock/test_image_as_binary_content_input.yaml +0 -0
  173. {pydantic_ai-1.0.9 → pydantic_ai-1.0.10}/tests/models/cassettes/test_bedrock/test_image_url_input.yaml +0 -0
  174. {pydantic_ai-1.0.9 → pydantic_ai-1.0.10}/tests/models/cassettes/test_bedrock/test_text_as_binary_content_input.yaml +0 -0
  175. {pydantic_ai-1.0.9 → pydantic_ai-1.0.10}/tests/models/cassettes/test_bedrock/test_text_document_url_input.yaml +0 -0
  176. {pydantic_ai-1.0.9 → pydantic_ai-1.0.10}/tests/models/cassettes/test_bedrock/test_video_as_binary_content_input.yaml +0 -0
  177. {pydantic_ai-1.0.9 → pydantic_ai-1.0.10}/tests/models/cassettes/test_bedrock/test_video_url_input.yaml +0 -0
  178. {pydantic_ai-1.0.9 → pydantic_ai-1.0.10}/tests/models/cassettes/test_cohere/test_cohere_model_instructions.yaml +0 -0
  179. {pydantic_ai-1.0.9 → pydantic_ai-1.0.10}/tests/models/cassettes/test_cohere/test_cohere_model_thinking_part.yaml +0 -0
  180. {pydantic_ai-1.0.9 → pydantic_ai-1.0.10}/tests/models/cassettes/test_cohere/test_request_simple_success_with_vcr.yaml +0 -0
  181. {pydantic_ai-1.0.9 → pydantic_ai-1.0.10}/tests/models/cassettes/test_deepseek/test_deepseek_model_thinking_part.yaml +0 -0
  182. {pydantic_ai-1.0.9 → pydantic_ai-1.0.10}/tests/models/cassettes/test_deepseek/test_deepseek_model_thinking_stream.yaml +0 -0
  183. {pydantic_ai-1.0.9 → pydantic_ai-1.0.10}/tests/models/cassettes/test_download_item/test_download_item_application_octet_stream.yaml +0 -0
  184. {pydantic_ai-1.0.9 → pydantic_ai-1.0.10}/tests/models/cassettes/test_download_item/test_download_item_audio_mpeg.yaml +0 -0
  185. {pydantic_ai-1.0.9 → pydantic_ai-1.0.10}/tests/models/cassettes/test_download_item/test_download_item_no_content_type.yaml +0 -0
  186. {pydantic_ai-1.0.9 → pydantic_ai-1.0.10}/tests/models/cassettes/test_gemini/test_document_url_input.yaml +0 -0
  187. {pydantic_ai-1.0.9 → pydantic_ai-1.0.10}/tests/models/cassettes/test_gemini/test_gemini_additional_properties_is_false.yaml +0 -0
  188. {pydantic_ai-1.0.9 → pydantic_ai-1.0.10}/tests/models/cassettes/test_gemini/test_gemini_additional_properties_is_true.yaml +0 -0
  189. {pydantic_ai-1.0.9 → pydantic_ai-1.0.10}/tests/models/cassettes/test_gemini/test_gemini_drop_exclusive_maximum.yaml +0 -0
  190. {pydantic_ai-1.0.9 → pydantic_ai-1.0.10}/tests/models/cassettes/test_gemini/test_gemini_exclusive_minimum_and_maximum.yaml +0 -0
  191. {pydantic_ai-1.0.9 → pydantic_ai-1.0.10}/tests/models/cassettes/test_gemini/test_gemini_model_instructions.yaml +0 -0
  192. {pydantic_ai-1.0.9 → pydantic_ai-1.0.10}/tests/models/cassettes/test_gemini/test_gemini_model_thinking_part.yaml +0 -0
  193. {pydantic_ai-1.0.9 → pydantic_ai-1.0.10}/tests/models/cassettes/test_gemini/test_gemini_native_output.yaml +0 -0
  194. {pydantic_ai-1.0.9 → pydantic_ai-1.0.10}/tests/models/cassettes/test_gemini/test_gemini_native_output_multiple.yaml +0 -0
  195. {pydantic_ai-1.0.9 → pydantic_ai-1.0.10}/tests/models/cassettes/test_gemini/test_gemini_prompted_output.yaml +0 -0
  196. {pydantic_ai-1.0.9 → pydantic_ai-1.0.10}/tests/models/cassettes/test_gemini/test_gemini_prompted_output_multiple.yaml +0 -0
  197. {pydantic_ai-1.0.9 → pydantic_ai-1.0.10}/tests/models/cassettes/test_gemini/test_gemini_prompted_output_with_tools.yaml +0 -0
  198. {pydantic_ai-1.0.9 → pydantic_ai-1.0.10}/tests/models/cassettes/test_gemini/test_gemini_text_output_function.yaml +0 -0
  199. {pydantic_ai-1.0.9 → pydantic_ai-1.0.10}/tests/models/cassettes/test_gemini/test_gemini_tool_config_any_with_tool_without_args.yaml +0 -0
  200. {pydantic_ai-1.0.9 → pydantic_ai-1.0.10}/tests/models/cassettes/test_gemini/test_gemini_tool_output.yaml +0 -0
  201. {pydantic_ai-1.0.9 → pydantic_ai-1.0.10}/tests/models/cassettes/test_gemini/test_gemini_youtube_video_url_input.yaml +0 -0
  202. {pydantic_ai-1.0.9 → pydantic_ai-1.0.10}/tests/models/cassettes/test_gemini/test_image_as_binary_content_input.yaml +0 -0
  203. {pydantic_ai-1.0.9 → pydantic_ai-1.0.10}/tests/models/cassettes/test_gemini/test_image_as_binary_content_tool_response.yaml +0 -0
  204. {pydantic_ai-1.0.9 → pydantic_ai-1.0.10}/tests/models/cassettes/test_gemini/test_image_url_input.yaml +0 -0
  205. {pydantic_ai-1.0.9 → pydantic_ai-1.0.10}/tests/models/cassettes/test_gemini/test_labels_are_ignored_with_gla_provider.yaml +0 -0
  206. {pydantic_ai-1.0.9 → pydantic_ai-1.0.10}/tests/models/cassettes/test_gemini/test_video_as_binary_content_input.yaml +0 -0
  207. {pydantic_ai-1.0.9 → pydantic_ai-1.0.10}/tests/models/cassettes/test_gemini/test_video_url_input.yaml +0 -0
  208. {pydantic_ai-1.0.9 → pydantic_ai-1.0.10}/tests/models/cassettes/test_gemini_vertex/test_labels.yaml +0 -0
  209. {pydantic_ai-1.0.9 → pydantic_ai-1.0.10}/tests/models/cassettes/test_gemini_vertex/test_url_input[AudioUrl (gs)].yaml +0 -0
  210. {pydantic_ai-1.0.9 → pydantic_ai-1.0.10}/tests/models/cassettes/test_gemini_vertex/test_url_input[AudioUrl].yaml +0 -0
  211. {pydantic_ai-1.0.9 → pydantic_ai-1.0.10}/tests/models/cassettes/test_gemini_vertex/test_url_input[DocumentUrl (gs)].yaml +0 -0
  212. {pydantic_ai-1.0.9 → pydantic_ai-1.0.10}/tests/models/cassettes/test_gemini_vertex/test_url_input[DocumentUrl].yaml +0 -0
  213. {pydantic_ai-1.0.9 → pydantic_ai-1.0.10}/tests/models/cassettes/test_gemini_vertex/test_url_input[ImageUrl (gs)].yaml +0 -0
  214. {pydantic_ai-1.0.9 → pydantic_ai-1.0.10}/tests/models/cassettes/test_gemini_vertex/test_url_input[ImageUrl].yaml +0 -0
  215. {pydantic_ai-1.0.9 → pydantic_ai-1.0.10}/tests/models/cassettes/test_gemini_vertex/test_url_input[VideoUrl (YouTube)].yaml +0 -0
  216. {pydantic_ai-1.0.9 → pydantic_ai-1.0.10}/tests/models/cassettes/test_gemini_vertex/test_url_input[VideoUrl (gs)].yaml +0 -0
  217. {pydantic_ai-1.0.9 → pydantic_ai-1.0.10}/tests/models/cassettes/test_gemini_vertex/test_url_input[VideoUrl].yaml +0 -0
  218. {pydantic_ai-1.0.9 → pydantic_ai-1.0.10}/tests/models/cassettes/test_gemini_vertex/test_url_input_force_download.yaml +0 -0
  219. {pydantic_ai-1.0.9 → pydantic_ai-1.0.10}/tests/models/cassettes/test_google/test_google_builtin_tools_with_other_tools.yaml +0 -0
  220. {pydantic_ai-1.0.9 → pydantic_ai-1.0.10}/tests/models/cassettes/test_google/test_google_model.yaml +0 -0
  221. {pydantic_ai-1.0.9 → pydantic_ai-1.0.10}/tests/models/cassettes/test_google/test_google_model_builtin_code_execution_stream.yaml +0 -0
  222. {pydantic_ai-1.0.9 → pydantic_ai-1.0.10}/tests/models/cassettes/test_google/test_google_model_code_execution_tool.yaml +0 -0
  223. {pydantic_ai-1.0.9 → pydantic_ai-1.0.10}/tests/models/cassettes/test_google/test_google_model_empty_assistant_response.yaml +0 -0
  224. {pydantic_ai-1.0.9 → pydantic_ai-1.0.10}/tests/models/cassettes/test_google/test_google_model_empty_user_prompt.yaml +0 -0
  225. {pydantic_ai-1.0.9 → pydantic_ai-1.0.10}/tests/models/cassettes/test_google/test_google_model_instructions.yaml +0 -0
  226. {pydantic_ai-1.0.9 → pydantic_ai-1.0.10}/tests/models/cassettes/test_google/test_google_model_iter_stream.yaml +0 -0
  227. {pydantic_ai-1.0.9 → pydantic_ai-1.0.10}/tests/models/cassettes/test_google/test_google_model_max_tokens.yaml +0 -0
  228. {pydantic_ai-1.0.9 → pydantic_ai-1.0.10}/tests/models/cassettes/test_google/test_google_model_multiple_documents_in_history.yaml +0 -0
  229. {pydantic_ai-1.0.9 → pydantic_ai-1.0.10}/tests/models/cassettes/test_google/test_google_model_receive_web_search_history_from_another_provider.yaml +0 -0
  230. {pydantic_ai-1.0.9 → pydantic_ai-1.0.10}/tests/models/cassettes/test_google/test_google_model_retry.yaml +0 -0
  231. {pydantic_ai-1.0.9 → pydantic_ai-1.0.10}/tests/models/cassettes/test_google/test_google_model_safety_settings.yaml +0 -0
  232. {pydantic_ai-1.0.9 → pydantic_ai-1.0.10}/tests/models/cassettes/test_google/test_google_model_server_tool_receive_history_from_another_provider.yaml +0 -0
  233. {pydantic_ai-1.0.9 → pydantic_ai-1.0.10}/tests/models/cassettes/test_google/test_google_model_stream.yaml +0 -0
  234. {pydantic_ai-1.0.9 → pydantic_ai-1.0.10}/tests/models/cassettes/test_google/test_google_model_structured_output.yaml +0 -0
  235. {pydantic_ai-1.0.9 → pydantic_ai-1.0.10}/tests/models/cassettes/test_google/test_google_model_thinking_config.yaml +0 -0
  236. {pydantic_ai-1.0.9 → pydantic_ai-1.0.10}/tests/models/cassettes/test_google/test_google_model_thinking_part.yaml +0 -0
  237. {pydantic_ai-1.0.9 → pydantic_ai-1.0.10}/tests/models/cassettes/test_google/test_google_model_thinking_part_from_other_model.yaml +0 -0
  238. {pydantic_ai-1.0.9 → pydantic_ai-1.0.10}/tests/models/cassettes/test_google/test_google_model_thinking_part_iter.yaml +0 -0
  239. {pydantic_ai-1.0.9 → pydantic_ai-1.0.10}/tests/models/cassettes/test_google/test_google_model_top_p.yaml +0 -0
  240. {pydantic_ai-1.0.9 → pydantic_ai-1.0.10}/tests/models/cassettes/test_google/test_google_model_url_context_tool.yaml +0 -0
  241. {pydantic_ai-1.0.9 → pydantic_ai-1.0.10}/tests/models/cassettes/test_google/test_google_model_usage_limit_exceeded.yaml +0 -0
  242. {pydantic_ai-1.0.9 → pydantic_ai-1.0.10}/tests/models/cassettes/test_google/test_google_model_usage_limit_not_exceeded.yaml +0 -0
  243. {pydantic_ai-1.0.9 → pydantic_ai-1.0.10}/tests/models/cassettes/test_google/test_google_model_vertex_labels.yaml +0 -0
  244. {pydantic_ai-1.0.9 → pydantic_ai-1.0.10}/tests/models/cassettes/test_google/test_google_model_vertex_provider.yaml +0 -0
  245. {pydantic_ai-1.0.9 → pydantic_ai-1.0.10}/tests/models/cassettes/test_google/test_google_model_video_as_binary_content_input_with_vendor_metadata.yaml +0 -0
  246. {pydantic_ai-1.0.9 → pydantic_ai-1.0.10}/tests/models/cassettes/test_google/test_google_model_web_search_tool.yaml +0 -0
  247. {pydantic_ai-1.0.9 → pydantic_ai-1.0.10}/tests/models/cassettes/test_google/test_google_model_web_search_tool_stream.yaml +0 -0
  248. {pydantic_ai-1.0.9 → pydantic_ai-1.0.10}/tests/models/cassettes/test_google/test_google_model_youtube_video_url_input_with_vendor_metadata.yaml +0 -0
  249. {pydantic_ai-1.0.9 → pydantic_ai-1.0.10}/tests/models/cassettes/test_google/test_google_native_output.yaml +0 -0
  250. {pydantic_ai-1.0.9 → pydantic_ai-1.0.10}/tests/models/cassettes/test_google/test_google_native_output_multiple.yaml +0 -0
  251. {pydantic_ai-1.0.9 → pydantic_ai-1.0.10}/tests/models/cassettes/test_google/test_google_prompted_output.yaml +0 -0
  252. {pydantic_ai-1.0.9 → pydantic_ai-1.0.10}/tests/models/cassettes/test_google/test_google_prompted_output_multiple.yaml +0 -0
  253. {pydantic_ai-1.0.9 → pydantic_ai-1.0.10}/tests/models/cassettes/test_google/test_google_prompted_output_with_tools.yaml +0 -0
  254. {pydantic_ai-1.0.9 → pydantic_ai-1.0.10}/tests/models/cassettes/test_google/test_google_text_output_function.yaml +0 -0
  255. {pydantic_ai-1.0.9 → pydantic_ai-1.0.10}/tests/models/cassettes/test_google/test_google_timeout.yaml +0 -0
  256. {pydantic_ai-1.0.9 → pydantic_ai-1.0.10}/tests/models/cassettes/test_google/test_google_tool_config_any_with_tool_without_args.yaml +0 -0
  257. {pydantic_ai-1.0.9 → pydantic_ai-1.0.10}/tests/models/cassettes/test_google/test_google_tool_output.yaml +0 -0
  258. {pydantic_ai-1.0.9 → pydantic_ai-1.0.10}/tests/models/cassettes/test_google/test_google_url_input[AudioUrl (gs)].yaml +0 -0
  259. {pydantic_ai-1.0.9 → pydantic_ai-1.0.10}/tests/models/cassettes/test_google/test_google_url_input[AudioUrl].yaml +0 -0
  260. {pydantic_ai-1.0.9 → pydantic_ai-1.0.10}/tests/models/cassettes/test_google/test_google_url_input[DocumentUrl (gs)].yaml +0 -0
  261. {pydantic_ai-1.0.9 → pydantic_ai-1.0.10}/tests/models/cassettes/test_google/test_google_url_input[DocumentUrl].yaml +0 -0
  262. {pydantic_ai-1.0.9 → pydantic_ai-1.0.10}/tests/models/cassettes/test_google/test_google_url_input[ImageUrl (gs)].yaml +0 -0
  263. {pydantic_ai-1.0.9 → pydantic_ai-1.0.10}/tests/models/cassettes/test_google/test_google_url_input[ImageUrl].yaml +0 -0
  264. {pydantic_ai-1.0.9 → pydantic_ai-1.0.10}/tests/models/cassettes/test_google/test_google_url_input[VideoUrl (YouTube)].yaml +0 -0
  265. {pydantic_ai-1.0.9 → pydantic_ai-1.0.10}/tests/models/cassettes/test_google/test_google_url_input[VideoUrl (gs)].yaml +0 -0
  266. {pydantic_ai-1.0.9 → pydantic_ai-1.0.10}/tests/models/cassettes/test_google/test_google_url_input[VideoUrl].yaml +0 -0
  267. {pydantic_ai-1.0.9 → pydantic_ai-1.0.10}/tests/models/cassettes/test_google/test_google_url_input_force_download.yaml +0 -0
  268. {pydantic_ai-1.0.9 → pydantic_ai-1.0.10}/tests/models/cassettes/test_google/test_google_vertexai_model_usage_limit_exceeded.yaml +0 -0
  269. {pydantic_ai-1.0.9 → pydantic_ai-1.0.10}/tests/models/cassettes/test_groq/test_extra_headers.yaml +0 -0
  270. {pydantic_ai-1.0.9 → pydantic_ai-1.0.10}/tests/models/cassettes/test_groq/test_groq_model_instructions.yaml +0 -0
  271. {pydantic_ai-1.0.9 → pydantic_ai-1.0.10}/tests/models/cassettes/test_groq/test_groq_model_thinking_part.yaml +0 -0
  272. {pydantic_ai-1.0.9 → pydantic_ai-1.0.10}/tests/models/cassettes/test_groq/test_groq_model_thinking_part_iter.yaml +0 -0
  273. {pydantic_ai-1.0.9 → pydantic_ai-1.0.10}/tests/models/cassettes/test_groq/test_groq_model_web_search_tool.yaml +0 -0
  274. {pydantic_ai-1.0.9 → pydantic_ai-1.0.10}/tests/models/cassettes/test_groq/test_groq_model_web_search_tool_stream.yaml +0 -0
  275. {pydantic_ai-1.0.9 → pydantic_ai-1.0.10}/tests/models/cassettes/test_groq/test_groq_native_output.yaml +0 -0
  276. {pydantic_ai-1.0.9 → pydantic_ai-1.0.10}/tests/models/cassettes/test_groq/test_groq_prompted_output.yaml +0 -0
  277. {pydantic_ai-1.0.9 → pydantic_ai-1.0.10}/tests/models/cassettes/test_groq/test_image_as_binary_content_input.yaml +0 -0
  278. {pydantic_ai-1.0.9 → pydantic_ai-1.0.10}/tests/models/cassettes/test_groq/test_image_as_binary_content_tool_response.yaml +0 -0
  279. {pydantic_ai-1.0.9 → pydantic_ai-1.0.10}/tests/models/cassettes/test_groq/test_image_url_input.yaml +0 -0
  280. {pydantic_ai-1.0.9 → pydantic_ai-1.0.10}/tests/models/cassettes/test_groq/test_tool_regular_error.yaml +0 -0
  281. {pydantic_ai-1.0.9 → pydantic_ai-1.0.10}/tests/models/cassettes/test_groq/test_tool_use_failed_error.yaml +0 -0
  282. {pydantic_ai-1.0.9 → pydantic_ai-1.0.10}/tests/models/cassettes/test_groq/test_tool_use_failed_error_streaming.yaml +0 -0
  283. {pydantic_ai-1.0.9 → pydantic_ai-1.0.10}/tests/models/cassettes/test_huggingface/test_hf_model_instructions.yaml +0 -0
  284. {pydantic_ai-1.0.9 → pydantic_ai-1.0.10}/tests/models/cassettes/test_huggingface/test_hf_model_thinking_part.yaml +0 -0
  285. {pydantic_ai-1.0.9 → pydantic_ai-1.0.10}/tests/models/cassettes/test_huggingface/test_hf_model_thinking_part_iter.yaml +0 -0
  286. {pydantic_ai-1.0.9 → pydantic_ai-1.0.10}/tests/models/cassettes/test_huggingface/test_image_as_binary_content_input.yaml +0 -0
  287. {pydantic_ai-1.0.9 → pydantic_ai-1.0.10}/tests/models/cassettes/test_huggingface/test_image_url_input.yaml +0 -0
  288. {pydantic_ai-1.0.9 → pydantic_ai-1.0.10}/tests/models/cassettes/test_huggingface/test_max_completion_tokens[Qwen-Qwen2.5-72B-Instruct].yaml +0 -0
  289. {pydantic_ai-1.0.9 → pydantic_ai-1.0.10}/tests/models/cassettes/test_huggingface/test_max_completion_tokens[deepseek-ai-DeepSeek-R1-0528].yaml +0 -0
  290. {pydantic_ai-1.0.9 → pydantic_ai-1.0.10}/tests/models/cassettes/test_huggingface/test_max_completion_tokens[meta-llama-Llama-3.3-70B-Instruct].yaml +0 -0
  291. {pydantic_ai-1.0.9 → pydantic_ai-1.0.10}/tests/models/cassettes/test_huggingface/test_request_simple_success_with_vcr.yaml +0 -0
  292. {pydantic_ai-1.0.9 → pydantic_ai-1.0.10}/tests/models/cassettes/test_huggingface/test_request_simple_usage.yaml +0 -0
  293. {pydantic_ai-1.0.9 → pydantic_ai-1.0.10}/tests/models/cassettes/test_huggingface/test_simple_completion.yaml +0 -0
  294. {pydantic_ai-1.0.9 → pydantic_ai-1.0.10}/tests/models/cassettes/test_huggingface/test_stream_completion.yaml +0 -0
  295. {pydantic_ai-1.0.9 → pydantic_ai-1.0.10}/tests/models/cassettes/test_mistral/test_image_as_binary_content_tool_response.yaml +0 -0
  296. {pydantic_ai-1.0.9 → pydantic_ai-1.0.10}/tests/models/cassettes/test_mistral/test_mistral_model_instructions.yaml +0 -0
  297. {pydantic_ai-1.0.9 → pydantic_ai-1.0.10}/tests/models/cassettes/test_mistral/test_mistral_model_thinking_part.yaml +0 -0
  298. {pydantic_ai-1.0.9 → pydantic_ai-1.0.10}/tests/models/cassettes/test_mistral/test_mistral_model_thinking_part_iter.yaml +0 -0
  299. {pydantic_ai-1.0.9 → pydantic_ai-1.0.10}/tests/models/cassettes/test_model_names/test_known_model_names.yaml +0 -0
  300. {pydantic_ai-1.0.9 → pydantic_ai-1.0.10}/tests/models/cassettes/test_openai/test_audio_as_binary_content_input.yaml +0 -0
  301. {pydantic_ai-1.0.9 → pydantic_ai-1.0.10}/tests/models/cassettes/test_openai/test_compatible_api_with_tool_calls_without_id.yaml +0 -0
  302. {pydantic_ai-1.0.9 → pydantic_ai-1.0.10}/tests/models/cassettes/test_openai/test_document_as_binary_content_input.yaml +0 -0
  303. {pydantic_ai-1.0.9 → pydantic_ai-1.0.10}/tests/models/cassettes/test_openai/test_document_as_binary_content_input_with_tool.yaml +0 -0
  304. {pydantic_ai-1.0.9 → pydantic_ai-1.0.10}/tests/models/cassettes/test_openai/test_document_url_input.yaml +0 -0
  305. {pydantic_ai-1.0.9 → pydantic_ai-1.0.10}/tests/models/cassettes/test_openai/test_extra_headers.yaml +0 -0
  306. {pydantic_ai-1.0.9 → pydantic_ai-1.0.10}/tests/models/cassettes/test_openai/test_image_as_binary_content_input.yaml +0 -0
  307. {pydantic_ai-1.0.9 → pydantic_ai-1.0.10}/tests/models/cassettes/test_openai/test_image_as_binary_content_tool_response.yaml +0 -0
  308. {pydantic_ai-1.0.9 → pydantic_ai-1.0.10}/tests/models/cassettes/test_openai/test_image_url_tool_response.yaml +0 -0
  309. {pydantic_ai-1.0.9 → pydantic_ai-1.0.10}/tests/models/cassettes/test_openai/test_invalid_response.yaml +0 -0
  310. {pydantic_ai-1.0.9 → pydantic_ai-1.0.10}/tests/models/cassettes/test_openai/test_max_completion_tokens[gpt-4.5-preview].yaml +0 -0
  311. {pydantic_ai-1.0.9 → pydantic_ai-1.0.10}/tests/models/cassettes/test_openai/test_max_completion_tokens[gpt-4o-mini].yaml +0 -0
  312. {pydantic_ai-1.0.9 → pydantic_ai-1.0.10}/tests/models/cassettes/test_openai/test_max_completion_tokens[o3-mini].yaml +0 -0
  313. {pydantic_ai-1.0.9 → pydantic_ai-1.0.10}/tests/models/cassettes/test_openai/test_multiple_agent_tool_calls.yaml +0 -0
  314. {pydantic_ai-1.0.9 → pydantic_ai-1.0.10}/tests/models/cassettes/test_openai/test_openai_audio_url_input.yaml +0 -0
  315. {pydantic_ai-1.0.9 → pydantic_ai-1.0.10}/tests/models/cassettes/test_openai/test_openai_instructions.yaml +0 -0
  316. {pydantic_ai-1.0.9 → pydantic_ai-1.0.10}/tests/models/cassettes/test_openai/test_openai_instructions_with_tool_calls_keep_instructions.yaml +0 -0
  317. {pydantic_ai-1.0.9 → pydantic_ai-1.0.10}/tests/models/cassettes/test_openai/test_openai_model_cerebras_provider.yaml +0 -0
  318. {pydantic_ai-1.0.9 → pydantic_ai-1.0.10}/tests/models/cassettes/test_openai/test_openai_model_cerebras_provider_harmony.yaml +0 -0
  319. {pydantic_ai-1.0.9 → pydantic_ai-1.0.10}/tests/models/cassettes/test_openai/test_openai_model_cerebras_provider_qwen_3_coder.yaml +0 -0
  320. {pydantic_ai-1.0.9 → pydantic_ai-1.0.10}/tests/models/cassettes/test_openai/test_openai_model_settings_temperature_ignored_on_gpt_5.yaml +0 -0
  321. {pydantic_ai-1.0.9 → pydantic_ai-1.0.10}/tests/models/cassettes/test_openai/test_openai_model_thinking_part.yaml +0 -0
  322. {pydantic_ai-1.0.9 → pydantic_ai-1.0.10}/tests/models/cassettes/test_openai/test_openai_model_without_system_prompt.yaml +0 -0
  323. {pydantic_ai-1.0.9 → pydantic_ai-1.0.10}/tests/models/cassettes/test_openai/test_openai_native_output.yaml +0 -0
  324. {pydantic_ai-1.0.9 → pydantic_ai-1.0.10}/tests/models/cassettes/test_openai/test_openai_native_output_multiple.yaml +0 -0
  325. {pydantic_ai-1.0.9 → pydantic_ai-1.0.10}/tests/models/cassettes/test_openai/test_openai_o1_mini_system_role[developer].yaml +0 -0
  326. {pydantic_ai-1.0.9 → pydantic_ai-1.0.10}/tests/models/cassettes/test_openai/test_openai_o1_mini_system_role[system].yaml +0 -0
  327. {pydantic_ai-1.0.9 → pydantic_ai-1.0.10}/tests/models/cassettes/test_openai/test_openai_prompted_output.yaml +0 -0
  328. {pydantic_ai-1.0.9 → pydantic_ai-1.0.10}/tests/models/cassettes/test_openai/test_openai_prompted_output_multiple.yaml +0 -0
  329. {pydantic_ai-1.0.9 → pydantic_ai-1.0.10}/tests/models/cassettes/test_openai/test_openai_text_output_function.yaml +0 -0
  330. {pydantic_ai-1.0.9 → pydantic_ai-1.0.10}/tests/models/cassettes/test_openai/test_openai_tool_output.yaml +0 -0
  331. {pydantic_ai-1.0.9 → pydantic_ai-1.0.10}/tests/models/cassettes/test_openai/test_openai_web_search_tool.yaml +0 -0
  332. {pydantic_ai-1.0.9 → pydantic_ai-1.0.10}/tests/models/cassettes/test_openai/test_openai_web_search_tool_model_not_supported.yaml +0 -0
  333. {pydantic_ai-1.0.9 → pydantic_ai-1.0.10}/tests/models/cassettes/test_openai/test_openai_web_search_tool_with_user_location.yaml +0 -0
  334. {pydantic_ai-1.0.9 → pydantic_ai-1.0.10}/tests/models/cassettes/test_openai/test_reasoning_model_with_temperature.yaml +0 -0
  335. {pydantic_ai-1.0.9 → pydantic_ai-1.0.10}/tests/models/cassettes/test_openai/test_system_prompt_role_o1_mini.yaml +0 -0
  336. {pydantic_ai-1.0.9 → pydantic_ai-1.0.10}/tests/models/cassettes/test_openai/test_text_response.yaml +0 -0
  337. {pydantic_ai-1.0.9 → pydantic_ai-1.0.10}/tests/models/cassettes/test_openai/test_user_id.yaml +0 -0
  338. {pydantic_ai-1.0.9 → pydantic_ai-1.0.10}/tests/models/cassettes/test_openai/test_valid_response.yaml +0 -0
  339. {pydantic_ai-1.0.9 → pydantic_ai-1.0.10}/tests/models/cassettes/test_openai_responses/test_audio_as_binary_content_input.yaml +0 -0
  340. {pydantic_ai-1.0.9 → pydantic_ai-1.0.10}/tests/models/cassettes/test_openai_responses/test_image_as_binary_content_input.yaml +0 -0
  341. {pydantic_ai-1.0.9 → pydantic_ai-1.0.10}/tests/models/cassettes/test_openai_responses/test_image_as_binary_content_tool_response.yaml +0 -0
  342. {pydantic_ai-1.0.9 → pydantic_ai-1.0.10}/tests/models/cassettes/test_openai_responses/test_native_output.yaml +0 -0
  343. {pydantic_ai-1.0.9 → pydantic_ai-1.0.10}/tests/models/cassettes/test_openai_responses/test_native_output_multiple.yaml +0 -0
  344. {pydantic_ai-1.0.9 → pydantic_ai-1.0.10}/tests/models/cassettes/test_openai_responses/test_openai_previous_response_id.yaml +0 -0
  345. {pydantic_ai-1.0.9 → pydantic_ai-1.0.10}/tests/models/cassettes/test_openai_responses/test_openai_previous_response_id_auto_mode.yaml +0 -0
  346. {pydantic_ai-1.0.9 → pydantic_ai-1.0.10}/tests/models/cassettes/test_openai_responses/test_openai_responses_code_execution_return_image.yaml +0 -0
  347. {pydantic_ai-1.0.9 → pydantic_ai-1.0.10}/tests/models/cassettes/test_openai_responses/test_openai_responses_document_as_binary_content_input.yaml +0 -0
  348. {pydantic_ai-1.0.9 → pydantic_ai-1.0.10}/tests/models/cassettes/test_openai_responses/test_openai_responses_document_url_input.yaml +0 -0
  349. {pydantic_ai-1.0.9 → pydantic_ai-1.0.10}/tests/models/cassettes/test_openai_responses/test_openai_responses_image_url_input.yaml +0 -0
  350. {pydantic_ai-1.0.9 → pydantic_ai-1.0.10}/tests/models/cassettes/test_openai_responses/test_openai_responses_model_builtin_tools.yaml +0 -0
  351. {pydantic_ai-1.0.9 → pydantic_ai-1.0.10}/tests/models/cassettes/test_openai_responses/test_openai_responses_model_builtin_tools_web_search.yaml +0 -0
  352. {pydantic_ai-1.0.9 → pydantic_ai-1.0.10}/tests/models/cassettes/test_openai_responses/test_openai_responses_model_http_error.yaml +0 -0
  353. {pydantic_ai-1.0.9 → pydantic_ai-1.0.10}/tests/models/cassettes/test_openai_responses/test_openai_responses_model_instructions.yaml +0 -0
  354. {pydantic_ai-1.0.9 → pydantic_ai-1.0.10}/tests/models/cassettes/test_openai_responses/test_openai_responses_model_retry.yaml +0 -0
  355. {pydantic_ai-1.0.9 → pydantic_ai-1.0.10}/tests/models/cassettes/test_openai_responses/test_openai_responses_model_simple_response.yaml +0 -0
  356. {pydantic_ai-1.0.9 → pydantic_ai-1.0.10}/tests/models/cassettes/test_openai_responses/test_openai_responses_model_simple_response_with_tool_call.yaml +0 -0
  357. {pydantic_ai-1.0.9 → pydantic_ai-1.0.10}/tests/models/cassettes/test_openai_responses/test_openai_responses_model_thinking_part.yaml +0 -0
  358. {pydantic_ai-1.0.9 → pydantic_ai-1.0.10}/tests/models/cassettes/test_openai_responses/test_openai_responses_model_web_search_tool.yaml +0 -0
  359. {pydantic_ai-1.0.9 → pydantic_ai-1.0.10}/tests/models/cassettes/test_openai_responses/test_openai_responses_model_web_search_tool_stream.yaml +0 -0
  360. {pydantic_ai-1.0.9 → pydantic_ai-1.0.10}/tests/models/cassettes/test_openai_responses/test_openai_responses_model_web_search_tool_with_invalid_region.yaml +0 -0
  361. {pydantic_ai-1.0.9 → pydantic_ai-1.0.10}/tests/models/cassettes/test_openai_responses/test_openai_responses_model_web_search_tool_with_user_location.yaml +0 -0
  362. {pydantic_ai-1.0.9 → pydantic_ai-1.0.10}/tests/models/cassettes/test_openai_responses/test_openai_responses_non_reasoning_model_no_item_ids.yaml +0 -0
  363. {pydantic_ai-1.0.9 → pydantic_ai-1.0.10}/tests/models/cassettes/test_openai_responses/test_openai_responses_output_type.yaml +0 -0
  364. {pydantic_ai-1.0.9 → pydantic_ai-1.0.10}/tests/models/cassettes/test_openai_responses/test_openai_responses_reasoning_effort.yaml +0 -0
  365. {pydantic_ai-1.0.9 → pydantic_ai-1.0.10}/tests/models/cassettes/test_openai_responses/test_openai_responses_reasoning_generate_summary.yaml +0 -0
  366. {pydantic_ai-1.0.9 → pydantic_ai-1.0.10}/tests/models/cassettes/test_openai_responses/test_openai_responses_stream.yaml +0 -0
  367. {pydantic_ai-1.0.9 → pydantic_ai-1.0.10}/tests/models/cassettes/test_openai_responses/test_openai_responses_streaming_usage.yaml +0 -0
  368. {pydantic_ai-1.0.9 → pydantic_ai-1.0.10}/tests/models/cassettes/test_openai_responses/test_openai_responses_system_prompt.yaml +0 -0
  369. {pydantic_ai-1.0.9 → pydantic_ai-1.0.10}/tests/models/cassettes/test_openai_responses/test_openai_responses_text_document_url_input.yaml +0 -0
  370. {pydantic_ai-1.0.9 → pydantic_ai-1.0.10}/tests/models/cassettes/test_openai_responses/test_openai_responses_thinking_part_from_other_model.yaml +0 -0
  371. {pydantic_ai-1.0.9 → pydantic_ai-1.0.10}/tests/models/cassettes/test_openai_responses/test_openai_responses_thinking_part_iter.yaml +0 -0
  372. {pydantic_ai-1.0.9 → pydantic_ai-1.0.10}/tests/models/cassettes/test_openai_responses/test_openai_responses_thinking_with_code_execution_tool.yaml +0 -0
  373. {pydantic_ai-1.0.9 → pydantic_ai-1.0.10}/tests/models/cassettes/test_openai_responses/test_openai_responses_thinking_with_code_execution_tool_stream.yaml +0 -0
  374. {pydantic_ai-1.0.9 → pydantic_ai-1.0.10}/tests/models/cassettes/test_openai_responses/test_openai_responses_thinking_with_modified_history.yaml +0 -0
  375. {pydantic_ai-1.0.9 → pydantic_ai-1.0.10}/tests/models/cassettes/test_openai_responses/test_openai_responses_thinking_with_tool_calls.yaml +0 -0
  376. {pydantic_ai-1.0.9 → pydantic_ai-1.0.10}/tests/models/cassettes/test_openai_responses/test_openai_responses_verbosity.yaml +0 -0
  377. {pydantic_ai-1.0.9 → pydantic_ai-1.0.10}/tests/models/cassettes/test_openai_responses/test_prompted_output.yaml +0 -0
  378. {pydantic_ai-1.0.9 → pydantic_ai-1.0.10}/tests/models/cassettes/test_openai_responses/test_prompted_output_multiple.yaml +0 -0
  379. {pydantic_ai-1.0.9 → pydantic_ai-1.0.10}/tests/models/cassettes/test_openai_responses/test_reasoning_model_with_temperature.yaml +0 -0
  380. {pydantic_ai-1.0.9 → pydantic_ai-1.0.10}/tests/models/cassettes/test_openai_responses/test_text_output_function.yaml +0 -0
  381. {pydantic_ai-1.0.9 → pydantic_ai-1.0.10}/tests/models/cassettes/test_openai_responses/test_tool_output.yaml +0 -0
  382. {pydantic_ai-1.0.9 → pydantic_ai-1.0.10}/tests/models/mock_async_stream.py +0 -0
  383. {pydantic_ai-1.0.9 → pydantic_ai-1.0.10}/tests/models/mock_openai.py +0 -0
  384. {pydantic_ai-1.0.9 → pydantic_ai-1.0.10}/tests/models/test_anthropic.py +0 -0
  385. {pydantic_ai-1.0.9 → pydantic_ai-1.0.10}/tests/models/test_bedrock.py +0 -0
  386. {pydantic_ai-1.0.9 → pydantic_ai-1.0.10}/tests/models/test_cohere.py +0 -0
  387. {pydantic_ai-1.0.9 → pydantic_ai-1.0.10}/tests/models/test_deepseek.py +0 -0
  388. {pydantic_ai-1.0.9 → pydantic_ai-1.0.10}/tests/models/test_download_item.py +0 -0
  389. {pydantic_ai-1.0.9 → pydantic_ai-1.0.10}/tests/models/test_fallback.py +0 -0
  390. {pydantic_ai-1.0.9 → pydantic_ai-1.0.10}/tests/models/test_gemini.py +0 -0
  391. {pydantic_ai-1.0.9 → pydantic_ai-1.0.10}/tests/models/test_gemini_vertex.py +0 -0
  392. {pydantic_ai-1.0.9 → pydantic_ai-1.0.10}/tests/models/test_mcp_sampling.py +0 -0
  393. {pydantic_ai-1.0.9 → pydantic_ai-1.0.10}/tests/models/test_mistral.py +0 -0
  394. {pydantic_ai-1.0.9 → pydantic_ai-1.0.10}/tests/models/test_model.py +0 -0
  395. {pydantic_ai-1.0.9 → pydantic_ai-1.0.10}/tests/models/test_model_function.py +0 -0
  396. {pydantic_ai-1.0.9 → pydantic_ai-1.0.10}/tests/models/test_model_names.py +0 -0
  397. {pydantic_ai-1.0.9 → pydantic_ai-1.0.10}/tests/models/test_model_request_parameters.py +0 -0
  398. {pydantic_ai-1.0.9 → pydantic_ai-1.0.10}/tests/models/test_model_settings.py +0 -0
  399. {pydantic_ai-1.0.9 → pydantic_ai-1.0.10}/tests/models/test_model_test.py +0 -0
  400. {pydantic_ai-1.0.9 → pydantic_ai-1.0.10}/tests/models/test_openai_responses.py +0 -0
  401. {pydantic_ai-1.0.9 → pydantic_ai-1.0.10}/tests/parts_from_messages.py +0 -0
  402. {pydantic_ai-1.0.9 → pydantic_ai-1.0.10}/tests/providers/__init__.py +0 -0
  403. {pydantic_ai-1.0.9 → pydantic_ai-1.0.10}/tests/providers/cassettes/test_azure/test_azure_provider_call.yaml +0 -0
  404. {pydantic_ai-1.0.9 → pydantic_ai-1.0.10}/tests/providers/cassettes/test_gateway/test_gateway_provider_with_anthropic.yaml +0 -0
  405. {pydantic_ai-1.0.9 → pydantic_ai-1.0.10}/tests/providers/cassettes/test_gateway/test_gateway_provider_with_google_vertex.yaml +0 -0
  406. {pydantic_ai-1.0.9 → pydantic_ai-1.0.10}/tests/providers/cassettes/test_gateway/test_gateway_provider_with_groq.yaml +0 -0
  407. {pydantic_ai-1.0.9 → pydantic_ai-1.0.10}/tests/providers/cassettes/test_gateway/test_gateway_provider_with_openai.yaml +0 -0
  408. {pydantic_ai-1.0.9 → pydantic_ai-1.0.10}/tests/providers/cassettes/test_gateway/test_gateway_provider_with_openai_responses.yaml +0 -0
  409. {pydantic_ai-1.0.9 → pydantic_ai-1.0.10}/tests/providers/cassettes/test_google_vertex/test_vertexai_provider.yaml +0 -0
  410. {pydantic_ai-1.0.9 → pydantic_ai-1.0.10}/tests/providers/cassettes/test_heroku/test_heroku_model_provider_claude_3_7_sonnet.yaml +0 -0
  411. {pydantic_ai-1.0.9 → pydantic_ai-1.0.10}/tests/providers/cassettes/test_openrouter/test_openrouter_with_google_model.yaml +0 -0
  412. {pydantic_ai-1.0.9 → pydantic_ai-1.0.10}/tests/providers/test_anthropic.py +0 -0
  413. {pydantic_ai-1.0.9 → pydantic_ai-1.0.10}/tests/providers/test_azure.py +0 -0
  414. {pydantic_ai-1.0.9 → pydantic_ai-1.0.10}/tests/providers/test_bedrock.py +0 -0
  415. {pydantic_ai-1.0.9 → pydantic_ai-1.0.10}/tests/providers/test_cerebras.py +0 -0
  416. {pydantic_ai-1.0.9 → pydantic_ai-1.0.10}/tests/providers/test_cohere.py +0 -0
  417. {pydantic_ai-1.0.9 → pydantic_ai-1.0.10}/tests/providers/test_deepseek.py +0 -0
  418. {pydantic_ai-1.0.9 → pydantic_ai-1.0.10}/tests/providers/test_fireworks.py +0 -0
  419. {pydantic_ai-1.0.9 → pydantic_ai-1.0.10}/tests/providers/test_gateway.py +0 -0
  420. {pydantic_ai-1.0.9 → pydantic_ai-1.0.10}/tests/providers/test_github.py +0 -0
  421. {pydantic_ai-1.0.9 → pydantic_ai-1.0.10}/tests/providers/test_google_gla.py +0 -0
  422. {pydantic_ai-1.0.9 → pydantic_ai-1.0.10}/tests/providers/test_google_vertex.py +0 -0
  423. {pydantic_ai-1.0.9 → pydantic_ai-1.0.10}/tests/providers/test_grok.py +0 -0
  424. {pydantic_ai-1.0.9 → pydantic_ai-1.0.10}/tests/providers/test_groq.py +0 -0
  425. {pydantic_ai-1.0.9 → pydantic_ai-1.0.10}/tests/providers/test_heroku.py +0 -0
  426. {pydantic_ai-1.0.9 → pydantic_ai-1.0.10}/tests/providers/test_huggingface.py +0 -0
  427. {pydantic_ai-1.0.9 → pydantic_ai-1.0.10}/tests/providers/test_litellm.py +0 -0
  428. {pydantic_ai-1.0.9 → pydantic_ai-1.0.10}/tests/providers/test_mistral.py +0 -0
  429. {pydantic_ai-1.0.9 → pydantic_ai-1.0.10}/tests/providers/test_moonshotai.py +0 -0
  430. {pydantic_ai-1.0.9 → pydantic_ai-1.0.10}/tests/providers/test_ollama.py +0 -0
  431. {pydantic_ai-1.0.9 → pydantic_ai-1.0.10}/tests/providers/test_openai.py +0 -0
  432. {pydantic_ai-1.0.9 → pydantic_ai-1.0.10}/tests/providers/test_openrouter.py +0 -0
  433. {pydantic_ai-1.0.9 → pydantic_ai-1.0.10}/tests/providers/test_provider_names.py +0 -0
  434. {pydantic_ai-1.0.9 → pydantic_ai-1.0.10}/tests/providers/test_together.py +0 -0
  435. {pydantic_ai-1.0.9 → pydantic_ai-1.0.10}/tests/providers/test_vercel.py +0 -0
  436. {pydantic_ai-1.0.9 → pydantic_ai-1.0.10}/tests/test_a2a.py +0 -0
  437. {pydantic_ai-1.0.9 → pydantic_ai-1.0.10}/tests/test_ag_ui.py +0 -0
  438. {pydantic_ai-1.0.9 → pydantic_ai-1.0.10}/tests/test_builtin_tools.py +0 -0
  439. {pydantic_ai-1.0.9 → pydantic_ai-1.0.10}/tests/test_cli.py +0 -0
  440. {pydantic_ai-1.0.9 → pydantic_ai-1.0.10}/tests/test_dbos.py +0 -0
  441. {pydantic_ai-1.0.9 → pydantic_ai-1.0.10}/tests/test_deps.py +0 -0
  442. {pydantic_ai-1.0.9 → pydantic_ai-1.0.10}/tests/test_direct.py +0 -0
  443. {pydantic_ai-1.0.9 → pydantic_ai-1.0.10}/tests/test_examples.py +0 -0
  444. {pydantic_ai-1.0.9 → pydantic_ai-1.0.10}/tests/test_history_processor.py +0 -0
  445. {pydantic_ai-1.0.9 → pydantic_ai-1.0.10}/tests/test_json_body_serializer.py +0 -0
  446. {pydantic_ai-1.0.9 → pydantic_ai-1.0.10}/tests/test_live.py +0 -0
  447. {pydantic_ai-1.0.9 → pydantic_ai-1.0.10}/tests/test_logfire.py +0 -0
  448. {pydantic_ai-1.0.9 → pydantic_ai-1.0.10}/tests/test_mcp.py +0 -0
  449. {pydantic_ai-1.0.9 → pydantic_ai-1.0.10}/tests/test_messages.py +0 -0
  450. {pydantic_ai-1.0.9 → pydantic_ai-1.0.10}/tests/test_parts_manager.py +0 -0
  451. {pydantic_ai-1.0.9 → pydantic_ai-1.0.10}/tests/test_settings.py +0 -0
  452. {pydantic_ai-1.0.9 → pydantic_ai-1.0.10}/tests/test_temporal.py +0 -0
  453. {pydantic_ai-1.0.9 → pydantic_ai-1.0.10}/tests/test_tenacity.py +0 -0
  454. {pydantic_ai-1.0.9 → pydantic_ai-1.0.10}/tests/test_thinking_part.py +0 -0
  455. {pydantic_ai-1.0.9 → pydantic_ai-1.0.10}/tests/test_tools.py +0 -0
  456. {pydantic_ai-1.0.9 → pydantic_ai-1.0.10}/tests/test_toolsets.py +0 -0
  457. {pydantic_ai-1.0.9 → pydantic_ai-1.0.10}/tests/test_usage_limits.py +0 -0
  458. {pydantic_ai-1.0.9 → pydantic_ai-1.0.10}/tests/test_utils.py +0 -0
  459. {pydantic_ai-1.0.9 → pydantic_ai-1.0.10}/tests/typed_agent.py +0 -0
  460. {pydantic_ai-1.0.9 → pydantic_ai-1.0.10}/tests/typed_graph.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: pydantic-ai
3
- Version: 1.0.9
3
+ Version: 1.0.10
4
4
  Summary: Agent Framework / shim to use Pydantic with LLMs
5
5
  Project-URL: Homepage, https://ai.pydantic.dev
6
6
  Project-URL: Source, https://github.com/pydantic/pydantic-ai
@@ -27,13 +27,13 @@ Classifier: Topic :: Internet
27
27
  Classifier: Topic :: Scientific/Engineering :: Artificial Intelligence
28
28
  Classifier: Topic :: Software Development :: Libraries :: Python Modules
29
29
  Requires-Python: >=3.10
30
- Requires-Dist: pydantic-ai-slim[ag-ui,anthropic,bedrock,cli,cohere,evals,google,groq,huggingface,logfire,mcp,mistral,openai,retries,temporal,vertexai]==1.0.9
30
+ Requires-Dist: pydantic-ai-slim[ag-ui,anthropic,bedrock,cli,cohere,evals,google,groq,huggingface,logfire,mcp,mistral,openai,retries,temporal,vertexai]==1.0.10
31
31
  Provides-Extra: a2a
32
32
  Requires-Dist: fasta2a>=0.4.1; extra == 'a2a'
33
33
  Provides-Extra: dbos
34
- Requires-Dist: pydantic-ai-slim[dbos]==1.0.9; extra == 'dbos'
34
+ Requires-Dist: pydantic-ai-slim[dbos]==1.0.10; extra == 'dbos'
35
35
  Provides-Extra: examples
36
- Requires-Dist: pydantic-ai-examples==1.0.9; extra == 'examples'
36
+ Requires-Dist: pydantic-ai-examples==1.0.10; extra == 'examples'
37
37
  Description-Content-Type: text/markdown
38
38
 
39
39
  <div align="center">
@@ -251,12 +251,10 @@ interactions:
251
251
  headers:
252
252
  accept-ranges:
253
253
  - bytes
254
- age:
255
- - '264068'
256
254
  alt-svc:
257
255
  - h3=":443"; ma=86400
258
256
  cache-control:
259
- - public, max-age=604800, s-maxage=604800
257
+ - max-age=21600
260
258
  connection:
261
259
  - keep-alive
262
260
  content-length:
@@ -268,7 +266,7 @@ interactions:
268
266
  etag:
269
267
  - '"33d0-438b181451e00"'
270
268
  expires:
271
- - Tue, 24 Jun 2025 13:27:15 GMT
269
+ - Fri, 19 Sep 2025 22:42:26 GMT
272
270
  last-modified:
273
271
  - Mon, 27 Aug 2007 17:15:36 GMT
274
272
  strict-transport-security:
@@ -312,11 +310,11 @@ interactions:
312
310
  alt-svc:
313
311
  - h3=":443"; ma=2592000,h3-29=":443"; ma=2592000
314
312
  content-length:
315
- - '776'
313
+ - '772'
316
314
  content-type:
317
315
  - application/json; charset=UTF-8
318
316
  server-timing:
319
- - gfet4t7; dur=1228
317
+ - gfet4t7; dur=1306
320
318
  transfer-encoding:
321
319
  - chunked
322
320
  vary:
@@ -325,27 +323,27 @@ interactions:
325
323
  - Referer
326
324
  parsed_body:
327
325
  candidates:
328
- - avgLogprobs: -0.28572704394658405
326
+ - avgLogprobs: -0.2349079738963734
329
327
  content:
330
328
  parts:
331
329
  - text: |
332
- The document appears to be a "Dummy PDF file".
330
+ The document appears to be a dummy PDF file.
333
331
  role: model
334
332
  finishReason: STOP
335
333
  modelVersion: gemini-2.0-flash
336
- responseId: 4FpeaJWYOLq3nvgP0vasuQk
334
+ responseId: 8ofNaO_lJsO1qtsP0OzFsQQ
337
335
  usageMetadata:
338
- candidatesTokenCount: 12
336
+ candidatesTokenCount: 11
339
337
  candidatesTokensDetails:
340
338
  - modality: TEXT
341
- tokenCount: 12
339
+ tokenCount: 11
342
340
  promptTokenCount: 1305
343
341
  promptTokensDetails:
344
- - modality: TEXT
345
- tokenCount: 15
346
342
  - modality: DOCUMENT
347
343
  tokenCount: 1290
348
- totalTokenCount: 1317
344
+ - modality: TEXT
345
+ tokenCount: 15
346
+ totalTokenCount: 1316
349
347
  status:
350
348
  code: 200
351
349
  message: OK
@@ -33,11 +33,11 @@ interactions:
33
33
  alt-svc:
34
34
  - h3=":443"; ma=2592000,h3-29=":443"; ma=2592000
35
35
  content-length:
36
- - '756'
36
+ - '754'
37
37
  content-type:
38
38
  - application/json; charset=UTF-8
39
39
  server-timing:
40
- - gfet4t7; dur=2659
40
+ - gfet4t7; dur=1900
41
41
  transfer-encoding:
42
42
  - chunked
43
43
  vary:
@@ -46,14 +46,14 @@ interactions:
46
46
  - Referer
47
47
  parsed_body:
48
48
  candidates:
49
- - avgLogprobs: -0.005608726706769731
49
+ - avgLogprobs: -0.00857612325085534
50
50
  content:
51
51
  parts:
52
52
  - text: The fruit in the image is a kiwi.
53
53
  role: model
54
54
  finishReason: STOP
55
55
  modelVersion: gemini-2.0-flash
56
- responseId: 2VpeaPm3DaHp1PIPwK-EmAM
56
+ responseId: 4YfNaLXqOsKVmtkPqqehuAQ
57
57
  usageMetadata:
58
58
  candidatesTokenCount: 9
59
59
  candidatesTokensDetails:
@@ -61,10 +61,10 @@ interactions:
61
61
  tokenCount: 9
62
62
  promptTokenCount: 3367
63
63
  promptTokensDetails:
64
- - modality: TEXT
65
- tokenCount: 13
66
64
  - modality: IMAGE
67
65
  tokenCount: 3354
66
+ - modality: TEXT
67
+ tokenCount: 13
68
68
  totalTokenCount: 3376
69
69
  status:
70
70
  code: 200
@@ -580,7 +580,7 @@ interactions:
580
580
  access-control-allow-origin:
581
581
  - '*'
582
582
  age:
583
- - '1386476'
583
+ - '1500997'
584
584
  cache-control:
585
585
  - public, max-age=31536000
586
586
  connection:
@@ -632,11 +632,11 @@ interactions:
632
632
  alt-svc:
633
633
  - h3=":443"; ma=2592000,h3-29=":443"; ma=2592000
634
634
  content-length:
635
- - '740'
635
+ - '738'
636
636
  content-type:
637
637
  - application/json; charset=UTF-8
638
638
  server-timing:
639
- - gfet4t7; dur=1424
639
+ - gfet4t7; dur=867
640
640
  transfer-encoding:
641
641
  - chunked
642
642
  vary:
@@ -645,27 +645,26 @@ interactions:
645
645
  - Referer
646
646
  parsed_body:
647
647
  candidates:
648
- - avgLogprobs: -0.1821905771891276
648
+ - avgLogprobs: -0.18855420351028443
649
649
  content:
650
650
  parts:
651
- - text: |
652
- That is a potato.
651
+ - text: That is a potato.
653
652
  role: model
654
653
  finishReason: STOP
655
654
  modelVersion: gemini-2.0-flash
656
- responseId: 3VpeaPexBLq3nvgP0vasuQk
655
+ responseId: 64fNaIPHJNulqtsPx8OZsQQ
657
656
  usageMetadata:
658
- candidatesTokenCount: 6
657
+ candidatesTokenCount: 5
659
658
  candidatesTokensDetails:
660
659
  - modality: TEXT
661
- tokenCount: 6
660
+ tokenCount: 5
662
661
  promptTokenCount: 1817
663
662
  promptTokensDetails:
664
663
  - modality: TEXT
665
664
  tokenCount: 11
666
665
  - modality: IMAGE
667
666
  tokenCount: 1806
668
- totalTokenCount: 1823
667
+ totalTokenCount: 1822
669
668
  status:
670
669
  code: 200
671
670
  message: OK
@@ -33,11 +33,11 @@ interactions:
33
33
  alt-svc:
34
34
  - h3=":443"; ma=2592000,h3-29=":443"; ma=2592000
35
35
  content-length:
36
- - '712'
36
+ - '710'
37
37
  content-type:
38
38
  - application/json; charset=UTF-8
39
39
  server-timing:
40
- - gfet4t7; dur=459
40
+ - gfet4t7; dur=571
41
41
  transfer-encoding:
42
42
  - chunked
43
43
  vary:
@@ -46,7 +46,7 @@ interactions:
46
46
  - Referer
47
47
  parsed_body:
48
48
  candidates:
49
- - avgLogprobs: -0.014047189553578695
49
+ - avgLogprobs: -0.2041482448577881
50
50
  content:
51
51
  parts:
52
52
  - text: |
@@ -54,7 +54,7 @@ interactions:
54
54
  role: model
55
55
  finishReason: STOP
56
56
  modelVersion: gemini-2.0-flash
57
- responseId: 41peaPz5EtOvnvgPgYfPiQY
57
+ responseId: 9ofNaNqNKNWDmtkPs-nsqAU
58
58
  usageMetadata:
59
59
  candidatesTokenCount: 15
60
60
  candidatesTokensDetails:
@@ -49,9 +49,11 @@ interactions:
49
49
  etag:
50
50
  - W/"61efea10-a0e"
51
51
  expires:
52
- - Fri, 04 Jul 2025 08:48:34 GMT
52
+ - Fri, 26 Sep 2025 16:42:28 GMT
53
53
  last-modified:
54
54
  - Tue, 25 Jan 2022 12:16:16 GMT
55
+ strict-transport-security:
56
+ - max-age=15552000; includeSubDomains
55
57
  transfer-encoding:
56
58
  - chunked
57
59
  vary:
@@ -93,11 +95,11 @@ interactions:
93
95
  alt-svc:
94
96
  - h3=":443"; ma=2592000,h3-29=":443"; ma=2592000
95
97
  content-length:
96
- - '1189'
98
+ - '985'
97
99
  content-type:
98
100
  - application/json; charset=UTF-8
99
101
  server-timing:
100
- - gfet4t7; dur=802
102
+ - gfet4t7; dur=888
101
103
  transfer-encoding:
102
104
  - chunked
103
105
  vary:
@@ -106,25 +108,25 @@ interactions:
106
108
  - Referer
107
109
  parsed_body:
108
110
  candidates:
109
- - avgLogprobs: -0.6026712397939151
111
+ - avgLogprobs: -0.5004191543116714
110
112
  content:
111
113
  parts:
112
114
  - text: |
113
- The main content of the document is an example of a TXT file, specifically providing information about the placeholder names "John Doe" (and related variations) used for unidentified or anonymous individuals, particularly in legal contexts in the United States and Canada. It also explains alternative names used in other countries and some additional context and examples of when "John Doe" might be used. The document also includes attribution to Wikipedia for the example content and a link to the license under which it is shared.
115
+ The main content of the TXT file is an explanation of the placeholder name "John Doe" (and related variations) and its usage in legal contexts, popular culture, and other situations where the identity of a person is unknown or needs to be withheld. The document also includes the purpose of the file and other file type information.
114
116
  role: model
115
117
  finishReason: STOP
116
118
  modelVersion: gemini-2.0-flash
117
- responseId: 4lpeaLX9EYzj1PIP0MPrsAg
119
+ responseId: 9YfNaLGGDuOmqtsPoLXu4AQ
118
120
  usageMetadata:
119
- candidatesTokenCount: 97
121
+ candidatesTokenCount: 66
120
122
  candidatesTokensDetails:
121
123
  - modality: TEXT
122
- tokenCount: 97
124
+ tokenCount: 66
123
125
  promptTokenCount: 614
124
126
  promptTokensDetails:
125
127
  - modality: TEXT
126
128
  tokenCount: 614
127
- totalTokenCount: 711
129
+ totalTokenCount: 680
128
130
  status:
129
131
  code: 200
130
132
  message: OK
@@ -33,11 +33,11 @@ interactions:
33
33
  alt-svc:
34
34
  - h3=":443"; ma=2592000,h3-29=":443"; ma=2592000
35
35
  content-length:
36
- - '1384'
36
+ - '1525'
37
37
  content-type:
38
38
  - application/json; charset=UTF-8
39
39
  server-timing:
40
- - gfet4t7; dur=1776
40
+ - gfet4t7; dur=2522
41
41
  transfer-encoding:
42
42
  - chunked
43
43
  vary:
@@ -46,31 +46,33 @@ interactions:
46
46
  - Referer
47
47
  parsed_body:
48
48
  candidates:
49
- - avgLogprobs: -0.7381779328557371
49
+ - avgLogprobs: -0.7307238166714892
50
50
  content:
51
51
  parts:
52
- - text: |-
53
- Okay, I can describe what is visible in the image.
54
-
55
- The image shows a camera setup in an outdoor setting. The camera is mounted on a tripod and has an external monitor attached to it. The monitor is displaying a scene that appears to be a desert landscape with rocky formations and mountains in the background. The foreground and background of the overall image, outside of the camera monitor, is also a blurry, desert landscape. The colors in the background are warm and suggest either sunrise, sunset, or reflected light off the rock formations.
56
-
57
- It looks like someone is either reviewing footage on the monitor, or using it as an aid for framing the shot.
52
+ - text: "Okay! It looks like the image shows a camera monitor, likely used for professional or semi-professional
53
+ video recording. \n\nHere's what I can gather from the image:\n\n* **Camera Monitor:** The central element
54
+ is a small screen attached to a camera rig (tripod and probably camera body). These monitors are used to provide
55
+ a larger, clearer view of what the camera is recording, aiding in focus, composition, and exposure adjustments.\n*
56
+ \ **Scene on Monitor:** The screen shows an image of what appears to be a rocky mountain path or canyon with
57
+ a snow capped mountain in the distance.\n* **Background:** The background is blurred, likely the same scene
58
+ as on the camera monitor.\n\nLet me know if you want me to focus on any specific aspect or detail!"
58
59
  role: model
59
60
  finishReason: STOP
60
61
  modelVersion: gemini-2.0-flash
61
- responseId: 21peaP3fE4fJ1PIPhdaDmA0
62
+ responseId: 5YfNaKulJaGtmtkPz5eQwAQ
62
63
  usageMetadata:
63
- candidatesTokenCount: 131
64
+ candidatesTokenCount: 162
64
65
  candidatesTokensDetails:
65
66
  - modality: TEXT
66
- tokenCount: 131
67
- promptTokenCount: 270
67
+ tokenCount: 162
68
+ promptTokenCount: 268
68
69
  promptTokensDetails:
69
- - modality: VIDEO
70
- tokenCount: 260
70
+ - modality: AUDIO
71
71
  - modality: TEXT
72
72
  tokenCount: 10
73
- totalTokenCount: 401
73
+ - modality: VIDEO
74
+ tokenCount: 258
75
+ totalTokenCount: 430
74
76
  status:
75
77
  code: 200
76
78
  message: OK
@@ -27,23 +27,24 @@ interactions:
27
27
  gist.github.com/assets-cdn/worker/; connect-src ''self'' uploads.github.com www.githubstatus.com collector.github.com
28
28
  raw.githubusercontent.com api.github.com github-cloud.s3.amazonaws.com github-production-repository-file-5c1aeb.s3.amazonaws.com
29
29
  github-production-upload-manifest-file-7fdce7.s3.amazonaws.com github-production-user-asset-6210df.s3.amazonaws.com
30
- *.rel.tunnels.api.visualstudio.com wss://*.rel.tunnels.api.visualstudio.com objects-origin.githubusercontent.com copilot-proxy.githubusercontent.com
31
- proxy.individual.githubcopilot.com proxy.business.githubcopilot.com proxy.enterprise.githubcopilot.com *.actions.githubusercontent.com
32
- wss://*.actions.githubusercontent.com productionresultssa0.blob.core.windows.net/ productionresultssa1.blob.core.windows.net/
33
- productionresultssa2.blob.core.windows.net/ productionresultssa3.blob.core.windows.net/ productionresultssa4.blob.core.windows.net/
34
- productionresultssa5.blob.core.windows.net/ productionresultssa6.blob.core.windows.net/ productionresultssa7.blob.core.windows.net/
35
- productionresultssa8.blob.core.windows.net/ productionresultssa9.blob.core.windows.net/ productionresultssa10.blob.core.windows.net/
36
- productionresultssa11.blob.core.windows.net/ productionresultssa12.blob.core.windows.net/ productionresultssa13.blob.core.windows.net/
37
- productionresultssa14.blob.core.windows.net/ productionresultssa15.blob.core.windows.net/ productionresultssa16.blob.core.windows.net/
38
- productionresultssa17.blob.core.windows.net/ productionresultssa18.blob.core.windows.net/ productionresultssa19.blob.core.windows.net/
39
- github-production-repository-image-32fea6.s3.amazonaws.com github-production-release-asset-2e65be.s3.amazonaws.com
40
- insights.github.com wss://alive.github.com api.githubcopilot.com api.individual.githubcopilot.com api.business.githubcopilot.com
41
- api.enterprise.githubcopilot.com; font-src github.githubassets.com; form-action ''self'' github.com gist.github.com
42
- copilot-workspace.githubnext.com objects-origin.githubusercontent.com; frame-ancestors ''none''; frame-src viewscreen.githubusercontent.com
43
- notebooks.githubusercontent.com; img-src ''self'' data: blob: github.githubassets.com media.githubusercontent.com
44
- camo.githubusercontent.com identicons.github.com avatars.githubusercontent.com private-avatars.githubusercontent.com
45
- github-cloud.s3.amazonaws.com objects.githubusercontent.com release-assets.githubusercontent.com secured-user-images.githubusercontent.com/
46
- user-images.githubusercontent.com/ private-user-images.githubusercontent.com opengraph.githubassets.com copilotprodattachments.blob.core.windows.net/github-production-copilot-attachments/
30
+ *.rel.tunnels.api.visualstudio.com wss://*.rel.tunnels.api.visualstudio.com github.githubassets.com objects-origin.githubusercontent.com
31
+ copilot-proxy.githubusercontent.com proxy.individual.githubcopilot.com proxy.business.githubcopilot.com proxy.enterprise.githubcopilot.com
32
+ *.actions.githubusercontent.com wss://*.actions.githubusercontent.com productionresultssa0.blob.core.windows.net/
33
+ productionresultssa1.blob.core.windows.net/ productionresultssa2.blob.core.windows.net/ productionresultssa3.blob.core.windows.net/
34
+ productionresultssa4.blob.core.windows.net/ productionresultssa5.blob.core.windows.net/ productionresultssa6.blob.core.windows.net/
35
+ productionresultssa7.blob.core.windows.net/ productionresultssa8.blob.core.windows.net/ productionresultssa9.blob.core.windows.net/
36
+ productionresultssa10.blob.core.windows.net/ productionresultssa11.blob.core.windows.net/ productionresultssa12.blob.core.windows.net/
37
+ productionresultssa13.blob.core.windows.net/ productionresultssa14.blob.core.windows.net/ productionresultssa15.blob.core.windows.net/
38
+ productionresultssa16.blob.core.windows.net/ productionresultssa17.blob.core.windows.net/ productionresultssa18.blob.core.windows.net/
39
+ productionresultssa19.blob.core.windows.net/ github-production-repository-image-32fea6.s3.amazonaws.com github-production-release-asset-2e65be.s3.amazonaws.com
40
+ insights.github.com wss://alive.github.com wss://alive-staging.github.com api.githubcopilot.com api.individual.githubcopilot.com
41
+ api.business.githubcopilot.com api.enterprise.githubcopilot.com; font-src github.githubassets.com; form-action ''self''
42
+ github.com gist.github.com copilot-workspace.githubnext.com objects-origin.githubusercontent.com; frame-ancestors
43
+ ''none''; frame-src viewscreen.githubusercontent.com notebooks.githubusercontent.com; img-src ''self'' data: blob:
44
+ github.githubassets.com media.githubusercontent.com camo.githubusercontent.com identicons.github.com avatars.githubusercontent.com
45
+ private-avatars.githubusercontent.com github-cloud.s3.amazonaws.com objects.githubusercontent.com release-assets.githubusercontent.com
46
+ secured-user-images.githubusercontent.com/ user-images.githubusercontent.com/ private-user-images.githubusercontent.com
47
+ opengraph.githubassets.com marketplace-screenshots.githubusercontent.com/ copilotprodattachments.blob.core.windows.net/github-production-copilot-attachments/
47
48
  github-production-user-asset-6210df.s3.amazonaws.com customer-stories-feed.github.com spotlights-feed.github.com objects-origin.githubusercontent.com
48
49
  *.githubusercontent.com; manifest-src ''self''; media-src github.com user-images.githubusercontent.com/ secured-user-images.githubusercontent.com/
49
50
  private-user-images.githubusercontent.com github-production-user-asset-6210df.s3.amazonaws.com gist.github.com; script-src
@@ -11091,7 +11092,7 @@ interactions:
11091
11092
  etag:
11092
11093
  - W/"0e8fc2491b5d905053d769cebf41efa65670fdce574bc3d0a132431e025608d7"
11093
11094
  expires:
11094
- - Fri, 27 Jun 2025 08:53:30 GMT
11095
+ - Fri, 19 Sep 2025 16:47:21 GMT
11095
11096
  source-age:
11096
11097
  - '0'
11097
11098
  strict-transport-security:
@@ -11135,11 +11136,11 @@ interactions:
11135
11136
  alt-svc:
11136
11137
  - h3=":443"; ma=2592000,h3-29=":443"; ma=2592000
11137
11138
  content-length:
11138
- - '1068'
11139
+ - '1381'
11139
11140
  content-type:
11140
11141
  - application/json; charset=UTF-8
11141
11142
  server-timing:
11142
- - gfet4t7; dur=1439
11143
+ - gfet4t7; dur=2356
11143
11144
  transfer-encoding:
11144
11145
  - chunked
11145
11146
  vary:
@@ -11148,33 +11149,32 @@ interactions:
11148
11149
  - Referer
11149
11150
  parsed_body:
11150
11151
  candidates:
11151
- - avgLogprobs: -0.7620539724090953
11152
+ - avgLogprobs: -0.8202069508943627
11152
11153
  content:
11153
11154
  parts:
11154
- - text: |-
11155
- Okay, based on the image, here's what I can infer:
11156
-
11157
- * **A camera monitor is mounted on top of a camera.**
11158
- * **The monitor's screen is on, displaying a view of the rocky mountains.**
11159
- * **This setting suggests a professional video shoot.**
11160
-
11161
- If you'd like a more detailed explanation, please provide additional information about the video.
11155
+ - text: "Certainly! Based on the image you sent, it appears to be a setup for filming or photography. \n\nHere's
11156
+ what I can observe:\n\n* **Camera Monitor:** There is a monitor mounted on a tripod, displaying a shot of
11157
+ a canyon or mountain landscape.\n* **Camera/Recording Device:** Below the monitor, there is a camera or some
11158
+ other kind of recording device.\n* **Landscape Backdrop:** In the background, there is a similar-looking landscape
11159
+ to what's being displayed on the screen.\n\nIn summary, it looks like the image shows a camera setup, perhaps
11160
+ in the process of filming, with a monitor to review the footage."
11162
11161
  role: model
11163
11162
  finishReason: STOP
11164
11163
  modelVersion: gemini-2.0-flash
11165
- responseId: 31peaJ-RIOrIx_APoM6e2A4
11164
+ responseId: 7ofNaJWHAbCtmtkPkoSwwQU
11166
11165
  usageMetadata:
11167
- candidatesTokenCount: 81
11166
+ candidatesTokenCount: 139
11168
11167
  candidatesTokensDetails:
11169
11168
  - modality: TEXT
11170
- tokenCount: 81
11171
- promptTokenCount: 270
11169
+ tokenCount: 139
11170
+ promptTokenCount: 268
11172
11171
  promptTokensDetails:
11172
+ - modality: VIDEO
11173
+ tokenCount: 258
11173
11174
  - modality: TEXT
11174
11175
  tokenCount: 10
11175
- - modality: VIDEO
11176
- tokenCount: 260
11177
- totalTokenCount: 351
11176
+ - modality: AUDIO
11177
+ totalTokenCount: 407
11178
11178
  status:
11179
11179
  code: 200
11180
11180
  message: OK
@@ -662,11 +662,15 @@ async def test_google_model_video_as_binary_content_input(
662
662
 
663
663
  result = await agent.run(['Explain me this video', video_content])
664
664
  assert result.output == snapshot("""\
665
- Okay, I can describe what is visible in the image.
665
+ Okay! It looks like the image shows a camera monitor, likely used for professional or semi-professional video recording. \n\
666
666
 
667
- The image shows a camera setup in an outdoor setting. The camera is mounted on a tripod and has an external monitor attached to it. The monitor is displaying a scene that appears to be a desert landscape with rocky formations and mountains in the background. The foreground and background of the overall image, outside of the camera monitor, is also a blurry, desert landscape. The colors in the background are warm and suggest either sunrise, sunset, or reflected light off the rock formations.
667
+ Here's what I can gather from the image:
668
668
 
669
- It looks like someone is either reviewing footage on the monitor, or using it as an aid for framing the shot.\
669
+ * **Camera Monitor:** The central element is a small screen attached to a camera rig (tripod and probably camera body). These monitors are used to provide a larger, clearer view of what the camera is recording, aiding in focus, composition, and exposure adjustments.
670
+ * **Scene on Monitor:** The screen shows an image of what appears to be a rocky mountain path or canyon with a snow capped mountain in the distance.
671
+ * **Background:** The background is blurred, likely the same scene as on the camera monitor.
672
+
673
+ Let me know if you want me to focus on any specific aspect or detail!\
670
674
  """)
671
675
 
672
676
 
@@ -697,7 +701,7 @@ async def test_google_model_image_url_input(allow_model_requests: None, google_p
697
701
  ImageUrl(url='https://t3.ftcdn.net/jpg/00/85/79/92/360_F_85799278_0BBGV9OAdQDTLnKwAPBCcg1J7QtiieJY.jpg'),
698
702
  ]
699
703
  )
700
- assert result.output == snapshot('That is a potato.\n')
704
+ assert result.output == snapshot('That is a potato.')
701
705
 
702
706
 
703
707
  async def test_google_model_video_url_input(allow_model_requests: None, google_provider: GoogleProvider):
@@ -711,13 +715,15 @@ async def test_google_model_video_url_input(allow_model_requests: None, google_p
711
715
  ]
712
716
  )
713
717
  assert result.output == snapshot("""\
714
- Okay, based on the image, here's what I can infer:
718
+ Certainly! Based on the image you sent, it appears to be a setup for filming or photography. \n\
715
719
 
716
- * **A camera monitor is mounted on top of a camera.**
717
- * **The monitor's screen is on, displaying a view of the rocky mountains.**
718
- * **This setting suggests a professional video shoot.**
720
+ Here's what I can observe:
719
721
 
720
- If you'd like a more detailed explanation, please provide additional information about the video.\
722
+ * **Camera Monitor:** There is a monitor mounted on a tripod, displaying a shot of a canyon or mountain landscape.
723
+ * **Camera/Recording Device:** Below the monitor, there is a camera or some other kind of recording device.
724
+ * **Landscape Backdrop:** In the background, there is a similar-looking landscape to what's being displayed on the screen.
725
+
726
+ In summary, it looks like the image shows a camera setup, perhaps in the process of filming, with a monitor to review the footage.\
721
727
  """)
722
728
 
723
729
 
@@ -754,7 +760,7 @@ async def test_google_model_document_url_input(allow_model_requests: None, googl
754
760
  document_url = DocumentUrl(url='https://www.w3.org/WAI/ER/tests/xhtml/testfiles/resources/pdf/dummy.pdf')
755
761
 
756
762
  result = await agent.run(['What is the main content on this document?', document_url])
757
- assert result.output == snapshot('The document appears to be a "Dummy PDF file".\n')
763
+ assert result.output == snapshot('The document appears to be a dummy PDF file.\n')
758
764
 
759
765
 
760
766
  async def test_google_model_text_document_url_input(allow_model_requests: None, google_provider: GoogleProvider):
@@ -765,7 +771,7 @@ async def test_google_model_text_document_url_input(allow_model_requests: None,
765
771
 
766
772
  result = await agent.run(['What is the main content on this document?', text_document_url])
767
773
  assert result.output == snapshot(
768
- 'The main content of the document is an example of a TXT file, specifically providing information about the placeholder names "John Doe" (and related variations) used for unidentified or anonymous individuals, particularly in legal contexts in the United States and Canada. It also explains alternative names used in other countries and some additional context and examples of when "John Doe" might be used. The document also includes attribution to Wikipedia for the example content and a link to the license under which it is shared.\n'
774
+ 'The main content of the TXT file is an explanation of the placeholder name "John Doe" (and related variations) and its usage in legal contexts, popular culture, and other situations where the identity of a person is unknown or needs to be withheld. The document also includes the purpose of the file and other file type information.\n'
769
775
  )
770
776
 
771
777
 
@@ -15,7 +15,7 @@ from inline_snapshot import snapshot
15
15
  from pydantic import BaseModel
16
16
  from typing_extensions import TypedDict
17
17
 
18
- from pydantic_ai import Agent, ModelHTTPError, ModelRetry, UnexpectedModelBehavior
18
+ from pydantic_ai import Agent, ModelHTTPError, ModelRetry
19
19
  from pydantic_ai.builtin_tools import WebSearchTool
20
20
  from pydantic_ai.messages import (
21
21
  BinaryContent,
@@ -533,17 +533,6 @@ async def test_stream_structured_finish_reason(allow_model_requests: None):
533
533
  assert result.is_complete
534
534
 
535
535
 
536
- async def test_no_content(allow_model_requests: None):
537
- stream = chunk([ChoiceDelta()]), chunk([ChoiceDelta()])
538
- mock_client = MockGroq.create_mock_stream(stream)
539
- m = GroqModel('llama-3.3-70b-versatile', provider=GroqProvider(groq_client=mock_client))
540
- agent = Agent(m, output_type=MyTypedDict)
541
-
542
- with pytest.raises(UnexpectedModelBehavior, match='Received empty model response'):
543
- async with agent.run_stream(''):
544
- pass
545
-
546
-
547
536
  async def test_no_delta(allow_model_requests: None):
548
537
  stream = chunk([]), text_chunk('hello '), text_chunk('world')
549
538
  mock_client = MockGroq.create_mock_stream(stream)
@@ -13,7 +13,7 @@ from dirty_equals import IsListOrTuple
13
13
  from inline_snapshot import snapshot
14
14
  from typing_extensions import TypedDict
15
15
 
16
- from pydantic_ai import Agent, ModelRetry, UnexpectedModelBehavior
16
+ from pydantic_ai import Agent, ModelRetry
17
17
  from pydantic_ai.exceptions import ModelHTTPError
18
18
  from pydantic_ai.messages import (
19
19
  AudioUrl,
@@ -601,20 +601,6 @@ async def test_stream_structured_finish_reason(allow_model_requests: None):
601
601
  assert result.is_complete
602
602
 
603
603
 
604
- async def test_no_content(allow_model_requests: None):
605
- stream = [
606
- chunk([ChatCompletionStreamOutputDelta(role='assistant')]), # type: ignore
607
- chunk([ChatCompletionStreamOutputDelta(role='assistant')]), # type: ignore
608
- ]
609
- mock_client = MockHuggingFace.create_stream_mock(stream)
610
- m = HuggingFaceModel('hf-model', provider=HuggingFaceProvider(hf_client=mock_client, api_key='x'))
611
- agent = Agent(m, output_type=MyTypedDict)
612
-
613
- with pytest.raises(UnexpectedModelBehavior, match='Received empty model response'):
614
- async with agent.run_stream(''):
615
- pass
616
-
617
-
618
604
  async def test_no_delta(allow_model_requests: None):
619
605
  stream = [
620
606
  chunk([]),