pydantic-ai 1.0.11__tar.gz → 1.0.12__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 (466) hide show
  1. {pydantic_ai-1.0.11 → pydantic_ai-1.0.12}/PKG-INFO +4 -4
  2. pydantic_ai-1.0.12/tests/assets/dummy.txt +1 -0
  3. pydantic_ai-1.0.12/tests/cassettes/test_mcp/test_tool_returning_unstructured_dict.yaml +520 -0
  4. {pydantic_ai-1.0.11 → pydantic_ai-1.0.12}/tests/conftest.py +8 -2
  5. {pydantic_ai-1.0.11 → pydantic_ai-1.0.12}/tests/evals/test_dataset.py +3 -2
  6. {pydantic_ai-1.0.11 → pydantic_ai-1.0.12}/tests/evals/test_evaluators.py +1 -1
  7. {pydantic_ai-1.0.11 → pydantic_ai-1.0.12}/tests/mcp_server.py +8 -2
  8. pydantic_ai-1.0.12/tests/models/cassettes/test_anthropic/test_anthropic_memory_tool.yaml +159 -0
  9. pydantic_ai-1.0.12/tests/models/cassettes/test_openai/test_text_document_as_binary_content_input.yaml +88 -0
  10. pydantic_ai-1.0.12/tests/models/cassettes/test_openai/test_text_document_url_input.yaml +341 -0
  11. {pydantic_ai-1.0.11 → pydantic_ai-1.0.12}/tests/models/test_anthropic.py +64 -6
  12. {pydantic_ai-1.0.11 → pydantic_ai-1.0.12}/tests/models/test_bedrock.py +3 -3
  13. {pydantic_ai-1.0.11 → pydantic_ai-1.0.12}/tests/models/test_cohere.py +6 -4
  14. {pydantic_ai-1.0.11 → pydantic_ai-1.0.12}/tests/models/test_deepseek.py +2 -2
  15. {pydantic_ai-1.0.11 → pydantic_ai-1.0.12}/tests/models/test_download_item.py +1 -1
  16. {pydantic_ai-1.0.11 → pydantic_ai-1.0.12}/tests/models/test_fallback.py +1 -2
  17. {pydantic_ai-1.0.11 → pydantic_ai-1.0.12}/tests/models/test_gemini.py +6 -3
  18. {pydantic_ai-1.0.11 → pydantic_ai-1.0.12}/tests/models/test_gemini_vertex.py +3 -3
  19. {pydantic_ai-1.0.11 → pydantic_ai-1.0.12}/tests/models/test_google.py +9 -7
  20. {pydantic_ai-1.0.11 → pydantic_ai-1.0.12}/tests/models/test_groq.py +9 -5
  21. {pydantic_ai-1.0.11 → pydantic_ai-1.0.12}/tests/models/test_huggingface.py +4 -3
  22. {pydantic_ai-1.0.11 → pydantic_ai-1.0.12}/tests/models/test_instrumented.py +2 -2
  23. {pydantic_ai-1.0.11 → pydantic_ai-1.0.12}/tests/models/test_mcp_sampling.py +1 -1
  24. {pydantic_ai-1.0.11 → pydantic_ai-1.0.12}/tests/models/test_mistral.py +3 -3
  25. {pydantic_ai-1.0.11 → pydantic_ai-1.0.12}/tests/models/test_model_function.py +4 -2
  26. {pydantic_ai-1.0.11 → pydantic_ai-1.0.12}/tests/models/test_model_settings.py +1 -2
  27. {pydantic_ai-1.0.11 → pydantic_ai-1.0.12}/tests/models/test_model_test.py +5 -3
  28. {pydantic_ai-1.0.11 → pydantic_ai-1.0.12}/tests/models/test_openai.py +49 -5
  29. {pydantic_ai-1.0.11 → pydantic_ai-1.0.12}/tests/models/test_openai_responses.py +8 -6
  30. {pydantic_ai-1.0.11 → pydantic_ai-1.0.12}/tests/parts_from_messages.py +1 -1
  31. {pydantic_ai-1.0.11 → pydantic_ai-1.0.12}/tests/providers/test_azure.py +1 -1
  32. {pydantic_ai-1.0.11 → pydantic_ai-1.0.12}/tests/providers/test_bedrock.py +1 -1
  33. {pydantic_ai-1.0.11 → pydantic_ai-1.0.12}/tests/providers/test_cerebras.py +1 -1
  34. {pydantic_ai-1.0.11 → pydantic_ai-1.0.12}/tests/providers/test_fireworks.py +1 -1
  35. {pydantic_ai-1.0.11 → pydantic_ai-1.0.12}/tests/providers/test_github.py +1 -1
  36. {pydantic_ai-1.0.11 → pydantic_ai-1.0.12}/tests/providers/test_groq.py +1 -1
  37. {pydantic_ai-1.0.11 → pydantic_ai-1.0.12}/tests/providers/test_huggingface.py +1 -1
  38. {pydantic_ai-1.0.11 → pydantic_ai-1.0.12}/tests/providers/test_ollama.py +1 -1
  39. {pydantic_ai-1.0.11 → pydantic_ai-1.0.12}/tests/providers/test_openrouter.py +1 -1
  40. {pydantic_ai-1.0.11 → pydantic_ai-1.0.12}/tests/providers/test_together.py +1 -1
  41. {pydantic_ai-1.0.11 → pydantic_ai-1.0.12}/tests/providers/test_vercel.py +1 -1
  42. {pydantic_ai-1.0.11 → pydantic_ai-1.0.12}/tests/test_a2a.py +2 -2
  43. {pydantic_ai-1.0.11 → pydantic_ai-1.0.12}/tests/test_ag_ui.py +5 -5
  44. {pydantic_ai-1.0.11 → pydantic_ai-1.0.12}/tests/test_agent.py +126 -18
  45. {pydantic_ai-1.0.11 → pydantic_ai-1.0.12}/tests/test_cli.py +1 -2
  46. {pydantic_ai-1.0.11 → pydantic_ai-1.0.12}/tests/test_dbos.py +7 -5
  47. {pydantic_ai-1.0.11 → pydantic_ai-1.0.12}/tests/test_direct.py +10 -10
  48. {pydantic_ai-1.0.11 → pydantic_ai-1.0.12}/tests/test_examples.py +9 -7
  49. {pydantic_ai-1.0.11 → pydantic_ai-1.0.12}/tests/test_history_processor.py +4 -3
  50. {pydantic_ai-1.0.11 → pydantic_ai-1.0.12}/tests/test_logfire.py +2 -3
  51. {pydantic_ai-1.0.11 → pydantic_ai-1.0.12}/tests/test_mcp.py +81 -15
  52. {pydantic_ai-1.0.11 → pydantic_ai-1.0.12}/tests/test_messages.py +1 -1
  53. {pydantic_ai-1.0.11 → pydantic_ai-1.0.12}/tests/test_parts_manager.py +3 -3
  54. {pydantic_ai-1.0.11 → pydantic_ai-1.0.12}/tests/test_streaming.py +8 -4
  55. {pydantic_ai-1.0.11 → pydantic_ai-1.0.12}/tests/test_temporal.py +8 -5
  56. {pydantic_ai-1.0.11 → pydantic_ai-1.0.12}/tests/test_thinking_part.py +1 -1
  57. {pydantic_ai-1.0.11 → pydantic_ai-1.0.12}/tests/test_tools.py +9 -6
  58. {pydantic_ai-1.0.11 → pydantic_ai-1.0.12}/tests/test_toolsets.py +11 -8
  59. {pydantic_ai-1.0.11 → pydantic_ai-1.0.12}/tests/test_usage_limits.py +10 -2
  60. {pydantic_ai-1.0.11 → pydantic_ai-1.0.12}/.gitignore +0 -0
  61. {pydantic_ai-1.0.11 → pydantic_ai-1.0.12}/LICENSE +0 -0
  62. {pydantic_ai-1.0.11 → pydantic_ai-1.0.12}/Makefile +0 -0
  63. {pydantic_ai-1.0.11 → pydantic_ai-1.0.12}/README.md +0 -0
  64. {pydantic_ai-1.0.11 → pydantic_ai-1.0.12}/pyproject.toml +0 -0
  65. {pydantic_ai-1.0.11 → pydantic_ai-1.0.12}/tests/__init__.py +0 -0
  66. {pydantic_ai-1.0.11 → pydantic_ai-1.0.12}/tests/assets/dummy.pdf +0 -0
  67. {pydantic_ai-1.0.11 → pydantic_ai-1.0.12}/tests/assets/kiwi.png +0 -0
  68. {pydantic_ai-1.0.11 → pydantic_ai-1.0.12}/tests/assets/marcelo.mp3 +0 -0
  69. {pydantic_ai-1.0.11 → pydantic_ai-1.0.12}/tests/assets/product_name.txt +0 -0
  70. {pydantic_ai-1.0.11 → pydantic_ai-1.0.12}/tests/assets/small_video.mp4 +0 -0
  71. {pydantic_ai-1.0.11 → pydantic_ai-1.0.12}/tests/cassettes/test_dbos/test_complex_agent_run.yaml +0 -0
  72. {pydantic_ai-1.0.11 → pydantic_ai-1.0.12}/tests/cassettes/test_dbos/test_complex_agent_run_in_workflow.yaml +0 -0
  73. {pydantic_ai-1.0.11 → pydantic_ai-1.0.12}/tests/cassettes/test_dbos/test_complex_agent_run_stream_in_workflow.yaml +0 -0
  74. {pydantic_ai-1.0.11 → pydantic_ai-1.0.12}/tests/cassettes/test_dbos/test_dbos_agent_iter.yaml +0 -0
  75. {pydantic_ai-1.0.11 → pydantic_ai-1.0.12}/tests/cassettes/test_dbos/test_dbos_agent_iter_in_workflow.yaml +0 -0
  76. {pydantic_ai-1.0.11 → pydantic_ai-1.0.12}/tests/cassettes/test_dbos/test_dbos_agent_override_deps_in_workflow.yaml +0 -0
  77. {pydantic_ai-1.0.11 → pydantic_ai-1.0.12}/tests/cassettes/test_dbos/test_dbos_agent_override_tools_in_workflow.yaml +0 -0
  78. {pydantic_ai-1.0.11 → pydantic_ai-1.0.12}/tests/cassettes/test_dbos/test_dbos_agent_run.yaml +0 -0
  79. {pydantic_ai-1.0.11 → pydantic_ai-1.0.12}/tests/cassettes/test_dbos/test_dbos_agent_run_in_workflow_with_toolsets.yaml +0 -0
  80. {pydantic_ai-1.0.11 → pydantic_ai-1.0.12}/tests/cassettes/test_dbos/test_dbos_agent_run_stream.yaml +0 -0
  81. {pydantic_ai-1.0.11 → pydantic_ai-1.0.12}/tests/cassettes/test_dbos/test_dbos_agent_run_sync.yaml +0 -0
  82. {pydantic_ai-1.0.11 → pydantic_ai-1.0.12}/tests/cassettes/test_dbos/test_dbos_agent_run_sync_in_workflow.yaml +0 -0
  83. {pydantic_ai-1.0.11 → pydantic_ai-1.0.12}/tests/cassettes/test_dbos/test_dbos_agent_with_dataclass_deps_as_dict.yaml +0 -0
  84. {pydantic_ai-1.0.11 → pydantic_ai-1.0.12}/tests/cassettes/test_dbos/test_dbos_agent_with_hitl_tool.yaml +0 -0
  85. {pydantic_ai-1.0.11 → pydantic_ai-1.0.12}/tests/cassettes/test_dbos/test_dbos_agent_with_hitl_tool_sync.yaml +0 -0
  86. {pydantic_ai-1.0.11 → pydantic_ai-1.0.12}/tests/cassettes/test_dbos/test_dbos_agent_with_model_retry.yaml +0 -0
  87. {pydantic_ai-1.0.11 → pydantic_ai-1.0.12}/tests/cassettes/test_dbos/test_dbos_agent_with_non_dict_deps.yaml +0 -0
  88. {pydantic_ai-1.0.11 → pydantic_ai-1.0.12}/tests/cassettes/test_dbos/test_dbos_agent_with_unserializable_deps_type.yaml +0 -0
  89. {pydantic_ai-1.0.11 → pydantic_ai-1.0.12}/tests/cassettes/test_dbos/test_dbos_model_stream_direct.yaml +0 -0
  90. {pydantic_ai-1.0.11 → pydantic_ai-1.0.12}/tests/cassettes/test_dbos/test_multiple_agents.yaml +0 -0
  91. {pydantic_ai-1.0.11 → pydantic_ai-1.0.12}/tests/cassettes/test_dbos/test_simple_agent_run_in_workflow.yaml +0 -0
  92. {pydantic_ai-1.0.11 → pydantic_ai-1.0.12}/tests/cassettes/test_mcp/test_agent_with_server_not_running.yaml +0 -0
  93. {pydantic_ai-1.0.11 → pydantic_ai-1.0.12}/tests/cassettes/test_mcp/test_agent_with_stdio_server.yaml +0 -0
  94. {pydantic_ai-1.0.11 → pydantic_ai-1.0.12}/tests/cassettes/test_mcp/test_tool_returning_audio_resource.yaml +0 -0
  95. {pydantic_ai-1.0.11 → pydantic_ai-1.0.12}/tests/cassettes/test_mcp/test_tool_returning_audio_resource_link.yaml +0 -0
  96. {pydantic_ai-1.0.11 → pydantic_ai-1.0.12}/tests/cassettes/test_mcp/test_tool_returning_dict.yaml +0 -0
  97. {pydantic_ai-1.0.11 → pydantic_ai-1.0.12}/tests/cassettes/test_mcp/test_tool_returning_error.yaml +0 -0
  98. {pydantic_ai-1.0.11 → pydantic_ai-1.0.12}/tests/cassettes/test_mcp/test_tool_returning_image.yaml +0 -0
  99. {pydantic_ai-1.0.11 → pydantic_ai-1.0.12}/tests/cassettes/test_mcp/test_tool_returning_image_resource.yaml +0 -0
  100. {pydantic_ai-1.0.11 → pydantic_ai-1.0.12}/tests/cassettes/test_mcp/test_tool_returning_image_resource_link.yaml +0 -0
  101. {pydantic_ai-1.0.11 → pydantic_ai-1.0.12}/tests/cassettes/test_mcp/test_tool_returning_multiple_items.yaml +0 -0
  102. {pydantic_ai-1.0.11 → pydantic_ai-1.0.12}/tests/cassettes/test_mcp/test_tool_returning_none.yaml +0 -0
  103. {pydantic_ai-1.0.11 → pydantic_ai-1.0.12}/tests/cassettes/test_mcp/test_tool_returning_str.yaml +0 -0
  104. {pydantic_ai-1.0.11 → pydantic_ai-1.0.12}/tests/cassettes/test_mcp/test_tool_returning_text_resource.yaml +0 -0
  105. {pydantic_ai-1.0.11 → pydantic_ai-1.0.12}/tests/cassettes/test_mcp/test_tool_returning_text_resource_link.yaml +0 -0
  106. {pydantic_ai-1.0.11 → pydantic_ai-1.0.12}/tests/cassettes/test_settings/test_stop_settings[anthropic].yaml +0 -0
  107. {pydantic_ai-1.0.11 → pydantic_ai-1.0.12}/tests/cassettes/test_settings/test_stop_settings[bedrock].yaml +0 -0
  108. {pydantic_ai-1.0.11 → pydantic_ai-1.0.12}/tests/cassettes/test_settings/test_stop_settings[cohere].yaml +0 -0
  109. {pydantic_ai-1.0.11 → pydantic_ai-1.0.12}/tests/cassettes/test_settings/test_stop_settings[gemini].yaml +0 -0
  110. {pydantic_ai-1.0.11 → pydantic_ai-1.0.12}/tests/cassettes/test_settings/test_stop_settings[google].yaml +0 -0
  111. {pydantic_ai-1.0.11 → pydantic_ai-1.0.12}/tests/cassettes/test_settings/test_stop_settings[groq].yaml +0 -0
  112. {pydantic_ai-1.0.11 → pydantic_ai-1.0.12}/tests/cassettes/test_settings/test_stop_settings[mistral].yaml +0 -0
  113. {pydantic_ai-1.0.11 → pydantic_ai-1.0.12}/tests/cassettes/test_settings/test_stop_settings[openai].yaml +0 -0
  114. {pydantic_ai-1.0.11 → pydantic_ai-1.0.12}/tests/cassettes/test_temporal/test_complex_agent_run.yaml +0 -0
  115. {pydantic_ai-1.0.11 → pydantic_ai-1.0.12}/tests/cassettes/test_temporal/test_complex_agent_run_in_workflow.yaml +0 -0
  116. {pydantic_ai-1.0.11 → pydantic_ai-1.0.12}/tests/cassettes/test_temporal/test_complex_agent_run_stream_in_workflow.yaml +0 -0
  117. {pydantic_ai-1.0.11 → pydantic_ai-1.0.12}/tests/cassettes/test_temporal/test_logfire_plugin.yaml +0 -0
  118. {pydantic_ai-1.0.11 → pydantic_ai-1.0.12}/tests/cassettes/test_temporal/test_multiple_agents.yaml +0 -0
  119. {pydantic_ai-1.0.11 → pydantic_ai-1.0.12}/tests/cassettes/test_temporal/test_simple_agent_run_in_workflow.yaml +0 -0
  120. {pydantic_ai-1.0.11 → pydantic_ai-1.0.12}/tests/cassettes/test_temporal/test_temporal_agent_iter.yaml +0 -0
  121. {pydantic_ai-1.0.11 → pydantic_ai-1.0.12}/tests/cassettes/test_temporal/test_temporal_agent_override_deps_in_workflow.yaml +0 -0
  122. {pydantic_ai-1.0.11 → pydantic_ai-1.0.12}/tests/cassettes/test_temporal/test_temporal_agent_run.yaml +0 -0
  123. {pydantic_ai-1.0.11 → pydantic_ai-1.0.12}/tests/cassettes/test_temporal/test_temporal_agent_run_stream.yaml +0 -0
  124. {pydantic_ai-1.0.11 → pydantic_ai-1.0.12}/tests/cassettes/test_temporal/test_temporal_agent_run_sync.yaml +0 -0
  125. {pydantic_ai-1.0.11 → pydantic_ai-1.0.12}/tests/cassettes/test_temporal/test_temporal_agent_sync_tool_activity_disabled.yaml +0 -0
  126. {pydantic_ai-1.0.11 → pydantic_ai-1.0.12}/tests/cassettes/test_temporal/test_temporal_agent_with_dataclass_deps_as_dict.yaml +0 -0
  127. {pydantic_ai-1.0.11 → pydantic_ai-1.0.12}/tests/cassettes/test_temporal/test_temporal_agent_with_hitl_tool.yaml +0 -0
  128. {pydantic_ai-1.0.11 → pydantic_ai-1.0.12}/tests/cassettes/test_temporal/test_temporal_agent_with_model_retry.yaml +0 -0
  129. {pydantic_ai-1.0.11 → pydantic_ai-1.0.12}/tests/cassettes/test_temporal/test_temporal_agent_with_non_dict_deps.yaml +0 -0
  130. {pydantic_ai-1.0.11 → pydantic_ai-1.0.12}/tests/cassettes/test_temporal/test_temporal_agent_with_unserializable_deps_type.yaml +0 -0
  131. {pydantic_ai-1.0.11 → pydantic_ai-1.0.12}/tests/evals/__init__.py +0 -0
  132. {pydantic_ai-1.0.11 → pydantic_ai-1.0.12}/tests/evals/test_evaluator_base.py +0 -0
  133. {pydantic_ai-1.0.11 → pydantic_ai-1.0.12}/tests/evals/test_evaluator_common.py +0 -0
  134. {pydantic_ai-1.0.11 → pydantic_ai-1.0.12}/tests/evals/test_evaluator_context.py +0 -0
  135. {pydantic_ai-1.0.11 → pydantic_ai-1.0.12}/tests/evals/test_evaluator_spec.py +0 -0
  136. {pydantic_ai-1.0.11 → pydantic_ai-1.0.12}/tests/evals/test_llm_as_a_judge.py +0 -0
  137. {pydantic_ai-1.0.11 → pydantic_ai-1.0.12}/tests/evals/test_otel.py +0 -0
  138. {pydantic_ai-1.0.11 → pydantic_ai-1.0.12}/tests/evals/test_render_numbers.py +0 -0
  139. {pydantic_ai-1.0.11 → pydantic_ai-1.0.12}/tests/evals/test_reporting.py +0 -0
  140. {pydantic_ai-1.0.11 → pydantic_ai-1.0.12}/tests/evals/test_reports.py +0 -0
  141. {pydantic_ai-1.0.11 → pydantic_ai-1.0.12}/tests/evals/test_utils.py +0 -0
  142. {pydantic_ai-1.0.11 → pydantic_ai-1.0.12}/tests/evals/utils.py +0 -0
  143. {pydantic_ai-1.0.11 → pydantic_ai-1.0.12}/tests/example_modules/README.md +0 -0
  144. {pydantic_ai-1.0.11 → pydantic_ai-1.0.12}/tests/example_modules/bank_database.py +0 -0
  145. {pydantic_ai-1.0.11 → pydantic_ai-1.0.12}/tests/example_modules/fake_database.py +0 -0
  146. {pydantic_ai-1.0.11 → pydantic_ai-1.0.12}/tests/example_modules/mcp_server.py +0 -0
  147. {pydantic_ai-1.0.11 → pydantic_ai-1.0.12}/tests/example_modules/weather_service.py +0 -0
  148. {pydantic_ai-1.0.11 → pydantic_ai-1.0.12}/tests/ext/__init__.py +0 -0
  149. {pydantic_ai-1.0.11 → pydantic_ai-1.0.12}/tests/ext/test_langchain.py +0 -0
  150. {pydantic_ai-1.0.11 → pydantic_ai-1.0.12}/tests/graph/__init__.py +0 -0
  151. {pydantic_ai-1.0.11 → pydantic_ai-1.0.12}/tests/graph/test_file_persistence.py +0 -0
  152. {pydantic_ai-1.0.11 → pydantic_ai-1.0.12}/tests/graph/test_graph.py +0 -0
  153. {pydantic_ai-1.0.11 → pydantic_ai-1.0.12}/tests/graph/test_mermaid.py +0 -0
  154. {pydantic_ai-1.0.11 → pydantic_ai-1.0.12}/tests/graph/test_persistence.py +0 -0
  155. {pydantic_ai-1.0.11 → pydantic_ai-1.0.12}/tests/graph/test_state.py +0 -0
  156. {pydantic_ai-1.0.11 → pydantic_ai-1.0.12}/tests/graph/test_utils.py +0 -0
  157. {pydantic_ai-1.0.11 → pydantic_ai-1.0.12}/tests/import_examples.py +0 -0
  158. {pydantic_ai-1.0.11 → pydantic_ai-1.0.12}/tests/json_body_serializer.py +0 -0
  159. {pydantic_ai-1.0.11 → pydantic_ai-1.0.12}/tests/models/__init__.py +0 -0
  160. {pydantic_ai-1.0.11 → pydantic_ai-1.0.12}/tests/models/cassettes/test_anthropic/test_anthropic_code_execution_tool.yaml +0 -0
  161. {pydantic_ai-1.0.11 → pydantic_ai-1.0.12}/tests/models/cassettes/test_anthropic/test_anthropic_code_execution_tool_stream.yaml +0 -0
  162. {pydantic_ai-1.0.11 → pydantic_ai-1.0.12}/tests/models/cassettes/test_anthropic/test_anthropic_model_empty_message_on_history.yaml +0 -0
  163. {pydantic_ai-1.0.11 → pydantic_ai-1.0.12}/tests/models/cassettes/test_anthropic/test_anthropic_model_instructions.yaml +0 -0
  164. {pydantic_ai-1.0.11 → pydantic_ai-1.0.12}/tests/models/cassettes/test_anthropic/test_anthropic_model_thinking_part.yaml +0 -0
  165. {pydantic_ai-1.0.11 → pydantic_ai-1.0.12}/tests/models/cassettes/test_anthropic/test_anthropic_model_thinking_part_from_other_model.yaml +0 -0
  166. {pydantic_ai-1.0.11 → pydantic_ai-1.0.12}/tests/models/cassettes/test_anthropic/test_anthropic_model_thinking_part_redacted.yaml +0 -0
  167. {pydantic_ai-1.0.11 → pydantic_ai-1.0.12}/tests/models/cassettes/test_anthropic/test_anthropic_model_thinking_part_redacted_stream.yaml +0 -0
  168. {pydantic_ai-1.0.11 → pydantic_ai-1.0.12}/tests/models/cassettes/test_anthropic/test_anthropic_model_thinking_part_stream.yaml +0 -0
  169. {pydantic_ai-1.0.11 → pydantic_ai-1.0.12}/tests/models/cassettes/test_anthropic/test_anthropic_model_web_search_tool_stream.yaml +0 -0
  170. {pydantic_ai-1.0.11 → pydantic_ai-1.0.12}/tests/models/cassettes/test_anthropic/test_anthropic_output_tool_with_thinking.yaml +0 -0
  171. {pydantic_ai-1.0.11 → pydantic_ai-1.0.12}/tests/models/cassettes/test_anthropic/test_anthropic_prompted_output.yaml +0 -0
  172. {pydantic_ai-1.0.11 → pydantic_ai-1.0.12}/tests/models/cassettes/test_anthropic/test_anthropic_prompted_output_multiple.yaml +0 -0
  173. {pydantic_ai-1.0.11 → pydantic_ai-1.0.12}/tests/models/cassettes/test_anthropic/test_anthropic_server_tool_pass_history_to_another_provider.yaml +0 -0
  174. {pydantic_ai-1.0.11 → pydantic_ai-1.0.12}/tests/models/cassettes/test_anthropic/test_anthropic_server_tool_receive_history_from_another_provider.yaml +0 -0
  175. {pydantic_ai-1.0.11 → pydantic_ai-1.0.12}/tests/models/cassettes/test_anthropic/test_anthropic_text_output_function.yaml +0 -0
  176. {pydantic_ai-1.0.11 → pydantic_ai-1.0.12}/tests/models/cassettes/test_anthropic/test_anthropic_text_parts_ahead_of_built_in_tool_call.yaml +0 -0
  177. {pydantic_ai-1.0.11 → pydantic_ai-1.0.12}/tests/models/cassettes/test_anthropic/test_anthropic_tool_output.yaml +0 -0
  178. {pydantic_ai-1.0.11 → pydantic_ai-1.0.12}/tests/models/cassettes/test_anthropic/test_anthropic_tool_with_thinking.yaml +0 -0
  179. {pydantic_ai-1.0.11 → pydantic_ai-1.0.12}/tests/models/cassettes/test_anthropic/test_anthropic_web_search_tool.yaml +0 -0
  180. {pydantic_ai-1.0.11 → pydantic_ai-1.0.12}/tests/models/cassettes/test_anthropic/test_anthropic_web_search_tool_stream.yaml +0 -0
  181. {pydantic_ai-1.0.11 → pydantic_ai-1.0.12}/tests/models/cassettes/test_anthropic/test_document_binary_content_input.yaml +0 -0
  182. {pydantic_ai-1.0.11 → pydantic_ai-1.0.12}/tests/models/cassettes/test_anthropic/test_document_url_input.yaml +0 -0
  183. {pydantic_ai-1.0.11 → pydantic_ai-1.0.12}/tests/models/cassettes/test_anthropic/test_extra_headers.yaml +0 -0
  184. {pydantic_ai-1.0.11 → pydantic_ai-1.0.12}/tests/models/cassettes/test_anthropic/test_image_as_binary_content_tool_response.yaml +0 -0
  185. {pydantic_ai-1.0.11 → pydantic_ai-1.0.12}/tests/models/cassettes/test_anthropic/test_image_url_input.yaml +0 -0
  186. {pydantic_ai-1.0.11 → pydantic_ai-1.0.12}/tests/models/cassettes/test_anthropic/test_image_url_input_invalid_mime_type.yaml +0 -0
  187. {pydantic_ai-1.0.11 → pydantic_ai-1.0.12}/tests/models/cassettes/test_anthropic/test_multiple_parallel_tool_calls.yaml +0 -0
  188. {pydantic_ai-1.0.11 → pydantic_ai-1.0.12}/tests/models/cassettes/test_anthropic/test_text_document_url_input.yaml +0 -0
  189. {pydantic_ai-1.0.11 → pydantic_ai-1.0.12}/tests/models/cassettes/test_bedrock/test_bedrock_anthropic_tool_with_thinking.yaml +0 -0
  190. {pydantic_ai-1.0.11 → pydantic_ai-1.0.12}/tests/models/cassettes/test_bedrock/test_bedrock_empty_system_prompt.yaml +0 -0
  191. {pydantic_ai-1.0.11 → pydantic_ai-1.0.12}/tests/models/cassettes/test_bedrock/test_bedrock_model.yaml +0 -0
  192. {pydantic_ai-1.0.11 → pydantic_ai-1.0.12}/tests/models/cassettes/test_bedrock/test_bedrock_model_anthropic_model_without_tools.yaml +0 -0
  193. {pydantic_ai-1.0.11 → pydantic_ai-1.0.12}/tests/models/cassettes/test_bedrock/test_bedrock_model_guardrail_config.yaml +0 -0
  194. {pydantic_ai-1.0.11 → pydantic_ai-1.0.12}/tests/models/cassettes/test_bedrock/test_bedrock_model_instructions.yaml +0 -0
  195. {pydantic_ai-1.0.11 → pydantic_ai-1.0.12}/tests/models/cassettes/test_bedrock/test_bedrock_model_iter_stream.yaml +0 -0
  196. {pydantic_ai-1.0.11 → pydantic_ai-1.0.12}/tests/models/cassettes/test_bedrock/test_bedrock_model_max_tokens.yaml +0 -0
  197. {pydantic_ai-1.0.11 → pydantic_ai-1.0.12}/tests/models/cassettes/test_bedrock/test_bedrock_model_other_parameters.yaml +0 -0
  198. {pydantic_ai-1.0.11 → pydantic_ai-1.0.12}/tests/models/cassettes/test_bedrock/test_bedrock_model_performance_config.yaml +0 -0
  199. {pydantic_ai-1.0.11 → pydantic_ai-1.0.12}/tests/models/cassettes/test_bedrock/test_bedrock_model_retry.yaml +0 -0
  200. {pydantic_ai-1.0.11 → pydantic_ai-1.0.12}/tests/models/cassettes/test_bedrock/test_bedrock_model_stream.yaml +0 -0
  201. {pydantic_ai-1.0.11 → pydantic_ai-1.0.12}/tests/models/cassettes/test_bedrock/test_bedrock_model_structured_output.yaml +0 -0
  202. {pydantic_ai-1.0.11 → pydantic_ai-1.0.12}/tests/models/cassettes/test_bedrock/test_bedrock_model_thinking_part_anthropic.yaml +0 -0
  203. {pydantic_ai-1.0.11 → pydantic_ai-1.0.12}/tests/models/cassettes/test_bedrock/test_bedrock_model_thinking_part_deepseek.yaml +0 -0
  204. {pydantic_ai-1.0.11 → pydantic_ai-1.0.12}/tests/models/cassettes/test_bedrock/test_bedrock_model_thinking_part_from_other_model.yaml +0 -0
  205. {pydantic_ai-1.0.11 → pydantic_ai-1.0.12}/tests/models/cassettes/test_bedrock/test_bedrock_model_thinking_part_redacted.yaml +0 -0
  206. {pydantic_ai-1.0.11 → pydantic_ai-1.0.12}/tests/models/cassettes/test_bedrock/test_bedrock_model_thinking_part_redacted_stream.yaml +0 -0
  207. {pydantic_ai-1.0.11 → pydantic_ai-1.0.12}/tests/models/cassettes/test_bedrock/test_bedrock_model_thinking_part_stream.yaml +0 -0
  208. {pydantic_ai-1.0.11 → pydantic_ai-1.0.12}/tests/models/cassettes/test_bedrock/test_bedrock_model_top_p.yaml +0 -0
  209. {pydantic_ai-1.0.11 → pydantic_ai-1.0.12}/tests/models/cassettes/test_bedrock/test_bedrock_multiple_documents_in_history.yaml +0 -0
  210. {pydantic_ai-1.0.11 → pydantic_ai-1.0.12}/tests/models/cassettes/test_bedrock/test_document_url_input.yaml +0 -0
  211. {pydantic_ai-1.0.11 → pydantic_ai-1.0.12}/tests/models/cassettes/test_bedrock/test_image_as_binary_content_input.yaml +0 -0
  212. {pydantic_ai-1.0.11 → pydantic_ai-1.0.12}/tests/models/cassettes/test_bedrock/test_image_url_input.yaml +0 -0
  213. {pydantic_ai-1.0.11 → pydantic_ai-1.0.12}/tests/models/cassettes/test_bedrock/test_text_as_binary_content_input.yaml +0 -0
  214. {pydantic_ai-1.0.11 → pydantic_ai-1.0.12}/tests/models/cassettes/test_bedrock/test_text_document_url_input.yaml +0 -0
  215. {pydantic_ai-1.0.11 → pydantic_ai-1.0.12}/tests/models/cassettes/test_bedrock/test_video_as_binary_content_input.yaml +0 -0
  216. {pydantic_ai-1.0.11 → pydantic_ai-1.0.12}/tests/models/cassettes/test_bedrock/test_video_url_input.yaml +0 -0
  217. {pydantic_ai-1.0.11 → pydantic_ai-1.0.12}/tests/models/cassettes/test_cohere/test_cohere_model_instructions.yaml +0 -0
  218. {pydantic_ai-1.0.11 → pydantic_ai-1.0.12}/tests/models/cassettes/test_cohere/test_cohere_model_thinking_part.yaml +0 -0
  219. {pydantic_ai-1.0.11 → pydantic_ai-1.0.12}/tests/models/cassettes/test_cohere/test_request_simple_success_with_vcr.yaml +0 -0
  220. {pydantic_ai-1.0.11 → pydantic_ai-1.0.12}/tests/models/cassettes/test_deepseek/test_deepseek_model_thinking_part.yaml +0 -0
  221. {pydantic_ai-1.0.11 → pydantic_ai-1.0.12}/tests/models/cassettes/test_deepseek/test_deepseek_model_thinking_stream.yaml +0 -0
  222. {pydantic_ai-1.0.11 → pydantic_ai-1.0.12}/tests/models/cassettes/test_download_item/test_download_item_application_octet_stream.yaml +0 -0
  223. {pydantic_ai-1.0.11 → pydantic_ai-1.0.12}/tests/models/cassettes/test_download_item/test_download_item_audio_mpeg.yaml +0 -0
  224. {pydantic_ai-1.0.11 → pydantic_ai-1.0.12}/tests/models/cassettes/test_download_item/test_download_item_no_content_type.yaml +0 -0
  225. {pydantic_ai-1.0.11 → pydantic_ai-1.0.12}/tests/models/cassettes/test_gemini/test_document_url_input.yaml +0 -0
  226. {pydantic_ai-1.0.11 → pydantic_ai-1.0.12}/tests/models/cassettes/test_gemini/test_gemini_additional_properties_is_false.yaml +0 -0
  227. {pydantic_ai-1.0.11 → pydantic_ai-1.0.12}/tests/models/cassettes/test_gemini/test_gemini_additional_properties_is_true.yaml +0 -0
  228. {pydantic_ai-1.0.11 → pydantic_ai-1.0.12}/tests/models/cassettes/test_gemini/test_gemini_drop_exclusive_maximum.yaml +0 -0
  229. {pydantic_ai-1.0.11 → pydantic_ai-1.0.12}/tests/models/cassettes/test_gemini/test_gemini_exclusive_minimum_and_maximum.yaml +0 -0
  230. {pydantic_ai-1.0.11 → pydantic_ai-1.0.12}/tests/models/cassettes/test_gemini/test_gemini_model_instructions.yaml +0 -0
  231. {pydantic_ai-1.0.11 → pydantic_ai-1.0.12}/tests/models/cassettes/test_gemini/test_gemini_model_thinking_part.yaml +0 -0
  232. {pydantic_ai-1.0.11 → pydantic_ai-1.0.12}/tests/models/cassettes/test_gemini/test_gemini_native_output.yaml +0 -0
  233. {pydantic_ai-1.0.11 → pydantic_ai-1.0.12}/tests/models/cassettes/test_gemini/test_gemini_native_output_multiple.yaml +0 -0
  234. {pydantic_ai-1.0.11 → pydantic_ai-1.0.12}/tests/models/cassettes/test_gemini/test_gemini_prompted_output.yaml +0 -0
  235. {pydantic_ai-1.0.11 → pydantic_ai-1.0.12}/tests/models/cassettes/test_gemini/test_gemini_prompted_output_multiple.yaml +0 -0
  236. {pydantic_ai-1.0.11 → pydantic_ai-1.0.12}/tests/models/cassettes/test_gemini/test_gemini_prompted_output_with_tools.yaml +0 -0
  237. {pydantic_ai-1.0.11 → pydantic_ai-1.0.12}/tests/models/cassettes/test_gemini/test_gemini_text_output_function.yaml +0 -0
  238. {pydantic_ai-1.0.11 → pydantic_ai-1.0.12}/tests/models/cassettes/test_gemini/test_gemini_tool_config_any_with_tool_without_args.yaml +0 -0
  239. {pydantic_ai-1.0.11 → pydantic_ai-1.0.12}/tests/models/cassettes/test_gemini/test_gemini_tool_output.yaml +0 -0
  240. {pydantic_ai-1.0.11 → pydantic_ai-1.0.12}/tests/models/cassettes/test_gemini/test_gemini_youtube_video_url_input.yaml +0 -0
  241. {pydantic_ai-1.0.11 → pydantic_ai-1.0.12}/tests/models/cassettes/test_gemini/test_image_as_binary_content_input.yaml +0 -0
  242. {pydantic_ai-1.0.11 → pydantic_ai-1.0.12}/tests/models/cassettes/test_gemini/test_image_as_binary_content_tool_response.yaml +0 -0
  243. {pydantic_ai-1.0.11 → pydantic_ai-1.0.12}/tests/models/cassettes/test_gemini/test_image_url_input.yaml +0 -0
  244. {pydantic_ai-1.0.11 → pydantic_ai-1.0.12}/tests/models/cassettes/test_gemini/test_labels_are_ignored_with_gla_provider.yaml +0 -0
  245. {pydantic_ai-1.0.11 → pydantic_ai-1.0.12}/tests/models/cassettes/test_gemini/test_video_as_binary_content_input.yaml +0 -0
  246. {pydantic_ai-1.0.11 → pydantic_ai-1.0.12}/tests/models/cassettes/test_gemini/test_video_url_input.yaml +0 -0
  247. {pydantic_ai-1.0.11 → pydantic_ai-1.0.12}/tests/models/cassettes/test_gemini_vertex/test_labels.yaml +0 -0
  248. {pydantic_ai-1.0.11 → pydantic_ai-1.0.12}/tests/models/cassettes/test_gemini_vertex/test_url_input[AudioUrl (gs)].yaml +0 -0
  249. {pydantic_ai-1.0.11 → pydantic_ai-1.0.12}/tests/models/cassettes/test_gemini_vertex/test_url_input[AudioUrl].yaml +0 -0
  250. {pydantic_ai-1.0.11 → pydantic_ai-1.0.12}/tests/models/cassettes/test_gemini_vertex/test_url_input[DocumentUrl (gs)].yaml +0 -0
  251. {pydantic_ai-1.0.11 → pydantic_ai-1.0.12}/tests/models/cassettes/test_gemini_vertex/test_url_input[DocumentUrl].yaml +0 -0
  252. {pydantic_ai-1.0.11 → pydantic_ai-1.0.12}/tests/models/cassettes/test_gemini_vertex/test_url_input[ImageUrl (gs)].yaml +0 -0
  253. {pydantic_ai-1.0.11 → pydantic_ai-1.0.12}/tests/models/cassettes/test_gemini_vertex/test_url_input[ImageUrl].yaml +0 -0
  254. {pydantic_ai-1.0.11 → pydantic_ai-1.0.12}/tests/models/cassettes/test_gemini_vertex/test_url_input[VideoUrl (YouTube)].yaml +0 -0
  255. {pydantic_ai-1.0.11 → pydantic_ai-1.0.12}/tests/models/cassettes/test_gemini_vertex/test_url_input[VideoUrl (gs)].yaml +0 -0
  256. {pydantic_ai-1.0.11 → pydantic_ai-1.0.12}/tests/models/cassettes/test_gemini_vertex/test_url_input[VideoUrl].yaml +0 -0
  257. {pydantic_ai-1.0.11 → pydantic_ai-1.0.12}/tests/models/cassettes/test_gemini_vertex/test_url_input_force_download.yaml +0 -0
  258. {pydantic_ai-1.0.11 → pydantic_ai-1.0.12}/tests/models/cassettes/test_google/test_google_builtin_tools_with_other_tools.yaml +0 -0
  259. {pydantic_ai-1.0.11 → pydantic_ai-1.0.12}/tests/models/cassettes/test_google/test_google_model.yaml +0 -0
  260. {pydantic_ai-1.0.11 → pydantic_ai-1.0.12}/tests/models/cassettes/test_google/test_google_model_builtin_code_execution_stream.yaml +0 -0
  261. {pydantic_ai-1.0.11 → pydantic_ai-1.0.12}/tests/models/cassettes/test_google/test_google_model_code_execution_tool.yaml +0 -0
  262. {pydantic_ai-1.0.11 → pydantic_ai-1.0.12}/tests/models/cassettes/test_google/test_google_model_document_url_input.yaml +0 -0
  263. {pydantic_ai-1.0.11 → pydantic_ai-1.0.12}/tests/models/cassettes/test_google/test_google_model_empty_assistant_response.yaml +0 -0
  264. {pydantic_ai-1.0.11 → pydantic_ai-1.0.12}/tests/models/cassettes/test_google/test_google_model_empty_user_prompt.yaml +0 -0
  265. {pydantic_ai-1.0.11 → pydantic_ai-1.0.12}/tests/models/cassettes/test_google/test_google_model_image_as_binary_content_input.yaml +0 -0
  266. {pydantic_ai-1.0.11 → pydantic_ai-1.0.12}/tests/models/cassettes/test_google/test_google_model_image_url_input.yaml +0 -0
  267. {pydantic_ai-1.0.11 → pydantic_ai-1.0.12}/tests/models/cassettes/test_google/test_google_model_instructions.yaml +0 -0
  268. {pydantic_ai-1.0.11 → pydantic_ai-1.0.12}/tests/models/cassettes/test_google/test_google_model_iter_stream.yaml +0 -0
  269. {pydantic_ai-1.0.11 → pydantic_ai-1.0.12}/tests/models/cassettes/test_google/test_google_model_max_tokens.yaml +0 -0
  270. {pydantic_ai-1.0.11 → pydantic_ai-1.0.12}/tests/models/cassettes/test_google/test_google_model_multiple_documents_in_history.yaml +0 -0
  271. {pydantic_ai-1.0.11 → pydantic_ai-1.0.12}/tests/models/cassettes/test_google/test_google_model_receive_web_search_history_from_another_provider.yaml +0 -0
  272. {pydantic_ai-1.0.11 → pydantic_ai-1.0.12}/tests/models/cassettes/test_google/test_google_model_retry.yaml +0 -0
  273. {pydantic_ai-1.0.11 → pydantic_ai-1.0.12}/tests/models/cassettes/test_google/test_google_model_safety_settings.yaml +0 -0
  274. {pydantic_ai-1.0.11 → pydantic_ai-1.0.12}/tests/models/cassettes/test_google/test_google_model_server_tool_receive_history_from_another_provider.yaml +0 -0
  275. {pydantic_ai-1.0.11 → pydantic_ai-1.0.12}/tests/models/cassettes/test_google/test_google_model_stream.yaml +0 -0
  276. {pydantic_ai-1.0.11 → pydantic_ai-1.0.12}/tests/models/cassettes/test_google/test_google_model_structured_output.yaml +0 -0
  277. {pydantic_ai-1.0.11 → pydantic_ai-1.0.12}/tests/models/cassettes/test_google/test_google_model_text_as_binary_content_input.yaml +0 -0
  278. {pydantic_ai-1.0.11 → pydantic_ai-1.0.12}/tests/models/cassettes/test_google/test_google_model_text_document_url_input.yaml +0 -0
  279. {pydantic_ai-1.0.11 → pydantic_ai-1.0.12}/tests/models/cassettes/test_google/test_google_model_thinking_config.yaml +0 -0
  280. {pydantic_ai-1.0.11 → pydantic_ai-1.0.12}/tests/models/cassettes/test_google/test_google_model_thinking_part.yaml +0 -0
  281. {pydantic_ai-1.0.11 → pydantic_ai-1.0.12}/tests/models/cassettes/test_google/test_google_model_thinking_part_from_other_model.yaml +0 -0
  282. {pydantic_ai-1.0.11 → pydantic_ai-1.0.12}/tests/models/cassettes/test_google/test_google_model_thinking_part_iter.yaml +0 -0
  283. {pydantic_ai-1.0.11 → pydantic_ai-1.0.12}/tests/models/cassettes/test_google/test_google_model_top_p.yaml +0 -0
  284. {pydantic_ai-1.0.11 → pydantic_ai-1.0.12}/tests/models/cassettes/test_google/test_google_model_url_context_tool.yaml +0 -0
  285. {pydantic_ai-1.0.11 → pydantic_ai-1.0.12}/tests/models/cassettes/test_google/test_google_model_usage_limit_exceeded.yaml +0 -0
  286. {pydantic_ai-1.0.11 → pydantic_ai-1.0.12}/tests/models/cassettes/test_google/test_google_model_usage_limit_not_exceeded.yaml +0 -0
  287. {pydantic_ai-1.0.11 → pydantic_ai-1.0.12}/tests/models/cassettes/test_google/test_google_model_vertex_labels.yaml +0 -0
  288. {pydantic_ai-1.0.11 → pydantic_ai-1.0.12}/tests/models/cassettes/test_google/test_google_model_vertex_provider.yaml +0 -0
  289. {pydantic_ai-1.0.11 → pydantic_ai-1.0.12}/tests/models/cassettes/test_google/test_google_model_video_as_binary_content_input.yaml +0 -0
  290. {pydantic_ai-1.0.11 → pydantic_ai-1.0.12}/tests/models/cassettes/test_google/test_google_model_video_as_binary_content_input_with_vendor_metadata.yaml +0 -0
  291. {pydantic_ai-1.0.11 → pydantic_ai-1.0.12}/tests/models/cassettes/test_google/test_google_model_video_url_input.yaml +0 -0
  292. {pydantic_ai-1.0.11 → pydantic_ai-1.0.12}/tests/models/cassettes/test_google/test_google_model_web_search_tool.yaml +0 -0
  293. {pydantic_ai-1.0.11 → pydantic_ai-1.0.12}/tests/models/cassettes/test_google/test_google_model_web_search_tool_stream.yaml +0 -0
  294. {pydantic_ai-1.0.11 → pydantic_ai-1.0.12}/tests/models/cassettes/test_google/test_google_model_youtube_video_url_input_with_vendor_metadata.yaml +0 -0
  295. {pydantic_ai-1.0.11 → pydantic_ai-1.0.12}/tests/models/cassettes/test_google/test_google_native_output.yaml +0 -0
  296. {pydantic_ai-1.0.11 → pydantic_ai-1.0.12}/tests/models/cassettes/test_google/test_google_native_output_multiple.yaml +0 -0
  297. {pydantic_ai-1.0.11 → pydantic_ai-1.0.12}/tests/models/cassettes/test_google/test_google_prompted_output.yaml +0 -0
  298. {pydantic_ai-1.0.11 → pydantic_ai-1.0.12}/tests/models/cassettes/test_google/test_google_prompted_output_multiple.yaml +0 -0
  299. {pydantic_ai-1.0.11 → pydantic_ai-1.0.12}/tests/models/cassettes/test_google/test_google_prompted_output_with_tools.yaml +0 -0
  300. {pydantic_ai-1.0.11 → pydantic_ai-1.0.12}/tests/models/cassettes/test_google/test_google_text_output_function.yaml +0 -0
  301. {pydantic_ai-1.0.11 → pydantic_ai-1.0.12}/tests/models/cassettes/test_google/test_google_timeout.yaml +0 -0
  302. {pydantic_ai-1.0.11 → pydantic_ai-1.0.12}/tests/models/cassettes/test_google/test_google_tool_config_any_with_tool_without_args.yaml +0 -0
  303. {pydantic_ai-1.0.11 → pydantic_ai-1.0.12}/tests/models/cassettes/test_google/test_google_tool_output.yaml +0 -0
  304. {pydantic_ai-1.0.11 → pydantic_ai-1.0.12}/tests/models/cassettes/test_google/test_google_url_input[AudioUrl (gs)].yaml +0 -0
  305. {pydantic_ai-1.0.11 → pydantic_ai-1.0.12}/tests/models/cassettes/test_google/test_google_url_input[AudioUrl].yaml +0 -0
  306. {pydantic_ai-1.0.11 → pydantic_ai-1.0.12}/tests/models/cassettes/test_google/test_google_url_input[DocumentUrl (gs)].yaml +0 -0
  307. {pydantic_ai-1.0.11 → pydantic_ai-1.0.12}/tests/models/cassettes/test_google/test_google_url_input[DocumentUrl].yaml +0 -0
  308. {pydantic_ai-1.0.11 → pydantic_ai-1.0.12}/tests/models/cassettes/test_google/test_google_url_input[ImageUrl (gs)].yaml +0 -0
  309. {pydantic_ai-1.0.11 → pydantic_ai-1.0.12}/tests/models/cassettes/test_google/test_google_url_input[ImageUrl].yaml +0 -0
  310. {pydantic_ai-1.0.11 → pydantic_ai-1.0.12}/tests/models/cassettes/test_google/test_google_url_input[VideoUrl (YouTube)].yaml +0 -0
  311. {pydantic_ai-1.0.11 → pydantic_ai-1.0.12}/tests/models/cassettes/test_google/test_google_url_input[VideoUrl (gs)].yaml +0 -0
  312. {pydantic_ai-1.0.11 → pydantic_ai-1.0.12}/tests/models/cassettes/test_google/test_google_url_input[VideoUrl].yaml +0 -0
  313. {pydantic_ai-1.0.11 → pydantic_ai-1.0.12}/tests/models/cassettes/test_google/test_google_url_input_force_download.yaml +0 -0
  314. {pydantic_ai-1.0.11 → pydantic_ai-1.0.12}/tests/models/cassettes/test_google/test_google_vertexai_model_usage_limit_exceeded.yaml +0 -0
  315. {pydantic_ai-1.0.11 → pydantic_ai-1.0.12}/tests/models/cassettes/test_groq/test_extra_headers.yaml +0 -0
  316. {pydantic_ai-1.0.11 → pydantic_ai-1.0.12}/tests/models/cassettes/test_groq/test_groq_model_instructions.yaml +0 -0
  317. {pydantic_ai-1.0.11 → pydantic_ai-1.0.12}/tests/models/cassettes/test_groq/test_groq_model_thinking_part.yaml +0 -0
  318. {pydantic_ai-1.0.11 → pydantic_ai-1.0.12}/tests/models/cassettes/test_groq/test_groq_model_thinking_part_iter.yaml +0 -0
  319. {pydantic_ai-1.0.11 → pydantic_ai-1.0.12}/tests/models/cassettes/test_groq/test_groq_model_web_search_tool.yaml +0 -0
  320. {pydantic_ai-1.0.11 → pydantic_ai-1.0.12}/tests/models/cassettes/test_groq/test_groq_model_web_search_tool_stream.yaml +0 -0
  321. {pydantic_ai-1.0.11 → pydantic_ai-1.0.12}/tests/models/cassettes/test_groq/test_groq_native_output.yaml +0 -0
  322. {pydantic_ai-1.0.11 → pydantic_ai-1.0.12}/tests/models/cassettes/test_groq/test_groq_prompted_output.yaml +0 -0
  323. {pydantic_ai-1.0.11 → pydantic_ai-1.0.12}/tests/models/cassettes/test_groq/test_image_as_binary_content_input.yaml +0 -0
  324. {pydantic_ai-1.0.11 → pydantic_ai-1.0.12}/tests/models/cassettes/test_groq/test_image_as_binary_content_tool_response.yaml +0 -0
  325. {pydantic_ai-1.0.11 → pydantic_ai-1.0.12}/tests/models/cassettes/test_groq/test_image_url_input.yaml +0 -0
  326. {pydantic_ai-1.0.11 → pydantic_ai-1.0.12}/tests/models/cassettes/test_groq/test_tool_regular_error.yaml +0 -0
  327. {pydantic_ai-1.0.11 → pydantic_ai-1.0.12}/tests/models/cassettes/test_groq/test_tool_use_failed_error.yaml +0 -0
  328. {pydantic_ai-1.0.11 → pydantic_ai-1.0.12}/tests/models/cassettes/test_groq/test_tool_use_failed_error_streaming.yaml +0 -0
  329. {pydantic_ai-1.0.11 → pydantic_ai-1.0.12}/tests/models/cassettes/test_huggingface/test_hf_model_instructions.yaml +0 -0
  330. {pydantic_ai-1.0.11 → pydantic_ai-1.0.12}/tests/models/cassettes/test_huggingface/test_hf_model_thinking_part.yaml +0 -0
  331. {pydantic_ai-1.0.11 → pydantic_ai-1.0.12}/tests/models/cassettes/test_huggingface/test_hf_model_thinking_part_iter.yaml +0 -0
  332. {pydantic_ai-1.0.11 → pydantic_ai-1.0.12}/tests/models/cassettes/test_huggingface/test_image_as_binary_content_input.yaml +0 -0
  333. {pydantic_ai-1.0.11 → pydantic_ai-1.0.12}/tests/models/cassettes/test_huggingface/test_image_url_input.yaml +0 -0
  334. {pydantic_ai-1.0.11 → pydantic_ai-1.0.12}/tests/models/cassettes/test_huggingface/test_max_completion_tokens[Qwen-Qwen2.5-72B-Instruct].yaml +0 -0
  335. {pydantic_ai-1.0.11 → pydantic_ai-1.0.12}/tests/models/cassettes/test_huggingface/test_max_completion_tokens[deepseek-ai-DeepSeek-R1-0528].yaml +0 -0
  336. {pydantic_ai-1.0.11 → pydantic_ai-1.0.12}/tests/models/cassettes/test_huggingface/test_max_completion_tokens[meta-llama-Llama-3.3-70B-Instruct].yaml +0 -0
  337. {pydantic_ai-1.0.11 → pydantic_ai-1.0.12}/tests/models/cassettes/test_huggingface/test_request_simple_success_with_vcr.yaml +0 -0
  338. {pydantic_ai-1.0.11 → pydantic_ai-1.0.12}/tests/models/cassettes/test_huggingface/test_request_simple_usage.yaml +0 -0
  339. {pydantic_ai-1.0.11 → pydantic_ai-1.0.12}/tests/models/cassettes/test_huggingface/test_simple_completion.yaml +0 -0
  340. {pydantic_ai-1.0.11 → pydantic_ai-1.0.12}/tests/models/cassettes/test_huggingface/test_stream_completion.yaml +0 -0
  341. {pydantic_ai-1.0.11 → pydantic_ai-1.0.12}/tests/models/cassettes/test_mistral/test_image_as_binary_content_tool_response.yaml +0 -0
  342. {pydantic_ai-1.0.11 → pydantic_ai-1.0.12}/tests/models/cassettes/test_mistral/test_mistral_model_instructions.yaml +0 -0
  343. {pydantic_ai-1.0.11 → pydantic_ai-1.0.12}/tests/models/cassettes/test_mistral/test_mistral_model_thinking_part.yaml +0 -0
  344. {pydantic_ai-1.0.11 → pydantic_ai-1.0.12}/tests/models/cassettes/test_mistral/test_mistral_model_thinking_part_iter.yaml +0 -0
  345. {pydantic_ai-1.0.11 → pydantic_ai-1.0.12}/tests/models/cassettes/test_model_names/test_known_model_names.yaml +0 -0
  346. {pydantic_ai-1.0.11 → pydantic_ai-1.0.12}/tests/models/cassettes/test_openai/test_audio_as_binary_content_input.yaml +0 -0
  347. {pydantic_ai-1.0.11 → pydantic_ai-1.0.12}/tests/models/cassettes/test_openai/test_compatible_api_with_tool_calls_without_id.yaml +0 -0
  348. {pydantic_ai-1.0.11 → pydantic_ai-1.0.12}/tests/models/cassettes/test_openai/test_document_as_binary_content_input.yaml +0 -0
  349. {pydantic_ai-1.0.11 → pydantic_ai-1.0.12}/tests/models/cassettes/test_openai/test_document_as_binary_content_input_with_tool.yaml +0 -0
  350. {pydantic_ai-1.0.11 → pydantic_ai-1.0.12}/tests/models/cassettes/test_openai/test_document_url_input.yaml +0 -0
  351. {pydantic_ai-1.0.11 → pydantic_ai-1.0.12}/tests/models/cassettes/test_openai/test_extra_headers.yaml +0 -0
  352. {pydantic_ai-1.0.11 → pydantic_ai-1.0.12}/tests/models/cassettes/test_openai/test_image_as_binary_content_input.yaml +0 -0
  353. {pydantic_ai-1.0.11 → pydantic_ai-1.0.12}/tests/models/cassettes/test_openai/test_image_as_binary_content_tool_response.yaml +0 -0
  354. {pydantic_ai-1.0.11 → pydantic_ai-1.0.12}/tests/models/cassettes/test_openai/test_image_url_tool_response.yaml +0 -0
  355. {pydantic_ai-1.0.11 → pydantic_ai-1.0.12}/tests/models/cassettes/test_openai/test_invalid_response.yaml +0 -0
  356. {pydantic_ai-1.0.11 → pydantic_ai-1.0.12}/tests/models/cassettes/test_openai/test_max_completion_tokens[gpt-4.5-preview].yaml +0 -0
  357. {pydantic_ai-1.0.11 → pydantic_ai-1.0.12}/tests/models/cassettes/test_openai/test_max_completion_tokens[gpt-4o-mini].yaml +0 -0
  358. {pydantic_ai-1.0.11 → pydantic_ai-1.0.12}/tests/models/cassettes/test_openai/test_max_completion_tokens[o3-mini].yaml +0 -0
  359. {pydantic_ai-1.0.11 → pydantic_ai-1.0.12}/tests/models/cassettes/test_openai/test_multiple_agent_tool_calls.yaml +0 -0
  360. {pydantic_ai-1.0.11 → pydantic_ai-1.0.12}/tests/models/cassettes/test_openai/test_openai_audio_url_input.yaml +0 -0
  361. {pydantic_ai-1.0.11 → pydantic_ai-1.0.12}/tests/models/cassettes/test_openai/test_openai_instructions.yaml +0 -0
  362. {pydantic_ai-1.0.11 → pydantic_ai-1.0.12}/tests/models/cassettes/test_openai/test_openai_instructions_with_tool_calls_keep_instructions.yaml +0 -0
  363. {pydantic_ai-1.0.11 → pydantic_ai-1.0.12}/tests/models/cassettes/test_openai/test_openai_model_cerebras_provider.yaml +0 -0
  364. {pydantic_ai-1.0.11 → pydantic_ai-1.0.12}/tests/models/cassettes/test_openai/test_openai_model_cerebras_provider_harmony.yaml +0 -0
  365. {pydantic_ai-1.0.11 → pydantic_ai-1.0.12}/tests/models/cassettes/test_openai/test_openai_model_cerebras_provider_qwen_3_coder.yaml +0 -0
  366. {pydantic_ai-1.0.11 → pydantic_ai-1.0.12}/tests/models/cassettes/test_openai/test_openai_model_settings_temperature_ignored_on_gpt_5.yaml +0 -0
  367. {pydantic_ai-1.0.11 → pydantic_ai-1.0.12}/tests/models/cassettes/test_openai/test_openai_model_thinking_part.yaml +0 -0
  368. {pydantic_ai-1.0.11 → pydantic_ai-1.0.12}/tests/models/cassettes/test_openai/test_openai_model_without_system_prompt.yaml +0 -0
  369. {pydantic_ai-1.0.11 → pydantic_ai-1.0.12}/tests/models/cassettes/test_openai/test_openai_native_output.yaml +0 -0
  370. {pydantic_ai-1.0.11 → pydantic_ai-1.0.12}/tests/models/cassettes/test_openai/test_openai_native_output_multiple.yaml +0 -0
  371. {pydantic_ai-1.0.11 → pydantic_ai-1.0.12}/tests/models/cassettes/test_openai/test_openai_o1_mini_system_role[developer].yaml +0 -0
  372. {pydantic_ai-1.0.11 → pydantic_ai-1.0.12}/tests/models/cassettes/test_openai/test_openai_o1_mini_system_role[system].yaml +0 -0
  373. {pydantic_ai-1.0.11 → pydantic_ai-1.0.12}/tests/models/cassettes/test_openai/test_openai_prompted_output.yaml +0 -0
  374. {pydantic_ai-1.0.11 → pydantic_ai-1.0.12}/tests/models/cassettes/test_openai/test_openai_prompted_output_multiple.yaml +0 -0
  375. {pydantic_ai-1.0.11 → pydantic_ai-1.0.12}/tests/models/cassettes/test_openai/test_openai_text_output_function.yaml +0 -0
  376. {pydantic_ai-1.0.11 → pydantic_ai-1.0.12}/tests/models/cassettes/test_openai/test_openai_tool_output.yaml +0 -0
  377. {pydantic_ai-1.0.11 → pydantic_ai-1.0.12}/tests/models/cassettes/test_openai/test_openai_web_search_tool.yaml +0 -0
  378. {pydantic_ai-1.0.11 → pydantic_ai-1.0.12}/tests/models/cassettes/test_openai/test_openai_web_search_tool_model_not_supported.yaml +0 -0
  379. {pydantic_ai-1.0.11 → pydantic_ai-1.0.12}/tests/models/cassettes/test_openai/test_openai_web_search_tool_with_user_location.yaml +0 -0
  380. {pydantic_ai-1.0.11 → pydantic_ai-1.0.12}/tests/models/cassettes/test_openai/test_reasoning_model_with_temperature.yaml +0 -0
  381. {pydantic_ai-1.0.11 → pydantic_ai-1.0.12}/tests/models/cassettes/test_openai/test_system_prompt_role_o1_mini.yaml +0 -0
  382. {pydantic_ai-1.0.11 → pydantic_ai-1.0.12}/tests/models/cassettes/test_openai/test_text_response.yaml +0 -0
  383. {pydantic_ai-1.0.11 → pydantic_ai-1.0.12}/tests/models/cassettes/test_openai/test_user_id.yaml +0 -0
  384. {pydantic_ai-1.0.11 → pydantic_ai-1.0.12}/tests/models/cassettes/test_openai/test_valid_response.yaml +0 -0
  385. {pydantic_ai-1.0.11 → pydantic_ai-1.0.12}/tests/models/cassettes/test_openai_responses/test_audio_as_binary_content_input.yaml +0 -0
  386. {pydantic_ai-1.0.11 → pydantic_ai-1.0.12}/tests/models/cassettes/test_openai_responses/test_image_as_binary_content_input.yaml +0 -0
  387. {pydantic_ai-1.0.11 → pydantic_ai-1.0.12}/tests/models/cassettes/test_openai_responses/test_image_as_binary_content_tool_response.yaml +0 -0
  388. {pydantic_ai-1.0.11 → pydantic_ai-1.0.12}/tests/models/cassettes/test_openai_responses/test_native_output.yaml +0 -0
  389. {pydantic_ai-1.0.11 → pydantic_ai-1.0.12}/tests/models/cassettes/test_openai_responses/test_native_output_multiple.yaml +0 -0
  390. {pydantic_ai-1.0.11 → pydantic_ai-1.0.12}/tests/models/cassettes/test_openai_responses/test_openai_previous_response_id.yaml +0 -0
  391. {pydantic_ai-1.0.11 → pydantic_ai-1.0.12}/tests/models/cassettes/test_openai_responses/test_openai_previous_response_id_auto_mode.yaml +0 -0
  392. {pydantic_ai-1.0.11 → pydantic_ai-1.0.12}/tests/models/cassettes/test_openai_responses/test_openai_responses_code_execution_return_image.yaml +0 -0
  393. {pydantic_ai-1.0.11 → pydantic_ai-1.0.12}/tests/models/cassettes/test_openai_responses/test_openai_responses_document_as_binary_content_input.yaml +0 -0
  394. {pydantic_ai-1.0.11 → pydantic_ai-1.0.12}/tests/models/cassettes/test_openai_responses/test_openai_responses_document_url_input.yaml +0 -0
  395. {pydantic_ai-1.0.11 → pydantic_ai-1.0.12}/tests/models/cassettes/test_openai_responses/test_openai_responses_image_url_input.yaml +0 -0
  396. {pydantic_ai-1.0.11 → pydantic_ai-1.0.12}/tests/models/cassettes/test_openai_responses/test_openai_responses_model_builtin_tools.yaml +0 -0
  397. {pydantic_ai-1.0.11 → pydantic_ai-1.0.12}/tests/models/cassettes/test_openai_responses/test_openai_responses_model_builtin_tools_web_search.yaml +0 -0
  398. {pydantic_ai-1.0.11 → pydantic_ai-1.0.12}/tests/models/cassettes/test_openai_responses/test_openai_responses_model_http_error.yaml +0 -0
  399. {pydantic_ai-1.0.11 → pydantic_ai-1.0.12}/tests/models/cassettes/test_openai_responses/test_openai_responses_model_instructions.yaml +0 -0
  400. {pydantic_ai-1.0.11 → pydantic_ai-1.0.12}/tests/models/cassettes/test_openai_responses/test_openai_responses_model_retry.yaml +0 -0
  401. {pydantic_ai-1.0.11 → pydantic_ai-1.0.12}/tests/models/cassettes/test_openai_responses/test_openai_responses_model_simple_response.yaml +0 -0
  402. {pydantic_ai-1.0.11 → pydantic_ai-1.0.12}/tests/models/cassettes/test_openai_responses/test_openai_responses_model_simple_response_with_tool_call.yaml +0 -0
  403. {pydantic_ai-1.0.11 → pydantic_ai-1.0.12}/tests/models/cassettes/test_openai_responses/test_openai_responses_model_thinking_part.yaml +0 -0
  404. {pydantic_ai-1.0.11 → pydantic_ai-1.0.12}/tests/models/cassettes/test_openai_responses/test_openai_responses_model_web_search_tool.yaml +0 -0
  405. {pydantic_ai-1.0.11 → pydantic_ai-1.0.12}/tests/models/cassettes/test_openai_responses/test_openai_responses_model_web_search_tool_stream.yaml +0 -0
  406. {pydantic_ai-1.0.11 → pydantic_ai-1.0.12}/tests/models/cassettes/test_openai_responses/test_openai_responses_model_web_search_tool_with_invalid_region.yaml +0 -0
  407. {pydantic_ai-1.0.11 → pydantic_ai-1.0.12}/tests/models/cassettes/test_openai_responses/test_openai_responses_model_web_search_tool_with_user_location.yaml +0 -0
  408. {pydantic_ai-1.0.11 → pydantic_ai-1.0.12}/tests/models/cassettes/test_openai_responses/test_openai_responses_non_reasoning_model_no_item_ids.yaml +0 -0
  409. {pydantic_ai-1.0.11 → pydantic_ai-1.0.12}/tests/models/cassettes/test_openai_responses/test_openai_responses_output_type.yaml +0 -0
  410. {pydantic_ai-1.0.11 → pydantic_ai-1.0.12}/tests/models/cassettes/test_openai_responses/test_openai_responses_reasoning_effort.yaml +0 -0
  411. {pydantic_ai-1.0.11 → pydantic_ai-1.0.12}/tests/models/cassettes/test_openai_responses/test_openai_responses_reasoning_generate_summary.yaml +0 -0
  412. {pydantic_ai-1.0.11 → pydantic_ai-1.0.12}/tests/models/cassettes/test_openai_responses/test_openai_responses_stream.yaml +0 -0
  413. {pydantic_ai-1.0.11 → pydantic_ai-1.0.12}/tests/models/cassettes/test_openai_responses/test_openai_responses_streaming_usage.yaml +0 -0
  414. {pydantic_ai-1.0.11 → pydantic_ai-1.0.12}/tests/models/cassettes/test_openai_responses/test_openai_responses_system_prompt.yaml +0 -0
  415. {pydantic_ai-1.0.11 → pydantic_ai-1.0.12}/tests/models/cassettes/test_openai_responses/test_openai_responses_text_document_url_input.yaml +0 -0
  416. {pydantic_ai-1.0.11 → pydantic_ai-1.0.12}/tests/models/cassettes/test_openai_responses/test_openai_responses_thinking_part_from_other_model.yaml +0 -0
  417. {pydantic_ai-1.0.11 → pydantic_ai-1.0.12}/tests/models/cassettes/test_openai_responses/test_openai_responses_thinking_part_iter.yaml +0 -0
  418. {pydantic_ai-1.0.11 → pydantic_ai-1.0.12}/tests/models/cassettes/test_openai_responses/test_openai_responses_thinking_with_code_execution_tool.yaml +0 -0
  419. {pydantic_ai-1.0.11 → pydantic_ai-1.0.12}/tests/models/cassettes/test_openai_responses/test_openai_responses_thinking_with_code_execution_tool_stream.yaml +0 -0
  420. {pydantic_ai-1.0.11 → pydantic_ai-1.0.12}/tests/models/cassettes/test_openai_responses/test_openai_responses_thinking_with_modified_history.yaml +0 -0
  421. {pydantic_ai-1.0.11 → pydantic_ai-1.0.12}/tests/models/cassettes/test_openai_responses/test_openai_responses_thinking_with_tool_calls.yaml +0 -0
  422. {pydantic_ai-1.0.11 → pydantic_ai-1.0.12}/tests/models/cassettes/test_openai_responses/test_openai_responses_verbosity.yaml +0 -0
  423. {pydantic_ai-1.0.11 → pydantic_ai-1.0.12}/tests/models/cassettes/test_openai_responses/test_prompted_output.yaml +0 -0
  424. {pydantic_ai-1.0.11 → pydantic_ai-1.0.12}/tests/models/cassettes/test_openai_responses/test_prompted_output_multiple.yaml +0 -0
  425. {pydantic_ai-1.0.11 → pydantic_ai-1.0.12}/tests/models/cassettes/test_openai_responses/test_reasoning_model_with_temperature.yaml +0 -0
  426. {pydantic_ai-1.0.11 → pydantic_ai-1.0.12}/tests/models/cassettes/test_openai_responses/test_text_output_function.yaml +0 -0
  427. {pydantic_ai-1.0.11 → pydantic_ai-1.0.12}/tests/models/cassettes/test_openai_responses/test_tool_output.yaml +0 -0
  428. {pydantic_ai-1.0.11 → pydantic_ai-1.0.12}/tests/models/mock_async_stream.py +0 -0
  429. {pydantic_ai-1.0.11 → pydantic_ai-1.0.12}/tests/models/mock_openai.py +0 -0
  430. {pydantic_ai-1.0.11 → pydantic_ai-1.0.12}/tests/models/test_model.py +0 -0
  431. {pydantic_ai-1.0.11 → pydantic_ai-1.0.12}/tests/models/test_model_names.py +0 -0
  432. {pydantic_ai-1.0.11 → pydantic_ai-1.0.12}/tests/models/test_model_request_parameters.py +0 -0
  433. {pydantic_ai-1.0.11 → pydantic_ai-1.0.12}/tests/providers/__init__.py +0 -0
  434. {pydantic_ai-1.0.11 → pydantic_ai-1.0.12}/tests/providers/cassettes/test_azure/test_azure_provider_call.yaml +0 -0
  435. {pydantic_ai-1.0.11 → pydantic_ai-1.0.12}/tests/providers/cassettes/test_gateway/test_gateway_provider_with_anthropic.yaml +0 -0
  436. {pydantic_ai-1.0.11 → pydantic_ai-1.0.12}/tests/providers/cassettes/test_gateway/test_gateway_provider_with_google_vertex.yaml +0 -0
  437. {pydantic_ai-1.0.11 → pydantic_ai-1.0.12}/tests/providers/cassettes/test_gateway/test_gateway_provider_with_groq.yaml +0 -0
  438. {pydantic_ai-1.0.11 → pydantic_ai-1.0.12}/tests/providers/cassettes/test_gateway/test_gateway_provider_with_openai.yaml +0 -0
  439. {pydantic_ai-1.0.11 → pydantic_ai-1.0.12}/tests/providers/cassettes/test_gateway/test_gateway_provider_with_openai_responses.yaml +0 -0
  440. {pydantic_ai-1.0.11 → pydantic_ai-1.0.12}/tests/providers/cassettes/test_google_vertex/test_vertexai_provider.yaml +0 -0
  441. {pydantic_ai-1.0.11 → pydantic_ai-1.0.12}/tests/providers/cassettes/test_heroku/test_heroku_model_provider_claude_3_7_sonnet.yaml +0 -0
  442. {pydantic_ai-1.0.11 → pydantic_ai-1.0.12}/tests/providers/cassettes/test_openrouter/test_openrouter_with_google_model.yaml +0 -0
  443. {pydantic_ai-1.0.11 → pydantic_ai-1.0.12}/tests/providers/test_anthropic.py +0 -0
  444. {pydantic_ai-1.0.11 → pydantic_ai-1.0.12}/tests/providers/test_cohere.py +0 -0
  445. {pydantic_ai-1.0.11 → pydantic_ai-1.0.12}/tests/providers/test_deepseek.py +0 -0
  446. {pydantic_ai-1.0.11 → pydantic_ai-1.0.12}/tests/providers/test_gateway.py +0 -0
  447. {pydantic_ai-1.0.11 → pydantic_ai-1.0.12}/tests/providers/test_google_gla.py +0 -0
  448. {pydantic_ai-1.0.11 → pydantic_ai-1.0.12}/tests/providers/test_google_vertex.py +0 -0
  449. {pydantic_ai-1.0.11 → pydantic_ai-1.0.12}/tests/providers/test_grok.py +0 -0
  450. {pydantic_ai-1.0.11 → pydantic_ai-1.0.12}/tests/providers/test_heroku.py +0 -0
  451. {pydantic_ai-1.0.11 → pydantic_ai-1.0.12}/tests/providers/test_litellm.py +0 -0
  452. {pydantic_ai-1.0.11 → pydantic_ai-1.0.12}/tests/providers/test_mistral.py +0 -0
  453. {pydantic_ai-1.0.11 → pydantic_ai-1.0.12}/tests/providers/test_moonshotai.py +0 -0
  454. {pydantic_ai-1.0.11 → pydantic_ai-1.0.12}/tests/providers/test_openai.py +0 -0
  455. {pydantic_ai-1.0.11 → pydantic_ai-1.0.12}/tests/providers/test_provider_names.py +0 -0
  456. {pydantic_ai-1.0.11 → pydantic_ai-1.0.12}/tests/test_builtin_tools.py +0 -0
  457. {pydantic_ai-1.0.11 → pydantic_ai-1.0.12}/tests/test_deps.py +0 -0
  458. {pydantic_ai-1.0.11 → pydantic_ai-1.0.12}/tests/test_format_as_xml.py +0 -0
  459. {pydantic_ai-1.0.11 → pydantic_ai-1.0.12}/tests/test_function_schema.py +0 -0
  460. {pydantic_ai-1.0.11 → pydantic_ai-1.0.12}/tests/test_json_body_serializer.py +0 -0
  461. {pydantic_ai-1.0.11 → pydantic_ai-1.0.12}/tests/test_live.py +0 -0
  462. {pydantic_ai-1.0.11 → pydantic_ai-1.0.12}/tests/test_settings.py +0 -0
  463. {pydantic_ai-1.0.11 → pydantic_ai-1.0.12}/tests/test_tenacity.py +0 -0
  464. {pydantic_ai-1.0.11 → pydantic_ai-1.0.12}/tests/test_utils.py +0 -0
  465. {pydantic_ai-1.0.11 → pydantic_ai-1.0.12}/tests/typed_agent.py +0 -0
  466. {pydantic_ai-1.0.11 → pydantic_ai-1.0.12}/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.11
