pydantic-ai 1.2.1__tar.gz → 1.4.0__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of pydantic-ai might be problematic. Click here for more details.
- {pydantic_ai-1.2.1 → pydantic_ai-1.4.0}/PKG-INFO +6 -6
- {pydantic_ai-1.2.1 → pydantic_ai-1.4.0}/README.md +1 -1
- pydantic_ai-1.4.0/tests/cassettes/test_temporal/test_web_search_agent_run_in_workflow.yaml +151 -0
- {pydantic_ai-1.2.1 → pydantic_ai-1.4.0}/tests/conftest.py +3 -11
- {pydantic_ai-1.2.1 → pydantic_ai-1.4.0}/tests/evals/test_dataset.py +22 -0
- pydantic_ai-1.4.0/tests/models/cassettes/test_anthropic/test_anthropic_mcp_servers.yaml +401 -0
- pydantic_ai-1.4.0/tests/models/cassettes/test_anthropic/test_anthropic_mcp_servers_stream.yaml +245 -0
- pydantic_ai-1.4.0/tests/models/cassettes/test_bedrock/test_bedrock_model_stream_empty_text_delta.yaml +66 -0
- pydantic_ai-1.4.0/tests/models/cassettes/test_openai_responses/test_openai_responses_model_mcp_server_tool.yaml +375 -0
- pydantic_ai-1.4.0/tests/models/cassettes/test_openai_responses/test_openai_responses_model_mcp_server_tool_stream.yaml +644 -0
- pydantic_ai-1.4.0/tests/models/cassettes/test_openai_responses/test_openai_responses_model_mcp_server_tool_with_connector.yaml +217 -0
- {pydantic_ai-1.2.1 → pydantic_ai-1.4.0}/tests/models/test_anthropic.py +513 -1
- {pydantic_ai-1.2.1 → pydantic_ai-1.4.0}/tests/models/test_bedrock.py +32 -0
- {pydantic_ai-1.2.1 → pydantic_ai-1.4.0}/tests/models/test_deepseek.py +37 -29
- {pydantic_ai-1.2.1 → pydantic_ai-1.4.0}/tests/models/test_google.py +1 -1
- {pydantic_ai-1.2.1 → pydantic_ai-1.4.0}/tests/models/test_groq.py +0 -2
- {pydantic_ai-1.2.1 → pydantic_ai-1.4.0}/tests/models/test_huggingface.py +29 -37
- {pydantic_ai-1.2.1 → pydantic_ai-1.4.0}/tests/models/test_instrumented.py +45 -12
- {pydantic_ai-1.2.1 → pydantic_ai-1.4.0}/tests/models/test_model.py +42 -6
- pydantic_ai-1.4.0/tests/models/test_model_request_parameters.py +132 -0
- {pydantic_ai-1.2.1 → pydantic_ai-1.4.0}/tests/models/test_openai.py +1 -1
- {pydantic_ai-1.2.1 → pydantic_ai-1.4.0}/tests/models/test_openai_responses.py +798 -1
- {pydantic_ai-1.2.1 → pydantic_ai-1.4.0}/tests/providers/cassettes/test_gateway/test_gateway_provider_with_anthropic.yaml +1 -1
- pydantic_ai-1.4.0/tests/providers/cassettes/test_gateway/test_gateway_provider_with_bedrock.yaml +50 -0
- {pydantic_ai-1.2.1 → pydantic_ai-1.4.0}/tests/providers/test_gateway.py +70 -33
- pydantic_ai-1.4.0/tests/providers/test_ovhcloud.py +109 -0
- {pydantic_ai-1.2.1 → pydantic_ai-1.4.0}/tests/providers/test_provider_names.py +16 -9
- {pydantic_ai-1.2.1 → pydantic_ai-1.4.0}/tests/test_a2a.py +25 -15
- {pydantic_ai-1.2.1 → pydantic_ai-1.4.0}/tests/test_agent.py +103 -102
- {pydantic_ai-1.2.1 → pydantic_ai-1.4.0}/tests/test_examples.py +8 -10
- {pydantic_ai-1.2.1 → pydantic_ai-1.4.0}/tests/test_logfire.py +105 -20
- {pydantic_ai-1.2.1 → pydantic_ai-1.4.0}/tests/test_temporal.py +56 -3
- pydantic_ai-1.2.1/tests/models/test_model_request_parameters.py +0 -21
- {pydantic_ai-1.2.1 → pydantic_ai-1.4.0}/.gitignore +0 -0
- {pydantic_ai-1.2.1 → pydantic_ai-1.4.0}/LICENSE +0 -0
- {pydantic_ai-1.2.1 → pydantic_ai-1.4.0}/Makefile +0 -0
- {pydantic_ai-1.2.1 → pydantic_ai-1.4.0}/pyproject.toml +0 -0
- {pydantic_ai-1.2.1 → pydantic_ai-1.4.0}/tests/__init__.py +0 -0
- {pydantic_ai-1.2.1 → pydantic_ai-1.4.0}/tests/assets/dummy.pdf +0 -0
- {pydantic_ai-1.2.1 → pydantic_ai-1.4.0}/tests/assets/dummy.txt +0 -0
- {pydantic_ai-1.2.1 → pydantic_ai-1.4.0}/tests/assets/kiwi.png +0 -0
- {pydantic_ai-1.2.1 → pydantic_ai-1.4.0}/tests/assets/marcelo.mp3 +0 -0
- {pydantic_ai-1.2.1 → pydantic_ai-1.4.0}/tests/assets/product_name.txt +0 -0
- {pydantic_ai-1.2.1 → pydantic_ai-1.4.0}/tests/assets/small_video.mp4 +0 -0
- {pydantic_ai-1.2.1 → pydantic_ai-1.4.0}/tests/cassettes/test_dbos/test_complex_agent_run.yaml +0 -0
- {pydantic_ai-1.2.1 → pydantic_ai-1.4.0}/tests/cassettes/test_dbos/test_complex_agent_run_in_workflow.yaml +0 -0
- {pydantic_ai-1.2.1 → pydantic_ai-1.4.0}/tests/cassettes/test_dbos/test_complex_agent_run_stream_in_workflow.yaml +0 -0
- {pydantic_ai-1.2.1 → pydantic_ai-1.4.0}/tests/cassettes/test_dbos/test_dbos_agent_iter.yaml +0 -0
- {pydantic_ai-1.2.1 → pydantic_ai-1.4.0}/tests/cassettes/test_dbos/test_dbos_agent_iter_in_workflow.yaml +0 -0
- {pydantic_ai-1.2.1 → pydantic_ai-1.4.0}/tests/cassettes/test_dbos/test_dbos_agent_override_deps_in_workflow.yaml +0 -0
- {pydantic_ai-1.2.1 → pydantic_ai-1.4.0}/tests/cassettes/test_dbos/test_dbos_agent_override_tools_in_workflow.yaml +0 -0
- {pydantic_ai-1.2.1 → pydantic_ai-1.4.0}/tests/cassettes/test_dbos/test_dbos_agent_run.yaml +0 -0
- {pydantic_ai-1.2.1 → pydantic_ai-1.4.0}/tests/cassettes/test_dbos/test_dbos_agent_run_in_workflow_with_toolsets.yaml +0 -0
- {pydantic_ai-1.2.1 → pydantic_ai-1.4.0}/tests/cassettes/test_dbos/test_dbos_agent_run_stream.yaml +0 -0
- {pydantic_ai-1.2.1 → pydantic_ai-1.4.0}/tests/cassettes/test_dbos/test_dbos_agent_run_sync.yaml +0 -0
- {pydantic_ai-1.2.1 → pydantic_ai-1.4.0}/tests/cassettes/test_dbos/test_dbos_agent_run_sync_in_workflow.yaml +0 -0
- {pydantic_ai-1.2.1 → pydantic_ai-1.4.0}/tests/cassettes/test_dbos/test_dbos_agent_with_dataclass_deps_as_dict.yaml +0 -0
- {pydantic_ai-1.2.1 → pydantic_ai-1.4.0}/tests/cassettes/test_dbos/test_dbos_agent_with_hitl_tool.yaml +0 -0
- {pydantic_ai-1.2.1 → pydantic_ai-1.4.0}/tests/cassettes/test_dbos/test_dbos_agent_with_hitl_tool_sync.yaml +0 -0
- {pydantic_ai-1.2.1 → pydantic_ai-1.4.0}/tests/cassettes/test_dbos/test_dbos_agent_with_model_retry.yaml +0 -0
- {pydantic_ai-1.2.1 → pydantic_ai-1.4.0}/tests/cassettes/test_dbos/test_dbos_agent_with_non_dict_deps.yaml +0 -0
- {pydantic_ai-1.2.1 → pydantic_ai-1.4.0}/tests/cassettes/test_dbos/test_dbos_agent_with_unserializable_deps_type.yaml +0 -0
- {pydantic_ai-1.2.1 → pydantic_ai-1.4.0}/tests/cassettes/test_dbos/test_dbos_model_stream_direct.yaml +0 -0
- {pydantic_ai-1.2.1 → pydantic_ai-1.4.0}/tests/cassettes/test_dbos/test_multiple_agents.yaml +0 -0
- {pydantic_ai-1.2.1 → pydantic_ai-1.4.0}/tests/cassettes/test_dbos/test_simple_agent_run_in_workflow.yaml +0 -0
- {pydantic_ai-1.2.1 → pydantic_ai-1.4.0}/tests/cassettes/test_mcp/test_agent_with_server_not_running.yaml +0 -0
- {pydantic_ai-1.2.1 → pydantic_ai-1.4.0}/tests/cassettes/test_mcp/test_agent_with_stdio_server.yaml +0 -0
- {pydantic_ai-1.2.1 → pydantic_ai-1.4.0}/tests/cassettes/test_mcp/test_tool_returning_audio_resource.yaml +0 -0
- {pydantic_ai-1.2.1 → pydantic_ai-1.4.0}/tests/cassettes/test_mcp/test_tool_returning_audio_resource_link.yaml +0 -0
- {pydantic_ai-1.2.1 → pydantic_ai-1.4.0}/tests/cassettes/test_mcp/test_tool_returning_dict.yaml +0 -0
- {pydantic_ai-1.2.1 → pydantic_ai-1.4.0}/tests/cassettes/test_mcp/test_tool_returning_error.yaml +0 -0
- {pydantic_ai-1.2.1 → pydantic_ai-1.4.0}/tests/cassettes/test_mcp/test_tool_returning_image.yaml +0 -0
- {pydantic_ai-1.2.1 → pydantic_ai-1.4.0}/tests/cassettes/test_mcp/test_tool_returning_image_resource.yaml +0 -0
- {pydantic_ai-1.2.1 → pydantic_ai-1.4.0}/tests/cassettes/test_mcp/test_tool_returning_image_resource_link.yaml +0 -0
- {pydantic_ai-1.2.1 → pydantic_ai-1.4.0}/tests/cassettes/test_mcp/test_tool_returning_multiple_items.yaml +0 -0
- {pydantic_ai-1.2.1 → pydantic_ai-1.4.0}/tests/cassettes/test_mcp/test_tool_returning_none.yaml +0 -0
- {pydantic_ai-1.2.1 → pydantic_ai-1.4.0}/tests/cassettes/test_mcp/test_tool_returning_str.yaml +0 -0
- {pydantic_ai-1.2.1 → pydantic_ai-1.4.0}/tests/cassettes/test_mcp/test_tool_returning_text_resource.yaml +0 -0
- {pydantic_ai-1.2.1 → pydantic_ai-1.4.0}/tests/cassettes/test_mcp/test_tool_returning_text_resource_link.yaml +0 -0
- {pydantic_ai-1.2.1 → pydantic_ai-1.4.0}/tests/cassettes/test_mcp/test_tool_returning_unstructured_dict.yaml +0 -0
- {pydantic_ai-1.2.1 → pydantic_ai-1.4.0}/tests/cassettes/test_prefect/test_complex_agent_run_in_flow.yaml +0 -0
- {pydantic_ai-1.2.1 → pydantic_ai-1.4.0}/tests/cassettes/test_prefect/test_iter_in_flow.yaml +0 -0
- {pydantic_ai-1.2.1 → pydantic_ai-1.4.0}/tests/cassettes/test_prefect/test_multiple_agents.yaml +0 -0
- {pydantic_ai-1.2.1 → pydantic_ai-1.4.0}/tests/cassettes/test_prefect/test_prefect_agent_iter.yaml +0 -0
- {pydantic_ai-1.2.1 → pydantic_ai-1.4.0}/tests/cassettes/test_prefect/test_prefect_agent_override_deps.yaml +0 -0
- {pydantic_ai-1.2.1 → pydantic_ai-1.4.0}/tests/cassettes/test_prefect/test_prefect_agent_override_tools.yaml +0 -0
- {pydantic_ai-1.2.1 → pydantic_ai-1.4.0}/tests/cassettes/test_prefect/test_prefect_agent_override_toolsets.yaml +0 -0
- {pydantic_ai-1.2.1 → pydantic_ai-1.4.0}/tests/cassettes/test_prefect/test_prefect_agent_run.yaml +0 -0
- {pydantic_ai-1.2.1 → pydantic_ai-1.4.0}/tests/cassettes/test_prefect/test_prefect_agent_run_stream.yaml +0 -0
- {pydantic_ai-1.2.1 → pydantic_ai-1.4.0}/tests/cassettes/test_prefect/test_prefect_agent_run_stream_events.yaml +0 -0
- {pydantic_ai-1.2.1 → pydantic_ai-1.4.0}/tests/cassettes/test_prefect/test_prefect_agent_run_sync.yaml +0 -0
- {pydantic_ai-1.2.1 → pydantic_ai-1.4.0}/tests/cassettes/test_prefect/test_prefect_agent_with_hitl_tool.yaml +0 -0
- {pydantic_ai-1.2.1 → pydantic_ai-1.4.0}/tests/cassettes/test_prefect/test_prefect_agent_with_hitl_tool_sync.yaml +0 -0
- {pydantic_ai-1.2.1 → pydantic_ai-1.4.0}/tests/cassettes/test_prefect/test_prefect_agent_with_model_retry.yaml +0 -0
- {pydantic_ai-1.2.1 → pydantic_ai-1.4.0}/tests/cassettes/test_prefect/test_prefect_agent_with_unserializable_deps.yaml +0 -0
- {pydantic_ai-1.2.1 → pydantic_ai-1.4.0}/tests/cassettes/test_prefect/test_run_stream_in_flow.yaml +0 -0
- {pydantic_ai-1.2.1 → pydantic_ai-1.4.0}/tests/cassettes/test_prefect/test_run_sync_in_flow.yaml +0 -0
- {pydantic_ai-1.2.1 → pydantic_ai-1.4.0}/tests/cassettes/test_prefect/test_simple_agent_run_in_flow.yaml +0 -0
- {pydantic_ai-1.2.1 → pydantic_ai-1.4.0}/tests/cassettes/test_settings/test_stop_settings[anthropic].yaml +0 -0
- {pydantic_ai-1.2.1 → pydantic_ai-1.4.0}/tests/cassettes/test_settings/test_stop_settings[bedrock].yaml +0 -0
- {pydantic_ai-1.2.1 → pydantic_ai-1.4.0}/tests/cassettes/test_settings/test_stop_settings[cohere].yaml +0 -0
- {pydantic_ai-1.2.1 → pydantic_ai-1.4.0}/tests/cassettes/test_settings/test_stop_settings[gemini].yaml +0 -0
- {pydantic_ai-1.2.1 → pydantic_ai-1.4.0}/tests/cassettes/test_settings/test_stop_settings[google].yaml +0 -0
- {pydantic_ai-1.2.1 → pydantic_ai-1.4.0}/tests/cassettes/test_settings/test_stop_settings[groq].yaml +0 -0
- {pydantic_ai-1.2.1 → pydantic_ai-1.4.0}/tests/cassettes/test_settings/test_stop_settings[mistral].yaml +0 -0
- {pydantic_ai-1.2.1 → pydantic_ai-1.4.0}/tests/cassettes/test_settings/test_stop_settings[openai].yaml +0 -0
- {pydantic_ai-1.2.1 → pydantic_ai-1.4.0}/tests/cassettes/test_temporal/test_complex_agent_run.yaml +0 -0
- {pydantic_ai-1.2.1 → pydantic_ai-1.4.0}/tests/cassettes/test_temporal/test_complex_agent_run_in_workflow.yaml +0 -0
- {pydantic_ai-1.2.1 → pydantic_ai-1.4.0}/tests/cassettes/test_temporal/test_complex_agent_run_stream_in_workflow.yaml +0 -0
- {pydantic_ai-1.2.1 → pydantic_ai-1.4.0}/tests/cassettes/test_temporal/test_logfire_plugin.yaml +0 -0
- {pydantic_ai-1.2.1 → pydantic_ai-1.4.0}/tests/cassettes/test_temporal/test_multiple_agents.yaml +0 -0
- {pydantic_ai-1.2.1 → pydantic_ai-1.4.0}/tests/cassettes/test_temporal/test_simple_agent_run_in_workflow.yaml +0 -0
- {pydantic_ai-1.2.1 → pydantic_ai-1.4.0}/tests/cassettes/test_temporal/test_temporal_agent_iter.yaml +0 -0
- {pydantic_ai-1.2.1 → pydantic_ai-1.4.0}/tests/cassettes/test_temporal/test_temporal_agent_override_deps_in_workflow.yaml +0 -0
- {pydantic_ai-1.2.1 → pydantic_ai-1.4.0}/tests/cassettes/test_temporal/test_temporal_agent_run.yaml +0 -0
- {pydantic_ai-1.2.1 → pydantic_ai-1.4.0}/tests/cassettes/test_temporal/test_temporal_agent_run_stream.yaml +0 -0
- {pydantic_ai-1.2.1 → pydantic_ai-1.4.0}/tests/cassettes/test_temporal/test_temporal_agent_run_stream_events.yaml +0 -0
- {pydantic_ai-1.2.1 → pydantic_ai-1.4.0}/tests/cassettes/test_temporal/test_temporal_agent_run_sync.yaml +0 -0
- {pydantic_ai-1.2.1 → pydantic_ai-1.4.0}/tests/cassettes/test_temporal/test_temporal_agent_sync_tool_activity_disabled.yaml +0 -0
- {pydantic_ai-1.2.1 → pydantic_ai-1.4.0}/tests/cassettes/test_temporal/test_temporal_agent_with_dataclass_deps_as_dict.yaml +0 -0
- {pydantic_ai-1.2.1 → pydantic_ai-1.4.0}/tests/cassettes/test_temporal/test_temporal_agent_with_hitl_tool.yaml +0 -0
- {pydantic_ai-1.2.1 → pydantic_ai-1.4.0}/tests/cassettes/test_temporal/test_temporal_agent_with_model_retry.yaml +0 -0
- {pydantic_ai-1.2.1 → pydantic_ai-1.4.0}/tests/cassettes/test_temporal/test_temporal_agent_with_non_dict_deps.yaml +0 -0
- {pydantic_ai-1.2.1 → pydantic_ai-1.4.0}/tests/cassettes/test_temporal/test_temporal_agent_with_unserializable_deps_type.yaml +0 -0
- {pydantic_ai-1.2.1 → pydantic_ai-1.4.0}/tests/evals/__init__.py +0 -0
- {pydantic_ai-1.2.1 → pydantic_ai-1.4.0}/tests/evals/test_evaluator_base.py +0 -0
- {pydantic_ai-1.2.1 → pydantic_ai-1.4.0}/tests/evals/test_evaluator_common.py +0 -0
- {pydantic_ai-1.2.1 → pydantic_ai-1.4.0}/tests/evals/test_evaluator_context.py +0 -0
- {pydantic_ai-1.2.1 → pydantic_ai-1.4.0}/tests/evals/test_evaluator_spec.py +0 -0
- {pydantic_ai-1.2.1 → pydantic_ai-1.4.0}/tests/evals/test_evaluators.py +0 -0
- {pydantic_ai-1.2.1 → pydantic_ai-1.4.0}/tests/evals/test_llm_as_a_judge.py +0 -0
- {pydantic_ai-1.2.1 → pydantic_ai-1.4.0}/tests/evals/test_otel.py +0 -0
- {pydantic_ai-1.2.1 → pydantic_ai-1.4.0}/tests/evals/test_render_numbers.py +0 -0
- {pydantic_ai-1.2.1 → pydantic_ai-1.4.0}/tests/evals/test_reporting.py +0 -0
- {pydantic_ai-1.2.1 → pydantic_ai-1.4.0}/tests/evals/test_reports.py +0 -0
- {pydantic_ai-1.2.1 → pydantic_ai-1.4.0}/tests/evals/test_utils.py +0 -0
- {pydantic_ai-1.2.1 → pydantic_ai-1.4.0}/tests/evals/utils.py +0 -0
- {pydantic_ai-1.2.1 → pydantic_ai-1.4.0}/tests/example_modules/README.md +0 -0
- {pydantic_ai-1.2.1 → pydantic_ai-1.4.0}/tests/example_modules/bank_database.py +0 -0
- {pydantic_ai-1.2.1 → pydantic_ai-1.4.0}/tests/example_modules/fake_database.py +0 -0
- {pydantic_ai-1.2.1 → pydantic_ai-1.4.0}/tests/example_modules/mcp_server.py +0 -0
- {pydantic_ai-1.2.1 → pydantic_ai-1.4.0}/tests/example_modules/weather_service.py +0 -0
- {pydantic_ai-1.2.1 → pydantic_ai-1.4.0}/tests/ext/__init__.py +0 -0
- {pydantic_ai-1.2.1 → pydantic_ai-1.4.0}/tests/ext/test_langchain.py +0 -0
- {pydantic_ai-1.2.1 → pydantic_ai-1.4.0}/tests/graph/__init__.py +0 -0
- {pydantic_ai-1.2.1 → pydantic_ai-1.4.0}/tests/graph/test_file_persistence.py +0 -0
- {pydantic_ai-1.2.1 → pydantic_ai-1.4.0}/tests/graph/test_graph.py +0 -0
- {pydantic_ai-1.2.1 → pydantic_ai-1.4.0}/tests/graph/test_mermaid.py +0 -0
- {pydantic_ai-1.2.1 → pydantic_ai-1.4.0}/tests/graph/test_persistence.py +0 -0
- {pydantic_ai-1.2.1 → pydantic_ai-1.4.0}/tests/graph/test_state.py +0 -0
- {pydantic_ai-1.2.1 → pydantic_ai-1.4.0}/tests/graph/test_utils.py +0 -0
- {pydantic_ai-1.2.1 → pydantic_ai-1.4.0}/tests/import_examples.py +0 -0
- {pydantic_ai-1.2.1 → pydantic_ai-1.4.0}/tests/json_body_serializer.py +0 -0
- {pydantic_ai-1.2.1 → pydantic_ai-1.4.0}/tests/mcp_server.py +0 -0
- {pydantic_ai-1.2.1 → pydantic_ai-1.4.0}/tests/models/__init__.py +0 -0
- {pydantic_ai-1.2.1 → pydantic_ai-1.4.0}/tests/models/cassettes/test_anthropic/test_anthropic_code_execution_tool.yaml +0 -0
- {pydantic_ai-1.2.1 → pydantic_ai-1.4.0}/tests/models/cassettes/test_anthropic/test_anthropic_code_execution_tool_stream.yaml +0 -0
- {pydantic_ai-1.2.1 → pydantic_ai-1.4.0}/tests/models/cassettes/test_anthropic/test_anthropic_memory_tool.yaml +0 -0
- {pydantic_ai-1.2.1 → pydantic_ai-1.4.0}/tests/models/cassettes/test_anthropic/test_anthropic_model_empty_message_on_history.yaml +0 -0
- {pydantic_ai-1.2.1 → pydantic_ai-1.4.0}/tests/models/cassettes/test_anthropic/test_anthropic_model_instructions.yaml +0 -0
- {pydantic_ai-1.2.1 → pydantic_ai-1.4.0}/tests/models/cassettes/test_anthropic/test_anthropic_model_thinking_part.yaml +0 -0
- {pydantic_ai-1.2.1 → pydantic_ai-1.4.0}/tests/models/cassettes/test_anthropic/test_anthropic_model_thinking_part_from_other_model.yaml +0 -0
- {pydantic_ai-1.2.1 → pydantic_ai-1.4.0}/tests/models/cassettes/test_anthropic/test_anthropic_model_thinking_part_redacted.yaml +0 -0
- {pydantic_ai-1.2.1 → pydantic_ai-1.4.0}/tests/models/cassettes/test_anthropic/test_anthropic_model_thinking_part_redacted_stream.yaml +0 -0
- {pydantic_ai-1.2.1 → pydantic_ai-1.4.0}/tests/models/cassettes/test_anthropic/test_anthropic_model_thinking_part_stream.yaml +0 -0
- {pydantic_ai-1.2.1 → pydantic_ai-1.4.0}/tests/models/cassettes/test_anthropic/test_anthropic_model_web_search_tool_stream.yaml +0 -0
- {pydantic_ai-1.2.1 → pydantic_ai-1.4.0}/tests/models/cassettes/test_anthropic/test_anthropic_output_tool_with_thinking.yaml +0 -0
- {pydantic_ai-1.2.1 → pydantic_ai-1.4.0}/tests/models/cassettes/test_anthropic/test_anthropic_prompted_output.yaml +0 -0
- {pydantic_ai-1.2.1 → pydantic_ai-1.4.0}/tests/models/cassettes/test_anthropic/test_anthropic_prompted_output_multiple.yaml +0 -0
- {pydantic_ai-1.2.1 → pydantic_ai-1.4.0}/tests/models/cassettes/test_anthropic/test_anthropic_server_tool_pass_history_to_another_provider.yaml +0 -0
- {pydantic_ai-1.2.1 → pydantic_ai-1.4.0}/tests/models/cassettes/test_anthropic/test_anthropic_server_tool_receive_history_from_another_provider.yaml +0 -0
- {pydantic_ai-1.2.1 → pydantic_ai-1.4.0}/tests/models/cassettes/test_anthropic/test_anthropic_text_output_function.yaml +0 -0
- {pydantic_ai-1.2.1 → pydantic_ai-1.4.0}/tests/models/cassettes/test_anthropic/test_anthropic_text_parts_ahead_of_built_in_tool_call.yaml +0 -0
- {pydantic_ai-1.2.1 → pydantic_ai-1.4.0}/tests/models/cassettes/test_anthropic/test_anthropic_tool_output.yaml +0 -0
- {pydantic_ai-1.2.1 → pydantic_ai-1.4.0}/tests/models/cassettes/test_anthropic/test_anthropic_tool_with_thinking.yaml +0 -0
- {pydantic_ai-1.2.1 → pydantic_ai-1.4.0}/tests/models/cassettes/test_anthropic/test_anthropic_web_search_tool.yaml +0 -0
- {pydantic_ai-1.2.1 → pydantic_ai-1.4.0}/tests/models/cassettes/test_anthropic/test_anthropic_web_search_tool_stream.yaml +0 -0
- {pydantic_ai-1.2.1 → pydantic_ai-1.4.0}/tests/models/cassettes/test_anthropic/test_document_binary_content_input.yaml +0 -0
- {pydantic_ai-1.2.1 → pydantic_ai-1.4.0}/tests/models/cassettes/test_anthropic/test_document_url_input.yaml +0 -0
- {pydantic_ai-1.2.1 → pydantic_ai-1.4.0}/tests/models/cassettes/test_anthropic/test_extra_headers.yaml +0 -0
- {pydantic_ai-1.2.1 → pydantic_ai-1.4.0}/tests/models/cassettes/test_anthropic/test_image_as_binary_content_tool_response.yaml +0 -0
- {pydantic_ai-1.2.1 → pydantic_ai-1.4.0}/tests/models/cassettes/test_anthropic/test_image_url_input.yaml +0 -0
- {pydantic_ai-1.2.1 → pydantic_ai-1.4.0}/tests/models/cassettes/test_anthropic/test_image_url_input_invalid_mime_type.yaml +0 -0
- {pydantic_ai-1.2.1 → pydantic_ai-1.4.0}/tests/models/cassettes/test_anthropic/test_multiple_parallel_tool_calls.yaml +0 -0
- {pydantic_ai-1.2.1 → pydantic_ai-1.4.0}/tests/models/cassettes/test_anthropic/test_text_document_url_input.yaml +0 -0
- {pydantic_ai-1.2.1 → pydantic_ai-1.4.0}/tests/models/cassettes/test_bedrock/test_bedrock_anthropic_tool_with_thinking.yaml +0 -0
- {pydantic_ai-1.2.1 → pydantic_ai-1.4.0}/tests/models/cassettes/test_bedrock/test_bedrock_empty_system_prompt.yaml +0 -0
- {pydantic_ai-1.2.1 → pydantic_ai-1.4.0}/tests/models/cassettes/test_bedrock/test_bedrock_model.yaml +0 -0
- {pydantic_ai-1.2.1 → pydantic_ai-1.4.0}/tests/models/cassettes/test_bedrock/test_bedrock_model_anthropic_model_without_tools.yaml +0 -0
- {pydantic_ai-1.2.1 → pydantic_ai-1.4.0}/tests/models/cassettes/test_bedrock/test_bedrock_model_guardrail_config.yaml +0 -0
- {pydantic_ai-1.2.1 → pydantic_ai-1.4.0}/tests/models/cassettes/test_bedrock/test_bedrock_model_instructions.yaml +0 -0
- {pydantic_ai-1.2.1 → pydantic_ai-1.4.0}/tests/models/cassettes/test_bedrock/test_bedrock_model_iter_stream.yaml +0 -0
- {pydantic_ai-1.2.1 → pydantic_ai-1.4.0}/tests/models/cassettes/test_bedrock/test_bedrock_model_max_tokens.yaml +0 -0
- {pydantic_ai-1.2.1 → pydantic_ai-1.4.0}/tests/models/cassettes/test_bedrock/test_bedrock_model_other_parameters.yaml +0 -0
- {pydantic_ai-1.2.1 → pydantic_ai-1.4.0}/tests/models/cassettes/test_bedrock/test_bedrock_model_performance_config.yaml +0 -0
- {pydantic_ai-1.2.1 → pydantic_ai-1.4.0}/tests/models/cassettes/test_bedrock/test_bedrock_model_retry.yaml +0 -0
- {pydantic_ai-1.2.1 → pydantic_ai-1.4.0}/tests/models/cassettes/test_bedrock/test_bedrock_model_stream.yaml +0 -0
- {pydantic_ai-1.2.1 → pydantic_ai-1.4.0}/tests/models/cassettes/test_bedrock/test_bedrock_model_structured_output.yaml +0 -0
- {pydantic_ai-1.2.1 → pydantic_ai-1.4.0}/tests/models/cassettes/test_bedrock/test_bedrock_model_thinking_part_anthropic.yaml +0 -0
- {pydantic_ai-1.2.1 → pydantic_ai-1.4.0}/tests/models/cassettes/test_bedrock/test_bedrock_model_thinking_part_deepseek.yaml +0 -0
- {pydantic_ai-1.2.1 → pydantic_ai-1.4.0}/tests/models/cassettes/test_bedrock/test_bedrock_model_thinking_part_from_other_model.yaml +0 -0
- {pydantic_ai-1.2.1 → pydantic_ai-1.4.0}/tests/models/cassettes/test_bedrock/test_bedrock_model_thinking_part_redacted.yaml +0 -0
- {pydantic_ai-1.2.1 → pydantic_ai-1.4.0}/tests/models/cassettes/test_bedrock/test_bedrock_model_thinking_part_redacted_stream.yaml +0 -0
- {pydantic_ai-1.2.1 → pydantic_ai-1.4.0}/tests/models/cassettes/test_bedrock/test_bedrock_model_thinking_part_stream.yaml +0 -0
- {pydantic_ai-1.2.1 → pydantic_ai-1.4.0}/tests/models/cassettes/test_bedrock/test_bedrock_model_top_p.yaml +0 -0
- {pydantic_ai-1.2.1 → pydantic_ai-1.4.0}/tests/models/cassettes/test_bedrock/test_bedrock_multiple_documents_in_history.yaml +0 -0
- {pydantic_ai-1.2.1 → pydantic_ai-1.4.0}/tests/models/cassettes/test_bedrock/test_document_url_input.yaml +0 -0
- {pydantic_ai-1.2.1 → pydantic_ai-1.4.0}/tests/models/cassettes/test_bedrock/test_image_as_binary_content_input.yaml +0 -0
- {pydantic_ai-1.2.1 → pydantic_ai-1.4.0}/tests/models/cassettes/test_bedrock/test_image_url_input.yaml +0 -0
- {pydantic_ai-1.2.1 → pydantic_ai-1.4.0}/tests/models/cassettes/test_bedrock/test_text_as_binary_content_input.yaml +0 -0
- {pydantic_ai-1.2.1 → pydantic_ai-1.4.0}/tests/models/cassettes/test_bedrock/test_text_document_url_input.yaml +0 -0
- {pydantic_ai-1.2.1 → pydantic_ai-1.4.0}/tests/models/cassettes/test_bedrock/test_video_as_binary_content_input.yaml +0 -0
- {pydantic_ai-1.2.1 → pydantic_ai-1.4.0}/tests/models/cassettes/test_bedrock/test_video_url_input.yaml +0 -0
- {pydantic_ai-1.2.1 → pydantic_ai-1.4.0}/tests/models/cassettes/test_cohere/test_cohere_model_instructions.yaml +0 -0
- {pydantic_ai-1.2.1 → pydantic_ai-1.4.0}/tests/models/cassettes/test_cohere/test_cohere_model_thinking_part.yaml +0 -0
- {pydantic_ai-1.2.1 → pydantic_ai-1.4.0}/tests/models/cassettes/test_cohere/test_request_simple_success_with_vcr.yaml +0 -0
- {pydantic_ai-1.2.1 → pydantic_ai-1.4.0}/tests/models/cassettes/test_deepseek/test_deepseek_model_thinking_part.yaml +0 -0
- {pydantic_ai-1.2.1 → pydantic_ai-1.4.0}/tests/models/cassettes/test_deepseek/test_deepseek_model_thinking_stream.yaml +0 -0
- {pydantic_ai-1.2.1 → pydantic_ai-1.4.0}/tests/models/cassettes/test_download_item/test_download_item_application_octet_stream.yaml +0 -0
- {pydantic_ai-1.2.1 → pydantic_ai-1.4.0}/tests/models/cassettes/test_download_item/test_download_item_audio_mpeg.yaml +0 -0
- {pydantic_ai-1.2.1 → pydantic_ai-1.4.0}/tests/models/cassettes/test_download_item/test_download_item_no_content_type.yaml +0 -0
- {pydantic_ai-1.2.1 → pydantic_ai-1.4.0}/tests/models/cassettes/test_gemini/test_document_url_input.yaml +0 -0
- {pydantic_ai-1.2.1 → pydantic_ai-1.4.0}/tests/models/cassettes/test_gemini/test_gemini_additional_properties_is_false.yaml +0 -0
- {pydantic_ai-1.2.1 → pydantic_ai-1.4.0}/tests/models/cassettes/test_gemini/test_gemini_additional_properties_is_true.yaml +0 -0
- {pydantic_ai-1.2.1 → pydantic_ai-1.4.0}/tests/models/cassettes/test_gemini/test_gemini_drop_exclusive_maximum.yaml +0 -0
- {pydantic_ai-1.2.1 → pydantic_ai-1.4.0}/tests/models/cassettes/test_gemini/test_gemini_exclusive_minimum_and_maximum.yaml +0 -0
- {pydantic_ai-1.2.1 → pydantic_ai-1.4.0}/tests/models/cassettes/test_gemini/test_gemini_model_instructions.yaml +0 -0
- {pydantic_ai-1.2.1 → pydantic_ai-1.4.0}/tests/models/cassettes/test_gemini/test_gemini_model_thinking_part.yaml +0 -0
- {pydantic_ai-1.2.1 → pydantic_ai-1.4.0}/tests/models/cassettes/test_gemini/test_gemini_native_output.yaml +0 -0
- {pydantic_ai-1.2.1 → pydantic_ai-1.4.0}/tests/models/cassettes/test_gemini/test_gemini_native_output_multiple.yaml +0 -0
- {pydantic_ai-1.2.1 → pydantic_ai-1.4.0}/tests/models/cassettes/test_gemini/test_gemini_prompted_output.yaml +0 -0
- {pydantic_ai-1.2.1 → pydantic_ai-1.4.0}/tests/models/cassettes/test_gemini/test_gemini_prompted_output_multiple.yaml +0 -0
- {pydantic_ai-1.2.1 → pydantic_ai-1.4.0}/tests/models/cassettes/test_gemini/test_gemini_prompted_output_with_tools.yaml +0 -0
- {pydantic_ai-1.2.1 → pydantic_ai-1.4.0}/tests/models/cassettes/test_gemini/test_gemini_text_output_function.yaml +0 -0
- {pydantic_ai-1.2.1 → pydantic_ai-1.4.0}/tests/models/cassettes/test_gemini/test_gemini_tool_config_any_with_tool_without_args.yaml +0 -0
- {pydantic_ai-1.2.1 → pydantic_ai-1.4.0}/tests/models/cassettes/test_gemini/test_gemini_tool_output.yaml +0 -0
- {pydantic_ai-1.2.1 → pydantic_ai-1.4.0}/tests/models/cassettes/test_gemini/test_gemini_youtube_video_url_input.yaml +0 -0
- {pydantic_ai-1.2.1 → pydantic_ai-1.4.0}/tests/models/cassettes/test_gemini/test_image_as_binary_content_input.yaml +0 -0
- {pydantic_ai-1.2.1 → pydantic_ai-1.4.0}/tests/models/cassettes/test_gemini/test_image_as_binary_content_tool_response.yaml +0 -0
- {pydantic_ai-1.2.1 → pydantic_ai-1.4.0}/tests/models/cassettes/test_gemini/test_image_url_input.yaml +0 -0
- {pydantic_ai-1.2.1 → pydantic_ai-1.4.0}/tests/models/cassettes/test_gemini/test_labels_are_ignored_with_gla_provider.yaml +0 -0
- {pydantic_ai-1.2.1 → pydantic_ai-1.4.0}/tests/models/cassettes/test_gemini/test_video_as_binary_content_input.yaml +0 -0
- {pydantic_ai-1.2.1 → pydantic_ai-1.4.0}/tests/models/cassettes/test_gemini/test_video_url_input.yaml +0 -0
- {pydantic_ai-1.2.1 → pydantic_ai-1.4.0}/tests/models/cassettes/test_gemini_vertex/test_labels.yaml +0 -0
- {pydantic_ai-1.2.1 → pydantic_ai-1.4.0}/tests/models/cassettes/test_gemini_vertex/test_url_input[AudioUrl (gs)].yaml +0 -0
- {pydantic_ai-1.2.1 → pydantic_ai-1.4.0}/tests/models/cassettes/test_gemini_vertex/test_url_input[AudioUrl].yaml +0 -0
- {pydantic_ai-1.2.1 → pydantic_ai-1.4.0}/tests/models/cassettes/test_gemini_vertex/test_url_input[DocumentUrl (gs)].yaml +0 -0
- {pydantic_ai-1.2.1 → pydantic_ai-1.4.0}/tests/models/cassettes/test_gemini_vertex/test_url_input[DocumentUrl].yaml +0 -0
- {pydantic_ai-1.2.1 → pydantic_ai-1.4.0}/tests/models/cassettes/test_gemini_vertex/test_url_input[ImageUrl (gs)].yaml +0 -0
- {pydantic_ai-1.2.1 → pydantic_ai-1.4.0}/tests/models/cassettes/test_gemini_vertex/test_url_input[ImageUrl].yaml +0 -0
- {pydantic_ai-1.2.1 → pydantic_ai-1.4.0}/tests/models/cassettes/test_gemini_vertex/test_url_input[VideoUrl (YouTube)].yaml +0 -0
- {pydantic_ai-1.2.1 → pydantic_ai-1.4.0}/tests/models/cassettes/test_gemini_vertex/test_url_input[VideoUrl (gs)].yaml +0 -0
- {pydantic_ai-1.2.1 → pydantic_ai-1.4.0}/tests/models/cassettes/test_gemini_vertex/test_url_input[VideoUrl].yaml +0 -0
- {pydantic_ai-1.2.1 → pydantic_ai-1.4.0}/tests/models/cassettes/test_gemini_vertex/test_url_input_force_download.yaml +0 -0
- {pydantic_ai-1.2.1 → pydantic_ai-1.4.0}/tests/models/cassettes/test_google/test_google_builtin_tools_with_other_tools.yaml +0 -0
- {pydantic_ai-1.2.1 → pydantic_ai-1.4.0}/tests/models/cassettes/test_google/test_google_image_and_text_output.yaml +0 -0
- {pydantic_ai-1.2.1 → pydantic_ai-1.4.0}/tests/models/cassettes/test_google/test_google_image_generation.yaml +0 -0
- {pydantic_ai-1.2.1 → pydantic_ai-1.4.0}/tests/models/cassettes/test_google/test_google_image_generation_stream.yaml +0 -0
- {pydantic_ai-1.2.1 → pydantic_ai-1.4.0}/tests/models/cassettes/test_google/test_google_image_generation_with_text.yaml +0 -0
- {pydantic_ai-1.2.1 → pydantic_ai-1.4.0}/tests/models/cassettes/test_google/test_google_image_or_text_output.yaml +0 -0
- {pydantic_ai-1.2.1 → pydantic_ai-1.4.0}/tests/models/cassettes/test_google/test_google_model.yaml +0 -0
- {pydantic_ai-1.2.1 → pydantic_ai-1.4.0}/tests/models/cassettes/test_google/test_google_model_builtin_code_execution_stream.yaml +0 -0
- {pydantic_ai-1.2.1 → pydantic_ai-1.4.0}/tests/models/cassettes/test_google/test_google_model_code_execution_tool.yaml +0 -0
- {pydantic_ai-1.2.1 → pydantic_ai-1.4.0}/tests/models/cassettes/test_google/test_google_model_document_url_input.yaml +0 -0
- {pydantic_ai-1.2.1 → pydantic_ai-1.4.0}/tests/models/cassettes/test_google/test_google_model_empty_assistant_response.yaml +0 -0
- {pydantic_ai-1.2.1 → pydantic_ai-1.4.0}/tests/models/cassettes/test_google/test_google_model_empty_user_prompt.yaml +0 -0
- {pydantic_ai-1.2.1 → pydantic_ai-1.4.0}/tests/models/cassettes/test_google/test_google_model_image_as_binary_content_input.yaml +0 -0
- {pydantic_ai-1.2.1 → pydantic_ai-1.4.0}/tests/models/cassettes/test_google/test_google_model_image_url_input.yaml +0 -0
- {pydantic_ai-1.2.1 → pydantic_ai-1.4.0}/tests/models/cassettes/test_google/test_google_model_instructions.yaml +0 -0
- {pydantic_ai-1.2.1 → pydantic_ai-1.4.0}/tests/models/cassettes/test_google/test_google_model_iter_stream.yaml +0 -0
- {pydantic_ai-1.2.1 → pydantic_ai-1.4.0}/tests/models/cassettes/test_google/test_google_model_max_tokens.yaml +0 -0
- {pydantic_ai-1.2.1 → pydantic_ai-1.4.0}/tests/models/cassettes/test_google/test_google_model_multiple_documents_in_history.yaml +0 -0
- {pydantic_ai-1.2.1 → pydantic_ai-1.4.0}/tests/models/cassettes/test_google/test_google_model_receive_web_search_history_from_another_provider.yaml +0 -0
- {pydantic_ai-1.2.1 → pydantic_ai-1.4.0}/tests/models/cassettes/test_google/test_google_model_retry.yaml +0 -0
- {pydantic_ai-1.2.1 → pydantic_ai-1.4.0}/tests/models/cassettes/test_google/test_google_model_safety_settings.yaml +0 -0
- {pydantic_ai-1.2.1 → pydantic_ai-1.4.0}/tests/models/cassettes/test_google/test_google_model_server_tool_receive_history_from_another_provider.yaml +0 -0
- {pydantic_ai-1.2.1 → pydantic_ai-1.4.0}/tests/models/cassettes/test_google/test_google_model_stream.yaml +0 -0
- {pydantic_ai-1.2.1 → pydantic_ai-1.4.0}/tests/models/cassettes/test_google/test_google_model_structured_output.yaml +0 -0
- {pydantic_ai-1.2.1 → pydantic_ai-1.4.0}/tests/models/cassettes/test_google/test_google_model_text_as_binary_content_input.yaml +0 -0
- {pydantic_ai-1.2.1 → pydantic_ai-1.4.0}/tests/models/cassettes/test_google/test_google_model_text_document_url_input.yaml +0 -0
- {pydantic_ai-1.2.1 → pydantic_ai-1.4.0}/tests/models/cassettes/test_google/test_google_model_thinking_config.yaml +0 -0
- {pydantic_ai-1.2.1 → pydantic_ai-1.4.0}/tests/models/cassettes/test_google/test_google_model_thinking_part.yaml +0 -0
- {pydantic_ai-1.2.1 → pydantic_ai-1.4.0}/tests/models/cassettes/test_google/test_google_model_thinking_part_from_other_model.yaml +0 -0
- {pydantic_ai-1.2.1 → pydantic_ai-1.4.0}/tests/models/cassettes/test_google/test_google_model_thinking_part_iter.yaml +0 -0
- {pydantic_ai-1.2.1 → pydantic_ai-1.4.0}/tests/models/cassettes/test_google/test_google_model_top_p.yaml +0 -0
- {pydantic_ai-1.2.1 → pydantic_ai-1.4.0}/tests/models/cassettes/test_google/test_google_model_url_context_tool.yaml +0 -0
- {pydantic_ai-1.2.1 → pydantic_ai-1.4.0}/tests/models/cassettes/test_google/test_google_model_usage_limit_exceeded.yaml +0 -0
- {pydantic_ai-1.2.1 → pydantic_ai-1.4.0}/tests/models/cassettes/test_google/test_google_model_usage_limit_not_exceeded.yaml +0 -0
- {pydantic_ai-1.2.1 → pydantic_ai-1.4.0}/tests/models/cassettes/test_google/test_google_model_vertex_labels.yaml +0 -0
- {pydantic_ai-1.2.1 → pydantic_ai-1.4.0}/tests/models/cassettes/test_google/test_google_model_vertex_provider.yaml +0 -0
- {pydantic_ai-1.2.1 → pydantic_ai-1.4.0}/tests/models/cassettes/test_google/test_google_model_video_as_binary_content_input.yaml +0 -0
- {pydantic_ai-1.2.1 → pydantic_ai-1.4.0}/tests/models/cassettes/test_google/test_google_model_video_as_binary_content_input_with_vendor_metadata.yaml +0 -0
- {pydantic_ai-1.2.1 → pydantic_ai-1.4.0}/tests/models/cassettes/test_google/test_google_model_video_url_input.yaml +0 -0
- {pydantic_ai-1.2.1 → pydantic_ai-1.4.0}/tests/models/cassettes/test_google/test_google_model_web_search_tool.yaml +0 -0
- {pydantic_ai-1.2.1 → pydantic_ai-1.4.0}/tests/models/cassettes/test_google/test_google_model_web_search_tool_stream.yaml +0 -0
- {pydantic_ai-1.2.1 → pydantic_ai-1.4.0}/tests/models/cassettes/test_google/test_google_model_youtube_video_url_input_with_vendor_metadata.yaml +0 -0
- {pydantic_ai-1.2.1 → pydantic_ai-1.4.0}/tests/models/cassettes/test_google/test_google_multiple_images.yaml +0 -0
- {pydantic_ai-1.2.1 → pydantic_ai-1.4.0}/tests/models/cassettes/test_google/test_google_native_output.yaml +0 -0
- {pydantic_ai-1.2.1 → pydantic_ai-1.4.0}/tests/models/cassettes/test_google/test_google_native_output_multiple.yaml +0 -0
- {pydantic_ai-1.2.1 → pydantic_ai-1.4.0}/tests/models/cassettes/test_google/test_google_prompted_output.yaml +0 -0
- {pydantic_ai-1.2.1 → pydantic_ai-1.4.0}/tests/models/cassettes/test_google/test_google_prompted_output_multiple.yaml +0 -0
- {pydantic_ai-1.2.1 → pydantic_ai-1.4.0}/tests/models/cassettes/test_google/test_google_prompted_output_with_tools.yaml +0 -0
- {pydantic_ai-1.2.1 → pydantic_ai-1.4.0}/tests/models/cassettes/test_google/test_google_text_output_function.yaml +0 -0
- {pydantic_ai-1.2.1 → pydantic_ai-1.4.0}/tests/models/cassettes/test_google/test_google_timeout.yaml +0 -0
- {pydantic_ai-1.2.1 → pydantic_ai-1.4.0}/tests/models/cassettes/test_google/test_google_tool_config_any_with_tool_without_args.yaml +0 -0
- {pydantic_ai-1.2.1 → pydantic_ai-1.4.0}/tests/models/cassettes/test_google/test_google_tool_output.yaml +0 -0
- {pydantic_ai-1.2.1 → pydantic_ai-1.4.0}/tests/models/cassettes/test_google/test_google_url_input[AudioUrl (gs)].yaml +0 -0
- {pydantic_ai-1.2.1 → pydantic_ai-1.4.0}/tests/models/cassettes/test_google/test_google_url_input[AudioUrl].yaml +0 -0
- {pydantic_ai-1.2.1 → pydantic_ai-1.4.0}/tests/models/cassettes/test_google/test_google_url_input[DocumentUrl (gs)].yaml +0 -0
- {pydantic_ai-1.2.1 → pydantic_ai-1.4.0}/tests/models/cassettes/test_google/test_google_url_input[DocumentUrl].yaml +0 -0
- {pydantic_ai-1.2.1 → pydantic_ai-1.4.0}/tests/models/cassettes/test_google/test_google_url_input[ImageUrl (gs)].yaml +0 -0
- {pydantic_ai-1.2.1 → pydantic_ai-1.4.0}/tests/models/cassettes/test_google/test_google_url_input[ImageUrl].yaml +0 -0
- {pydantic_ai-1.2.1 → pydantic_ai-1.4.0}/tests/models/cassettes/test_google/test_google_url_input[VideoUrl (YouTube)].yaml +0 -0
- {pydantic_ai-1.2.1 → pydantic_ai-1.4.0}/tests/models/cassettes/test_google/test_google_url_input[VideoUrl (gs)].yaml +0 -0
- {pydantic_ai-1.2.1 → pydantic_ai-1.4.0}/tests/models/cassettes/test_google/test_google_url_input[VideoUrl].yaml +0 -0
- {pydantic_ai-1.2.1 → pydantic_ai-1.4.0}/tests/models/cassettes/test_google/test_google_url_input_force_download.yaml +0 -0
- {pydantic_ai-1.2.1 → pydantic_ai-1.4.0}/tests/models/cassettes/test_google/test_google_vertexai_image_generation.yaml +0 -0
- {pydantic_ai-1.2.1 → pydantic_ai-1.4.0}/tests/models/cassettes/test_google/test_google_vertexai_model_usage_limit_exceeded.yaml +0 -0
- {pydantic_ai-1.2.1 → pydantic_ai-1.4.0}/tests/models/cassettes/test_groq/test_extra_headers.yaml +0 -0
- {pydantic_ai-1.2.1 → pydantic_ai-1.4.0}/tests/models/cassettes/test_groq/test_groq_model_instructions.yaml +0 -0
- {pydantic_ai-1.2.1 → pydantic_ai-1.4.0}/tests/models/cassettes/test_groq/test_groq_model_thinking_part.yaml +0 -0
- {pydantic_ai-1.2.1 → pydantic_ai-1.4.0}/tests/models/cassettes/test_groq/test_groq_model_thinking_part_iter.yaml +0 -0
- {pydantic_ai-1.2.1 → pydantic_ai-1.4.0}/tests/models/cassettes/test_groq/test_groq_model_web_search_tool.yaml +0 -0
- {pydantic_ai-1.2.1 → pydantic_ai-1.4.0}/tests/models/cassettes/test_groq/test_groq_model_web_search_tool_stream.yaml +0 -0
- {pydantic_ai-1.2.1 → pydantic_ai-1.4.0}/tests/models/cassettes/test_groq/test_groq_native_output.yaml +0 -0
- {pydantic_ai-1.2.1 → pydantic_ai-1.4.0}/tests/models/cassettes/test_groq/test_groq_prompted_output.yaml +0 -0
- {pydantic_ai-1.2.1 → pydantic_ai-1.4.0}/tests/models/cassettes/test_groq/test_image_as_binary_content_input.yaml +0 -0
- {pydantic_ai-1.2.1 → pydantic_ai-1.4.0}/tests/models/cassettes/test_groq/test_image_as_binary_content_tool_response.yaml +0 -0
- {pydantic_ai-1.2.1 → pydantic_ai-1.4.0}/tests/models/cassettes/test_groq/test_image_url_input.yaml +0 -0
- {pydantic_ai-1.2.1 → pydantic_ai-1.4.0}/tests/models/cassettes/test_groq/test_tool_regular_error.yaml +0 -0
- {pydantic_ai-1.2.1 → pydantic_ai-1.4.0}/tests/models/cassettes/test_groq/test_tool_use_failed_error.yaml +0 -0
- {pydantic_ai-1.2.1 → pydantic_ai-1.4.0}/tests/models/cassettes/test_groq/test_tool_use_failed_error_streaming.yaml +0 -0
- {pydantic_ai-1.2.1 → pydantic_ai-1.4.0}/tests/models/cassettes/test_huggingface/test_hf_model_instructions.yaml +0 -0
- {pydantic_ai-1.2.1 → pydantic_ai-1.4.0}/tests/models/cassettes/test_huggingface/test_hf_model_thinking_part.yaml +0 -0
- {pydantic_ai-1.2.1 → pydantic_ai-1.4.0}/tests/models/cassettes/test_huggingface/test_hf_model_thinking_part_iter.yaml +0 -0
- {pydantic_ai-1.2.1 → pydantic_ai-1.4.0}/tests/models/cassettes/test_huggingface/test_image_as_binary_content_input.yaml +0 -0
- {pydantic_ai-1.2.1 → pydantic_ai-1.4.0}/tests/models/cassettes/test_huggingface/test_image_url_input.yaml +0 -0
- {pydantic_ai-1.2.1 → pydantic_ai-1.4.0}/tests/models/cassettes/test_huggingface/test_max_completion_tokens[Qwen-Qwen2.5-72B-Instruct].yaml +0 -0
- {pydantic_ai-1.2.1 → pydantic_ai-1.4.0}/tests/models/cassettes/test_huggingface/test_max_completion_tokens[deepseek-ai-DeepSeek-R1-0528].yaml +0 -0
- {pydantic_ai-1.2.1 → pydantic_ai-1.4.0}/tests/models/cassettes/test_huggingface/test_max_completion_tokens[meta-llama-Llama-3.3-70B-Instruct].yaml +0 -0
- {pydantic_ai-1.2.1 → pydantic_ai-1.4.0}/tests/models/cassettes/test_huggingface/test_request_simple_success_with_vcr.yaml +0 -0
- {pydantic_ai-1.2.1 → pydantic_ai-1.4.0}/tests/models/cassettes/test_huggingface/test_request_simple_usage.yaml +0 -0
- {pydantic_ai-1.2.1 → pydantic_ai-1.4.0}/tests/models/cassettes/test_huggingface/test_simple_completion.yaml +0 -0
- {pydantic_ai-1.2.1 → pydantic_ai-1.4.0}/tests/models/cassettes/test_huggingface/test_stream_completion.yaml +0 -0
- {pydantic_ai-1.2.1 → pydantic_ai-1.4.0}/tests/models/cassettes/test_mistral/test_image_as_binary_content_tool_response.yaml +0 -0
- {pydantic_ai-1.2.1 → pydantic_ai-1.4.0}/tests/models/cassettes/test_mistral/test_mistral_model_instructions.yaml +0 -0
- {pydantic_ai-1.2.1 → pydantic_ai-1.4.0}/tests/models/cassettes/test_mistral/test_mistral_model_thinking_part.yaml +0 -0
- {pydantic_ai-1.2.1 → pydantic_ai-1.4.0}/tests/models/cassettes/test_mistral/test_mistral_model_thinking_part_iter.yaml +0 -0
- {pydantic_ai-1.2.1 → pydantic_ai-1.4.0}/tests/models/cassettes/test_model_names/test_known_model_names.yaml +0 -0
- {pydantic_ai-1.2.1 → pydantic_ai-1.4.0}/tests/models/cassettes/test_openai/test_audio_as_binary_content_input.yaml +0 -0
- {pydantic_ai-1.2.1 → pydantic_ai-1.4.0}/tests/models/cassettes/test_openai/test_compatible_api_with_tool_calls_without_id.yaml +0 -0
- {pydantic_ai-1.2.1 → pydantic_ai-1.4.0}/tests/models/cassettes/test_openai/test_document_as_binary_content_input.yaml +0 -0
- {pydantic_ai-1.2.1 → pydantic_ai-1.4.0}/tests/models/cassettes/test_openai/test_document_as_binary_content_input_with_tool.yaml +0 -0
- {pydantic_ai-1.2.1 → pydantic_ai-1.4.0}/tests/models/cassettes/test_openai/test_document_url_input.yaml +0 -0
- {pydantic_ai-1.2.1 → pydantic_ai-1.4.0}/tests/models/cassettes/test_openai/test_extra_headers.yaml +0 -0
- {pydantic_ai-1.2.1 → pydantic_ai-1.4.0}/tests/models/cassettes/test_openai/test_image_as_binary_content_input.yaml +0 -0
- {pydantic_ai-1.2.1 → pydantic_ai-1.4.0}/tests/models/cassettes/test_openai/test_image_as_binary_content_tool_response.yaml +0 -0
- {pydantic_ai-1.2.1 → pydantic_ai-1.4.0}/tests/models/cassettes/test_openai/test_image_url_input_force_download.yaml +0 -0
- {pydantic_ai-1.2.1 → pydantic_ai-1.4.0}/tests/models/cassettes/test_openai/test_image_url_input_force_download_response_api.yaml +0 -0
- {pydantic_ai-1.2.1 → pydantic_ai-1.4.0}/tests/models/cassettes/test_openai/test_image_url_tool_response.yaml +0 -0
- {pydantic_ai-1.2.1 → pydantic_ai-1.4.0}/tests/models/cassettes/test_openai/test_invalid_response.yaml +0 -0
- {pydantic_ai-1.2.1 → pydantic_ai-1.4.0}/tests/models/cassettes/test_openai/test_max_completion_tokens[gpt-4.5-preview].yaml +0 -0
- {pydantic_ai-1.2.1 → pydantic_ai-1.4.0}/tests/models/cassettes/test_openai/test_max_completion_tokens[gpt-4o-mini].yaml +0 -0
- {pydantic_ai-1.2.1 → pydantic_ai-1.4.0}/tests/models/cassettes/test_openai/test_max_completion_tokens[o3-mini].yaml +0 -0
- {pydantic_ai-1.2.1 → pydantic_ai-1.4.0}/tests/models/cassettes/test_openai/test_multiple_agent_tool_calls.yaml +0 -0
- {pydantic_ai-1.2.1 → pydantic_ai-1.4.0}/tests/models/cassettes/test_openai/test_openai_audio_url_input.yaml +0 -0
- {pydantic_ai-1.2.1 → pydantic_ai-1.4.0}/tests/models/cassettes/test_openai/test_openai_instructions.yaml +0 -0
- {pydantic_ai-1.2.1 → pydantic_ai-1.4.0}/tests/models/cassettes/test_openai/test_openai_instructions_with_tool_calls_keep_instructions.yaml +0 -0
- {pydantic_ai-1.2.1 → pydantic_ai-1.4.0}/tests/models/cassettes/test_openai/test_openai_model_cerebras_provider.yaml +0 -0
- {pydantic_ai-1.2.1 → pydantic_ai-1.4.0}/tests/models/cassettes/test_openai/test_openai_model_cerebras_provider_harmony.yaml +0 -0
- {pydantic_ai-1.2.1 → pydantic_ai-1.4.0}/tests/models/cassettes/test_openai/test_openai_model_cerebras_provider_qwen_3_coder.yaml +0 -0
- {pydantic_ai-1.2.1 → pydantic_ai-1.4.0}/tests/models/cassettes/test_openai/test_openai_model_settings_temperature_ignored_on_gpt_5.yaml +0 -0
- {pydantic_ai-1.2.1 → pydantic_ai-1.4.0}/tests/models/cassettes/test_openai/test_openai_model_thinking_part.yaml +0 -0
- {pydantic_ai-1.2.1 → pydantic_ai-1.4.0}/tests/models/cassettes/test_openai/test_openai_model_without_system_prompt.yaml +0 -0
- {pydantic_ai-1.2.1 → pydantic_ai-1.4.0}/tests/models/cassettes/test_openai/test_openai_native_output.yaml +0 -0
- {pydantic_ai-1.2.1 → pydantic_ai-1.4.0}/tests/models/cassettes/test_openai/test_openai_native_output_multiple.yaml +0 -0
- {pydantic_ai-1.2.1 → pydantic_ai-1.4.0}/tests/models/cassettes/test_openai/test_openai_o1_mini_system_role[developer].yaml +0 -0
- {pydantic_ai-1.2.1 → pydantic_ai-1.4.0}/tests/models/cassettes/test_openai/test_openai_o1_mini_system_role[system].yaml +0 -0
- {pydantic_ai-1.2.1 → pydantic_ai-1.4.0}/tests/models/cassettes/test_openai/test_openai_prompted_output.yaml +0 -0
- {pydantic_ai-1.2.1 → pydantic_ai-1.4.0}/tests/models/cassettes/test_openai/test_openai_prompted_output_multiple.yaml +0 -0
- {pydantic_ai-1.2.1 → pydantic_ai-1.4.0}/tests/models/cassettes/test_openai/test_openai_text_output_function.yaml +0 -0
- {pydantic_ai-1.2.1 → pydantic_ai-1.4.0}/tests/models/cassettes/test_openai/test_openai_tool_output.yaml +0 -0
- {pydantic_ai-1.2.1 → pydantic_ai-1.4.0}/tests/models/cassettes/test_openai/test_openai_web_search_tool.yaml +0 -0
- {pydantic_ai-1.2.1 → pydantic_ai-1.4.0}/tests/models/cassettes/test_openai/test_openai_web_search_tool_model_not_supported.yaml +0 -0
- {pydantic_ai-1.2.1 → pydantic_ai-1.4.0}/tests/models/cassettes/test_openai/test_openai_web_search_tool_with_user_location.yaml +0 -0
- {pydantic_ai-1.2.1 → pydantic_ai-1.4.0}/tests/models/cassettes/test_openai/test_reasoning_model_with_temperature.yaml +0 -0
- {pydantic_ai-1.2.1 → pydantic_ai-1.4.0}/tests/models/cassettes/test_openai/test_system_prompt_role_o1_mini.yaml +0 -0
- {pydantic_ai-1.2.1 → pydantic_ai-1.4.0}/tests/models/cassettes/test_openai/test_text_document_as_binary_content_input.yaml +0 -0
- {pydantic_ai-1.2.1 → pydantic_ai-1.4.0}/tests/models/cassettes/test_openai/test_text_document_url_input.yaml +0 -0
- {pydantic_ai-1.2.1 → pydantic_ai-1.4.0}/tests/models/cassettes/test_openai/test_text_response.yaml +0 -0
- {pydantic_ai-1.2.1 → pydantic_ai-1.4.0}/tests/models/cassettes/test_openai/test_user_id.yaml +0 -0
- {pydantic_ai-1.2.1 → pydantic_ai-1.4.0}/tests/models/cassettes/test_openai/test_valid_response.yaml +0 -0
- {pydantic_ai-1.2.1 → pydantic_ai-1.4.0}/tests/models/cassettes/test_openai_responses/test_audio_as_binary_content_input.yaml +0 -0
- {pydantic_ai-1.2.1 → pydantic_ai-1.4.0}/tests/models/cassettes/test_openai_responses/test_image_as_binary_content_input.yaml +0 -0
- {pydantic_ai-1.2.1 → pydantic_ai-1.4.0}/tests/models/cassettes/test_openai_responses/test_image_as_binary_content_tool_response.yaml +0 -0
- {pydantic_ai-1.2.1 → pydantic_ai-1.4.0}/tests/models/cassettes/test_openai_responses/test_native_output.yaml +0 -0
- {pydantic_ai-1.2.1 → pydantic_ai-1.4.0}/tests/models/cassettes/test_openai_responses/test_native_output_multiple.yaml +0 -0
- {pydantic_ai-1.2.1 → pydantic_ai-1.4.0}/tests/models/cassettes/test_openai_responses/test_openai_previous_response_id.yaml +0 -0
- {pydantic_ai-1.2.1 → pydantic_ai-1.4.0}/tests/models/cassettes/test_openai_responses/test_openai_previous_response_id_auto_mode.yaml +0 -0
- {pydantic_ai-1.2.1 → pydantic_ai-1.4.0}/tests/models/cassettes/test_openai_responses/test_openai_responses_code_execution_return_image.yaml +0 -0
- {pydantic_ai-1.2.1 → pydantic_ai-1.4.0}/tests/models/cassettes/test_openai_responses/test_openai_responses_code_execution_return_image_stream.yaml +0 -0
- {pydantic_ai-1.2.1 → pydantic_ai-1.4.0}/tests/models/cassettes/test_openai_responses/test_openai_responses_document_as_binary_content_input.yaml +0 -0
- {pydantic_ai-1.2.1 → pydantic_ai-1.4.0}/tests/models/cassettes/test_openai_responses/test_openai_responses_document_url_input.yaml +0 -0
- {pydantic_ai-1.2.1 → pydantic_ai-1.4.0}/tests/models/cassettes/test_openai_responses/test_openai_responses_history_with_combined_tool_call_id.yaml +0 -0
- {pydantic_ai-1.2.1 → pydantic_ai-1.4.0}/tests/models/cassettes/test_openai_responses/test_openai_responses_image_and_text_output.yaml +0 -0
- {pydantic_ai-1.2.1 → pydantic_ai-1.4.0}/tests/models/cassettes/test_openai_responses/test_openai_responses_image_generation.yaml +0 -0
- {pydantic_ai-1.2.1 → pydantic_ai-1.4.0}/tests/models/cassettes/test_openai_responses/test_openai_responses_image_generation_jpeg.yaml +0 -0
- {pydantic_ai-1.2.1 → pydantic_ai-1.4.0}/tests/models/cassettes/test_openai_responses/test_openai_responses_image_generation_stream.yaml +0 -0
- {pydantic_ai-1.2.1 → pydantic_ai-1.4.0}/tests/models/cassettes/test_openai_responses/test_openai_responses_image_generation_tool_without_image_output.yaml +0 -0
- {pydantic_ai-1.2.1 → pydantic_ai-1.4.0}/tests/models/cassettes/test_openai_responses/test_openai_responses_image_generation_with_native_output.yaml +0 -0
- {pydantic_ai-1.2.1 → pydantic_ai-1.4.0}/tests/models/cassettes/test_openai_responses/test_openai_responses_image_generation_with_prompted_output.yaml +0 -0
- {pydantic_ai-1.2.1 → pydantic_ai-1.4.0}/tests/models/cassettes/test_openai_responses/test_openai_responses_image_generation_with_tool_output.yaml +0 -0
- {pydantic_ai-1.2.1 → pydantic_ai-1.4.0}/tests/models/cassettes/test_openai_responses/test_openai_responses_image_generation_with_tools.yaml +0 -0
- {pydantic_ai-1.2.1 → pydantic_ai-1.4.0}/tests/models/cassettes/test_openai_responses/test_openai_responses_image_or_text_output.yaml +0 -0
- {pydantic_ai-1.2.1 → pydantic_ai-1.4.0}/tests/models/cassettes/test_openai_responses/test_openai_responses_image_url_input.yaml +0 -0
- {pydantic_ai-1.2.1 → pydantic_ai-1.4.0}/tests/models/cassettes/test_openai_responses/test_openai_responses_model_builtin_tools.yaml +0 -0
- {pydantic_ai-1.2.1 → pydantic_ai-1.4.0}/tests/models/cassettes/test_openai_responses/test_openai_responses_model_builtin_tools_web_search.yaml +0 -0
- {pydantic_ai-1.2.1 → pydantic_ai-1.4.0}/tests/models/cassettes/test_openai_responses/test_openai_responses_model_http_error.yaml +0 -0
- {pydantic_ai-1.2.1 → pydantic_ai-1.4.0}/tests/models/cassettes/test_openai_responses/test_openai_responses_model_instructions.yaml +0 -0
- {pydantic_ai-1.2.1 → pydantic_ai-1.4.0}/tests/models/cassettes/test_openai_responses/test_openai_responses_model_retry.yaml +0 -0
- {pydantic_ai-1.2.1 → pydantic_ai-1.4.0}/tests/models/cassettes/test_openai_responses/test_openai_responses_model_simple_response.yaml +0 -0
- {pydantic_ai-1.2.1 → pydantic_ai-1.4.0}/tests/models/cassettes/test_openai_responses/test_openai_responses_model_simple_response_with_tool_call.yaml +0 -0
- {pydantic_ai-1.2.1 → pydantic_ai-1.4.0}/tests/models/cassettes/test_openai_responses/test_openai_responses_model_thinking_part.yaml +0 -0
- {pydantic_ai-1.2.1 → pydantic_ai-1.4.0}/tests/models/cassettes/test_openai_responses/test_openai_responses_model_web_search_tool.yaml +0 -0
- {pydantic_ai-1.2.1 → pydantic_ai-1.4.0}/tests/models/cassettes/test_openai_responses/test_openai_responses_model_web_search_tool_stream.yaml +0 -0
- {pydantic_ai-1.2.1 → pydantic_ai-1.4.0}/tests/models/cassettes/test_openai_responses/test_openai_responses_model_web_search_tool_with_invalid_region.yaml +0 -0
- {pydantic_ai-1.2.1 → pydantic_ai-1.4.0}/tests/models/cassettes/test_openai_responses/test_openai_responses_model_web_search_tool_with_user_location.yaml +0 -0
- {pydantic_ai-1.2.1 → pydantic_ai-1.4.0}/tests/models/cassettes/test_openai_responses/test_openai_responses_multiple_images.yaml +0 -0
- {pydantic_ai-1.2.1 → pydantic_ai-1.4.0}/tests/models/cassettes/test_openai_responses/test_openai_responses_non_reasoning_model_no_item_ids.yaml +0 -0
- {pydantic_ai-1.2.1 → pydantic_ai-1.4.0}/tests/models/cassettes/test_openai_responses/test_openai_responses_output_type.yaml +0 -0
- {pydantic_ai-1.2.1 → pydantic_ai-1.4.0}/tests/models/cassettes/test_openai_responses/test_openai_responses_reasoning_effort.yaml +0 -0
- {pydantic_ai-1.2.1 → pydantic_ai-1.4.0}/tests/models/cassettes/test_openai_responses/test_openai_responses_reasoning_generate_summary.yaml +0 -0
- {pydantic_ai-1.2.1 → pydantic_ai-1.4.0}/tests/models/cassettes/test_openai_responses/test_openai_responses_stream.yaml +0 -0
- {pydantic_ai-1.2.1 → pydantic_ai-1.4.0}/tests/models/cassettes/test_openai_responses/test_openai_responses_streaming_usage.yaml +0 -0
- {pydantic_ai-1.2.1 → pydantic_ai-1.4.0}/tests/models/cassettes/test_openai_responses/test_openai_responses_system_prompt.yaml +0 -0
- {pydantic_ai-1.2.1 → pydantic_ai-1.4.0}/tests/models/cassettes/test_openai_responses/test_openai_responses_text_document_url_input.yaml +0 -0
- {pydantic_ai-1.2.1 → pydantic_ai-1.4.0}/tests/models/cassettes/test_openai_responses/test_openai_responses_thinking_part_from_other_model.yaml +0 -0
- {pydantic_ai-1.2.1 → pydantic_ai-1.4.0}/tests/models/cassettes/test_openai_responses/test_openai_responses_thinking_part_iter.yaml +0 -0
- {pydantic_ai-1.2.1 → pydantic_ai-1.4.0}/tests/models/cassettes/test_openai_responses/test_openai_responses_thinking_with_code_execution_tool.yaml +0 -0
- {pydantic_ai-1.2.1 → pydantic_ai-1.4.0}/tests/models/cassettes/test_openai_responses/test_openai_responses_thinking_with_code_execution_tool_stream.yaml +0 -0
- {pydantic_ai-1.2.1 → pydantic_ai-1.4.0}/tests/models/cassettes/test_openai_responses/test_openai_responses_thinking_with_modified_history.yaml +0 -0
- {pydantic_ai-1.2.1 → pydantic_ai-1.4.0}/tests/models/cassettes/test_openai_responses/test_openai_responses_thinking_with_tool_calls.yaml +0 -0
- {pydantic_ai-1.2.1 → pydantic_ai-1.4.0}/tests/models/cassettes/test_openai_responses/test_openai_responses_verbosity.yaml +0 -0
- {pydantic_ai-1.2.1 → pydantic_ai-1.4.0}/tests/models/cassettes/test_openai_responses/test_prompted_output.yaml +0 -0
- {pydantic_ai-1.2.1 → pydantic_ai-1.4.0}/tests/models/cassettes/test_openai_responses/test_prompted_output_multiple.yaml +0 -0
- {pydantic_ai-1.2.1 → pydantic_ai-1.4.0}/tests/models/cassettes/test_openai_responses/test_reasoning_model_with_temperature.yaml +0 -0
- {pydantic_ai-1.2.1 → pydantic_ai-1.4.0}/tests/models/cassettes/test_openai_responses/test_text_output_function.yaml +0 -0
- {pydantic_ai-1.2.1 → pydantic_ai-1.4.0}/tests/models/cassettes/test_openai_responses/test_tool_output.yaml +0 -0
- {pydantic_ai-1.2.1 → pydantic_ai-1.4.0}/tests/models/mock_async_stream.py +0 -0
- {pydantic_ai-1.2.1 → pydantic_ai-1.4.0}/tests/models/mock_openai.py +0 -0
- {pydantic_ai-1.2.1 → pydantic_ai-1.4.0}/tests/models/test_cohere.py +0 -0
- {pydantic_ai-1.2.1 → pydantic_ai-1.4.0}/tests/models/test_download_item.py +0 -0
- {pydantic_ai-1.2.1 → pydantic_ai-1.4.0}/tests/models/test_fallback.py +0 -0
- {pydantic_ai-1.2.1 → pydantic_ai-1.4.0}/tests/models/test_gemini.py +0 -0
- {pydantic_ai-1.2.1 → pydantic_ai-1.4.0}/tests/models/test_gemini_vertex.py +0 -0
- {pydantic_ai-1.2.1 → pydantic_ai-1.4.0}/tests/models/test_mcp_sampling.py +0 -0
- {pydantic_ai-1.2.1 → pydantic_ai-1.4.0}/tests/models/test_mistral.py +0 -0
- {pydantic_ai-1.2.1 → pydantic_ai-1.4.0}/tests/models/test_model_function.py +0 -0
- {pydantic_ai-1.2.1 → pydantic_ai-1.4.0}/tests/models/test_model_names.py +0 -0
- {pydantic_ai-1.2.1 → pydantic_ai-1.4.0}/tests/models/test_model_settings.py +0 -0
- {pydantic_ai-1.2.1 → pydantic_ai-1.4.0}/tests/models/test_model_test.py +0 -0
- {pydantic_ai-1.2.1 → pydantic_ai-1.4.0}/tests/parts_from_messages.py +0 -0
- {pydantic_ai-1.2.1 → pydantic_ai-1.4.0}/tests/providers/__init__.py +0 -0
- {pydantic_ai-1.2.1 → pydantic_ai-1.4.0}/tests/providers/cassettes/test_azure/test_azure_provider_call.yaml +0 -0
- {pydantic_ai-1.2.1 → pydantic_ai-1.4.0}/tests/providers/cassettes/test_gateway/test_gateway_provider_with_google_vertex.yaml +0 -0
- {pydantic_ai-1.2.1 → pydantic_ai-1.4.0}/tests/providers/cassettes/test_gateway/test_gateway_provider_with_groq.yaml +0 -0
- {pydantic_ai-1.2.1 → pydantic_ai-1.4.0}/tests/providers/cassettes/test_gateway/test_gateway_provider_with_openai.yaml +0 -0
- {pydantic_ai-1.2.1 → pydantic_ai-1.4.0}/tests/providers/cassettes/test_gateway/test_gateway_provider_with_openai_responses.yaml +0 -0
- {pydantic_ai-1.2.1 → pydantic_ai-1.4.0}/tests/providers/cassettes/test_google_vertex/test_vertexai_provider.yaml +0 -0
- {pydantic_ai-1.2.1 → pydantic_ai-1.4.0}/tests/providers/cassettes/test_heroku/test_heroku_model_provider_claude_3_7_sonnet.yaml +0 -0
- {pydantic_ai-1.2.1 → pydantic_ai-1.4.0}/tests/providers/cassettes/test_openrouter/test_openrouter_with_google_model.yaml +0 -0
- {pydantic_ai-1.2.1 → pydantic_ai-1.4.0}/tests/providers/test_anthropic.py +0 -0
- {pydantic_ai-1.2.1 → pydantic_ai-1.4.0}/tests/providers/test_azure.py +0 -0
- {pydantic_ai-1.2.1 → pydantic_ai-1.4.0}/tests/providers/test_bedrock.py +0 -0
- {pydantic_ai-1.2.1 → pydantic_ai-1.4.0}/tests/providers/test_cerebras.py +0 -0
- {pydantic_ai-1.2.1 → pydantic_ai-1.4.0}/tests/providers/test_cohere.py +0 -0
- {pydantic_ai-1.2.1 → pydantic_ai-1.4.0}/tests/providers/test_deepseek.py +0 -0
- {pydantic_ai-1.2.1 → pydantic_ai-1.4.0}/tests/providers/test_fireworks.py +0 -0
- {pydantic_ai-1.2.1 → pydantic_ai-1.4.0}/tests/providers/test_github.py +0 -0
- {pydantic_ai-1.2.1 → pydantic_ai-1.4.0}/tests/providers/test_google_gla.py +0 -0
- {pydantic_ai-1.2.1 → pydantic_ai-1.4.0}/tests/providers/test_google_vertex.py +0 -0
- {pydantic_ai-1.2.1 → pydantic_ai-1.4.0}/tests/providers/test_grok.py +0 -0
- {pydantic_ai-1.2.1 → pydantic_ai-1.4.0}/tests/providers/test_groq.py +0 -0
- {pydantic_ai-1.2.1 → pydantic_ai-1.4.0}/tests/providers/test_heroku.py +0 -0
- {pydantic_ai-1.2.1 → pydantic_ai-1.4.0}/tests/providers/test_huggingface.py +0 -0
- {pydantic_ai-1.2.1 → pydantic_ai-1.4.0}/tests/providers/test_litellm.py +0 -0
- {pydantic_ai-1.2.1 → pydantic_ai-1.4.0}/tests/providers/test_mistral.py +0 -0
- {pydantic_ai-1.2.1 → pydantic_ai-1.4.0}/tests/providers/test_moonshotai.py +0 -0
- {pydantic_ai-1.2.1 → pydantic_ai-1.4.0}/tests/providers/test_nebius.py +0 -0
- {pydantic_ai-1.2.1 → pydantic_ai-1.4.0}/tests/providers/test_ollama.py +0 -0
- {pydantic_ai-1.2.1 → pydantic_ai-1.4.0}/tests/providers/test_openai.py +0 -0
- {pydantic_ai-1.2.1 → pydantic_ai-1.4.0}/tests/providers/test_openrouter.py +0 -0
- {pydantic_ai-1.2.1 → pydantic_ai-1.4.0}/tests/providers/test_together.py +0 -0
- {pydantic_ai-1.2.1 → pydantic_ai-1.4.0}/tests/providers/test_vercel.py +0 -0
- {pydantic_ai-1.2.1 → pydantic_ai-1.4.0}/tests/test_ag_ui.py +0 -0
- {pydantic_ai-1.2.1 → pydantic_ai-1.4.0}/tests/test_builtin_tools.py +0 -0
- {pydantic_ai-1.2.1 → pydantic_ai-1.4.0}/tests/test_cli.py +0 -0
- {pydantic_ai-1.2.1 → pydantic_ai-1.4.0}/tests/test_dbos.py +0 -0
- {pydantic_ai-1.2.1 → pydantic_ai-1.4.0}/tests/test_deps.py +0 -0
- {pydantic_ai-1.2.1 → pydantic_ai-1.4.0}/tests/test_direct.py +0 -0
- {pydantic_ai-1.2.1 → pydantic_ai-1.4.0}/tests/test_format_as_xml.py +0 -0
- {pydantic_ai-1.2.1 → pydantic_ai-1.4.0}/tests/test_function_schema.py +0 -0
- {pydantic_ai-1.2.1 → pydantic_ai-1.4.0}/tests/test_history_processor.py +0 -0
- {pydantic_ai-1.2.1 → pydantic_ai-1.4.0}/tests/test_json_body_serializer.py +0 -0
- {pydantic_ai-1.2.1 → pydantic_ai-1.4.0}/tests/test_live.py +0 -0
- {pydantic_ai-1.2.1 → pydantic_ai-1.4.0}/tests/test_mcp.py +0 -0
- {pydantic_ai-1.2.1 → pydantic_ai-1.4.0}/tests/test_messages.py +0 -0
- {pydantic_ai-1.2.1 → pydantic_ai-1.4.0}/tests/test_parts_manager.py +0 -0
- {pydantic_ai-1.2.1 → pydantic_ai-1.4.0}/tests/test_prefect.py +0 -0
- {pydantic_ai-1.2.1 → pydantic_ai-1.4.0}/tests/test_settings.py +0 -0
- {pydantic_ai-1.2.1 → pydantic_ai-1.4.0}/tests/test_streaming.py +0 -0
- {pydantic_ai-1.2.1 → pydantic_ai-1.4.0}/tests/test_tenacity.py +0 -0
- {pydantic_ai-1.2.1 → pydantic_ai-1.4.0}/tests/test_thinking_part.py +0 -0
- {pydantic_ai-1.2.1 → pydantic_ai-1.4.0}/tests/test_tools.py +0 -0
- {pydantic_ai-1.2.1 → pydantic_ai-1.4.0}/tests/test_toolsets.py +0 -0
- {pydantic_ai-1.2.1 → pydantic_ai-1.4.0}/tests/test_usage_limits.py +0 -0
- {pydantic_ai-1.2.1 → pydantic_ai-1.4.0}/tests/test_utils.py +0 -0
- {pydantic_ai-1.2.1 → pydantic_ai-1.4.0}/tests/typed_agent.py +0 -0
- {pydantic_ai-1.2.1 → pydantic_ai-1.4.0}/tests/typed_graph.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: pydantic-ai
|
|
3
|
-
Version: 1.
|
|
3
|
+
Version: 1.4.0
|
|
4
4
|
Summary: Agent Framework / shim to use Pydantic with LLMs
|
|
5
5
|
Project-URL: Homepage, https://ai.pydantic.dev
|
|
6
6
|
Project-URL: Source, https://github.com/pydantic/pydantic-ai
|
|
@@ -26,15 +26,15 @@ Classifier: Topic :: Internet
|
|
|
26
26
|
Classifier: Topic :: Scientific/Engineering :: Artificial Intelligence
|
|
27
27
|
Classifier: Topic :: Software Development :: Libraries :: Python Modules
|
|
28
28
|
Requires-Python: >=3.10
|
|
29
|
-
Requires-Dist: pydantic-ai-slim[ag-ui,anthropic,bedrock,cli,cohere,evals,google,groq,huggingface,logfire,mcp,mistral,openai,retries,temporal,vertexai]==1.
|
|
29
|
+
Requires-Dist: pydantic-ai-slim[ag-ui,anthropic,bedrock,cli,cohere,evals,google,groq,huggingface,logfire,mcp,mistral,openai,retries,temporal,vertexai]==1.4.0
|
|
30
30
|
Provides-Extra: a2a
|
|
31
31
|
Requires-Dist: fasta2a>=0.4.1; extra == 'a2a'
|
|
32
32
|
Provides-Extra: dbos
|
|
33
|
-
Requires-Dist: pydantic-ai-slim[dbos]==1.
|
|
33
|
+
Requires-Dist: pydantic-ai-slim[dbos]==1.4.0; extra == 'dbos'
|
|
34
34
|
Provides-Extra: examples
|
|
35
|
-
Requires-Dist: pydantic-ai-examples==1.
|
|
35
|
+
Requires-Dist: pydantic-ai-examples==1.4.0; extra == 'examples'
|
|
36
36
|
Provides-Extra: prefect
|
|
37
|
-
Requires-Dist: pydantic-ai-slim[prefect]==1.
|
|
37
|
+
Requires-Dist: pydantic-ai-slim[prefect]==1.4.0; extra == 'prefect'
|
|
38
38
|
Description-Content-Type: text/markdown
|
|
39
39
|
|
|
40
40
|
<div align="center">
|
|
@@ -78,7 +78,7 @@ We built Pydantic AI with one simple aim: to bring that FastAPI feeling to GenAI
|
|
|
78
78
|
[Pydantic Validation](https://docs.pydantic.dev/latest/) is the validation layer of the OpenAI SDK, the Google ADK, the Anthropic SDK, LangChain, LlamaIndex, AutoGPT, Transformers, CrewAI, Instructor and many more. _Why use the derivative when you can go straight to the source?_ :smiley:
|
|
79
79
|
|
|
80
80
|
2. **Model-agnostic**:
|
|
81
|
-
Supports virtually every [model](https://ai.pydantic.dev/models/overview) and provider: OpenAI, Anthropic, Gemini, DeepSeek, Grok, Cohere, Mistral, and Perplexity; Azure AI Foundry, Amazon Bedrock, Google Vertex AI, Ollama, LiteLLM, Groq, OpenRouter, Together AI, Fireworks AI, Cerebras, Hugging Face, GitHub, Heroku, Vercel, Nebius. If your favorite model or provider is not listed, you can easily implement a [custom model](https://ai.pydantic.dev/models/overview#custom-models).
|
|
81
|
+
Supports virtually every [model](https://ai.pydantic.dev/models/overview) and provider: OpenAI, Anthropic, Gemini, DeepSeek, Grok, Cohere, Mistral, and Perplexity; Azure AI Foundry, Amazon Bedrock, Google Vertex AI, Ollama, LiteLLM, Groq, OpenRouter, Together AI, Fireworks AI, Cerebras, Hugging Face, GitHub, Heroku, Vercel, Nebius, OVHcloud. If your favorite model or provider is not listed, you can easily implement a [custom model](https://ai.pydantic.dev/models/overview#custom-models).
|
|
82
82
|
|
|
83
83
|
3. **Seamless Observability**:
|
|
84
84
|
Tightly [integrates](https://ai.pydantic.dev/logfire) with [Pydantic Logfire](https://pydantic.dev/logfire), our general-purpose OpenTelemetry observability platform, for real-time debugging, evals-based performance monitoring, and behavior, tracing, and cost tracking. If you already have an observability platform that supports OTel, you can [use that too](https://ai.pydantic.dev/logfire#alternative-observability-backends).
|
|
@@ -39,7 +39,7 @@ We built Pydantic AI with one simple aim: to bring that FastAPI feeling to GenAI
|
|
|
39
39
|
[Pydantic Validation](https://docs.pydantic.dev/latest/) is the validation layer of the OpenAI SDK, the Google ADK, the Anthropic SDK, LangChain, LlamaIndex, AutoGPT, Transformers, CrewAI, Instructor and many more. _Why use the derivative when you can go straight to the source?_ :smiley:
|
|
40
40
|
|
|
41
41
|
2. **Model-agnostic**:
|
|
42
|
-
Supports virtually every [model](https://ai.pydantic.dev/models/overview) and provider: OpenAI, Anthropic, Gemini, DeepSeek, Grok, Cohere, Mistral, and Perplexity; Azure AI Foundry, Amazon Bedrock, Google Vertex AI, Ollama, LiteLLM, Groq, OpenRouter, Together AI, Fireworks AI, Cerebras, Hugging Face, GitHub, Heroku, Vercel, Nebius. If your favorite model or provider is not listed, you can easily implement a [custom model](https://ai.pydantic.dev/models/overview#custom-models).
|
|
42
|
+
Supports virtually every [model](https://ai.pydantic.dev/models/overview) and provider: OpenAI, Anthropic, Gemini, DeepSeek, Grok, Cohere, Mistral, and Perplexity; Azure AI Foundry, Amazon Bedrock, Google Vertex AI, Ollama, LiteLLM, Groq, OpenRouter, Together AI, Fireworks AI, Cerebras, Hugging Face, GitHub, Heroku, Vercel, Nebius, OVHcloud. If your favorite model or provider is not listed, you can easily implement a [custom model](https://ai.pydantic.dev/models/overview#custom-models).
|
|
43
43
|
|
|
44
44
|
3. **Seamless Observability**:
|
|
45
45
|
Tightly [integrates](https://ai.pydantic.dev/logfire) with [Pydantic Logfire](https://pydantic.dev/logfire), our general-purpose OpenTelemetry observability platform, for real-time debugging, evals-based performance monitoring, and behavior, tracing, and cost tracking. If you already have an observability platform that supports OTel, you can [use that too](https://ai.pydantic.dev/logfire#alternative-observability-backends).
|
|
@@ -0,0 +1,151 @@
|
|
|
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
|
+
- '336'
|
|
12
|
+
content-type:
|
|
13
|
+
- application/json
|
|
14
|
+
host:
|
|
15
|
+
- api.openai.com
|
|
16
|
+
method: POST
|
|
17
|
+
parsed_body:
|
|
18
|
+
include:
|
|
19
|
+
- reasoning.encrypted_content
|
|
20
|
+
input:
|
|
21
|
+
- content: In one sentence, what is the top news story in my country today?
|
|
22
|
+
role: user
|
|
23
|
+
model: gpt-5
|
|
24
|
+
stream: false
|
|
25
|
+
tool_choice: auto
|
|
26
|
+
tools:
|
|
27
|
+
- search_context_size: medium
|
|
28
|
+
type: web_search
|
|
29
|
+
user_location:
|
|
30
|
+
city: Mexico City
|
|
31
|
+
country: MX
|
|
32
|
+
type: approximate
|
|
33
|
+
uri: https://api.openai.com/v1/responses
|
|
34
|
+
response:
|
|
35
|
+
headers:
|
|
36
|
+
alt-svc:
|
|
37
|
+
- h3=":443"; ma=86400
|
|
38
|
+
connection:
|
|
39
|
+
- keep-alive
|
|
40
|
+
content-length:
|
|
41
|
+
- '12089'
|
|
42
|
+
content-type:
|
|
43
|
+
- application/json
|
|
44
|
+
openai-organization:
|
|
45
|
+
- pydantic-28gund
|
|
46
|
+
openai-processing-ms:
|
|
47
|
+
- '45591'
|
|
48
|
+
openai-project:
|
|
49
|
+
- proj_dKobscVY9YJxeEaDJen54e3d
|
|
50
|
+
openai-version:
|
|
51
|
+
- '2020-10-01'
|
|
52
|
+
strict-transport-security:
|
|
53
|
+
- max-age=31536000; includeSubDomains; preload
|
|
54
|
+
transfer-encoding:
|
|
55
|
+
- chunked
|
|
56
|
+
parsed_body:
|
|
57
|
+
background: false
|
|
58
|
+
billing:
|
|
59
|
+
payer: developer
|
|
60
|
+
created_at: 1760537022
|
|
61
|
+
error: null
|
|
62
|
+
id: resp_0cc772278fa4f4140068efa9be8878819ca691ebcbe9f1f6be
|
|
63
|
+
incomplete_details: null
|
|
64
|
+
instructions: null
|
|
65
|
+
max_output_tokens: null
|
|
66
|
+
max_tool_calls: null
|
|
67
|
+
metadata: {}
|
|
68
|
+
model: gpt-5-2025-08-07
|
|
69
|
+
object: response
|
|
70
|
+
output:
|
|
71
|
+
- encrypted_content: gAAAAABo76nsGZ3D61NVA0XbnShNHmz5T4RonYmRGx_pRGkEbVDw7m4Ld84NA0js4svXie5FHgTxnkjohBfv597Y9YkQPDKDKkT80tQ41fo4SYkJ4r3BUtgD-DNrpssBBlK_uT-FfWeJlwTTvz6hfl1jP8NK54ZThlLzeSyhoDkQoiJf7d7rmjro49oy8owOCGlod1oiBBcZoF4zXL04lZXeOmrN40e6zIrEXGIb-iC2NL7O2R3GbipQcbq6zy2RpIbmjgmXRTWjtaMmWcJwry4oqYsud2UHojpkhXeN-0Yh4gPfzWbgvYDO47Lc48t5UkNDuBLXezNyRX_Pmlocn-h9RKNEdkq1iZau4UyY_1Fo8LKm0hQuE4x4ZKzRed2KJM4YjwSomtcGshDGKmZw94kabHY9tDI6y5-mWFhHqvjZt50xJukx2iOC6KKKk0iKiqcCeNb4r2K0G_xhLIS-sjbG9rv_762G3AiZ041xEwbStrqovRuTu52YV6b70gnuzvEG0QF9hToUpbZZQx1prAIE1WILXAZrDxvHB2czq2PF3WP0QGWdbJpO3ZSm9osjX1qqNgoiOArBUYtOQUbYM7JtLz92Es53GVeIXlHSlE_VT92ISO6n8UyAGLYuWLd-nTELBbsjNWmOo1LFpUsi7h0rVR0pbs2jTUDRLCn74ucVxYX45dTx0P-OKfNrKDQNaRCyvi-oCFdrJUc-ecm-EaVoqz0b63HHzhKNXFsmPeFZl5gtGnXARqXrbcBgel-wviXlMLt8KaWWMrEU_yq8KjACNeQy8POZsimzWT95oMAjD_J35JgeXajkYIFHuh1ZRb0awKdXPCUp6kR-nL_cBZco6nZARImw-9VR7527KT30aGvPhSYCrtqP9QXmI94IB9mYvGsCCj1ooQ3JW4nzvThJ3KN9xNZaMkvE_pORulsxPLfKfELoy7i74HWBZ7X5_7zLB-Rv-Zj58YJiFtpVYGSzKd2UfbI8GvYaakGFfN2LqzG4k2UA2rIh97nbMfbdVtUL0PuINsHc2Qr1aHbeaiHavya4QCGt1w0cds37gy06dqdL5Hny2NzhSekkUK2vDGV-evUpIkDeK3hY93NQYgwppnmdvMDYOMUl_VnLH5m-3FIW0bTJkxC2zYR4A1lkD_xhawH2KD5lrZS4-qttoDdfWceV6PIW3J7EnP0j9vq5Twkx9phCXWOL0-_7fEKwwmC2VwVvf43rbqbF5ZQpLl_nNiicJX4nmV_umniCS_hUjmHTHHyagnJjUzD7ZHFjF7CenXS4uag4TlNEozrxEv4vcZtWd_A-zSpqYLdGty2Zp16nkeq2DhF137AZTohRpDttSis-oh18GQzgvyDb3kUyb23CHcH9DZwScI4QDiDjoE94mzOe4_MjSyrY4d4stLYr5DYlUc_zE3jWp10QiNz8Yz3K4sm8aM_cPteHRuwGBPmjYWKoNwhsLEiHP3aNE-MYpkcV4oAJk8MR3NU3asRRZUD5CNj66gkRlpcsd6dTUPSJISIZM415mE7uG8HF0inxGn_VXSIFxV7PfjdIs6WE58dwEEe7QXTpxWjkuCCykg43znRi0G3Tscuq8oU7VUe5dTAfGDA-nwkroCFWyfpHT_VX92l4BFM6Pm9GF1XJ3_cpbp_TMkrLNwkklGeZSbghTU0RqKdGfffyrdZNqRW16BESjHc7Z8SsC8QhLjGvavyFHJOBB3vgwRAFDskmFlhTKMAsJqaq_tqJ550UrrRTmjJ1sH3gOozKgryOU9i7w2rlnbn24YkA9yCvIVSaB7bW8_Z0TbhoWY_0D25OQqc8pgOGECEHDzGOX_k5wSevf6WEdxoL9wY0PpNxGz_TwA0DMOd4vModAeCGDujQSfPS7PDUm9qtZMZtwyjZ4PKQ_K09-sKg7X4PUQ9DAdygNmHQCjK0iqY-fhcJwkApX1ichrxy6M9kA1EM8rO5fD4pTaRLoqNVutc1sUBq93DXMEjE73UTCfrygIOK2brw4P1LBNQe_CP3J65obJQ8tMTXyemrnLPYIzw=
|
|
72
|
+
id: rs_0cc772278fa4f4140068efa9bf0dcc819ca630d7697c77a632
|
|
73
|
+
summary: []
|
|
74
|
+
type: reasoning
|
|
75
|
+
- action:
|
|
76
|
+
query: Mexico top news October 15, 2025
|
|
77
|
+
type: search
|
|
78
|
+
id: ws_0cc772278fa4f4140068efa9c5aa14819c871c50351e98af40
|
|
79
|
+
status: completed
|
|
80
|
+
type: web_search_call
|
|
81
|
+
- encrypted_content: gAAAAABo76nsliyRJLQ8_6svrujSylQVBRqPDxfWb2I2yr61HB3Rvh8mkk4ZPdzVyktR-gyzPkY-X5VtSV3rjjMCRvU6nGi8j9MmS-pULY8splSAdXCTcxm5LoH6laEAtugW0p6HlxkaehV4RLM2RNqiFbx3KMciX3JTkg9AJcchLtGiSvaV4KrI6gO7BoMY_L9lPsTAOJMCWmD6eK3S13Rc61XPEsUhLq7W4h_mz-A_y6K5Hehqu4sEzLlWgAI3bVogiULK0UYQqgmRkL5VhZCw3RP7lqV_3eDD-7hJEgH7tnW3aYkSt-6f0PmuDoDdF5UOdhgjYLyr2KGyXokoRVF310d4b7OEJsFycF4-mqtD8-r6RxjmSJVp95Oye-3X2HhXKwanOhJbtymEa77qy2hIC_8p222na1_wBo9awrBaq8T1cyGauiMEEbVcqVkhwE3mQzGYz2EzbvM-KZ7fguzOijBP3kCaJV3mF4qAVkYG_VDn1jEPd-s1CW34HwZevytQBNizpEJwysAqNHbW6rUgXQiq8gkL3N0MIGffabwI1ZckYikOpQrUw7C9kgVMgy_8jr3nlJ3c3nqLwM5dxB95orArSk-GWyk7BRa_N6htBB2xwrmcbwO8lSF5LCcW5zc6N3O24Vne3YeDVB9rfVMrOwk0pKukSuYmiZpws5U4Yuc3ZFHJfpU-Nswbl4SrjxZATG5Eyzo-ecUMIW-MsifLMwLadoxaq3nafpwcQhE4AH4U3Rgi_NOeHuP6iMeStRxUEi_Q7cRASg7TGZgRYAXVmRjaB0X_LGjA_oITzmfOKewUxG2SwtTi3X0-_dxMzQXVNvBp6nKv3THhnM-qAp9rXowmseH-WRqvsuZR0rwuYHig1nLA_gibGmWJ9VwPrhasxmA6kc-PlGkvoYE59lLL3HQYUzNuJsosSRtHix7gcmkpASBIJlPzzvo_10aE9peHNoam78vm8QcFxKA6Lrynva5qCndxXGN7Phh13mkFKmYYGwdufaHDEpeNH0qAWv2GsVHpHKENe0Ll2XqJNeK_lF-zvzFBh0DeRfVy3Lq3G6ZtNvV_sJslzcNQzqqU7gRJEsnzC-bfqJsTGc1NWbYG86OgMV9FmsUohGlDVNIMxAWwtEQXJitWR7UQpei528hz6pJj6uKzrTqoNXAUVjJcQz5DW9wR8OYwdl95FzFHGmqKn8cPTVEvnTV9ISCHPNJ4Hy6_qb2OaUh624h51eo8fvOye_qBFE4B0nnrhbmdtN9PYoxdcF_hvk0Dxt5rvOmiqeTlxueE
|
|
82
|
+
id: rs_0cc772278fa4f4140068efa9c91ae0819cb57bf002b036ffcb
|
|
83
|
+
summary: []
|
|
84
|
+
type: reasoning
|
|
85
|
+
- action:
|
|
86
|
+
query: inundaciones Mexico octubre 2025 muertos desaparecidos Veracruz Hidalgo Puebla 15 de octubre
|
|
87
|
+
type: search
|
|
88
|
+
id: ws_0cc772278fa4f4140068efa9cb9a94819c86a1054697faa9d6
|
|
89
|
+
status: completed
|
|
90
|
+
type: web_search_call
|
|
91
|
+
- encrypted_content: gAAAAABo76nsdJIaRBHwtMtyHUET6TXVN2QSC9B3268qye-aJa-3t_U3_I8F5URYG19B9IuVC0RDpe2iBHtKklE6KIE_Ugzg57cRDo0wiTQxRDXYwjFxKPXCNyRQHYHkbPh9Dohk8nRcNt9mARzOpwgB6qknrb8odOOhyqe3q8bZ7aAqTh-qimwxkSssyAb-AOjYGAwSXmr2GErt284wA9jughihwSsiRxBmUSwnMx2Tcg8h1Kr4i2lnGcBPgWX_0bCpXGZY4A_JItQv-6Z0erPq5R9xPiYYlMDApTbBBOvFVCUXWuDx8XeAGYm0V18fJxXiEHuktll_Tj7o9c8GDbLF6V_hSsUsPAIQ0RCoKJ6hP4ZgE5CA1ml3WQa7IbPHBU-wKgHcKhwD5eBsRkE4DFfBx7zKTnZtB8FghGYYKkx4Ww7VZVqifoO8JAMvBsmZT3CWp6z69hCg4BOaXnfTE2llfA2B4b0oBTrCl9c4qG5dfx_ELVfRxOJyr8zI_Rxw_xj-fYgCrFb8xfa8XCvbV7thZMAac0eZyq8M9PGRbjvmKn7jNPYK-c2a46Ia6t_s93xxxUtTsCr-rvn2gKTMWm9BPTWqpqkAc2ZTCYxgT7QSs77IAOQuk_9OHDNBM-h0ujCYfzISsieGSnwIwMS3hfg9qiezUcNcwHOHxH7n3T2JfNRa2k37sJmxrFJOPyMezEqar1-XQvAEtXwNcNbYIykNZ4s8G3lCJAnvEzoRzCAmiiAndtejPlVrSZUhsWazjPcDnZ458-1nnMfb-vGK0Cybz3EdNWMFnWN5bjLIP3lc_wLPa_dWSz1Dm_bTckJWKAujV1jQITft04Nlo4i9vLW5vWb7Jsml4fiSYtvuALQkNzhOlMbdKvrL29UFobkfCB1hX4Cgj-Hkn7P5WjeYtxKXkOb171JGIEav5qQcfbImOuFxhg_7EUbaefIyGa1J2eGb7DRCcmbqnur5hvzMzPGNqHxWvEunVxf9ZvUEXsPoNPyC2Jkot_ntLSlwRtuuMqu9teK6NfWi0qCJeqbhEN-OWDpFtrmSEYLr1FNS5_XM6_VZ10o1GRW8notAm5RVdn7zDvjs_s5cXv4efs0UanOOAS6e_OIJeX7VHdiKLnHLXxZ-adp5NR2kKIw0hgtvcrCR7KHvr4itOny8zy_7EfeYgX8B66favNVeu6JLGEVIOs1bN3_evQYUyRPJAn3FwM_DIUZqQ1xJVewm1RAxvaENoT_gh3pib4vdjXxeGjJg7VsAkPpiHf0TSYvGKiAtdUuUHNfNv8X5MGuh40ST8ji-UHeWkUe8fzcVoypPVNApyO9bET3RgirucglYbObm3WwucxyZDkJC9nYb1LptN6K3xvJ8a97njRCnzjE4Z0SfOtRBotblGo0IN7cCVI-SJrOlXXdvm8PUOOofKmzM9Y-Seo_Vapq3NBfLGZar7Sg1RtHXTXpJABZZ1HNgfvmw0qqKka-cUyS2qByP6d1ZRc2MTAofNcJXEiiBF62f1JXK0yMwKyCacPBQ26J7xHvmDtz-lAZGO6n8GvWJy2UkGthYZLIHTfyKfc46t74ZunD1daW5_QK7dCMMdXylK8lQaSBtK8UIzlbDcT7cIeoO-9iGSEMj623RjwMqpAJLYW8cuoccnTnH3cJ0032hhuaTyvPnW98_2QdzERSY6booWeLI5QI4yWcmJgs8gnhQC1-UEZrZ-Y3_344Xv8t2Dk-ihlHMN0aZ5MpBkT_FXqspXn5a6HIVLEhdtckz1LWK6ZZxcMDBVZAy5pqTmIs_Ro303y1_5Z_oiKSl-ISCkUhCGCCb5JpLozG5tJZTqDij8u91L4c3fgzxs2Myk-Dk8eiAtNyR1kJTPLzFTqHrFvlTXbU5UaHqBjGLhlVXY-9H7vRB4Ssk0NWyQY5jv1L2jnhy64l6KtNBqY827HVOnsaT-XWlM4McnFT1MJ-qO41NzR-gTZva-KzjDgVj50_MBmxeuBLsnDVq26Iw2d9OQpyzo_qiN_Fs2G9zpaUr84-W9mNsoV3TljiQk9-D1xdy4ZXJ7oicW1Ah-Ua4lNGI8wKHujDDX-sw0FaEQfKKPrN4Ou_lXAStakNhnvn2C3sbPlUk6Mie52ky1Pyq9L3SMwFtNa_Sx0imAANBAqekA6BMwc_Q_Y8jgmtZatBAibaWfWfcCyWNy832S6wJ5L0_fOhYVwT4PMvOw9AIwQbTSAJtuLN7zxZOv2Qw5_UnatJR6MgXbQc0BrmWI_FGuZdOuv2TMGKZkV9ynaZ5L-Dk0P90lpZwNmpbddh1y7TQNY6Os6YPwwcyPSMgTD1fY3eJPWDEv8OxRIrFJeth_tJMb-IX2fozD7ZAXUXuEFqtCFZ7yqoO-AbW8rgLWU5ILiJJk7neHSyWrsiDf0eyILU-tC1QoGuP-Md5hehvrobjVQgkARdzIUAy_8RIeG956NoG1nqIM-5tu0A8xjv2rBf5vTw5p6rbtCiQtTacMVrprXLz-p23XqrOAZuEvhc7mMJBwEJcGq8w12oil-oakW3gbHWzKWUb_6bLGYaI7uBjSH_HDtcU79uONBYGDKRG_eZa0EcupHQ8twVBNviyz2bSubTN4gWvjz4k1nHkmQBagFQzy6ogcCVldZVyLtib2TfMH64DVeEFBEM-aUKcs81R42r8aZjW_I3RFRGS8hodNs0Y1ZfkYms_kBNOZc3pw2iP4rtOLDWatSGfUWN8owiQETiOI2AD70HoXcVBmjyRpxheI_mBVz6YIxMzf0esd5U118NzOyxqfQ66EvmAzmN0iSrbR2Vucx4CojBzweQ0KoWn_HV4U3qjkdXcmdvncbTK18LPoOhS6z7BhEKXDhd1bhI1f5AyirZhqR8xvK0r6aeQdkL7OWyQoDWJM-CRtn0S4O3qucwNA1XFVPt5fF8rysehSjLN4GH0AAueDBc9_BGx0fQMsmpRjUO71W0P-C4pY-eYvUu60u6ng2YELowM7Poak8xWOsvlGqYuXj2s4Tuj6hJPeD6vPoUDaxfFPjMijSkpfASxJvNbE8DpftoPrfiXIG-LDfGIXiJISgDzBgTllf3cw1lhSYq51WfqcBaWsIvXWGGbvnfqE2bA7nRwNUBkmxd9NC38-DAAySadaHIBjsIgv7VEKKp841cvTQ4bB-8Fp1d7pZOvMsq4GjaKCQNfjNcWL87KyyJ-GonLExJStrdNGxwS_9AYNA-6KEdtz-V9YRFzbkHl4406ueOody8O7jvucmoyKFTU1S2yJ5Wbd1gNYA-6wV_II78hbI6dXjTEGvdbRWIKkTktnD6pgDhHjkdS6uzsTcUYTkj60SxMujKv2xlRevDANdgFDB0-zKkv0ntRINr5_CHmnLbW3NYAAyGQ9wOgvfNEMno0EVLQU9F596lscKSXAl4djL1F_GSSn80lb0ujdu77Xh130yORuio6SSF9DAXg1wYI8O0Il2nyJg-0DWTyy6mCG4zPmzyS6yRH64o4kOGmZBuOJSFvcF2Qy0h0h0xBvYhN9fBJh8AcjuYP9TWB8s8Z3KKYOXYlPTPlbN4BaowBVfmzG6_aJaDvUsT1bk9IruW4ENtwf6OxXs0nqEwQEGBYWDAmcdS5hESe7JuVQ1O2bLkg2fYl63VznOUIrYW5hbHMI6pZ3EMsuJD5ITzULCl-WlX_qmduuAKnnFbSzua4Rv6ZUOk_GC-BCIfcnro0RTJTna2hl8M-YP0g05v68zDFl4x1s1xsvii8VF4p_t6EGaPY00iUgB__4uWwdIkuywTAaLgvdtWonA7aCvEZr6a04ZyUD7jf6Acd1cwxkCe2Ed-GVd9f6vQcuXUwAwnuK_gsWsqLfPfA_9U3mxMABZVXjuLwxZlxGW1rxdRQZUdqeQvIBLVt3ozMyqu4mQfs0r4gaLUFff_qHkckNvbvJwUDquokNysr0e1matigksVRDUUQc5aXvR8KeQZKUvjQLh5Rv_gvUmkBO2pQQUJCG3IPQqf6lU1Y_86sxHVegaoZ52jbbEq32NO9gQ-3LlMPvmm-FTmdfaBxNZZ2GVHgjLdvmshTd3XrdrRlqXc2dwFsLbIi6Efg6Zy6Vr8HeZiHWtJjiNT6jurXE0aNkq3SSWHEW6tNcn1BXToFUI7R4vozxEzwQG9e-acnS6OZsRie5dDmQ02CXSlJYu8s8TwyXEhy3vmaGDrtVIXlBGdb-6lAjspALKC4I6k_6uwiv492gFe7usw9mvHgIe9b5y2h0z1VUZ1lr152G1Fw_2R-1C6RxwUPZuD3ZVSw5LvO18VApN4_jDwD6l6i9QcCAGgEtz5rSp1SfbYXpTCFd5ulbZAh0JgU_OUnK4QlXZL7vdfs0cKU43IQaDAwg2zJjKodk87JDoe6YmDfrFWZ_qkPWdfbVtvKOMg2bMqJVU0LbKGH3H_MKnQVnHH7UkcdTfu7wwbYIdddQHQPEzuzOwBTg9nz46nSKfZCIQ3FES6gP7bBDuw3IhwzZq30hAS0XPspU8OQuvAQcUcpjSYlKkNvWvw1ZaGE-wJsA2UgyUDeQ_gUAmvjEqXTkomk5EDiDWg4R7TMi3bzbVUylLcNOopOi_X6Quij0dWoV6tZJqKq8z1BJUeV7Dl9dcnN24MTQ4YFMV3r59zAD4_DBWkMorwfllcFB1-i3mq2RdtErHFay7BATssuoSvaVhZbfcc6OsqE6UcZTUr7ctBCKIpg5EJTAZRgZcUTUQMQYaJmCgBi5QY4UIf9oxxd8URQKz-nT2G9vKrCTRC7h2J2aG3RaM4TVYzJQUADkbj5ejVMTELy2JjG_LQLMLzd_yR4VeSOfn3RVbo_P7A5P0bOp4ftma8Qe5kDC2L2H252tNr2gU82ozygJdqi_2ZB_ladw5fojKVMe2w1dBg_g-c5HmJlIxWp0N_dj8hDTS_zC2J6X6zIFkhW9JTSRgVzdDJd8oZEGNtTbAo__R74yEHll9L52bRu68NTxrT4cQ4RIbA5dQUl0QgNwRr67roltQeWXj1eS47Pe070ntnScAgTCF8431lM2XiK1iPP6fbi23SWE6oD4JQaaAQkeHoBqjqPcTeoPSHLmpKkZS55e6XPlxbQp_exrt8yLJv9fs7wrfG0egRzJwIRd_H8vxCg7f65EUIIAyUp8TTaHpYWQJMmmWtAa035TcuwzRtswUYcWLZZWbqBB90m9EM9huFAmF6xJypAfjWFRm0Mtwh7AgqTTEuw6cnNw5lzGQKJqnP2kCiZ6gVb97A67qQZMOs_zDp8E68RgEzDIm14JEAKrIs0nI3VqrNyy0DGzyvn6TWZUAYqUdUGjchOYc_tj3_cr7_Icu1VWG48SNIlXMKHi0k09efcyTzfaaTXQS5UdlenHvFg9j1WO6oyORpaGbA3L5XUNwH1yX6d9wN8
|
|
92
|
+
id: rs_0cc772278fa4f4140068efa9d096c0819c99fea06cc2948069
|
|
93
|
+
summary: []
|
|
94
|
+
type: reasoning
|
|
95
|
+
- content:
|
|
96
|
+
- annotations:
|
|
97
|
+
- end_index: 281
|
|
98
|
+
start_index: 188
|
|
99
|
+
title: Landslides and flooding cut off 300 communities in Mexico with dozens dead and missing
|
|
100
|
+
type: url_citation
|
|
101
|
+
url: https://apnews.com/article/5d036e18057361281e984b44402d3b1b?utm_source=openai
|
|
102
|
+
logprobs: []
|
|
103
|
+
text: Severe floods and landslides across Veracruz, Hidalgo, and Puebla have cut off hundreds of communities and
|
|
104
|
+
left dozens dead and many missing, prompting a major federal emergency response. ([apnews.com](https://apnews.com/article/5d036e18057361281e984b44402d3b1b?utm_source=openai))
|
|
105
|
+
type: output_text
|
|
106
|
+
id: msg_0cc772278fa4f4140068efa9e8d5c0819caea9f8f22692335d
|
|
107
|
+
role: assistant
|
|
108
|
+
status: completed
|
|
109
|
+
type: message
|
|
110
|
+
parallel_tool_calls: true
|
|
111
|
+
previous_response_id: null
|
|
112
|
+
prompt_cache_key: null
|
|
113
|
+
reasoning:
|
|
114
|
+
effort: medium
|
|
115
|
+
summary: null
|
|
116
|
+
safety_identifier: null
|
|
117
|
+
service_tier: default
|
|
118
|
+
status: completed
|
|
119
|
+
store: true
|
|
120
|
+
temperature: 1.0
|
|
121
|
+
text:
|
|
122
|
+
format:
|
|
123
|
+
type: text
|
|
124
|
+
verbosity: medium
|
|
125
|
+
tool_choice: auto
|
|
126
|
+
tools:
|
|
127
|
+
- filters: null
|
|
128
|
+
search_context_size: medium
|
|
129
|
+
type: web_search
|
|
130
|
+
user_location:
|
|
131
|
+
city: Mexico City
|
|
132
|
+
country: MX
|
|
133
|
+
region: null
|
|
134
|
+
timezone: null
|
|
135
|
+
type: approximate
|
|
136
|
+
top_logprobs: 0
|
|
137
|
+
top_p: 1.0
|
|
138
|
+
truncation: disabled
|
|
139
|
+
usage:
|
|
140
|
+
input_tokens: 12594
|
|
141
|
+
input_tokens_details:
|
|
142
|
+
cached_tokens: 3200
|
|
143
|
+
output_tokens: 1150
|
|
144
|
+
output_tokens_details:
|
|
145
|
+
reasoning_tokens: 1088
|
|
146
|
+
total_tokens: 13744
|
|
147
|
+
user: null
|
|
148
|
+
status:
|
|
149
|
+
code: 200
|
|
150
|
+
message: OK
|
|
151
|
+
version: 1
|
|
@@ -14,7 +14,7 @@ from datetime import datetime
|
|
|
14
14
|
from functools import cached_property
|
|
15
15
|
from pathlib import Path
|
|
16
16
|
from types import ModuleType
|
|
17
|
-
from typing import TYPE_CHECKING, Any, TypeAlias
|
|
17
|
+
from typing import TYPE_CHECKING, Any, TypeAlias, cast
|
|
18
18
|
|
|
19
19
|
import httpx
|
|
20
20
|
import pytest
|
|
@@ -463,21 +463,13 @@ async def vertex_provider(vertex_provider_auth: None): # pragma: lax no cover
|
|
|
463
463
|
pytest.skip('Requires properly configured local google vertex config to pass')
|
|
464
464
|
|
|
465
465
|
try:
|
|
466
|
-
from google
|
|
467
|
-
|
|
468
|
-
from pydantic_ai.providers.google import GoogleProvider
|
|
466
|
+
from pydantic_ai.providers.google import GoogleProvider, VertexAILocation
|
|
469
467
|
except ImportError: # pragma: lax no cover
|
|
470
468
|
pytest.skip('google is not installed')
|
|
471
469
|
|
|
472
470
|
project = os.getenv('GOOGLE_PROJECT', 'pydantic-ai')
|
|
473
471
|
location = os.getenv('GOOGLE_LOCATION', 'global')
|
|
474
|
-
|
|
475
|
-
|
|
476
|
-
try:
|
|
477
|
-
yield GoogleProvider(client=client)
|
|
478
|
-
finally:
|
|
479
|
-
client.aio._api_client._httpx_client.close() # type: ignore
|
|
480
|
-
await client.aio._api_client._async_httpx_client.aclose() # type: ignore
|
|
472
|
+
yield GoogleProvider(project=project, location=cast(VertexAILocation, location))
|
|
481
473
|
|
|
482
474
|
|
|
483
475
|
@pytest.fixture()
|
|
@@ -1555,6 +1555,16 @@ async def test_evaluate_async_logfire(
|
|
|
1555
1555
|
'gen_ai.operation.name': {},
|
|
1556
1556
|
'n_cases': {},
|
|
1557
1557
|
'name': {},
|
|
1558
|
+
'logfire.experiment.metadata': {
|
|
1559
|
+
'type': 'object',
|
|
1560
|
+
'properties': {
|
|
1561
|
+
'averages': {
|
|
1562
|
+
'type': 'object',
|
|
1563
|
+
'title': 'ReportCaseAggregate',
|
|
1564
|
+
'x-python-datatype': 'PydanticModel',
|
|
1565
|
+
}
|
|
1566
|
+
},
|
|
1567
|
+
},
|
|
1558
1568
|
'task_name': {},
|
|
1559
1569
|
},
|
|
1560
1570
|
'type': 'object',
|
|
@@ -1563,6 +1573,18 @@ async def test_evaluate_async_logfire(
|
|
|
1563
1573
|
'logfire.msg_template': 'evaluate {name}',
|
|
1564
1574
|
'logfire.span_type': 'span',
|
|
1565
1575
|
'n_cases': 2,
|
|
1576
|
+
'logfire.experiment.metadata': {
|
|
1577
|
+
'n_cases': 2,
|
|
1578
|
+
'averages': {
|
|
1579
|
+
'name': 'Averages',
|
|
1580
|
+
'scores': {'confidence': 1.0},
|
|
1581
|
+
'labels': {},
|
|
1582
|
+
'metrics': {},
|
|
1583
|
+
'assertions': 1.0,
|
|
1584
|
+
'task_duration': 1.0,
|
|
1585
|
+
'total_duration': 9.0,
|
|
1586
|
+
},
|
|
1587
|
+
},
|
|
1566
1588
|
'name': 'mock_async_task',
|
|
1567
1589
|
'task_name': 'mock_async_task',
|
|
1568
1590
|
},
|