pydantic-ai 0.4.3__tar.gz → 0.4.5__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.
Files changed (336) hide show
  1. {pydantic_ai-0.4.3 → pydantic_ai-0.4.5}/PKG-INFO +35 -35
  2. {pydantic_ai-0.4.3 → pydantic_ai-0.4.5}/README.md +31 -31
  3. {pydantic_ai-0.4.3 → pydantic_ai-0.4.5}/pyproject.toml +4 -1
  4. pydantic_ai-0.4.3/tests/cassettes/test_mcp/test_tool_returning_text_resource.yaml → pydantic_ai-0.4.5/tests/cassettes/test_mcp/test_agent_with_server_not_running.yaml +82 -32
  5. pydantic_ai-0.4.5/tests/cassettes/test_mcp/test_tool_returning_text_resource.yaml +345 -0
  6. {pydantic_ai-0.4.3 → pydantic_ai-0.4.5}/tests/conftest.py +6 -0
  7. {pydantic_ai-0.4.3 → pydantic_ai-0.4.5}/tests/evals/test_llm_as_a_judge.py +189 -7
  8. {pydantic_ai-0.4.3 → pydantic_ai-0.4.5}/tests/example_modules/mcp_server.py +1 -1
  9. {pydantic_ai-0.4.3 → pydantic_ai-0.4.5}/tests/ext/test_langchain.py +27 -18
  10. {pydantic_ai-0.4.3 → pydantic_ai-0.4.5}/tests/mcp_server.py +2 -2
  11. {pydantic_ai-0.4.3 → pydantic_ai-0.4.5}/tests/models/cassettes/test_download_item/test_download_item_no_content_type.yaml +8 -8
  12. pydantic_ai-0.4.5/tests/models/cassettes/test_google/test_google_model_empty_assistant_response.yaml +60 -0
  13. {pydantic_ai-0.4.3 → pydantic_ai-0.4.5}/tests/models/cassettes/test_model_names/test_known_model_names.yaml +2 -1
  14. pydantic_ai-0.4.5/tests/models/cassettes/test_openai/test_invalid_response.yaml +51 -0
  15. pydantic_ai-0.4.5/tests/models/cassettes/test_openai/test_text_response.yaml +49 -0
  16. pydantic_ai-0.4.5/tests/models/cassettes/test_openai/test_valid_response.yaml +79 -0
  17. {pydantic_ai-0.4.3 → pydantic_ai-0.4.5}/tests/models/test_anthropic.py +1 -1
  18. {pydantic_ai-0.4.3 → pydantic_ai-0.4.5}/tests/models/test_gemini.py +36 -1
  19. {pydantic_ai-0.4.3 → pydantic_ai-0.4.5}/tests/models/test_google.py +15 -0
  20. {pydantic_ai-0.4.3 → pydantic_ai-0.4.5}/tests/models/test_model.py +16 -0
  21. {pydantic_ai-0.4.3 → pydantic_ai-0.4.5}/tests/models/test_model_names.py +3 -0
  22. {pydantic_ai-0.4.3 → pydantic_ai-0.4.5}/tests/models/test_model_test.py +3 -2
  23. {pydantic_ai-0.4.3 → pydantic_ai-0.4.5}/tests/models/test_openai.py +41 -1
  24. {pydantic_ai-0.4.3 → pydantic_ai-0.4.5}/tests/providers/test_groq.py +7 -0
  25. {pydantic_ai-0.4.3 → pydantic_ai-0.4.5}/tests/test_a2a.py +9 -2
  26. pydantic_ai-0.4.5/tests/test_ag_ui.py +939 -0
  27. {pydantic_ai-0.4.3 → pydantic_ai-0.4.5}/tests/test_agent.py +392 -22
  28. {pydantic_ai-0.4.3 → pydantic_ai-0.4.5}/tests/test_cli.py +3 -2
  29. {pydantic_ai-0.4.3 → pydantic_ai-0.4.5}/tests/test_examples.py +37 -7
  30. {pydantic_ai-0.4.3 → pydantic_ai-0.4.5}/tests/test_format_as_xml.py +23 -25
  31. {pydantic_ai-0.4.3 → pydantic_ai-0.4.5}/tests/test_logfire.py +117 -59
  32. {pydantic_ai-0.4.3 → pydantic_ai-0.4.5}/tests/test_mcp.py +74 -55
  33. {pydantic_ai-0.4.3 → pydantic_ai-0.4.5}/tests/test_streaming.py +130 -35
  34. {pydantic_ai-0.4.3 → pydantic_ai-0.4.5}/tests/test_tools.py +204 -18
  35. pydantic_ai-0.4.5/tests/test_toolsets.py +471 -0
  36. {pydantic_ai-0.4.3 → pydantic_ai-0.4.5}/tests/test_usage_limits.py +9 -0
  37. {pydantic_ai-0.4.3 → pydantic_ai-0.4.5}/tests/typed_agent.py +15 -1
  38. {pydantic_ai-0.4.3 → pydantic_ai-0.4.5}/.gitignore +0 -0
  39. {pydantic_ai-0.4.3 → pydantic_ai-0.4.5}/LICENSE +0 -0
  40. {pydantic_ai-0.4.3 → pydantic_ai-0.4.5}/Makefile +0 -0
  41. {pydantic_ai-0.4.3 → pydantic_ai-0.4.5}/tests/__init__.py +0 -0
  42. {pydantic_ai-0.4.3 → pydantic_ai-0.4.5}/tests/assets/dummy.pdf +0 -0
  43. {pydantic_ai-0.4.3 → pydantic_ai-0.4.5}/tests/assets/kiwi.png +0 -0
  44. {pydantic_ai-0.4.3 → pydantic_ai-0.4.5}/tests/assets/marcelo.mp3 +0 -0
  45. {pydantic_ai-0.4.3 → pydantic_ai-0.4.5}/tests/assets/small_video.mp4 +0 -0
  46. {pydantic_ai-0.4.3 → pydantic_ai-0.4.5}/tests/cassettes/test_mcp/test_agent_with_stdio_server.yaml +0 -0
  47. {pydantic_ai-0.4.3 → pydantic_ai-0.4.5}/tests/cassettes/test_mcp/test_tool_returning_audio_resource.yaml +0 -0
  48. {pydantic_ai-0.4.3 → pydantic_ai-0.4.5}/tests/cassettes/test_mcp/test_tool_returning_dict.yaml +0 -0
  49. {pydantic_ai-0.4.3 → pydantic_ai-0.4.5}/tests/cassettes/test_mcp/test_tool_returning_error.yaml +0 -0
  50. {pydantic_ai-0.4.3 → pydantic_ai-0.4.5}/tests/cassettes/test_mcp/test_tool_returning_image.yaml +0 -0
  51. {pydantic_ai-0.4.3 → pydantic_ai-0.4.5}/tests/cassettes/test_mcp/test_tool_returning_image_resource.yaml +0 -0
  52. {pydantic_ai-0.4.3 → pydantic_ai-0.4.5}/tests/cassettes/test_mcp/test_tool_returning_multiple_items.yaml +0 -0
  53. {pydantic_ai-0.4.3 → pydantic_ai-0.4.5}/tests/cassettes/test_mcp/test_tool_returning_none.yaml +0 -0
  54. {pydantic_ai-0.4.3 → pydantic_ai-0.4.5}/tests/cassettes/test_mcp/test_tool_returning_str.yaml +0 -0
  55. {pydantic_ai-0.4.3 → pydantic_ai-0.4.5}/tests/cassettes/test_settings/test_stop_settings[anthropic].yaml +0 -0
  56. {pydantic_ai-0.4.3 → pydantic_ai-0.4.5}/tests/cassettes/test_settings/test_stop_settings[bedrock].yaml +0 -0
  57. {pydantic_ai-0.4.3 → pydantic_ai-0.4.5}/tests/cassettes/test_settings/test_stop_settings[cohere].yaml +0 -0
  58. {pydantic_ai-0.4.3 → pydantic_ai-0.4.5}/tests/cassettes/test_settings/test_stop_settings[gemini].yaml +0 -0
  59. {pydantic_ai-0.4.3 → pydantic_ai-0.4.5}/tests/cassettes/test_settings/test_stop_settings[google].yaml +0 -0
  60. {pydantic_ai-0.4.3 → pydantic_ai-0.4.5}/tests/cassettes/test_settings/test_stop_settings[groq].yaml +0 -0
  61. {pydantic_ai-0.4.3 → pydantic_ai-0.4.5}/tests/cassettes/test_settings/test_stop_settings[mistral].yaml +0 -0
  62. {pydantic_ai-0.4.3 → pydantic_ai-0.4.5}/tests/cassettes/test_settings/test_stop_settings[openai].yaml +0 -0
  63. {pydantic_ai-0.4.3 → pydantic_ai-0.4.5}/tests/evals/__init__.py +0 -0
  64. {pydantic_ai-0.4.3 → pydantic_ai-0.4.5}/tests/evals/test_dataset.py +0 -0
  65. {pydantic_ai-0.4.3 → pydantic_ai-0.4.5}/tests/evals/test_evaluator_base.py +0 -0
  66. {pydantic_ai-0.4.3 → pydantic_ai-0.4.5}/tests/evals/test_evaluator_common.py +0 -0
  67. {pydantic_ai-0.4.3 → pydantic_ai-0.4.5}/tests/evals/test_evaluator_context.py +0 -0
  68. {pydantic_ai-0.4.3 → pydantic_ai-0.4.5}/tests/evals/test_evaluator_spec.py +0 -0
  69. {pydantic_ai-0.4.3 → pydantic_ai-0.4.5}/tests/evals/test_evaluators.py +0 -0
  70. {pydantic_ai-0.4.3 → pydantic_ai-0.4.5}/tests/evals/test_otel.py +0 -0
  71. {pydantic_ai-0.4.3 → pydantic_ai-0.4.5}/tests/evals/test_render_numbers.py +0 -0
  72. {pydantic_ai-0.4.3 → pydantic_ai-0.4.5}/tests/evals/test_reporting.py +0 -0
  73. {pydantic_ai-0.4.3 → pydantic_ai-0.4.5}/tests/evals/test_reports.py +0 -0
  74. {pydantic_ai-0.4.3 → pydantic_ai-0.4.5}/tests/evals/test_utils.py +0 -0
  75. {pydantic_ai-0.4.3 → pydantic_ai-0.4.5}/tests/evals/utils.py +0 -0
  76. {pydantic_ai-0.4.3 → pydantic_ai-0.4.5}/tests/example_modules/README.md +0 -0
  77. {pydantic_ai-0.4.3 → pydantic_ai-0.4.5}/tests/example_modules/bank_database.py +0 -0
  78. {pydantic_ai-0.4.3 → pydantic_ai-0.4.5}/tests/example_modules/fake_database.py +0 -0
  79. {pydantic_ai-0.4.3 → pydantic_ai-0.4.5}/tests/example_modules/weather_service.py +0 -0
  80. {pydantic_ai-0.4.3 → pydantic_ai-0.4.5}/tests/ext/__init__.py +0 -0
  81. {pydantic_ai-0.4.3 → pydantic_ai-0.4.5}/tests/graph/__init__.py +0 -0
  82. {pydantic_ai-0.4.3 → pydantic_ai-0.4.5}/tests/graph/test_file_persistence.py +0 -0
  83. {pydantic_ai-0.4.3 → pydantic_ai-0.4.5}/tests/graph/test_graph.py +0 -0
  84. {pydantic_ai-0.4.3 → pydantic_ai-0.4.5}/tests/graph/test_mermaid.py +0 -0
  85. {pydantic_ai-0.4.3 → pydantic_ai-0.4.5}/tests/graph/test_persistence.py +0 -0
  86. {pydantic_ai-0.4.3 → pydantic_ai-0.4.5}/tests/graph/test_state.py +0 -0
  87. {pydantic_ai-0.4.3 → pydantic_ai-0.4.5}/tests/graph/test_utils.py +0 -0
  88. {pydantic_ai-0.4.3 → pydantic_ai-0.4.5}/tests/import_examples.py +0 -0
  89. {pydantic_ai-0.4.3 → pydantic_ai-0.4.5}/tests/json_body_serializer.py +0 -0
  90. {pydantic_ai-0.4.3 → pydantic_ai-0.4.5}/tests/models/__init__.py +0 -0
  91. {pydantic_ai-0.4.3 → pydantic_ai-0.4.5}/tests/models/cassettes/test_anthropic/test_anthropic_model_empty_message_on_history.yaml +0 -0
  92. {pydantic_ai-0.4.3 → pydantic_ai-0.4.5}/tests/models/cassettes/test_anthropic/test_anthropic_model_instructions.yaml +0 -0
  93. {pydantic_ai-0.4.3 → pydantic_ai-0.4.5}/tests/models/cassettes/test_anthropic/test_anthropic_model_thinking_part.yaml +0 -0
  94. {pydantic_ai-0.4.3 → pydantic_ai-0.4.5}/tests/models/cassettes/test_anthropic/test_anthropic_model_thinking_part_stream.yaml +0 -0
  95. {pydantic_ai-0.4.3 → pydantic_ai-0.4.5}/tests/models/cassettes/test_anthropic/test_anthropic_prompted_output.yaml +0 -0
  96. {pydantic_ai-0.4.3 → pydantic_ai-0.4.5}/tests/models/cassettes/test_anthropic/test_anthropic_prompted_output_multiple.yaml +0 -0
  97. {pydantic_ai-0.4.3 → pydantic_ai-0.4.5}/tests/models/cassettes/test_anthropic/test_anthropic_text_output_function.yaml +0 -0
  98. {pydantic_ai-0.4.3 → pydantic_ai-0.4.5}/tests/models/cassettes/test_anthropic/test_anthropic_tool_output.yaml +0 -0
  99. {pydantic_ai-0.4.3 → pydantic_ai-0.4.5}/tests/models/cassettes/test_anthropic/test_anthropic_tool_with_thinking.yaml +0 -0
  100. {pydantic_ai-0.4.3 → pydantic_ai-0.4.5}/tests/models/cassettes/test_anthropic/test_document_binary_content_input.yaml +0 -0
  101. {pydantic_ai-0.4.3 → pydantic_ai-0.4.5}/tests/models/cassettes/test_anthropic/test_document_url_input.yaml +0 -0
  102. {pydantic_ai-0.4.3 → pydantic_ai-0.4.5}/tests/models/cassettes/test_anthropic/test_extra_headers.yaml +0 -0
  103. {pydantic_ai-0.4.3 → pydantic_ai-0.4.5}/tests/models/cassettes/test_anthropic/test_image_as_binary_content_tool_response.yaml +0 -0
  104. {pydantic_ai-0.4.3 → pydantic_ai-0.4.5}/tests/models/cassettes/test_anthropic/test_image_url_input.yaml +0 -0
  105. {pydantic_ai-0.4.3 → pydantic_ai-0.4.5}/tests/models/cassettes/test_anthropic/test_image_url_input_invalid_mime_type.yaml +0 -0
  106. {pydantic_ai-0.4.3 → pydantic_ai-0.4.5}/tests/models/cassettes/test_anthropic/test_multiple_parallel_tool_calls.yaml +0 -0
  107. {pydantic_ai-0.4.3 → pydantic_ai-0.4.5}/tests/models/cassettes/test_anthropic/test_text_document_url_input.yaml +0 -0
  108. {pydantic_ai-0.4.3 → pydantic_ai-0.4.5}/tests/models/cassettes/test_bedrock/test_bedrock_empty_system_prompt.yaml +0 -0
  109. {pydantic_ai-0.4.3 → pydantic_ai-0.4.5}/tests/models/cassettes/test_bedrock/test_bedrock_model.yaml +0 -0
  110. {pydantic_ai-0.4.3 → pydantic_ai-0.4.5}/tests/models/cassettes/test_bedrock/test_bedrock_model_anthropic_model_without_tools.yaml +0 -0
  111. {pydantic_ai-0.4.3 → pydantic_ai-0.4.5}/tests/models/cassettes/test_bedrock/test_bedrock_model_guardrail_config.yaml +0 -0
  112. {pydantic_ai-0.4.3 → pydantic_ai-0.4.5}/tests/models/cassettes/test_bedrock/test_bedrock_model_instructions.yaml +0 -0
  113. {pydantic_ai-0.4.3 → pydantic_ai-0.4.5}/tests/models/cassettes/test_bedrock/test_bedrock_model_iter_stream.yaml +0 -0
  114. {pydantic_ai-0.4.3 → pydantic_ai-0.4.5}/tests/models/cassettes/test_bedrock/test_bedrock_model_max_tokens.yaml +0 -0
  115. {pydantic_ai-0.4.3 → pydantic_ai-0.4.5}/tests/models/cassettes/test_bedrock/test_bedrock_model_other_parameters.yaml +0 -0
  116. {pydantic_ai-0.4.3 → pydantic_ai-0.4.5}/tests/models/cassettes/test_bedrock/test_bedrock_model_performance_config.yaml +0 -0
  117. {pydantic_ai-0.4.3 → pydantic_ai-0.4.5}/tests/models/cassettes/test_bedrock/test_bedrock_model_retry.yaml +0 -0
  118. {pydantic_ai-0.4.3 → pydantic_ai-0.4.5}/tests/models/cassettes/test_bedrock/test_bedrock_model_stream.yaml +0 -0
  119. {pydantic_ai-0.4.3 → pydantic_ai-0.4.5}/tests/models/cassettes/test_bedrock/test_bedrock_model_structured_output.yaml +0 -0
  120. {pydantic_ai-0.4.3 → pydantic_ai-0.4.5}/tests/models/cassettes/test_bedrock/test_bedrock_model_thinking_part.yaml +0 -0
  121. {pydantic_ai-0.4.3 → pydantic_ai-0.4.5}/tests/models/cassettes/test_bedrock/test_bedrock_model_thinking_part_stream.yaml +0 -0
  122. {pydantic_ai-0.4.3 → pydantic_ai-0.4.5}/tests/models/cassettes/test_bedrock/test_bedrock_model_top_p.yaml +0 -0
  123. {pydantic_ai-0.4.3 → pydantic_ai-0.4.5}/tests/models/cassettes/test_bedrock/test_bedrock_multiple_documents_in_history.yaml +0 -0
  124. {pydantic_ai-0.4.3 → pydantic_ai-0.4.5}/tests/models/cassettes/test_bedrock/test_document_url_input.yaml +0 -0
  125. {pydantic_ai-0.4.3 → pydantic_ai-0.4.5}/tests/models/cassettes/test_bedrock/test_image_as_binary_content_input.yaml +0 -0
  126. {pydantic_ai-0.4.3 → pydantic_ai-0.4.5}/tests/models/cassettes/test_bedrock/test_image_url_input.yaml +0 -0
  127. {pydantic_ai-0.4.3 → pydantic_ai-0.4.5}/tests/models/cassettes/test_bedrock/test_text_as_binary_content_input.yaml +0 -0
  128. {pydantic_ai-0.4.3 → pydantic_ai-0.4.5}/tests/models/cassettes/test_bedrock/test_text_document_url_input.yaml +0 -0
  129. {pydantic_ai-0.4.3 → pydantic_ai-0.4.5}/tests/models/cassettes/test_bedrock/test_video_as_binary_content_input.yaml +0 -0
  130. {pydantic_ai-0.4.3 → pydantic_ai-0.4.5}/tests/models/cassettes/test_bedrock/test_video_url_input.yaml +0 -0
  131. {pydantic_ai-0.4.3 → pydantic_ai-0.4.5}/tests/models/cassettes/test_cohere/test_cohere_model_instructions.yaml +0 -0
  132. {pydantic_ai-0.4.3 → pydantic_ai-0.4.5}/tests/models/cassettes/test_cohere/test_cohere_model_thinking_part.yaml +0 -0
  133. {pydantic_ai-0.4.3 → pydantic_ai-0.4.5}/tests/models/cassettes/test_cohere/test_request_simple_success_with_vcr.yaml +0 -0
  134. {pydantic_ai-0.4.3 → pydantic_ai-0.4.5}/tests/models/cassettes/test_deepseek/test_deepseek_model_thinking_part.yaml +0 -0
  135. {pydantic_ai-0.4.3 → pydantic_ai-0.4.5}/tests/models/cassettes/test_deepseek/test_deepseek_model_thinking_stream.yaml +0 -0
  136. {pydantic_ai-0.4.3 → pydantic_ai-0.4.5}/tests/models/cassettes/test_download_item/test_download_item_application_octet_stream.yaml +0 -0
  137. {pydantic_ai-0.4.3 → pydantic_ai-0.4.5}/tests/models/cassettes/test_gemini/test_document_url_input.yaml +0 -0
  138. {pydantic_ai-0.4.3 → pydantic_ai-0.4.5}/tests/models/cassettes/test_gemini/test_gemini_additional_properties_is_false.yaml +0 -0
  139. {pydantic_ai-0.4.3 → pydantic_ai-0.4.5}/tests/models/cassettes/test_gemini/test_gemini_additional_properties_is_true.yaml +0 -0
  140. {pydantic_ai-0.4.3 → pydantic_ai-0.4.5}/tests/models/cassettes/test_gemini/test_gemini_drop_exclusive_maximum.yaml +0 -0
  141. {pydantic_ai-0.4.3 → pydantic_ai-0.4.5}/tests/models/cassettes/test_gemini/test_gemini_exclusive_minimum_and_maximum.yaml +0 -0
  142. {pydantic_ai-0.4.3 → pydantic_ai-0.4.5}/tests/models/cassettes/test_gemini/test_gemini_model_instructions.yaml +0 -0
  143. {pydantic_ai-0.4.3 → pydantic_ai-0.4.5}/tests/models/cassettes/test_gemini/test_gemini_model_thinking_part.yaml +0 -0
  144. {pydantic_ai-0.4.3 → pydantic_ai-0.4.5}/tests/models/cassettes/test_gemini/test_gemini_native_output.yaml +0 -0
  145. {pydantic_ai-0.4.3 → pydantic_ai-0.4.5}/tests/models/cassettes/test_gemini/test_gemini_native_output_multiple.yaml +0 -0
  146. {pydantic_ai-0.4.3 → pydantic_ai-0.4.5}/tests/models/cassettes/test_gemini/test_gemini_prompted_output.yaml +0 -0
  147. {pydantic_ai-0.4.3 → pydantic_ai-0.4.5}/tests/models/cassettes/test_gemini/test_gemini_prompted_output_multiple.yaml +0 -0
  148. {pydantic_ai-0.4.3 → pydantic_ai-0.4.5}/tests/models/cassettes/test_gemini/test_gemini_prompted_output_with_tools.yaml +0 -0
  149. {pydantic_ai-0.4.3 → pydantic_ai-0.4.5}/tests/models/cassettes/test_gemini/test_gemini_text_output_function.yaml +0 -0
  150. {pydantic_ai-0.4.3 → pydantic_ai-0.4.5}/tests/models/cassettes/test_gemini/test_gemini_tool_config_any_with_tool_without_args.yaml +0 -0
  151. {pydantic_ai-0.4.3 → pydantic_ai-0.4.5}/tests/models/cassettes/test_gemini/test_gemini_tool_output.yaml +0 -0
  152. {pydantic_ai-0.4.3 → pydantic_ai-0.4.5}/tests/models/cassettes/test_gemini/test_gemini_youtube_video_url_input.yaml +0 -0
  153. {pydantic_ai-0.4.3 → pydantic_ai-0.4.5}/tests/models/cassettes/test_gemini/test_image_as_binary_content_input.yaml +0 -0
  154. {pydantic_ai-0.4.3 → pydantic_ai-0.4.5}/tests/models/cassettes/test_gemini/test_image_as_binary_content_tool_response.yaml +0 -0
  155. {pydantic_ai-0.4.3 → pydantic_ai-0.4.5}/tests/models/cassettes/test_gemini/test_image_url_input.yaml +0 -0
  156. {pydantic_ai-0.4.3 → pydantic_ai-0.4.5}/tests/models/cassettes/test_gemini/test_labels_are_ignored_with_gla_provider.yaml +0 -0
  157. {pydantic_ai-0.4.3 → pydantic_ai-0.4.5}/tests/models/cassettes/test_gemini/test_video_as_binary_content_input.yaml +0 -0
  158. {pydantic_ai-0.4.3 → pydantic_ai-0.4.5}/tests/models/cassettes/test_gemini/test_video_url_input.yaml +0 -0
  159. {pydantic_ai-0.4.3 → pydantic_ai-0.4.5}/tests/models/cassettes/test_gemini_vertex/test_labels.yaml +0 -0
  160. {pydantic_ai-0.4.3 → pydantic_ai-0.4.5}/tests/models/cassettes/test_gemini_vertex/test_url_input[AudioUrl (gs)].yaml +0 -0
  161. {pydantic_ai-0.4.3 → pydantic_ai-0.4.5}/tests/models/cassettes/test_gemini_vertex/test_url_input[AudioUrl].yaml +0 -0
  162. {pydantic_ai-0.4.3 → pydantic_ai-0.4.5}/tests/models/cassettes/test_gemini_vertex/test_url_input[DocumentUrl (gs)].yaml +0 -0
  163. {pydantic_ai-0.4.3 → pydantic_ai-0.4.5}/tests/models/cassettes/test_gemini_vertex/test_url_input[DocumentUrl].yaml +0 -0
  164. {pydantic_ai-0.4.3 → pydantic_ai-0.4.5}/tests/models/cassettes/test_gemini_vertex/test_url_input[ImageUrl (gs)].yaml +0 -0
  165. {pydantic_ai-0.4.3 → pydantic_ai-0.4.5}/tests/models/cassettes/test_gemini_vertex/test_url_input[ImageUrl].yaml +0 -0
  166. {pydantic_ai-0.4.3 → pydantic_ai-0.4.5}/tests/models/cassettes/test_gemini_vertex/test_url_input[VideoUrl (YouTube)].yaml +0 -0
  167. {pydantic_ai-0.4.3 → pydantic_ai-0.4.5}/tests/models/cassettes/test_gemini_vertex/test_url_input[VideoUrl (gs)].yaml +0 -0
  168. {pydantic_ai-0.4.3 → pydantic_ai-0.4.5}/tests/models/cassettes/test_gemini_vertex/test_url_input[VideoUrl].yaml +0 -0
  169. {pydantic_ai-0.4.3 → pydantic_ai-0.4.5}/tests/models/cassettes/test_gemini_vertex/test_url_input_force_download.yaml +0 -0
  170. {pydantic_ai-0.4.3 → pydantic_ai-0.4.5}/tests/models/cassettes/test_google/test_google_model.yaml +0 -0
  171. {pydantic_ai-0.4.3 → pydantic_ai-0.4.5}/tests/models/cassettes/test_google/test_google_model_document_url_input.yaml +0 -0
  172. {pydantic_ai-0.4.3 → pydantic_ai-0.4.5}/tests/models/cassettes/test_google/test_google_model_empty_user_prompt.yaml +0 -0
  173. {pydantic_ai-0.4.3 → pydantic_ai-0.4.5}/tests/models/cassettes/test_google/test_google_model_image_as_binary_content_input.yaml +0 -0
  174. {pydantic_ai-0.4.3 → pydantic_ai-0.4.5}/tests/models/cassettes/test_google/test_google_model_image_url_input.yaml +0 -0
  175. {pydantic_ai-0.4.3 → pydantic_ai-0.4.5}/tests/models/cassettes/test_google/test_google_model_instructions.yaml +0 -0
  176. {pydantic_ai-0.4.3 → pydantic_ai-0.4.5}/tests/models/cassettes/test_google/test_google_model_iter_stream.yaml +0 -0
  177. {pydantic_ai-0.4.3 → pydantic_ai-0.4.5}/tests/models/cassettes/test_google/test_google_model_max_tokens.yaml +0 -0
  178. {pydantic_ai-0.4.3 → pydantic_ai-0.4.5}/tests/models/cassettes/test_google/test_google_model_multiple_documents_in_history.yaml +0 -0
  179. {pydantic_ai-0.4.3 → pydantic_ai-0.4.5}/tests/models/cassettes/test_google/test_google_model_retry.yaml +0 -0
  180. {pydantic_ai-0.4.3 → pydantic_ai-0.4.5}/tests/models/cassettes/test_google/test_google_model_safety_settings.yaml +0 -0
  181. {pydantic_ai-0.4.3 → pydantic_ai-0.4.5}/tests/models/cassettes/test_google/test_google_model_stream.yaml +0 -0
  182. {pydantic_ai-0.4.3 → pydantic_ai-0.4.5}/tests/models/cassettes/test_google/test_google_model_structured_output.yaml +0 -0
  183. {pydantic_ai-0.4.3 → pydantic_ai-0.4.5}/tests/models/cassettes/test_google/test_google_model_text_as_binary_content_input.yaml +0 -0
  184. {pydantic_ai-0.4.3 → pydantic_ai-0.4.5}/tests/models/cassettes/test_google/test_google_model_text_document_url_input.yaml +0 -0
  185. {pydantic_ai-0.4.3 → pydantic_ai-0.4.5}/tests/models/cassettes/test_google/test_google_model_thinking_config.yaml +0 -0
  186. {pydantic_ai-0.4.3 → pydantic_ai-0.4.5}/tests/models/cassettes/test_google/test_google_model_thinking_part.yaml +0 -0
  187. {pydantic_ai-0.4.3 → pydantic_ai-0.4.5}/tests/models/cassettes/test_google/test_google_model_thinking_part_iter.yaml +0 -0
  188. {pydantic_ai-0.4.3 → pydantic_ai-0.4.5}/tests/models/cassettes/test_google/test_google_model_top_p.yaml +0 -0
  189. {pydantic_ai-0.4.3 → pydantic_ai-0.4.5}/tests/models/cassettes/test_google/test_google_model_vertex_labels.yaml +0 -0
  190. {pydantic_ai-0.4.3 → pydantic_ai-0.4.5}/tests/models/cassettes/test_google/test_google_model_vertex_provider.yaml +0 -0
  191. {pydantic_ai-0.4.3 → pydantic_ai-0.4.5}/tests/models/cassettes/test_google/test_google_model_video_as_binary_content_input.yaml +0 -0
  192. {pydantic_ai-0.4.3 → pydantic_ai-0.4.5}/tests/models/cassettes/test_google/test_google_model_video_as_binary_content_input_with_vendor_metadata.yaml +0 -0
  193. {pydantic_ai-0.4.3 → pydantic_ai-0.4.5}/tests/models/cassettes/test_google/test_google_model_video_url_input.yaml +0 -0
  194. {pydantic_ai-0.4.3 → pydantic_ai-0.4.5}/tests/models/cassettes/test_google/test_google_model_youtube_video_url_input_with_vendor_metadata.yaml +0 -0
  195. {pydantic_ai-0.4.3 → pydantic_ai-0.4.5}/tests/models/cassettes/test_google/test_google_native_output.yaml +0 -0
  196. {pydantic_ai-0.4.3 → pydantic_ai-0.4.5}/tests/models/cassettes/test_google/test_google_native_output_multiple.yaml +0 -0
  197. {pydantic_ai-0.4.3 → pydantic_ai-0.4.5}/tests/models/cassettes/test_google/test_google_prompted_output.yaml +0 -0
  198. {pydantic_ai-0.4.3 → pydantic_ai-0.4.5}/tests/models/cassettes/test_google/test_google_prompted_output_multiple.yaml +0 -0
  199. {pydantic_ai-0.4.3 → pydantic_ai-0.4.5}/tests/models/cassettes/test_google/test_google_prompted_output_with_tools.yaml +0 -0
  200. {pydantic_ai-0.4.3 → pydantic_ai-0.4.5}/tests/models/cassettes/test_google/test_google_text_output_function.yaml +0 -0
  201. {pydantic_ai-0.4.3 → pydantic_ai-0.4.5}/tests/models/cassettes/test_google/test_google_timeout.yaml +0 -0
  202. {pydantic_ai-0.4.3 → pydantic_ai-0.4.5}/tests/models/cassettes/test_google/test_google_tool_config_any_with_tool_without_args.yaml +0 -0
  203. {pydantic_ai-0.4.3 → pydantic_ai-0.4.5}/tests/models/cassettes/test_google/test_google_tool_output.yaml +0 -0
  204. {pydantic_ai-0.4.3 → pydantic_ai-0.4.5}/tests/models/cassettes/test_google/test_google_url_input[AudioUrl (gs)].yaml +0 -0
  205. {pydantic_ai-0.4.3 → pydantic_ai-0.4.5}/tests/models/cassettes/test_google/test_google_url_input[AudioUrl].yaml +0 -0
  206. {pydantic_ai-0.4.3 → pydantic_ai-0.4.5}/tests/models/cassettes/test_google/test_google_url_input[DocumentUrl (gs)].yaml +0 -0
  207. {pydantic_ai-0.4.3 → pydantic_ai-0.4.5}/tests/models/cassettes/test_google/test_google_url_input[DocumentUrl].yaml +0 -0
  208. {pydantic_ai-0.4.3 → pydantic_ai-0.4.5}/tests/models/cassettes/test_google/test_google_url_input[ImageUrl (gs)].yaml +0 -0
  209. {pydantic_ai-0.4.3 → pydantic_ai-0.4.5}/tests/models/cassettes/test_google/test_google_url_input[ImageUrl].yaml +0 -0
  210. {pydantic_ai-0.4.3 → pydantic_ai-0.4.5}/tests/models/cassettes/test_google/test_google_url_input[VideoUrl (YouTube)].yaml +0 -0
  211. {pydantic_ai-0.4.3 → pydantic_ai-0.4.5}/tests/models/cassettes/test_google/test_google_url_input[VideoUrl (gs)].yaml +0 -0
  212. {pydantic_ai-0.4.3 → pydantic_ai-0.4.5}/tests/models/cassettes/test_google/test_google_url_input[VideoUrl].yaml +0 -0
  213. {pydantic_ai-0.4.3 → pydantic_ai-0.4.5}/tests/models/cassettes/test_google/test_google_url_input_force_download.yaml +0 -0
  214. {pydantic_ai-0.4.3 → pydantic_ai-0.4.5}/tests/models/cassettes/test_groq/test_extra_headers.yaml +0 -0
  215. {pydantic_ai-0.4.3 → pydantic_ai-0.4.5}/tests/models/cassettes/test_groq/test_groq_model_instructions.yaml +0 -0
  216. {pydantic_ai-0.4.3 → pydantic_ai-0.4.5}/tests/models/cassettes/test_groq/test_groq_model_thinking_part.yaml +0 -0
  217. {pydantic_ai-0.4.3 → pydantic_ai-0.4.5}/tests/models/cassettes/test_groq/test_image_as_binary_content_input.yaml +0 -0
  218. {pydantic_ai-0.4.3 → pydantic_ai-0.4.5}/tests/models/cassettes/test_groq/test_image_as_binary_content_tool_response.yaml +0 -0
  219. {pydantic_ai-0.4.3 → pydantic_ai-0.4.5}/tests/models/cassettes/test_groq/test_image_url_input.yaml +0 -0
  220. {pydantic_ai-0.4.3 → pydantic_ai-0.4.5}/tests/models/cassettes/test_huggingface/test_hf_model_instructions.yaml +0 -0
  221. {pydantic_ai-0.4.3 → pydantic_ai-0.4.5}/tests/models/cassettes/test_huggingface/test_hf_model_thinking_part.yaml +0 -0
  222. {pydantic_ai-0.4.3 → pydantic_ai-0.4.5}/tests/models/cassettes/test_huggingface/test_image_as_binary_content_input.yaml +0 -0
  223. {pydantic_ai-0.4.3 → pydantic_ai-0.4.5}/tests/models/cassettes/test_huggingface/test_image_url_input.yaml +0 -0
  224. {pydantic_ai-0.4.3 → pydantic_ai-0.4.5}/tests/models/cassettes/test_huggingface/test_max_completion_tokens[Qwen-Qwen2.5-72B-Instruct].yaml +0 -0
  225. {pydantic_ai-0.4.3 → pydantic_ai-0.4.5}/tests/models/cassettes/test_huggingface/test_max_completion_tokens[deepseek-ai-DeepSeek-R1-0528].yaml +0 -0
  226. {pydantic_ai-0.4.3 → pydantic_ai-0.4.5}/tests/models/cassettes/test_huggingface/test_max_completion_tokens[meta-llama-Llama-3.3-70B-Instruct].yaml +0 -0
  227. {pydantic_ai-0.4.3 → pydantic_ai-0.4.5}/tests/models/cassettes/test_huggingface/test_request_simple_success_with_vcr.yaml +0 -0
  228. {pydantic_ai-0.4.3 → pydantic_ai-0.4.5}/tests/models/cassettes/test_huggingface/test_request_simple_usage.yaml +0 -0
  229. {pydantic_ai-0.4.3 → pydantic_ai-0.4.5}/tests/models/cassettes/test_huggingface/test_simple_completion.yaml +0 -0
  230. {pydantic_ai-0.4.3 → pydantic_ai-0.4.5}/tests/models/cassettes/test_huggingface/test_stream_completion.yaml +0 -0
  231. {pydantic_ai-0.4.3 → pydantic_ai-0.4.5}/tests/models/cassettes/test_mistral/test_image_as_binary_content_tool_response.yaml +0 -0
  232. {pydantic_ai-0.4.3 → pydantic_ai-0.4.5}/tests/models/cassettes/test_mistral/test_mistral_model_instructions.yaml +0 -0
  233. {pydantic_ai-0.4.3 → pydantic_ai-0.4.5}/tests/models/cassettes/test_mistral/test_mistral_model_thinking_part.yaml +0 -0
  234. {pydantic_ai-0.4.3 → pydantic_ai-0.4.5}/tests/models/cassettes/test_openai/test_audio_as_binary_content_input.yaml +0 -0
  235. {pydantic_ai-0.4.3 → pydantic_ai-0.4.5}/tests/models/cassettes/test_openai/test_compatible_api_with_tool_calls_without_id.yaml +0 -0
  236. {pydantic_ai-0.4.3 → pydantic_ai-0.4.5}/tests/models/cassettes/test_openai/test_document_as_binary_content_input.yaml +0 -0
  237. {pydantic_ai-0.4.3 → pydantic_ai-0.4.5}/tests/models/cassettes/test_openai/test_document_url_input.yaml +0 -0
  238. {pydantic_ai-0.4.3 → pydantic_ai-0.4.5}/tests/models/cassettes/test_openai/test_extra_headers.yaml +0 -0
  239. {pydantic_ai-0.4.3 → pydantic_ai-0.4.5}/tests/models/cassettes/test_openai/test_image_as_binary_content_input.yaml +0 -0
  240. {pydantic_ai-0.4.3 → pydantic_ai-0.4.5}/tests/models/cassettes/test_openai/test_image_as_binary_content_tool_response.yaml +0 -0
  241. {pydantic_ai-0.4.3 → pydantic_ai-0.4.5}/tests/models/cassettes/test_openai/test_image_url_tool_response.yaml +0 -0
  242. {pydantic_ai-0.4.3 → pydantic_ai-0.4.5}/tests/models/cassettes/test_openai/test_max_completion_tokens[gpt-4.5-preview].yaml +0 -0
  243. {pydantic_ai-0.4.3 → pydantic_ai-0.4.5}/tests/models/cassettes/test_openai/test_max_completion_tokens[gpt-4o-mini].yaml +0 -0
  244. {pydantic_ai-0.4.3 → pydantic_ai-0.4.5}/tests/models/cassettes/test_openai/test_max_completion_tokens[o3-mini].yaml +0 -0
  245. {pydantic_ai-0.4.3 → pydantic_ai-0.4.5}/tests/models/cassettes/test_openai/test_multiple_agent_tool_calls.yaml +0 -0
  246. {pydantic_ai-0.4.3 → pydantic_ai-0.4.5}/tests/models/cassettes/test_openai/test_openai_audio_url_input.yaml +0 -0
  247. {pydantic_ai-0.4.3 → pydantic_ai-0.4.5}/tests/models/cassettes/test_openai/test_openai_instructions.yaml +0 -0
  248. {pydantic_ai-0.4.3 → pydantic_ai-0.4.5}/tests/models/cassettes/test_openai/test_openai_instructions_with_tool_calls_keep_instructions.yaml +0 -0
  249. {pydantic_ai-0.4.3 → pydantic_ai-0.4.5}/tests/models/cassettes/test_openai/test_openai_model_thinking_part.yaml +0 -0
  250. {pydantic_ai-0.4.3 → pydantic_ai-0.4.5}/tests/models/cassettes/test_openai/test_openai_model_thinking_part_iter.yaml +0 -0
  251. {pydantic_ai-0.4.3 → pydantic_ai-0.4.5}/tests/models/cassettes/test_openai/test_openai_model_without_system_prompt.yaml +0 -0
  252. {pydantic_ai-0.4.3 → pydantic_ai-0.4.5}/tests/models/cassettes/test_openai/test_openai_native_output.yaml +0 -0
  253. {pydantic_ai-0.4.3 → pydantic_ai-0.4.5}/tests/models/cassettes/test_openai/test_openai_native_output_multiple.yaml +0 -0
  254. {pydantic_ai-0.4.3 → pydantic_ai-0.4.5}/tests/models/cassettes/test_openai/test_openai_o1_mini_system_role[developer].yaml +0 -0
  255. {pydantic_ai-0.4.3 → pydantic_ai-0.4.5}/tests/models/cassettes/test_openai/test_openai_o1_mini_system_role[system].yaml +0 -0
  256. {pydantic_ai-0.4.3 → pydantic_ai-0.4.5}/tests/models/cassettes/test_openai/test_openai_prompted_output.yaml +0 -0
  257. {pydantic_ai-0.4.3 → pydantic_ai-0.4.5}/tests/models/cassettes/test_openai/test_openai_prompted_output_multiple.yaml +0 -0
  258. {pydantic_ai-0.4.3 → pydantic_ai-0.4.5}/tests/models/cassettes/test_openai/test_openai_responses_model_thinking_part.yaml +0 -0
  259. {pydantic_ai-0.4.3 → pydantic_ai-0.4.5}/tests/models/cassettes/test_openai/test_openai_text_output_function.yaml +0 -0
  260. {pydantic_ai-0.4.3 → pydantic_ai-0.4.5}/tests/models/cassettes/test_openai/test_openai_tool_output.yaml +0 -0
  261. {pydantic_ai-0.4.3 → pydantic_ai-0.4.5}/tests/models/cassettes/test_openai/test_reasoning_model_with_temperature.yaml +0 -0
  262. {pydantic_ai-0.4.3 → pydantic_ai-0.4.5}/tests/models/cassettes/test_openai/test_user_id.yaml +0 -0
  263. {pydantic_ai-0.4.3 → pydantic_ai-0.4.5}/tests/models/cassettes/test_openai_responses/test_audio_as_binary_content_input.yaml +0 -0
  264. {pydantic_ai-0.4.3 → pydantic_ai-0.4.5}/tests/models/cassettes/test_openai_responses/test_image_as_binary_content_input.yaml +0 -0
  265. {pydantic_ai-0.4.3 → pydantic_ai-0.4.5}/tests/models/cassettes/test_openai_responses/test_image_as_binary_content_tool_response.yaml +0 -0
  266. {pydantic_ai-0.4.3 → pydantic_ai-0.4.5}/tests/models/cassettes/test_openai_responses/test_native_output.yaml +0 -0
  267. {pydantic_ai-0.4.3 → pydantic_ai-0.4.5}/tests/models/cassettes/test_openai_responses/test_native_output_multiple.yaml +0 -0
  268. {pydantic_ai-0.4.3 → pydantic_ai-0.4.5}/tests/models/cassettes/test_openai_responses/test_openai_responses_document_as_binary_content_input.yaml +0 -0
  269. {pydantic_ai-0.4.3 → pydantic_ai-0.4.5}/tests/models/cassettes/test_openai_responses/test_openai_responses_document_url_input.yaml +0 -0
  270. {pydantic_ai-0.4.3 → pydantic_ai-0.4.5}/tests/models/cassettes/test_openai_responses/test_openai_responses_image_url_input.yaml +0 -0
  271. {pydantic_ai-0.4.3 → pydantic_ai-0.4.5}/tests/models/cassettes/test_openai_responses/test_openai_responses_model_builtin_tools.yaml +0 -0
  272. {pydantic_ai-0.4.3 → pydantic_ai-0.4.5}/tests/models/cassettes/test_openai_responses/test_openai_responses_model_http_error.yaml +0 -0
  273. {pydantic_ai-0.4.3 → pydantic_ai-0.4.5}/tests/models/cassettes/test_openai_responses/test_openai_responses_model_instructions.yaml +0 -0
  274. {pydantic_ai-0.4.3 → pydantic_ai-0.4.5}/tests/models/cassettes/test_openai_responses/test_openai_responses_model_retry.yaml +0 -0
  275. {pydantic_ai-0.4.3 → pydantic_ai-0.4.5}/tests/models/cassettes/test_openai_responses/test_openai_responses_model_simple_response.yaml +0 -0
  276. {pydantic_ai-0.4.3 → pydantic_ai-0.4.5}/tests/models/cassettes/test_openai_responses/test_openai_responses_model_simple_response_with_tool_call.yaml +0 -0
  277. {pydantic_ai-0.4.3 → pydantic_ai-0.4.5}/tests/models/cassettes/test_openai_responses/test_openai_responses_output_type.yaml +0 -0
  278. {pydantic_ai-0.4.3 → pydantic_ai-0.4.5}/tests/models/cassettes/test_openai_responses/test_openai_responses_reasoning_effort.yaml +0 -0
  279. {pydantic_ai-0.4.3 → pydantic_ai-0.4.5}/tests/models/cassettes/test_openai_responses/test_openai_responses_reasoning_generate_summary.yaml +0 -0
  280. {pydantic_ai-0.4.3 → pydantic_ai-0.4.5}/tests/models/cassettes/test_openai_responses/test_openai_responses_stream.yaml +0 -0
  281. {pydantic_ai-0.4.3 → pydantic_ai-0.4.5}/tests/models/cassettes/test_openai_responses/test_openai_responses_system_prompt.yaml +0 -0
  282. {pydantic_ai-0.4.3 → pydantic_ai-0.4.5}/tests/models/cassettes/test_openai_responses/test_openai_responses_text_document_url_input.yaml +0 -0
  283. {pydantic_ai-0.4.3 → pydantic_ai-0.4.5}/tests/models/cassettes/test_openai_responses/test_prompted_output.yaml +0 -0
  284. {pydantic_ai-0.4.3 → pydantic_ai-0.4.5}/tests/models/cassettes/test_openai_responses/test_prompted_output_multiple.yaml +0 -0
  285. {pydantic_ai-0.4.3 → pydantic_ai-0.4.5}/tests/models/cassettes/test_openai_responses/test_reasoning_model_with_temperature.yaml +0 -0
  286. {pydantic_ai-0.4.3 → pydantic_ai-0.4.5}/tests/models/cassettes/test_openai_responses/test_text_output_function.yaml +0 -0
  287. {pydantic_ai-0.4.3 → pydantic_ai-0.4.5}/tests/models/cassettes/test_openai_responses/test_tool_output.yaml +0 -0
  288. {pydantic_ai-0.4.3 → pydantic_ai-0.4.5}/tests/models/mock_async_stream.py +0 -0
  289. {pydantic_ai-0.4.3 → pydantic_ai-0.4.5}/tests/models/test_bedrock.py +0 -0
  290. {pydantic_ai-0.4.3 → pydantic_ai-0.4.5}/tests/models/test_cohere.py +0 -0
  291. {pydantic_ai-0.4.3 → pydantic_ai-0.4.5}/tests/models/test_deepseek.py +0 -0
  292. {pydantic_ai-0.4.3 → pydantic_ai-0.4.5}/tests/models/test_download_item.py +0 -0
  293. {pydantic_ai-0.4.3 → pydantic_ai-0.4.5}/tests/models/test_fallback.py +0 -0
  294. {pydantic_ai-0.4.3 → pydantic_ai-0.4.5}/tests/models/test_gemini_vertex.py +0 -0
  295. {pydantic_ai-0.4.3 → pydantic_ai-0.4.5}/tests/models/test_groq.py +0 -0
  296. {pydantic_ai-0.4.3 → pydantic_ai-0.4.5}/tests/models/test_huggingface.py +0 -0
  297. {pydantic_ai-0.4.3 → pydantic_ai-0.4.5}/tests/models/test_instrumented.py +0 -0
  298. {pydantic_ai-0.4.3 → pydantic_ai-0.4.5}/tests/models/test_mcp_sampling.py +0 -0
  299. {pydantic_ai-0.4.3 → pydantic_ai-0.4.5}/tests/models/test_mistral.py +0 -0
  300. {pydantic_ai-0.4.3 → pydantic_ai-0.4.5}/tests/models/test_model_function.py +0 -0
  301. {pydantic_ai-0.4.3 → pydantic_ai-0.4.5}/tests/models/test_model_request_parameters.py +0 -0
  302. {pydantic_ai-0.4.3 → pydantic_ai-0.4.5}/tests/models/test_model_settings.py +0 -0
  303. {pydantic_ai-0.4.3 → pydantic_ai-0.4.5}/tests/models/test_openai_responses.py +0 -0
  304. {pydantic_ai-0.4.3 → pydantic_ai-0.4.5}/tests/providers/__init__.py +0 -0
  305. {pydantic_ai-0.4.3 → pydantic_ai-0.4.5}/tests/providers/cassettes/test_azure/test_azure_provider_call.yaml +0 -0
  306. {pydantic_ai-0.4.3 → pydantic_ai-0.4.5}/tests/providers/cassettes/test_google_vertex/test_vertexai_provider.yaml +0 -0
  307. {pydantic_ai-0.4.3 → pydantic_ai-0.4.5}/tests/providers/cassettes/test_heroku/test_heroku_model_provider_claude_3_7_sonnet.yaml +0 -0
  308. {pydantic_ai-0.4.3 → pydantic_ai-0.4.5}/tests/providers/cassettes/test_openrouter/test_openrouter_with_google_model.yaml +0 -0
  309. {pydantic_ai-0.4.3 → pydantic_ai-0.4.5}/tests/providers/test_anthropic.py +0 -0
  310. {pydantic_ai-0.4.3 → pydantic_ai-0.4.5}/tests/providers/test_azure.py +0 -0
  311. {pydantic_ai-0.4.3 → pydantic_ai-0.4.5}/tests/providers/test_bedrock.py +0 -0
  312. {pydantic_ai-0.4.3 → pydantic_ai-0.4.5}/tests/providers/test_cohere.py +0 -0
  313. {pydantic_ai-0.4.3 → pydantic_ai-0.4.5}/tests/providers/test_deepseek.py +0 -0
  314. {pydantic_ai-0.4.3 → pydantic_ai-0.4.5}/tests/providers/test_fireworks.py +0 -0
  315. {pydantic_ai-0.4.3 → pydantic_ai-0.4.5}/tests/providers/test_github.py +0 -0
  316. {pydantic_ai-0.4.3 → pydantic_ai-0.4.5}/tests/providers/test_google_gla.py +0 -0
  317. {pydantic_ai-0.4.3 → pydantic_ai-0.4.5}/tests/providers/test_google_vertex.py +0 -0
  318. {pydantic_ai-0.4.3 → pydantic_ai-0.4.5}/tests/providers/test_grok.py +0 -0
  319. {pydantic_ai-0.4.3 → pydantic_ai-0.4.5}/tests/providers/test_heroku.py +0 -0
  320. {pydantic_ai-0.4.3 → pydantic_ai-0.4.5}/tests/providers/test_huggingface.py +0 -0
  321. {pydantic_ai-0.4.3 → pydantic_ai-0.4.5}/tests/providers/test_mistral.py +0 -0
  322. {pydantic_ai-0.4.3 → pydantic_ai-0.4.5}/tests/providers/test_openai.py +0 -0
  323. {pydantic_ai-0.4.3 → pydantic_ai-0.4.5}/tests/providers/test_openrouter.py +0 -0
  324. {pydantic_ai-0.4.3 → pydantic_ai-0.4.5}/tests/providers/test_provider_names.py +0 -0
  325. {pydantic_ai-0.4.3 → pydantic_ai-0.4.5}/tests/providers/test_together.py +0 -0
  326. {pydantic_ai-0.4.3 → pydantic_ai-0.4.5}/tests/test_deps.py +0 -0
  327. {pydantic_ai-0.4.3 → pydantic_ai-0.4.5}/tests/test_direct.py +0 -0
  328. {pydantic_ai-0.4.3 → pydantic_ai-0.4.5}/tests/test_history_processor.py +0 -0
  329. {pydantic_ai-0.4.3 → pydantic_ai-0.4.5}/tests/test_json_body_serializer.py +0 -0
  330. {pydantic_ai-0.4.3 → pydantic_ai-0.4.5}/tests/test_live.py +0 -0
  331. {pydantic_ai-0.4.3 → pydantic_ai-0.4.5}/tests/test_messages.py +0 -0
  332. {pydantic_ai-0.4.3 → pydantic_ai-0.4.5}/tests/test_parts_manager.py +0 -0
  333. {pydantic_ai-0.4.3 → pydantic_ai-0.4.5}/tests/test_settings.py +0 -0
  334. {pydantic_ai-0.4.3 → pydantic_ai-0.4.5}/tests/test_thinking_part.py +0 -0
  335. {pydantic_ai-0.4.3 → pydantic_ai-0.4.5}/tests/test_utils.py +0 -0
  336. {pydantic_ai-0.4.3 → pydantic_ai-0.4.5}/tests/typed_graph.py +0 -0