3
+ Version: 1.0.12
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
@@ -26,13 +26,13 @@ Classifier: Topic :: Internet
26
26
  Classifier: Topic :: Scientific/Engineering :: Artificial Intelligence
27
27
  Classifier: Topic :: Software Development :: Libraries :: Python Modules
28
28
  Requires-Python: >=3.10
29
- Requires-Dist: pydantic-ai-slim[ag-ui,anthropic,bedrock,cli,cohere,evals,google,groq,huggingface,logfire,mcp,mistral,openai,retries,temporal,vertexai]==1.0.11
29
+ Requires-Dist: pydantic-ai-slim[ag-ui,anthropic,bedrock,cli,cohere,evals,google,groq,huggingface,logfire,mcp,mistral,openai,retries,temporal,vertexai]==1.0.12
30
30
  Provides-Extra: a2a
31
31
  Requires-Dist: fasta2a>=0.4.1; extra == 'a2a'
32
32
  Provides-Extra: dbos
33
- Requires-Dist: pydantic-ai-slim[dbos]==1.0.11; extra == 'dbos'
33
+ Requires-Dist: pydantic-ai-slim[dbos]==1.0.12; extra == 'dbos'
34
34
  Provides-Extra: examples
35
- Requires-Dist: pydantic-ai-examples==1.0.11; extra == 'examples'
35
+ Requires-Dist: pydantic-ai-examples==1.0.12; extra == 'examples'
36
36
  Description-Content-Type: text/markdown
