pydantic-ai 0.2.6__tar.gz → 0.2.7__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 (218) hide show
  1. {pydantic_ai-0.2.6 → pydantic_ai-0.2.7}/PKG-INFO +4 -3
  2. {pydantic_ai-0.2.6 → pydantic_ai-0.2.7}/README.md +1 -0
  3. {pydantic_ai-0.2.6 → pydantic_ai-0.2.7}/tests/cassettes/test_settings/test_stop_settings[anthropic].yaml +6 -3
  4. {pydantic_ai-0.2.6 → pydantic_ai-0.2.7}/tests/models/cassettes/test_anthropic/test_anthropic_model_instructions.yaml +11 -5
  5. {pydantic_ai-0.2.6 → pydantic_ai-0.2.7}/tests/models/cassettes/test_anthropic/test_document_binary_content_input.yaml +8 -6
  6. {pydantic_ai-0.2.6 → pydantic_ai-0.2.7}/tests/models/cassettes/test_anthropic/test_document_url_input.yaml +12 -9
  7. {pydantic_ai-0.2.6 → pydantic_ai-0.2.7}/tests/models/cassettes/test_anthropic/test_extra_headers.yaml +16 -11
  8. {pydantic_ai-0.2.6 → pydantic_ai-0.2.7}/tests/models/cassettes/test_anthropic/test_image_as_binary_content_tool_response.yaml +22 -16
  9. {pydantic_ai-0.2.6 → pydantic_ai-0.2.7}/tests/models/cassettes/test_anthropic/test_image_url_input.yaml +11 -8
  10. pydantic_ai-0.2.7/tests/models/cassettes/test_anthropic/test_image_url_input_invalid_mime_type.yaml +67 -0
  11. {pydantic_ai-0.2.6 → pydantic_ai-0.2.7}/tests/models/cassettes/test_anthropic/test_multiple_parallel_tool_calls.yaml +34 -36
  12. {pydantic_ai-0.2.6 → pydantic_ai-0.2.7}/tests/models/cassettes/test_anthropic/test_text_document_url_input.yaml +21 -14
  13. {pydantic_ai-0.2.6 → pydantic_ai-0.2.7}/tests/models/test_anthropic.py +166 -154
  14. {pydantic_ai-0.2.6 → pydantic_ai-0.2.7}/tests/models/test_bedrock.py +5 -3
  15. {pydantic_ai-0.2.6 → pydantic_ai-0.2.7}/tests/models/test_groq.py +1 -0
  16. {pydantic_ai-0.2.6 → pydantic_ai-0.2.7}/tests/models/test_model_function.py +2 -1
  17. {pydantic_ai-0.2.6 → pydantic_ai-0.2.7}/tests/models/test_openai.py +1 -4
  18. {pydantic_ai-0.2.6 → pydantic_ai-0.2.7}/tests/test_mcp.py +63 -6
  19. {pydantic_ai-0.2.6 → pydantic_ai-0.2.7}/tests/test_parts_manager.py +61 -10
  20. {pydantic_ai-0.2.6 → pydantic_ai-0.2.7}/tests/test_tools.py +61 -1
  21. pydantic_ai-0.2.6/tests/models/cassettes/test_anthropic/test_image_url_input_invalid_mime_type.yaml +0 -2856
  22. {pydantic_ai-0.2.6 → pydantic_ai-0.2.7}/.gitignore +0 -0
  23. {pydantic_ai-0.2.6 → pydantic_ai-0.2.7}/LICENSE +0 -0
  24. {pydantic_ai-0.2.6 → pydantic_ai-0.2.7}/Makefile +0 -0
  25. {pydantic_ai-0.2.6 → pydantic_ai-0.2.7}/pyproject.toml +0 -0
  26. {pydantic_ai-0.2.6 → pydantic_ai-0.2.7}/tests/__init__.py +0 -0
  27. {pydantic_ai-0.2.6 → pydantic_ai-0.2.7}/tests/assets/dummy.pdf +0 -0
  28. {pydantic_ai-0.2.6 → pydantic_ai-0.2.7}/tests/assets/kiwi.png +0 -0
  29. {pydantic_ai-0.2.6 → pydantic_ai-0.2.7}/tests/assets/marcelo.mp3 +0 -0
  30. {pydantic_ai-0.2.6 → pydantic_ai-0.2.7}/tests/assets/small_video.mp4 +0 -0
  31. {pydantic_ai-0.2.6 → pydantic_ai-0.2.7}/tests/cassettes/test_mcp/test_agent_with_stdio_server.yaml +0 -0
  32. {pydantic_ai-0.2.6 → pydantic_ai-0.2.7}/tests/cassettes/test_mcp/test_tool_returning_dict.yaml +0 -0
  33. {pydantic_ai-0.2.6 → pydantic_ai-0.2.7}/tests/cassettes/test_mcp/test_tool_returning_error.yaml +0 -0
  34. {pydantic_ai-0.2.6 → pydantic_ai-0.2.7}/tests/cassettes/test_mcp/test_tool_returning_image.yaml +0 -0
  35. {pydantic_ai-0.2.6 → pydantic_ai-0.2.7}/tests/cassettes/test_mcp/test_tool_returning_image_resource.yaml +0 -0
  36. {pydantic_ai-0.2.6 → pydantic_ai-0.2.7}/tests/cassettes/test_mcp/test_tool_returning_multiple_items.yaml +0 -0
  37. {pydantic_ai-0.2.6 → pydantic_ai-0.2.7}/tests/cassettes/test_mcp/test_tool_returning_none.yaml +0 -0
  38. {pydantic_ai-0.2.6 → pydantic_ai-0.2.7}/tests/cassettes/test_mcp/test_tool_returning_str.yaml +0 -0
  39. {pydantic_ai-0.2.6 → pydantic_ai-0.2.7}/tests/cassettes/test_mcp/test_tool_returning_text_resource.yaml +0 -0
  40. {pydantic_ai-0.2.6 → pydantic_ai-0.2.7}/tests/cassettes/test_settings/test_stop_settings[bedrock].yaml +0 -0
  41. {pydantic_ai-0.2.6 → pydantic_ai-0.2.7}/tests/cassettes/test_settings/test_stop_settings[cohere].yaml +0 -0
  42. {pydantic_ai-0.2.6 → pydantic_ai-0.2.7}/tests/cassettes/test_settings/test_stop_settings[gemini].yaml +0 -0
  43. {pydantic_ai-0.2.6 → pydantic_ai-0.2.7}/tests/cassettes/test_settings/test_stop_settings[groq].yaml +0 -0
  44. {pydantic_ai-0.2.6 → pydantic_ai-0.2.7}/tests/cassettes/test_settings/test_stop_settings[mistral].yaml +0 -0
  45. {pydantic_ai-0.2.6 → pydantic_ai-0.2.7}/tests/cassettes/test_settings/test_stop_settings[openai].yaml +0 -0
  46. {pydantic_ai-0.2.6 → pydantic_ai-0.2.7}/tests/conftest.py +0 -0
  47. {pydantic_ai-0.2.6 → pydantic_ai-0.2.7}/tests/evals/__init__.py +0 -0
  48. {pydantic_ai-0.2.6 → pydantic_ai-0.2.7}/tests/evals/test_dataset.py +0 -0
  49. {pydantic_ai-0.2.6 → pydantic_ai-0.2.7}/tests/evals/test_evaluator_base.py +0 -0
  50. {pydantic_ai-0.2.6 → pydantic_ai-0.2.7}/tests/evals/test_evaluator_common.py +0 -0
  51. {pydantic_ai-0.2.6 → pydantic_ai-0.2.7}/tests/evals/test_evaluator_context.py +0 -0
  52. {pydantic_ai-0.2.6 → pydantic_ai-0.2.7}/tests/evals/test_evaluator_spec.py +0 -0
  53. {pydantic_ai-0.2.6 → pydantic_ai-0.2.7}/tests/evals/test_evaluators.py +0 -0
  54. {pydantic_ai-0.2.6 → pydantic_ai-0.2.7}/tests/evals/test_llm_as_a_judge.py +0 -0
  55. {pydantic_ai-0.2.6 → pydantic_ai-0.2.7}/tests/evals/test_otel.py +0 -0
  56. {pydantic_ai-0.2.6 → pydantic_ai-0.2.7}/tests/evals/test_render_numbers.py +0 -0
  57. {pydantic_ai-0.2.6 → pydantic_ai-0.2.7}/tests/evals/test_reporting.py +0 -0
  58. {pydantic_ai-0.2.6 → pydantic_ai-0.2.7}/tests/evals/test_reports.py +0 -0
  59. {pydantic_ai-0.2.6 → pydantic_ai-0.2.7}/tests/evals/test_utils.py +0 -0
  60. {pydantic_ai-0.2.6 → pydantic_ai-0.2.7}/tests/evals/utils.py +0 -0
  61. {pydantic_ai-0.2.6 → pydantic_ai-0.2.7}/tests/example_modules/README.md +0 -0
  62. {pydantic_ai-0.2.6 → pydantic_ai-0.2.7}/tests/example_modules/bank_database.py +0 -0
  63. {pydantic_ai-0.2.6 → pydantic_ai-0.2.7}/tests/example_modules/fake_database.py +0 -0
  64. {pydantic_ai-0.2.6 → pydantic_ai-0.2.7}/tests/example_modules/weather_service.py +0 -0
  65. {pydantic_ai-0.2.6 → pydantic_ai-0.2.7}/tests/fasta2a/__init__.py +0 -0
  66. {pydantic_ai-0.2.6 → pydantic_ai-0.2.7}/tests/fasta2a/test_applications.py +0 -0
  67. {pydantic_ai-0.2.6 → pydantic_ai-0.2.7}/tests/graph/__init__.py +0 -0
  68. {pydantic_ai-0.2.6 → pydantic_ai-0.2.7}/tests/graph/test_file_persistence.py +0 -0
  69. {pydantic_ai-0.2.6 → pydantic_ai-0.2.7}/tests/graph/test_graph.py +0 -0
  70. {pydantic_ai-0.2.6 → pydantic_ai-0.2.7}/tests/graph/test_mermaid.py +0 -0
  71. {pydantic_ai-0.2.6 → pydantic_ai-0.2.7}/tests/graph/test_persistence.py +0 -0
  72. {pydantic_ai-0.2.6 → pydantic_ai-0.2.7}/tests/graph/test_state.py +0 -0
  73. {pydantic_ai-0.2.6 → pydantic_ai-0.2.7}/tests/graph/test_utils.py +0 -0
  74. {pydantic_ai-0.2.6 → pydantic_ai-0.2.7}/tests/import_examples.py +0 -0
  75. {pydantic_ai-0.2.6 → pydantic_ai-0.2.7}/tests/json_body_serializer.py +0 -0
  76. {pydantic_ai-0.2.6 → pydantic_ai-0.2.7}/tests/mcp_server.py +0 -0
  77. {pydantic_ai-0.2.6 → pydantic_ai-0.2.7}/tests/models/__init__.py +0 -0
  78. {pydantic_ai-0.2.6 → pydantic_ai-0.2.7}/tests/models/cassettes/test_bedrock/test_bedrock_empty_system_prompt.yaml +0 -0
  79. {pydantic_ai-0.2.6 → pydantic_ai-0.2.7}/tests/models/cassettes/test_bedrock/test_bedrock_model.yaml +0 -0
  80. {pydantic_ai-0.2.6 → pydantic_ai-0.2.7}/tests/models/cassettes/test_bedrock/test_bedrock_model_anthropic_model_without_tools.yaml +0 -0
  81. {pydantic_ai-0.2.6 → pydantic_ai-0.2.7}/tests/models/cassettes/test_bedrock/test_bedrock_model_guardrail_config.yaml +0 -0
  82. {pydantic_ai-0.2.6 → pydantic_ai-0.2.7}/tests/models/cassettes/test_bedrock/test_bedrock_model_instructions.yaml +0 -0
  83. {pydantic_ai-0.2.6 → pydantic_ai-0.2.7}/tests/models/cassettes/test_bedrock/test_bedrock_model_iter_stream.yaml +0 -0
  84. {pydantic_ai-0.2.6 → pydantic_ai-0.2.7}/tests/models/cassettes/test_bedrock/test_bedrock_model_max_tokens.yaml +0 -0
  85. {pydantic_ai-0.2.6 → pydantic_ai-0.2.7}/tests/models/cassettes/test_bedrock/test_bedrock_model_other_parameters.yaml +0 -0
  86. {pydantic_ai-0.2.6 → pydantic_ai-0.2.7}/tests/models/cassettes/test_bedrock/test_bedrock_model_performance_config.yaml +0 -0
  87. {pydantic_ai-0.2.6 → pydantic_ai-0.2.7}/tests/models/cassettes/test_bedrock/test_bedrock_model_retry.yaml +0 -0
  88. {pydantic_ai-0.2.6 → pydantic_ai-0.2.7}/tests/models/cassettes/test_bedrock/test_bedrock_model_stream.yaml +0 -0
  89. {pydantic_ai-0.2.6 → pydantic_ai-0.2.7}/tests/models/cassettes/test_bedrock/test_bedrock_model_structured_response.yaml +0 -0
  90. {pydantic_ai-0.2.6 → pydantic_ai-0.2.7}/tests/models/cassettes/test_bedrock/test_bedrock_model_top_p.yaml +0 -0
  91. {pydantic_ai-0.2.6 → pydantic_ai-0.2.7}/tests/models/cassettes/test_bedrock/test_bedrock_multiple_documents_in_history.yaml +0 -0
  92. {pydantic_ai-0.2.6 → pydantic_ai-0.2.7}/tests/models/cassettes/test_bedrock/test_document_url_input.yaml +0 -0
  93. {pydantic_ai-0.2.6 → pydantic_ai-0.2.7}/tests/models/cassettes/test_bedrock/test_image_as_binary_content_input.yaml +0 -0
  94. {pydantic_ai-0.2.6 → pydantic_ai-0.2.7}/tests/models/cassettes/test_bedrock/test_image_url_input.yaml +0 -0
  95. {pydantic_ai-0.2.6 → pydantic_ai-0.2.7}/tests/models/cassettes/test_bedrock/test_text_as_binary_content_input.yaml +0 -0
  96. {pydantic_ai-0.2.6 → pydantic_ai-0.2.7}/tests/models/cassettes/test_bedrock/test_text_document_url_input.yaml +0 -0
  97. {pydantic_ai-0.2.6 → pydantic_ai-0.2.7}/tests/models/cassettes/test_bedrock/test_video_as_binary_content_input.yaml +0 -0
  98. {pydantic_ai-0.2.6 → pydantic_ai-0.2.7}/tests/models/cassettes/test_bedrock/test_video_url_input.yaml +0 -0
  99. {pydantic_ai-0.2.6 → pydantic_ai-0.2.7}/tests/models/cassettes/test_cohere/test_cohere_model_instructions.yaml +0 -0
  100. {pydantic_ai-0.2.6 → pydantic_ai-0.2.7}/tests/models/cassettes/test_cohere/test_request_simple_success_with_vcr.yaml +0 -0
  101. {pydantic_ai-0.2.6 → pydantic_ai-0.2.7}/tests/models/cassettes/test_gemini/test_document_url_input.yaml +0 -0
  102. {pydantic_ai-0.2.6 → pydantic_ai-0.2.7}/tests/models/cassettes/test_gemini/test_gemini_additional_properties_is_false.yaml +0 -0
  103. {pydantic_ai-0.2.6 → pydantic_ai-0.2.7}/tests/models/cassettes/test_gemini/test_gemini_additional_properties_is_true.yaml +0 -0
  104. {pydantic_ai-0.2.6 → pydantic_ai-0.2.7}/tests/models/cassettes/test_gemini/test_gemini_drop_exclusive_maximum.yaml +0 -0
  105. {pydantic_ai-0.2.6 → pydantic_ai-0.2.7}/tests/models/cassettes/test_gemini/test_gemini_exclusive_minimum_and_maximum.yaml +0 -0
  106. {pydantic_ai-0.2.6 → pydantic_ai-0.2.7}/tests/models/cassettes/test_gemini/test_gemini_model_instructions.yaml +0 -0
  107. {pydantic_ai-0.2.6 → pydantic_ai-0.2.7}/tests/models/cassettes/test_gemini/test_image_as_binary_content_input.yaml +0 -0
  108. {pydantic_ai-0.2.6 → pydantic_ai-0.2.7}/tests/models/cassettes/test_gemini/test_image_as_binary_content_tool_response.yaml +0 -0
  109. {pydantic_ai-0.2.6 → pydantic_ai-0.2.7}/tests/models/cassettes/test_gemini/test_image_url_input.yaml +0 -0
  110. {pydantic_ai-0.2.6 → pydantic_ai-0.2.7}/tests/models/cassettes/test_gemini/test_video_as_binary_content_input.yaml +0 -0
  111. {pydantic_ai-0.2.6 → pydantic_ai-0.2.7}/tests/models/cassettes/test_gemini/test_video_url_input.yaml +0 -0
  112. {pydantic_ai-0.2.6 → pydantic_ai-0.2.7}/tests/models/cassettes/test_google/test_google_model.yaml +0 -0
  113. {pydantic_ai-0.2.6 → pydantic_ai-0.2.7}/tests/models/cassettes/test_google/test_google_model_document_url_input.yaml +0 -0
  114. {pydantic_ai-0.2.6 → pydantic_ai-0.2.7}/tests/models/cassettes/test_google/test_google_model_image_as_binary_content_input.yaml +0 -0
  115. {pydantic_ai-0.2.6 → pydantic_ai-0.2.7}/tests/models/cassettes/test_google/test_google_model_image_url_input.yaml +0 -0
  116. {pydantic_ai-0.2.6 → pydantic_ai-0.2.7}/tests/models/cassettes/test_google/test_google_model_instructions.yaml +0 -0
  117. {pydantic_ai-0.2.6 → pydantic_ai-0.2.7}/tests/models/cassettes/test_google/test_google_model_iter_stream.yaml +0 -0
  118. {pydantic_ai-0.2.6 → pydantic_ai-0.2.7}/tests/models/cassettes/test_google/test_google_model_max_tokens.yaml +0 -0
  119. {pydantic_ai-0.2.6 → pydantic_ai-0.2.7}/tests/models/cassettes/test_google/test_google_model_multiple_documents_in_history.yaml +0 -0
  120. {pydantic_ai-0.2.6 → pydantic_ai-0.2.7}/tests/models/cassettes/test_google/test_google_model_retry.yaml +0 -0
  121. {pydantic_ai-0.2.6 → pydantic_ai-0.2.7}/tests/models/cassettes/test_google/test_google_model_safety_settings.yaml +0 -0
  122. {pydantic_ai-0.2.6 → pydantic_ai-0.2.7}/tests/models/cassettes/test_google/test_google_model_stream.yaml +0 -0
  123. {pydantic_ai-0.2.6 → pydantic_ai-0.2.7}/tests/models/cassettes/test_google/test_google_model_structured_response.yaml +0 -0
  124. {pydantic_ai-0.2.6 → pydantic_ai-0.2.7}/tests/models/cassettes/test_google/test_google_model_text_as_binary_content_input.yaml +0 -0
  125. {pydantic_ai-0.2.6 → pydantic_ai-0.2.7}/tests/models/cassettes/test_google/test_google_model_text_document_url_input.yaml +0 -0
  126. {pydantic_ai-0.2.6 → pydantic_ai-0.2.7}/tests/models/cassettes/test_google/test_google_model_thinking_config.yaml +0 -0
  127. {pydantic_ai-0.2.6 → pydantic_ai-0.2.7}/tests/models/cassettes/test_google/test_google_model_top_p.yaml +0 -0
  128. {pydantic_ai-0.2.6 → pydantic_ai-0.2.7}/tests/models/cassettes/test_google/test_google_model_vertex_provider.yaml +0 -0
  129. {pydantic_ai-0.2.6 → pydantic_ai-0.2.7}/tests/models/cassettes/test_google/test_google_model_video_as_binary_content_input.yaml +0 -0
  130. {pydantic_ai-0.2.6 → pydantic_ai-0.2.7}/tests/models/cassettes/test_google/test_google_model_video_url_input.yaml +0 -0
  131. {pydantic_ai-0.2.6 → pydantic_ai-0.2.7}/tests/models/cassettes/test_groq/test_extra_headers.yaml +0 -0
  132. {pydantic_ai-0.2.6 → pydantic_ai-0.2.7}/tests/models/cassettes/test_groq/test_groq_model_instructions.yaml +0 -0
  133. {pydantic_ai-0.2.6 → pydantic_ai-0.2.7}/tests/models/cassettes/test_groq/test_image_as_binary_content_input.yaml +0 -0
  134. {pydantic_ai-0.2.6 → pydantic_ai-0.2.7}/tests/models/cassettes/test_groq/test_image_as_binary_content_tool_response.yaml +0 -0
  135. {pydantic_ai-0.2.6 → pydantic_ai-0.2.7}/tests/models/cassettes/test_groq/test_image_url_input.yaml +0 -0
  136. {pydantic_ai-0.2.6 → pydantic_ai-0.2.7}/tests/models/cassettes/test_mistral/test_image_as_binary_content_tool_response.yaml +0 -0
  137. {pydantic_ai-0.2.6 → pydantic_ai-0.2.7}/tests/models/cassettes/test_mistral/test_mistral_model_instructions.yaml +0 -0
  138. {pydantic_ai-0.2.6 → pydantic_ai-0.2.7}/tests/models/cassettes/test_openai/test_audio_as_binary_content_input.yaml +0 -0
  139. {pydantic_ai-0.2.6 → pydantic_ai-0.2.7}/tests/models/cassettes/test_openai/test_document_as_binary_content_input.yaml +0 -0
  140. {pydantic_ai-0.2.6 → pydantic_ai-0.2.7}/tests/models/cassettes/test_openai/test_document_url_input.yaml +0 -0
  141. {pydantic_ai-0.2.6 → pydantic_ai-0.2.7}/tests/models/cassettes/test_openai/test_extra_headers.yaml +0 -0
  142. {pydantic_ai-0.2.6 → pydantic_ai-0.2.7}/tests/models/cassettes/test_openai/test_image_as_binary_content_input.yaml +0 -0
  143. {pydantic_ai-0.2.6 → pydantic_ai-0.2.7}/tests/models/cassettes/test_openai/test_image_as_binary_content_tool_response.yaml +0 -0
  144. {pydantic_ai-0.2.6 → pydantic_ai-0.2.7}/tests/models/cassettes/test_openai/test_image_url_tool_response.yaml +0 -0
  145. {pydantic_ai-0.2.6 → pydantic_ai-0.2.7}/tests/models/cassettes/test_openai/test_max_completion_tokens[gpt-4.5-preview].yaml +0 -0
  146. {pydantic_ai-0.2.6 → pydantic_ai-0.2.7}/tests/models/cassettes/test_openai/test_max_completion_tokens[gpt-4o-mini].yaml +0 -0
  147. {pydantic_ai-0.2.6 → pydantic_ai-0.2.7}/tests/models/cassettes/test_openai/test_max_completion_tokens[o3-mini].yaml +0 -0
  148. {pydantic_ai-0.2.6 → pydantic_ai-0.2.7}/tests/models/cassettes/test_openai/test_multiple_agent_tool_calls.yaml +0 -0
  149. {pydantic_ai-0.2.6 → pydantic_ai-0.2.7}/tests/models/cassettes/test_openai/test_openai_audio_url_input.yaml +0 -0
  150. {pydantic_ai-0.2.6 → pydantic_ai-0.2.7}/tests/models/cassettes/test_openai/test_openai_instructions.yaml +0 -0
  151. {pydantic_ai-0.2.6 → pydantic_ai-0.2.7}/tests/models/cassettes/test_openai/test_openai_instructions_with_tool_calls_keep_instructions.yaml +0 -0
  152. {pydantic_ai-0.2.6 → pydantic_ai-0.2.7}/tests/models/cassettes/test_openai/test_openai_model_without_system_prompt.yaml +0 -0
  153. {pydantic_ai-0.2.6 → pydantic_ai-0.2.7}/tests/models/cassettes/test_openai/test_openai_o1_mini_system_role[developer].yaml +0 -0
  154. {pydantic_ai-0.2.6 → pydantic_ai-0.2.7}/tests/models/cassettes/test_openai/test_openai_o1_mini_system_role[system].yaml +0 -0
  155. {pydantic_ai-0.2.6 → pydantic_ai-0.2.7}/tests/models/cassettes/test_openai/test_user_id.yaml +0 -0
  156. {pydantic_ai-0.2.6 → pydantic_ai-0.2.7}/tests/models/cassettes/test_openai_responses/test_audio_as_binary_content_input.yaml +0 -0
  157. {pydantic_ai-0.2.6 → pydantic_ai-0.2.7}/tests/models/cassettes/test_openai_responses/test_image_as_binary_content_input.yaml +0 -0
  158. {pydantic_ai-0.2.6 → pydantic_ai-0.2.7}/tests/models/cassettes/test_openai_responses/test_image_as_binary_content_tool_response.yaml +0 -0
  159. {pydantic_ai-0.2.6 → pydantic_ai-0.2.7}/tests/models/cassettes/test_openai_responses/test_openai_responses_document_as_binary_content_input.yaml +0 -0
  160. {pydantic_ai-0.2.6 → pydantic_ai-0.2.7}/tests/models/cassettes/test_openai_responses/test_openai_responses_document_url_input.yaml +0 -0
  161. {pydantic_ai-0.2.6 → pydantic_ai-0.2.7}/tests/models/cassettes/test_openai_responses/test_openai_responses_image_url_input.yaml +0 -0
  162. {pydantic_ai-0.2.6 → pydantic_ai-0.2.7}/tests/models/cassettes/test_openai_responses/test_openai_responses_model_builtin_tools.yaml +0 -0
  163. {pydantic_ai-0.2.6 → pydantic_ai-0.2.7}/tests/models/cassettes/test_openai_responses/test_openai_responses_model_http_error.yaml +0 -0
  164. {pydantic_ai-0.2.6 → pydantic_ai-0.2.7}/tests/models/cassettes/test_openai_responses/test_openai_responses_model_instructions.yaml +0 -0
  165. {pydantic_ai-0.2.6 → pydantic_ai-0.2.7}/tests/models/cassettes/test_openai_responses/test_openai_responses_model_retry.yaml +0 -0
  166. {pydantic_ai-0.2.6 → pydantic_ai-0.2.7}/tests/models/cassettes/test_openai_responses/test_openai_responses_model_simple_response.yaml +0 -0
  167. {pydantic_ai-0.2.6 → pydantic_ai-0.2.7}/tests/models/cassettes/test_openai_responses/test_openai_responses_model_simple_response_with_tool_call.yaml +0 -0
  168. {pydantic_ai-0.2.6 → pydantic_ai-0.2.7}/tests/models/cassettes/test_openai_responses/test_openai_responses_output_type.yaml +0 -0
  169. {pydantic_ai-0.2.6 → pydantic_ai-0.2.7}/tests/models/cassettes/test_openai_responses/test_openai_responses_reasoning_effort.yaml +0 -0
  170. {pydantic_ai-0.2.6 → pydantic_ai-0.2.7}/tests/models/cassettes/test_openai_responses/test_openai_responses_reasoning_generate_summary.yaml +0 -0
  171. {pydantic_ai-0.2.6 → pydantic_ai-0.2.7}/tests/models/cassettes/test_openai_responses/test_openai_responses_stream.yaml +0 -0
  172. {pydantic_ai-0.2.6 → pydantic_ai-0.2.7}/tests/models/cassettes/test_openai_responses/test_openai_responses_system_prompt.yaml +0 -0
  173. {pydantic_ai-0.2.6 → pydantic_ai-0.2.7}/tests/models/cassettes/test_openai_responses/test_openai_responses_text_document_url_input.yaml +0 -0
  174. {pydantic_ai-0.2.6 → pydantic_ai-0.2.7}/tests/models/mock_async_stream.py +0 -0
  175. {pydantic_ai-0.2.6 → pydantic_ai-0.2.7}/tests/models/test_cohere.py +0 -0
  176. {pydantic_ai-0.2.6 → pydantic_ai-0.2.7}/tests/models/test_fallback.py +0 -0
  177. {pydantic_ai-0.2.6 → pydantic_ai-0.2.7}/tests/models/test_gemini.py +0 -0
  178. {pydantic_ai-0.2.6 → pydantic_ai-0.2.7}/tests/models/test_google.py +0 -0
  179. {pydantic_ai-0.2.6 → pydantic_ai-0.2.7}/tests/models/test_instrumented.py +0 -0
  180. {pydantic_ai-0.2.6 → pydantic_ai-0.2.7}/tests/models/test_mistral.py +0 -0
  181. {pydantic_ai-0.2.6 → pydantic_ai-0.2.7}/tests/models/test_model.py +0 -0
  182. {pydantic_ai-0.2.6 → pydantic_ai-0.2.7}/tests/models/test_model_names.py +0 -0
  183. {pydantic_ai-0.2.6 → pydantic_ai-0.2.7}/tests/models/test_model_request_parameters.py +0 -0
  184. {pydantic_ai-0.2.6 → pydantic_ai-0.2.7}/tests/models/test_model_test.py +0 -0
  185. {pydantic_ai-0.2.6 → pydantic_ai-0.2.7}/tests/models/test_openai_responses.py +0 -0
  186. {pydantic_ai-0.2.6 → pydantic_ai-0.2.7}/tests/providers/__init__.py +0 -0
  187. {pydantic_ai-0.2.6 → pydantic_ai-0.2.7}/tests/providers/cassettes/test_azure/test_azure_provider_call.yaml +0 -0
  188. {pydantic_ai-0.2.6 → pydantic_ai-0.2.7}/tests/providers/cassettes/test_google_vertex/test_vertexai_provider.yaml +0 -0
  189. {pydantic_ai-0.2.6 → pydantic_ai-0.2.7}/tests/providers/cassettes/test_openrouter/test_openrouter_with_google_model.yaml +0 -0
  190. {pydantic_ai-0.2.6 → pydantic_ai-0.2.7}/tests/providers/test_anthropic.py +0 -0
  191. {pydantic_ai-0.2.6 → pydantic_ai-0.2.7}/tests/providers/test_azure.py +0 -0
  192. {pydantic_ai-0.2.6 → pydantic_ai-0.2.7}/tests/providers/test_bedrock.py +0 -0
  193. {pydantic_ai-0.2.6 → pydantic_ai-0.2.7}/tests/providers/test_cohere.py +0 -0
  194. {pydantic_ai-0.2.6 → pydantic_ai-0.2.7}/tests/providers/test_deepseek.py +0 -0
  195. {pydantic_ai-0.2.6 → pydantic_ai-0.2.7}/tests/providers/test_google_gla.py +0 -0
  196. {pydantic_ai-0.2.6 → pydantic_ai-0.2.7}/tests/providers/test_google_vertex.py +0 -0
  197. {pydantic_ai-0.2.6 → pydantic_ai-0.2.7}/tests/providers/test_groq.py +0 -0
  198. {pydantic_ai-0.2.6 → pydantic_ai-0.2.7}/tests/providers/test_mistral.py +0 -0
  199. {pydantic_ai-0.2.6 → pydantic_ai-0.2.7}/tests/providers/test_openai.py +0 -0
  200. {pydantic_ai-0.2.6 → pydantic_ai-0.2.7}/tests/providers/test_openrouter.py +0 -0
  201. {pydantic_ai-0.2.6 → pydantic_ai-0.2.7}/tests/providers/test_provider_names.py +0 -0
  202. {pydantic_ai-0.2.6 → pydantic_ai-0.2.7}/tests/test_a2a.py +0 -0
  203. {pydantic_ai-0.2.6 → pydantic_ai-0.2.7}/tests/test_agent.py +0 -0
  204. {pydantic_ai-0.2.6 → pydantic_ai-0.2.7}/tests/test_cli.py +0 -0
  205. {pydantic_ai-0.2.6 → pydantic_ai-0.2.7}/tests/test_deps.py +0 -0
  206. {pydantic_ai-0.2.6 → pydantic_ai-0.2.7}/tests/test_direct.py +0 -0
  207. {pydantic_ai-0.2.6 → pydantic_ai-0.2.7}/tests/test_examples.py +0 -0
  208. {pydantic_ai-0.2.6 → pydantic_ai-0.2.7}/tests/test_format_as_xml.py +0 -0
  209. {pydantic_ai-0.2.6 → pydantic_ai-0.2.7}/tests/test_json_body_serializer.py +0 -0
  210. {pydantic_ai-0.2.6 → pydantic_ai-0.2.7}/tests/test_live.py +0 -0
  211. {pydantic_ai-0.2.6 → pydantic_ai-0.2.7}/tests/test_logfire.py +0 -0
  212. {pydantic_ai-0.2.6 → pydantic_ai-0.2.7}/tests/test_messages.py +0 -0
  213. {pydantic_ai-0.2.6 → pydantic_ai-0.2.7}/tests/test_settings.py +0 -0
  214. {pydantic_ai-0.2.6 → pydantic_ai-0.2.7}/tests/test_streaming.py +0 -0
  215. {pydantic_ai-0.2.6 → pydantic_ai-0.2.7}/tests/test_usage_limits.py +0 -0
  216. {pydantic_ai-0.2.6 → pydantic_ai-0.2.7}/tests/test_utils.py +0 -0
  217. {pydantic_ai-0.2.6 → pydantic_ai-0.2.7}/tests/typed_agent.py +0 -0
  218. {pydantic_ai-0.2.6 → pydantic_ai-0.2.7}/tests/typed_graph.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: pydantic-ai
