pydantic-ai 0.6.1__tar.gz → 0.6.2__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 (368) hide show
  1. {pydantic_ai-0.6.1 → pydantic_ai-0.6.2}/.gitignore +1 -0
  2. {pydantic_ai-0.6.1 → pydantic_ai-0.6.2}/PKG-INFO +3 -3
  3. {pydantic_ai-0.6.1 → pydantic_ai-0.6.2}/tests/conftest.py +5 -1
  4. pydantic_ai-0.6.2/tests/models/cassettes/test_anthropic/test_anthropic_code_execution_tool.yaml +86 -0
  5. pydantic_ai-0.6.2/tests/models/cassettes/test_anthropic/test_anthropic_server_tool_pass_history_to_another_provider.yaml +280 -0
  6. pydantic_ai-0.6.2/tests/models/cassettes/test_anthropic/test_anthropic_server_tool_receive_history_from_another_provider.yaml +169 -0
  7. pydantic_ai-0.6.2/tests/models/cassettes/test_anthropic/test_anthropic_web_search_tool.yaml +166 -0
  8. pydantic_ai-0.6.2/tests/models/cassettes/test_anthropic/test_anthropic_web_search_tool_stream.yaml +250 -0
  9. pydantic_ai-0.6.2/tests/models/cassettes/test_google/test_google_model_code_execution_tool.yaml +197 -0
  10. pydantic_ai-0.6.2/tests/models/cassettes/test_google/test_google_model_receive_web_search_history_from_another_provider.yaml +384 -0
  11. pydantic_ai-0.6.2/tests/models/cassettes/test_google/test_google_model_server_tool_receive_history_from_another_provider.yaml +172 -0
  12. pydantic_ai-0.6.2/tests/models/cassettes/test_google/test_google_model_web_search_tool.yaml +199 -0
  13. pydantic_ai-0.6.2/tests/models/cassettes/test_groq/test_groq_model_web_search_tool.yaml +273 -0
  14. pydantic_ai-0.6.2/tests/models/cassettes/test_openai/test_openai_web_search_tool.yaml +79 -0
  15. pydantic_ai-0.6.2/tests/models/cassettes/test_openai/test_openai_web_search_tool_model_not_supported.yaml +57 -0
  16. pydantic_ai-0.6.2/tests/models/cassettes/test_openai/test_openai_web_search_tool_with_user_location.yaml +91 -0
  17. pydantic_ai-0.6.2/tests/models/cassettes/test_openai_responses/test_openai_responses_code_execution_tool.yaml +108 -0
  18. pydantic_ai-0.6.2/tests/models/cassettes/test_openai_responses/test_openai_responses_code_execution_tool_stream.yaml +119 -0
  19. pydantic_ai-0.6.2/tests/models/cassettes/test_openai_responses/test_openai_responses_model_web_search_tool.yaml +114 -0
  20. pydantic_ai-0.6.2/tests/models/cassettes/test_openai_responses/test_openai_responses_model_web_search_tool_stream.yaml +949 -0
  21. pydantic_ai-0.6.2/tests/models/cassettes/test_openai_responses/test_openai_responses_model_web_search_tool_with_invalid_region.yaml +131 -0
  22. pydantic_ai-0.6.2/tests/models/cassettes/test_openai_responses/test_openai_responses_model_web_search_tool_with_user_location.yaml +118 -0
  23. {pydantic_ai-0.6.1 → pydantic_ai-0.6.2}/tests/models/test_anthropic.py +449 -9
  24. {pydantic_ai-0.6.1 → pydantic_ai-0.6.2}/tests/models/test_cohere.py +9 -0
  25. {pydantic_ai-0.6.1 → pydantic_ai-0.6.2}/tests/models/test_fallback.py +3 -3
  26. {pydantic_ai-0.6.1 → pydantic_ai-0.6.2}/tests/models/test_google.py +292 -1
  27. {pydantic_ai-0.6.1 → pydantic_ai-0.6.2}/tests/models/test_groq.py +209 -165
  28. {pydantic_ai-0.6.1 → pydantic_ai-0.6.2}/tests/models/test_instrumented.py +4 -4
  29. {pydantic_ai-0.6.1 → pydantic_ai-0.6.2}/tests/models/test_model_request_parameters.py +1 -0
  30. {pydantic_ai-0.6.1 → pydantic_ai-0.6.2}/tests/models/test_openai.py +52 -4
  31. {pydantic_ai-0.6.1 → pydantic_ai-0.6.2}/tests/models/test_openai_responses.py +162 -0
  32. pydantic_ai-0.6.2/tests/parts_from_messages.py +35 -0
  33. {pydantic_ai-0.6.1 → pydantic_ai-0.6.2}/tests/providers/test_groq.py +8 -1
  34. pydantic_ai-0.6.2/tests/test_builtin_tools.py +42 -0
  35. {pydantic_ai-0.6.1 → pydantic_ai-0.6.2}/tests/test_examples.py +3 -0
  36. {pydantic_ai-0.6.1 → pydantic_ai-0.6.2}/tests/test_logfire.py +34 -3
  37. {pydantic_ai-0.6.1 → pydantic_ai-0.6.2}/LICENSE +0 -0
  38. {pydantic_ai-0.6.1 → pydantic_ai-0.6.2}/Makefile +0 -0
  39. {pydantic_ai-0.6.1 → pydantic_ai-0.6.2}/README.md +0 -0
  40. {pydantic_ai-0.6.1 → pydantic_ai-0.6.2}/pyproject.toml +0 -0
  41. {pydantic_ai-0.6.1 → pydantic_ai-0.6.2}/tests/__init__.py +0 -0
  42. {pydantic_ai-0.6.1 → pydantic_ai-0.6.2}/tests/assets/dummy.pdf +0 -0
  43. {pydantic_ai-0.6.1 → pydantic_ai-0.6.2}/tests/assets/kiwi.png +0 -0
  44. {pydantic_ai-0.6.1 → pydantic_ai-0.6.2}/tests/assets/marcelo.mp3 +0 -0
  45. {pydantic_ai-0.6.1 → pydantic_ai-0.6.2}/tests/assets/product_name.txt +0 -0
  46. {pydantic_ai-0.6.1 → pydantic_ai-0.6.2}/tests/assets/small_video.mp4 +0 -0
  47. {pydantic_ai-0.6.1 → pydantic_ai-0.6.2}/tests/cassettes/test_mcp/test_agent_with_server_not_running.yaml +0 -0
  48. {pydantic_ai-0.6.1 → pydantic_ai-0.6.2}/tests/cassettes/test_mcp/test_agent_with_stdio_server.yaml +0 -0
  49. {pydantic_ai-0.6.1 → pydantic_ai-0.6.2}/tests/cassettes/test_mcp/test_tool_returning_audio_resource.yaml +0 -0
  50. {pydantic_ai-0.6.1 → pydantic_ai-0.6.2}/tests/cassettes/test_mcp/test_tool_returning_audio_resource_link.yaml +0 -0
  51. {pydantic_ai-0.6.1 → pydantic_ai-0.6.2}/tests/cassettes/test_mcp/test_tool_returning_dict.yaml +0 -0
  52. {pydantic_ai-0.6.1 → pydantic_ai-0.6.2}/tests/cassettes/test_mcp/test_tool_returning_error.yaml +0 -0
  53. {pydantic_ai-0.6.1 → pydantic_ai-0.6.2}/tests/cassettes/test_mcp/test_tool_returning_image.yaml +0 -0
  54. {pydantic_ai-0.6.1 → pydantic_ai-0.6.2}/tests/cassettes/test_mcp/test_tool_returning_image_resource.yaml +0 -0
  55. {pydantic_ai-0.6.1 → pydantic_ai-0.6.2}/tests/cassettes/test_mcp/test_tool_returning_image_resource_link.yaml +0 -0
  56. {pydantic_ai-0.6.1 → pydantic_ai-0.6.2}/tests/cassettes/test_mcp/test_tool_returning_multiple_items.yaml +0 -0
  57. {pydantic_ai-0.6.1 → pydantic_ai-0.6.2}/tests/cassettes/test_mcp/test_tool_returning_none.yaml +0 -0
  58. {pydantic_ai-0.6.1 → pydantic_ai-0.6.2}/tests/cassettes/test_mcp/test_tool_returning_str.yaml +0 -0
  59. {pydantic_ai-0.6.1 → pydantic_ai-0.6.2}/tests/cassettes/test_mcp/test_tool_returning_text_resource.yaml +0 -0
  60. {pydantic_ai-0.6.1 → pydantic_ai-0.6.2}/tests/cassettes/test_mcp/test_tool_returning_text_resource_link.yaml +0 -0
  61. {pydantic_ai-0.6.1 → pydantic_ai-0.6.2}/tests/cassettes/test_settings/test_stop_settings[anthropic].yaml +0 -0
  62. {pydantic_ai-0.6.1 → pydantic_ai-0.6.2}/tests/cassettes/test_settings/test_stop_settings[bedrock].yaml +0 -0
  63. {pydantic_ai-0.6.1 → pydantic_ai-0.6.2}/tests/cassettes/test_settings/test_stop_settings[cohere].yaml +0 -0
  64. {pydantic_ai-0.6.1 → pydantic_ai-0.6.2}/tests/cassettes/test_settings/test_stop_settings[gemini].yaml +0 -0
  65. {pydantic_ai-0.6.1 → pydantic_ai-0.6.2}/tests/cassettes/test_settings/test_stop_settings[google].yaml +0 -0
  66. {pydantic_ai-0.6.1 → pydantic_ai-0.6.2}/tests/cassettes/test_settings/test_stop_settings[groq].yaml +0 -0
  67. {pydantic_ai-0.6.1 → pydantic_ai-0.6.2}/tests/cassettes/test_settings/test_stop_settings[mistral].yaml +0 -0
  68. {pydantic_ai-0.6.1 → pydantic_ai-0.6.2}/tests/cassettes/test_settings/test_stop_settings[openai].yaml +0 -0
  69. {pydantic_ai-0.6.1 → pydantic_ai-0.6.2}/tests/evals/__init__.py +0 -0
  70. {pydantic_ai-0.6.1 → pydantic_ai-0.6.2}/tests/evals/test_dataset.py +0 -0
  71. {pydantic_ai-0.6.1 → pydantic_ai-0.6.2}/tests/evals/test_evaluator_base.py +0 -0
  72. {pydantic_ai-0.6.1 → pydantic_ai-0.6.2}/tests/evals/test_evaluator_common.py +0 -0
  73. {pydantic_ai-0.6.1 → pydantic_ai-0.6.2}/tests/evals/test_evaluator_context.py +0 -0
  74. {pydantic_ai-0.6.1 → pydantic_ai-0.6.2}/tests/evals/test_evaluator_spec.py +0 -0
  75. {pydantic_ai-0.6.1 → pydantic_ai-0.6.2}/tests/evals/test_evaluators.py +0 -0
  76. {pydantic_ai-0.6.1 → pydantic_ai-0.6.2}/tests/evals/test_llm_as_a_judge.py +0 -0
  77. {pydantic_ai-0.6.1 → pydantic_ai-0.6.2}/tests/evals/test_otel.py +0 -0
  78. {pydantic_ai-0.6.1 → pydantic_ai-0.6.2}/tests/evals/test_render_numbers.py +0 -0
  79. {pydantic_ai-0.6.1 → pydantic_ai-0.6.2}/tests/evals/test_reporting.py +0 -0
  80. {pydantic_ai-0.6.1 → pydantic_ai-0.6.2}/tests/evals/test_reports.py +0 -0
  81. {pydantic_ai-0.6.1 → pydantic_ai-0.6.2}/tests/evals/test_utils.py +0 -0
  82. {pydantic_ai-0.6.1 → pydantic_ai-0.6.2}/tests/evals/utils.py +0 -0
  83. {pydantic_ai-0.6.1 → pydantic_ai-0.6.2}/tests/example_modules/README.md +0 -0
  84. {pydantic_ai-0.6.1 → pydantic_ai-0.6.2}/tests/example_modules/bank_database.py +0 -0
  85. {pydantic_ai-0.6.1 → pydantic_ai-0.6.2}/tests/example_modules/fake_database.py +0 -0
  86. {pydantic_ai-0.6.1 → pydantic_ai-0.6.2}/tests/example_modules/mcp_server.py +0 -0
  87. {pydantic_ai-0.6.1 → pydantic_ai-0.6.2}/tests/example_modules/weather_service.py +0 -0
  88. {pydantic_ai-0.6.1 → pydantic_ai-0.6.2}/tests/ext/__init__.py +0 -0
  89. {pydantic_ai-0.6.1 → pydantic_ai-0.6.2}/tests/ext/test_langchain.py +0 -0
  90. {pydantic_ai-0.6.1 → pydantic_ai-0.6.2}/tests/graph/__init__.py +0 -0
  91. {pydantic_ai-0.6.1 → pydantic_ai-0.6.2}/tests/graph/test_file_persistence.py +0 -0
  92. {pydantic_ai-0.6.1 → pydantic_ai-0.6.2}/tests/graph/test_graph.py +0 -0
  93. {pydantic_ai-0.6.1 → pydantic_ai-0.6.2}/tests/graph/test_mermaid.py +0 -0
  94. {pydantic_ai-0.6.1 → pydantic_ai-0.6.2}/tests/graph/test_persistence.py +0 -0
  95. {pydantic_ai-0.6.1 → pydantic_ai-0.6.2}/tests/graph/test_state.py +0 -0
  96. {pydantic_ai-0.6.1 → pydantic_ai-0.6.2}/tests/graph/test_utils.py +0 -0
  97. {pydantic_ai-0.6.1 → pydantic_ai-0.6.2}/tests/import_examples.py +0 -0
  98. {pydantic_ai-0.6.1 → pydantic_ai-0.6.2}/tests/json_body_serializer.py +0 -0
  99. {pydantic_ai-0.6.1 → pydantic_ai-0.6.2}/tests/mcp_server.py +0 -0
  100. {pydantic_ai-0.6.1 → pydantic_ai-0.6.2}/tests/models/__init__.py +0 -0
  101. {pydantic_ai-0.6.1 → pydantic_ai-0.6.2}/tests/models/cassettes/test_anthropic/test_anthropic_model_empty_message_on_history.yaml +0 -0
  102. {pydantic_ai-0.6.1 → pydantic_ai-0.6.2}/tests/models/cassettes/test_anthropic/test_anthropic_model_instructions.yaml +0 -0
  103. {pydantic_ai-0.6.1 → pydantic_ai-0.6.2}/tests/models/cassettes/test_anthropic/test_anthropic_model_thinking_part.yaml +0 -0
  104. {pydantic_ai-0.6.1 → pydantic_ai-0.6.2}/tests/models/cassettes/test_anthropic/test_anthropic_model_thinking_part_stream.yaml +0 -0
  105. {pydantic_ai-0.6.1 → pydantic_ai-0.6.2}/tests/models/cassettes/test_anthropic/test_anthropic_prompted_output.yaml +0 -0
  106. {pydantic_ai-0.6.1 → pydantic_ai-0.6.2}/tests/models/cassettes/test_anthropic/test_anthropic_prompted_output_multiple.yaml +0 -0
  107. {pydantic_ai-0.6.1 → pydantic_ai-0.6.2}/tests/models/cassettes/test_anthropic/test_anthropic_text_output_function.yaml +0 -0
  108. {pydantic_ai-0.6.1 → pydantic_ai-0.6.2}/tests/models/cassettes/test_anthropic/test_anthropic_tool_output.yaml +0 -0
  109. {pydantic_ai-0.6.1 → pydantic_ai-0.6.2}/tests/models/cassettes/test_anthropic/test_anthropic_tool_with_thinking.yaml +0 -0
  110. {pydantic_ai-0.6.1 → pydantic_ai-0.6.2}/tests/models/cassettes/test_anthropic/test_document_binary_content_input.yaml +0 -0
  111. {pydantic_ai-0.6.1 → pydantic_ai-0.6.2}/tests/models/cassettes/test_anthropic/test_document_url_input.yaml +0 -0
  112. {pydantic_ai-0.6.1 → pydantic_ai-0.6.2}/tests/models/cassettes/test_anthropic/test_extra_headers.yaml +0 -0
  113. {pydantic_ai-0.6.1 → pydantic_ai-0.6.2}/tests/models/cassettes/test_anthropic/test_image_as_binary_content_tool_response.yaml +0 -0
  114. {pydantic_ai-0.6.1 → pydantic_ai-0.6.2}/tests/models/cassettes/test_anthropic/test_image_url_input.yaml +0 -0
  115. {pydantic_ai-0.6.1 → pydantic_ai-0.6.2}/tests/models/cassettes/test_anthropic/test_image_url_input_invalid_mime_type.yaml +0 -0
  116. {pydantic_ai-0.6.1 → pydantic_ai-0.6.2}/tests/models/cassettes/test_anthropic/test_multiple_parallel_tool_calls.yaml +0 -0
  117. {pydantic_ai-0.6.1 → pydantic_ai-0.6.2}/tests/models/cassettes/test_anthropic/test_text_document_url_input.yaml +0 -0
  118. {pydantic_ai-0.6.1 → pydantic_ai-0.6.2}/tests/models/cassettes/test_bedrock/test_bedrock_anthropic_tool_with_thinking.yaml +0 -0
  119. {pydantic_ai-0.6.1 → pydantic_ai-0.6.2}/tests/models/cassettes/test_bedrock/test_bedrock_empty_system_prompt.yaml +0 -0
  120. {pydantic_ai-0.6.1 → pydantic_ai-0.6.2}/tests/models/cassettes/test_bedrock/test_bedrock_model.yaml +0 -0
  121. {pydantic_ai-0.6.1 → pydantic_ai-0.6.2}/tests/models/cassettes/test_bedrock/test_bedrock_model_anthropic_model_without_tools.yaml +0 -0
  122. {pydantic_ai-0.6.1 → pydantic_ai-0.6.2}/tests/models/cassettes/test_bedrock/test_bedrock_model_guardrail_config.yaml +0 -0
  123. {pydantic_ai-0.6.1 → pydantic_ai-0.6.2}/tests/models/cassettes/test_bedrock/test_bedrock_model_instructions.yaml +0 -0
  124. {pydantic_ai-0.6.1 → pydantic_ai-0.6.2}/tests/models/cassettes/test_bedrock/test_bedrock_model_iter_stream.yaml +0 -0
  125. {pydantic_ai-0.6.1 → pydantic_ai-0.6.2}/tests/models/cassettes/test_bedrock/test_bedrock_model_max_tokens.yaml +0 -0
  126. {pydantic_ai-0.6.1 → pydantic_ai-0.6.2}/tests/models/cassettes/test_bedrock/test_bedrock_model_other_parameters.yaml +0 -0
  127. {pydantic_ai-0.6.1 → pydantic_ai-0.6.2}/tests/models/cassettes/test_bedrock/test_bedrock_model_performance_config.yaml +0 -0
  128. {pydantic_ai-0.6.1 → pydantic_ai-0.6.2}/tests/models/cassettes/test_bedrock/test_bedrock_model_retry.yaml +0 -0
  129. {pydantic_ai-0.6.1 → pydantic_ai-0.6.2}/tests/models/cassettes/test_bedrock/test_bedrock_model_stream.yaml +0 -0
  130. {pydantic_ai-0.6.1 → pydantic_ai-0.6.2}/tests/models/cassettes/test_bedrock/test_bedrock_model_structured_output.yaml +0 -0
  131. {pydantic_ai-0.6.1 → pydantic_ai-0.6.2}/tests/models/cassettes/test_bedrock/test_bedrock_model_thinking_part.yaml +0 -0
  132. {pydantic_ai-0.6.1 → pydantic_ai-0.6.2}/tests/models/cassettes/test_bedrock/test_bedrock_model_thinking_part_stream.yaml +0 -0
  133. {pydantic_ai-0.6.1 → pydantic_ai-0.6.2}/tests/models/cassettes/test_bedrock/test_bedrock_model_top_p.yaml +0 -0
  134. {pydantic_ai-0.6.1 → pydantic_ai-0.6.2}/tests/models/cassettes/test_bedrock/test_bedrock_multiple_documents_in_history.yaml +0 -0
  135. {pydantic_ai-0.6.1 → pydantic_ai-0.6.2}/tests/models/cassettes/test_bedrock/test_document_url_input.yaml +0 -0
  136. {pydantic_ai-0.6.1 → pydantic_ai-0.6.2}/tests/models/cassettes/test_bedrock/test_image_as_binary_content_input.yaml +0 -0
  137. {pydantic_ai-0.6.1 → pydantic_ai-0.6.2}/tests/models/cassettes/test_bedrock/test_image_url_input.yaml +0 -0
  138. {pydantic_ai-0.6.1 → pydantic_ai-0.6.2}/tests/models/cassettes/test_bedrock/test_text_as_binary_content_input.yaml +0 -0
  139. {pydantic_ai-0.6.1 → pydantic_ai-0.6.2}/tests/models/cassettes/test_bedrock/test_text_document_url_input.yaml +0 -0
  140. {pydantic_ai-0.6.1 → pydantic_ai-0.6.2}/tests/models/cassettes/test_bedrock/test_video_as_binary_content_input.yaml +0 -0
  141. {pydantic_ai-0.6.1 → pydantic_ai-0.6.2}/tests/models/cassettes/test_bedrock/test_video_url_input.yaml +0 -0
  142. {pydantic_ai-0.6.1 → pydantic_ai-0.6.2}/tests/models/cassettes/test_cohere/test_cohere_model_instructions.yaml +0 -0
  143. {pydantic_ai-0.6.1 → pydantic_ai-0.6.2}/tests/models/cassettes/test_cohere/test_cohere_model_thinking_part.yaml +0 -0
  144. {pydantic_ai-0.6.1 → pydantic_ai-0.6.2}/tests/models/cassettes/test_cohere/test_request_simple_success_with_vcr.yaml +0 -0
  145. {pydantic_ai-0.6.1 → pydantic_ai-0.6.2}/tests/models/cassettes/test_deepseek/test_deepseek_model_thinking_part.yaml +0 -0
  146. {pydantic_ai-0.6.1 → pydantic_ai-0.6.2}/tests/models/cassettes/test_deepseek/test_deepseek_model_thinking_stream.yaml +0 -0
  147. {pydantic_ai-0.6.1 → pydantic_ai-0.6.2}/tests/models/cassettes/test_download_item/test_download_item_application_octet_stream.yaml +0 -0
  148. {pydantic_ai-0.6.1 → pydantic_ai-0.6.2}/tests/models/cassettes/test_download_item/test_download_item_audio_mpeg.yaml +0 -0
  149. {pydantic_ai-0.6.1 → pydantic_ai-0.6.2}/tests/models/cassettes/test_download_item/test_download_item_no_content_type.yaml +0 -0
  150. {pydantic_ai-0.6.1 → pydantic_ai-0.6.2}/tests/models/cassettes/test_gemini/test_document_url_input.yaml +0 -0
  151. {pydantic_ai-0.6.1 → pydantic_ai-0.6.2}/tests/models/cassettes/test_gemini/test_gemini_additional_properties_is_false.yaml +0 -0
  152. {pydantic_ai-0.6.1 → pydantic_ai-0.6.2}/tests/models/cassettes/test_gemini/test_gemini_additional_properties_is_true.yaml +0 -0
  153. {pydantic_ai-0.6.1 → pydantic_ai-0.6.2}/tests/models/cassettes/test_gemini/test_gemini_drop_exclusive_maximum.yaml +0 -0
  154. {pydantic_ai-0.6.1 → pydantic_ai-0.6.2}/tests/models/cassettes/test_gemini/test_gemini_exclusive_minimum_and_maximum.yaml +0 -0
  155. {pydantic_ai-0.6.1 → pydantic_ai-0.6.2}/tests/models/cassettes/test_gemini/test_gemini_model_instructions.yaml +0 -0
  156. {pydantic_ai-0.6.1 → pydantic_ai-0.6.2}/tests/models/cassettes/test_gemini/test_gemini_model_thinking_part.yaml +0 -0
  157. {pydantic_ai-0.6.1 → pydantic_ai-0.6.2}/tests/models/cassettes/test_gemini/test_gemini_native_output.yaml +0 -0
  158. {pydantic_ai-0.6.1 → pydantic_ai-0.6.2}/tests/models/cassettes/test_gemini/test_gemini_native_output_multiple.yaml +0 -0
  159. {pydantic_ai-0.6.1 → pydantic_ai-0.6.2}/tests/models/cassettes/test_gemini/test_gemini_prompted_output.yaml +0 -0
  160. {pydantic_ai-0.6.1 → pydantic_ai-0.6.2}/tests/models/cassettes/test_gemini/test_gemini_prompted_output_multiple.yaml +0 -0
  161. {pydantic_ai-0.6.1 → pydantic_ai-0.6.2}/tests/models/cassettes/test_gemini/test_gemini_prompted_output_with_tools.yaml +0 -0
  162. {pydantic_ai-0.6.1 → pydantic_ai-0.6.2}/tests/models/cassettes/test_gemini/test_gemini_text_output_function.yaml +0 -0
  163. {pydantic_ai-0.6.1 → pydantic_ai-0.6.2}/tests/models/cassettes/test_gemini/test_gemini_tool_config_any_with_tool_without_args.yaml +0 -0
  164. {pydantic_ai-0.6.1 → pydantic_ai-0.6.2}/tests/models/cassettes/test_gemini/test_gemini_tool_output.yaml +0 -0
  165. {pydantic_ai-0.6.1 → pydantic_ai-0.6.2}/tests/models/cassettes/test_gemini/test_gemini_youtube_video_url_input.yaml +0 -0
  166. {pydantic_ai-0.6.1 → pydantic_ai-0.6.2}/tests/models/cassettes/test_gemini/test_image_as_binary_content_input.yaml +0 -0
  167. {pydantic_ai-0.6.1 → pydantic_ai-0.6.2}/tests/models/cassettes/test_gemini/test_image_as_binary_content_tool_response.yaml +0 -0
  168. {pydantic_ai-0.6.1 → pydantic_ai-0.6.2}/tests/models/cassettes/test_gemini/test_image_url_input.yaml +0 -0
  169. {pydantic_ai-0.6.1 → pydantic_ai-0.6.2}/tests/models/cassettes/test_gemini/test_labels_are_ignored_with_gla_provider.yaml +0 -0
  170. {pydantic_ai-0.6.1 → pydantic_ai-0.6.2}/tests/models/cassettes/test_gemini/test_video_as_binary_content_input.yaml +0 -0
  171. {pydantic_ai-0.6.1 → pydantic_ai-0.6.2}/tests/models/cassettes/test_gemini/test_video_url_input.yaml +0 -0
  172. {pydantic_ai-0.6.1 → pydantic_ai-0.6.2}/tests/models/cassettes/test_gemini_vertex/test_labels.yaml +0 -0
  173. {pydantic_ai-0.6.1 → pydantic_ai-0.6.2}/tests/models/cassettes/test_gemini_vertex/test_url_input[AudioUrl (gs)].yaml +0 -0
  174. {pydantic_ai-0.6.1 → pydantic_ai-0.6.2}/tests/models/cassettes/test_gemini_vertex/test_url_input[AudioUrl].yaml +0 -0
  175. {pydantic_ai-0.6.1 → pydantic_ai-0.6.2}/tests/models/cassettes/test_gemini_vertex/test_url_input[DocumentUrl (gs)].yaml +0 -0
  176. {pydantic_ai-0.6.1 → pydantic_ai-0.6.2}/tests/models/cassettes/test_gemini_vertex/test_url_input[DocumentUrl].yaml +0 -0
  177. {pydantic_ai-0.6.1 → pydantic_ai-0.6.2}/tests/models/cassettes/test_gemini_vertex/test_url_input[ImageUrl (gs)].yaml +0 -0
  178. {pydantic_ai-0.6.1 → pydantic_ai-0.6.2}/tests/models/cassettes/test_gemini_vertex/test_url_input[ImageUrl].yaml +0 -0
  179. {pydantic_ai-0.6.1 → pydantic_ai-0.6.2}/tests/models/cassettes/test_gemini_vertex/test_url_input[VideoUrl (YouTube)].yaml +0 -0
  180. {pydantic_ai-0.6.1 → pydantic_ai-0.6.2}/tests/models/cassettes/test_gemini_vertex/test_url_input[VideoUrl (gs)].yaml +0 -0
  181. {pydantic_ai-0.6.1 → pydantic_ai-0.6.2}/tests/models/cassettes/test_gemini_vertex/test_url_input[VideoUrl].yaml +0 -0
  182. {pydantic_ai-0.6.1 → pydantic_ai-0.6.2}/tests/models/cassettes/test_gemini_vertex/test_url_input_force_download.yaml +0 -0
  183. {pydantic_ai-0.6.1 → pydantic_ai-0.6.2}/tests/models/cassettes/test_google/test_google_model.yaml +0 -0
  184. {pydantic_ai-0.6.1 → pydantic_ai-0.6.2}/tests/models/cassettes/test_google/test_google_model_document_url_input.yaml +0 -0
  185. {pydantic_ai-0.6.1 → pydantic_ai-0.6.2}/tests/models/cassettes/test_google/test_google_model_empty_assistant_response.yaml +0 -0
  186. {pydantic_ai-0.6.1 → pydantic_ai-0.6.2}/tests/models/cassettes/test_google/test_google_model_empty_user_prompt.yaml +0 -0
  187. {pydantic_ai-0.6.1 → pydantic_ai-0.6.2}/tests/models/cassettes/test_google/test_google_model_image_as_binary_content_input.yaml +0 -0
  188. {pydantic_ai-0.6.1 → pydantic_ai-0.6.2}/tests/models/cassettes/test_google/test_google_model_image_url_input.yaml +0 -0
  189. {pydantic_ai-0.6.1 → pydantic_ai-0.6.2}/tests/models/cassettes/test_google/test_google_model_instructions.yaml +0 -0
  190. {pydantic_ai-0.6.1 → pydantic_ai-0.6.2}/tests/models/cassettes/test_google/test_google_model_iter_stream.yaml +0 -0
  191. {pydantic_ai-0.6.1 → pydantic_ai-0.6.2}/tests/models/cassettes/test_google/test_google_model_max_tokens.yaml +0 -0
  192. {pydantic_ai-0.6.1 → pydantic_ai-0.6.2}/tests/models/cassettes/test_google/test_google_model_multiple_documents_in_history.yaml +0 -0
  193. {pydantic_ai-0.6.1 → pydantic_ai-0.6.2}/tests/models/cassettes/test_google/test_google_model_retry.yaml +0 -0
  194. {pydantic_ai-0.6.1 → pydantic_ai-0.6.2}/tests/models/cassettes/test_google/test_google_model_safety_settings.yaml +0 -0
  195. {pydantic_ai-0.6.1 → pydantic_ai-0.6.2}/tests/models/cassettes/test_google/test_google_model_stream.yaml +0 -0
  196. {pydantic_ai-0.6.1 → pydantic_ai-0.6.2}/tests/models/cassettes/test_google/test_google_model_structured_output.yaml +0 -0
  197. {pydantic_ai-0.6.1 → pydantic_ai-0.6.2}/tests/models/cassettes/test_google/test_google_model_text_as_binary_content_input.yaml +0 -0
  198. {pydantic_ai-0.6.1 → pydantic_ai-0.6.2}/tests/models/cassettes/test_google/test_google_model_text_document_url_input.yaml +0 -0
  199. {pydantic_ai-0.6.1 → pydantic_ai-0.6.2}/tests/models/cassettes/test_google/test_google_model_thinking_config.yaml +0 -0
  200. {pydantic_ai-0.6.1 → pydantic_ai-0.6.2}/tests/models/cassettes/test_google/test_google_model_thinking_part.yaml +0 -0
  201. {pydantic_ai-0.6.1 → pydantic_ai-0.6.2}/tests/models/cassettes/test_google/test_google_model_thinking_part_iter.yaml +0 -0
  202. {pydantic_ai-0.6.1 → pydantic_ai-0.6.2}/tests/models/cassettes/test_google/test_google_model_top_p.yaml +0 -0
  203. {pydantic_ai-0.6.1 → pydantic_ai-0.6.2}/tests/models/cassettes/test_google/test_google_model_vertex_labels.yaml +0 -0
  204. {pydantic_ai-0.6.1 → pydantic_ai-0.6.2}/tests/models/cassettes/test_google/test_google_model_vertex_provider.yaml +0 -0
  205. {pydantic_ai-0.6.1 → pydantic_ai-0.6.2}/tests/models/cassettes/test_google/test_google_model_video_as_binary_content_input.yaml +0 -0
  206. {pydantic_ai-0.6.1 → pydantic_ai-0.6.2}/tests/models/cassettes/test_google/test_google_model_video_as_binary_content_input_with_vendor_metadata.yaml +0 -0
  207. {pydantic_ai-0.6.1 → pydantic_ai-0.6.2}/tests/models/cassettes/test_google/test_google_model_video_url_input.yaml +0 -0
  208. {pydantic_ai-0.6.1 → pydantic_ai-0.6.2}/tests/models/cassettes/test_google/test_google_model_youtube_video_url_input_with_vendor_metadata.yaml +0 -0
  209. {pydantic_ai-0.6.1 → pydantic_ai-0.6.2}/tests/models/cassettes/test_google/test_google_native_output.yaml +0 -0
  210. {pydantic_ai-0.6.1 → pydantic_ai-0.6.2}/tests/models/cassettes/test_google/test_google_native_output_multiple.yaml +0 -0
  211. {pydantic_ai-0.6.1 → pydantic_ai-0.6.2}/tests/models/cassettes/test_google/test_google_prompted_output.yaml +0 -0
  212. {pydantic_ai-0.6.1 → pydantic_ai-0.6.2}/tests/models/cassettes/test_google/test_google_prompted_output_multiple.yaml +0 -0
  213. {pydantic_ai-0.6.1 → pydantic_ai-0.6.2}/tests/models/cassettes/test_google/test_google_prompted_output_with_tools.yaml +0 -0
  214. {pydantic_ai-0.6.1 → pydantic_ai-0.6.2}/tests/models/cassettes/test_google/test_google_text_output_function.yaml +0 -0
  215. {pydantic_ai-0.6.1 → pydantic_ai-0.6.2}/tests/models/cassettes/test_google/test_google_timeout.yaml +0 -0
  216. {pydantic_ai-0.6.1 → pydantic_ai-0.6.2}/tests/models/cassettes/test_google/test_google_tool_config_any_with_tool_without_args.yaml +0 -0
  217. {pydantic_ai-0.6.1 → pydantic_ai-0.6.2}/tests/models/cassettes/test_google/test_google_tool_output.yaml +0 -0
  218. {pydantic_ai-0.6.1 → pydantic_ai-0.6.2}/tests/models/cassettes/test_google/test_google_url_input[AudioUrl (gs)].yaml +0 -0
  219. {pydantic_ai-0.6.1 → pydantic_ai-0.6.2}/tests/models/cassettes/test_google/test_google_url_input[AudioUrl].yaml +0 -0
  220. {pydantic_ai-0.6.1 → pydantic_ai-0.6.2}/tests/models/cassettes/test_google/test_google_url_input[DocumentUrl (gs)].yaml +0 -0
  221. {pydantic_ai-0.6.1 → pydantic_ai-0.6.2}/tests/models/cassettes/test_google/test_google_url_input[DocumentUrl].yaml +0 -0
  222. {pydantic_ai-0.6.1 → pydantic_ai-0.6.2}/tests/models/cassettes/test_google/test_google_url_input[ImageUrl (gs)].yaml +0 -0
  223. {pydantic_ai-0.6.1 → pydantic_ai-0.6.2}/tests/models/cassettes/test_google/test_google_url_input[ImageUrl].yaml +0 -0
  224. {pydantic_ai-0.6.1 → pydantic_ai-0.6.2}/tests/models/cassettes/test_google/test_google_url_input[VideoUrl (YouTube)].yaml +0 -0
  225. {pydantic_ai-0.6.1 → pydantic_ai-0.6.2}/tests/models/cassettes/test_google/test_google_url_input[VideoUrl (gs)].yaml +0 -0
  226. {pydantic_ai-0.6.1 → pydantic_ai-0.6.2}/tests/models/cassettes/test_google/test_google_url_input[VideoUrl].yaml +0 -0
  227. {pydantic_ai-0.6.1 → pydantic_ai-0.6.2}/tests/models/cassettes/test_google/test_google_url_input_force_download.yaml +0 -0
  228. {pydantic_ai-0.6.1 → pydantic_ai-0.6.2}/tests/models/cassettes/test_groq/test_extra_headers.yaml +0 -0
  229. {pydantic_ai-0.6.1 → pydantic_ai-0.6.2}/tests/models/cassettes/test_groq/test_groq_model_instructions.yaml +0 -0
  230. {pydantic_ai-0.6.1 → pydantic_ai-0.6.2}/tests/models/cassettes/test_groq/test_groq_model_thinking_part.yaml +0 -0
  231. {pydantic_ai-0.6.1 → pydantic_ai-0.6.2}/tests/models/cassettes/test_groq/test_groq_model_thinking_part_iter.yaml +0 -0
  232. {pydantic_ai-0.6.1 → pydantic_ai-0.6.2}/tests/models/cassettes/test_groq/test_image_as_binary_content_input.yaml +0 -0
  233. {pydantic_ai-0.6.1 → pydantic_ai-0.6.2}/tests/models/cassettes/test_groq/test_image_as_binary_content_tool_response.yaml +0 -0
  234. {pydantic_ai-0.6.1 → pydantic_ai-0.6.2}/tests/models/cassettes/test_groq/test_image_url_input.yaml +0 -0
  235. {pydantic_ai-0.6.1 → pydantic_ai-0.6.2}/tests/models/cassettes/test_huggingface/test_hf_model_instructions.yaml +0 -0
  236. {pydantic_ai-0.6.1 → pydantic_ai-0.6.2}/tests/models/cassettes/test_huggingface/test_hf_model_thinking_part.yaml +0 -0
  237. {pydantic_ai-0.6.1 → pydantic_ai-0.6.2}/tests/models/cassettes/test_huggingface/test_hf_model_thinking_part_iter.yaml +0 -0
  238. {pydantic_ai-0.6.1 → pydantic_ai-0.6.2}/tests/models/cassettes/test_huggingface/test_image_as_binary_content_input.yaml +0 -0
  239. {pydantic_ai-0.6.1 → pydantic_ai-0.6.2}/tests/models/cassettes/test_huggingface/test_image_url_input.yaml +0 -0
  240. {pydantic_ai-0.6.1 → pydantic_ai-0.6.2}/tests/models/cassettes/test_huggingface/test_max_completion_tokens[Qwen-Qwen2.5-72B-Instruct].yaml +0 -0
  241. {pydantic_ai-0.6.1 → pydantic_ai-0.6.2}/tests/models/cassettes/test_huggingface/test_max_completion_tokens[deepseek-ai-DeepSeek-R1-0528].yaml +0 -0
  242. {pydantic_ai-0.6.1 → pydantic_ai-0.6.2}/tests/models/cassettes/test_huggingface/test_max_completion_tokens[meta-llama-Llama-3.3-70B-Instruct].yaml +0 -0
  243. {pydantic_ai-0.6.1 → pydantic_ai-0.6.2}/tests/models/cassettes/test_huggingface/test_request_simple_success_with_vcr.yaml +0 -0
  244. {pydantic_ai-0.6.1 → pydantic_ai-0.6.2}/tests/models/cassettes/test_huggingface/test_request_simple_usage.yaml +0 -0
  245. {pydantic_ai-0.6.1 → pydantic_ai-0.6.2}/tests/models/cassettes/test_huggingface/test_simple_completion.yaml +0 -0
  246. {pydantic_ai-0.6.1 → pydantic_ai-0.6.2}/tests/models/cassettes/test_huggingface/test_stream_completion.yaml +0 -0
  247. {pydantic_ai-0.6.1 → pydantic_ai-0.6.2}/tests/models/cassettes/test_mistral/test_image_as_binary_content_tool_response.yaml +0 -0
  248. {pydantic_ai-0.6.1 → pydantic_ai-0.6.2}/tests/models/cassettes/test_mistral/test_mistral_model_instructions.yaml +0 -0
  249. {pydantic_ai-0.6.1 → pydantic_ai-0.6.2}/tests/models/cassettes/test_mistral/test_mistral_model_thinking_part.yaml +0 -0
  250. {pydantic_ai-0.6.1 → pydantic_ai-0.6.2}/tests/models/cassettes/test_model_names/test_known_model_names.yaml +0 -0
  251. {pydantic_ai-0.6.1 → pydantic_ai-0.6.2}/tests/models/cassettes/test_openai/test_audio_as_binary_content_input.yaml +0 -0
  252. {pydantic_ai-0.6.1 → pydantic_ai-0.6.2}/tests/models/cassettes/test_openai/test_compatible_api_with_tool_calls_without_id.yaml +0 -0
  253. {pydantic_ai-0.6.1 → pydantic_ai-0.6.2}/tests/models/cassettes/test_openai/test_document_as_binary_content_input.yaml +0 -0
  254. {pydantic_ai-0.6.1 → pydantic_ai-0.6.2}/tests/models/cassettes/test_openai/test_document_url_input.yaml +0 -0
  255. {pydantic_ai-0.6.1 → pydantic_ai-0.6.2}/tests/models/cassettes/test_openai/test_extra_headers.yaml +0 -0
  256. {pydantic_ai-0.6.1 → pydantic_ai-0.6.2}/tests/models/cassettes/test_openai/test_image_as_binary_content_input.yaml +0 -0
  257. {pydantic_ai-0.6.1 → pydantic_ai-0.6.2}/tests/models/cassettes/test_openai/test_image_as_binary_content_tool_response.yaml +0 -0
  258. {pydantic_ai-0.6.1 → pydantic_ai-0.6.2}/tests/models/cassettes/test_openai/test_image_url_tool_response.yaml +0 -0
  259. {pydantic_ai-0.6.1 → pydantic_ai-0.6.2}/tests/models/cassettes/test_openai/test_invalid_response.yaml +0 -0
  260. {pydantic_ai-0.6.1 → pydantic_ai-0.6.2}/tests/models/cassettes/test_openai/test_max_completion_tokens[gpt-4.5-preview].yaml +0 -0
  261. {pydantic_ai-0.6.1 → pydantic_ai-0.6.2}/tests/models/cassettes/test_openai/test_max_completion_tokens[gpt-4o-mini].yaml +0 -0
  262. {pydantic_ai-0.6.1 → pydantic_ai-0.6.2}/tests/models/cassettes/test_openai/test_max_completion_tokens[o3-mini].yaml +0 -0
  263. {pydantic_ai-0.6.1 → pydantic_ai-0.6.2}/tests/models/cassettes/test_openai/test_multiple_agent_tool_calls.yaml +0 -0
  264. {pydantic_ai-0.6.1 → pydantic_ai-0.6.2}/tests/models/cassettes/test_openai/test_openai_audio_url_input.yaml +0 -0
  265. {pydantic_ai-0.6.1 → pydantic_ai-0.6.2}/tests/models/cassettes/test_openai/test_openai_instructions.yaml +0 -0
  266. {pydantic_ai-0.6.1 → pydantic_ai-0.6.2}/tests/models/cassettes/test_openai/test_openai_instructions_with_tool_calls_keep_instructions.yaml +0 -0
  267. {pydantic_ai-0.6.1 → pydantic_ai-0.6.2}/tests/models/cassettes/test_openai/test_openai_model_thinking_part.yaml +0 -0
  268. {pydantic_ai-0.6.1 → pydantic_ai-0.6.2}/tests/models/cassettes/test_openai/test_openai_model_thinking_part_iter.yaml +0 -0
  269. {pydantic_ai-0.6.1 → pydantic_ai-0.6.2}/tests/models/cassettes/test_openai/test_openai_model_without_system_prompt.yaml +0 -0
  270. {pydantic_ai-0.6.1 → pydantic_ai-0.6.2}/tests/models/cassettes/test_openai/test_openai_native_output.yaml +0 -0
  271. {pydantic_ai-0.6.1 → pydantic_ai-0.6.2}/tests/models/cassettes/test_openai/test_openai_native_output_multiple.yaml +0 -0
  272. {pydantic_ai-0.6.1 → pydantic_ai-0.6.2}/tests/models/cassettes/test_openai/test_openai_o1_mini_system_role[developer].yaml +0 -0
  273. {pydantic_ai-0.6.1 → pydantic_ai-0.6.2}/tests/models/cassettes/test_openai/test_openai_o1_mini_system_role[system].yaml +0 -0
  274. {pydantic_ai-0.6.1 → pydantic_ai-0.6.2}/tests/models/cassettes/test_openai/test_openai_prompted_output.yaml +0 -0
  275. {pydantic_ai-0.6.1 → pydantic_ai-0.6.2}/tests/models/cassettes/test_openai/test_openai_prompted_output_multiple.yaml +0 -0
  276. {pydantic_ai-0.6.1 → pydantic_ai-0.6.2}/tests/models/cassettes/test_openai/test_openai_responses_model_thinking_part.yaml +0 -0
  277. {pydantic_ai-0.6.1 → pydantic_ai-0.6.2}/tests/models/cassettes/test_openai/test_openai_text_output_function.yaml +0 -0
  278. {pydantic_ai-0.6.1 → pydantic_ai-0.6.2}/tests/models/cassettes/test_openai/test_openai_tool_output.yaml +0 -0
  279. {pydantic_ai-0.6.1 → pydantic_ai-0.6.2}/tests/models/cassettes/test_openai/test_reasoning_model_with_temperature.yaml +0 -0
  280. {pydantic_ai-0.6.1 → pydantic_ai-0.6.2}/tests/models/cassettes/test_openai/test_text_response.yaml +0 -0
  281. {pydantic_ai-0.6.1 → pydantic_ai-0.6.2}/tests/models/cassettes/test_openai/test_user_id.yaml +0 -0
  282. {pydantic_ai-0.6.1 → pydantic_ai-0.6.2}/tests/models/cassettes/test_openai/test_valid_response.yaml +0 -0
  283. {pydantic_ai-0.6.1 → pydantic_ai-0.6.2}/tests/models/cassettes/test_openai_responses/test_audio_as_binary_content_input.yaml +0 -0
  284. {pydantic_ai-0.6.1 → pydantic_ai-0.6.2}/tests/models/cassettes/test_openai_responses/test_image_as_binary_content_input.yaml +0 -0
  285. {pydantic_ai-0.6.1 → pydantic_ai-0.6.2}/tests/models/cassettes/test_openai_responses/test_image_as_binary_content_tool_response.yaml +0 -0
  286. {pydantic_ai-0.6.1 → pydantic_ai-0.6.2}/tests/models/cassettes/test_openai_responses/test_native_output.yaml +0 -0
  287. {pydantic_ai-0.6.1 → pydantic_ai-0.6.2}/tests/models/cassettes/test_openai_responses/test_native_output_multiple.yaml +0 -0
  288. {pydantic_ai-0.6.1 → pydantic_ai-0.6.2}/tests/models/cassettes/test_openai_responses/test_openai_responses_document_as_binary_content_input.yaml +0 -0
  289. {pydantic_ai-0.6.1 → pydantic_ai-0.6.2}/tests/models/cassettes/test_openai_responses/test_openai_responses_document_url_input.yaml +0 -0
  290. {pydantic_ai-0.6.1 → pydantic_ai-0.6.2}/tests/models/cassettes/test_openai_responses/test_openai_responses_image_url_input.yaml +0 -0
  291. {pydantic_ai-0.6.1 → pydantic_ai-0.6.2}/tests/models/cassettes/test_openai_responses/test_openai_responses_model_builtin_tools.yaml +0 -0
  292. {pydantic_ai-0.6.1 → pydantic_ai-0.6.2}/tests/models/cassettes/test_openai_responses/test_openai_responses_model_http_error.yaml +0 -0
  293. {pydantic_ai-0.6.1 → pydantic_ai-0.6.2}/tests/models/cassettes/test_openai_responses/test_openai_responses_model_instructions.yaml +0 -0
  294. {pydantic_ai-0.6.1 → pydantic_ai-0.6.2}/tests/models/cassettes/test_openai_responses/test_openai_responses_model_retry.yaml +0 -0
  295. {pydantic_ai-0.6.1 → pydantic_ai-0.6.2}/tests/models/cassettes/test_openai_responses/test_openai_responses_model_simple_response.yaml +0 -0
  296. {pydantic_ai-0.6.1 → pydantic_ai-0.6.2}/tests/models/cassettes/test_openai_responses/test_openai_responses_model_simple_response_with_tool_call.yaml +0 -0
  297. {pydantic_ai-0.6.1 → pydantic_ai-0.6.2}/tests/models/cassettes/test_openai_responses/test_openai_responses_output_type.yaml +0 -0
  298. {pydantic_ai-0.6.1 → pydantic_ai-0.6.2}/tests/models/cassettes/test_openai_responses/test_openai_responses_reasoning_effort.yaml +0 -0
  299. {pydantic_ai-0.6.1 → pydantic_ai-0.6.2}/tests/models/cassettes/test_openai_responses/test_openai_responses_reasoning_generate_summary.yaml +0 -0
  300. {pydantic_ai-0.6.1 → pydantic_ai-0.6.2}/tests/models/cassettes/test_openai_responses/test_openai_responses_stream.yaml +0 -0
  301. {pydantic_ai-0.6.1 → pydantic_ai-0.6.2}/tests/models/cassettes/test_openai_responses/test_openai_responses_system_prompt.yaml +0 -0
  302. {pydantic_ai-0.6.1 → pydantic_ai-0.6.2}/tests/models/cassettes/test_openai_responses/test_openai_responses_text_document_url_input.yaml +0 -0
  303. {pydantic_ai-0.6.1 → pydantic_ai-0.6.2}/tests/models/cassettes/test_openai_responses/test_prompted_output.yaml +0 -0
  304. {pydantic_ai-0.6.1 → pydantic_ai-0.6.2}/tests/models/cassettes/test_openai_responses/test_prompted_output_multiple.yaml +0 -0
  305. {pydantic_ai-0.6.1 → pydantic_ai-0.6.2}/tests/models/cassettes/test_openai_responses/test_reasoning_model_with_temperature.yaml +0 -0
  306. {pydantic_ai-0.6.1 → pydantic_ai-0.6.2}/tests/models/cassettes/test_openai_responses/test_text_output_function.yaml +0 -0
  307. {pydantic_ai-0.6.1 → pydantic_ai-0.6.2}/tests/models/cassettes/test_openai_responses/test_tool_output.yaml +0 -0
  308. {pydantic_ai-0.6.1 → pydantic_ai-0.6.2}/tests/models/mock_async_stream.py +0 -0
  309. {pydantic_ai-0.6.1 → pydantic_ai-0.6.2}/tests/models/test_bedrock.py +0 -0
  310. {pydantic_ai-0.6.1 → pydantic_ai-0.6.2}/tests/models/test_deepseek.py +0 -0
  311. {pydantic_ai-0.6.1 → pydantic_ai-0.6.2}/tests/models/test_download_item.py +0 -0
  312. {pydantic_ai-0.6.1 → pydantic_ai-0.6.2}/tests/models/test_gemini.py +0 -0
  313. {pydantic_ai-0.6.1 → pydantic_ai-0.6.2}/tests/models/test_gemini_vertex.py +0 -0
  314. {pydantic_ai-0.6.1 → pydantic_ai-0.6.2}/tests/models/test_huggingface.py +0 -0
  315. {pydantic_ai-0.6.1 → pydantic_ai-0.6.2}/tests/models/test_mcp_sampling.py +0 -0
  316. {pydantic_ai-0.6.1 → pydantic_ai-0.6.2}/tests/models/test_mistral.py +0 -0
  317. {pydantic_ai-0.6.1 → pydantic_ai-0.6.2}/tests/models/test_model.py +0 -0
  318. {pydantic_ai-0.6.1 → pydantic_ai-0.6.2}/tests/models/test_model_function.py +0 -0
  319. {pydantic_ai-0.6.1 → pydantic_ai-0.6.2}/tests/models/test_model_names.py +0 -0
  320. {pydantic_ai-0.6.1 → pydantic_ai-0.6.2}/tests/models/test_model_settings.py +0 -0
  321. {pydantic_ai-0.6.1 → pydantic_ai-0.6.2}/tests/models/test_model_test.py +0 -0
  322. {pydantic_ai-0.6.1 → pydantic_ai-0.6.2}/tests/providers/__init__.py +0 -0
  323. {pydantic_ai-0.6.1 → pydantic_ai-0.6.2}/tests/providers/cassettes/test_azure/test_azure_provider_call.yaml +0 -0
  324. {pydantic_ai-0.6.1 → pydantic_ai-0.6.2}/tests/providers/cassettes/test_google_vertex/test_vertexai_provider.yaml +0 -0
  325. {pydantic_ai-0.6.1 → pydantic_ai-0.6.2}/tests/providers/cassettes/test_heroku/test_heroku_model_provider_claude_3_7_sonnet.yaml +0 -0
  326. {pydantic_ai-0.6.1 → pydantic_ai-0.6.2}/tests/providers/cassettes/test_openrouter/test_openrouter_with_google_model.yaml +0 -0
  327. {pydantic_ai-0.6.1 → pydantic_ai-0.6.2}/tests/providers/test_anthropic.py +0 -0
  328. {pydantic_ai-0.6.1 → pydantic_ai-0.6.2}/tests/providers/test_azure.py +0 -0
  329. {pydantic_ai-0.6.1 → pydantic_ai-0.6.2}/tests/providers/test_bedrock.py +0 -0
  330. {pydantic_ai-0.6.1 → pydantic_ai-0.6.2}/tests/providers/test_cohere.py +0 -0
  331. {pydantic_ai-0.6.1 → pydantic_ai-0.6.2}/tests/providers/test_deepseek.py +0 -0
  332. {pydantic_ai-0.6.1 → pydantic_ai-0.6.2}/tests/providers/test_fireworks.py +0 -0
  333. {pydantic_ai-0.6.1 → pydantic_ai-0.6.2}/tests/providers/test_github.py +0 -0
  334. {pydantic_ai-0.6.1 → pydantic_ai-0.6.2}/tests/providers/test_google_gla.py +0 -0
  335. {pydantic_ai-0.6.1 → pydantic_ai-0.6.2}/tests/providers/test_google_vertex.py +0 -0
  336. {pydantic_ai-0.6.1 → pydantic_ai-0.6.2}/tests/providers/test_grok.py +0 -0
  337. {pydantic_ai-0.6.1 → pydantic_ai-0.6.2}/tests/providers/test_heroku.py +0 -0
  338. {pydantic_ai-0.6.1 → pydantic_ai-0.6.2}/tests/providers/test_huggingface.py +0 -0
  339. {pydantic_ai-0.6.1 → pydantic_ai-0.6.2}/tests/providers/test_mistral.py +0 -0
  340. {pydantic_ai-0.6.1 → pydantic_ai-0.6.2}/tests/providers/test_moonshotai.py +0 -0
  341. {pydantic_ai-0.6.1 → pydantic_ai-0.6.2}/tests/providers/test_openai.py +0 -0
  342. {pydantic_ai-0.6.1 → pydantic_ai-0.6.2}/tests/providers/test_openrouter.py +0 -0
  343. {pydantic_ai-0.6.1 → pydantic_ai-0.6.2}/tests/providers/test_provider_names.py +0 -0
  344. {pydantic_ai-0.6.1 → pydantic_ai-0.6.2}/tests/providers/test_together.py +0 -0
  345. {pydantic_ai-0.6.1 → pydantic_ai-0.6.2}/tests/providers/test_vercel.py +0 -0
  346. {pydantic_ai-0.6.1 → pydantic_ai-0.6.2}/tests/test_a2a.py +0 -0
  347. {pydantic_ai-0.6.1 → pydantic_ai-0.6.2}/tests/test_ag_ui.py +0 -0
  348. {pydantic_ai-0.6.1 → pydantic_ai-0.6.2}/tests/test_agent.py +0 -0
  349. {pydantic_ai-0.6.1 → pydantic_ai-0.6.2}/tests/test_cli.py +0 -0
  350. {pydantic_ai-0.6.1 → pydantic_ai-0.6.2}/tests/test_deps.py +0 -0
  351. {pydantic_ai-0.6.1 → pydantic_ai-0.6.2}/tests/test_direct.py +0 -0
  352. {pydantic_ai-0.6.1 → pydantic_ai-0.6.2}/tests/test_format_as_xml.py +0 -0
  353. {pydantic_ai-0.6.1 → pydantic_ai-0.6.2}/tests/test_history_processor.py +0 -0
  354. {pydantic_ai-0.6.1 → pydantic_ai-0.6.2}/tests/test_json_body_serializer.py +0 -0
  355. {pydantic_ai-0.6.1 → pydantic_ai-0.6.2}/tests/test_live.py +0 -0
  356. {pydantic_ai-0.6.1 → pydantic_ai-0.6.2}/tests/test_mcp.py +0 -0
  357. {pydantic_ai-0.6.1 → pydantic_ai-0.6.2}/tests/test_messages.py +0 -0
  358. {pydantic_ai-0.6.1 → pydantic_ai-0.6.2}/tests/test_parts_manager.py +0 -0
  359. {pydantic_ai-0.6.1 → pydantic_ai-0.6.2}/tests/test_settings.py +0 -0
  360. {pydantic_ai-0.6.1 → pydantic_ai-0.6.2}/tests/test_streaming.py +0 -0
  361. {pydantic_ai-0.6.1 → pydantic_ai-0.6.2}/tests/test_tenacity.py +0 -0
  362. {pydantic_ai-0.6.1 → pydantic_ai-0.6.2}/tests/test_thinking_part.py +0 -0
  363. {pydantic_ai-0.6.1 → pydantic_ai-0.6.2}/tests/test_tools.py +0 -0
  364. {pydantic_ai-0.6.1 → pydantic_ai-0.6.2}/tests/test_toolsets.py +0 -0
  365. {pydantic_ai-0.6.1 → pydantic_ai-0.6.2}/tests/test_usage_limits.py +0 -0
  366. {pydantic_ai-0.6.1 → pydantic_ai-0.6.2}/tests/test_utils.py +0 -0
  367. {pydantic_ai-0.6.1 → pydantic_ai-0.6.2}/tests/typed_agent.py +0 -0
  368. {pydantic_ai-0.6.1 → pydantic_ai-0.6.2}/tests/typed_graph.py +0 -0