37
37
 
38
38
  <div align="center">
@@ -0,0 +1 @@
1
+ Dummy TXT file
@@ -0,0 +1,520 @@
1
+ interactions:
2
+ - request:
3
+ headers:
4
+ accept:
5
+ - application/json
6
+ accept-encoding:
7
+ - gzip, deflate
8
+ connection:
9
+ - keep-alive
10
+ content-length:
11
+ - '3845'
12
+ content-type:
13
+ - application/json
14
+ host:
15
+ - api.openai.com
16
+ method: POST
17
+ parsed_body:
18
+ messages:
19
+ - content: Get me an unstructured dict, respond on one line
20
+ role: user
21
+ model: gpt-4o
22
+ stream: false
23
+ tool_choice: auto
24
+ tools:
25
+ - function:
26
+ description: "Convert Celsius to Fahrenheit.\n\n Args:\n celsius: Temperature in Celsius\n\n Returns:\n
27
+ \ Temperature in Fahrenheit\n "
28
+ name: celsius_to_fahrenheit
29
+ parameters:
30
+ additionalProperties: false
31
+ properties:
32
+ celsius:
33
+ type: number
34
+ required:
35
+ - celsius
36
+ type: object
37
+ strict: true
38
+ type: function
39
+ - function:
40
+ description: "Get the weather forecast for a location.\n\n Args:\n location: The location to get the weather
41
+ forecast for.\n\n Returns:\n The weather forecast for the location.\n "
42
+ name: get_weather_forecast
43
+ parameters:
44
+ additionalProperties: false
45
+ properties:
46
+ location:
47
+ type: string
48
+ required:
49
+ - location
50
+ type: object
51
+ strict: true
52
+ type: function
53
+ - function:
54
+ description: ''
55
+ name: get_image_resource
56
+ parameters:
57
+ additionalProperties: false
58
+ properties: {}
59
+ type: object
60
+ type: function
61
+ - function:
62
+ description: ''
63
+ name: get_image_resource_link
64
+ parameters:
65
+ additionalProperties: false
66
+ properties: {}
67
+ type: object
68
+ type: function
69
+ - function:
70
+ description: ''
71
+ name: get_audio_resource
72
+ parameters:
73
+ additionalProperties: false
74
+ properties: {}
75
+ type: object
76
+ type: function
77
+ - function:
78
+ description: ''
79
+ name: get_audio_resource_link
80
+ parameters:
81
+ additionalProperties: false
82
+ properties: {}
83
+ type: object
84
+ type: function
85
+ - function:
86
+ description: ''
87
+ name: get_product_name
88
+ parameters:
89
+ additionalProperties: false
90
+ properties: {}
91
+ type: object
92
+ type: function
93
+ - function:
94
+ description: ''
95
+ name: get_product_name_link
96
+ parameters:
97
+ additionalProperties: false
98
+ properties: {}
99
+ type: object
100
+ type: function
101
+ - function:
102
+ description: ''
103
+ name: get_image
104
+ parameters:
105
+ additionalProperties: false
106
+ properties: {}
107
+ type: object
108
+ type: function
109
+ - function:
110
+ description: ''
111
+ name: get_dict
112
+ parameters:
113
+ additionalProperties: false
114
+ properties: {}
115
+ type: object
116
+ type: function
117
+ - function:
118
+ description: ''
119
+ name: get_unstructured_dict
120
+ parameters:
121
+ additionalProperties: false
122
+ properties: {}
123
+ type: object
124
+ type: function
125
+ - function:
126
+ description: ''
127
+ name: get_error
128
+ parameters:
129
+ additionalProperties: false
130
+ properties:
131
+ value:
132
+ default: false
133
+ type: boolean
134
+ type: object
135
+ type: function
136
+ - function:
137
+ description: ''
138
+ name: get_none
139
+ parameters:
140
+ additionalProperties: false
141
+ properties: {}
142
+ type: object
143
+ type: function
144
+ - function:
145
+ description: ''
146
+ name: get_multiple_items
147
+ parameters:
148
+ additionalProperties: false
149
+ properties: {}
150
+ type: object
151
+ type: function
152
+ - function:
153
+ description: "Get the current log level.\n\n Returns:\n The current log level.\n "
154
+ name: get_log_level
155
+ parameters:
156
+ additionalProperties: false
157
+ properties: {}
158
+ type: object
159
+ type: function
160
+ - function:
161
+ description: "Echo the run context.\n\n Args:\n ctx: Context object containing request and session information.\n\n
162
+ \ Returns:\n Dictionary with an echo message and the deps.\n "
163
+ name: echo_deps
164
+ parameters:
165
+ additionalProperties: false
166
+ properties: {}
167
+ type: object
168
+ type: function
169
+ - function:
170
+ description: Use sampling callback.
171
+ name: use_sampling
172
+ parameters:
173
+ additionalProperties: false
174
+ properties:
175
+ foo:
176
+ type: string
177
+ required:
178
+ - foo
179
+ type: object
180
+ strict: true
181
+ type: function
182
+ - function:
183
+ description: Use elicitation callback to ask the user a question.
184
+ name: use_elicitation
185
+ parameters:
186
+ additionalProperties: false
187
+ properties:
188
+ question:
189
+ type: string
190
+ required:
191
+ - question
192
+ type: object
193
+ strict: true
194
+ type: function
195
+ uri: https://api.openai.com/v1/chat/completions
196
+ response:
197
+ headers:
198
+ access-control-expose-headers:
199
+ - X-Request-ID
200
+ alt-svc:
201
+ - h3=":443"; ma=86400
202
+ connection:
203
+ - keep-alive
204
+ content-length:
205
+ - '1073'
206
+ content-type:
207
+ - application/json
208
+ openai-organization:
209
+ - pydantic-28gund
210
+ openai-processing-ms:
211
+ - '1521'
212
+ openai-project:
213
+ - proj_dKobscVY9YJxeEaDJen54e3d
214
+ openai-version:
215
+ - '2020-10-01'
216
+ strict-transport-security:
217
+ - max-age=31536000; includeSubDomains; preload
218
+ transfer-encoding:
219
+ - chunked
220
+ parsed_body:
221
+ choices:
222
+ - finish_reason: tool_calls
223
+ index: 0
224
+ logprobs: null
225
+ message:
226
+ annotations: []
227
+ content: null
228
+ refusal: null
229
+ role: assistant
230
+ tool_calls:
231
+ - function:
232
+ arguments: '{}'
233
+ name: get_unstructured_dict
234
+ id: call_R0n2R7S9vL2aZOX25T9jahTd
235
+ type: function
236
+ created: 1759264706
237
+ id: chatcmpl-CLbP82ODQMEznhobUKdq6Rjn9Aa12
238
+ model: gpt-4o-2024-08-06
239
+ object: chat.completion
240
+ service_tier: default
241
+ system_fingerprint: fp_f33640a400
242
+ usage:
243
+ completion_tokens: 12
244
+ completion_tokens_details:
245
+ accepted_prediction_tokens: 0
246
+ audio_tokens: 0
247
+ reasoning_tokens: 0
248
+ rejected_prediction_tokens: 0
249
+ prompt_tokens: 343
250
+ prompt_tokens_details:
251
+ audio_tokens: 0
252
+ cached_tokens: 0
253
+ total_tokens: 355
254
+ status:
255
+ code: 200
256
+ message: OK
257
+ - request:
258
+ headers:
259
+ accept:
260
+ - application/json
261
+ accept-encoding:
262
+ - gzip, deflate
263
+ connection:
264
+ - keep-alive
265
+ content-length:
266
+ - '4119'
267
+ content-type:
268
+ - application/json
269
+ cookie:
270
+ - __cf_bm=tGZk0hevqXH_kU7UScGt.EqwPxg4OTuqy4hBf.hGmwo-1759264708-1.0.1.1-dHK7SUjNTLSpKF9cvNn7RNdg6UBSqsWYbU7k7Dq5oE9NdDkkv4LRlBEYWPjFafQKjfrS_JgwrAIM5Je9qCJeucIatzS2M02wLccvrfU2c6k;
271
+ _cfuvid=d8Rl.NMqIC4giHLO2QsuslT6sliz_xnT6LK0PLEZEsA-1759264708042-0.0.1.1-604800000
272
+ host:
273
+ - api.openai.com
274
+ method: POST
275
+ parsed_body:
276
+ messages:
277
+ - content: Get me an unstructured dict, respond on one line
278
+ role: user
279
+ - content: null
280
+ role: assistant
281
+ tool_calls:
282
+ - function:
283
+ arguments: '{}'
284
+ name: get_unstructured_dict
285
+ id: call_R0n2R7S9vL2aZOX25T9jahTd
286
+ type: function
287
+ - content: '{"foo":"bar","baz":123}'
288
+ role: tool
289
+ tool_call_id: call_R0n2R7S9vL2aZOX25T9jahTd
290
+ model: gpt-4o
291
+ stream: false
292
+ tool_choice: auto
293
+ tools:
294
+ - function:
295
+ description: "Convert Celsius to Fahrenheit.\n\n Args:\n celsius: Temperature in Celsius\n\n Returns:\n
296
+ \ Temperature in Fahrenheit\n "
297
+ name: celsius_to_fahrenheit
298
+ parameters:
299
+ additionalProperties: false
300
+ properties:
301
+ celsius:
302
+ type: number
303
+ required:
304
+ - celsius
305
+ type: object
306
+ strict: true
307
+ type: function
308
+ - function:
309
+ description: "Get the weather forecast for a location.\n\n Args:\n location: The location to get the weather
310
+ forecast for.\n\n Returns:\n The weather forecast for the location.\n "
311
+ name: get_weather_forecast
312
+ parameters:
313
+ additionalProperties: false
314
+ properties:
315
+ location:
316
+ type: string
317
+ required:
318
+ - location
319
+ type: object
320
+ strict: true
321
+ type: function
322
+ - function:
323
+ description: ''
324
+ name: get_image_resource
325
+ parameters:
326
+ additionalProperties: false
327
+ properties: {}
328
+ type: object
329
+ type: function
330
+ - function:
331
+ description: ''
332
+ name: get_image_resource_link
333
+ parameters:
334
+ additionalProperties: false
335
+ properties: {}
336
+ type: object
337
+ type: function
338
+ - function:
339
+ description: ''
340
+ name: get_audio_resource
341
+ parameters:
342
+ additionalProperties: false
343
+ properties: {}
344
+ type: object
345
+ type: function
346
+ - function:
347
+ description: ''
348
+ name: get_audio_resource_link
349
+ parameters:
350
+ additionalProperties: false
351
+ properties: {}
352
+ type: object
353
+ type: function
354
+ - function:
355
+ description: ''
356
+ name: get_product_name
357
+ parameters:
358
+ additionalProperties: false
359
+ properties: {}
360
+ type: object
361
+ type: function
362
+ - function:
363
+ description: ''
364
+ name: get_product_name_link
365
+ parameters:
366
+ additionalProperties: false
367
+ properties: {}
368
+ type: object
369
+ type: function
370
+ - function:
371
+ description: ''
372
+ name: get_image
373
+ parameters:
374
+ additionalProperties: false
375
+ properties: {}
376
+ type: object
377
+ type: function
378
+ - function:
379
+ description: ''
380
+ name: get_dict
381
+ parameters:
382
+ additionalProperties: false
383
+ properties: {}
384
+ type: object
385
+ type: function
386
+ - function:
387
+ description: ''
388
+ name: get_unstructured_dict
389
+ parameters:
390
+ additionalProperties: false
391
+ properties: {}
392
+ type: object
393
+ type: function
394
+ - function:
395
+ description: ''
396
+ name: get_error
397
+ parameters:
398
+ additionalProperties: false
399
+ properties:
400
+ value:
401
+ default: false
402
+ type: boolean
403
+ type: object
404
+ type: function
405
+ - function:
406
+ description: ''
407
+ name: get_none
408
+ parameters:
409
+ additionalProperties: false
410
+ properties: {}
411
+ type: object
412
+ type: function
413
+ - function:
414
+ description: ''
415
+ name: get_multiple_items
416
+ parameters:
417
+ additionalProperties: false
418
+ properties: {}
419
+ type: object
420
+ type: function
421
+ - function:
422
+ description: "Get the current log level.\n\n Returns:\n The current log level.\n "
423
+ name: get_log_level
424
+ parameters:
425
+ additionalProperties: false
426
+ properties: {}
427
+ type: object
428
+ type: function
429
+ - function:
430
+ description: "Echo the run context.\n\n Args:\n ctx: Context object containing request and session information.\n\n
431
+ \ Returns:\n Dictionary with an echo message and the deps.\n "
432
+ name: echo_deps
433
+ parameters:
434
+ additionalProperties: false
435
+ properties: {}
436
+ type: object
437
+ type: function
438
+ - function:
439
+ description: Use sampling callback.
440
+ name: use_sampling
441
+ parameters:
442
+ additionalProperties: false
443
+ properties:
444
+ foo:
445
+ type: string
446
+ required:
447
+ - foo
448
+ type: object
449
+ strict: true
450
+ type: function
451
+ - function:
452
+ description: Use elicitation callback to ask the user a question.
453
+ name: use_elicitation
454
+ parameters:
455
+ additionalProperties: false
456
+ properties:
457
+ question:
458
+ type: string
459
+ required:
460
+ - question
461
+ type: object
462
+ strict: true
463
+ type: function
464
+ uri: https://api.openai.com/v1/chat/completions
465
+ response:
466
+ headers:
467
+ access-control-expose-headers:
468
+ - X-Request-ID
469
+ alt-svc:
470
+ - h3=":443"; ma=86400
471
+ connection:
472
+ - keep-alive
473
+ content-length:
474
+ - '833'
475
+ content-type:
476
+ - application/json
477
+ openai-organization:
478
+ - pydantic-28gund
479
+ openai-processing-ms:
480
+ - '318'
481
+ openai-project:
482
+ - proj_dKobscVY9YJxeEaDJen54e3d
483
+ openai-version:
484
+ - '2020-10-01'
485
+ strict-transport-security:
486
+ - max-age=31536000; includeSubDomains; preload
487
+ transfer-encoding:
488
+ - chunked
489
+ parsed_body:
490
+ choices:
491
+ - finish_reason: stop
492
+ index: 0
493
+ logprobs: null
494
+ message:
495
+ annotations: []
496
+ content: '{"foo":"bar","baz":123}'
497
+ refusal: null
498
+ role: assistant
499
+ created: 1759264708
500
+ id: chatcmpl-CLbPAOYN3jPYdvYeD8JNOOXF5N554
501
+ model: gpt-4o-2024-08-06
502
+ object: chat.completion
503
+ service_tier: default
504
+ system_fingerprint: fp_f33640a400
505
+ usage:
506
+ completion_tokens: 10
507
+ completion_tokens_details:
508
+ accepted_prediction_tokens: 0
509
+ audio_tokens: 0
510
+ reasoning_tokens: 0
511
+ rejected_prediction_tokens: 0
512
+ prompt_tokens: 374
513
+ prompt_tokens_details:
514
+ audio_tokens: 0
515
+ cached_tokens: 0
516
+ total_tokens: 384
517
+ status:
518
+ code: 200
519
+ message: OK
520
+ version: 1
@@ -23,8 +23,7 @@ from pytest_mock import MockerFixture
23
23
  from vcr import VCR, request as vcr_request