3
- Version: 0.2.6
3
+ Version: 0.2.7
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,9 +28,9 @@ 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[a2a,anthropic,bedrock,cli,cohere,evals,google,groq,mcp,mistral,openai,vertexai]==0.2.6
31
+ Requires-Dist: pydantic-ai-slim[a2a,anthropic,bedrock,cli,cohere,evals,google,groq,mcp,mistral,openai,vertexai]==0.2.7
32
32
  Provides-Extra: examples
33
- Requires-Dist: pydantic-ai-examples==0.2.6; extra == 'examples'
33
+ Requires-Dist: pydantic-ai-examples==0.2.7; extra == 'examples'
34
34
  Provides-Extra: logfire
35
35
  Requires-Dist: logfire>=3.11.0; extra == 'logfire'
36
36
  Description-Content-Type: text/markdown
@@ -52,6 +52,7 @@ Description-Content-Type: text/markdown
52
52
  <a href="https://pypi.python.org/pypi/pydantic-ai"><img src="https://img.shields.io/pypi/v/pydantic-ai.svg" alt="PyPI"></a>
53
53
  <a href="https://github.com/pydantic/pydantic-ai"><img src="https://img.shields.io/pypi/pyversions/pydantic-ai.svg" alt="versions"></a>
54
54
  <a href="https://github.com/pydantic/pydantic-ai/blob/main/LICENSE"><img src="https://img.shields.io/github/license/pydantic/pydantic-ai.svg?v" alt="license"></a>