@@ -19,3 +19,4 @@ node_modules/
19
19
  **.idea/
20
20
  .coverage*
21
21
  /test_tmp/
22
+ .mcp.json
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: pydantic-ai
3
- Version: 0.6.1
3
+ Version: 0.6.2
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
@@ -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[ag-ui,anthropic,bedrock,cli,cohere,evals,google,groq,huggingface,mcp,mistral,openai,retries,vertexai]==0.6.1
31
+ Requires-Dist: pydantic-ai-slim[ag-ui,anthropic,bedrock,cli,cohere,evals,google,groq,huggingface,mcp,mistral,openai,retries,vertexai]==0.6.2
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.6.1; extra == 'examples'
35
+ Requires-Dist: pydantic-ai-examples==0.6.2; extra == 'examples'
36
36
  Provides-Extra: logfire
37
37
  Requires-Dist: logfire>=3.11.0; extra == 'logfire'
38
38
  Description-Content-Type: text/markdown
@@ -452,7 +452,11 @@ def model(
452
452
  bedrock_provider: BedrockProvider,
453
453
  ) -> Model: # pragma: lax no cover
454
454
  try:
455
- if request.param == 'openai':
455
+ if request.param == 'test':
456
+ from pydantic_ai.models.test import TestModel
457
+
458
+ return TestModel()
459
+ elif request.param == 'openai':
456
460
  from pydantic_ai.models.openai import OpenAIModel
