pydantic-ai 0.3.0__tar.gz → 0.3.1__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of pydantic-ai might be problematic. Click here for more details.
- {pydantic_ai-0.3.0 → pydantic_ai-0.3.1}/PKG-INFO +3 -3
- pydantic_ai-0.3.1/tests/test_thinking_part.py +69 -0
- pydantic_ai-0.3.0/tests/test_thinking_part.py +0 -28
- {pydantic_ai-0.3.0 → pydantic_ai-0.3.1}/.gitignore +0 -0
- {pydantic_ai-0.3.0 → pydantic_ai-0.3.1}/LICENSE +0 -0
- {pydantic_ai-0.3.0 → pydantic_ai-0.3.1}/Makefile +0 -0
- {pydantic_ai-0.3.0 → pydantic_ai-0.3.1}/README.md +0 -0
- {pydantic_ai-0.3.0 → pydantic_ai-0.3.1}/pyproject.toml +0 -0
- {pydantic_ai-0.3.0 → pydantic_ai-0.3.1}/tests/__init__.py +0 -0
- {pydantic_ai-0.3.0 → pydantic_ai-0.3.1}/tests/assets/dummy.pdf +0 -0
- {pydantic_ai-0.3.0 → pydantic_ai-0.3.1}/tests/assets/kiwi.png +0 -0
- {pydantic_ai-0.3.0 → pydantic_ai-0.3.1}/tests/assets/marcelo.mp3 +0 -0
- {pydantic_ai-0.3.0 → pydantic_ai-0.3.1}/tests/assets/small_video.mp4 +0 -0
- {pydantic_ai-0.3.0 → pydantic_ai-0.3.1}/tests/cassettes/test_mcp/test_agent_with_stdio_server.yaml +0 -0
- {pydantic_ai-0.3.0 → pydantic_ai-0.3.1}/tests/cassettes/test_mcp/test_tool_returning_audio_resource.yaml +0 -0
- {pydantic_ai-0.3.0 → pydantic_ai-0.3.1}/tests/cassettes/test_mcp/test_tool_returning_dict.yaml +0 -0
- {pydantic_ai-0.3.0 → pydantic_ai-0.3.1}/tests/cassettes/test_mcp/test_tool_returning_error.yaml +0 -0
- {pydantic_ai-0.3.0 → pydantic_ai-0.3.1}/tests/cassettes/test_mcp/test_tool_returning_image.yaml +0 -0
- {pydantic_ai-0.3.0 → pydantic_ai-0.3.1}/tests/cassettes/test_mcp/test_tool_returning_image_resource.yaml +0 -0
- {pydantic_ai-0.3.0 → pydantic_ai-0.3.1}/tests/cassettes/test_mcp/test_tool_returning_multiple_items.yaml +0 -0
- {pydantic_ai-0.3.0 → pydantic_ai-0.3.1}/tests/cassettes/test_mcp/test_tool_returning_none.yaml +0 -0
- {pydantic_ai-0.3.0 → pydantic_ai-0.3.1}/tests/cassettes/test_mcp/test_tool_returning_str.yaml +0 -0
- {pydantic_ai-0.3.0 → pydantic_ai-0.3.1}/tests/cassettes/test_mcp/test_tool_returning_text_resource.yaml +0 -0
- {pydantic_ai-0.3.0 → pydantic_ai-0.3.1}/tests/cassettes/test_settings/test_stop_settings[anthropic].yaml +0 -0
- {pydantic_ai-0.3.0 → pydantic_ai-0.3.1}/tests/cassettes/test_settings/test_stop_settings[bedrock].yaml +0 -0
- {pydantic_ai-0.3.0 → pydantic_ai-0.3.1}/tests/cassettes/test_settings/test_stop_settings[cohere].yaml +0 -0
- {pydantic_ai-0.3.0 → pydantic_ai-0.3.1}/tests/cassettes/test_settings/test_stop_settings[gemini].yaml +0 -0
- {pydantic_ai-0.3.0 → pydantic_ai-0.3.1}/tests/cassettes/test_settings/test_stop_settings[google].yaml +0 -0
- {pydantic_ai-0.3.0 → pydantic_ai-0.3.1}/tests/cassettes/test_settings/test_stop_settings[groq].yaml +0 -0
- {pydantic_ai-0.3.0 → pydantic_ai-0.3.1}/tests/cassettes/test_settings/test_stop_settings[mistral].yaml +0 -0
- {pydantic_ai-0.3.0 → pydantic_ai-0.3.1}/tests/cassettes/test_settings/test_stop_settings[openai].yaml +0 -0
- {pydantic_ai-0.3.0 → pydantic_ai-0.3.1}/tests/conftest.py +0 -0
- {pydantic_ai-0.3.0 → pydantic_ai-0.3.1}/tests/evals/__init__.py +0 -0
- {pydantic_ai-0.3.0 → pydantic_ai-0.3.1}/tests/evals/test_dataset.py +0 -0
- {pydantic_ai-0.3.0 → pydantic_ai-0.3.1}/tests/evals/test_evaluator_base.py +0 -0
- {pydantic_ai-0.3.0 → pydantic_ai-0.3.1}/tests/evals/test_evaluator_common.py +0 -0
- {pydantic_ai-0.3.0 → pydantic_ai-0.3.1}/tests/evals/test_evaluator_context.py +0 -0
- {pydantic_ai-0.3.0 → pydantic_ai-0.3.1}/tests/evals/test_evaluator_spec.py +0 -0
- {pydantic_ai-0.3.0 → pydantic_ai-0.3.1}/tests/evals/test_evaluators.py +0 -0
- {pydantic_ai-0.3.0 → pydantic_ai-0.3.1}/tests/evals/test_llm_as_a_judge.py +0 -0
- {pydantic_ai-0.3.0 → pydantic_ai-0.3.1}/tests/evals/test_otel.py +0 -0
- {pydantic_ai-0.3.0 → pydantic_ai-0.3.1}/tests/evals/test_render_numbers.py +0 -0
- {pydantic_ai-0.3.0 → pydantic_ai-0.3.1}/tests/evals/test_reporting.py +0 -0
- {pydantic_ai-0.3.0 → pydantic_ai-0.3.1}/tests/evals/test_reports.py +0 -0
- {pydantic_ai-0.3.0 → pydantic_ai-0.3.1}/tests/evals/test_utils.py +0 -0
- {pydantic_ai-0.3.0 → pydantic_ai-0.3.1}/tests/evals/utils.py +0 -0
- {pydantic_ai-0.3.0 → pydantic_ai-0.3.1}/tests/example_modules/README.md +0 -0
- {pydantic_ai-0.3.0 → pydantic_ai-0.3.1}/tests/example_modules/bank_database.py +0 -0
- {pydantic_ai-0.3.0 → pydantic_ai-0.3.1}/tests/example_modules/fake_database.py +0 -0
- {pydantic_ai-0.3.0 → pydantic_ai-0.3.1}/tests/example_modules/weather_service.py +0 -0
- {pydantic_ai-0.3.0 → pydantic_ai-0.3.1}/tests/ext/__init__.py +0 -0
- {pydantic_ai-0.3.0 → pydantic_ai-0.3.1}/tests/ext/test_langchain.py +0 -0
- {pydantic_ai-0.3.0 → pydantic_ai-0.3.1}/tests/fasta2a/__init__.py +0 -0
- {pydantic_ai-0.3.0 → pydantic_ai-0.3.1}/tests/fasta2a/test_applications.py +0 -0
- {pydantic_ai-0.3.0 → pydantic_ai-0.3.1}/tests/graph/__init__.py +0 -0
- {pydantic_ai-0.3.0 → pydantic_ai-0.3.1}/tests/graph/test_file_persistence.py +0 -0
- {pydantic_ai-0.3.0 → pydantic_ai-0.3.1}/tests/graph/test_graph.py +0 -0
- {pydantic_ai-0.3.0 → pydantic_ai-0.3.1}/tests/graph/test_mermaid.py +0 -0
- {pydantic_ai-0.3.0 → pydantic_ai-0.3.1}/tests/graph/test_persistence.py +0 -0
- {pydantic_ai-0.3.0 → pydantic_ai-0.3.1}/tests/graph/test_state.py +0 -0
- {pydantic_ai-0.3.0 → pydantic_ai-0.3.1}/tests/graph/test_utils.py +0 -0
- {pydantic_ai-0.3.0 → pydantic_ai-0.3.1}/tests/import_examples.py +0 -0
- {pydantic_ai-0.3.0 → pydantic_ai-0.3.1}/tests/json_body_serializer.py +0 -0
- {pydantic_ai-0.3.0 → pydantic_ai-0.3.1}/tests/mcp_server.py +0 -0
- {pydantic_ai-0.3.0 → pydantic_ai-0.3.1}/tests/models/__init__.py +0 -0
- {pydantic_ai-0.3.0 → pydantic_ai-0.3.1}/tests/models/cassettes/test_anthropic/test_anthropic_model_empty_message_on_history.yaml +0 -0
- {pydantic_ai-0.3.0 → pydantic_ai-0.3.1}/tests/models/cassettes/test_anthropic/test_anthropic_model_instructions.yaml +0 -0
- {pydantic_ai-0.3.0 → pydantic_ai-0.3.1}/tests/models/cassettes/test_anthropic/test_anthropic_model_thinking_part.yaml +0 -0
- {pydantic_ai-0.3.0 → pydantic_ai-0.3.1}/tests/models/cassettes/test_anthropic/test_anthropic_model_thinking_part_stream.yaml +0 -0
- {pydantic_ai-0.3.0 → pydantic_ai-0.3.1}/tests/models/cassettes/test_anthropic/test_document_binary_content_input.yaml +0 -0
- {pydantic_ai-0.3.0 → pydantic_ai-0.3.1}/tests/models/cassettes/test_anthropic/test_document_url_input.yaml +0 -0
- {pydantic_ai-0.3.0 → pydantic_ai-0.3.1}/tests/models/cassettes/test_anthropic/test_extra_headers.yaml +0 -0
- {pydantic_ai-0.3.0 → pydantic_ai-0.3.1}/tests/models/cassettes/test_anthropic/test_image_as_binary_content_tool_response.yaml +0 -0
- {pydantic_ai-0.3.0 → pydantic_ai-0.3.1}/tests/models/cassettes/test_anthropic/test_image_url_input.yaml +0 -0
- {pydantic_ai-0.3.0 → pydantic_ai-0.3.1}/tests/models/cassettes/test_anthropic/test_image_url_input_invalid_mime_type.yaml +0 -0
- {pydantic_ai-0.3.0 → pydantic_ai-0.3.1}/tests/models/cassettes/test_anthropic/test_multiple_parallel_tool_calls.yaml +0 -0
- {pydantic_ai-0.3.0 → pydantic_ai-0.3.1}/tests/models/cassettes/test_anthropic/test_text_document_url_input.yaml +0 -0
- {pydantic_ai-0.3.0 → pydantic_ai-0.3.1}/tests/models/cassettes/test_bedrock/test_bedrock_empty_system_prompt.yaml +0 -0
- {pydantic_ai-0.3.0 → pydantic_ai-0.3.1}/tests/models/cassettes/test_bedrock/test_bedrock_model.yaml +0 -0
- {pydantic_ai-0.3.0 → pydantic_ai-0.3.1}/tests/models/cassettes/test_bedrock/test_bedrock_model_anthropic_model_without_tools.yaml +0 -0
- {pydantic_ai-0.3.0 → pydantic_ai-0.3.1}/tests/models/cassettes/test_bedrock/test_bedrock_model_guardrail_config.yaml +0 -0
- {pydantic_ai-0.3.0 → pydantic_ai-0.3.1}/tests/models/cassettes/test_bedrock/test_bedrock_model_instructions.yaml +0 -0
- {pydantic_ai-0.3.0 → pydantic_ai-0.3.1}/tests/models/cassettes/test_bedrock/test_bedrock_model_iter_stream.yaml +0 -0
- {pydantic_ai-0.3.0 → pydantic_ai-0.3.1}/tests/models/cassettes/test_bedrock/test_bedrock_model_max_tokens.yaml +0 -0
- {pydantic_ai-0.3.0 → pydantic_ai-0.3.1}/tests/models/cassettes/test_bedrock/test_bedrock_model_other_parameters.yaml +0 -0
- {pydantic_ai-0.3.0 → pydantic_ai-0.3.1}/tests/models/cassettes/test_bedrock/test_bedrock_model_performance_config.yaml +0 -0
- {pydantic_ai-0.3.0 → pydantic_ai-0.3.1}/tests/models/cassettes/test_bedrock/test_bedrock_model_retry.yaml +0 -0
- {pydantic_ai-0.3.0 → pydantic_ai-0.3.1}/tests/models/cassettes/test_bedrock/test_bedrock_model_stream.yaml +0 -0
- {pydantic_ai-0.3.0 → pydantic_ai-0.3.1}/tests/models/cassettes/test_bedrock/test_bedrock_model_structured_response.yaml +0 -0
- {pydantic_ai-0.3.0 → pydantic_ai-0.3.1}/tests/models/cassettes/test_bedrock/test_bedrock_model_thinking_part.yaml +0 -0
- {pydantic_ai-0.3.0 → pydantic_ai-0.3.1}/tests/models/cassettes/test_bedrock/test_bedrock_model_thinking_part_stream.yaml +0 -0
- {pydantic_ai-0.3.0 → pydantic_ai-0.3.1}/tests/models/cassettes/test_bedrock/test_bedrock_model_top_p.yaml +0 -0
- {pydantic_ai-0.3.0 → pydantic_ai-0.3.1}/tests/models/cassettes/test_bedrock/test_bedrock_multiple_documents_in_history.yaml +0 -0
- {pydantic_ai-0.3.0 → pydantic_ai-0.3.1}/tests/models/cassettes/test_bedrock/test_document_url_input.yaml +0 -0
- {pydantic_ai-0.3.0 → pydantic_ai-0.3.1}/tests/models/cassettes/test_bedrock/test_image_as_binary_content_input.yaml +0 -0
- {pydantic_ai-0.3.0 → pydantic_ai-0.3.1}/tests/models/cassettes/test_bedrock/test_image_url_input.yaml +0 -0
- {pydantic_ai-0.3.0 → pydantic_ai-0.3.1}/tests/models/cassettes/test_bedrock/test_text_as_binary_content_input.yaml +0 -0
- {pydantic_ai-0.3.0 → pydantic_ai-0.3.1}/tests/models/cassettes/test_bedrock/test_text_document_url_input.yaml +0 -0
- {pydantic_ai-0.3.0 → pydantic_ai-0.3.1}/tests/models/cassettes/test_bedrock/test_video_as_binary_content_input.yaml +0 -0
- {pydantic_ai-0.3.0 → pydantic_ai-0.3.1}/tests/models/cassettes/test_bedrock/test_video_url_input.yaml +0 -0
- {pydantic_ai-0.3.0 → pydantic_ai-0.3.1}/tests/models/cassettes/test_cohere/test_cohere_model_instructions.yaml +0 -0
- {pydantic_ai-0.3.0 → pydantic_ai-0.3.1}/tests/models/cassettes/test_cohere/test_cohere_model_thinking_part.yaml +0 -0
- {pydantic_ai-0.3.0 → pydantic_ai-0.3.1}/tests/models/cassettes/test_cohere/test_request_simple_success_with_vcr.yaml +0 -0
- {pydantic_ai-0.3.0 → pydantic_ai-0.3.1}/tests/models/cassettes/test_deepseek/test_deepseek_model_thinking_part.yaml +0 -0
- {pydantic_ai-0.3.0 → pydantic_ai-0.3.1}/tests/models/cassettes/test_download_item/test_download_item_application_octet_stream.yaml +0 -0
- {pydantic_ai-0.3.0 → pydantic_ai-0.3.1}/tests/models/cassettes/test_download_item/test_download_item_no_content_type.yaml +0 -0
- {pydantic_ai-0.3.0 → pydantic_ai-0.3.1}/tests/models/cassettes/test_gemini/test_document_url_input.yaml +0 -0
- {pydantic_ai-0.3.0 → pydantic_ai-0.3.1}/tests/models/cassettes/test_gemini/test_gemini_additional_properties_is_false.yaml +0 -0
- {pydantic_ai-0.3.0 → pydantic_ai-0.3.1}/tests/models/cassettes/test_gemini/test_gemini_additional_properties_is_true.yaml +0 -0
- {pydantic_ai-0.3.0 → pydantic_ai-0.3.1}/tests/models/cassettes/test_gemini/test_gemini_drop_exclusive_maximum.yaml +0 -0
- {pydantic_ai-0.3.0 → pydantic_ai-0.3.1}/tests/models/cassettes/test_gemini/test_gemini_exclusive_minimum_and_maximum.yaml +0 -0
- {pydantic_ai-0.3.0 → pydantic_ai-0.3.1}/tests/models/cassettes/test_gemini/test_gemini_model_instructions.yaml +0 -0
- {pydantic_ai-0.3.0 → pydantic_ai-0.3.1}/tests/models/cassettes/test_gemini/test_gemini_model_thinking_part.yaml +0 -0
- {pydantic_ai-0.3.0 → pydantic_ai-0.3.1}/tests/models/cassettes/test_gemini/test_gemini_tool_config_any_with_tool_without_args.yaml +0 -0
- {pydantic_ai-0.3.0 → pydantic_ai-0.3.1}/tests/models/cassettes/test_gemini/test_gemini_youtube_video_url_input.yaml +0 -0
- {pydantic_ai-0.3.0 → pydantic_ai-0.3.1}/tests/models/cassettes/test_gemini/test_image_as_binary_content_input.yaml +0 -0
- {pydantic_ai-0.3.0 → pydantic_ai-0.3.1}/tests/models/cassettes/test_gemini/test_image_as_binary_content_tool_response.yaml +0 -0
- {pydantic_ai-0.3.0 → pydantic_ai-0.3.1}/tests/models/cassettes/test_gemini/test_image_url_input.yaml +0 -0
- {pydantic_ai-0.3.0 → pydantic_ai-0.3.1}/tests/models/cassettes/test_gemini/test_labels_are_ignored_with_gla_provider.yaml +0 -0
- {pydantic_ai-0.3.0 → pydantic_ai-0.3.1}/tests/models/cassettes/test_gemini/test_video_as_binary_content_input.yaml +0 -0
- {pydantic_ai-0.3.0 → pydantic_ai-0.3.1}/tests/models/cassettes/test_gemini/test_video_url_input.yaml +0 -0
- {pydantic_ai-0.3.0 → pydantic_ai-0.3.1}/tests/models/cassettes/test_gemini_vertex/test_labels.yaml +0 -0
- {pydantic_ai-0.3.0 → pydantic_ai-0.3.1}/tests/models/cassettes/test_gemini_vertex/test_url_input[AudioUrl (gs)].yaml +0 -0
- {pydantic_ai-0.3.0 → pydantic_ai-0.3.1}/tests/models/cassettes/test_gemini_vertex/test_url_input[AudioUrl].yaml +0 -0
- {pydantic_ai-0.3.0 → pydantic_ai-0.3.1}/tests/models/cassettes/test_gemini_vertex/test_url_input[DocumentUrl (gs)].yaml +0 -0
- {pydantic_ai-0.3.0 → pydantic_ai-0.3.1}/tests/models/cassettes/test_gemini_vertex/test_url_input[DocumentUrl].yaml +0 -0
- {pydantic_ai-0.3.0 → pydantic_ai-0.3.1}/tests/models/cassettes/test_gemini_vertex/test_url_input[ImageUrl (gs)].yaml +0 -0
- {pydantic_ai-0.3.0 → pydantic_ai-0.3.1}/tests/models/cassettes/test_gemini_vertex/test_url_input[ImageUrl].yaml +0 -0
- {pydantic_ai-0.3.0 → pydantic_ai-0.3.1}/tests/models/cassettes/test_gemini_vertex/test_url_input[VideoUrl (YouTube)].yaml +0 -0
- {pydantic_ai-0.3.0 → pydantic_ai-0.3.1}/tests/models/cassettes/test_gemini_vertex/test_url_input[VideoUrl (gs)].yaml +0 -0
- {pydantic_ai-0.3.0 → pydantic_ai-0.3.1}/tests/models/cassettes/test_gemini_vertex/test_url_input[VideoUrl].yaml +0 -0
- {pydantic_ai-0.3.0 → pydantic_ai-0.3.1}/tests/models/cassettes/test_gemini_vertex/test_url_input_force_download.yaml +0 -0
- {pydantic_ai-0.3.0 → pydantic_ai-0.3.1}/tests/models/cassettes/test_google/test_google_model.yaml +0 -0
- {pydantic_ai-0.3.0 → pydantic_ai-0.3.1}/tests/models/cassettes/test_google/test_google_model_document_url_input.yaml +0 -0
- {pydantic_ai-0.3.0 → pydantic_ai-0.3.1}/tests/models/cassettes/test_google/test_google_model_empty_user_prompt.yaml +0 -0
- {pydantic_ai-0.3.0 → pydantic_ai-0.3.1}/tests/models/cassettes/test_google/test_google_model_image_as_binary_content_input.yaml +0 -0
- {pydantic_ai-0.3.0 → pydantic_ai-0.3.1}/tests/models/cassettes/test_google/test_google_model_image_url_input.yaml +0 -0
- {pydantic_ai-0.3.0 → pydantic_ai-0.3.1}/tests/models/cassettes/test_google/test_google_model_instructions.yaml +0 -0
- {pydantic_ai-0.3.0 → pydantic_ai-0.3.1}/tests/models/cassettes/test_google/test_google_model_iter_stream.yaml +0 -0
- {pydantic_ai-0.3.0 → pydantic_ai-0.3.1}/tests/models/cassettes/test_google/test_google_model_max_tokens.yaml +0 -0
- {pydantic_ai-0.3.0 → pydantic_ai-0.3.1}/tests/models/cassettes/test_google/test_google_model_multiple_documents_in_history.yaml +0 -0
- {pydantic_ai-0.3.0 → pydantic_ai-0.3.1}/tests/models/cassettes/test_google/test_google_model_retry.yaml +0 -0
- {pydantic_ai-0.3.0 → pydantic_ai-0.3.1}/tests/models/cassettes/test_google/test_google_model_safety_settings.yaml +0 -0
- {pydantic_ai-0.3.0 → pydantic_ai-0.3.1}/tests/models/cassettes/test_google/test_google_model_stream.yaml +0 -0
- {pydantic_ai-0.3.0 → pydantic_ai-0.3.1}/tests/models/cassettes/test_google/test_google_model_structured_response.yaml +0 -0
- {pydantic_ai-0.3.0 → pydantic_ai-0.3.1}/tests/models/cassettes/test_google/test_google_model_text_as_binary_content_input.yaml +0 -0
- {pydantic_ai-0.3.0 → pydantic_ai-0.3.1}/tests/models/cassettes/test_google/test_google_model_text_document_url_input.yaml +0 -0
- {pydantic_ai-0.3.0 → pydantic_ai-0.3.1}/tests/models/cassettes/test_google/test_google_model_thinking_config.yaml +0 -0
- {pydantic_ai-0.3.0 → pydantic_ai-0.3.1}/tests/models/cassettes/test_google/test_google_model_thinking_part.yaml +0 -0
- {pydantic_ai-0.3.0 → pydantic_ai-0.3.1}/tests/models/cassettes/test_google/test_google_model_thinking_part_iter.yaml +0 -0
- {pydantic_ai-0.3.0 → pydantic_ai-0.3.1}/tests/models/cassettes/test_google/test_google_model_top_p.yaml +0 -0
- {pydantic_ai-0.3.0 → pydantic_ai-0.3.1}/tests/models/cassettes/test_google/test_google_model_vertex_labels.yaml +0 -0
- {pydantic_ai-0.3.0 → pydantic_ai-0.3.1}/tests/models/cassettes/test_google/test_google_model_vertex_provider.yaml +0 -0
- {pydantic_ai-0.3.0 → pydantic_ai-0.3.1}/tests/models/cassettes/test_google/test_google_model_video_as_binary_content_input.yaml +0 -0
- {pydantic_ai-0.3.0 → pydantic_ai-0.3.1}/tests/models/cassettes/test_google/test_google_model_video_url_input.yaml +0 -0
- {pydantic_ai-0.3.0 → pydantic_ai-0.3.1}/tests/models/cassettes/test_google/test_google_timeout.yaml +0 -0
- {pydantic_ai-0.3.0 → pydantic_ai-0.3.1}/tests/models/cassettes/test_google/test_google_tool_config_any_with_tool_without_args.yaml +0 -0
- {pydantic_ai-0.3.0 → pydantic_ai-0.3.1}/tests/models/cassettes/test_google/test_google_url_input[AudioUrl (gs)].yaml +0 -0
- {pydantic_ai-0.3.0 → pydantic_ai-0.3.1}/tests/models/cassettes/test_google/test_google_url_input[AudioUrl].yaml +0 -0
- {pydantic_ai-0.3.0 → pydantic_ai-0.3.1}/tests/models/cassettes/test_google/test_google_url_input[DocumentUrl (gs)].yaml +0 -0
- {pydantic_ai-0.3.0 → pydantic_ai-0.3.1}/tests/models/cassettes/test_google/test_google_url_input[DocumentUrl].yaml +0 -0
- {pydantic_ai-0.3.0 → pydantic_ai-0.3.1}/tests/models/cassettes/test_google/test_google_url_input[ImageUrl (gs)].yaml +0 -0
- {pydantic_ai-0.3.0 → pydantic_ai-0.3.1}/tests/models/cassettes/test_google/test_google_url_input[ImageUrl].yaml +0 -0
- {pydantic_ai-0.3.0 → pydantic_ai-0.3.1}/tests/models/cassettes/test_google/test_google_url_input[VideoUrl (YouTube)].yaml +0 -0
- {pydantic_ai-0.3.0 → pydantic_ai-0.3.1}/tests/models/cassettes/test_google/test_google_url_input[VideoUrl (gs)].yaml +0 -0
- {pydantic_ai-0.3.0 → pydantic_ai-0.3.1}/tests/models/cassettes/test_google/test_google_url_input[VideoUrl].yaml +0 -0
- {pydantic_ai-0.3.0 → pydantic_ai-0.3.1}/tests/models/cassettes/test_google/test_google_url_input_force_download.yaml +0 -0
- {pydantic_ai-0.3.0 → pydantic_ai-0.3.1}/tests/models/cassettes/test_groq/test_extra_headers.yaml +0 -0
- {pydantic_ai-0.3.0 → pydantic_ai-0.3.1}/tests/models/cassettes/test_groq/test_groq_model_instructions.yaml +0 -0
- {pydantic_ai-0.3.0 → pydantic_ai-0.3.1}/tests/models/cassettes/test_groq/test_groq_model_thinking_part.yaml +0 -0
- {pydantic_ai-0.3.0 → pydantic_ai-0.3.1}/tests/models/cassettes/test_groq/test_image_as_binary_content_input.yaml +0 -0
- {pydantic_ai-0.3.0 → pydantic_ai-0.3.1}/tests/models/cassettes/test_groq/test_image_as_binary_content_tool_response.yaml +0 -0
- {pydantic_ai-0.3.0 → pydantic_ai-0.3.1}/tests/models/cassettes/test_groq/test_image_url_input.yaml +0 -0
- {pydantic_ai-0.3.0 → pydantic_ai-0.3.1}/tests/models/cassettes/test_mistral/test_image_as_binary_content_tool_response.yaml +0 -0
- {pydantic_ai-0.3.0 → pydantic_ai-0.3.1}/tests/models/cassettes/test_mistral/test_mistral_model_instructions.yaml +0 -0
- {pydantic_ai-0.3.0 → pydantic_ai-0.3.1}/tests/models/cassettes/test_mistral/test_mistral_model_thinking_part.yaml +0 -0
- {pydantic_ai-0.3.0 → pydantic_ai-0.3.1}/tests/models/cassettes/test_model_names/test_known_model_names.yaml +0 -0
- {pydantic_ai-0.3.0 → pydantic_ai-0.3.1}/tests/models/cassettes/test_openai/test_audio_as_binary_content_input.yaml +0 -0
- {pydantic_ai-0.3.0 → pydantic_ai-0.3.1}/tests/models/cassettes/test_openai/test_compatible_api_with_tool_calls_without_id.yaml +0 -0
- {pydantic_ai-0.3.0 → pydantic_ai-0.3.1}/tests/models/cassettes/test_openai/test_document_as_binary_content_input.yaml +0 -0
- {pydantic_ai-0.3.0 → pydantic_ai-0.3.1}/tests/models/cassettes/test_openai/test_document_url_input.yaml +0 -0
- {pydantic_ai-0.3.0 → pydantic_ai-0.3.1}/tests/models/cassettes/test_openai/test_extra_headers.yaml +0 -0
- {pydantic_ai-0.3.0 → pydantic_ai-0.3.1}/tests/models/cassettes/test_openai/test_image_as_binary_content_input.yaml +0 -0
- {pydantic_ai-0.3.0 → pydantic_ai-0.3.1}/tests/models/cassettes/test_openai/test_image_as_binary_content_tool_response.yaml +0 -0
- {pydantic_ai-0.3.0 → pydantic_ai-0.3.1}/tests/models/cassettes/test_openai/test_image_url_tool_response.yaml +0 -0
- {pydantic_ai-0.3.0 → pydantic_ai-0.3.1}/tests/models/cassettes/test_openai/test_max_completion_tokens[gpt-4.5-preview].yaml +0 -0
- {pydantic_ai-0.3.0 → pydantic_ai-0.3.1}/tests/models/cassettes/test_openai/test_max_completion_tokens[gpt-4o-mini].yaml +0 -0
- {pydantic_ai-0.3.0 → pydantic_ai-0.3.1}/tests/models/cassettes/test_openai/test_max_completion_tokens[o3-mini].yaml +0 -0
- {pydantic_ai-0.3.0 → pydantic_ai-0.3.1}/tests/models/cassettes/test_openai/test_multiple_agent_tool_calls.yaml +0 -0
- {pydantic_ai-0.3.0 → pydantic_ai-0.3.1}/tests/models/cassettes/test_openai/test_openai_audio_url_input.yaml +0 -0
- {pydantic_ai-0.3.0 → pydantic_ai-0.3.1}/tests/models/cassettes/test_openai/test_openai_instructions.yaml +0 -0
- {pydantic_ai-0.3.0 → pydantic_ai-0.3.1}/tests/models/cassettes/test_openai/test_openai_instructions_with_tool_calls_keep_instructions.yaml +0 -0
- {pydantic_ai-0.3.0 → pydantic_ai-0.3.1}/tests/models/cassettes/test_openai/test_openai_model_thinking_part.yaml +0 -0
- {pydantic_ai-0.3.0 → pydantic_ai-0.3.1}/tests/models/cassettes/test_openai/test_openai_model_thinking_part_iter.yaml +0 -0
- {pydantic_ai-0.3.0 → pydantic_ai-0.3.1}/tests/models/cassettes/test_openai/test_openai_model_without_system_prompt.yaml +0 -0
- {pydantic_ai-0.3.0 → pydantic_ai-0.3.1}/tests/models/cassettes/test_openai/test_openai_o1_mini_system_role[developer].yaml +0 -0
- {pydantic_ai-0.3.0 → pydantic_ai-0.3.1}/tests/models/cassettes/test_openai/test_openai_o1_mini_system_role[system].yaml +0 -0
- {pydantic_ai-0.3.0 → pydantic_ai-0.3.1}/tests/models/cassettes/test_openai/test_openai_responses_model_thinking_part.yaml +0 -0
- {pydantic_ai-0.3.0 → pydantic_ai-0.3.1}/tests/models/cassettes/test_openai/test_reasoning_model_with_temperature.yaml +0 -0
- {pydantic_ai-0.3.0 → pydantic_ai-0.3.1}/tests/models/cassettes/test_openai/test_user_id.yaml +0 -0
- {pydantic_ai-0.3.0 → pydantic_ai-0.3.1}/tests/models/cassettes/test_openai_responses/test_audio_as_binary_content_input.yaml +0 -0
- {pydantic_ai-0.3.0 → pydantic_ai-0.3.1}/tests/models/cassettes/test_openai_responses/test_image_as_binary_content_input.yaml +0 -0
- {pydantic_ai-0.3.0 → pydantic_ai-0.3.1}/tests/models/cassettes/test_openai_responses/test_image_as_binary_content_tool_response.yaml +0 -0
- {pydantic_ai-0.3.0 → pydantic_ai-0.3.1}/tests/models/cassettes/test_openai_responses/test_openai_responses_document_as_binary_content_input.yaml +0 -0
- {pydantic_ai-0.3.0 → pydantic_ai-0.3.1}/tests/models/cassettes/test_openai_responses/test_openai_responses_document_url_input.yaml +0 -0
- {pydantic_ai-0.3.0 → pydantic_ai-0.3.1}/tests/models/cassettes/test_openai_responses/test_openai_responses_image_url_input.yaml +0 -0
- {pydantic_ai-0.3.0 → pydantic_ai-0.3.1}/tests/models/cassettes/test_openai_responses/test_openai_responses_model_builtin_tools.yaml +0 -0
- {pydantic_ai-0.3.0 → pydantic_ai-0.3.1}/tests/models/cassettes/test_openai_responses/test_openai_responses_model_http_error.yaml +0 -0
- {pydantic_ai-0.3.0 → pydantic_ai-0.3.1}/tests/models/cassettes/test_openai_responses/test_openai_responses_model_instructions.yaml +0 -0
- {pydantic_ai-0.3.0 → pydantic_ai-0.3.1}/tests/models/cassettes/test_openai_responses/test_openai_responses_model_retry.yaml +0 -0
- {pydantic_ai-0.3.0 → pydantic_ai-0.3.1}/tests/models/cassettes/test_openai_responses/test_openai_responses_model_simple_response.yaml +0 -0
- {pydantic_ai-0.3.0 → pydantic_ai-0.3.1}/tests/models/cassettes/test_openai_responses/test_openai_responses_model_simple_response_with_tool_call.yaml +0 -0
- {pydantic_ai-0.3.0 → pydantic_ai-0.3.1}/tests/models/cassettes/test_openai_responses/test_openai_responses_output_type.yaml +0 -0
- {pydantic_ai-0.3.0 → pydantic_ai-0.3.1}/tests/models/cassettes/test_openai_responses/test_openai_responses_reasoning_effort.yaml +0 -0
- {pydantic_ai-0.3.0 → pydantic_ai-0.3.1}/tests/models/cassettes/test_openai_responses/test_openai_responses_reasoning_generate_summary.yaml +0 -0
- {pydantic_ai-0.3.0 → pydantic_ai-0.3.1}/tests/models/cassettes/test_openai_responses/test_openai_responses_stream.yaml +0 -0
- {pydantic_ai-0.3.0 → pydantic_ai-0.3.1}/tests/models/cassettes/test_openai_responses/test_openai_responses_system_prompt.yaml +0 -0
- {pydantic_ai-0.3.0 → pydantic_ai-0.3.1}/tests/models/cassettes/test_openai_responses/test_openai_responses_text_document_url_input.yaml +0 -0
- {pydantic_ai-0.3.0 → pydantic_ai-0.3.1}/tests/models/cassettes/test_openai_responses/test_reasoning_model_with_temperature.yaml +0 -0
- {pydantic_ai-0.3.0 → pydantic_ai-0.3.1}/tests/models/mock_async_stream.py +0 -0
- {pydantic_ai-0.3.0 → pydantic_ai-0.3.1}/tests/models/test_anthropic.py +0 -0
- {pydantic_ai-0.3.0 → pydantic_ai-0.3.1}/tests/models/test_bedrock.py +0 -0
- {pydantic_ai-0.3.0 → pydantic_ai-0.3.1}/tests/models/test_cohere.py +0 -0
- {pydantic_ai-0.3.0 → pydantic_ai-0.3.1}/tests/models/test_deepseek.py +0 -0
- {pydantic_ai-0.3.0 → pydantic_ai-0.3.1}/tests/models/test_download_item.py +0 -0
- {pydantic_ai-0.3.0 → pydantic_ai-0.3.1}/tests/models/test_fallback.py +0 -0
- {pydantic_ai-0.3.0 → pydantic_ai-0.3.1}/tests/models/test_gemini.py +0 -0
- {pydantic_ai-0.3.0 → pydantic_ai-0.3.1}/tests/models/test_gemini_vertex.py +0 -0
- {pydantic_ai-0.3.0 → pydantic_ai-0.3.1}/tests/models/test_google.py +0 -0
- {pydantic_ai-0.3.0 → pydantic_ai-0.3.1}/tests/models/test_groq.py +0 -0
- {pydantic_ai-0.3.0 → pydantic_ai-0.3.1}/tests/models/test_instrumented.py +0 -0
- {pydantic_ai-0.3.0 → pydantic_ai-0.3.1}/tests/models/test_mistral.py +0 -0
- {pydantic_ai-0.3.0 → pydantic_ai-0.3.1}/tests/models/test_model.py +0 -0
- {pydantic_ai-0.3.0 → pydantic_ai-0.3.1}/tests/models/test_model_function.py +0 -0
- {pydantic_ai-0.3.0 → pydantic_ai-0.3.1}/tests/models/test_model_names.py +0 -0
- {pydantic_ai-0.3.0 → pydantic_ai-0.3.1}/tests/models/test_model_request_parameters.py +0 -0
- {pydantic_ai-0.3.0 → pydantic_ai-0.3.1}/tests/models/test_model_test.py +0 -0
- {pydantic_ai-0.3.0 → pydantic_ai-0.3.1}/tests/models/test_openai.py +0 -0
- {pydantic_ai-0.3.0 → pydantic_ai-0.3.1}/tests/models/test_openai_responses.py +0 -0
- {pydantic_ai-0.3.0 → pydantic_ai-0.3.1}/tests/providers/__init__.py +0 -0
- {pydantic_ai-0.3.0 → pydantic_ai-0.3.1}/tests/providers/cassettes/test_azure/test_azure_provider_call.yaml +0 -0
- {pydantic_ai-0.3.0 → pydantic_ai-0.3.1}/tests/providers/cassettes/test_google_vertex/test_vertexai_provider.yaml +0 -0
- {pydantic_ai-0.3.0 → pydantic_ai-0.3.1}/tests/providers/cassettes/test_heroku/test_heroku_model_provider_claude_3_7_sonnet.yaml +0 -0
- {pydantic_ai-0.3.0 → pydantic_ai-0.3.1}/tests/providers/cassettes/test_openrouter/test_openrouter_with_google_model.yaml +0 -0
- {pydantic_ai-0.3.0 → pydantic_ai-0.3.1}/tests/providers/test_anthropic.py +0 -0
- {pydantic_ai-0.3.0 → pydantic_ai-0.3.1}/tests/providers/test_azure.py +0 -0
- {pydantic_ai-0.3.0 → pydantic_ai-0.3.1}/tests/providers/test_bedrock.py +0 -0
- {pydantic_ai-0.3.0 → pydantic_ai-0.3.1}/tests/providers/test_cohere.py +0 -0
- {pydantic_ai-0.3.0 → pydantic_ai-0.3.1}/tests/providers/test_deepseek.py +0 -0
- {pydantic_ai-0.3.0 → pydantic_ai-0.3.1}/tests/providers/test_fireworks.py +0 -0
- {pydantic_ai-0.3.0 → pydantic_ai-0.3.1}/tests/providers/test_google_gla.py +0 -0
- {pydantic_ai-0.3.0 → pydantic_ai-0.3.1}/tests/providers/test_google_vertex.py +0 -0
- {pydantic_ai-0.3.0 → pydantic_ai-0.3.1}/tests/providers/test_grok.py +0 -0
- {pydantic_ai-0.3.0 → pydantic_ai-0.3.1}/tests/providers/test_groq.py +0 -0
- {pydantic_ai-0.3.0 → pydantic_ai-0.3.1}/tests/providers/test_heroku.py +0 -0
- {pydantic_ai-0.3.0 → pydantic_ai-0.3.1}/tests/providers/test_mistral.py +0 -0
- {pydantic_ai-0.3.0 → pydantic_ai-0.3.1}/tests/providers/test_openai.py +0 -0
- {pydantic_ai-0.3.0 → pydantic_ai-0.3.1}/tests/providers/test_openrouter.py +0 -0
- {pydantic_ai-0.3.0 → pydantic_ai-0.3.1}/tests/providers/test_provider_names.py +0 -0
- {pydantic_ai-0.3.0 → pydantic_ai-0.3.1}/tests/providers/test_together.py +0 -0
- {pydantic_ai-0.3.0 → pydantic_ai-0.3.1}/tests/test_a2a.py +0 -0
- {pydantic_ai-0.3.0 → pydantic_ai-0.3.1}/tests/test_agent.py +0 -0
- {pydantic_ai-0.3.0 → pydantic_ai-0.3.1}/tests/test_cli.py +0 -0
- {pydantic_ai-0.3.0 → pydantic_ai-0.3.1}/tests/test_deps.py +0 -0
- {pydantic_ai-0.3.0 → pydantic_ai-0.3.1}/tests/test_direct.py +0 -0
- {pydantic_ai-0.3.0 → pydantic_ai-0.3.1}/tests/test_examples.py +0 -0
- {pydantic_ai-0.3.0 → pydantic_ai-0.3.1}/tests/test_format_as_xml.py +0 -0
- {pydantic_ai-0.3.0 → pydantic_ai-0.3.1}/tests/test_history_processor.py +0 -0
- {pydantic_ai-0.3.0 → pydantic_ai-0.3.1}/tests/test_json_body_serializer.py +0 -0
- {pydantic_ai-0.3.0 → pydantic_ai-0.3.1}/tests/test_live.py +0 -0
- {pydantic_ai-0.3.0 → pydantic_ai-0.3.1}/tests/test_logfire.py +0 -0
- {pydantic_ai-0.3.0 → pydantic_ai-0.3.1}/tests/test_mcp.py +0 -0
- {pydantic_ai-0.3.0 → pydantic_ai-0.3.1}/tests/test_messages.py +0 -0
- {pydantic_ai-0.3.0 → pydantic_ai-0.3.1}/tests/test_parts_manager.py +0 -0
- {pydantic_ai-0.3.0 → pydantic_ai-0.3.1}/tests/test_settings.py +0 -0
- {pydantic_ai-0.3.0 → pydantic_ai-0.3.1}/tests/test_streaming.py +0 -0
- {pydantic_ai-0.3.0 → pydantic_ai-0.3.1}/tests/test_tools.py +0 -0
- {pydantic_ai-0.3.0 → pydantic_ai-0.3.1}/tests/test_usage_limits.py +0 -0
- {pydantic_ai-0.3.0 → pydantic_ai-0.3.1}/tests/test_utils.py +0 -0
- {pydantic_ai-0.3.0 → pydantic_ai-0.3.1}/tests/typed_agent.py +0 -0
- {pydantic_ai-0.3.0 → pydantic_ai-0.3.1}/tests/typed_graph.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: pydantic-ai
|
|
3
|
-
Version: 0.3.
|
|
3
|
+
Version: 0.3.1
|
|
4
4
|
Summary: Agent Framework / shim to use Pydantic with LLMs
|
|
5
5
|
Project-URL: Homepage, https://ai.pydantic.dev
|
|
6
6
|
Project-URL: Source, https://github.com/pydantic/pydantic-ai
|
|
@@ -28,9 +28,9 @@ Classifier: Topic :: Internet
|
|
|
28
28
|
Classifier: Topic :: Scientific/Engineering :: Artificial Intelligence
|
|
29
29
|
Classifier: Topic :: Software Development :: Libraries :: Python Modules
|
|
30
30
|
Requires-Python: >=3.9
|
|
31
|
-
Requires-Dist: pydantic-ai-slim[a2a,anthropic,bedrock,cli,cohere,evals,google,groq,mcp,mistral,openai,vertexai]==0.3.
|
|
31
|
+
Requires-Dist: pydantic-ai-slim[a2a,anthropic,bedrock,cli,cohere,evals,google,groq,mcp,mistral,openai,vertexai]==0.3.1
|
|
32
32
|
Provides-Extra: examples
|
|
33
|
-
Requires-Dist: pydantic-ai-examples==0.3.
|
|
33
|
+
Requires-Dist: pydantic-ai-examples==0.3.1; extra == 'examples'
|
|
34
34
|
Provides-Extra: logfire
|
|
35
35
|
Requires-Dist: logfire>=3.11.0; extra == 'logfire'
|
|
36
36
|
Description-Content-Type: text/markdown
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
from __future__ import annotations as _annotations
|
|
2
|
+
|
|
3
|
+
import pytest
|
|
4
|
+
from inline_snapshot import snapshot
|
|
5
|
+
|
|
6
|
+
from pydantic_ai._thinking_part import split_content_into_text_and_thinking
|
|
7
|
+
from pydantic_ai.messages import ModelResponsePart, TextPart, ThinkingPart, ThinkingPartDelta
|
|
8
|
+
|
|
9
|
+
|
|
10
|
+
@pytest.mark.parametrize(
|
|
11
|
+
('content', 'parts'),
|
|
12
|
+
[
|
|
13
|
+
('foo bar', [TextPart(content='foo bar')]),
|
|
14
|
+
(
|
|
15
|
+
'foo bar<think>thinking</think>',
|
|
16
|
+
[TextPart(content='foo bar'), ThinkingPart(content='thinking')],
|
|
17
|
+
),
|
|
18
|
+
(
|
|
19
|
+
'foo bar<think>thinking</think>baz',
|
|
20
|
+
[TextPart(content='foo bar'), ThinkingPart(content='thinking'), TextPart(content='baz')],
|
|
21
|
+
),
|
|
22
|
+
(
|
|
23
|
+
'foo bar<think>thinking',
|
|
24
|
+
[TextPart(content='foo bar'), TextPart(content='thinking')],
|
|
25
|
+
),
|
|
26
|
+
],
|
|
27
|
+
)
|
|
28
|
+
def test_split_content_into_text_and_thinking(content: str, parts: list[ModelResponsePart]):
|
|
29
|
+
assert split_content_into_text_and_thinking(content) == parts
|
|
30
|
+
|
|
31
|
+
|
|
32
|
+
def test_thinking_part_delta_applies_both_content_and_signature():
|
|
33
|
+
thinking_part = ThinkingPart(content='Initial content', signature='initial_sig')
|
|
34
|
+
delta = ThinkingPartDelta(content_delta=' added', signature_delta='new_sig')
|
|
35
|
+
|
|
36
|
+
result = delta.apply(thinking_part)
|
|
37
|
+
|
|
38
|
+
# The content is appended, and the signature is updated.
|
|
39
|
+
assert result == snapshot(ThinkingPart(content='Initial content added', signature='new_sig'))
|
|
40
|
+
|
|
41
|
+
|
|
42
|
+
def test_thinking_part_delta_applies_signature_only():
|
|
43
|
+
thinking_part = ThinkingPart(content='Initial content', signature='initial_sig')
|
|
44
|
+
delta_sig_only = ThinkingPartDelta(content_delta=None, signature_delta='sig_only')
|
|
45
|
+
|
|
46
|
+
result_sig_only = delta_sig_only.apply(thinking_part)
|
|
47
|
+
|
|
48
|
+
# The content is unchanged, and the signature is updated.
|
|
49
|
+
assert result_sig_only == snapshot(ThinkingPart(content='Initial content', signature='sig_only'))
|
|
50
|
+
|
|
51
|
+
|
|
52
|
+
def test_thinking_part_delta_applies_content_only_preserves_signature():
|
|
53
|
+
thinking_part = ThinkingPart(content='Initial content', signature='initial_sig')
|
|
54
|
+
delta_content_only = ThinkingPartDelta(content_delta=' more', signature_delta=None)
|
|
55
|
+
|
|
56
|
+
result_content_only = delta_content_only.apply(thinking_part)
|
|
57
|
+
|
|
58
|
+
# The content is appended, and the signature is preserved.
|
|
59
|
+
assert result_content_only == snapshot(ThinkingPart(content='Initial content more', signature='initial_sig'))
|
|
60
|
+
|
|
61
|
+
|
|
62
|
+
def test_thinking_part_delta_applies_to_part_with_none_signature():
|
|
63
|
+
thinking_part_no_sig = ThinkingPart(content='No sig content', signature=None)
|
|
64
|
+
delta_to_none_sig = ThinkingPartDelta(content_delta=' extra', signature_delta='added_sig')
|
|
65
|
+
|
|
66
|
+
result_none_sig = delta_to_none_sig.apply(thinking_part_no_sig)
|
|
67
|
+
|
|
68
|
+
# The content is appended, and the signature is updated.
|
|
69
|
+
assert result_none_sig == snapshot(ThinkingPart(content='No sig content extra', signature='added_sig'))
|
|
@@ -1,28 +0,0 @@
|
|
|
1
|
-
from __future__ import annotations as _annotations
|
|
2
|
-
|
|
3
|
-
import pytest
|
|
4
|
-
|
|
5
|
-
from pydantic_ai._thinking_part import split_content_into_text_and_thinking
|
|
6
|
-
from pydantic_ai.messages import ModelResponsePart, TextPart, ThinkingPart
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
@pytest.mark.parametrize(
|
|
10
|
-
('content', 'parts'),
|
|
11
|
-
[
|
|
12
|
-
('foo bar', [TextPart(content='foo bar')]),
|
|
13
|
-
(
|
|
14
|
-
'foo bar<think>thinking</think>',
|
|
15
|
-
[TextPart(content='foo bar'), ThinkingPart(content='thinking')],
|
|
16
|
-
),
|
|
17
|
-
(
|
|
18
|
-
'foo bar<think>thinking</think>baz',
|
|
19
|
-
[TextPart(content='foo bar'), ThinkingPart(content='thinking'), TextPart(content='baz')],
|
|
20
|
-
),
|
|
21
|
-
(
|
|
22
|
-
'foo bar<think>thinking',
|
|
23
|
-
[TextPart(content='foo bar'), TextPart(content='thinking')],
|
|
24
|
-
),
|
|
25
|
-
],
|
|
26
|
-
)
|
|
27
|
-
def test_split_content_into_text_and_thinking(content: str, parts: list[ModelResponsePart]):
|
|
28
|
-
assert split_content_into_text_and_thinking(content) == parts
|
|
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-0.3.0 → pydantic_ai-0.3.1}/tests/cassettes/test_mcp/test_agent_with_stdio_server.yaml
RENAMED
|
File without changes
|
|
File without changes
|
{pydantic_ai-0.3.0 → pydantic_ai-0.3.1}/tests/cassettes/test_mcp/test_tool_returning_dict.yaml
RENAMED
|
File without changes
|
{pydantic_ai-0.3.0 → pydantic_ai-0.3.1}/tests/cassettes/test_mcp/test_tool_returning_error.yaml
RENAMED
|
File without changes
|
{pydantic_ai-0.3.0 → pydantic_ai-0.3.1}/tests/cassettes/test_mcp/test_tool_returning_image.yaml
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{pydantic_ai-0.3.0 → pydantic_ai-0.3.1}/tests/cassettes/test_mcp/test_tool_returning_none.yaml
RENAMED
|
File without changes
|
{pydantic_ai-0.3.0 → pydantic_ai-0.3.1}/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
|
|
File without changes
|
|
File without changes
|
{pydantic_ai-0.3.0 → pydantic_ai-0.3.1}/tests/cassettes/test_settings/test_stop_settings[groq].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
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{pydantic_ai-0.3.0 → pydantic_ai-0.3.1}/tests/models/cassettes/test_bedrock/test_bedrock_model.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
|
{pydantic_ai-0.3.0 → pydantic_ai-0.3.1}/tests/models/cassettes/test_gemini/test_image_url_input.yaml
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{pydantic_ai-0.3.0 → pydantic_ai-0.3.1}/tests/models/cassettes/test_gemini/test_video_url_input.yaml
RENAMED
|
File without changes
|
{pydantic_ai-0.3.0 → pydantic_ai-0.3.1}/tests/models/cassettes/test_gemini_vertex/test_labels.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
|
{pydantic_ai-0.3.0 → pydantic_ai-0.3.1}/tests/models/cassettes/test_google/test_google_model.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
|
{pydantic_ai-0.3.0 → pydantic_ai-0.3.1}/tests/models/cassettes/test_google/test_google_timeout.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
|
{pydantic_ai-0.3.0 → pydantic_ai-0.3.1}/tests/models/cassettes/test_groq/test_extra_headers.yaml
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{pydantic_ai-0.3.0 → pydantic_ai-0.3.1}/tests/models/cassettes/test_groq/test_image_url_input.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-0.3.0 → pydantic_ai-0.3.1}/tests/models/cassettes/test_openai/test_extra_headers.yaml
RENAMED
|
File without changes
|
|
File without changes
|