55
+ <a href="https://logfire.pydantic.dev/docs/join-slack/"><img src="https://img.shields.io/badge/Slack-Join%20Slack-4A154B?logo=slack" alt="Join Slack" /></a>
55
56
  </div>
56
57
 
57
58
  ---
@@ -15,6 +15,7 @@
15
15
  <a href="https://pypi.python.org/pypi/pydantic-ai"><img src="https://img.shields.io/pypi/v/pydantic-ai.svg" alt="PyPI"></a>
16
16
  <a href="https://github.com/pydantic/pydantic-ai"><img src="https://img.shields.io/pypi/pyversions/pydantic-ai.svg" alt="versions"></a>
17
17
  <a href="https://github.com/pydantic/pydantic-ai/blob/main/LICENSE"><img src="https://img.shields.io/github/license/pydantic/pydantic-ai.svg?v" alt="license"></a>
18
+ <a href="https://logfire.pydantic.dev/docs/join-slack/"><img src="https://img.shields.io/badge/Slack-Join%20Slack-4A154B?logo=slack" alt="Join Slack" /></a>
18
19
  </div>
19
20
 
20
21
  ---
@@ -25,22 +25,24 @@ interactions:
25
25
  stop_sequences:
26
26
  - Paris
27
27
  stream: false
28
- uri: https://api.anthropic.com/v1/messages
28
+ uri: https://api.anthropic.com/v1/messages?beta=true
29
29
  response:
