pydantic-ai 1.3.0__tar.gz → 1.4.0__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 (518) hide show
  1. {pydantic_ai-1.3.0 → pydantic_ai-1.4.0}/PKG-INFO +5 -5
  2. pydantic_ai-1.4.0/tests/models/cassettes/test_anthropic/test_anthropic_mcp_servers.yaml +401 -0
  3. pydantic_ai-1.4.0/tests/models/cassettes/test_anthropic/test_anthropic_mcp_servers_stream.yaml +245 -0
  4. pydantic_ai-1.4.0/tests/models/cassettes/test_openai_responses/test_openai_responses_model_mcp_server_tool.yaml +375 -0
  5. pydantic_ai-1.4.0/tests/models/cassettes/test_openai_responses/test_openai_responses_model_mcp_server_tool_stream.yaml +644 -0
  6. pydantic_ai-1.4.0/tests/models/cassettes/test_openai_responses/test_openai_responses_model_mcp_server_tool_with_connector.yaml +217 -0
  7. {pydantic_ai-1.3.0 → pydantic_ai-1.4.0}/tests/models/test_anthropic.py +513 -1
  8. {pydantic_ai-1.3.0 → pydantic_ai-1.4.0}/tests/models/test_google.py +1 -1
  9. {pydantic_ai-1.3.0 → pydantic_ai-1.4.0}/tests/models/test_model_request_parameters.py +21 -0
  10. {pydantic_ai-1.3.0 → pydantic_ai-1.4.0}/tests/models/test_openai_responses.py +798 -1
  11. {pydantic_ai-1.3.0 → pydantic_ai-1.4.0}/tests/test_a2a.py +11 -9
  12. {pydantic_ai-1.3.0 → pydantic_ai-1.4.0}/tests/test_agent.py +62 -102
  13. {pydantic_ai-1.3.0 → pydantic_ai-1.4.0}/tests/test_examples.py +7 -10
  14. {pydantic_ai-1.3.0 → pydantic_ai-1.4.0}/.gitignore +0 -0
  15. {pydantic_ai-1.3.0 → pydantic_ai-1.4.0}/LICENSE +0 -0
  16. {pydantic_ai-1.3.0 → pydantic_ai-1.4.0}/Makefile +0 -0
  17. {pydantic_ai-1.3.0 → pydantic_ai-1.4.0}/README.md +0 -0
  18. {pydantic_ai-1.3.0 → pydantic_ai-1.4.0}/pyproject.toml +0 -0
  19. {pydantic_ai-1.3.0 → pydantic_ai-1.4.0}/tests/__init__.py +0 -0
  20. {pydantic_ai-1.3.0 → pydantic_ai-1.4.0}/tests/assets/dummy.pdf +0 -0
  21. {pydantic_ai-1.3.0 → pydantic_ai-1.4.0}/tests/assets/dummy.txt +0 -0
  22. {pydantic_ai-1.3.0 → pydantic_ai-1.4.0}/tests/assets/kiwi.png +0 -0
  23. {pydantic_ai-1.3.0 → pydantic_ai-1.4.0}/tests/assets/marcelo.mp3 +0 -0
  24. {pydantic_ai-1.3.0 → pydantic_ai-1.4.0}/tests/assets/product_name.txt +0 -0
  25. {pydantic_ai-1.3.0 → pydantic_ai-1.4.0}/tests/assets/small_video.mp4 +0 -0
  26. {pydantic_ai-1.3.0 → pydantic_ai-1.4.0}/tests/cassettes/test_dbos/test_complex_agent_run.yaml +0 -0
  27. {pydantic_ai-1.3.0 → pydantic_ai-1.4.0}/tests/cassettes/test_dbos/test_complex_agent_run_in_workflow.yaml +0 -0
  28. {pydantic_ai-1.3.0 → pydantic_ai-1.4.0}/tests/cassettes/test_dbos/test_complex_agent_run_stream_in_workflow.yaml +0 -0
  29. {pydantic_ai-1.3.0 → pydantic_ai-1.4.0}/tests/cassettes/test_dbos/test_dbos_agent_iter.yaml +0 -0
  30. {pydantic_ai-1.3.0 → pydantic_ai-1.4.0}/tests/cassettes/test_dbos/test_dbos_agent_iter_in_workflow.yaml +0 -0
  31. {pydantic_ai-1.3.0 → pydantic_ai-1.4.0}/tests/cassettes/test_dbos/test_dbos_agent_override_deps_in_workflow.yaml +0 -0
  32. {pydantic_ai-1.3.0 → pydantic_ai-1.4.0}/tests/cassettes/test_dbos/test_dbos_agent_override_tools_in_workflow.yaml +0 -0
  33. {pydantic_ai-1.3.0 → pydantic_ai-1.4.0}/tests/cassettes/test_dbos/test_dbos_agent_run.yaml +0 -0
  34. {pydantic_ai-1.3.0 → pydantic_ai-1.4.0}/tests/cassettes/test_dbos/test_dbos_agent_run_in_workflow_with_toolsets.yaml +0 -0
  35. {pydantic_ai-1.3.0 → pydantic_ai-1.4.0}/tests/cassettes/test_dbos/test_dbos_agent_run_stream.yaml +0 -0
  36. {pydantic_ai-1.3.0 → pydantic_ai-1.4.0}/tests/cassettes/test_dbos/test_dbos_agent_run_sync.yaml +0 -0
  37. {pydantic_ai-1.3.0 → pydantic_ai-1.4.0}/tests/cassettes/test_dbos/test_dbos_agent_run_sync_in_workflow.yaml +0 -0
  38. {pydantic_ai-1.3.0 → pydantic_ai-1.4.0}/tests/cassettes/test_dbos/test_dbos_agent_with_dataclass_deps_as_dict.yaml +0 -0
  39. {pydantic_ai-1.3.0 → pydantic_ai-1.4.0}/tests/cassettes/test_dbos/test_dbos_agent_with_hitl_tool.yaml +0 -0
  40. {pydantic_ai-1.3.0 → pydantic_ai-1.4.0}/tests/cassettes/test_dbos/test_dbos_agent_with_hitl_tool_sync.yaml +0 -0
  41. {pydantic_ai-1.3.0 → pydantic_ai-1.4.0}/tests/cassettes/test_dbos/test_dbos_agent_with_model_retry.yaml +0 -0
  42. {pydantic_ai-1.3.0 → pydantic_ai-1.4.0}/tests/cassettes/test_dbos/test_dbos_agent_with_non_dict_deps.yaml +0 -0
  43. {pydantic_ai-1.3.0 → pydantic_ai-1.4.0}/tests/cassettes/test_dbos/test_dbos_agent_with_unserializable_deps_type.yaml +0 -0
  44. {pydantic_ai-1.3.0 → pydantic_ai-1.4.0}/tests/cassettes/test_dbos/test_dbos_model_stream_direct.yaml +0 -0
  45. {pydantic_ai-1.3.0 → pydantic_ai-1.4.0}/tests/cassettes/test_dbos/test_multiple_agents.yaml +0 -0
  46. {pydantic_ai-1.3.0 → pydantic_ai-1.4.0}/tests/cassettes/test_dbos/test_simple_agent_run_in_workflow.yaml +0 -0
  47. {pydantic_ai-1.3.0 → pydantic_ai-1.4.0}/tests/cassettes/test_mcp/test_agent_with_server_not_running.yaml +0 -0
  48. {pydantic_ai-1.3.0 → pydantic_ai-1.4.0}/tests/cassettes/test_mcp/test_agent_with_stdio_server.yaml +0 -0
  49. {pydantic_ai-1.3.0 → pydantic_ai-1.4.0}/tests/cassettes/test_mcp/test_tool_returning_audio_resource.yaml +0 -0
  50. {pydantic_ai-1.3.0 → pydantic_ai-1.4.0}/tests/cassettes/test_mcp/test_tool_returning_audio_resource_link.yaml +0 -0
  51. {pydantic_ai-1.3.0 → pydantic_ai-1.4.0}/tests/cassettes/test_mcp/test_tool_returning_dict.yaml +0 -0
  52. {pydantic_ai-1.3.0 → pydantic_ai-1.4.0}/tests/cassettes/test_mcp/test_tool_returning_error.yaml +0 -0
  53. {pydantic_ai-1.3.0 → pydantic_ai-1.4.0}/tests/cassettes/test_mcp/test_tool_returning_image.yaml +0 -0
  54. {pydantic_ai-1.3.0 → pydantic_ai-1.4.0}/tests/cassettes/test_mcp/test_tool_returning_image_resource.yaml +0 -0
  55. {pydantic_ai-1.3.0 → pydantic_ai-1.4.0}/tests/cassettes/test_mcp/test_tool_returning_image_resource_link.yaml +0 -0
  56. {pydantic_ai-1.3.0 → pydantic_ai-1.4.0}/tests/cassettes/test_mcp/test_tool_returning_multiple_items.yaml +0 -0
  57. {pydantic_ai-1.3.0 → pydantic_ai-1.4.0}/tests/cassettes/test_mcp/test_tool_returning_none.yaml +0 -0
  58. {pydantic_ai-1.3.0 → pydantic_ai-1.4.0}/tests/cassettes/test_mcp/test_tool_returning_str.yaml +0 -0
  59. {pydantic_ai-1.3.0 → pydantic_ai-1.4.0}/tests/cassettes/test_mcp/test_tool_returning_text_resource.yaml +0 -0
  60. {pydantic_ai-1.3.0 → pydantic_ai-1.4.0}/tests/cassettes/test_mcp/test_tool_returning_text_resource_link.yaml +0 -0
  61. {pydantic_ai-1.3.0 → pydantic_ai-1.4.0}/tests/cassettes/test_mcp/test_tool_returning_unstructured_dict.yaml +0 -0
  62. {pydantic_ai-1.3.0 → pydantic_ai-1.4.0}/tests/cassettes/test_prefect/test_complex_agent_run_in_flow.yaml +0 -0
  63. {pydantic_ai-1.3.0 → pydantic_ai-1.4.0}/tests/cassettes/test_prefect/test_iter_in_flow.yaml +0 -0
  64. {pydantic_ai-1.3.0 → pydantic_ai-1.4.0}/tests/cassettes/test_prefect/test_multiple_agents.yaml +0 -0
  65. {pydantic_ai-1.3.0 → pydantic_ai-1.4.0}/tests/cassettes/test_prefect/test_prefect_agent_iter.yaml +0 -0
  66. {pydantic_ai-1.3.0 → pydantic_ai-1.4.0}/tests/cassettes/test_prefect/test_prefect_agent_override_deps.yaml +0 -0
  67. {pydantic_ai-1.3.0 → pydantic_ai-1.4.0}/tests/cassettes/test_prefect/test_prefect_agent_override_tools.yaml +0 -0
  68. {pydantic_ai-1.3.0 → pydantic_ai-1.4.0}/tests/cassettes/test_prefect/test_prefect_agent_override_toolsets.yaml +0 -0
  69. {pydantic_ai-1.3.0 → pydantic_ai-1.4.0}/tests/cassettes/test_prefect/test_prefect_agent_run.yaml +0 -0
  70. {pydantic_ai-1.3.0 → pydantic_ai-1.4.0}/tests/cassettes/test_prefect/test_prefect_agent_run_stream.yaml +0 -0
  71. {pydantic_ai-1.3.0 → pydantic_ai-1.4.0}/tests/cassettes/test_prefect/test_prefect_agent_run_stream_events.yaml +0 -0
  72. {pydantic_ai-1.3.0 → pydantic_ai-1.4.0}/tests/cassettes/test_prefect/test_prefect_agent_run_sync.yaml +0 -0
  73. {pydantic_ai-1.3.0 → pydantic_ai-1.4.0}/tests/cassettes/test_prefect/test_prefect_agent_with_hitl_tool.yaml +0 -0
  74. {pydantic_ai-1.3.0 → pydantic_ai-1.4.0}/tests/cassettes/test_prefect/test_prefect_agent_with_hitl_tool_sync.yaml +0 -0
  75. {pydantic_ai-1.3.0 → pydantic_ai-1.4.0}/tests/cassettes/test_prefect/test_prefect_agent_with_model_retry.yaml +0 -0
  76. {pydantic_ai-1.3.0 → pydantic_ai-1.4.0}/tests/cassettes/test_prefect/test_prefect_agent_with_unserializable_deps.yaml +0 -0
  77. {pydantic_ai-1.3.0 → pydantic_ai-1.4.0}/tests/cassettes/test_prefect/test_run_stream_in_flow.yaml +0 -0
  78. {pydantic_ai-1.3.0 → pydantic_ai-1.4.0}/tests/cassettes/test_prefect/test_run_sync_in_flow.yaml +0 -0
  79. {pydantic_ai-1.3.0 → pydantic_ai-1.4.0}/tests/cassettes/test_prefect/test_simple_agent_run_in_flow.yaml +0 -0
  80. {pydantic_ai-1.3.0 → pydantic_ai-1.4.0}/tests/cassettes/test_settings/test_stop_settings[anthropic].yaml +0 -0
  81. {pydantic_ai-1.3.0 → pydantic_ai-1.4.0}/tests/cassettes/test_settings/test_stop_settings[bedrock].yaml +0 -0
  82. {pydantic_ai-1.3.0 → pydantic_ai-1.4.0}/tests/cassettes/test_settings/test_stop_settings[cohere].yaml +0 -0
  83. {pydantic_ai-1.3.0 → pydantic_ai-1.4.0}/tests/cassettes/test_settings/test_stop_settings[gemini].yaml +0 -0
  84. {pydantic_ai-1.3.0 → pydantic_ai-1.4.0}/tests/cassettes/test_settings/test_stop_settings[google].yaml +0 -0
  85. {pydantic_ai-1.3.0 → pydantic_ai-1.4.0}/tests/cassettes/test_settings/test_stop_settings[groq].yaml +0 -0
  86. {pydantic_ai-1.3.0 → pydantic_ai-1.4.0}/tests/cassettes/test_settings/test_stop_settings[mistral].yaml +0 -0
  87. {pydantic_ai-1.3.0 → pydantic_ai-1.4.0}/tests/cassettes/test_settings/test_stop_settings[openai].yaml +0 -0
  88. {pydantic_ai-1.3.0 → pydantic_ai-1.4.0}/tests/cassettes/test_temporal/test_complex_agent_run.yaml +0 -0
  89. {pydantic_ai-1.3.0 → pydantic_ai-1.4.0}/tests/cassettes/test_temporal/test_complex_agent_run_in_workflow.yaml +0 -0
  90. {pydantic_ai-1.3.0 → pydantic_ai-1.4.0}/tests/cassettes/test_temporal/test_complex_agent_run_stream_in_workflow.yaml +0 -0
  91. {pydantic_ai-1.3.0 → pydantic_ai-1.4.0}/tests/cassettes/test_temporal/test_logfire_plugin.yaml +0 -0
  92. {pydantic_ai-1.3.0 → pydantic_ai-1.4.0}/tests/cassettes/test_temporal/test_multiple_agents.yaml +0 -0
  93. {pydantic_ai-1.3.0 → pydantic_ai-1.4.0}/tests/cassettes/test_temporal/test_simple_agent_run_in_workflow.yaml +0 -0
  94. {pydantic_ai-1.3.0 → pydantic_ai-1.4.0}/tests/cassettes/test_temporal/test_temporal_agent_iter.yaml +0 -0
  95. {pydantic_ai-1.3.0 → pydantic_ai-1.4.0}/tests/cassettes/test_temporal/test_temporal_agent_override_deps_in_workflow.yaml +0 -0
  96. {pydantic_ai-1.3.0 → pydantic_ai-1.4.0}/tests/cassettes/test_temporal/test_temporal_agent_run.yaml +0 -0
  97. {pydantic_ai-1.3.0 → pydantic_ai-1.4.0}/tests/cassettes/test_temporal/test_temporal_agent_run_stream.yaml +0 -0
  98. {pydantic_ai-1.3.0 → pydantic_ai-1.4.0}/tests/cassettes/test_temporal/test_temporal_agent_run_stream_events.yaml +0 -0
  99. {pydantic_ai-1.3.0 → pydantic_ai-1.4.0}/tests/cassettes/test_temporal/test_temporal_agent_run_sync.yaml +0 -0
  100. {pydantic_ai-1.3.0 → pydantic_ai-1.4.0}/tests/cassettes/test_temporal/test_temporal_agent_sync_tool_activity_disabled.yaml +0 -0
  101. {pydantic_ai-1.3.0 → pydantic_ai-1.4.0}/tests/cassettes/test_temporal/test_temporal_agent_with_dataclass_deps_as_dict.yaml +0 -0
  102. {pydantic_ai-1.3.0 → pydantic_ai-1.4.0}/tests/cassettes/test_temporal/test_temporal_agent_with_hitl_tool.yaml +0 -0
  103. {pydantic_ai-1.3.0 → pydantic_ai-1.4.0}/tests/cassettes/test_temporal/test_temporal_agent_with_model_retry.yaml +0 -0
  104. {pydantic_ai-1.3.0 → pydantic_ai-1.4.0}/tests/cassettes/test_temporal/test_temporal_agent_with_non_dict_deps.yaml +0 -0
  105. {pydantic_ai-1.3.0 → pydantic_ai-1.4.0}/tests/cassettes/test_temporal/test_temporal_agent_with_unserializable_deps_type.yaml +0 -0
  106. {pydantic_ai-1.3.0 → pydantic_ai-1.4.0}/tests/cassettes/test_temporal/test_web_search_agent_run_in_workflow.yaml +0 -0
  107. {pydantic_ai-1.3.0 → pydantic_ai-1.4.0}/tests/conftest.py +0 -0
  108. {pydantic_ai-1.3.0 → pydantic_ai-1.4.0}/tests/evals/__init__.py +0 -0
  109. {pydantic_ai-1.3.0 → pydantic_ai-1.4.0}/tests/evals/test_dataset.py +0 -0
  110. {pydantic_ai-1.3.0 → pydantic_ai-1.4.0}/tests/evals/test_evaluator_base.py +0 -0
  111. {pydantic_ai-1.3.0 → pydantic_ai-1.4.0}/tests/evals/test_evaluator_common.py +0 -0
  112. {pydantic_ai-1.3.0 → pydantic_ai-1.4.0}/tests/evals/test_evaluator_context.py +0 -0
  113. {pydantic_ai-1.3.0 → pydantic_ai-1.4.0}/tests/evals/test_evaluator_spec.py +0 -0
  114. {pydantic_ai-1.3.0 → pydantic_ai-1.4.0}/tests/evals/test_evaluators.py +0 -0
  115. {pydantic_ai-1.3.0 → pydantic_ai-1.4.0}/tests/evals/test_llm_as_a_judge.py +0 -0
  116. {pydantic_ai-1.3.0 → pydantic_ai-1.4.0}/tests/evals/test_otel.py +0 -0
  117. {pydantic_ai-1.3.0 → pydantic_ai-1.4.0}/tests/evals/test_render_numbers.py +0 -0
  118. {pydantic_ai-1.3.0 → pydantic_ai-1.4.0}/tests/evals/test_reporting.py +0 -0
  119. {pydantic_ai-1.3.0 → pydantic_ai-1.4.0}/tests/evals/test_reports.py +0 -0
  120. {pydantic_ai-1.3.0 → pydantic_ai-1.4.0}/tests/evals/test_utils.py +0 -0
  121. {pydantic_ai-1.3.0 → pydantic_ai-1.4.0}/tests/evals/utils.py +0 -0
  122. {pydantic_ai-1.3.0 → pydantic_ai-1.4.0}/tests/example_modules/README.md +0 -0
  123. {pydantic_ai-1.3.0 → pydantic_ai-1.4.0}/tests/example_modules/bank_database.py +0 -0
  124. {pydantic_ai-1.3.0 → pydantic_ai-1.4.0}/tests/example_modules/fake_database.py +0 -0
  125. {pydantic_ai-1.3.0 → pydantic_ai-1.4.0}/tests/example_modules/mcp_server.py +0 -0
  126. {pydantic_ai-1.3.0 → pydantic_ai-1.4.0}/tests/example_modules/weather_service.py +0 -0
  127. {pydantic_ai-1.3.0 → pydantic_ai-1.4.0}/tests/ext/__init__.py +0 -0
  128. {pydantic_ai-1.3.0 → pydantic_ai-1.4.0}/tests/ext/test_langchain.py +0 -0
  129. {pydantic_ai-1.3.0 → pydantic_ai-1.4.0}/tests/graph/__init__.py +0 -0
  130. {pydantic_ai-1.3.0 → pydantic_ai-1.4.0}/tests/graph/test_file_persistence.py +0 -0
  131. {pydantic_ai-1.3.0 → pydantic_ai-1.4.0}/tests/graph/test_graph.py +0 -0
  132. {pydantic_ai-1.3.0 → pydantic_ai-1.4.0}/tests/graph/test_mermaid.py +0 -0
  133. {pydantic_ai-1.3.0 → pydantic_ai-1.4.0}/tests/graph/test_persistence.py +0 -0
  134. {pydantic_ai-1.3.0 → pydantic_ai-1.4.0}/tests/graph/test_state.py +0 -0
  135. {pydantic_ai-1.3.0 → pydantic_ai-1.4.0}/tests/graph/test_utils.py +0 -0
  136. {pydantic_ai-1.3.0 → pydantic_ai-1.4.0}/tests/import_examples.py +0 -0
  137. {pydantic_ai-1.3.0 → pydantic_ai-1.4.0}/tests/json_body_serializer.py +0 -0
  138. {pydantic_ai-1.3.0 → pydantic_ai-1.4.0}/tests/mcp_server.py +0 -0
  139. {pydantic_ai-1.3.0 → pydantic_ai-1.4.0}/tests/models/__init__.py +0 -0
  140. {pydantic_ai-1.3.0 → pydantic_ai-1.4.0}/tests/models/cassettes/test_anthropic/test_anthropic_code_execution_tool.yaml +0 -0
  141. {pydantic_ai-1.3.0 → pydantic_ai-1.4.0}/tests/models/cassettes/test_anthropic/test_anthropic_code_execution_tool_stream.yaml +0 -0
  142. {pydantic_ai-1.3.0 → pydantic_ai-1.4.0}/tests/models/cassettes/test_anthropic/test_anthropic_memory_tool.yaml +0 -0
  143. {pydantic_ai-1.3.0 → pydantic_ai-1.4.0}/tests/models/cassettes/test_anthropic/test_anthropic_model_empty_message_on_history.yaml +0 -0
  144. {pydantic_ai-1.3.0 → pydantic_ai-1.4.0}/tests/models/cassettes/test_anthropic/test_anthropic_model_instructions.yaml +0 -0
  145. {pydantic_ai-1.3.0 → pydantic_ai-1.4.0}/tests/models/cassettes/test_anthropic/test_anthropic_model_thinking_part.yaml +0 -0
  146. {pydantic_ai-1.3.0 → pydantic_ai-1.4.0}/tests/models/cassettes/test_anthropic/test_anthropic_model_thinking_part_from_other_model.yaml +0 -0
  147. {pydantic_ai-1.3.0 → pydantic_ai-1.4.0}/tests/models/cassettes/test_anthropic/test_anthropic_model_thinking_part_redacted.yaml +0 -0
  148. {pydantic_ai-1.3.0 → pydantic_ai-1.4.0}/tests/models/cassettes/test_anthropic/test_anthropic_model_thinking_part_redacted_stream.yaml +0 -0
  149. {pydantic_ai-1.3.0 → pydantic_ai-1.4.0}/tests/models/cassettes/test_anthropic/test_anthropic_model_thinking_part_stream.yaml +0 -0
  150. {pydantic_ai-1.3.0 → pydantic_ai-1.4.0}/tests/models/cassettes/test_anthropic/test_anthropic_model_web_search_tool_stream.yaml +0 -0
  151. {pydantic_ai-1.3.0 → pydantic_ai-1.4.0}/tests/models/cassettes/test_anthropic/test_anthropic_output_tool_with_thinking.yaml +0 -0
  152. {pydantic_ai-1.3.0 → pydantic_ai-1.4.0}/tests/models/cassettes/test_anthropic/test_anthropic_prompted_output.yaml +0 -0
  153. {pydantic_ai-1.3.0 → pydantic_ai-1.4.0}/tests/models/cassettes/test_anthropic/test_anthropic_prompted_output_multiple.yaml +0 -0
  154. {pydantic_ai-1.3.0 → pydantic_ai-1.4.0}/tests/models/cassettes/test_anthropic/test_anthropic_server_tool_pass_history_to_another_provider.yaml +0 -0
  155. {pydantic_ai-1.3.0 → pydantic_ai-1.4.0}/tests/models/cassettes/test_anthropic/test_anthropic_server_tool_receive_history_from_another_provider.yaml +0 -0
  156. {pydantic_ai-1.3.0 → pydantic_ai-1.4.0}/tests/models/cassettes/test_anthropic/test_anthropic_text_output_function.yaml +0 -0
  157. {pydantic_ai-1.3.0 → pydantic_ai-1.4.0}/tests/models/cassettes/test_anthropic/test_anthropic_text_parts_ahead_of_built_in_tool_call.yaml +0 -0
  158. {pydantic_ai-1.3.0 → pydantic_ai-1.4.0}/tests/models/cassettes/test_anthropic/test_anthropic_tool_output.yaml +0 -0
  159. {pydantic_ai-1.3.0 → pydantic_ai-1.4.0}/tests/models/cassettes/test_anthropic/test_anthropic_tool_with_thinking.yaml +0 -0
  160. {pydantic_ai-1.3.0 → pydantic_ai-1.4.0}/tests/models/cassettes/test_anthropic/test_anthropic_web_search_tool.yaml +0 -0
  161. {pydantic_ai-1.3.0 → pydantic_ai-1.4.0}/tests/models/cassettes/test_anthropic/test_anthropic_web_search_tool_stream.yaml +0 -0
  162. {pydantic_ai-1.3.0 → pydantic_ai-1.4.0}/tests/models/cassettes/test_anthropic/test_document_binary_content_input.yaml +0 -0
  163. {pydantic_ai-1.3.0 → pydantic_ai-1.4.0}/tests/models/cassettes/test_anthropic/test_document_url_input.yaml +0 -0
  164. {pydantic_ai-1.3.0 → pydantic_ai-1.4.0}/tests/models/cassettes/test_anthropic/test_extra_headers.yaml +0 -0
  165. {pydantic_ai-1.3.0 → pydantic_ai-1.4.0}/tests/models/cassettes/test_anthropic/test_image_as_binary_content_tool_response.yaml +0 -0
  166. {pydantic_ai-1.3.0 → pydantic_ai-1.4.0}/tests/models/cassettes/test_anthropic/test_image_url_input.yaml +0 -0
  167. {pydantic_ai-1.3.0 → pydantic_ai-1.4.0}/tests/models/cassettes/test_anthropic/test_image_url_input_invalid_mime_type.yaml +0 -0
  168. {pydantic_ai-1.3.0 → pydantic_ai-1.4.0}/tests/models/cassettes/test_anthropic/test_multiple_parallel_tool_calls.yaml +0 -0
  169. {pydantic_ai-1.3.0 → pydantic_ai-1.4.0}/tests/models/cassettes/test_anthropic/test_text_document_url_input.yaml +0 -0
  170. {pydantic_ai-1.3.0 → pydantic_ai-1.4.0}/tests/models/cassettes/test_bedrock/test_bedrock_anthropic_tool_with_thinking.yaml +0 -0
  171. {pydantic_ai-1.3.0 → pydantic_ai-1.4.0}/tests/models/cassettes/test_bedrock/test_bedrock_empty_system_prompt.yaml +0 -0
  172. {pydantic_ai-1.3.0 → pydantic_ai-1.4.0}/tests/models/cassettes/test_bedrock/test_bedrock_model.yaml +0 -0
  173. {pydantic_ai-1.3.0 → pydantic_ai-1.4.0}/tests/models/cassettes/test_bedrock/test_bedrock_model_anthropic_model_without_tools.yaml +0 -0
  174. {pydantic_ai-1.3.0 → pydantic_ai-1.4.0}/tests/models/cassettes/test_bedrock/test_bedrock_model_guardrail_config.yaml +0 -0
  175. {pydantic_ai-1.3.0 → pydantic_ai-1.4.0}/tests/models/cassettes/test_bedrock/test_bedrock_model_instructions.yaml +0 -0
  176. {pydantic_ai-1.3.0 → pydantic_ai-1.4.0}/tests/models/cassettes/test_bedrock/test_bedrock_model_iter_stream.yaml +0 -0
  177. {pydantic_ai-1.3.0 → pydantic_ai-1.4.0}/tests/models/cassettes/test_bedrock/test_bedrock_model_max_tokens.yaml +0 -0
  178. {pydantic_ai-1.3.0 → pydantic_ai-1.4.0}/tests/models/cassettes/test_bedrock/test_bedrock_model_other_parameters.yaml +0 -0
  179. {pydantic_ai-1.3.0 → pydantic_ai-1.4.0}/tests/models/cassettes/test_bedrock/test_bedrock_model_performance_config.yaml +0 -0
  180. {pydantic_ai-1.3.0 → pydantic_ai-1.4.0}/tests/models/cassettes/test_bedrock/test_bedrock_model_retry.yaml +0 -0
  181. {pydantic_ai-1.3.0 → pydantic_ai-1.4.0}/tests/models/cassettes/test_bedrock/test_bedrock_model_stream.yaml +0 -0
  182. {pydantic_ai-1.3.0 → pydantic_ai-1.4.0}/tests/models/cassettes/test_bedrock/test_bedrock_model_stream_empty_text_delta.yaml +0 -0
  183. {pydantic_ai-1.3.0 → pydantic_ai-1.4.0}/tests/models/cassettes/test_bedrock/test_bedrock_model_structured_output.yaml +0 -0
  184. {pydantic_ai-1.3.0 → pydantic_ai-1.4.0}/tests/models/cassettes/test_bedrock/test_bedrock_model_thinking_part_anthropic.yaml +0 -0
  185. {pydantic_ai-1.3.0 → pydantic_ai-1.4.0}/tests/models/cassettes/test_bedrock/test_bedrock_model_thinking_part_deepseek.yaml +0 -0
  186. {pydantic_ai-1.3.0 → pydantic_ai-1.4.0}/tests/models/cassettes/test_bedrock/test_bedrock_model_thinking_part_from_other_model.yaml +0 -0
  187. {pydantic_ai-1.3.0 → pydantic_ai-1.4.0}/tests/models/cassettes/test_bedrock/test_bedrock_model_thinking_part_redacted.yaml +0 -0
  188. {pydantic_ai-1.3.0 → pydantic_ai-1.4.0}/tests/models/cassettes/test_bedrock/test_bedrock_model_thinking_part_redacted_stream.yaml +0 -0
  189. {pydantic_ai-1.3.0 → pydantic_ai-1.4.0}/tests/models/cassettes/test_bedrock/test_bedrock_model_thinking_part_stream.yaml +0 -0
  190. {pydantic_ai-1.3.0 → pydantic_ai-1.4.0}/tests/models/cassettes/test_bedrock/test_bedrock_model_top_p.yaml +0 -0
  191. {pydantic_ai-1.3.0 → pydantic_ai-1.4.0}/tests/models/cassettes/test_bedrock/test_bedrock_multiple_documents_in_history.yaml +0 -0
  192. {pydantic_ai-1.3.0 → pydantic_ai-1.4.0}/tests/models/cassettes/test_bedrock/test_document_url_input.yaml +0 -0
  193. {pydantic_ai-1.3.0 → pydantic_ai-1.4.0}/tests/models/cassettes/test_bedrock/test_image_as_binary_content_input.yaml +0 -0
  194. {pydantic_ai-1.3.0 → pydantic_ai-1.4.0}/tests/models/cassettes/test_bedrock/test_image_url_input.yaml +0 -0
  195. {pydantic_ai-1.3.0 → pydantic_ai-1.4.0}/tests/models/cassettes/test_bedrock/test_text_as_binary_content_input.yaml +0 -0
  196. {pydantic_ai-1.3.0 → pydantic_ai-1.4.0}/tests/models/cassettes/test_bedrock/test_text_document_url_input.yaml +0 -0
  197. {pydantic_ai-1.3.0 → pydantic_ai-1.4.0}/tests/models/cassettes/test_bedrock/test_video_as_binary_content_input.yaml +0 -0
  198. {pydantic_ai-1.3.0 → pydantic_ai-1.4.0}/tests/models/cassettes/test_bedrock/test_video_url_input.yaml +0 -0
  199. {pydantic_ai-1.3.0 → pydantic_ai-1.4.0}/tests/models/cassettes/test_cohere/test_cohere_model_instructions.yaml +0 -0
  200. {pydantic_ai-1.3.0 → pydantic_ai-1.4.0}/tests/models/cassettes/test_cohere/test_cohere_model_thinking_part.yaml +0 -0
  201. {pydantic_ai-1.3.0 → pydantic_ai-1.4.0}/tests/models/cassettes/test_cohere/test_request_simple_success_with_vcr.yaml +0 -0
  202. {pydantic_ai-1.3.0 → pydantic_ai-1.4.0}/tests/models/cassettes/test_deepseek/test_deepseek_model_thinking_part.yaml +0 -0
  203. {pydantic_ai-1.3.0 → pydantic_ai-1.4.0}/tests/models/cassettes/test_deepseek/test_deepseek_model_thinking_stream.yaml +0 -0
  204. {pydantic_ai-1.3.0 → pydantic_ai-1.4.0}/tests/models/cassettes/test_download_item/test_download_item_application_octet_stream.yaml +0 -0
  205. {pydantic_ai-1.3.0 → pydantic_ai-1.4.0}/tests/models/cassettes/test_download_item/test_download_item_audio_mpeg.yaml +0 -0
  206. {pydantic_ai-1.3.0 → pydantic_ai-1.4.0}/tests/models/cassettes/test_download_item/test_download_item_no_content_type.yaml +0 -0
  207. {pydantic_ai-1.3.0 → pydantic_ai-1.4.0}/tests/models/cassettes/test_gemini/test_document_url_input.yaml +0 -0
  208. {pydantic_ai-1.3.0 → pydantic_ai-1.4.0}/tests/models/cassettes/test_gemini/test_gemini_additional_properties_is_false.yaml +0 -0
  209. {pydantic_ai-1.3.0 → pydantic_ai-1.4.0}/tests/models/cassettes/test_gemini/test_gemini_additional_properties_is_true.yaml +0 -0
  210. {pydantic_ai-1.3.0 → pydantic_ai-1.4.0}/tests/models/cassettes/test_gemini/test_gemini_drop_exclusive_maximum.yaml +0 -0
  211. {pydantic_ai-1.3.0 → pydantic_ai-1.4.0}/tests/models/cassettes/test_gemini/test_gemini_exclusive_minimum_and_maximum.yaml +0 -0
  212. {pydantic_ai-1.3.0 → pydantic_ai-1.4.0}/tests/models/cassettes/test_gemini/test_gemini_model_instructions.yaml +0 -0
  213. {pydantic_ai-1.3.0 → pydantic_ai-1.4.0}/tests/models/cassettes/test_gemini/test_gemini_model_thinking_part.yaml +0 -0
  214. {pydantic_ai-1.3.0 → pydantic_ai-1.4.0}/tests/models/cassettes/test_gemini/test_gemini_native_output.yaml +0 -0
  215. {pydantic_ai-1.3.0 → pydantic_ai-1.4.0}/tests/models/cassettes/test_gemini/test_gemini_native_output_multiple.yaml +0 -0
  216. {pydantic_ai-1.3.0 → pydantic_ai-1.4.0}/tests/models/cassettes/test_gemini/test_gemini_prompted_output.yaml +0 -0
  217. {pydantic_ai-1.3.0 → pydantic_ai-1.4.0}/tests/models/cassettes/test_gemini/test_gemini_prompted_output_multiple.yaml +0 -0
  218. {pydantic_ai-1.3.0 → pydantic_ai-1.4.0}/tests/models/cassettes/test_gemini/test_gemini_prompted_output_with_tools.yaml +0 -0
  219. {pydantic_ai-1.3.0 → pydantic_ai-1.4.0}/tests/models/cassettes/test_gemini/test_gemini_text_output_function.yaml +0 -0
  220. {pydantic_ai-1.3.0 → pydantic_ai-1.4.0}/tests/models/cassettes/test_gemini/test_gemini_tool_config_any_with_tool_without_args.yaml +0 -0
  221. {pydantic_ai-1.3.0 → pydantic_ai-1.4.0}/tests/models/cassettes/test_gemini/test_gemini_tool_output.yaml +0 -0
  222. {pydantic_ai-1.3.0 → pydantic_ai-1.4.0}/tests/models/cassettes/test_gemini/test_gemini_youtube_video_url_input.yaml +0 -0
  223. {pydantic_ai-1.3.0 → pydantic_ai-1.4.0}/tests/models/cassettes/test_gemini/test_image_as_binary_content_input.yaml +0 -0
  224. {pydantic_ai-1.3.0 → pydantic_ai-1.4.0}/tests/models/cassettes/test_gemini/test_image_as_binary_content_tool_response.yaml +0 -0
  225. {pydantic_ai-1.3.0 → pydantic_ai-1.4.0}/tests/models/cassettes/test_gemini/test_image_url_input.yaml +0 -0
  226. {pydantic_ai-1.3.0 → pydantic_ai-1.4.0}/tests/models/cassettes/test_gemini/test_labels_are_ignored_with_gla_provider.yaml +0 -0
  227. {pydantic_ai-1.3.0 → pydantic_ai-1.4.0}/tests/models/cassettes/test_gemini/test_video_as_binary_content_input.yaml +0 -0
  228. {pydantic_ai-1.3.0 → pydantic_ai-1.4.0}/tests/models/cassettes/test_gemini/test_video_url_input.yaml +0 -0
  229. {pydantic_ai-1.3.0 → pydantic_ai-1.4.0}/tests/models/cassettes/test_gemini_vertex/test_labels.yaml +0 -0
  230. {pydantic_ai-1.3.0 → pydantic_ai-1.4.0}/tests/models/cassettes/test_gemini_vertex/test_url_input[AudioUrl (gs)].yaml +0 -0
  231. {pydantic_ai-1.3.0 → pydantic_ai-1.4.0}/tests/models/cassettes/test_gemini_vertex/test_url_input[AudioUrl].yaml +0 -0
  232. {pydantic_ai-1.3.0 → pydantic_ai-1.4.0}/tests/models/cassettes/test_gemini_vertex/test_url_input[DocumentUrl (gs)].yaml +0 -0
  233. {pydantic_ai-1.3.0 → pydantic_ai-1.4.0}/tests/models/cassettes/test_gemini_vertex/test_url_input[DocumentUrl].yaml +0 -0
  234. {pydantic_ai-1.3.0 → pydantic_ai-1.4.0}/tests/models/cassettes/test_gemini_vertex/test_url_input[ImageUrl (gs)].yaml +0 -0
  235. {pydantic_ai-1.3.0 → pydantic_ai-1.4.0}/tests/models/cassettes/test_gemini_vertex/test_url_input[ImageUrl].yaml +0 -0
  236. {pydantic_ai-1.3.0 → pydantic_ai-1.4.0}/tests/models/cassettes/test_gemini_vertex/test_url_input[VideoUrl (YouTube)].yaml +0 -0
  237. {pydantic_ai-1.3.0 → pydantic_ai-1.4.0}/tests/models/cassettes/test_gemini_vertex/test_url_input[VideoUrl (gs)].yaml +0 -0
  238. {pydantic_ai-1.3.0 → pydantic_ai-1.4.0}/tests/models/cassettes/test_gemini_vertex/test_url_input[VideoUrl].yaml +0 -0
  239. {pydantic_ai-1.3.0 → pydantic_ai-1.4.0}/tests/models/cassettes/test_gemini_vertex/test_url_input_force_download.yaml +0 -0
  240. {pydantic_ai-1.3.0 → pydantic_ai-1.4.0}/tests/models/cassettes/test_google/test_google_builtin_tools_with_other_tools.yaml +0 -0
  241. {pydantic_ai-1.3.0 → pydantic_ai-1.4.0}/tests/models/cassettes/test_google/test_google_image_and_text_output.yaml +0 -0
  242. {pydantic_ai-1.3.0 → pydantic_ai-1.4.0}/tests/models/cassettes/test_google/test_google_image_generation.yaml +0 -0
  243. {pydantic_ai-1.3.0 → pydantic_ai-1.4.0}/tests/models/cassettes/test_google/test_google_image_generation_stream.yaml +0 -0
  244. {pydantic_ai-1.3.0 → pydantic_ai-1.4.0}/tests/models/cassettes/test_google/test_google_image_generation_with_text.yaml +0 -0
  245. {pydantic_ai-1.3.0 → pydantic_ai-1.4.0}/tests/models/cassettes/test_google/test_google_image_or_text_output.yaml +0 -0
  246. {pydantic_ai-1.3.0 → pydantic_ai-1.4.0}/tests/models/cassettes/test_google/test_google_model.yaml +0 -0
  247. {pydantic_ai-1.3.0 → pydantic_ai-1.4.0}/tests/models/cassettes/test_google/test_google_model_builtin_code_execution_stream.yaml +0 -0
  248. {pydantic_ai-1.3.0 → pydantic_ai-1.4.0}/tests/models/cassettes/test_google/test_google_model_code_execution_tool.yaml +0 -0
  249. {pydantic_ai-1.3.0 → pydantic_ai-1.4.0}/tests/models/cassettes/test_google/test_google_model_document_url_input.yaml +0 -0
  250. {pydantic_ai-1.3.0 → pydantic_ai-1.4.0}/tests/models/cassettes/test_google/test_google_model_empty_assistant_response.yaml +0 -0
  251. {pydantic_ai-1.3.0 → pydantic_ai-1.4.0}/tests/models/cassettes/test_google/test_google_model_empty_user_prompt.yaml +0 -0
  252. {pydantic_ai-1.3.0 → pydantic_ai-1.4.0}/tests/models/cassettes/test_google/test_google_model_image_as_binary_content_input.yaml +0 -0
  253. {pydantic_ai-1.3.0 → pydantic_ai-1.4.0}/tests/models/cassettes/test_google/test_google_model_image_url_input.yaml +0 -0
  254. {pydantic_ai-1.3.0 → pydantic_ai-1.4.0}/tests/models/cassettes/test_google/test_google_model_instructions.yaml +0 -0
  255. {pydantic_ai-1.3.0 → pydantic_ai-1.4.0}/tests/models/cassettes/test_google/test_google_model_iter_stream.yaml +0 -0
  256. {pydantic_ai-1.3.0 → pydantic_ai-1.4.0}/tests/models/cassettes/test_google/test_google_model_max_tokens.yaml +0 -0
  257. {pydantic_ai-1.3.0 → pydantic_ai-1.4.0}/tests/models/cassettes/test_google/test_google_model_multiple_documents_in_history.yaml +0 -0
  258. {pydantic_ai-1.3.0 → pydantic_ai-1.4.0}/tests/models/cassettes/test_google/test_google_model_receive_web_search_history_from_another_provider.yaml +0 -0
  259. {pydantic_ai-1.3.0 → pydantic_ai-1.4.0}/tests/models/cassettes/test_google/test_google_model_retry.yaml +0 -0
  260. {pydantic_ai-1.3.0 → pydantic_ai-1.4.0}/tests/models/cassettes/test_google/test_google_model_safety_settings.yaml +0 -0
  261. {pydantic_ai-1.3.0 → pydantic_ai-1.4.0}/tests/models/cassettes/test_google/test_google_model_server_tool_receive_history_from_another_provider.yaml +0 -0
  262. {pydantic_ai-1.3.0 → pydantic_ai-1.4.0}/tests/models/cassettes/test_google/test_google_model_stream.yaml +0 -0
  263. {pydantic_ai-1.3.0 → pydantic_ai-1.4.0}/tests/models/cassettes/test_google/test_google_model_structured_output.yaml +0 -0
  264. {pydantic_ai-1.3.0 → pydantic_ai-1.4.0}/tests/models/cassettes/test_google/test_google_model_text_as_binary_content_input.yaml +0 -0
  265. {pydantic_ai-1.3.0 → pydantic_ai-1.4.0}/tests/models/cassettes/test_google/test_google_model_text_document_url_input.yaml +0 -0
  266. {pydantic_ai-1.3.0 → pydantic_ai-1.4.0}/tests/models/cassettes/test_google/test_google_model_thinking_config.yaml +0 -0
  267. {pydantic_ai-1.3.0 → pydantic_ai-1.4.0}/tests/models/cassettes/test_google/test_google_model_thinking_part.yaml +0 -0
  268. {pydantic_ai-1.3.0 → pydantic_ai-1.4.0}/tests/models/cassettes/test_google/test_google_model_thinking_part_from_other_model.yaml +0 -0
  269. {pydantic_ai-1.3.0 → pydantic_ai-1.4.0}/tests/models/cassettes/test_google/test_google_model_thinking_part_iter.yaml +0 -0
  270. {pydantic_ai-1.3.0 → pydantic_ai-1.4.0}/tests/models/cassettes/test_google/test_google_model_top_p.yaml +0 -0
  271. {pydantic_ai-1.3.0 → pydantic_ai-1.4.0}/tests/models/cassettes/test_google/test_google_model_url_context_tool.yaml +0 -0
  272. {pydantic_ai-1.3.0 → pydantic_ai-1.4.0}/tests/models/cassettes/test_google/test_google_model_usage_limit_exceeded.yaml +0 -0
  273. {pydantic_ai-1.3.0 → pydantic_ai-1.4.0}/tests/models/cassettes/test_google/test_google_model_usage_limit_not_exceeded.yaml +0 -0
  274. {pydantic_ai-1.3.0 → pydantic_ai-1.4.0}/tests/models/cassettes/test_google/test_google_model_vertex_labels.yaml +0 -0
  275. {pydantic_ai-1.3.0 → pydantic_ai-1.4.0}/tests/models/cassettes/test_google/test_google_model_vertex_provider.yaml +0 -0
  276. {pydantic_ai-1.3.0 → pydantic_ai-1.4.0}/tests/models/cassettes/test_google/test_google_model_video_as_binary_content_input.yaml +0 -0
  277. {pydantic_ai-1.3.0 → pydantic_ai-1.4.0}/tests/models/cassettes/test_google/test_google_model_video_as_binary_content_input_with_vendor_metadata.yaml +0 -0
  278. {pydantic_ai-1.3.0 → pydantic_ai-1.4.0}/tests/models/cassettes/test_google/test_google_model_video_url_input.yaml +0 -0
  279. {pydantic_ai-1.3.0 → pydantic_ai-1.4.0}/tests/models/cassettes/test_google/test_google_model_web_search_tool.yaml +0 -0
  280. {pydantic_ai-1.3.0 → pydantic_ai-1.4.0}/tests/models/cassettes/test_google/test_google_model_web_search_tool_stream.yaml +0 -0
  281. {pydantic_ai-1.3.0 → pydantic_ai-1.4.0}/tests/models/cassettes/test_google/test_google_model_youtube_video_url_input_with_vendor_metadata.yaml +0 -0
  282. {pydantic_ai-1.3.0 → pydantic_ai-1.4.0}/tests/models/cassettes/test_google/test_google_multiple_images.yaml +0 -0
  283. {pydantic_ai-1.3.0 → pydantic_ai-1.4.0}/tests/models/cassettes/test_google/test_google_native_output.yaml +0 -0
  284. {pydantic_ai-1.3.0 → pydantic_ai-1.4.0}/tests/models/cassettes/test_google/test_google_native_output_multiple.yaml +0 -0
  285. {pydantic_ai-1.3.0 → pydantic_ai-1.4.0}/tests/models/cassettes/test_google/test_google_prompted_output.yaml +0 -0
  286. {pydantic_ai-1.3.0 → pydantic_ai-1.4.0}/tests/models/cassettes/test_google/test_google_prompted_output_multiple.yaml +0 -0
  287. {pydantic_ai-1.3.0 → pydantic_ai-1.4.0}/tests/models/cassettes/test_google/test_google_prompted_output_with_tools.yaml +0 -0
  288. {pydantic_ai-1.3.0 → pydantic_ai-1.4.0}/tests/models/cassettes/test_google/test_google_text_output_function.yaml +0 -0
  289. {pydantic_ai-1.3.0 → pydantic_ai-1.4.0}/tests/models/cassettes/test_google/test_google_timeout.yaml +0 -0
  290. {pydantic_ai-1.3.0 → pydantic_ai-1.4.0}/tests/models/cassettes/test_google/test_google_tool_config_any_with_tool_without_args.yaml +0 -0
  291. {pydantic_ai-1.3.0 → pydantic_ai-1.4.0}/tests/models/cassettes/test_google/test_google_tool_output.yaml +0 -0
  292. {pydantic_ai-1.3.0 → pydantic_ai-1.4.0}/tests/models/cassettes/test_google/test_google_url_input[AudioUrl (gs)].yaml +0 -0
  293. {pydantic_ai-1.3.0 → pydantic_ai-1.4.0}/tests/models/cassettes/test_google/test_google_url_input[AudioUrl].yaml +0 -0
  294. {pydantic_ai-1.3.0 → pydantic_ai-1.4.0}/tests/models/cassettes/test_google/test_google_url_input[DocumentUrl (gs)].yaml +0 -0
  295. {pydantic_ai-1.3.0 → pydantic_ai-1.4.0}/tests/models/cassettes/test_google/test_google_url_input[DocumentUrl].yaml +0 -0
  296. {pydantic_ai-1.3.0 → pydantic_ai-1.4.0}/tests/models/cassettes/test_google/test_google_url_input[ImageUrl (gs)].yaml +0 -0
  297. {pydantic_ai-1.3.0 → pydantic_ai-1.4.0}/tests/models/cassettes/test_google/test_google_url_input[ImageUrl].yaml +0 -0
  298. {pydantic_ai-1.3.0 → pydantic_ai-1.4.0}/tests/models/cassettes/test_google/test_google_url_input[VideoUrl (YouTube)].yaml +0 -0
  299. {pydantic_ai-1.3.0 → pydantic_ai-1.4.0}/tests/models/cassettes/test_google/test_google_url_input[VideoUrl (gs)].yaml +0 -0
  300. {pydantic_ai-1.3.0 → pydantic_ai-1.4.0}/tests/models/cassettes/test_google/test_google_url_input[VideoUrl].yaml +0 -0
  301. {pydantic_ai-1.3.0 → pydantic_ai-1.4.0}/tests/models/cassettes/test_google/test_google_url_input_force_download.yaml +0 -0
  302. {pydantic_ai-1.3.0 → pydantic_ai-1.4.0}/tests/models/cassettes/test_google/test_google_vertexai_image_generation.yaml +0 -0
  303. {pydantic_ai-1.3.0 → pydantic_ai-1.4.0}/tests/models/cassettes/test_google/test_google_vertexai_model_usage_limit_exceeded.yaml +0 -0
  304. {pydantic_ai-1.3.0 → pydantic_ai-1.4.0}/tests/models/cassettes/test_groq/test_extra_headers.yaml +0 -0
  305. {pydantic_ai-1.3.0 → pydantic_ai-1.4.0}/tests/models/cassettes/test_groq/test_groq_model_instructions.yaml +0 -0
  306. {pydantic_ai-1.3.0 → pydantic_ai-1.4.0}/tests/models/cassettes/test_groq/test_groq_model_thinking_part.yaml +0 -0
  307. {pydantic_ai-1.3.0 → pydantic_ai-1.4.0}/tests/models/cassettes/test_groq/test_groq_model_thinking_part_iter.yaml +0 -0
  308. {pydantic_ai-1.3.0 → pydantic_ai-1.4.0}/tests/models/cassettes/test_groq/test_groq_model_web_search_tool.yaml +0 -0
  309. {pydantic_ai-1.3.0 → pydantic_ai-1.4.0}/tests/models/cassettes/test_groq/test_groq_model_web_search_tool_stream.yaml +0 -0
  310. {pydantic_ai-1.3.0 → pydantic_ai-1.4.0}/tests/models/cassettes/test_groq/test_groq_native_output.yaml +0 -0
  311. {pydantic_ai-1.3.0 → pydantic_ai-1.4.0}/tests/models/cassettes/test_groq/test_groq_prompted_output.yaml +0 -0
  312. {pydantic_ai-1.3.0 → pydantic_ai-1.4.0}/tests/models/cassettes/test_groq/test_image_as_binary_content_input.yaml +0 -0
  313. {pydantic_ai-1.3.0 → pydantic_ai-1.4.0}/tests/models/cassettes/test_groq/test_image_as_binary_content_tool_response.yaml +0 -0
  314. {pydantic_ai-1.3.0 → pydantic_ai-1.4.0}/tests/models/cassettes/test_groq/test_image_url_input.yaml +0 -0
  315. {pydantic_ai-1.3.0 → pydantic_ai-1.4.0}/tests/models/cassettes/test_groq/test_tool_regular_error.yaml +0 -0
  316. {pydantic_ai-1.3.0 → pydantic_ai-1.4.0}/tests/models/cassettes/test_groq/test_tool_use_failed_error.yaml +0 -0
  317. {pydantic_ai-1.3.0 → pydantic_ai-1.4.0}/tests/models/cassettes/test_groq/test_tool_use_failed_error_streaming.yaml +0 -0
  318. {pydantic_ai-1.3.0 → pydantic_ai-1.4.0}/tests/models/cassettes/test_huggingface/test_hf_model_instructions.yaml +0 -0
  319. {pydantic_ai-1.3.0 → pydantic_ai-1.4.0}/tests/models/cassettes/test_huggingface/test_hf_model_thinking_part.yaml +0 -0
  320. {pydantic_ai-1.3.0 → pydantic_ai-1.4.0}/tests/models/cassettes/test_huggingface/test_hf_model_thinking_part_iter.yaml +0 -0
  321. {pydantic_ai-1.3.0 → pydantic_ai-1.4.0}/tests/models/cassettes/test_huggingface/test_image_as_binary_content_input.yaml +0 -0
  322. {pydantic_ai-1.3.0 → pydantic_ai-1.4.0}/tests/models/cassettes/test_huggingface/test_image_url_input.yaml +0 -0
  323. {pydantic_ai-1.3.0 → pydantic_ai-1.4.0}/tests/models/cassettes/test_huggingface/test_max_completion_tokens[Qwen-Qwen2.5-72B-Instruct].yaml +0 -0
  324. {pydantic_ai-1.3.0 → pydantic_ai-1.4.0}/tests/models/cassettes/test_huggingface/test_max_completion_tokens[deepseek-ai-DeepSeek-R1-0528].yaml +0 -0
  325. {pydantic_ai-1.3.0 → pydantic_ai-1.4.0}/tests/models/cassettes/test_huggingface/test_max_completion_tokens[meta-llama-Llama-3.3-70B-Instruct].yaml +0 -0
  326. {pydantic_ai-1.3.0 → pydantic_ai-1.4.0}/tests/models/cassettes/test_huggingface/test_request_simple_success_with_vcr.yaml +0 -0
  327. {pydantic_ai-1.3.0 → pydantic_ai-1.4.0}/tests/models/cassettes/test_huggingface/test_request_simple_usage.yaml +0 -0
  328. {pydantic_ai-1.3.0 → pydantic_ai-1.4.0}/tests/models/cassettes/test_huggingface/test_simple_completion.yaml +0 -0
  329. {pydantic_ai-1.3.0 → pydantic_ai-1.4.0}/tests/models/cassettes/test_huggingface/test_stream_completion.yaml +0 -0
  330. {pydantic_ai-1.3.0 → pydantic_ai-1.4.0}/tests/models/cassettes/test_mistral/test_image_as_binary_content_tool_response.yaml +0 -0
  331. {pydantic_ai-1.3.0 → pydantic_ai-1.4.0}/tests/models/cassettes/test_mistral/test_mistral_model_instructions.yaml +0 -0
  332. {pydantic_ai-1.3.0 → pydantic_ai-1.4.0}/tests/models/cassettes/test_mistral/test_mistral_model_thinking_part.yaml +0 -0
  333. {pydantic_ai-1.3.0 → pydantic_ai-1.4.0}/tests/models/cassettes/test_mistral/test_mistral_model_thinking_part_iter.yaml +0 -0
  334. {pydantic_ai-1.3.0 → pydantic_ai-1.4.0}/tests/models/cassettes/test_model_names/test_known_model_names.yaml +0 -0
  335. {pydantic_ai-1.3.0 → pydantic_ai-1.4.0}/tests/models/cassettes/test_openai/test_audio_as_binary_content_input.yaml +0 -0
  336. {pydantic_ai-1.3.0 → pydantic_ai-1.4.0}/tests/models/cassettes/test_openai/test_compatible_api_with_tool_calls_without_id.yaml +0 -0
  337. {pydantic_ai-1.3.0 → pydantic_ai-1.4.0}/tests/models/cassettes/test_openai/test_document_as_binary_content_input.yaml +0 -0
  338. {pydantic_ai-1.3.0 → pydantic_ai-1.4.0}/tests/models/cassettes/test_openai/test_document_as_binary_content_input_with_tool.yaml +0 -0
  339. {pydantic_ai-1.3.0 → pydantic_ai-1.4.0}/tests/models/cassettes/test_openai/test_document_url_input.yaml +0 -0
  340. {pydantic_ai-1.3.0 → pydantic_ai-1.4.0}/tests/models/cassettes/test_openai/test_extra_headers.yaml +0 -0
  341. {pydantic_ai-1.3.0 → pydantic_ai-1.4.0}/tests/models/cassettes/test_openai/test_image_as_binary_content_input.yaml +0 -0
  342. {pydantic_ai-1.3.0 → pydantic_ai-1.4.0}/tests/models/cassettes/test_openai/test_image_as_binary_content_tool_response.yaml +0 -0
  343. {pydantic_ai-1.3.0 → pydantic_ai-1.4.0}/tests/models/cassettes/test_openai/test_image_url_input_force_download.yaml +0 -0
  344. {pydantic_ai-1.3.0 → pydantic_ai-1.4.0}/tests/models/cassettes/test_openai/test_image_url_input_force_download_response_api.yaml +0 -0
  345. {pydantic_ai-1.3.0 → pydantic_ai-1.4.0}/tests/models/cassettes/test_openai/test_image_url_tool_response.yaml +0 -0
  346. {pydantic_ai-1.3.0 → pydantic_ai-1.4.0}/tests/models/cassettes/test_openai/test_invalid_response.yaml +0 -0
  347. {pydantic_ai-1.3.0 → pydantic_ai-1.4.0}/tests/models/cassettes/test_openai/test_max_completion_tokens[gpt-4.5-preview].yaml +0 -0
  348. {pydantic_ai-1.3.0 → pydantic_ai-1.4.0}/tests/models/cassettes/test_openai/test_max_completion_tokens[gpt-4o-mini].yaml +0 -0
  349. {pydantic_ai-1.3.0 → pydantic_ai-1.4.0}/tests/models/cassettes/test_openai/test_max_completion_tokens[o3-mini].yaml +0 -0
  350. {pydantic_ai-1.3.0 → pydantic_ai-1.4.0}/tests/models/cassettes/test_openai/test_multiple_agent_tool_calls.yaml +0 -0
  351. {pydantic_ai-1.3.0 → pydantic_ai-1.4.0}/tests/models/cassettes/test_openai/test_openai_audio_url_input.yaml +0 -0
  352. {pydantic_ai-1.3.0 → pydantic_ai-1.4.0}/tests/models/cassettes/test_openai/test_openai_instructions.yaml +0 -0
  353. {pydantic_ai-1.3.0 → pydantic_ai-1.4.0}/tests/models/cassettes/test_openai/test_openai_instructions_with_tool_calls_keep_instructions.yaml +0 -0
  354. {pydantic_ai-1.3.0 → pydantic_ai-1.4.0}/tests/models/cassettes/test_openai/test_openai_model_cerebras_provider.yaml +0 -0
  355. {pydantic_ai-1.3.0 → pydantic_ai-1.4.0}/tests/models/cassettes/test_openai/test_openai_model_cerebras_provider_harmony.yaml +0 -0
  356. {pydantic_ai-1.3.0 → pydantic_ai-1.4.0}/tests/models/cassettes/test_openai/test_openai_model_cerebras_provider_qwen_3_coder.yaml +0 -0
  357. {pydantic_ai-1.3.0 → pydantic_ai-1.4.0}/tests/models/cassettes/test_openai/test_openai_model_settings_temperature_ignored_on_gpt_5.yaml +0 -0
  358. {pydantic_ai-1.3.0 → pydantic_ai-1.4.0}/tests/models/cassettes/test_openai/test_openai_model_thinking_part.yaml +0 -0
  359. {pydantic_ai-1.3.0 → pydantic_ai-1.4.0}/tests/models/cassettes/test_openai/test_openai_model_without_system_prompt.yaml +0 -0
  360. {pydantic_ai-1.3.0 → pydantic_ai-1.4.0}/tests/models/cassettes/test_openai/test_openai_native_output.yaml +0 -0
  361. {pydantic_ai-1.3.0 → pydantic_ai-1.4.0}/tests/models/cassettes/test_openai/test_openai_native_output_multiple.yaml +0 -0
  362. {pydantic_ai-1.3.0 → pydantic_ai-1.4.0}/tests/models/cassettes/test_openai/test_openai_o1_mini_system_role[developer].yaml +0 -0
  363. {pydantic_ai-1.3.0 → pydantic_ai-1.4.0}/tests/models/cassettes/test_openai/test_openai_o1_mini_system_role[system].yaml +0 -0
  364. {pydantic_ai-1.3.0 → pydantic_ai-1.4.0}/tests/models/cassettes/test_openai/test_openai_prompted_output.yaml +0 -0
  365. {pydantic_ai-1.3.0 → pydantic_ai-1.4.0}/tests/models/cassettes/test_openai/test_openai_prompted_output_multiple.yaml +0 -0
  366. {pydantic_ai-1.3.0 → pydantic_ai-1.4.0}/tests/models/cassettes/test_openai/test_openai_text_output_function.yaml +0 -0
  367. {pydantic_ai-1.3.0 → pydantic_ai-1.4.0}/tests/models/cassettes/test_openai/test_openai_tool_output.yaml +0 -0
  368. {pydantic_ai-1.3.0 → pydantic_ai-1.4.0}/tests/models/cassettes/test_openai/test_openai_web_search_tool.yaml +0 -0
  369. {pydantic_ai-1.3.0 → pydantic_ai-1.4.0}/tests/models/cassettes/test_openai/test_openai_web_search_tool_model_not_supported.yaml +0 -0
  370. {pydantic_ai-1.3.0 → pydantic_ai-1.4.0}/tests/models/cassettes/test_openai/test_openai_web_search_tool_with_user_location.yaml +0 -0
  371. {pydantic_ai-1.3.0 → pydantic_ai-1.4.0}/tests/models/cassettes/test_openai/test_reasoning_model_with_temperature.yaml +0 -0
  372. {pydantic_ai-1.3.0 → pydantic_ai-1.4.0}/tests/models/cassettes/test_openai/test_system_prompt_role_o1_mini.yaml +0 -0
  373. {pydantic_ai-1.3.0 → pydantic_ai-1.4.0}/tests/models/cassettes/test_openai/test_text_document_as_binary_content_input.yaml +0 -0
  374. {pydantic_ai-1.3.0 → pydantic_ai-1.4.0}/tests/models/cassettes/test_openai/test_text_document_url_input.yaml +0 -0
  375. {pydantic_ai-1.3.0 → pydantic_ai-1.4.0}/tests/models/cassettes/test_openai/test_text_response.yaml +0 -0
  376. {pydantic_ai-1.3.0 → pydantic_ai-1.4.0}/tests/models/cassettes/test_openai/test_user_id.yaml +0 -0
  377. {pydantic_ai-1.3.0 → pydantic_ai-1.4.0}/tests/models/cassettes/test_openai/test_valid_response.yaml +0 -0
  378. {pydantic_ai-1.3.0 → pydantic_ai-1.4.0}/tests/models/cassettes/test_openai_responses/test_audio_as_binary_content_input.yaml +0 -0
  379. {pydantic_ai-1.3.0 → pydantic_ai-1.4.0}/tests/models/cassettes/test_openai_responses/test_image_as_binary_content_input.yaml +0 -0
  380. {pydantic_ai-1.3.0 → pydantic_ai-1.4.0}/tests/models/cassettes/test_openai_responses/test_image_as_binary_content_tool_response.yaml +0 -0
  381. {pydantic_ai-1.3.0 → pydantic_ai-1.4.0}/tests/models/cassettes/test_openai_responses/test_native_output.yaml +0 -0
  382. {pydantic_ai-1.3.0 → pydantic_ai-1.4.0}/tests/models/cassettes/test_openai_responses/test_native_output_multiple.yaml +0 -0
  383. {pydantic_ai-1.3.0 → pydantic_ai-1.4.0}/tests/models/cassettes/test_openai_responses/test_openai_previous_response_id.yaml +0 -0
  384. {pydantic_ai-1.3.0 → pydantic_ai-1.4.0}/tests/models/cassettes/test_openai_responses/test_openai_previous_response_id_auto_mode.yaml +0 -0
  385. {pydantic_ai-1.3.0 → pydantic_ai-1.4.0}/tests/models/cassettes/test_openai_responses/test_openai_responses_code_execution_return_image.yaml +0 -0
  386. {pydantic_ai-1.3.0 → pydantic_ai-1.4.0}/tests/models/cassettes/test_openai_responses/test_openai_responses_code_execution_return_image_stream.yaml +0 -0
  387. {pydantic_ai-1.3.0 → pydantic_ai-1.4.0}/tests/models/cassettes/test_openai_responses/test_openai_responses_document_as_binary_content_input.yaml +0 -0
  388. {pydantic_ai-1.3.0 → pydantic_ai-1.4.0}/tests/models/cassettes/test_openai_responses/test_openai_responses_document_url_input.yaml +0 -0
  389. {pydantic_ai-1.3.0 → pydantic_ai-1.4.0}/tests/models/cassettes/test_openai_responses/test_openai_responses_history_with_combined_tool_call_id.yaml +0 -0
  390. {pydantic_ai-1.3.0 → pydantic_ai-1.4.0}/tests/models/cassettes/test_openai_responses/test_openai_responses_image_and_text_output.yaml +0 -0
  391. {pydantic_ai-1.3.0 → pydantic_ai-1.4.0}/tests/models/cassettes/test_openai_responses/test_openai_responses_image_generation.yaml +0 -0
  392. {pydantic_ai-1.3.0 → pydantic_ai-1.4.0}/tests/models/cassettes/test_openai_responses/test_openai_responses_image_generation_jpeg.yaml +0 -0
  393. {pydantic_ai-1.3.0 → pydantic_ai-1.4.0}/tests/models/cassettes/test_openai_responses/test_openai_responses_image_generation_stream.yaml +0 -0
  394. {pydantic_ai-1.3.0 → pydantic_ai-1.4.0}/tests/models/cassettes/test_openai_responses/test_openai_responses_image_generation_tool_without_image_output.yaml +0 -0
  395. {pydantic_ai-1.3.0 → pydantic_ai-1.4.0}/tests/models/cassettes/test_openai_responses/test_openai_responses_image_generation_with_native_output.yaml +0 -0
  396. {pydantic_ai-1.3.0 → pydantic_ai-1.4.0}/tests/models/cassettes/test_openai_responses/test_openai_responses_image_generation_with_prompted_output.yaml +0 -0
  397. {pydantic_ai-1.3.0 → pydantic_ai-1.4.0}/tests/models/cassettes/test_openai_responses/test_openai_responses_image_generation_with_tool_output.yaml +0 -0
  398. {pydantic_ai-1.3.0 → pydantic_ai-1.4.0}/tests/models/cassettes/test_openai_responses/test_openai_responses_image_generation_with_tools.yaml +0 -0
  399. {pydantic_ai-1.3.0 → pydantic_ai-1.4.0}/tests/models/cassettes/test_openai_responses/test_openai_responses_image_or_text_output.yaml +0 -0
  400. {pydantic_ai-1.3.0 → pydantic_ai-1.4.0}/tests/models/cassettes/test_openai_responses/test_openai_responses_image_url_input.yaml +0 -0
  401. {pydantic_ai-1.3.0 → pydantic_ai-1.4.0}/tests/models/cassettes/test_openai_responses/test_openai_responses_model_builtin_tools.yaml +0 -0
  402. {pydantic_ai-1.3.0 → pydantic_ai-1.4.0}/tests/models/cassettes/test_openai_responses/test_openai_responses_model_builtin_tools_web_search.yaml +0 -0
  403. {pydantic_ai-1.3.0 → pydantic_ai-1.4.0}/tests/models/cassettes/test_openai_responses/test_openai_responses_model_http_error.yaml +0 -0
  404. {pydantic_ai-1.3.0 → pydantic_ai-1.4.0}/tests/models/cassettes/test_openai_responses/test_openai_responses_model_instructions.yaml +0 -0
  405. {pydantic_ai-1.3.0 → pydantic_ai-1.4.0}/tests/models/cassettes/test_openai_responses/test_openai_responses_model_retry.yaml +0 -0
  406. {pydantic_ai-1.3.0 → pydantic_ai-1.4.0}/tests/models/cassettes/test_openai_responses/test_openai_responses_model_simple_response.yaml +0 -0
  407. {pydantic_ai-1.3.0 → pydantic_ai-1.4.0}/tests/models/cassettes/test_openai_responses/test_openai_responses_model_simple_response_with_tool_call.yaml +0 -0
  408. {pydantic_ai-1.3.0 → pydantic_ai-1.4.0}/tests/models/cassettes/test_openai_responses/test_openai_responses_model_thinking_part.yaml +0 -0
  409. {pydantic_ai-1.3.0 → pydantic_ai-1.4.0}/tests/models/cassettes/test_openai_responses/test_openai_responses_model_web_search_tool.yaml +0 -0
  410. {pydantic_ai-1.3.0 → pydantic_ai-1.4.0}/tests/models/cassettes/test_openai_responses/test_openai_responses_model_web_search_tool_stream.yaml +0 -0
  411. {pydantic_ai-1.3.0 → pydantic_ai-1.4.0}/tests/models/cassettes/test_openai_responses/test_openai_responses_model_web_search_tool_with_invalid_region.yaml +0 -0
  412. {pydantic_ai-1.3.0 → pydantic_ai-1.4.0}/tests/models/cassettes/test_openai_responses/test_openai_responses_model_web_search_tool_with_user_location.yaml +0 -0
  413. {pydantic_ai-1.3.0 → pydantic_ai-1.4.0}/tests/models/cassettes/test_openai_responses/test_openai_responses_multiple_images.yaml +0 -0
  414. {pydantic_ai-1.3.0 → pydantic_ai-1.4.0}/tests/models/cassettes/test_openai_responses/test_openai_responses_non_reasoning_model_no_item_ids.yaml +0 -0
  415. {pydantic_ai-1.3.0 → pydantic_ai-1.4.0}/tests/models/cassettes/test_openai_responses/test_openai_responses_output_type.yaml +0 -0
  416. {pydantic_ai-1.3.0 → pydantic_ai-1.4.0}/tests/models/cassettes/test_openai_responses/test_openai_responses_reasoning_effort.yaml +0 -0
  417. {pydantic_ai-1.3.0 → pydantic_ai-1.4.0}/tests/models/cassettes/test_openai_responses/test_openai_responses_reasoning_generate_summary.yaml +0 -0
  418. {pydantic_ai-1.3.0 → pydantic_ai-1.4.0}/tests/models/cassettes/test_openai_responses/test_openai_responses_stream.yaml +0 -0
  419. {pydantic_ai-1.3.0 → pydantic_ai-1.4.0}/tests/models/cassettes/test_openai_responses/test_openai_responses_streaming_usage.yaml +0 -0
  420. {pydantic_ai-1.3.0 → pydantic_ai-1.4.0}/tests/models/cassettes/test_openai_responses/test_openai_responses_system_prompt.yaml +0 -0
  421. {pydantic_ai-1.3.0 → pydantic_ai-1.4.0}/tests/models/cassettes/test_openai_responses/test_openai_responses_text_document_url_input.yaml +0 -0
  422. {pydantic_ai-1.3.0 → pydantic_ai-1.4.0}/tests/models/cassettes/test_openai_responses/test_openai_responses_thinking_part_from_other_model.yaml +0 -0
  423. {pydantic_ai-1.3.0 → pydantic_ai-1.4.0}/tests/models/cassettes/test_openai_responses/test_openai_responses_thinking_part_iter.yaml +0 -0
  424. {pydantic_ai-1.3.0 → pydantic_ai-1.4.0}/tests/models/cassettes/test_openai_responses/test_openai_responses_thinking_with_code_execution_tool.yaml +0 -0
  425. {pydantic_ai-1.3.0 → pydantic_ai-1.4.0}/tests/models/cassettes/test_openai_responses/test_openai_responses_thinking_with_code_execution_tool_stream.yaml +0 -0
  426. {pydantic_ai-1.3.0 → pydantic_ai-1.4.0}/tests/models/cassettes/test_openai_responses/test_openai_responses_thinking_with_modified_history.yaml +0 -0
  427. {pydantic_ai-1.3.0 → pydantic_ai-1.4.0}/tests/models/cassettes/test_openai_responses/test_openai_responses_thinking_with_tool_calls.yaml +0 -0
  428. {pydantic_ai-1.3.0 → pydantic_ai-1.4.0}/tests/models/cassettes/test_openai_responses/test_openai_responses_verbosity.yaml +0 -0
  429. {pydantic_ai-1.3.0 → pydantic_ai-1.4.0}/tests/models/cassettes/test_openai_responses/test_prompted_output.yaml +0 -0
  430. {pydantic_ai-1.3.0 → pydantic_ai-1.4.0}/tests/models/cassettes/test_openai_responses/test_prompted_output_multiple.yaml +0 -0
  431. {pydantic_ai-1.3.0 → pydantic_ai-1.4.0}/tests/models/cassettes/test_openai_responses/test_reasoning_model_with_temperature.yaml +0 -0
  432. {pydantic_ai-1.3.0 → pydantic_ai-1.4.0}/tests/models/cassettes/test_openai_responses/test_text_output_function.yaml +0 -0
  433. {pydantic_ai-1.3.0 → pydantic_ai-1.4.0}/tests/models/cassettes/test_openai_responses/test_tool_output.yaml +0 -0
  434. {pydantic_ai-1.3.0 → pydantic_ai-1.4.0}/tests/models/mock_async_stream.py +0 -0
  435. {pydantic_ai-1.3.0 → pydantic_ai-1.4.0}/tests/models/mock_openai.py +0 -0
  436. {pydantic_ai-1.3.0 → pydantic_ai-1.4.0}/tests/models/test_bedrock.py +0 -0
  437. {pydantic_ai-1.3.0 → pydantic_ai-1.4.0}/tests/models/test_cohere.py +0 -0
  438. {pydantic_ai-1.3.0 → pydantic_ai-1.4.0}/tests/models/test_deepseek.py +0 -0
  439. {pydantic_ai-1.3.0 → pydantic_ai-1.4.0}/tests/models/test_download_item.py +0 -0
  440. {pydantic_ai-1.3.0 → pydantic_ai-1.4.0}/tests/models/test_fallback.py +0 -0
  441. {pydantic_ai-1.3.0 → pydantic_ai-1.4.0}/tests/models/test_gemini.py +0 -0
  442. {pydantic_ai-1.3.0 → pydantic_ai-1.4.0}/tests/models/test_gemini_vertex.py +0 -0
  443. {pydantic_ai-1.3.0 → pydantic_ai-1.4.0}/tests/models/test_groq.py +0 -0
  444. {pydantic_ai-1.3.0 → pydantic_ai-1.4.0}/tests/models/test_huggingface.py +0 -0
  445. {pydantic_ai-1.3.0 → pydantic_ai-1.4.0}/tests/models/test_instrumented.py +0 -0
  446. {pydantic_ai-1.3.0 → pydantic_ai-1.4.0}/tests/models/test_mcp_sampling.py +0 -0
  447. {pydantic_ai-1.3.0 → pydantic_ai-1.4.0}/tests/models/test_mistral.py +0 -0
  448. {pydantic_ai-1.3.0 → pydantic_ai-1.4.0}/tests/models/test_model.py +0 -0
  449. {pydantic_ai-1.3.0 → pydantic_ai-1.4.0}/tests/models/test_model_function.py +0 -0
  450. {pydantic_ai-1.3.0 → pydantic_ai-1.4.0}/tests/models/test_model_names.py +0 -0
  451. {pydantic_ai-1.3.0 → pydantic_ai-1.4.0}/tests/models/test_model_settings.py +0 -0
  452. {pydantic_ai-1.3.0 → pydantic_ai-1.4.0}/tests/models/test_model_test.py +0 -0
  453. {pydantic_ai-1.3.0 → pydantic_ai-1.4.0}/tests/models/test_openai.py +0 -0
  454. {pydantic_ai-1.3.0 → pydantic_ai-1.4.0}/tests/parts_from_messages.py +0 -0
  455. {pydantic_ai-1.3.0 → pydantic_ai-1.4.0}/tests/providers/__init__.py +0 -0
  456. {pydantic_ai-1.3.0 → pydantic_ai-1.4.0}/tests/providers/cassettes/test_azure/test_azure_provider_call.yaml +0 -0
  457. {pydantic_ai-1.3.0 → pydantic_ai-1.4.0}/tests/providers/cassettes/test_gateway/test_gateway_provider_with_anthropic.yaml +0 -0
  458. {pydantic_ai-1.3.0 → pydantic_ai-1.4.0}/tests/providers/cassettes/test_gateway/test_gateway_provider_with_bedrock.yaml +0 -0
  459. {pydantic_ai-1.3.0 → pydantic_ai-1.4.0}/tests/providers/cassettes/test_gateway/test_gateway_provider_with_google_vertex.yaml +0 -0
  460. {pydantic_ai-1.3.0 → pydantic_ai-1.4.0}/tests/providers/cassettes/test_gateway/test_gateway_provider_with_groq.yaml +0 -0
  461. {pydantic_ai-1.3.0 → pydantic_ai-1.4.0}/tests/providers/cassettes/test_gateway/test_gateway_provider_with_openai.yaml +0 -0
  462. {pydantic_ai-1.3.0 → pydantic_ai-1.4.0}/tests/providers/cassettes/test_gateway/test_gateway_provider_with_openai_responses.yaml +0 -0
  463. {pydantic_ai-1.3.0 → pydantic_ai-1.4.0}/tests/providers/cassettes/test_google_vertex/test_vertexai_provider.yaml +0 -0
  464. {pydantic_ai-1.3.0 → pydantic_ai-1.4.0}/tests/providers/cassettes/test_heroku/test_heroku_model_provider_claude_3_7_sonnet.yaml +0 -0
  465. {pydantic_ai-1.3.0 → pydantic_ai-1.4.0}/tests/providers/cassettes/test_openrouter/test_openrouter_with_google_model.yaml +0 -0
  466. {pydantic_ai-1.3.0 → pydantic_ai-1.4.0}/tests/providers/test_anthropic.py +0 -0
  467. {pydantic_ai-1.3.0 → pydantic_ai-1.4.0}/tests/providers/test_azure.py +0 -0
  468. {pydantic_ai-1.3.0 → pydantic_ai-1.4.0}/tests/providers/test_bedrock.py +0 -0
  469. {pydantic_ai-1.3.0 → pydantic_ai-1.4.0}/tests/providers/test_cerebras.py +0 -0
  470. {pydantic_ai-1.3.0 → pydantic_ai-1.4.0}/tests/providers/test_cohere.py +0 -0
  471. {pydantic_ai-1.3.0 → pydantic_ai-1.4.0}/tests/providers/test_deepseek.py +0 -0
  472. {pydantic_ai-1.3.0 → pydantic_ai-1.4.0}/tests/providers/test_fireworks.py +0 -0
  473. {pydantic_ai-1.3.0 → pydantic_ai-1.4.0}/tests/providers/test_gateway.py +0 -0
  474. {pydantic_ai-1.3.0 → pydantic_ai-1.4.0}/tests/providers/test_github.py +0 -0
  475. {pydantic_ai-1.3.0 → pydantic_ai-1.4.0}/tests/providers/test_google_gla.py +0 -0
  476. {pydantic_ai-1.3.0 → pydantic_ai-1.4.0}/tests/providers/test_google_vertex.py +0 -0
  477. {pydantic_ai-1.3.0 → pydantic_ai-1.4.0}/tests/providers/test_grok.py +0 -0
  478. {pydantic_ai-1.3.0 → pydantic_ai-1.4.0}/tests/providers/test_groq.py +0 -0
  479. {pydantic_ai-1.3.0 → pydantic_ai-1.4.0}/tests/providers/test_heroku.py +0 -0
  480. {pydantic_ai-1.3.0 → pydantic_ai-1.4.0}/tests/providers/test_huggingface.py +0 -0
  481. {pydantic_ai-1.3.0 → pydantic_ai-1.4.0}/tests/providers/test_litellm.py +0 -0
  482. {pydantic_ai-1.3.0 → pydantic_ai-1.4.0}/tests/providers/test_mistral.py +0 -0
  483. {pydantic_ai-1.3.0 → pydantic_ai-1.4.0}/tests/providers/test_moonshotai.py +0 -0
  484. {pydantic_ai-1.3.0 → pydantic_ai-1.4.0}/tests/providers/test_nebius.py +0 -0
  485. {pydantic_ai-1.3.0 → pydantic_ai-1.4.0}/tests/providers/test_ollama.py +0 -0
  486. {pydantic_ai-1.3.0 → pydantic_ai-1.4.0}/tests/providers/test_openai.py +0 -0
  487. {pydantic_ai-1.3.0 → pydantic_ai-1.4.0}/tests/providers/test_openrouter.py +0 -0
  488. {pydantic_ai-1.3.0 → pydantic_ai-1.4.0}/tests/providers/test_ovhcloud.py +0 -0
  489. {pydantic_ai-1.3.0 → pydantic_ai-1.4.0}/tests/providers/test_provider_names.py +0 -0
  490. {pydantic_ai-1.3.0 → pydantic_ai-1.4.0}/tests/providers/test_together.py +0 -0
  491. {pydantic_ai-1.3.0 → pydantic_ai-1.4.0}/tests/providers/test_vercel.py +0 -0
  492. {pydantic_ai-1.3.0 → pydantic_ai-1.4.0}/tests/test_ag_ui.py +0 -0
  493. {pydantic_ai-1.3.0 → pydantic_ai-1.4.0}/tests/test_builtin_tools.py +0 -0
  494. {pydantic_ai-1.3.0 → pydantic_ai-1.4.0}/tests/test_cli.py +0 -0
  495. {pydantic_ai-1.3.0 → pydantic_ai-1.4.0}/tests/test_dbos.py +0 -0
  496. {pydantic_ai-1.3.0 → pydantic_ai-1.4.0}/tests/test_deps.py +0 -0
  497. {pydantic_ai-1.3.0 → pydantic_ai-1.4.0}/tests/test_direct.py +0 -0
  498. {pydantic_ai-1.3.0 → pydantic_ai-1.4.0}/tests/test_format_as_xml.py +0 -0
  499. {pydantic_ai-1.3.0 → pydantic_ai-1.4.0}/tests/test_function_schema.py +0 -0
  500. {pydantic_ai-1.3.0 → pydantic_ai-1.4.0}/tests/test_history_processor.py +0 -0
  501. {pydantic_ai-1.3.0 → pydantic_ai-1.4.0}/tests/test_json_body_serializer.py +0 -0
  502. {pydantic_ai-1.3.0 → pydantic_ai-1.4.0}/tests/test_live.py +0 -0
  503. {pydantic_ai-1.3.0 → pydantic_ai-1.4.0}/tests/test_logfire.py +0 -0
  504. {pydantic_ai-1.3.0 → pydantic_ai-1.4.0}/tests/test_mcp.py +0 -0
  505. {pydantic_ai-1.3.0 → pydantic_ai-1.4.0}/tests/test_messages.py +0 -0
  506. {pydantic_ai-1.3.0 → pydantic_ai-1.4.0}/tests/test_parts_manager.py +0 -0
  507. {pydantic_ai-1.3.0 → pydantic_ai-1.4.0}/tests/test_prefect.py +0 -0
  508. {pydantic_ai-1.3.0 → pydantic_ai-1.4.0}/tests/test_settings.py +0 -0
  509. {pydantic_ai-1.3.0 → pydantic_ai-1.4.0}/tests/test_streaming.py +0 -0
  510. {pydantic_ai-1.3.0 → pydantic_ai-1.4.0}/tests/test_temporal.py +0 -0
  511. {pydantic_ai-1.3.0 → pydantic_ai-1.4.0}/tests/test_tenacity.py +0 -0
  512. {pydantic_ai-1.3.0 → pydantic_ai-1.4.0}/tests/test_thinking_part.py +0 -0
  513. {pydantic_ai-1.3.0 → pydantic_ai-1.4.0}/tests/test_tools.py +0 -0
  514. {pydantic_ai-1.3.0 → pydantic_ai-1.4.0}/tests/test_toolsets.py +0 -0
  515. {pydantic_ai-1.3.0 → pydantic_ai-1.4.0}/tests/test_usage_limits.py +0 -0
  516. {pydantic_ai-1.3.0 → pydantic_ai-1.4.0}/tests/test_utils.py +0 -0
  517. {pydantic_ai-1.3.0 → pydantic_ai-1.4.0}/tests/typed_agent.py +0 -0
  518. {pydantic_ai-1.3.0 → pydantic_ai-1.4.0}/tests/typed_graph.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: pydantic-ai