@@ -1,12 +1,12 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: pydantic-ai
3
- Version: 0.4.3
3
+ Version: 0.4.5
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
7
7
  Project-URL: Documentation, https://ai.pydantic.dev
8
8
  Project-URL: Changelog, https://github.com/pydantic/pydantic-ai/releases
9
- Author-email: Samuel Colvin <samuel@pydantic.dev>, Marcelo Trylesinski <marcelotryle@gmail.com>, David Montague <david@pydantic.dev>, Alex Hall <alex@pydantic.dev>
9
+ Author-email: Samuel Colvin <samuel@pydantic.dev>, Marcelo Trylesinski <marcelotryle@gmail.com>, David Montague <david@pydantic.dev>, Alex Hall <alex@pydantic.dev>, Douwe Maan <douwe@pydantic.dev>
10
10
  License-Expression: MIT
11
11
  License-File: LICENSE
12
12
  Classifier: Development Status :: 4 - Beta
@@ -28,11 +28,11 @@ Classifier: Topic :: Internet
28
28
  Classifier: Topic :: Scientific/Engineering :: Artificial Intelligence
29
29
  Classifier: Topic :: Software Development :: Libraries :: Python Modules
30
30
  Requires-Python: >=3.9
31
- Requires-Dist: pydantic-ai-slim[anthropic,bedrock,cli,cohere,evals,google,groq,huggingface,mcp,mistral,openai,vertexai]==0.4.3
31
+ Requires-Dist: pydantic-ai-slim[ag-ui,anthropic,bedrock,cli,cohere,evals,google,groq,huggingface,mcp,mistral,openai,vertexai]==0.4.5
32
32
  Provides-Extra: a2a
