pydantic-ai 1.0.2__tar.gz → 1.0.4__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.2 → pydantic_ai-1.0.4}/PKG-INFO +4 -4
- {pydantic_ai-1.0.2 → pydantic_ai-1.0.4}/tests/cassettes/test_mcp/test_tool_returning_audio_resource_link.yaml +64 -25
- pydantic_ai-1.0.4/tests/models/cassettes/test_anthropic/test_anthropic_model_thinking_part_from_other_model.yaml +343 -0
- pydantic_ai-1.0.4/tests/models/cassettes/test_anthropic/test_anthropic_model_thinking_part_redacted.yaml +150 -0
- pydantic_ai-1.0.4/tests/models/cassettes/test_anthropic/test_anthropic_model_thinking_part_redacted_stream.yaml +129 -0
- pydantic_ai-1.0.4/tests/models/cassettes/test_bedrock/test_bedrock_model_thinking_part_anthropic.yaml +184 -0
- pydantic_ai-1.0.4/tests/models/cassettes/test_bedrock/test_bedrock_model_thinking_part_deepseek.yaml +165 -0
- pydantic_ai-1.0.4/tests/models/cassettes/test_bedrock/test_bedrock_model_thinking_part_from_other_model.yaml +300 -0
- pydantic_ai-1.0.4/tests/models/cassettes/test_bedrock/test_bedrock_model_thinking_part_redacted.yaml +110 -0
- pydantic_ai-1.0.4/tests/models/cassettes/test_bedrock/test_bedrock_model_thinking_part_redacted_stream.yaml +128 -0
- pydantic_ai-1.0.4/tests/models/cassettes/test_cohere/test_cohere_model_thinking_part.yaml +301 -0
- pydantic_ai-1.0.4/tests/models/cassettes/test_google/test_google_model_thinking_part.yaml +354 -0
- pydantic_ai-1.0.4/tests/models/cassettes/test_google/test_google_model_thinking_part_from_other_model.yaml +362 -0
- pydantic_ai-1.0.4/tests/models/cassettes/test_google/test_google_model_thinking_part_iter.yaml +160 -0
- pydantic_ai-1.0.4/tests/models/cassettes/test_mistral/test_mistral_model_thinking_part.yaml +296 -0
- pydantic_ai-1.0.4/tests/models/cassettes/test_mistral/test_mistral_model_thinking_part_iter.yaml +736 -0
- {pydantic_ai-1.0.2 → pydantic_ai-1.0.4}/tests/models/cassettes/test_model_names/test_known_model_names.yaml +41 -7
- pydantic_ai-1.0.4/tests/models/cassettes/test_openai/test_openai_model_thinking_part.yaml +275 -0
- {pydantic_ai-1.0.2 → pydantic_ai-1.0.4}/tests/models/cassettes/test_openai_responses/test_openai_responses_model_simple_response.yaml +21 -11
- pydantic_ai-1.0.4/tests/models/cassettes/test_openai_responses/test_openai_responses_model_thinking_part.yaml +374 -0
- pydantic_ai-1.0.4/tests/models/cassettes/test_openai_responses/test_openai_responses_thinking_part_iter.yaml +2353 -0
- pydantic_ai-1.0.4/tests/models/cassettes/test_openai_responses/test_openai_responses_thinking_with_tool_calls.yaml +354 -0
- {pydantic_ai-1.0.2 → pydantic_ai-1.0.4}/tests/models/test_anthropic.py +548 -61
- {pydantic_ai-1.0.2 → pydantic_ai-1.0.4}/tests/models/test_bedrock.py +373 -14
- {pydantic_ai-1.0.2 → pydantic_ai-1.0.4}/tests/models/test_cohere.py +26 -25
- {pydantic_ai-1.0.2 → pydantic_ai-1.0.4}/tests/models/test_deepseek.py +19 -14
- {pydantic_ai-1.0.2 → pydantic_ai-1.0.4}/tests/models/test_google.py +241 -64
- {pydantic_ai-1.0.2 → pydantic_ai-1.0.4}/tests/models/test_groq.py +45 -0
- {pydantic_ai-1.0.2 → pydantic_ai-1.0.4}/tests/models/test_huggingface.py +27 -17
- {pydantic_ai-1.0.2 → pydantic_ai-1.0.4}/tests/models/test_mistral.py +164 -64
- pydantic_ai-1.0.4/tests/models/test_model.py +220 -0
- {pydantic_ai-1.0.2 → pydantic_ai-1.0.4}/tests/models/test_openai.py +21 -35
- {pydantic_ai-1.0.2 → pydantic_ai-1.0.4}/tests/models/test_openai_responses.py +176 -58
- pydantic_ai-1.0.4/tests/providers/cassettes/test_gateway/test_gateway_provider_with_anthropic.yaml +63 -0
- pydantic_ai-1.0.4/tests/providers/cassettes/test_gateway/test_gateway_provider_with_google_vertex.yaml +66 -0
- pydantic_ai-1.0.4/tests/providers/cassettes/test_gateway/test_gateway_provider_with_groq.yaml +71 -0
- pydantic_ai-1.0.4/tests/providers/cassettes/test_gateway/test_gateway_provider_with_openai.yaml +66 -0
- pydantic_ai-1.0.4/tests/providers/cassettes/test_gateway/test_gateway_provider_with_openai_responses.yaml +96 -0
- {pydantic_ai-1.0.2 → pydantic_ai-1.0.4}/tests/providers/test_azure.py +2 -2
- pydantic_ai-1.0.4/tests/providers/test_gateway.py +152 -0
- {pydantic_ai-1.0.2 → pydantic_ai-1.0.4}/tests/providers/test_groq.py +1 -1
- {pydantic_ai-1.0.2 → pydantic_ai-1.0.4}/tests/test_ag_ui.py +98 -3
- {pydantic_ai-1.0.2 → pydantic_ai-1.0.4}/tests/test_agent.py +46 -8
- {pydantic_ai-1.0.2 → pydantic_ai-1.0.4}/tests/test_dbos.py +6 -4
- {pydantic_ai-1.0.2 → pydantic_ai-1.0.4}/tests/test_examples.py +1 -1
- {pydantic_ai-1.0.2 → pydantic_ai-1.0.4}/tests/test_live.py +2 -2
- {pydantic_ai-1.0.2 → pydantic_ai-1.0.4}/tests/test_mcp.py +24 -12
- {pydantic_ai-1.0.2 → pydantic_ai-1.0.4}/tests/test_messages.py +12 -4
- pydantic_ai-1.0.2/tests/models/cassettes/test_bedrock/test_bedrock_model_thinking_part.yaml +0 -206
- pydantic_ai-1.0.2/tests/models/cassettes/test_cohere/test_cohere_model_thinking_part.yaml +0 -290
- pydantic_ai-1.0.2/tests/models/cassettes/test_google/test_google_model_thinking_part.yaml +0 -139
- pydantic_ai-1.0.2/tests/models/cassettes/test_google/test_google_model_thinking_part_iter.yaml +0 -272
- pydantic_ai-1.0.2/tests/models/cassettes/test_mistral/test_mistral_model_thinking_part.yaml +0 -313
- pydantic_ai-1.0.2/tests/models/cassettes/test_openai/test_openai_model_thinking_part.yaml +0 -310
- pydantic_ai-1.0.2/tests/models/cassettes/test_openai_responses/test_openai_responses_model_thinking_part.yaml +0 -321
- pydantic_ai-1.0.2/tests/models/cassettes/test_openai_responses/test_openai_responses_thinking_part_iter.yaml +0 -1991
- pydantic_ai-1.0.2/tests/models/test_model.py +0 -144
- {pydantic_ai-1.0.2 → pydantic_ai-1.0.4}/.gitignore +0 -0
- {pydantic_ai-1.0.2 → pydantic_ai-1.0.4}/LICENSE +0 -0
- {pydantic_ai-1.0.2 → pydantic_ai-1.0.4}/Makefile +0 -0
- {pydantic_ai-1.0.2 → pydantic_ai-1.0.4}/README.md +0 -0
- {pydantic_ai-1.0.2 → pydantic_ai-1.0.4}/pyproject.toml +0 -0
- {pydantic_ai-1.0.2 → pydantic_ai-1.0.4}/tests/__init__.py +0 -0
- {pydantic_ai-1.0.2 → pydantic_ai-1.0.4}/tests/assets/dummy.pdf +0 -0
- {pydantic_ai-1.0.2 → pydantic_ai-1.0.4}/tests/assets/kiwi.png +0 -0
- {pydantic_ai-1.0.2 → pydantic_ai-1.0.4}/tests/assets/marcelo.mp3 +0 -0
- {pydantic_ai-1.0.2 → pydantic_ai-1.0.4}/tests/assets/product_name.txt +0 -0
- {pydantic_ai-1.0.2 → pydantic_ai-1.0.4}/tests/assets/small_video.mp4 +0 -0
- {pydantic_ai-1.0.2 → pydantic_ai-1.0.4}/tests/cassettes/test_dbos/test_complex_agent_run.yaml +0 -0
- {pydantic_ai-1.0.2 → pydantic_ai-1.0.4}/tests/cassettes/test_dbos/test_complex_agent_run_in_workflow.yaml +0 -0
- {pydantic_ai-1.0.2 → pydantic_ai-1.0.4}/tests/cassettes/test_dbos/test_complex_agent_run_stream_in_workflow.yaml +0 -0
- {pydantic_ai-1.0.2 → pydantic_ai-1.0.4}/tests/cassettes/test_dbos/test_dbos_agent_iter.yaml +0 -0
- {pydantic_ai-1.0.2 → pydantic_ai-1.0.4}/tests/cassettes/test_dbos/test_dbos_agent_iter_in_workflow.yaml +0 -0
- {pydantic_ai-1.0.2 → pydantic_ai-1.0.4}/tests/cassettes/test_dbos/test_dbos_agent_override_deps_in_workflow.yaml +0 -0
- {pydantic_ai-1.0.2 → pydantic_ai-1.0.4}/tests/cassettes/test_dbos/test_dbos_agent_override_tools_in_workflow.yaml +0 -0
- {pydantic_ai-1.0.2 → pydantic_ai-1.0.4}/tests/cassettes/test_dbos/test_dbos_agent_run.yaml +0 -0
- {pydantic_ai-1.0.2 → pydantic_ai-1.0.4}/tests/cassettes/test_dbos/test_dbos_agent_run_in_workflow_with_toolsets.yaml +0 -0
- {pydantic_ai-1.0.2 → pydantic_ai-1.0.4}/tests/cassettes/test_dbos/test_dbos_agent_run_stream.yaml +0 -0
- {pydantic_ai-1.0.2 → pydantic_ai-1.0.4}/tests/cassettes/test_dbos/test_dbos_agent_run_sync.yaml +0 -0
- {pydantic_ai-1.0.2 → pydantic_ai-1.0.4}/tests/cassettes/test_dbos/test_dbos_agent_run_sync_in_workflow.yaml +0 -0
- {pydantic_ai-1.0.2 → pydantic_ai-1.0.4}/tests/cassettes/test_dbos/test_dbos_agent_with_dataclass_deps_as_dict.yaml +0 -0
- {pydantic_ai-1.0.2 → pydantic_ai-1.0.4}/tests/cassettes/test_dbos/test_dbos_agent_with_hitl_tool.yaml +0 -0
- {pydantic_ai-1.0.2 → pydantic_ai-1.0.4}/tests/cassettes/test_dbos/test_dbos_agent_with_hitl_tool_sync.yaml +0 -0
- {pydantic_ai-1.0.2 → pydantic_ai-1.0.4}/tests/cassettes/test_dbos/test_dbos_agent_with_model_retry.yaml +0 -0
- {pydantic_ai-1.0.2 → pydantic_ai-1.0.4}/tests/cassettes/test_dbos/test_dbos_agent_with_non_dict_deps.yaml +0 -0
- {pydantic_ai-1.0.2 → pydantic_ai-1.0.4}/tests/cassettes/test_dbos/test_dbos_agent_with_unserializable_deps_type.yaml +0 -0
- {pydantic_ai-1.0.2 → pydantic_ai-1.0.4}/tests/cassettes/test_dbos/test_dbos_model_stream_direct.yaml +0 -0
- {pydantic_ai-1.0.2 → pydantic_ai-1.0.4}/tests/cassettes/test_dbos/test_multiple_agents.yaml +0 -0
- {pydantic_ai-1.0.2 → pydantic_ai-1.0.4}/tests/cassettes/test_dbos/test_simple_agent_run_in_workflow.yaml +0 -0
- {pydantic_ai-1.0.2 → pydantic_ai-1.0.4}/tests/cassettes/test_mcp/test_agent_with_server_not_running.yaml +0 -0
- {pydantic_ai-1.0.2 → pydantic_ai-1.0.4}/tests/cassettes/test_mcp/test_agent_with_stdio_server.yaml +0 -0
- {pydantic_ai-1.0.2 → pydantic_ai-1.0.4}/tests/cassettes/test_mcp/test_tool_returning_audio_resource.yaml +0 -0
- {pydantic_ai-1.0.2 → pydantic_ai-1.0.4}/tests/cassettes/test_mcp/test_tool_returning_dict.yaml +0 -0
- {pydantic_ai-1.0.2 → pydantic_ai-1.0.4}/tests/cassettes/test_mcp/test_tool_returning_error.yaml +0 -0
- {pydantic_ai-1.0.2 → pydantic_ai-1.0.4}/tests/cassettes/test_mcp/test_tool_returning_image.yaml +0 -0
- {pydantic_ai-1.0.2 → pydantic_ai-1.0.4}/tests/cassettes/test_mcp/test_tool_returning_image_resource.yaml +0 -0
- {pydantic_ai-1.0.2 → pydantic_ai-1.0.4}/tests/cassettes/test_mcp/test_tool_returning_image_resource_link.yaml +0 -0
- {pydantic_ai-1.0.2 → pydantic_ai-1.0.4}/tests/cassettes/test_mcp/test_tool_returning_multiple_items.yaml +0 -0
- {pydantic_ai-1.0.2 → pydantic_ai-1.0.4}/tests/cassettes/test_mcp/test_tool_returning_none.yaml +0 -0
- {pydantic_ai-1.0.2 → pydantic_ai-1.0.4}/tests/cassettes/test_mcp/test_tool_returning_str.yaml +0 -0
- {pydantic_ai-1.0.2 → pydantic_ai-1.0.4}/tests/cassettes/test_mcp/test_tool_returning_text_resource.yaml +0 -0
- {pydantic_ai-1.0.2 → pydantic_ai-1.0.4}/tests/cassettes/test_mcp/test_tool_returning_text_resource_link.yaml +0 -0
- {pydantic_ai-1.0.2 → pydantic_ai-1.0.4}/tests/cassettes/test_settings/test_stop_settings[anthropic].yaml +0 -0
- {pydantic_ai-1.0.2 → pydantic_ai-1.0.4}/tests/cassettes/test_settings/test_stop_settings[bedrock].yaml +0 -0
- {pydantic_ai-1.0.2 → pydantic_ai-1.0.4}/tests/cassettes/test_settings/test_stop_settings[cohere].yaml +0 -0
- {pydantic_ai-1.0.2 → pydantic_ai-1.0.4}/tests/cassettes/test_settings/test_stop_settings[gemini].yaml +0 -0
- {pydantic_ai-1.0.2 → pydantic_ai-1.0.4}/tests/cassettes/test_settings/test_stop_settings[google].yaml +0 -0
- {pydantic_ai-1.0.2 → pydantic_ai-1.0.4}/tests/cassettes/test_settings/test_stop_settings[groq].yaml +0 -0
- {pydantic_ai-1.0.2 → pydantic_ai-1.0.4}/tests/cassettes/test_settings/test_stop_settings[mistral].yaml +0 -0
- {pydantic_ai-1.0.2 → pydantic_ai-1.0.4}/tests/cassettes/test_settings/test_stop_settings[openai].yaml +0 -0
- {pydantic_ai-1.0.2 → pydantic_ai-1.0.4}/tests/cassettes/test_temporal/test_complex_agent_run.yaml +0 -0
- {pydantic_ai-1.0.2 → pydantic_ai-1.0.4}/tests/cassettes/test_temporal/test_complex_agent_run_in_workflow.yaml +0 -0
- {pydantic_ai-1.0.2 → pydantic_ai-1.0.4}/tests/cassettes/test_temporal/test_complex_agent_run_stream_in_workflow.yaml +0 -0
- {pydantic_ai-1.0.2 → pydantic_ai-1.0.4}/tests/cassettes/test_temporal/test_logfire_plugin.yaml +0 -0
- {pydantic_ai-1.0.2 → pydantic_ai-1.0.4}/tests/cassettes/test_temporal/test_multiple_agents.yaml +0 -0
- {pydantic_ai-1.0.2 → pydantic_ai-1.0.4}/tests/cassettes/test_temporal/test_simple_agent_run_in_workflow.yaml +0 -0
- {pydantic_ai-1.0.2 → pydantic_ai-1.0.4}/tests/cassettes/test_temporal/test_temporal_agent_iter.yaml +0 -0
- {pydantic_ai-1.0.2 → pydantic_ai-1.0.4}/tests/cassettes/test_temporal/test_temporal_agent_override_deps_in_workflow.yaml +0 -0
- {pydantic_ai-1.0.2 → pydantic_ai-1.0.4}/tests/cassettes/test_temporal/test_temporal_agent_run.yaml +0 -0
- {pydantic_ai-1.0.2 → pydantic_ai-1.0.4}/tests/cassettes/test_temporal/test_temporal_agent_run_stream.yaml +0 -0
- {pydantic_ai-1.0.2 → pydantic_ai-1.0.4}/tests/cassettes/test_temporal/test_temporal_agent_run_sync.yaml +0 -0
- {pydantic_ai-1.0.2 → pydantic_ai-1.0.4}/tests/cassettes/test_temporal/test_temporal_agent_sync_tool_activity_disabled.yaml +0 -0
- {pydantic_ai-1.0.2 → pydantic_ai-1.0.4}/tests/cassettes/test_temporal/test_temporal_agent_with_dataclass_deps_as_dict.yaml +0 -0
- {pydantic_ai-1.0.2 → pydantic_ai-1.0.4}/tests/cassettes/test_temporal/test_temporal_agent_with_hitl_tool.yaml +0 -0
- {pydantic_ai-1.0.2 → pydantic_ai-1.0.4}/tests/cassettes/test_temporal/test_temporal_agent_with_model_retry.yaml +0 -0
- {pydantic_ai-1.0.2 → pydantic_ai-1.0.4}/tests/cassettes/test_temporal/test_temporal_agent_with_non_dict_deps.yaml +0 -0
- {pydantic_ai-1.0.2 → pydantic_ai-1.0.4}/tests/cassettes/test_temporal/test_temporal_agent_with_unserializable_deps_type.yaml +0 -0
- {pydantic_ai-1.0.2 → pydantic_ai-1.0.4}/tests/conftest.py +0 -0
- {pydantic_ai-1.0.2 → pydantic_ai-1.0.4}/tests/evals/__init__.py +0 -0
- {pydantic_ai-1.0.2 → pydantic_ai-1.0.4}/tests/evals/test_dataset.py +0 -0
- {pydantic_ai-1.0.2 → pydantic_ai-1.0.4}/tests/evals/test_evaluator_base.py +0 -0
- {pydantic_ai-1.0.2 → pydantic_ai-1.0.4}/tests/evals/test_evaluator_common.py +0 -0
- {pydantic_ai-1.0.2 → pydantic_ai-1.0.4}/tests/evals/test_evaluator_context.py +0 -0
- {pydantic_ai-1.0.2 → pydantic_ai-1.0.4}/tests/evals/test_evaluator_spec.py +0 -0
- {pydantic_ai-1.0.2 → pydantic_ai-1.0.4}/tests/evals/test_evaluators.py +0 -0
- {pydantic_ai-1.0.2 → pydantic_ai-1.0.4}/tests/evals/test_llm_as_a_judge.py +0 -0
- {pydantic_ai-1.0.2 → pydantic_ai-1.0.4}/tests/evals/test_otel.py +0 -0
- {pydantic_ai-1.0.2 → pydantic_ai-1.0.4}/tests/evals/test_render_numbers.py +0 -0
- {pydantic_ai-1.0.2 → pydantic_ai-1.0.4}/tests/evals/test_reporting.py +0 -0
- {pydantic_ai-1.0.2 → pydantic_ai-1.0.4}/tests/evals/test_reports.py +0 -0
- {pydantic_ai-1.0.2 → pydantic_ai-1.0.4}/tests/evals/test_utils.py +0 -0
- {pydantic_ai-1.0.2 → pydantic_ai-1.0.4}/tests/evals/utils.py +0 -0
- {pydantic_ai-1.0.2 → pydantic_ai-1.0.4}/tests/example_modules/README.md +0 -0
- {pydantic_ai-1.0.2 → pydantic_ai-1.0.4}/tests/example_modules/bank_database.py +0 -0
- {pydantic_ai-1.0.2 → pydantic_ai-1.0.4}/tests/example_modules/fake_database.py +0 -0
- {pydantic_ai-1.0.2 → pydantic_ai-1.0.4}/tests/example_modules/mcp_server.py +0 -0
- {pydantic_ai-1.0.2 → pydantic_ai-1.0.4}/tests/example_modules/weather_service.py +0 -0
- {pydantic_ai-1.0.2 → pydantic_ai-1.0.4}/tests/ext/__init__.py +0 -0
- {pydantic_ai-1.0.2 → pydantic_ai-1.0.4}/tests/ext/test_langchain.py +0 -0
- {pydantic_ai-1.0.2 → pydantic_ai-1.0.4}/tests/graph/__init__.py +0 -0
- {pydantic_ai-1.0.2 → pydantic_ai-1.0.4}/tests/graph/test_file_persistence.py +0 -0
- {pydantic_ai-1.0.2 → pydantic_ai-1.0.4}/tests/graph/test_graph.py +0 -0
- {pydantic_ai-1.0.2 → pydantic_ai-1.0.4}/tests/graph/test_mermaid.py +0 -0
- {pydantic_ai-1.0.2 → pydantic_ai-1.0.4}/tests/graph/test_persistence.py +0 -0
- {pydantic_ai-1.0.2 → pydantic_ai-1.0.4}/tests/graph/test_state.py +0 -0
- {pydantic_ai-1.0.2 → pydantic_ai-1.0.4}/tests/graph/test_utils.py +0 -0
- {pydantic_ai-1.0.2 → pydantic_ai-1.0.4}/tests/import_examples.py +0 -0
- {pydantic_ai-1.0.2 → pydantic_ai-1.0.4}/tests/json_body_serializer.py +0 -0
- {pydantic_ai-1.0.2 → pydantic_ai-1.0.4}/tests/mcp_server.py +0 -0
- {pydantic_ai-1.0.2 → pydantic_ai-1.0.4}/tests/models/__init__.py +0 -0
- {pydantic_ai-1.0.2 → pydantic_ai-1.0.4}/tests/models/cassettes/test_anthropic/test_anthropic_code_execution_tool.yaml +0 -0
- {pydantic_ai-1.0.2 → pydantic_ai-1.0.4}/tests/models/cassettes/test_anthropic/test_anthropic_model_empty_message_on_history.yaml +0 -0
- {pydantic_ai-1.0.2 → pydantic_ai-1.0.4}/tests/models/cassettes/test_anthropic/test_anthropic_model_instructions.yaml +0 -0
- {pydantic_ai-1.0.2 → pydantic_ai-1.0.4}/tests/models/cassettes/test_anthropic/test_anthropic_model_thinking_part.yaml +0 -0
- {pydantic_ai-1.0.2 → pydantic_ai-1.0.4}/tests/models/cassettes/test_anthropic/test_anthropic_model_thinking_part_stream.yaml +0 -0
- {pydantic_ai-1.0.2 → pydantic_ai-1.0.4}/tests/models/cassettes/test_anthropic/test_anthropic_prompted_output.yaml +0 -0
- {pydantic_ai-1.0.2 → pydantic_ai-1.0.4}/tests/models/cassettes/test_anthropic/test_anthropic_prompted_output_multiple.yaml +0 -0
- {pydantic_ai-1.0.2 → pydantic_ai-1.0.4}/tests/models/cassettes/test_anthropic/test_anthropic_server_tool_pass_history_to_another_provider.yaml +0 -0
- {pydantic_ai-1.0.2 → pydantic_ai-1.0.4}/tests/models/cassettes/test_anthropic/test_anthropic_server_tool_receive_history_from_another_provider.yaml +0 -0
- {pydantic_ai-1.0.2 → pydantic_ai-1.0.4}/tests/models/cassettes/test_anthropic/test_anthropic_text_output_function.yaml +0 -0
- {pydantic_ai-1.0.2 → pydantic_ai-1.0.4}/tests/models/cassettes/test_anthropic/test_anthropic_tool_output.yaml +0 -0
- {pydantic_ai-1.0.2 → pydantic_ai-1.0.4}/tests/models/cassettes/test_anthropic/test_anthropic_tool_with_thinking.yaml +0 -0
- {pydantic_ai-1.0.2 → pydantic_ai-1.0.4}/tests/models/cassettes/test_anthropic/test_anthropic_web_search_tool.yaml +0 -0
- {pydantic_ai-1.0.2 → pydantic_ai-1.0.4}/tests/models/cassettes/test_anthropic/test_anthropic_web_search_tool_stream.yaml +0 -0
- {pydantic_ai-1.0.2 → pydantic_ai-1.0.4}/tests/models/cassettes/test_anthropic/test_document_binary_content_input.yaml +0 -0
- {pydantic_ai-1.0.2 → pydantic_ai-1.0.4}/tests/models/cassettes/test_anthropic/test_document_url_input.yaml +0 -0
- {pydantic_ai-1.0.2 → pydantic_ai-1.0.4}/tests/models/cassettes/test_anthropic/test_extra_headers.yaml +0 -0
- {pydantic_ai-1.0.2 → pydantic_ai-1.0.4}/tests/models/cassettes/test_anthropic/test_image_as_binary_content_tool_response.yaml +0 -0
- {pydantic_ai-1.0.2 → pydantic_ai-1.0.4}/tests/models/cassettes/test_anthropic/test_image_url_input.yaml +0 -0
- {pydantic_ai-1.0.2 → pydantic_ai-1.0.4}/tests/models/cassettes/test_anthropic/test_image_url_input_invalid_mime_type.yaml +0 -0
- {pydantic_ai-1.0.2 → pydantic_ai-1.0.4}/tests/models/cassettes/test_anthropic/test_multiple_parallel_tool_calls.yaml +0 -0
- {pydantic_ai-1.0.2 → pydantic_ai-1.0.4}/tests/models/cassettes/test_anthropic/test_text_document_url_input.yaml +0 -0
- {pydantic_ai-1.0.2 → pydantic_ai-1.0.4}/tests/models/cassettes/test_bedrock/test_bedrock_anthropic_tool_with_thinking.yaml +0 -0
- {pydantic_ai-1.0.2 → pydantic_ai-1.0.4}/tests/models/cassettes/test_bedrock/test_bedrock_empty_system_prompt.yaml +0 -0
- {pydantic_ai-1.0.2 → pydantic_ai-1.0.4}/tests/models/cassettes/test_bedrock/test_bedrock_model.yaml +0 -0
- {pydantic_ai-1.0.2 → pydantic_ai-1.0.4}/tests/models/cassettes/test_bedrock/test_bedrock_model_anthropic_model_without_tools.yaml +0 -0
- {pydantic_ai-1.0.2 → pydantic_ai-1.0.4}/tests/models/cassettes/test_bedrock/test_bedrock_model_guardrail_config.yaml +0 -0
- {pydantic_ai-1.0.2 → pydantic_ai-1.0.4}/tests/models/cassettes/test_bedrock/test_bedrock_model_instructions.yaml +0 -0
- {pydantic_ai-1.0.2 → pydantic_ai-1.0.4}/tests/models/cassettes/test_bedrock/test_bedrock_model_iter_stream.yaml +0 -0
- {pydantic_ai-1.0.2 → pydantic_ai-1.0.4}/tests/models/cassettes/test_bedrock/test_bedrock_model_max_tokens.yaml +0 -0
- {pydantic_ai-1.0.2 → pydantic_ai-1.0.4}/tests/models/cassettes/test_bedrock/test_bedrock_model_other_parameters.yaml +0 -0
- {pydantic_ai-1.0.2 → pydantic_ai-1.0.4}/tests/models/cassettes/test_bedrock/test_bedrock_model_performance_config.yaml +0 -0
- {pydantic_ai-1.0.2 → pydantic_ai-1.0.4}/tests/models/cassettes/test_bedrock/test_bedrock_model_retry.yaml +0 -0
- {pydantic_ai-1.0.2 → pydantic_ai-1.0.4}/tests/models/cassettes/test_bedrock/test_bedrock_model_stream.yaml +0 -0
- {pydantic_ai-1.0.2 → pydantic_ai-1.0.4}/tests/models/cassettes/test_bedrock/test_bedrock_model_structured_output.yaml +0 -0
- {pydantic_ai-1.0.2 → pydantic_ai-1.0.4}/tests/models/cassettes/test_bedrock/test_bedrock_model_thinking_part_stream.yaml +0 -0
- {pydantic_ai-1.0.2 → pydantic_ai-1.0.4}/tests/models/cassettes/test_bedrock/test_bedrock_model_top_p.yaml +0 -0
- {pydantic_ai-1.0.2 → pydantic_ai-1.0.4}/tests/models/cassettes/test_bedrock/test_bedrock_multiple_documents_in_history.yaml +0 -0
- {pydantic_ai-1.0.2 → pydantic_ai-1.0.4}/tests/models/cassettes/test_bedrock/test_document_url_input.yaml +0 -0
- {pydantic_ai-1.0.2 → pydantic_ai-1.0.4}/tests/models/cassettes/test_bedrock/test_image_as_binary_content_input.yaml +0 -0
- {pydantic_ai-1.0.2 → pydantic_ai-1.0.4}/tests/models/cassettes/test_bedrock/test_image_url_input.yaml +0 -0
- {pydantic_ai-1.0.2 → pydantic_ai-1.0.4}/tests/models/cassettes/test_bedrock/test_text_as_binary_content_input.yaml +0 -0
- {pydantic_ai-1.0.2 → pydantic_ai-1.0.4}/tests/models/cassettes/test_bedrock/test_text_document_url_input.yaml +0 -0
- {pydantic_ai-1.0.2 → pydantic_ai-1.0.4}/tests/models/cassettes/test_bedrock/test_video_as_binary_content_input.yaml +0 -0
- {pydantic_ai-1.0.2 → pydantic_ai-1.0.4}/tests/models/cassettes/test_bedrock/test_video_url_input.yaml +0 -0
- {pydantic_ai-1.0.2 → pydantic_ai-1.0.4}/tests/models/cassettes/test_cohere/test_cohere_model_instructions.yaml +0 -0
- {pydantic_ai-1.0.2 → pydantic_ai-1.0.4}/tests/models/cassettes/test_cohere/test_request_simple_success_with_vcr.yaml +0 -0
- {pydantic_ai-1.0.2 → pydantic_ai-1.0.4}/tests/models/cassettes/test_deepseek/test_deepseek_model_thinking_part.yaml +0 -0
- {pydantic_ai-1.0.2 → pydantic_ai-1.0.4}/tests/models/cassettes/test_deepseek/test_deepseek_model_thinking_stream.yaml +0 -0
- {pydantic_ai-1.0.2 → pydantic_ai-1.0.4}/tests/models/cassettes/test_download_item/test_download_item_application_octet_stream.yaml +0 -0
- {pydantic_ai-1.0.2 → pydantic_ai-1.0.4}/tests/models/cassettes/test_download_item/test_download_item_audio_mpeg.yaml +0 -0
- {pydantic_ai-1.0.2 → pydantic_ai-1.0.4}/tests/models/cassettes/test_download_item/test_download_item_no_content_type.yaml +0 -0
- {pydantic_ai-1.0.2 → pydantic_ai-1.0.4}/tests/models/cassettes/test_gemini/test_document_url_input.yaml +0 -0
- {pydantic_ai-1.0.2 → pydantic_ai-1.0.4}/tests/models/cassettes/test_gemini/test_gemini_additional_properties_is_false.yaml +0 -0
- {pydantic_ai-1.0.2 → pydantic_ai-1.0.4}/tests/models/cassettes/test_gemini/test_gemini_additional_properties_is_true.yaml +0 -0
- {pydantic_ai-1.0.2 → pydantic_ai-1.0.4}/tests/models/cassettes/test_gemini/test_gemini_drop_exclusive_maximum.yaml +0 -0
- {pydantic_ai-1.0.2 → pydantic_ai-1.0.4}/tests/models/cassettes/test_gemini/test_gemini_exclusive_minimum_and_maximum.yaml +0 -0
- {pydantic_ai-1.0.2 → pydantic_ai-1.0.4}/tests/models/cassettes/test_gemini/test_gemini_model_instructions.yaml +0 -0
- {pydantic_ai-1.0.2 → pydantic_ai-1.0.4}/tests/models/cassettes/test_gemini/test_gemini_model_thinking_part.yaml +0 -0
- {pydantic_ai-1.0.2 → pydantic_ai-1.0.4}/tests/models/cassettes/test_gemini/test_gemini_native_output.yaml +0 -0
- {pydantic_ai-1.0.2 → pydantic_ai-1.0.4}/tests/models/cassettes/test_gemini/test_gemini_native_output_multiple.yaml +0 -0
- {pydantic_ai-1.0.2 → pydantic_ai-1.0.4}/tests/models/cassettes/test_gemini/test_gemini_prompted_output.yaml +0 -0
- {pydantic_ai-1.0.2 → pydantic_ai-1.0.4}/tests/models/cassettes/test_gemini/test_gemini_prompted_output_multiple.yaml +0 -0
- {pydantic_ai-1.0.2 → pydantic_ai-1.0.4}/tests/models/cassettes/test_gemini/test_gemini_prompted_output_with_tools.yaml +0 -0
- {pydantic_ai-1.0.2 → pydantic_ai-1.0.4}/tests/models/cassettes/test_gemini/test_gemini_text_output_function.yaml +0 -0
- {pydantic_ai-1.0.2 → pydantic_ai-1.0.4}/tests/models/cassettes/test_gemini/test_gemini_tool_config_any_with_tool_without_args.yaml +0 -0
- {pydantic_ai-1.0.2 → pydantic_ai-1.0.4}/tests/models/cassettes/test_gemini/test_gemini_tool_output.yaml +0 -0
- {pydantic_ai-1.0.2 → pydantic_ai-1.0.4}/tests/models/cassettes/test_gemini/test_gemini_youtube_video_url_input.yaml +0 -0
- {pydantic_ai-1.0.2 → pydantic_ai-1.0.4}/tests/models/cassettes/test_gemini/test_image_as_binary_content_input.yaml +0 -0
- {pydantic_ai-1.0.2 → pydantic_ai-1.0.4}/tests/models/cassettes/test_gemini/test_image_as_binary_content_tool_response.yaml +0 -0
- {pydantic_ai-1.0.2 → pydantic_ai-1.0.4}/tests/models/cassettes/test_gemini/test_image_url_input.yaml +0 -0
- {pydantic_ai-1.0.2 → pydantic_ai-1.0.4}/tests/models/cassettes/test_gemini/test_labels_are_ignored_with_gla_provider.yaml +0 -0
- {pydantic_ai-1.0.2 → pydantic_ai-1.0.4}/tests/models/cassettes/test_gemini/test_video_as_binary_content_input.yaml +0 -0
- {pydantic_ai-1.0.2 → pydantic_ai-1.0.4}/tests/models/cassettes/test_gemini/test_video_url_input.yaml +0 -0
- {pydantic_ai-1.0.2 → pydantic_ai-1.0.4}/tests/models/cassettes/test_gemini_vertex/test_labels.yaml +0 -0
- {pydantic_ai-1.0.2 → pydantic_ai-1.0.4}/tests/models/cassettes/test_gemini_vertex/test_url_input[AudioUrl (gs)].yaml +0 -0
- {pydantic_ai-1.0.2 → pydantic_ai-1.0.4}/tests/models/cassettes/test_gemini_vertex/test_url_input[AudioUrl].yaml +0 -0
- {pydantic_ai-1.0.2 → pydantic_ai-1.0.4}/tests/models/cassettes/test_gemini_vertex/test_url_input[DocumentUrl (gs)].yaml +0 -0
- {pydantic_ai-1.0.2 → pydantic_ai-1.0.4}/tests/models/cassettes/test_gemini_vertex/test_url_input[DocumentUrl].yaml +0 -0
- {pydantic_ai-1.0.2 → pydantic_ai-1.0.4}/tests/models/cassettes/test_gemini_vertex/test_url_input[ImageUrl (gs)].yaml +0 -0
- {pydantic_ai-1.0.2 → pydantic_ai-1.0.4}/tests/models/cassettes/test_gemini_vertex/test_url_input[ImageUrl].yaml +0 -0
- {pydantic_ai-1.0.2 → pydantic_ai-1.0.4}/tests/models/cassettes/test_gemini_vertex/test_url_input[VideoUrl (YouTube)].yaml +0 -0
- {pydantic_ai-1.0.2 → pydantic_ai-1.0.4}/tests/models/cassettes/test_gemini_vertex/test_url_input[VideoUrl (gs)].yaml +0 -0
- {pydantic_ai-1.0.2 → pydantic_ai-1.0.4}/tests/models/cassettes/test_gemini_vertex/test_url_input[VideoUrl].yaml +0 -0
- {pydantic_ai-1.0.2 → pydantic_ai-1.0.4}/tests/models/cassettes/test_gemini_vertex/test_url_input_force_download.yaml +0 -0
- {pydantic_ai-1.0.2 → pydantic_ai-1.0.4}/tests/models/cassettes/test_google/test_google_builtin_tools_with_other_tools.yaml +0 -0
- {pydantic_ai-1.0.2 → pydantic_ai-1.0.4}/tests/models/cassettes/test_google/test_google_model.yaml +0 -0
- {pydantic_ai-1.0.2 → pydantic_ai-1.0.4}/tests/models/cassettes/test_google/test_google_model_builtin_code_execution_stream.yaml +0 -0
- {pydantic_ai-1.0.2 → pydantic_ai-1.0.4}/tests/models/cassettes/test_google/test_google_model_code_execution_tool.yaml +0 -0
- {pydantic_ai-1.0.2 → pydantic_ai-1.0.4}/tests/models/cassettes/test_google/test_google_model_document_url_input.yaml +0 -0
- {pydantic_ai-1.0.2 → pydantic_ai-1.0.4}/tests/models/cassettes/test_google/test_google_model_empty_assistant_response.yaml +0 -0
- {pydantic_ai-1.0.2 → pydantic_ai-1.0.4}/tests/models/cassettes/test_google/test_google_model_empty_user_prompt.yaml +0 -0
- {pydantic_ai-1.0.2 → pydantic_ai-1.0.4}/tests/models/cassettes/test_google/test_google_model_image_as_binary_content_input.yaml +0 -0
- {pydantic_ai-1.0.2 → pydantic_ai-1.0.4}/tests/models/cassettes/test_google/test_google_model_image_url_input.yaml +0 -0
- {pydantic_ai-1.0.2 → pydantic_ai-1.0.4}/tests/models/cassettes/test_google/test_google_model_instructions.yaml +0 -0
- {pydantic_ai-1.0.2 → pydantic_ai-1.0.4}/tests/models/cassettes/test_google/test_google_model_iter_stream.yaml +0 -0
- {pydantic_ai-1.0.2 → pydantic_ai-1.0.4}/tests/models/cassettes/test_google/test_google_model_max_tokens.yaml +0 -0
- {pydantic_ai-1.0.2 → pydantic_ai-1.0.4}/tests/models/cassettes/test_google/test_google_model_multiple_documents_in_history.yaml +0 -0
- {pydantic_ai-1.0.2 → pydantic_ai-1.0.4}/tests/models/cassettes/test_google/test_google_model_receive_web_search_history_from_another_provider.yaml +0 -0
- {pydantic_ai-1.0.2 → pydantic_ai-1.0.4}/tests/models/cassettes/test_google/test_google_model_retry.yaml +0 -0
- {pydantic_ai-1.0.2 → pydantic_ai-1.0.4}/tests/models/cassettes/test_google/test_google_model_safety_settings.yaml +0 -0
- {pydantic_ai-1.0.2 → pydantic_ai-1.0.4}/tests/models/cassettes/test_google/test_google_model_server_tool_receive_history_from_another_provider.yaml +0 -0
- {pydantic_ai-1.0.2 → pydantic_ai-1.0.4}/tests/models/cassettes/test_google/test_google_model_stream.yaml +0 -0
- {pydantic_ai-1.0.2 → pydantic_ai-1.0.4}/tests/models/cassettes/test_google/test_google_model_structured_output.yaml +0 -0
- {pydantic_ai-1.0.2 → pydantic_ai-1.0.4}/tests/models/cassettes/test_google/test_google_model_text_as_binary_content_input.yaml +0 -0
- {pydantic_ai-1.0.2 → pydantic_ai-1.0.4}/tests/models/cassettes/test_google/test_google_model_text_document_url_input.yaml +0 -0
- {pydantic_ai-1.0.2 → pydantic_ai-1.0.4}/tests/models/cassettes/test_google/test_google_model_thinking_config.yaml +0 -0
- {pydantic_ai-1.0.2 → pydantic_ai-1.0.4}/tests/models/cassettes/test_google/test_google_model_top_p.yaml +0 -0
- {pydantic_ai-1.0.2 → pydantic_ai-1.0.4}/tests/models/cassettes/test_google/test_google_model_url_context_tool.yaml +0 -0
- {pydantic_ai-1.0.2 → pydantic_ai-1.0.4}/tests/models/cassettes/test_google/test_google_model_usage_limit_exceeded.yaml +0 -0
- {pydantic_ai-1.0.2 → pydantic_ai-1.0.4}/tests/models/cassettes/test_google/test_google_model_usage_limit_not_exceeded.yaml +0 -0
- {pydantic_ai-1.0.2 → pydantic_ai-1.0.4}/tests/models/cassettes/test_google/test_google_model_vertex_labels.yaml +0 -0
- {pydantic_ai-1.0.2 → pydantic_ai-1.0.4}/tests/models/cassettes/test_google/test_google_model_vertex_provider.yaml +0 -0
- {pydantic_ai-1.0.2 → pydantic_ai-1.0.4}/tests/models/cassettes/test_google/test_google_model_video_as_binary_content_input.yaml +0 -0
- {pydantic_ai-1.0.2 → pydantic_ai-1.0.4}/tests/models/cassettes/test_google/test_google_model_video_as_binary_content_input_with_vendor_metadata.yaml +0 -0
- {pydantic_ai-1.0.2 → pydantic_ai-1.0.4}/tests/models/cassettes/test_google/test_google_model_video_url_input.yaml +0 -0
- {pydantic_ai-1.0.2 → pydantic_ai-1.0.4}/tests/models/cassettes/test_google/test_google_model_web_search_tool.yaml +0 -0
- {pydantic_ai-1.0.2 → pydantic_ai-1.0.4}/tests/models/cassettes/test_google/test_google_model_youtube_video_url_input_with_vendor_metadata.yaml +0 -0
- {pydantic_ai-1.0.2 → pydantic_ai-1.0.4}/tests/models/cassettes/test_google/test_google_native_output.yaml +0 -0
- {pydantic_ai-1.0.2 → pydantic_ai-1.0.4}/tests/models/cassettes/test_google/test_google_native_output_multiple.yaml +0 -0
- {pydantic_ai-1.0.2 → pydantic_ai-1.0.4}/tests/models/cassettes/test_google/test_google_prompted_output.yaml +0 -0
- {pydantic_ai-1.0.2 → pydantic_ai-1.0.4}/tests/models/cassettes/test_google/test_google_prompted_output_multiple.yaml +0 -0
- {pydantic_ai-1.0.2 → pydantic_ai-1.0.4}/tests/models/cassettes/test_google/test_google_prompted_output_with_tools.yaml +0 -0
- {pydantic_ai-1.0.2 → pydantic_ai-1.0.4}/tests/models/cassettes/test_google/test_google_text_output_function.yaml +0 -0
- {pydantic_ai-1.0.2 → pydantic_ai-1.0.4}/tests/models/cassettes/test_google/test_google_timeout.yaml +0 -0
- {pydantic_ai-1.0.2 → pydantic_ai-1.0.4}/tests/models/cassettes/test_google/test_google_tool_config_any_with_tool_without_args.yaml +0 -0
- {pydantic_ai-1.0.2 → pydantic_ai-1.0.4}/tests/models/cassettes/test_google/test_google_tool_output.yaml +0 -0
- {pydantic_ai-1.0.2 → pydantic_ai-1.0.4}/tests/models/cassettes/test_google/test_google_url_input[AudioUrl (gs)].yaml +0 -0
- {pydantic_ai-1.0.2 → pydantic_ai-1.0.4}/tests/models/cassettes/test_google/test_google_url_input[AudioUrl].yaml +0 -0
- {pydantic_ai-1.0.2 → pydantic_ai-1.0.4}/tests/models/cassettes/test_google/test_google_url_input[DocumentUrl (gs)].yaml +0 -0
- {pydantic_ai-1.0.2 → pydantic_ai-1.0.4}/tests/models/cassettes/test_google/test_google_url_input[DocumentUrl].yaml +0 -0
- {pydantic_ai-1.0.2 → pydantic_ai-1.0.4}/tests/models/cassettes/test_google/test_google_url_input[ImageUrl (gs)].yaml +0 -0
- {pydantic_ai-1.0.2 → pydantic_ai-1.0.4}/tests/models/cassettes/test_google/test_google_url_input[ImageUrl].yaml +0 -0
- {pydantic_ai-1.0.2 → pydantic_ai-1.0.4}/tests/models/cassettes/test_google/test_google_url_input[VideoUrl (YouTube)].yaml +0 -0
- {pydantic_ai-1.0.2 → pydantic_ai-1.0.4}/tests/models/cassettes/test_google/test_google_url_input[VideoUrl (gs)].yaml +0 -0
- {pydantic_ai-1.0.2 → pydantic_ai-1.0.4}/tests/models/cassettes/test_google/test_google_url_input[VideoUrl].yaml +0 -0
- {pydantic_ai-1.0.2 → pydantic_ai-1.0.4}/tests/models/cassettes/test_google/test_google_url_input_force_download.yaml +0 -0
- {pydantic_ai-1.0.2 → pydantic_ai-1.0.4}/tests/models/cassettes/test_google/test_google_vertexai_model_usage_limit_exceeded.yaml +0 -0
- {pydantic_ai-1.0.2 → pydantic_ai-1.0.4}/tests/models/cassettes/test_groq/test_extra_headers.yaml +0 -0
- {pydantic_ai-1.0.2 → pydantic_ai-1.0.4}/tests/models/cassettes/test_groq/test_groq_model_instructions.yaml +0 -0
- {pydantic_ai-1.0.2 → pydantic_ai-1.0.4}/tests/models/cassettes/test_groq/test_groq_model_thinking_part.yaml +0 -0
- {pydantic_ai-1.0.2 → pydantic_ai-1.0.4}/tests/models/cassettes/test_groq/test_groq_model_thinking_part_iter.yaml +0 -0
- {pydantic_ai-1.0.2 → pydantic_ai-1.0.4}/tests/models/cassettes/test_groq/test_groq_model_web_search_tool.yaml +0 -0
- {pydantic_ai-1.0.2 → pydantic_ai-1.0.4}/tests/models/cassettes/test_groq/test_groq_native_output.yaml +0 -0
- {pydantic_ai-1.0.2 → pydantic_ai-1.0.4}/tests/models/cassettes/test_groq/test_groq_prompted_output.yaml +0 -0
- {pydantic_ai-1.0.2 → pydantic_ai-1.0.4}/tests/models/cassettes/test_groq/test_image_as_binary_content_input.yaml +0 -0
- {pydantic_ai-1.0.2 → pydantic_ai-1.0.4}/tests/models/cassettes/test_groq/test_image_as_binary_content_tool_response.yaml +0 -0
- {pydantic_ai-1.0.2 → pydantic_ai-1.0.4}/tests/models/cassettes/test_groq/test_image_url_input.yaml +0 -0
- {pydantic_ai-1.0.2 → pydantic_ai-1.0.4}/tests/models/cassettes/test_groq/test_tool_regular_error.yaml +0 -0
- {pydantic_ai-1.0.2 → pydantic_ai-1.0.4}/tests/models/cassettes/test_groq/test_tool_use_failed_error.yaml +0 -0
- {pydantic_ai-1.0.2 → pydantic_ai-1.0.4}/tests/models/cassettes/test_groq/test_tool_use_failed_error_streaming.yaml +0 -0
- {pydantic_ai-1.0.2 → pydantic_ai-1.0.4}/tests/models/cassettes/test_huggingface/test_hf_model_instructions.yaml +0 -0
- {pydantic_ai-1.0.2 → pydantic_ai-1.0.4}/tests/models/cassettes/test_huggingface/test_hf_model_thinking_part.yaml +0 -0
- {pydantic_ai-1.0.2 → pydantic_ai-1.0.4}/tests/models/cassettes/test_huggingface/test_hf_model_thinking_part_iter.yaml +0 -0
- {pydantic_ai-1.0.2 → pydantic_ai-1.0.4}/tests/models/cassettes/test_huggingface/test_image_as_binary_content_input.yaml +0 -0
- {pydantic_ai-1.0.2 → pydantic_ai-1.0.4}/tests/models/cassettes/test_huggingface/test_image_url_input.yaml +0 -0
- {pydantic_ai-1.0.2 → pydantic_ai-1.0.4}/tests/models/cassettes/test_huggingface/test_max_completion_tokens[Qwen-Qwen2.5-72B-Instruct].yaml +0 -0
- {pydantic_ai-1.0.2 → pydantic_ai-1.0.4}/tests/models/cassettes/test_huggingface/test_max_completion_tokens[deepseek-ai-DeepSeek-R1-0528].yaml +0 -0
- {pydantic_ai-1.0.2 → pydantic_ai-1.0.4}/tests/models/cassettes/test_huggingface/test_max_completion_tokens[meta-llama-Llama-3.3-70B-Instruct].yaml +0 -0
- {pydantic_ai-1.0.2 → pydantic_ai-1.0.4}/tests/models/cassettes/test_huggingface/test_request_simple_success_with_vcr.yaml +0 -0
- {pydantic_ai-1.0.2 → pydantic_ai-1.0.4}/tests/models/cassettes/test_huggingface/test_request_simple_usage.yaml +0 -0
- {pydantic_ai-1.0.2 → pydantic_ai-1.0.4}/tests/models/cassettes/test_huggingface/test_simple_completion.yaml +0 -0
- {pydantic_ai-1.0.2 → pydantic_ai-1.0.4}/tests/models/cassettes/test_huggingface/test_stream_completion.yaml +0 -0
- {pydantic_ai-1.0.2 → pydantic_ai-1.0.4}/tests/models/cassettes/test_mistral/test_image_as_binary_content_tool_response.yaml +0 -0
- {pydantic_ai-1.0.2 → pydantic_ai-1.0.4}/tests/models/cassettes/test_mistral/test_mistral_model_instructions.yaml +0 -0
- {pydantic_ai-1.0.2 → pydantic_ai-1.0.4}/tests/models/cassettes/test_openai/test_audio_as_binary_content_input.yaml +0 -0
- {pydantic_ai-1.0.2 → pydantic_ai-1.0.4}/tests/models/cassettes/test_openai/test_compatible_api_with_tool_calls_without_id.yaml +0 -0
- {pydantic_ai-1.0.2 → pydantic_ai-1.0.4}/tests/models/cassettes/test_openai/test_document_as_binary_content_input.yaml +0 -0
- {pydantic_ai-1.0.2 → pydantic_ai-1.0.4}/tests/models/cassettes/test_openai/test_document_as_binary_content_input_with_tool.yaml +0 -0
- {pydantic_ai-1.0.2 → pydantic_ai-1.0.4}/tests/models/cassettes/test_openai/test_document_url_input.yaml +0 -0
- {pydantic_ai-1.0.2 → pydantic_ai-1.0.4}/tests/models/cassettes/test_openai/test_extra_headers.yaml +0 -0
- {pydantic_ai-1.0.2 → pydantic_ai-1.0.4}/tests/models/cassettes/test_openai/test_image_as_binary_content_input.yaml +0 -0
- {pydantic_ai-1.0.2 → pydantic_ai-1.0.4}/tests/models/cassettes/test_openai/test_image_as_binary_content_tool_response.yaml +0 -0
- {pydantic_ai-1.0.2 → pydantic_ai-1.0.4}/tests/models/cassettes/test_openai/test_image_url_tool_response.yaml +0 -0
- {pydantic_ai-1.0.2 → pydantic_ai-1.0.4}/tests/models/cassettes/test_openai/test_invalid_response.yaml +0 -0
- {pydantic_ai-1.0.2 → pydantic_ai-1.0.4}/tests/models/cassettes/test_openai/test_max_completion_tokens[gpt-4.5-preview].yaml +0 -0
- {pydantic_ai-1.0.2 → pydantic_ai-1.0.4}/tests/models/cassettes/test_openai/test_max_completion_tokens[gpt-4o-mini].yaml +0 -0
- {pydantic_ai-1.0.2 → pydantic_ai-1.0.4}/tests/models/cassettes/test_openai/test_max_completion_tokens[o3-mini].yaml +0 -0
- {pydantic_ai-1.0.2 → pydantic_ai-1.0.4}/tests/models/cassettes/test_openai/test_multiple_agent_tool_calls.yaml +0 -0
- {pydantic_ai-1.0.2 → pydantic_ai-1.0.4}/tests/models/cassettes/test_openai/test_openai_audio_url_input.yaml +0 -0
- {pydantic_ai-1.0.2 → pydantic_ai-1.0.4}/tests/models/cassettes/test_openai/test_openai_instructions.yaml +0 -0
- {pydantic_ai-1.0.2 → pydantic_ai-1.0.4}/tests/models/cassettes/test_openai/test_openai_instructions_with_tool_calls_keep_instructions.yaml +0 -0
- {pydantic_ai-1.0.2 → pydantic_ai-1.0.4}/tests/models/cassettes/test_openai/test_openai_model_cerebras_provider.yaml +0 -0
- {pydantic_ai-1.0.2 → pydantic_ai-1.0.4}/tests/models/cassettes/test_openai/test_openai_model_cerebras_provider_harmony.yaml +0 -0
- {pydantic_ai-1.0.2 → pydantic_ai-1.0.4}/tests/models/cassettes/test_openai/test_openai_model_cerebras_provider_qwen_3_coder.yaml +0 -0
- {pydantic_ai-1.0.2 → pydantic_ai-1.0.4}/tests/models/cassettes/test_openai/test_openai_model_settings_temperature_ignored_on_gpt_5.yaml +0 -0
- {pydantic_ai-1.0.2 → pydantic_ai-1.0.4}/tests/models/cassettes/test_openai/test_openai_model_without_system_prompt.yaml +0 -0
- {pydantic_ai-1.0.2 → pydantic_ai-1.0.4}/tests/models/cassettes/test_openai/test_openai_native_output.yaml +0 -0
- {pydantic_ai-1.0.2 → pydantic_ai-1.0.4}/tests/models/cassettes/test_openai/test_openai_native_output_multiple.yaml +0 -0
- {pydantic_ai-1.0.2 → pydantic_ai-1.0.4}/tests/models/cassettes/test_openai/test_openai_o1_mini_system_role[developer].yaml +0 -0
- {pydantic_ai-1.0.2 → pydantic_ai-1.0.4}/tests/models/cassettes/test_openai/test_openai_o1_mini_system_role[system].yaml +0 -0
- {pydantic_ai-1.0.2 → pydantic_ai-1.0.4}/tests/models/cassettes/test_openai/test_openai_prompted_output.yaml +0 -0
- {pydantic_ai-1.0.2 → pydantic_ai-1.0.4}/tests/models/cassettes/test_openai/test_openai_prompted_output_multiple.yaml +0 -0
- {pydantic_ai-1.0.2 → pydantic_ai-1.0.4}/tests/models/cassettes/test_openai/test_openai_text_output_function.yaml +0 -0
- {pydantic_ai-1.0.2 → pydantic_ai-1.0.4}/tests/models/cassettes/test_openai/test_openai_tool_output.yaml +0 -0
- {pydantic_ai-1.0.2 → pydantic_ai-1.0.4}/tests/models/cassettes/test_openai/test_openai_web_search_tool.yaml +0 -0
- {pydantic_ai-1.0.2 → pydantic_ai-1.0.4}/tests/models/cassettes/test_openai/test_openai_web_search_tool_model_not_supported.yaml +0 -0
- {pydantic_ai-1.0.2 → pydantic_ai-1.0.4}/tests/models/cassettes/test_openai/test_openai_web_search_tool_with_user_location.yaml +0 -0
- {pydantic_ai-1.0.2 → pydantic_ai-1.0.4}/tests/models/cassettes/test_openai/test_reasoning_model_with_temperature.yaml +0 -0
- {pydantic_ai-1.0.2 → pydantic_ai-1.0.4}/tests/models/cassettes/test_openai/test_system_prompt_role_o1_mini.yaml +0 -0
- {pydantic_ai-1.0.2 → pydantic_ai-1.0.4}/tests/models/cassettes/test_openai/test_text_response.yaml +0 -0
- {pydantic_ai-1.0.2 → pydantic_ai-1.0.4}/tests/models/cassettes/test_openai/test_user_id.yaml +0 -0
- {pydantic_ai-1.0.2 → pydantic_ai-1.0.4}/tests/models/cassettes/test_openai/test_valid_response.yaml +0 -0
- {pydantic_ai-1.0.2 → pydantic_ai-1.0.4}/tests/models/cassettes/test_openai_responses/test_audio_as_binary_content_input.yaml +0 -0
- {pydantic_ai-1.0.2 → pydantic_ai-1.0.4}/tests/models/cassettes/test_openai_responses/test_image_as_binary_content_input.yaml +0 -0
- {pydantic_ai-1.0.2 → pydantic_ai-1.0.4}/tests/models/cassettes/test_openai_responses/test_image_as_binary_content_tool_response.yaml +0 -0
- {pydantic_ai-1.0.2 → pydantic_ai-1.0.4}/tests/models/cassettes/test_openai_responses/test_native_output.yaml +0 -0
- {pydantic_ai-1.0.2 → pydantic_ai-1.0.4}/tests/models/cassettes/test_openai_responses/test_native_output_multiple.yaml +0 -0
- {pydantic_ai-1.0.2 → pydantic_ai-1.0.4}/tests/models/cassettes/test_openai_responses/test_openai_responses_code_execution_tool.yaml +0 -0
- {pydantic_ai-1.0.2 → pydantic_ai-1.0.4}/tests/models/cassettes/test_openai_responses/test_openai_responses_code_execution_tool_stream.yaml +0 -0
- {pydantic_ai-1.0.2 → pydantic_ai-1.0.4}/tests/models/cassettes/test_openai_responses/test_openai_responses_document_as_binary_content_input.yaml +0 -0
- {pydantic_ai-1.0.2 → pydantic_ai-1.0.4}/tests/models/cassettes/test_openai_responses/test_openai_responses_document_url_input.yaml +0 -0
- {pydantic_ai-1.0.2 → pydantic_ai-1.0.4}/tests/models/cassettes/test_openai_responses/test_openai_responses_image_url_input.yaml +0 -0
- {pydantic_ai-1.0.2 → pydantic_ai-1.0.4}/tests/models/cassettes/test_openai_responses/test_openai_responses_model_builtin_tools.yaml +0 -0
- {pydantic_ai-1.0.2 → pydantic_ai-1.0.4}/tests/models/cassettes/test_openai_responses/test_openai_responses_model_http_error.yaml +0 -0
- {pydantic_ai-1.0.2 → pydantic_ai-1.0.4}/tests/models/cassettes/test_openai_responses/test_openai_responses_model_instructions.yaml +0 -0
- {pydantic_ai-1.0.2 → pydantic_ai-1.0.4}/tests/models/cassettes/test_openai_responses/test_openai_responses_model_retry.yaml +0 -0
- {pydantic_ai-1.0.2 → pydantic_ai-1.0.4}/tests/models/cassettes/test_openai_responses/test_openai_responses_model_simple_response_with_tool_call.yaml +0 -0
- {pydantic_ai-1.0.2 → pydantic_ai-1.0.4}/tests/models/cassettes/test_openai_responses/test_openai_responses_model_web_search_tool.yaml +0 -0
- {pydantic_ai-1.0.2 → pydantic_ai-1.0.4}/tests/models/cassettes/test_openai_responses/test_openai_responses_model_web_search_tool_stream.yaml +0 -0
- {pydantic_ai-1.0.2 → pydantic_ai-1.0.4}/tests/models/cassettes/test_openai_responses/test_openai_responses_model_web_search_tool_with_invalid_region.yaml +0 -0
- {pydantic_ai-1.0.2 → pydantic_ai-1.0.4}/tests/models/cassettes/test_openai_responses/test_openai_responses_model_web_search_tool_with_user_location.yaml +0 -0
- {pydantic_ai-1.0.2 → pydantic_ai-1.0.4}/tests/models/cassettes/test_openai_responses/test_openai_responses_output_type.yaml +0 -0
- {pydantic_ai-1.0.2 → pydantic_ai-1.0.4}/tests/models/cassettes/test_openai_responses/test_openai_responses_reasoning_effort.yaml +0 -0
- {pydantic_ai-1.0.2 → pydantic_ai-1.0.4}/tests/models/cassettes/test_openai_responses/test_openai_responses_reasoning_generate_summary.yaml +0 -0
- {pydantic_ai-1.0.2 → pydantic_ai-1.0.4}/tests/models/cassettes/test_openai_responses/test_openai_responses_stream.yaml +0 -0
- {pydantic_ai-1.0.2 → pydantic_ai-1.0.4}/tests/models/cassettes/test_openai_responses/test_openai_responses_system_prompt.yaml +0 -0
- {pydantic_ai-1.0.2 → pydantic_ai-1.0.4}/tests/models/cassettes/test_openai_responses/test_openai_responses_text_document_url_input.yaml +0 -0
- {pydantic_ai-1.0.2 → pydantic_ai-1.0.4}/tests/models/cassettes/test_openai_responses/test_openai_responses_verbosity.yaml +0 -0
- {pydantic_ai-1.0.2 → pydantic_ai-1.0.4}/tests/models/cassettes/test_openai_responses/test_prompted_output.yaml +0 -0
- {pydantic_ai-1.0.2 → pydantic_ai-1.0.4}/tests/models/cassettes/test_openai_responses/test_prompted_output_multiple.yaml +0 -0
- {pydantic_ai-1.0.2 → pydantic_ai-1.0.4}/tests/models/cassettes/test_openai_responses/test_reasoning_model_with_temperature.yaml +0 -0
- {pydantic_ai-1.0.2 → pydantic_ai-1.0.4}/tests/models/cassettes/test_openai_responses/test_text_output_function.yaml +0 -0
- {pydantic_ai-1.0.2 → pydantic_ai-1.0.4}/tests/models/cassettes/test_openai_responses/test_tool_output.yaml +0 -0
- {pydantic_ai-1.0.2 → pydantic_ai-1.0.4}/tests/models/mock_async_stream.py +0 -0
- {pydantic_ai-1.0.2 → pydantic_ai-1.0.4}/tests/models/mock_openai.py +0 -0
- {pydantic_ai-1.0.2 → pydantic_ai-1.0.4}/tests/models/test_download_item.py +0 -0
- {pydantic_ai-1.0.2 → pydantic_ai-1.0.4}/tests/models/test_fallback.py +0 -0
- {pydantic_ai-1.0.2 → pydantic_ai-1.0.4}/tests/models/test_gemini.py +0 -0
- {pydantic_ai-1.0.2 → pydantic_ai-1.0.4}/tests/models/test_gemini_vertex.py +0 -0
- {pydantic_ai-1.0.2 → pydantic_ai-1.0.4}/tests/models/test_instrumented.py +0 -0
- {pydantic_ai-1.0.2 → pydantic_ai-1.0.4}/tests/models/test_mcp_sampling.py +0 -0
- {pydantic_ai-1.0.2 → pydantic_ai-1.0.4}/tests/models/test_model_function.py +0 -0
- {pydantic_ai-1.0.2 → pydantic_ai-1.0.4}/tests/models/test_model_names.py +0 -0
- {pydantic_ai-1.0.2 → pydantic_ai-1.0.4}/tests/models/test_model_request_parameters.py +0 -0
- {pydantic_ai-1.0.2 → pydantic_ai-1.0.4}/tests/models/test_model_settings.py +0 -0
- {pydantic_ai-1.0.2 → pydantic_ai-1.0.4}/tests/models/test_model_test.py +0 -0
- {pydantic_ai-1.0.2 → pydantic_ai-1.0.4}/tests/parts_from_messages.py +0 -0
- {pydantic_ai-1.0.2 → pydantic_ai-1.0.4}/tests/providers/__init__.py +0 -0
- {pydantic_ai-1.0.2 → pydantic_ai-1.0.4}/tests/providers/cassettes/test_azure/test_azure_provider_call.yaml +0 -0
- {pydantic_ai-1.0.2 → pydantic_ai-1.0.4}/tests/providers/cassettes/test_google_vertex/test_vertexai_provider.yaml +0 -0
- {pydantic_ai-1.0.2 → pydantic_ai-1.0.4}/tests/providers/cassettes/test_heroku/test_heroku_model_provider_claude_3_7_sonnet.yaml +0 -0
- {pydantic_ai-1.0.2 → pydantic_ai-1.0.4}/tests/providers/cassettes/test_openrouter/test_openrouter_with_google_model.yaml +0 -0
- {pydantic_ai-1.0.2 → pydantic_ai-1.0.4}/tests/providers/test_anthropic.py +0 -0
- {pydantic_ai-1.0.2 → pydantic_ai-1.0.4}/tests/providers/test_bedrock.py +0 -0
- {pydantic_ai-1.0.2 → pydantic_ai-1.0.4}/tests/providers/test_cerebras.py +0 -0
- {pydantic_ai-1.0.2 → pydantic_ai-1.0.4}/tests/providers/test_cohere.py +0 -0
- {pydantic_ai-1.0.2 → pydantic_ai-1.0.4}/tests/providers/test_deepseek.py +0 -0
- {pydantic_ai-1.0.2 → pydantic_ai-1.0.4}/tests/providers/test_fireworks.py +0 -0
- {pydantic_ai-1.0.2 → pydantic_ai-1.0.4}/tests/providers/test_github.py +0 -0
- {pydantic_ai-1.0.2 → pydantic_ai-1.0.4}/tests/providers/test_google_gla.py +0 -0
- {pydantic_ai-1.0.2 → pydantic_ai-1.0.4}/tests/providers/test_google_vertex.py +0 -0
- {pydantic_ai-1.0.2 → pydantic_ai-1.0.4}/tests/providers/test_grok.py +0 -0
- {pydantic_ai-1.0.2 → pydantic_ai-1.0.4}/tests/providers/test_heroku.py +0 -0
- {pydantic_ai-1.0.2 → pydantic_ai-1.0.4}/tests/providers/test_huggingface.py +0 -0
- {pydantic_ai-1.0.2 → pydantic_ai-1.0.4}/tests/providers/test_litellm.py +0 -0
- {pydantic_ai-1.0.2 → pydantic_ai-1.0.4}/tests/providers/test_mistral.py +0 -0
- {pydantic_ai-1.0.2 → pydantic_ai-1.0.4}/tests/providers/test_moonshotai.py +0 -0
- {pydantic_ai-1.0.2 → pydantic_ai-1.0.4}/tests/providers/test_ollama.py +0 -0
- {pydantic_ai-1.0.2 → pydantic_ai-1.0.4}/tests/providers/test_openai.py +0 -0
- {pydantic_ai-1.0.2 → pydantic_ai-1.0.4}/tests/providers/test_openrouter.py +0 -0
- {pydantic_ai-1.0.2 → pydantic_ai-1.0.4}/tests/providers/test_provider_names.py +0 -0
- {pydantic_ai-1.0.2 → pydantic_ai-1.0.4}/tests/providers/test_together.py +0 -0
- {pydantic_ai-1.0.2 → pydantic_ai-1.0.4}/tests/providers/test_vercel.py +0 -0
- {pydantic_ai-1.0.2 → pydantic_ai-1.0.4}/tests/test_a2a.py +0 -0
- {pydantic_ai-1.0.2 → pydantic_ai-1.0.4}/tests/test_builtin_tools.py +0 -0
- {pydantic_ai-1.0.2 → pydantic_ai-1.0.4}/tests/test_cli.py +0 -0
- {pydantic_ai-1.0.2 → pydantic_ai-1.0.4}/tests/test_deps.py +0 -0
- {pydantic_ai-1.0.2 → pydantic_ai-1.0.4}/tests/test_direct.py +0 -0
- {pydantic_ai-1.0.2 → pydantic_ai-1.0.4}/tests/test_format_as_xml.py +0 -0
- {pydantic_ai-1.0.2 → pydantic_ai-1.0.4}/tests/test_history_processor.py +0 -0
- {pydantic_ai-1.0.2 → pydantic_ai-1.0.4}/tests/test_json_body_serializer.py +0 -0
- {pydantic_ai-1.0.2 → pydantic_ai-1.0.4}/tests/test_logfire.py +0 -0
- {pydantic_ai-1.0.2 → pydantic_ai-1.0.4}/tests/test_parts_manager.py +0 -0
- {pydantic_ai-1.0.2 → pydantic_ai-1.0.4}/tests/test_settings.py +0 -0
- {pydantic_ai-1.0.2 → pydantic_ai-1.0.4}/tests/test_streaming.py +0 -0
- {pydantic_ai-1.0.2 → pydantic_ai-1.0.4}/tests/test_temporal.py +0 -0
- {pydantic_ai-1.0.2 → pydantic_ai-1.0.4}/tests/test_tenacity.py +0 -0
- {pydantic_ai-1.0.2 → pydantic_ai-1.0.4}/tests/test_thinking_part.py +0 -0
- {pydantic_ai-1.0.2 → pydantic_ai-1.0.4}/tests/test_tools.py +0 -0
- {pydantic_ai-1.0.2 → pydantic_ai-1.0.4}/tests/test_toolsets.py +0 -0
- {pydantic_ai-1.0.2 → pydantic_ai-1.0.4}/tests/test_usage_limits.py +0 -0
- {pydantic_ai-1.0.2 → pydantic_ai-1.0.4}/tests/test_utils.py +0 -0
- {pydantic_ai-1.0.2 → pydantic_ai-1.0.4}/tests/typed_agent.py +0 -0
- {pydantic_ai-1.0.2 → pydantic_ai-1.0.4}/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.4
|
|
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
|
|
@@ -27,13 +27,13 @@ Classifier: Topic :: Internet
|
|
|
27
27
|
Classifier: Topic :: Scientific/Engineering :: Artificial Intelligence
|
|
28
28
|
Classifier: Topic :: Software Development :: Libraries :: Python Modules
|
|
29
29
|
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.
|
|
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.4
|
|
31
31
|
Provides-Extra: a2a
|
|
32
32
|
Requires-Dist: fasta2a>=0.4.1; extra == 'a2a'
|
|
33
33
|
Provides-Extra: dbos
|
|
34
|
-
Requires-Dist: pydantic-ai-slim[dbos]==1.0.
|
|
34
|
+
Requires-Dist: pydantic-ai-slim[dbos]==1.0.4; extra == 'dbos'
|
|
35
35
|
Provides-Extra: examples
|
|
36
|
-
Requires-Dist: pydantic-ai-examples==1.0.
|
|
36
|
+
Requires-Dist: pydantic-ai-examples==1.0.4; extra == 'examples'
|
|
37
37
|
Description-Content-Type: text/markdown
|
|
38
38
|
|
|
39
39
|
<div align="center">
|
|
@@ -1,9 +1,19 @@
|
|
|
1
1
|
interactions:
|
|
2
2
|
- request:
|
|
3
3
|
headers:
|
|
4
|
+
accept:
|
|
5
|
+
- '*/*'
|
|
6
|
+
accept-encoding:
|
|
7
|
+
- gzip, deflate
|
|
8
|
+
connection:
|
|
9
|
+
- keep-alive
|
|
10
|
+
content-length:
|
|
11
|
+
- '2820'
|
|
4
12
|
content-type:
|
|
5
13
|
- application/json
|
|
6
|
-
|
|
14
|
+
host:
|
|
15
|
+
- generativelanguage.googleapis.com
|
|
16
|
+
method: POST
|
|
7
17
|
parsed_body:
|
|
8
18
|
contents:
|
|
9
19
|
- parts:
|
|
@@ -77,6 +87,7 @@ interactions:
|
|
|
77
87
|
parameters:
|
|
78
88
|
properties:
|
|
79
89
|
value:
|
|
90
|
+
default: false
|
|
80
91
|
type: BOOLEAN
|
|
81
92
|
type: OBJECT
|
|
82
93
|
- description: ''
|
|
@@ -109,17 +120,26 @@ interactions:
|
|
|
109
120
|
required:
|
|
110
121
|
- foo
|
|
111
122
|
type: OBJECT
|
|
112
|
-
|
|
123
|
+
- description: Use elicitation callback to ask the user a question.
|
|
124
|
+
name: use_elicitation
|
|
125
|
+
parameters:
|
|
126
|
+
properties:
|
|
127
|
+
question:
|
|
128
|
+
type: STRING
|
|
129
|
+
required:
|
|
130
|
+
- question
|
|
131
|
+
type: OBJECT
|
|
132
|
+
uri: https://generativelanguage.googleapis.com/v1beta/models/gemini-2.5-pro:generateContent
|
|
113
133
|
response:
|
|
114
134
|
headers:
|
|
115
135
|
alt-svc:
|
|
116
136
|
- h3=":443"; ma=2592000,h3-29=":443"; ma=2592000
|
|
117
137
|
content-length:
|
|
118
|
-
- '
|
|
138
|
+
- '1507'
|
|
119
139
|
content-type:
|
|
120
140
|
- application/json; charset=UTF-8
|
|
121
141
|
server-timing:
|
|
122
|
-
- gfet4t7; dur=
|
|
142
|
+
- gfet4t7; dur=2384
|
|
123
143
|
transfer-encoding:
|
|
124
144
|
- chunked
|
|
125
145
|
vary:
|
|
@@ -130,47 +150,56 @@ interactions:
|
|
|
130
150
|
candidates:
|
|
131
151
|
- content:
|
|
132
152
|
parts:
|
|
133
|
-
- text: The content of the audio resource is at a link that can be accessed by calling the function `get_audio_resource_link`.
|
|
134
|
-
thoughtSignature: CroGAVSoXO6j4xLFiplrUxAhD6k0wVQlsvqVKDHcFbqBjdLkdJd+h5gAQaxSeziYR8v0x/jTR6ehSM7/NtsWEdpyGPGk49DlofKiIv6sskq8Tk2ga5OzBupXR2ScaDV4SHUncCpVc3KkyaZtoDtpifYYDwBqaDQDLD6jjB5iGJ3ztgrlyE+P9Vc6u4EEyHy8Z+qLrNERWqYecFM4a3dnoSr+utk7fF78eZbWTC54hxG3mar7j41LHiHm4aDAMCXKRk5lBSW5yIahPI+VbyyQRsYBTeqifzhGelln5HV1+/ax2+m1LDYTHfq1bQXvAt3gv6z/wMlBmNgTDeU3X8HvzYoyYmHYP2uJpuUnuZTftDiIeC2o95aXqwsswyuh6etluzR7uWf2G1RaiVaXcCtTRUkDvYlaHppcGy9nsE+88nY4TatIPMfRohsrdupDtVhdhba6Bg+puJaFEIzl6kjbSDj9EWGZEFNEIA+9Wh6u4cSWS5G1kr1H238PQL7QuqATsccz6LWWCSMYwjAMXDvEmaLj88QmBCvwtVCvR9xTlq15TgUgGD5fMheWs0mvXcbs2ZiwsfU8WHmRbrNtzmOP7Johz4BOoIuxOkuJ4ssnnpelp4Q0VG57ZZCZjkVDtnBqGuC3Y8UIwDGlYAooZcul0Jv1Nkv0jBEu6Uvv9Wlgq4RmlixR2m/9GcOevDcbFaNM8Cqw4T4YoytHyQPvlEv6zgz/LEhW1ttav7PLVJsLKkSJRbkFsjiI3SQll7d3HloJ5cyto6tHqnA+AK0KmIhGngBMfHI+jgDpo+XMb8jE7fImycyheml7TTzZSaxC6zCuJ2Eqc2XjNEjqZLvCTNiNSt1oSleDYdotjOSEPz3pqLw3JIGw/6sirVjJZ1lvzwOrU18hTwu0GaIxH6/tnFAbV+ZRR5WOm4eMnMydVqBHTC9erUnSPumjtCjaoxo/VqcVGK4aNPg3CVQnukujel4UP+TMOVEuwBGrkbyrZJdb3FRGgTK0J5vDaTrukJkLhjFnizm3W4JTECD51xKvjBpgT0YLBOsCu+ZWoKuIoFlLsKW6FU8MGOQts9euqcgmEPJW0OqujMTo9JshAKMWlQ==
|
|
135
153
|
- functionCall:
|
|
136
154
|
args: {}
|
|
137
155
|
name: get_audio_resource_link
|
|
156
|
+
thoughtSignature: Cu0EAdHtim/iEdfaraHKrHSS/TNJ8ls71bg4FpUo64uz80/J/vr7RPZxxpyX5sJEg95p8cQ+5YU2KFwfHFeLA7MXkbZyyVTNst8crFcLOaEHY/SfUAQWdaxGsLucv73i6n31NRSRBlOejyKdXzyC0pai39ugvt+BUmwE6/xWGb6jF9OkGRKiN7SqsB0rnJhilJXS7FjtpS+Xx0mQGETPWRtUmrUFoqNYylOVecuyb2bGGm8CaJVhYXfJltuMQmX2XkU5ZA85MbV/TcuVJc7tMK6zMRdYZiQ8hyeMKzvCsLMmzqRqS5kcNF/auBa4GskaHHWBENlCkNIHJ6GpT4EgP4Vel3xnq6A+TroS9qyIdbfDD1qEiX9/ndyvhB9IlBviU5oB5JhtvagPyTmZc9H9BefJi4UJXqsChzvWp6MkyYQ+go4PiOL2CfU3ebNfxbdoLSLvwmhKOZQEPSzTVIar5mlozL8pIuhYaDJajvxualF+8qBk1GkaKvHNhB4jwiMPyEJfThflpVGqgC3GPCXOH5XULiMRfDXZg0e76UffPVq33R0KSuW/GDF2X3T2ddJuI1Z1KtqH4/vJODwxrjUKMbdMb4HU1kn+QOWai6RONdYqdnSEauUle4NJvfSisKhRntixXKJQ+ms2/kwjMdzXB3GhJVlkB9q8K2PNO9ClAy/jHR01ThBgsbLOnJfZ5sdxXrE6n/+a4+LwzfczfOJrRXlzbSXYuPPq4riuXIymaVgBNCeGMYIt5maF0tzT4mez05GyeV1bBhmDJFWBmm2h0+AwbcCAr0dqnEF4rFF91PGAdTC/TH2tghT9JTq3TpLL
|
|
138
157
|
role: model
|
|
139
158
|
finishReason: STOP
|
|
140
159
|
index: 0
|
|
141
|
-
modelVersion:
|
|
142
|
-
responseId:
|
|
160
|
+
modelVersion: gemini-2.5-pro
|
|
161
|
+
responseId: Pe_BaJGqOKSdz7IP0NqogA8
|
|
143
162
|
usageMetadata:
|
|
144
|
-
candidatesTokenCount:
|
|
145
|
-
promptTokenCount:
|
|
163
|
+
candidatesTokenCount: 14
|
|
164
|
+
promptTokenCount: 605
|
|
146
165
|
promptTokensDetails:
|
|
147
166
|
- modality: TEXT
|
|
148
|
-
tokenCount:
|
|
149
|
-
thoughtsTokenCount:
|
|
150
|
-
totalTokenCount:
|
|
167
|
+
tokenCount: 605
|
|
168
|
+
thoughtsTokenCount: 154
|
|
169
|
+
totalTokenCount: 773
|
|
151
170
|
status:
|
|
152
171
|
code: 200
|
|
153
172
|
message: OK
|
|
154
173
|
- request:
|
|
155
174
|
headers:
|
|
175
|
+
accept:
|
|
176
|
+
- '*/*'
|
|
177
|
+
accept-encoding:
|
|
178
|
+
- gzip, deflate
|
|
179
|
+
connection:
|
|
180
|
+
- keep-alive
|
|
181
|
+
content-length:
|
|
182
|
+
- '75906'
|
|
156
183
|
content-type:
|
|
157
184
|
- application/json
|
|
158
|
-
|
|
185
|
+
host:
|
|
186
|
+
- generativelanguage.googleapis.com
|
|
187
|
+
method: POST
|
|
159
188
|
parsed_body:
|
|
160
189
|
contents:
|
|
161
190
|
- parts:
|
|
162
191
|
- text: What's the content of the audio resource via get_audio_resource_link?
|
|
163
192
|
role: user
|
|
164
193
|
- parts:
|
|
165
|
-
- text: The content of the audio resource is at a link that can be accessed by calling the function `get_audio_resource_link`.
|
|
166
194
|
- functionCall:
|
|
167
195
|
args: {}
|
|
168
|
-
id:
|
|
196
|
+
id: pyd_ai_396803870f644840b6ed84639451855c
|
|
169
197
|
name: get_audio_resource_link
|
|
198
|
+
thoughtSignature: Cu0EAdHtim_iEdfaraHKrHSS_TNJ8ls71bg4FpUo64uz80_J_vr7RPZxxpyX5sJEg95p8cQ-5YU2KFwfHFeLA7MXkbZyyVTNst8crFcLOaEHY_SfUAQWdaxGsLucv73i6n31NRSRBlOejyKdXzyC0pai39ugvt-BUmwE6_xWGb6jF9OkGRKiN7SqsB0rnJhilJXS7FjtpS-Xx0mQGETPWRtUmrUFoqNYylOVecuyb2bGGm8CaJVhYXfJltuMQmX2XkU5ZA85MbV_TcuVJc7tMK6zMRdYZiQ8hyeMKzvCsLMmzqRqS5kcNF_auBa4GskaHHWBENlCkNIHJ6GpT4EgP4Vel3xnq6A-TroS9qyIdbfDD1qEiX9_ndyvhB9IlBviU5oB5JhtvagPyTmZc9H9BefJi4UJXqsChzvWp6MkyYQ-go4PiOL2CfU3ebNfxbdoLSLvwmhKOZQEPSzTVIar5mlozL8pIuhYaDJajvxualF-8qBk1GkaKvHNhB4jwiMPyEJfThflpVGqgC3GPCXOH5XULiMRfDXZg0e76UffPVq33R0KSuW_GDF2X3T2ddJuI1Z1KtqH4_vJODwxrjUKMbdMb4HU1kn-QOWai6RONdYqdnSEauUle4NJvfSisKhRntixXKJQ-ms2_kwjMdzXB3GhJVlkB9q8K2PNO9ClAy_jHR01ThBgsbLOnJfZ5sdxXrE6n_-a4-LwzfczfOJrRXlzbSXYuPPq4riuXIymaVgBNCeGMYIt5maF0tzT4mez05GyeV1bBhmDJFWBmm2h0-AwbcCAr0dqnEF4rFF91PGAdTC_TH2tghT9JTq3TpLL
|
|
170
199
|
role: model
|
|
171
200
|
- parts:
|
|
172
201
|
- functionResponse:
|
|
173
|
-
id:
|
|
202
|
+
id: pyd_ai_396803870f644840b6ed84639451855c
|
|
174
203
|
name: get_audio_resource_link
|
|
175
204
|
response:
|
|
176
205
|
return_value: See file 2d36ae
|
|
@@ -247,6 +276,7 @@ interactions:
|
|
|
247
276
|
parameters:
|
|
248
277
|
properties:
|
|
249
278
|
value:
|
|
279
|
+
default: false
|
|
250
280
|
type: BOOLEAN
|
|
251
281
|
type: OBJECT
|
|
252
282
|
- description: ''
|
|
@@ -279,17 +309,26 @@ interactions:
|
|
|
279
309
|
required:
|
|
280
310
|
- foo
|
|
281
311
|
type: OBJECT
|
|
282
|
-
|
|
312
|
+
- description: Use elicitation callback to ask the user a question.
|
|
313
|
+
name: use_elicitation
|
|
314
|
+
parameters:
|
|
315
|
+
properties:
|
|
316
|
+
question:
|
|
317
|
+
type: STRING
|
|
318
|
+
required:
|
|
319
|
+
- question
|
|
320
|
+
type: OBJECT
|
|
321
|
+
uri: https://generativelanguage.googleapis.com/v1beta/models/gemini-2.5-pro:generateContent
|
|
283
322
|
response:
|
|
284
323
|
headers:
|
|
285
324
|
alt-svc:
|
|
286
325
|
- h3=":443"; ma=2592000,h3-29=":443"; ma=2592000
|
|
287
326
|
content-length:
|
|
288
|
-
- '
|
|
327
|
+
- '589'
|
|
289
328
|
content-type:
|
|
290
329
|
- application/json; charset=UTF-8
|
|
291
330
|
server-timing:
|
|
292
|
-
- gfet4t7; dur=
|
|
331
|
+
- gfet4t7; dur=2033
|
|
293
332
|
transfer-encoding:
|
|
294
333
|
- chunked
|
|
295
334
|
vary:
|
|
@@ -304,17 +343,17 @@ interactions:
|
|
|
304
343
|
role: model
|
|
305
344
|
finishReason: STOP
|
|
306
345
|
index: 0
|
|
307
|
-
modelVersion:
|
|
308
|
-
responseId:
|
|
346
|
+
modelVersion: gemini-2.5-pro
|
|
347
|
+
responseId: QO_BaLC6AozQz7IPh5Kj4Q4
|
|
309
348
|
usageMetadata:
|
|
310
349
|
candidatesTokenCount: 5
|
|
311
|
-
promptTokenCount:
|
|
350
|
+
promptTokenCount: 801
|
|
312
351
|
promptTokensDetails:
|
|
313
352
|
- modality: TEXT
|
|
314
|
-
tokenCount:
|
|
353
|
+
tokenCount: 657
|
|
315
354
|
- modality: AUDIO
|
|
316
355
|
tokenCount: 144
|
|
317
|
-
totalTokenCount:
|
|
356
|
+
totalTokenCount: 806
|
|
318
357
|
status:
|
|
319
358
|
code: 200
|
|
320
359
|
message: OK
|
|
@@ -0,0 +1,343 @@
|
|
|
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
|
+
- '249'
|
|
12
|
+
content-type:
|
|
13
|
+
- application/json
|
|
14
|
+
host:
|
|
15
|
+
- api.openai.com
|
|
16
|
+
method: POST
|
|
17
|
+
parsed_body:
|
|
18
|
+
include:
|
|
19
|
+
- reasoning.encrypted_content
|
|
20
|
+
input:
|
|
21
|
+
- content: You are a helpful assistant.
|
|
22
|
+
role: system
|
|
23
|
+
- content: How do I cross the street?
|
|
24
|
+
role: user
|
|
25
|
+
model: gpt-5
|
|
26
|
+
reasoning:
|
|
27
|
+
effort: high
|
|
28
|
+
summary: detailed
|
|
29
|
+
stream: false
|
|
30
|
+
uri: https://api.openai.com/v1/responses
|
|
31
|
+
response:
|
|
32
|
+
headers:
|
|
33
|
+
alt-svc:
|
|
34
|
+
- h3=":443"; ma=86400
|
|
35
|
+
connection:
|
|
36
|
+
- keep-alive
|
|
37
|
+
content-length:
|
|
38
|
+
- '20367'
|
|
39
|
+
content-type:
|
|
40
|
+
- application/json
|
|
41
|
+
openai-organization:
|
|
42
|
+
- pydantic-28gund
|
|
43
|
+
openai-processing-ms:
|
|
44
|
+
- '24717'
|
|
45
|
+
openai-project:
|
|
46
|
+
- proj_dKobscVY9YJxeEaDJen54e3d
|
|
47
|
+
openai-version:
|
|
48
|
+
- '2020-10-01'
|
|
49
|
+
strict-transport-security:
|
|
50
|
+
- max-age=31536000; includeSubDomains; preload
|
|
51
|
+
transfer-encoding:
|
|
52
|
+
- chunked
|
|
53
|
+
parsed_body:
|
|
54
|
+
background: false
|
|
55
|
+
created_at: 1757543847
|
|
56
|
+
error: null
|
|
57
|
+
id: resp_68c1fda6f11081a1b9fa80ae9122743506da9901a3d98ab7
|
|
58
|
+
incomplete_details: null
|
|
59
|
+
instructions: null
|
|
60
|
+
max_output_tokens: null
|
|
61
|
+
max_tool_calls: null
|
|
62
|
+
metadata: {}
|
|
63
|
+
model: gpt-5-2025-08-07
|
|
64
|
+
object: response
|
|
65
|
+
output:
|
|
66
|
+
- encrypted_content: gAAAAABowf2_AHOXmEAKsNdyGIMNmBt3qK8T8OcybLOuQkkIgjjciRaVh5lvEYzq0T3Tiuov9JXstCcNjH5TF36PUM53JjnJ2x7qPZg0DfOc7XzUtwH_OJGLc_eX18QOw-zohEZuf7TJWzXue0nwVpKTQWN_6zXPtLj9OZtccEcu-fHT5rrSt-Z7WLoYKj9Bp1u-SfShJPL7v7I1jzPMwGf0I2C6uBmHSqPAlJ-QunpuAo3u_xp1l7w6z1iIeWJ7gV46E0UmaLk4fexi0x9Fvk9BTBd4dbjAV46IvWJkeQeGKuivgJ3X9C41KsaOZTknyLXGQYuE_PI1nd3O8obIUK37ODoOmxjqqVJfBzZXbqfOwTwMRiv1wSzahBfLytCKmU1a43iNjJhsSQGqdogD0RIv9unoYcXTjfSQk9R7qxNCo3oPMLO3LYLZgs8abjFpLGTiI36tze62L-NEbbJpOV0tKDZ5nVLxCS6-XG6IKKI9ltMhY-cISfx4VcLG_TLp68nyYGdu7ascSrUXRpH8yNJciMjfRDtu9C3mojioaxi9FUmQ95vsYpuUlxOytUWcXxj1k6HdzOVhJNGtD8RCAHp28usbuIFDobvOo0K3BTU0z-umGYDSRIksK5M-XAHRfXoBoBBiTEVRDH5WiqLpSy_gL73CDtJFXpW5PlwNa-zwrp1zVD7HIhgG0oQeQ5kNSO8hV40rm8WYrKXnWpD25zjFA7E-qx47Sn98rBVk9UGNYfw2RV0aN_0lCwFNi_8dtY5-V2feSMXWAR7MNX2QRuc7RsMzfAvDv8TDJJFn0EZvX0Bv7TA7UkjQoLPOi5OKbeNuAT8k42TA_cob3uiejsqQ1mrYixezVJX4jQ4ARLxp0uAyAjnWHhnqkb4oCfIDQ8ht9IgS4dqm9pc2BKhGGYvqH1Vk0aUONciXGipfxEN-ZGhhls6CfPH3WUytB_qhWFiWF8aewSttku4sL9AkGtbG80lLc9lRAvtWHWviW_2XH_yvLuDMDvRAa-cYOaTMtxk1iQ_A8mGnSxDut5heIOK5z8ReUq9qtcOR2xiKF0wVSZX9wticGT6EwLrgPPKafbE10Hl6kkkwo02WkREhkD7rmRyqPuUyPqRaTC_qIxINYSx6DiidnDDfiIjXitlnt6Dp0eFmqfce0cVyKJwc2AEl3QvzG2rHyWTYrVLk_K_M8bPueX2Dgp5fQKZW8GjuXOHVuMnQFVoiiWWs3SYUdAD0aiqJg6BmRYpcdwlkKT_BCZzQIp2QQF_n2W5IhI1VDULmV7WW0ljtW9Rq2-47qaVyMFRrLD5SS-siFwH-AhraBUxhYX4lLe6GrTFLJ5jUYBl1xBuhVUPPSV-qUhGgGmgQb-hgDIXQb3AX8wH9JrToM93SMh-zstW-GNLcdlAH1t1CExqqcUs2wc2ecMrTL8dxHg9AY4jCM2hDMgp_ZmiRzBF_8IhH5b_qEArG_fAZ2U7-4FOWm2-dF2aFYqG0gW8VzjhS2knnzqd2YJS-MtTmCuJdmwql_7mhMcgQvQmnbpj-TON_hf4t_IQHT65hZ20JmQNMX2qc_JY6Xp0IPpt908_soJN2ml9fI-ObNL6a9tkx1oRaKBB25dH5ZYWjDzC2_jHZwlEL2JRkSUgcF_H0tohI8cNnQSJ89jkCcgTHqIDqcp9w7-0TvLGj05TzIodJAlI6eOXqoNNAof2F2y6wsyD7lRnhPqPmTpIG6nYVZXEOHICTVNEfAAewtXZ82OYfO-uU0y535huv7bBJv5RYImhHMC-tkUAUGox1223I8O14UsyhXJrsOIaSLdhmrm_9hvAfs2YKF4WprnSzkxsda6C_WIuJy7tDNAo6EVXkB9i9INElyfnxGJgvWfwXOIbLLsdsS5Ocf1mqpBdECU6vsgOnio8opZ6MoWDexB515C8mCngOlIZKGZ3TojdOLGKoeeOn4Y1USVr9bndXIN9-hm3xzLXyfgfUMuaF3ehx2IXTFA0oJhy-z3N6Orgey6ibNNCsGtq5QKfYyIV7o-_cqjGcXyMjQqNXeH-imRwMXevfWiKNHowJf3_cjUIAOUnXXPi2c8Tv0KMWQDR1mKyASXh8QY5GyPMYDF3mfI6zHiSumIfSFZiiX6xCs2lKdy1wfrYPHjde8Qi4DZhDFOX5imeziWBAdLrWA5QVdNy45p88zKwZYiQKFqmsWpZYwYjji-OdikTn6FKxpYlzRJMRSQjpOU30sNov8FIwySApK0mPsxBulkT1gcipyb3bKuXm5wvbzMDcS24vx26PlnUluX9jo1ElJBkxCqfwJZK9vOLPfVZHeN9uS2JU_GCMBLrAmXcLG-scaikRawW2SDhv3seFJHPL330wT2_i2DY_fVi0Q2YZxsELZ_YSAMzL11RMgzbdvE9GF1LOt6PkALQxlhmyKnaOjpqwlfSgoeKSmgM4h9JbOQ8CRTrT2KbIAxQF3D5IA3arKkLsL6HE55x7okRRqQzI5hN80vQAfSa4wUe7r7EV_AoypQZPSkWMnDfqJDcjIwju0-H6iE875b1AUVqx8QjiRDJRzEupZ3pC15z9qx0LmbIsjGoD2KNutWtgbWdPqGo53EKaksEhgalbGe08U5yl081OyP6U6EpLvIXnZGRSQvpgHCUg9uNhshgz1-GIZXC0h97PLA5JaUR9cdsKH5F6LC78LU8XJphS6k7U4gaP4tmCIp4rs1qVMCVAxShszolHGZo1JQIbAakNi8-f5tNgMZQulDe9FaFtecrGfCugL11PwmT0RbrV0M-wotDBpo0uC9vuAI4wB6HW7FGhpLwZnJ1c27kkWaGo0jltCPTiUvxTCRK-BtAYz0S2YedVSmKOaUP9vomJqeg2LfKokDJLDwPRFmfZPstc5nYAQPWbN_L8OrjkeNKrW3XdB3wFw0FSehoTwNkAjyeMmcKWxZKXIfkqXkhe4arw6df9dIVWqBTELDxhGp8X8Q6nxDPU8S4EgbdP7SmhQM9utpqz2dT0057InogmYcVzLV98PBdsF3yVwkmCPYUlKu1e84rLqL9iQ0JbsBjRRd45sbXI2xqeIQxgp4Onz16m0cXg5lFq5uhFagW5syJvDVZtZY_IAF0b3vQvHo5QuCnLJPaJHayVDFDcSi3qYUYMa5eDhglYEn0tDKuIqLyu0jIXCBSUVqjKiBkFkIiYlJLc-L4Z3BV2waO-AaEIUAl9mT7mNBlu4N90K9C6wcrqKZcxFvRUicMO8Ak-tcqolvwVqmTxch9SkHX-Wtjh_vXytOpePfRH339z9QH1gQYTK-tb1Gu3sv6IJrL1enJwqMydKDiISp-oPH7YeA-nwsuWB3PSDxCrUdozyhr_HharZ6ComY6ESf4o9mzSJxKjJWVGFRHEvvWlCcD31L0aYGBB0ZXUGT0gXxWz_jyScH40g9Rfflt4N_HfOeyZFw_EDMWr4cXQ4_m0LEYqEfbINNS0vUCupaQ4igsQjy9W3QXsmmD-CsYFiLT9u2bhsM4cYhg04cGz3zjfuteIEub3YNWIAfK6CCglnQK0Ty8sKBRq5s8-bLohoWJV2W0vlsdO7RP5HEYzdfyFBzpuqXaXIfGwt055lxnTew4iOGmnNcaWDmKUeQtdFjyQqRn8dGh_ScSk92J__sRqM4P4BEDKJIhxmJclVpKlpN3ujDm7MJyC_D9tVLjXyItouS85BNAHaYE34t2fZYhQXdpYNedPFzscNZF-shqU8Z1ppbh11eqwL5aU_GvpUU3AQjvu7oHxaNOwS9IzktzNZC5lvmfGGi9qJsTuZnqUhIumkwSB_N6NSsXCXmoB2dhp1JsP1Tra9R1Cn63KF5yvvQ0eddZG0Hy4cY-ehTas7YKPoJmiRdLikQXSiCKEqQSykM65NbSysEvHSPsVGQQiiTD9Ha0ukcsoEu_luctbAgX4MJdQ8EjZjsKIDG-CTAML0W6rL8NGlFNZ8XBf-OAFQGWKBqzjiJtbTV9FxcYzZNMwlpVLmweVO8Q8J2x1zk6DxYKQQyD2P0VSLW2G3WTKkfzB6JEBJ3xO7hF72oAUsE97FCMVvp9tU-JcS8ONfM_V06Mc8ySIlqLExN4lotXgoarB-oTkTBElKfssgbT9_aKsfOkINXCwvRWDWHmL3WMvH0MqIxJJ03M0J2PEWYeR8qXH8gQ6XDe3r_f7VBka9xMamOxtsbRDUvEhcvLPIPBV_GwOjVyrRzhMPGxqXyuCiXaDy8qwQ6A6P7JlexpqWA6Flq8X90sT64guSup-y87lUwQYLe8IuFFI2siJj4ipSUTUKdybuSThLT-zb5NN0Q5nzFJVhLssQ0wgtgdUXH9pGV6QrnYmQ8hcwbeLuoqs-rmCaFmKvNo2ucH5kf1t0hihakCd1wAUMW-HsAQ9zbC5KdNlFu5xaCUzPHrpgiW5VlV3lvpKFLGqAb3dYFNeWrUjvt_G3rSxjBh9e5KKrt5F9y3DV-_ZZ1lC9ANRoVnwTrlSD5bx1SxvoIdgBa_RQq8D3eCH9G7fPw42dr5gDg2vFrWoVcuRvwCaaHdHkpXR9f5uL1s32DCsFB-jCjVCDvPEo_V3bMSHROszGQYu8FCERK-mVgpLYGfd6jV6YP-qluL_ezukhQfB67jti3GT0Ze9Las9EdXYmJGpvZPYWl6x8okBe06-NARmzrDMVi8QryKFZ5gBPwim50yome3lYnf9MhiCjLIsVKX45X2J-7pF5WmfnhatPnMAxlVD5UTi_GNILD0cQasHKVLMMRSr5xJ6-YN5zyZIOr3hpOuZ_iPmbveucxtwwN5eZrPaIMWyPKThkmdThOd5dL0mceWyimZDcVqZa5fl0NVEkFzqA6RpVPBW_fAh6FynEwBIxdSQ_sE8Ozv5ztcTg805cfYQDi0ssVC0PAVywMzsirCGB3UJQFueiD88Pz-haU_WV1ckskScmumgxxESoLq_i0PZIKjMZf5DQp8auLSjff9EyNrQAnX3vIF5BULz1S6MrzJCOYHrIkJyN3-fuJIw6JlfDbOgijmH3heINhARq9k2wHByNLYzmrQV3jPp1nPLViLHsRihY_-zGA89N5fy-LYg9CcUzb05fW-hAz0EJDG8C15E6sqXaWgs9wFnNhQkOsfgNPwGDd6dPdd-X51N1ewz84welWcOrR0RtehCPqpOkOQ5Kh7FnyuQizT4doZ1uVFFQrKrLjliucn5ZKAJNmpnYtl_7IJhIffJkXEhbsAOy-jrVTxx0w2SoRbTInV5MENDT9EDjQgZEgCkoyT_8RIt4RSNS2DrH7HU-U8RFgAXeYhQaiBQSG73yBH6sqNXxNsFU7I_U6rNCVib-FRIoMVLcocqswFbZNm2CV7qzM4euUa8vw0Kp_mfFAtFg0M3M1s8T2y2ce0vHtEBKiFZRewHqL8LfYU-q8PxMJJrHRzJ54PXDGdH_kyDmXophBboXpYoyQKf0ikmdl0mcUtgx8jQOMjwzaFyx8cfNXlhaKZxWLZnTPuUDCXv8jm4jbyBxv-fT1k26Iaz_e8vJ6kraT1mOLUWeYsHQ9niNlOQd9iXl9WqSiUSZjIDRYZdpPgEUAvTgVS_eIevUEqWmdDYcUmK36l7c8sBZoOSO1biIt2bnyasvORv549ihVWinxjyVsTvHX7_oFL2TcWt_yqd_WbQCekEHR2FhnuVjgUogCMXHxaEqgtLv2PDMDQc8MaXoFVyrzhfJQMQiPO1BHIDyRUE-WtEiZSk1gSDpNIn8-gUzSujF-qsSOgjPh-hOuGaX3mI-NEs9UR7kV7jf1ILWY5wpUOZwD-jVq3MQXgQOVOZifcoOXb2tLnTa2aR7aORFrgdsyx6DhW64ghEavdlK5GF269oKwpZIU_z8ue4Ps6TakA8vv9wGHfobndoT6sGH_xA3tFpR4tLCJti2FwkUIqApVRPXR-vHctd3NGshiyGiESz4QL0kaXXNa_ws4MSniVSdNDF06n-RKzR1pSdyQlpR9OOSnUbX9at9vaCIHjBi3fiir12SzXL-cg0LYYJlft7rTZnxQZsW869c-S0QscBfvINhIehyN_ht71lOQGzelvBCfWGjnKzlLgyBm8pVmowB1g3IURgTeMyegdIFmZl0H7oJ6U4_X9fjWuQbzUei7mqA6mIpncOw3sk_xuIRtmC8SQwnYkKsuHNTCOzgaYm92ouU25znn9xnsNxxaUQLA0dGesut1vbLIWj-ENX9ZWXl6KyLEc41U9LPuzH9SY0aZxeHbuDOPBuROV9NsRQ8kkJUMM0R1jQ9TtOgZeIWIHqpD7bjljdeX_DxGGnkHeediTkcFJwRXr_ROZcCjP6E4_81RbYraWQ52Yvaj5Ac1Qt_BgReC_7WueorRgRElEKksbRq_CBMj6Zivo38m8Lk-JvP9x8FOITJvJ_iS58LNptrNNC5cE-SLtr5QHlEVwOfnr0nCG8Elstx8wo0T0kXOP3BF_i-Ui2yNPB1DjRPVy04DgFOBtBOAP-Gjt2efS_hkd3O2iiNLXitj48X2FyFD6s4R9h1JpdRSFQg4ILII4yF8IHlS6QzBKUD9sxl4f2U1RvDOQ_P3e6rTLStrFN3UvM2pp3j-EzAL321Xjzq0U-Z1RflUiQbFcnf6nnFz0XjFIA6QhRi8vv3OR-7euA0cTRwQPwIKgui8RzrNy9OlmOvuGaaHm11xZxN6DFtCvbsneyw2HnrX4w7-r67-8pUwXaJVPOQAeTK7NrIBCj44J5WIXHepQCI7z8tMUzawwHSXMzcA55gx5nvYbIKYEhnHgpD24_Jw9WEwGu5dCvswEVq12qit6UzmHYdYeLIjWM9widuQo-pPCdZxpv-vWGSJ1ZordSx19hoWxReY32TOP9ik0LXBVixgIICIJsv8Bd0UUr_761PnYmIbBOrtLa2QG3VxT7r8MAawRJjG85jiPeYj7iB8HI--PRoKsa8sonlx-pfkZhKWjfb86-8a49LETKIEPHfpoTh0trg3rMDxdisKt2AwNgDGAdCAaNWF5VkPCuLnivue7pUOXiazUyuvWdh_Jxvq7NOl_Y0lgzW-W0iHdDdVqZd4L24N4F2T-SRdxbvwhE3forHjC7kX3ewHSKEMBriq9qQ8ryc7OMRD4dvtEFMbRyFOJdxIRGd0zsj-BhdY0Yf91sLkO7rwSMYy49y5x6s7_3SlNGDRVdthc9H1gPHFXzNsE9AKIaEbiceNtlgPoaHtqNpVfX-cvsELpAa-d_HlGWxgSRB43Yk2Cg4uGTb9TNC3B0Z2u_n1mjqrkQkpxMdZMH6ZXT-90UKb0-Lfp-Mk0ZRJwHQm_hnmqu7ufnk4dYULEuEpQ2UFgEMHcsr0_854uexobvgrc-USkEj-Yw7jOqxnBaSS_eanJfxt2MPHH6XKoRsxThZaqwHM6IYyYjTvwiQ2iEWooA3kEVeKOYJhTDub3n9c2AoomHhleViDyTXQI4bVqtwjhKIxsWE3fRwLRG939tB2T6i1pQGkox0XkuStFCGKUl-glcIooxKbbXmrs8RmHhVNxOFs_nyuHO_Mpk-w6P1ImcjhRcwovSh5qSRBEIMsubFhhnUo4Xo9Pa7BXc_RQZ8SNCHU5PdLvDPL4dx7TgHPvZ4pkXJUd_8gxHBXiWDfQloHPQ0ur9MkQ0rDknE6FbcOP5oDbyKs1qb1I-p0pL4__IAXo5G1Tg0vzKrVq8oVBsFaIf87e2jyR7IWZRQ1PyC7opFtvOOC35MvvGedOw10-f5vP94vy4LpLSjq71CESIeRnq8WdQXlKFSQ4-rWAKeSXGBWkAxb5bevdSWleTaQPJ-9sz3RULfPmzs8eJj7LG4JDX1aS98Mvh21lvWJiyq-I97OtPtRl7S14fwkuZhM3dKTsXYxrqORzD0CeKF6cHUITsK1EbfAyk8UdZOvXlWTr8lgQp_W-nGIx5WGRFAoZ_TaPpCyJeoKFWZQr3oR5MgexgPGg6wuywDU68dUpgei1l45C3_RcxftD_4ljNopyq8CrVrZdqMjv-_psxSoUJT2-O3eJXB07kc482tsFSvNSIq_sBxYt-bPuqwn6z5V6yRky_D8ra2TwyPE8j98vZjjxoskM3my8oN-uYIf-v4PgXTf33qs0EcYCAWQ0BS0nU07AKs07kZW6TY_GDNQh33cSC9WJTVgu91gvYdpzTZQNc7IH9wZFTcW32eWtGkEcjF8fyivst9y68jvfgoDEfVAGQ76XsjKLBQTKJsIqDTtHge4wcJ0syW_R3YfrdwhdqLYDE3Glevn__JfB6aJAU_U4j-5xejrwX_Qu0qB_zuLcylphNZ-Aww36qkl7l93hZYa-iCAci1LptJRqJB2LLWetjMPe2JvO74jCpt-MM-FrfSkLaSHmTLXoLR4UAgfJ9PXlax1iiVSWgVX_OpjGqcVtKkXbgy7MuGwPkvkKstHd1z8cm1m3NYjp4yHZOOrrmNklMCYfCEaoOVkjoZfubgvJBQ9alReQI_OSe2iHaVvrjT26s-QAqsCLai5UEjFBRQSOK_V-bL8r2kLL9nhyNMuaaVyFnjPkp9j8EJ2u5XE9cQxG8pSkG_bZmPJOti0UOf7M99sEnJM6oP4xH_vVVmfAWEtDDefvWcwoa9JI5ue7NS9bvIzSm3mxjIFY76dPFh7kX8ZMzSxvgqnWWCeDJ-dFVgapSTQ9CzCtdqMVf3Wb0nj2nDxz9HguzEbSVKBkIip3FdIo-7HkgAlutZcwugcglhWzrfiiAR_ZS4emHGWSSftj7UfUu1Olhwm62ejZf8FbdJ4Io6Hk0EhAZG47-StUaUs6vy0bWUoGYuoC2x8YJCVMenKvIHFAVzbj-4o7A8X2KfjdVskti-DHrTV0f8wjqt68YOX-OdRGj5-84dqxWamIQVa-YMZns_TGRfzA8QtYpctv9bOvyb6JqTSGiSICHi6n6lJRpn_SbQ7fQU8P4VnVSrbKMmL1KA3XvqILCeuF_Xf-wEGVfAJeZh1YXLLtVB58-BLty4cqTfxyhHkyxgsxzemPhsLJj95Qxv_zvnQVH1-nTNdpy7HLapEBZ7jwDFHpt1RqSU4m9lUx8bZ0UcA_ie2AepxglvhaBF-68zihJHGeqi3ttADoJiGKrNZAmFEYL_pGZSdH9uVN_gBlNBzQOc0nf57fJuNUksjNRYxykvy8Nl0sy4L0_HyCHv5_JwEK4xgaZVuvPMUK6YWk2wJ34iMYCpu-Ixlj8hSb911P75lddDPUdLIpzliDsW1h4j82y-CthnSH7PVgK8CuiYgj63z1Ovptw5gMA5RofXUMM-ZYDRFoEvUauWAaaSb8ISMqiTIwLIB5yyoVGVkvIJ-8nTc8lP8OistLah3VZLLlY2xGcKjECuGwLAdpV4zpviy886sG6lGgI3m_5TJ6VDV76SCzgOMdAQSmbeOlpWrYD8hM88-0pgrky-R-OUiamjbeFCj0AoGd12USuXlLJXjbf_9KPwxgnP9Wj9EEFcyemS8vcU5aCABcuETtNYtrV7rzmc7LMcf1yWMx3rFejq7OC7EfBqf4qeUFhYxNAmxgDS9QotPKlZf3QB6INCurxCABLcKVQ-ULw3lavSSwaicdhNDBM1cQsGQOIx4RoY70yH7BmGKH_pjSUa42bYLJ5xX6zawZ4qj9bBE6ZOG7sY2XI8ZB0fhKzjYKMtfn9bcYR0voMYWnZCB04FtvCxm_YF1b2c6OGfMwqBSU2Sa3FoPV6csUlISf6G1kkLr0neqOKMjm4fLvYTptlC3U-XkJpM8JY_ZmZ66h0A7ogKfVQ0-pCNYh8ISOS-IWQyf9kHCtQcjAs0Q7vPEN5ZF7yGI7nshpFxiJ0qXv3A7wReE190DLWFHw7FOQDbzxVkOzdeGH9mrNw5Lli32Jzga5NflP34skOAlJ85VJrOBbI2egWLrV-Hw4Px2w_khKWEeqVgiEwCf2zkaFEGJYvmfdLTVShhULzNyQj291gkRrqv4byN1SbRKlAO5cromYII7DaDv0F-T1g52O2d6U-EO767kFhvesXVIWsMWaLjdV78o-sNatlY6TLUh5zn6JEW0QE6iBlbYlQeuiRr7Cna4SJGYfrCPlXwR8Is5paRzdFiNXfFwnQQzlyxsJZ3wLo6_aU4WYuh4NdUlAft3mkDkeNOgU2VSF6ysMORSMfnEhGfh-9wObGR5iN068gXspb3fbSkl9Cr8uCkDGyhoh_MmqXNbiCJJRb6PLTB5IteEoDGgIXkDKontPgfoSE7QxgWwjMW8XTQRVDkoyy-REsMzbVG_g46plaRW8hwQooUVk408hEg8T6LCEmrs8qptQd0jOymBQVYO8JVJYx7wpMr2QEQw8GCNI7nxZbRLn09TLeEdqvFqQJo5I0ZaiDDlCZD3j5_5MDkLmhINInfv8Aj8ZdcZZ40yre4rZ3JzwlHi5-IrPBRifIRCcKtHWknHH5_n7St7srg8XLz8mppKFtw-Ba5iIQJwjPKZlQC_lrb1VjaXAkpCMKkVKRMdAgUciac3TOdEA6jLb0umQynhF_ffGMjG4P7RptF58Q7KCN2COw5xq7bqoQDsKF_PavftXdmF0_rA1vgQcUrihI2LzeOP5v23giMOTm5vGQefhMjHU0mUyCEtwbDQ0mORiYc4GKBZ3u077SEx6spBXTFny5UM1tgN7ZO4-zed-LBgtkeDLSrcylj0Vk6nFn7RKGJzrYeXP6qIGT4UhgDLrG5SW-YUqmogXJLYg7ttAePlz520rqwULZrzUS-YfQ_KLcfOFuGt5sXv5KRqJlzujmngeicQLulBLhlvtPpEiBsnLUul_By4I2HKcF5l_9ZAUdlJD1GZ6oKbVAmJ6pQK1M-tLql8lFViZZCKCz8GOXlk1Z8vq1CgMp_BuZQr76Vky71YYvROw4vmrz-A_aXObMANFuKzL3HmcwHKpcz9mufDn-E89WPBw7nOPvW7Tum9HPXAmTHwUmRzGvy-h3rs8Gv9yA_UL70u6fco75vcX6QHQ_zbqB3RYa9PwuSSOUM56MkJpWZHVomwa08CgcvsJXhKwORlAkzEgaaog2LKFOsgJt9PqyHbfHU8EXBonDuhj6KnPtsKMKuO_mXI0QiJ1nyrkYeyx38Lb2lfLua1WZDfEC66KZIrCnZ1awzgdpDVzVpzTU9F1k2C53Do_LzAl36tkAmGxlGtYRzVtUDPVbRax_0JL0LXyw8uavzDWvAhxVpmWnhzYU5i6W8Lj-gA20XB_b0A14TZCAHA6y_W0vRQavN3M9ZOvWlb-meivRYcvLSLq-MD2sU5vP3I2ONfucnsPD4Phs64Fhb3X7jdBsAqouCSnfPz9S1fOQ6tZVRhESDOPFPFDUNbNQcPegBca683ldlfGEfD-nj90CsYGq4HSaQsR9CjHI5MVmviXF9y0QkITryfXzohqv5q80ThaP_dTw9WZI7dH3Cs7yHnM3QkWEbLlp2f0sUCjYaSl42NdKN-_PvcIswwqmGL-tA1_EwnqCAFP5cHddgeCAp5ehMuGugBZsNrwrisG6a_SVjHPZeA2RFM15PMvJxstBBlf0DBAc1-pJ3gVlIyLyz8nVsM4KQgPwAQzmYi0amrFbmQix3sx_2-F1STeNSl7NldNGj4ahn9V8XFMga7-BUaSNIX8tbpZd2E7tzV6x8Dk7S8UcuNlbWztIuV0CAsLKxrAAP6ueaD3AKkU9kfUS2iKq-H__Kj-1F8pzk3yDYOifjWaubrkAIVRzR8cnK8-EI41Sm1QSYrOryEYQ9eWEDEth9l5tpAb3OeUDOUrSqK36Q5cQvtslA6SLCB7ZsKRqOXnKSuuNHZPAmLlMIItiHNQEjXp2bwn1W-1D-wYgInh7XGDdidtmcGNk94haoRZW0BIEVB6ixfQwl9Bwcdok9QXMRD5v9nN2PMrc14RwFkkiMWspvZFZDN1hyc4YwdZFaxEZidf35RILDkXX3hLiL15aatI9eT1jMn-4j7NTDwPD9eV-02iNR2afwcK8WXZci6-iu3YoqPRQl6oiNj4MlRN-HS4Vs_zAl69EhmAK-k0HUDLyafZqYb-Uo9iBnHmpc7t7NSM80OEHmAmy5i0uZ_iEsosNFdT03FiDXiBKaN8e-WnRK2mVvmpGajcOFOpAv4_6bAzMJYz1SgSIlojNkXsNRJAzQmP5y0U2b-CARoJGsSaBku7OQh3l-WI9YKrptDhciGR54TiMLqFwbAUPqm4jY0ZtWbo0QtCq3yrEFfPtVHmCXlaYwXC6REsdwdmj47rzp8waAmc6-iwCgt8Zg3GdtUrTLyDNCe7Id7GRDcxKCWjH54mL_jTzlexAmSTPdOtwlz9SX2BDiLj71AopySjGs9VFzRMZR7hfn-wM3PIzT7aRFZd9snSXobJIQVi0zkm-TiuORItG18LGBvUAoF9CZpRWBl-aHV_yjNol7j_9jjLyCLpau8wPGbnwuqbOE0dTqXce8S6F0ljA1fMMdA40HVy57kOnU2INijcX_-eMUHyzbgvRqdwmezDf22ucYZuiCF4vCoE6UOsOthNK7_ueqqx25l8Tb5eda-Z5a3-NjdXk3Z6gJAbaRZkj7uIxS2uyDPg-b7GwmouUjU4Z85ICWHq-3UZMbYBy4Pfmsj5TykWH5ZuHLx6FVzFtLLkboUwdf1EJ-OuAXeDBCQr73hfI8clIyRO0P46aAaZ9D1IRyw9fyArd2v3-vEuaWCChBla8j1v71UnZJ6s5JDQh5xE-duHpFMAoboynbRyICVS7cm5-8lqoRhQ4JquGBraLMt2U3mdW0w1CfGLqZb7tObf-ZA3gjuSG-r89htZtBc2564xcPnl_B4cD3mq_t94aeKDp5a7lVtlW9kCcDXEAlBNJtjakgjdOhUqP2Xg6LZFKtdZUDnmGH6QNguRfDZesE95nO4PZHDMyJdQvFR_m44pQInrOMmi80XUaN5LVRrM9I7eyk7qN0zf9R6I2Jg==
|
|
67
|
+
id: rs_68c1fda7b4d481a1a65f48aef6a6b85e06da9901a3d98ab7
|
|
68
|
+
summary:
|
|
69
|
+
- text: |-
|
|
70
|
+
**Providing street crossing advice**
|
|
71
|
+
|
|
72
|
+
I need to answer the question, "How do I cross the street?" Safety is the priority here! I’ll outline practical steps like using crosswalks and signals, looking both ways, and stopping at the curb. It’s wise to consider the user’s location, as traffic direction varies by country. Universal advice can include checking for vehicles turning and being aware of bikes. Also, at night, visibility is crucial. If there’s a pedestrian bridge or tunnel, that’s the way to go!
|
|
73
|
+
type: summary_text
|
|
74
|
+
- text: |-
|
|
75
|
+
**Addressing street crossing complexities**
|
|
76
|
+
|
|
77
|
+
I want to consider the environmental context when crossing the street: multi-lane roads, parked cars, buses, and hidden driveways. It’s important to cross straight, not diagonally unless permitted, and be cautious of slippery surfaces. If I'm with children, I should hold their hand. For those with mobility concerns, pressing the button for more time can help. For visually impaired people, accessible crossings with audible cues are key. I'll provide concise bullet points, including tips for both urban and rural roads, and remind everyone to obey local traffic laws.
|
|
78
|
+
type: summary_text
|
|
79
|
+
- text: |-
|
|
80
|
+
**Considering edge cases for crossing**
|
|
81
|
+
|
|
82
|
+
I should consider edge cases like one-way streets and multiple-phase signals with protected turn arrows. It's crucial to cross only when there’s a walk sign and to ensure that turning vehicles yield. For roundabouts, I'll recommend crossing at designated crosswalks one leg at a time. I want to address both signalized and unsignalized crossing steps. If the user feels unsafe, they should choose a different crossing point and wait longer. I'll keep things concise with bullet points for clarity.
|
|
83
|
+
type: summary_text
|
|
84
|
+
- text: "**Creating crossing guidelines**\n\nLet’s establish some clear steps for crossing safely. \n\n- Begin by
|
|
85
|
+
choosing the safest place, such as a marked crosswalk, intersection, or pedestrian signal. Bridges or tunnels
|
|
86
|
+
are great options too.\n\n- At signalized crosswalks, press the button if available and wait for the WALK signal.
|
|
87
|
+
Avoid starting to cross on a flashing DON'T WALK or steady light. Before stepping off the curb, stop at the edge,
|
|
88
|
+
look for turning vehicles and bicycles from both directions, and make eye contact with drivers. Keep scanning
|
|
89
|
+
while crossing—cross straight, avoid distractions like phones and headphones. \n\n- For unsignalized crossings,
|
|
90
|
+
stop at the curb and look left-right-left, or check both directions based on which side traffic comes from."
|
|
91
|
+
type: summary_text
|
|
92
|
+
- text: "**Crafting safe crossing steps**\n\nLet’s create some concise steps for crossing the street safely:\n\n-
|
|
93
|
+
Always use marked crosswalks or intersections, and press the button if available.\n\n- At signalized crossings,
|
|
94
|
+
wait for the WALK signal. Before stepping out, look both ways for turning cars and bikes, making eye contact with
|
|
95
|
+
drivers.\n\n- If the signal starts flashing DON'T WALK while you're crossing, keep going to the far curb.\n\n-
|
|
96
|
+
At unsignalized spots, stop at the curb where you're visible. Look and listen for traffic and bikes, waiting for
|
|
97
|
+
a large enough gap to cross safely. If there’s a median, treat it as two separate crossings, ensuring all lanes
|
|
98
|
+
have stopped before proceeding.\n\n- General tips include putting your phone away, removing earbuds, being extra
|
|
99
|
+
visible at night, and avoiding crossing from behind parked cars. Also, remember to follow local laws! \n\nFor
|
|
100
|
+
a simplified version, I can suggest a catchy mnemonic: \"Stop, Look, Listen, Think\" to make it even easier to
|
|
101
|
+
remember!"
|
|
102
|
+
type: summary_text
|
|
103
|
+
- text: "**Crafting safe crossing instructions**\n\nI’m thinking about how to summarize crossing the street safely.
|
|
104
|
+
Here’s a short version: \"Use a marked crosswalk with a signal, wait for the 'Walk' signal, look for cars and
|
|
105
|
+
bikes, make eye contact, and cross straight while scanning.\"\n\nFor the details, I suggest: Stop at the curb,
|
|
106
|
+
look and listen for traffic from all directions, and wait for a safe gap or the Walk signal. Make eye contact
|
|
107
|
+
with drivers and continue to scan while crossing. \n\nI'll also ask: \"Is there a signalized crosswalk where you
|
|
108
|
+
are, or is it an unsignalized street?\" This keeps it simple and relevant!"
|
|
109
|
+
type: summary_text
|
|
110
|
+
type: reasoning
|
|
111
|
+
- content:
|
|
112
|
+
- annotations: []
|
|
113
|
+
logprobs: []
|
|
114
|
+
text: "Short version: Stop at the curb, look and listen for traffic from all directions, wait for a safe gap or
|
|
115
|
+
the WALK signal, make eye contact with drivers, then cross straight while continuing to scan.\n\nIf there’s a
|
|
116
|
+
pedestrian signal:\n- Press the button if there is one. Wait for the WALK symbol.\n- Before stepping out, look
|
|
117
|
+
left, right, and for turning cars and bikes in all directions (including from behind you).\n- Make eye contact
|
|
118
|
+
with drivers. Keep scanning as you cross; don’t use your phone.\n- If the signal starts flashing “Don’t Walk”
|
|
119
|
+
after you’ve started, keep going to the far curb.\n\nIf there’s no signal:\n- Cross at a marked crosswalk or intersection
|
|
120
|
+
if possible. Avoid crossing between parked cars.\n- Stand where drivers can see you. Look and listen for traffic
|
|
121
|
+
in every lane and for bikes/scooters.\n- Wait for a big enough gap so you can cross without rushing. If one driver
|
|
122
|
+
stops, make sure all lanes have stopped before you go.\n- If there’s a median, treat it as two separate crossings.\n\nExtra
|
|
123
|
+
tips:\n- Be visible at night (light clothing/reflective, small light). \n- Keep earbuds out and phone away.\n-
|
|
124
|
+
Follow local laws; in left-driving countries, traffic comes first from the right.\n\nDo you have a signalized
|
|
125
|
+
crosswalk where you are, or is it an unsignalized street?"
|
|
126
|
+
type: output_text
|
|
127
|
+
id: msg_68c1fdbecbf081a18085a084257a9aef06da9901a3d98ab7
|
|
128
|
+
role: assistant
|
|
129
|
+
status: completed
|
|
130
|
+
type: message
|
|
131
|
+
parallel_tool_calls: true
|
|
132
|
+
previous_response_id: null
|
|
133
|
+
prompt_cache_key: null
|
|
134
|
+
reasoning:
|
|
135
|
+
effort: high
|
|
136
|
+
summary: detailed
|
|
137
|
+
safety_identifier: null
|
|
138
|
+
service_tier: default
|
|
139
|
+
status: completed
|
|
140
|
+
store: true
|
|
141
|
+
temperature: 1.0
|
|
142
|
+
text:
|
|
143
|
+
format:
|
|
144
|
+
type: text
|
|
145
|
+
verbosity: medium
|
|
146
|
+
tool_choice: auto
|
|
147
|
+
tools: []
|
|
148
|
+
top_logprobs: 0
|
|
149
|
+
top_p: 1.0
|
|
150
|
+
truncation: disabled
|
|
151
|
+
usage:
|
|
152
|
+
input_tokens: 23
|
|
153
|
+
input_tokens_details:
|
|
154
|
+
cached_tokens: 0
|
|
155
|
+
output_tokens: 2211
|
|
156
|
+
output_tokens_details:
|
|
157
|
+
reasoning_tokens: 1920
|
|
158
|
+
total_tokens: 2234
|
|
159
|
+
user: null
|
|
160
|
+
status:
|
|
161
|
+
code: 200
|
|
162
|
+
message: OK
|
|
163
|
+
- request:
|
|
164
|
+
headers:
|
|
165
|
+
accept:
|
|
166
|
+
- application/json
|
|
167
|
+
accept-encoding:
|
|
168
|
+
- gzip, deflate
|
|
169
|
+
connection:
|
|
170
|
+
- keep-alive
|
|
171
|
+
content-length:
|
|
172
|
+
- '6159'
|
|
173
|
+
content-type:
|
|
174
|
+
- application/json
|
|
175
|
+
host:
|
|
176
|
+
- api.anthropic.com
|
|
177
|
+
method: POST
|
|
178
|
+
parsed_body:
|
|
179
|
+
max_tokens: 4096
|
|
180
|
+
messages:
|
|
181
|
+
- content:
|
|
182
|
+
- text: How do I cross the street?
|
|
183
|
+
type: text
|
|
184
|
+
role: user
|
|
185
|
+
- content:
|
|
186
|
+
- text: |-
|
|
187
|
+
<thinking>
|
|
188
|
+
**Providing street crossing advice**
|
|
189
|
+
|
|
190
|
+
I need to answer the question, "How do I cross the street?" Safety is the priority here! I’ll outline practical steps like using crosswalks and signals, looking both ways, and stopping at the curb. It’s wise to consider the user’s location, as traffic direction varies by country. Universal advice can include checking for vehicles turning and being aware of bikes. Also, at night, visibility is crucial. If there’s a pedestrian bridge or tunnel, that’s the way to go!
|
|
191
|
+
</thinking>
|
|
192
|
+
type: text
|
|
193
|
+
- text: |-
|
|
194
|
+
<thinking>
|
|
195
|
+
**Addressing street crossing complexities**
|
|
196
|
+
|
|
197
|
+
I want to consider the environmental context when crossing the street: multi-lane roads, parked cars, buses, and hidden driveways. It’s important to cross straight, not diagonally unless permitted, and be cautious of slippery surfaces. If I'm with children, I should hold their hand. For those with mobility concerns, pressing the button for more time can help. For visually impaired people, accessible crossings with audible cues are key. I'll provide concise bullet points, including tips for both urban and rural roads, and remind everyone to obey local traffic laws.
|
|
198
|
+
</thinking>
|
|
199
|
+
type: text
|
|
200
|
+
- text: |-
|
|
201
|
+
<thinking>
|
|
202
|
+
**Considering edge cases for crossing**
|
|
203
|
+
|
|
204
|
+
I should consider edge cases like one-way streets and multiple-phase signals with protected turn arrows. It's crucial to cross only when there’s a walk sign and to ensure that turning vehicles yield. For roundabouts, I'll recommend crossing at designated crosswalks one leg at a time. I want to address both signalized and unsignalized crossing steps. If the user feels unsafe, they should choose a different crossing point and wait longer. I'll keep things concise with bullet points for clarity.
|
|
205
|
+
</thinking>
|
|
206
|
+
type: text
|
|
207
|
+
- text: "<thinking>\n**Creating crossing guidelines**\n\nLet’s establish some clear steps for crossing safely. \n\n-
|
|
208
|
+
Begin by choosing the safest place, such as a marked crosswalk, intersection, or pedestrian signal. Bridges or
|
|
209
|
+
tunnels are great options too.\n\n- At signalized crosswalks, press the button if available and wait for the WALK
|
|
210
|
+
signal. Avoid starting to cross on a flashing DON'T WALK or steady light. Before stepping off the curb, stop at
|
|
211
|
+
the edge, look for turning vehicles and bicycles from both directions, and make eye contact with drivers. Keep
|
|
212
|
+
scanning while crossing—cross straight, avoid distractions like phones and headphones. \n\n- For unsignalized
|
|
213
|
+
crossings, stop at the curb and look left-right-left, or check both directions based on which side traffic comes
|
|
214
|
+
from.\n</thinking>"
|
|
215
|
+
type: text
|
|
216
|
+
- text: "<thinking>\n**Crafting safe crossing steps**\n\nLet’s create some concise steps for crossing the street safely:\n\n-
|
|
217
|
+
Always use marked crosswalks or intersections, and press the button if available.\n\n- At signalized crossings,
|
|
218
|
+
wait for the WALK signal. Before stepping out, look both ways for turning cars and bikes, making eye contact with
|
|
219
|
+
drivers.\n\n- If the signal starts flashing DON'T WALK while you're crossing, keep going to the far curb.\n\n-
|
|
220
|
+
At unsignalized spots, stop at the curb where you're visible. Look and listen for traffic and bikes, waiting for
|
|
221
|
+
a large enough gap to cross safely. If there’s a median, treat it as two separate crossings, ensuring all lanes
|
|
222
|
+
have stopped before proceeding.\n\n- General tips include putting your phone away, removing earbuds, being extra
|
|
223
|
+
visible at night, and avoiding crossing from behind parked cars. Also, remember to follow local laws! \n\nFor
|
|
224
|
+
a simplified version, I can suggest a catchy mnemonic: \"Stop, Look, Listen, Think\" to make it even easier to
|
|
225
|
+
remember!\n</thinking>"
|
|
226
|
+
type: text
|
|
227
|
+
- text: "<thinking>\n**Crafting safe crossing instructions**\n\nI’m thinking about how to summarize crossing the street
|
|
228
|
+
safely. Here’s a short version: \"Use a marked crosswalk with a signal, wait for the 'Walk' signal, look for cars
|
|
229
|
+
and bikes, make eye contact, and cross straight while scanning.\"\n\nFor the details, I suggest: Stop at the curb,
|
|
230
|
+
look and listen for traffic from all directions, and wait for a safe gap or the Walk signal. Make eye contact
|
|
231
|
+
with drivers and continue to scan while crossing. \n\nI'll also ask: \"Is there a signalized crosswalk where you
|
|
232
|
+
are, or is it an unsignalized street?\" This keeps it simple and relevant!\n</thinking>"
|
|
233
|
+
type: text
|
|
234
|
+
- text: "Short version: Stop at the curb, look and listen for traffic from all directions, wait for a safe gap or
|
|
235
|
+
the WALK signal, make eye contact with drivers, then cross straight while continuing to scan.\n\nIf there’s a
|
|
236
|
+
pedestrian signal:\n- Press the button if there is one. Wait for the WALK symbol.\n- Before stepping out, look
|
|
237
|
+
left, right, and for turning cars and bikes in all directions (including from behind you).\n- Make eye contact
|
|
238
|
+
with drivers. Keep scanning as you cross; don’t use your phone.\n- If the signal starts flashing “Don’t Walk”
|
|
239
|
+
after you’ve started, keep going to the far curb.\n\nIf there’s no signal:\n- Cross at a marked crosswalk or intersection
|
|
240
|
+
if possible. Avoid crossing between parked cars.\n- Stand where drivers can see you. Look and listen for traffic
|
|
241
|
+
in every lane and for bikes/scooters.\n- Wait for a big enough gap so you can cross without rushing. If one driver
|
|
242
|
+
stops, make sure all lanes have stopped before you go.\n- If there’s a median, treat it as two separate crossings.\n\nExtra
|
|
243
|
+
tips:\n- Be visible at night (light clothing/reflective, small light). \n- Keep earbuds out and phone away.\n-
|
|
244
|
+
Follow local laws; in left-driving countries, traffic comes first from the right.\n\nDo you have a signalized
|
|
245
|
+
crosswalk where you are, or is it an unsignalized street?"
|
|
246
|
+
type: text
|
|
247
|
+
role: assistant
|
|
248
|
+
- content:
|
|
249
|
+
- text: Considering the way to cross the street, analogously, how do I cross the river?
|
|
250
|
+
type: text
|
|
251
|
+
role: user
|
|
252
|
+
model: claude-sonnet-4-0
|
|
253
|
+
stream: false
|
|
254
|
+
system: You are a helpful assistant.
|
|
255
|
+
thinking:
|
|
256
|
+
budget_tokens: 1024
|
|
257
|
+
type: enabled
|
|
258
|
+
uri: https://api.anthropic.com/v1/messages?beta=true
|
|
259
|
+
response:
|
|
260
|
+
headers:
|
|
261
|
+
connection:
|
|
262
|
+
- keep-alive
|
|
263
|
+
content-length:
|
|
264
|
+
- '4209'
|
|
265
|
+
content-type:
|
|
266
|
+
- application/json
|
|
267
|
+
strict-transport-security:
|
|
268
|
+
- max-age=31536000; includeSubDomains; preload
|
|
269
|
+
transfer-encoding:
|
|
270
|
+
- chunked
|
|
271
|
+
parsed_body:
|
|
272
|
+
content:
|
|
273
|
+
- signature: ErcHCkYIBxgCKkBZJZKmgqTGMrerntNOcgoakLxACdlqZhs9ARPkSHfxpKy8WFQJGmTqM8F5gcZ4poD5uHULbNVyCKQ5iyQToITuEgyMSMFkX8rWNC+QsFQaDKf0KnH66FeMiSl4ZyIwxyuh2BSP4OfaA90p4t4Wd5H1BzuugU8JlLRnlDyMKkTzlGBOpROR0YfLgVGRJ5nXKp4GFVoHGIvHEivxrnLmvJVesc2Py+d2YSMEgCyegtAyeXaLCH9bhpqe+Nj+CQjBP1EObqinccTYysoHJPZ2iPWr2EnoV9sXqWL7FoAC48ehLXqUiS9uthPu8jqEETsay9CacSdZEQAd7QQQ22ors4bcGCmaxydaWoVYXG+NiOEILtclRpyM8amsfZb17tGvsY50tkK62uYylAvw7sIZqq74kKgMTcdps0kPmPILtvEekVlNsnJgy6HEvF4XKDMno3qcvLuemOF+tdaVx0f2Xz2NE6w/R6PRwk/eW5Gt9u5wtB0E7p2axGptfZwIErF+JhvnhYj5ILIlzg2P+6v3zpdn0dbkQPJJbUGqTSScm6AS0hFV0EqFzSf+GmPuKHGO6lWPAHUORzZMud5VdDMkPAPuStwwL3+cJPUHGAuYGciClLrFX7gtHCbVTXUXScPfNpPosWSm5/Zcxyz6UpAZRxqeIFmNZ2bJFLKHt7yJRCbD1KyPPridIXb4h7ArvKheM35tpJUQndedmys8Ekwgwtz1OYxDAuv/1gtFuR7PoF/xOR0wyJOkEFENi1dxjHSzNhMgWxJm1nh2mrbVdNge1jpNhQpYdeKZNx4Le4CROJTam3spHcNL8HTr5uV0T8UxbfJjsKEDj4uk4z9tSQIA0ASlMiIvnCXewbLZkSMB8E6ivZdaY5boHBV3q2lJnd9X96avYnzF1rYRw2RYgLRvbE/bsqKFtVC21sUaW/KTnb7KDSkdUIdzjiRU/fgyms1/KAvlnsS09GOk7XzSZooplPAQSCZlRNhnIilCZF/kBHvnZlpN53a+eXAcsMD0HH1ajpwSTAZV5YGuRce2wD5MTrDNiX6eq0QAXFbq0cZv6b4banO7YTgQUIjcDH7ZTfBNSMmNgg9z2B683T4XootQK7/B7d/Lau7AsU24soCThSxfzR/O6knvkRyjVEDdqMATBG5938qQQ/98Z8+POR7SUPX5B4sV7abUwpl7LorpwXur2LcdJC6todfTw2AyDpbsQxb3z58LuwrSM6BzLGTODl+95w+Ja8b+czLcAkINUWgdGAE=
|
|
274
|
+
thinking: |-
|
|
275
|
+
The user is asking for an analogous approach to crossing a river, based on my street crossing advice. This is an interesting question that requires me to think about the similarities and differences between crossing streets and rivers.
|
|
276
|
+
|
|
277
|
+
Key similarities:
|
|
278
|
+
- Safety assessment before crossing
|
|
279
|
+
- Looking for designated/safer crossing points
|
|
280
|
+
- Being aware of hazards (traffic vs. water conditions)
|
|
281
|
+
- Having a plan and being prepared
|
|
282
|
+
|
|
283
|
+
Key differences:
|
|
284
|
+
- Rivers involve water hazards (drowning, currents, temperature)
|
|
285
|
+
- Different infrastructure (bridges, ferries, fords vs. crosswalks)
|
|
286
|
+
- Different skills needed (swimming vs. walking)
|
|
287
|
+
- Environmental factors (weather, water levels, seasons)
|
|
288
|
+
|
|
289
|
+
I should structure this similarly to my street crossing advice but adapted for water crossings.
|
|
290
|
+
type: thinking
|
|
291
|
+
- text: |-
|
|
292
|
+
Great analogy! Here's how to "cross the river" safely, following similar principles:
|
|
293
|
+
|
|
294
|
+
**Short version:** Look for established crossing points (bridges, ferries), assess water conditions, have a backup plan, and never cross alone in challenging conditions.
|
|
295
|
+
|
|
296
|
+
**If there's infrastructure:**
|
|
297
|
+
- Use bridges, ferries, or designated boat crossings when available
|
|
298
|
+
- Check if services are running and safe (weather conditions, maintenance)
|
|
299
|
+
- Follow posted rules and weight limits
|
|
300
|
+
- Wait for proper signals/clearance before boarding ferries
|
|
301
|
+
|
|
302
|
+
**If crossing naturally (ford, shallow areas):**
|
|
303
|
+
- Scout the crossing point first - look for established fords or naturally shallow, slow-moving areas
|
|
304
|
+
- Check water depth, current speed, and bottom conditions (rocks, mud, drop-offs)
|
|
305
|
+
- Test with a stick first; if it's deeper than your knees or the current is strong, don't attempt it
|
|
306
|
+
- Cross at an angle upstream to compensate for current
|
|
307
|
+
- Use a walking stick for balance and to probe ahead
|
|
308
|
+
|
|
309
|
+
**Safety essentials:**
|
|
310
|
+
- Never cross alone in challenging conditions
|
|
311
|
+
- Wear appropriate gear (life jacket if deep water is possible)
|
|
312
|
+
- Have dry clothes waiting on the other side or in a waterproof bag
|
|
313
|
+
- Know your swimming ability and have an exit strategy
|
|
314
|
+
- Check weather - avoid crossing during floods, storms, or when water levels are high
|
|
315
|
+
- Tell someone your crossing plan and expected return time
|
|
316
|
+
|
|
317
|
+
**When NOT to cross:**
|
|
318
|
+
- Fast-moving or flood-stage water
|
|
319
|
+
- Unknown depth or underwater obstacles
|
|
320
|
+
- Extreme weather conditions
|
|
321
|
+
- If you can't swim and water might be over your head
|
|
322
|
+
|
|
323
|
+
Just like with streets - when in doubt, find a safer route or wait for better conditions!
|
|
324
|
+
type: text
|
|
325
|
+
id: msg_016e2w8nkCuArd5HFSfEwke7
|
|
326
|
+
model: claude-sonnet-4-20250514
|
|
327
|
+
role: assistant
|
|
328
|
+
stop_reason: end_turn
|
|
329
|
+
stop_sequence: null
|
|
330
|
+
type: message
|
|
331
|
+
usage:
|
|
332
|
+
cache_creation:
|
|
333
|
+
ephemeral_1h_input_tokens: 0
|
|
334
|
+
ephemeral_5m_input_tokens: 0
|
|
335
|
+
cache_creation_input_tokens: 0
|
|
336
|
+
cache_read_input_tokens: 0
|
|
337
|
+
input_tokens: 1343
|
|
338
|
+
output_tokens: 538
|
|
339
|
+
service_tier: standard
|
|
340
|
+
status:
|
|
341
|
+
code: 200
|
|
342
|
+
message: OK
|
|
343
|
+
version: 1
|