pydantic-ai 1.10.0__tar.gz → 1.11.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.10.0 → pydantic_ai-1.11.0}/PKG-INFO +10 -10
- {pydantic_ai-1.10.0 → pydantic_ai-1.11.0}/tests/graph/beta/test_graph_execution.py +38 -1
- {pydantic_ai-1.10.0 → pydantic_ai-1.11.0}/tests/models/cassettes/test_gemini/test_gemini_drop_exclusive_maximum.yaml +1 -1
- {pydantic_ai-1.10.0 → pydantic_ai-1.11.0}/tests/test_agent.py +111 -5
- {pydantic_ai-1.10.0 → pydantic_ai-1.11.0}/tests/test_examples.py +1 -0
- {pydantic_ai-1.10.0 → pydantic_ai-1.11.0}/.gitignore +0 -0
- {pydantic_ai-1.10.0 → pydantic_ai-1.11.0}/LICENSE +0 -0
- {pydantic_ai-1.10.0 → pydantic_ai-1.11.0}/Makefile +0 -0
- {pydantic_ai-1.10.0 → pydantic_ai-1.11.0}/README.md +0 -0
- {pydantic_ai-1.10.0 → pydantic_ai-1.11.0}/pyproject.toml +0 -0
- {pydantic_ai-1.10.0 → pydantic_ai-1.11.0}/tests/__init__.py +0 -0
- {pydantic_ai-1.10.0 → pydantic_ai-1.11.0}/tests/assets/dummy.pdf +0 -0
- {pydantic_ai-1.10.0 → pydantic_ai-1.11.0}/tests/assets/dummy.txt +0 -0
- {pydantic_ai-1.10.0 → pydantic_ai-1.11.0}/tests/assets/kiwi.png +0 -0
- {pydantic_ai-1.10.0 → pydantic_ai-1.11.0}/tests/assets/marcelo.mp3 +0 -0
- {pydantic_ai-1.10.0 → pydantic_ai-1.11.0}/tests/assets/product_name.txt +0 -0
- {pydantic_ai-1.10.0 → pydantic_ai-1.11.0}/tests/assets/small_video.mp4 +0 -0
- {pydantic_ai-1.10.0 → pydantic_ai-1.11.0}/tests/cassettes/test_dbos/test_complex_agent_run.yaml +0 -0
- {pydantic_ai-1.10.0 → pydantic_ai-1.11.0}/tests/cassettes/test_dbos/test_complex_agent_run_in_workflow.yaml +0 -0
- {pydantic_ai-1.10.0 → pydantic_ai-1.11.0}/tests/cassettes/test_dbos/test_complex_agent_run_stream_in_workflow.yaml +0 -0
- {pydantic_ai-1.10.0 → pydantic_ai-1.11.0}/tests/cassettes/test_dbos/test_dbos_agent_iter.yaml +0 -0
- {pydantic_ai-1.10.0 → pydantic_ai-1.11.0}/tests/cassettes/test_dbos/test_dbos_agent_iter_in_workflow.yaml +0 -0
- {pydantic_ai-1.10.0 → pydantic_ai-1.11.0}/tests/cassettes/test_dbos/test_dbos_agent_override_deps_in_workflow.yaml +0 -0
- {pydantic_ai-1.10.0 → pydantic_ai-1.11.0}/tests/cassettes/test_dbos/test_dbos_agent_override_tools_in_workflow.yaml +0 -0
- {pydantic_ai-1.10.0 → pydantic_ai-1.11.0}/tests/cassettes/test_dbos/test_dbos_agent_run.yaml +0 -0
- {pydantic_ai-1.10.0 → pydantic_ai-1.11.0}/tests/cassettes/test_dbos/test_dbos_agent_run_in_workflow_with_toolsets.yaml +0 -0
- {pydantic_ai-1.10.0 → pydantic_ai-1.11.0}/tests/cassettes/test_dbos/test_dbos_agent_run_stream.yaml +0 -0
- {pydantic_ai-1.10.0 → pydantic_ai-1.11.0}/tests/cassettes/test_dbos/test_dbos_agent_run_sync.yaml +0 -0
- {pydantic_ai-1.10.0 → pydantic_ai-1.11.0}/tests/cassettes/test_dbos/test_dbos_agent_run_sync_in_workflow.yaml +0 -0
- {pydantic_ai-1.10.0 → pydantic_ai-1.11.0}/tests/cassettes/test_dbos/test_dbos_agent_with_dataclass_deps_as_dict.yaml +0 -0
- {pydantic_ai-1.10.0 → pydantic_ai-1.11.0}/tests/cassettes/test_dbos/test_dbos_agent_with_hitl_tool.yaml +0 -0
- {pydantic_ai-1.10.0 → pydantic_ai-1.11.0}/tests/cassettes/test_dbos/test_dbos_agent_with_hitl_tool_sync.yaml +0 -0
- {pydantic_ai-1.10.0 → pydantic_ai-1.11.0}/tests/cassettes/test_dbos/test_dbos_agent_with_model_retry.yaml +0 -0
- {pydantic_ai-1.10.0 → pydantic_ai-1.11.0}/tests/cassettes/test_dbos/test_dbos_agent_with_non_dict_deps.yaml +0 -0
- {pydantic_ai-1.10.0 → pydantic_ai-1.11.0}/tests/cassettes/test_dbos/test_dbos_agent_with_unserializable_deps_type.yaml +0 -0
- {pydantic_ai-1.10.0 → pydantic_ai-1.11.0}/tests/cassettes/test_dbos/test_dbos_model_stream_direct.yaml +0 -0
- {pydantic_ai-1.10.0 → pydantic_ai-1.11.0}/tests/cassettes/test_dbos/test_multiple_agents.yaml +0 -0
- {pydantic_ai-1.10.0 → pydantic_ai-1.11.0}/tests/cassettes/test_dbos/test_simple_agent_run_in_workflow.yaml +0 -0
- {pydantic_ai-1.10.0 → pydantic_ai-1.11.0}/tests/cassettes/test_mcp/test_agent_with_server_not_running.yaml +0 -0
- {pydantic_ai-1.10.0 → pydantic_ai-1.11.0}/tests/cassettes/test_mcp/test_agent_with_stdio_server.yaml +0 -0
- {pydantic_ai-1.10.0 → pydantic_ai-1.11.0}/tests/cassettes/test_mcp/test_tool_returning_audio_resource.yaml +0 -0
- {pydantic_ai-1.10.0 → pydantic_ai-1.11.0}/tests/cassettes/test_mcp/test_tool_returning_audio_resource_link.yaml +0 -0
- {pydantic_ai-1.10.0 → pydantic_ai-1.11.0}/tests/cassettes/test_mcp/test_tool_returning_dict.yaml +0 -0
- {pydantic_ai-1.10.0 → pydantic_ai-1.11.0}/tests/cassettes/test_mcp/test_tool_returning_error.yaml +0 -0
- {pydantic_ai-1.10.0 → pydantic_ai-1.11.0}/tests/cassettes/test_mcp/test_tool_returning_image.yaml +0 -0
- {pydantic_ai-1.10.0 → pydantic_ai-1.11.0}/tests/cassettes/test_mcp/test_tool_returning_image_resource.yaml +0 -0
- {pydantic_ai-1.10.0 → pydantic_ai-1.11.0}/tests/cassettes/test_mcp/test_tool_returning_image_resource_link.yaml +0 -0
- {pydantic_ai-1.10.0 → pydantic_ai-1.11.0}/tests/cassettes/test_mcp/test_tool_returning_multiple_items.yaml +0 -0
- {pydantic_ai-1.10.0 → pydantic_ai-1.11.0}/tests/cassettes/test_mcp/test_tool_returning_none.yaml +0 -0
- {pydantic_ai-1.10.0 → pydantic_ai-1.11.0}/tests/cassettes/test_mcp/test_tool_returning_str.yaml +0 -0
- {pydantic_ai-1.10.0 → pydantic_ai-1.11.0}/tests/cassettes/test_mcp/test_tool_returning_text_resource.yaml +0 -0
- {pydantic_ai-1.10.0 → pydantic_ai-1.11.0}/tests/cassettes/test_mcp/test_tool_returning_text_resource_link.yaml +0 -0
- {pydantic_ai-1.10.0 → pydantic_ai-1.11.0}/tests/cassettes/test_mcp/test_tool_returning_unstructured_dict.yaml +0 -0
- {pydantic_ai-1.10.0 → pydantic_ai-1.11.0}/tests/cassettes/test_prefect/test_complex_agent_run_in_flow.yaml +0 -0
- {pydantic_ai-1.10.0 → pydantic_ai-1.11.0}/tests/cassettes/test_prefect/test_iter_in_flow.yaml +0 -0
- {pydantic_ai-1.10.0 → pydantic_ai-1.11.0}/tests/cassettes/test_prefect/test_multiple_agents.yaml +0 -0
- {pydantic_ai-1.10.0 → pydantic_ai-1.11.0}/tests/cassettes/test_prefect/test_prefect_agent_iter.yaml +0 -0
- {pydantic_ai-1.10.0 → pydantic_ai-1.11.0}/tests/cassettes/test_prefect/test_prefect_agent_override_deps.yaml +0 -0
- {pydantic_ai-1.10.0 → pydantic_ai-1.11.0}/tests/cassettes/test_prefect/test_prefect_agent_override_tools.yaml +0 -0
- {pydantic_ai-1.10.0 → pydantic_ai-1.11.0}/tests/cassettes/test_prefect/test_prefect_agent_override_toolsets.yaml +0 -0
- {pydantic_ai-1.10.0 → pydantic_ai-1.11.0}/tests/cassettes/test_prefect/test_prefect_agent_run.yaml +0 -0
- {pydantic_ai-1.10.0 → pydantic_ai-1.11.0}/tests/cassettes/test_prefect/test_prefect_agent_run_stream.yaml +0 -0
- {pydantic_ai-1.10.0 → pydantic_ai-1.11.0}/tests/cassettes/test_prefect/test_prefect_agent_run_stream_events.yaml +0 -0
- {pydantic_ai-1.10.0 → pydantic_ai-1.11.0}/tests/cassettes/test_prefect/test_prefect_agent_run_sync.yaml +0 -0
- {pydantic_ai-1.10.0 → pydantic_ai-1.11.0}/tests/cassettes/test_prefect/test_prefect_agent_with_hitl_tool.yaml +0 -0
- {pydantic_ai-1.10.0 → pydantic_ai-1.11.0}/tests/cassettes/test_prefect/test_prefect_agent_with_hitl_tool_sync.yaml +0 -0
- {pydantic_ai-1.10.0 → pydantic_ai-1.11.0}/tests/cassettes/test_prefect/test_prefect_agent_with_model_retry.yaml +0 -0
- {pydantic_ai-1.10.0 → pydantic_ai-1.11.0}/tests/cassettes/test_prefect/test_prefect_agent_with_unserializable_deps.yaml +0 -0
- {pydantic_ai-1.10.0 → pydantic_ai-1.11.0}/tests/cassettes/test_prefect/test_run_stream_in_flow.yaml +0 -0
- {pydantic_ai-1.10.0 → pydantic_ai-1.11.0}/tests/cassettes/test_prefect/test_run_sync_in_flow.yaml +0 -0
- {pydantic_ai-1.10.0 → pydantic_ai-1.11.0}/tests/cassettes/test_prefect/test_simple_agent_run_in_flow.yaml +0 -0
- {pydantic_ai-1.10.0 → pydantic_ai-1.11.0}/tests/cassettes/test_settings/test_stop_settings[anthropic].yaml +0 -0
- {pydantic_ai-1.10.0 → pydantic_ai-1.11.0}/tests/cassettes/test_settings/test_stop_settings[bedrock].yaml +0 -0
- {pydantic_ai-1.10.0 → pydantic_ai-1.11.0}/tests/cassettes/test_settings/test_stop_settings[cohere].yaml +0 -0
- {pydantic_ai-1.10.0 → pydantic_ai-1.11.0}/tests/cassettes/test_settings/test_stop_settings[gemini].yaml +0 -0
- {pydantic_ai-1.10.0 → pydantic_ai-1.11.0}/tests/cassettes/test_settings/test_stop_settings[google].yaml +0 -0
- {pydantic_ai-1.10.0 → pydantic_ai-1.11.0}/tests/cassettes/test_settings/test_stop_settings[groq].yaml +0 -0
- {pydantic_ai-1.10.0 → pydantic_ai-1.11.0}/tests/cassettes/test_settings/test_stop_settings[mistral].yaml +0 -0
- {pydantic_ai-1.10.0 → pydantic_ai-1.11.0}/tests/cassettes/test_settings/test_stop_settings[openai].yaml +0 -0
- {pydantic_ai-1.10.0 → pydantic_ai-1.11.0}/tests/cassettes/test_temporal/test_complex_agent_run.yaml +0 -0
- {pydantic_ai-1.10.0 → pydantic_ai-1.11.0}/tests/cassettes/test_temporal/test_complex_agent_run_in_workflow.yaml +0 -0
- {pydantic_ai-1.10.0 → pydantic_ai-1.11.0}/tests/cassettes/test_temporal/test_complex_agent_run_stream_in_workflow.yaml +0 -0
- {pydantic_ai-1.10.0 → pydantic_ai-1.11.0}/tests/cassettes/test_temporal/test_logfire_plugin.yaml +0 -0
- {pydantic_ai-1.10.0 → pydantic_ai-1.11.0}/tests/cassettes/test_temporal/test_multiple_agents.yaml +0 -0
- {pydantic_ai-1.10.0 → pydantic_ai-1.11.0}/tests/cassettes/test_temporal/test_simple_agent_run_in_workflow.yaml +0 -0
- {pydantic_ai-1.10.0 → pydantic_ai-1.11.0}/tests/cassettes/test_temporal/test_temporal_agent_iter.yaml +0 -0
- {pydantic_ai-1.10.0 → pydantic_ai-1.11.0}/tests/cassettes/test_temporal/test_temporal_agent_override_deps_in_workflow.yaml +0 -0
- {pydantic_ai-1.10.0 → pydantic_ai-1.11.0}/tests/cassettes/test_temporal/test_temporal_agent_run.yaml +0 -0
- {pydantic_ai-1.10.0 → pydantic_ai-1.11.0}/tests/cassettes/test_temporal/test_temporal_agent_run_stream.yaml +0 -0
- {pydantic_ai-1.10.0 → pydantic_ai-1.11.0}/tests/cassettes/test_temporal/test_temporal_agent_run_stream_events.yaml +0 -0
- {pydantic_ai-1.10.0 → pydantic_ai-1.11.0}/tests/cassettes/test_temporal/test_temporal_agent_run_sync.yaml +0 -0
- {pydantic_ai-1.10.0 → pydantic_ai-1.11.0}/tests/cassettes/test_temporal/test_temporal_agent_sync_tool_activity_disabled.yaml +0 -0
- {pydantic_ai-1.10.0 → pydantic_ai-1.11.0}/tests/cassettes/test_temporal/test_temporal_agent_with_dataclass_deps_as_dict.yaml +0 -0
- {pydantic_ai-1.10.0 → pydantic_ai-1.11.0}/tests/cassettes/test_temporal/test_temporal_agent_with_hitl_tool.yaml +0 -0
- {pydantic_ai-1.10.0 → pydantic_ai-1.11.0}/tests/cassettes/test_temporal/test_temporal_agent_with_model_retry.yaml +0 -0
- {pydantic_ai-1.10.0 → pydantic_ai-1.11.0}/tests/cassettes/test_temporal/test_temporal_agent_with_non_dict_deps.yaml +0 -0
- {pydantic_ai-1.10.0 → pydantic_ai-1.11.0}/tests/cassettes/test_temporal/test_temporal_agent_with_unserializable_deps_type.yaml +0 -0
- {pydantic_ai-1.10.0 → pydantic_ai-1.11.0}/tests/cassettes/test_temporal/test_web_search_agent_run_in_workflow.yaml +0 -0
- {pydantic_ai-1.10.0 → pydantic_ai-1.11.0}/tests/cassettes/test_vercel_ai/test_run.yaml +0 -0
- {pydantic_ai-1.10.0 → pydantic_ai-1.11.0}/tests/conftest.py +0 -0
- {pydantic_ai-1.10.0 → pydantic_ai-1.11.0}/tests/evals/__init__.py +0 -0
- {pydantic_ai-1.10.0 → pydantic_ai-1.11.0}/tests/evals/test_dataset.py +0 -0
- {pydantic_ai-1.10.0 → pydantic_ai-1.11.0}/tests/evals/test_evaluator_base.py +0 -0
- {pydantic_ai-1.10.0 → pydantic_ai-1.11.0}/tests/evals/test_evaluator_common.py +0 -0
- {pydantic_ai-1.10.0 → pydantic_ai-1.11.0}/tests/evals/test_evaluator_context.py +0 -0
- {pydantic_ai-1.10.0 → pydantic_ai-1.11.0}/tests/evals/test_evaluator_spec.py +0 -0
- {pydantic_ai-1.10.0 → pydantic_ai-1.11.0}/tests/evals/test_evaluators.py +0 -0
- {pydantic_ai-1.10.0 → pydantic_ai-1.11.0}/tests/evals/test_llm_as_a_judge.py +0 -0
- {pydantic_ai-1.10.0 → pydantic_ai-1.11.0}/tests/evals/test_otel.py +0 -0
- {pydantic_ai-1.10.0 → pydantic_ai-1.11.0}/tests/evals/test_render_numbers.py +0 -0
- {pydantic_ai-1.10.0 → pydantic_ai-1.11.0}/tests/evals/test_reporting.py +0 -0
- {pydantic_ai-1.10.0 → pydantic_ai-1.11.0}/tests/evals/test_reports.py +0 -0
- {pydantic_ai-1.10.0 → pydantic_ai-1.11.0}/tests/evals/test_utils.py +0 -0
- {pydantic_ai-1.10.0 → pydantic_ai-1.11.0}/tests/evals/utils.py +0 -0
- {pydantic_ai-1.10.0 → pydantic_ai-1.11.0}/tests/example_modules/README.md +0 -0
- {pydantic_ai-1.10.0 → pydantic_ai-1.11.0}/tests/example_modules/bank_database.py +0 -0
- {pydantic_ai-1.10.0 → pydantic_ai-1.11.0}/tests/example_modules/fake_database.py +0 -0
- {pydantic_ai-1.10.0 → pydantic_ai-1.11.0}/tests/example_modules/mcp_server.py +0 -0
- {pydantic_ai-1.10.0 → pydantic_ai-1.11.0}/tests/example_modules/weather_service.py +0 -0
- {pydantic_ai-1.10.0 → pydantic_ai-1.11.0}/tests/ext/__init__.py +0 -0
- {pydantic_ai-1.10.0 → pydantic_ai-1.11.0}/tests/ext/test_langchain.py +0 -0
- {pydantic_ai-1.10.0 → pydantic_ai-1.11.0}/tests/graph/__init__.py +0 -0
- {pydantic_ai-1.10.0 → pydantic_ai-1.11.0}/tests/graph/beta/__init__.py +0 -0
- {pydantic_ai-1.10.0 → pydantic_ai-1.11.0}/tests/graph/beta/test_broadcast_and_spread.py +0 -0
- {pydantic_ai-1.10.0 → pydantic_ai-1.11.0}/tests/graph/beta/test_decisions.py +0 -0
- {pydantic_ai-1.10.0 → pydantic_ai-1.11.0}/tests/graph/beta/test_edge_cases.py +0 -0
- {pydantic_ai-1.10.0 → pydantic_ai-1.11.0}/tests/graph/beta/test_edge_labels.py +0 -0
- {pydantic_ai-1.10.0 → pydantic_ai-1.11.0}/tests/graph/beta/test_graph_builder.py +0 -0
- {pydantic_ai-1.10.0 → pydantic_ai-1.11.0}/tests/graph/beta/test_graph_edge_cases.py +0 -0
- {pydantic_ai-1.10.0 → pydantic_ai-1.11.0}/tests/graph/beta/test_graph_iteration.py +0 -0
- {pydantic_ai-1.10.0 → pydantic_ai-1.11.0}/tests/graph/beta/test_joins_and_reducers.py +0 -0
- {pydantic_ai-1.10.0 → pydantic_ai-1.11.0}/tests/graph/beta/test_mermaid_rendering.py +0 -0
- {pydantic_ai-1.10.0 → pydantic_ai-1.11.0}/tests/graph/beta/test_node_and_step.py +0 -0
- {pydantic_ai-1.10.0 → pydantic_ai-1.11.0}/tests/graph/beta/test_parent_forks.py +0 -0
- {pydantic_ai-1.10.0 → pydantic_ai-1.11.0}/tests/graph/beta/test_paths.py +0 -0
- {pydantic_ai-1.10.0 → pydantic_ai-1.11.0}/tests/graph/beta/test_util.py +0 -0
- {pydantic_ai-1.10.0 → pydantic_ai-1.11.0}/tests/graph/beta/test_v1_v2_integration.py +0 -0
- {pydantic_ai-1.10.0 → pydantic_ai-1.11.0}/tests/graph/test_file_persistence.py +0 -0
- {pydantic_ai-1.10.0 → pydantic_ai-1.11.0}/tests/graph/test_graph.py +0 -0
- {pydantic_ai-1.10.0 → pydantic_ai-1.11.0}/tests/graph/test_mermaid.py +0 -0
- {pydantic_ai-1.10.0 → pydantic_ai-1.11.0}/tests/graph/test_persistence.py +0 -0
- {pydantic_ai-1.10.0 → pydantic_ai-1.11.0}/tests/graph/test_state.py +0 -0
- {pydantic_ai-1.10.0 → pydantic_ai-1.11.0}/tests/graph/test_utils.py +0 -0
- {pydantic_ai-1.10.0 → pydantic_ai-1.11.0}/tests/import_examples.py +0 -0
- {pydantic_ai-1.10.0 → pydantic_ai-1.11.0}/tests/json_body_serializer.py +0 -0
- {pydantic_ai-1.10.0 → pydantic_ai-1.11.0}/tests/mcp_server.py +0 -0
- {pydantic_ai-1.10.0 → pydantic_ai-1.11.0}/tests/models/__init__.py +0 -0
- {pydantic_ai-1.10.0 → pydantic_ai-1.11.0}/tests/models/cassettes/test_anthropic/test_anthropic_code_execution_tool.yaml +0 -0
- {pydantic_ai-1.10.0 → pydantic_ai-1.11.0}/tests/models/cassettes/test_anthropic/test_anthropic_code_execution_tool_stream.yaml +0 -0
- {pydantic_ai-1.10.0 → pydantic_ai-1.11.0}/tests/models/cassettes/test_anthropic/test_anthropic_mcp_servers.yaml +0 -0
- {pydantic_ai-1.10.0 → pydantic_ai-1.11.0}/tests/models/cassettes/test_anthropic/test_anthropic_mcp_servers_stream.yaml +0 -0
- {pydantic_ai-1.10.0 → pydantic_ai-1.11.0}/tests/models/cassettes/test_anthropic/test_anthropic_memory_tool.yaml +0 -0
- {pydantic_ai-1.10.0 → pydantic_ai-1.11.0}/tests/models/cassettes/test_anthropic/test_anthropic_model_empty_message_on_history.yaml +0 -0
- {pydantic_ai-1.10.0 → pydantic_ai-1.11.0}/tests/models/cassettes/test_anthropic/test_anthropic_model_instructions.yaml +0 -0
- {pydantic_ai-1.10.0 → pydantic_ai-1.11.0}/tests/models/cassettes/test_anthropic/test_anthropic_model_thinking_part.yaml +0 -0
- {pydantic_ai-1.10.0 → pydantic_ai-1.11.0}/tests/models/cassettes/test_anthropic/test_anthropic_model_thinking_part_from_other_model.yaml +0 -0
- {pydantic_ai-1.10.0 → pydantic_ai-1.11.0}/tests/models/cassettes/test_anthropic/test_anthropic_model_thinking_part_redacted.yaml +0 -0
- {pydantic_ai-1.10.0 → pydantic_ai-1.11.0}/tests/models/cassettes/test_anthropic/test_anthropic_model_thinking_part_redacted_stream.yaml +0 -0
- {pydantic_ai-1.10.0 → pydantic_ai-1.11.0}/tests/models/cassettes/test_anthropic/test_anthropic_model_thinking_part_stream.yaml +0 -0
- {pydantic_ai-1.10.0 → pydantic_ai-1.11.0}/tests/models/cassettes/test_anthropic/test_anthropic_model_web_search_tool_stream.yaml +0 -0
- {pydantic_ai-1.10.0 → pydantic_ai-1.11.0}/tests/models/cassettes/test_anthropic/test_anthropic_output_tool_with_thinking.yaml +0 -0
- {pydantic_ai-1.10.0 → pydantic_ai-1.11.0}/tests/models/cassettes/test_anthropic/test_anthropic_prompted_output.yaml +0 -0
- {pydantic_ai-1.10.0 → pydantic_ai-1.11.0}/tests/models/cassettes/test_anthropic/test_anthropic_prompted_output_multiple.yaml +0 -0
- {pydantic_ai-1.10.0 → pydantic_ai-1.11.0}/tests/models/cassettes/test_anthropic/test_anthropic_server_tool_pass_history_to_another_provider.yaml +0 -0
- {pydantic_ai-1.10.0 → pydantic_ai-1.11.0}/tests/models/cassettes/test_anthropic/test_anthropic_server_tool_receive_history_from_another_provider.yaml +0 -0
- {pydantic_ai-1.10.0 → pydantic_ai-1.11.0}/tests/models/cassettes/test_anthropic/test_anthropic_text_output_function.yaml +0 -0
- {pydantic_ai-1.10.0 → pydantic_ai-1.11.0}/tests/models/cassettes/test_anthropic/test_anthropic_text_parts_ahead_of_built_in_tool_call.yaml +0 -0
- {pydantic_ai-1.10.0 → pydantic_ai-1.11.0}/tests/models/cassettes/test_anthropic/test_anthropic_tool_output.yaml +0 -0
- {pydantic_ai-1.10.0 → pydantic_ai-1.11.0}/tests/models/cassettes/test_anthropic/test_anthropic_tool_with_thinking.yaml +0 -0
- {pydantic_ai-1.10.0 → pydantic_ai-1.11.0}/tests/models/cassettes/test_anthropic/test_anthropic_web_search_tool.yaml +0 -0
- {pydantic_ai-1.10.0 → pydantic_ai-1.11.0}/tests/models/cassettes/test_anthropic/test_anthropic_web_search_tool_stream.yaml +0 -0
- {pydantic_ai-1.10.0 → pydantic_ai-1.11.0}/tests/models/cassettes/test_anthropic/test_document_binary_content_input.yaml +0 -0
- {pydantic_ai-1.10.0 → pydantic_ai-1.11.0}/tests/models/cassettes/test_anthropic/test_document_url_input.yaml +0 -0
- {pydantic_ai-1.10.0 → pydantic_ai-1.11.0}/tests/models/cassettes/test_anthropic/test_extra_headers.yaml +0 -0
- {pydantic_ai-1.10.0 → pydantic_ai-1.11.0}/tests/models/cassettes/test_anthropic/test_image_as_binary_content_tool_response.yaml +0 -0
- {pydantic_ai-1.10.0 → pydantic_ai-1.11.0}/tests/models/cassettes/test_anthropic/test_image_url_input.yaml +0 -0
- {pydantic_ai-1.10.0 → pydantic_ai-1.11.0}/tests/models/cassettes/test_anthropic/test_image_url_input_invalid_mime_type.yaml +0 -0
- {pydantic_ai-1.10.0 → pydantic_ai-1.11.0}/tests/models/cassettes/test_anthropic/test_multiple_parallel_tool_calls.yaml +0 -0
- {pydantic_ai-1.10.0 → pydantic_ai-1.11.0}/tests/models/cassettes/test_anthropic/test_text_document_url_input.yaml +0 -0
- {pydantic_ai-1.10.0 → pydantic_ai-1.11.0}/tests/models/cassettes/test_bedrock/test_bedrock_anthropic_tool_with_thinking.yaml +0 -0
- {pydantic_ai-1.10.0 → pydantic_ai-1.11.0}/tests/models/cassettes/test_bedrock/test_bedrock_empty_system_prompt.yaml +0 -0
- {pydantic_ai-1.10.0 → pydantic_ai-1.11.0}/tests/models/cassettes/test_bedrock/test_bedrock_model.yaml +0 -0
- {pydantic_ai-1.10.0 → pydantic_ai-1.11.0}/tests/models/cassettes/test_bedrock/test_bedrock_model_anthropic_model_without_tools.yaml +0 -0
- {pydantic_ai-1.10.0 → pydantic_ai-1.11.0}/tests/models/cassettes/test_bedrock/test_bedrock_model_guardrail_config.yaml +0 -0
- {pydantic_ai-1.10.0 → pydantic_ai-1.11.0}/tests/models/cassettes/test_bedrock/test_bedrock_model_instructions.yaml +0 -0
- {pydantic_ai-1.10.0 → pydantic_ai-1.11.0}/tests/models/cassettes/test_bedrock/test_bedrock_model_iter_stream.yaml +0 -0
- {pydantic_ai-1.10.0 → pydantic_ai-1.11.0}/tests/models/cassettes/test_bedrock/test_bedrock_model_max_tokens.yaml +0 -0
- {pydantic_ai-1.10.0 → pydantic_ai-1.11.0}/tests/models/cassettes/test_bedrock/test_bedrock_model_other_parameters.yaml +0 -0
- {pydantic_ai-1.10.0 → pydantic_ai-1.11.0}/tests/models/cassettes/test_bedrock/test_bedrock_model_performance_config.yaml +0 -0
- {pydantic_ai-1.10.0 → pydantic_ai-1.11.0}/tests/models/cassettes/test_bedrock/test_bedrock_model_retry.yaml +0 -0
- {pydantic_ai-1.10.0 → pydantic_ai-1.11.0}/tests/models/cassettes/test_bedrock/test_bedrock_model_stream.yaml +0 -0
- {pydantic_ai-1.10.0 → pydantic_ai-1.11.0}/tests/models/cassettes/test_bedrock/test_bedrock_model_stream_empty_text_delta.yaml +0 -0
- {pydantic_ai-1.10.0 → pydantic_ai-1.11.0}/tests/models/cassettes/test_bedrock/test_bedrock_model_structured_output.yaml +0 -0
- {pydantic_ai-1.10.0 → pydantic_ai-1.11.0}/tests/models/cassettes/test_bedrock/test_bedrock_model_thinking_part_anthropic.yaml +0 -0
- {pydantic_ai-1.10.0 → pydantic_ai-1.11.0}/tests/models/cassettes/test_bedrock/test_bedrock_model_thinking_part_deepseek.yaml +0 -0
- {pydantic_ai-1.10.0 → pydantic_ai-1.11.0}/tests/models/cassettes/test_bedrock/test_bedrock_model_thinking_part_from_other_model.yaml +0 -0
- {pydantic_ai-1.10.0 → pydantic_ai-1.11.0}/tests/models/cassettes/test_bedrock/test_bedrock_model_thinking_part_redacted.yaml +0 -0
- {pydantic_ai-1.10.0 → pydantic_ai-1.11.0}/tests/models/cassettes/test_bedrock/test_bedrock_model_thinking_part_redacted_stream.yaml +0 -0
- {pydantic_ai-1.10.0 → pydantic_ai-1.11.0}/tests/models/cassettes/test_bedrock/test_bedrock_model_thinking_part_stream.yaml +0 -0
- {pydantic_ai-1.10.0 → pydantic_ai-1.11.0}/tests/models/cassettes/test_bedrock/test_bedrock_model_top_p.yaml +0 -0
- {pydantic_ai-1.10.0 → pydantic_ai-1.11.0}/tests/models/cassettes/test_bedrock/test_bedrock_multiple_documents_in_history.yaml +0 -0
- {pydantic_ai-1.10.0 → pydantic_ai-1.11.0}/tests/models/cassettes/test_bedrock/test_document_url_input.yaml +0 -0
- {pydantic_ai-1.10.0 → pydantic_ai-1.11.0}/tests/models/cassettes/test_bedrock/test_image_as_binary_content_input.yaml +0 -0
- {pydantic_ai-1.10.0 → pydantic_ai-1.11.0}/tests/models/cassettes/test_bedrock/test_image_url_input.yaml +0 -0
- {pydantic_ai-1.10.0 → pydantic_ai-1.11.0}/tests/models/cassettes/test_bedrock/test_text_as_binary_content_input.yaml +0 -0
- {pydantic_ai-1.10.0 → pydantic_ai-1.11.0}/tests/models/cassettes/test_bedrock/test_text_document_url_input.yaml +0 -0
- {pydantic_ai-1.10.0 → pydantic_ai-1.11.0}/tests/models/cassettes/test_bedrock/test_video_as_binary_content_input.yaml +0 -0
- {pydantic_ai-1.10.0 → pydantic_ai-1.11.0}/tests/models/cassettes/test_bedrock/test_video_url_input.yaml +0 -0
- {pydantic_ai-1.10.0 → pydantic_ai-1.11.0}/tests/models/cassettes/test_cohere/test_cohere_model_instructions.yaml +0 -0
- {pydantic_ai-1.10.0 → pydantic_ai-1.11.0}/tests/models/cassettes/test_cohere/test_cohere_model_thinking_part.yaml +0 -0
- {pydantic_ai-1.10.0 → pydantic_ai-1.11.0}/tests/models/cassettes/test_cohere/test_request_simple_success_with_vcr.yaml +0 -0
- {pydantic_ai-1.10.0 → pydantic_ai-1.11.0}/tests/models/cassettes/test_deepseek/test_deepseek_model_thinking_part.yaml +0 -0
- {pydantic_ai-1.10.0 → pydantic_ai-1.11.0}/tests/models/cassettes/test_deepseek/test_deepseek_model_thinking_stream.yaml +0 -0
- {pydantic_ai-1.10.0 → pydantic_ai-1.11.0}/tests/models/cassettes/test_download_item/test_download_item_application_octet_stream.yaml +0 -0
- {pydantic_ai-1.10.0 → pydantic_ai-1.11.0}/tests/models/cassettes/test_download_item/test_download_item_audio_mpeg.yaml +0 -0
- {pydantic_ai-1.10.0 → pydantic_ai-1.11.0}/tests/models/cassettes/test_download_item/test_download_item_no_content_type.yaml +0 -0
- {pydantic_ai-1.10.0 → pydantic_ai-1.11.0}/tests/models/cassettes/test_gemini/test_document_url_input.yaml +0 -0
- {pydantic_ai-1.10.0 → pydantic_ai-1.11.0}/tests/models/cassettes/test_gemini/test_gemini_additional_properties_is_false.yaml +0 -0
- {pydantic_ai-1.10.0 → pydantic_ai-1.11.0}/tests/models/cassettes/test_gemini/test_gemini_additional_properties_is_true.yaml +0 -0
- {pydantic_ai-1.10.0 → pydantic_ai-1.11.0}/tests/models/cassettes/test_gemini/test_gemini_exclusive_minimum_and_maximum.yaml +0 -0
- {pydantic_ai-1.10.0 → pydantic_ai-1.11.0}/tests/models/cassettes/test_gemini/test_gemini_model_instructions.yaml +0 -0
- {pydantic_ai-1.10.0 → pydantic_ai-1.11.0}/tests/models/cassettes/test_gemini/test_gemini_model_thinking_part.yaml +0 -0
- {pydantic_ai-1.10.0 → pydantic_ai-1.11.0}/tests/models/cassettes/test_gemini/test_gemini_native_output.yaml +0 -0
- {pydantic_ai-1.10.0 → pydantic_ai-1.11.0}/tests/models/cassettes/test_gemini/test_gemini_native_output_multiple.yaml +0 -0
- {pydantic_ai-1.10.0 → pydantic_ai-1.11.0}/tests/models/cassettes/test_gemini/test_gemini_prompted_output.yaml +0 -0
- {pydantic_ai-1.10.0 → pydantic_ai-1.11.0}/tests/models/cassettes/test_gemini/test_gemini_prompted_output_multiple.yaml +0 -0
- {pydantic_ai-1.10.0 → pydantic_ai-1.11.0}/tests/models/cassettes/test_gemini/test_gemini_prompted_output_with_tools.yaml +0 -0
- {pydantic_ai-1.10.0 → pydantic_ai-1.11.0}/tests/models/cassettes/test_gemini/test_gemini_text_output_function.yaml +0 -0
- {pydantic_ai-1.10.0 → pydantic_ai-1.11.0}/tests/models/cassettes/test_gemini/test_gemini_tool_config_any_with_tool_without_args.yaml +0 -0
- {pydantic_ai-1.10.0 → pydantic_ai-1.11.0}/tests/models/cassettes/test_gemini/test_gemini_tool_output.yaml +0 -0
- {pydantic_ai-1.10.0 → pydantic_ai-1.11.0}/tests/models/cassettes/test_gemini/test_gemini_youtube_video_url_input.yaml +0 -0
- {pydantic_ai-1.10.0 → pydantic_ai-1.11.0}/tests/models/cassettes/test_gemini/test_image_as_binary_content_input.yaml +0 -0
- {pydantic_ai-1.10.0 → pydantic_ai-1.11.0}/tests/models/cassettes/test_gemini/test_image_as_binary_content_tool_response.yaml +0 -0
- {pydantic_ai-1.10.0 → pydantic_ai-1.11.0}/tests/models/cassettes/test_gemini/test_image_url_input.yaml +0 -0
- {pydantic_ai-1.10.0 → pydantic_ai-1.11.0}/tests/models/cassettes/test_gemini/test_labels_are_ignored_with_gla_provider.yaml +0 -0
- {pydantic_ai-1.10.0 → pydantic_ai-1.11.0}/tests/models/cassettes/test_gemini/test_video_as_binary_content_input.yaml +0 -0
- {pydantic_ai-1.10.0 → pydantic_ai-1.11.0}/tests/models/cassettes/test_gemini/test_video_url_input.yaml +0 -0
- {pydantic_ai-1.10.0 → pydantic_ai-1.11.0}/tests/models/cassettes/test_gemini_vertex/test_labels.yaml +0 -0
- {pydantic_ai-1.10.0 → pydantic_ai-1.11.0}/tests/models/cassettes/test_gemini_vertex/test_url_input[AudioUrl (gs)].yaml +0 -0
- {pydantic_ai-1.10.0 → pydantic_ai-1.11.0}/tests/models/cassettes/test_gemini_vertex/test_url_input[AudioUrl].yaml +0 -0
- {pydantic_ai-1.10.0 → pydantic_ai-1.11.0}/tests/models/cassettes/test_gemini_vertex/test_url_input[DocumentUrl (gs)].yaml +0 -0
- {pydantic_ai-1.10.0 → pydantic_ai-1.11.0}/tests/models/cassettes/test_gemini_vertex/test_url_input[DocumentUrl].yaml +0 -0
- {pydantic_ai-1.10.0 → pydantic_ai-1.11.0}/tests/models/cassettes/test_gemini_vertex/test_url_input[ImageUrl (gs)].yaml +0 -0
- {pydantic_ai-1.10.0 → pydantic_ai-1.11.0}/tests/models/cassettes/test_gemini_vertex/test_url_input[ImageUrl].yaml +0 -0
- {pydantic_ai-1.10.0 → pydantic_ai-1.11.0}/tests/models/cassettes/test_gemini_vertex/test_url_input[VideoUrl (YouTube)].yaml +0 -0
- {pydantic_ai-1.10.0 → pydantic_ai-1.11.0}/tests/models/cassettes/test_gemini_vertex/test_url_input[VideoUrl (gs)].yaml +0 -0
- {pydantic_ai-1.10.0 → pydantic_ai-1.11.0}/tests/models/cassettes/test_gemini_vertex/test_url_input[VideoUrl].yaml +0 -0
- {pydantic_ai-1.10.0 → pydantic_ai-1.11.0}/tests/models/cassettes/test_gemini_vertex/test_url_input_force_download.yaml +0 -0
- {pydantic_ai-1.10.0 → pydantic_ai-1.11.0}/tests/models/cassettes/test_google/test_google_builtin_tools_with_other_tools.yaml +0 -0
- {pydantic_ai-1.10.0 → pydantic_ai-1.11.0}/tests/models/cassettes/test_google/test_google_httpx_client_is_not_closed.yaml +0 -0
- {pydantic_ai-1.10.0 → pydantic_ai-1.11.0}/tests/models/cassettes/test_google/test_google_image_and_text_output.yaml +0 -0
- {pydantic_ai-1.10.0 → pydantic_ai-1.11.0}/tests/models/cassettes/test_google/test_google_image_generation.yaml +0 -0
- {pydantic_ai-1.10.0 → pydantic_ai-1.11.0}/tests/models/cassettes/test_google/test_google_image_generation_stream.yaml +0 -0
- {pydantic_ai-1.10.0 → pydantic_ai-1.11.0}/tests/models/cassettes/test_google/test_google_image_generation_with_text.yaml +0 -0
- {pydantic_ai-1.10.0 → pydantic_ai-1.11.0}/tests/models/cassettes/test_google/test_google_image_or_text_output.yaml +0 -0
- {pydantic_ai-1.10.0 → pydantic_ai-1.11.0}/tests/models/cassettes/test_google/test_google_model.yaml +0 -0
- {pydantic_ai-1.10.0 → pydantic_ai-1.11.0}/tests/models/cassettes/test_google/test_google_model_builtin_code_execution_stream.yaml +0 -0
- {pydantic_ai-1.10.0 → pydantic_ai-1.11.0}/tests/models/cassettes/test_google/test_google_model_code_execution_tool.yaml +0 -0
- {pydantic_ai-1.10.0 → pydantic_ai-1.11.0}/tests/models/cassettes/test_google/test_google_model_document_url_input.yaml +0 -0
- {pydantic_ai-1.10.0 → pydantic_ai-1.11.0}/tests/models/cassettes/test_google/test_google_model_empty_assistant_response.yaml +0 -0
- {pydantic_ai-1.10.0 → pydantic_ai-1.11.0}/tests/models/cassettes/test_google/test_google_model_empty_user_prompt.yaml +0 -0
- {pydantic_ai-1.10.0 → pydantic_ai-1.11.0}/tests/models/cassettes/test_google/test_google_model_image_as_binary_content_input.yaml +0 -0
- {pydantic_ai-1.10.0 → pydantic_ai-1.11.0}/tests/models/cassettes/test_google/test_google_model_image_url_input.yaml +0 -0
- {pydantic_ai-1.10.0 → pydantic_ai-1.11.0}/tests/models/cassettes/test_google/test_google_model_instructions.yaml +0 -0
- {pydantic_ai-1.10.0 → pydantic_ai-1.11.0}/tests/models/cassettes/test_google/test_google_model_iter_stream.yaml +0 -0
- {pydantic_ai-1.10.0 → pydantic_ai-1.11.0}/tests/models/cassettes/test_google/test_google_model_max_tokens.yaml +0 -0
- {pydantic_ai-1.10.0 → pydantic_ai-1.11.0}/tests/models/cassettes/test_google/test_google_model_multiple_documents_in_history.yaml +0 -0
- {pydantic_ai-1.10.0 → pydantic_ai-1.11.0}/tests/models/cassettes/test_google/test_google_model_receive_web_search_history_from_another_provider.yaml +0 -0
- {pydantic_ai-1.10.0 → pydantic_ai-1.11.0}/tests/models/cassettes/test_google/test_google_model_retry.yaml +0 -0
- {pydantic_ai-1.10.0 → pydantic_ai-1.11.0}/tests/models/cassettes/test_google/test_google_model_safety_settings.yaml +0 -0
- {pydantic_ai-1.10.0 → pydantic_ai-1.11.0}/tests/models/cassettes/test_google/test_google_model_server_tool_receive_history_from_another_provider.yaml +0 -0
- {pydantic_ai-1.10.0 → pydantic_ai-1.11.0}/tests/models/cassettes/test_google/test_google_model_stream.yaml +0 -0
- {pydantic_ai-1.10.0 → pydantic_ai-1.11.0}/tests/models/cassettes/test_google/test_google_model_structured_output.yaml +0 -0
- {pydantic_ai-1.10.0 → pydantic_ai-1.11.0}/tests/models/cassettes/test_google/test_google_model_text_as_binary_content_input.yaml +0 -0
- {pydantic_ai-1.10.0 → pydantic_ai-1.11.0}/tests/models/cassettes/test_google/test_google_model_text_document_url_input.yaml +0 -0
- {pydantic_ai-1.10.0 → pydantic_ai-1.11.0}/tests/models/cassettes/test_google/test_google_model_thinking_config.yaml +0 -0
- {pydantic_ai-1.10.0 → pydantic_ai-1.11.0}/tests/models/cassettes/test_google/test_google_model_thinking_part.yaml +0 -0
- {pydantic_ai-1.10.0 → pydantic_ai-1.11.0}/tests/models/cassettes/test_google/test_google_model_thinking_part_from_other_model.yaml +0 -0
- {pydantic_ai-1.10.0 → pydantic_ai-1.11.0}/tests/models/cassettes/test_google/test_google_model_thinking_part_iter.yaml +0 -0
- {pydantic_ai-1.10.0 → pydantic_ai-1.11.0}/tests/models/cassettes/test_google/test_google_model_top_p.yaml +0 -0
- {pydantic_ai-1.10.0 → pydantic_ai-1.11.0}/tests/models/cassettes/test_google/test_google_model_url_context_tool.yaml +0 -0
- {pydantic_ai-1.10.0 → pydantic_ai-1.11.0}/tests/models/cassettes/test_google/test_google_model_usage_limit_exceeded.yaml +0 -0
- {pydantic_ai-1.10.0 → pydantic_ai-1.11.0}/tests/models/cassettes/test_google/test_google_model_usage_limit_not_exceeded.yaml +0 -0
- {pydantic_ai-1.10.0 → pydantic_ai-1.11.0}/tests/models/cassettes/test_google/test_google_model_vertex_labels.yaml +0 -0
- {pydantic_ai-1.10.0 → pydantic_ai-1.11.0}/tests/models/cassettes/test_google/test_google_model_vertex_provider.yaml +0 -0
- {pydantic_ai-1.10.0 → pydantic_ai-1.11.0}/tests/models/cassettes/test_google/test_google_model_video_as_binary_content_input.yaml +0 -0
- {pydantic_ai-1.10.0 → pydantic_ai-1.11.0}/tests/models/cassettes/test_google/test_google_model_video_as_binary_content_input_with_vendor_metadata.yaml +0 -0
- {pydantic_ai-1.10.0 → pydantic_ai-1.11.0}/tests/models/cassettes/test_google/test_google_model_video_url_input.yaml +0 -0
- {pydantic_ai-1.10.0 → pydantic_ai-1.11.0}/tests/models/cassettes/test_google/test_google_model_web_search_tool.yaml +0 -0
- {pydantic_ai-1.10.0 → pydantic_ai-1.11.0}/tests/models/cassettes/test_google/test_google_model_web_search_tool_stream.yaml +0 -0
- {pydantic_ai-1.10.0 → pydantic_ai-1.11.0}/tests/models/cassettes/test_google/test_google_model_youtube_video_url_input_with_vendor_metadata.yaml +0 -0
- {pydantic_ai-1.10.0 → pydantic_ai-1.11.0}/tests/models/cassettes/test_google/test_google_multiple_images.yaml +0 -0
- {pydantic_ai-1.10.0 → pydantic_ai-1.11.0}/tests/models/cassettes/test_google/test_google_native_output.yaml +0 -0
- {pydantic_ai-1.10.0 → pydantic_ai-1.11.0}/tests/models/cassettes/test_google/test_google_native_output_multiple.yaml +0 -0
- {pydantic_ai-1.10.0 → pydantic_ai-1.11.0}/tests/models/cassettes/test_google/test_google_prompted_output.yaml +0 -0
- {pydantic_ai-1.10.0 → pydantic_ai-1.11.0}/tests/models/cassettes/test_google/test_google_prompted_output_multiple.yaml +0 -0
- {pydantic_ai-1.10.0 → pydantic_ai-1.11.0}/tests/models/cassettes/test_google/test_google_prompted_output_with_tools.yaml +0 -0
- {pydantic_ai-1.10.0 → pydantic_ai-1.11.0}/tests/models/cassettes/test_google/test_google_text_output_function.yaml +0 -0
- {pydantic_ai-1.10.0 → pydantic_ai-1.11.0}/tests/models/cassettes/test_google/test_google_timeout.yaml +0 -0
- {pydantic_ai-1.10.0 → pydantic_ai-1.11.0}/tests/models/cassettes/test_google/test_google_tool_config_any_with_tool_without_args.yaml +0 -0
- {pydantic_ai-1.10.0 → pydantic_ai-1.11.0}/tests/models/cassettes/test_google/test_google_tool_output.yaml +0 -0
- {pydantic_ai-1.10.0 → pydantic_ai-1.11.0}/tests/models/cassettes/test_google/test_google_url_input[AudioUrl (gs)].yaml +0 -0
- {pydantic_ai-1.10.0 → pydantic_ai-1.11.0}/tests/models/cassettes/test_google/test_google_url_input[AudioUrl].yaml +0 -0
- {pydantic_ai-1.10.0 → pydantic_ai-1.11.0}/tests/models/cassettes/test_google/test_google_url_input[DocumentUrl (gs)].yaml +0 -0
- {pydantic_ai-1.10.0 → pydantic_ai-1.11.0}/tests/models/cassettes/test_google/test_google_url_input[DocumentUrl].yaml +0 -0
- {pydantic_ai-1.10.0 → pydantic_ai-1.11.0}/tests/models/cassettes/test_google/test_google_url_input[ImageUrl (gs)].yaml +0 -0
- {pydantic_ai-1.10.0 → pydantic_ai-1.11.0}/tests/models/cassettes/test_google/test_google_url_input[ImageUrl].yaml +0 -0
- {pydantic_ai-1.10.0 → pydantic_ai-1.11.0}/tests/models/cassettes/test_google/test_google_url_input[VideoUrl (YouTube)].yaml +0 -0
- {pydantic_ai-1.10.0 → pydantic_ai-1.11.0}/tests/models/cassettes/test_google/test_google_url_input[VideoUrl (gs)].yaml +0 -0
- {pydantic_ai-1.10.0 → pydantic_ai-1.11.0}/tests/models/cassettes/test_google/test_google_url_input[VideoUrl].yaml +0 -0
- {pydantic_ai-1.10.0 → pydantic_ai-1.11.0}/tests/models/cassettes/test_google/test_google_url_input_force_download.yaml +0 -0
- {pydantic_ai-1.10.0 → pydantic_ai-1.11.0}/tests/models/cassettes/test_google/test_google_vertexai_image_generation.yaml +0 -0
- {pydantic_ai-1.10.0 → pydantic_ai-1.11.0}/tests/models/cassettes/test_google/test_google_vertexai_model_usage_limit_exceeded.yaml +0 -0
- {pydantic_ai-1.10.0 → pydantic_ai-1.11.0}/tests/models/cassettes/test_groq/test_extra_headers.yaml +0 -0
- {pydantic_ai-1.10.0 → pydantic_ai-1.11.0}/tests/models/cassettes/test_groq/test_groq_model_instructions.yaml +0 -0
- {pydantic_ai-1.10.0 → pydantic_ai-1.11.0}/tests/models/cassettes/test_groq/test_groq_model_thinking_part.yaml +0 -0
- {pydantic_ai-1.10.0 → pydantic_ai-1.11.0}/tests/models/cassettes/test_groq/test_groq_model_thinking_part_iter.yaml +0 -0
- {pydantic_ai-1.10.0 → pydantic_ai-1.11.0}/tests/models/cassettes/test_groq/test_groq_model_web_search_tool.yaml +0 -0
- {pydantic_ai-1.10.0 → pydantic_ai-1.11.0}/tests/models/cassettes/test_groq/test_groq_model_web_search_tool_stream.yaml +0 -0
- {pydantic_ai-1.10.0 → pydantic_ai-1.11.0}/tests/models/cassettes/test_groq/test_groq_native_output.yaml +0 -0
- {pydantic_ai-1.10.0 → pydantic_ai-1.11.0}/tests/models/cassettes/test_groq/test_groq_prompted_output.yaml +0 -0
- {pydantic_ai-1.10.0 → pydantic_ai-1.11.0}/tests/models/cassettes/test_groq/test_image_as_binary_content_input.yaml +0 -0
- {pydantic_ai-1.10.0 → pydantic_ai-1.11.0}/tests/models/cassettes/test_groq/test_image_as_binary_content_tool_response.yaml +0 -0
- {pydantic_ai-1.10.0 → pydantic_ai-1.11.0}/tests/models/cassettes/test_groq/test_image_url_input.yaml +0 -0
- {pydantic_ai-1.10.0 → pydantic_ai-1.11.0}/tests/models/cassettes/test_groq/test_tool_regular_error.yaml +0 -0
- {pydantic_ai-1.10.0 → pydantic_ai-1.11.0}/tests/models/cassettes/test_groq/test_tool_use_failed_error.yaml +0 -0
- {pydantic_ai-1.10.0 → pydantic_ai-1.11.0}/tests/models/cassettes/test_groq/test_tool_use_failed_error_streaming.yaml +0 -0
- {pydantic_ai-1.10.0 → pydantic_ai-1.11.0}/tests/models/cassettes/test_huggingface/test_hf_model_instructions.yaml +0 -0
- {pydantic_ai-1.10.0 → pydantic_ai-1.11.0}/tests/models/cassettes/test_huggingface/test_hf_model_thinking_part.yaml +0 -0
- {pydantic_ai-1.10.0 → pydantic_ai-1.11.0}/tests/models/cassettes/test_huggingface/test_hf_model_thinking_part_iter.yaml +0 -0
- {pydantic_ai-1.10.0 → pydantic_ai-1.11.0}/tests/models/cassettes/test_huggingface/test_image_as_binary_content_input.yaml +0 -0
- {pydantic_ai-1.10.0 → pydantic_ai-1.11.0}/tests/models/cassettes/test_huggingface/test_image_url_input.yaml +0 -0
- {pydantic_ai-1.10.0 → pydantic_ai-1.11.0}/tests/models/cassettes/test_huggingface/test_max_completion_tokens[Qwen-Qwen2.5-72B-Instruct].yaml +0 -0
- {pydantic_ai-1.10.0 → pydantic_ai-1.11.0}/tests/models/cassettes/test_huggingface/test_max_completion_tokens[deepseek-ai-DeepSeek-R1-0528].yaml +0 -0
- {pydantic_ai-1.10.0 → pydantic_ai-1.11.0}/tests/models/cassettes/test_huggingface/test_max_completion_tokens[meta-llama-Llama-3.3-70B-Instruct].yaml +0 -0
- {pydantic_ai-1.10.0 → pydantic_ai-1.11.0}/tests/models/cassettes/test_huggingface/test_request_simple_success_with_vcr.yaml +0 -0
- {pydantic_ai-1.10.0 → pydantic_ai-1.11.0}/tests/models/cassettes/test_huggingface/test_request_simple_usage.yaml +0 -0
- {pydantic_ai-1.10.0 → pydantic_ai-1.11.0}/tests/models/cassettes/test_huggingface/test_simple_completion.yaml +0 -0
- {pydantic_ai-1.10.0 → pydantic_ai-1.11.0}/tests/models/cassettes/test_huggingface/test_stream_completion.yaml +0 -0
- {pydantic_ai-1.10.0 → pydantic_ai-1.11.0}/tests/models/cassettes/test_mistral/test_image_as_binary_content_tool_response.yaml +0 -0
- {pydantic_ai-1.10.0 → pydantic_ai-1.11.0}/tests/models/cassettes/test_mistral/test_mistral_model_instructions.yaml +0 -0
- {pydantic_ai-1.10.0 → pydantic_ai-1.11.0}/tests/models/cassettes/test_mistral/test_mistral_model_thinking_part.yaml +0 -0
- {pydantic_ai-1.10.0 → pydantic_ai-1.11.0}/tests/models/cassettes/test_mistral/test_mistral_model_thinking_part_iter.yaml +0 -0
- {pydantic_ai-1.10.0 → pydantic_ai-1.11.0}/tests/models/cassettes/test_model_names/test_known_model_names.yaml +0 -0
- {pydantic_ai-1.10.0 → pydantic_ai-1.11.0}/tests/models/cassettes/test_openai/test_audio_as_binary_content_input.yaml +0 -0
- {pydantic_ai-1.10.0 → pydantic_ai-1.11.0}/tests/models/cassettes/test_openai/test_compatible_api_with_tool_calls_without_id.yaml +0 -0
- {pydantic_ai-1.10.0 → pydantic_ai-1.11.0}/tests/models/cassettes/test_openai/test_document_as_binary_content_input.yaml +0 -0
- {pydantic_ai-1.10.0 → pydantic_ai-1.11.0}/tests/models/cassettes/test_openai/test_document_as_binary_content_input_with_tool.yaml +0 -0
- {pydantic_ai-1.10.0 → pydantic_ai-1.11.0}/tests/models/cassettes/test_openai/test_document_url_input.yaml +0 -0
- {pydantic_ai-1.10.0 → pydantic_ai-1.11.0}/tests/models/cassettes/test_openai/test_extra_headers.yaml +0 -0
- {pydantic_ai-1.10.0 → pydantic_ai-1.11.0}/tests/models/cassettes/test_openai/test_image_as_binary_content_input.yaml +0 -0
- {pydantic_ai-1.10.0 → pydantic_ai-1.11.0}/tests/models/cassettes/test_openai/test_image_as_binary_content_tool_response.yaml +0 -0
- {pydantic_ai-1.10.0 → pydantic_ai-1.11.0}/tests/models/cassettes/test_openai/test_image_url_input_force_download.yaml +0 -0
- {pydantic_ai-1.10.0 → pydantic_ai-1.11.0}/tests/models/cassettes/test_openai/test_image_url_input_force_download_response_api.yaml +0 -0
- {pydantic_ai-1.10.0 → pydantic_ai-1.11.0}/tests/models/cassettes/test_openai/test_image_url_tool_response.yaml +0 -0
- {pydantic_ai-1.10.0 → pydantic_ai-1.11.0}/tests/models/cassettes/test_openai/test_invalid_response.yaml +0 -0
- {pydantic_ai-1.10.0 → pydantic_ai-1.11.0}/tests/models/cassettes/test_openai/test_max_completion_tokens[gpt-4.5-preview].yaml +0 -0
- {pydantic_ai-1.10.0 → pydantic_ai-1.11.0}/tests/models/cassettes/test_openai/test_max_completion_tokens[gpt-4o-mini].yaml +0 -0
- {pydantic_ai-1.10.0 → pydantic_ai-1.11.0}/tests/models/cassettes/test_openai/test_max_completion_tokens[o3-mini].yaml +0 -0
- {pydantic_ai-1.10.0 → pydantic_ai-1.11.0}/tests/models/cassettes/test_openai/test_multiple_agent_tool_calls.yaml +0 -0
- {pydantic_ai-1.10.0 → pydantic_ai-1.11.0}/tests/models/cassettes/test_openai/test_openai_audio_url_input.yaml +0 -0
- {pydantic_ai-1.10.0 → pydantic_ai-1.11.0}/tests/models/cassettes/test_openai/test_openai_instructions.yaml +0 -0
- {pydantic_ai-1.10.0 → pydantic_ai-1.11.0}/tests/models/cassettes/test_openai/test_openai_instructions_with_tool_calls_keep_instructions.yaml +0 -0
- {pydantic_ai-1.10.0 → pydantic_ai-1.11.0}/tests/models/cassettes/test_openai/test_openai_model_cerebras_provider.yaml +0 -0
- {pydantic_ai-1.10.0 → pydantic_ai-1.11.0}/tests/models/cassettes/test_openai/test_openai_model_cerebras_provider_harmony.yaml +0 -0
- {pydantic_ai-1.10.0 → pydantic_ai-1.11.0}/tests/models/cassettes/test_openai/test_openai_model_cerebras_provider_qwen_3_coder.yaml +0 -0
- {pydantic_ai-1.10.0 → pydantic_ai-1.11.0}/tests/models/cassettes/test_openai/test_openai_model_settings_temperature_ignored_on_gpt_5.yaml +0 -0
- {pydantic_ai-1.10.0 → pydantic_ai-1.11.0}/tests/models/cassettes/test_openai/test_openai_model_thinking_part.yaml +0 -0
- {pydantic_ai-1.10.0 → pydantic_ai-1.11.0}/tests/models/cassettes/test_openai/test_openai_model_without_system_prompt.yaml +0 -0
- {pydantic_ai-1.10.0 → pydantic_ai-1.11.0}/tests/models/cassettes/test_openai/test_openai_native_output.yaml +0 -0
- {pydantic_ai-1.10.0 → pydantic_ai-1.11.0}/tests/models/cassettes/test_openai/test_openai_native_output_multiple.yaml +0 -0
- {pydantic_ai-1.10.0 → pydantic_ai-1.11.0}/tests/models/cassettes/test_openai/test_openai_o1_mini_system_role[developer].yaml +0 -0
- {pydantic_ai-1.10.0 → pydantic_ai-1.11.0}/tests/models/cassettes/test_openai/test_openai_o1_mini_system_role[system].yaml +0 -0
- {pydantic_ai-1.10.0 → pydantic_ai-1.11.0}/tests/models/cassettes/test_openai/test_openai_prompted_output.yaml +0 -0
- {pydantic_ai-1.10.0 → pydantic_ai-1.11.0}/tests/models/cassettes/test_openai/test_openai_prompted_output_multiple.yaml +0 -0
- {pydantic_ai-1.10.0 → pydantic_ai-1.11.0}/tests/models/cassettes/test_openai/test_openai_text_output_function.yaml +0 -0
- {pydantic_ai-1.10.0 → pydantic_ai-1.11.0}/tests/models/cassettes/test_openai/test_openai_tool_output.yaml +0 -0
- {pydantic_ai-1.10.0 → pydantic_ai-1.11.0}/tests/models/cassettes/test_openai/test_openai_web_search_tool.yaml +0 -0
- {pydantic_ai-1.10.0 → pydantic_ai-1.11.0}/tests/models/cassettes/test_openai/test_openai_web_search_tool_model_not_supported.yaml +0 -0
- {pydantic_ai-1.10.0 → pydantic_ai-1.11.0}/tests/models/cassettes/test_openai/test_openai_web_search_tool_with_user_location.yaml +0 -0
- {pydantic_ai-1.10.0 → pydantic_ai-1.11.0}/tests/models/cassettes/test_openai/test_reasoning_model_with_temperature.yaml +0 -0
- {pydantic_ai-1.10.0 → pydantic_ai-1.11.0}/tests/models/cassettes/test_openai/test_system_prompt_role_o1_mini.yaml +0 -0
- {pydantic_ai-1.10.0 → pydantic_ai-1.11.0}/tests/models/cassettes/test_openai/test_text_document_as_binary_content_input.yaml +0 -0
- {pydantic_ai-1.10.0 → pydantic_ai-1.11.0}/tests/models/cassettes/test_openai/test_text_document_url_input.yaml +0 -0
- {pydantic_ai-1.10.0 → pydantic_ai-1.11.0}/tests/models/cassettes/test_openai/test_text_response.yaml +0 -0
- {pydantic_ai-1.10.0 → pydantic_ai-1.11.0}/tests/models/cassettes/test_openai/test_user_id.yaml +0 -0
- {pydantic_ai-1.10.0 → pydantic_ai-1.11.0}/tests/models/cassettes/test_openai/test_valid_response.yaml +0 -0
- {pydantic_ai-1.10.0 → pydantic_ai-1.11.0}/tests/models/cassettes/test_openai_responses/test_audio_as_binary_content_input.yaml +0 -0
- {pydantic_ai-1.10.0 → pydantic_ai-1.11.0}/tests/models/cassettes/test_openai_responses/test_image_as_binary_content_input.yaml +0 -0
- {pydantic_ai-1.10.0 → pydantic_ai-1.11.0}/tests/models/cassettes/test_openai_responses/test_image_as_binary_content_tool_response.yaml +0 -0
- {pydantic_ai-1.10.0 → pydantic_ai-1.11.0}/tests/models/cassettes/test_openai_responses/test_native_output.yaml +0 -0
- {pydantic_ai-1.10.0 → pydantic_ai-1.11.0}/tests/models/cassettes/test_openai_responses/test_native_output_multiple.yaml +0 -0
- {pydantic_ai-1.10.0 → pydantic_ai-1.11.0}/tests/models/cassettes/test_openai_responses/test_openai_previous_response_id.yaml +0 -0
- {pydantic_ai-1.10.0 → pydantic_ai-1.11.0}/tests/models/cassettes/test_openai_responses/test_openai_previous_response_id_auto_mode.yaml +0 -0
- {pydantic_ai-1.10.0 → pydantic_ai-1.11.0}/tests/models/cassettes/test_openai_responses/test_openai_responses_code_execution_return_image.yaml +0 -0
- {pydantic_ai-1.10.0 → pydantic_ai-1.11.0}/tests/models/cassettes/test_openai_responses/test_openai_responses_code_execution_return_image_stream.yaml +0 -0
- {pydantic_ai-1.10.0 → pydantic_ai-1.11.0}/tests/models/cassettes/test_openai_responses/test_openai_responses_document_as_binary_content_input.yaml +0 -0
- {pydantic_ai-1.10.0 → pydantic_ai-1.11.0}/tests/models/cassettes/test_openai_responses/test_openai_responses_document_url_input.yaml +0 -0
- {pydantic_ai-1.10.0 → pydantic_ai-1.11.0}/tests/models/cassettes/test_openai_responses/test_openai_responses_history_with_combined_tool_call_id.yaml +0 -0
- {pydantic_ai-1.10.0 → pydantic_ai-1.11.0}/tests/models/cassettes/test_openai_responses/test_openai_responses_image_and_text_output.yaml +0 -0
- {pydantic_ai-1.10.0 → pydantic_ai-1.11.0}/tests/models/cassettes/test_openai_responses/test_openai_responses_image_generation.yaml +0 -0
- {pydantic_ai-1.10.0 → pydantic_ai-1.11.0}/tests/models/cassettes/test_openai_responses/test_openai_responses_image_generation_jpeg.yaml +0 -0
- {pydantic_ai-1.10.0 → pydantic_ai-1.11.0}/tests/models/cassettes/test_openai_responses/test_openai_responses_image_generation_stream.yaml +0 -0
- {pydantic_ai-1.10.0 → pydantic_ai-1.11.0}/tests/models/cassettes/test_openai_responses/test_openai_responses_image_generation_tool_without_image_output.yaml +0 -0
- {pydantic_ai-1.10.0 → pydantic_ai-1.11.0}/tests/models/cassettes/test_openai_responses/test_openai_responses_image_generation_with_native_output.yaml +0 -0
- {pydantic_ai-1.10.0 → pydantic_ai-1.11.0}/tests/models/cassettes/test_openai_responses/test_openai_responses_image_generation_with_prompted_output.yaml +0 -0
- {pydantic_ai-1.10.0 → pydantic_ai-1.11.0}/tests/models/cassettes/test_openai_responses/test_openai_responses_image_generation_with_tool_output.yaml +0 -0
- {pydantic_ai-1.10.0 → pydantic_ai-1.11.0}/tests/models/cassettes/test_openai_responses/test_openai_responses_image_generation_with_tools.yaml +0 -0
- {pydantic_ai-1.10.0 → pydantic_ai-1.11.0}/tests/models/cassettes/test_openai_responses/test_openai_responses_image_or_text_output.yaml +0 -0
- {pydantic_ai-1.10.0 → pydantic_ai-1.11.0}/tests/models/cassettes/test_openai_responses/test_openai_responses_image_url_input.yaml +0 -0
- {pydantic_ai-1.10.0 → pydantic_ai-1.11.0}/tests/models/cassettes/test_openai_responses/test_openai_responses_model_builtin_tools.yaml +0 -0
- {pydantic_ai-1.10.0 → pydantic_ai-1.11.0}/tests/models/cassettes/test_openai_responses/test_openai_responses_model_builtin_tools_web_search.yaml +0 -0
- {pydantic_ai-1.10.0 → pydantic_ai-1.11.0}/tests/models/cassettes/test_openai_responses/test_openai_responses_model_http_error.yaml +0 -0
- {pydantic_ai-1.10.0 → pydantic_ai-1.11.0}/tests/models/cassettes/test_openai_responses/test_openai_responses_model_instructions.yaml +0 -0
- {pydantic_ai-1.10.0 → pydantic_ai-1.11.0}/tests/models/cassettes/test_openai_responses/test_openai_responses_model_mcp_server_tool.yaml +0 -0
- {pydantic_ai-1.10.0 → pydantic_ai-1.11.0}/tests/models/cassettes/test_openai_responses/test_openai_responses_model_mcp_server_tool_stream.yaml +0 -0
- {pydantic_ai-1.10.0 → pydantic_ai-1.11.0}/tests/models/cassettes/test_openai_responses/test_openai_responses_model_mcp_server_tool_with_connector.yaml +0 -0
- {pydantic_ai-1.10.0 → pydantic_ai-1.11.0}/tests/models/cassettes/test_openai_responses/test_openai_responses_model_retry.yaml +0 -0
- {pydantic_ai-1.10.0 → pydantic_ai-1.11.0}/tests/models/cassettes/test_openai_responses/test_openai_responses_model_simple_response.yaml +0 -0
- {pydantic_ai-1.10.0 → pydantic_ai-1.11.0}/tests/models/cassettes/test_openai_responses/test_openai_responses_model_simple_response_with_tool_call.yaml +0 -0
- {pydantic_ai-1.10.0 → pydantic_ai-1.11.0}/tests/models/cassettes/test_openai_responses/test_openai_responses_model_thinking_part.yaml +0 -0
- {pydantic_ai-1.10.0 → pydantic_ai-1.11.0}/tests/models/cassettes/test_openai_responses/test_openai_responses_model_web_search_tool.yaml +0 -0
- {pydantic_ai-1.10.0 → pydantic_ai-1.11.0}/tests/models/cassettes/test_openai_responses/test_openai_responses_model_web_search_tool_stream.yaml +0 -0
- {pydantic_ai-1.10.0 → pydantic_ai-1.11.0}/tests/models/cassettes/test_openai_responses/test_openai_responses_model_web_search_tool_with_invalid_region.yaml +0 -0
- {pydantic_ai-1.10.0 → pydantic_ai-1.11.0}/tests/models/cassettes/test_openai_responses/test_openai_responses_model_web_search_tool_with_user_location.yaml +0 -0
- {pydantic_ai-1.10.0 → pydantic_ai-1.11.0}/tests/models/cassettes/test_openai_responses/test_openai_responses_multiple_images.yaml +0 -0
- {pydantic_ai-1.10.0 → pydantic_ai-1.11.0}/tests/models/cassettes/test_openai_responses/test_openai_responses_non_reasoning_model_no_item_ids.yaml +0 -0
- {pydantic_ai-1.10.0 → pydantic_ai-1.11.0}/tests/models/cassettes/test_openai_responses/test_openai_responses_output_type.yaml +0 -0
- {pydantic_ai-1.10.0 → pydantic_ai-1.11.0}/tests/models/cassettes/test_openai_responses/test_openai_responses_reasoning_effort.yaml +0 -0
- {pydantic_ai-1.10.0 → pydantic_ai-1.11.0}/tests/models/cassettes/test_openai_responses/test_openai_responses_reasoning_generate_summary.yaml +0 -0
- {pydantic_ai-1.10.0 → pydantic_ai-1.11.0}/tests/models/cassettes/test_openai_responses/test_openai_responses_requires_function_call_status_none.yaml +0 -0
- {pydantic_ai-1.10.0 → pydantic_ai-1.11.0}/tests/models/cassettes/test_openai_responses/test_openai_responses_stream.yaml +0 -0
- {pydantic_ai-1.10.0 → pydantic_ai-1.11.0}/tests/models/cassettes/test_openai_responses/test_openai_responses_streaming_usage.yaml +0 -0
- {pydantic_ai-1.10.0 → pydantic_ai-1.11.0}/tests/models/cassettes/test_openai_responses/test_openai_responses_system_prompt.yaml +0 -0
- {pydantic_ai-1.10.0 → pydantic_ai-1.11.0}/tests/models/cassettes/test_openai_responses/test_openai_responses_text_document_url_input.yaml +0 -0
- {pydantic_ai-1.10.0 → pydantic_ai-1.11.0}/tests/models/cassettes/test_openai_responses/test_openai_responses_thinking_part_from_other_model.yaml +0 -0
- {pydantic_ai-1.10.0 → pydantic_ai-1.11.0}/tests/models/cassettes/test_openai_responses/test_openai_responses_thinking_part_iter.yaml +0 -0
- {pydantic_ai-1.10.0 → pydantic_ai-1.11.0}/tests/models/cassettes/test_openai_responses/test_openai_responses_thinking_with_code_execution_tool.yaml +0 -0
- {pydantic_ai-1.10.0 → pydantic_ai-1.11.0}/tests/models/cassettes/test_openai_responses/test_openai_responses_thinking_with_code_execution_tool_stream.yaml +0 -0
- {pydantic_ai-1.10.0 → pydantic_ai-1.11.0}/tests/models/cassettes/test_openai_responses/test_openai_responses_thinking_with_modified_history.yaml +0 -0
- {pydantic_ai-1.10.0 → pydantic_ai-1.11.0}/tests/models/cassettes/test_openai_responses/test_openai_responses_thinking_with_tool_calls.yaml +0 -0
- {pydantic_ai-1.10.0 → pydantic_ai-1.11.0}/tests/models/cassettes/test_openai_responses/test_openai_responses_verbosity.yaml +0 -0
- {pydantic_ai-1.10.0 → pydantic_ai-1.11.0}/tests/models/cassettes/test_openai_responses/test_prompted_output.yaml +0 -0
- {pydantic_ai-1.10.0 → pydantic_ai-1.11.0}/tests/models/cassettes/test_openai_responses/test_prompted_output_multiple.yaml +0 -0
- {pydantic_ai-1.10.0 → pydantic_ai-1.11.0}/tests/models/cassettes/test_openai_responses/test_reasoning_model_with_temperature.yaml +0 -0
- {pydantic_ai-1.10.0 → pydantic_ai-1.11.0}/tests/models/cassettes/test_openai_responses/test_text_output_function.yaml +0 -0
- {pydantic_ai-1.10.0 → pydantic_ai-1.11.0}/tests/models/cassettes/test_openai_responses/test_tool_output.yaml +0 -0
- {pydantic_ai-1.10.0 → pydantic_ai-1.11.0}/tests/models/mock_async_stream.py +0 -0
- {pydantic_ai-1.10.0 → pydantic_ai-1.11.0}/tests/models/mock_openai.py +0 -0
- {pydantic_ai-1.10.0 → pydantic_ai-1.11.0}/tests/models/test_anthropic.py +0 -0
- {pydantic_ai-1.10.0 → pydantic_ai-1.11.0}/tests/models/test_bedrock.py +0 -0
- {pydantic_ai-1.10.0 → pydantic_ai-1.11.0}/tests/models/test_cohere.py +0 -0
- {pydantic_ai-1.10.0 → pydantic_ai-1.11.0}/tests/models/test_deepseek.py +0 -0
- {pydantic_ai-1.10.0 → pydantic_ai-1.11.0}/tests/models/test_download_item.py +0 -0
- {pydantic_ai-1.10.0 → pydantic_ai-1.11.0}/tests/models/test_fallback.py +0 -0
- {pydantic_ai-1.10.0 → pydantic_ai-1.11.0}/tests/models/test_gemini.py +0 -0
- {pydantic_ai-1.10.0 → pydantic_ai-1.11.0}/tests/models/test_gemini_vertex.py +0 -0
- {pydantic_ai-1.10.0 → pydantic_ai-1.11.0}/tests/models/test_google.py +0 -0
- {pydantic_ai-1.10.0 → pydantic_ai-1.11.0}/tests/models/test_groq.py +0 -0
- {pydantic_ai-1.10.0 → pydantic_ai-1.11.0}/tests/models/test_huggingface.py +0 -0
- {pydantic_ai-1.10.0 → pydantic_ai-1.11.0}/tests/models/test_instrumented.py +0 -0
- {pydantic_ai-1.10.0 → pydantic_ai-1.11.0}/tests/models/test_mcp_sampling.py +0 -0
- {pydantic_ai-1.10.0 → pydantic_ai-1.11.0}/tests/models/test_mistral.py +0 -0
- {pydantic_ai-1.10.0 → pydantic_ai-1.11.0}/tests/models/test_model.py +0 -0
- {pydantic_ai-1.10.0 → pydantic_ai-1.11.0}/tests/models/test_model_function.py +0 -0
- {pydantic_ai-1.10.0 → pydantic_ai-1.11.0}/tests/models/test_model_names.py +0 -0
- {pydantic_ai-1.10.0 → pydantic_ai-1.11.0}/tests/models/test_model_request_parameters.py +0 -0
- {pydantic_ai-1.10.0 → pydantic_ai-1.11.0}/tests/models/test_model_settings.py +0 -0
- {pydantic_ai-1.10.0 → pydantic_ai-1.11.0}/tests/models/test_model_test.py +0 -0
- {pydantic_ai-1.10.0 → pydantic_ai-1.11.0}/tests/models/test_openai.py +0 -0
- {pydantic_ai-1.10.0 → pydantic_ai-1.11.0}/tests/models/test_openai_responses.py +0 -0
- {pydantic_ai-1.10.0 → pydantic_ai-1.11.0}/tests/models/test_outlines.py +0 -0
- {pydantic_ai-1.10.0 → pydantic_ai-1.11.0}/tests/parts_from_messages.py +0 -0
- {pydantic_ai-1.10.0 → pydantic_ai-1.11.0}/tests/providers/__init__.py +0 -0
- {pydantic_ai-1.10.0 → pydantic_ai-1.11.0}/tests/providers/cassettes/test_azure/test_azure_provider_call.yaml +0 -0
- {pydantic_ai-1.10.0 → pydantic_ai-1.11.0}/tests/providers/cassettes/test_gateway/test_gateway_provider_with_anthropic.yaml +0 -0
- {pydantic_ai-1.10.0 → pydantic_ai-1.11.0}/tests/providers/cassettes/test_gateway/test_gateway_provider_with_bedrock.yaml +0 -0
- {pydantic_ai-1.10.0 → pydantic_ai-1.11.0}/tests/providers/cassettes/test_gateway/test_gateway_provider_with_google_vertex.yaml +0 -0
- {pydantic_ai-1.10.0 → pydantic_ai-1.11.0}/tests/providers/cassettes/test_gateway/test_gateway_provider_with_groq.yaml +0 -0
- {pydantic_ai-1.10.0 → pydantic_ai-1.11.0}/tests/providers/cassettes/test_gateway/test_gateway_provider_with_openai.yaml +0 -0
- {pydantic_ai-1.10.0 → pydantic_ai-1.11.0}/tests/providers/cassettes/test_gateway/test_gateway_provider_with_openai_responses.yaml +0 -0
- {pydantic_ai-1.10.0 → pydantic_ai-1.11.0}/tests/providers/cassettes/test_google_vertex/test_vertexai_provider.yaml +0 -0
- {pydantic_ai-1.10.0 → pydantic_ai-1.11.0}/tests/providers/cassettes/test_heroku/test_heroku_model_provider_claude_3_7_sonnet.yaml +0 -0
- {pydantic_ai-1.10.0 → pydantic_ai-1.11.0}/tests/providers/cassettes/test_openrouter/test_openrouter_with_google_model.yaml +0 -0
- {pydantic_ai-1.10.0 → pydantic_ai-1.11.0}/tests/providers/test_anthropic.py +0 -0
- {pydantic_ai-1.10.0 → pydantic_ai-1.11.0}/tests/providers/test_azure.py +0 -0
- {pydantic_ai-1.10.0 → pydantic_ai-1.11.0}/tests/providers/test_bedrock.py +0 -0
- {pydantic_ai-1.10.0 → pydantic_ai-1.11.0}/tests/providers/test_cerebras.py +0 -0
- {pydantic_ai-1.10.0 → pydantic_ai-1.11.0}/tests/providers/test_cohere.py +0 -0
- {pydantic_ai-1.10.0 → pydantic_ai-1.11.0}/tests/providers/test_deepseek.py +0 -0
- {pydantic_ai-1.10.0 → pydantic_ai-1.11.0}/tests/providers/test_fireworks.py +0 -0
- {pydantic_ai-1.10.0 → pydantic_ai-1.11.0}/tests/providers/test_gateway.py +0 -0
- {pydantic_ai-1.10.0 → pydantic_ai-1.11.0}/tests/providers/test_github.py +0 -0
- {pydantic_ai-1.10.0 → pydantic_ai-1.11.0}/tests/providers/test_google_gla.py +0 -0
- {pydantic_ai-1.10.0 → pydantic_ai-1.11.0}/tests/providers/test_google_vertex.py +0 -0
- {pydantic_ai-1.10.0 → pydantic_ai-1.11.0}/tests/providers/test_grok.py +0 -0
- {pydantic_ai-1.10.0 → pydantic_ai-1.11.0}/tests/providers/test_groq.py +0 -0
- {pydantic_ai-1.10.0 → pydantic_ai-1.11.0}/tests/providers/test_heroku.py +0 -0
- {pydantic_ai-1.10.0 → pydantic_ai-1.11.0}/tests/providers/test_huggingface.py +0 -0
- {pydantic_ai-1.10.0 → pydantic_ai-1.11.0}/tests/providers/test_litellm.py +0 -0
- {pydantic_ai-1.10.0 → pydantic_ai-1.11.0}/tests/providers/test_mistral.py +0 -0
- {pydantic_ai-1.10.0 → pydantic_ai-1.11.0}/tests/providers/test_moonshotai.py +0 -0
- {pydantic_ai-1.10.0 → pydantic_ai-1.11.0}/tests/providers/test_nebius.py +0 -0
- {pydantic_ai-1.10.0 → pydantic_ai-1.11.0}/tests/providers/test_ollama.py +0 -0
- {pydantic_ai-1.10.0 → pydantic_ai-1.11.0}/tests/providers/test_openai.py +0 -0
- {pydantic_ai-1.10.0 → pydantic_ai-1.11.0}/tests/providers/test_openrouter.py +0 -0
- {pydantic_ai-1.10.0 → pydantic_ai-1.11.0}/tests/providers/test_outlines.py +0 -0
- {pydantic_ai-1.10.0 → pydantic_ai-1.11.0}/tests/providers/test_ovhcloud.py +0 -0
- {pydantic_ai-1.10.0 → pydantic_ai-1.11.0}/tests/providers/test_provider_names.py +0 -0
- {pydantic_ai-1.10.0 → pydantic_ai-1.11.0}/tests/providers/test_together.py +0 -0
- {pydantic_ai-1.10.0 → pydantic_ai-1.11.0}/tests/providers/test_vercel.py +0 -0
- {pydantic_ai-1.10.0 → pydantic_ai-1.11.0}/tests/test_a2a.py +0 -0
- {pydantic_ai-1.10.0 → pydantic_ai-1.11.0}/tests/test_ag_ui.py +0 -0
- {pydantic_ai-1.10.0 → pydantic_ai-1.11.0}/tests/test_builtin_tools.py +0 -0
- {pydantic_ai-1.10.0 → pydantic_ai-1.11.0}/tests/test_cli.py +0 -0
- {pydantic_ai-1.10.0 → pydantic_ai-1.11.0}/tests/test_dbos.py +0 -0
- {pydantic_ai-1.10.0 → pydantic_ai-1.11.0}/tests/test_deps.py +0 -0
- {pydantic_ai-1.10.0 → pydantic_ai-1.11.0}/tests/test_direct.py +0 -0
- {pydantic_ai-1.10.0 → pydantic_ai-1.11.0}/tests/test_fastmcp.py +0 -0
- {pydantic_ai-1.10.0 → pydantic_ai-1.11.0}/tests/test_format_as_xml.py +0 -0
- {pydantic_ai-1.10.0 → pydantic_ai-1.11.0}/tests/test_function_schema.py +0 -0
- {pydantic_ai-1.10.0 → pydantic_ai-1.11.0}/tests/test_history_processor.py +0 -0
- {pydantic_ai-1.10.0 → pydantic_ai-1.11.0}/tests/test_json_body_serializer.py +0 -0
- {pydantic_ai-1.10.0 → pydantic_ai-1.11.0}/tests/test_live.py +0 -0
- {pydantic_ai-1.10.0 → pydantic_ai-1.11.0}/tests/test_logfire.py +0 -0
- {pydantic_ai-1.10.0 → pydantic_ai-1.11.0}/tests/test_mcp.py +0 -0
- {pydantic_ai-1.10.0 → pydantic_ai-1.11.0}/tests/test_messages.py +0 -0
- {pydantic_ai-1.10.0 → pydantic_ai-1.11.0}/tests/test_parts_manager.py +0 -0
- {pydantic_ai-1.10.0 → pydantic_ai-1.11.0}/tests/test_prefect.py +0 -0
- {pydantic_ai-1.10.0 → pydantic_ai-1.11.0}/tests/test_settings.py +0 -0
- {pydantic_ai-1.10.0 → pydantic_ai-1.11.0}/tests/test_streaming.py +0 -0
- {pydantic_ai-1.10.0 → pydantic_ai-1.11.0}/tests/test_temporal.py +0 -0
- {pydantic_ai-1.10.0 → pydantic_ai-1.11.0}/tests/test_tenacity.py +0 -0
- {pydantic_ai-1.10.0 → pydantic_ai-1.11.0}/tests/test_thinking_part.py +0 -0
- {pydantic_ai-1.10.0 → pydantic_ai-1.11.0}/tests/test_tools.py +0 -0
- {pydantic_ai-1.10.0 → pydantic_ai-1.11.0}/tests/test_toolsets.py +0 -0
- {pydantic_ai-1.10.0 → pydantic_ai-1.11.0}/tests/test_ui.py +0 -0
- {pydantic_ai-1.10.0 → pydantic_ai-1.11.0}/tests/test_usage_limits.py +0 -0
- {pydantic_ai-1.10.0 → pydantic_ai-1.11.0}/tests/test_utils.py +0 -0
- {pydantic_ai-1.10.0 → pydantic_ai-1.11.0}/tests/test_vercel_ai.py +0 -0
- {pydantic_ai-1.10.0 → pydantic_ai-1.11.0}/tests/typed_agent.py +0 -0
- {pydantic_ai-1.10.0 → pydantic_ai-1.11.0}/tests/typed_deps.py +0 -0
- {pydantic_ai-1.10.0 → pydantic_ai-1.11.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.11.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,25 +26,25 @@ 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,fastmcp,google,groq,huggingface,logfire,mcp,mistral,openai,retries,temporal,ui,vertexai]==1.
|
|
29
|
+
Requires-Dist: pydantic-ai-slim[ag-ui,anthropic,bedrock,cli,cohere,evals,fastmcp,google,groq,huggingface,logfire,mcp,mistral,openai,retries,temporal,ui,vertexai]==1.11.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.11.0; extra == 'dbos'
|
|
34
34
|
Provides-Extra: examples
|
|
35
|
-
Requires-Dist: pydantic-ai-examples==1.
|
|
35
|
+
Requires-Dist: pydantic-ai-examples==1.11.0; extra == 'examples'
|
|
36
36
|
Provides-Extra: outlines-llamacpp
|
|
37
|
-
Requires-Dist: pydantic-ai-slim[outlines-llamacpp]==1.
|
|
37
|
+
Requires-Dist: pydantic-ai-slim[outlines-llamacpp]==1.11.0; extra == 'outlines-llamacpp'
|
|
38
38
|
Provides-Extra: outlines-mlxlm
|
|
39
|
-
Requires-Dist: pydantic-ai-slim[outlines-mlxlm]==1.
|
|
39
|
+
Requires-Dist: pydantic-ai-slim[outlines-mlxlm]==1.11.0; extra == 'outlines-mlxlm'
|
|
40
40
|
Provides-Extra: outlines-sglang
|
|
41
|
-
Requires-Dist: pydantic-ai-slim[outlines-sglang]==1.
|
|
41
|
+
Requires-Dist: pydantic-ai-slim[outlines-sglang]==1.11.0; extra == 'outlines-sglang'
|
|
42
42
|
Provides-Extra: outlines-transformers
|
|
43
|
-
Requires-Dist: pydantic-ai-slim[outlines-transformers]==1.
|
|
43
|
+
Requires-Dist: pydantic-ai-slim[outlines-transformers]==1.11.0; extra == 'outlines-transformers'
|
|
44
44
|
Provides-Extra: outlines-vllm-offline
|
|
45
|
-
Requires-Dist: pydantic-ai-slim[outlines-vllm-offline]==1.
|
|
45
|
+
Requires-Dist: pydantic-ai-slim[outlines-vllm-offline]==1.11.0; extra == 'outlines-vllm-offline'
|
|
46
46
|
Provides-Extra: prefect
|
|
47
|
-
Requires-Dist: pydantic-ai-slim[prefect]==1.
|
|
47
|
+
Requires-Dist: pydantic-ai-slim[prefect]==1.11.0; extra == 'prefect'
|
|
48
48
|
Description-Content-Type: text/markdown
|
|
49
49
|
|
|
50
50
|
<div align="center">
|
|
@@ -7,7 +7,7 @@ from dataclasses import dataclass, field
|
|
|
7
7
|
import pytest
|
|
8
8
|
|
|
9
9
|
from pydantic_graph.beta import GraphBuilder, StepContext
|
|
10
|
-
from pydantic_graph.beta.join import ReduceFirstValue, reduce_list_append
|
|
10
|
+
from pydantic_graph.beta.join import ReduceFirstValue, reduce_list_append, reduce_list_extend
|
|
11
11
|
|
|
12
12
|
pytestmark = pytest.mark.anyio
|
|
13
13
|
|
|
@@ -343,3 +343,40 @@ async def test_mixed_sequential_and_parallel_execution():
|
|
|
343
343
|
assert 'parallel-100' in state.log
|
|
344
344
|
assert 'step3' in state.log
|
|
345
345
|
assert result == 'Result: 152' # (50+1) + (100+1) = 152
|
|
346
|
+
|
|
347
|
+
|
|
348
|
+
async def test_multiple_sequential_joins():
|
|
349
|
+
g = GraphBuilder(output_type=list[int])
|
|
350
|
+
|
|
351
|
+
@g.step
|
|
352
|
+
async def source(ctx: StepContext[None, None, None]) -> int:
|
|
353
|
+
return 10
|
|
354
|
+
|
|
355
|
+
@g.step
|
|
356
|
+
async def add_one(ctx: StepContext[None, None, int]) -> list[int]:
|
|
357
|
+
return [ctx.inputs + 1]
|
|
358
|
+
|
|
359
|
+
@g.step
|
|
360
|
+
async def add_two(ctx: StepContext[None, None, int]) -> list[int]:
|
|
361
|
+
return [ctx.inputs + 2]
|
|
362
|
+
|
|
363
|
+
@g.step
|
|
364
|
+
async def add_three(ctx: StepContext[None, None, int]) -> list[int]:
|
|
365
|
+
return [ctx.inputs + 3]
|
|
366
|
+
|
|
367
|
+
collect = g.join(reduce_list_extend, initial_factory=list[int], parent_fork_id='source_fork', node_id='collect')
|
|
368
|
+
mediator = g.join(reduce_list_extend, initial_factory=list[int], node_id='mediator')
|
|
369
|
+
|
|
370
|
+
# Broadcasting: send the value from source to all three steps
|
|
371
|
+
g.add(
|
|
372
|
+
g.edge_from(g.start_node).to(source),
|
|
373
|
+
g.edge_from(source).to(add_one, add_two, add_three, fork_id='source_fork'),
|
|
374
|
+
g.edge_from(add_one, add_two).to(mediator),
|
|
375
|
+
g.edge_from(mediator).to(collect),
|
|
376
|
+
g.edge_from(add_three).to(collect),
|
|
377
|
+
g.edge_from(collect).to(g.end_node),
|
|
378
|
+
)
|
|
379
|
+
|
|
380
|
+
graph = g.build()
|
|
381
|
+
result = await graph.run()
|
|
382
|
+
assert sorted(result) == [11, 12, 13]
|
|
@@ -3,7 +3,7 @@ import json
|
|
|
3
3
|
import re
|
|
4
4
|
import sys
|
|
5
5
|
from collections import defaultdict
|
|
6
|
-
from collections.abc import AsyncIterable, Callable
|
|
6
|
+
from collections.abc import AsyncIterable, AsyncIterator, Callable
|
|
7
7
|
from dataclasses import dataclass, replace
|
|
8
8
|
from datetime import timezone
|
|
9
9
|
from typing import Any, Generic, Literal, TypeVar, Union
|
|
@@ -59,7 +59,7 @@ from pydantic_ai._output import (
|
|
|
59
59
|
)
|
|
60
60
|
from pydantic_ai.agent import AgentRunResult, WrapperAgent
|
|
61
61
|
from pydantic_ai.builtin_tools import CodeExecutionTool, MCPServerTool, WebSearchTool
|
|
62
|
-
from pydantic_ai.models.function import AgentInfo, FunctionModel
|
|
62
|
+
from pydantic_ai.models.function import AgentInfo, DeltaToolCall, DeltaToolCalls, FunctionModel
|
|
63
63
|
from pydantic_ai.models.test import TestModel
|
|
64
64
|
from pydantic_ai.output import StructuredDict, ToolOutput
|
|
65
65
|
from pydantic_ai.result import RunUsage
|
|
@@ -201,7 +201,7 @@ def test_result_pydantic_model_retry():
|
|
|
201
201
|
),
|
|
202
202
|
ModelResponse(
|
|
203
203
|
parts=[ToolCallPart(tool_name='final_result', args='{"a": 42, "b": "foo"}', tool_call_id=IsStr())],
|
|
204
|
-
usage=RequestUsage(input_tokens=
|
|
204
|
+
usage=RequestUsage(input_tokens=89, output_tokens=14),
|
|
205
205
|
model_name='function:return_model:',
|
|
206
206
|
timestamp=IsNow(tz=timezone.utc),
|
|
207
207
|
),
|
|
@@ -260,7 +260,9 @@ def test_result_pydantic_model_validation_error():
|
|
|
260
260
|
retry_prompt = user_retry.parts[0]
|
|
261
261
|
assert isinstance(retry_prompt, RetryPromptPart)
|
|
262
262
|
assert retry_prompt.model_response() == snapshot("""\
|
|
263
|
-
1 validation
|
|
263
|
+
1 validation error:
|
|
264
|
+
```json
|
|
265
|
+
[
|
|
264
266
|
{
|
|
265
267
|
"type": "value_error",
|
|
266
268
|
"loc": [
|
|
@@ -270,6 +272,7 @@ def test_result_pydantic_model_validation_error():
|
|
|
270
272
|
"input": "foo"
|
|
271
273
|
}
|
|
272
274
|
]
|
|
275
|
+
```
|
|
273
276
|
|
|
274
277
|
Fix the errors and try again.""")
|
|
275
278
|
|
|
@@ -335,6 +338,85 @@ def test_output_validator():
|
|
|
335
338
|
)
|
|
336
339
|
|
|
337
340
|
|
|
341
|
+
def test_output_validator_partial_sync():
|
|
342
|
+
"""Test that output validators receive correct value for `partial_output` in sync mode."""
|
|
343
|
+
call_log: list[tuple[str, bool]] = []
|
|
344
|
+
|
|
345
|
+
agent = Agent[None, str](TestModel(custom_output_text='test output'))
|
|
346
|
+
|
|
347
|
+
@agent.output_validator
|
|
348
|
+
def validate_output(ctx: RunContext[None], output: str) -> str:
|
|
349
|
+
call_log.append((output, ctx.partial_output))
|
|
350
|
+
return output
|
|
351
|
+
|
|
352
|
+
result = agent.run_sync('Hello')
|
|
353
|
+
assert result.output == 'test output'
|
|
354
|
+
|
|
355
|
+
assert call_log == snapshot([('test output', False)])
|
|
356
|
+
|
|
357
|
+
|
|
358
|
+
async def test_output_validator_partial_stream_text():
|
|
359
|
+
"""Test that output validators receive correct value for `partial_output` when using stream_text()."""
|
|
360
|
+
call_log: list[tuple[str, bool]] = []
|
|
361
|
+
|
|
362
|
+
async def stream_text(messages: list[ModelMessage], info: AgentInfo) -> AsyncIterator[str]:
|
|
363
|
+
for chunk in ['Hello', ' ', 'world', '!']:
|
|
364
|
+
yield chunk
|
|
365
|
+
|
|
366
|
+
agent = Agent(FunctionModel(stream_function=stream_text))
|
|
367
|
+
|
|
368
|
+
@agent.output_validator
|
|
369
|
+
def validate_output(ctx: RunContext[None], output: str) -> str:
|
|
370
|
+
call_log.append((output, ctx.partial_output))
|
|
371
|
+
return output
|
|
372
|
+
|
|
373
|
+
async with agent.run_stream('Hello') as result:
|
|
374
|
+
text_parts = []
|
|
375
|
+
async for chunk in result.stream_text(debounce_by=None):
|
|
376
|
+
text_parts.append(chunk)
|
|
377
|
+
|
|
378
|
+
assert text_parts[-1] == 'Hello world!'
|
|
379
|
+
assert call_log == snapshot(
|
|
380
|
+
[
|
|
381
|
+
('Hello', True),
|
|
382
|
+
('Hello ', True),
|
|
383
|
+
('Hello world', True),
|
|
384
|
+
('Hello world!', True),
|
|
385
|
+
('Hello world!', False),
|
|
386
|
+
]
|
|
387
|
+
)
|
|
388
|
+
|
|
389
|
+
|
|
390
|
+
async def test_output_validator_partial_stream_output():
|
|
391
|
+
"""Test that output validators receive correct value for `partial_output` when using stream_output()."""
|
|
392
|
+
call_log: list[tuple[Foo, bool]] = []
|
|
393
|
+
|
|
394
|
+
async def stream_model(messages: list[ModelMessage], info: AgentInfo) -> AsyncIterator[DeltaToolCalls]:
|
|
395
|
+
assert info.output_tools is not None
|
|
396
|
+
yield {0: DeltaToolCall(name=info.output_tools[0].name, json_args='{"a": 42')}
|
|
397
|
+
yield {0: DeltaToolCall(json_args=', "b": "f')}
|
|
398
|
+
yield {0: DeltaToolCall(json_args='oo"}')}
|
|
399
|
+
|
|
400
|
+
agent = Agent(FunctionModel(stream_function=stream_model), output_type=Foo)
|
|
401
|
+
|
|
402
|
+
@agent.output_validator
|
|
403
|
+
def validate_output(ctx: RunContext[None], output: Foo) -> Foo:
|
|
404
|
+
call_log.append((output, ctx.partial_output))
|
|
405
|
+
return output
|
|
406
|
+
|
|
407
|
+
async with agent.run_stream('Hello') as result:
|
|
408
|
+
outputs = [output async for output in result.stream_output(debounce_by=None)]
|
|
409
|
+
|
|
410
|
+
assert outputs[-1] == Foo(a=42, b='foo')
|
|
411
|
+
assert call_log == snapshot(
|
|
412
|
+
[
|
|
413
|
+
(Foo(a=42, b='f'), True),
|
|
414
|
+
(Foo(a=42, b='foo'), True),
|
|
415
|
+
(Foo(a=42, b='foo'), False),
|
|
416
|
+
]
|
|
417
|
+
)
|
|
418
|
+
|
|
419
|
+
|
|
338
420
|
def test_plain_response_then_tuple():
|
|
339
421
|
call_index = 0
|
|
340
422
|
|
|
@@ -1796,7 +1878,7 @@ def test_native_output():
|
|
|
1796
1878
|
),
|
|
1797
1879
|
ModelResponse(
|
|
1798
1880
|
parts=[TextPart(content='{"city": "Mexico City", "country": "Mexico"}')],
|
|
1799
|
-
usage=RequestUsage(input_tokens=
|
|
1881
|
+
usage=RequestUsage(input_tokens=87, output_tokens=12),
|
|
1800
1882
|
model_name='function:return_city_location:',
|
|
1801
1883
|
timestamp=IsDatetime(),
|
|
1802
1884
|
),
|
|
@@ -3894,6 +3976,30 @@ You are a potato.\
|
|
|
3894
3976
|
)
|
|
3895
3977
|
|
|
3896
3978
|
|
|
3979
|
+
def test_instructions_during_run():
|
|
3980
|
+
agent = Agent('test', instructions='You are a helpful assistant.')
|
|
3981
|
+
result = agent.run_sync('Hello', instructions='Your task is to greet people.')
|
|
3982
|
+
assert result.all_messages()[0] == snapshot(
|
|
3983
|
+
ModelRequest(
|
|
3984
|
+
parts=[UserPromptPart(content='Hello', timestamp=IsDatetime())],
|
|
3985
|
+
instructions="""\
|
|
3986
|
+
You are a helpful assistant.
|
|
3987
|
+
Your task is to greet people.\
|
|
3988
|
+
""",
|
|
3989
|
+
)
|
|
3990
|
+
)
|
|
3991
|
+
|
|
3992
|
+
result2 = agent.run_sync('Hello again!')
|
|
3993
|
+
assert result2.all_messages()[0] == snapshot(
|
|
3994
|
+
ModelRequest(
|
|
3995
|
+
parts=[UserPromptPart(content='Hello again!', timestamp=IsDatetime())],
|
|
3996
|
+
instructions="""\
|
|
3997
|
+
You are a helpful assistant.\
|
|
3998
|
+
""",
|
|
3999
|
+
)
|
|
4000
|
+
)
|
|
4001
|
+
|
|
4002
|
+
|
|
3897
4003
|
def test_multi_agent_instructions_with_structured_output():
|
|
3898
4004
|
"""Test that Agent2 uses its own instructions when called with Agent1's history.
|
|
3899
4005
|
|
|
@@ -522,6 +522,7 @@ text_responses: dict[str, str | ToolCallPart | Sequence[ToolCallPart]] = {
|
|
|
522
522
|
'Where do I live?': 'You live in Mexico City.',
|
|
523
523
|
'Tell me about the pydantic/pydantic-ai repo.': 'The pydantic/pydantic-ai repo is a Python agent framework for building Generative AI applications.',
|
|
524
524
|
'What do I have on my calendar today?': "You're going to spend all day playing with Pydantic AI.",
|
|
525
|
+
'Write a long story about a cat': 'Once upon a time, there was a curious cat named Whiskers who loved to explore the world around him...',
|
|
525
526
|
}
|
|
526
527
|
|
|
527
528
|
tool_responses: dict[tuple[str, str], str] = {
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{pydantic_ai-1.10.0 → pydantic_ai-1.11.0}/tests/cassettes/test_dbos/test_complex_agent_run.yaml
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{pydantic_ai-1.10.0 → pydantic_ai-1.11.0}/tests/cassettes/test_dbos/test_dbos_agent_iter.yaml
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{pydantic_ai-1.10.0 → pydantic_ai-1.11.0}/tests/cassettes/test_dbos/test_dbos_agent_run.yaml
RENAMED
|
File without changes
|
|
File without changes
|
{pydantic_ai-1.10.0 → pydantic_ai-1.11.0}/tests/cassettes/test_dbos/test_dbos_agent_run_stream.yaml
RENAMED
|
File without changes
|
{pydantic_ai-1.10.0 → pydantic_ai-1.11.0}/tests/cassettes/test_dbos/test_dbos_agent_run_sync.yaml
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{pydantic_ai-1.10.0 → pydantic_ai-1.11.0}/tests/cassettes/test_dbos/test_multiple_agents.yaml
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{pydantic_ai-1.10.0 → pydantic_ai-1.11.0}/tests/cassettes/test_mcp/test_agent_with_stdio_server.yaml
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{pydantic_ai-1.10.0 → pydantic_ai-1.11.0}/tests/cassettes/test_mcp/test_tool_returning_dict.yaml
RENAMED
|
File without changes
|
{pydantic_ai-1.10.0 → pydantic_ai-1.11.0}/tests/cassettes/test_mcp/test_tool_returning_error.yaml
RENAMED
|
File without changes
|
{pydantic_ai-1.10.0 → pydantic_ai-1.11.0}/tests/cassettes/test_mcp/test_tool_returning_image.yaml
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{pydantic_ai-1.10.0 → pydantic_ai-1.11.0}/tests/cassettes/test_mcp/test_tool_returning_none.yaml
RENAMED
|
File without changes
|
{pydantic_ai-1.10.0 → pydantic_ai-1.11.0}/tests/cassettes/test_mcp/test_tool_returning_str.yaml
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{pydantic_ai-1.10.0 → pydantic_ai-1.11.0}/tests/cassettes/test_prefect/test_iter_in_flow.yaml
RENAMED
|
File without changes
|
{pydantic_ai-1.10.0 → pydantic_ai-1.11.0}/tests/cassettes/test_prefect/test_multiple_agents.yaml
RENAMED
|
File without changes
|
{pydantic_ai-1.10.0 → pydantic_ai-1.11.0}/tests/cassettes/test_prefect/test_prefect_agent_iter.yaml
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{pydantic_ai-1.10.0 → pydantic_ai-1.11.0}/tests/cassettes/test_prefect/test_prefect_agent_run.yaml
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{pydantic_ai-1.10.0 → pydantic_ai-1.11.0}/tests/cassettes/test_prefect/test_run_stream_in_flow.yaml
RENAMED
|
File without changes
|
{pydantic_ai-1.10.0 → pydantic_ai-1.11.0}/tests/cassettes/test_prefect/test_run_sync_in_flow.yaml
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{pydantic_ai-1.10.0 → pydantic_ai-1.11.0}/tests/cassettes/test_temporal/test_complex_agent_run.yaml
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{pydantic_ai-1.10.0 → pydantic_ai-1.11.0}/tests/cassettes/test_temporal/test_logfire_plugin.yaml
RENAMED
|
File without changes
|
{pydantic_ai-1.10.0 → pydantic_ai-1.11.0}/tests/cassettes/test_temporal/test_multiple_agents.yaml
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{pydantic_ai-1.10.0 → pydantic_ai-1.11.0}/tests/cassettes/test_temporal/test_temporal_agent_run.yaml
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|