pydantic-ai 1.5.0__tar.gz → 1.6.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 (537) hide show
  1. {pydantic_ai-1.5.0 → pydantic_ai-1.6.0}/PKG-INFO +5 -5
  2. {pydantic_ai-1.5.0 → pydantic_ai-1.6.0}/pyproject.toml +2 -1
  3. {pydantic_ai-1.5.0 → pydantic_ai-1.6.0}/tests/models/cassettes/test_openai_responses/test_openai_responses_model_simple_response_with_tool_call.yaml +53 -31
  4. pydantic_ai-1.6.0/tests/models/cassettes/test_openai_responses/test_openai_responses_requires_function_call_status_none.yaml +259 -0
  5. {pydantic_ai-1.5.0 → pydantic_ai-1.6.0}/tests/models/test_model_test.py +102 -0
  6. {pydantic_ai-1.5.0 → pydantic_ai-1.6.0}/tests/models/test_openai_responses.py +45 -0
  7. {pydantic_ai-1.5.0 → pydantic_ai-1.6.0}/tests/test_agent.py +34 -1
  8. pydantic_ai-1.6.0/tests/test_fastmcp.py +603 -0
  9. {pydantic_ai-1.5.0 → pydantic_ai-1.6.0}/.gitignore +0 -0
  10. {pydantic_ai-1.5.0 → pydantic_ai-1.6.0}/LICENSE +0 -0
  11. {pydantic_ai-1.5.0 → pydantic_ai-1.6.0}/Makefile +0 -0
  12. {pydantic_ai-1.5.0 → pydantic_ai-1.6.0}/README.md +0 -0
  13. {pydantic_ai-1.5.0 → pydantic_ai-1.6.0}/tests/__init__.py +0 -0
  14. {pydantic_ai-1.5.0 → pydantic_ai-1.6.0}/tests/assets/dummy.pdf +0 -0
  15. {pydantic_ai-1.5.0 → pydantic_ai-1.6.0}/tests/assets/dummy.txt +0 -0
  16. {pydantic_ai-1.5.0 → pydantic_ai-1.6.0}/tests/assets/kiwi.png +0 -0
  17. {pydantic_ai-1.5.0 → pydantic_ai-1.6.0}/tests/assets/marcelo.mp3 +0 -0
  18. {pydantic_ai-1.5.0 → pydantic_ai-1.6.0}/tests/assets/product_name.txt +0 -0
  19. {pydantic_ai-1.5.0 → pydantic_ai-1.6.0}/tests/assets/small_video.mp4 +0 -0
  20. {pydantic_ai-1.5.0 → pydantic_ai-1.6.0}/tests/cassettes/test_dbos/test_complex_agent_run.yaml +0 -0
  21. {pydantic_ai-1.5.0 → pydantic_ai-1.6.0}/tests/cassettes/test_dbos/test_complex_agent_run_in_workflow.yaml +0 -0
  22. {pydantic_ai-1.5.0 → pydantic_ai-1.6.0}/tests/cassettes/test_dbos/test_complex_agent_run_stream_in_workflow.yaml +0 -0
  23. {pydantic_ai-1.5.0 → pydantic_ai-1.6.0}/tests/cassettes/test_dbos/test_dbos_agent_iter.yaml +0 -0
  24. {pydantic_ai-1.5.0 → pydantic_ai-1.6.0}/tests/cassettes/test_dbos/test_dbos_agent_iter_in_workflow.yaml +0 -0
  25. {pydantic_ai-1.5.0 → pydantic_ai-1.6.0}/tests/cassettes/test_dbos/test_dbos_agent_override_deps_in_workflow.yaml +0 -0
  26. {pydantic_ai-1.5.0 → pydantic_ai-1.6.0}/tests/cassettes/test_dbos/test_dbos_agent_override_tools_in_workflow.yaml +0 -0
  27. {pydantic_ai-1.5.0 → pydantic_ai-1.6.0}/tests/cassettes/test_dbos/test_dbos_agent_run.yaml +0 -0
  28. {pydantic_ai-1.5.0 → pydantic_ai-1.6.0}/tests/cassettes/test_dbos/test_dbos_agent_run_in_workflow_with_toolsets.yaml +0 -0
  29. {pydantic_ai-1.5.0 → pydantic_ai-1.6.0}/tests/cassettes/test_dbos/test_dbos_agent_run_stream.yaml +0 -0
  30. {pydantic_ai-1.5.0 → pydantic_ai-1.6.0}/tests/cassettes/test_dbos/test_dbos_agent_run_sync.yaml +0 -0
  31. {pydantic_ai-1.5.0 → pydantic_ai-1.6.0}/tests/cassettes/test_dbos/test_dbos_agent_run_sync_in_workflow.yaml +0 -0
  32. {pydantic_ai-1.5.0 → pydantic_ai-1.6.0}/tests/cassettes/test_dbos/test_dbos_agent_with_dataclass_deps_as_dict.yaml +0 -0
  33. {pydantic_ai-1.5.0 → pydantic_ai-1.6.0}/tests/cassettes/test_dbos/test_dbos_agent_with_hitl_tool.yaml +0 -0
  34. {pydantic_ai-1.5.0 → pydantic_ai-1.6.0}/tests/cassettes/test_dbos/test_dbos_agent_with_hitl_tool_sync.yaml +0 -0
  35. {pydantic_ai-1.5.0 → pydantic_ai-1.6.0}/tests/cassettes/test_dbos/test_dbos_agent_with_model_retry.yaml +0 -0
  36. {pydantic_ai-1.5.0 → pydantic_ai-1.6.0}/tests/cassettes/test_dbos/test_dbos_agent_with_non_dict_deps.yaml +0 -0
  37. {pydantic_ai-1.5.0 → pydantic_ai-1.6.0}/tests/cassettes/test_dbos/test_dbos_agent_with_unserializable_deps_type.yaml +0 -0
  38. {pydantic_ai-1.5.0 → pydantic_ai-1.6.0}/tests/cassettes/test_dbos/test_dbos_model_stream_direct.yaml +0 -0
  39. {pydantic_ai-1.5.0 → pydantic_ai-1.6.0}/tests/cassettes/test_dbos/test_multiple_agents.yaml +0 -0
  40. {pydantic_ai-1.5.0 → pydantic_ai-1.6.0}/tests/cassettes/test_dbos/test_simple_agent_run_in_workflow.yaml +0 -0
  41. {pydantic_ai-1.5.0 → pydantic_ai-1.6.0}/tests/cassettes/test_mcp/test_agent_with_server_not_running.yaml +0 -0
  42. {pydantic_ai-1.5.0 → pydantic_ai-1.6.0}/tests/cassettes/test_mcp/test_agent_with_stdio_server.yaml +0 -0
  43. {pydantic_ai-1.5.0 → pydantic_ai-1.6.0}/tests/cassettes/test_mcp/test_tool_returning_audio_resource.yaml +0 -0
  44. {pydantic_ai-1.5.0 → pydantic_ai-1.6.0}/tests/cassettes/test_mcp/test_tool_returning_audio_resource_link.yaml +0 -0
  45. {pydantic_ai-1.5.0 → pydantic_ai-1.6.0}/tests/cassettes/test_mcp/test_tool_returning_dict.yaml +0 -0
  46. {pydantic_ai-1.5.0 → pydantic_ai-1.6.0}/tests/cassettes/test_mcp/test_tool_returning_error.yaml +0 -0
  47. {pydantic_ai-1.5.0 → pydantic_ai-1.6.0}/tests/cassettes/test_mcp/test_tool_returning_image.yaml +0 -0
  48. {pydantic_ai-1.5.0 → pydantic_ai-1.6.0}/tests/cassettes/test_mcp/test_tool_returning_image_resource.yaml +0 -0
  49. {pydantic_ai-1.5.0 → pydantic_ai-1.6.0}/tests/cassettes/test_mcp/test_tool_returning_image_resource_link.yaml +0 -0
  50. {pydantic_ai-1.5.0 → pydantic_ai-1.6.0}/tests/cassettes/test_mcp/test_tool_returning_multiple_items.yaml +0 -0
  51. {pydantic_ai-1.5.0 → pydantic_ai-1.6.0}/tests/cassettes/test_mcp/test_tool_returning_none.yaml +0 -0
  52. {pydantic_ai-1.5.0 → pydantic_ai-1.6.0}/tests/cassettes/test_mcp/test_tool_returning_str.yaml +0 -0
  53. {pydantic_ai-1.5.0 → pydantic_ai-1.6.0}/tests/cassettes/test_mcp/test_tool_returning_text_resource.yaml +0 -0
  54. {pydantic_ai-1.5.0 → pydantic_ai-1.6.0}/tests/cassettes/test_mcp/test_tool_returning_text_resource_link.yaml +0 -0
  55. {pydantic_ai-1.5.0 → pydantic_ai-1.6.0}/tests/cassettes/test_mcp/test_tool_returning_unstructured_dict.yaml +0 -0
  56. {pydantic_ai-1.5.0 → pydantic_ai-1.6.0}/tests/cassettes/test_prefect/test_complex_agent_run_in_flow.yaml +0 -0
  57. {pydantic_ai-1.5.0 → pydantic_ai-1.6.0}/tests/cassettes/test_prefect/test_iter_in_flow.yaml +0 -0
  58. {pydantic_ai-1.5.0 → pydantic_ai-1.6.0}/tests/cassettes/test_prefect/test_multiple_agents.yaml +0 -0
  59. {pydantic_ai-1.5.0 → pydantic_ai-1.6.0}/tests/cassettes/test_prefect/test_prefect_agent_iter.yaml +0 -0
  60. {pydantic_ai-1.5.0 → pydantic_ai-1.6.0}/tests/cassettes/test_prefect/test_prefect_agent_override_deps.yaml +0 -0
  61. {pydantic_ai-1.5.0 → pydantic_ai-1.6.0}/tests/cassettes/test_prefect/test_prefect_agent_override_tools.yaml +0 -0
  62. {pydantic_ai-1.5.0 → pydantic_ai-1.6.0}/tests/cassettes/test_prefect/test_prefect_agent_override_toolsets.yaml +0 -0
  63. {pydantic_ai-1.5.0 → pydantic_ai-1.6.0}/tests/cassettes/test_prefect/test_prefect_agent_run.yaml +0 -0
  64. {pydantic_ai-1.5.0 → pydantic_ai-1.6.0}/tests/cassettes/test_prefect/test_prefect_agent_run_stream.yaml +0 -0
  65. {pydantic_ai-1.5.0 → pydantic_ai-1.6.0}/tests/cassettes/test_prefect/test_prefect_agent_run_stream_events.yaml +0 -0
  66. {pydantic_ai-1.5.0 → pydantic_ai-1.6.0}/tests/cassettes/test_prefect/test_prefect_agent_run_sync.yaml +0 -0
  67. {pydantic_ai-1.5.0 → pydantic_ai-1.6.0}/tests/cassettes/test_prefect/test_prefect_agent_with_hitl_tool.yaml +0 -0
  68. {pydantic_ai-1.5.0 → pydantic_ai-1.6.0}/tests/cassettes/test_prefect/test_prefect_agent_with_hitl_tool_sync.yaml +0 -0
  69. {pydantic_ai-1.5.0 → pydantic_ai-1.6.0}/tests/cassettes/test_prefect/test_prefect_agent_with_model_retry.yaml +0 -0
  70. {pydantic_ai-1.5.0 → pydantic_ai-1.6.0}/tests/cassettes/test_prefect/test_prefect_agent_with_unserializable_deps.yaml +0 -0
  71. {pydantic_ai-1.5.0 → pydantic_ai-1.6.0}/tests/cassettes/test_prefect/test_run_stream_in_flow.yaml +0 -0
  72. {pydantic_ai-1.5.0 → pydantic_ai-1.6.0}/tests/cassettes/test_prefect/test_run_sync_in_flow.yaml +0 -0
  73. {pydantic_ai-1.5.0 → pydantic_ai-1.6.0}/tests/cassettes/test_prefect/test_simple_agent_run_in_flow.yaml +0 -0
  74. {pydantic_ai-1.5.0 → pydantic_ai-1.6.0}/tests/cassettes/test_settings/test_stop_settings[anthropic].yaml +0 -0
  75. {pydantic_ai-1.5.0 → pydantic_ai-1.6.0}/tests/cassettes/test_settings/test_stop_settings[bedrock].yaml +0 -0
  76. {pydantic_ai-1.5.0 → pydantic_ai-1.6.0}/tests/cassettes/test_settings/test_stop_settings[cohere].yaml +0 -0
  77. {pydantic_ai-1.5.0 → pydantic_ai-1.6.0}/tests/cassettes/test_settings/test_stop_settings[gemini].yaml +0 -0
  78. {pydantic_ai-1.5.0 → pydantic_ai-1.6.0}/tests/cassettes/test_settings/test_stop_settings[google].yaml +0 -0
  79. {pydantic_ai-1.5.0 → pydantic_ai-1.6.0}/tests/cassettes/test_settings/test_stop_settings[groq].yaml +0 -0
  80. {pydantic_ai-1.5.0 → pydantic_ai-1.6.0}/tests/cassettes/test_settings/test_stop_settings[mistral].yaml +0 -0
  81. {pydantic_ai-1.5.0 → pydantic_ai-1.6.0}/tests/cassettes/test_settings/test_stop_settings[openai].yaml +0 -0
  82. {pydantic_ai-1.5.0 → pydantic_ai-1.6.0}/tests/cassettes/test_temporal/test_complex_agent_run.yaml +0 -0
  83. {pydantic_ai-1.5.0 → pydantic_ai-1.6.0}/tests/cassettes/test_temporal/test_complex_agent_run_in_workflow.yaml +0 -0
  84. {pydantic_ai-1.5.0 → pydantic_ai-1.6.0}/tests/cassettes/test_temporal/test_complex_agent_run_stream_in_workflow.yaml +0 -0
  85. {pydantic_ai-1.5.0 → pydantic_ai-1.6.0}/tests/cassettes/test_temporal/test_logfire_plugin.yaml +0 -0
  86. {pydantic_ai-1.5.0 → pydantic_ai-1.6.0}/tests/cassettes/test_temporal/test_multiple_agents.yaml +0 -0
  87. {pydantic_ai-1.5.0 → pydantic_ai-1.6.0}/tests/cassettes/test_temporal/test_simple_agent_run_in_workflow.yaml +0 -0
  88. {pydantic_ai-1.5.0 → pydantic_ai-1.6.0}/tests/cassettes/test_temporal/test_temporal_agent_iter.yaml +0 -0
  89. {pydantic_ai-1.5.0 → pydantic_ai-1.6.0}/tests/cassettes/test_temporal/test_temporal_agent_override_deps_in_workflow.yaml +0 -0
  90. {pydantic_ai-1.5.0 → pydantic_ai-1.6.0}/tests/cassettes/test_temporal/test_temporal_agent_run.yaml +0 -0
  91. {pydantic_ai-1.5.0 → pydantic_ai-1.6.0}/tests/cassettes/test_temporal/test_temporal_agent_run_stream.yaml +0 -0
  92. {pydantic_ai-1.5.0 → pydantic_ai-1.6.0}/tests/cassettes/test_temporal/test_temporal_agent_run_stream_events.yaml +0 -0
  93. {pydantic_ai-1.5.0 → pydantic_ai-1.6.0}/tests/cassettes/test_temporal/test_temporal_agent_run_sync.yaml +0 -0
  94. {pydantic_ai-1.5.0 → pydantic_ai-1.6.0}/tests/cassettes/test_temporal/test_temporal_agent_sync_tool_activity_disabled.yaml +0 -0
  95. {pydantic_ai-1.5.0 → pydantic_ai-1.6.0}/tests/cassettes/test_temporal/test_temporal_agent_with_dataclass_deps_as_dict.yaml +0 -0
  96. {pydantic_ai-1.5.0 → pydantic_ai-1.6.0}/tests/cassettes/test_temporal/test_temporal_agent_with_hitl_tool.yaml +0 -0
  97. {pydantic_ai-1.5.0 → pydantic_ai-1.6.0}/tests/cassettes/test_temporal/test_temporal_agent_with_model_retry.yaml +0 -0
  98. {pydantic_ai-1.5.0 → pydantic_ai-1.6.0}/tests/cassettes/test_temporal/test_temporal_agent_with_non_dict_deps.yaml +0 -0
  99. {pydantic_ai-1.5.0 → pydantic_ai-1.6.0}/tests/cassettes/test_temporal/test_temporal_agent_with_unserializable_deps_type.yaml +0 -0
  100. {pydantic_ai-1.5.0 → pydantic_ai-1.6.0}/tests/cassettes/test_temporal/test_web_search_agent_run_in_workflow.yaml +0 -0
  101. {pydantic_ai-1.5.0 → pydantic_ai-1.6.0}/tests/conftest.py +0 -0
  102. {pydantic_ai-1.5.0 → pydantic_ai-1.6.0}/tests/evals/__init__.py +0 -0
  103. {pydantic_ai-1.5.0 → pydantic_ai-1.6.0}/tests/evals/test_dataset.py +0 -0
  104. {pydantic_ai-1.5.0 → pydantic_ai-1.6.0}/tests/evals/test_evaluator_base.py +0 -0
  105. {pydantic_ai-1.5.0 → pydantic_ai-1.6.0}/tests/evals/test_evaluator_common.py +0 -0
  106. {pydantic_ai-1.5.0 → pydantic_ai-1.6.0}/tests/evals/test_evaluator_context.py +0 -0
  107. {pydantic_ai-1.5.0 → pydantic_ai-1.6.0}/tests/evals/test_evaluator_spec.py +0 -0
  108. {pydantic_ai-1.5.0 → pydantic_ai-1.6.0}/tests/evals/test_evaluators.py +0 -0
  109. {pydantic_ai-1.5.0 → pydantic_ai-1.6.0}/tests/evals/test_llm_as_a_judge.py +0 -0
  110. {pydantic_ai-1.5.0 → pydantic_ai-1.6.0}/tests/evals/test_otel.py +0 -0
  111. {pydantic_ai-1.5.0 → pydantic_ai-1.6.0}/tests/evals/test_render_numbers.py +0 -0
  112. {pydantic_ai-1.5.0 → pydantic_ai-1.6.0}/tests/evals/test_reporting.py +0 -0
  113. {pydantic_ai-1.5.0 → pydantic_ai-1.6.0}/tests/evals/test_reports.py +0 -0
  114. {pydantic_ai-1.5.0 → pydantic_ai-1.6.0}/tests/evals/test_utils.py +0 -0
  115. {pydantic_ai-1.5.0 → pydantic_ai-1.6.0}/tests/evals/utils.py +0 -0
  116. {pydantic_ai-1.5.0 → pydantic_ai-1.6.0}/tests/example_modules/README.md +0 -0
  117. {pydantic_ai-1.5.0 → pydantic_ai-1.6.0}/tests/example_modules/bank_database.py +0 -0
  118. {pydantic_ai-1.5.0 → pydantic_ai-1.6.0}/tests/example_modules/fake_database.py +0 -0
  119. {pydantic_ai-1.5.0 → pydantic_ai-1.6.0}/tests/example_modules/mcp_server.py +0 -0
  120. {pydantic_ai-1.5.0 → pydantic_ai-1.6.0}/tests/example_modules/weather_service.py +0 -0
  121. {pydantic_ai-1.5.0 → pydantic_ai-1.6.0}/tests/ext/__init__.py +0 -0
  122. {pydantic_ai-1.5.0 → pydantic_ai-1.6.0}/tests/ext/test_langchain.py +0 -0
  123. {pydantic_ai-1.5.0 → pydantic_ai-1.6.0}/tests/graph/__init__.py +0 -0
  124. {pydantic_ai-1.5.0 → pydantic_ai-1.6.0}/tests/graph/beta/__init__.py +0 -0
  125. {pydantic_ai-1.5.0 → pydantic_ai-1.6.0}/tests/graph/beta/test_broadcast_and_spread.py +0 -0
  126. {pydantic_ai-1.5.0 → pydantic_ai-1.6.0}/tests/graph/beta/test_decisions.py +0 -0
  127. {pydantic_ai-1.5.0 → pydantic_ai-1.6.0}/tests/graph/beta/test_edge_cases.py +0 -0
  128. {pydantic_ai-1.5.0 → pydantic_ai-1.6.0}/tests/graph/beta/test_edge_labels.py +0 -0
  129. {pydantic_ai-1.5.0 → pydantic_ai-1.6.0}/tests/graph/beta/test_graph_builder.py +0 -0
  130. {pydantic_ai-1.5.0 → pydantic_ai-1.6.0}/tests/graph/beta/test_graph_edge_cases.py +0 -0
  131. {pydantic_ai-1.5.0 → pydantic_ai-1.6.0}/tests/graph/beta/test_graph_execution.py +0 -0
  132. {pydantic_ai-1.5.0 → pydantic_ai-1.6.0}/tests/graph/beta/test_graph_iteration.py +0 -0
  133. {pydantic_ai-1.5.0 → pydantic_ai-1.6.0}/tests/graph/beta/test_joins_and_reducers.py +0 -0
  134. {pydantic_ai-1.5.0 → pydantic_ai-1.6.0}/tests/graph/beta/test_mermaid_rendering.py +0 -0
  135. {pydantic_ai-1.5.0 → pydantic_ai-1.6.0}/tests/graph/beta/test_node_and_step.py +0 -0
  136. {pydantic_ai-1.5.0 → pydantic_ai-1.6.0}/tests/graph/beta/test_parent_forks.py +0 -0
  137. {pydantic_ai-1.5.0 → pydantic_ai-1.6.0}/tests/graph/beta/test_paths.py +0 -0
  138. {pydantic_ai-1.5.0 → pydantic_ai-1.6.0}/tests/graph/beta/test_util.py +0 -0
  139. {pydantic_ai-1.5.0 → pydantic_ai-1.6.0}/tests/graph/beta/test_v1_v2_integration.py +0 -0
  140. {pydantic_ai-1.5.0 → pydantic_ai-1.6.0}/tests/graph/test_file_persistence.py +0 -0
  141. {pydantic_ai-1.5.0 → pydantic_ai-1.6.0}/tests/graph/test_graph.py +0 -0
  142. {pydantic_ai-1.5.0 → pydantic_ai-1.6.0}/tests/graph/test_mermaid.py +0 -0
  143. {pydantic_ai-1.5.0 → pydantic_ai-1.6.0}/tests/graph/test_persistence.py +0 -0
  144. {pydantic_ai-1.5.0 → pydantic_ai-1.6.0}/tests/graph/test_state.py +0 -0
  145. {pydantic_ai-1.5.0 → pydantic_ai-1.6.0}/tests/graph/test_utils.py +0 -0
  146. {pydantic_ai-1.5.0 → pydantic_ai-1.6.0}/tests/import_examples.py +0 -0
  147. {pydantic_ai-1.5.0 → pydantic_ai-1.6.0}/tests/json_body_serializer.py +0 -0
  148. {pydantic_ai-1.5.0 → pydantic_ai-1.6.0}/tests/mcp_server.py +0 -0
  149. {pydantic_ai-1.5.0 → pydantic_ai-1.6.0}/tests/models/__init__.py +0 -0
  150. {pydantic_ai-1.5.0 → pydantic_ai-1.6.0}/tests/models/cassettes/test_anthropic/test_anthropic_code_execution_tool.yaml +0 -0
  151. {pydantic_ai-1.5.0 → pydantic_ai-1.6.0}/tests/models/cassettes/test_anthropic/test_anthropic_code_execution_tool_stream.yaml +0 -0
  152. {pydantic_ai-1.5.0 → pydantic_ai-1.6.0}/tests/models/cassettes/test_anthropic/test_anthropic_mcp_servers.yaml +0 -0
  153. {pydantic_ai-1.5.0 → pydantic_ai-1.6.0}/tests/models/cassettes/test_anthropic/test_anthropic_mcp_servers_stream.yaml +0 -0
  154. {pydantic_ai-1.5.0 → pydantic_ai-1.6.0}/tests/models/cassettes/test_anthropic/test_anthropic_memory_tool.yaml +0 -0
  155. {pydantic_ai-1.5.0 → pydantic_ai-1.6.0}/tests/models/cassettes/test_anthropic/test_anthropic_model_empty_message_on_history.yaml +0 -0
  156. {pydantic_ai-1.5.0 → pydantic_ai-1.6.0}/tests/models/cassettes/test_anthropic/test_anthropic_model_instructions.yaml +0 -0
  157. {pydantic_ai-1.5.0 → pydantic_ai-1.6.0}/tests/models/cassettes/test_anthropic/test_anthropic_model_thinking_part.yaml +0 -0
  158. {pydantic_ai-1.5.0 → pydantic_ai-1.6.0}/tests/models/cassettes/test_anthropic/test_anthropic_model_thinking_part_from_other_model.yaml +0 -0
  159. {pydantic_ai-1.5.0 → pydantic_ai-1.6.0}/tests/models/cassettes/test_anthropic/test_anthropic_model_thinking_part_redacted.yaml +0 -0
  160. {pydantic_ai-1.5.0 → pydantic_ai-1.6.0}/tests/models/cassettes/test_anthropic/test_anthropic_model_thinking_part_redacted_stream.yaml +0 -0
  161. {pydantic_ai-1.5.0 → pydantic_ai-1.6.0}/tests/models/cassettes/test_anthropic/test_anthropic_model_thinking_part_stream.yaml +0 -0
  162. {pydantic_ai-1.5.0 → pydantic_ai-1.6.0}/tests/models/cassettes/test_anthropic/test_anthropic_model_web_search_tool_stream.yaml +0 -0
  163. {pydantic_ai-1.5.0 → pydantic_ai-1.6.0}/tests/models/cassettes/test_anthropic/test_anthropic_output_tool_with_thinking.yaml +0 -0
  164. {pydantic_ai-1.5.0 → pydantic_ai-1.6.0}/tests/models/cassettes/test_anthropic/test_anthropic_prompted_output.yaml +0 -0
  165. {pydantic_ai-1.5.0 → pydantic_ai-1.6.0}/tests/models/cassettes/test_anthropic/test_anthropic_prompted_output_multiple.yaml +0 -0
  166. {pydantic_ai-1.5.0 → pydantic_ai-1.6.0}/tests/models/cassettes/test_anthropic/test_anthropic_server_tool_pass_history_to_another_provider.yaml +0 -0
  167. {pydantic_ai-1.5.0 → pydantic_ai-1.6.0}/tests/models/cassettes/test_anthropic/test_anthropic_server_tool_receive_history_from_another_provider.yaml +0 -0
  168. {pydantic_ai-1.5.0 → pydantic_ai-1.6.0}/tests/models/cassettes/test_anthropic/test_anthropic_text_output_function.yaml +0 -0
  169. {pydantic_ai-1.5.0 → pydantic_ai-1.6.0}/tests/models/cassettes/test_anthropic/test_anthropic_text_parts_ahead_of_built_in_tool_call.yaml +0 -0
  170. {pydantic_ai-1.5.0 → pydantic_ai-1.6.0}/tests/models/cassettes/test_anthropic/test_anthropic_tool_output.yaml +0 -0
  171. {pydantic_ai-1.5.0 → pydantic_ai-1.6.0}/tests/models/cassettes/test_anthropic/test_anthropic_tool_with_thinking.yaml +0 -0
  172. {pydantic_ai-1.5.0 → pydantic_ai-1.6.0}/tests/models/cassettes/test_anthropic/test_anthropic_web_search_tool.yaml +0 -0
  173. {pydantic_ai-1.5.0 → pydantic_ai-1.6.0}/tests/models/cassettes/test_anthropic/test_anthropic_web_search_tool_stream.yaml +0 -0
  174. {pydantic_ai-1.5.0 → pydantic_ai-1.6.0}/tests/models/cassettes/test_anthropic/test_document_binary_content_input.yaml +0 -0
  175. {pydantic_ai-1.5.0 → pydantic_ai-1.6.0}/tests/models/cassettes/test_anthropic/test_document_url_input.yaml +0 -0
  176. {pydantic_ai-1.5.0 → pydantic_ai-1.6.0}/tests/models/cassettes/test_anthropic/test_extra_headers.yaml +0 -0
  177. {pydantic_ai-1.5.0 → pydantic_ai-1.6.0}/tests/models/cassettes/test_anthropic/test_image_as_binary_content_tool_response.yaml +0 -0
  178. {pydantic_ai-1.5.0 → pydantic_ai-1.6.0}/tests/models/cassettes/test_anthropic/test_image_url_input.yaml +0 -0
  179. {pydantic_ai-1.5.0 → pydantic_ai-1.6.0}/tests/models/cassettes/test_anthropic/test_image_url_input_invalid_mime_type.yaml +0 -0
  180. {pydantic_ai-1.5.0 → pydantic_ai-1.6.0}/tests/models/cassettes/test_anthropic/test_multiple_parallel_tool_calls.yaml +0 -0
  181. {pydantic_ai-1.5.0 → pydantic_ai-1.6.0}/tests/models/cassettes/test_anthropic/test_text_document_url_input.yaml +0 -0
  182. {pydantic_ai-1.5.0 → pydantic_ai-1.6.0}/tests/models/cassettes/test_bedrock/test_bedrock_anthropic_tool_with_thinking.yaml +0 -0
  183. {pydantic_ai-1.5.0 → pydantic_ai-1.6.0}/tests/models/cassettes/test_bedrock/test_bedrock_empty_system_prompt.yaml +0 -0
  184. {pydantic_ai-1.5.0 → pydantic_ai-1.6.0}/tests/models/cassettes/test_bedrock/test_bedrock_model.yaml +0 -0
  185. {pydantic_ai-1.5.0 → pydantic_ai-1.6.0}/tests/models/cassettes/test_bedrock/test_bedrock_model_anthropic_model_without_tools.yaml +0 -0
  186. {pydantic_ai-1.5.0 → pydantic_ai-1.6.0}/tests/models/cassettes/test_bedrock/test_bedrock_model_guardrail_config.yaml +0 -0
  187. {pydantic_ai-1.5.0 → pydantic_ai-1.6.0}/tests/models/cassettes/test_bedrock/test_bedrock_model_instructions.yaml +0 -0
  188. {pydantic_ai-1.5.0 → pydantic_ai-1.6.0}/tests/models/cassettes/test_bedrock/test_bedrock_model_iter_stream.yaml +0 -0
  189. {pydantic_ai-1.5.0 → pydantic_ai-1.6.0}/tests/models/cassettes/test_bedrock/test_bedrock_model_max_tokens.yaml +0 -0
  190. {pydantic_ai-1.5.0 → pydantic_ai-1.6.0}/tests/models/cassettes/test_bedrock/test_bedrock_model_other_parameters.yaml +0 -0
  191. {pydantic_ai-1.5.0 → pydantic_ai-1.6.0}/tests/models/cassettes/test_bedrock/test_bedrock_model_performance_config.yaml +0 -0
  192. {pydantic_ai-1.5.0 → pydantic_ai-1.6.0}/tests/models/cassettes/test_bedrock/test_bedrock_model_retry.yaml +0 -0
  193. {pydantic_ai-1.5.0 → pydantic_ai-1.6.0}/tests/models/cassettes/test_bedrock/test_bedrock_model_stream.yaml +0 -0
  194. {pydantic_ai-1.5.0 → pydantic_ai-1.6.0}/tests/models/cassettes/test_bedrock/test_bedrock_model_stream_empty_text_delta.yaml +0 -0
  195. {pydantic_ai-1.5.0 → pydantic_ai-1.6.0}/tests/models/cassettes/test_bedrock/test_bedrock_model_structured_output.yaml +0 -0
  196. {pydantic_ai-1.5.0 → pydantic_ai-1.6.0}/tests/models/cassettes/test_bedrock/test_bedrock_model_thinking_part_anthropic.yaml +0 -0
  197. {pydantic_ai-1.5.0 → pydantic_ai-1.6.0}/tests/models/cassettes/test_bedrock/test_bedrock_model_thinking_part_deepseek.yaml +0 -0
  198. {pydantic_ai-1.5.0 → pydantic_ai-1.6.0}/tests/models/cassettes/test_bedrock/test_bedrock_model_thinking_part_from_other_model.yaml +0 -0
  199. {pydantic_ai-1.5.0 → pydantic_ai-1.6.0}/tests/models/cassettes/test_bedrock/test_bedrock_model_thinking_part_redacted.yaml +0 -0
  200. {pydantic_ai-1.5.0 → pydantic_ai-1.6.0}/tests/models/cassettes/test_bedrock/test_bedrock_model_thinking_part_redacted_stream.yaml +0 -0
  201. {pydantic_ai-1.5.0 → pydantic_ai-1.6.0}/tests/models/cassettes/test_bedrock/test_bedrock_model_thinking_part_stream.yaml +0 -0
  202. {pydantic_ai-1.5.0 → pydantic_ai-1.6.0}/tests/models/cassettes/test_bedrock/test_bedrock_model_top_p.yaml +0 -0
  203. {pydantic_ai-1.5.0 → pydantic_ai-1.6.0}/tests/models/cassettes/test_bedrock/test_bedrock_multiple_documents_in_history.yaml +0 -0
  204. {pydantic_ai-1.5.0 → pydantic_ai-1.6.0}/tests/models/cassettes/test_bedrock/test_document_url_input.yaml +0 -0
  205. {pydantic_ai-1.5.0 → pydantic_ai-1.6.0}/tests/models/cassettes/test_bedrock/test_image_as_binary_content_input.yaml +0 -0
  206. {pydantic_ai-1.5.0 → pydantic_ai-1.6.0}/tests/models/cassettes/test_bedrock/test_image_url_input.yaml +0 -0
  207. {pydantic_ai-1.5.0 → pydantic_ai-1.6.0}/tests/models/cassettes/test_bedrock/test_text_as_binary_content_input.yaml +0 -0
  208. {pydantic_ai-1.5.0 → pydantic_ai-1.6.0}/tests/models/cassettes/test_bedrock/test_text_document_url_input.yaml +0 -0
  209. {pydantic_ai-1.5.0 → pydantic_ai-1.6.0}/tests/models/cassettes/test_bedrock/test_video_as_binary_content_input.yaml +0 -0
  210. {pydantic_ai-1.5.0 → pydantic_ai-1.6.0}/tests/models/cassettes/test_bedrock/test_video_url_input.yaml +0 -0
  211. {pydantic_ai-1.5.0 → pydantic_ai-1.6.0}/tests/models/cassettes/test_cohere/test_cohere_model_instructions.yaml +0 -0
  212. {pydantic_ai-1.5.0 → pydantic_ai-1.6.0}/tests/models/cassettes/test_cohere/test_cohere_model_thinking_part.yaml +0 -0
  213. {pydantic_ai-1.5.0 → pydantic_ai-1.6.0}/tests/models/cassettes/test_cohere/test_request_simple_success_with_vcr.yaml +0 -0
  214. {pydantic_ai-1.5.0 → pydantic_ai-1.6.0}/tests/models/cassettes/test_deepseek/test_deepseek_model_thinking_part.yaml +0 -0
  215. {pydantic_ai-1.5.0 → pydantic_ai-1.6.0}/tests/models/cassettes/test_deepseek/test_deepseek_model_thinking_stream.yaml +0 -0
  216. {pydantic_ai-1.5.0 → pydantic_ai-1.6.0}/tests/models/cassettes/test_download_item/test_download_item_application_octet_stream.yaml +0 -0
  217. {pydantic_ai-1.5.0 → pydantic_ai-1.6.0}/tests/models/cassettes/test_download_item/test_download_item_audio_mpeg.yaml +0 -0
  218. {pydantic_ai-1.5.0 → pydantic_ai-1.6.0}/tests/models/cassettes/test_download_item/test_download_item_no_content_type.yaml +0 -0
  219. {pydantic_ai-1.5.0 → pydantic_ai-1.6.0}/tests/models/cassettes/test_gemini/test_document_url_input.yaml +0 -0
  220. {pydantic_ai-1.5.0 → pydantic_ai-1.6.0}/tests/models/cassettes/test_gemini/test_gemini_additional_properties_is_false.yaml +0 -0
  221. {pydantic_ai-1.5.0 → pydantic_ai-1.6.0}/tests/models/cassettes/test_gemini/test_gemini_additional_properties_is_true.yaml +0 -0
  222. {pydantic_ai-1.5.0 → pydantic_ai-1.6.0}/tests/models/cassettes/test_gemini/test_gemini_drop_exclusive_maximum.yaml +0 -0
  223. {pydantic_ai-1.5.0 → pydantic_ai-1.6.0}/tests/models/cassettes/test_gemini/test_gemini_exclusive_minimum_and_maximum.yaml +0 -0
  224. {pydantic_ai-1.5.0 → pydantic_ai-1.6.0}/tests/models/cassettes/test_gemini/test_gemini_model_instructions.yaml +0 -0
  225. {pydantic_ai-1.5.0 → pydantic_ai-1.6.0}/tests/models/cassettes/test_gemini/test_gemini_model_thinking_part.yaml +0 -0
  226. {pydantic_ai-1.5.0 → pydantic_ai-1.6.0}/tests/models/cassettes/test_gemini/test_gemini_native_output.yaml +0 -0
  227. {pydantic_ai-1.5.0 → pydantic_ai-1.6.0}/tests/models/cassettes/test_gemini/test_gemini_native_output_multiple.yaml +0 -0
  228. {pydantic_ai-1.5.0 → pydantic_ai-1.6.0}/tests/models/cassettes/test_gemini/test_gemini_prompted_output.yaml +0 -0
  229. {pydantic_ai-1.5.0 → pydantic_ai-1.6.0}/tests/models/cassettes/test_gemini/test_gemini_prompted_output_multiple.yaml +0 -0
  230. {pydantic_ai-1.5.0 → pydantic_ai-1.6.0}/tests/models/cassettes/test_gemini/test_gemini_prompted_output_with_tools.yaml +0 -0
  231. {pydantic_ai-1.5.0 → pydantic_ai-1.6.0}/tests/models/cassettes/test_gemini/test_gemini_text_output_function.yaml +0 -0
  232. {pydantic_ai-1.5.0 → pydantic_ai-1.6.0}/tests/models/cassettes/test_gemini/test_gemini_tool_config_any_with_tool_without_args.yaml +0 -0
  233. {pydantic_ai-1.5.0 → pydantic_ai-1.6.0}/tests/models/cassettes/test_gemini/test_gemini_tool_output.yaml +0 -0
  234. {pydantic_ai-1.5.0 → pydantic_ai-1.6.0}/tests/models/cassettes/test_gemini/test_gemini_youtube_video_url_input.yaml +0 -0
  235. {pydantic_ai-1.5.0 → pydantic_ai-1.6.0}/tests/models/cassettes/test_gemini/test_image_as_binary_content_input.yaml +0 -0
  236. {pydantic_ai-1.5.0 → pydantic_ai-1.6.0}/tests/models/cassettes/test_gemini/test_image_as_binary_content_tool_response.yaml +0 -0
  237. {pydantic_ai-1.5.0 → pydantic_ai-1.6.0}/tests/models/cassettes/test_gemini/test_image_url_input.yaml +0 -0
  238. {pydantic_ai-1.5.0 → pydantic_ai-1.6.0}/tests/models/cassettes/test_gemini/test_labels_are_ignored_with_gla_provider.yaml +0 -0
  239. {pydantic_ai-1.5.0 → pydantic_ai-1.6.0}/tests/models/cassettes/test_gemini/test_video_as_binary_content_input.yaml +0 -0
  240. {pydantic_ai-1.5.0 → pydantic_ai-1.6.0}/tests/models/cassettes/test_gemini/test_video_url_input.yaml +0 -0
  241. {pydantic_ai-1.5.0 → pydantic_ai-1.6.0}/tests/models/cassettes/test_gemini_vertex/test_labels.yaml +0 -0
  242. {pydantic_ai-1.5.0 → pydantic_ai-1.6.0}/tests/models/cassettes/test_gemini_vertex/test_url_input[AudioUrl (gs)].yaml +0 -0
  243. {pydantic_ai-1.5.0 → pydantic_ai-1.6.0}/tests/models/cassettes/test_gemini_vertex/test_url_input[AudioUrl].yaml +0 -0
  244. {pydantic_ai-1.5.0 → pydantic_ai-1.6.0}/tests/models/cassettes/test_gemini_vertex/test_url_input[DocumentUrl (gs)].yaml +0 -0
  245. {pydantic_ai-1.5.0 → pydantic_ai-1.6.0}/tests/models/cassettes/test_gemini_vertex/test_url_input[DocumentUrl].yaml +0 -0
  246. {pydantic_ai-1.5.0 → pydantic_ai-1.6.0}/tests/models/cassettes/test_gemini_vertex/test_url_input[ImageUrl (gs)].yaml +0 -0
  247. {pydantic_ai-1.5.0 → pydantic_ai-1.6.0}/tests/models/cassettes/test_gemini_vertex/test_url_input[ImageUrl].yaml +0 -0
  248. {pydantic_ai-1.5.0 → pydantic_ai-1.6.0}/tests/models/cassettes/test_gemini_vertex/test_url_input[VideoUrl (YouTube)].yaml +0 -0
  249. {pydantic_ai-1.5.0 → pydantic_ai-1.6.0}/tests/models/cassettes/test_gemini_vertex/test_url_input[VideoUrl (gs)].yaml +0 -0
  250. {pydantic_ai-1.5.0 → pydantic_ai-1.6.0}/tests/models/cassettes/test_gemini_vertex/test_url_input[VideoUrl].yaml +0 -0
  251. {pydantic_ai-1.5.0 → pydantic_ai-1.6.0}/tests/models/cassettes/test_gemini_vertex/test_url_input_force_download.yaml +0 -0
  252. {pydantic_ai-1.5.0 → pydantic_ai-1.6.0}/tests/models/cassettes/test_google/test_google_builtin_tools_with_other_tools.yaml +0 -0
  253. {pydantic_ai-1.5.0 → pydantic_ai-1.6.0}/tests/models/cassettes/test_google/test_google_httpx_client_is_not_closed.yaml +0 -0
  254. {pydantic_ai-1.5.0 → pydantic_ai-1.6.0}/tests/models/cassettes/test_google/test_google_image_and_text_output.yaml +0 -0
  255. {pydantic_ai-1.5.0 → pydantic_ai-1.6.0}/tests/models/cassettes/test_google/test_google_image_generation.yaml +0 -0
  256. {pydantic_ai-1.5.0 → pydantic_ai-1.6.0}/tests/models/cassettes/test_google/test_google_image_generation_stream.yaml +0 -0
  257. {pydantic_ai-1.5.0 → pydantic_ai-1.6.0}/tests/models/cassettes/test_google/test_google_image_generation_with_text.yaml +0 -0
  258. {pydantic_ai-1.5.0 → pydantic_ai-1.6.0}/tests/models/cassettes/test_google/test_google_image_or_text_output.yaml +0 -0
  259. {pydantic_ai-1.5.0 → pydantic_ai-1.6.0}/tests/models/cassettes/test_google/test_google_model.yaml +0 -0
  260. {pydantic_ai-1.5.0 → pydantic_ai-1.6.0}/tests/models/cassettes/test_google/test_google_model_builtin_code_execution_stream.yaml +0 -0
  261. {pydantic_ai-1.5.0 → pydantic_ai-1.6.0}/tests/models/cassettes/test_google/test_google_model_code_execution_tool.yaml +0 -0
  262. {pydantic_ai-1.5.0 → pydantic_ai-1.6.0}/tests/models/cassettes/test_google/test_google_model_document_url_input.yaml +0 -0
  263. {pydantic_ai-1.5.0 → pydantic_ai-1.6.0}/tests/models/cassettes/test_google/test_google_model_empty_assistant_response.yaml +0 -0
  264. {pydantic_ai-1.5.0 → pydantic_ai-1.6.0}/tests/models/cassettes/test_google/test_google_model_empty_user_prompt.yaml +0 -0
  265. {pydantic_ai-1.5.0 → pydantic_ai-1.6.0}/tests/models/cassettes/test_google/test_google_model_image_as_binary_content_input.yaml +0 -0
  266. {pydantic_ai-1.5.0 → pydantic_ai-1.6.0}/tests/models/cassettes/test_google/test_google_model_image_url_input.yaml +0 -0
  267. {pydantic_ai-1.5.0 → pydantic_ai-1.6.0}/tests/models/cassettes/test_google/test_google_model_instructions.yaml +0 -0
  268. {pydantic_ai-1.5.0 → pydantic_ai-1.6.0}/tests/models/cassettes/test_google/test_google_model_iter_stream.yaml +0 -0
  269. {pydantic_ai-1.5.0 → pydantic_ai-1.6.0}/tests/models/cassettes/test_google/test_google_model_max_tokens.yaml +0 -0
  270. {pydantic_ai-1.5.0 → pydantic_ai-1.6.0}/tests/models/cassettes/test_google/test_google_model_multiple_documents_in_history.yaml +0 -0
  271. {pydantic_ai-1.5.0 → pydantic_ai-1.6.0}/tests/models/cassettes/test_google/test_google_model_receive_web_search_history_from_another_provider.yaml +0 -0
  272. {pydantic_ai-1.5.0 → pydantic_ai-1.6.0}/tests/models/cassettes/test_google/test_google_model_retry.yaml +0 -0
  273. {pydantic_ai-1.5.0 → pydantic_ai-1.6.0}/tests/models/cassettes/test_google/test_google_model_safety_settings.yaml +0 -0
  274. {pydantic_ai-1.5.0 → pydantic_ai-1.6.0}/tests/models/cassettes/test_google/test_google_model_server_tool_receive_history_from_another_provider.yaml +0 -0
  275. {pydantic_ai-1.5.0 → pydantic_ai-1.6.0}/tests/models/cassettes/test_google/test_google_model_stream.yaml +0 -0
  276. {pydantic_ai-1.5.0 → pydantic_ai-1.6.0}/tests/models/cassettes/test_google/test_google_model_structured_output.yaml +0 -0
  277. {pydantic_ai-1.5.0 → pydantic_ai-1.6.0}/tests/models/cassettes/test_google/test_google_model_text_as_binary_content_input.yaml +0 -0
  278. {pydantic_ai-1.5.0 → pydantic_ai-1.6.0}/tests/models/cassettes/test_google/test_google_model_text_document_url_input.yaml +0 -0
  279. {pydantic_ai-1.5.0 → pydantic_ai-1.6.0}/tests/models/cassettes/test_google/test_google_model_thinking_config.yaml +0 -0
  280. {pydantic_ai-1.5.0 → pydantic_ai-1.6.0}/tests/models/cassettes/test_google/test_google_model_thinking_part.yaml +0 -0
  281. {pydantic_ai-1.5.0 → pydantic_ai-1.6.0}/tests/models/cassettes/test_google/test_google_model_thinking_part_from_other_model.yaml +0 -0
  282. {pydantic_ai-1.5.0 → pydantic_ai-1.6.0}/tests/models/cassettes/test_google/test_google_model_thinking_part_iter.yaml +0 -0
  283. {pydantic_ai-1.5.0 → pydantic_ai-1.6.0}/tests/models/cassettes/test_google/test_google_model_top_p.yaml +0 -0
  284. {pydantic_ai-1.5.0 → pydantic_ai-1.6.0}/tests/models/cassettes/test_google/test_google_model_url_context_tool.yaml +0 -0
  285. {pydantic_ai-1.5.0 → pydantic_ai-1.6.0}/tests/models/cassettes/test_google/test_google_model_usage_limit_exceeded.yaml +0 -0
  286. {pydantic_ai-1.5.0 → pydantic_ai-1.6.0}/tests/models/cassettes/test_google/test_google_model_usage_limit_not_exceeded.yaml +0 -0
  287. {pydantic_ai-1.5.0 → pydantic_ai-1.6.0}/tests/models/cassettes/test_google/test_google_model_vertex_labels.yaml +0 -0
  288. {pydantic_ai-1.5.0 → pydantic_ai-1.6.0}/tests/models/cassettes/test_google/test_google_model_vertex_provider.yaml +0 -0
  289. {pydantic_ai-1.5.0 → pydantic_ai-1.6.0}/tests/models/cassettes/test_google/test_google_model_video_as_binary_content_input.yaml +0 -0
  290. {pydantic_ai-1.5.0 → pydantic_ai-1.6.0}/tests/models/cassettes/test_google/test_google_model_video_as_binary_content_input_with_vendor_metadata.yaml +0 -0
  291. {pydantic_ai-1.5.0 → pydantic_ai-1.6.0}/tests/models/cassettes/test_google/test_google_model_video_url_input.yaml +0 -0
  292. {pydantic_ai-1.5.0 → pydantic_ai-1.6.0}/tests/models/cassettes/test_google/test_google_model_web_search_tool.yaml +0 -0
  293. {pydantic_ai-1.5.0 → pydantic_ai-1.6.0}/tests/models/cassettes/test_google/test_google_model_web_search_tool_stream.yaml +0 -0
  294. {pydantic_ai-1.5.0 → pydantic_ai-1.6.0}/tests/models/cassettes/test_google/test_google_model_youtube_video_url_input_with_vendor_metadata.yaml +0 -0
  295. {pydantic_ai-1.5.0 → pydantic_ai-1.6.0}/tests/models/cassettes/test_google/test_google_multiple_images.yaml +0 -0
  296. {pydantic_ai-1.5.0 → pydantic_ai-1.6.0}/tests/models/cassettes/test_google/test_google_native_output.yaml +0 -0
  297. {pydantic_ai-1.5.0 → pydantic_ai-1.6.0}/tests/models/cassettes/test_google/test_google_native_output_multiple.yaml +0 -0
  298. {pydantic_ai-1.5.0 → pydantic_ai-1.6.0}/tests/models/cassettes/test_google/test_google_prompted_output.yaml +0 -0
  299. {pydantic_ai-1.5.0 → pydantic_ai-1.6.0}/tests/models/cassettes/test_google/test_google_prompted_output_multiple.yaml +0 -0
  300. {pydantic_ai-1.5.0 → pydantic_ai-1.6.0}/tests/models/cassettes/test_google/test_google_prompted_output_with_tools.yaml +0 -0
  301. {pydantic_ai-1.5.0 → pydantic_ai-1.6.0}/tests/models/cassettes/test_google/test_google_text_output_function.yaml +0 -0
  302. {pydantic_ai-1.5.0 → pydantic_ai-1.6.0}/tests/models/cassettes/test_google/test_google_timeout.yaml +0 -0
  303. {pydantic_ai-1.5.0 → pydantic_ai-1.6.0}/tests/models/cassettes/test_google/test_google_tool_config_any_with_tool_without_args.yaml +0 -0
  304. {pydantic_ai-1.5.0 → pydantic_ai-1.6.0}/tests/models/cassettes/test_google/test_google_tool_output.yaml +0 -0
  305. {pydantic_ai-1.5.0 → pydantic_ai-1.6.0}/tests/models/cassettes/test_google/test_google_url_input[AudioUrl (gs)].yaml +0 -0
  306. {pydantic_ai-1.5.0 → pydantic_ai-1.6.0}/tests/models/cassettes/test_google/test_google_url_input[AudioUrl].yaml +0 -0
  307. {pydantic_ai-1.5.0 → pydantic_ai-1.6.0}/tests/models/cassettes/test_google/test_google_url_input[DocumentUrl (gs)].yaml +0 -0
  308. {pydantic_ai-1.5.0 → pydantic_ai-1.6.0}/tests/models/cassettes/test_google/test_google_url_input[DocumentUrl].yaml +0 -0
  309. {pydantic_ai-1.5.0 → pydantic_ai-1.6.0}/tests/models/cassettes/test_google/test_google_url_input[ImageUrl (gs)].yaml +0 -0
  310. {pydantic_ai-1.5.0 → pydantic_ai-1.6.0}/tests/models/cassettes/test_google/test_google_url_input[ImageUrl].yaml +0 -0
  311. {pydantic_ai-1.5.0 → pydantic_ai-1.6.0}/tests/models/cassettes/test_google/test_google_url_input[VideoUrl (YouTube)].yaml +0 -0
  312. {pydantic_ai-1.5.0 → pydantic_ai-1.6.0}/tests/models/cassettes/test_google/test_google_url_input[VideoUrl (gs)].yaml +0 -0
  313. {pydantic_ai-1.5.0 → pydantic_ai-1.6.0}/tests/models/cassettes/test_google/test_google_url_input[VideoUrl].yaml +0 -0
  314. {pydantic_ai-1.5.0 → pydantic_ai-1.6.0}/tests/models/cassettes/test_google/test_google_url_input_force_download.yaml +0 -0
  315. {pydantic_ai-1.5.0 → pydantic_ai-1.6.0}/tests/models/cassettes/test_google/test_google_vertexai_image_generation.yaml +0 -0
  316. {pydantic_ai-1.5.0 → pydantic_ai-1.6.0}/tests/models/cassettes/test_google/test_google_vertexai_model_usage_limit_exceeded.yaml +0 -0
  317. {pydantic_ai-1.5.0 → pydantic_ai-1.6.0}/tests/models/cassettes/test_groq/test_extra_headers.yaml +0 -0
  318. {pydantic_ai-1.5.0 → pydantic_ai-1.6.0}/tests/models/cassettes/test_groq/test_groq_model_instructions.yaml +0 -0
  319. {pydantic_ai-1.5.0 → pydantic_ai-1.6.0}/tests/models/cassettes/test_groq/test_groq_model_thinking_part.yaml +0 -0
  320. {pydantic_ai-1.5.0 → pydantic_ai-1.6.0}/tests/models/cassettes/test_groq/test_groq_model_thinking_part_iter.yaml +0 -0
  321. {pydantic_ai-1.5.0 → pydantic_ai-1.6.0}/tests/models/cassettes/test_groq/test_groq_model_web_search_tool.yaml +0 -0
  322. {pydantic_ai-1.5.0 → pydantic_ai-1.6.0}/tests/models/cassettes/test_groq/test_groq_model_web_search_tool_stream.yaml +0 -0
  323. {pydantic_ai-1.5.0 → pydantic_ai-1.6.0}/tests/models/cassettes/test_groq/test_groq_native_output.yaml +0 -0
  324. {pydantic_ai-1.5.0 → pydantic_ai-1.6.0}/tests/models/cassettes/test_groq/test_groq_prompted_output.yaml +0 -0
  325. {pydantic_ai-1.5.0 → pydantic_ai-1.6.0}/tests/models/cassettes/test_groq/test_image_as_binary_content_input.yaml +0 -0
  326. {pydantic_ai-1.5.0 → pydantic_ai-1.6.0}/tests/models/cassettes/test_groq/test_image_as_binary_content_tool_response.yaml +0 -0
  327. {pydantic_ai-1.5.0 → pydantic_ai-1.6.0}/tests/models/cassettes/test_groq/test_image_url_input.yaml +0 -0
  328. {pydantic_ai-1.5.0 → pydantic_ai-1.6.0}/tests/models/cassettes/test_groq/test_tool_regular_error.yaml +0 -0
  329. {pydantic_ai-1.5.0 → pydantic_ai-1.6.0}/tests/models/cassettes/test_groq/test_tool_use_failed_error.yaml +0 -0
  330. {pydantic_ai-1.5.0 → pydantic_ai-1.6.0}/tests/models/cassettes/test_groq/test_tool_use_failed_error_streaming.yaml +0 -0
  331. {pydantic_ai-1.5.0 → pydantic_ai-1.6.0}/tests/models/cassettes/test_huggingface/test_hf_model_instructions.yaml +0 -0
  332. {pydantic_ai-1.5.0 → pydantic_ai-1.6.0}/tests/models/cassettes/test_huggingface/test_hf_model_thinking_part.yaml +0 -0
  333. {pydantic_ai-1.5.0 → pydantic_ai-1.6.0}/tests/models/cassettes/test_huggingface/test_hf_model_thinking_part_iter.yaml +0 -0
  334. {pydantic_ai-1.5.0 → pydantic_ai-1.6.0}/tests/models/cassettes/test_huggingface/test_image_as_binary_content_input.yaml +0 -0
  335. {pydantic_ai-1.5.0 → pydantic_ai-1.6.0}/tests/models/cassettes/test_huggingface/test_image_url_input.yaml +0 -0
  336. {pydantic_ai-1.5.0 → pydantic_ai-1.6.0}/tests/models/cassettes/test_huggingface/test_max_completion_tokens[Qwen-Qwen2.5-72B-Instruct].yaml +0 -0
  337. {pydantic_ai-1.5.0 → pydantic_ai-1.6.0}/tests/models/cassettes/test_huggingface/test_max_completion_tokens[deepseek-ai-DeepSeek-R1-0528].yaml +0 -0
  338. {pydantic_ai-1.5.0 → pydantic_ai-1.6.0}/tests/models/cassettes/test_huggingface/test_max_completion_tokens[meta-llama-Llama-3.3-70B-Instruct].yaml +0 -0
  339. {pydantic_ai-1.5.0 → pydantic_ai-1.6.0}/tests/models/cassettes/test_huggingface/test_request_simple_success_with_vcr.yaml +0 -0
  340. {pydantic_ai-1.5.0 → pydantic_ai-1.6.0}/tests/models/cassettes/test_huggingface/test_request_simple_usage.yaml +0 -0
  341. {pydantic_ai-1.5.0 → pydantic_ai-1.6.0}/tests/models/cassettes/test_huggingface/test_simple_completion.yaml +0 -0
  342. {pydantic_ai-1.5.0 → pydantic_ai-1.6.0}/tests/models/cassettes/test_huggingface/test_stream_completion.yaml +0 -0
  343. {pydantic_ai-1.5.0 → pydantic_ai-1.6.0}/tests/models/cassettes/test_mistral/test_image_as_binary_content_tool_response.yaml +0 -0
  344. {pydantic_ai-1.5.0 → pydantic_ai-1.6.0}/tests/models/cassettes/test_mistral/test_mistral_model_instructions.yaml +0 -0
  345. {pydantic_ai-1.5.0 → pydantic_ai-1.6.0}/tests/models/cassettes/test_mistral/test_mistral_model_thinking_part.yaml +0 -0
  346. {pydantic_ai-1.5.0 → pydantic_ai-1.6.0}/tests/models/cassettes/test_mistral/test_mistral_model_thinking_part_iter.yaml +0 -0
  347. {pydantic_ai-1.5.0 → pydantic_ai-1.6.0}/tests/models/cassettes/test_model_names/test_known_model_names.yaml +0 -0
  348. {pydantic_ai-1.5.0 → pydantic_ai-1.6.0}/tests/models/cassettes/test_openai/test_audio_as_binary_content_input.yaml +0 -0
  349. {pydantic_ai-1.5.0 → pydantic_ai-1.6.0}/tests/models/cassettes/test_openai/test_compatible_api_with_tool_calls_without_id.yaml +0 -0
  350. {pydantic_ai-1.5.0 → pydantic_ai-1.6.0}/tests/models/cassettes/test_openai/test_document_as_binary_content_input.yaml +0 -0
  351. {pydantic_ai-1.5.0 → pydantic_ai-1.6.0}/tests/models/cassettes/test_openai/test_document_as_binary_content_input_with_tool.yaml +0 -0
  352. {pydantic_ai-1.5.0 → pydantic_ai-1.6.0}/tests/models/cassettes/test_openai/test_document_url_input.yaml +0 -0
  353. {pydantic_ai-1.5.0 → pydantic_ai-1.6.0}/tests/models/cassettes/test_openai/test_extra_headers.yaml +0 -0
  354. {pydantic_ai-1.5.0 → pydantic_ai-1.6.0}/tests/models/cassettes/test_openai/test_image_as_binary_content_input.yaml +0 -0
  355. {pydantic_ai-1.5.0 → pydantic_ai-1.6.0}/tests/models/cassettes/test_openai/test_image_as_binary_content_tool_response.yaml +0 -0
  356. {pydantic_ai-1.5.0 → pydantic_ai-1.6.0}/tests/models/cassettes/test_openai/test_image_url_input_force_download.yaml +0 -0
  357. {pydantic_ai-1.5.0 → pydantic_ai-1.6.0}/tests/models/cassettes/test_openai/test_image_url_input_force_download_response_api.yaml +0 -0
  358. {pydantic_ai-1.5.0 → pydantic_ai-1.6.0}/tests/models/cassettes/test_openai/test_image_url_tool_response.yaml +0 -0
  359. {pydantic_ai-1.5.0 → pydantic_ai-1.6.0}/tests/models/cassettes/test_openai/test_invalid_response.yaml +0 -0
  360. {pydantic_ai-1.5.0 → pydantic_ai-1.6.0}/tests/models/cassettes/test_openai/test_max_completion_tokens[gpt-4.5-preview].yaml +0 -0
  361. {pydantic_ai-1.5.0 → pydantic_ai-1.6.0}/tests/models/cassettes/test_openai/test_max_completion_tokens[gpt-4o-mini].yaml +0 -0
  362. {pydantic_ai-1.5.0 → pydantic_ai-1.6.0}/tests/models/cassettes/test_openai/test_max_completion_tokens[o3-mini].yaml +0 -0
  363. {pydantic_ai-1.5.0 → pydantic_ai-1.6.0}/tests/models/cassettes/test_openai/test_multiple_agent_tool_calls.yaml +0 -0
  364. {pydantic_ai-1.5.0 → pydantic_ai-1.6.0}/tests/models/cassettes/test_openai/test_openai_audio_url_input.yaml +0 -0
  365. {pydantic_ai-1.5.0 → pydantic_ai-1.6.0}/tests/models/cassettes/test_openai/test_openai_instructions.yaml +0 -0
  366. {pydantic_ai-1.5.0 → pydantic_ai-1.6.0}/tests/models/cassettes/test_openai/test_openai_instructions_with_tool_calls_keep_instructions.yaml +0 -0
  367. {pydantic_ai-1.5.0 → pydantic_ai-1.6.0}/tests/models/cassettes/test_openai/test_openai_model_cerebras_provider.yaml +0 -0
  368. {pydantic_ai-1.5.0 → pydantic_ai-1.6.0}/tests/models/cassettes/test_openai/test_openai_model_cerebras_provider_harmony.yaml +0 -0
  369. {pydantic_ai-1.5.0 → pydantic_ai-1.6.0}/tests/models/cassettes/test_openai/test_openai_model_cerebras_provider_qwen_3_coder.yaml +0 -0
  370. {pydantic_ai-1.5.0 → pydantic_ai-1.6.0}/tests/models/cassettes/test_openai/test_openai_model_settings_temperature_ignored_on_gpt_5.yaml +0 -0
  371. {pydantic_ai-1.5.0 → pydantic_ai-1.6.0}/tests/models/cassettes/test_openai/test_openai_model_thinking_part.yaml +0 -0
  372. {pydantic_ai-1.5.0 → pydantic_ai-1.6.0}/tests/models/cassettes/test_openai/test_openai_model_without_system_prompt.yaml +0 -0
  373. {pydantic_ai-1.5.0 → pydantic_ai-1.6.0}/tests/models/cassettes/test_openai/test_openai_native_output.yaml +0 -0
  374. {pydantic_ai-1.5.0 → pydantic_ai-1.6.0}/tests/models/cassettes/test_openai/test_openai_native_output_multiple.yaml +0 -0
  375. {pydantic_ai-1.5.0 → pydantic_ai-1.6.0}/tests/models/cassettes/test_openai/test_openai_o1_mini_system_role[developer].yaml +0 -0
  376. {pydantic_ai-1.5.0 → pydantic_ai-1.6.0}/tests/models/cassettes/test_openai/test_openai_o1_mini_system_role[system].yaml +0 -0
  377. {pydantic_ai-1.5.0 → pydantic_ai-1.6.0}/tests/models/cassettes/test_openai/test_openai_prompted_output.yaml +0 -0
  378. {pydantic_ai-1.5.0 → pydantic_ai-1.6.0}/tests/models/cassettes/test_openai/test_openai_prompted_output_multiple.yaml +0 -0
  379. {pydantic_ai-1.5.0 → pydantic_ai-1.6.0}/tests/models/cassettes/test_openai/test_openai_text_output_function.yaml +0 -0
  380. {pydantic_ai-1.5.0 → pydantic_ai-1.6.0}/tests/models/cassettes/test_openai/test_openai_tool_output.yaml +0 -0
  381. {pydantic_ai-1.5.0 → pydantic_ai-1.6.0}/tests/models/cassettes/test_openai/test_openai_web_search_tool.yaml +0 -0
  382. {pydantic_ai-1.5.0 → pydantic_ai-1.6.0}/tests/models/cassettes/test_openai/test_openai_web_search_tool_model_not_supported.yaml +0 -0
  383. {pydantic_ai-1.5.0 → pydantic_ai-1.6.0}/tests/models/cassettes/test_openai/test_openai_web_search_tool_with_user_location.yaml +0 -0
  384. {pydantic_ai-1.5.0 → pydantic_ai-1.6.0}/tests/models/cassettes/test_openai/test_reasoning_model_with_temperature.yaml +0 -0
  385. {pydantic_ai-1.5.0 → pydantic_ai-1.6.0}/tests/models/cassettes/test_openai/test_system_prompt_role_o1_mini.yaml +0 -0
  386. {pydantic_ai-1.5.0 → pydantic_ai-1.6.0}/tests/models/cassettes/test_openai/test_text_document_as_binary_content_input.yaml +0 -0
  387. {pydantic_ai-1.5.0 → pydantic_ai-1.6.0}/tests/models/cassettes/test_openai/test_text_document_url_input.yaml +0 -0
  388. {pydantic_ai-1.5.0 → pydantic_ai-1.6.0}/tests/models/cassettes/test_openai/test_text_response.yaml +0 -0
  389. {pydantic_ai-1.5.0 → pydantic_ai-1.6.0}/tests/models/cassettes/test_openai/test_user_id.yaml +0 -0
  390. {pydantic_ai-1.5.0 → pydantic_ai-1.6.0}/tests/models/cassettes/test_openai/test_valid_response.yaml +0 -0
  391. {pydantic_ai-1.5.0 → pydantic_ai-1.6.0}/tests/models/cassettes/test_openai_responses/test_audio_as_binary_content_input.yaml +0 -0
  392. {pydantic_ai-1.5.0 → pydantic_ai-1.6.0}/tests/models/cassettes/test_openai_responses/test_image_as_binary_content_input.yaml +0 -0
  393. {pydantic_ai-1.5.0 → pydantic_ai-1.6.0}/tests/models/cassettes/test_openai_responses/test_image_as_binary_content_tool_response.yaml +0 -0
  394. {pydantic_ai-1.5.0 → pydantic_ai-1.6.0}/tests/models/cassettes/test_openai_responses/test_native_output.yaml +0 -0
  395. {pydantic_ai-1.5.0 → pydantic_ai-1.6.0}/tests/models/cassettes/test_openai_responses/test_native_output_multiple.yaml +0 -0
  396. {pydantic_ai-1.5.0 → pydantic_ai-1.6.0}/tests/models/cassettes/test_openai_responses/test_openai_previous_response_id.yaml +0 -0
  397. {pydantic_ai-1.5.0 → pydantic_ai-1.6.0}/tests/models/cassettes/test_openai_responses/test_openai_previous_response_id_auto_mode.yaml +0 -0
  398. {pydantic_ai-1.5.0 → pydantic_ai-1.6.0}/tests/models/cassettes/test_openai_responses/test_openai_responses_code_execution_return_image.yaml +0 -0
  399. {pydantic_ai-1.5.0 → pydantic_ai-1.6.0}/tests/models/cassettes/test_openai_responses/test_openai_responses_code_execution_return_image_stream.yaml +0 -0
  400. {pydantic_ai-1.5.0 → pydantic_ai-1.6.0}/tests/models/cassettes/test_openai_responses/test_openai_responses_document_as_binary_content_input.yaml +0 -0
  401. {pydantic_ai-1.5.0 → pydantic_ai-1.6.0}/tests/models/cassettes/test_openai_responses/test_openai_responses_document_url_input.yaml +0 -0
  402. {pydantic_ai-1.5.0 → pydantic_ai-1.6.0}/tests/models/cassettes/test_openai_responses/test_openai_responses_history_with_combined_tool_call_id.yaml +0 -0
  403. {pydantic_ai-1.5.0 → pydantic_ai-1.6.0}/tests/models/cassettes/test_openai_responses/test_openai_responses_image_and_text_output.yaml +0 -0
  404. {pydantic_ai-1.5.0 → pydantic_ai-1.6.0}/tests/models/cassettes/test_openai_responses/test_openai_responses_image_generation.yaml +0 -0
  405. {pydantic_ai-1.5.0 → pydantic_ai-1.6.0}/tests/models/cassettes/test_openai_responses/test_openai_responses_image_generation_jpeg.yaml +0 -0
  406. {pydantic_ai-1.5.0 → pydantic_ai-1.6.0}/tests/models/cassettes/test_openai_responses/test_openai_responses_image_generation_stream.yaml +0 -0
  407. {pydantic_ai-1.5.0 → pydantic_ai-1.6.0}/tests/models/cassettes/test_openai_responses/test_openai_responses_image_generation_tool_without_image_output.yaml +0 -0
  408. {pydantic_ai-1.5.0 → pydantic_ai-1.6.0}/tests/models/cassettes/test_openai_responses/test_openai_responses_image_generation_with_native_output.yaml +0 -0
  409. {pydantic_ai-1.5.0 → pydantic_ai-1.6.0}/tests/models/cassettes/test_openai_responses/test_openai_responses_image_generation_with_prompted_output.yaml +0 -0
  410. {pydantic_ai-1.5.0 → pydantic_ai-1.6.0}/tests/models/cassettes/test_openai_responses/test_openai_responses_image_generation_with_tool_output.yaml +0 -0
  411. {pydantic_ai-1.5.0 → pydantic_ai-1.6.0}/tests/models/cassettes/test_openai_responses/test_openai_responses_image_generation_with_tools.yaml +0 -0
  412. {pydantic_ai-1.5.0 → pydantic_ai-1.6.0}/tests/models/cassettes/test_openai_responses/test_openai_responses_image_or_text_output.yaml +0 -0
  413. {pydantic_ai-1.5.0 → pydantic_ai-1.6.0}/tests/models/cassettes/test_openai_responses/test_openai_responses_image_url_input.yaml +0 -0
  414. {pydantic_ai-1.5.0 → pydantic_ai-1.6.0}/tests/models/cassettes/test_openai_responses/test_openai_responses_model_builtin_tools.yaml +0 -0
  415. {pydantic_ai-1.5.0 → pydantic_ai-1.6.0}/tests/models/cassettes/test_openai_responses/test_openai_responses_model_builtin_tools_web_search.yaml +0 -0
  416. {pydantic_ai-1.5.0 → pydantic_ai-1.6.0}/tests/models/cassettes/test_openai_responses/test_openai_responses_model_http_error.yaml +0 -0
  417. {pydantic_ai-1.5.0 → pydantic_ai-1.6.0}/tests/models/cassettes/test_openai_responses/test_openai_responses_model_instructions.yaml +0 -0
  418. {pydantic_ai-1.5.0 → pydantic_ai-1.6.0}/tests/models/cassettes/test_openai_responses/test_openai_responses_model_mcp_server_tool.yaml +0 -0
  419. {pydantic_ai-1.5.0 → pydantic_ai-1.6.0}/tests/models/cassettes/test_openai_responses/test_openai_responses_model_mcp_server_tool_stream.yaml +0 -0
  420. {pydantic_ai-1.5.0 → pydantic_ai-1.6.0}/tests/models/cassettes/test_openai_responses/test_openai_responses_model_mcp_server_tool_with_connector.yaml +0 -0
  421. {pydantic_ai-1.5.0 → pydantic_ai-1.6.0}/tests/models/cassettes/test_openai_responses/test_openai_responses_model_retry.yaml +0 -0
  422. {pydantic_ai-1.5.0 → pydantic_ai-1.6.0}/tests/models/cassettes/test_openai_responses/test_openai_responses_model_simple_response.yaml +0 -0
  423. {pydantic_ai-1.5.0 → pydantic_ai-1.6.0}/tests/models/cassettes/test_openai_responses/test_openai_responses_model_thinking_part.yaml +0 -0
  424. {pydantic_ai-1.5.0 → pydantic_ai-1.6.0}/tests/models/cassettes/test_openai_responses/test_openai_responses_model_web_search_tool.yaml +0 -0
  425. {pydantic_ai-1.5.0 → pydantic_ai-1.6.0}/tests/models/cassettes/test_openai_responses/test_openai_responses_model_web_search_tool_stream.yaml +0 -0
  426. {pydantic_ai-1.5.0 → pydantic_ai-1.6.0}/tests/models/cassettes/test_openai_responses/test_openai_responses_model_web_search_tool_with_invalid_region.yaml +0 -0
  427. {pydantic_ai-1.5.0 → pydantic_ai-1.6.0}/tests/models/cassettes/test_openai_responses/test_openai_responses_model_web_search_tool_with_user_location.yaml +0 -0
  428. {pydantic_ai-1.5.0 → pydantic_ai-1.6.0}/tests/models/cassettes/test_openai_responses/test_openai_responses_multiple_images.yaml +0 -0
  429. {pydantic_ai-1.5.0 → pydantic_ai-1.6.0}/tests/models/cassettes/test_openai_responses/test_openai_responses_non_reasoning_model_no_item_ids.yaml +0 -0
  430. {pydantic_ai-1.5.0 → pydantic_ai-1.6.0}/tests/models/cassettes/test_openai_responses/test_openai_responses_output_type.yaml +0 -0
  431. {pydantic_ai-1.5.0 → pydantic_ai-1.6.0}/tests/models/cassettes/test_openai_responses/test_openai_responses_reasoning_effort.yaml +0 -0
  432. {pydantic_ai-1.5.0 → pydantic_ai-1.6.0}/tests/models/cassettes/test_openai_responses/test_openai_responses_reasoning_generate_summary.yaml +0 -0
  433. {pydantic_ai-1.5.0 → pydantic_ai-1.6.0}/tests/models/cassettes/test_openai_responses/test_openai_responses_stream.yaml +0 -0
  434. {pydantic_ai-1.5.0 → pydantic_ai-1.6.0}/tests/models/cassettes/test_openai_responses/test_openai_responses_streaming_usage.yaml +0 -0
  435. {pydantic_ai-1.5.0 → pydantic_ai-1.6.0}/tests/models/cassettes/test_openai_responses/test_openai_responses_system_prompt.yaml +0 -0
  436. {pydantic_ai-1.5.0 → pydantic_ai-1.6.0}/tests/models/cassettes/test_openai_responses/test_openai_responses_text_document_url_input.yaml +0 -0
  437. {pydantic_ai-1.5.0 → pydantic_ai-1.6.0}/tests/models/cassettes/test_openai_responses/test_openai_responses_thinking_part_from_other_model.yaml +0 -0
  438. {pydantic_ai-1.5.0 → pydantic_ai-1.6.0}/tests/models/cassettes/test_openai_responses/test_openai_responses_thinking_part_iter.yaml +0 -0
  439. {pydantic_ai-1.5.0 → pydantic_ai-1.6.0}/tests/models/cassettes/test_openai_responses/test_openai_responses_thinking_with_code_execution_tool.yaml +0 -0
  440. {pydantic_ai-1.5.0 → pydantic_ai-1.6.0}/tests/models/cassettes/test_openai_responses/test_openai_responses_thinking_with_code_execution_tool_stream.yaml +0 -0
  441. {pydantic_ai-1.5.0 → pydantic_ai-1.6.0}/tests/models/cassettes/test_openai_responses/test_openai_responses_thinking_with_modified_history.yaml +0 -0
  442. {pydantic_ai-1.5.0 → pydantic_ai-1.6.0}/tests/models/cassettes/test_openai_responses/test_openai_responses_thinking_with_tool_calls.yaml +0 -0
  443. {pydantic_ai-1.5.0 → pydantic_ai-1.6.0}/tests/models/cassettes/test_openai_responses/test_openai_responses_verbosity.yaml +0 -0
  444. {pydantic_ai-1.5.0 → pydantic_ai-1.6.0}/tests/models/cassettes/test_openai_responses/test_prompted_output.yaml +0 -0
  445. {pydantic_ai-1.5.0 → pydantic_ai-1.6.0}/tests/models/cassettes/test_openai_responses/test_prompted_output_multiple.yaml +0 -0
  446. {pydantic_ai-1.5.0 → pydantic_ai-1.6.0}/tests/models/cassettes/test_openai_responses/test_reasoning_model_with_temperature.yaml +0 -0
  447. {pydantic_ai-1.5.0 → pydantic_ai-1.6.0}/tests/models/cassettes/test_openai_responses/test_text_output_function.yaml +0 -0
  448. {pydantic_ai-1.5.0 → pydantic_ai-1.6.0}/tests/models/cassettes/test_openai_responses/test_tool_output.yaml +0 -0
  449. {pydantic_ai-1.5.0 → pydantic_ai-1.6.0}/tests/models/mock_async_stream.py +0 -0
  450. {pydantic_ai-1.5.0 → pydantic_ai-1.6.0}/tests/models/mock_openai.py +0 -0
  451. {pydantic_ai-1.5.0 → pydantic_ai-1.6.0}/tests/models/test_anthropic.py +0 -0
  452. {pydantic_ai-1.5.0 → pydantic_ai-1.6.0}/tests/models/test_bedrock.py +0 -0
  453. {pydantic_ai-1.5.0 → pydantic_ai-1.6.0}/tests/models/test_cohere.py +0 -0
  454. {pydantic_ai-1.5.0 → pydantic_ai-1.6.0}/tests/models/test_deepseek.py +0 -0
  455. {pydantic_ai-1.5.0 → pydantic_ai-1.6.0}/tests/models/test_download_item.py +0 -0
  456. {pydantic_ai-1.5.0 → pydantic_ai-1.6.0}/tests/models/test_fallback.py +0 -0
  457. {pydantic_ai-1.5.0 → pydantic_ai-1.6.0}/tests/models/test_gemini.py +0 -0
  458. {pydantic_ai-1.5.0 → pydantic_ai-1.6.0}/tests/models/test_gemini_vertex.py +0 -0
  459. {pydantic_ai-1.5.0 → pydantic_ai-1.6.0}/tests/models/test_google.py +0 -0
  460. {pydantic_ai-1.5.0 → pydantic_ai-1.6.0}/tests/models/test_groq.py +0 -0
  461. {pydantic_ai-1.5.0 → pydantic_ai-1.6.0}/tests/models/test_huggingface.py +0 -0
  462. {pydantic_ai-1.5.0 → pydantic_ai-1.6.0}/tests/models/test_instrumented.py +0 -0
  463. {pydantic_ai-1.5.0 → pydantic_ai-1.6.0}/tests/models/test_mcp_sampling.py +0 -0
  464. {pydantic_ai-1.5.0 → pydantic_ai-1.6.0}/tests/models/test_mistral.py +0 -0
  465. {pydantic_ai-1.5.0 → pydantic_ai-1.6.0}/tests/models/test_model.py +0 -0
  466. {pydantic_ai-1.5.0 → pydantic_ai-1.6.0}/tests/models/test_model_function.py +0 -0
  467. {pydantic_ai-1.5.0 → pydantic_ai-1.6.0}/tests/models/test_model_names.py +0 -0
  468. {pydantic_ai-1.5.0 → pydantic_ai-1.6.0}/tests/models/test_model_request_parameters.py +0 -0
  469. {pydantic_ai-1.5.0 → pydantic_ai-1.6.0}/tests/models/test_model_settings.py +0 -0
  470. {pydantic_ai-1.5.0 → pydantic_ai-1.6.0}/tests/models/test_openai.py +0 -0
  471. {pydantic_ai-1.5.0 → pydantic_ai-1.6.0}/tests/parts_from_messages.py +0 -0
  472. {pydantic_ai-1.5.0 → pydantic_ai-1.6.0}/tests/providers/__init__.py +0 -0
  473. {pydantic_ai-1.5.0 → pydantic_ai-1.6.0}/tests/providers/cassettes/test_azure/test_azure_provider_call.yaml +0 -0
  474. {pydantic_ai-1.5.0 → pydantic_ai-1.6.0}/tests/providers/cassettes/test_gateway/test_gateway_provider_with_anthropic.yaml +0 -0
  475. {pydantic_ai-1.5.0 → pydantic_ai-1.6.0}/tests/providers/cassettes/test_gateway/test_gateway_provider_with_bedrock.yaml +0 -0
  476. {pydantic_ai-1.5.0 → pydantic_ai-1.6.0}/tests/providers/cassettes/test_gateway/test_gateway_provider_with_google_vertex.yaml +0 -0
  477. {pydantic_ai-1.5.0 → pydantic_ai-1.6.0}/tests/providers/cassettes/test_gateway/test_gateway_provider_with_groq.yaml +0 -0
  478. {pydantic_ai-1.5.0 → pydantic_ai-1.6.0}/tests/providers/cassettes/test_gateway/test_gateway_provider_with_openai.yaml +0 -0
  479. {pydantic_ai-1.5.0 → pydantic_ai-1.6.0}/tests/providers/cassettes/test_gateway/test_gateway_provider_with_openai_responses.yaml +0 -0
  480. {pydantic_ai-1.5.0 → pydantic_ai-1.6.0}/tests/providers/cassettes/test_google_vertex/test_vertexai_provider.yaml +0 -0
  481. {pydantic_ai-1.5.0 → pydantic_ai-1.6.0}/tests/providers/cassettes/test_heroku/test_heroku_model_provider_claude_3_7_sonnet.yaml +0 -0
  482. {pydantic_ai-1.5.0 → pydantic_ai-1.6.0}/tests/providers/cassettes/test_openrouter/test_openrouter_with_google_model.yaml +0 -0
  483. {pydantic_ai-1.5.0 → pydantic_ai-1.6.0}/tests/providers/test_anthropic.py +0 -0
  484. {pydantic_ai-1.5.0 → pydantic_ai-1.6.0}/tests/providers/test_azure.py +0 -0
  485. {pydantic_ai-1.5.0 → pydantic_ai-1.6.0}/tests/providers/test_bedrock.py +0 -0
  486. {pydantic_ai-1.5.0 → pydantic_ai-1.6.0}/tests/providers/test_cerebras.py +0 -0
  487. {pydantic_ai-1.5.0 → pydantic_ai-1.6.0}/tests/providers/test_cohere.py +0 -0
  488. {pydantic_ai-1.5.0 → pydantic_ai-1.6.0}/tests/providers/test_deepseek.py +0 -0
  489. {pydantic_ai-1.5.0 → pydantic_ai-1.6.0}/tests/providers/test_fireworks.py +0 -0
  490. {pydantic_ai-1.5.0 → pydantic_ai-1.6.0}/tests/providers/test_gateway.py +0 -0
  491. {pydantic_ai-1.5.0 → pydantic_ai-1.6.0}/tests/providers/test_github.py +0 -0
  492. {pydantic_ai-1.5.0 → pydantic_ai-1.6.0}/tests/providers/test_google_gla.py +0 -0
  493. {pydantic_ai-1.5.0 → pydantic_ai-1.6.0}/tests/providers/test_google_vertex.py +0 -0
  494. {pydantic_ai-1.5.0 → pydantic_ai-1.6.0}/tests/providers/test_grok.py +0 -0
  495. {pydantic_ai-1.5.0 → pydantic_ai-1.6.0}/tests/providers/test_groq.py +0 -0
  496. {pydantic_ai-1.5.0 → pydantic_ai-1.6.0}/tests/providers/test_heroku.py +0 -0
  497. {pydantic_ai-1.5.0 → pydantic_ai-1.6.0}/tests/providers/test_huggingface.py +0 -0
  498. {pydantic_ai-1.5.0 → pydantic_ai-1.6.0}/tests/providers/test_litellm.py +0 -0
  499. {pydantic_ai-1.5.0 → pydantic_ai-1.6.0}/tests/providers/test_mistral.py +0 -0
  500. {pydantic_ai-1.5.0 → pydantic_ai-1.6.0}/tests/providers/test_moonshotai.py +0 -0
  501. {pydantic_ai-1.5.0 → pydantic_ai-1.6.0}/tests/providers/test_nebius.py +0 -0
  502. {pydantic_ai-1.5.0 → pydantic_ai-1.6.0}/tests/providers/test_ollama.py +0 -0
  503. {pydantic_ai-1.5.0 → pydantic_ai-1.6.0}/tests/providers/test_openai.py +0 -0
  504. {pydantic_ai-1.5.0 → pydantic_ai-1.6.0}/tests/providers/test_openrouter.py +0 -0
  505. {pydantic_ai-1.5.0 → pydantic_ai-1.6.0}/tests/providers/test_ovhcloud.py +0 -0
  506. {pydantic_ai-1.5.0 → pydantic_ai-1.6.0}/tests/providers/test_provider_names.py +0 -0
  507. {pydantic_ai-1.5.0 → pydantic_ai-1.6.0}/tests/providers/test_together.py +0 -0
  508. {pydantic_ai-1.5.0 → pydantic_ai-1.6.0}/tests/providers/test_vercel.py +0 -0
  509. {pydantic_ai-1.5.0 → pydantic_ai-1.6.0}/tests/test_a2a.py +0 -0
  510. {pydantic_ai-1.5.0 → pydantic_ai-1.6.0}/tests/test_ag_ui.py +0 -0
  511. {pydantic_ai-1.5.0 → pydantic_ai-1.6.0}/tests/test_builtin_tools.py +0 -0
  512. {pydantic_ai-1.5.0 → pydantic_ai-1.6.0}/tests/test_cli.py +0 -0
  513. {pydantic_ai-1.5.0 → pydantic_ai-1.6.0}/tests/test_dbos.py +0 -0
  514. {pydantic_ai-1.5.0 → pydantic_ai-1.6.0}/tests/test_deps.py +0 -0
  515. {pydantic_ai-1.5.0 → pydantic_ai-1.6.0}/tests/test_direct.py +0 -0
  516. {pydantic_ai-1.5.0 → pydantic_ai-1.6.0}/tests/test_examples.py +0 -0
  517. {pydantic_ai-1.5.0 → pydantic_ai-1.6.0}/tests/test_format_as_xml.py +0 -0
  518. {pydantic_ai-1.5.0 → pydantic_ai-1.6.0}/tests/test_function_schema.py +0 -0
  519. {pydantic_ai-1.5.0 → pydantic_ai-1.6.0}/tests/test_history_processor.py +0 -0
  520. {pydantic_ai-1.5.0 → pydantic_ai-1.6.0}/tests/test_json_body_serializer.py +0 -0
  521. {pydantic_ai-1.5.0 → pydantic_ai-1.6.0}/tests/test_live.py +0 -0
  522. {pydantic_ai-1.5.0 → pydantic_ai-1.6.0}/tests/test_logfire.py +0 -0
  523. {pydantic_ai-1.5.0 → pydantic_ai-1.6.0}/tests/test_mcp.py +0 -0
  524. {pydantic_ai-1.5.0 → pydantic_ai-1.6.0}/tests/test_messages.py +0 -0
  525. {pydantic_ai-1.5.0 → pydantic_ai-1.6.0}/tests/test_parts_manager.py +0 -0
  526. {pydantic_ai-1.5.0 → pydantic_ai-1.6.0}/tests/test_prefect.py +0 -0
  527. {pydantic_ai-1.5.0 → pydantic_ai-1.6.0}/tests/test_settings.py +0 -0
  528. {pydantic_ai-1.5.0 → pydantic_ai-1.6.0}/tests/test_streaming.py +0 -0
  529. {pydantic_ai-1.5.0 → pydantic_ai-1.6.0}/tests/test_temporal.py +0 -0
  530. {pydantic_ai-1.5.0 → pydantic_ai-1.6.0}/tests/test_tenacity.py +0 -0
  531. {pydantic_ai-1.5.0 → pydantic_ai-1.6.0}/tests/test_thinking_part.py +0 -0
  532. {pydantic_ai-1.5.0 → pydantic_ai-1.6.0}/tests/test_tools.py +0 -0
  533. {pydantic_ai-1.5.0 → pydantic_ai-1.6.0}/tests/test_toolsets.py +0 -0
  534. {pydantic_ai-1.5.0 → pydantic_ai-1.6.0}/tests/test_usage_limits.py +0 -0
  535. {pydantic_ai-1.5.0 → pydantic_ai-1.6.0}/tests/test_utils.py +0 -0
  536. {pydantic_ai-1.5.0 → pydantic_ai-1.6.0}/tests/typed_agent.py +0 -0
  537. {pydantic_ai-1.5.0 → pydantic_ai-1.6.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.5.0
3
+ Version: 1.6.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.5.0
29
+ Requires-Dist: pydantic-ai-slim[ag-ui,anthropic,bedrock,cli,cohere,evals,fastmcp,google,groq,huggingface,logfire,mcp,mistral,openai,retries,temporal,vertexai]==1.6.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.5.0; extra == 'dbos'
33
+ Requires-Dist: pydantic-ai-slim[dbos]==1.6.0; extra == 'dbos'
34
34
  Provides-Extra: examples
35
- Requires-Dist: pydantic-ai-examples==1.5.0; extra == 'examples'
35
+ Requires-Dist: pydantic-ai-examples==1.6.0; extra == 'examples'
36
36
  Provides-Extra: prefect
37
- Requires-Dist: pydantic-ai-slim[prefect]==1.5.0; extra == 'prefect'
37
+ Requires-Dist: pydantic-ai-slim[prefect]==1.6.0; extra == 'prefect'
38
38
  Description-Content-Type: text/markdown
39
39
 
40
40
  <div align="center">
@@ -46,7 +46,7 @@ requires-python = ">=3.10"
46
46
 
47
47
  [tool.hatch.metadata.hooks.uv-dynamic-versioning]
48
48
  dependencies = [
49
- "pydantic-ai-slim[openai,vertexai,google,groq,anthropic,mistral,cohere,bedrock,huggingface,cli,mcp,evals,ag-ui,retries,temporal,logfire]=={{ version }}",
49
+ "pydantic-ai-slim[openai,vertexai,google,groq,anthropic,mistral,cohere,bedrock,huggingface,cli,mcp,fastmcp,evals,ag-ui,retries,temporal,logfire]=={{ version }}",
50
50
  ]
51
51
 
52
52
  [tool.hatch.metadata.hooks.uv-dynamic-versioning.optional-dependencies]
@@ -232,6 +232,7 @@ filterwarnings = [
232
232
  "ignore:unclosed <socket:ResourceWarning",
233
233
  "ignore:unclosed event loop:ResourceWarning",
234
234
  ]
235
+ # addopts = ["--inline-snapshot=create,fix"]
235
236
 
236
237
  # https://coverage.readthedocs.io/en/latest/config.html#run
237
238
  [tool.coverage.run]
@@ -8,7 +8,7 @@ interactions:
8
8
  connection:
9
9
  - keep-alive
10
10
  content-length:
11
- - '338'
11
+ - '337'
12
12
  content-type:
13
13
  - application/json
14
14
  host:
@@ -18,11 +18,11 @@ interactions:
18
18
  input:
19
19
  - content: What is the capital of PotatoLand?
20
20
  role: user
21
- instructions: ''
22
21
  model: gpt-4o
22
+ stream: false
23
23
  tool_choice: auto
24
24
  tools:
25
- - description: ''
25
+ - description: null
26
26
  name: get_capital
27
27
  parameters:
28
28
  additionalProperties: false
@@ -42,13 +42,15 @@ interactions:
42
42
  connection:
43
43
  - keep-alive
44
44
  content-length:
45
- - '1497'
45
+ - '1720'
46
46
  content-type:
47
47
  - application/json
48
48
  openai-organization:
49
49
  - pydantic-28gund
50
50
  openai-processing-ms:
51
- - '666'
51
+ - '1811'
52
+ openai-project:
53
+ - proj_dKobscVY9YJxeEaDJen54e3d
52
54
  openai-version:
53
55
  - '2020-10-01'
54
56
  strict-transport-security:
@@ -56,33 +58,41 @@ interactions:
56
58
  transfer-encoding:
57
59
  - chunked
58
60
  parsed_body:
59
- created_at: 1743075630
61
+ background: false
62
+ billing:
63
+ payer: developer
64
+ created_at: 1761323546
60
65
  error: null
61
- id: resp_67e5392eae34819184408ee7e23f50160aa13be256b050b4
66
+ id: resp_04907f5d3de791830068fbaa19bb908195a91378279dba0f14
62
67
  incomplete_details: null
63
- instructions: ''
68
+ instructions: null
64
69
  max_output_tokens: null
70
+ max_tool_calls: null
65
71
  metadata: {}
66
72
  model: gpt-4o-2024-08-06
67
73
  object: response
68
74
  output:
69
75
  - arguments: '{"country":"PotatoLand"}'
70
- call_id: call_Zmx4ZiPQOvoNEhLgG16TO3nx
71
- id: fc_67e5392f33ac8191b215eeff4f9931f80aa13be256b050b4
76
+ call_id: call_YfwRsW8sUxDKipwyhWTzOXCA
77
+ id: fc_04907f5d3de791830068fbaa1b310c81958dc9c508e878c632
72
78
  name: get_capital
73
79
  status: completed
74
80
  type: function_call
75
81
  parallel_tool_calls: true
76
82
  previous_response_id: null
83
+ prompt_cache_key: null
77
84
  reasoning:
78
85
  effort: null
79
- generate_summary: null
86
+ summary: null
87
+ safety_identifier: null
88
+ service_tier: default
80
89
  status: completed
81
90
  store: true
82
91
  temperature: 1.0
83
92
  text:
84
93
  format:
85
94
  type: text
95
+ verbosity: medium
86
96
  tool_choice: auto
87
97
  tools:
88
98
  - description: null
@@ -97,16 +107,17 @@ interactions:
97
107
  type: object
98
108
  strict: true
99
109
  type: function
110
+ top_logprobs: 0
100
111
  top_p: 1.0
101
112
  truncation: disabled
102
113
  usage:
103
- input_tokens: 256
114
+ input_tokens: 40
104
115
  input_tokens_details:
105
116
  cached_tokens: 0
106
117
  output_tokens: 18
107
118
  output_tokens_details:
108
119
  reasoning_tokens: 0
109
- total_tokens: 274
120
+ total_tokens: 58
110
121
  user: null
111
122
  status:
112
123
  code: 200
@@ -120,12 +131,12 @@ interactions:
120
131
  connection:
121
132
  - keep-alive
122
133
  content-length:
123
- - '600'
134
+ - '579'
124
135
  content-type:
125
136
  - application/json
126
137
  cookie:
127
- - __cf_bm=vVsJhB9A9X9_43ZZ4_DPKFw_dO0SSxBWEhx4UiGncwQ-1743075631-1.0.1.1-N3mdrI4LFgBBnd_XI5x81Q5KKuykqiNo8wFt1XpgnPkVX0ISneJo_Yh1B3ZyfLeI5LaMdhMxhGB6wOfgrg4pP9f33KlF4C8grewNF05MpKw;
128
- _cfuvid=vB6MpPuauumuSrL6beYNRLXeNQt2_XZpKzom2c97AFI-1743075631374-0.0.1.1-604800000
138
+ - __cf_bm=g29aPgrRIxmp3X5o6PZW9E8aKljsJ3_YKN58sMhqjnI-1761323547-1.0.1.1-Uj.mPGHnvAjpHojYAfG.QReYxHtLCz0jBoPrirBGA48A.LawB_Afgv0C8s0DC2TIU2y6zbyq4bA1moTVcNApxaq4NaLqfKpLe2hQBB_xM.M;
139
+ _cfuvid=kiKLNQ6S_H_I6dKfHm0bpQwt35G4FrXx6u4P3LxaXIQ-1761323547535-0.0.1.1-604800000
129
140
  host:
130
141
  - api.openai.com
131
142
  method: POST
@@ -133,20 +144,19 @@ interactions:
133
144
  input:
134
145
  - content: What is the capital of PotatoLand?
135
146
  role: user
136
- - content: ''
137
- role: assistant
138
147
  - arguments: '{"country":"PotatoLand"}'
139
- call_id: call_Zmx4ZiPQOvoNEhLgG16TO3nx
148
+ call_id: call_YfwRsW8sUxDKipwyhWTzOXCA
140
149
  name: get_capital
150
+ status: null
141
151
  type: function_call
142
- - call_id: call_Zmx4ZiPQOvoNEhLgG16TO3nx
152
+ - call_id: call_YfwRsW8sUxDKipwyhWTzOXCA
143
153
  output: Potato City
144
154
  type: function_call_output
145
- instructions: ''
146
155
  model: gpt-4o
156
+ stream: false
147
157
  tool_choice: auto
148
158
  tools:
149
- - description: ''
159
+ - description: null
150
160
  name: get_capital
151
161
  parameters:
152
162
  additionalProperties: false
@@ -166,13 +176,15 @@ interactions:
166
176
  connection:
167
177
  - keep-alive
168
178
  content-length:
169
- - '1561'
179
+ - '1810'
170
180
  content-type:
171
181
  - application/json
172
182
  openai-organization:
173
183
  - pydantic-28gund
174
184
  openai-processing-ms:
175
- - '470'
185
+ - '1028'
186
+ openai-project:
187
+ - proj_dKobscVY9YJxeEaDJen54e3d
176
188
  openai-version:
177
189
  - '2020-10-01'
178
190
  strict-transport-security:
@@ -180,35 +192,44 @@ interactions:
180
192
  transfer-encoding:
181
193
  - chunked
182
194
  parsed_body:
183
- created_at: 1743075631
195
+ background: false
196
+ billing:
197
+ payer: developer
198
+ created_at: 1761323547
184
199
  error: null
185
- id: resp_67e5392f80808191affe6ff7af237dba0b8eafaa14d24d42
200
+ id: resp_0e9950da9eac6a780068fbaa1bc030819da585a6f85ddad1e6
186
201
  incomplete_details: null
187
- instructions: ''
202
+ instructions: null
188
203
  max_output_tokens: null
204
+ max_tool_calls: null
189
205
  metadata: {}
190
206
  model: gpt-4o-2024-08-06
191
207
  object: response
192
208
  output:
193
209
  - content:
194
210
  - annotations: []
211
+ logprobs: []
195
212
  text: The capital of PotatoLand is Potato City.
196
213
  type: output_text
197
- id: msg_67e5392fd7b4819190bec4e770968a9d0b8eafaa14d24d42
214
+ id: msg_0e9950da9eac6a780068fbaa1c738c819d8bddf998e57232c3
198
215
  role: assistant
199
216
  status: completed
200
217
  type: message
201
218
  parallel_tool_calls: true
202
219
  previous_response_id: null
220
+ prompt_cache_key: null
203
221
  reasoning:
204
222
  effort: null
205
- generate_summary: null
223
+ summary: null
224
+ safety_identifier: null
225
+ service_tier: default
206
226
  status: completed
207
227
  store: true
208
228
  temperature: 1.0
209
229
  text:
210
230
  format:
211
231
  type: text
232
+ verbosity: medium
212
233
  tool_choice: auto
213
234
  tools:
214
235
  - description: null
@@ -223,16 +244,17 @@ interactions:
223
244
  type: object
224
245
  strict: true
225
246
  type: function
247
+ top_logprobs: 0
226
248
  top_p: 1.0
227
249
  truncation: disabled
228
250
  usage:
229
- input_tokens: 287
251
+ input_tokens: 67
230
252
  input_tokens_details:
231
253
  cached_tokens: 0
232
254
  output_tokens: 11
233
255
  output_tokens_details:
234
256
  reasoning_tokens: 0
235
- total_tokens: 298
257
+ total_tokens: 78
236
258
  user: null
237
259
  status:
238
260
  code: 200
@@ -0,0 +1,259 @@
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
+ - '331'
12
+ content-type:
13
+ - application/json
14
+ host:
15
+ - api.openai.com
16
+ method: POST
17
+ parsed_body:
18
+ include:
19
+ - reasoning.encrypted_content
20
+ input:
21
+ - content: What is the meaning of life?
22
+ role: user
23
+ model: gpt-5
24
+ stream: false
25
+ tool_choice: auto
26
+ tools:
27
+ - description: null
28
+ name: get_meaning_of_life
29
+ parameters:
30
+ additionalProperties: false
31
+ properties: {}
32
+ type: object
33
+ strict: false
34
+ type: function
35
+ uri: https://api.openai.com/v1/responses
36
+ response:
37
+ headers:
38
+ alt-svc:
39
+ - h3=":443"; ma=86400
40
+ connection:
41
+ - keep-alive
42
+ content-length:
43
+ - '3684'
44
+ content-type:
45
+ - application/json
46
+ openai-organization:
47
+ - pydantic-28gund
48
+ openai-processing-ms:
49
+ - '8638'
50
+ openai-project:
51
+ - proj_dKobscVY9YJxeEaDJen54e3d
52
+ openai-version:
53
+ - '2020-10-01'
54
+ strict-transport-security:
55
+ - max-age=31536000; includeSubDomains; preload
56
+ transfer-encoding:
57
+ - chunked
58
+ parsed_body:
59
+ background: false
60
+ billing:
61
+ payer: developer
62
+ created_at: 1761324027
63
+ error: null
64
+ id: resp_01d311e2633707df0068fbabfb646481a2ac6e226bbbb42ca6
65
+ incomplete_details: null
66
+ instructions: null
67
+ max_output_tokens: null
68
+ max_tool_calls: null
69
+ metadata: {}
70
+ model: gpt-5-2025-08-07
71
+ object: response
72
+ output:
73
+ - encrypted_content: gAAAAABo-6wE6H4S9A886ZkwXcvvHqZ6Vx5BtpYvvNAJV5Ijq7pz-mTBJxfdjilNSzBj0ruy7NOsMRMhWzNahRf-n3KDQ2x1p-PjVCHM5IAGqHqae8A-aAUn_FDRiTbAT5N5FXTrZ80DAtdDv17z2HlODmTTYRvBU2-rX7opysjc4rf7-rvy6j4cUcNbM0ntT5DH8UHxC9LCM_s7Cb2unEV0jaDt7NzFxgfWN2u24Avs2EnjPoxOjd6BR-PWHJk_7kGGkVBub8NU7ZOyHsci3T8DAq_eX38DgkHJBJCPT4EqvlNP-VjPdecYEFUCw5G_Pye6h55-77g8LjkrFO43f8p6wscQ0iM601i1Ugmqbzxyv1ogPIN-YuSk2tkCw-D7xBD7I4fum2AmvyN-fR58lWcn-Z0WTqACA4baTJiCtW5b7uVeAp8vm8-gWzFR5BdDHVdQqu1TAKVWl_1P8NauDtd5M24MjVZd6WC0WrbTDPY9i2gieMMjFek2M8aoQFO0CG7r3JHn2zxfFB3THWCpl4VqZAQp6Ok7rymeY0Oayj--OLpNMBXIYUWc51eyYeurwQ943BSkf-m6PPVKO8T5U__Bx-biCNCePSlFKp7V0Du6h7UgYoqqonH2S3Jrg87c6dk7VJ7ca2i8sZqhy0rG6Kb7ENDVvwkMOdpnaFgdWd3VINp6P8j69kBQg-qwWP-YHPC9LnsjT2j1ktMowVO97eOpV4j2BhiThxunmu_SOIAEbghmjJEkLuRxLxBUPFRIajke2CvvFeIuReJr53isPKOxOjVzsc6oG5ZeykDlfz_mfEap7AByPNY0987zwG58tGueNxXjdpd7NQFcn_6DKj60SvUg0sk49V_QrDY3cAhSRvZoEeqA8XR97pEe7CByYMl80b9fzgyahc4NCdUwK8es2ll-lsJwEx1ZGdC8cB45QOrTnw8tJAUsSM44rLKwAQY-KsuN4UygO99d1CQZEm2YWtnPAvA9I-EhY87UIDx0CpPsEyxxFu2GZCTy7ceSnpcmQbAFWXzfBSpM7k42xVV8G8IK_bHpoF1enF5Vbc37_L_aWd4AgzuAwF_RVyd8exVh3NVJtO3BqPv72kTukr2Fok3KEaSeU0whP_dxr-thP2exS0F2Jdn13ZtB_pqxwKVWEsvzdbN92Q9qs10BAgYs2SA4cq66semwRl-1n-dr7XJyZzPOEiA9TQYgUCw0ueIc0ciMOZ0Waaj094bKIylw_TD5Bu1diXpzbTma_AVO-NZn7INhAZN3guSme-zIUEMrh66w0VJP-DbDA-ecSD41eMRSadyV4g86wLL4NOBE5NwSiSkwd2xJ9NqG7YohFM8BlPdEV4zhmqHcIKpVwAitFItqnAaUSU42Aebdritt9oNVnpKCeeA4QQv_8W7rOXJlLfGXRJUBCrh3Rv7KCVC3yncAOIU8FWu3jyaAqhLrWHLW958wjF8ka7lw80YZbToPjIuiii0UXu2w3Tv5EGVdkhf05A3Yj6M_LXStns8iBMzcU4-mJ1649FnnImLnW5AeohoWPBB6WYhW9gfwjuxejTI3Q5R0mo9jUSP3_tFiawlC2zFgvkNFufC6Kry8-Burjf8l6rpAX7_sjtCu1AlAbI6PEFtxcKhNWHfQp4mUATR6P4k68jk_Kl-FpRBtNOf8YOlLGrKE-WbwCoIV7VAgK2CTZJOxaslxVZRCLObNrA3XuEtc3jo8pMzqx8GJWshIgmF4XiQcmgh65U_kjB07adlgnbCZvGUXdIIQiA2vqIWC6Qu8SSO20nOOR65hGXyIgf4aOolU0Ljbi4slXnJKjbcPaX5O3cXvKHbkVFwXmHK2Ymaqb6fZcap78_On8jLK_GRlw3jV18SLeOcJiG2LqtHzcUawY4K7bPDNY2QX89yL5d4qxRF577QgzalmdQDsKyC_N-wk
74
+ id: rs_01d311e2633707df0068fbac0050ec81a2ad76fd9256abcaf7
75
+ summary: []
76
+ type: reasoning
77
+ - arguments: '{}'
78
+ call_id: call_cp3x6W9eeyMIryJUNhgMaP5w
79
+ id: fc_01d311e2633707df0068fbac038f1c81a29847e80d6a1a3f60
80
+ name: get_meaning_of_life
81
+ status: completed
82
+ type: function_call
83
+ parallel_tool_calls: true
84
+ previous_response_id: null
85
+ prompt_cache_key: null
86
+ reasoning:
87
+ effort: medium
88
+ summary: null
89
+ safety_identifier: null
90
+ service_tier: default
91
+ status: completed
92
+ store: true
93
+ temperature: 1.0
94
+ text:
95
+ format:
96
+ type: text
97
+ verbosity: medium
98
+ tool_choice: auto
99
+ tools:
100
+ - description: null
101
+ name: get_meaning_of_life
102
+ parameters:
103
+ additionalProperties: false
104
+ properties: {}
105
+ type: object
106
+ strict: false
107
+ type: function
108
+ top_logprobs: 0
109
+ top_p: 1.0
110
+ truncation: disabled
111
+ usage:
112
+ input_tokens: 40
113
+ input_tokens_details:
114
+ cached_tokens: 0
115
+ output_tokens: 148
116
+ output_tokens_details:
117
+ reasoning_tokens: 128
118
+ total_tokens: 188
119
+ user: null
120
+ status:
121
+ code: 200
122
+ message: OK
123
+ - request:
124
+ headers:
125
+ accept:
126
+ - application/json
127
+ accept-encoding:
128
+ - gzip, deflate
129
+ connection:
130
+ - keep-alive
131
+ content-length:
132
+ - '2657'
133
+ content-type:
134
+ - application/json
135
+ cookie:
136
+ - __cf_bm=a20Nzrk7DTPpmRffw18ZpyCrLHf7HDhqYWngumbFJ4o-1761324036-1.0.1.1-Skw5UKbxI7AAqeNwB.D2cjauVZMIxIxsewLmY9nVhUABO3i7atOpfBiPBFr1A4il.9jDlLHMwAbalm9g2YmBglrxZuFlqTscp7wDayD3Hy8;
137
+ _cfuvid=HNbo_nGCkQWJ8w2Px0MeYi9revYT4bEhukssgSPPJiw-1761324036053-0.0.1.1-604800000
138
+ host:
139
+ - api.openai.com
140
+ method: POST
141
+ parsed_body:
142
+ include:
143
+ - reasoning.encrypted_content
144
+ input:
145
+ - content: What is the meaning of life?
146
+ role: user
147
+ - encrypted_content: gAAAAABo-6wE6H4S9A886ZkwXcvvHqZ6Vx5BtpYvvNAJV5Ijq7pz-mTBJxfdjilNSzBj0ruy7NOsMRMhWzNahRf-n3KDQ2x1p-PjVCHM5IAGqHqae8A-aAUn_FDRiTbAT5N5FXTrZ80DAtdDv17z2HlODmTTYRvBU2-rX7opysjc4rf7-rvy6j4cUcNbM0ntT5DH8UHxC9LCM_s7Cb2unEV0jaDt7NzFxgfWN2u24Avs2EnjPoxOjd6BR-PWHJk_7kGGkVBub8NU7ZOyHsci3T8DAq_eX38DgkHJBJCPT4EqvlNP-VjPdecYEFUCw5G_Pye6h55-77g8LjkrFO43f8p6wscQ0iM601i1Ugmqbzxyv1ogPIN-YuSk2tkCw-D7xBD7I4fum2AmvyN-fR58lWcn-Z0WTqACA4baTJiCtW5b7uVeAp8vm8-gWzFR5BdDHVdQqu1TAKVWl_1P8NauDtd5M24MjVZd6WC0WrbTDPY9i2gieMMjFek2M8aoQFO0CG7r3JHn2zxfFB3THWCpl4VqZAQp6Ok7rymeY0Oayj--OLpNMBXIYUWc51eyYeurwQ943BSkf-m6PPVKO8T5U__Bx-biCNCePSlFKp7V0Du6h7UgYoqqonH2S3Jrg87c6dk7VJ7ca2i8sZqhy0rG6Kb7ENDVvwkMOdpnaFgdWd3VINp6P8j69kBQg-qwWP-YHPC9LnsjT2j1ktMowVO97eOpV4j2BhiThxunmu_SOIAEbghmjJEkLuRxLxBUPFRIajke2CvvFeIuReJr53isPKOxOjVzsc6oG5ZeykDlfz_mfEap7AByPNY0987zwG58tGueNxXjdpd7NQFcn_6DKj60SvUg0sk49V_QrDY3cAhSRvZoEeqA8XR97pEe7CByYMl80b9fzgyahc4NCdUwK8es2ll-lsJwEx1ZGdC8cB45QOrTnw8tJAUsSM44rLKwAQY-KsuN4UygO99d1CQZEm2YWtnPAvA9I-EhY87UIDx0CpPsEyxxFu2GZCTy7ceSnpcmQbAFWXzfBSpM7k42xVV8G8IK_bHpoF1enF5Vbc37_L_aWd4AgzuAwF_RVyd8exVh3NVJtO3BqPv72kTukr2Fok3KEaSeU0whP_dxr-thP2exS0F2Jdn13ZtB_pqxwKVWEsvzdbN92Q9qs10BAgYs2SA4cq66semwRl-1n-dr7XJyZzPOEiA9TQYgUCw0ueIc0ciMOZ0Waaj094bKIylw_TD5Bu1diXpzbTma_AVO-NZn7INhAZN3guSme-zIUEMrh66w0VJP-DbDA-ecSD41eMRSadyV4g86wLL4NOBE5NwSiSkwd2xJ9NqG7YohFM8BlPdEV4zhmqHcIKpVwAitFItqnAaUSU42Aebdritt9oNVnpKCeeA4QQv_8W7rOXJlLfGXRJUBCrh3Rv7KCVC3yncAOIU8FWu3jyaAqhLrWHLW958wjF8ka7lw80YZbToPjIuiii0UXu2w3Tv5EGVdkhf05A3Yj6M_LXStns8iBMzcU4-mJ1649FnnImLnW5AeohoWPBB6WYhW9gfwjuxejTI3Q5R0mo9jUSP3_tFiawlC2zFgvkNFufC6Kry8-Burjf8l6rpAX7_sjtCu1AlAbI6PEFtxcKhNWHfQp4mUATR6P4k68jk_Kl-FpRBtNOf8YOlLGrKE-WbwCoIV7VAgK2CTZJOxaslxVZRCLObNrA3XuEtc3jo8pMzqx8GJWshIgmF4XiQcmgh65U_kjB07adlgnbCZvGUXdIIQiA2vqIWC6Qu8SSO20nOOR65hGXyIgf4aOolU0Ljbi4slXnJKjbcPaX5O3cXvKHbkVFwXmHK2Ymaqb6fZcap78_On8jLK_GRlw3jV18SLeOcJiG2LqtHzcUawY4K7bPDNY2QX89yL5d4qxRF577QgzalmdQDsKyC_N-wk
148
+ id: rs_01d311e2633707df0068fbac0050ec81a2ad76fd9256abcaf7
149
+ summary: []
150
+ type: reasoning
151
+ - arguments: '{}'
152
+ call_id: call_cp3x6W9eeyMIryJUNhgMaP5w
153
+ id: fc_01d311e2633707df0068fbac038f1c81a29847e80d6a1a3f60
154
+ name: get_meaning_of_life
155
+ status: null
156
+ type: function_call
157
+ - call_id: call_cp3x6W9eeyMIryJUNhgMaP5w
158
+ output: '42'
159
+ type: function_call_output
160
+ model: gpt-5
161
+ stream: false
162
+ tool_choice: auto
163
+ tools:
164
+ - description: null
165
+ name: get_meaning_of_life
166
+ parameters:
167
+ additionalProperties: false
168
+ properties: {}
169
+ type: object
170
+ strict: false
171
+ type: function
172
+ uri: https://api.openai.com/v1/responses
173
+ response:
174
+ headers:
175
+ alt-svc:
176
+ - h3=":443"; ma=86400
177
+ connection:
178
+ - keep-alive
179
+ content-length:
180
+ - '1658'
181
+ content-type:
182
+ - application/json
183
+ openai-organization:
184
+ - pydantic-28gund
185
+ openai-processing-ms:
186
+ - '5376'
187
+ openai-project:
188
+ - proj_dKobscVY9YJxeEaDJen54e3d
189
+ openai-version:
190
+ - '2020-10-01'
191
+ strict-transport-security:
192
+ - max-age=31536000; includeSubDomains; preload
193
+ transfer-encoding:
194
+ - chunked
195
+ parsed_body:
196
+ background: false
197
+ billing:
198
+ payer: developer
199
+ created_at: 1761324036
200
+ error: null
201
+ id: resp_01d311e2633707df0068fbac042e3081a2a3839798d93d7bad
202
+ incomplete_details: null
203
+ instructions: null
204
+ max_output_tokens: null
205
+ max_tool_calls: null
206
+ metadata: {}
207
+ model: gpt-5-2025-08-07
208
+ object: response
209
+ output:
210
+ - content:
211
+ - annotations: []
212
+ logprobs: []
213
+ text: '42'
214
+ type: output_text
215
+ id: msg_01d311e2633707df0068fbac094ff481a297b1f4fdafb6ebd9
216
+ role: assistant
217
+ status: completed
218
+ type: message
219
+ parallel_tool_calls: true
220
+ previous_response_id: null
221
+ prompt_cache_key: null
222
+ reasoning:
223
+ effort: medium
224
+ summary: null
225
+ safety_identifier: null
226
+ service_tier: default
227
+ status: completed
228
+ store: true
229
+ temperature: 1.0
230
+ text:
231
+ format:
232
+ type: text
233
+ verbosity: medium
234
+ tool_choice: auto
235
+ tools:
236
+ - description: null
237
+ name: get_meaning_of_life
238
+ parameters:
239
+ additionalProperties: false
240
+ properties: {}
241
+ type: object
242
+ strict: false
243
+ type: function
244
+ top_logprobs: 0
245
+ top_p: 1.0
246
+ truncation: disabled
247
+ usage:
248
+ input_tokens: 257
249
+ input_tokens_details:
250
+ cached_tokens: 0
251
+ output_tokens: 5
252
+ output_tokens_details:
253
+ reasoning_tokens: 0
254
+ total_tokens: 262
255
+ user: null
256
+ status:
257
+ code: 200
258
+ message: OK
259
+ version: 1
@@ -69,6 +69,40 @@ def test_custom_output_args():
69
69
  agent = Agent(output_type=tuple[str, str])
70
70
  result = agent.run_sync('x', model=TestModel(custom_output_args=['a', 'b']))
71
71
  assert result.output == ('a', 'b')
72
+ assert result.all_messages() == snapshot(
73
+ [
74
+ ModelRequest(
75
+ parts=[
76
+ UserPromptPart(
77
+ content='x',
78
+ timestamp=IsNow(tz=timezone.utc),
79
+ )
80
+ ]
81
+ ),
82
+ ModelResponse(
83
+ parts=[
84
+ ToolCallPart(
85
+ tool_name='final_result',
86
+ args={'response': ['a', 'b']},
87
+ tool_call_id='pyd_ai_tool_call_id__final_result',
88
+ )
89
+ ],
90
+ usage=RequestUsage(input_tokens=51, output_tokens=7),
91
+ model_name='test',
92
+ timestamp=IsNow(tz=timezone.utc),
93
+ ),
94
+ ModelRequest(
95
+ parts=[
96
+ ToolReturnPart(
97
+ tool_name='final_result',
98
+ content='Final result processed.',
99
+ tool_call_id='pyd_ai_tool_call_id__final_result',
100
+ timestamp=IsNow(tz=timezone.utc),
101
+ )
102
+ ]
103
+ ),
104
+ ]
105
+ )
72
106
 
73
107
 
74
108
  def test_custom_output_args_model():
@@ -79,12 +113,80 @@ def test_custom_output_args_model():
79
113
  agent = Agent(output_type=Foo)
80
114
  result = agent.run_sync('x', model=TestModel(custom_output_args={'foo': 'a', 'bar': 1}))
81
115
  assert result.output == Foo(foo='a', bar=1)
116
+ assert result.all_messages() == snapshot(
117
+ [
118
+ ModelRequest(
119
+ parts=[
120
+ UserPromptPart(
121
+ content='x',
122
+ timestamp=IsNow(tz=timezone.utc),
123
+ )
124
+ ]
125
+ ),
126
+ ModelResponse(
127
+ parts=[
128
+ ToolCallPart(
129
+ tool_name='final_result',
130
+ args={'foo': 'a', 'bar': 1},
131
+ tool_call_id='pyd_ai_tool_call_id__final_result',
132
+ )
133
+ ],
134
+ usage=RequestUsage(input_tokens=51, output_tokens=6),
135
+ model_name='test',
136
+ timestamp=IsNow(tz=timezone.utc),
137
+ ),
138
+ ModelRequest(
139
+ parts=[
140
+ ToolReturnPart(
141
+ tool_name='final_result',
142
+ content='Final result processed.',
143
+ tool_call_id='pyd_ai_tool_call_id__final_result',
144
+ timestamp=IsNow(tz=timezone.utc),
145
+ )
146
+ ]
147
+ ),
148
+ ]
149
+ )
82
150
 
83
151
 
84
152
  def test_output_type():
85
153
  agent = Agent(output_type=tuple[str, str])
86
154
  result = agent.run_sync('x', model=TestModel())
87
155
  assert result.output == ('a', 'a')
156
+ assert result.all_messages() == snapshot(
157
+ [
158
+ ModelRequest(
159
+ parts=[
160
+ UserPromptPart(
161
+ content='x',
162
+ timestamp=IsNow(tz=timezone.utc),
163
+ )
164
+ ]
165
+ ),
166
+ ModelResponse(
167
+ parts=[
168
+ ToolCallPart(
169
+ tool_name='final_result',
170
+ args={'response': ['a', 'a']},
171
+ tool_call_id='pyd_ai_tool_call_id__final_result',
172
+ )
173
+ ],
174
+ usage=RequestUsage(input_tokens=51, output_tokens=7),
175
+ model_name='test',
176
+ timestamp=IsNow(tz=timezone.utc),
177
+ ),
178
+ ModelRequest(
179
+ parts=[
180
+ ToolReturnPart(
181
+ tool_name='final_result',
182
+ content='Final result processed.',
183
+ tool_call_id='pyd_ai_tool_call_id__final_result',
184
+ timestamp=IsNow(tz=timezone.utc),
185
+ )
186
+ ]
187
+ ),
188
+ ]
189
+ )
88
190
 
89
191
 
90
192
  def test_tool_retry():