33
33
  Requires-Dist: fasta2a>=0.4.1; extra == 'a2a'
34
34
  Provides-Extra: examples
35
- Requires-Dist: pydantic-ai-examples==0.4.3; extra == 'examples'
35
+ Requires-Dist: pydantic-ai-examples==0.4.5; extra == 'examples'
36
36
  Provides-Extra: logfire
37
37
  Requires-Dist: logfire>=3.11.0; extra == 'logfire'
38
38
  Description-Content-Type: text/markdown
@@ -41,7 +41,7 @@ Description-Content-Type: text/markdown
41
41
  <a href="https://ai.pydantic.dev/">
42
42
  <picture>
43
43
  <source media="(prefers-color-scheme: dark)" srcset="https://ai.pydantic.dev/img/pydantic-ai-dark.svg">
44
- <img src="https://ai.pydantic.dev/img/pydantic-ai-light.svg" alt="PydanticAI">
44
+ <img src="https://ai.pydantic.dev/img/pydantic-ai-light.svg" alt="Pydantic AI">
45
45
  </picture>
46
46
  </a>
47
47
  </div>
@@ -63,47 +63,47 @@ Description-Content-Type: text/markdown
63
63
 
64
64
  ---
65
65
 
66
- PydanticAI is a Python agent framework designed to make it less painful to build production grade applications with Generative AI.
66
+ Pydantic AI is a Python agent framework designed to make it less painful to build production grade applications with Generative AI.
67
67
 