30
30
  headers:
31
31
  connection:
32
32
  - keep-alive
33
33
  content-length:
34
- - '333'
34
+ - '359'
35
35
  content-type:
36
36
  - application/json
37
+ strict-transport-security:
38
+ - max-age=31536000; includeSubDomains; preload
37
39
  transfer-encoding:
38
40
  - chunked
39
41
  parsed_body:
40
42
  content:
41
43
  - text: 'The capital of France is '
42
44
  type: text
43
- id: msg_01FfkgikmbDFzn9XE1YYkJmA
45
+ id: msg_01SVFZqkSLhUPkAA4w6rhzFD
44
46
  model: claude-3-5-sonnet-20241022
45
47
  role: assistant
46
48
  stop_reason: stop_sequence
@@ -51,6 +53,7 @@ interactions:
51
53
  cache_read_input_tokens: 0
52
54
  input_tokens: 14
53
55
  output_tokens: 6
56
+ service_tier: standard
54
57
  status:
55
58
  code: 200
56
59
  message: OK
@@ -8,7 +8,7 @@ interactions:
8
8
  connection:
9
9
  - keep-alive
10
10
  content-length:
11
- - '202'
11
+ - '206'
12
12
  content-type:
13
13
  - application/json
14
14
  host:
@@ -23,23 +23,27 @@ interactions:
23
23
  role: user
