pydantic-ai 1.5.0__tar.gz → 1.7.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 (539) hide show
  1. {pydantic_ai-1.5.0 → pydantic_ai-1.7.0}/PKG-INFO +6 -6
  2. {pydantic_ai-1.5.0 → pydantic_ai-1.7.0}/README.md +1 -1
  3. {pydantic_ai-1.5.0 → pydantic_ai-1.7.0}/pyproject.toml +7 -1
  4. {pydantic_ai-1.5.0 → pydantic_ai-1.7.0}/tests/conftest.py +12 -0
  5. {pydantic_ai-1.5.0 → pydantic_ai-1.7.0}/tests/models/cassettes/test_openai_responses/test_openai_responses_model_simple_response_with_tool_call.yaml +53 -31
  6. pydantic_ai-1.7.0/tests/models/cassettes/test_openai_responses/test_openai_responses_requires_function_call_status_none.yaml +259 -0
  7. {pydantic_ai-1.5.0 → pydantic_ai-1.7.0}/tests/models/test_model_test.py +102 -0
  8. {pydantic_ai-1.5.0 → pydantic_ai-1.7.0}/tests/models/test_openai_responses.py +45 -0
  9. pydantic_ai-1.7.0/tests/models/test_outlines.py +779 -0
  10. pydantic_ai-1.7.0/tests/providers/test_outlines.py +36 -0
  11. {pydantic_ai-1.5.0 → pydantic_ai-1.7.0}/tests/providers/test_provider_names.py +2 -0
  12. {pydantic_ai-1.5.0 → pydantic_ai-1.7.0}/tests/test_agent.py +34 -1
  13. {pydantic_ai-1.5.0 → pydantic_ai-1.7.0}/tests/test_builtin_tools.py +4 -4
  14. pydantic_ai-1.7.0/tests/test_fastmcp.py +603 -0
  15. {pydantic_ai-1.5.0 → pydantic_ai-1.7.0}/.gitignore +0 -0
  16. {pydantic_ai-1.5.0 → pydantic_ai-1.7.0}/LICENSE +0 -0
  17. {pydantic_ai-1.5.0 → pydantic_ai-1.7.0}/Makefile +0 -0
  18. {pydantic_ai-1.5.0 → pydantic_ai-1.7.0}/tests/__init__.py +0 -0
  19. {pydantic_ai-1.5.0 → pydantic_ai-1.7.0}/tests/assets/dummy.pdf +0 -0
  20. {pydantic_ai-1.5.0 → pydantic_ai-1.7.0}/tests/assets/dummy.txt +0 -0
  21. {pydantic_ai-1.5.0 → pydantic_ai-1.7.0}/tests/assets/kiwi.png +0 -0
  22. {pydantic_ai-1.5.0 → pydantic_ai-1.7.0}/tests/assets/marcelo.mp3 +0 -0
  23. {pydantic_ai-1.5.0 → pydantic_ai-1.7.0}/tests/assets/product_name.txt +0 -0
  24. {pydantic_ai-1.5.0 → pydantic_ai-1.7.0}/tests/assets/small_video.mp4 +0 -0
  25. {pydantic_ai-1.5.0 → pydantic_ai-1.7.0}/tests/cassettes/test_dbos/test_complex_agent_run.yaml +0 -0
  26. {pydantic_ai-1.5.0 → pydantic_ai-1.7.0}/tests/cassettes/test_dbos/test_complex_agent_run_in_workflow.yaml +0 -0
  27. {pydantic_ai-1.5.0 → pydantic_ai-1.7.0}/tests/cassettes/test_dbos/test_complex_agent_run_stream_in_workflow.yaml +0 -0
  28. {pydantic_ai-1.5.0 → pydantic_ai-1.7.0}/tests/cassettes/test_dbos/test_dbos_agent_iter.yaml +0 -0
  29. {pydantic_ai-1.5.0 → pydantic_ai-1.7.0}/tests/cassettes/test_dbos/test_dbos_agent_iter_in_workflow.yaml +0 -0
  30. {pydantic_ai-1.5.0 → pydantic_ai-1.7.0}/tests/cassettes/test_dbos/test_dbos_agent_override_deps_in_workflow.yaml +0 -0
  31. {pydantic_ai-1.5.0 → pydantic_ai-1.7.0}/tests/cassettes/test_dbos/test_dbos_agent_override_tools_in_workflow.yaml +0 -0
  32. {pydantic_ai-1.5.0 → pydantic_ai-1.7.0}/tests/cassettes/test_dbos/test_dbos_agent_run.yaml +0 -0
  33. {pydantic_ai-1.5.0 → pydantic_ai-1.7.0}/tests/cassettes/test_dbos/test_dbos_agent_run_in_workflow_with_toolsets.yaml +0 -0
  34. {pydantic_ai-1.5.0 → pydantic_ai-1.7.0}/tests/cassettes/test_dbos/test_dbos_agent_run_stream.yaml +0 -0
  35. {pydantic_ai-1.5.0 → pydantic_ai-1.7.0}/tests/cassettes/test_dbos/test_dbos_agent_run_sync.yaml +0 -0
  36. {pydantic_ai-1.5.0 → pydantic_ai-1.7.0}/tests/cassettes/test_dbos/test_dbos_agent_run_sync_in_workflow.yaml +0 -0
  37. {pydantic_ai-1.5.0 → pydantic_ai-1.7.0}/tests/cassettes/test_dbos/test_dbos_agent_with_dataclass_deps_as_dict.yaml +0 -0
  38. {pydantic_ai-1.5.0 → pydantic_ai-1.7.0}/tests/cassettes/test_dbos/test_dbos_agent_with_hitl_tool.yaml +0 -0
  39. {pydantic_ai-1.5.0 → pydantic_ai-1.7.0}/tests/cassettes/test_dbos/test_dbos_agent_with_hitl_tool_sync.yaml +0 -0
  40. {pydantic_ai-1.5.0 → pydantic_ai-1.7.0}/tests/cassettes/test_dbos/test_dbos_agent_with_model_retry.yaml +0 -0
  41. {pydantic_ai-1.5.0 → pydantic_ai-1.7.0}/tests/cassettes/test_dbos/test_dbos_agent_with_non_dict_deps.yaml +0 -0
  42. {pydantic_ai-1.5.0 → pydantic_ai-1.7.0}/tests/cassettes/test_dbos/test_dbos_agent_with_unserializable_deps_type.yaml +0 -0
  43. {pydantic_ai-1.5.0 → pydantic_ai-1.7.0}/tests/cassettes/test_dbos/test_dbos_model_stream_direct.yaml +0 -0
  44. {pydantic_ai-1.5.0 → pydantic_ai-1.7.0}/tests/cassettes/test_dbos/test_multiple_agents.yaml +0 -0
  45. {pydantic_ai-1.5.0 → pydantic_ai-1.7.0}/tests/cassettes/test_dbos/test_simple_agent_run_in_workflow.yaml +0 -0
  46. {pydantic_ai-1.5.0 → pydantic_ai-1.7.0}/tests/cassettes/test_mcp/test_agent_with_server_not_running.yaml +0 -0
  47. {pydantic_ai-1.5.0 → pydantic_ai-1.7.0}/tests/cassettes/test_mcp/test_agent_with_stdio_server.yaml +0 -0
  48. {pydantic_ai-1.5.0 → pydantic_ai-1.7.0}/tests/cassettes/test_mcp/test_tool_returning_audio_resource.yaml +0 -0
  49. {pydantic_ai-1.5.0 → pydantic_ai-1.7.0}/tests/cassettes/test_mcp/test_tool_returning_audio_resource_link.yaml +0 -0
  50. {pydantic_ai-1.5.0 → pydantic_ai-1.7.0}/tests/cassettes/test_mcp/test_tool_returning_dict.yaml +0 -0
  51. {pydantic_ai-1.5.0 → pydantic_ai-1.7.0}/tests/cassettes/test_mcp/test_tool_returning_error.yaml +0 -0
  52. {pydantic_ai-1.5.0 → pydantic_ai-1.7.0}/tests/cassettes/test_mcp/test_tool_returning_image.yaml +0 -0
  53. {pydantic_ai-1.5.0 → pydantic_ai-1.7.0}/tests/cassettes/test_mcp/test_tool_returning_image_resource.yaml +0 -0
  54. {pydantic_ai-1.5.0 → pydantic_ai-1.7.0}/tests/cassettes/test_mcp/test_tool_returning_image_resource_link.yaml +0 -0
  55. {pydantic_ai-1.5.0 → pydantic_ai-1.7.0}/tests/cassettes/test_mcp/test_tool_returning_multiple_items.yaml +0 -0
  56. {pydantic_ai-1.5.0 → pydantic_ai-1.7.0}/tests/cassettes/test_mcp/test_tool_returning_none.yaml +0 -0
  57. {pydantic_ai-1.5.0 → pydantic_ai-1.7.0}/tests/cassettes/test_mcp/test_tool_returning_str.yaml +0 -0
  58. {pydantic_ai-1.5.0 → pydantic_ai-1.7.0}/tests/cassettes/test_mcp/test_tool_returning_text_resource.yaml +0 -0
  59. {pydantic_ai-1.5.0 → pydantic_ai-1.7.0}/tests/cassettes/test_mcp/test_tool_returning_text_resource_link.yaml +0 -0
  60. {pydantic_ai-1.5.0 → pydantic_ai-1.7.0}/tests/cassettes/test_mcp/test_tool_returning_unstructured_dict.yaml +0 -0
  61. {pydantic_ai-1.5.0 → pydantic_ai-1.7.0}/tests/cassettes/test_prefect/test_complex_agent_run_in_flow.yaml +0 -0
  62. {pydantic_ai-1.5.0 → pydantic_ai-1.7.0}/tests/cassettes/test_prefect/test_iter_in_flow.yaml +0 -0
  63. {pydantic_ai-1.5.0 → pydantic_ai-1.7.0}/tests/cassettes/test_prefect/test_multiple_agents.yaml +0 -0
  64. {pydantic_ai-1.5.0 → pydantic_ai-1.7.0}/tests/cassettes/test_prefect/test_prefect_agent_iter.yaml +0 -0
  65. {pydantic_ai-1.5.0 → pydantic_ai-1.7.0}/tests/cassettes/test_prefect/test_prefect_agent_override_deps.yaml +0 -0
  66. {pydantic_ai-1.5.0 → pydantic_ai-1.7.0}/tests/cassettes/test_prefect/test_prefect_agent_override_tools.yaml +0 -0
  67. {pydantic_ai-1.5.0 → pydantic_ai-1.7.0}/tests/cassettes/test_prefect/test_prefect_agent_override_toolsets.yaml +0 -0
  68. {pydantic_ai-1.5.0 → pydantic_ai-1.7.0}/tests/cassettes/test_prefect/test_prefect_agent_run.yaml +0 -0
  69. {pydantic_ai-1.5.0 → pydantic_ai-1.7.0}/tests/cassettes/test_prefect/test_prefect_agent_run_stream.yaml +0 -0
  70. {pydantic_ai-1.5.0 → pydantic_ai-1.7.0}/tests/cassettes/test_prefect/test_prefect_agent_run_stream_events.yaml +0 -0
  71. {pydantic_ai-1.5.0 → pydantic_ai-1.7.0}/tests/cassettes/test_prefect/test_prefect_agent_run_sync.yaml +0 -0
  72. {pydantic_ai-1.5.0 → pydantic_ai-1.7.0}/tests/cassettes/test_prefect/test_prefect_agent_with_hitl_tool.yaml +0 -0
  73. {pydantic_ai-1.5.0 → pydantic_ai-1.7.0}/tests/cassettes/test_prefect/test_prefect_agent_with_hitl_tool_sync.yaml +0 -0
  74. {pydantic_ai-1.5.0 → pydantic_ai-1.7.0}/tests/cassettes/test_prefect/test_prefect_agent_with_model_retry.yaml +0 -0
  75. {pydantic_ai-1.5.0 → pydantic_ai-1.7.0}/tests/cassettes/test_prefect/test_prefect_agent_with_unserializable_deps.yaml +0 -0
  76. {pydantic_ai-1.5.0 → pydantic_ai-1.7.0}/tests/cassettes/test_prefect/test_run_stream_in_flow.yaml +0 -0
  77. {pydantic_ai-1.5.0 → pydantic_ai-1.7.0}/tests/cassettes/test_prefect/test_run_sync_in_flow.yaml +0 -0
  78. {pydantic_ai-1.5.0 → pydantic_ai-1.7.0}/tests/cassettes/test_prefect/test_simple_agent_run_in_flow.yaml +0 -0
  79. {pydantic_ai-1.5.0 → pydantic_ai-1.7.0}/tests/cassettes/test_settings/test_stop_settings[anthropic].yaml +0 -0
  80. {pydantic_ai-1.5.0 → pydantic_ai-1.7.0}/tests/cassettes/test_settings/test_stop_settings[bedrock].yaml +0 -0
  81. {pydantic_ai-1.5.0 → pydantic_ai-1.7.0}/tests/cassettes/test_settings/test_stop_settings[cohere].yaml +0 -0
  82. {pydantic_ai-1.5.0 → pydantic_ai-1.7.0}/tests/cassettes/test_settings/test_stop_settings[gemini].yaml +0 -0
  83. {pydantic_ai-1.5.0 → pydantic_ai-1.7.0}/tests/cassettes/test_settings/test_stop_settings[google].yaml +0 -0
  84. {pydantic_ai-1.5.0 → pydantic_ai-1.7.0}/tests/cassettes/test_settings/test_stop_settings[groq].yaml +0 -0
  85. {pydantic_ai-1.5.0 → pydantic_ai-1.7.0}/tests/cassettes/test_settings/test_stop_settings[mistral].yaml +0 -0
  86. {pydantic_ai-1.5.0 → pydantic_ai-1.7.0}/tests/cassettes/test_settings/test_stop_settings[openai].yaml +0 -0
  87. {pydantic_ai-1.5.0 → pydantic_ai-1.7.0}/tests/cassettes/test_temporal/test_complex_agent_run.yaml +0 -0
  88. {pydantic_ai-1.5.0 → pydantic_ai-1.7.0}/tests/cassettes/test_temporal/test_complex_agent_run_in_workflow.yaml +0 -0
  89. {pydantic_ai-1.5.0 → pydantic_ai-1.7.0}/tests/cassettes/test_temporal/test_complex_agent_run_stream_in_workflow.yaml +0 -0
  90. {pydantic_ai-1.5.0 → pydantic_ai-1.7.0}/tests/cassettes/test_temporal/test_logfire_plugin.yaml +0 -0
  91. {pydantic_ai-1.5.0 → pydantic_ai-1.7.0}/tests/cassettes/test_temporal/test_multiple_agents.yaml +0 -0
  92. {pydantic_ai-1.5.0 → pydantic_ai-1.7.0}/tests/cassettes/test_temporal/test_simple_agent_run_in_workflow.yaml +0 -0
  93. {pydantic_ai-1.5.0 → pydantic_ai-1.7.0}/tests/cassettes/test_temporal/test_temporal_agent_iter.yaml +0 -0
  94. {pydantic_ai-1.5.0 → pydantic_ai-1.7.0}/tests/cassettes/test_temporal/test_temporal_agent_override_deps_in_workflow.yaml +0 -0
  95. {pydantic_ai-1.5.0 → pydantic_ai-1.7.0}/tests/cassettes/test_temporal/test_temporal_agent_run.yaml +0 -0
  96. {pydantic_ai-1.5.0 → pydantic_ai-1.7.0}/tests/cassettes/test_temporal/test_temporal_agent_run_stream.yaml +0 -0
  97. {pydantic_ai-1.5.0 → pydantic_ai-1.7.0}/tests/cassettes/test_temporal/test_temporal_agent_run_stream_events.yaml +0 -0
  98. {pydantic_ai-1.5.0 → pydantic_ai-1.7.0}/tests/cassettes/test_temporal/test_temporal_agent_run_sync.yaml +0 -0
  99. {pydantic_ai-1.5.0 → pydantic_ai-1.7.0}/tests/cassettes/test_temporal/test_temporal_agent_sync_tool_activity_disabled.yaml +0 -0
  100. {pydantic_ai-1.5.0 → pydantic_ai-1.7.0}/tests/cassettes/test_temporal/test_temporal_agent_with_dataclass_deps_as_dict.yaml +0 -0
  101. {pydantic_ai-1.5.0 → pydantic_ai-1.7.0}/tests/cassettes/test_temporal/test_temporal_agent_with_hitl_tool.yaml +0 -0
  102. {pydantic_ai-1.5.0 → pydantic_ai-1.7.0}/tests/cassettes/test_temporal/test_temporal_agent_with_model_retry.yaml +0 -0
  103. {pydantic_ai-1.5.0 → pydantic_ai-1.7.0}/tests/cassettes/test_temporal/test_temporal_agent_with_non_dict_deps.yaml +0 -0
  104. {pydantic_ai-1.5.0 → pydantic_ai-1.7.0}/tests/cassettes/test_temporal/test_temporal_agent_with_unserializable_deps_type.yaml +0 -0
  105. {pydantic_ai-1.5.0 → pydantic_ai-1.7.0}/tests/cassettes/test_temporal/test_web_search_agent_run_in_workflow.yaml +0 -0
  106. {pydantic_ai-1.5.0 → pydantic_ai-1.7.0}/tests/evals/__init__.py +0 -0
  107. {pydantic_ai-1.5.0 → pydantic_ai-1.7.0}/tests/evals/test_dataset.py +0 -0
  108. {pydantic_ai-1.5.0 → pydantic_ai-1.7.0}/tests/evals/test_evaluator_base.py +0 -0
  109. {pydantic_ai-1.5.0 → pydantic_ai-1.7.0}/tests/evals/test_evaluator_common.py +0 -0
  110. {pydantic_ai-1.5.0 → pydantic_ai-1.7.0}/tests/evals/test_evaluator_context.py +0 -0
  111. {pydantic_ai-1.5.0 → pydantic_ai-1.7.0}/tests/evals/test_evaluator_spec.py +0 -0
  112. {pydantic_ai-1.5.0 → pydantic_ai-1.7.0}/tests/evals/test_evaluators.py +0 -0
  113. {pydantic_ai-1.5.0 → pydantic_ai-1.7.0}/tests/evals/test_llm_as_a_judge.py +0 -0
  114. {pydantic_ai-1.5.0 → pydantic_ai-1.7.0}/tests/evals/test_otel.py +0 -0
  115. {pydantic_ai-1.5.0 → pydantic_ai-1.7.0}/tests/evals/test_render_numbers.py +0 -0
  116. {pydantic_ai-1.5.0 → pydantic_ai-1.7.0}/tests/evals/test_reporting.py +0 -0
  117. {pydantic_ai-1.5.0 → pydantic_ai-1.7.0}/tests/evals/test_reports.py +0 -0
  118. {pydantic_ai-1.5.0 → pydantic_ai-1.7.0}/tests/evals/test_utils.py +0 -0
  119. {pydantic_ai-1.5.0 → pydantic_ai-1.7.0}/tests/evals/utils.py +0 -0
  120. {pydantic_ai-1.5.0 → pydantic_ai-1.7.0}/tests/example_modules/README.md +0 -0
  121. {pydantic_ai-1.5.0 → pydantic_ai-1.7.0}/tests/example_modules/bank_database.py +0 -0
  122. {pydantic_ai-1.5.0 → pydantic_ai-1.7.0}/tests/example_modules/fake_database.py +0 -0
  123. {pydantic_ai-1.5.0 → pydantic_ai-1.7.0}/tests/example_modules/mcp_server.py +0 -0
  124. {pydantic_ai-1.5.0 → pydantic_ai-1.7.0}/tests/example_modules/weather_service.py +0 -0
  125. {pydantic_ai-1.5.0 → pydantic_ai-1.7.0}/tests/ext/__init__.py +0 -0
  126. {pydantic_ai-1.5.0 → pydantic_ai-1.7.0}/tests/ext/test_langchain.py +0 -0
  127. {pydantic_ai-1.5.0 → pydantic_ai-1.7.0}/tests/graph/__init__.py +0 -0
  128. {pydantic_ai-1.5.0 → pydantic_ai-1.7.0}/tests/graph/beta/__init__.py +0 -0
  129. {pydantic_ai-1.5.0 → pydantic_ai-1.7.0}/tests/graph/beta/test_broadcast_and_spread.py +0 -0
  130. {pydantic_ai-1.5.0 → pydantic_ai-1.7.0}/tests/graph/beta/test_decisions.py +0 -0
  131. {pydantic_ai-1.5.0 → pydantic_ai-1.7.0}/tests/graph/beta/test_edge_cases.py +0 -0
  132. {pydantic_ai-1.5.0 → pydantic_ai-1.7.0}/tests/graph/beta/test_edge_labels.py +0 -0
  133. {pydantic_ai-1.5.0 → pydantic_ai-1.7.0}/tests/graph/beta/test_graph_builder.py +0 -0
  134. {pydantic_ai-1.5.0 → pydantic_ai-1.7.0}/tests/graph/beta/test_graph_edge_cases.py +0 -0
  135. {pydantic_ai-1.5.0 → pydantic_ai-1.7.0}/tests/graph/beta/test_graph_execution.py +0 -0
  136. {pydantic_ai-1.5.0 → pydantic_ai-1.7.0}/tests/graph/beta/test_graph_iteration.py +0 -0
  137. {pydantic_ai-1.5.0 → pydantic_ai-1.7.0}/tests/graph/beta/test_joins_and_reducers.py +0 -0
  138. {pydantic_ai-1.5.0 → pydantic_ai-1.7.0}/tests/graph/beta/test_mermaid_rendering.py +0 -0
  139. {pydantic_ai-1.5.0 → pydantic_ai-1.7.0}/tests/graph/beta/test_node_and_step.py +0 -0
  140. {pydantic_ai-1.5.0 → pydantic_ai-1.7.0}/tests/graph/beta/test_parent_forks.py +0 -0
  141. {pydantic_ai-1.5.0 → pydantic_ai-1.7.0}/tests/graph/beta/test_paths.py +0 -0
  142. {pydantic_ai-1.5.0 → pydantic_ai-1.7.0}/tests/graph/beta/test_util.py +0 -0
  143. {pydantic_ai-1.5.0 → pydantic_ai-1.7.0}/tests/graph/beta/test_v1_v2_integration.py +0 -0
  144. {pydantic_ai-1.5.0 → pydantic_ai-1.7.0}/tests/graph/test_file_persistence.py +0 -0
  145. {pydantic_ai-1.5.0 → pydantic_ai-1.7.0}/tests/graph/test_graph.py +0 -0
  146. {pydantic_ai-1.5.0 → pydantic_ai-1.7.0}/tests/graph/test_mermaid.py +0 -0
  147. {pydantic_ai-1.5.0 → pydantic_ai-1.7.0}/tests/graph/test_persistence.py +0 -0
  148. {pydantic_ai-1.5.0 → pydantic_ai-1.7.0}/tests/graph/test_state.py +0 -0
  149. {pydantic_ai-1.5.0 → pydantic_ai-1.7.0}/tests/graph/test_utils.py +0 -0
  150. {pydantic_ai-1.5.0 → pydantic_ai-1.7.0}/tests/import_examples.py +0 -0
  151. {pydantic_ai-1.5.0 → pydantic_ai-1.7.0}/tests/json_body_serializer.py +0 -0
  152. {pydantic_ai-1.5.0 → pydantic_ai-1.7.0}/tests/mcp_server.py +0 -0
  153. {pydantic_ai-1.5.0 → pydantic_ai-1.7.0}/tests/models/__init__.py +0 -0
  154. {pydantic_ai-1.5.0 → pydantic_ai-1.7.0}/tests/models/cassettes/test_anthropic/test_anthropic_code_execution_tool.yaml +0 -0
  155. {pydantic_ai-1.5.0 → pydantic_ai-1.7.0}/tests/models/cassettes/test_anthropic/test_anthropic_code_execution_tool_stream.yaml +0 -0
  156. {pydantic_ai-1.5.0 → pydantic_ai-1.7.0}/tests/models/cassettes/test_anthropic/test_anthropic_mcp_servers.yaml +0 -0
  157. {pydantic_ai-1.5.0 → pydantic_ai-1.7.0}/tests/models/cassettes/test_anthropic/test_anthropic_mcp_servers_stream.yaml +0 -0
  158. {pydantic_ai-1.5.0 → pydantic_ai-1.7.0}/tests/models/cassettes/test_anthropic/test_anthropic_memory_tool.yaml +0 -0
  159. {pydantic_ai-1.5.0 → pydantic_ai-1.7.0}/tests/models/cassettes/test_anthropic/test_anthropic_model_empty_message_on_history.yaml +0 -0
  160. {pydantic_ai-1.5.0 → pydantic_ai-1.7.0}/tests/models/cassettes/test_anthropic/test_anthropic_model_instructions.yaml +0 -0
  161. {pydantic_ai-1.5.0 → pydantic_ai-1.7.0}/tests/models/cassettes/test_anthropic/test_anthropic_model_thinking_part.yaml +0 -0
  162. {pydantic_ai-1.5.0 → pydantic_ai-1.7.0}/tests/models/cassettes/test_anthropic/test_anthropic_model_thinking_part_from_other_model.yaml +0 -0
  163. {pydantic_ai-1.5.0 → pydantic_ai-1.7.0}/tests/models/cassettes/test_anthropic/test_anthropic_model_thinking_part_redacted.yaml +0 -0
  164. {pydantic_ai-1.5.0 → pydantic_ai-1.7.0}/tests/models/cassettes/test_anthropic/test_anthropic_model_thinking_part_redacted_stream.yaml +0 -0
  165. {pydantic_ai-1.5.0 → pydantic_ai-1.7.0}/tests/models/cassettes/test_anthropic/test_anthropic_model_thinking_part_stream.yaml +0 -0
  166. {pydantic_ai-1.5.0 → pydantic_ai-1.7.0}/tests/models/cassettes/test_anthropic/test_anthropic_model_web_search_tool_stream.yaml +0 -0
  167. {pydantic_ai-1.5.0 → pydantic_ai-1.7.0}/tests/models/cassettes/test_anthropic/test_anthropic_output_tool_with_thinking.yaml +0 -0
  168. {pydantic_ai-1.5.0 → pydantic_ai-1.7.0}/tests/models/cassettes/test_anthropic/test_anthropic_prompted_output.yaml +0 -0
  169. {pydantic_ai-1.5.0 → pydantic_ai-1.7.0}/tests/models/cassettes/test_anthropic/test_anthropic_prompted_output_multiple.yaml +0 -0
  170. {pydantic_ai-1.5.0 → pydantic_ai-1.7.0}/tests/models/cassettes/test_anthropic/test_anthropic_server_tool_pass_history_to_another_provider.yaml +0 -0
  171. {pydantic_ai-1.5.0 → pydantic_ai-1.7.0}/tests/models/cassettes/test_anthropic/test_anthropic_server_tool_receive_history_from_another_provider.yaml +0 -0
  172. {pydantic_ai-1.5.0 → pydantic_ai-1.7.0}/tests/models/cassettes/test_anthropic/test_anthropic_text_output_function.yaml +0 -0
  173. {pydantic_ai-1.5.0 → pydantic_ai-1.7.0}/tests/models/cassettes/test_anthropic/test_anthropic_text_parts_ahead_of_built_in_tool_call.yaml +0 -0
  174. {pydantic_ai-1.5.0 → pydantic_ai-1.7.0}/tests/models/cassettes/test_anthropic/test_anthropic_tool_output.yaml +0 -0
  175. {pydantic_ai-1.5.0 → pydantic_ai-1.7.0}/tests/models/cassettes/test_anthropic/test_anthropic_tool_with_thinking.yaml +0 -0
  176. {pydantic_ai-1.5.0 → pydantic_ai-1.7.0}/tests/models/cassettes/test_anthropic/test_anthropic_web_search_tool.yaml +0 -0
  177. {pydantic_ai-1.5.0 → pydantic_ai-1.7.0}/tests/models/cassettes/test_anthropic/test_anthropic_web_search_tool_stream.yaml +0 -0
  178. {pydantic_ai-1.5.0 → pydantic_ai-1.7.0}/tests/models/cassettes/test_anthropic/test_document_binary_content_input.yaml +0 -0
  179. {pydantic_ai-1.5.0 → pydantic_ai-1.7.0}/tests/models/cassettes/test_anthropic/test_document_url_input.yaml +0 -0
  180. {pydantic_ai-1.5.0 → pydantic_ai-1.7.0}/tests/models/cassettes/test_anthropic/test_extra_headers.yaml +0 -0
  181. {pydantic_ai-1.5.0 → pydantic_ai-1.7.0}/tests/models/cassettes/test_anthropic/test_image_as_binary_content_tool_response.yaml +0 -0
  182. {pydantic_ai-1.5.0 → pydantic_ai-1.7.0}/tests/models/cassettes/test_anthropic/test_image_url_input.yaml +0 -0
  183. {pydantic_ai-1.5.0 → pydantic_ai-1.7.0}/tests/models/cassettes/test_anthropic/test_image_url_input_invalid_mime_type.yaml +0 -0
  184. {pydantic_ai-1.5.0 → pydantic_ai-1.7.0}/tests/models/cassettes/test_anthropic/test_multiple_parallel_tool_calls.yaml +0 -0
  185. {pydantic_ai-1.5.0 → pydantic_ai-1.7.0}/tests/models/cassettes/test_anthropic/test_text_document_url_input.yaml +0 -0
  186. {pydantic_ai-1.5.0 → pydantic_ai-1.7.0}/tests/models/cassettes/test_bedrock/test_bedrock_anthropic_tool_with_thinking.yaml +0 -0
  187. {pydantic_ai-1.5.0 → pydantic_ai-1.7.0}/tests/models/cassettes/test_bedrock/test_bedrock_empty_system_prompt.yaml +0 -0
  188. {pydantic_ai-1.5.0 → pydantic_ai-1.7.0}/tests/models/cassettes/test_bedrock/test_bedrock_model.yaml +0 -0
  189. {pydantic_ai-1.5.0 → pydantic_ai-1.7.0}/tests/models/cassettes/test_bedrock/test_bedrock_model_anthropic_model_without_tools.yaml +0 -0
  190. {pydantic_ai-1.5.0 → pydantic_ai-1.7.0}/tests/models/cassettes/test_bedrock/test_bedrock_model_guardrail_config.yaml +0 -0
  191. {pydantic_ai-1.5.0 → pydantic_ai-1.7.0}/tests/models/cassettes/test_bedrock/test_bedrock_model_instructions.yaml +0 -0
  192. {pydantic_ai-1.5.0 → pydantic_ai-1.7.0}/tests/models/cassettes/test_bedrock/test_bedrock_model_iter_stream.yaml +0 -0
  193. {pydantic_ai-1.5.0 → pydantic_ai-1.7.0}/tests/models/cassettes/test_bedrock/test_bedrock_model_max_tokens.yaml +0 -0
  194. {pydantic_ai-1.5.0 → pydantic_ai-1.7.0}/tests/models/cassettes/test_bedrock/test_bedrock_model_other_parameters.yaml +0 -0
  195. {pydantic_ai-1.5.0 → pydantic_ai-1.7.0}/tests/models/cassettes/test_bedrock/test_bedrock_model_performance_config.yaml +0 -0
  196. {pydantic_ai-1.5.0 → pydantic_ai-1.7.0}/tests/models/cassettes/test_bedrock/test_bedrock_model_retry.yaml +0 -0
  197. {pydantic_ai-1.5.0 → pydantic_ai-1.7.0}/tests/models/cassettes/test_bedrock/test_bedrock_model_stream.yaml +0 -0
  198. {pydantic_ai-1.5.0 → pydantic_ai-1.7.0}/tests/models/cassettes/test_bedrock/test_bedrock_model_stream_empty_text_delta.yaml +0 -0
  199. {pydantic_ai-1.5.0 → pydantic_ai-1.7.0}/tests/models/cassettes/test_bedrock/test_bedrock_model_structured_output.yaml +0 -0
  200. {pydantic_ai-1.5.0 → pydantic_ai-1.7.0}/tests/models/cassettes/test_bedrock/test_bedrock_model_thinking_part_anthropic.yaml +0 -0
  201. {pydantic_ai-1.5.0 → pydantic_ai-1.7.0}/tests/models/cassettes/test_bedrock/test_bedrock_model_thinking_part_deepseek.yaml +0 -0
  202. {pydantic_ai-1.5.0 → pydantic_ai-1.7.0}/tests/models/cassettes/test_bedrock/test_bedrock_model_thinking_part_from_other_model.yaml +0 -0
  203. {pydantic_ai-1.5.0 → pydantic_ai-1.7.0}/tests/models/cassettes/test_bedrock/test_bedrock_model_thinking_part_redacted.yaml +0 -0
  204. {pydantic_ai-1.5.0 → pydantic_ai-1.7.0}/tests/models/cassettes/test_bedrock/test_bedrock_model_thinking_part_redacted_stream.yaml +0 -0
  205. {pydantic_ai-1.5.0 → pydantic_ai-1.7.0}/tests/models/cassettes/test_bedrock/test_bedrock_model_thinking_part_stream.yaml +0 -0
  206. {pydantic_ai-1.5.0 → pydantic_ai-1.7.0}/tests/models/cassettes/test_bedrock/test_bedrock_model_top_p.yaml +0 -0
  207. {pydantic_ai-1.5.0 → pydantic_ai-1.7.0}/tests/models/cassettes/test_bedrock/test_bedrock_multiple_documents_in_history.yaml +0 -0
  208. {pydantic_ai-1.5.0 → pydantic_ai-1.7.0}/tests/models/cassettes/test_bedrock/test_document_url_input.yaml +0 -0
  209. {pydantic_ai-1.5.0 → pydantic_ai-1.7.0}/tests/models/cassettes/test_bedrock/test_image_as_binary_content_input.yaml +0 -0
  210. {pydantic_ai-1.5.0 → pydantic_ai-1.7.0}/tests/models/cassettes/test_bedrock/test_image_url_input.yaml +0 -0
  211. {pydantic_ai-1.5.0 → pydantic_ai-1.7.0}/tests/models/cassettes/test_bedrock/test_text_as_binary_content_input.yaml +0 -0
  212. {pydantic_ai-1.5.0 → pydantic_ai-1.7.0}/tests/models/cassettes/test_bedrock/test_text_document_url_input.yaml +0 -0
  213. {pydantic_ai-1.5.0 → pydantic_ai-1.7.0}/tests/models/cassettes/test_bedrock/test_video_as_binary_content_input.yaml +0 -0
  214. {pydantic_ai-1.5.0 → pydantic_ai-1.7.0}/tests/models/cassettes/test_bedrock/test_video_url_input.yaml +0 -0
  215. {pydantic_ai-1.5.0 → pydantic_ai-1.7.0}/tests/models/cassettes/test_cohere/test_cohere_model_instructions.yaml +0 -0
  216. {pydantic_ai-1.5.0 → pydantic_ai-1.7.0}/tests/models/cassettes/test_cohere/test_cohere_model_thinking_part.yaml +0 -0
  217. {pydantic_ai-1.5.0 → pydantic_ai-1.7.0}/tests/models/cassettes/test_cohere/test_request_simple_success_with_vcr.yaml +0 -0
  218. {pydantic_ai-1.5.0 → pydantic_ai-1.7.0}/tests/models/cassettes/test_deepseek/test_deepseek_model_thinking_part.yaml +0 -0
  219. {pydantic_ai-1.5.0 → pydantic_ai-1.7.0}/tests/models/cassettes/test_deepseek/test_deepseek_model_thinking_stream.yaml +0 -0
  220. {pydantic_ai-1.5.0 → pydantic_ai-1.7.0}/tests/models/cassettes/test_download_item/test_download_item_application_octet_stream.yaml +0 -0
  221. {pydantic_ai-1.5.0 → pydantic_ai-1.7.0}/tests/models/cassettes/test_download_item/test_download_item_audio_mpeg.yaml +0 -0
  222. {pydantic_ai-1.5.0 → pydantic_ai-1.7.0}/tests/models/cassettes/test_download_item/test_download_item_no_content_type.yaml +0 -0
  223. {pydantic_ai-1.5.0 → pydantic_ai-1.7.0}/tests/models/cassettes/test_gemini/test_document_url_input.yaml +0 -0
  224. {pydantic_ai-1.5.0 → pydantic_ai-1.7.0}/tests/models/cassettes/test_gemini/test_gemini_additional_properties_is_false.yaml +0 -0
  225. {pydantic_ai-1.5.0 → pydantic_ai-1.7.0}/tests/models/cassettes/test_gemini/test_gemini_additional_properties_is_true.yaml +0 -0
  226. {pydantic_ai-1.5.0 → pydantic_ai-1.7.0}/tests/models/cassettes/test_gemini/test_gemini_drop_exclusive_maximum.yaml +0 -0
  227. {pydantic_ai-1.5.0 → pydantic_ai-1.7.0}/tests/models/cassettes/test_gemini/test_gemini_exclusive_minimum_and_maximum.yaml +0 -0
  228. {pydantic_ai-1.5.0 → pydantic_ai-1.7.0}/tests/models/cassettes/test_gemini/test_gemini_model_instructions.yaml +0 -0
  229. {pydantic_ai-1.5.0 → pydantic_ai-1.7.0}/tests/models/cassettes/test_gemini/test_gemini_model_thinking_part.yaml +0 -0
  230. {pydantic_ai-1.5.0 → pydantic_ai-1.7.0}/tests/models/cassettes/test_gemini/test_gemini_native_output.yaml +0 -0
  231. {pydantic_ai-1.5.0 → pydantic_ai-1.7.0}/tests/models/cassettes/test_gemini/test_gemini_native_output_multiple.yaml +0 -0
  232. {pydantic_ai-1.5.0 → pydantic_ai-1.7.0}/tests/models/cassettes/test_gemini/test_gemini_prompted_output.yaml +0 -0
  233. {pydantic_ai-1.5.0 → pydantic_ai-1.7.0}/tests/models/cassettes/test_gemini/test_gemini_prompted_output_multiple.yaml +0 -0
  234. {pydantic_ai-1.5.0 → pydantic_ai-1.7.0}/tests/models/cassettes/test_gemini/test_gemini_prompted_output_with_tools.yaml +0 -0
  235. {pydantic_ai-1.5.0 → pydantic_ai-1.7.0}/tests/models/cassettes/test_gemini/test_gemini_text_output_function.yaml +0 -0
  236. {pydantic_ai-1.5.0 → pydantic_ai-1.7.0}/tests/models/cassettes/test_gemini/test_gemini_tool_config_any_with_tool_without_args.yaml +0 -0
  237. {pydantic_ai-1.5.0 → pydantic_ai-1.7.0}/tests/models/cassettes/test_gemini/test_gemini_tool_output.yaml +0 -0
  238. {pydantic_ai-1.5.0 → pydantic_ai-1.7.0}/tests/models/cassettes/test_gemini/test_gemini_youtube_video_url_input.yaml +0 -0
  239. {pydantic_ai-1.5.0 → pydantic_ai-1.7.0}/tests/models/cassettes/test_gemini/test_image_as_binary_content_input.yaml +0 -0
  240. {pydantic_ai-1.5.0 → pydantic_ai-1.7.0}/tests/models/cassettes/test_gemini/test_image_as_binary_content_tool_response.yaml +0 -0
  241. {pydantic_ai-1.5.0 → pydantic_ai-1.7.0}/tests/models/cassettes/test_gemini/test_image_url_input.yaml +0 -0
  242. {pydantic_ai-1.5.0 → pydantic_ai-1.7.0}/tests/models/cassettes/test_gemini/test_labels_are_ignored_with_gla_provider.yaml +0 -0
  243. {pydantic_ai-1.5.0 → pydantic_ai-1.7.0}/tests/models/cassettes/test_gemini/test_video_as_binary_content_input.yaml +0 -0
  244. {pydantic_ai-1.5.0 → pydantic_ai-1.7.0}/tests/models/cassettes/test_gemini/test_video_url_input.yaml +0 -0
  245. {pydantic_ai-1.5.0 → pydantic_ai-1.7.0}/tests/models/cassettes/test_gemini_vertex/test_labels.yaml +0 -0
  246. {pydantic_ai-1.5.0 → pydantic_ai-1.7.0}/tests/models/cassettes/test_gemini_vertex/test_url_input[AudioUrl (gs)].yaml +0 -0
  247. {pydantic_ai-1.5.0 → pydantic_ai-1.7.0}/tests/models/cassettes/test_gemini_vertex/test_url_input[AudioUrl].yaml +0 -0
  248. {pydantic_ai-1.5.0 → pydantic_ai-1.7.0}/tests/models/cassettes/test_gemini_vertex/test_url_input[DocumentUrl (gs)].yaml +0 -0
  249. {pydantic_ai-1.5.0 → pydantic_ai-1.7.0}/tests/models/cassettes/test_gemini_vertex/test_url_input[DocumentUrl].yaml +0 -0
  250. {pydantic_ai-1.5.0 → pydantic_ai-1.7.0}/tests/models/cassettes/test_gemini_vertex/test_url_input[ImageUrl (gs)].yaml +0 -0
  251. {pydantic_ai-1.5.0 → pydantic_ai-1.7.0}/tests/models/cassettes/test_gemini_vertex/test_url_input[ImageUrl].yaml +0 -0
  252. {pydantic_ai-1.5.0 → pydantic_ai-1.7.0}/tests/models/cassettes/test_gemini_vertex/test_url_input[VideoUrl (YouTube)].yaml +0 -0
  253. {pydantic_ai-1.5.0 → pydantic_ai-1.7.0}/tests/models/cassettes/test_gemini_vertex/test_url_input[VideoUrl (gs)].yaml +0 -0
  254. {pydantic_ai-1.5.0 → pydantic_ai-1.7.0}/tests/models/cassettes/test_gemini_vertex/test_url_input[VideoUrl].yaml +0 -0
  255. {pydantic_ai-1.5.0 → pydantic_ai-1.7.0}/tests/models/cassettes/test_gemini_vertex/test_url_input_force_download.yaml +0 -0
  256. {pydantic_ai-1.5.0 → pydantic_ai-1.7.0}/tests/models/cassettes/test_google/test_google_builtin_tools_with_other_tools.yaml +0 -0
  257. {pydantic_ai-1.5.0 → pydantic_ai-1.7.0}/tests/models/cassettes/test_google/test_google_httpx_client_is_not_closed.yaml +0 -0
  258. {pydantic_ai-1.5.0 → pydantic_ai-1.7.0}/tests/models/cassettes/test_google/test_google_image_and_text_output.yaml +0 -0
  259. {pydantic_ai-1.5.0 → pydantic_ai-1.7.0}/tests/models/cassettes/test_google/test_google_image_generation.yaml +0 -0
  260. {pydantic_ai-1.5.0 → pydantic_ai-1.7.0}/tests/models/cassettes/test_google/test_google_image_generation_stream.yaml +0 -0
  261. {pydantic_ai-1.5.0 → pydantic_ai-1.7.0}/tests/models/cassettes/test_google/test_google_image_generation_with_text.yaml +0 -0
  262. {pydantic_ai-1.5.0 → pydantic_ai-1.7.0}/tests/models/cassettes/test_google/test_google_image_or_text_output.yaml +0 -0
  263. {pydantic_ai-1.5.0 → pydantic_ai-1.7.0}/tests/models/cassettes/test_google/test_google_model.yaml +0 -0
  264. {pydantic_ai-1.5.0 → pydantic_ai-1.7.0}/tests/models/cassettes/test_google/test_google_model_builtin_code_execution_stream.yaml +0 -0
  265. {pydantic_ai-1.5.0 → pydantic_ai-1.7.0}/tests/models/cassettes/test_google/test_google_model_code_execution_tool.yaml +0 -0
  266. {pydantic_ai-1.5.0 → pydantic_ai-1.7.0}/tests/models/cassettes/test_google/test_google_model_document_url_input.yaml +0 -0
  267. {pydantic_ai-1.5.0 → pydantic_ai-1.7.0}/tests/models/cassettes/test_google/test_google_model_empty_assistant_response.yaml +0 -0
  268. {pydantic_ai-1.5.0 → pydantic_ai-1.7.0}/tests/models/cassettes/test_google/test_google_model_empty_user_prompt.yaml +0 -0
  269. {pydantic_ai-1.5.0 → pydantic_ai-1.7.0}/tests/models/cassettes/test_google/test_google_model_image_as_binary_content_input.yaml +0 -0
  270. {pydantic_ai-1.5.0 → pydantic_ai-1.7.0}/tests/models/cassettes/test_google/test_google_model_image_url_input.yaml +0 -0
  271. {pydantic_ai-1.5.0 → pydantic_ai-1.7.0}/tests/models/cassettes/test_google/test_google_model_instructions.yaml +0 -0
  272. {pydantic_ai-1.5.0 → pydantic_ai-1.7.0}/tests/models/cassettes/test_google/test_google_model_iter_stream.yaml +0 -0
  273. {pydantic_ai-1.5.0 → pydantic_ai-1.7.0}/tests/models/cassettes/test_google/test_google_model_max_tokens.yaml +0 -0
  274. {pydantic_ai-1.5.0 → pydantic_ai-1.7.0}/tests/models/cassettes/test_google/test_google_model_multiple_documents_in_history.yaml +0 -0
  275. {pydantic_ai-1.5.0 → pydantic_ai-1.7.0}/tests/models/cassettes/test_google/test_google_model_receive_web_search_history_from_another_provider.yaml +0 -0
  276. {pydantic_ai-1.5.0 → pydantic_ai-1.7.0}/tests/models/cassettes/test_google/test_google_model_retry.yaml +0 -0
  277. {pydantic_ai-1.5.0 → pydantic_ai-1.7.0}/tests/models/cassettes/test_google/test_google_model_safety_settings.yaml +0 -0
  278. {pydantic_ai-1.5.0 → pydantic_ai-1.7.0}/tests/models/cassettes/test_google/test_google_model_server_tool_receive_history_from_another_provider.yaml +0 -0
  279. {pydantic_ai-1.5.0 → pydantic_ai-1.7.0}/tests/models/cassettes/test_google/test_google_model_stream.yaml +0 -0
  280. {pydantic_ai-1.5.0 → pydantic_ai-1.7.0}/tests/models/cassettes/test_google/test_google_model_structured_output.yaml +0 -0
  281. {pydantic_ai-1.5.0 → pydantic_ai-1.7.0}/tests/models/cassettes/test_google/test_google_model_text_as_binary_content_input.yaml +0 -0
  282. {pydantic_ai-1.5.0 → pydantic_ai-1.7.0}/tests/models/cassettes/test_google/test_google_model_text_document_url_input.yaml +0 -0
  283. {pydantic_ai-1.5.0 → pydantic_ai-1.7.0}/tests/models/cassettes/test_google/test_google_model_thinking_config.yaml +0 -0
  284. {pydantic_ai-1.5.0 → pydantic_ai-1.7.0}/tests/models/cassettes/test_google/test_google_model_thinking_part.yaml +0 -0
  285. {pydantic_ai-1.5.0 → pydantic_ai-1.7.0}/tests/models/cassettes/test_google/test_google_model_thinking_part_from_other_model.yaml +0 -0
  286. {pydantic_ai-1.5.0 → pydantic_ai-1.7.0}/tests/models/cassettes/test_google/test_google_model_thinking_part_iter.yaml +0 -0
  287. {pydantic_ai-1.5.0 → pydantic_ai-1.7.0}/tests/models/cassettes/test_google/test_google_model_top_p.yaml +0 -0
  288. {pydantic_ai-1.5.0 → pydantic_ai-1.7.0}/tests/models/cassettes/test_google/test_google_model_url_context_tool.yaml +0 -0
  289. {pydantic_ai-1.5.0 → pydantic_ai-1.7.0}/tests/models/cassettes/test_google/test_google_model_usage_limit_exceeded.yaml +0 -0
  290. {pydantic_ai-1.5.0 → pydantic_ai-1.7.0}/tests/models/cassettes/test_google/test_google_model_usage_limit_not_exceeded.yaml +0 -0
  291. {pydantic_ai-1.5.0 → pydantic_ai-1.7.0}/tests/models/cassettes/test_google/test_google_model_vertex_labels.yaml +0 -0
  292. {pydantic_ai-1.5.0 → pydantic_ai-1.7.0}/tests/models/cassettes/test_google/test_google_model_vertex_provider.yaml +0 -0
  293. {pydantic_ai-1.5.0 → pydantic_ai-1.7.0}/tests/models/cassettes/test_google/test_google_model_video_as_binary_content_input.yaml +0 -0
  294. {pydantic_ai-1.5.0 → pydantic_ai-1.7.0}/tests/models/cassettes/test_google/test_google_model_video_as_binary_content_input_with_vendor_metadata.yaml +0 -0
  295. {pydantic_ai-1.5.0 → pydantic_ai-1.7.0}/tests/models/cassettes/test_google/test_google_model_video_url_input.yaml +0 -0
  296. {pydantic_ai-1.5.0 → pydantic_ai-1.7.0}/tests/models/cassettes/test_google/test_google_model_web_search_tool.yaml +0 -0
  297. {pydantic_ai-1.5.0 → pydantic_ai-1.7.0}/tests/models/cassettes/test_google/test_google_model_web_search_tool_stream.yaml +0 -0
  298. {pydantic_ai-1.5.0 → pydantic_ai-1.7.0}/tests/models/cassettes/test_google/test_google_model_youtube_video_url_input_with_vendor_metadata.yaml +0 -0
  299. {pydantic_ai-1.5.0 → pydantic_ai-1.7.0}/tests/models/cassettes/test_google/test_google_multiple_images.yaml +0 -0
  300. {pydantic_ai-1.5.0 → pydantic_ai-1.7.0}/tests/models/cassettes/test_google/test_google_native_output.yaml +0 -0
  301. {pydantic_ai-1.5.0 → pydantic_ai-1.7.0}/tests/models/cassettes/test_google/test_google_native_output_multiple.yaml +0 -0
  302. {pydantic_ai-1.5.0 → pydantic_ai-1.7.0}/tests/models/cassettes/test_google/test_google_prompted_output.yaml +0 -0
  303. {pydantic_ai-1.5.0 → pydantic_ai-1.7.0}/tests/models/cassettes/test_google/test_google_prompted_output_multiple.yaml +0 -0
  304. {pydantic_ai-1.5.0 → pydantic_ai-1.7.0}/tests/models/cassettes/test_google/test_google_prompted_output_with_tools.yaml +0 -0
  305. {pydantic_ai-1.5.0 → pydantic_ai-1.7.0}/tests/models/cassettes/test_google/test_google_text_output_function.yaml +0 -0
  306. {pydantic_ai-1.5.0 → pydantic_ai-1.7.0}/tests/models/cassettes/test_google/test_google_timeout.yaml +0 -0
  307. {pydantic_ai-1.5.0 → pydantic_ai-1.7.0}/tests/models/cassettes/test_google/test_google_tool_config_any_with_tool_without_args.yaml +0 -0
  308. {pydantic_ai-1.5.0 → pydantic_ai-1.7.0}/tests/models/cassettes/test_google/test_google_tool_output.yaml +0 -0
  309. {pydantic_ai-1.5.0 → pydantic_ai-1.7.0}/tests/models/cassettes/test_google/test_google_url_input[AudioUrl (gs)].yaml +0 -0
  310. {pydantic_ai-1.5.0 → pydantic_ai-1.7.0}/tests/models/cassettes/test_google/test_google_url_input[AudioUrl].yaml +0 -0
  311. {pydantic_ai-1.5.0 → pydantic_ai-1.7.0}/tests/models/cassettes/test_google/test_google_url_input[DocumentUrl (gs)].yaml +0 -0
  312. {pydantic_ai-1.5.0 → pydantic_ai-1.7.0}/tests/models/cassettes/test_google/test_google_url_input[DocumentUrl].yaml +0 -0
  313. {pydantic_ai-1.5.0 → pydantic_ai-1.7.0}/tests/models/cassettes/test_google/test_google_url_input[ImageUrl (gs)].yaml +0 -0
  314. {pydantic_ai-1.5.0 → pydantic_ai-1.7.0}/tests/models/cassettes/test_google/test_google_url_input[ImageUrl].yaml +0 -0
  315. {pydantic_ai-1.5.0 → pydantic_ai-1.7.0}/tests/models/cassettes/test_google/test_google_url_input[VideoUrl (YouTube)].yaml +0 -0
  316. {pydantic_ai-1.5.0 → pydantic_ai-1.7.0}/tests/models/cassettes/test_google/test_google_url_input[VideoUrl (gs)].yaml +0 -0
  317. {pydantic_ai-1.5.0 → pydantic_ai-1.7.0}/tests/models/cassettes/test_google/test_google_url_input[VideoUrl].yaml +0 -0
  318. {pydantic_ai-1.5.0 → pydantic_ai-1.7.0}/tests/models/cassettes/test_google/test_google_url_input_force_download.yaml +0 -0
  319. {pydantic_ai-1.5.0 → pydantic_ai-1.7.0}/tests/models/cassettes/test_google/test_google_vertexai_image_generation.yaml +0 -0
  320. {pydantic_ai-1.5.0 → pydantic_ai-1.7.0}/tests/models/cassettes/test_google/test_google_vertexai_model_usage_limit_exceeded.yaml +0 -0
  321. {pydantic_ai-1.5.0 → pydantic_ai-1.7.0}/tests/models/cassettes/test_groq/test_extra_headers.yaml +0 -0
  322. {pydantic_ai-1.5.0 → pydantic_ai-1.7.0}/tests/models/cassettes/test_groq/test_groq_model_instructions.yaml +0 -0
  323. {pydantic_ai-1.5.0 → pydantic_ai-1.7.0}/tests/models/cassettes/test_groq/test_groq_model_thinking_part.yaml +0 -0
  324. {pydantic_ai-1.5.0 → pydantic_ai-1.7.0}/tests/models/cassettes/test_groq/test_groq_model_thinking_part_iter.yaml +0 -0
  325. {pydantic_ai-1.5.0 → pydantic_ai-1.7.0}/tests/models/cassettes/test_groq/test_groq_model_web_search_tool.yaml +0 -0
  326. {pydantic_ai-1.5.0 → pydantic_ai-1.7.0}/tests/models/cassettes/test_groq/test_groq_model_web_search_tool_stream.yaml +0 -0
  327. {pydantic_ai-1.5.0 → pydantic_ai-1.7.0}/tests/models/cassettes/test_groq/test_groq_native_output.yaml +0 -0
  328. {pydantic_ai-1.5.0 → pydantic_ai-1.7.0}/tests/models/cassettes/test_groq/test_groq_prompted_output.yaml +0 -0
  329. {pydantic_ai-1.5.0 → pydantic_ai-1.7.0}/tests/models/cassettes/test_groq/test_image_as_binary_content_input.yaml +0 -0
  330. {pydantic_ai-1.5.0 → pydantic_ai-1.7.0}/tests/models/cassettes/test_groq/test_image_as_binary_content_tool_response.yaml +0 -0
  331. {pydantic_ai-1.5.0 → pydantic_ai-1.7.0}/tests/models/cassettes/test_groq/test_image_url_input.yaml +0 -0
  332. {pydantic_ai-1.5.0 → pydantic_ai-1.7.0}/tests/models/cassettes/test_groq/test_tool_regular_error.yaml +0 -0
  333. {pydantic_ai-1.5.0 → pydantic_ai-1.7.0}/tests/models/cassettes/test_groq/test_tool_use_failed_error.yaml +0 -0
  334. {pydantic_ai-1.5.0 → pydantic_ai-1.7.0}/tests/models/cassettes/test_groq/test_tool_use_failed_error_streaming.yaml +0 -0
  335. {pydantic_ai-1.5.0 → pydantic_ai-1.7.0}/tests/models/cassettes/test_huggingface/test_hf_model_instructions.yaml +0 -0
  336. {pydantic_ai-1.5.0 → pydantic_ai-1.7.0}/tests/models/cassettes/test_huggingface/test_hf_model_thinking_part.yaml +0 -0
  337. {pydantic_ai-1.5.0 → pydantic_ai-1.7.0}/tests/models/cassettes/test_huggingface/test_hf_model_thinking_part_iter.yaml +0 -0
  338. {pydantic_ai-1.5.0 → pydantic_ai-1.7.0}/tests/models/cassettes/test_huggingface/test_image_as_binary_content_input.yaml +0 -0
  339. {pydantic_ai-1.5.0 → pydantic_ai-1.7.0}/tests/models/cassettes/test_huggingface/test_image_url_input.yaml +0 -0
  340. {pydantic_ai-1.5.0 → pydantic_ai-1.7.0}/tests/models/cassettes/test_huggingface/test_max_completion_tokens[Qwen-Qwen2.5-72B-Instruct].yaml +0 -0
  341. {pydantic_ai-1.5.0 → pydantic_ai-1.7.0}/tests/models/cassettes/test_huggingface/test_max_completion_tokens[deepseek-ai-DeepSeek-R1-0528].yaml +0 -0
  342. {pydantic_ai-1.5.0 → pydantic_ai-1.7.0}/tests/models/cassettes/test_huggingface/test_max_completion_tokens[meta-llama-Llama-3.3-70B-Instruct].yaml +0 -0
  343. {pydantic_ai-1.5.0 → pydantic_ai-1.7.0}/tests/models/cassettes/test_huggingface/test_request_simple_success_with_vcr.yaml +0 -0
  344. {pydantic_ai-1.5.0 → pydantic_ai-1.7.0}/tests/models/cassettes/test_huggingface/test_request_simple_usage.yaml +0 -0
  345. {pydantic_ai-1.5.0 → pydantic_ai-1.7.0}/tests/models/cassettes/test_huggingface/test_simple_completion.yaml +0 -0
  346. {pydantic_ai-1.5.0 → pydantic_ai-1.7.0}/tests/models/cassettes/test_huggingface/test_stream_completion.yaml +0 -0
  347. {pydantic_ai-1.5.0 → pydantic_ai-1.7.0}/tests/models/cassettes/test_mistral/test_image_as_binary_content_tool_response.yaml +0 -0
  348. {pydantic_ai-1.5.0 → pydantic_ai-1.7.0}/tests/models/cassettes/test_mistral/test_mistral_model_instructions.yaml +0 -0
  349. {pydantic_ai-1.5.0 → pydantic_ai-1.7.0}/tests/models/cassettes/test_mistral/test_mistral_model_thinking_part.yaml +0 -0
  350. {pydantic_ai-1.5.0 → pydantic_ai-1.7.0}/tests/models/cassettes/test_mistral/test_mistral_model_thinking_part_iter.yaml +0 -0
  351. {pydantic_ai-1.5.0 → pydantic_ai-1.7.0}/tests/models/cassettes/test_model_names/test_known_model_names.yaml +0 -0
  352. {pydantic_ai-1.5.0 → pydantic_ai-1.7.0}/tests/models/cassettes/test_openai/test_audio_as_binary_content_input.yaml +0 -0
  353. {pydantic_ai-1.5.0 → pydantic_ai-1.7.0}/tests/models/cassettes/test_openai/test_compatible_api_with_tool_calls_without_id.yaml +0 -0
  354. {pydantic_ai-1.5.0 → pydantic_ai-1.7.0}/tests/models/cassettes/test_openai/test_document_as_binary_content_input.yaml +0 -0
  355. {pydantic_ai-1.5.0 → pydantic_ai-1.7.0}/tests/models/cassettes/test_openai/test_document_as_binary_content_input_with_tool.yaml +0 -0
  356. {pydantic_ai-1.5.0 → pydantic_ai-1.7.0}/tests/models/cassettes/test_openai/test_document_url_input.yaml +0 -0
  357. {pydantic_ai-1.5.0 → pydantic_ai-1.7.0}/tests/models/cassettes/test_openai/test_extra_headers.yaml +0 -0
  358. {pydantic_ai-1.5.0 → pydantic_ai-1.7.0}/tests/models/cassettes/test_openai/test_image_as_binary_content_input.yaml +0 -0
  359. {pydantic_ai-1.5.0 → pydantic_ai-1.7.0}/tests/models/cassettes/test_openai/test_image_as_binary_content_tool_response.yaml +0 -0
  360. {pydantic_ai-1.5.0 → pydantic_ai-1.7.0}/tests/models/cassettes/test_openai/test_image_url_input_force_download.yaml +0 -0
  361. {pydantic_ai-1.5.0 → pydantic_ai-1.7.0}/tests/models/cassettes/test_openai/test_image_url_input_force_download_response_api.yaml +0 -0
  362. {pydantic_ai-1.5.0 → pydantic_ai-1.7.0}/tests/models/cassettes/test_openai/test_image_url_tool_response.yaml +0 -0
  363. {pydantic_ai-1.5.0 → pydantic_ai-1.7.0}/tests/models/cassettes/test_openai/test_invalid_response.yaml +0 -0
  364. {pydantic_ai-1.5.0 → pydantic_ai-1.7.0}/tests/models/cassettes/test_openai/test_max_completion_tokens[gpt-4.5-preview].yaml +0 -0
  365. {pydantic_ai-1.5.0 → pydantic_ai-1.7.0}/tests/models/cassettes/test_openai/test_max_completion_tokens[gpt-4o-mini].yaml +0 -0
  366. {pydantic_ai-1.5.0 → pydantic_ai-1.7.0}/tests/models/cassettes/test_openai/test_max_completion_tokens[o3-mini].yaml +0 -0
  367. {pydantic_ai-1.5.0 → pydantic_ai-1.7.0}/tests/models/cassettes/test_openai/test_multiple_agent_tool_calls.yaml +0 -0
  368. {pydantic_ai-1.5.0 → pydantic_ai-1.7.0}/tests/models/cassettes/test_openai/test_openai_audio_url_input.yaml +0 -0
  369. {pydantic_ai-1.5.0 → pydantic_ai-1.7.0}/tests/models/cassettes/test_openai/test_openai_instructions.yaml +0 -0
  370. {pydantic_ai-1.5.0 → pydantic_ai-1.7.0}/tests/models/cassettes/test_openai/test_openai_instructions_with_tool_calls_keep_instructions.yaml +0 -0
  371. {pydantic_ai-1.5.0 → pydantic_ai-1.7.0}/tests/models/cassettes/test_openai/test_openai_model_cerebras_provider.yaml +0 -0
  372. {pydantic_ai-1.5.0 → pydantic_ai-1.7.0}/tests/models/cassettes/test_openai/test_openai_model_cerebras_provider_harmony.yaml +0 -0
  373. {pydantic_ai-1.5.0 → pydantic_ai-1.7.0}/tests/models/cassettes/test_openai/test_openai_model_cerebras_provider_qwen_3_coder.yaml +0 -0
  374. {pydantic_ai-1.5.0 → pydantic_ai-1.7.0}/tests/models/cassettes/test_openai/test_openai_model_settings_temperature_ignored_on_gpt_5.yaml +0 -0
  375. {pydantic_ai-1.5.0 → pydantic_ai-1.7.0}/tests/models/cassettes/test_openai/test_openai_model_thinking_part.yaml +0 -0
  376. {pydantic_ai-1.5.0 → pydantic_ai-1.7.0}/tests/models/cassettes/test_openai/test_openai_model_without_system_prompt.yaml +0 -0
  377. {pydantic_ai-1.5.0 → pydantic_ai-1.7.0}/tests/models/cassettes/test_openai/test_openai_native_output.yaml +0 -0
  378. {pydantic_ai-1.5.0 → pydantic_ai-1.7.0}/tests/models/cassettes/test_openai/test_openai_native_output_multiple.yaml +0 -0
  379. {pydantic_ai-1.5.0 → pydantic_ai-1.7.0}/tests/models/cassettes/test_openai/test_openai_o1_mini_system_role[developer].yaml +0 -0
  380. {pydantic_ai-1.5.0 → pydantic_ai-1.7.0}/tests/models/cassettes/test_openai/test_openai_o1_mini_system_role[system].yaml +0 -0
  381. {pydantic_ai-1.5.0 → pydantic_ai-1.7.0}/tests/models/cassettes/test_openai/test_openai_prompted_output.yaml +0 -0
  382. {pydantic_ai-1.5.0 → pydantic_ai-1.7.0}/tests/models/cassettes/test_openai/test_openai_prompted_output_multiple.yaml +0 -0
  383. {pydantic_ai-1.5.0 → pydantic_ai-1.7.0}/tests/models/cassettes/test_openai/test_openai_text_output_function.yaml +0 -0
  384. {pydantic_ai-1.5.0 → pydantic_ai-1.7.0}/tests/models/cassettes/test_openai/test_openai_tool_output.yaml +0 -0
  385. {pydantic_ai-1.5.0 → pydantic_ai-1.7.0}/tests/models/cassettes/test_openai/test_openai_web_search_tool.yaml +0 -0
  386. {pydantic_ai-1.5.0 → pydantic_ai-1.7.0}/tests/models/cassettes/test_openai/test_openai_web_search_tool_model_not_supported.yaml +0 -0
  387. {pydantic_ai-1.5.0 → pydantic_ai-1.7.0}/tests/models/cassettes/test_openai/test_openai_web_search_tool_with_user_location.yaml +0 -0
  388. {pydantic_ai-1.5.0 → pydantic_ai-1.7.0}/tests/models/cassettes/test_openai/test_reasoning_model_with_temperature.yaml +0 -0
  389. {pydantic_ai-1.5.0 → pydantic_ai-1.7.0}/tests/models/cassettes/test_openai/test_system_prompt_role_o1_mini.yaml +0 -0
  390. {pydantic_ai-1.5.0 → pydantic_ai-1.7.0}/tests/models/cassettes/test_openai/test_text_document_as_binary_content_input.yaml +0 -0
  391. {pydantic_ai-1.5.0 → pydantic_ai-1.7.0}/tests/models/cassettes/test_openai/test_text_document_url_input.yaml +0 -0
  392. {pydantic_ai-1.5.0 → pydantic_ai-1.7.0}/tests/models/cassettes/test_openai/test_text_response.yaml +0 -0
  393. {pydantic_ai-1.5.0 → pydantic_ai-1.7.0}/tests/models/cassettes/test_openai/test_user_id.yaml +0 -0
  394. {pydantic_ai-1.5.0 → pydantic_ai-1.7.0}/tests/models/cassettes/test_openai/test_valid_response.yaml +0 -0
  395. {pydantic_ai-1.5.0 → pydantic_ai-1.7.0}/tests/models/cassettes/test_openai_responses/test_audio_as_binary_content_input.yaml +0 -0
  396. {pydantic_ai-1.5.0 → pydantic_ai-1.7.0}/tests/models/cassettes/test_openai_responses/test_image_as_binary_content_input.yaml +0 -0
  397. {pydantic_ai-1.5.0 → pydantic_ai-1.7.0}/tests/models/cassettes/test_openai_responses/test_image_as_binary_content_tool_response.yaml +0 -0
  398. {pydantic_ai-1.5.0 → pydantic_ai-1.7.0}/tests/models/cassettes/test_openai_responses/test_native_output.yaml +0 -0
  399. {pydantic_ai-1.5.0 → pydantic_ai-1.7.0}/tests/models/cassettes/test_openai_responses/test_native_output_multiple.yaml +0 -0
  400. {pydantic_ai-1.5.0 → pydantic_ai-1.7.0}/tests/models/cassettes/test_openai_responses/test_openai_previous_response_id.yaml +0 -0
  401. {pydantic_ai-1.5.0 → pydantic_ai-1.7.0}/tests/models/cassettes/test_openai_responses/test_openai_previous_response_id_auto_mode.yaml +0 -0
  402. {pydantic_ai-1.5.0 → pydantic_ai-1.7.0}/tests/models/cassettes/test_openai_responses/test_openai_responses_code_execution_return_image.yaml +0 -0
  403. {pydantic_ai-1.5.0 → pydantic_ai-1.7.0}/tests/models/cassettes/test_openai_responses/test_openai_responses_code_execution_return_image_stream.yaml +0 -0
  404. {pydantic_ai-1.5.0 → pydantic_ai-1.7.0}/tests/models/cassettes/test_openai_responses/test_openai_responses_document_as_binary_content_input.yaml +0 -0
  405. {pydantic_ai-1.5.0 → pydantic_ai-1.7.0}/tests/models/cassettes/test_openai_responses/test_openai_responses_document_url_input.yaml +0 -0
  406. {pydantic_ai-1.5.0 → pydantic_ai-1.7.0}/tests/models/cassettes/test_openai_responses/test_openai_responses_history_with_combined_tool_call_id.yaml +0 -0
  407. {pydantic_ai-1.5.0 → pydantic_ai-1.7.0}/tests/models/cassettes/test_openai_responses/test_openai_responses_image_and_text_output.yaml +0 -0
  408. {pydantic_ai-1.5.0 → pydantic_ai-1.7.0}/tests/models/cassettes/test_openai_responses/test_openai_responses_image_generation.yaml +0 -0
  409. {pydantic_ai-1.5.0 → pydantic_ai-1.7.0}/tests/models/cassettes/test_openai_responses/test_openai_responses_image_generation_jpeg.yaml +0 -0
  410. {pydantic_ai-1.5.0 → pydantic_ai-1.7.0}/tests/models/cassettes/test_openai_responses/test_openai_responses_image_generation_stream.yaml +0 -0
  411. {pydantic_ai-1.5.0 → pydantic_ai-1.7.0}/tests/models/cassettes/test_openai_responses/test_openai_responses_image_generation_tool_without_image_output.yaml +0 -0
  412. {pydantic_ai-1.5.0 → pydantic_ai-1.7.0}/tests/models/cassettes/test_openai_responses/test_openai_responses_image_generation_with_native_output.yaml +0 -0
  413. {pydantic_ai-1.5.0 → pydantic_ai-1.7.0}/tests/models/cassettes/test_openai_responses/test_openai_responses_image_generation_with_prompted_output.yaml +0 -0
  414. {pydantic_ai-1.5.0 → pydantic_ai-1.7.0}/tests/models/cassettes/test_openai_responses/test_openai_responses_image_generation_with_tool_output.yaml +0 -0
  415. {pydantic_ai-1.5.0 → pydantic_ai-1.7.0}/tests/models/cassettes/test_openai_responses/test_openai_responses_image_generation_with_tools.yaml +0 -0
  416. {pydantic_ai-1.5.0 → pydantic_ai-1.7.0}/tests/models/cassettes/test_openai_responses/test_openai_responses_image_or_text_output.yaml +0 -0
  417. {pydantic_ai-1.5.0 → pydantic_ai-1.7.0}/tests/models/cassettes/test_openai_responses/test_openai_responses_image_url_input.yaml +0 -0
  418. {pydantic_ai-1.5.0 → pydantic_ai-1.7.0}/tests/models/cassettes/test_openai_responses/test_openai_responses_model_builtin_tools.yaml +0 -0
  419. {pydantic_ai-1.5.0 → pydantic_ai-1.7.0}/tests/models/cassettes/test_openai_responses/test_openai_responses_model_builtin_tools_web_search.yaml +0 -0
  420. {pydantic_ai-1.5.0 → pydantic_ai-1.7.0}/tests/models/cassettes/test_openai_responses/test_openai_responses_model_http_error.yaml +0 -0
  421. {pydantic_ai-1.5.0 → pydantic_ai-1.7.0}/tests/models/cassettes/test_openai_responses/test_openai_responses_model_instructions.yaml +0 -0
  422. {pydantic_ai-1.5.0 → pydantic_ai-1.7.0}/tests/models/cassettes/test_openai_responses/test_openai_responses_model_mcp_server_tool.yaml +0 -0
  423. {pydantic_ai-1.5.0 → pydantic_ai-1.7.0}/tests/models/cassettes/test_openai_responses/test_openai_responses_model_mcp_server_tool_stream.yaml +0 -0
  424. {pydantic_ai-1.5.0 → pydantic_ai-1.7.0}/tests/models/cassettes/test_openai_responses/test_openai_responses_model_mcp_server_tool_with_connector.yaml +0 -0
  425. {pydantic_ai-1.5.0 → pydantic_ai-1.7.0}/tests/models/cassettes/test_openai_responses/test_openai_responses_model_retry.yaml +0 -0
  426. {pydantic_ai-1.5.0 → pydantic_ai-1.7.0}/tests/models/cassettes/test_openai_responses/test_openai_responses_model_simple_response.yaml +0 -0
  427. {pydantic_ai-1.5.0 → pydantic_ai-1.7.0}/tests/models/cassettes/test_openai_responses/test_openai_responses_model_thinking_part.yaml +0 -0
  428. {pydantic_ai-1.5.0 → pydantic_ai-1.7.0}/tests/models/cassettes/test_openai_responses/test_openai_responses_model_web_search_tool.yaml +0 -0
  429. {pydantic_ai-1.5.0 → pydantic_ai-1.7.0}/tests/models/cassettes/test_openai_responses/test_openai_responses_model_web_search_tool_stream.yaml +0 -0
  430. {pydantic_ai-1.5.0 → pydantic_ai-1.7.0}/tests/models/cassettes/test_openai_responses/test_openai_responses_model_web_search_tool_with_invalid_region.yaml +0 -0
  431. {pydantic_ai-1.5.0 → pydantic_ai-1.7.0}/tests/models/cassettes/test_openai_responses/test_openai_responses_model_web_search_tool_with_user_location.yaml +0 -0
  432. {pydantic_ai-1.5.0 → pydantic_ai-1.7.0}/tests/models/cassettes/test_openai_responses/test_openai_responses_multiple_images.yaml +0 -0
  433. {pydantic_ai-1.5.0 → pydantic_ai-1.7.0}/tests/models/cassettes/test_openai_responses/test_openai_responses_non_reasoning_model_no_item_ids.yaml +0 -0
  434. {pydantic_ai-1.5.0 → pydantic_ai-1.7.0}/tests/models/cassettes/test_openai_responses/test_openai_responses_output_type.yaml +0 -0
  435. {pydantic_ai-1.5.0 → pydantic_ai-1.7.0}/tests/models/cassettes/test_openai_responses/test_openai_responses_reasoning_effort.yaml +0 -0
  436. {pydantic_ai-1.5.0 → pydantic_ai-1.7.0}/tests/models/cassettes/test_openai_responses/test_openai_responses_reasoning_generate_summary.yaml +0 -0
  437. {pydantic_ai-1.5.0 → pydantic_ai-1.7.0}/tests/models/cassettes/test_openai_responses/test_openai_responses_stream.yaml +0 -0
  438. {pydantic_ai-1.5.0 → pydantic_ai-1.7.0}/tests/models/cassettes/test_openai_responses/test_openai_responses_streaming_usage.yaml +0 -0
  439. {pydantic_ai-1.5.0 → pydantic_ai-1.7.0}/tests/models/cassettes/test_openai_responses/test_openai_responses_system_prompt.yaml +0 -0
  440. {pydantic_ai-1.5.0 → pydantic_ai-1.7.0}/tests/models/cassettes/test_openai_responses/test_openai_responses_text_document_url_input.yaml +0 -0
  441. {pydantic_ai-1.5.0 → pydantic_ai-1.7.0}/tests/models/cassettes/test_openai_responses/test_openai_responses_thinking_part_from_other_model.yaml +0 -0
  442. {pydantic_ai-1.5.0 → pydantic_ai-1.7.0}/tests/models/cassettes/test_openai_responses/test_openai_responses_thinking_part_iter.yaml +0 -0
  443. {pydantic_ai-1.5.0 → pydantic_ai-1.7.0}/tests/models/cassettes/test_openai_responses/test_openai_responses_thinking_with_code_execution_tool.yaml +0 -0
  444. {pydantic_ai-1.5.0 → pydantic_ai-1.7.0}/tests/models/cassettes/test_openai_responses/test_openai_responses_thinking_with_code_execution_tool_stream.yaml +0 -0
  445. {pydantic_ai-1.5.0 → pydantic_ai-1.7.0}/tests/models/cassettes/test_openai_responses/test_openai_responses_thinking_with_modified_history.yaml +0 -0
  446. {pydantic_ai-1.5.0 → pydantic_ai-1.7.0}/tests/models/cassettes/test_openai_responses/test_openai_responses_thinking_with_tool_calls.yaml +0 -0
  447. {pydantic_ai-1.5.0 → pydantic_ai-1.7.0}/tests/models/cassettes/test_openai_responses/test_openai_responses_verbosity.yaml +0 -0
  448. {pydantic_ai-1.5.0 → pydantic_ai-1.7.0}/tests/models/cassettes/test_openai_responses/test_prompted_output.yaml +0 -0
  449. {pydantic_ai-1.5.0 → pydantic_ai-1.7.0}/tests/models/cassettes/test_openai_responses/test_prompted_output_multiple.yaml +0 -0
  450. {pydantic_ai-1.5.0 → pydantic_ai-1.7.0}/tests/models/cassettes/test_openai_responses/test_reasoning_model_with_temperature.yaml +0 -0
  451. {pydantic_ai-1.5.0 → pydantic_ai-1.7.0}/tests/models/cassettes/test_openai_responses/test_text_output_function.yaml +0 -0
  452. {pydantic_ai-1.5.0 → pydantic_ai-1.7.0}/tests/models/cassettes/test_openai_responses/test_tool_output.yaml +0 -0
  453. {pydantic_ai-1.5.0 → pydantic_ai-1.7.0}/tests/models/mock_async_stream.py +0 -0
  454. {pydantic_ai-1.5.0 → pydantic_ai-1.7.0}/tests/models/mock_openai.py +0 -0
  455. {pydantic_ai-1.5.0 → pydantic_ai-1.7.0}/tests/models/test_anthropic.py +0 -0
  456. {pydantic_ai-1.5.0 → pydantic_ai-1.7.0}/tests/models/test_bedrock.py +0 -0
  457. {pydantic_ai-1.5.0 → pydantic_ai-1.7.0}/tests/models/test_cohere.py +0 -0
  458. {pydantic_ai-1.5.0 → pydantic_ai-1.7.0}/tests/models/test_deepseek.py +0 -0
  459. {pydantic_ai-1.5.0 → pydantic_ai-1.7.0}/tests/models/test_download_item.py +0 -0
  460. {pydantic_ai-1.5.0 → pydantic_ai-1.7.0}/tests/models/test_fallback.py +0 -0
  461. {pydantic_ai-1.5.0 → pydantic_ai-1.7.0}/tests/models/test_gemini.py +0 -0
  462. {pydantic_ai-1.5.0 → pydantic_ai-1.7.0}/tests/models/test_gemini_vertex.py +0 -0
  463. {pydantic_ai-1.5.0 → pydantic_ai-1.7.0}/tests/models/test_google.py +0 -0
  464. {pydantic_ai-1.5.0 → pydantic_ai-1.7.0}/tests/models/test_groq.py +0 -0
  465. {pydantic_ai-1.5.0 → pydantic_ai-1.7.0}/tests/models/test_huggingface.py +0 -0
  466. {pydantic_ai-1.5.0 → pydantic_ai-1.7.0}/tests/models/test_instrumented.py +0 -0
  467. {pydantic_ai-1.5.0 → pydantic_ai-1.7.0}/tests/models/test_mcp_sampling.py +0 -0
  468. {pydantic_ai-1.5.0 → pydantic_ai-1.7.0}/tests/models/test_mistral.py +0 -0
  469. {pydantic_ai-1.5.0 → pydantic_ai-1.7.0}/tests/models/test_model.py +0 -0
  470. {pydantic_ai-1.5.0 → pydantic_ai-1.7.0}/tests/models/test_model_function.py +0 -0
  471. {pydantic_ai-1.5.0 → pydantic_ai-1.7.0}/tests/models/test_model_names.py +0 -0
  472. {pydantic_ai-1.5.0 → pydantic_ai-1.7.0}/tests/models/test_model_request_parameters.py +0 -0
  473. {pydantic_ai-1.5.0 → pydantic_ai-1.7.0}/tests/models/test_model_settings.py +0 -0
  474. {pydantic_ai-1.5.0 → pydantic_ai-1.7.0}/tests/models/test_openai.py +0 -0
  475. {pydantic_ai-1.5.0 → pydantic_ai-1.7.0}/tests/parts_from_messages.py +0 -0
  476. {pydantic_ai-1.5.0 → pydantic_ai-1.7.0}/tests/providers/__init__.py +0 -0
  477. {pydantic_ai-1.5.0 → pydantic_ai-1.7.0}/tests/providers/cassettes/test_azure/test_azure_provider_call.yaml +0 -0
  478. {pydantic_ai-1.5.0 → pydantic_ai-1.7.0}/tests/providers/cassettes/test_gateway/test_gateway_provider_with_anthropic.yaml +0 -0
  479. {pydantic_ai-1.5.0 → pydantic_ai-1.7.0}/tests/providers/cassettes/test_gateway/test_gateway_provider_with_bedrock.yaml +0 -0
  480. {pydantic_ai-1.5.0 → pydantic_ai-1.7.0}/tests/providers/cassettes/test_gateway/test_gateway_provider_with_google_vertex.yaml +0 -0
  481. {pydantic_ai-1.5.0 → pydantic_ai-1.7.0}/tests/providers/cassettes/test_gateway/test_gateway_provider_with_groq.yaml +0 -0
  482. {pydantic_ai-1.5.0 → pydantic_ai-1.7.0}/tests/providers/cassettes/test_gateway/test_gateway_provider_with_openai.yaml +0 -0
  483. {pydantic_ai-1.5.0 → pydantic_ai-1.7.0}/tests/providers/cassettes/test_gateway/test_gateway_provider_with_openai_responses.yaml +0 -0
  484. {pydantic_ai-1.5.0 → pydantic_ai-1.7.0}/tests/providers/cassettes/test_google_vertex/test_vertexai_provider.yaml +0 -0
  485. {pydantic_ai-1.5.0 → pydantic_ai-1.7.0}/tests/providers/cassettes/test_heroku/test_heroku_model_provider_claude_3_7_sonnet.yaml +0 -0
  486. {pydantic_ai-1.5.0 → pydantic_ai-1.7.0}/tests/providers/cassettes/test_openrouter/test_openrouter_with_google_model.yaml +0 -0
  487. {pydantic_ai-1.5.0 → pydantic_ai-1.7.0}/tests/providers/test_anthropic.py +0 -0
  488. {pydantic_ai-1.5.0 → pydantic_ai-1.7.0}/tests/providers/test_azure.py +0 -0
  489. {pydantic_ai-1.5.0 → pydantic_ai-1.7.0}/tests/providers/test_bedrock.py +0 -0
  490. {pydantic_ai-1.5.0 → pydantic_ai-1.7.0}/tests/providers/test_cerebras.py +0 -0
  491. {pydantic_ai-1.5.0 → pydantic_ai-1.7.0}/tests/providers/test_cohere.py +0 -0
  492. {pydantic_ai-1.5.0 → pydantic_ai-1.7.0}/tests/providers/test_deepseek.py +0 -0
  493. {pydantic_ai-1.5.0 → pydantic_ai-1.7.0}/tests/providers/test_fireworks.py +0 -0
  494. {pydantic_ai-1.5.0 → pydantic_ai-1.7.0}/tests/providers/test_gateway.py +0 -0
  495. {pydantic_ai-1.5.0 → pydantic_ai-1.7.0}/tests/providers/test_github.py +0 -0
  496. {pydantic_ai-1.5.0 → pydantic_ai-1.7.0}/tests/providers/test_google_gla.py +0 -0
  497. {pydantic_ai-1.5.0 → pydantic_ai-1.7.0}/tests/providers/test_google_vertex.py +0 -0
  498. {pydantic_ai-1.5.0 → pydantic_ai-1.7.0}/tests/providers/test_grok.py +0 -0
  499. {pydantic_ai-1.5.0 → pydantic_ai-1.7.0}/tests/providers/test_groq.py +0 -0
  500. {pydantic_ai-1.5.0 → pydantic_ai-1.7.0}/tests/providers/test_heroku.py +0 -0
  501. {pydantic_ai-1.5.0 → pydantic_ai-1.7.0}/tests/providers/test_huggingface.py +0 -0
  502. {pydantic_ai-1.5.0 → pydantic_ai-1.7.0}/tests/providers/test_litellm.py +0 -0
  503. {pydantic_ai-1.5.0 → pydantic_ai-1.7.0}/tests/providers/test_mistral.py +0 -0
  504. {pydantic_ai-1.5.0 → pydantic_ai-1.7.0}/tests/providers/test_moonshotai.py +0 -0
  505. {pydantic_ai-1.5.0 → pydantic_ai-1.7.0}/tests/providers/test_nebius.py +0 -0
  506. {pydantic_ai-1.5.0 → pydantic_ai-1.7.0}/tests/providers/test_ollama.py +0 -0
  507. {pydantic_ai-1.5.0 → pydantic_ai-1.7.0}/tests/providers/test_openai.py +0 -0
  508. {pydantic_ai-1.5.0 → pydantic_ai-1.7.0}/tests/providers/test_openrouter.py +0 -0
  509. {pydantic_ai-1.5.0 → pydantic_ai-1.7.0}/tests/providers/test_ovhcloud.py +0 -0
  510. {pydantic_ai-1.5.0 → pydantic_ai-1.7.0}/tests/providers/test_together.py +0 -0
  511. {pydantic_ai-1.5.0 → pydantic_ai-1.7.0}/tests/providers/test_vercel.py +0 -0
  512. {pydantic_ai-1.5.0 → pydantic_ai-1.7.0}/tests/test_a2a.py +0 -0
  513. {pydantic_ai-1.5.0 → pydantic_ai-1.7.0}/tests/test_ag_ui.py +0 -0
  514. {pydantic_ai-1.5.0 → pydantic_ai-1.7.0}/tests/test_cli.py +0 -0
  515. {pydantic_ai-1.5.0 → pydantic_ai-1.7.0}/tests/test_dbos.py +0 -0
  516. {pydantic_ai-1.5.0 → pydantic_ai-1.7.0}/tests/test_deps.py +0 -0
  517. {pydantic_ai-1.5.0 → pydantic_ai-1.7.0}/tests/test_direct.py +0 -0
  518. {pydantic_ai-1.5.0 → pydantic_ai-1.7.0}/tests/test_examples.py +0 -0
  519. {pydantic_ai-1.5.0 → pydantic_ai-1.7.0}/tests/test_format_as_xml.py +0 -0
  520. {pydantic_ai-1.5.0 → pydantic_ai-1.7.0}/tests/test_function_schema.py +0 -0
  521. {pydantic_ai-1.5.0 → pydantic_ai-1.7.0}/tests/test_history_processor.py +0 -0
  522. {pydantic_ai-1.5.0 → pydantic_ai-1.7.0}/tests/test_json_body_serializer.py +0 -0
  523. {pydantic_ai-1.5.0 → pydantic_ai-1.7.0}/tests/test_live.py +0 -0
  524. {pydantic_ai-1.5.0 → pydantic_ai-1.7.0}/tests/test_logfire.py +0 -0
  525. {pydantic_ai-1.5.0 → pydantic_ai-1.7.0}/tests/test_mcp.py +0 -0
  526. {pydantic_ai-1.5.0 → pydantic_ai-1.7.0}/tests/test_messages.py +0 -0
  527. {pydantic_ai-1.5.0 → pydantic_ai-1.7.0}/tests/test_parts_manager.py +0 -0
  528. {pydantic_ai-1.5.0 → pydantic_ai-1.7.0}/tests/test_prefect.py +0 -0
  529. {pydantic_ai-1.5.0 → pydantic_ai-1.7.0}/tests/test_settings.py +0 -0
  530. {pydantic_ai-1.5.0 → pydantic_ai-1.7.0}/tests/test_streaming.py +0 -0
  531. {pydantic_ai-1.5.0 → pydantic_ai-1.7.0}/tests/test_temporal.py +0 -0
  532. {pydantic_ai-1.5.0 → pydantic_ai-1.7.0}/tests/test_tenacity.py +0 -0
  533. {pydantic_ai-1.5.0 → pydantic_ai-1.7.0}/tests/test_thinking_part.py +0 -0
  534. {pydantic_ai-1.5.0 → pydantic_ai-1.7.0}/tests/test_tools.py +0 -0
  535. {pydantic_ai-1.5.0 → pydantic_ai-1.7.0}/tests/test_toolsets.py +0 -0
  536. {pydantic_ai-1.5.0 → pydantic_ai-1.7.0}/tests/test_usage_limits.py +0 -0
  537. {pydantic_ai-1.5.0 → pydantic_ai-1.7.0}/tests/test_utils.py +0 -0
  538. {pydantic_ai-1.5.0 → pydantic_ai-1.7.0}/tests/typed_agent.py +0 -0
  539. {pydantic_ai-1.5.0 → pydantic_ai-1.7.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.7.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.7.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.7.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.7.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.7.0; extra == 'prefect'
38
38
  Description-Content-Type: text/markdown
39
39
 
40
40
  <div align="center">
@@ -78,7 +78,7 @@ We built Pydantic AI with one simple aim: to bring that FastAPI feeling to GenAI
78
78
  [Pydantic Validation](https://docs.pydantic.dev/latest/) is the validation layer of the OpenAI SDK, the Google ADK, the Anthropic SDK, LangChain, LlamaIndex, AutoGPT, Transformers, CrewAI, Instructor and many more. _Why use the derivative when you can go straight to the source?_ :smiley:
79
79
 
80
80
  2. **Model-agnostic**:
81
- Supports virtually every [model](https://ai.pydantic.dev/models/overview) and provider: OpenAI, Anthropic, Gemini, DeepSeek, Grok, Cohere, Mistral, and Perplexity; Azure AI Foundry, Amazon Bedrock, Google Vertex AI, Ollama, LiteLLM, Groq, OpenRouter, Together AI, Fireworks AI, Cerebras, Hugging Face, GitHub, Heroku, Vercel, Nebius, OVHcloud. If your favorite model or provider is not listed, you can easily implement a [custom model](https://ai.pydantic.dev/models/overview#custom-models).
81
+ Supports virtually every [model](https://ai.pydantic.dev/models/overview) and provider: OpenAI, Anthropic, Gemini, DeepSeek, Grok, Cohere, Mistral, and Perplexity; Azure AI Foundry, Amazon Bedrock, Google Vertex AI, Ollama, LiteLLM, Groq, OpenRouter, Together AI, Fireworks AI, Cerebras, Hugging Face, GitHub, Heroku, Vercel, Nebius, OVHcloud, and Outlines. If your favorite model or provider is not listed, you can easily implement a [custom model](https://ai.pydantic.dev/models/overview#custom-models).
82
82
 
83
83
  3. **Seamless Observability**:
84
84
  Tightly [integrates](https://ai.pydantic.dev/logfire) with [Pydantic Logfire](https://pydantic.dev/logfire), our general-purpose OpenTelemetry observability platform, for real-time debugging, evals-based performance monitoring, and behavior, tracing, and cost tracking. If you already have an observability platform that supports OTel, you can [use that too](https://ai.pydantic.dev/logfire#alternative-observability-backends).
@@ -39,7 +39,7 @@ We built Pydantic AI with one simple aim: to bring that FastAPI feeling to GenAI
39
39
  [Pydantic Validation](https://docs.pydantic.dev/latest/) is the validation layer of the OpenAI SDK, the Google ADK, the Anthropic SDK, LangChain, LlamaIndex, AutoGPT, Transformers, CrewAI, Instructor and many more. _Why use the derivative when you can go straight to the source?_ :smiley:
40
40
 
41
41
  2. **Model-agnostic**:
42
- Supports virtually every [model](https://ai.pydantic.dev/models/overview) and provider: OpenAI, Anthropic, Gemini, DeepSeek, Grok, Cohere, Mistral, and Perplexity; Azure AI Foundry, Amazon Bedrock, Google Vertex AI, Ollama, LiteLLM, Groq, OpenRouter, Together AI, Fireworks AI, Cerebras, Hugging Face, GitHub, Heroku, Vercel, Nebius, OVHcloud. If your favorite model or provider is not listed, you can easily implement a [custom model](https://ai.pydantic.dev/models/overview#custom-models).
42
+ Supports virtually every [model](https://ai.pydantic.dev/models/overview) and provider: OpenAI, Anthropic, Gemini, DeepSeek, Grok, Cohere, Mistral, and Perplexity; Azure AI Foundry, Amazon Bedrock, Google Vertex AI, Ollama, LiteLLM, Groq, OpenRouter, Together AI, Fireworks AI, Cerebras, Hugging Face, GitHub, Heroku, Vercel, Nebius, OVHcloud, and Outlines. If your favorite model or provider is not listed, you can easily implement a [custom model](https://ai.pydantic.dev/models/overview#custom-models).
43
43
 
44
44
  3. **Seamless Observability**:
45
45
  Tightly [integrates](https://ai.pydantic.dev/logfire) with [Pydantic Logfire](https://pydantic.dev/logfire), our general-purpose OpenTelemetry observability platform, for real-time debugging, evals-based performance monitoring, and behavior, tracing, and cost tracking. If you already have an observability platform that supports OTel, you can [use that too](https://ai.pydantic.dev/logfire#alternative-observability-backends).
@@ -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]
@@ -105,6 +105,11 @@ dev = [
105
105
  "pip>=25.2",
106
106
  "genai-prices>=0.0.28",
107
107
  "mcp-run-python>=0.0.20",
108
+ # Needed to test Outlines (not included in the default installation)
109
+ "pydantic-ai-slim[outlines-transformers]",
110
+ "pydantic-ai-slim[outlines-llamacpp]",
111
+ "pydantic-ai-slim[outlines-mlxlm]",
112
+ "pydantic-ai-slim[outlines-sglang]",
108
113
  ]
109
114
  lint = ["mypy>=1.11.2", "pyright>=1.1.390", "ruff>=0.6.9"]
110
115
  docs = [
@@ -232,6 +237,7 @@ filterwarnings = [
232
237
  "ignore:unclosed <socket:ResourceWarning",
233
238
  "ignore:unclosed event loop:ResourceWarning",
234
239
  ]
240
+ # addopts = ["--inline-snapshot=create,fix"]
235
241
 
236
242
  # https://coverage.readthedocs.io/en/latest/config.html#run
237
243
  [tool.coverage.run]
@@ -536,6 +536,18 @@ def model(
536
536
  'Qwen/Qwen2.5-72B-Instruct',
537
537
  provider=HuggingFaceProvider(provider_name='nebius', api_key=huggingface_api_key),
538
538
  )
539
+ elif request.param == 'outlines':
540
+ from outlines.models.transformers import from_transformers
541
+ from transformers import AutoModelForCausalLM, AutoTokenizer
542
+
543
+ from pydantic_ai.models.outlines import OutlinesModel
544
+
545
+ return OutlinesModel(
546
+ from_transformers(
547
+ AutoModelForCausalLM.from_pretrained('erwanf/gpt2-mini'),
548
+ AutoTokenizer.from_pretrained('erwanf/gpt2-mini'),
549
+ )
550
+ )
539
551
  else:
540
552
  raise ValueError(f'Unknown model: {request.param}')
541
553
  except ImportError:
@@ -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