24
24
 
25
25
  import pydantic_ai.models
26
- from pydantic_ai import Agent
27
- from pydantic_ai.messages import BinaryContent
26
+ from pydantic_ai import Agent, BinaryContent
28
27
  from pydantic_ai.models import Model, cached_async_http_client
29
28
 
30
29
  __all__ = 'IsDatetime', 'IsFloat', 'IsNow', 'IsStr', 'IsInt', 'IsInstance', 'TestEnv', 'ClientWithHandler', 'try_import'
@@ -339,6 +338,13 @@ def document_content(assets_path: Path) -> BinaryContent:
339
338
  return BinaryContent(data=pdf_bytes, media_type='application/pdf')
340
339
 
341
340
 
341
+ @pytest.fixture(scope='session')
342
+ def text_document_content(assets_path: Path) -> BinaryContent:
343
+ content = assets_path.joinpath('dummy.txt').read_text()
344
+ bin_content = BinaryContent(data=content.encode(), media_type='text/plain')
345
+ return bin_content
346
+
347
+
342
348
  @pytest.fixture(scope='session')
343
349
  def deepseek_api_key() -> str:
344
350
  return os.getenv('DEEPSEEK_API_KEY', 'mock-api-key')
@@ -764,6 +764,7 @@ async def test_genai_attribute_collection(example_dataset: Dataset[TaskInput, Ta
764
764
  'gen_ai.usage.input_tokens': 1,
765
765
  'gen_ai.usage.details.special_tokens': 2,
766
766
  'other_attribute': 3,
767
+ 'operation.cost': 1.23,
767
768
  },
768
769
  ):