24
24
  model: claude-3-opus-latest
25
25
  stream: false
26
- system: You are a helpful assistant.
27
- uri: https://api.anthropic.com/v1/messages
26
+ system: |+
27
+ You are a helpful assistant.
28
+
29
+ uri: https://api.anthropic.com/v1/messages?beta=true
28
30
  response:
29
31
  headers:
30
32
  connection:
31
33
  - keep-alive
32
34
  content-length:
33
- - '328'
35
+ - '354'
34
36
  content-type:
35
37
  - application/json
38
+ strict-transport-security:
39
+ - max-age=31536000; includeSubDomains; preload
36
40
  transfer-encoding:
37
41
  - chunked
38
42
  parsed_body:
39
43
  content:
40
44
  - text: The capital of France is Paris.
41
45
  type: text
42
- id: msg_01U58nruzfn9BrXrrF2hhb4m
46
+ id: msg_01BznVNBje2zyfpCfNQCD5en
43
47
  model: claude-3-opus-20240229
44
48
  role: assistant
45
49
  stop_reason: end_turn
@@ -50,7 +54,9 @@ interactions:
50
54
  cache_read_input_tokens: 0
51
55
  input_tokens: 20
52
56
  output_tokens: 10
57
+ service_tier: standard
53
58
  status:
54
59
  code: 200
55
60
  message: OK
56
61
  version: 1
62
+ ...
@@ -28,23 +28,24 @@ interactions:
28
28
  role: user
29
29
  model: claude-3-5-sonnet-latest
30
30
  stream: false
31
- uri: https://api.anthropic.com/v1/messages
31
+ uri: https://api.anthropic.com/v1/messages?beta=true
32
32
  response:
33
33
  headers:
34
34
  connection:
35
35
  - keep-alive
36
36
  content-length:
37
- - '502'
37
+ - '433'
38
38
  content-type:
39
39
  - application/json
40
+ strict-transport-security:
41
+ - max-age=31536000; includeSubDomains; preload
40
42
  transfer-encoding:
41
43
  - chunked
42
44
  parsed_body:
43
45
  content:
44
- - text: The document appears to be a simple PDF file with only the text "Dummy PDF file" displayed at the top. It appears
45
- to be mostly blank otherwise, likely serving as a template or placeholder document.
46
+ - text: The document shows only the text "Dummy PDF file" at the top of what appears to be a blank white page.
46
47
  type: text
47
- id: msg_01MV5d7ebPBUzPV5DerCiRFS
48
+ id: msg_01Jr6x34UmKgzgrJE96jaYpm
48
49
  model: claude-3-5-sonnet-20241022
49
50
  role: assistant
50
51
  stop_reason: end_turn