457
461
  from pydantic_ai.providers.openai import OpenAIProvider
458
462
 
@@ -0,0 +1,86 @@
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
+ - '250'
12
+ content-type:
13
+ - application/json
14
+ host:
15
+ - api.anthropic.com
16
+ method: POST
17
+ parsed_body:
18
+ max_tokens: 1024
19
+ messages:
20
+ - content:
21
+ - text: How much is 3 * 12390?
22
+ type: text
23
+ role: user
24
+ model: claude-sonnet-4-0
25
+ stream: false
26
+ tool_choice:
27
+ type: auto
28
+ tools:
29
+ - name: code_execution
30
+ type: code_execution_20250522
31
+ uri: https://api.anthropic.com/v1/messages?beta=true
32
+ response:
33
+ headers:
34
+ connection:
35
+ - keep-alive
36
+ content-length:
37
+ - '927'
38
+ content-type:
39
+ - application/json
40
+ strict-transport-security:
41
+ - max-age=31536000; includeSubDomains; preload
42
+ transfer-encoding:
43
+ - chunked
44
+ parsed_body:
45
+ container:
46
+ expires_at: '2025-05-26T13:30:45.703429+00:00'
47
+ id: container_011CPW9LpfbF8dmXMvVNCiQJ
48
+ content:
49
+ - text: I'll calculate 3 * 12390 for you.
50
+ type: text
51
+ - id: srvtoolu_01CPfaeVC7ju4VsdzxjSLDrY
52
+ input:
53
+ code: |-
54
+ result = 3 * 12390
55
+ print(f"3 * 12390 = {result}")
56
+ name: code_execution
57
+ type: server_tool_use
58
+ - content:
59
+ content: []
60
+ return_code: 0
61
+ stderr: ''
62
+ stdout: |
63
+ 3 * 12390 = 37170
64
+ type: code_execution_result
65
+ tool_use_id: srvtoolu_01CPfaeVC7ju4VsdzxjSLDrY
66
+ type: code_execution_tool_result
67
+ - text: The answer is **37,170**.
68
+ type: text
69
+ id: msg_015H6Emn2T8vZhE52mU2jF1U
70
+ model: claude-sonnet-4-20250514
71
+ role: assistant
72
+ stop_reason: end_turn
73
+ stop_sequence: null
74
+ type: message
75
+ usage:
76
+ cache_creation_input_tokens: 0
77
+ cache_read_input_tokens: 0
78
+ input_tokens: 1630
79
+ output_tokens: 105
80
+ server_tool_use:
81
+ web_search_requests: 0
82
+ service_tier: standard
83
+ status:
84
+ code: 200
85
+ message: OK
86
+ version: 1
@@ -0,0 +1,280 @@
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
+ - '312'
12
+ content-type:
13
+ - application/json
14
+ host:
15
+ - api.anthropic.com
16
+ method: POST
17
+ parsed_body:
18
+ max_tokens: 1024
19
+ messages:
20
+ - content:
21
+ - text: What day is today?
22
+ type: text
23
+ role: user
24
+ model: claude-3-5-sonnet-latest
25
+ stream: false
26
+ tool_choice:
27
+ type: auto
28
+ tools:
29
+ - allowed_domains: null
30
+ blocked_domains: null
31
+ name: web_search
32
+ type: web_search_20250305
33
+ user_location: null
34
+ uri: https://api.anthropic.com/v1/messages?beta=true
35
+ response:
36
+ headers:
37
+ connection:
38
+ - keep-alive
39
+ content-length:
40
+ - '15304'
41
+ content-type:
42
+ - application/json
43
+ strict-transport-security:
44
+ - max-age=31536000; includeSubDomains; preload
45
+ transfer-encoding:
46
+ - chunked
47
+ parsed_body:
48
+ content:
49
+ - text: Let me search for today's date.
50
+ type: text
51
+ - id: srvtoolu_01BJh8n7va96puUF3hhNnYnY
52
+ input:
53
+ query: current date today May 26 2025
54
+ name: web_search
55
+ type: server_tool_use
56
+ - content:
57
+ - encrypted_content: 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
58
+ page_age: null
59
+ title: May 2025 Calendar
60
+ type: web_search_result
61
+ url: https://www.calendar-365.com/calendar/2025/May.html
62
+ - encrypted_content: EuwCCioIAxgCIiQ0NGFlNjc2Yy05NThmLTRkNjgtOTEwOC1lYWU5ZGU3YjM2NmISDNOs+T2nScTnsxVJZRoM3g9Mm5RlKN0sgiPBIjC1PJPZRfoUgRpmpfVZcF8sBTMUr6Lu9BK9xOxTQ8nMMBGjC7kFOrwJZ3ENgXLhRzcq7wF51cgLQ+Pb0MiXBGozKXa1r7DbogMoIacrDz92bvzbwXbo4mTQMipnow47//PYVelJXipxVAA6ISswEiYPGXyCjqSy6QEIde1TOc8nvMpaM0Y4u3DdOXez5EsgP+ZxIYly/I7JS35h/azV0nbpzEKsptZwNWwuBtNIYbkklPaluda13QbkE0KK1Cl6PnkNMVbO0Uo9XURcwLn5aDLJol0GJGVpuiApXVJoMk7e7L/Ib+p1BE77VW619KzDmQvuAjQXZR28Fb5KEbRxXkSaq7xAZnYZyQFtOlqg/07Tv+V4g0WYZhI3tn0phBe0w+95NhgD
63
+ page_age: null
64
+ title: May 26, 2025 Calendar with Holidays & Count Down - USA
65
+ type: web_search_result
66
+ url: https://www.wincalendar.com/Calendar/Date/May-26-2025
67
+ - encrypted_content: Es0ICioIAxgCIiQ0NGFlNjc2Yy05NThmLTRkNjgtOTEwOC1lYWU5ZGU3YjM2NmISDE+yP8aOxk+46r0AERoMFOlAyJD/AGdtDxeVIjDDhlbQbqqMmuMK9bN7ZNTwHWQwahkAaZd/LltU3eIPifLnfk4Apnck+mUOM61zRiQq0Ac12DCFUzhrlxvkXqpK3gWjgosGbUyzt8WbmwSaEmCbXf9F4bNc7+LKvQUtEceYmCesYcQa0lOT+88IhhRTxYBMyXo0Ws3Pw1yrLJi9P1JqfpcnWebg8McOGY/pD/MFeJORQvH+0UvGjBoMD0uaPPY1U6cFC7EWL+IebMjjmpj80RqAi/xjOOnU2XO8N98dFCzW4GiI9IWut8OBv8u3kLpmyYOV6cVxr3WTEntDv3onveQvTIyJFiDG8bmOKK72ONWrevnrKGQ7JY2gPYp5CakS+SYahIKiJOOY3cWQfUEheIfEZeuGadI907uvREyb1bf4h/0KsFjnOBWrHXdl7LIDRSfz8OIwfJufTERGCfG0vzMiHzFJbFcezciz3K9m25QjxL676NcrYbgZGFhIXar9jNvPAjGcUecpaOLAEztHx7pd0nHMsW5KKUTS0yU5sMFNY1+RMSKk8kVoCcBtOuOsiegf+BJV/J997IvbQG5A7h/72VsVyUbiBDT1z77VjKTPcerZr4EReCobAoyGdMKt1mihwvYvsyvZepAkvrxOoKnb+2pkzhZQtxGt0ub23yhSZyLgi0frVSS04KeYncVWW7cQJJygzfDS37pdSPnU0wZmAgZLzQ3X1NVmR9AQVSQ+IcIoVSCuru/WiBcS7aJPC4uh6cn5sB9C6yThrD8i7T7DJGbR/uutIADP9IgGUzdoppStgQugx4TwnQI9SC6e36zjfsK6NeUkxLi2b4T1uuRDvjgUDc0OXGZdoGQgc8nHoe7rexoLJqeWat19KNwy4DqnM7oywivVJWDJ2ThV4863f3+hYRlXeuxnojBsmENJsSxZtF46ye1gfPSvBYlEpO/Uu9FzR3yy4bB3b/qOh2+JMTLkk3R5u4C6Ca/Nye0bpnsKG7xjW2cKguqfKhUuUFaSucCCJqg/hT21DlUiHXZQ6wq6Ywi9C9l+wJbzfJWWHczjkTJvWhFq8saXSAzfWDd8tTKH1zje7NN38jRQPUDxS0CWMM78/+BgWoqsB5+IjkEl5QHV55GSCg+05HQPLyHQWWjBdMLWr+Uu3T0kKI0B/QDJPHO1mSX5AsGot5HZzva5qEPzn3vGly1n1vs14JWE+RrtIJTBHi0ypFhaO6oCRGejMRDbZhotP4gWW1VW0gLNikgfW0Z5waOb8wmLcN4vQhsHRFfZiXsqUF0dTXsme8+kF8qcVZNnPtghyf1ACvFgZ8TAF4PaM1wzpa8kDeBFvyp14U39R8XDJ3T6lGWR2rpv0WjS8d5h0RCZ3XlFuqPUXWEQ89OpEH8vEiYXGAM=
68
+ page_age: null
69
+ title: Daily Calendar for Monday, May 26, 2025 | Almanac.com
70
+ type: web_search_result
71
+ url: https://www.almanac.com/calendar/date/2025-05-26
72
+ - encrypted_content: EpoFCioIAxgCIiQ0NGFlNjc2Yy05NThmLTRkNjgtOTEwOC1lYWU5ZGU3YjM2NmISDClGwxB0YzJdub7VGhoMASvr8D1KqeBCa4knIjAV1lHpDjDIw6nag+Y/ax/aq2LhfZ1/CXJoRyRFiUGLVQHpERodH6/Kg+l8aLy01gAqnQQR8cCm+MlfMM3pSSNah8dZ0m5wam3enQ+5A3VLu0P/CF/TlwL5yB21pfaiu0lad9Ee99YFvs7LInvXpyFcUgLuhankIzNNZZbUIeS4sZIK39RrN+pmifOl6KQqT1f2tpJE6x7erDlAscnMvbRIr9U8Pwf8Au709bI6zcHqCg4GNJk2CqDf6kAXRHRRhcWYFtm8b0wvg9HaWVYZFOunZMJ1gFD3D82dSm3m4awyDSZm54A/9hmzE/lcQyiSVBC73NOmJMBxbNec16qaeJdUTZp33JYk0Fdro1VnkUiJyq5Kb2W7VYvfeQ1a2dLXPTYIsXeQXLHesmVTe7m0X70w0BgCAC+yKZPp68bbsEbsbjwxaWOxQ50seu8kkXDiEgscUK5e4N5YnPXMNjyMNZmlbhmFtw3abOmOCVdpcDORXGOgJZBWBkEqQ4mE8b+aEzXMGRqLzYjDKZHx11wolF3MGu/V/+f4lWEyNwR2Kipp67teOx1ypvl4DiZiPVkZwx9lt08u+TJGEGbTYtdPMQRLVX1K2K4YOEcP5/abNrdT9KdYH7dNscRDqDY04gi+47JyyTSRObcCjQun9LUqh0q6/NfIIWQwjguZ6dbYL67ymiuRgHJDXsPnc/P58qP4kRsClz9lu/XPTFuAzCQwaXioK3XiBNW73nSKyRaxm6/OxbYetPGIG2JUTkQtrmGL5AYJTfFbI6XOB1AFDcsoSC7nGAM=
73
+ page_age: null
74
+ title: How long ago was May 26th 2025? | howlongagogo.com
75
+ type: web_search_result
76
+ url: https://howlongagogo.com/date/2025/may/26
77
+ - encrypted_content: Eq0DCioIAxgCIiQ0NGFlNjc2Yy05NThmLTRkNjgtOTEwOC1lYWU5ZGU3YjM2NmISDDT/5zRyvf5kzhhLgxoM5vWn/Zjmu43rvWgPIjCf4z9SIoZxgNKyiLOqk422DLmHbFXGX+mhy6FPo43NOogfLhu/a3F3EPkiMxfd0UMqsAKIhRJKuEhfoi2saPCA3LpNhJ3YPO2NZyYL75SJdCbkfACe2YJOcCXHmt4hkrbA98Mrvh9DmtP6HNA9iYdsotXkDi0BuTlmiIcspblXnkpXLIURVpNYqqZ2jbjBEmi/mVlTonm9NJwx1rZHzwciKhaIrz440Vk/uTIqpiMb22U00hWrQ563gNlMSXpvIpyayhJcCnNEjQybJjQUsKaMqb/3Xbp8NUoWtidUb4ARNeoNe4BlzMEEcIPc0QWi1CKoQJH3JazxAhMSqvc4SVWXRyspZZP6lSHhMcIYlf/yorVYVF3FmL1djZfxXbVnI/VbFbpoNejvnOh5QIdbDrHu6UN3u2iGZBUJLgs6i9OUwMWw8kpi2WUm+3JeRkdyThE0M9WAhK+4qYD3UHgFCcucX7ZeGAM=
78
+ page_age: null
79
+ title: How many days until 26th May 2025?
80
+ type: web_search_result
81
+ url: https://days.to/26-may/2025
82
+ - encrypted_content: EpACCioIAxgCIiQ0NGFlNjc2Yy05NThmLTRkNjgtOTEwOC1lYWU5ZGU3YjM2NmISDNXuvVNnWjvXgGql0RoMXwqBXk4fJbTzoM0pIjC1HFbYVJOlp39xpYzw/uJVUO6cC2L9ScOu9ceP2MDjyBWuE0X2LxBsyFjM3ZwzQtYqkwHukWybclFQu5CuM7gntDFNVYsSAVDbslXo5WwOlljEXnC7ohNjuB4lJfXS5HomdOmnUs0/thHHvR5mvCvHt5o+XrnTV8PSOXJvZonVctfjBeMe/3VWaQX2Pr8F71hiBVghYnc4lqnvA/nebBXcqdz2VTlG7V2/u+KCGVfR27l0+BX9s8vroR6dZ7flEBZBSDDzt3QYAw==
83
+ page_age: null
84
+ title: What day of the week will May 26th 2025 be on? | howlongagogo.com
85
+ type: web_search_result
86
+ url: https://howlongagogo.com/day-of-the-week/2025-05-26
87
+ - encrypted_content: EtkGCioIAxgCIiQ0NGFlNjc2Yy05NThmLTRkNjgtOTEwOC1lYWU5ZGU3YjM2NmISDNqnvrEdyAJMqZiouRoMl3zAD6YOqFa5Y+LGIjCFzjG2cb9Uv/fUGE2iFHKU3CP5i7yVrpvusD4UBOrARkME7qTDdfIczSbj1PvU7ygq3AUQ9yGVSgg9AB7qawws2Zx43sVi5sDW/thrC8owactbSzc2qE9IsmucxwknSZXemJFSMW3I2vWhlpJVcfipESwRyVSnVNoTivU7/aIbnI15/NOGATtd/TR0mkyO2MMMAFIHiEfq0iuvMUX/EmnEqlSzDngrlWdPvb0qDrZIkSVEYFE5FEPHXuXEFEWZ/yLs7rUK7M9kc161gTbQ/NMALrWDjKtFtgI20Wf2luvbfX8G8kivyPttdUk9aiBxStWetpJZqsBEGT1auj3hk7FaHU2FTNW0LGvIe++QZNL+w/nKa+YuNGpJCxAiLt3X+2hnZmz8Mskfyfl5I5EWt7eOQmoR0qStl7Fh9Myb3vZ0rpZ8gZeaLd1xn6pKKa+tBonm1Oq1zQvsoMkMwTcMRK3LA53dF3rtkgSFyBAWis/tenbdrRVUGlicecn/bSd9FVFoGM5RWYvXR9/3zr3SBf2qNTT2jmeLqcl07LYUk+WDGcas6vAVGDXxVoAh+uAC0WziUtKfv//V4IeleGEOLJNdX1jDC8uQMKyGuRCXNRJAoHRhgUr2F46Ax9xJOHWXKDheklfqTFff0wf93d5U/d4p52RaeM7jcBexjz0wMQRBL91ZOZVweRHbV2BVTBpPH79Y9W/UmBEycRnTmurJJspZre10EVH7MIX/4DRhxBipdZrQFgqTrCgbN6dRFLlQR9w1n+Y2pSEXnSeHdwOTPVHSKBKQO43XCKWmJPgNFELcRBZdVxGcE9xd2/dzs0C6Aa7vXZ/5ZPx9rgis1TY2UegdpiyWmKV0yw1K2LKpq8BOdH4t3OPDTPvJrymaZwldTb+w6rLGf0p1YAkZIBPpUX9tAstQ1HAz58zHnLhQfUzpm5ft4S3m2i+WkyjzIkh4F2Y1bIvbwQvqT2x3rGJRRWJGyg9PDEVCY4gjKObhjkQbanRG58uPuf7mBofFqKbUBJOngnAvSmGibWNn9uSftf8YAw==
88
+ page_age: null
89
+ title: Calendar 2025
90
+ type: web_search_result
91
+ url: https://www.timeanddate.com/calendar/
92
+ - encrypted_content: Eq0CCioIAxgCIiQ0NGFlNjc2Yy05NThmLTRkNjgtOTEwOC1lYWU5ZGU3YjM2NmISDJI9LlFy1IIRylVnDxoMIXCLnspt86G8qxeIIjD0AiJH0r4ULSsSOXmrBj0ntQEjeADrBeCC4P53iCMga7fv0Uxic9EYRY73zIkr7aAqsAFql3nOsfaopCrkf/WC9qvKgDAeuBfKcTNjj+rfHn5HXgVM4BOpomSXxBc0CHUe3Heqw2mD9+Hy99flWI60pgPB+umunXeOjz5HC4W1q39ROTzvMkdpJzvXoUgG/dbgjJ9vEvZ0VC4z+ZwRAYSNgOgiRt3zApcZJ4iSsF/XgrQNs2L2ThcQyc84+lKKAaKPrSl6Lwm1bH+HTFYIm9KPyhvlbfEbp5buj/wQgn4Na/3qrhgD
93
+ page_age: null
94
+ title: May 26
95
+ type: web_search_result
96
+ url: https://www.nationaldaycalendar.com/may/may-26
97
+ - encrypted_content: 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
98
+ page_age: null
99
+ title: Day Numbers for 2025
100
+ type: web_search_result
101
+ url: https://www.epochconverter.com/days/2025
102
+ - encrypted_content: EosGCioIAxgCIiQ0NGFlNjc2Yy05NThmLTRkNjgtOTEwOC1lYWU5ZGU3YjM2NmISDDVXhko+GaoaARLiWxoMhhwixTlmn7YeimyXIjBqLMdGYisjngIKCxw2kKV4whivBWinF+rFSah3+1JUtoRUor9o+HmU0StGZxaPydsqjgUGl0OUiZ7Dlc0YqCN8bOGaoUeUv7MpoODHTH97tj67PKZmSbEkDp0J1bJzxHd4WeL1SdNnExDsDcSk4joJFA4lBVAAgxvBogir7w/ws8fRoANAp3F4T9IoZHSQVR2PhtRpymmT1JIaelypYDnda1cLVKrOhF26o8zSp3sDKsilZRW7TSGG1YmzEEKdFK0h/jrGO9yr35kL8vzIF1vdXeJbJa79pFo8e1OLxq9Z2e3y5thBAB3aMK+WMT6n3vRaaRpG4/sqL69lUB/J8Ju1X2VAqfUhYe1GbTKVwAqv+Fllq/NQfZywAaqkHF0YqzMFNYYNB0KTpzrPetfmvXMvog2I0qn8Xuuefw6ROAgsUJaIbyY2b2AbO9Ohxlqv08Lgt/CEmghIi2I/zvt4Y5AjUZzpRUqYAomrkagze50qj5P5Mj191pU+SLehkArpjDp131C5k3jhJ/6m7EaRpv7R4JWxWZCETvqonBRkooPRYqTZkHAD61WjNrFzDOn3fOHjrK9XjQMYE6C9rLOQf/Cy3XdlJgmSa6OKzak0NhRzIA8h7O16Mlf5kaMz5gW4vhIY/luKVQCgo7O39nxitIw94BlW0u0qT0XzCFgS05ADWdIC7SHJaU8NB4x2h0zQTTX2P5m0U2giLYPO86lUWicae08l14+JUB+uPlpDhNU7UQl29SM77+XnzdGiX/Kk99k8FcMrgp6+X5riQWuE0+rBhuDzOnVhGOgFCazxWCIpXIAvYqin429shbJtttU/upLPrbj9HsXpCJjOPI7+FLK7JXH5tH3rz1OCa/14jkNd4GTg5eGNnJSDgSJ2dWxC9oRQyFub6rPc58n9BCkHzcqrF502Q4TTEfNUuQsqBMJL8yEYAw==
103
+ page_age: null
104
+ title: Countdown to May 26, 2025 in Washington DC, District of Columbia
105
+ type: web_search_result
106
+ url: https://www.timeanddate.com/countdown/to?msg=Cressida_Glitter's+birthday&year=2025&month=5&day=26&hour=0&min=0&sec=0&fromtheme=birthday
107
+ tool_use_id: srvtoolu_01BJh8n7va96puUF3hhNnYnY
108
+ type: web_search_tool_result
109
+ - text: "\n\nBased on the search results, "
110
+ type: text
111
+ - citations:
112
+ - cited_text: Current moon phase · Moon calendar 2025 · Moon phases (Full Moon) 2025 & 2026 · World Clock · World
113
+ Clock · Calculate · Period between two dates · Mon...
114
+ encrypted_index: Eo8BCioIAxgCIiQ0NGFlNjc2Yy05NThmLTRkNjgtOTEwOC1lYWU5ZGU3YjM2NmISDEgJNRfMEmnW19PSuBoMpvnoqkDvIRkx6yxdIjBNsAkQg3SrCCN1zCEKO4LtptywdqMNvgULDnwzA4e8JoIj6nDuov4EZIdg37AOh2QqEx0w/3OTuMMUW8z0FsIsEkBStrkYBA==
115
+ title: May 2025 Calendar
116
+ type: web_search_result_location
117
+ url: https://www.calendar-365.com/calendar/2025/May.html
118
+ text: today is Monday, May 26, 2025 (Week 22)
119
+ type: text
120
+ - text: '. This is notably '
121
+ type: text
122
+ - citations:
123
+ - cited_text: The custom of honoring ancestors by cleaning cemeteries and decorating graves is an ancient and worldwide
124
+ tradition, but the specific origin of Memori...
125
+ encrypted_index: Eo8BCioIAxgCIiQ0NGFlNjc2Yy05NThmLTRkNjgtOTEwOC1lYWU5ZGU3YjM2NmISDDh1HLd3wIXrMlbIYRoMJbIyO6jhVRytVw9tIjBp5E9G6P/4oCUT+AvhQia2q7og82j1ZKFJMEyZllOT5wNB8wxo/hua8sprObTuApUqEwNbgxwhB3Rzdzbu8jotXE3VzSYYBA==
126
+ title: Daily Calendar for Monday, May 26, 2025 | Almanac.com
127
+ type: web_search_result_location
128
+ url: https://www.almanac.com/calendar/date/2025-05-26
129
+ text: Memorial Day, which was originally known as Decoration Day
130
+ type: text
131
+ - text: '. '
132
+ type: text
133
+ - citations:
134
+ - cited_text: 'The year 2025 has 365 days. '
135
+ encrypted_index: Eo8BCioIAxgCIiQ0NGFlNjc2Yy05NThmLTRkNjgtOTEwOC1lYWU5ZGU3YjM2NmISDGSJfkRRZt9POYx8TRoM9ZykWxngb2XQ3vvZIjDwg7OYkVRW8t1wzFmTQ1TL5akbS2y3zcQRN/I2nU4v3NsNZbfOSHEBhWOql3U/nekqE4EtVZ7XYLel8iTWpvOfRFX8iUAYBA==
136
+ title: Day Numbers for 2025
137
+ type: web_search_result_location
138
+ url: https://www.epochconverter.com/days/2025
139
+ text: The year 2025 is a regular year with 365 days
140
+ type: text
141
+ - text: .
142
+ type: text
143
+ id: msg_014DEwKKUs2hUThC8aqhrc5d
144
+ model: claude-3-5-sonnet-20241022
145
+ role: assistant
146
+ stop_reason: end_turn
147
+ stop_sequence: null
148
+ type: message
149
+ usage:
150
+ cache_creation_input_tokens: 0
151
+ cache_read_input_tokens: 0
152
+ input_tokens: 9582
153
+ output_tokens: 178
154
+ server_tool_use:
155
+ web_search_requests: 1
156
+ service_tier: standard
157
+ status:
158
+ code: 200
159
+ message: OK
160
+ - request:
161
+ headers:
162
+ accept:
163
+ - application/json
164
+ accept-encoding:
165
+ - gzip, deflate
166
+ connection:
167
+ - keep-alive
168
+ content-length:
169
+ - '732'
170
+ content-type:
171
+ - application/json
172
+ host:
173
+ - api.openai.com
174
+ method: POST
175
+ parsed_body:
176
+ input:
177
+ - content: What day is today?
178
+ role: user
179
+ - content: Let me search for today's date.
180
+ role: assistant
181
+ - content: "\n\nBased on the search results, "
182
+ role: assistant
183
+ - content: today is Monday, May 26, 2025 (Week 22)
184
+ role: assistant
185
+ - content: '. This is notably '
186
+ role: assistant
187
+ - content: Memorial Day, which was originally known as Decoration Day
188
+ role: assistant
189
+ - content: '. '
190
+ role: assistant
191
+ - content: The year 2025 is a regular year with 365 days
192
+ role: assistant
193
+ - content: .
194
+ role: assistant
195
+ - content: What day is tomorrow?
196
+ role: user
197
+ model: gpt-4.1
198
+ stream: false
199
+ tool_choice: auto
200
+ tools:
201
+ - search_context_size: medium
202
+ type: web_search_preview
203
+ uri: https://api.openai.com/v1/responses
204
+ response:
205
+ headers:
206
+ alt-svc:
207
+ - h3=":443"; ma=86400
208
+ connection:
209
+ - keep-alive
210
+ content-length:
211
+ - '1494'
212
+ content-type:
213
+ - application/json
214
+ openai-organization:
215
+ - pydantic-28gund
216
+ openai-processing-ms:
217
+ - '1271'
218
+ openai-version:
219
+ - '2020-10-01'
220
+ strict-transport-security:
221
+ - max-age=31536000; includeSubDomains; preload
222
+ transfer-encoding:
223
+ - chunked
224
+ parsed_body:
225
+ background: false
226
+ created_at: 1748263711
227
+ error: null
228
+ id: resp_6834631faf2481918638284f62855ddf040b4e5d7e74f261
229
+ incomplete_details: null
230
+ instructions: null
231
+ max_output_tokens: null
232
+ metadata: {}
233
+ model: gpt-4.1-2025-04-14
234
+ object: response
235
+ output:
236
+ - content:
237
+ - annotations: []
238
+ text: Tomorrow will be **Tuesday, May 27, 2025**.
239
+ type: output_text
240
+ id: msg_68346320b7608191a49fcd12e06dd3b5040b4e5d7e74f261
241
+ role: assistant
242
+ status: completed
243
+ type: message
244
+ parallel_tool_calls: true
245
+ previous_response_id: null
246
+ reasoning:
247
+ effort: null
248
+ summary: null
249
+ service_tier: default
250
+ status: completed
251
+ store: true
252
+ temperature: 1.0
253
+ text:
254
+ format:
255
+ type: text
256
+ tool_choice: auto
257
+ tools:
258
+ - search_context_size: medium
259
+ type: web_search_preview
260
+ user_location:
261
+ city: null
262
+ country: US
263
+ region: null
264
+ timezone: null
265
+ type: approximate
266
+ top_p: 1.0
267
+ truncation: disabled
268
+ usage:
269
+ input_tokens: 410
270
+ input_tokens_details:
271
+ cached_tokens: 0
272
+ output_tokens: 17
273
+ output_tokens_details:
274
+ reasoning_tokens: 0
275
+ total_tokens: 427
276
+ user: null
277
+ status:
278
+ code: 200
279
+ message: OK
280
+ version: 1
@@ -0,0 +1,169 @@
1
+ interactions:
2
+ - request:
3
+ headers:
4
+ accept:
5
+ - '*/*'
6
+ accept-encoding:
7
+ - gzip, deflate
8
+ connection:
9
+ - keep-alive
10
+ content-length:
11
+ - '137'
12
+ content-type:
13
+ - application/json
14
+ host:
15
+ - generativelanguage.googleapis.com
16
+ method: POST
17
+ parsed_body:
18
+ contents:
19
+ - parts:
20
+ - text: How much is 3 * 12390?
21
+ role: user
22
+ generationConfig: {}
23
+ tools:
24
+ - codeExecution: {}
25
+ uri: https://generativelanguage.googleapis.com/v1beta/models/gemini-2.0-flash:generateContent
26
+ response:
27
+ headers:
28
+ alt-svc:
29
+ - h3=":443"; ma=2592000,h3-29=":443"; ma=2592000
30
+ content-length:
31
+ - '1065'
32
+ content-type:
33
+ - application/json; charset=UTF-8
34
+ server-timing:
35
+ - gfet4t7; dur=6172
36
+ transfer-encoding:
37
+ - chunked
38
+ vary:
39
+ - Origin
40
+ - X-Origin
41
+ - Referer
42
+ parsed_body:
43
+ candidates:
44
+ - content:
45
+ parts:
46
+ - executableCode:
47
+ code: |
48
+ print(3 * 12390)
49
+ language: PYTHON
50
+ - codeExecutionResult:
51
+ outcome: OUTCOME_OK
52
+ output: |
53
+ 37170
54
+ - text: |
55
+ 3 * 12390 = 37170
56
+ role: model
57
+ finishReason: STOP
58
+ modelVersion: gemini-2.0-flash
59
+ responseId: 7YuUaK20I8asqsMP75hx
60
+ usageMetadata:
61
+ candidatesTokenCount: 34
62
+ candidatesTokensDetails:
63
+ - modality: TEXT
64
+ tokenCount: 34
65
+ promptTokenCount: 13
66
+ promptTokensDetails:
67
+ - modality: TEXT
68
+ tokenCount: 13
69
+ toolUsePromptTokenCount: 31
70
+ toolUsePromptTokensDetails:
71
+ - modality: TEXT
72
+ tokenCount: 31
73
+ totalTokenCount: 78
74
+ status:
75
+ code: 200
76
+ message: OK
77
+ - request:
78
+ headers:
79
+ accept:
80
+ - application/json
81
+ accept-encoding:
82
+ - gzip, deflate
83
+ connection:
84
+ - keep-alive
85
+ content-length:
86
+ - '401'
87
+ content-type:
88
+ - application/json
89
+ host:
90
+ - api.anthropic.com
91
+ method: POST
92
+ parsed_body:
93
+ max_tokens: 4096
94
+ messages:
95
+ - content:
96
+ - text: How much is 3 * 12390?
97
+ type: text
98
+ role: user
99
+ - content:
100
+ - text: |
101
+ 3 * 12390 = 37170
102
+ type: text
103
+ role: assistant
104
+ - content:
105
+ - text: Multiplied by 12390
106
+ type: text
107
+ role: user
108
+ model: claude-sonnet-4-0
109
+ stream: false
110
+ tool_choice:
111
+ type: auto
112
+ tools:
113
+ - name: code_execution
114
+ type: code_execution_20250522
115
+ uri: https://api.anthropic.com/v1/messages?beta=true
116
+ response:
117
+ headers:
118
+ connection:
119
+ - keep-alive
120
+ content-length:
121
+ - '913'
122
+ content-type:
123
+ - application/json
124
+ strict-transport-security:
125
+ - max-age=31536000; includeSubDomains; preload
126
+ transfer-encoding:
127
+ - chunked
128
+ parsed_body:
129
+ container:
130
+ expires_at: '2025-08-07T12:20:24.852621+00:00'
131
+ id: container_011CRtG2ZHU4du4wy3SNRu6J
132
+ content:
133
+ - id: srvtoolu_01JHwVUjgQAUV99SPWKR9Fqj
134
+ input:
135
+ code: |-
136
+ # Calculate 37170 * 12390
137
+ result = 37170 * 12390
138
+ print(f"37170 * 12390 = {result}")
139
+ name: code_execution
140
+ type: server_tool_use
141
+ - content:
142
+ content: []
143
+ return_code: 0
144
+ stderr: ''
145
+ stdout: |
146
+ 37170 * 12390 = 460536300
147
+ type: code_execution_result
148
+ tool_use_id: srvtoolu_01JHwVUjgQAUV99SPWKR9Fqj
149
+ type: code_execution_tool_result
150
+ - text: 37170 * 12390 = 460,536,300
151
+ type: text
152
+ id: msg_01MVPg4CDn7rM9Lw3VARchdZ
153
+ model: claude-sonnet-4-20250514
154
+ role: assistant
155
+ stop_reason: end_turn
156
+ stop_sequence: null
157
+ type: message
158
+ usage:
159
+ cache_creation_input_tokens: 0
160
+ cache_read_input_tokens: 0
161
+ input_tokens: 1681
162
+ output_tokens: 110
163
+ server_tool_use:
164
+ web_search_requests: 0
165
+ service_tier: standard
166
+ status:
167
+ code: 200
168
+ message: OK
169
+ version: 1