pydantic-ai 0.7.1__tar.gz → 0.7.3__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.
- {pydantic_ai-0.7.1 → pydantic_ai-0.7.3}/PKG-INFO +3 -3
- {pydantic_ai-0.7.1 → pydantic_ai-0.7.3}/tests/conftest.py +19 -0
- {pydantic_ai-0.7.1 → pydantic_ai-0.7.3}/tests/evals/test_otel.py +0 -10
- {pydantic_ai-0.7.1 → pydantic_ai-0.7.3}/tests/models/cassettes/test_anthropic/test_anthropic_code_execution_tool.yaml +12 -9
- {pydantic_ai-0.7.1 → pydantic_ai-0.7.3}/tests/models/cassettes/test_anthropic/test_anthropic_model_empty_message_on_history.yaml +12 -9
- {pydantic_ai-0.7.1 → pydantic_ai-0.7.3}/tests/models/cassettes/test_anthropic/test_anthropic_model_instructions.yaml +6 -3
- pydantic_ai-0.7.3/tests/models/cassettes/test_anthropic/test_anthropic_model_thinking_part.yaml +255 -0
- pydantic_ai-0.7.3/tests/models/cassettes/test_anthropic/test_anthropic_model_thinking_part_stream.yaml +270 -0
- {pydantic_ai-0.7.1 → pydantic_ai-0.7.3}/tests/models/cassettes/test_anthropic/test_anthropic_prompted_output.yaml +15 -9
- {pydantic_ai-0.7.1 → pydantic_ai-0.7.3}/tests/models/cassettes/test_anthropic/test_anthropic_prompted_output_multiple.yaml +9 -6
- pydantic_ai-0.7.3/tests/models/cassettes/test_anthropic/test_anthropic_server_tool_pass_history_to_another_provider.yaml +301 -0
- {pydantic_ai-0.7.1 → pydantic_ai-0.7.3}/tests/models/cassettes/test_anthropic/test_anthropic_server_tool_receive_history_from_another_provider.yaml +21 -18
- {pydantic_ai-0.7.1 → pydantic_ai-0.7.3}/tests/models/cassettes/test_anthropic/test_anthropic_text_output_function.yaml +24 -19
- {pydantic_ai-0.7.1 → pydantic_ai-0.7.3}/tests/models/cassettes/test_anthropic/test_anthropic_tool_output.yaml +16 -10
- {pydantic_ai-0.7.1 → pydantic_ai-0.7.3}/tests/models/cassettes/test_anthropic/test_anthropic_tool_with_thinking.yaml +26 -19
- pydantic_ai-0.7.3/tests/models/cassettes/test_anthropic/test_anthropic_web_search_tool.yaml +187 -0
- pydantic_ai-0.7.3/tests/models/cassettes/test_anthropic/test_anthropic_web_search_tool_stream.yaml +230 -0
- {pydantic_ai-0.7.1 → pydantic_ai-0.7.3}/tests/models/cassettes/test_anthropic/test_document_binary_content_input.yaml +7 -4
- {pydantic_ai-0.7.1 → pydantic_ai-0.7.3}/tests/models/cassettes/test_anthropic/test_document_url_input.yaml +12 -9
- {pydantic_ai-0.7.1 → pydantic_ai-0.7.3}/tests/models/cassettes/test_anthropic/test_extra_headers.yaml +6 -3
- {pydantic_ai-0.7.1 → pydantic_ai-0.7.3}/tests/models/cassettes/test_anthropic/test_image_as_binary_content_tool_response.yaml +24 -17
- {pydantic_ai-0.7.1 → pydantic_ai-0.7.3}/tests/models/cassettes/test_anthropic/test_image_url_input.yaml +11 -8
- {pydantic_ai-0.7.1 → pydantic_ai-0.7.3}/tests/models/cassettes/test_anthropic/test_image_url_input_invalid_mime_type.yaml +12 -9
- {pydantic_ai-0.7.1 → pydantic_ai-0.7.3}/tests/models/cassettes/test_anthropic/test_multiple_parallel_tool_calls.yaml +39 -27
- {pydantic_ai-0.7.1 → pydantic_ai-0.7.3}/tests/models/cassettes/test_anthropic/test_text_document_url_input.yaml +13 -20
- {pydantic_ai-0.7.1 → pydantic_ai-0.7.3}/tests/models/cassettes/test_model_names/test_known_model_names.yaml +0 -4
- pydantic_ai-0.7.3/tests/models/cassettes/test_openai/test_system_prompt_role_o1_mini.yaml +80 -0
- {pydantic_ai-0.7.1 → pydantic_ai-0.7.3}/tests/models/test_anthropic.py +395 -414
- {pydantic_ai-0.7.1 → pydantic_ai-0.7.3}/tests/models/test_bedrock.py +19 -13
- {pydantic_ai-0.7.1 → pydantic_ai-0.7.3}/tests/models/test_cohere.py +18 -49
- {pydantic_ai-0.7.1 → pydantic_ai-0.7.3}/tests/models/test_deepseek.py +6 -9
- {pydantic_ai-0.7.1 → pydantic_ai-0.7.3}/tests/models/test_fallback.py +13 -13
- {pydantic_ai-0.7.1 → pydantic_ai-0.7.3}/tests/models/test_gemini.py +140 -161
- {pydantic_ai-0.7.1 → pydantic_ai-0.7.3}/tests/models/test_gemini_vertex.py +7 -7
- {pydantic_ai-0.7.1 → pydantic_ai-0.7.3}/tests/models/test_google.py +136 -170
- {pydantic_ai-0.7.1 → pydantic_ai-0.7.3}/tests/models/test_groq.py +26 -30
- {pydantic_ai-0.7.1 → pydantic_ai-0.7.3}/tests/models/test_huggingface.py +50 -49
- {pydantic_ai-0.7.1 → pydantic_ai-0.7.3}/tests/models/test_instrumented.py +3 -3
- {pydantic_ai-0.7.1 → pydantic_ai-0.7.3}/tests/models/test_mcp_sampling.py +0 -5
- {pydantic_ai-0.7.1 → pydantic_ai-0.7.3}/tests/models/test_mistral.py +109 -139
- {pydantic_ai-0.7.1 → pydantic_ai-0.7.3}/tests/models/test_model.py +1 -1
- {pydantic_ai-0.7.1 → pydantic_ai-0.7.3}/tests/models/test_model_function.py +15 -15
- {pydantic_ai-0.7.1 → pydantic_ai-0.7.3}/tests/models/test_model_names.py +14 -1
- {pydantic_ai-0.7.1 → pydantic_ai-0.7.3}/tests/models/test_model_test.py +5 -5
- {pydantic_ai-0.7.1 → pydantic_ai-0.7.3}/tests/models/test_openai.py +177 -213
- {pydantic_ai-0.7.1 → pydantic_ai-0.7.3}/tests/models/test_openai_responses.py +37 -127
- pydantic_ai-0.7.3/tests/providers/cassettes/test_openrouter/test_openrouter_with_google_model.yaml +64 -0
- {pydantic_ai-0.7.1 → pydantic_ai-0.7.3}/tests/providers/test_bedrock.py +4 -3
- {pydantic_ai-0.7.1 → pydantic_ai-0.7.3}/tests/providers/test_groq.py +4 -2
- {pydantic_ai-0.7.1 → pydantic_ai-0.7.3}/tests/providers/test_huggingface.py +47 -0
- pydantic_ai-0.7.3/tests/providers/test_ollama.py +120 -0
- {pydantic_ai-0.7.1 → pydantic_ai-0.7.3}/tests/providers/test_openrouter.py +8 -0
- {pydantic_ai-0.7.1 → pydantic_ai-0.7.3}/tests/providers/test_provider_names.py +2 -0
- {pydantic_ai-0.7.1 → pydantic_ai-0.7.3}/tests/test_a2a.py +2 -2
- {pydantic_ai-0.7.1 → pydantic_ai-0.7.3}/tests/test_ag_ui.py +1 -12
- {pydantic_ai-0.7.1 → pydantic_ai-0.7.3}/tests/test_agent.py +409 -100
- {pydantic_ai-0.7.1 → pydantic_ai-0.7.3}/tests/test_cli.py +35 -0
- {pydantic_ai-0.7.1 → pydantic_ai-0.7.3}/tests/test_direct.py +4 -4
- {pydantic_ai-0.7.1 → pydantic_ai-0.7.3}/tests/test_history_processor.py +5 -5
- {pydantic_ai-0.7.1 → pydantic_ai-0.7.3}/tests/test_mcp.py +110 -203
- {pydantic_ai-0.7.1 → pydantic_ai-0.7.3}/tests/test_streaming.py +31 -38
- {pydantic_ai-0.7.1 → pydantic_ai-0.7.3}/tests/test_temporal.py +330 -115
- {pydantic_ai-0.7.1 → pydantic_ai-0.7.3}/tests/test_tenacity.py +4 -3
- {pydantic_ai-0.7.1 → pydantic_ai-0.7.3}/tests/test_tools.py +6 -7
- {pydantic_ai-0.7.1 → pydantic_ai-0.7.3}/tests/test_toolsets.py +16 -13
- {pydantic_ai-0.7.1 → pydantic_ai-0.7.3}/tests/test_usage_limits.py +68 -28
- pydantic_ai-0.7.1/tests/models/cassettes/test_anthropic/test_anthropic_model_thinking_part.yaml +0 -230
- pydantic_ai-0.7.1/tests/models/cassettes/test_anthropic/test_anthropic_model_thinking_part_stream.yaml +0 -231
- pydantic_ai-0.7.1/tests/models/cassettes/test_anthropic/test_anthropic_server_tool_pass_history_to_another_provider.yaml +0 -280
- pydantic_ai-0.7.1/tests/models/cassettes/test_anthropic/test_anthropic_web_search_tool.yaml +0 -166
- pydantic_ai-0.7.1/tests/models/cassettes/test_anthropic/test_anthropic_web_search_tool_stream.yaml +0 -250
- pydantic_ai-0.7.1/tests/providers/cassettes/test_openrouter/test_openrouter_with_google_model.yaml +0 -160
- {pydantic_ai-0.7.1 → pydantic_ai-0.7.3}/.gitignore +0 -0
- {pydantic_ai-0.7.1 → pydantic_ai-0.7.3}/LICENSE +0 -0
- {pydantic_ai-0.7.1 → pydantic_ai-0.7.3}/Makefile +0 -0
- {pydantic_ai-0.7.1 → pydantic_ai-0.7.3}/README.md +0 -0
- {pydantic_ai-0.7.1 → pydantic_ai-0.7.3}/pyproject.toml +0 -0
- {pydantic_ai-0.7.1 → pydantic_ai-0.7.3}/tests/__init__.py +0 -0
- {pydantic_ai-0.7.1 → pydantic_ai-0.7.3}/tests/assets/dummy.pdf +0 -0
- {pydantic_ai-0.7.1 → pydantic_ai-0.7.3}/tests/assets/kiwi.png +0 -0
- {pydantic_ai-0.7.1 → pydantic_ai-0.7.3}/tests/assets/marcelo.mp3 +0 -0
- {pydantic_ai-0.7.1 → pydantic_ai-0.7.3}/tests/assets/product_name.txt +0 -0
- {pydantic_ai-0.7.1 → pydantic_ai-0.7.3}/tests/assets/small_video.mp4 +0 -0
- {pydantic_ai-0.7.1 → pydantic_ai-0.7.3}/tests/cassettes/test_mcp/test_agent_with_server_not_running.yaml +0 -0
- {pydantic_ai-0.7.1 → pydantic_ai-0.7.3}/tests/cassettes/test_mcp/test_agent_with_stdio_server.yaml +0 -0
- {pydantic_ai-0.7.1 → pydantic_ai-0.7.3}/tests/cassettes/test_mcp/test_tool_returning_audio_resource.yaml +0 -0
- {pydantic_ai-0.7.1 → pydantic_ai-0.7.3}/tests/cassettes/test_mcp/test_tool_returning_audio_resource_link.yaml +0 -0
- {pydantic_ai-0.7.1 → pydantic_ai-0.7.3}/tests/cassettes/test_mcp/test_tool_returning_dict.yaml +0 -0
- {pydantic_ai-0.7.1 → pydantic_ai-0.7.3}/tests/cassettes/test_mcp/test_tool_returning_error.yaml +0 -0
- {pydantic_ai-0.7.1 → pydantic_ai-0.7.3}/tests/cassettes/test_mcp/test_tool_returning_image.yaml +0 -0
- {pydantic_ai-0.7.1 → pydantic_ai-0.7.3}/tests/cassettes/test_mcp/test_tool_returning_image_resource.yaml +0 -0
- {pydantic_ai-0.7.1 → pydantic_ai-0.7.3}/tests/cassettes/test_mcp/test_tool_returning_image_resource_link.yaml +0 -0
- {pydantic_ai-0.7.1 → pydantic_ai-0.7.3}/tests/cassettes/test_mcp/test_tool_returning_multiple_items.yaml +0 -0
- {pydantic_ai-0.7.1 → pydantic_ai-0.7.3}/tests/cassettes/test_mcp/test_tool_returning_none.yaml +0 -0
- {pydantic_ai-0.7.1 → pydantic_ai-0.7.3}/tests/cassettes/test_mcp/test_tool_returning_str.yaml +0 -0
- {pydantic_ai-0.7.1 → pydantic_ai-0.7.3}/tests/cassettes/test_mcp/test_tool_returning_text_resource.yaml +0 -0
- {pydantic_ai-0.7.1 → pydantic_ai-0.7.3}/tests/cassettes/test_mcp/test_tool_returning_text_resource_link.yaml +0 -0
- {pydantic_ai-0.7.1 → pydantic_ai-0.7.3}/tests/cassettes/test_settings/test_stop_settings[anthropic].yaml +0 -0
- {pydantic_ai-0.7.1 → pydantic_ai-0.7.3}/tests/cassettes/test_settings/test_stop_settings[bedrock].yaml +0 -0
- {pydantic_ai-0.7.1 → pydantic_ai-0.7.3}/tests/cassettes/test_settings/test_stop_settings[cohere].yaml +0 -0
- {pydantic_ai-0.7.1 → pydantic_ai-0.7.3}/tests/cassettes/test_settings/test_stop_settings[gemini].yaml +0 -0
- {pydantic_ai-0.7.1 → pydantic_ai-0.7.3}/tests/cassettes/test_settings/test_stop_settings[google].yaml +0 -0
- {pydantic_ai-0.7.1 → pydantic_ai-0.7.3}/tests/cassettes/test_settings/test_stop_settings[groq].yaml +0 -0
- {pydantic_ai-0.7.1 → pydantic_ai-0.7.3}/tests/cassettes/test_settings/test_stop_settings[mistral].yaml +0 -0
- {pydantic_ai-0.7.1 → pydantic_ai-0.7.3}/tests/cassettes/test_settings/test_stop_settings[openai].yaml +0 -0
- {pydantic_ai-0.7.1 → pydantic_ai-0.7.3}/tests/cassettes/test_temporal/test_complex_agent_run.yaml +0 -0
- {pydantic_ai-0.7.1 → pydantic_ai-0.7.3}/tests/cassettes/test_temporal/test_complex_agent_run_in_workflow.yaml +0 -0
- {pydantic_ai-0.7.1 → pydantic_ai-0.7.3}/tests/cassettes/test_temporal/test_complex_agent_run_stream_in_workflow.yaml +0 -0
- {pydantic_ai-0.7.1 → pydantic_ai-0.7.3}/tests/cassettes/test_temporal/test_logfire_plugin.yaml +0 -0
- {pydantic_ai-0.7.1 → pydantic_ai-0.7.3}/tests/cassettes/test_temporal/test_multiple_agents.yaml +0 -0
- {pydantic_ai-0.7.1 → pydantic_ai-0.7.3}/tests/cassettes/test_temporal/test_simple_agent_run_in_workflow.yaml +0 -0
- {pydantic_ai-0.7.1 → pydantic_ai-0.7.3}/tests/cassettes/test_temporal/test_temporal_agent_iter.yaml +0 -0
- {pydantic_ai-0.7.1 → pydantic_ai-0.7.3}/tests/cassettes/test_temporal/test_temporal_agent_override_deps_in_workflow.yaml +0 -0
- {pydantic_ai-0.7.1 → pydantic_ai-0.7.3}/tests/cassettes/test_temporal/test_temporal_agent_run.yaml +0 -0
- {pydantic_ai-0.7.1 → pydantic_ai-0.7.3}/tests/cassettes/test_temporal/test_temporal_agent_run_stream.yaml +0 -0
- {pydantic_ai-0.7.1 → pydantic_ai-0.7.3}/tests/cassettes/test_temporal/test_temporal_agent_run_sync.yaml +0 -0
- {pydantic_ai-0.7.1 → pydantic_ai-0.7.3}/tests/cassettes/test_temporal/test_temporal_agent_sync_tool_activity_disabled.yaml +0 -0
- {pydantic_ai-0.7.1 → pydantic_ai-0.7.3}/tests/cassettes/test_temporal/test_temporal_agent_with_dataclass_deps_as_dict.yaml +0 -0
- {pydantic_ai-0.7.1 → pydantic_ai-0.7.3}/tests/cassettes/test_temporal/test_temporal_agent_with_non_dict_deps.yaml +0 -0
- {pydantic_ai-0.7.1 → pydantic_ai-0.7.3}/tests/cassettes/test_temporal/test_temporal_agent_with_unserializable_deps_type.yaml +0 -0
- {pydantic_ai-0.7.1 → pydantic_ai-0.7.3}/tests/evals/__init__.py +0 -0
- {pydantic_ai-0.7.1 → pydantic_ai-0.7.3}/tests/evals/test_dataset.py +0 -0
- {pydantic_ai-0.7.1 → pydantic_ai-0.7.3}/tests/evals/test_evaluator_base.py +0 -0
- {pydantic_ai-0.7.1 → pydantic_ai-0.7.3}/tests/evals/test_evaluator_common.py +0 -0
- {pydantic_ai-0.7.1 → pydantic_ai-0.7.3}/tests/evals/test_evaluator_context.py +0 -0
- {pydantic_ai-0.7.1 → pydantic_ai-0.7.3}/tests/evals/test_evaluator_spec.py +0 -0
- {pydantic_ai-0.7.1 → pydantic_ai-0.7.3}/tests/evals/test_evaluators.py +0 -0
- {pydantic_ai-0.7.1 → pydantic_ai-0.7.3}/tests/evals/test_llm_as_a_judge.py +0 -0
- {pydantic_ai-0.7.1 → pydantic_ai-0.7.3}/tests/evals/test_render_numbers.py +0 -0
- {pydantic_ai-0.7.1 → pydantic_ai-0.7.3}/tests/evals/test_reporting.py +0 -0
- {pydantic_ai-0.7.1 → pydantic_ai-0.7.3}/tests/evals/test_reports.py +0 -0
- {pydantic_ai-0.7.1 → pydantic_ai-0.7.3}/tests/evals/test_utils.py +0 -0
- {pydantic_ai-0.7.1 → pydantic_ai-0.7.3}/tests/evals/utils.py +0 -0
- {pydantic_ai-0.7.1 → pydantic_ai-0.7.3}/tests/example_modules/README.md +0 -0
- {pydantic_ai-0.7.1 → pydantic_ai-0.7.3}/tests/example_modules/bank_database.py +0 -0
- {pydantic_ai-0.7.1 → pydantic_ai-0.7.3}/tests/example_modules/fake_database.py +0 -0
- {pydantic_ai-0.7.1 → pydantic_ai-0.7.3}/tests/example_modules/mcp_server.py +0 -0
- {pydantic_ai-0.7.1 → pydantic_ai-0.7.3}/tests/example_modules/weather_service.py +0 -0
- {pydantic_ai-0.7.1 → pydantic_ai-0.7.3}/tests/ext/__init__.py +0 -0
- {pydantic_ai-0.7.1 → pydantic_ai-0.7.3}/tests/ext/test_langchain.py +0 -0
- {pydantic_ai-0.7.1 → pydantic_ai-0.7.3}/tests/graph/__init__.py +0 -0
- {pydantic_ai-0.7.1 → pydantic_ai-0.7.3}/tests/graph/test_file_persistence.py +0 -0
- {pydantic_ai-0.7.1 → pydantic_ai-0.7.3}/tests/graph/test_graph.py +0 -0
- {pydantic_ai-0.7.1 → pydantic_ai-0.7.3}/tests/graph/test_mermaid.py +0 -0
- {pydantic_ai-0.7.1 → pydantic_ai-0.7.3}/tests/graph/test_persistence.py +0 -0
- {pydantic_ai-0.7.1 → pydantic_ai-0.7.3}/tests/graph/test_state.py +0 -0
- {pydantic_ai-0.7.1 → pydantic_ai-0.7.3}/tests/graph/test_utils.py +0 -0
- {pydantic_ai-0.7.1 → pydantic_ai-0.7.3}/tests/import_examples.py +0 -0
- {pydantic_ai-0.7.1 → pydantic_ai-0.7.3}/tests/json_body_serializer.py +0 -0
- {pydantic_ai-0.7.1 → pydantic_ai-0.7.3}/tests/mcp_server.py +0 -0
- {pydantic_ai-0.7.1 → pydantic_ai-0.7.3}/tests/models/__init__.py +0 -0
- {pydantic_ai-0.7.1 → pydantic_ai-0.7.3}/tests/models/cassettes/test_bedrock/test_bedrock_anthropic_tool_with_thinking.yaml +0 -0
- {pydantic_ai-0.7.1 → pydantic_ai-0.7.3}/tests/models/cassettes/test_bedrock/test_bedrock_empty_system_prompt.yaml +0 -0
- {pydantic_ai-0.7.1 → pydantic_ai-0.7.3}/tests/models/cassettes/test_bedrock/test_bedrock_model.yaml +0 -0
- {pydantic_ai-0.7.1 → pydantic_ai-0.7.3}/tests/models/cassettes/test_bedrock/test_bedrock_model_anthropic_model_without_tools.yaml +0 -0
- {pydantic_ai-0.7.1 → pydantic_ai-0.7.3}/tests/models/cassettes/test_bedrock/test_bedrock_model_guardrail_config.yaml +0 -0
- {pydantic_ai-0.7.1 → pydantic_ai-0.7.3}/tests/models/cassettes/test_bedrock/test_bedrock_model_instructions.yaml +0 -0
- {pydantic_ai-0.7.1 → pydantic_ai-0.7.3}/tests/models/cassettes/test_bedrock/test_bedrock_model_iter_stream.yaml +0 -0
- {pydantic_ai-0.7.1 → pydantic_ai-0.7.3}/tests/models/cassettes/test_bedrock/test_bedrock_model_max_tokens.yaml +0 -0
- {pydantic_ai-0.7.1 → pydantic_ai-0.7.3}/tests/models/cassettes/test_bedrock/test_bedrock_model_other_parameters.yaml +0 -0
- {pydantic_ai-0.7.1 → pydantic_ai-0.7.3}/tests/models/cassettes/test_bedrock/test_bedrock_model_performance_config.yaml +0 -0
- {pydantic_ai-0.7.1 → pydantic_ai-0.7.3}/tests/models/cassettes/test_bedrock/test_bedrock_model_retry.yaml +0 -0
- {pydantic_ai-0.7.1 → pydantic_ai-0.7.3}/tests/models/cassettes/test_bedrock/test_bedrock_model_stream.yaml +0 -0
- {pydantic_ai-0.7.1 → pydantic_ai-0.7.3}/tests/models/cassettes/test_bedrock/test_bedrock_model_structured_output.yaml +0 -0
- {pydantic_ai-0.7.1 → pydantic_ai-0.7.3}/tests/models/cassettes/test_bedrock/test_bedrock_model_thinking_part.yaml +0 -0
- {pydantic_ai-0.7.1 → pydantic_ai-0.7.3}/tests/models/cassettes/test_bedrock/test_bedrock_model_thinking_part_stream.yaml +0 -0
- {pydantic_ai-0.7.1 → pydantic_ai-0.7.3}/tests/models/cassettes/test_bedrock/test_bedrock_model_top_p.yaml +0 -0
- {pydantic_ai-0.7.1 → pydantic_ai-0.7.3}/tests/models/cassettes/test_bedrock/test_bedrock_multiple_documents_in_history.yaml +0 -0
- {pydantic_ai-0.7.1 → pydantic_ai-0.7.3}/tests/models/cassettes/test_bedrock/test_document_url_input.yaml +0 -0
- {pydantic_ai-0.7.1 → pydantic_ai-0.7.3}/tests/models/cassettes/test_bedrock/test_image_as_binary_content_input.yaml +0 -0
- {pydantic_ai-0.7.1 → pydantic_ai-0.7.3}/tests/models/cassettes/test_bedrock/test_image_url_input.yaml +0 -0
- {pydantic_ai-0.7.1 → pydantic_ai-0.7.3}/tests/models/cassettes/test_bedrock/test_text_as_binary_content_input.yaml +0 -0
- {pydantic_ai-0.7.1 → pydantic_ai-0.7.3}/tests/models/cassettes/test_bedrock/test_text_document_url_input.yaml +0 -0
- {pydantic_ai-0.7.1 → pydantic_ai-0.7.3}/tests/models/cassettes/test_bedrock/test_video_as_binary_content_input.yaml +0 -0
- {pydantic_ai-0.7.1 → pydantic_ai-0.7.3}/tests/models/cassettes/test_bedrock/test_video_url_input.yaml +0 -0
- {pydantic_ai-0.7.1 → pydantic_ai-0.7.3}/tests/models/cassettes/test_cohere/test_cohere_model_instructions.yaml +0 -0
- {pydantic_ai-0.7.1 → pydantic_ai-0.7.3}/tests/models/cassettes/test_cohere/test_cohere_model_thinking_part.yaml +0 -0
- {pydantic_ai-0.7.1 → pydantic_ai-0.7.3}/tests/models/cassettes/test_cohere/test_request_simple_success_with_vcr.yaml +0 -0
- {pydantic_ai-0.7.1 → pydantic_ai-0.7.3}/tests/models/cassettes/test_deepseek/test_deepseek_model_thinking_part.yaml +0 -0
- {pydantic_ai-0.7.1 → pydantic_ai-0.7.3}/tests/models/cassettes/test_deepseek/test_deepseek_model_thinking_stream.yaml +0 -0
- {pydantic_ai-0.7.1 → pydantic_ai-0.7.3}/tests/models/cassettes/test_download_item/test_download_item_application_octet_stream.yaml +0 -0
- {pydantic_ai-0.7.1 → pydantic_ai-0.7.3}/tests/models/cassettes/test_download_item/test_download_item_audio_mpeg.yaml +0 -0
- {pydantic_ai-0.7.1 → pydantic_ai-0.7.3}/tests/models/cassettes/test_download_item/test_download_item_no_content_type.yaml +0 -0
- {pydantic_ai-0.7.1 → pydantic_ai-0.7.3}/tests/models/cassettes/test_gemini/test_document_url_input.yaml +0 -0
- {pydantic_ai-0.7.1 → pydantic_ai-0.7.3}/tests/models/cassettes/test_gemini/test_gemini_additional_properties_is_false.yaml +0 -0
- {pydantic_ai-0.7.1 → pydantic_ai-0.7.3}/tests/models/cassettes/test_gemini/test_gemini_additional_properties_is_true.yaml +0 -0
- {pydantic_ai-0.7.1 → pydantic_ai-0.7.3}/tests/models/cassettes/test_gemini/test_gemini_drop_exclusive_maximum.yaml +0 -0
- {pydantic_ai-0.7.1 → pydantic_ai-0.7.3}/tests/models/cassettes/test_gemini/test_gemini_exclusive_minimum_and_maximum.yaml +0 -0
- {pydantic_ai-0.7.1 → pydantic_ai-0.7.3}/tests/models/cassettes/test_gemini/test_gemini_model_instructions.yaml +0 -0
- {pydantic_ai-0.7.1 → pydantic_ai-0.7.3}/tests/models/cassettes/test_gemini/test_gemini_model_thinking_part.yaml +0 -0
- {pydantic_ai-0.7.1 → pydantic_ai-0.7.3}/tests/models/cassettes/test_gemini/test_gemini_native_output.yaml +0 -0
- {pydantic_ai-0.7.1 → pydantic_ai-0.7.3}/tests/models/cassettes/test_gemini/test_gemini_native_output_multiple.yaml +0 -0
- {pydantic_ai-0.7.1 → pydantic_ai-0.7.3}/tests/models/cassettes/test_gemini/test_gemini_prompted_output.yaml +0 -0
- {pydantic_ai-0.7.1 → pydantic_ai-0.7.3}/tests/models/cassettes/test_gemini/test_gemini_prompted_output_multiple.yaml +0 -0
- {pydantic_ai-0.7.1 → pydantic_ai-0.7.3}/tests/models/cassettes/test_gemini/test_gemini_prompted_output_with_tools.yaml +0 -0
- {pydantic_ai-0.7.1 → pydantic_ai-0.7.3}/tests/models/cassettes/test_gemini/test_gemini_text_output_function.yaml +0 -0
- {pydantic_ai-0.7.1 → pydantic_ai-0.7.3}/tests/models/cassettes/test_gemini/test_gemini_tool_config_any_with_tool_without_args.yaml +0 -0
- {pydantic_ai-0.7.1 → pydantic_ai-0.7.3}/tests/models/cassettes/test_gemini/test_gemini_tool_output.yaml +0 -0
- {pydantic_ai-0.7.1 → pydantic_ai-0.7.3}/tests/models/cassettes/test_gemini/test_gemini_youtube_video_url_input.yaml +0 -0
- {pydantic_ai-0.7.1 → pydantic_ai-0.7.3}/tests/models/cassettes/test_gemini/test_image_as_binary_content_input.yaml +0 -0
- {pydantic_ai-0.7.1 → pydantic_ai-0.7.3}/tests/models/cassettes/test_gemini/test_image_as_binary_content_tool_response.yaml +0 -0
- {pydantic_ai-0.7.1 → pydantic_ai-0.7.3}/tests/models/cassettes/test_gemini/test_image_url_input.yaml +0 -0
- {pydantic_ai-0.7.1 → pydantic_ai-0.7.3}/tests/models/cassettes/test_gemini/test_labels_are_ignored_with_gla_provider.yaml +0 -0
- {pydantic_ai-0.7.1 → pydantic_ai-0.7.3}/tests/models/cassettes/test_gemini/test_video_as_binary_content_input.yaml +0 -0
- {pydantic_ai-0.7.1 → pydantic_ai-0.7.3}/tests/models/cassettes/test_gemini/test_video_url_input.yaml +0 -0
- {pydantic_ai-0.7.1 → pydantic_ai-0.7.3}/tests/models/cassettes/test_gemini_vertex/test_labels.yaml +0 -0
- {pydantic_ai-0.7.1 → pydantic_ai-0.7.3}/tests/models/cassettes/test_gemini_vertex/test_url_input[AudioUrl (gs)].yaml +0 -0
- {pydantic_ai-0.7.1 → pydantic_ai-0.7.3}/tests/models/cassettes/test_gemini_vertex/test_url_input[AudioUrl].yaml +0 -0
- {pydantic_ai-0.7.1 → pydantic_ai-0.7.3}/tests/models/cassettes/test_gemini_vertex/test_url_input[DocumentUrl (gs)].yaml +0 -0
- {pydantic_ai-0.7.1 → pydantic_ai-0.7.3}/tests/models/cassettes/test_gemini_vertex/test_url_input[DocumentUrl].yaml +0 -0
- {pydantic_ai-0.7.1 → pydantic_ai-0.7.3}/tests/models/cassettes/test_gemini_vertex/test_url_input[ImageUrl (gs)].yaml +0 -0
- {pydantic_ai-0.7.1 → pydantic_ai-0.7.3}/tests/models/cassettes/test_gemini_vertex/test_url_input[ImageUrl].yaml +0 -0
- {pydantic_ai-0.7.1 → pydantic_ai-0.7.3}/tests/models/cassettes/test_gemini_vertex/test_url_input[VideoUrl (YouTube)].yaml +0 -0
- {pydantic_ai-0.7.1 → pydantic_ai-0.7.3}/tests/models/cassettes/test_gemini_vertex/test_url_input[VideoUrl (gs)].yaml +0 -0
- {pydantic_ai-0.7.1 → pydantic_ai-0.7.3}/tests/models/cassettes/test_gemini_vertex/test_url_input[VideoUrl].yaml +0 -0
- {pydantic_ai-0.7.1 → pydantic_ai-0.7.3}/tests/models/cassettes/test_gemini_vertex/test_url_input_force_download.yaml +0 -0
- {pydantic_ai-0.7.1 → pydantic_ai-0.7.3}/tests/models/cassettes/test_google/test_google_model.yaml +0 -0
- {pydantic_ai-0.7.1 → pydantic_ai-0.7.3}/tests/models/cassettes/test_google/test_google_model_code_execution_tool.yaml +0 -0
- {pydantic_ai-0.7.1 → pydantic_ai-0.7.3}/tests/models/cassettes/test_google/test_google_model_document_url_input.yaml +0 -0
- {pydantic_ai-0.7.1 → pydantic_ai-0.7.3}/tests/models/cassettes/test_google/test_google_model_empty_assistant_response.yaml +0 -0
- {pydantic_ai-0.7.1 → pydantic_ai-0.7.3}/tests/models/cassettes/test_google/test_google_model_empty_user_prompt.yaml +0 -0
- {pydantic_ai-0.7.1 → pydantic_ai-0.7.3}/tests/models/cassettes/test_google/test_google_model_image_as_binary_content_input.yaml +0 -0
- {pydantic_ai-0.7.1 → pydantic_ai-0.7.3}/tests/models/cassettes/test_google/test_google_model_image_url_input.yaml +0 -0
- {pydantic_ai-0.7.1 → pydantic_ai-0.7.3}/tests/models/cassettes/test_google/test_google_model_instructions.yaml +0 -0
- {pydantic_ai-0.7.1 → pydantic_ai-0.7.3}/tests/models/cassettes/test_google/test_google_model_iter_stream.yaml +0 -0
- {pydantic_ai-0.7.1 → pydantic_ai-0.7.3}/tests/models/cassettes/test_google/test_google_model_max_tokens.yaml +0 -0
- {pydantic_ai-0.7.1 → pydantic_ai-0.7.3}/tests/models/cassettes/test_google/test_google_model_multiple_documents_in_history.yaml +0 -0
- {pydantic_ai-0.7.1 → pydantic_ai-0.7.3}/tests/models/cassettes/test_google/test_google_model_receive_web_search_history_from_another_provider.yaml +0 -0
- {pydantic_ai-0.7.1 → pydantic_ai-0.7.3}/tests/models/cassettes/test_google/test_google_model_retry.yaml +0 -0
- {pydantic_ai-0.7.1 → pydantic_ai-0.7.3}/tests/models/cassettes/test_google/test_google_model_safety_settings.yaml +0 -0
- {pydantic_ai-0.7.1 → pydantic_ai-0.7.3}/tests/models/cassettes/test_google/test_google_model_server_tool_receive_history_from_another_provider.yaml +0 -0
- {pydantic_ai-0.7.1 → pydantic_ai-0.7.3}/tests/models/cassettes/test_google/test_google_model_stream.yaml +0 -0
- {pydantic_ai-0.7.1 → pydantic_ai-0.7.3}/tests/models/cassettes/test_google/test_google_model_structured_output.yaml +0 -0
- {pydantic_ai-0.7.1 → pydantic_ai-0.7.3}/tests/models/cassettes/test_google/test_google_model_text_as_binary_content_input.yaml +0 -0
- {pydantic_ai-0.7.1 → pydantic_ai-0.7.3}/tests/models/cassettes/test_google/test_google_model_text_document_url_input.yaml +0 -0
- {pydantic_ai-0.7.1 → pydantic_ai-0.7.3}/tests/models/cassettes/test_google/test_google_model_thinking_config.yaml +0 -0
- {pydantic_ai-0.7.1 → pydantic_ai-0.7.3}/tests/models/cassettes/test_google/test_google_model_thinking_part.yaml +0 -0
- {pydantic_ai-0.7.1 → pydantic_ai-0.7.3}/tests/models/cassettes/test_google/test_google_model_thinking_part_iter.yaml +0 -0
- {pydantic_ai-0.7.1 → pydantic_ai-0.7.3}/tests/models/cassettes/test_google/test_google_model_top_p.yaml +0 -0
- {pydantic_ai-0.7.1 → pydantic_ai-0.7.3}/tests/models/cassettes/test_google/test_google_model_usage_limit_exceeded.yaml +0 -0
- {pydantic_ai-0.7.1 → pydantic_ai-0.7.3}/tests/models/cassettes/test_google/test_google_model_usage_limit_not_exceeded.yaml +0 -0
- {pydantic_ai-0.7.1 → pydantic_ai-0.7.3}/tests/models/cassettes/test_google/test_google_model_vertex_labels.yaml +0 -0
- {pydantic_ai-0.7.1 → pydantic_ai-0.7.3}/tests/models/cassettes/test_google/test_google_model_vertex_provider.yaml +0 -0
- {pydantic_ai-0.7.1 → pydantic_ai-0.7.3}/tests/models/cassettes/test_google/test_google_model_video_as_binary_content_input.yaml +0 -0
- {pydantic_ai-0.7.1 → pydantic_ai-0.7.3}/tests/models/cassettes/test_google/test_google_model_video_as_binary_content_input_with_vendor_metadata.yaml +0 -0
- {pydantic_ai-0.7.1 → pydantic_ai-0.7.3}/tests/models/cassettes/test_google/test_google_model_video_url_input.yaml +0 -0
- {pydantic_ai-0.7.1 → pydantic_ai-0.7.3}/tests/models/cassettes/test_google/test_google_model_web_search_tool.yaml +0 -0
- {pydantic_ai-0.7.1 → pydantic_ai-0.7.3}/tests/models/cassettes/test_google/test_google_model_youtube_video_url_input_with_vendor_metadata.yaml +0 -0
- {pydantic_ai-0.7.1 → pydantic_ai-0.7.3}/tests/models/cassettes/test_google/test_google_native_output.yaml +0 -0
- {pydantic_ai-0.7.1 → pydantic_ai-0.7.3}/tests/models/cassettes/test_google/test_google_native_output_multiple.yaml +0 -0
- {pydantic_ai-0.7.1 → pydantic_ai-0.7.3}/tests/models/cassettes/test_google/test_google_prompted_output.yaml +0 -0
- {pydantic_ai-0.7.1 → pydantic_ai-0.7.3}/tests/models/cassettes/test_google/test_google_prompted_output_multiple.yaml +0 -0
- {pydantic_ai-0.7.1 → pydantic_ai-0.7.3}/tests/models/cassettes/test_google/test_google_prompted_output_with_tools.yaml +0 -0
- {pydantic_ai-0.7.1 → pydantic_ai-0.7.3}/tests/models/cassettes/test_google/test_google_text_output_function.yaml +0 -0
- {pydantic_ai-0.7.1 → pydantic_ai-0.7.3}/tests/models/cassettes/test_google/test_google_timeout.yaml +0 -0
- {pydantic_ai-0.7.1 → pydantic_ai-0.7.3}/tests/models/cassettes/test_google/test_google_tool_config_any_with_tool_without_args.yaml +0 -0
- {pydantic_ai-0.7.1 → pydantic_ai-0.7.3}/tests/models/cassettes/test_google/test_google_tool_output.yaml +0 -0
- {pydantic_ai-0.7.1 → pydantic_ai-0.7.3}/tests/models/cassettes/test_google/test_google_url_input[AudioUrl (gs)].yaml +0 -0
- {pydantic_ai-0.7.1 → pydantic_ai-0.7.3}/tests/models/cassettes/test_google/test_google_url_input[AudioUrl].yaml +0 -0
- {pydantic_ai-0.7.1 → pydantic_ai-0.7.3}/tests/models/cassettes/test_google/test_google_url_input[DocumentUrl (gs)].yaml +0 -0
- {pydantic_ai-0.7.1 → pydantic_ai-0.7.3}/tests/models/cassettes/test_google/test_google_url_input[DocumentUrl].yaml +0 -0
- {pydantic_ai-0.7.1 → pydantic_ai-0.7.3}/tests/models/cassettes/test_google/test_google_url_input[ImageUrl (gs)].yaml +0 -0
- {pydantic_ai-0.7.1 → pydantic_ai-0.7.3}/tests/models/cassettes/test_google/test_google_url_input[ImageUrl].yaml +0 -0
- {pydantic_ai-0.7.1 → pydantic_ai-0.7.3}/tests/models/cassettes/test_google/test_google_url_input[VideoUrl (YouTube)].yaml +0 -0
- {pydantic_ai-0.7.1 → pydantic_ai-0.7.3}/tests/models/cassettes/test_google/test_google_url_input[VideoUrl (gs)].yaml +0 -0
- {pydantic_ai-0.7.1 → pydantic_ai-0.7.3}/tests/models/cassettes/test_google/test_google_url_input[VideoUrl].yaml +0 -0
- {pydantic_ai-0.7.1 → pydantic_ai-0.7.3}/tests/models/cassettes/test_google/test_google_url_input_force_download.yaml +0 -0
- {pydantic_ai-0.7.1 → pydantic_ai-0.7.3}/tests/models/cassettes/test_google/test_google_vertexai_model_usage_limit_exceeded.yaml +0 -0
- {pydantic_ai-0.7.1 → pydantic_ai-0.7.3}/tests/models/cassettes/test_groq/test_extra_headers.yaml +0 -0
- {pydantic_ai-0.7.1 → pydantic_ai-0.7.3}/tests/models/cassettes/test_groq/test_groq_model_instructions.yaml +0 -0
- {pydantic_ai-0.7.1 → pydantic_ai-0.7.3}/tests/models/cassettes/test_groq/test_groq_model_thinking_part.yaml +0 -0
- {pydantic_ai-0.7.1 → pydantic_ai-0.7.3}/tests/models/cassettes/test_groq/test_groq_model_thinking_part_iter.yaml +0 -0
- {pydantic_ai-0.7.1 → pydantic_ai-0.7.3}/tests/models/cassettes/test_groq/test_groq_model_web_search_tool.yaml +0 -0
- {pydantic_ai-0.7.1 → pydantic_ai-0.7.3}/tests/models/cassettes/test_groq/test_image_as_binary_content_input.yaml +0 -0
- {pydantic_ai-0.7.1 → pydantic_ai-0.7.3}/tests/models/cassettes/test_groq/test_image_as_binary_content_tool_response.yaml +0 -0
- {pydantic_ai-0.7.1 → pydantic_ai-0.7.3}/tests/models/cassettes/test_groq/test_image_url_input.yaml +0 -0
- {pydantic_ai-0.7.1 → pydantic_ai-0.7.3}/tests/models/cassettes/test_huggingface/test_hf_model_instructions.yaml +0 -0
- {pydantic_ai-0.7.1 → pydantic_ai-0.7.3}/tests/models/cassettes/test_huggingface/test_hf_model_thinking_part.yaml +0 -0
- {pydantic_ai-0.7.1 → pydantic_ai-0.7.3}/tests/models/cassettes/test_huggingface/test_hf_model_thinking_part_iter.yaml +0 -0
- {pydantic_ai-0.7.1 → pydantic_ai-0.7.3}/tests/models/cassettes/test_huggingface/test_image_as_binary_content_input.yaml +0 -0
- {pydantic_ai-0.7.1 → pydantic_ai-0.7.3}/tests/models/cassettes/test_huggingface/test_image_url_input.yaml +0 -0
- {pydantic_ai-0.7.1 → pydantic_ai-0.7.3}/tests/models/cassettes/test_huggingface/test_max_completion_tokens[Qwen-Qwen2.5-72B-Instruct].yaml +0 -0
- {pydantic_ai-0.7.1 → pydantic_ai-0.7.3}/tests/models/cassettes/test_huggingface/test_max_completion_tokens[deepseek-ai-DeepSeek-R1-0528].yaml +0 -0
- {pydantic_ai-0.7.1 → pydantic_ai-0.7.3}/tests/models/cassettes/test_huggingface/test_max_completion_tokens[meta-llama-Llama-3.3-70B-Instruct].yaml +0 -0
- {pydantic_ai-0.7.1 → pydantic_ai-0.7.3}/tests/models/cassettes/test_huggingface/test_request_simple_success_with_vcr.yaml +0 -0
- {pydantic_ai-0.7.1 → pydantic_ai-0.7.3}/tests/models/cassettes/test_huggingface/test_request_simple_usage.yaml +0 -0
- {pydantic_ai-0.7.1 → pydantic_ai-0.7.3}/tests/models/cassettes/test_huggingface/test_simple_completion.yaml +0 -0
- {pydantic_ai-0.7.1 → pydantic_ai-0.7.3}/tests/models/cassettes/test_huggingface/test_stream_completion.yaml +0 -0
- {pydantic_ai-0.7.1 → pydantic_ai-0.7.3}/tests/models/cassettes/test_mistral/test_image_as_binary_content_tool_response.yaml +0 -0
- {pydantic_ai-0.7.1 → pydantic_ai-0.7.3}/tests/models/cassettes/test_mistral/test_mistral_model_instructions.yaml +0 -0
- {pydantic_ai-0.7.1 → pydantic_ai-0.7.3}/tests/models/cassettes/test_mistral/test_mistral_model_thinking_part.yaml +0 -0
- {pydantic_ai-0.7.1 → pydantic_ai-0.7.3}/tests/models/cassettes/test_openai/test_audio_as_binary_content_input.yaml +0 -0
- {pydantic_ai-0.7.1 → pydantic_ai-0.7.3}/tests/models/cassettes/test_openai/test_compatible_api_with_tool_calls_without_id.yaml +0 -0
- {pydantic_ai-0.7.1 → pydantic_ai-0.7.3}/tests/models/cassettes/test_openai/test_document_as_binary_content_input.yaml +0 -0
- {pydantic_ai-0.7.1 → pydantic_ai-0.7.3}/tests/models/cassettes/test_openai/test_document_url_input.yaml +0 -0
- {pydantic_ai-0.7.1 → pydantic_ai-0.7.3}/tests/models/cassettes/test_openai/test_extra_headers.yaml +0 -0
- {pydantic_ai-0.7.1 → pydantic_ai-0.7.3}/tests/models/cassettes/test_openai/test_image_as_binary_content_input.yaml +0 -0
- {pydantic_ai-0.7.1 → pydantic_ai-0.7.3}/tests/models/cassettes/test_openai/test_image_as_binary_content_tool_response.yaml +0 -0
- {pydantic_ai-0.7.1 → pydantic_ai-0.7.3}/tests/models/cassettes/test_openai/test_image_url_tool_response.yaml +0 -0
- {pydantic_ai-0.7.1 → pydantic_ai-0.7.3}/tests/models/cassettes/test_openai/test_invalid_response.yaml +0 -0
- {pydantic_ai-0.7.1 → pydantic_ai-0.7.3}/tests/models/cassettes/test_openai/test_max_completion_tokens[gpt-4.5-preview].yaml +0 -0
- {pydantic_ai-0.7.1 → pydantic_ai-0.7.3}/tests/models/cassettes/test_openai/test_max_completion_tokens[gpt-4o-mini].yaml +0 -0
- {pydantic_ai-0.7.1 → pydantic_ai-0.7.3}/tests/models/cassettes/test_openai/test_max_completion_tokens[o3-mini].yaml +0 -0
- {pydantic_ai-0.7.1 → pydantic_ai-0.7.3}/tests/models/cassettes/test_openai/test_multiple_agent_tool_calls.yaml +0 -0
- {pydantic_ai-0.7.1 → pydantic_ai-0.7.3}/tests/models/cassettes/test_openai/test_openai_audio_url_input.yaml +0 -0
- {pydantic_ai-0.7.1 → pydantic_ai-0.7.3}/tests/models/cassettes/test_openai/test_openai_instructions.yaml +0 -0
- {pydantic_ai-0.7.1 → pydantic_ai-0.7.3}/tests/models/cassettes/test_openai/test_openai_instructions_with_tool_calls_keep_instructions.yaml +0 -0
- {pydantic_ai-0.7.1 → pydantic_ai-0.7.3}/tests/models/cassettes/test_openai/test_openai_model_settings_temperature_ignored_on_gpt_5.yaml +0 -0
- {pydantic_ai-0.7.1 → pydantic_ai-0.7.3}/tests/models/cassettes/test_openai/test_openai_model_thinking_part.yaml +0 -0
- {pydantic_ai-0.7.1 → pydantic_ai-0.7.3}/tests/models/cassettes/test_openai/test_openai_model_thinking_part_iter.yaml +0 -0
- {pydantic_ai-0.7.1 → pydantic_ai-0.7.3}/tests/models/cassettes/test_openai/test_openai_model_without_system_prompt.yaml +0 -0
- {pydantic_ai-0.7.1 → pydantic_ai-0.7.3}/tests/models/cassettes/test_openai/test_openai_native_output.yaml +0 -0
- {pydantic_ai-0.7.1 → pydantic_ai-0.7.3}/tests/models/cassettes/test_openai/test_openai_native_output_multiple.yaml +0 -0
- {pydantic_ai-0.7.1 → pydantic_ai-0.7.3}/tests/models/cassettes/test_openai/test_openai_o1_mini_system_role[developer].yaml +0 -0
- {pydantic_ai-0.7.1 → pydantic_ai-0.7.3}/tests/models/cassettes/test_openai/test_openai_o1_mini_system_role[system].yaml +0 -0
- {pydantic_ai-0.7.1 → pydantic_ai-0.7.3}/tests/models/cassettes/test_openai/test_openai_prompted_output.yaml +0 -0
- {pydantic_ai-0.7.1 → pydantic_ai-0.7.3}/tests/models/cassettes/test_openai/test_openai_prompted_output_multiple.yaml +0 -0
- {pydantic_ai-0.7.1 → pydantic_ai-0.7.3}/tests/models/cassettes/test_openai/test_openai_responses_model_thinking_part.yaml +0 -0
- {pydantic_ai-0.7.1 → pydantic_ai-0.7.3}/tests/models/cassettes/test_openai/test_openai_text_output_function.yaml +0 -0
- {pydantic_ai-0.7.1 → pydantic_ai-0.7.3}/tests/models/cassettes/test_openai/test_openai_tool_output.yaml +0 -0
- {pydantic_ai-0.7.1 → pydantic_ai-0.7.3}/tests/models/cassettes/test_openai/test_openai_web_search_tool.yaml +0 -0
- {pydantic_ai-0.7.1 → pydantic_ai-0.7.3}/tests/models/cassettes/test_openai/test_openai_web_search_tool_model_not_supported.yaml +0 -0
- {pydantic_ai-0.7.1 → pydantic_ai-0.7.3}/tests/models/cassettes/test_openai/test_openai_web_search_tool_with_user_location.yaml +0 -0
- {pydantic_ai-0.7.1 → pydantic_ai-0.7.3}/tests/models/cassettes/test_openai/test_reasoning_model_with_temperature.yaml +0 -0
- {pydantic_ai-0.7.1 → pydantic_ai-0.7.3}/tests/models/cassettes/test_openai/test_text_response.yaml +0 -0
- {pydantic_ai-0.7.1 → pydantic_ai-0.7.3}/tests/models/cassettes/test_openai/test_user_id.yaml +0 -0
- {pydantic_ai-0.7.1 → pydantic_ai-0.7.3}/tests/models/cassettes/test_openai/test_valid_response.yaml +0 -0
- {pydantic_ai-0.7.1 → pydantic_ai-0.7.3}/tests/models/cassettes/test_openai_responses/test_audio_as_binary_content_input.yaml +0 -0
- {pydantic_ai-0.7.1 → pydantic_ai-0.7.3}/tests/models/cassettes/test_openai_responses/test_image_as_binary_content_input.yaml +0 -0
- {pydantic_ai-0.7.1 → pydantic_ai-0.7.3}/tests/models/cassettes/test_openai_responses/test_image_as_binary_content_tool_response.yaml +0 -0
- {pydantic_ai-0.7.1 → pydantic_ai-0.7.3}/tests/models/cassettes/test_openai_responses/test_native_output.yaml +0 -0
- {pydantic_ai-0.7.1 → pydantic_ai-0.7.3}/tests/models/cassettes/test_openai_responses/test_native_output_multiple.yaml +0 -0
- {pydantic_ai-0.7.1 → pydantic_ai-0.7.3}/tests/models/cassettes/test_openai_responses/test_openai_responses_code_execution_tool.yaml +0 -0
- {pydantic_ai-0.7.1 → pydantic_ai-0.7.3}/tests/models/cassettes/test_openai_responses/test_openai_responses_code_execution_tool_stream.yaml +0 -0
- {pydantic_ai-0.7.1 → pydantic_ai-0.7.3}/tests/models/cassettes/test_openai_responses/test_openai_responses_document_as_binary_content_input.yaml +0 -0
- {pydantic_ai-0.7.1 → pydantic_ai-0.7.3}/tests/models/cassettes/test_openai_responses/test_openai_responses_document_url_input.yaml +0 -0
- {pydantic_ai-0.7.1 → pydantic_ai-0.7.3}/tests/models/cassettes/test_openai_responses/test_openai_responses_image_url_input.yaml +0 -0
- {pydantic_ai-0.7.1 → pydantic_ai-0.7.3}/tests/models/cassettes/test_openai_responses/test_openai_responses_model_builtin_tools.yaml +0 -0
- {pydantic_ai-0.7.1 → pydantic_ai-0.7.3}/tests/models/cassettes/test_openai_responses/test_openai_responses_model_http_error.yaml +0 -0
- {pydantic_ai-0.7.1 → pydantic_ai-0.7.3}/tests/models/cassettes/test_openai_responses/test_openai_responses_model_instructions.yaml +0 -0
- {pydantic_ai-0.7.1 → pydantic_ai-0.7.3}/tests/models/cassettes/test_openai_responses/test_openai_responses_model_retry.yaml +0 -0
- {pydantic_ai-0.7.1 → pydantic_ai-0.7.3}/tests/models/cassettes/test_openai_responses/test_openai_responses_model_simple_response.yaml +0 -0
- {pydantic_ai-0.7.1 → pydantic_ai-0.7.3}/tests/models/cassettes/test_openai_responses/test_openai_responses_model_simple_response_with_tool_call.yaml +0 -0
- {pydantic_ai-0.7.1 → pydantic_ai-0.7.3}/tests/models/cassettes/test_openai_responses/test_openai_responses_model_web_search_tool.yaml +0 -0
- {pydantic_ai-0.7.1 → pydantic_ai-0.7.3}/tests/models/cassettes/test_openai_responses/test_openai_responses_model_web_search_tool_stream.yaml +0 -0
- {pydantic_ai-0.7.1 → pydantic_ai-0.7.3}/tests/models/cassettes/test_openai_responses/test_openai_responses_model_web_search_tool_with_invalid_region.yaml +0 -0
- {pydantic_ai-0.7.1 → pydantic_ai-0.7.3}/tests/models/cassettes/test_openai_responses/test_openai_responses_model_web_search_tool_with_user_location.yaml +0 -0
- {pydantic_ai-0.7.1 → pydantic_ai-0.7.3}/tests/models/cassettes/test_openai_responses/test_openai_responses_output_type.yaml +0 -0
- {pydantic_ai-0.7.1 → pydantic_ai-0.7.3}/tests/models/cassettes/test_openai_responses/test_openai_responses_reasoning_effort.yaml +0 -0
- {pydantic_ai-0.7.1 → pydantic_ai-0.7.3}/tests/models/cassettes/test_openai_responses/test_openai_responses_reasoning_generate_summary.yaml +0 -0
- {pydantic_ai-0.7.1 → pydantic_ai-0.7.3}/tests/models/cassettes/test_openai_responses/test_openai_responses_stream.yaml +0 -0
- {pydantic_ai-0.7.1 → pydantic_ai-0.7.3}/tests/models/cassettes/test_openai_responses/test_openai_responses_system_prompt.yaml +0 -0
- {pydantic_ai-0.7.1 → pydantic_ai-0.7.3}/tests/models/cassettes/test_openai_responses/test_openai_responses_text_document_url_input.yaml +0 -0
- {pydantic_ai-0.7.1 → pydantic_ai-0.7.3}/tests/models/cassettes/test_openai_responses/test_openai_responses_verbosity.yaml +0 -0
- {pydantic_ai-0.7.1 → pydantic_ai-0.7.3}/tests/models/cassettes/test_openai_responses/test_prompted_output.yaml +0 -0
- {pydantic_ai-0.7.1 → pydantic_ai-0.7.3}/tests/models/cassettes/test_openai_responses/test_prompted_output_multiple.yaml +0 -0
- {pydantic_ai-0.7.1 → pydantic_ai-0.7.3}/tests/models/cassettes/test_openai_responses/test_reasoning_model_with_temperature.yaml +0 -0
- {pydantic_ai-0.7.1 → pydantic_ai-0.7.3}/tests/models/cassettes/test_openai_responses/test_text_output_function.yaml +0 -0
- {pydantic_ai-0.7.1 → pydantic_ai-0.7.3}/tests/models/cassettes/test_openai_responses/test_tool_output.yaml +0 -0
- {pydantic_ai-0.7.1 → pydantic_ai-0.7.3}/tests/models/mock_async_stream.py +0 -0
- {pydantic_ai-0.7.1 → pydantic_ai-0.7.3}/tests/models/test_download_item.py +0 -0
- {pydantic_ai-0.7.1 → pydantic_ai-0.7.3}/tests/models/test_model_request_parameters.py +0 -0
- {pydantic_ai-0.7.1 → pydantic_ai-0.7.3}/tests/models/test_model_settings.py +0 -0
- {pydantic_ai-0.7.1 → pydantic_ai-0.7.3}/tests/parts_from_messages.py +0 -0
- {pydantic_ai-0.7.1 → pydantic_ai-0.7.3}/tests/providers/__init__.py +0 -0
- {pydantic_ai-0.7.1 → pydantic_ai-0.7.3}/tests/providers/cassettes/test_azure/test_azure_provider_call.yaml +0 -0
- {pydantic_ai-0.7.1 → pydantic_ai-0.7.3}/tests/providers/cassettes/test_google_vertex/test_vertexai_provider.yaml +0 -0
- {pydantic_ai-0.7.1 → pydantic_ai-0.7.3}/tests/providers/cassettes/test_heroku/test_heroku_model_provider_claude_3_7_sonnet.yaml +0 -0
- {pydantic_ai-0.7.1 → pydantic_ai-0.7.3}/tests/providers/test_anthropic.py +0 -0
- {pydantic_ai-0.7.1 → pydantic_ai-0.7.3}/tests/providers/test_azure.py +0 -0
- {pydantic_ai-0.7.1 → pydantic_ai-0.7.3}/tests/providers/test_cohere.py +0 -0
- {pydantic_ai-0.7.1 → pydantic_ai-0.7.3}/tests/providers/test_deepseek.py +0 -0
- {pydantic_ai-0.7.1 → pydantic_ai-0.7.3}/tests/providers/test_fireworks.py +0 -0
- {pydantic_ai-0.7.1 → pydantic_ai-0.7.3}/tests/providers/test_github.py +0 -0
- {pydantic_ai-0.7.1 → pydantic_ai-0.7.3}/tests/providers/test_google_gla.py +0 -0
- {pydantic_ai-0.7.1 → pydantic_ai-0.7.3}/tests/providers/test_google_vertex.py +0 -0
- {pydantic_ai-0.7.1 → pydantic_ai-0.7.3}/tests/providers/test_grok.py +0 -0
- {pydantic_ai-0.7.1 → pydantic_ai-0.7.3}/tests/providers/test_heroku.py +0 -0
- {pydantic_ai-0.7.1 → pydantic_ai-0.7.3}/tests/providers/test_mistral.py +0 -0
- {pydantic_ai-0.7.1 → pydantic_ai-0.7.3}/tests/providers/test_moonshotai.py +0 -0
- {pydantic_ai-0.7.1 → pydantic_ai-0.7.3}/tests/providers/test_openai.py +0 -0
- {pydantic_ai-0.7.1 → pydantic_ai-0.7.3}/tests/providers/test_together.py +0 -0
- {pydantic_ai-0.7.1 → pydantic_ai-0.7.3}/tests/providers/test_vercel.py +0 -0
- {pydantic_ai-0.7.1 → pydantic_ai-0.7.3}/tests/test_builtin_tools.py +0 -0
- {pydantic_ai-0.7.1 → pydantic_ai-0.7.3}/tests/test_deps.py +0 -0
- {pydantic_ai-0.7.1 → pydantic_ai-0.7.3}/tests/test_examples.py +0 -0
- {pydantic_ai-0.7.1 → pydantic_ai-0.7.3}/tests/test_format_as_xml.py +0 -0
- {pydantic_ai-0.7.1 → pydantic_ai-0.7.3}/tests/test_json_body_serializer.py +0 -0
- {pydantic_ai-0.7.1 → pydantic_ai-0.7.3}/tests/test_live.py +0 -0
- {pydantic_ai-0.7.1 → pydantic_ai-0.7.3}/tests/test_logfire.py +0 -0
- {pydantic_ai-0.7.1 → pydantic_ai-0.7.3}/tests/test_messages.py +0 -0
- {pydantic_ai-0.7.1 → pydantic_ai-0.7.3}/tests/test_parts_manager.py +0 -0
- {pydantic_ai-0.7.1 → pydantic_ai-0.7.3}/tests/test_settings.py +0 -0
- {pydantic_ai-0.7.1 → pydantic_ai-0.7.3}/tests/test_thinking_part.py +0 -0
- {pydantic_ai-0.7.1 → pydantic_ai-0.7.3}/tests/test_utils.py +0 -0
- {pydantic_ai-0.7.1 → pydantic_ai-0.7.3}/tests/typed_agent.py +0 -0
- {pydantic_ai-0.7.1 → pydantic_ai-0.7.3}/tests/typed_graph.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: pydantic-ai
|
|
3
|
-
Version: 0.7.
|
|
3
|
+
Version: 0.7.3
|
|
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,temporal,vertexai]==0.7.
|
|
31
|
+
Requires-Dist: pydantic-ai-slim[ag-ui,anthropic,bedrock,cli,cohere,evals,google,groq,huggingface,mcp,mistral,openai,retries,temporal,vertexai]==0.7.3
|
|
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.7.
|
|
35
|
+
Requires-Dist: pydantic-ai-examples==0.7.3; extra == 'examples'
|
|
36
36
|
Provides-Extra: logfire
|
|
37
37
|
Requires-Dist: logfire>=3.14.1; extra == 'logfire'
|
|
38
38
|
Description-Content-Type: text/markdown
|
|
@@ -24,6 +24,7 @@ from typing_extensions import TypeAlias
|
|
|
24
24
|
from vcr import VCR, request as vcr_request
|
|
25
25
|
|
|
26
26
|
import pydantic_ai.models
|
|
27
|
+
from pydantic_ai import Agent
|
|
27
28
|
from pydantic_ai.messages import BinaryContent
|
|
28
29
|
from pydantic_ai.models import Model, cached_async_http_client
|
|
29
30
|
|
|
@@ -230,6 +231,24 @@ def event_loop() -> Iterator[None]:
|
|
|
230
231
|
new_loop.close()
|
|
231
232
|
|
|
232
233
|
|
|
234
|
+
@pytest.fixture(autouse=True)
|
|
235
|
+
def no_instrumentation_by_default():
|
|
236
|
+
Agent.instrument_all(False)
|
|
237
|
+
|
|
238
|
+
|
|
239
|
+
try:
|
|
240
|
+
import logfire
|
|
241
|
+
|
|
242
|
+
logfire.DEFAULT_LOGFIRE_INSTANCE.config.ignore_no_config = True
|
|
243
|
+
|
|
244
|
+
@pytest.fixture(autouse=True)
|
|
245
|
+
def fresh_logfire():
|
|
246
|
+
logfire.shutdown(flush=False)
|
|
247
|
+
|
|
248
|
+
except ImportError:
|
|
249
|
+
pass
|
|
250
|
+
|
|
251
|
+
|
|
233
252
|
def raise_if_exception(e: Any) -> None:
|
|
234
253
|
if isinstance(e, Exception):
|
|
235
254
|
raise e
|
|
@@ -336,9 +336,6 @@ async def test_span_node_repr(span_tree: SpanTree):
|
|
|
336
336
|
|
|
337
337
|
async def test_span_tree_ancestors_methods():
|
|
338
338
|
"""Test the ancestor traversal methods in SpanNode."""
|
|
339
|
-
# Configure logfire
|
|
340
|
-
logfire.configure()
|
|
341
|
-
|
|
342
339
|
# Create spans with a deep structure for testing ancestor methods
|
|
343
340
|
with context_subtree() as tree:
|
|
344
341
|
with logfire.span('root', depth=0):
|
|
@@ -398,9 +395,6 @@ async def test_span_tree_ancestors_methods():
|
|
|
398
395
|
|
|
399
396
|
async def test_span_tree_descendants_methods():
|
|
400
397
|
"""Test the descendant traversal methods in SpanNode."""
|
|
401
|
-
# Configure logfire
|
|
402
|
-
logfire.configure()
|
|
403
|
-
|
|
404
398
|
# Create spans with a deep structure for testing descendant methods
|
|
405
399
|
with context_subtree() as tree:
|
|
406
400
|
with logfire.span('root', depth=0):
|
|
@@ -488,9 +482,6 @@ async def test_span_tree_descendants_methods():
|
|
|
488
482
|
|
|
489
483
|
async def test_log_levels_and_exceptions():
|
|
490
484
|
"""Test recording different log levels and exceptions in spans."""
|
|
491
|
-
# Configure logfire
|
|
492
|
-
logfire.configure()
|
|
493
|
-
|
|
494
485
|
with context_subtree() as tree:
|
|
495
486
|
# Test different log levels
|
|
496
487
|
with logfire.span('parent_span'):
|
|
@@ -891,7 +882,6 @@ async def test_context_subtree_not_configured(mocker: MockerFixture):
|
|
|
891
882
|
"""Test that context_subtree correctly records spans in independent async contexts."""
|
|
892
883
|
from opentelemetry.trace import ProxyTracerProvider
|
|
893
884
|
|
|
894
|
-
# from opentelemetry.sdk.trace import TracerProvider
|
|
895
885
|
mocker.patch(
|
|
896
886
|
'pydantic_evals.otel._context_in_memory_span_exporter.get_tracer_provider', return_value=ProxyTracerProvider()
|
|
897
887
|
)
|
|
@@ -15,7 +15,7 @@ interactions:
|
|
|
15
15
|
- api.anthropic.com
|
|
16
16
|
method: POST
|
|
17
17
|
parsed_body:
|
|
18
|
-
max_tokens:
|
|
18
|
+
max_tokens: 4096
|
|
19
19
|
messages:
|
|
20
20
|
- content:
|
|
21
21
|
- text: How much is 3 * 12390?
|
|
@@ -34,7 +34,7 @@ interactions:
|
|
|
34
34
|
connection:
|
|
35
35
|
- keep-alive
|
|
36
36
|
content-length:
|
|
37
|
-
- '
|
|
37
|
+
- '994'
|
|
38
38
|
content-type:
|
|
39
39
|
- application/json
|
|
40
40
|
strict-transport-security:
|
|
@@ -43,12 +43,12 @@ interactions:
|
|
|
43
43
|
- chunked
|
|
44
44
|
parsed_body:
|
|
45
45
|
container:
|
|
46
|
-
expires_at: '2025-
|
|
47
|
-
id:
|
|
46
|
+
expires_at: '2025-08-14T12:35:01.802902Z'
|
|
47
|
+
id: container_011CS7XodG8mEYj1PnST46H5
|
|
48
48
|
content:
|
|
49
49
|
- text: I'll calculate 3 * 12390 for you.
|
|
50
50
|
type: text
|
|
51
|
-
- id:
|
|
51
|
+
- id: srvtoolu_01PZTDQyDyxVNeVikBoNo2fb
|
|
52
52
|
input:
|
|
53
53
|
code: |-
|
|
54
54
|
result = 3 * 12390
|
|
@@ -62,21 +62,24 @@ interactions:
|
|
|
62
62
|
stdout: |
|
|
63
63
|
3 * 12390 = 37170
|
|
64
64
|
type: code_execution_result
|
|
65
|
-
tool_use_id:
|
|
65
|
+
tool_use_id: srvtoolu_01PZTDQyDyxVNeVikBoNo2fb
|
|
66
66
|
type: code_execution_tool_result
|
|
67
|
-
- text:
|
|
67
|
+
- text: 3 * 12390 = 37,170
|
|
68
68
|
type: text
|
|
69
|
-
id:
|
|
69
|
+
id: msg_01RJnbK7VMxvS2SyvtyJAQVU
|
|
70
70
|
model: claude-sonnet-4-20250514
|
|
71
71
|
role: assistant
|
|
72
72
|
stop_reason: end_turn
|
|
73
73
|
stop_sequence: null
|
|
74
74
|
type: message
|
|
75
75
|
usage:
|
|
76
|
+
cache_creation:
|
|
77
|
+
ephemeral_1h_input_tokens: 0
|
|
78
|
+
ephemeral_5m_input_tokens: 0
|
|
76
79
|
cache_creation_input_tokens: 0
|
|
77
80
|
cache_read_input_tokens: 0
|
|
78
81
|
input_tokens: 1630
|
|
79
|
-
output_tokens:
|
|
82
|
+
output_tokens: 109
|
|
80
83
|
server_tool_use:
|
|
81
84
|
web_search_requests: 0
|
|
82
85
|
service_tier: standard
|
|
@@ -15,7 +15,7 @@ interactions:
|
|
|
15
15
|
- api.anthropic.com
|
|
16
16
|
method: POST
|
|
17
17
|
parsed_body:
|
|
18
|
-
max_tokens:
|
|
18
|
+
max_tokens: 4096
|
|
19
19
|
messages:
|
|
20
20
|
- content:
|
|
21
21
|
- text: Hello, how can I help you?
|
|
@@ -36,7 +36,7 @@ interactions:
|
|
|
36
36
|
connection:
|
|
37
37
|
- keep-alive
|
|
38
38
|
content-length:
|
|
39
|
-
- '
|
|
39
|
+
- '777'
|
|
40
40
|
content-type:
|
|
41
41
|
- application/json
|
|
42
42
|
strict-transport-security:
|
|
@@ -46,26 +46,29 @@ interactions:
|
|
|
46
46
|
parsed_body:
|
|
47
47
|
content:
|
|
48
48
|
- text: |-
|
|
49
|
-
I can't physically give you a potato since I'm a
|
|
49
|
+
I can't physically give you a potato since I'm a digital assistant. However, I can:
|
|
50
50
|
|
|
51
51
|
1. Help you find recipes that use potatoes
|
|
52
|
-
2. Give you tips on how to select, store, or
|
|
53
|
-
3. Share information about different
|
|
54
|
-
4.
|
|
52
|
+
2. Give you tips on how to select, store, or prepare potatoes
|
|
53
|
+
3. Share information about different types of potatoes
|
|
54
|
+
4. Suggest where you might buy potatoes locally
|
|
55
55
|
|
|
56
|
-
What
|
|
56
|
+
What specific information about potatoes would be most helpful to you?
|
|
57
57
|
type: text
|
|
58
|
-
id:
|
|
58
|
+
id: msg_01PAZFa5ciacA9ptgEDMbkZM
|
|
59
59
|
model: claude-3-5-sonnet-20241022
|
|
60
60
|
role: assistant
|
|
61
61
|
stop_reason: end_turn
|
|
62
62
|
stop_sequence: null
|
|
63
63
|
type: message
|
|
64
64
|
usage:
|
|
65
|
+
cache_creation:
|
|
66
|
+
ephemeral_1h_input_tokens: 0
|
|
67
|
+
ephemeral_5m_input_tokens: 0
|
|
65
68
|
cache_creation_input_tokens: 0
|
|
66
69
|
cache_read_input_tokens: 0
|
|
67
70
|
input_tokens: 41
|
|
68
|
-
output_tokens:
|
|
71
|
+
output_tokens: 88
|
|
69
72
|
service_tier: standard
|
|
70
73
|
status:
|
|
71
74
|
code: 200
|
|
@@ -15,7 +15,7 @@ interactions:
|
|
|
15
15
|
- api.anthropic.com
|
|
16
16
|
method: POST
|
|
17
17
|
parsed_body:
|
|
18
|
-
max_tokens:
|
|
18
|
+
max_tokens: 4096
|
|
19
19
|
messages:
|
|
20
20
|
- content:
|
|
21
21
|
- text: What is the capital of France?
|
|
@@ -32,7 +32,7 @@ interactions:
|
|
|
32
32
|
connection:
|
|
33
33
|
- keep-alive
|
|
34
34
|
content-length:
|
|
35
|
-
- '
|
|
35
|
+
- '433'
|
|
36
36
|
content-type:
|
|
37
37
|
- application/json
|
|
38
38
|
strict-transport-security:
|
|
@@ -43,13 +43,16 @@ interactions:
|
|
|
43
43
|
content:
|
|
44
44
|
- text: The capital of France is Paris.
|
|
45
45
|
type: text
|
|
46
|
-
id:
|
|
46
|
+
id: msg_01Fg1JVgvCYUHWsxrj9GkpEv
|
|
47
47
|
model: claude-3-opus-20240229
|
|
48
48
|
role: assistant
|
|
49
49
|
stop_reason: end_turn
|
|
50
50
|
stop_sequence: null
|
|
51
51
|
type: message
|
|
52
52
|
usage:
|
|
53
|
+
cache_creation:
|
|
54
|
+
ephemeral_1h_input_tokens: 0
|
|
55
|
+
ephemeral_5m_input_tokens: 0
|
|
53
56
|
cache_creation_input_tokens: 0
|
|
54
57
|
cache_read_input_tokens: 0
|
|
55
58
|
input_tokens: 20
|
pydantic_ai-0.7.3/tests/models/cassettes/test_anthropic/test_anthropic_model_thinking_part.yaml
ADDED
|
@@ -0,0 +1,255 @@
|
|
|
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
|
+
- '213'
|
|
12
|
+
content-type:
|
|
13
|
+
- application/json
|
|
14
|
+
host:
|
|
15
|
+
- api.anthropic.com
|
|
16
|
+
method: POST
|
|
17
|
+
parsed_body:
|
|
18
|
+
max_tokens: 4096
|
|
19
|
+
messages:
|
|
20
|
+
- content:
|
|
21
|
+
- text: How do I cross the street?
|
|
22
|
+
type: text
|
|
23
|
+
role: user
|
|
24
|
+
model: claude-3-7-sonnet-latest
|
|
25
|
+
stream: false
|
|
26
|
+
thinking:
|
|
27
|
+
budget_tokens: 1024
|
|
28
|
+
type: enabled
|
|
29
|
+
uri: https://api.anthropic.com/v1/messages?beta=true
|
|
30
|
+
response:
|
|
31
|
+
headers:
|
|
32
|
+
connection:
|
|
33
|
+
- keep-alive
|
|
34
|
+
content-length:
|
|
35
|
+
- '2197'
|
|
36
|
+
content-type:
|
|
37
|
+
- application/json
|
|
38
|
+
strict-transport-security:
|
|
39
|
+
- max-age=31536000; includeSubDomains; preload
|
|
40
|
+
transfer-encoding:
|
|
41
|
+
- chunked
|
|
42
|
+
parsed_body:
|
|
43
|
+
content:
|
|
44
|
+
- signature: ErUBCkYIBhgCIkB9AyHADyBknnHL4dh+Yj3rg3javltU/bz1MLHKCQTEVZwvjis+DKTOFSYqZU0F2xasSofECVAmYmgtRf87AL52EgyXRs8lh+1HtZ0V+wAaDBo0eAabII+t1pdHzyIweFpD2l4j1eeUwN8UQOW+bxcN3mwu144OdOoUxmEKeOcU97wv+VF2pCsm07qcvucSKh1P/rZzWuYm7vxdnD4EVFHdBeewghoO0Ngc1MTNsxgC
|
|
45
|
+
thinking: |-
|
|
46
|
+
This is a straightforward question about a common everyday task - crossing the street safely. I should provide clear, helpful instructions that emphasize safety.
|
|
47
|
+
|
|
48
|
+
The basic steps for crossing a street safely include:
|
|
49
|
+
1. Find a designated crossing area if possible (crosswalk, pedestrian crossing)
|
|
50
|
+
2. Look both ways before crossing
|
|
51
|
+
3. Make eye contact with drivers if possible
|
|
52
|
+
4. Follow traffic signals if present
|
|
53
|
+
5. Cross quickly but don't run
|
|
54
|
+
6. Continue to be aware of traffic while crossing
|
|
55
|
+
|
|
56
|
+
I'll provide this information in a clear, helpful way, emphasizing safety without being condescending.
|
|
57
|
+
type: thinking
|
|
58
|
+
- text: |-
|
|
59
|
+
# How to Cross the Street Safely
|
|
60
|
+
|
|
61
|
+
1. **Find the right spot**
|
|
62
|
+
- Use crosswalks, pedestrian crossings, or intersections when available
|
|
63
|
+
- If there's a traffic light, cross at the corner
|
|
64
|
+
|
|
65
|
+
2. **Wait for the right time**
|
|
66
|
+
- At traffic lights, wait for the "WALK" signal or green light
|
|
67
|
+
- At crosswalks without signals, wait for a gap in traffic
|
|
68
|
+
|
|
69
|
+
3. **Look carefully**
|
|
70
|
+
- Look left, then right, then left again (reverse in countries with left-side driving)
|
|
71
|
+
- Make eye contact with drivers to ensure they see you
|
|
72
|
+
|
|
73
|
+
4. **Cross with caution**
|
|
74
|
+
- Walk at a steady pace - don't run
|
|
75
|
+
- Continue watching for traffic as you cross
|
|
76
|
+
- Stay within the crosswalk if there is one
|
|
77
|
+
|
|
78
|
+
5. **Stay alert**
|
|
79
|
+
- Put away distractions like phones
|
|
80
|
+
- Remove headphones or keep volume low to hear traffic
|
|
81
|
+
|
|
82
|
+
Would you like me to explain any of these steps in more detail?
|
|
83
|
+
type: text
|
|
84
|
+
id: msg_01BnZvs3naGorn93wjjCDwbd
|
|
85
|
+
model: claude-3-7-sonnet-20250219
|
|
86
|
+
role: assistant
|
|
87
|
+
stop_reason: end_turn
|
|
88
|
+
stop_sequence: null
|
|
89
|
+
type: message
|
|
90
|
+
usage:
|
|
91
|
+
cache_creation:
|
|
92
|
+
ephemeral_1h_input_tokens: 0
|
|
93
|
+
ephemeral_5m_input_tokens: 0
|
|
94
|
+
cache_creation_input_tokens: 0
|
|
95
|
+
cache_read_input_tokens: 0
|
|
96
|
+
input_tokens: 42
|
|
97
|
+
output_tokens: 363
|
|
98
|
+
service_tier: standard
|
|
99
|
+
status:
|
|
100
|
+
code: 200
|
|
101
|
+
message: OK
|
|
102
|
+
- request:
|
|
103
|
+
headers:
|
|
104
|
+
accept:
|
|
105
|
+
- application/json
|
|
106
|
+
accept-encoding:
|
|
107
|
+
- gzip, deflate
|
|
108
|
+
connection:
|
|
109
|
+
- keep-alive
|
|
110
|
+
content-length:
|
|
111
|
+
- '2195'
|
|
112
|
+
content-type:
|
|
113
|
+
- application/json
|
|
114
|
+
host:
|
|
115
|
+
- api.anthropic.com
|
|
116
|
+
method: POST
|
|
117
|
+
parsed_body:
|
|
118
|
+
max_tokens: 4096
|
|
119
|
+
messages:
|
|
120
|
+
- content:
|
|
121
|
+
- text: How do I cross the street?
|
|
122
|
+
type: text
|
|
123
|
+
role: user
|
|
124
|
+
- content:
|
|
125
|
+
- signature: ErUBCkYIBhgCIkB9AyHADyBknnHL4dh+Yj3rg3javltU/bz1MLHKCQTEVZwvjis+DKTOFSYqZU0F2xasSofECVAmYmgtRf87AL52EgyXRs8lh+1HtZ0V+wAaDBo0eAabII+t1pdHzyIweFpD2l4j1eeUwN8UQOW+bxcN3mwu144OdOoUxmEKeOcU97wv+VF2pCsm07qcvucSKh1P/rZzWuYm7vxdnD4EVFHdBeewghoO0Ngc1MTNsxgC
|
|
126
|
+
thinking: |-
|
|
127
|
+
This is a straightforward question about a common everyday task - crossing the street safely. I should provide clear, helpful instructions that emphasize safety.
|
|
128
|
+
|
|
129
|
+
The basic steps for crossing a street safely include:
|
|
130
|
+
1. Find a designated crossing area if possible (crosswalk, pedestrian crossing)
|
|
131
|
+
2. Look both ways before crossing
|
|
132
|
+
3. Make eye contact with drivers if possible
|
|
133
|
+
4. Follow traffic signals if present
|
|
134
|
+
5. Cross quickly but don't run
|
|
135
|
+
6. Continue to be aware of traffic while crossing
|
|
136
|
+
|
|
137
|
+
I'll provide this information in a clear, helpful way, emphasizing safety without being condescending.
|
|
138
|
+
type: thinking
|
|
139
|
+
- text: |-
|
|
140
|
+
# How to Cross the Street Safely
|
|
141
|
+
|
|
142
|
+
1. **Find the right spot**
|
|
143
|
+
- Use crosswalks, pedestrian crossings, or intersections when available
|
|
144
|
+
- If there's a traffic light, cross at the corner
|
|
145
|
+
|
|
146
|
+
2. **Wait for the right time**
|
|
147
|
+
- At traffic lights, wait for the "WALK" signal or green light
|
|
148
|
+
- At crosswalks without signals, wait for a gap in traffic
|
|
149
|
+
|
|
150
|
+
3. **Look carefully**
|
|
151
|
+
- Look left, then right, then left again (reverse in countries with left-side driving)
|
|
152
|
+
- Make eye contact with drivers to ensure they see you
|
|
153
|
+
|
|
154
|
+
4. **Cross with caution**
|
|
155
|
+
- Walk at a steady pace - don't run
|
|
156
|
+
- Continue watching for traffic as you cross
|
|
157
|
+
- Stay within the crosswalk if there is one
|
|
158
|
+
|
|
159
|
+
5. **Stay alert**
|
|
160
|
+
- Put away distractions like phones
|
|
161
|
+
- Remove headphones or keep volume low to hear traffic
|
|
162
|
+
|
|
163
|
+
Would you like me to explain any of these steps in more detail?
|
|
164
|
+
type: text
|
|
165
|
+
role: assistant
|
|
166
|
+
- content:
|
|
167
|
+
- text: Considering the way to cross the street, analogously, how do I cross the river?
|
|
168
|
+
type: text
|
|
169
|
+
role: user
|
|
170
|
+
model: claude-3-7-sonnet-latest
|
|
171
|
+
stream: false
|
|
172
|
+
thinking:
|
|
173
|
+
budget_tokens: 1024
|
|
174
|
+
type: enabled
|
|
175
|
+
uri: https://api.anthropic.com/v1/messages?beta=true
|
|
176
|
+
response:
|
|
177
|
+
headers:
|
|
178
|
+
connection:
|
|
179
|
+
- keep-alive
|
|
180
|
+
content-length:
|
|
181
|
+
- '2676'
|
|
182
|
+
content-type:
|
|
183
|
+
- application/json
|
|
184
|
+
strict-transport-security:
|
|
185
|
+
- max-age=31536000; includeSubDomains; preload
|
|
186
|
+
transfer-encoding:
|
|
187
|
+
- chunked
|
|
188
|
+
parsed_body:
|
|
189
|
+
content:
|
|
190
|
+
- signature: ErUBCkYIBhgCIkDvSvKCs5ePyYmR6zFw5i+jF7KEmortSIleqDa4gfa3pbuBclQt0TPdacouhdXFHdVSqR4qOAAAOpN7RQEUz2o6Egy9MPee6H8U4SW/G2QaDP/9ysoEvk+yNyVYZSIw+/+5wuRyc3oajwV3w0EdL9CIAXXd5thQH7DwAe3HTFvoJuF4oZ4fU+Kh6LRqxnEaKh3SSRqAH4UH/sD86duzg0jox4J/NH4C9iILVesEERgC
|
|
191
|
+
thinking: |-
|
|
192
|
+
The person is asking me to draw an analogy between crossing a street and crossing a river. I'll structure my response similarly to my street-crossing guidelines, but adapt it for river crossing, which has different safety considerations and methods.
|
|
193
|
+
|
|
194
|
+
For crossing a river, I should include:
|
|
195
|
+
1. Finding the right spot (bridges, shallow areas, ferry points)
|
|
196
|
+
2. Assessing safety (current speed, depth, obstacles)
|
|
197
|
+
3. Choosing the appropriate method (walking across shallow areas, using bridges, boats, etc.)
|
|
198
|
+
4. Safety precautions (life vests, ropes, etc.)
|
|
199
|
+
5. The actual crossing technique
|
|
200
|
+
6. What to do in emergencies
|
|
201
|
+
|
|
202
|
+
I'll keep the format similar to my street-crossing response for consistency.
|
|
203
|
+
type: thinking
|
|
204
|
+
- text: |-
|
|
205
|
+
# How to Cross a River Safely
|
|
206
|
+
|
|
207
|
+
1. **Find the right spot**
|
|
208
|
+
- Use bridges, ferries, or designated crossing points when available
|
|
209
|
+
- Look for narrow or shallow sections if no infrastructure exists
|
|
210
|
+
- Avoid areas with fast currents, whitewater, or dangerous debris
|
|
211
|
+
|
|
212
|
+
2. **Assess the conditions**
|
|
213
|
+
- Check water depth and speed of current
|
|
214
|
+
- Look for hazards like submerged objects or slippery rocks
|
|
215
|
+
- Consider weather conditions that might affect water levels
|
|
216
|
+
|
|
217
|
+
3. **Choose the appropriate method**
|
|
218
|
+
- Bridge or ferry: The safest options
|
|
219
|
+
- Wade across: Only in shallow, calm water with stable footing
|
|
220
|
+
- Swim: Only if you're a strong swimmer and conditions are safe
|
|
221
|
+
- Boat/raft: For wider or deeper crossings
|
|
222
|
+
|
|
223
|
+
4. **Prepare properly**
|
|
224
|
+
- Wear appropriate footwear for wading
|
|
225
|
+
- Use life jackets/flotation devices when swimming or boating
|
|
226
|
+
- Secure belongings in waterproof containers
|
|
227
|
+
- Consider using a walking stick for balance when wading
|
|
228
|
+
|
|
229
|
+
5. **Cross with caution**
|
|
230
|
+
- Face upstream when wading to brace against current
|
|
231
|
+
- Move diagonally downstream if swimming
|
|
232
|
+
- Stay alert for changing conditions
|
|
233
|
+
- Use the buddy system when possible
|
|
234
|
+
|
|
235
|
+
Is there a specific river crossing scenario you're curious about?
|
|
236
|
+
type: text
|
|
237
|
+
id: msg_019Z9a1qnqUCxd7Fj6PuuetE
|
|
238
|
+
model: claude-3-7-sonnet-20250219
|
|
239
|
+
role: assistant
|
|
240
|
+
stop_reason: end_turn
|
|
241
|
+
stop_sequence: null
|
|
242
|
+
type: message
|
|
243
|
+
usage:
|
|
244
|
+
cache_creation:
|
|
245
|
+
ephemeral_1h_input_tokens: 0
|
|
246
|
+
ephemeral_5m_input_tokens: 0
|
|
247
|
+
cache_creation_input_tokens: 0
|
|
248
|
+
cache_read_input_tokens: 0
|
|
249
|
+
input_tokens: 291
|
|
250
|
+
output_tokens: 471
|
|
251
|
+
service_tier: standard
|
|
252
|
+
status:
|
|
253
|
+
code: 200
|
|
254
|
+
message: OK
|
|
255
|
+
version: 1
|