@@ -54,7 +55,8 @@ interactions:
54
55
  cache_creation_input_tokens: 0
55
56
  cache_read_input_tokens: 0
56
57
  input_tokens: 1615
57
- output_tokens: 44
58
+ output_tokens: 28
59
+ service_tier: standard
58
60
  status:
59
61
  code: 200
60
62
  message: OK
@@ -27,26 +27,28 @@ interactions:
27
27
  role: user
28
28
  model: claude-3-5-sonnet-latest
29
29
  stream: false
30
- uri: https://api.anthropic.com/v1/messages
30
+ uri: https://api.anthropic.com/v1/messages?beta=true
31
31
  response:
32
32
  headers:
33
33
  connection:
34
34
  - keep-alive
35
35
  content-length:
36
- - '795'
36
+ - '813'
37
37
  content-type:
38
38
  - application/json
39
+ strict-transport-security:
40
+ - max-age=31536000; includeSubDomains; preload
39
41
  transfer-encoding:
40
42
  - chunked
41
43
  parsed_body:
42
44
  content:
43
- - text: This document appears to be a sample PDF file that primarily contains Lorem ipsum text, which is placeholder
44
- text commonly used in design and publishing. The document begins with "Sample PDF" and states "This is a simple
45
- PDF file. Fun fun fun." followed by several paragraphs of Lorem ipsum text. The content doesn't convey any meaningful
46
- information as Lorem ipsum is essentially dummy text used to demonstrate the visual form of a document without the
47
- distraction of meaningful content.
45
+ - text: This document appears to be a sample PDF file that contains Lorem ipsum text, which is placeholder text commonly
46
+ used in design and publishing. The document starts with "Sample PDF" and includes the line "This is a simple PDF
47
+ file. Fun fun fun." followed by several paragraphs of Lorem ipsum text. Lorem ipsum is dummy text that has no meaningful
48
+ content - it's typically used to demonstrate the visual form of a document or typeface without the distraction of
49
+ meaningful content.
48
50
  type: text
49
- id: msg_0146LphUoRKNWvDULHuTfu4H
51
+ id: msg_015t94iUurjyZ7Jvi7kvDe5b
50
52
  model: claude-3-5-sonnet-20241022
51
53
  role: assistant
52
54
  stop_reason: end_turn
@@ -56,7 +58,8 @@ interactions:
56
58
  cache_creation_input_tokens: 0
57
59
  cache_read_input_tokens: 0
58
60
  input_tokens: 2682
59
- output_tokens: 96
61
+ output_tokens: 98
62
+ service_tier: standard
60
63
  status:
61
64
  code: 200
62
65
  message: OK
@@ -8,13 +8,13 @@ interactions:
8
8
  connection:
9
9
  - keep-alive
10
10
  content-length:
11
- - '202'
11
+ - '169'
12
12
  content-type:
13
13
  - application/json
14
+ extra-header-key:
15
+ - Extra-Header-Value
14
16
  host:
15
17
  - api.anthropic.com
16
- xProxy-Limit-IDs:
17
- - monthly_budget
18
18
  method: POST
19
19
  parsed_body:
20
20
  max_tokens: 1024
@@ -23,25 +23,29 @@ interactions:
23
23
  - text: hello
24
24
  type: text
25
25
  role: user
26
- model: claude-3-opus-latest
26
+ metadata:
27
+ user_id: '123'
28
+ model: claude-3-5-haiku-latest
27
29
  stream: false
28
- uri: https://api.anthropic.com/v1/messages
30
+ uri: https://api.anthropic.com/v1/messages?beta=true
29
31
  response:
30
32
  headers:
31
33
  connection:
32
34
  - keep-alive
33
35
  content-length:
34
- - '328'
36
+ - '398'
35
37
  content-type:
36
38
  - application/json
39
+ strict-transport-security:
40
+ - max-age=31536000; includeSubDomains; preload
37
41
  transfer-encoding:
38
42
  - chunked
39
43
  parsed_body:
40
44
  content:
41
- - text: Hello! How can I assist you today?
45
+ - text: Hi there! How are you doing today? Is there anything I can help you with?
42
46
  type: text
43
- id: msg_01U58nruzfn9BrXrrF2hhb4m
44
- model: claude-3-5-haiku-latest
47
+ id: msg_016xQfqVwNtY1LLF1xHTN5Sk
48
+ model: claude-3-5-haiku-20241022
45
49
  role: assistant
46
50
  stop_reason: end_turn
47
51
  stop_sequence: null
@@ -49,8 +53,9 @@ interactions:
49
53
  usage:
50
54
  cache_creation_input_tokens: 0
51
55
  cache_read_input_tokens: 0
52
- input_tokens: 20
53
- output_tokens: 10
56
+ input_tokens: 8
57
+ output_tokens: 21
58
+ service_tier: standard
54
59
  status:
55
60
  code: 200
56
61
  message: OK
@@ -32,26 +32,28 @@ interactions:
32
32
  properties: {}
33
33
  type: object
34
34
  name: get_image
35
- uri: https://api.anthropic.com/v1/messages
35
+ uri: https://api.anthropic.com/v1/messages?beta=true
36
36
  response:
37
37
  headers:
38
38
  connection:
39
39
  - keep-alive
40
40
  content-length:
41
- - '441'
41
+ - '447'
42
42
  content-type:
43
43
  - application/json
44
+ strict-transport-security:
45
+ - max-age=31536000; includeSubDomains; preload
44
46
  transfer-encoding:
45
47
  - chunked
46
48
  parsed_body:
47
49
  content:
48
- - text: Let me get the image and check what fruit is shown.
50
+ - text: Let me get the image and check.
49
51
  type: text
50
- - id: toolu_01VMGXdexE1Fy5xdWgoom9Te
52
+ - id: toolu_01YJiJ82nETV7aRdJr9f6Np7
51
53
  input: {}
52
54
  name: get_image
53
55
  type: tool_use
54
- id: msg_01BPu4UTHXhqtR1TvsRhBLYY
56
+ id: msg_01CC59GmUmYXKCV26rHfr32m
55
57
  model: claude-3-5-sonnet-20241022
56
58
  role: assistant
57
59
  stop_reason: tool_use
@@ -61,7 +63,8 @@ interactions:
61
63
  cache_creation_input_tokens: 0
62
64
  cache_read_input_tokens: 0
63
65
  input_tokens: 372
64
- output_tokens: 49
66
+ output_tokens: 45
67
+ service_tier: standard
65
68
  status:
66
69
  code: 200
67
70
  message: OK
@@ -74,7 +77,7 @@ interactions:
74
77
  connection:
75
78
  - keep-alive
76
79
  content-length:
77
- - '2780301'
80
+ - '2780281'
78
81
  content-type:
79
82
  - application/json
80
83
  host:
@@ -88,9 +91,9 @@ interactions:
88
91
  type: text
89
92
  role: user