769
770
  with logfire.span('some other span'):
@@ -779,7 +780,7 @@ async def test_genai_attribute_collection(example_dataset: Dataset[TaskInput, Ta
779
780
  metadata=TaskMetadata(difficulty='easy', category='general'),
780
781
  expected_output=TaskOutput(answer='4', confidence=1.0),
781
782
  output=TaskOutput(answer='answer to What is 2+2?', confidence=1.0),
782
- metrics={'requests': 1, 'input_tokens': 1, 'special_tokens': 2},
783
+ metrics={'cost': 1.23, 'requests': 1, 'input_tokens': 1, 'special_tokens': 2},
783
784
  attributes={},
784
785
  scores={},
785
786
  labels={},
@@ -795,7 +796,7 @@ async def test_genai_attribute_collection(example_dataset: Dataset[TaskInput, Ta
795
796
  metadata=TaskMetadata(difficulty='medium', category='geography'),
796
797
  expected_output=TaskOutput(answer='Paris', confidence=1.0),
797
798
  output=TaskOutput(answer='answer to What is the capital of France?', confidence=1.0),
798
- metrics={'requests': 1, 'input_tokens': 1, 'special_tokens': 2},
799
+ metrics={'cost': 1.23, 'requests': 1, 'input_tokens': 1, 'special_tokens': 2},
799
800
  attributes={},
800
801
  scores={},
801
802
  labels={},
@@ -8,7 +8,7 @@ from inline_snapshot import snapshot
8
8
  from pydantic import BaseModel, TypeAdapter
9
9
  from pydantic_core import to_jsonable_python
10
10
 
11
- from pydantic_ai.messages import ModelMessage, ModelResponse
11
+ from pydantic_ai import ModelMessage, ModelResponse
12
12
  from pydantic_ai.models import Model, ModelRequestParameters
13
13
  from pydantic_ai.settings import ModelSettings
14
14
 
@@ -6,6 +6,7 @@ from mcp.server.fastmcp import Context, FastMCP, Image
6
6
  from mcp.server.session import ServerSession
7
7
  from mcp.types import (
8
8
  BlobResourceContents,
9
+ CreateMessageResult,
9
10
  EmbeddedResource,
10
11
  ResourceLink,
11
12
  SamplingMessage,
@@ -135,6 +136,11 @@ async def get_dict() -> dict[str, Any]:
135
136
  return {'foo': 'bar', 'baz': 123}
136
137
 
137
138
 
139
+ @mcp.tool(structured_output=False)
140
+ async def get_unstructured_dict() -> dict[str, Any]:
141
+ return {'foo': 'bar', 'baz': 123}
142
+
143
+
138
144
  @mcp.tool()
139
145
  async def get_error(value: bool = False):
140
146
  if value:
@@ -186,7 +192,7 @@ async def echo_deps(ctx: Context[ServerSession, None]) -> dict[str, Any]:
186
192
 
187
193
 
188
194
  @mcp.tool()
189
- async def use_sampling(ctx: Context[ServerSession, None], foo: str) -> str:
195
+ async def use_sampling(ctx: Context[ServerSession, None], foo: str) -> CreateMessageResult:
190
196
  """Use sampling callback."""
191
197
 
192
198
  result = await ctx.session.create_message(
@@ -199,7 +205,7 @@ async def use_sampling(ctx: Context[ServerSession, None], foo: str) -> str:
199
205
  temperature=0.5,
200
206
  stop_sequences=['potato'],
201
207
  )
202
- return result.model_dump_json(indent=2)
208
+ return result
203
209
 
204
210
 
205
211
  class UserResponse(BaseModel):