68
- FastAPI revolutionized web development by offering an innovative and ergonomic design, built on the foundation of [Pydantic](https://docs.pydantic.dev).
68
+ FastAPI revolutionized web development by offering an innovative and ergonomic design, built on the foundation of [Pydantic Validation](https://docs.pydantic.dev).
69
69
 
70
- Similarly, virtually every agent framework and LLM library in Python uses Pydantic, yet when we began to use LLMs in [Pydantic Logfire](https://pydantic.dev/logfire), we couldn't find anything that gave us the same feeling.
70
+ Similarly, virtually every agent framework and LLM library in Python uses Pydantic Validation, yet when we began to use LLMs in [Pydantic Logfire](https://pydantic.dev/logfire), we couldn't find anything that gave us the same feeling.
71
71
 
72
- We built PydanticAI with one simple aim: to bring that FastAPI feeling to GenAI app development.
72
+ We built Pydantic AI with one simple aim: to bring that FastAPI feeling to GenAI app development.
73
73
 
74
- ## Why use PydanticAI
74
+ ## Why use Pydantic AI
75
75
 
76
- * __Built by the Pydantic Team__
77
- Built by the team behind [Pydantic](https://docs.pydantic.dev/latest/) (the validation layer of the OpenAI SDK, the Anthropic SDK, LangChain, LlamaIndex, AutoGPT, Transformers, CrewAI, Instructor and many more).
76
+ - **Built by the Pydantic Team**
77
+ Built by the team behind [Pydantic Validation](https://docs.pydantic.dev/latest/) (the validation layer of the OpenAI SDK, the Anthropic SDK, LangChain, LlamaIndex, AutoGPT, Transformers, CrewAI, Instructor and many more).
78
78
 
79
- * __Model-agnostic__
80
- Supports OpenAI, Anthropic, Gemini, Deepseek, Ollama, Groq, Cohere, and Mistral, and there is a simple interface to implement support for [other models](https://ai.pydantic.dev/models/).
79
+ - **Model-agnostic**
80
+ Supports OpenAI, Anthropic, Gemini, Deepseek, Ollama, Groq, Cohere, and Mistral, and there is a simple interface to implement support for [other models](https://ai.pydantic.dev/models/).
81
81
 
82
- * __Pydantic Logfire Integration__
83
- Seamlessly [integrates](https://ai.pydantic.dev/logfire/) with [Pydantic Logfire](https://pydantic.dev/logfire) for real-time debugging, performance monitoring, and behavior tracking of your LLM-powered applications.
82
+ - **Pydantic Logfire Integration**
83
+ Seamlessly [integrates](https://ai.pydantic.dev/logfire/) with [Pydantic Logfire](https://pydantic.dev/logfire) for real-time debugging, performance monitoring, and behavior tracking of your LLM-powered applications.
84
84
 
85
- * __Type-safe__
86
- Designed to make [type checking](https://ai.pydantic.dev/agents/#static-type-checking) as powerful and informative as possible for you.
85
+ - **Type-safe**
86
+ Designed to make [type checking](https://ai.pydantic.dev/agents/#static-type-checking) as powerful and informative as possible for you.
87
87
 
88
- * __Python-centric Design__
89
- Leverages Python's familiar control flow and agent composition to build your AI-driven projects, making it easy to apply standard Python best practices you'd use in any other (non-AI) project.
88
+ - **Python-centric Design**
89
+ Leverages Python's familiar control flow and agent composition to build your AI-driven projects, making it easy to apply standard Python best practices you'd use in any other (non-AI) project.
90
90
 
91
- * __Structured Responses__
92
- Harnesses the power of [Pydantic](https://docs.pydantic.dev/latest/) to [validate and structure](https://ai.pydantic.dev/output/#structured-output) model outputs, ensuring responses are consistent across runs.
91
+ - **Structured Responses**
92
+ Harnesses the power of [Pydantic Validation](https://docs.pydantic.dev/latest/) to [validate and structure](https://ai.pydantic.dev/output/#structured-output) model outputs, ensuring responses are consistent across runs.
93
93
 
94
- * __Dependency Injection System__
95
- Offers an optional [dependency injection](https://ai.pydantic.dev/dependencies/) system to provide data and services to your agent's [system prompts](https://ai.pydantic.dev/agents/#system-prompts), [tools](https://ai.pydantic.dev/tools/) and [output validators](https://ai.pydantic.dev/output/#output-validator-functions).
96
- This is useful for testing and eval-driven iterative development.
94
+ - **Dependency Injection System**
95
+ Offers an optional [dependency injection](https://ai.pydantic.dev/dependencies/) system to provide data and services to your agent's [system prompts](https://ai.pydantic.dev/agents/#system-prompts), [tools](https://ai.pydantic.dev/tools/) and [output validators](https://ai.pydantic.dev/output/#output-validator-functions).
96
+ This is useful for testing and eval-driven iterative development.
97
97
 
98
- * __Streamed Responses__
99
- Provides the ability to [stream](https://ai.pydantic.dev/output/#streamed-results) LLM outputs continuously, with immediate validation, ensuring rapid and accurate outputs.
98
+ - **Streamed Responses**
99
+ Provides the ability to [stream](https://ai.pydantic.dev/output/#streamed-results) LLM outputs continuously, with immediate validation, ensuring rapid and accurate outputs.
100
100
 
101
- * __Graph Support__
102
- [Pydantic Graph](https://ai.pydantic.dev/graph) provides a powerful way to define graphs using typing hints, this is useful in complex applications where standard control flow can degrade to spaghetti code.
101
+ - **Graph Support**
102
+ [Pydantic Graph](https://ai.pydantic.dev/graph) provides a powerful way to define graphs using typing hints, this is useful in complex applications where standard control flow can degrade to spaghetti code.
103
103
 
104
104
  ## Hello World Example
105
105
 
106
- Here's a minimal example of PydanticAI:
106
+ Here's a minimal example of Pydantic AI:
107
107
 
108
108
  ```python
109
109
  from pydantic_ai import Agent
@@ -117,7 +117,7 @@ agent = Agent(
117
117
  )
118
118
 
119
119
  # Run the agent synchronously, conducting a conversation with the LLM.
120
- # Here the exchange should be very short: PydanticAI will send the system prompt and the user query to the LLM,
120
+ # Here the exchange should be very short: Pydantic AI will send the system prompt and the user query to the LLM,
121
121
  # the model will return a text response. See below for a more complex run.
122
122
  result = agent.run_sync('Where does "hello world" come from?')
123
123
  print(result.output)
@@ -132,7 +132,7 @@ Not very interesting yet, but we can easily add "tools", dynamic system prompts,
132
132
 
133
133
  ## Tools & Dependency Injection Example
134
134
 
135
- Here is a concise example using PydanticAI to build a support agent for a bank:
135
+ Here is a concise example using Pydantic AI to build a support agent for a bank:
136
136
 
137
137
  **(Better documented example [in the docs](https://ai.pydantic.dev/#tools-dependency-injection-example))**
138
138
 
@@ -226,8 +226,8 @@ async def main():
226
226
 
227
227
  ## Next Steps
228
228
 
229
- To try PydanticAI yourself, follow the instructions [in the examples](https://ai.pydantic.dev/examples/).
229
+ To try Pydantic AI yourself, follow the instructions [in the examples](https://ai.pydantic.dev/examples/).
230
230
 
231
- Read the [docs](https://ai.pydantic.dev/agents/) to learn more about building applications with PydanticAI.
231
+ Read the [docs](https://ai.pydantic.dev/agents/) to learn more about building applications with Pydantic AI.
232
232
 
233
- Read the [API Reference](https://ai.pydantic.dev/api/agent/) to understand PydanticAI's interface.
233
+ Read the [API Reference](https://ai.pydantic.dev/api/agent/) to understand Pydantic AI's interface.
@@ -2,7 +2,7 @@
2
2
  <a href="https://ai.pydantic.dev/">
3
3
  <picture>
4
4
  <source media="(prefers-color-scheme: dark)" srcset="https://ai.pydantic.dev/img/pydantic-ai-dark.svg">
5
- <img src="https://ai.pydantic.dev/img/pydantic-ai-light.svg" alt="PydanticAI">
5
+ <img src="https://ai.pydantic.dev/img/pydantic-ai-light.svg" alt="Pydantic AI">
6
6
  </picture>
7
7
  </a>
8
8
  </div>
@@ -24,47 +24,47 @@
24
24
 
25
25
  ---
26
26
 
27
- PydanticAI is a Python agent framework designed to make it less painful to build production grade applications with Generative AI.
27
+ Pydantic AI is a Python agent framework designed to make it less painful to build production grade applications with Generative AI.
28
28
 
29
- FastAPI revolutionized web development by offering an innovative and ergonomic design, built on the foundation of [Pydantic](https://docs.pydantic.dev).
29
+ FastAPI revolutionized web development by offering an innovative and ergonomic design, built on the foundation of [Pydantic Validation](https://docs.pydantic.dev).
30
30
 
31
- Similarly, virtually every agent framework and LLM library in Python uses Pydantic, yet when we began to use LLMs in [Pydantic Logfire](https://pydantic.dev/logfire), we couldn't find anything that gave us the same feeling.
31
+ Similarly, virtually every agent framework and LLM library in Python uses Pydantic Validation, yet when we began to use LLMs in [Pydantic Logfire](https://pydantic.dev/logfire), we couldn't find anything that gave us the same feeling.
32
32
 
33
- We built PydanticAI with one simple aim: to bring that FastAPI feeling to GenAI app development.
33
+ We built Pydantic AI with one simple aim: to bring that FastAPI feeling to GenAI app development.
34
34
 
35
- ## Why use PydanticAI
35
+ ## Why use Pydantic AI
36
36
 
37
- * __Built by the Pydantic Team__
38
- Built by the team behind [Pydantic](https://docs.pydantic.dev/latest/) (the validation layer of the OpenAI SDK, the Anthropic SDK, LangChain, LlamaIndex, AutoGPT, Transformers, CrewAI, Instructor and many more).
37
+ - **Built by the Pydantic Team**
38
+ Built by the team behind [Pydantic Validation](https://docs.pydantic.dev/latest/) (the validation layer of the OpenAI SDK, the Anthropic SDK, LangChain, LlamaIndex, AutoGPT, Transformers, CrewAI, Instructor and many more).
39
39
 
40
- * __Model-agnostic__
41
- Supports OpenAI, Anthropic, Gemini, Deepseek, Ollama, Groq, Cohere, and Mistral, and there is a simple interface to implement support for [other models](https://ai.pydantic.dev/models/).
40
+ - **Model-agnostic**
41
+ Supports OpenAI, Anthropic, Gemini, Deepseek, Ollama, Groq, Cohere, and Mistral, and there is a simple interface to implement support for [other models](https://ai.pydantic.dev/models/).
42
42
 
43
- * __Pydantic Logfire Integration__
44
- Seamlessly [integrates](https://ai.pydantic.dev/logfire/) with [Pydantic Logfire](https://pydantic.dev/logfire) for real-time debugging, performance monitoring, and behavior tracking of your LLM-powered applications.
43
+ - **Pydantic Logfire Integration**
44
+ Seamlessly [integrates](https://ai.pydantic.dev/logfire/) with [Pydantic Logfire](https://pydantic.dev/logfire) for real-time debugging, performance monitoring, and behavior tracking of your LLM-powered applications.
45
45
 
46
- * __Type-safe__
47
- Designed to make [type checking](https://ai.pydantic.dev/agents/#static-type-checking) as powerful and informative as possible for you.
46
+ - **Type-safe**
47
+ Designed to make [type checking](https://ai.pydantic.dev/agents/#static-type-checking) as powerful and informative as possible for you.
48
48
 
49
- * __Python-centric Design__
50
- Leverages Python's familiar control flow and agent composition to build your AI-driven projects, making it easy to apply standard Python best practices you'd use in any other (non-AI) project.
49
+ - **Python-centric Design**
50
+ Leverages Python's familiar control flow and agent composition to build your AI-driven projects, making it easy to apply standard Python best practices you'd use in any other (non-AI) project.
51
51
 
52
- * __Structured Responses__
53
- Harnesses the power of [Pydantic](https://docs.pydantic.dev/latest/) to [validate and structure](https://ai.pydantic.dev/output/#structured-output) model outputs, ensuring responses are consistent across runs.
52
+ - **Structured Responses**
53
+ Harnesses the power of [Pydantic Validation](https://docs.pydantic.dev/latest/) to [validate and structure](https://ai.pydantic.dev/output/#structured-output) model outputs, ensuring responses are consistent across runs.
54
54
 
55
- * __Dependency Injection System__
56
- Offers an optional [dependency injection](https://ai.pydantic.dev/dependencies/) system to provide data and services to your agent's [system prompts](https://ai.pydantic.dev/agents/#system-prompts), [tools](https://ai.pydantic.dev/tools/) and [output validators](https://ai.pydantic.dev/output/#output-validator-functions).
57
- This is useful for testing and eval-driven iterative development.
55
+ - **Dependency Injection System**
56
+ Offers an optional [dependency injection](https://ai.pydantic.dev/dependencies/) system to provide data and services to your agent's [system prompts](https://ai.pydantic.dev/agents/#system-prompts), [tools](https://ai.pydantic.dev/tools/) and [output validators](https://ai.pydantic.dev/output/#output-validator-functions).
57
+ This is useful for testing and eval-driven iterative development.
58
58
 
59
- * __Streamed Responses__
60
- Provides the ability to [stream](https://ai.pydantic.dev/output/#streamed-results) LLM outputs continuously, with immediate validation, ensuring rapid and accurate outputs.
59
+ - **Streamed Responses**
60
+ Provides the ability to [stream](https://ai.pydantic.dev/output/#streamed-results) LLM outputs continuously, with immediate validation, ensuring rapid and accurate outputs.
61
61
 
62
- * __Graph Support__
63
- [Pydantic Graph](https://ai.pydantic.dev/graph) provides a powerful way to define graphs using typing hints, this is useful in complex applications where standard control flow can degrade to spaghetti code.
62
+ - **Graph Support**
63
+ [Pydantic Graph](https://ai.pydantic.dev/graph) provides a powerful way to define graphs using typing hints, this is useful in complex applications where standard control flow can degrade to spaghetti code.
64
64
 
65
65
  ## Hello World Example
66
66
 
67
- Here's a minimal example of PydanticAI:
67
+ Here's a minimal example of Pydantic AI:
68
68
 
69
69
  ```python
70
70
  from pydantic_ai import Agent
@@ -78,7 +78,7 @@ agent = Agent(
78
78
  )
79
79
 
80
80
  # Run the agent synchronously, conducting a conversation with the LLM.
81
- # Here the exchange should be very short: PydanticAI will send the system prompt and the user query to the LLM,
81
+ # Here the exchange should be very short: Pydantic AI will send the system prompt and the user query to the LLM,
82
82
  # the model will return a text response. See below for a more complex run.
83
83
  result = agent.run_sync('Where does "hello world" come from?')
84
84
  print(result.output)
@@ -93,7 +93,7 @@ Not very interesting yet, but we can easily add "tools", dynamic system prompts,
93
93
 
94
94
  ## Tools & Dependency Injection Example
95
95
 
96
- Here is a concise example using PydanticAI to build a support agent for a bank:
96
+ Here is a concise example using Pydantic AI to build a support agent for a bank:
97
97
 
98
98
  **(Better documented example [in the docs](https://ai.pydantic.dev/#tools-dependency-injection-example))**
99
99
 
@@ -187,8 +187,8 @@ async def main():
187
187
 
188
188
  ## Next Steps
189
189
 
190
- To try PydanticAI yourself, follow the instructions [in the examples](https://ai.pydantic.dev/examples/).
190
+ To try Pydantic AI yourself, follow the instructions [in the examples](https://ai.pydantic.dev/examples/).
191
191
 
192
- Read the [docs](https://ai.pydantic.dev/agents/) to learn more about building applications with PydanticAI.
192
+ Read the [docs](https://ai.pydantic.dev/agents/) to learn more about building applications with Pydantic AI.
193
193
 
194
- Read the [API Reference](https://ai.pydantic.dev/api/agent/) to understand PydanticAI's interface.
194
+ Read the [API Reference](https://ai.pydantic.dev/api/agent/) to understand Pydantic AI's interface.
@@ -19,6 +19,7 @@ authors = [
19
19
  { name = "Marcelo Trylesinski", email = "marcelotryle@gmail.com" },
20
20
  { name = "David Montague", email = "david@pydantic.dev" },
21
21
  { name = "Alex Hall", email = "alex@pydantic.dev" },
22
+ { name = "Douwe Maan", email = "douwe@pydantic.dev" },
22
23
  ]
23
24
  license = "MIT"
24
25
  readme = "README.md"
@@ -46,7 +47,7 @@ requires-python = ">=3.9"
46
47
 
47
48
  [tool.hatch.metadata.hooks.uv-dynamic-versioning]
48
49
  dependencies = [
49
- "pydantic-ai-slim[openai,vertexai,google,groq,anthropic,mistral,cohere,bedrock,huggingface,cli,mcp,evals]=={{ version }}",
50
+ "pydantic-ai-slim[openai,vertexai,google,groq,anthropic,mistral,cohere,bedrock,huggingface,cli,mcp,evals,ag-ui]=={{ version }}",
50
51
  ]
51
52
 
52
53
  [tool.hatch.metadata.hooks.uv-dynamic-versioning.optional-dependencies]
@@ -199,6 +200,8 @@ filterwarnings = [
199
200
  "error",
200
201
  # Issue with python-multipart - we don't want to bump the minimum version of starlette.
201
202
  "ignore::PendingDeprecationWarning:starlette",
203
+ # mistralai accesses model_fields on the instance, which is deprecated in Pydantic 2.11.
204
+ "ignore:Accessing the 'model_fields' attribute",
202
205
  # boto3
203
206
  "ignore::DeprecationWarning:botocore.*",
204
207
  "ignore::RuntimeWarning:pydantic_ai.mcp",
@@ -8,7 +8,7 @@ interactions:
8
8
  connection:
9
9
  - keep-alive
10
10
  content-length:
11
- - '1882'
11
+ - '2501'
12
12
  content-type:
13
13
  - application/json
14
14
  host:
@@ -16,10 +16,9 @@ interactions:
16
16
  method: POST
17
17
  parsed_body:
18
18
  messages:
19
- - content: Get me the product name
19
+ - content: What is 0 degrees Celsius in Fahrenheit?
20
20
  role: user
21
21
  model: gpt-4o
22
- n: 1
23
22
  stream: false
24
23
  tool_choice: auto
25
24
  tools:
@@ -54,6 +53,13 @@ interactions:
54
53
  properties: {}
55
54
  type: object
56
55
  type: function
56
+ - function:
57
+ description: ''
58
+ name: get_audio_resource
59
+ parameters:
60
+ properties: {}
61
+ type: object
62
+ type: function
57
63
  - function:
58
64
  description: ''
59
65
  name: get_product_name
@@ -105,6 +111,25 @@ interactions:
105
111
  properties: {}
106
112
  type: object
107
113
  type: function
114
+ - function:
115
+ description: "Echo the run context.\n\n Args:\n ctx: Context object containing request and session information.\n\n
116
+ \ Returns:\n Dictionary with an echo message and the deps.\n "
117
+ name: echo_deps
118
+ parameters:
119
+ properties: {}
120
+ type: object
121
+ type: function
122
+ - function:
123
+ description: Use sampling callback.
124
+ name: use_sampling
125
+ parameters:
126
+ properties:
127
+ foo:
128
+ type: string
129
+ required:
130
+ - foo
131
+ type: object
132
+ type: function
108
133
  uri: https://api.openai.com/v1/chat/completions
109
134
  response:
110
135
  headers:
@@ -115,13 +140,13 @@ interactions:
115
140
  connection:
116
141
  - keep-alive
117
142
  content-length:
118
- - '1068'
143
+ - '1086'
119
144
  content-type:
120
145
  - application/json
121
146
  openai-organization:
122
147
  - pydantic-28gund
123
148
  openai-processing-ms:
124
- - '3650'
149
+ - '420'
125
150
  openai-version:
126
151
  - '2020-10-01'
127
152
  strict-transport-security:
@@ -140,28 +165,28 @@ interactions:
140
165
  role: assistant
141
166
  tool_calls:
142
167
  - function:
143
- arguments: '{}'
144
- name: get_product_name
145
- id: call_LaiWltzI39sdquflqeuF0EyE
168
+ arguments: '{"celsius":0}'
169
+ name: celsius_to_fahrenheit
170
+ id: call_hS0oexgCNI6TneJuPPuwn9jQ
146
171
  type: function
147
- created: 1745961790
148
- id: chatcmpl-BRmhyweJVYonarb7s9ckIMSHf2vHo
172
+ created: 1751491994
173
+ id: chatcmpl-BozMoBhgfC5D8QBjkiOwz5OxxrwQK
149
174
  model: gpt-4o-2024-08-06
150
175
  object: chat.completion
151
176
  service_tier: default
152
- system_fingerprint: fp_f5bdcc3276
177
+ system_fingerprint: fp_a288987b44
153
178
  usage:
154
- completion_tokens: 12
179
+ completion_tokens: 18
155
180
  completion_tokens_details:
156
181
  accepted_prediction_tokens: 0
157
182
  audio_tokens: 0
158
183
  reasoning_tokens: 0
159
184
  rejected_prediction_tokens: 0
160
- prompt_tokens: 200
185
+ prompt_tokens: 268
161
186
  prompt_tokens_details:
162
187
  audio_tokens: 0
163
188
  cached_tokens: 0
164
- total_tokens: 212
189
+ total_tokens: 286
165
190
  status:
166
191
  code: 200
167
192
  message: OK
@@ -174,31 +199,30 @@ interactions:
174
199
  connection:
175
200
  - keep-alive
176
201
  content-length:
177
- - '2117'
202
+ - '2748'
178
203
  content-type:
179
204
  - application/json
180
205
  cookie:
181
- - __cf_bm=LCwj6B2rTuTfMe.JFAULcM1w5d9_bQkgyyDVrYXlFWQ-1745961790-1.0.1.1-rLSFIG9L0nbQaHsDaUAe231glaNUGZIodlFyJvNpkdF95kQD8prfC.uNV9.d2ymwvSDsmdB57U6u9ShNfBes9Ev8kn6eYDTHyGzxCeAhZ_o;
182
- _cfuvid=eK9nRUfAL4vFjm9wuH.RIQX41iZHZ8h1LCjqR.nSQzA-1745961790721-0.0.1.1-604800000
206
+ - __cf_bm=JOV7WG2Y48FZrZxdh0IZvA9mCj_ljIN3DhGMuC1pw6M-1751491995-1.0.1.1-zGPrLbzYx7y3iZT28xogbHO1KAIej60kPEwQ8ZxGMxv1r.ICtqI0T8WCnlyUccKfLSXB6ZTNQT05xCma8LSvq2pk4X2eEuSkYC1sPqbuLU8;
207
+ _cfuvid=LdoyX0uKYwM98NSSSvySlZAiJHCVHz_1krUGKbWmNHg-1751491995391-0.0.1.1-604800000
183
208
  host:
184
209
  - api.openai.com
185
210
  method: POST
186
211
  parsed_body:
187
212
  messages:
188
- - content: Get me the product name
213
+ - content: What is 0 degrees Celsius in Fahrenheit?
189
214
  role: user
190
215
  - role: assistant
191
216
  tool_calls:
192
217
  - function:
193
- arguments: '{}'
194
- name: get_product_name
195
- id: call_LaiWltzI39sdquflqeuF0EyE
218
+ arguments: '{"celsius":0}'
219
+ name: celsius_to_fahrenheit
220
+ id: call_hS0oexgCNI6TneJuPPuwn9jQ
196
221
  type: function
197
- - content: PydanticAI
222
+ - content: '32.0'
198
223
  role: tool
199
- tool_call_id: call_LaiWltzI39sdquflqeuF0EyE
224
+ tool_call_id: call_hS0oexgCNI6TneJuPPuwn9jQ
200
225
  model: gpt-4o
201
- n: 1
202
226
  stream: false
203
227
  tool_choice: auto
204
228
  tools:
@@ -233,6 +257,13 @@ interactions:
233
257
  properties: {}
234
258
  type: object
235
259
  type: function
260
+ - function:
261
+ description: ''
262
+ name: get_audio_resource
263
+ parameters:
264
+ properties: {}
265
+ type: object
266
+ type: function
236
267
  - function:
237
268
  description: ''
238
269
  name: get_product_name
@@ -284,6 +315,25 @@ interactions:
284
315
  properties: {}
285
316
  type: object
286
317
  type: function
318
+ - function:
319
+ description: "Echo the run context.\n\n Args:\n ctx: Context object containing request and session information.\n\n
320
+ \ Returns:\n Dictionary with an echo message and the deps.\n "
321
+ name: echo_deps
322
+ parameters:
323
+ properties: {}
324
+ type: object
325
+ type: function
326
+ - function:
327
+ description: Use sampling callback.
328
+ name: use_sampling
329
+ parameters:
330
+ properties:
331
+ foo:
332
+ type: string
333
+ required:
334
+ - foo
335
+ type: object
336
+ type: function
287
337
  uri: https://api.openai.com/v1/chat/completions
288
338
  response:
289
339
  headers:
@@ -294,13 +344,13 @@ interactions:
294
344
  connection:
295
345
  - keep-alive
296
346
  content-length:
297
- - '839'
347
+ - '849'
298
348
  content-type:
299
349
  - application/json
300
350
  openai-organization:
301
351
  - pydantic-28gund
302
352
  openai-processing-ms:
303
- - '631'
353
+ - '520'
304
354
  openai-version:
305
355
  - '2020-10-01'
306
356
  strict-transport-security:
@@ -314,15 +364,15 @@ interactions:
314
364
  logprobs: null
315
365
  message:
316
366
  annotations: []
317
- content: The product name is "PydanticAI".
367
+ content: 0 degrees Celsius is 32.0 degrees Fahrenheit.
318
368
  refusal: null
319
369
  role: assistant
320
- created: 1745961791
321
- id: chatcmpl-BRmhzqXFObpYwSzREMpJvX9kbDikR
370
+ created: 1751491998
371
+ id: chatcmpl-BozMsevK8quJblNOyNCaDQpdtDwI5
322
372
  model: gpt-4o-2024-08-06
323
373
  object: chat.completion
324
374
  service_tier: default
325
- system_fingerprint: fp_f5bdcc3276
375
+ system_fingerprint: fp_a288987b44
326
376
  usage:
327
377
  completion_tokens: 12
328
378
  completion_tokens_details:
@@ -330,11 +380,11 @@ interactions:
330
380
  audio_tokens: 0
331
381
  reasoning_tokens: 0
332
382
  rejected_prediction_tokens: 0
333
- prompt_tokens: 224
383
+ prompt_tokens: 300
334
384
  prompt_tokens_details:
335
385
  audio_tokens: 0
336
386
  cached_tokens: 0
337
- total_tokens: 236
387
+ total_tokens: 312
338
388
  status:
339
389
  code: 200
340
390
  message: OK