pydantic-ai 1.0.9__tar.gz → 1.0.11__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.0.9 → pydantic_ai-1.0.11}/PKG-INFO +5 -6
- {pydantic_ai-1.0.9 → pydantic_ai-1.0.11}/README.md +1 -1
- {pydantic_ai-1.0.9 → pydantic_ai-1.0.11}/pyproject.toml +2 -2
- pydantic_ai-1.0.11/tests/models/cassettes/test_anthropic/test_anthropic_output_tool_with_thinking.yaml +74 -0
- {pydantic_ai-1.0.9 → pydantic_ai-1.0.11}/tests/models/cassettes/test_google/test_google_model_document_url_input.yaml +12 -14
- {pydantic_ai-1.0.9 → pydantic_ai-1.0.11}/tests/models/cassettes/test_google/test_google_model_image_as_binary_content_input.yaml +6 -6
- {pydantic_ai-1.0.9 → pydantic_ai-1.0.11}/tests/models/cassettes/test_google/test_google_model_image_url_input.yaml +9 -10
- {pydantic_ai-1.0.9 → pydantic_ai-1.0.11}/tests/models/cassettes/test_google/test_google_model_text_as_binary_content_input.yaml +4 -4
- {pydantic_ai-1.0.9 → pydantic_ai-1.0.11}/tests/models/cassettes/test_google/test_google_model_text_document_url_input.yaml +11 -9
- {pydantic_ai-1.0.9 → pydantic_ai-1.0.11}/tests/models/cassettes/test_google/test_google_model_video_as_binary_content_input.yaml +18 -16
- {pydantic_ai-1.0.9 → pydantic_ai-1.0.11}/tests/models/cassettes/test_google/test_google_model_video_url_input.yaml +36 -36
- {pydantic_ai-1.0.9 → pydantic_ai-1.0.11}/tests/models/test_anthropic.py +24 -0
- {pydantic_ai-1.0.9 → pydantic_ai-1.0.11}/tests/models/test_google.py +17 -11
- {pydantic_ai-1.0.9 → pydantic_ai-1.0.11}/tests/models/test_groq.py +1 -12
- {pydantic_ai-1.0.9 → pydantic_ai-1.0.11}/tests/models/test_huggingface.py +1 -15
- {pydantic_ai-1.0.9 → pydantic_ai-1.0.11}/tests/models/test_instrumented.py +146 -1
- {pydantic_ai-1.0.9 → pydantic_ai-1.0.11}/tests/models/test_model_names.py +2 -6
- {pydantic_ai-1.0.9 → pydantic_ai-1.0.11}/tests/models/test_openai.py +21 -11
- {pydantic_ai-1.0.9 → pydantic_ai-1.0.11}/tests/models/test_openai_responses.py +35 -1
- {pydantic_ai-1.0.9 → pydantic_ai-1.0.11}/tests/providers/test_ollama.py +8 -0
- {pydantic_ai-1.0.9 → pydantic_ai-1.0.11}/tests/test_agent.py +70 -5
- {pydantic_ai-1.0.9 → pydantic_ai-1.0.11}/tests/test_dbos.py +26 -6
- pydantic_ai-1.0.11/tests/test_format_as_xml.py +594 -0
- pydantic_ai-1.0.11/tests/test_function_schema.py +201 -0
- {pydantic_ai-1.0.9 → pydantic_ai-1.0.11}/tests/test_history_processor.py +82 -0
- {pydantic_ai-1.0.9 → pydantic_ai-1.0.11}/tests/test_streaming.py +39 -7
- pydantic_ai-1.0.9/tests/test_format_as_xml.py +0 -202
- {pydantic_ai-1.0.9 → pydantic_ai-1.0.11}/.gitignore +0 -0
- {pydantic_ai-1.0.9 → pydantic_ai-1.0.11}/LICENSE +0 -0
- {pydantic_ai-1.0.9 → pydantic_ai-1.0.11}/Makefile +0 -0
- {pydantic_ai-1.0.9 → pydantic_ai-1.0.11}/tests/__init__.py +0 -0
- {pydantic_ai-1.0.9 → pydantic_ai-1.0.11}/tests/assets/dummy.pdf +0 -0
- {pydantic_ai-1.0.9 → pydantic_ai-1.0.11}/tests/assets/kiwi.png +0 -0
- {pydantic_ai-1.0.9 → pydantic_ai-1.0.11}/tests/assets/marcelo.mp3 +0 -0
- {pydantic_ai-1.0.9 → pydantic_ai-1.0.11}/tests/assets/product_name.txt +0 -0
- {pydantic_ai-1.0.9 → pydantic_ai-1.0.11}/tests/assets/small_video.mp4 +0 -0
- {pydantic_ai-1.0.9 → pydantic_ai-1.0.11}/tests/cassettes/test_dbos/test_complex_agent_run.yaml +0 -0
- {pydantic_ai-1.0.9 → pydantic_ai-1.0.11}/tests/cassettes/test_dbos/test_complex_agent_run_in_workflow.yaml +0 -0
- {pydantic_ai-1.0.9 → pydantic_ai-1.0.11}/tests/cassettes/test_dbos/test_complex_agent_run_stream_in_workflow.yaml +0 -0
- {pydantic_ai-1.0.9 → pydantic_ai-1.0.11}/tests/cassettes/test_dbos/test_dbos_agent_iter.yaml +0 -0
- {pydantic_ai-1.0.9 → pydantic_ai-1.0.11}/tests/cassettes/test_dbos/test_dbos_agent_iter_in_workflow.yaml +0 -0
- {pydantic_ai-1.0.9 → pydantic_ai-1.0.11}/tests/cassettes/test_dbos/test_dbos_agent_override_deps_in_workflow.yaml +0 -0
- {pydantic_ai-1.0.9 → pydantic_ai-1.0.11}/tests/cassettes/test_dbos/test_dbos_agent_override_tools_in_workflow.yaml +0 -0
- {pydantic_ai-1.0.9 → pydantic_ai-1.0.11}/tests/cassettes/test_dbos/test_dbos_agent_run.yaml +0 -0
- {pydantic_ai-1.0.9 → pydantic_ai-1.0.11}/tests/cassettes/test_dbos/test_dbos_agent_run_in_workflow_with_toolsets.yaml +0 -0
- {pydantic_ai-1.0.9 → pydantic_ai-1.0.11}/tests/cassettes/test_dbos/test_dbos_agent_run_stream.yaml +0 -0
- {pydantic_ai-1.0.9 → pydantic_ai-1.0.11}/tests/cassettes/test_dbos/test_dbos_agent_run_sync.yaml +0 -0
- {pydantic_ai-1.0.9 → pydantic_ai-1.0.11}/tests/cassettes/test_dbos/test_dbos_agent_run_sync_in_workflow.yaml +0 -0
- {pydantic_ai-1.0.9 → pydantic_ai-1.0.11}/tests/cassettes/test_dbos/test_dbos_agent_with_dataclass_deps_as_dict.yaml +0 -0
- {pydantic_ai-1.0.9 → pydantic_ai-1.0.11}/tests/cassettes/test_dbos/test_dbos_agent_with_hitl_tool.yaml +0 -0
- {pydantic_ai-1.0.9 → pydantic_ai-1.0.11}/tests/cassettes/test_dbos/test_dbos_agent_with_hitl_tool_sync.yaml +0 -0
- {pydantic_ai-1.0.9 → pydantic_ai-1.0.11}/tests/cassettes/test_dbos/test_dbos_agent_with_model_retry.yaml +0 -0
- {pydantic_ai-1.0.9 → pydantic_ai-1.0.11}/tests/cassettes/test_dbos/test_dbos_agent_with_non_dict_deps.yaml +0 -0
- {pydantic_ai-1.0.9 → pydantic_ai-1.0.11}/tests/cassettes/test_dbos/test_dbos_agent_with_unserializable_deps_type.yaml +0 -0
- {pydantic_ai-1.0.9 → pydantic_ai-1.0.11}/tests/cassettes/test_dbos/test_dbos_model_stream_direct.yaml +0 -0
- {pydantic_ai-1.0.9 → pydantic_ai-1.0.11}/tests/cassettes/test_dbos/test_multiple_agents.yaml +0 -0
- {pydantic_ai-1.0.9 → pydantic_ai-1.0.11}/tests/cassettes/test_dbos/test_simple_agent_run_in_workflow.yaml +0 -0
- {pydantic_ai-1.0.9 → pydantic_ai-1.0.11}/tests/cassettes/test_mcp/test_agent_with_server_not_running.yaml +0 -0
- {pydantic_ai-1.0.9 → pydantic_ai-1.0.11}/tests/cassettes/test_mcp/test_agent_with_stdio_server.yaml +0 -0
- {pydantic_ai-1.0.9 → pydantic_ai-1.0.11}/tests/cassettes/test_mcp/test_tool_returning_audio_resource.yaml +0 -0
- {pydantic_ai-1.0.9 → pydantic_ai-1.0.11}/tests/cassettes/test_mcp/test_tool_returning_audio_resource_link.yaml +0 -0
- {pydantic_ai-1.0.9 → pydantic_ai-1.0.11}/tests/cassettes/test_mcp/test_tool_returning_dict.yaml +0 -0
- {pydantic_ai-1.0.9 → pydantic_ai-1.0.11}/tests/cassettes/test_mcp/test_tool_returning_error.yaml +0 -0
- {pydantic_ai-1.0.9 → pydantic_ai-1.0.11}/tests/cassettes/test_mcp/test_tool_returning_image.yaml +0 -0
- {pydantic_ai-1.0.9 → pydantic_ai-1.0.11}/tests/cassettes/test_mcp/test_tool_returning_image_resource.yaml +0 -0
- {pydantic_ai-1.0.9 → pydantic_ai-1.0.11}/tests/cassettes/test_mcp/test_tool_returning_image_resource_link.yaml +0 -0
- {pydantic_ai-1.0.9 → pydantic_ai-1.0.11}/tests/cassettes/test_mcp/test_tool_returning_multiple_items.yaml +0 -0
- {pydantic_ai-1.0.9 → pydantic_ai-1.0.11}/tests/cassettes/test_mcp/test_tool_returning_none.yaml +0 -0
- {pydantic_ai-1.0.9 → pydantic_ai-1.0.11}/tests/cassettes/test_mcp/test_tool_returning_str.yaml +0 -0
- {pydantic_ai-1.0.9 → pydantic_ai-1.0.11}/tests/cassettes/test_mcp/test_tool_returning_text_resource.yaml +0 -0
- {pydantic_ai-1.0.9 → pydantic_ai-1.0.11}/tests/cassettes/test_mcp/test_tool_returning_text_resource_link.yaml +0 -0
- {pydantic_ai-1.0.9 → pydantic_ai-1.0.11}/tests/cassettes/test_settings/test_stop_settings[anthropic].yaml +0 -0
- {pydantic_ai-1.0.9 → pydantic_ai-1.0.11}/tests/cassettes/test_settings/test_stop_settings[bedrock].yaml +0 -0
- {pydantic_ai-1.0.9 → pydantic_ai-1.0.11}/tests/cassettes/test_settings/test_stop_settings[cohere].yaml +0 -0
- {pydantic_ai-1.0.9 → pydantic_ai-1.0.11}/tests/cassettes/test_settings/test_stop_settings[gemini].yaml +0 -0
- {pydantic_ai-1.0.9 → pydantic_ai-1.0.11}/tests/cassettes/test_settings/test_stop_settings[google].yaml +0 -0
- {pydantic_ai-1.0.9 → pydantic_ai-1.0.11}/tests/cassettes/test_settings/test_stop_settings[groq].yaml +0 -0
- {pydantic_ai-1.0.9 → pydantic_ai-1.0.11}/tests/cassettes/test_settings/test_stop_settings[mistral].yaml +0 -0
- {pydantic_ai-1.0.9 → pydantic_ai-1.0.11}/tests/cassettes/test_settings/test_stop_settings[openai].yaml +0 -0
- {pydantic_ai-1.0.9 → pydantic_ai-1.0.11}/tests/cassettes/test_temporal/test_complex_agent_run.yaml +0 -0
- {pydantic_ai-1.0.9 → pydantic_ai-1.0.11}/tests/cassettes/test_temporal/test_complex_agent_run_in_workflow.yaml +0 -0
- {pydantic_ai-1.0.9 → pydantic_ai-1.0.11}/tests/cassettes/test_temporal/test_complex_agent_run_stream_in_workflow.yaml +0 -0
- {pydantic_ai-1.0.9 → pydantic_ai-1.0.11}/tests/cassettes/test_temporal/test_logfire_plugin.yaml +0 -0
- {pydantic_ai-1.0.9 → pydantic_ai-1.0.11}/tests/cassettes/test_temporal/test_multiple_agents.yaml +0 -0
- {pydantic_ai-1.0.9 → pydantic_ai-1.0.11}/tests/cassettes/test_temporal/test_simple_agent_run_in_workflow.yaml +0 -0
- {pydantic_ai-1.0.9 → pydantic_ai-1.0.11}/tests/cassettes/test_temporal/test_temporal_agent_iter.yaml +0 -0
- {pydantic_ai-1.0.9 → pydantic_ai-1.0.11}/tests/cassettes/test_temporal/test_temporal_agent_override_deps_in_workflow.yaml +0 -0
- {pydantic_ai-1.0.9 → pydantic_ai-1.0.11}/tests/cassettes/test_temporal/test_temporal_agent_run.yaml +0 -0
- {pydantic_ai-1.0.9 → pydantic_ai-1.0.11}/tests/cassettes/test_temporal/test_temporal_agent_run_stream.yaml +0 -0
- {pydantic_ai-1.0.9 → pydantic_ai-1.0.11}/tests/cassettes/test_temporal/test_temporal_agent_run_sync.yaml +0 -0
- {pydantic_ai-1.0.9 → pydantic_ai-1.0.11}/tests/cassettes/test_temporal/test_temporal_agent_sync_tool_activity_disabled.yaml +0 -0
- {pydantic_ai-1.0.9 → pydantic_ai-1.0.11}/tests/cassettes/test_temporal/test_temporal_agent_with_dataclass_deps_as_dict.yaml +0 -0
- {pydantic_ai-1.0.9 → pydantic_ai-1.0.11}/tests/cassettes/test_temporal/test_temporal_agent_with_hitl_tool.yaml +0 -0
- {pydantic_ai-1.0.9 → pydantic_ai-1.0.11}/tests/cassettes/test_temporal/test_temporal_agent_with_model_retry.yaml +0 -0
- {pydantic_ai-1.0.9 → pydantic_ai-1.0.11}/tests/cassettes/test_temporal/test_temporal_agent_with_non_dict_deps.yaml +0 -0
- {pydantic_ai-1.0.9 → pydantic_ai-1.0.11}/tests/cassettes/test_temporal/test_temporal_agent_with_unserializable_deps_type.yaml +0 -0
- {pydantic_ai-1.0.9 → pydantic_ai-1.0.11}/tests/conftest.py +0 -0
- {pydantic_ai-1.0.9 → pydantic_ai-1.0.11}/tests/evals/__init__.py +0 -0
- {pydantic_ai-1.0.9 → pydantic_ai-1.0.11}/tests/evals/test_dataset.py +0 -0
- {pydantic_ai-1.0.9 → pydantic_ai-1.0.11}/tests/evals/test_evaluator_base.py +0 -0
- {pydantic_ai-1.0.9 → pydantic_ai-1.0.11}/tests/evals/test_evaluator_common.py +0 -0
- {pydantic_ai-1.0.9 → pydantic_ai-1.0.11}/tests/evals/test_evaluator_context.py +0 -0
- {pydantic_ai-1.0.9 → pydantic_ai-1.0.11}/tests/evals/test_evaluator_spec.py +0 -0
- {pydantic_ai-1.0.9 → pydantic_ai-1.0.11}/tests/evals/test_evaluators.py +0 -0
- {pydantic_ai-1.0.9 → pydantic_ai-1.0.11}/tests/evals/test_llm_as_a_judge.py +0 -0
- {pydantic_ai-1.0.9 → pydantic_ai-1.0.11}/tests/evals/test_otel.py +0 -0
- {pydantic_ai-1.0.9 → pydantic_ai-1.0.11}/tests/evals/test_render_numbers.py +0 -0
- {pydantic_ai-1.0.9 → pydantic_ai-1.0.11}/tests/evals/test_reporting.py +0 -0
- {pydantic_ai-1.0.9 → pydantic_ai-1.0.11}/tests/evals/test_reports.py +0 -0
- {pydantic_ai-1.0.9 → pydantic_ai-1.0.11}/tests/evals/test_utils.py +0 -0
- {pydantic_ai-1.0.9 → pydantic_ai-1.0.11}/tests/evals/utils.py +0 -0
- {pydantic_ai-1.0.9 → pydantic_ai-1.0.11}/tests/example_modules/README.md +0 -0
- {pydantic_ai-1.0.9 → pydantic_ai-1.0.11}/tests/example_modules/bank_database.py +0 -0
- {pydantic_ai-1.0.9 → pydantic_ai-1.0.11}/tests/example_modules/fake_database.py +0 -0
- {pydantic_ai-1.0.9 → pydantic_ai-1.0.11}/tests/example_modules/mcp_server.py +0 -0
- {pydantic_ai-1.0.9 → pydantic_ai-1.0.11}/tests/example_modules/weather_service.py +0 -0
- {pydantic_ai-1.0.9 → pydantic_ai-1.0.11}/tests/ext/__init__.py +0 -0
- {pydantic_ai-1.0.9 → pydantic_ai-1.0.11}/tests/ext/test_langchain.py +0 -0
- {pydantic_ai-1.0.9 → pydantic_ai-1.0.11}/tests/graph/__init__.py +0 -0
- {pydantic_ai-1.0.9 → pydantic_ai-1.0.11}/tests/graph/test_file_persistence.py +0 -0
- {pydantic_ai-1.0.9 → pydantic_ai-1.0.11}/tests/graph/test_graph.py +0 -0
- {pydantic_ai-1.0.9 → pydantic_ai-1.0.11}/tests/graph/test_mermaid.py +0 -0
- {pydantic_ai-1.0.9 → pydantic_ai-1.0.11}/tests/graph/test_persistence.py +0 -0
- {pydantic_ai-1.0.9 → pydantic_ai-1.0.11}/tests/graph/test_state.py +0 -0
- {pydantic_ai-1.0.9 → pydantic_ai-1.0.11}/tests/graph/test_utils.py +0 -0
- {pydantic_ai-1.0.9 → pydantic_ai-1.0.11}/tests/import_examples.py +0 -0
- {pydantic_ai-1.0.9 → pydantic_ai-1.0.11}/tests/json_body_serializer.py +0 -0
- {pydantic_ai-1.0.9 → pydantic_ai-1.0.11}/tests/mcp_server.py +0 -0
- {pydantic_ai-1.0.9 → pydantic_ai-1.0.11}/tests/models/__init__.py +0 -0
- {pydantic_ai-1.0.9 → pydantic_ai-1.0.11}/tests/models/cassettes/test_anthropic/test_anthropic_code_execution_tool.yaml +0 -0
- {pydantic_ai-1.0.9 → pydantic_ai-1.0.11}/tests/models/cassettes/test_anthropic/test_anthropic_code_execution_tool_stream.yaml +0 -0
- {pydantic_ai-1.0.9 → pydantic_ai-1.0.11}/tests/models/cassettes/test_anthropic/test_anthropic_model_empty_message_on_history.yaml +0 -0
- {pydantic_ai-1.0.9 → pydantic_ai-1.0.11}/tests/models/cassettes/test_anthropic/test_anthropic_model_instructions.yaml +0 -0
- {pydantic_ai-1.0.9 → pydantic_ai-1.0.11}/tests/models/cassettes/test_anthropic/test_anthropic_model_thinking_part.yaml +0 -0
- {pydantic_ai-1.0.9 → pydantic_ai-1.0.11}/tests/models/cassettes/test_anthropic/test_anthropic_model_thinking_part_from_other_model.yaml +0 -0
- {pydantic_ai-1.0.9 → pydantic_ai-1.0.11}/tests/models/cassettes/test_anthropic/test_anthropic_model_thinking_part_redacted.yaml +0 -0
- {pydantic_ai-1.0.9 → pydantic_ai-1.0.11}/tests/models/cassettes/test_anthropic/test_anthropic_model_thinking_part_redacted_stream.yaml +0 -0
- {pydantic_ai-1.0.9 → pydantic_ai-1.0.11}/tests/models/cassettes/test_anthropic/test_anthropic_model_thinking_part_stream.yaml +0 -0
- {pydantic_ai-1.0.9 → pydantic_ai-1.0.11}/tests/models/cassettes/test_anthropic/test_anthropic_model_web_search_tool_stream.yaml +0 -0
- {pydantic_ai-1.0.9 → pydantic_ai-1.0.11}/tests/models/cassettes/test_anthropic/test_anthropic_prompted_output.yaml +0 -0
- {pydantic_ai-1.0.9 → pydantic_ai-1.0.11}/tests/models/cassettes/test_anthropic/test_anthropic_prompted_output_multiple.yaml +0 -0
- {pydantic_ai-1.0.9 → pydantic_ai-1.0.11}/tests/models/cassettes/test_anthropic/test_anthropic_server_tool_pass_history_to_another_provider.yaml +0 -0
- {pydantic_ai-1.0.9 → pydantic_ai-1.0.11}/tests/models/cassettes/test_anthropic/test_anthropic_server_tool_receive_history_from_another_provider.yaml +0 -0
- {pydantic_ai-1.0.9 → pydantic_ai-1.0.11}/tests/models/cassettes/test_anthropic/test_anthropic_text_output_function.yaml +0 -0
- {pydantic_ai-1.0.9 → pydantic_ai-1.0.11}/tests/models/cassettes/test_anthropic/test_anthropic_text_parts_ahead_of_built_in_tool_call.yaml +0 -0
- {pydantic_ai-1.0.9 → pydantic_ai-1.0.11}/tests/models/cassettes/test_anthropic/test_anthropic_tool_output.yaml +0 -0
- {pydantic_ai-1.0.9 → pydantic_ai-1.0.11}/tests/models/cassettes/test_anthropic/test_anthropic_tool_with_thinking.yaml +0 -0
- {pydantic_ai-1.0.9 → pydantic_ai-1.0.11}/tests/models/cassettes/test_anthropic/test_anthropic_web_search_tool.yaml +0 -0
- {pydantic_ai-1.0.9 → pydantic_ai-1.0.11}/tests/models/cassettes/test_anthropic/test_anthropic_web_search_tool_stream.yaml +0 -0
- {pydantic_ai-1.0.9 → pydantic_ai-1.0.11}/tests/models/cassettes/test_anthropic/test_document_binary_content_input.yaml +0 -0
- {pydantic_ai-1.0.9 → pydantic_ai-1.0.11}/tests/models/cassettes/test_anthropic/test_document_url_input.yaml +0 -0
- {pydantic_ai-1.0.9 → pydantic_ai-1.0.11}/tests/models/cassettes/test_anthropic/test_extra_headers.yaml +0 -0
- {pydantic_ai-1.0.9 → pydantic_ai-1.0.11}/tests/models/cassettes/test_anthropic/test_image_as_binary_content_tool_response.yaml +0 -0
- {pydantic_ai-1.0.9 → pydantic_ai-1.0.11}/tests/models/cassettes/test_anthropic/test_image_url_input.yaml +0 -0
- {pydantic_ai-1.0.9 → pydantic_ai-1.0.11}/tests/models/cassettes/test_anthropic/test_image_url_input_invalid_mime_type.yaml +0 -0
- {pydantic_ai-1.0.9 → pydantic_ai-1.0.11}/tests/models/cassettes/test_anthropic/test_multiple_parallel_tool_calls.yaml +0 -0
- {pydantic_ai-1.0.9 → pydantic_ai-1.0.11}/tests/models/cassettes/test_anthropic/test_text_document_url_input.yaml +0 -0
- {pydantic_ai-1.0.9 → pydantic_ai-1.0.11}/tests/models/cassettes/test_bedrock/test_bedrock_anthropic_tool_with_thinking.yaml +0 -0
- {pydantic_ai-1.0.9 → pydantic_ai-1.0.11}/tests/models/cassettes/test_bedrock/test_bedrock_empty_system_prompt.yaml +0 -0
- {pydantic_ai-1.0.9 → pydantic_ai-1.0.11}/tests/models/cassettes/test_bedrock/test_bedrock_model.yaml +0 -0
- {pydantic_ai-1.0.9 → pydantic_ai-1.0.11}/tests/models/cassettes/test_bedrock/test_bedrock_model_anthropic_model_without_tools.yaml +0 -0
- {pydantic_ai-1.0.9 → pydantic_ai-1.0.11}/tests/models/cassettes/test_bedrock/test_bedrock_model_guardrail_config.yaml +0 -0
- {pydantic_ai-1.0.9 → pydantic_ai-1.0.11}/tests/models/cassettes/test_bedrock/test_bedrock_model_instructions.yaml +0 -0
- {pydantic_ai-1.0.9 → pydantic_ai-1.0.11}/tests/models/cassettes/test_bedrock/test_bedrock_model_iter_stream.yaml +0 -0
- {pydantic_ai-1.0.9 → pydantic_ai-1.0.11}/tests/models/cassettes/test_bedrock/test_bedrock_model_max_tokens.yaml +0 -0
- {pydantic_ai-1.0.9 → pydantic_ai-1.0.11}/tests/models/cassettes/test_bedrock/test_bedrock_model_other_parameters.yaml +0 -0
- {pydantic_ai-1.0.9 → pydantic_ai-1.0.11}/tests/models/cassettes/test_bedrock/test_bedrock_model_performance_config.yaml +0 -0
- {pydantic_ai-1.0.9 → pydantic_ai-1.0.11}/tests/models/cassettes/test_bedrock/test_bedrock_model_retry.yaml +0 -0
- {pydantic_ai-1.0.9 → pydantic_ai-1.0.11}/tests/models/cassettes/test_bedrock/test_bedrock_model_stream.yaml +0 -0
- {pydantic_ai-1.0.9 → pydantic_ai-1.0.11}/tests/models/cassettes/test_bedrock/test_bedrock_model_structured_output.yaml +0 -0
- {pydantic_ai-1.0.9 → pydantic_ai-1.0.11}/tests/models/cassettes/test_bedrock/test_bedrock_model_thinking_part_anthropic.yaml +0 -0
- {pydantic_ai-1.0.9 → pydantic_ai-1.0.11}/tests/models/cassettes/test_bedrock/test_bedrock_model_thinking_part_deepseek.yaml +0 -0
- {pydantic_ai-1.0.9 → pydantic_ai-1.0.11}/tests/models/cassettes/test_bedrock/test_bedrock_model_thinking_part_from_other_model.yaml +0 -0
- {pydantic_ai-1.0.9 → pydantic_ai-1.0.11}/tests/models/cassettes/test_bedrock/test_bedrock_model_thinking_part_redacted.yaml +0 -0
- {pydantic_ai-1.0.9 → pydantic_ai-1.0.11}/tests/models/cassettes/test_bedrock/test_bedrock_model_thinking_part_redacted_stream.yaml +0 -0
- {pydantic_ai-1.0.9 → pydantic_ai-1.0.11}/tests/models/cassettes/test_bedrock/test_bedrock_model_thinking_part_stream.yaml +0 -0
- {pydantic_ai-1.0.9 → pydantic_ai-1.0.11}/tests/models/cassettes/test_bedrock/test_bedrock_model_top_p.yaml +0 -0
- {pydantic_ai-1.0.9 → pydantic_ai-1.0.11}/tests/models/cassettes/test_bedrock/test_bedrock_multiple_documents_in_history.yaml +0 -0
- {pydantic_ai-1.0.9 → pydantic_ai-1.0.11}/tests/models/cassettes/test_bedrock/test_document_url_input.yaml +0 -0
- {pydantic_ai-1.0.9 → pydantic_ai-1.0.11}/tests/models/cassettes/test_bedrock/test_image_as_binary_content_input.yaml +0 -0
- {pydantic_ai-1.0.9 → pydantic_ai-1.0.11}/tests/models/cassettes/test_bedrock/test_image_url_input.yaml +0 -0
- {pydantic_ai-1.0.9 → pydantic_ai-1.0.11}/tests/models/cassettes/test_bedrock/test_text_as_binary_content_input.yaml +0 -0
- {pydantic_ai-1.0.9 → pydantic_ai-1.0.11}/tests/models/cassettes/test_bedrock/test_text_document_url_input.yaml +0 -0
- {pydantic_ai-1.0.9 → pydantic_ai-1.0.11}/tests/models/cassettes/test_bedrock/test_video_as_binary_content_input.yaml +0 -0
- {pydantic_ai-1.0.9 → pydantic_ai-1.0.11}/tests/models/cassettes/test_bedrock/test_video_url_input.yaml +0 -0
- {pydantic_ai-1.0.9 → pydantic_ai-1.0.11}/tests/models/cassettes/test_cohere/test_cohere_model_instructions.yaml +0 -0
- {pydantic_ai-1.0.9 → pydantic_ai-1.0.11}/tests/models/cassettes/test_cohere/test_cohere_model_thinking_part.yaml +0 -0
- {pydantic_ai-1.0.9 → pydantic_ai-1.0.11}/tests/models/cassettes/test_cohere/test_request_simple_success_with_vcr.yaml +0 -0
- {pydantic_ai-1.0.9 → pydantic_ai-1.0.11}/tests/models/cassettes/test_deepseek/test_deepseek_model_thinking_part.yaml +0 -0
- {pydantic_ai-1.0.9 → pydantic_ai-1.0.11}/tests/models/cassettes/test_deepseek/test_deepseek_model_thinking_stream.yaml +0 -0
- {pydantic_ai-1.0.9 → pydantic_ai-1.0.11}/tests/models/cassettes/test_download_item/test_download_item_application_octet_stream.yaml +0 -0
- {pydantic_ai-1.0.9 → pydantic_ai-1.0.11}/tests/models/cassettes/test_download_item/test_download_item_audio_mpeg.yaml +0 -0
- {pydantic_ai-1.0.9 → pydantic_ai-1.0.11}/tests/models/cassettes/test_download_item/test_download_item_no_content_type.yaml +0 -0
- {pydantic_ai-1.0.9 → pydantic_ai-1.0.11}/tests/models/cassettes/test_gemini/test_document_url_input.yaml +0 -0
- {pydantic_ai-1.0.9 → pydantic_ai-1.0.11}/tests/models/cassettes/test_gemini/test_gemini_additional_properties_is_false.yaml +0 -0
- {pydantic_ai-1.0.9 → pydantic_ai-1.0.11}/tests/models/cassettes/test_gemini/test_gemini_additional_properties_is_true.yaml +0 -0
- {pydantic_ai-1.0.9 → pydantic_ai-1.0.11}/tests/models/cassettes/test_gemini/test_gemini_drop_exclusive_maximum.yaml +0 -0
- {pydantic_ai-1.0.9 → pydantic_ai-1.0.11}/tests/models/cassettes/test_gemini/test_gemini_exclusive_minimum_and_maximum.yaml +0 -0
- {pydantic_ai-1.0.9 → pydantic_ai-1.0.11}/tests/models/cassettes/test_gemini/test_gemini_model_instructions.yaml +0 -0
- {pydantic_ai-1.0.9 → pydantic_ai-1.0.11}/tests/models/cassettes/test_gemini/test_gemini_model_thinking_part.yaml +0 -0
- {pydantic_ai-1.0.9 → pydantic_ai-1.0.11}/tests/models/cassettes/test_gemini/test_gemini_native_output.yaml +0 -0
- {pydantic_ai-1.0.9 → pydantic_ai-1.0.11}/tests/models/cassettes/test_gemini/test_gemini_native_output_multiple.yaml +0 -0
- {pydantic_ai-1.0.9 → pydantic_ai-1.0.11}/tests/models/cassettes/test_gemini/test_gemini_prompted_output.yaml +0 -0
- {pydantic_ai-1.0.9 → pydantic_ai-1.0.11}/tests/models/cassettes/test_gemini/test_gemini_prompted_output_multiple.yaml +0 -0
- {pydantic_ai-1.0.9 → pydantic_ai-1.0.11}/tests/models/cassettes/test_gemini/test_gemini_prompted_output_with_tools.yaml +0 -0
- {pydantic_ai-1.0.9 → pydantic_ai-1.0.11}/tests/models/cassettes/test_gemini/test_gemini_text_output_function.yaml +0 -0
- {pydantic_ai-1.0.9 → pydantic_ai-1.0.11}/tests/models/cassettes/test_gemini/test_gemini_tool_config_any_with_tool_without_args.yaml +0 -0
- {pydantic_ai-1.0.9 → pydantic_ai-1.0.11}/tests/models/cassettes/test_gemini/test_gemini_tool_output.yaml +0 -0
- {pydantic_ai-1.0.9 → pydantic_ai-1.0.11}/tests/models/cassettes/test_gemini/test_gemini_youtube_video_url_input.yaml +0 -0
- {pydantic_ai-1.0.9 → pydantic_ai-1.0.11}/tests/models/cassettes/test_gemini/test_image_as_binary_content_input.yaml +0 -0
- {pydantic_ai-1.0.9 → pydantic_ai-1.0.11}/tests/models/cassettes/test_gemini/test_image_as_binary_content_tool_response.yaml +0 -0
- {pydantic_ai-1.0.9 → pydantic_ai-1.0.11}/tests/models/cassettes/test_gemini/test_image_url_input.yaml +0 -0
- {pydantic_ai-1.0.9 → pydantic_ai-1.0.11}/tests/models/cassettes/test_gemini/test_labels_are_ignored_with_gla_provider.yaml +0 -0
- {pydantic_ai-1.0.9 → pydantic_ai-1.0.11}/tests/models/cassettes/test_gemini/test_video_as_binary_content_input.yaml +0 -0
- {pydantic_ai-1.0.9 → pydantic_ai-1.0.11}/tests/models/cassettes/test_gemini/test_video_url_input.yaml +0 -0
- {pydantic_ai-1.0.9 → pydantic_ai-1.0.11}/tests/models/cassettes/test_gemini_vertex/test_labels.yaml +0 -0
- {pydantic_ai-1.0.9 → pydantic_ai-1.0.11}/tests/models/cassettes/test_gemini_vertex/test_url_input[AudioUrl (gs)].yaml +0 -0
- {pydantic_ai-1.0.9 → pydantic_ai-1.0.11}/tests/models/cassettes/test_gemini_vertex/test_url_input[AudioUrl].yaml +0 -0
- {pydantic_ai-1.0.9 → pydantic_ai-1.0.11}/tests/models/cassettes/test_gemini_vertex/test_url_input[DocumentUrl (gs)].yaml +0 -0
- {pydantic_ai-1.0.9 → pydantic_ai-1.0.11}/tests/models/cassettes/test_gemini_vertex/test_url_input[DocumentUrl].yaml +0 -0
- {pydantic_ai-1.0.9 → pydantic_ai-1.0.11}/tests/models/cassettes/test_gemini_vertex/test_url_input[ImageUrl (gs)].yaml +0 -0
- {pydantic_ai-1.0.9 → pydantic_ai-1.0.11}/tests/models/cassettes/test_gemini_vertex/test_url_input[ImageUrl].yaml +0 -0
- {pydantic_ai-1.0.9 → pydantic_ai-1.0.11}/tests/models/cassettes/test_gemini_vertex/test_url_input[VideoUrl (YouTube)].yaml +0 -0
- {pydantic_ai-1.0.9 → pydantic_ai-1.0.11}/tests/models/cassettes/test_gemini_vertex/test_url_input[VideoUrl (gs)].yaml +0 -0
- {pydantic_ai-1.0.9 → pydantic_ai-1.0.11}/tests/models/cassettes/test_gemini_vertex/test_url_input[VideoUrl].yaml +0 -0
- {pydantic_ai-1.0.9 → pydantic_ai-1.0.11}/tests/models/cassettes/test_gemini_vertex/test_url_input_force_download.yaml +0 -0
- {pydantic_ai-1.0.9 → pydantic_ai-1.0.11}/tests/models/cassettes/test_google/test_google_builtin_tools_with_other_tools.yaml +0 -0
- {pydantic_ai-1.0.9 → pydantic_ai-1.0.11}/tests/models/cassettes/test_google/test_google_model.yaml +0 -0
- {pydantic_ai-1.0.9 → pydantic_ai-1.0.11}/tests/models/cassettes/test_google/test_google_model_builtin_code_execution_stream.yaml +0 -0
- {pydantic_ai-1.0.9 → pydantic_ai-1.0.11}/tests/models/cassettes/test_google/test_google_model_code_execution_tool.yaml +0 -0
- {pydantic_ai-1.0.9 → pydantic_ai-1.0.11}/tests/models/cassettes/test_google/test_google_model_empty_assistant_response.yaml +0 -0
- {pydantic_ai-1.0.9 → pydantic_ai-1.0.11}/tests/models/cassettes/test_google/test_google_model_empty_user_prompt.yaml +0 -0
- {pydantic_ai-1.0.9 → pydantic_ai-1.0.11}/tests/models/cassettes/test_google/test_google_model_instructions.yaml +0 -0
- {pydantic_ai-1.0.9 → pydantic_ai-1.0.11}/tests/models/cassettes/test_google/test_google_model_iter_stream.yaml +0 -0
- {pydantic_ai-1.0.9 → pydantic_ai-1.0.11}/tests/models/cassettes/test_google/test_google_model_max_tokens.yaml +0 -0
- {pydantic_ai-1.0.9 → pydantic_ai-1.0.11}/tests/models/cassettes/test_google/test_google_model_multiple_documents_in_history.yaml +0 -0
- {pydantic_ai-1.0.9 → pydantic_ai-1.0.11}/tests/models/cassettes/test_google/test_google_model_receive_web_search_history_from_another_provider.yaml +0 -0
- {pydantic_ai-1.0.9 → pydantic_ai-1.0.11}/tests/models/cassettes/test_google/test_google_model_retry.yaml +0 -0
- {pydantic_ai-1.0.9 → pydantic_ai-1.0.11}/tests/models/cassettes/test_google/test_google_model_safety_settings.yaml +0 -0
- {pydantic_ai-1.0.9 → pydantic_ai-1.0.11}/tests/models/cassettes/test_google/test_google_model_server_tool_receive_history_from_another_provider.yaml +0 -0
- {pydantic_ai-1.0.9 → pydantic_ai-1.0.11}/tests/models/cassettes/test_google/test_google_model_stream.yaml +0 -0
- {pydantic_ai-1.0.9 → pydantic_ai-1.0.11}/tests/models/cassettes/test_google/test_google_model_structured_output.yaml +0 -0
- {pydantic_ai-1.0.9 → pydantic_ai-1.0.11}/tests/models/cassettes/test_google/test_google_model_thinking_config.yaml +0 -0
- {pydantic_ai-1.0.9 → pydantic_ai-1.0.11}/tests/models/cassettes/test_google/test_google_model_thinking_part.yaml +0 -0
- {pydantic_ai-1.0.9 → pydantic_ai-1.0.11}/tests/models/cassettes/test_google/test_google_model_thinking_part_from_other_model.yaml +0 -0
- {pydantic_ai-1.0.9 → pydantic_ai-1.0.11}/tests/models/cassettes/test_google/test_google_model_thinking_part_iter.yaml +0 -0
- {pydantic_ai-1.0.9 → pydantic_ai-1.0.11}/tests/models/cassettes/test_google/test_google_model_top_p.yaml +0 -0
- {pydantic_ai-1.0.9 → pydantic_ai-1.0.11}/tests/models/cassettes/test_google/test_google_model_url_context_tool.yaml +0 -0
- {pydantic_ai-1.0.9 → pydantic_ai-1.0.11}/tests/models/cassettes/test_google/test_google_model_usage_limit_exceeded.yaml +0 -0
- {pydantic_ai-1.0.9 → pydantic_ai-1.0.11}/tests/models/cassettes/test_google/test_google_model_usage_limit_not_exceeded.yaml +0 -0
- {pydantic_ai-1.0.9 → pydantic_ai-1.0.11}/tests/models/cassettes/test_google/test_google_model_vertex_labels.yaml +0 -0
- {pydantic_ai-1.0.9 → pydantic_ai-1.0.11}/tests/models/cassettes/test_google/test_google_model_vertex_provider.yaml +0 -0
- {pydantic_ai-1.0.9 → pydantic_ai-1.0.11}/tests/models/cassettes/test_google/test_google_model_video_as_binary_content_input_with_vendor_metadata.yaml +0 -0
- {pydantic_ai-1.0.9 → pydantic_ai-1.0.11}/tests/models/cassettes/test_google/test_google_model_web_search_tool.yaml +0 -0
- {pydantic_ai-1.0.9 → pydantic_ai-1.0.11}/tests/models/cassettes/test_google/test_google_model_web_search_tool_stream.yaml +0 -0
- {pydantic_ai-1.0.9 → pydantic_ai-1.0.11}/tests/models/cassettes/test_google/test_google_model_youtube_video_url_input_with_vendor_metadata.yaml +0 -0
- {pydantic_ai-1.0.9 → pydantic_ai-1.0.11}/tests/models/cassettes/test_google/test_google_native_output.yaml +0 -0
- {pydantic_ai-1.0.9 → pydantic_ai-1.0.11}/tests/models/cassettes/test_google/test_google_native_output_multiple.yaml +0 -0
- {pydantic_ai-1.0.9 → pydantic_ai-1.0.11}/tests/models/cassettes/test_google/test_google_prompted_output.yaml +0 -0
- {pydantic_ai-1.0.9 → pydantic_ai-1.0.11}/tests/models/cassettes/test_google/test_google_prompted_output_multiple.yaml +0 -0
- {pydantic_ai-1.0.9 → pydantic_ai-1.0.11}/tests/models/cassettes/test_google/test_google_prompted_output_with_tools.yaml +0 -0
- {pydantic_ai-1.0.9 → pydantic_ai-1.0.11}/tests/models/cassettes/test_google/test_google_text_output_function.yaml +0 -0
- {pydantic_ai-1.0.9 → pydantic_ai-1.0.11}/tests/models/cassettes/test_google/test_google_timeout.yaml +0 -0
- {pydantic_ai-1.0.9 → pydantic_ai-1.0.11}/tests/models/cassettes/test_google/test_google_tool_config_any_with_tool_without_args.yaml +0 -0
- {pydantic_ai-1.0.9 → pydantic_ai-1.0.11}/tests/models/cassettes/test_google/test_google_tool_output.yaml +0 -0
- {pydantic_ai-1.0.9 → pydantic_ai-1.0.11}/tests/models/cassettes/test_google/test_google_url_input[AudioUrl (gs)].yaml +0 -0
- {pydantic_ai-1.0.9 → pydantic_ai-1.0.11}/tests/models/cassettes/test_google/test_google_url_input[AudioUrl].yaml +0 -0
- {pydantic_ai-1.0.9 → pydantic_ai-1.0.11}/tests/models/cassettes/test_google/test_google_url_input[DocumentUrl (gs)].yaml +0 -0
- {pydantic_ai-1.0.9 → pydantic_ai-1.0.11}/tests/models/cassettes/test_google/test_google_url_input[DocumentUrl].yaml +0 -0
- {pydantic_ai-1.0.9 → pydantic_ai-1.0.11}/tests/models/cassettes/test_google/test_google_url_input[ImageUrl (gs)].yaml +0 -0
- {pydantic_ai-1.0.9 → pydantic_ai-1.0.11}/tests/models/cassettes/test_google/test_google_url_input[ImageUrl].yaml +0 -0
- {pydantic_ai-1.0.9 → pydantic_ai-1.0.11}/tests/models/cassettes/test_google/test_google_url_input[VideoUrl (YouTube)].yaml +0 -0
- {pydantic_ai-1.0.9 → pydantic_ai-1.0.11}/tests/models/cassettes/test_google/test_google_url_input[VideoUrl (gs)].yaml +0 -0
- {pydantic_ai-1.0.9 → pydantic_ai-1.0.11}/tests/models/cassettes/test_google/test_google_url_input[VideoUrl].yaml +0 -0
- {pydantic_ai-1.0.9 → pydantic_ai-1.0.11}/tests/models/cassettes/test_google/test_google_url_input_force_download.yaml +0 -0
- {pydantic_ai-1.0.9 → pydantic_ai-1.0.11}/tests/models/cassettes/test_google/test_google_vertexai_model_usage_limit_exceeded.yaml +0 -0
- {pydantic_ai-1.0.9 → pydantic_ai-1.0.11}/tests/models/cassettes/test_groq/test_extra_headers.yaml +0 -0
- {pydantic_ai-1.0.9 → pydantic_ai-1.0.11}/tests/models/cassettes/test_groq/test_groq_model_instructions.yaml +0 -0
- {pydantic_ai-1.0.9 → pydantic_ai-1.0.11}/tests/models/cassettes/test_groq/test_groq_model_thinking_part.yaml +0 -0
- {pydantic_ai-1.0.9 → pydantic_ai-1.0.11}/tests/models/cassettes/test_groq/test_groq_model_thinking_part_iter.yaml +0 -0
- {pydantic_ai-1.0.9 → pydantic_ai-1.0.11}/tests/models/cassettes/test_groq/test_groq_model_web_search_tool.yaml +0 -0
- {pydantic_ai-1.0.9 → pydantic_ai-1.0.11}/tests/models/cassettes/test_groq/test_groq_model_web_search_tool_stream.yaml +0 -0
- {pydantic_ai-1.0.9 → pydantic_ai-1.0.11}/tests/models/cassettes/test_groq/test_groq_native_output.yaml +0 -0
- {pydantic_ai-1.0.9 → pydantic_ai-1.0.11}/tests/models/cassettes/test_groq/test_groq_prompted_output.yaml +0 -0
- {pydantic_ai-1.0.9 → pydantic_ai-1.0.11}/tests/models/cassettes/test_groq/test_image_as_binary_content_input.yaml +0 -0
- {pydantic_ai-1.0.9 → pydantic_ai-1.0.11}/tests/models/cassettes/test_groq/test_image_as_binary_content_tool_response.yaml +0 -0
- {pydantic_ai-1.0.9 → pydantic_ai-1.0.11}/tests/models/cassettes/test_groq/test_image_url_input.yaml +0 -0
- {pydantic_ai-1.0.9 → pydantic_ai-1.0.11}/tests/models/cassettes/test_groq/test_tool_regular_error.yaml +0 -0
- {pydantic_ai-1.0.9 → pydantic_ai-1.0.11}/tests/models/cassettes/test_groq/test_tool_use_failed_error.yaml +0 -0
- {pydantic_ai-1.0.9 → pydantic_ai-1.0.11}/tests/models/cassettes/test_groq/test_tool_use_failed_error_streaming.yaml +0 -0
- {pydantic_ai-1.0.9 → pydantic_ai-1.0.11}/tests/models/cassettes/test_huggingface/test_hf_model_instructions.yaml +0 -0
- {pydantic_ai-1.0.9 → pydantic_ai-1.0.11}/tests/models/cassettes/test_huggingface/test_hf_model_thinking_part.yaml +0 -0
- {pydantic_ai-1.0.9 → pydantic_ai-1.0.11}/tests/models/cassettes/test_huggingface/test_hf_model_thinking_part_iter.yaml +0 -0
- {pydantic_ai-1.0.9 → pydantic_ai-1.0.11}/tests/models/cassettes/test_huggingface/test_image_as_binary_content_input.yaml +0 -0
- {pydantic_ai-1.0.9 → pydantic_ai-1.0.11}/tests/models/cassettes/test_huggingface/test_image_url_input.yaml +0 -0
- {pydantic_ai-1.0.9 → pydantic_ai-1.0.11}/tests/models/cassettes/test_huggingface/test_max_completion_tokens[Qwen-Qwen2.5-72B-Instruct].yaml +0 -0
- {pydantic_ai-1.0.9 → pydantic_ai-1.0.11}/tests/models/cassettes/test_huggingface/test_max_completion_tokens[deepseek-ai-DeepSeek-R1-0528].yaml +0 -0
- {pydantic_ai-1.0.9 → pydantic_ai-1.0.11}/tests/models/cassettes/test_huggingface/test_max_completion_tokens[meta-llama-Llama-3.3-70B-Instruct].yaml +0 -0
- {pydantic_ai-1.0.9 → pydantic_ai-1.0.11}/tests/models/cassettes/test_huggingface/test_request_simple_success_with_vcr.yaml +0 -0
- {pydantic_ai-1.0.9 → pydantic_ai-1.0.11}/tests/models/cassettes/test_huggingface/test_request_simple_usage.yaml +0 -0
- {pydantic_ai-1.0.9 → pydantic_ai-1.0.11}/tests/models/cassettes/test_huggingface/test_simple_completion.yaml +0 -0
- {pydantic_ai-1.0.9 → pydantic_ai-1.0.11}/tests/models/cassettes/test_huggingface/test_stream_completion.yaml +0 -0
- {pydantic_ai-1.0.9 → pydantic_ai-1.0.11}/tests/models/cassettes/test_mistral/test_image_as_binary_content_tool_response.yaml +0 -0
- {pydantic_ai-1.0.9 → pydantic_ai-1.0.11}/tests/models/cassettes/test_mistral/test_mistral_model_instructions.yaml +0 -0
- {pydantic_ai-1.0.9 → pydantic_ai-1.0.11}/tests/models/cassettes/test_mistral/test_mistral_model_thinking_part.yaml +0 -0
- {pydantic_ai-1.0.9 → pydantic_ai-1.0.11}/tests/models/cassettes/test_mistral/test_mistral_model_thinking_part_iter.yaml +0 -0
- {pydantic_ai-1.0.9 → pydantic_ai-1.0.11}/tests/models/cassettes/test_model_names/test_known_model_names.yaml +0 -0
- {pydantic_ai-1.0.9 → pydantic_ai-1.0.11}/tests/models/cassettes/test_openai/test_audio_as_binary_content_input.yaml +0 -0
- {pydantic_ai-1.0.9 → pydantic_ai-1.0.11}/tests/models/cassettes/test_openai/test_compatible_api_with_tool_calls_without_id.yaml +0 -0
- {pydantic_ai-1.0.9 → pydantic_ai-1.0.11}/tests/models/cassettes/test_openai/test_document_as_binary_content_input.yaml +0 -0
- {pydantic_ai-1.0.9 → pydantic_ai-1.0.11}/tests/models/cassettes/test_openai/test_document_as_binary_content_input_with_tool.yaml +0 -0
- {pydantic_ai-1.0.9 → pydantic_ai-1.0.11}/tests/models/cassettes/test_openai/test_document_url_input.yaml +0 -0
- {pydantic_ai-1.0.9 → pydantic_ai-1.0.11}/tests/models/cassettes/test_openai/test_extra_headers.yaml +0 -0
- {pydantic_ai-1.0.9 → pydantic_ai-1.0.11}/tests/models/cassettes/test_openai/test_image_as_binary_content_input.yaml +0 -0
- {pydantic_ai-1.0.9 → pydantic_ai-1.0.11}/tests/models/cassettes/test_openai/test_image_as_binary_content_tool_response.yaml +0 -0
- {pydantic_ai-1.0.9 → pydantic_ai-1.0.11}/tests/models/cassettes/test_openai/test_image_url_tool_response.yaml +0 -0
- {pydantic_ai-1.0.9 → pydantic_ai-1.0.11}/tests/models/cassettes/test_openai/test_invalid_response.yaml +0 -0
- {pydantic_ai-1.0.9 → pydantic_ai-1.0.11}/tests/models/cassettes/test_openai/test_max_completion_tokens[gpt-4.5-preview].yaml +0 -0
- {pydantic_ai-1.0.9 → pydantic_ai-1.0.11}/tests/models/cassettes/test_openai/test_max_completion_tokens[gpt-4o-mini].yaml +0 -0
- {pydantic_ai-1.0.9 → pydantic_ai-1.0.11}/tests/models/cassettes/test_openai/test_max_completion_tokens[o3-mini].yaml +0 -0
- {pydantic_ai-1.0.9 → pydantic_ai-1.0.11}/tests/models/cassettes/test_openai/test_multiple_agent_tool_calls.yaml +0 -0
- {pydantic_ai-1.0.9 → pydantic_ai-1.0.11}/tests/models/cassettes/test_openai/test_openai_audio_url_input.yaml +0 -0
- {pydantic_ai-1.0.9 → pydantic_ai-1.0.11}/tests/models/cassettes/test_openai/test_openai_instructions.yaml +0 -0
- {pydantic_ai-1.0.9 → pydantic_ai-1.0.11}/tests/models/cassettes/test_openai/test_openai_instructions_with_tool_calls_keep_instructions.yaml +0 -0
- {pydantic_ai-1.0.9 → pydantic_ai-1.0.11}/tests/models/cassettes/test_openai/test_openai_model_cerebras_provider.yaml +0 -0
- {pydantic_ai-1.0.9 → pydantic_ai-1.0.11}/tests/models/cassettes/test_openai/test_openai_model_cerebras_provider_harmony.yaml +0 -0
- {pydantic_ai-1.0.9 → pydantic_ai-1.0.11}/tests/models/cassettes/test_openai/test_openai_model_cerebras_provider_qwen_3_coder.yaml +0 -0
- {pydantic_ai-1.0.9 → pydantic_ai-1.0.11}/tests/models/cassettes/test_openai/test_openai_model_settings_temperature_ignored_on_gpt_5.yaml +0 -0
- {pydantic_ai-1.0.9 → pydantic_ai-1.0.11}/tests/models/cassettes/test_openai/test_openai_model_thinking_part.yaml +0 -0
- {pydantic_ai-1.0.9 → pydantic_ai-1.0.11}/tests/models/cassettes/test_openai/test_openai_model_without_system_prompt.yaml +0 -0
- {pydantic_ai-1.0.9 → pydantic_ai-1.0.11}/tests/models/cassettes/test_openai/test_openai_native_output.yaml +0 -0
- {pydantic_ai-1.0.9 → pydantic_ai-1.0.11}/tests/models/cassettes/test_openai/test_openai_native_output_multiple.yaml +0 -0
- {pydantic_ai-1.0.9 → pydantic_ai-1.0.11}/tests/models/cassettes/test_openai/test_openai_o1_mini_system_role[developer].yaml +0 -0
- {pydantic_ai-1.0.9 → pydantic_ai-1.0.11}/tests/models/cassettes/test_openai/test_openai_o1_mini_system_role[system].yaml +0 -0
- {pydantic_ai-1.0.9 → pydantic_ai-1.0.11}/tests/models/cassettes/test_openai/test_openai_prompted_output.yaml +0 -0
- {pydantic_ai-1.0.9 → pydantic_ai-1.0.11}/tests/models/cassettes/test_openai/test_openai_prompted_output_multiple.yaml +0 -0
- {pydantic_ai-1.0.9 → pydantic_ai-1.0.11}/tests/models/cassettes/test_openai/test_openai_text_output_function.yaml +0 -0
- {pydantic_ai-1.0.9 → pydantic_ai-1.0.11}/tests/models/cassettes/test_openai/test_openai_tool_output.yaml +0 -0
- {pydantic_ai-1.0.9 → pydantic_ai-1.0.11}/tests/models/cassettes/test_openai/test_openai_web_search_tool.yaml +0 -0
- {pydantic_ai-1.0.9 → pydantic_ai-1.0.11}/tests/models/cassettes/test_openai/test_openai_web_search_tool_model_not_supported.yaml +0 -0
- {pydantic_ai-1.0.9 → pydantic_ai-1.0.11}/tests/models/cassettes/test_openai/test_openai_web_search_tool_with_user_location.yaml +0 -0
- {pydantic_ai-1.0.9 → pydantic_ai-1.0.11}/tests/models/cassettes/test_openai/test_reasoning_model_with_temperature.yaml +0 -0
- {pydantic_ai-1.0.9 → pydantic_ai-1.0.11}/tests/models/cassettes/test_openai/test_system_prompt_role_o1_mini.yaml +0 -0
- {pydantic_ai-1.0.9 → pydantic_ai-1.0.11}/tests/models/cassettes/test_openai/test_text_response.yaml +0 -0
- {pydantic_ai-1.0.9 → pydantic_ai-1.0.11}/tests/models/cassettes/test_openai/test_user_id.yaml +0 -0
- {pydantic_ai-1.0.9 → pydantic_ai-1.0.11}/tests/models/cassettes/test_openai/test_valid_response.yaml +0 -0
- {pydantic_ai-1.0.9 → pydantic_ai-1.0.11}/tests/models/cassettes/test_openai_responses/test_audio_as_binary_content_input.yaml +0 -0
- {pydantic_ai-1.0.9 → pydantic_ai-1.0.11}/tests/models/cassettes/test_openai_responses/test_image_as_binary_content_input.yaml +0 -0
- {pydantic_ai-1.0.9 → pydantic_ai-1.0.11}/tests/models/cassettes/test_openai_responses/test_image_as_binary_content_tool_response.yaml +0 -0
- {pydantic_ai-1.0.9 → pydantic_ai-1.0.11}/tests/models/cassettes/test_openai_responses/test_native_output.yaml +0 -0
- {pydantic_ai-1.0.9 → pydantic_ai-1.0.11}/tests/models/cassettes/test_openai_responses/test_native_output_multiple.yaml +0 -0
- {pydantic_ai-1.0.9 → pydantic_ai-1.0.11}/tests/models/cassettes/test_openai_responses/test_openai_previous_response_id.yaml +0 -0
- {pydantic_ai-1.0.9 → pydantic_ai-1.0.11}/tests/models/cassettes/test_openai_responses/test_openai_previous_response_id_auto_mode.yaml +0 -0
- {pydantic_ai-1.0.9 → pydantic_ai-1.0.11}/tests/models/cassettes/test_openai_responses/test_openai_responses_code_execution_return_image.yaml +0 -0
- {pydantic_ai-1.0.9 → pydantic_ai-1.0.11}/tests/models/cassettes/test_openai_responses/test_openai_responses_document_as_binary_content_input.yaml +0 -0
- {pydantic_ai-1.0.9 → pydantic_ai-1.0.11}/tests/models/cassettes/test_openai_responses/test_openai_responses_document_url_input.yaml +0 -0
- {pydantic_ai-1.0.9 → pydantic_ai-1.0.11}/tests/models/cassettes/test_openai_responses/test_openai_responses_image_url_input.yaml +0 -0
- {pydantic_ai-1.0.9 → pydantic_ai-1.0.11}/tests/models/cassettes/test_openai_responses/test_openai_responses_model_builtin_tools.yaml +0 -0
- {pydantic_ai-1.0.9 → pydantic_ai-1.0.11}/tests/models/cassettes/test_openai_responses/test_openai_responses_model_builtin_tools_web_search.yaml +0 -0
- {pydantic_ai-1.0.9 → pydantic_ai-1.0.11}/tests/models/cassettes/test_openai_responses/test_openai_responses_model_http_error.yaml +0 -0
- {pydantic_ai-1.0.9 → pydantic_ai-1.0.11}/tests/models/cassettes/test_openai_responses/test_openai_responses_model_instructions.yaml +0 -0
- {pydantic_ai-1.0.9 → pydantic_ai-1.0.11}/tests/models/cassettes/test_openai_responses/test_openai_responses_model_retry.yaml +0 -0
- {pydantic_ai-1.0.9 → pydantic_ai-1.0.11}/tests/models/cassettes/test_openai_responses/test_openai_responses_model_simple_response.yaml +0 -0
- {pydantic_ai-1.0.9 → pydantic_ai-1.0.11}/tests/models/cassettes/test_openai_responses/test_openai_responses_model_simple_response_with_tool_call.yaml +0 -0
- {pydantic_ai-1.0.9 → pydantic_ai-1.0.11}/tests/models/cassettes/test_openai_responses/test_openai_responses_model_thinking_part.yaml +0 -0
- {pydantic_ai-1.0.9 → pydantic_ai-1.0.11}/tests/models/cassettes/test_openai_responses/test_openai_responses_model_web_search_tool.yaml +0 -0
- {pydantic_ai-1.0.9 → pydantic_ai-1.0.11}/tests/models/cassettes/test_openai_responses/test_openai_responses_model_web_search_tool_stream.yaml +0 -0
- {pydantic_ai-1.0.9 → pydantic_ai-1.0.11}/tests/models/cassettes/test_openai_responses/test_openai_responses_model_web_search_tool_with_invalid_region.yaml +0 -0
- {pydantic_ai-1.0.9 → pydantic_ai-1.0.11}/tests/models/cassettes/test_openai_responses/test_openai_responses_model_web_search_tool_with_user_location.yaml +0 -0
- {pydantic_ai-1.0.9 → pydantic_ai-1.0.11}/tests/models/cassettes/test_openai_responses/test_openai_responses_non_reasoning_model_no_item_ids.yaml +0 -0
- {pydantic_ai-1.0.9 → pydantic_ai-1.0.11}/tests/models/cassettes/test_openai_responses/test_openai_responses_output_type.yaml +0 -0
- {pydantic_ai-1.0.9 → pydantic_ai-1.0.11}/tests/models/cassettes/test_openai_responses/test_openai_responses_reasoning_effort.yaml +0 -0
- {pydantic_ai-1.0.9 → pydantic_ai-1.0.11}/tests/models/cassettes/test_openai_responses/test_openai_responses_reasoning_generate_summary.yaml +0 -0
- {pydantic_ai-1.0.9 → pydantic_ai-1.0.11}/tests/models/cassettes/test_openai_responses/test_openai_responses_stream.yaml +0 -0
- {pydantic_ai-1.0.9 → pydantic_ai-1.0.11}/tests/models/cassettes/test_openai_responses/test_openai_responses_streaming_usage.yaml +0 -0
- {pydantic_ai-1.0.9 → pydantic_ai-1.0.11}/tests/models/cassettes/test_openai_responses/test_openai_responses_system_prompt.yaml +0 -0
- {pydantic_ai-1.0.9 → pydantic_ai-1.0.11}/tests/models/cassettes/test_openai_responses/test_openai_responses_text_document_url_input.yaml +0 -0
- {pydantic_ai-1.0.9 → pydantic_ai-1.0.11}/tests/models/cassettes/test_openai_responses/test_openai_responses_thinking_part_from_other_model.yaml +0 -0
- {pydantic_ai-1.0.9 → pydantic_ai-1.0.11}/tests/models/cassettes/test_openai_responses/test_openai_responses_thinking_part_iter.yaml +0 -0
- {pydantic_ai-1.0.9 → pydantic_ai-1.0.11}/tests/models/cassettes/test_openai_responses/test_openai_responses_thinking_with_code_execution_tool.yaml +0 -0
- {pydantic_ai-1.0.9 → pydantic_ai-1.0.11}/tests/models/cassettes/test_openai_responses/test_openai_responses_thinking_with_code_execution_tool_stream.yaml +0 -0
- {pydantic_ai-1.0.9 → pydantic_ai-1.0.11}/tests/models/cassettes/test_openai_responses/test_openai_responses_thinking_with_modified_history.yaml +0 -0
- {pydantic_ai-1.0.9 → pydantic_ai-1.0.11}/tests/models/cassettes/test_openai_responses/test_openai_responses_thinking_with_tool_calls.yaml +0 -0
- {pydantic_ai-1.0.9 → pydantic_ai-1.0.11}/tests/models/cassettes/test_openai_responses/test_openai_responses_verbosity.yaml +0 -0
- {pydantic_ai-1.0.9 → pydantic_ai-1.0.11}/tests/models/cassettes/test_openai_responses/test_prompted_output.yaml +0 -0
- {pydantic_ai-1.0.9 → pydantic_ai-1.0.11}/tests/models/cassettes/test_openai_responses/test_prompted_output_multiple.yaml +0 -0
- {pydantic_ai-1.0.9 → pydantic_ai-1.0.11}/tests/models/cassettes/test_openai_responses/test_reasoning_model_with_temperature.yaml +0 -0
- {pydantic_ai-1.0.9 → pydantic_ai-1.0.11}/tests/models/cassettes/test_openai_responses/test_text_output_function.yaml +0 -0
- {pydantic_ai-1.0.9 → pydantic_ai-1.0.11}/tests/models/cassettes/test_openai_responses/test_tool_output.yaml +0 -0
- {pydantic_ai-1.0.9 → pydantic_ai-1.0.11}/tests/models/mock_async_stream.py +0 -0
- {pydantic_ai-1.0.9 → pydantic_ai-1.0.11}/tests/models/mock_openai.py +0 -0
- {pydantic_ai-1.0.9 → pydantic_ai-1.0.11}/tests/models/test_bedrock.py +0 -0
- {pydantic_ai-1.0.9 → pydantic_ai-1.0.11}/tests/models/test_cohere.py +0 -0
- {pydantic_ai-1.0.9 → pydantic_ai-1.0.11}/tests/models/test_deepseek.py +0 -0
- {pydantic_ai-1.0.9 → pydantic_ai-1.0.11}/tests/models/test_download_item.py +0 -0
- {pydantic_ai-1.0.9 → pydantic_ai-1.0.11}/tests/models/test_fallback.py +0 -0
- {pydantic_ai-1.0.9 → pydantic_ai-1.0.11}/tests/models/test_gemini.py +0 -0
- {pydantic_ai-1.0.9 → pydantic_ai-1.0.11}/tests/models/test_gemini_vertex.py +0 -0
- {pydantic_ai-1.0.9 → pydantic_ai-1.0.11}/tests/models/test_mcp_sampling.py +0 -0
- {pydantic_ai-1.0.9 → pydantic_ai-1.0.11}/tests/models/test_mistral.py +0 -0
- {pydantic_ai-1.0.9 → pydantic_ai-1.0.11}/tests/models/test_model.py +0 -0
- {pydantic_ai-1.0.9 → pydantic_ai-1.0.11}/tests/models/test_model_function.py +0 -0
- {pydantic_ai-1.0.9 → pydantic_ai-1.0.11}/tests/models/test_model_request_parameters.py +0 -0
- {pydantic_ai-1.0.9 → pydantic_ai-1.0.11}/tests/models/test_model_settings.py +0 -0
- {pydantic_ai-1.0.9 → pydantic_ai-1.0.11}/tests/models/test_model_test.py +0 -0
- {pydantic_ai-1.0.9 → pydantic_ai-1.0.11}/tests/parts_from_messages.py +0 -0
- {pydantic_ai-1.0.9 → pydantic_ai-1.0.11}/tests/providers/__init__.py +0 -0
- {pydantic_ai-1.0.9 → pydantic_ai-1.0.11}/tests/providers/cassettes/test_azure/test_azure_provider_call.yaml +0 -0
- {pydantic_ai-1.0.9 → pydantic_ai-1.0.11}/tests/providers/cassettes/test_gateway/test_gateway_provider_with_anthropic.yaml +0 -0
- {pydantic_ai-1.0.9 → pydantic_ai-1.0.11}/tests/providers/cassettes/test_gateway/test_gateway_provider_with_google_vertex.yaml +0 -0
- {pydantic_ai-1.0.9 → pydantic_ai-1.0.11}/tests/providers/cassettes/test_gateway/test_gateway_provider_with_groq.yaml +0 -0
- {pydantic_ai-1.0.9 → pydantic_ai-1.0.11}/tests/providers/cassettes/test_gateway/test_gateway_provider_with_openai.yaml +0 -0
- {pydantic_ai-1.0.9 → pydantic_ai-1.0.11}/tests/providers/cassettes/test_gateway/test_gateway_provider_with_openai_responses.yaml +0 -0
- {pydantic_ai-1.0.9 → pydantic_ai-1.0.11}/tests/providers/cassettes/test_google_vertex/test_vertexai_provider.yaml +0 -0
- {pydantic_ai-1.0.9 → pydantic_ai-1.0.11}/tests/providers/cassettes/test_heroku/test_heroku_model_provider_claude_3_7_sonnet.yaml +0 -0
- {pydantic_ai-1.0.9 → pydantic_ai-1.0.11}/tests/providers/cassettes/test_openrouter/test_openrouter_with_google_model.yaml +0 -0
- {pydantic_ai-1.0.9 → pydantic_ai-1.0.11}/tests/providers/test_anthropic.py +0 -0
- {pydantic_ai-1.0.9 → pydantic_ai-1.0.11}/tests/providers/test_azure.py +0 -0
- {pydantic_ai-1.0.9 → pydantic_ai-1.0.11}/tests/providers/test_bedrock.py +0 -0
- {pydantic_ai-1.0.9 → pydantic_ai-1.0.11}/tests/providers/test_cerebras.py +0 -0
- {pydantic_ai-1.0.9 → pydantic_ai-1.0.11}/tests/providers/test_cohere.py +0 -0
- {pydantic_ai-1.0.9 → pydantic_ai-1.0.11}/tests/providers/test_deepseek.py +0 -0
- {pydantic_ai-1.0.9 → pydantic_ai-1.0.11}/tests/providers/test_fireworks.py +0 -0
- {pydantic_ai-1.0.9 → pydantic_ai-1.0.11}/tests/providers/test_gateway.py +0 -0
- {pydantic_ai-1.0.9 → pydantic_ai-1.0.11}/tests/providers/test_github.py +0 -0
- {pydantic_ai-1.0.9 → pydantic_ai-1.0.11}/tests/providers/test_google_gla.py +0 -0
- {pydantic_ai-1.0.9 → pydantic_ai-1.0.11}/tests/providers/test_google_vertex.py +0 -0
- {pydantic_ai-1.0.9 → pydantic_ai-1.0.11}/tests/providers/test_grok.py +0 -0
- {pydantic_ai-1.0.9 → pydantic_ai-1.0.11}/tests/providers/test_groq.py +0 -0
- {pydantic_ai-1.0.9 → pydantic_ai-1.0.11}/tests/providers/test_heroku.py +0 -0
- {pydantic_ai-1.0.9 → pydantic_ai-1.0.11}/tests/providers/test_huggingface.py +0 -0
- {pydantic_ai-1.0.9 → pydantic_ai-1.0.11}/tests/providers/test_litellm.py +0 -0
- {pydantic_ai-1.0.9 → pydantic_ai-1.0.11}/tests/providers/test_mistral.py +0 -0
- {pydantic_ai-1.0.9 → pydantic_ai-1.0.11}/tests/providers/test_moonshotai.py +0 -0
- {pydantic_ai-1.0.9 → pydantic_ai-1.0.11}/tests/providers/test_openai.py +0 -0
- {pydantic_ai-1.0.9 → pydantic_ai-1.0.11}/tests/providers/test_openrouter.py +0 -0
- {pydantic_ai-1.0.9 → pydantic_ai-1.0.11}/tests/providers/test_provider_names.py +0 -0
- {pydantic_ai-1.0.9 → pydantic_ai-1.0.11}/tests/providers/test_together.py +0 -0
- {pydantic_ai-1.0.9 → pydantic_ai-1.0.11}/tests/providers/test_vercel.py +0 -0
- {pydantic_ai-1.0.9 → pydantic_ai-1.0.11}/tests/test_a2a.py +0 -0
- {pydantic_ai-1.0.9 → pydantic_ai-1.0.11}/tests/test_ag_ui.py +0 -0
- {pydantic_ai-1.0.9 → pydantic_ai-1.0.11}/tests/test_builtin_tools.py +0 -0
- {pydantic_ai-1.0.9 → pydantic_ai-1.0.11}/tests/test_cli.py +0 -0
- {pydantic_ai-1.0.9 → pydantic_ai-1.0.11}/tests/test_deps.py +0 -0
- {pydantic_ai-1.0.9 → pydantic_ai-1.0.11}/tests/test_direct.py +0 -0
- {pydantic_ai-1.0.9 → pydantic_ai-1.0.11}/tests/test_examples.py +0 -0
- {pydantic_ai-1.0.9 → pydantic_ai-1.0.11}/tests/test_json_body_serializer.py +0 -0
- {pydantic_ai-1.0.9 → pydantic_ai-1.0.11}/tests/test_live.py +0 -0
- {pydantic_ai-1.0.9 → pydantic_ai-1.0.11}/tests/test_logfire.py +0 -0
- {pydantic_ai-1.0.9 → pydantic_ai-1.0.11}/tests/test_mcp.py +0 -0
- {pydantic_ai-1.0.9 → pydantic_ai-1.0.11}/tests/test_messages.py +0 -0
- {pydantic_ai-1.0.9 → pydantic_ai-1.0.11}/tests/test_parts_manager.py +0 -0
- {pydantic_ai-1.0.9 → pydantic_ai-1.0.11}/tests/test_settings.py +0 -0
- {pydantic_ai-1.0.9 → pydantic_ai-1.0.11}/tests/test_temporal.py +0 -0
- {pydantic_ai-1.0.9 → pydantic_ai-1.0.11}/tests/test_tenacity.py +0 -0
- {pydantic_ai-1.0.9 → pydantic_ai-1.0.11}/tests/test_thinking_part.py +0 -0
- {pydantic_ai-1.0.9 → pydantic_ai-1.0.11}/tests/test_tools.py +0 -0
- {pydantic_ai-1.0.9 → pydantic_ai-1.0.11}/tests/test_toolsets.py +0 -0
- {pydantic_ai-1.0.9 → pydantic_ai-1.0.11}/tests/test_usage_limits.py +0 -0
- {pydantic_ai-1.0.9 → pydantic_ai-1.0.11}/tests/test_utils.py +0 -0
- {pydantic_ai-1.0.9 → pydantic_ai-1.0.11}/tests/typed_agent.py +0 -0
- {pydantic_ai-1.0.9 → pydantic_ai-1.0.11}/tests/typed_graph.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: pydantic-ai
|
|
3
|
-
Version: 1.0.
|
|
3
|
+
Version: 1.0.11
|
|
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
|
|
@@ -14,7 +14,6 @@ Classifier: Framework :: Pydantic
|
|
|
14
14
|
Classifier: Framework :: Pydantic :: 2
|
|
15
15
|
Classifier: Intended Audience :: Developers
|
|
16
16
|
Classifier: Intended Audience :: Information Technology
|
|
17
|
-
Classifier: License :: OSI Approved :: MIT License
|
|
18
17
|
Classifier: Operating System :: OS Independent
|
|
19
18
|
Classifier: Programming Language :: Python
|
|
20
19
|
Classifier: Programming Language :: Python :: 3
|
|
@@ -27,13 +26,13 @@ Classifier: Topic :: Internet
|
|
|
27
26
|
Classifier: Topic :: Scientific/Engineering :: Artificial Intelligence
|
|
28
27
|
Classifier: Topic :: Software Development :: Libraries :: Python Modules
|
|
29
28
|
Requires-Python: >=3.10
|
|
30
|
-
Requires-Dist: pydantic-ai-slim[ag-ui,anthropic,bedrock,cli,cohere,evals,google,groq,huggingface,logfire,mcp,mistral,openai,retries,temporal,vertexai]==1.0.
|
|
29
|
+
Requires-Dist: pydantic-ai-slim[ag-ui,anthropic,bedrock,cli,cohere,evals,google,groq,huggingface,logfire,mcp,mistral,openai,retries,temporal,vertexai]==1.0.11
|
|
31
30
|
Provides-Extra: a2a
|
|
32
31
|
Requires-Dist: fasta2a>=0.4.1; extra == 'a2a'
|
|
33
32
|
Provides-Extra: dbos
|
|
34
|
-
Requires-Dist: pydantic-ai-slim[dbos]==1.0.
|
|
33
|
+
Requires-Dist: pydantic-ai-slim[dbos]==1.0.11; extra == 'dbos'
|
|
35
34
|
Provides-Extra: examples
|
|
36
|
-
Requires-Dist: pydantic-ai-examples==1.0.
|
|
35
|
+
Requires-Dist: pydantic-ai-examples==1.0.11; extra == 'examples'
|
|
37
36
|
Description-Content-Type: text/markdown
|
|
38
37
|
|
|
39
38
|
<div align="center">
|
|
@@ -95,7 +94,7 @@ Integrates the [Model Context Protocol](https://ai.pydantic.dev/mcp/client), [Ag
|
|
|
95
94
|
Easily lets you flag that certain tool calls [require approval](https://ai.pydantic.dev/deferred-tools#human-in-the-loop-tool-approval) before they can proceed, possibly depending on tool call arguments, conversation history, or user preferences.
|
|
96
95
|
|
|
97
96
|
8. **Durable Execution**:
|
|
98
|
-
Enables you to build [durable agents](https://ai.pydantic.dev/
|
|
97
|
+
Enables you to build [durable agents](https://ai.pydantic.dev/durable_execution/overview/) that can preserve their progress across transient API failures and application errors or restarts, and handle long-running, asynchronous, and human-in-the-loop workflows with production-grade reliability.
|
|
99
98
|
|
|
100
99
|
9. **Streamed Outputs**:
|
|
101
100
|
Provides the ability to [stream](https://ai.pydantic.dev/output#streamed-results) structured output continuously, with immediate validation, ensuring real time access to generated data.
|
|
@@ -57,7 +57,7 @@ Integrates the [Model Context Protocol](https://ai.pydantic.dev/mcp/client), [Ag
|
|
|
57
57
|
Easily lets you flag that certain tool calls [require approval](https://ai.pydantic.dev/deferred-tools#human-in-the-loop-tool-approval) before they can proceed, possibly depending on tool call arguments, conversation history, or user preferences.
|
|
58
58
|
|
|
59
59
|
8. **Durable Execution**:
|
|
60
|
-
Enables you to build [durable agents](https://ai.pydantic.dev/
|
|
60
|
+
Enables you to build [durable agents](https://ai.pydantic.dev/durable_execution/overview/) that can preserve their progress across transient API failures and application errors or restarts, and handle long-running, asynchronous, and human-in-the-loop workflows with production-grade reliability.
|
|
61
61
|
|
|
62
62
|
9. **Streamed Outputs**:
|
|
63
63
|
Provides the ability to [stream](https://ai.pydantic.dev/output#streamed-results) structured output continuously, with immediate validation, ensuring real time access to generated data.
|
|
@@ -22,6 +22,7 @@ authors = [
|
|
|
22
22
|
{ name = "Douwe Maan", email = "douwe@pydantic.dev" },
|
|
23
23
|
]
|
|
24
24
|
license = "MIT"
|
|
25
|
+
license-files = ["LICENSE"]
|
|
25
26
|
readme = "README.md"
|
|
26
27
|
classifiers = [
|
|
27
28
|
"Development Status :: 5 - Production/Stable",
|
|
@@ -34,7 +35,6 @@ classifiers = [
|
|
|
34
35
|
"Programming Language :: Python :: 3.13",
|
|
35
36
|
"Intended Audience :: Developers",
|
|
36
37
|
"Intended Audience :: Information Technology",
|
|
37
|
-
"License :: OSI Approved :: MIT License",
|
|
38
38
|
"Operating System :: OS Independent",
|
|
39
39
|
"Topic :: Internet",
|
|
40
40
|
"Topic :: Scientific/Engineering :: Artificial Intelligence",
|
|
@@ -102,7 +102,7 @@ dev = [
|
|
|
102
102
|
"pytest-xdist>=3.6.1",
|
|
103
103
|
# Needed for PyCharm users
|
|
104
104
|
"pip>=25.2",
|
|
105
|
-
"genai-prices>=0.0.
|
|
105
|
+
"genai-prices>=0.0.28",
|
|
106
106
|
"mcp-run-python>=0.0.20",
|
|
107
107
|
]
|
|
108
108
|
lint = ["mypy>=1.11.2", "pyright>=1.1.390", "ruff>=0.6.9"]
|
|
@@ -0,0 +1,74 @@
|
|
|
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
|
+
- '471'
|
|
12
|
+
content-type:
|
|
13
|
+
- application/json
|
|
14
|
+
host:
|
|
15
|
+
- api.anthropic.com
|
|
16
|
+
method: POST
|
|
17
|
+
parsed_body:
|
|
18
|
+
max_tokens: 4096
|
|
19
|
+
messages:
|
|
20
|
+
- content:
|
|
21
|
+
- text: What is 3 + 3?
|
|
22
|
+
type: text
|
|
23
|
+
role: user
|
|
24
|
+
model: claude-sonnet-4-0
|
|
25
|
+
stream: false
|
|
26
|
+
system: |-
|
|
27
|
+
Always respond with a JSON object that's compatible with this schema:
|
|
28
|
+
|
|
29
|
+
{"properties": {"response": {"type": "integer"}}, "required": ["response"], "type": "object", "title": "int"}
|
|
30
|
+
|
|
31
|
+
Don't include any text or Markdown fencing before or after.
|
|
32
|
+
thinking:
|
|
33
|
+
budget_tokens: 3000
|
|
34
|
+
type: enabled
|
|
35
|
+
uri: https://api.anthropic.com/v1/messages?beta=true
|
|
36
|
+
response:
|
|
37
|
+
headers:
|
|
38
|
+
connection:
|
|
39
|
+
- keep-alive
|
|
40
|
+
content-length:
|
|
41
|
+
- '1032'
|
|
42
|
+
content-type:
|
|
43
|
+
- application/json
|
|
44
|
+
strict-transport-security:
|
|
45
|
+
- max-age=31536000; includeSubDomains; preload
|
|
46
|
+
transfer-encoding:
|
|
47
|
+
- chunked
|
|
48
|
+
parsed_body:
|
|
49
|
+
content:
|
|
50
|
+
- signature: ErQCCkYICBgCKkDId3yuTWB+RmnrHX1N/m+Q+uvt6TTyU6tRWGzFYK1UmQo+lkK5PFjgRvLK6eXA/q8sbVIC6mO3/1eq5aTkSX7+EgzYnRzfZdWJZ1X+410aDC5zyOhlAbOmBiBUmiIwPC3/mI3lVg3woo5Q2jwuZ/u+Pl8LMzrFxG0YbK2F5YDVuCjhrJsOq5e1V36GWJjqKpsBsKiPfPZQ6wizN25g64pwJb+Wjm55hDeGpK8xJeVFuren6PNKKkruBtlK1PIVpjSXBGkdTJCC69xlhwaXF20zah/A8HDm/2QEqid8Gz8+7zu+b7OGa22WdW0uZEwQgJtydTscZFqWzyAm8CZtsCh8STbRNPggOaCNg9vX5ipu2D+jXnAaL6MIOOQ3FUO+CdljS0mvfoyeCabS8TUYAQ==
|
|
51
|
+
thinking: The user is asking for 3 + 3, which equals 6. I need to respond with a JSON object that has a "response"
|
|
52
|
+
field containing an integer value.
|
|
53
|
+
type: thinking
|
|
54
|
+
- text: '{"response": 6}'
|
|
55
|
+
type: text
|
|
56
|
+
id: msg_01Fo4JKsQzJMTQBgLSAeCJDG
|
|
57
|
+
model: claude-sonnet-4-20250514
|
|
58
|
+
role: assistant
|
|
59
|
+
stop_reason: end_turn
|
|
60
|
+
stop_sequence: null
|
|
61
|
+
type: message
|
|
62
|
+
usage:
|
|
63
|
+
cache_creation:
|
|
64
|
+
ephemeral_1h_input_tokens: 0
|
|
65
|
+
ephemeral_5m_input_tokens: 0
|
|
66
|
+
cache_creation_input_tokens: 0
|
|
67
|
+
cache_read_input_tokens: 0
|
|
68
|
+
input_tokens: 105
|
|
69
|
+
output_tokens: 55
|
|
70
|
+
service_tier: standard
|
|
71
|
+
status:
|
|
72
|
+
code: 200
|
|
73
|
+
message: OK
|
|
74
|
+
version: 1
|
|
@@ -251,12 +251,10 @@ interactions:
|
|
|
251
251
|
headers:
|
|
252
252
|
accept-ranges:
|
|
253
253
|
- bytes
|
|
254
|
-
age:
|
|
255
|
-
- '264068'
|
|
256
254
|
alt-svc:
|
|
257
255
|
- h3=":443"; ma=86400
|
|
258
256
|
cache-control:
|
|
259
|
-
-
|
|
257
|
+
- max-age=21600
|
|
260
258
|
connection:
|
|
261
259
|
- keep-alive
|
|
262
260
|
content-length:
|
|
@@ -268,7 +266,7 @@ interactions:
|
|
|
268
266
|
etag:
|
|
269
267
|
- '"33d0-438b181451e00"'
|
|
270
268
|
expires:
|
|
271
|
-
-
|
|
269
|
+
- Fri, 19 Sep 2025 22:42:26 GMT
|
|
272
270
|
last-modified:
|
|
273
271
|
- Mon, 27 Aug 2007 17:15:36 GMT
|
|
274
272
|
strict-transport-security:
|
|
@@ -312,11 +310,11 @@ interactions:
|
|
|
312
310
|
alt-svc:
|
|
313
311
|
- h3=":443"; ma=2592000,h3-29=":443"; ma=2592000
|
|
314
312
|
content-length:
|
|
315
|
-
- '
|
|
313
|
+
- '772'
|
|
316
314
|
content-type:
|
|
317
315
|
- application/json; charset=UTF-8
|
|
318
316
|
server-timing:
|
|
319
|
-
- gfet4t7; dur=
|
|
317
|
+
- gfet4t7; dur=1306
|
|
320
318
|
transfer-encoding:
|
|
321
319
|
- chunked
|
|
322
320
|
vary:
|
|
@@ -325,27 +323,27 @@ interactions:
|
|
|
325
323
|
- Referer
|
|
326
324
|
parsed_body:
|
|
327
325
|
candidates:
|
|
328
|
-
- avgLogprobs: -0.
|
|
326
|
+
- avgLogprobs: -0.2349079738963734
|
|
329
327
|
content:
|
|
330
328
|
parts:
|
|
331
329
|
- text: |
|
|
332
|
-
The document appears to be a
|
|
330
|
+
The document appears to be a dummy PDF file.
|
|
333
331
|
role: model
|
|
334
332
|
finishReason: STOP
|
|
335
333
|
modelVersion: gemini-2.0-flash
|
|
336
|
-
responseId:
|
|
334
|
+
responseId: 8ofNaO_lJsO1qtsP0OzFsQQ
|
|
337
335
|
usageMetadata:
|
|
338
|
-
candidatesTokenCount:
|
|
336
|
+
candidatesTokenCount: 11
|
|
339
337
|
candidatesTokensDetails:
|
|
340
338
|
- modality: TEXT
|
|
341
|
-
tokenCount:
|
|
339
|
+
tokenCount: 11
|
|
342
340
|
promptTokenCount: 1305
|
|
343
341
|
promptTokensDetails:
|
|
344
|
-
- modality: TEXT
|
|
345
|
-
tokenCount: 15
|
|
346
342
|
- modality: DOCUMENT
|
|
347
343
|
tokenCount: 1290
|
|
348
|
-
|
|
344
|
+
- modality: TEXT
|
|
345
|
+
tokenCount: 15
|
|
346
|
+
totalTokenCount: 1316
|
|
349
347
|
status:
|
|
350
348
|
code: 200
|
|
351
349
|
message: OK
|
|
@@ -33,11 +33,11 @@ interactions:
|
|
|
33
33
|
alt-svc:
|
|
34
34
|
- h3=":443"; ma=2592000,h3-29=":443"; ma=2592000
|
|
35
35
|
content-length:
|
|
36
|
-
- '
|
|
36
|
+
- '754'
|
|
37
37
|
content-type:
|
|
38
38
|
- application/json; charset=UTF-8
|
|
39
39
|
server-timing:
|
|
40
|
-
- gfet4t7; dur=
|
|
40
|
+
- gfet4t7; dur=1900
|
|
41
41
|
transfer-encoding:
|
|
42
42
|
- chunked
|
|
43
43
|
vary:
|
|
@@ -46,14 +46,14 @@ interactions:
|
|
|
46
46
|
- Referer
|
|
47
47
|
parsed_body:
|
|
48
48
|
candidates:
|
|
49
|
-
- avgLogprobs: -0.
|
|
49
|
+
- avgLogprobs: -0.00857612325085534
|
|
50
50
|
content:
|
|
51
51
|
parts:
|
|
52
52
|
- text: The fruit in the image is a kiwi.
|
|
53
53
|
role: model
|
|
54
54
|
finishReason: STOP
|
|
55
55
|
modelVersion: gemini-2.0-flash
|
|
56
|
-
responseId:
|
|
56
|
+
responseId: 4YfNaLXqOsKVmtkPqqehuAQ
|
|
57
57
|
usageMetadata:
|
|
58
58
|
candidatesTokenCount: 9
|
|
59
59
|
candidatesTokensDetails:
|
|
@@ -61,10 +61,10 @@ interactions:
|
|
|
61
61
|
tokenCount: 9
|
|
62
62
|
promptTokenCount: 3367
|
|
63
63
|
promptTokensDetails:
|
|
64
|
-
- modality: TEXT
|
|
65
|
-
tokenCount: 13
|
|
66
64
|
- modality: IMAGE
|
|
67
65
|
tokenCount: 3354
|
|
66
|
+
- modality: TEXT
|
|
67
|
+
tokenCount: 13
|
|
68
68
|
totalTokenCount: 3376
|
|
69
69
|
status:
|
|
70
70
|
code: 200
|
|
@@ -580,7 +580,7 @@ interactions:
|
|
|
580
580
|
access-control-allow-origin:
|
|
581
581
|
- '*'
|
|
582
582
|
age:
|
|
583
|
-
- '
|
|
583
|
+
- '1500997'
|
|
584
584
|
cache-control:
|
|
585
585
|
- public, max-age=31536000
|
|
586
586
|
connection:
|
|
@@ -632,11 +632,11 @@ interactions:
|
|
|
632
632
|
alt-svc:
|
|
633
633
|
- h3=":443"; ma=2592000,h3-29=":443"; ma=2592000
|
|
634
634
|
content-length:
|
|
635
|
-
- '
|
|
635
|
+
- '738'
|
|
636
636
|
content-type:
|
|
637
637
|
- application/json; charset=UTF-8
|
|
638
638
|
server-timing:
|
|
639
|
-
- gfet4t7; dur=
|
|
639
|
+
- gfet4t7; dur=867
|
|
640
640
|
transfer-encoding:
|
|
641
641
|
- chunked
|
|
642
642
|
vary:
|
|
@@ -645,27 +645,26 @@ interactions:
|
|
|
645
645
|
- Referer
|
|
646
646
|
parsed_body:
|
|
647
647
|
candidates:
|
|
648
|
-
- avgLogprobs: -0.
|
|
648
|
+
- avgLogprobs: -0.18855420351028443
|
|
649
649
|
content:
|
|
650
650
|
parts:
|
|
651
|
-
- text:
|
|
652
|
-
That is a potato.
|
|
651
|
+
- text: That is a potato.
|
|
653
652
|
role: model
|
|
654
653
|
finishReason: STOP
|
|
655
654
|
modelVersion: gemini-2.0-flash
|
|
656
|
-
responseId:
|
|
655
|
+
responseId: 64fNaIPHJNulqtsPx8OZsQQ
|
|
657
656
|
usageMetadata:
|
|
658
|
-
candidatesTokenCount:
|
|
657
|
+
candidatesTokenCount: 5
|
|
659
658
|
candidatesTokensDetails:
|
|
660
659
|
- modality: TEXT
|
|
661
|
-
tokenCount:
|
|
660
|
+
tokenCount: 5
|
|
662
661
|
promptTokenCount: 1817
|
|
663
662
|
promptTokensDetails:
|
|
664
663
|
- modality: TEXT
|
|
665
664
|
tokenCount: 11
|
|
666
665
|
- modality: IMAGE
|
|
667
666
|
tokenCount: 1806
|
|
668
|
-
totalTokenCount:
|
|
667
|
+
totalTokenCount: 1822
|
|
669
668
|
status:
|
|
670
669
|
code: 200
|
|
671
670
|
message: OK
|
|
@@ -33,11 +33,11 @@ interactions:
|
|
|
33
33
|
alt-svc:
|
|
34
34
|
- h3=":443"; ma=2592000,h3-29=":443"; ma=2592000
|
|
35
35
|
content-length:
|
|
36
|
-
- '
|
|
36
|
+
- '710'
|
|
37
37
|
content-type:
|
|
38
38
|
- application/json; charset=UTF-8
|
|
39
39
|
server-timing:
|
|
40
|
-
- gfet4t7; dur=
|
|
40
|
+
- gfet4t7; dur=571
|
|
41
41
|
transfer-encoding:
|
|
42
42
|
- chunked
|
|
43
43
|
vary:
|
|
@@ -46,7 +46,7 @@ interactions:
|
|
|
46
46
|
- Referer
|
|
47
47
|
parsed_body:
|
|
48
48
|
candidates:
|
|
49
|
-
- avgLogprobs: -0.
|
|
49
|
+
- avgLogprobs: -0.2041482448577881
|
|
50
50
|
content:
|
|
51
51
|
parts:
|
|
52
52
|
- text: |
|
|
@@ -54,7 +54,7 @@ interactions:
|
|
|
54
54
|
role: model
|
|
55
55
|
finishReason: STOP
|
|
56
56
|
modelVersion: gemini-2.0-flash
|
|
57
|
-
responseId:
|
|
57
|
+
responseId: 9ofNaNqNKNWDmtkPs-nsqAU
|
|
58
58
|
usageMetadata:
|
|
59
59
|
candidatesTokenCount: 15
|
|
60
60
|
candidatesTokensDetails:
|
|
@@ -49,9 +49,11 @@ interactions:
|
|
|
49
49
|
etag:
|
|
50
50
|
- W/"61efea10-a0e"
|
|
51
51
|
expires:
|
|
52
|
-
- Fri,
|
|
52
|
+
- Fri, 26 Sep 2025 16:42:28 GMT
|
|
53
53
|
last-modified:
|
|
54
54
|
- Tue, 25 Jan 2022 12:16:16 GMT
|
|
55
|
+
strict-transport-security:
|
|
56
|
+
- max-age=15552000; includeSubDomains
|
|
55
57
|
transfer-encoding:
|
|
56
58
|
- chunked
|
|
57
59
|
vary:
|
|
@@ -93,11 +95,11 @@ interactions:
|
|
|
93
95
|
alt-svc:
|
|
94
96
|
- h3=":443"; ma=2592000,h3-29=":443"; ma=2592000
|
|
95
97
|
content-length:
|
|
96
|
-
- '
|
|
98
|
+
- '985'
|
|
97
99
|
content-type:
|
|
98
100
|
- application/json; charset=UTF-8
|
|
99
101
|
server-timing:
|
|
100
|
-
- gfet4t7; dur=
|
|
102
|
+
- gfet4t7; dur=888
|
|
101
103
|
transfer-encoding:
|
|
102
104
|
- chunked
|
|
103
105
|
vary:
|
|
@@ -106,25 +108,25 @@ interactions:
|
|
|
106
108
|
- Referer
|
|
107
109
|
parsed_body:
|
|
108
110
|
candidates:
|
|
109
|
-
- avgLogprobs: -0.
|
|
111
|
+
- avgLogprobs: -0.5004191543116714
|
|
110
112
|
content:
|
|
111
113
|
parts:
|
|
112
114
|
- text: |
|
|
113
|
-
The main content of the
|
|
115
|
+
The main content of the TXT file is an explanation of the placeholder name "John Doe" (and related variations) and its usage in legal contexts, popular culture, and other situations where the identity of a person is unknown or needs to be withheld. The document also includes the purpose of the file and other file type information.
|
|
114
116
|
role: model
|
|
115
117
|
finishReason: STOP
|
|
116
118
|
modelVersion: gemini-2.0-flash
|
|
117
|
-
responseId:
|
|
119
|
+
responseId: 9YfNaLGGDuOmqtsPoLXu4AQ
|
|
118
120
|
usageMetadata:
|
|
119
|
-
candidatesTokenCount:
|
|
121
|
+
candidatesTokenCount: 66
|
|
120
122
|
candidatesTokensDetails:
|
|
121
123
|
- modality: TEXT
|
|
122
|
-
tokenCount:
|
|
124
|
+
tokenCount: 66
|
|
123
125
|
promptTokenCount: 614
|
|
124
126
|
promptTokensDetails:
|
|
125
127
|
- modality: TEXT
|
|
126
128
|
tokenCount: 614
|
|
127
|
-
totalTokenCount:
|
|
129
|
+
totalTokenCount: 680
|
|
128
130
|
status:
|
|
129
131
|
code: 200
|
|
130
132
|
message: OK
|
|
@@ -33,11 +33,11 @@ interactions:
|
|
|
33
33
|
alt-svc:
|
|
34
34
|
- h3=":443"; ma=2592000,h3-29=":443"; ma=2592000
|
|
35
35
|
content-length:
|
|
36
|
-
- '
|
|
36
|
+
- '1525'
|
|
37
37
|
content-type:
|
|
38
38
|
- application/json; charset=UTF-8
|
|
39
39
|
server-timing:
|
|
40
|
-
- gfet4t7; dur=
|
|
40
|
+
- gfet4t7; dur=2522
|
|
41
41
|
transfer-encoding:
|
|
42
42
|
- chunked
|
|
43
43
|
vary:
|
|
@@ -46,31 +46,33 @@ interactions:
|
|
|
46
46
|
- Referer
|
|
47
47
|
parsed_body:
|
|
48
48
|
candidates:
|
|
49
|
-
- avgLogprobs: -0.
|
|
49
|
+
- avgLogprobs: -0.7307238166714892
|
|
50
50
|
content:
|
|
51
51
|
parts:
|
|
52
|
-
- text:
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
52
|
+
- text: "Okay! It looks like the image shows a camera monitor, likely used for professional or semi-professional
|
|
53
|
+
video recording. \n\nHere's what I can gather from the image:\n\n* **Camera Monitor:** The central element
|
|
54
|
+
is a small screen attached to a camera rig (tripod and probably camera body). These monitors are used to provide
|
|
55
|
+
a larger, clearer view of what the camera is recording, aiding in focus, composition, and exposure adjustments.\n*
|
|
56
|
+
\ **Scene on Monitor:** The screen shows an image of what appears to be a rocky mountain path or canyon with
|
|
57
|
+
a snow capped mountain in the distance.\n* **Background:** The background is blurred, likely the same scene
|
|
58
|
+
as on the camera monitor.\n\nLet me know if you want me to focus on any specific aspect or detail!"
|
|
58
59
|
role: model
|
|
59
60
|
finishReason: STOP
|
|
60
61
|
modelVersion: gemini-2.0-flash
|
|
61
|
-
responseId:
|
|
62
|
+
responseId: 5YfNaKulJaGtmtkPz5eQwAQ
|
|
62
63
|
usageMetadata:
|
|
63
|
-
candidatesTokenCount:
|
|
64
|
+
candidatesTokenCount: 162
|
|
64
65
|
candidatesTokensDetails:
|
|
65
66
|
- modality: TEXT
|
|
66
|
-
tokenCount:
|
|
67
|
-
promptTokenCount:
|
|
67
|
+
tokenCount: 162
|
|
68
|
+
promptTokenCount: 268
|
|
68
69
|
promptTokensDetails:
|
|
69
|
-
- modality:
|
|
70
|
-
tokenCount: 260
|
|
70
|
+
- modality: AUDIO
|
|
71
71
|
- modality: TEXT
|
|
72
72
|
tokenCount: 10
|
|
73
|
-
|
|
73
|
+
- modality: VIDEO
|
|
74
|
+
tokenCount: 258
|
|
75
|
+
totalTokenCount: 430
|
|
74
76
|
status:
|
|
75
77
|
code: 200
|
|
76
78
|
message: OK
|
|
@@ -27,23 +27,24 @@ interactions:
|
|
|
27
27
|
gist.github.com/assets-cdn/worker/; connect-src ''self'' uploads.github.com www.githubstatus.com collector.github.com
|
|
28
28
|
raw.githubusercontent.com api.github.com github-cloud.s3.amazonaws.com github-production-repository-file-5c1aeb.s3.amazonaws.com
|
|
29
29
|
github-production-upload-manifest-file-7fdce7.s3.amazonaws.com github-production-user-asset-6210df.s3.amazonaws.com
|
|
30
|
-
*.rel.tunnels.api.visualstudio.com wss://*.rel.tunnels.api.visualstudio.com
|
|
31
|
-
proxy.individual.githubcopilot.com proxy.business.githubcopilot.com proxy.enterprise.githubcopilot.com
|
|
32
|
-
wss://*.actions.githubusercontent.com productionresultssa0.blob.core.windows.net/
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
github-production-repository-image-32fea6.s3.amazonaws.com github-production-release-asset-2e65be.s3.amazonaws.com
|
|
40
|
-
insights.github.com wss://alive.github.com
|
|
41
|
-
api.enterprise.githubcopilot.com; font-src github.githubassets.com; form-action ''self''
|
|
42
|
-
copilot-workspace.githubnext.com objects-origin.githubusercontent.com; frame-ancestors
|
|
43
|
-
notebooks.githubusercontent.com; img-src ''self'' data: blob:
|
|
44
|
-
|
|
45
|
-
github-cloud.s3.amazonaws.com objects.githubusercontent.com release-assets.githubusercontent.com
|
|
46
|
-
user-images.githubusercontent.com/
|
|
30
|
+
*.rel.tunnels.api.visualstudio.com wss://*.rel.tunnels.api.visualstudio.com github.githubassets.com objects-origin.githubusercontent.com
|
|
31
|
+
copilot-proxy.githubusercontent.com proxy.individual.githubcopilot.com proxy.business.githubcopilot.com proxy.enterprise.githubcopilot.com
|
|
32
|
+
*.actions.githubusercontent.com wss://*.actions.githubusercontent.com productionresultssa0.blob.core.windows.net/
|
|
33
|
+
productionresultssa1.blob.core.windows.net/ productionresultssa2.blob.core.windows.net/ productionresultssa3.blob.core.windows.net/
|
|
34
|
+
productionresultssa4.blob.core.windows.net/ productionresultssa5.blob.core.windows.net/ productionresultssa6.blob.core.windows.net/
|
|
35
|
+
productionresultssa7.blob.core.windows.net/ productionresultssa8.blob.core.windows.net/ productionresultssa9.blob.core.windows.net/
|
|
36
|
+
productionresultssa10.blob.core.windows.net/ productionresultssa11.blob.core.windows.net/ productionresultssa12.blob.core.windows.net/
|
|
37
|
+
productionresultssa13.blob.core.windows.net/ productionresultssa14.blob.core.windows.net/ productionresultssa15.blob.core.windows.net/
|
|
38
|
+
productionresultssa16.blob.core.windows.net/ productionresultssa17.blob.core.windows.net/ productionresultssa18.blob.core.windows.net/
|
|
39
|
+
productionresultssa19.blob.core.windows.net/ github-production-repository-image-32fea6.s3.amazonaws.com github-production-release-asset-2e65be.s3.amazonaws.com
|
|
40
|
+
insights.github.com wss://alive.github.com wss://alive-staging.github.com api.githubcopilot.com api.individual.githubcopilot.com
|
|
41
|
+
api.business.githubcopilot.com api.enterprise.githubcopilot.com; font-src github.githubassets.com; form-action ''self''
|
|
42
|
+
github.com gist.github.com copilot-workspace.githubnext.com objects-origin.githubusercontent.com; frame-ancestors
|
|
43
|
+
''none''; frame-src viewscreen.githubusercontent.com notebooks.githubusercontent.com; img-src ''self'' data: blob:
|
|
44
|
+
github.githubassets.com media.githubusercontent.com camo.githubusercontent.com identicons.github.com avatars.githubusercontent.com
|
|
45
|
+
private-avatars.githubusercontent.com github-cloud.s3.amazonaws.com objects.githubusercontent.com release-assets.githubusercontent.com
|
|
46
|
+
secured-user-images.githubusercontent.com/ user-images.githubusercontent.com/ private-user-images.githubusercontent.com
|
|
47
|
+
opengraph.githubassets.com marketplace-screenshots.githubusercontent.com/ copilotprodattachments.blob.core.windows.net/github-production-copilot-attachments/
|
|
47
48
|
github-production-user-asset-6210df.s3.amazonaws.com customer-stories-feed.github.com spotlights-feed.github.com objects-origin.githubusercontent.com
|
|
48
49
|
*.githubusercontent.com; manifest-src ''self''; media-src github.com user-images.githubusercontent.com/ secured-user-images.githubusercontent.com/
|
|
49
50
|
private-user-images.githubusercontent.com github-production-user-asset-6210df.s3.amazonaws.com gist.github.com; script-src
|
|
@@ -11091,7 +11092,7 @@ interactions:
|
|
|
11091
11092
|
etag:
|
|
11092
11093
|
- W/"0e8fc2491b5d905053d769cebf41efa65670fdce574bc3d0a132431e025608d7"
|
|
11093
11094
|
expires:
|
|
11094
|
-
- Fri,
|
|
11095
|
+
- Fri, 19 Sep 2025 16:47:21 GMT
|
|
11095
11096
|
source-age:
|
|
11096
11097
|
- '0'
|
|
11097
11098
|
strict-transport-security:
|
|
@@ -11135,11 +11136,11 @@ interactions:
|
|
|
11135
11136
|
alt-svc:
|
|
11136
11137
|
- h3=":443"; ma=2592000,h3-29=":443"; ma=2592000
|
|
11137
11138
|
content-length:
|
|
11138
|
-
- '
|
|
11139
|
+
- '1381'
|
|
11139
11140
|
content-type:
|
|
11140
11141
|
- application/json; charset=UTF-8
|
|
11141
11142
|
server-timing:
|
|
11142
|
-
- gfet4t7; dur=
|
|
11143
|
+
- gfet4t7; dur=2356
|
|
11143
11144
|
transfer-encoding:
|
|
11144
11145
|
- chunked
|
|
11145
11146
|
vary:
|
|
@@ -11148,33 +11149,32 @@ interactions:
|
|
|
11148
11149
|
- Referer
|
|
11149
11150
|
parsed_body:
|
|
11150
11151
|
candidates:
|
|
11151
|
-
- avgLogprobs: -0.
|
|
11152
|
+
- avgLogprobs: -0.8202069508943627
|
|
11152
11153
|
content:
|
|
11153
11154
|
parts:
|
|
11154
|
-
- text:
|
|
11155
|
-
|
|
11156
|
-
|
|
11157
|
-
* **
|
|
11158
|
-
|
|
11159
|
-
|
|
11160
|
-
|
|
11161
|
-
If you'd like a more detailed explanation, please provide additional information about the video.
|
|
11155
|
+
- text: "Certainly! Based on the image you sent, it appears to be a setup for filming or photography. \n\nHere's
|
|
11156
|
+
what I can observe:\n\n* **Camera Monitor:** There is a monitor mounted on a tripod, displaying a shot of
|
|
11157
|
+
a canyon or mountain landscape.\n* **Camera/Recording Device:** Below the monitor, there is a camera or some
|
|
11158
|
+
other kind of recording device.\n* **Landscape Backdrop:** In the background, there is a similar-looking landscape
|
|
11159
|
+
to what's being displayed on the screen.\n\nIn summary, it looks like the image shows a camera setup, perhaps
|
|
11160
|
+
in the process of filming, with a monitor to review the footage."
|
|
11162
11161
|
role: model
|
|
11163
11162
|
finishReason: STOP
|
|
11164
11163
|
modelVersion: gemini-2.0-flash
|
|
11165
|
-
responseId:
|
|
11164
|
+
responseId: 7ofNaJWHAbCtmtkPkoSwwQU
|
|
11166
11165
|
usageMetadata:
|
|
11167
|
-
candidatesTokenCount:
|
|
11166
|
+
candidatesTokenCount: 139
|
|
11168
11167
|
candidatesTokensDetails:
|
|
11169
11168
|
- modality: TEXT
|
|
11170
|
-
tokenCount:
|
|
11171
|
-
promptTokenCount:
|
|
11169
|
+
tokenCount: 139
|
|
11170
|
+
promptTokenCount: 268
|
|
11172
11171
|
promptTokensDetails:
|
|
11172
|
+
- modality: VIDEO
|
|
11173
|
+
tokenCount: 258
|
|
11173
11174
|
- modality: TEXT
|
|
11174
11175
|
tokenCount: 10
|
|
11175
|
-
- modality:
|
|
11176
|
-
|
|
11177
|
-
totalTokenCount: 351
|
|
11176
|
+
- modality: AUDIO
|
|
11177
|
+
totalTokenCount: 407
|
|
11178
11178
|
status:
|
|
11179
11179
|
code: 200
|
|
11180
11180
|
message: OK
|
|
@@ -2,6 +2,7 @@ from __future__ import annotations as _annotations
|
|
|
2
2
|
|
|
3
3
|
import json
|
|
4
4
|
import os
|
|
5
|
+
import re
|
|
5
6
|
from collections.abc import Callable, Sequence
|
|
6
7
|
from dataclasses import dataclass, field
|
|
7
8
|
from datetime import timezone
|
|
@@ -4182,6 +4183,29 @@ async def test_anthropic_native_output(allow_model_requests: None, anthropic_api
|
|
|
4182
4183
|
await agent.run('What is the largest city in the user country?')
|
|
4183
4184
|
|
|
4184
4185
|
|
|
4186
|
+
async def test_anthropic_output_tool_with_thinking(allow_model_requests: None, anthropic_api_key: str):
|
|
4187
|
+
m = AnthropicModel(
|
|
4188
|
+
'claude-sonnet-4-0',
|
|
4189
|
+
provider=AnthropicProvider(api_key=anthropic_api_key),
|
|
4190
|
+
settings=AnthropicModelSettings(anthropic_thinking={'type': 'enabled', 'budget_tokens': 3000}),
|
|
4191
|
+
)
|
|
4192
|
+
|
|
4193
|
+
agent = Agent(m, output_type=int)
|
|
4194
|
+
|
|
4195
|
+
with pytest.raises(
|
|
4196
|
+
UserError,
|
|
4197
|
+
match=re.escape(
|
|
4198
|
+
'Anthropic does not support thinking and output tools at the same time. Use `output_type=PromptedOutput(...)` instead.'
|
|
4199
|
+
),
|
|
4200
|
+
):
|
|
4201
|
+
await agent.run('What is 3 + 3?')
|
|
4202
|
+
|
|
4203
|
+
agent = Agent(m, output_type=PromptedOutput(int))
|
|
4204
|
+
|
|
4205
|
+
result = await agent.run('What is 3 + 3?')
|
|
4206
|
+
assert result.output == snapshot(6)
|
|
4207
|
+
|
|
4208
|
+
|
|
4185
4209
|
async def test_anthropic_tool_with_thinking(allow_model_requests: None, anthropic_api_key: str):
|
|
4186
4210
|
"""When using thinking with tool calls in Anthropic, we need to send the thinking part back to the provider.
|
|
4187
4211
|
|