3
- Version: 1.3.0
3
+ Version: 1.4.0
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,15 +26,15 @@ 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.3.0
29
+ Requires-Dist: pydantic-ai-slim[ag-ui,anthropic,bedrock,cli,cohere,evals,google,groq,huggingface,logfire,mcp,mistral,openai,retries,temporal,vertexai]==1.4.0
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.3.0; extra == 'dbos'
33
+ Requires-Dist: pydantic-ai-slim[dbos]==1.4.0; extra == 'dbos'
34
34
  Provides-Extra: examples
35
- Requires-Dist: pydantic-ai-examples==1.3.0; extra == 'examples'
35
+ Requires-Dist: pydantic-ai-examples==1.4.0; extra == 'examples'
36
36
  Provides-Extra: prefect
37
- Requires-Dist: pydantic-ai-slim[prefect]==1.3.0; extra == 'prefect'
37
+ Requires-Dist: pydantic-ai-slim[prefect]==1.4.0; extra == 'prefect'
38
38
  Description-Content-Type: text/markdown
39
39
 
40
40
  <div align="center">
@@ -0,0 +1,401 @@
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
+ - '346'
12
+ content-type:
13
+ - application/json
14
+ host:
15
+ - api.anthropic.com
16
+ method: POST
17
+ parsed_body:
18
+ max_tokens: 4096
19
+ mcp_servers:
20
+ - name: deepwiki
21
+ type: url
22
+ url: https://mcp.deepwiki.com/mcp
23
+ messages:
24
+ - content:
25
+ - text: Can you tell me more about the pydantic/pydantic-ai repo? Keep your answer short
26
+ type: text
27
+ role: user
28
+ model: claude-sonnet-4-0
29
+ stream: false
30
+ thinking:
31
+ budget_tokens: 3000
32
+ type: enabled
33
+ uri: https://api.anthropic.com/v1/messages?beta=true
34
+ response:
35
+ headers:
36
+ connection:
37
+ - keep-alive
38
+ content-length:
39
+ - '6664'
40
+ content-type:
41
+ - application/json
42
+ strict-transport-security:
43
+ - max-age=31536000; includeSubDomains; preload
44
+ transfer-encoding:
45
+ - chunked
46
+ parsed_body:
47
+ content:
48
+ - signature: EqUDCkYICBgCKkCTiLjx5Rzw9zXo4pFDhFAc9Ci1R+d2fpkiqw7IPt1PgxBankr7bhRfh2iQOFEUy7sYVtsBxvnHW8zfBRxH1j6lEgySvdOyObrcFdJX3qkaDMAMCdLHIevZ/mSx/SIwi917U34N5jLQH1yMoCx/k72klLG5v42vcwUTG4ngKDI69Ddaf0eeDpgg3tL5FHfvKowCnslWg3Pd3ITe+TLlzu+OVZhRKU9SEwDJbjV7ZF954Ls6XExAfjdXhrhvXDB+hz6fZFPGFEfXV7jwElFT5HcGPWy84xvlwzbklZ2zH3XViik0B5dMErMAKs6IVwqXo3s+0p9xtX5gCBuvLkalET2upNsmdKGJv7WQWoaLch5N07uvSgWkO8AkGuVtBgqZH+uRGlPfYlnAgifNHu00GSAVK3beeyZfpnSQ6LQKcH+wVmrOi/3UvzA5f1LvsXG32gQKUCxztATnlBaI+7GMs1IAloaRHBndyRoe8Lwv79zZe9u9gnF9WCgK3yQsAR5hGZXlBKiIWfnRrXQ7QmA2hVO+mhEOCnz7OQkMIEUlfxgB
49
+ thinking: The user is asking about the pydantic/pydantic-ai repository and wants me to keep the answer short. I should
50
+ use the deepwiki tools to get information about this repository. Let me start by asking a general question about
51
+ what this repository is about.
52
+ type: thinking
53
+ - id: mcptoolu_01SAss3KEwASziHZoMR6HcZU
54
+ input:
55
+ question: What is pydantic-ai and what does this repository do?
56
+ repoName: pydantic/pydantic-ai
57
+ name: ask_question
58
+ server_name: deepwiki
59
+ type: mcp_tool_use
60
+ - content:
61
+ - text: |
62
+ Pydantic AI is a Python agent framework designed to simplify the development of production-grade applications using Generative AI . The repository contains this framework, which emphasizes an ergonomic developer experience and type-safety, similar to Pydantic and FastAPI .
63
+
64
+ ## Core Functionality
65
+
66
+ The `pydantic-ai` repository provides a comprehensive set of tools and abstractions for building AI agents . Its core components include:
67
+
68
+ * **Type-safe agents**: Agents are defined using `Agent[Deps, Output]` for compile-time validation .
69
+ * **Model-agnostic design**: It supports over 15 LLM providers through a unified `Model` interface .
70
+ * **Structured outputs**: Automatic Pydantic validation and self-correction ensure structured outputs .
71
+ * **Observability**: Integration with OpenTelemetry and Logfire provides comprehensive observability .
72
+ * **Production-ready tooling**: This includes an evaluation framework, durable execution, and protocol integrations .
73
+
74
+ ## Repository Structure
75
+
76
+ The `pydantic-ai` repository is organized as a UV workspace monorepo, containing several packages :
77
+
78
+ * `pydantic-ai-slim`: This is the core framework, containing modules for `Agent`, `Model`, and tools .
79
+ * `pydantic-graph`: Provides the graph execution engine .
80
+ * `pydantic-evals`: Offers an evaluation framework for datasets and evaluators .
81
+ * `examples`: Contains example applications .
82
+ * `clai`: A CLI interface for the framework .
83
+ * `pydantic-ai`: A meta-package that includes all optional extras .
84
+
85
+ ## Agent Execution
86
+
87
+ The `Agent` class is the primary interface for orchestrating AI tasks . It coordinates the model abstraction, message protocol, tool system, and graph execution . Agent execution uses a graph-based state machine from `pydantic_graph.Graph` . The execution flow involves three core node types :
88
+
89
+ * `UserPromptNode`: Processes user input and creates initial `ModelRequest` .
90
+ * `ModelRequestNode`: Calls `model.request()` or `model.request_stream()` and handles retries .
91
+ * `CallToolsNode`: Executes tool functions via `RunContext[Deps]` .
92
+
93
+ The `Agent` class provides methods like `run()`, `run_sync()`, and `run_stream()` for different execution needs .
94
+
95
+ ## Key Features
96
+
97
+ ### Model Provider Support
98
+ Pydantic AI offers a unified `Model` abstract base class for various LLM providers, including OpenAI, Anthropic, Google, and more . All models implement `request(messages)` and `request_stream(messages)` methods .
99
+
100
+ ### Tool System
101
+ The framework includes a tool system for registering and executing functions via decorators like `@agent.tool` . It automatically generates JSON schemas from function signatures and docstrings, validates tool call arguments, and injects `RunContext[Deps]` for dependencies .
102
+
103
+ ### Observability
104
+ Pydantic AI integrates with OpenTelemetry, providing instrumentation for agent runs, model requests, and tool executions . It also has native integration with Pydantic Logfire for real-time debugging and performance monitoring .
105
+
106
+ ### Evaluation Framework
107
+ The `pydantic-evals` package provides a framework for systematically testing and evaluating agent performance . It supports datasets with `Case` objects, various evaluators, and generates `EvaluationReport` with aggregated metrics .
108
+
109
+ ## Integrations
110
+ Pydantic AI supports various integrations for development and production, including :
111
+ * **Model Context Protocol (MCP)**: For external tool server access .
112
+ * **AG-UI Protocol**: For interactive application frontends .
113
+ * **Agent2Agent (A2A)**: For multi-agent communication .
114
+ * **Temporal**: For durable workflow execution .
115
+ * **DBOS**: For database-backed execution .
116
+
117
+ Notes:
118
+ The `pydantic-ai-slim` package is a core version of the framework, allowing users to install only necessary dependencies for specific models or features . The `pydantic-ai` package is a meta-package that includes all optional extras .
119
+
120
+ Wiki pages you might want to explore:
121
+ - [Overview (pydantic/pydantic-ai)](/wiki/pydantic/pydantic-ai#1)
122
+
123
+ View this search on DeepWiki: https://deepwiki.com/search/what-is-pydanticai-and-what-do_2dc46d92-288e-470b-b52e-24bb13f839c7
124
+ type: text
125
+ is_error: false
126
+ tool_use_id: mcptoolu_01SAss3KEwASziHZoMR6HcZU
127
+ type: mcp_tool_result
128
+ - text: |-
129
+ **Pydantic AI** is a Python agent framework for building production-grade applications with Generative AI. It provides:
130
+
131
+ - **Type-safe agents** with compile-time validation using `Agent[Deps, Output]`
132
+ - **Model-agnostic design** supporting 15+ LLM providers (OpenAI, Anthropic, Google, etc.)
133
+ - **Structured outputs** with automatic Pydantic validation and self-correction
134
+ - **Built-in observability** via OpenTelemetry and Logfire integration
135
+ - **Production tooling** including evaluation framework, durable execution, and tool system
136
+
137
+ The repo is organized as a monorepo with core packages like `pydantic-ai-slim` (core framework), `pydantic-graph` (execution engine), and `pydantic-evals` (evaluation tools). It emphasizes developer ergonomics and type safety, similar to Pydantic and FastAPI.
138
+ type: text
139
+ id: msg_01MYDjkvBDRaKsY6PDwQz3n6
140
+ model: claude-sonnet-4-20250514
141
+ role: assistant
142
+ stop_reason: end_turn
143
+ stop_sequence: null
144
+ type: message
145
+ usage:
146
+ cache_creation:
147
+ ephemeral_1h_input_tokens: 0
148
+ ephemeral_5m_input_tokens: 0
149
+ cache_creation_input_tokens: 0
150
+ cache_read_input_tokens: 0
151
+ input_tokens: 2674
152
+ output_tokens: 373
153
+ server_tool_use:
154
+ web_search_requests: 0
155
+ service_tier: standard
156
+ status:
157
+ code: 200
158
+ message: OK
159
+ - request:
160
+ headers:
161
+ accept:
162
+ - application/json
163
+ accept-encoding:
164
+ - gzip, deflate
165
+ connection:
166
+ - keep-alive
167
+ content-length:
168
+ - '6733'
169
+ content-type:
170
+ - application/json
171
+ host:
172
+ - api.anthropic.com
173
+ method: POST
174
+ parsed_body:
175
+ max_tokens: 4096
176
+ mcp_servers:
177
+ - name: deepwiki
178
+ type: url
179
+ url: https://mcp.deepwiki.com/mcp
180
+ messages:
181
+ - content:
182
+ - text: Can you tell me more about the pydantic/pydantic-ai repo? Keep your answer short
183
+ type: text
184
+ role: user
185
+ - content:
186
+ - signature: EqUDCkYICBgCKkCTiLjx5Rzw9zXo4pFDhFAc9Ci1R+d2fpkiqw7IPt1PgxBankr7bhRfh2iQOFEUy7sYVtsBxvnHW8zfBRxH1j6lEgySvdOyObrcFdJX3qkaDMAMCdLHIevZ/mSx/SIwi917U34N5jLQH1yMoCx/k72klLG5v42vcwUTG4ngKDI69Ddaf0eeDpgg3tL5FHfvKowCnslWg3Pd3ITe+TLlzu+OVZhRKU9SEwDJbjV7ZF954Ls6XExAfjdXhrhvXDB+hz6fZFPGFEfXV7jwElFT5HcGPWy84xvlwzbklZ2zH3XViik0B5dMErMAKs6IVwqXo3s+0p9xtX5gCBuvLkalET2upNsmdKGJv7WQWoaLch5N07uvSgWkO8AkGuVtBgqZH+uRGlPfYlnAgifNHu00GSAVK3beeyZfpnSQ6LQKcH+wVmrOi/3UvzA5f1LvsXG32gQKUCxztATnlBaI+7GMs1IAloaRHBndyRoe8Lwv79zZe9u9gnF9WCgK3yQsAR5hGZXlBKiIWfnRrXQ7QmA2hVO+mhEOCnz7OQkMIEUlfxgB
187
+ thinking: The user is asking about the pydantic/pydantic-ai repository and wants me to keep the answer short. I
188
+ should use the deepwiki tools to get information about this repository. Let me start by asking a general question
189
+ about what this repository is about.
190
+ type: thinking
191
+ - id: mcptoolu_01SAss3KEwASziHZoMR6HcZU
192
+ input:
193
+ question: What is pydantic-ai and what does this repository do?
194
+ repoName: pydantic/pydantic-ai
195
+ name: ask_question
196
+ server_name: deepwiki
197
+ type: mcp_tool_use
198
+ - content:
199
+ - citations: null
200
+ text: |
201
+ Pydantic AI is a Python agent framework designed to simplify the development of production-grade applications using Generative AI . The repository contains this framework, which emphasizes an ergonomic developer experience and type-safety, similar to Pydantic and FastAPI .
202
+
203
+ ## Core Functionality
204
+
205
+ The `pydantic-ai` repository provides a comprehensive set of tools and abstractions for building AI agents . Its core components include:
206
+
207
+ * **Type-safe agents**: Agents are defined using `Agent[Deps, Output]` for compile-time validation .
208
+ * **Model-agnostic design**: It supports over 15 LLM providers through a unified `Model` interface .
209
+ * **Structured outputs**: Automatic Pydantic validation and self-correction ensure structured outputs .
210
+ * **Observability**: Integration with OpenTelemetry and Logfire provides comprehensive observability .
211
+ * **Production-ready tooling**: This includes an evaluation framework, durable execution, and protocol integrations .
212
+
213
+ ## Repository Structure
214
+
215
+ The `pydantic-ai` repository is organized as a UV workspace monorepo, containing several packages :
216
+
217
+ * `pydantic-ai-slim`: This is the core framework, containing modules for `Agent`, `Model`, and tools .
218
+ * `pydantic-graph`: Provides the graph execution engine .
219
+ * `pydantic-evals`: Offers an evaluation framework for datasets and evaluators .
220
+ * `examples`: Contains example applications .
221
+ * `clai`: A CLI interface for the framework .
222
+ * `pydantic-ai`: A meta-package that includes all optional extras .
223
+
224
+ ## Agent Execution
225
+
226
+ The `Agent` class is the primary interface for orchestrating AI tasks . It coordinates the model abstraction, message protocol, tool system, and graph execution . Agent execution uses a graph-based state machine from `pydantic_graph.Graph` . The execution flow involves three core node types :
227
+
228
+ * `UserPromptNode`: Processes user input and creates initial `ModelRequest` .
229
+ * `ModelRequestNode`: Calls `model.request()` or `model.request_stream()` and handles retries .
230
+ * `CallToolsNode`: Executes tool functions via `RunContext[Deps]` .
231
+
232
+ The `Agent` class provides methods like `run()`, `run_sync()`, and `run_stream()` for different execution needs .
233
+
234
+ ## Key Features
235
+
236
+ ### Model Provider Support
237
+ Pydantic AI offers a unified `Model` abstract base class for various LLM providers, including OpenAI, Anthropic, Google, and more . All models implement `request(messages)` and `request_stream(messages)` methods .
238
+
239
+ ### Tool System
240
+ The framework includes a tool system for registering and executing functions via decorators like `@agent.tool` . It automatically generates JSON schemas from function signatures and docstrings, validates tool call arguments, and injects `RunContext[Deps]` for dependencies .
241
+
242
+ ### Observability
243
+ Pydantic AI integrates with OpenTelemetry, providing instrumentation for agent runs, model requests, and tool executions . It also has native integration with Pydantic Logfire for real-time debugging and performance monitoring .
244
+
245
+ ### Evaluation Framework
246
+ The `pydantic-evals` package provides a framework for systematically testing and evaluating agent performance . It supports datasets with `Case` objects, various evaluators, and generates `EvaluationReport` with aggregated metrics .
247
+
248
+ ## Integrations
249
+ Pydantic AI supports various integrations for development and production, including :
250
+ * **Model Context Protocol (MCP)**: For external tool server access .
251
+ * **AG-UI Protocol**: For interactive application frontends .
252
+ * **Agent2Agent (A2A)**: For multi-agent communication .
253
+ * **Temporal**: For durable workflow execution .
254
+ * **DBOS**: For database-backed execution .
255
+
256
+ Notes:
257
+ The `pydantic-ai-slim` package is a core version of the framework, allowing users to install only necessary dependencies for specific models or features . The `pydantic-ai` package is a meta-package that includes all optional extras .
258
+
259
+ Wiki pages you might want to explore:
260
+ - [Overview (pydantic/pydantic-ai)](/wiki/pydantic/pydantic-ai#1)
261
+
262
+ View this search on DeepWiki: https://deepwiki.com/search/what-is-pydanticai-and-what-do_2dc46d92-288e-470b-b52e-24bb13f839c7
263
+ type: text
264
+ is_error: false
265
+ tool_use_id: mcptoolu_01SAss3KEwASziHZoMR6HcZU
266
+ type: mcp_tool_result
267
+ - text: |-
268
+ **Pydantic AI** is a Python agent framework for building production-grade applications with Generative AI. It provides:
269
+
270
+ - **Type-safe agents** with compile-time validation using `Agent[Deps, Output]`
271
+ - **Model-agnostic design** supporting 15+ LLM providers (OpenAI, Anthropic, Google, etc.)
272
+ - **Structured outputs** with automatic Pydantic validation and self-correction
273
+ - **Built-in observability** via OpenTelemetry and Logfire integration
274
+ - **Production tooling** including evaluation framework, durable execution, and tool system
275
+
276
+ The repo is organized as a monorepo with core packages like `pydantic-ai-slim` (core framework), `pydantic-graph` (execution engine), and `pydantic-evals` (evaluation tools). It emphasizes developer ergonomics and type safety, similar to Pydantic and FastAPI.
277
+ type: text
278
+ role: assistant
279
+ - content:
280
+ - text: How about the pydantic repo in the same org?
281
+ type: text
282
+ role: user
283
+ model: claude-sonnet-4-0
284
+ stream: false
285
+ thinking:
286
+ budget_tokens: 3000
287
+ type: enabled
288
+ uri: https://api.anthropic.com/v1/messages?beta=true
289
+ response:
290
+ headers:
291
+ connection:
292
+ - keep-alive
293
+ content-length:
294
+ - '6408'
295
+ content-type:
296
+ - application/json
297
+ strict-transport-security:
298
+ - max-age=31536000; includeSubDomains; preload
299
+ transfer-encoding:
300
+ - chunked
301
+ parsed_body:
302
+ content:
303
+ - signature: EtECCkYICBgCKkAkKy+K3Z/q4dGwZGr1MdsH8HLaULElUSaa/Y8A1L/Jp7y1AfJd1zrTL7Zfa2KoPr0HqO/AI/cJJreheuwcn/dWEgw0bPLie900a4h9wS0aDACnsdbr+adzpUyExiIwyuNjV82BVkK/kU+sMyrfbhgb6ob/DUgudJPaK5zR6cINAAGQnIy3iOXTwu3OUfPAKrgBzF9HD5HjiPSJdsxlkI0RA5Yjiol05/hR3fUB6WWrs0aouxIzlriJ6NzmzvqctkFJdRgAL9Mh06iK1A61PLyBWRdo1f5TBziFP1c6z7iQQzH9DdcaHvG8yLoaadbyTxMvTn2PtfEcSPjuZcLgv7QcF+HZXbDVjsHJW78OK2ta0M6/xuU1p4yG3qgoss3b0G6fAyvUVgVbb1wknkE/9W9gd2k/ZSh4P7F6AcvLTXQScTyMfWRtAWQqABgB
304
+ thinking: The user is asking about the pydantic repo in the same org, so that would be pydantic/pydantic. I should
305
+ ask about what this repository does and provide a short answer.
306
+ type: thinking
307
+ - id: mcptoolu_01A9RvAqDeoUnaMgQc6Nn75y
308
+ input:
309
+ question: What is Pydantic and what does this repository do?
310
+ repoName: pydantic/pydantic
311
+ name: ask_question
312
+ server_name: deepwiki
313
+ type: mcp_tool_use
314
+ - content:
315
+ - text: |
316
+ Pydantic is a Python library for data validation, parsing, and serialization using type hints . This repository, `pydantic/pydantic`, contains the source code for the Pydantic library itself, including its core validation logic, documentation, and continuous integration/continuous deployment (CI/CD) pipelines .
317
+
318
+ ## What is Pydantic
319
+
320
+ Pydantic is designed to ensure that data conforms to specified types and constraints at runtime . It leverages Python type hints to define data schemas and provides mechanisms for data conversion and validation . The library's core validation logic is implemented in Rust within a separate package called `pydantic-core`, which contributes to its performance .
321
+
322
+ Pydantic offers several user-facing APIs for validation:
323
+ * `BaseModel`: Used for defining class-based models with fields, suitable for domain models, API schemas, and configuration .
324
+ * `TypeAdapter`: Provides a flexible way to validate and serialize arbitrary Python types, including primitive types and dataclasses .
325
+ * `@dataclass`: Enhances Python's built-in dataclasses with Pydantic's validation capabilities .
326
+ * `@validate_call`: Used for validating function arguments and return values .
327
+
328
+ ## What this Repository Does
329
+
330
+ The `pydantic/pydantic` repository serves as the development hub for the Pydantic library. Its primary functions include:
331
+
332
+ ### Core Library Development
333
+ The repository contains the Python source code for the Pydantic library, including modules for `BaseModel` , `Field` definitions , configuration management , and type adapters . It also includes internal modules responsible for model construction and schema generation .
334
+
335
+ ### Documentation
336
+ The repository hosts the documentation for Pydantic, which is built using MkDocs . The documentation covers installation instructions , core concepts like models , fields, and JSON Schema generation . It also includes information on contributing to the project .
337
+
338
+ ### Continuous Integration and Deployment (CI/CD)
339
+ The repository utilizes GitHub Actions for its CI/CD pipeline . This pipeline includes:
340
+ * **Linting**: Checks code quality and style .
341
+ * **Testing**: Runs a comprehensive test suite across multiple operating systems and Python versions . This includes memory profiling tests, Mypy plugin tests, and type-checking integration tests .
342
+ * **Coverage**: Aggregates test coverage data and posts comments to pull requests .
343
+ * **Release Process**: Automates publishing new versions to PyPI and sending release announcements .
344
+ * **Third-Party Integration Testing**: Tests Pydantic's compatibility with other popular libraries like FastAPI, SQLModel, and Beanie .
345
+ * **Dependency Management**: Uses `uv` for managing dependencies and includes workflows to check compatibility with various dependency versions .
346
+ * **Performance Benchmarking**: Utilizes CodSpeed to track and analyze performance .
347
+
348
+ ## Versioning and Compatibility
349
+ Pydantic maintains strict version compatibility between the pure Python package (`pydantic`) and its Rust-based validation core (`pydantic-core`) . A `SystemError` is raised if there's a mismatch in `pydantic-core` versions, ensuring a stable environment . The `version_info()` function provides detailed version information for Pydantic and its dependencies .
350
+
351
+ Notes:
352
+ The `CITATION.cff` file also provides a concise description of Pydantic as "the most widely used data validation library for Python" . The `README.md` and `docs/index.md` files reiterate this, emphasizing its speed and extensibility .
353
+
354
+ Wiki pages you might want to explore:
355
+ - [Overview (pydantic/pydantic)](/wiki/pydantic/pydantic#1)
356
+ - [Development and Deployment (pydantic/pydantic)](/wiki/pydantic/pydantic#7)
357
+
358
+ View this search on DeepWiki: https://deepwiki.com/search/what-is-pydantic-and-what-does_dab96efa-752a-4688-a630-3f4658084a88
359
+ type: text
360
+ is_error: false
361
+ tool_use_id: mcptoolu_01A9RvAqDeoUnaMgQc6Nn75y
362
+ type: mcp_tool_result
363
+ - text: |-
364
+ **Pydantic** is Python's most widely used data validation library for parsing, validation, and serialization using type hints. The repository contains:
365
+
366
+ **Core Features:**
367
+ - **Data validation** with automatic type conversion and constraint checking
368
+ - **Multiple APIs**: `BaseModel` for class-based models, `TypeAdapter` for arbitrary types, `@dataclass` decorator, and `@validate_call` for functions
369
+ - **High performance** via Rust-based validation core (`pydantic-core`)
370
+ - **JSON Schema generation** and comprehensive serialization support
371
+
372
+ **Repository Contents:**
373
+ - Python source code for the main Pydantic library
374
+ - Comprehensive documentation built with MkDocs
375
+ - Extensive CI/CD pipeline with testing across multiple Python versions and OS
376
+ - Integration testing with popular libraries (FastAPI, SQLModel, etc.)
377
+ - Performance benchmarking and dependency compatibility checks
378
+
379
+ Pydantic ensures runtime data integrity through type hints and is foundational to many Python frameworks, especially in web APIs and data processing applications.
380
+ type: text
381
+ id: msg_01DSGib8F7nNoYprfYSGp1sd
382
+ model: claude-sonnet-4-20250514
383
+ role: assistant
384
+ stop_reason: end_turn
385
+ stop_sequence: null
386
+ type: message
387
+ usage:
388
+ cache_creation:
389
+ ephemeral_1h_input_tokens: 0
390
+ ephemeral_5m_input_tokens: 0
391
+ cache_creation_input_tokens: 0
392
+ cache_read_input_tokens: 0
393
+ input_tokens: 5262
394
+ output_tokens: 369
395
+ server_tool_use:
396
+ web_search_requests: 0
397
+ service_tier: standard
398
+ status:
399
+ code: 200
400
+ message: OK
401
+ version: 1