90
93
  - content:
91
- - text: Let me get the image and check what fruit is shown.
94
+ - text: Let me get the image and check.
92
95
  type: text
93
- - id: toolu_01VMGXdexE1Fy5xdWgoom9Te
96
+ - id: toolu_01YJiJ82nETV7aRdJr9f6Np7
94
97
  input: {}
95
98
  name: get_image
96
99
  type: tool_use
@@ -98,7 +101,7 @@ interactions:
98
101
  - content:
99
102
  - content: See file 1c8566
100
103
  is_error: false
101
- tool_use_id: toolu_01VMGXdexE1Fy5xdWgoom9Te
104
+ tool_use_id: toolu_01YJiJ82nETV7aRdJr9f6Np7
102
105
  type: tool_result
103
106
  - text: 'This is file 1c8566:'
104
107
  type: text
@@ -119,24 +122,26 @@ interactions:
119
122
  properties: {}
120
123
  type: object
121
124
  name: get_image
122
- uri: https://api.anthropic.com/v1/messages
125
+ uri: https://api.anthropic.com/v1/messages?beta=true
123
126
  response:
124
127
  headers:
125
128
  connection:
126
129
  - keep-alive
127
130
  content-length:
128
- - '559'
131
+ - '592'
129
132
  content-type:
130
133
  - application/json
134
+ strict-transport-security:
135
+ - max-age=31536000; includeSubDomains; preload
131
136
  transfer-encoding:
132
137
  - chunked
133
138
  parsed_body:
134
139
  content:
135
140
  - text: The image shows a kiwi fruit that has been cut in half, displaying its characteristic bright green flesh with
136
- small black seeds arranged in a circular pattern around a white center core. The kiwi's fuzzy brown skin is visible
137
- around the edges of the slice.
141
+ small black seeds arranged in a circular pattern around a white center core. The fruit's thin, fuzzy brown skin
142
+ is visible around the edges of the slice.
138
143
  type: text
139
- id: msg_01Ua6uyZUF15YV3G1PusaqSq
144
+ id: msg_014MJqSsWD1pUC23Vvi57LoY
140
145
  model: claude-3-5-sonnet-20241022
141
146
  role: assistant
142
147
  stop_reason: end_turn
@@ -145,8 +150,9 @@ interactions:
145
150
  usage:
146
151
  cache_creation_input_tokens: 0
147
152
  cache_read_input_tokens: 0
148
- input_tokens: 2025
153
+ input_tokens: 2021
149
154
  output_tokens: 57
155
+ service_tier: standard
150
156
  status:
151
157
  code: 200
152
158
  message: OK
@@ -27,25 +27,27 @@ interactions:
27
27
  role: user
28
28
  model: claude-3-5-haiku-latest
29
29
  stream: false
30
- uri: https://api.anthropic.com/v1/messages
30
+ uri: https://api.anthropic.com/v1/messages?beta=true
31
31
  response:
32
32
  headers:
33
33
  connection:
34
34
  - keep-alive
35
35
  content-length:
36
- - '660'
36
+ - '736'
37
37
  content-type:
38
38
  - application/json
39
+ strict-transport-security:
40
+ - max-age=31536000; includeSubDomains; preload
39
41
  transfer-encoding:
40
42
  - chunked
41
43
  parsed_body:
42
44
  content:
43
- - text: This is a potato. It's a yellow-brown, oblong-shaped potato with a smooth skin and some small eyes or blemishes
44
- visible on its surface. Potatoes are starchy root vegetables that are a staple food in many cuisines around the
45
- world. They can be prepared in numerous ways, such as boiling, baking, frying, or mashing, and are rich in carbohydrates
46
- and nutrients.
45
+ - text: This is a potato. It's a yellow/golden-colored potato with a characteristic oblong, slightly irregular shape
46
+ and a skin covered in small eyes or indentations. Potatoes are a starchy root vegetable that belongs to the nightshade
47
+ family and are a staple food in many cuisines around the world. This particular potato looks like it's in good condition,
48
+ with a smooth, unblemished skin and a uniform yellow color.
47
49
  type: text
48
- id: msg_01WCNHqrhEGCXhoC4G1ojDHN
50
+ id: msg_01ARmKzMzXFrmzKbSgShSuGw
49
51
  model: claude-3-5-haiku-20241022
50
52
  role: assistant
51
53
  stop_reason: end_turn
@@ -55,7 +57,8 @@ interactions:
55
57
  cache_creation_input_tokens: 0
56
58
  cache_read_input_tokens: 0
57
59
  input_tokens: 296
58
- output_tokens: 93
60
+ output_tokens: 95
61
+ service_tier: standard
59
62
  status:
60
63
  code: 200
61
64
  message: OK
@@ -0,0 +1,67 @@
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
+ - '385'
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 animal is this?
22
+ type: text
23
+ - source:
24
+ type: url
25
+ url: https://lh3.googleusercontent.com/proxy/YngsuS8jQJysXxeucAgVBcSgIdwZlSQ-HvsNxGjHS0SrUKXI161bNKh6SOcMsNUGsnxoOrS3AYX--MT4T3S3SoCgSD1xKrtBwwItcgexaX_7W-qHo-VupmYgjjzWO-BuORLp9-pj8Kjr
26
+ type: image
27
+ role: user
28
+ model: claude-3-5-haiku-latest
29
+ stream: false
30
+ uri: https://api.anthropic.com/v1/messages?beta=true
31
+ response:
32
+ headers:
33
+ connection:
34
+ - keep-alive
35
+ content-length:
36
+ - '931'
37
+ content-type:
38
+ - application/json
39
+ strict-transport-security:
40
+ - max-age=31536000; includeSubDomains; preload
41
+ transfer-encoding:
42
+ - chunked
43
+ parsed_body:
44
+ content:
45
+ - text: This is a Great Horned Owl (Bubo virginianus), a large and powerful owl species native to the Americas. The
46
+ owl is shown sitting on a branch surrounded by yellow-green foliage, with its distinctive mottled gray-brown feathers
47
+ and prominent ear tufts (often called "horns"). It has striking yellow eyes that are looking directly at the camera,
48
+ giving it an intense and alert appearance. Great Horned Owls are known for their excellent camouflage, powerful
49
+ talons, and nocturnal hunting habits. They are widespread across North and South America and are one of the most
50
+ common and adaptable owl species.
51
+ type: text
52
+ id: msg_012D6XGmU2dfH7Qu5oKWV1cf
53
+ model: claude-3-5-haiku-20241022
54
+ role: assistant
55
+ stop_reason: end_turn
56
+ stop_sequence: null
57
+ type: message
58
+ usage:
59
+ cache_creation_input_tokens: 0
60
+ cache_read_input_tokens: 0
61
+ input_tokens: 335
62
+ output_tokens: 141
63
+ service_tier: standard
64
+ status:
65
+ code: 200
66
+ message: OK
67
+ version: 1