pydantic-ai 1.0.2__tar.gz → 1.0.3__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.

Files changed (447) hide show
  1. {pydantic_ai-1.0.2 → pydantic_ai-1.0.3}/PKG-INFO +4 -4
  2. {pydantic_ai-1.0.2 → pydantic_ai-1.0.3}/tests/cassettes/test_mcp/test_tool_returning_audio_resource_link.yaml +64 -25
  3. pydantic_ai-1.0.3/tests/models/cassettes/test_anthropic/test_anthropic_model_thinking_part_from_other_model.yaml +343 -0
  4. pydantic_ai-1.0.3/tests/models/cassettes/test_anthropic/test_anthropic_model_thinking_part_redacted.yaml +150 -0
  5. pydantic_ai-1.0.3/tests/models/cassettes/test_anthropic/test_anthropic_model_thinking_part_redacted_stream.yaml +129 -0
  6. pydantic_ai-1.0.3/tests/models/cassettes/test_bedrock/test_bedrock_model_thinking_part_anthropic.yaml +184 -0
  7. pydantic_ai-1.0.3/tests/models/cassettes/test_bedrock/test_bedrock_model_thinking_part_deepseek.yaml +165 -0
  8. pydantic_ai-1.0.3/tests/models/cassettes/test_bedrock/test_bedrock_model_thinking_part_from_other_model.yaml +300 -0
  9. pydantic_ai-1.0.3/tests/models/cassettes/test_bedrock/test_bedrock_model_thinking_part_redacted.yaml +110 -0
  10. pydantic_ai-1.0.3/tests/models/cassettes/test_bedrock/test_bedrock_model_thinking_part_redacted_stream.yaml +128 -0
  11. pydantic_ai-1.0.3/tests/models/cassettes/test_cohere/test_cohere_model_thinking_part.yaml +301 -0
  12. pydantic_ai-1.0.3/tests/models/cassettes/test_google/test_google_model_thinking_part.yaml +354 -0
  13. pydantic_ai-1.0.3/tests/models/cassettes/test_google/test_google_model_thinking_part_from_other_model.yaml +362 -0
  14. pydantic_ai-1.0.3/tests/models/cassettes/test_google/test_google_model_thinking_part_iter.yaml +160 -0
  15. pydantic_ai-1.0.3/tests/models/cassettes/test_mistral/test_mistral_model_thinking_part.yaml +296 -0
  16. pydantic_ai-1.0.3/tests/models/cassettes/test_mistral/test_mistral_model_thinking_part_iter.yaml +736 -0
  17. pydantic_ai-1.0.3/tests/models/cassettes/test_openai/test_openai_model_thinking_part.yaml +275 -0
  18. pydantic_ai-1.0.3/tests/models/cassettes/test_openai_responses/test_openai_responses_model_thinking_part.yaml +374 -0
  19. pydantic_ai-1.0.3/tests/models/cassettes/test_openai_responses/test_openai_responses_thinking_part_iter.yaml +2353 -0
  20. {pydantic_ai-1.0.2 → pydantic_ai-1.0.3}/tests/models/test_anthropic.py +547 -60
  21. {pydantic_ai-1.0.2 → pydantic_ai-1.0.3}/tests/models/test_bedrock.py +373 -14
  22. {pydantic_ai-1.0.2 → pydantic_ai-1.0.3}/tests/models/test_cohere.py +26 -25
  23. {pydantic_ai-1.0.2 → pydantic_ai-1.0.3}/tests/models/test_deepseek.py +19 -14
  24. {pydantic_ai-1.0.2 → pydantic_ai-1.0.3}/tests/models/test_google.py +243 -64
  25. {pydantic_ai-1.0.2 → pydantic_ai-1.0.3}/tests/models/test_groq.py +45 -0
  26. {pydantic_ai-1.0.2 → pydantic_ai-1.0.3}/tests/models/test_huggingface.py +27 -17
  27. {pydantic_ai-1.0.2 → pydantic_ai-1.0.3}/tests/models/test_mistral.py +164 -64
  28. {pydantic_ai-1.0.2 → pydantic_ai-1.0.3}/tests/models/test_openai.py +21 -35
  29. {pydantic_ai-1.0.2 → pydantic_ai-1.0.3}/tests/models/test_openai_responses.py +58 -48
  30. {pydantic_ai-1.0.2 → pydantic_ai-1.0.3}/tests/test_ag_ui.py +98 -3
  31. {pydantic_ai-1.0.2 → pydantic_ai-1.0.3}/tests/test_agent.py +46 -8
  32. {pydantic_ai-1.0.2 → pydantic_ai-1.0.3}/tests/test_dbos.py +6 -4
  33. {pydantic_ai-1.0.2 → pydantic_ai-1.0.3}/tests/test_mcp.py +24 -12
  34. {pydantic_ai-1.0.2 → pydantic_ai-1.0.3}/tests/test_messages.py +12 -4
  35. pydantic_ai-1.0.2/tests/models/cassettes/test_bedrock/test_bedrock_model_thinking_part.yaml +0 -206
  36. pydantic_ai-1.0.2/tests/models/cassettes/test_cohere/test_cohere_model_thinking_part.yaml +0 -290
  37. pydantic_ai-1.0.2/tests/models/cassettes/test_google/test_google_model_thinking_part.yaml +0 -139
  38. pydantic_ai-1.0.2/tests/models/cassettes/test_google/test_google_model_thinking_part_iter.yaml +0 -272
  39. pydantic_ai-1.0.2/tests/models/cassettes/test_mistral/test_mistral_model_thinking_part.yaml +0 -313
  40. pydantic_ai-1.0.2/tests/models/cassettes/test_openai/test_openai_model_thinking_part.yaml +0 -310
  41. pydantic_ai-1.0.2/tests/models/cassettes/test_openai_responses/test_openai_responses_model_thinking_part.yaml +0 -321
  42. pydantic_ai-1.0.2/tests/models/cassettes/test_openai_responses/test_openai_responses_thinking_part_iter.yaml +0 -1991
  43. {pydantic_ai-1.0.2 → pydantic_ai-1.0.3}/.gitignore +0 -0
  44. {pydantic_ai-1.0.2 → pydantic_ai-1.0.3}/LICENSE +0 -0
  45. {pydantic_ai-1.0.2 → pydantic_ai-1.0.3}/Makefile +0 -0
  46. {pydantic_ai-1.0.2 → pydantic_ai-1.0.3}/README.md +0 -0
  47. {pydantic_ai-1.0.2 → pydantic_ai-1.0.3}/pyproject.toml +0 -0
  48. {pydantic_ai-1.0.2 → pydantic_ai-1.0.3}/tests/__init__.py +0 -0
  49. {pydantic_ai-1.0.2 → pydantic_ai-1.0.3}/tests/assets/dummy.pdf +0 -0
  50. {pydantic_ai-1.0.2 → pydantic_ai-1.0.3}/tests/assets/kiwi.png +0 -0
  51. {pydantic_ai-1.0.2 → pydantic_ai-1.0.3}/tests/assets/marcelo.mp3 +0 -0
  52. {pydantic_ai-1.0.2 → pydantic_ai-1.0.3}/tests/assets/product_name.txt +0 -0
  53. {pydantic_ai-1.0.2 → pydantic_ai-1.0.3}/tests/assets/small_video.mp4 +0 -0
  54. {pydantic_ai-1.0.2 → pydantic_ai-1.0.3}/tests/cassettes/test_dbos/test_complex_agent_run.yaml +0 -0
  55. {pydantic_ai-1.0.2 → pydantic_ai-1.0.3}/tests/cassettes/test_dbos/test_complex_agent_run_in_workflow.yaml +0 -0
  56. {pydantic_ai-1.0.2 → pydantic_ai-1.0.3}/tests/cassettes/test_dbos/test_complex_agent_run_stream_in_workflow.yaml +0 -0
  57. {pydantic_ai-1.0.2 → pydantic_ai-1.0.3}/tests/cassettes/test_dbos/test_dbos_agent_iter.yaml +0 -0
  58. {pydantic_ai-1.0.2 → pydantic_ai-1.0.3}/tests/cassettes/test_dbos/test_dbos_agent_iter_in_workflow.yaml +0 -0
  59. {pydantic_ai-1.0.2 → pydantic_ai-1.0.3}/tests/cassettes/test_dbos/test_dbos_agent_override_deps_in_workflow.yaml +0 -0
  60. {pydantic_ai-1.0.2 → pydantic_ai-1.0.3}/tests/cassettes/test_dbos/test_dbos_agent_override_tools_in_workflow.yaml +0 -0
  61. {pydantic_ai-1.0.2 → pydantic_ai-1.0.3}/tests/cassettes/test_dbos/test_dbos_agent_run.yaml +0 -0
  62. {pydantic_ai-1.0.2 → pydantic_ai-1.0.3}/tests/cassettes/test_dbos/test_dbos_agent_run_in_workflow_with_toolsets.yaml +0 -0
  63. {pydantic_ai-1.0.2 → pydantic_ai-1.0.3}/tests/cassettes/test_dbos/test_dbos_agent_run_stream.yaml +0 -0
  64. {pydantic_ai-1.0.2 → pydantic_ai-1.0.3}/tests/cassettes/test_dbos/test_dbos_agent_run_sync.yaml +0 -0
  65. {pydantic_ai-1.0.2 → pydantic_ai-1.0.3}/tests/cassettes/test_dbos/test_dbos_agent_run_sync_in_workflow.yaml +0 -0
  66. {pydantic_ai-1.0.2 → pydantic_ai-1.0.3}/tests/cassettes/test_dbos/test_dbos_agent_with_dataclass_deps_as_dict.yaml +0 -0
  67. {pydantic_ai-1.0.2 → pydantic_ai-1.0.3}/tests/cassettes/test_dbos/test_dbos_agent_with_hitl_tool.yaml +0 -0
  68. {pydantic_ai-1.0.2 → pydantic_ai-1.0.3}/tests/cassettes/test_dbos/test_dbos_agent_with_hitl_tool_sync.yaml +0 -0
  69. {pydantic_ai-1.0.2 → pydantic_ai-1.0.3}/tests/cassettes/test_dbos/test_dbos_agent_with_model_retry.yaml +0 -0
  70. {pydantic_ai-1.0.2 → pydantic_ai-1.0.3}/tests/cassettes/test_dbos/test_dbos_agent_with_non_dict_deps.yaml +0 -0
  71. {pydantic_ai-1.0.2 → pydantic_ai-1.0.3}/tests/cassettes/test_dbos/test_dbos_agent_with_unserializable_deps_type.yaml +0 -0
  72. {pydantic_ai-1.0.2 → pydantic_ai-1.0.3}/tests/cassettes/test_dbos/test_dbos_model_stream_direct.yaml +0 -0
  73. {pydantic_ai-1.0.2 → pydantic_ai-1.0.3}/tests/cassettes/test_dbos/test_multiple_agents.yaml +0 -0
  74. {pydantic_ai-1.0.2 → pydantic_ai-1.0.3}/tests/cassettes/test_dbos/test_simple_agent_run_in_workflow.yaml +0 -0
  75. {pydantic_ai-1.0.2 → pydantic_ai-1.0.3}/tests/cassettes/test_mcp/test_agent_with_server_not_running.yaml +0 -0
  76. {pydantic_ai-1.0.2 → pydantic_ai-1.0.3}/tests/cassettes/test_mcp/test_agent_with_stdio_server.yaml +0 -0
  77. {pydantic_ai-1.0.2 → pydantic_ai-1.0.3}/tests/cassettes/test_mcp/test_tool_returning_audio_resource.yaml +0 -0
  78. {pydantic_ai-1.0.2 → pydantic_ai-1.0.3}/tests/cassettes/test_mcp/test_tool_returning_dict.yaml +0 -0
  79. {pydantic_ai-1.0.2 → pydantic_ai-1.0.3}/tests/cassettes/test_mcp/test_tool_returning_error.yaml +0 -0
  80. {pydantic_ai-1.0.2 → pydantic_ai-1.0.3}/tests/cassettes/test_mcp/test_tool_returning_image.yaml +0 -0
  81. {pydantic_ai-1.0.2 → pydantic_ai-1.0.3}/tests/cassettes/test_mcp/test_tool_returning_image_resource.yaml +0 -0
  82. {pydantic_ai-1.0.2 → pydantic_ai-1.0.3}/tests/cassettes/test_mcp/test_tool_returning_image_resource_link.yaml +0 -0
  83. {pydantic_ai-1.0.2 → pydantic_ai-1.0.3}/tests/cassettes/test_mcp/test_tool_returning_multiple_items.yaml +0 -0
  84. {pydantic_ai-1.0.2 → pydantic_ai-1.0.3}/tests/cassettes/test_mcp/test_tool_returning_none.yaml +0 -0
  85. {pydantic_ai-1.0.2 → pydantic_ai-1.0.3}/tests/cassettes/test_mcp/test_tool_returning_str.yaml +0 -0
  86. {pydantic_ai-1.0.2 → pydantic_ai-1.0.3}/tests/cassettes/test_mcp/test_tool_returning_text_resource.yaml +0 -0
  87. {pydantic_ai-1.0.2 → pydantic_ai-1.0.3}/tests/cassettes/test_mcp/test_tool_returning_text_resource_link.yaml +0 -0
  88. {pydantic_ai-1.0.2 → pydantic_ai-1.0.3}/tests/cassettes/test_settings/test_stop_settings[anthropic].yaml +0 -0
  89. {pydantic_ai-1.0.2 → pydantic_ai-1.0.3}/tests/cassettes/test_settings/test_stop_settings[bedrock].yaml +0 -0
  90. {pydantic_ai-1.0.2 → pydantic_ai-1.0.3}/tests/cassettes/test_settings/test_stop_settings[cohere].yaml +0 -0
  91. {pydantic_ai-1.0.2 → pydantic_ai-1.0.3}/tests/cassettes/test_settings/test_stop_settings[gemini].yaml +0 -0
  92. {pydantic_ai-1.0.2 → pydantic_ai-1.0.3}/tests/cassettes/test_settings/test_stop_settings[google].yaml +0 -0
  93. {pydantic_ai-1.0.2 → pydantic_ai-1.0.3}/tests/cassettes/test_settings/test_stop_settings[groq].yaml +0 -0
  94. {pydantic_ai-1.0.2 → pydantic_ai-1.0.3}/tests/cassettes/test_settings/test_stop_settings[mistral].yaml +0 -0
  95. {pydantic_ai-1.0.2 → pydantic_ai-1.0.3}/tests/cassettes/test_settings/test_stop_settings[openai].yaml +0 -0
  96. {pydantic_ai-1.0.2 → pydantic_ai-1.0.3}/tests/cassettes/test_temporal/test_complex_agent_run.yaml +0 -0
  97. {pydantic_ai-1.0.2 → pydantic_ai-1.0.3}/tests/cassettes/test_temporal/test_complex_agent_run_in_workflow.yaml +0 -0
  98. {pydantic_ai-1.0.2 → pydantic_ai-1.0.3}/tests/cassettes/test_temporal/test_complex_agent_run_stream_in_workflow.yaml +0 -0
  99. {pydantic_ai-1.0.2 → pydantic_ai-1.0.3}/tests/cassettes/test_temporal/test_logfire_plugin.yaml +0 -0
  100. {pydantic_ai-1.0.2 → pydantic_ai-1.0.3}/tests/cassettes/test_temporal/test_multiple_agents.yaml +0 -0
  101. {pydantic_ai-1.0.2 → pydantic_ai-1.0.3}/tests/cassettes/test_temporal/test_simple_agent_run_in_workflow.yaml +0 -0
  102. {pydantic_ai-1.0.2 → pydantic_ai-1.0.3}/tests/cassettes/test_temporal/test_temporal_agent_iter.yaml +0 -0
  103. {pydantic_ai-1.0.2 → pydantic_ai-1.0.3}/tests/cassettes/test_temporal/test_temporal_agent_override_deps_in_workflow.yaml +0 -0
  104. {pydantic_ai-1.0.2 → pydantic_ai-1.0.3}/tests/cassettes/test_temporal/test_temporal_agent_run.yaml +0 -0
  105. {pydantic_ai-1.0.2 → pydantic_ai-1.0.3}/tests/cassettes/test_temporal/test_temporal_agent_run_stream.yaml +0 -0
  106. {pydantic_ai-1.0.2 → pydantic_ai-1.0.3}/tests/cassettes/test_temporal/test_temporal_agent_run_sync.yaml +0 -0
  107. {pydantic_ai-1.0.2 → pydantic_ai-1.0.3}/tests/cassettes/test_temporal/test_temporal_agent_sync_tool_activity_disabled.yaml +0 -0
  108. {pydantic_ai-1.0.2 → pydantic_ai-1.0.3}/tests/cassettes/test_temporal/test_temporal_agent_with_dataclass_deps_as_dict.yaml +0 -0
  109. {pydantic_ai-1.0.2 → pydantic_ai-1.0.3}/tests/cassettes/test_temporal/test_temporal_agent_with_hitl_tool.yaml +0 -0
  110. {pydantic_ai-1.0.2 → pydantic_ai-1.0.3}/tests/cassettes/test_temporal/test_temporal_agent_with_model_retry.yaml +0 -0
  111. {pydantic_ai-1.0.2 → pydantic_ai-1.0.3}/tests/cassettes/test_temporal/test_temporal_agent_with_non_dict_deps.yaml +0 -0
  112. {pydantic_ai-1.0.2 → pydantic_ai-1.0.3}/tests/cassettes/test_temporal/test_temporal_agent_with_unserializable_deps_type.yaml +0 -0
  113. {pydantic_ai-1.0.2 → pydantic_ai-1.0.3}/tests/conftest.py +0 -0
  114. {pydantic_ai-1.0.2 → pydantic_ai-1.0.3}/tests/evals/__init__.py +0 -0
  115. {pydantic_ai-1.0.2 → pydantic_ai-1.0.3}/tests/evals/test_dataset.py +0 -0
  116. {pydantic_ai-1.0.2 → pydantic_ai-1.0.3}/tests/evals/test_evaluator_base.py +0 -0
  117. {pydantic_ai-1.0.2 → pydantic_ai-1.0.3}/tests/evals/test_evaluator_common.py +0 -0
  118. {pydantic_ai-1.0.2 → pydantic_ai-1.0.3}/tests/evals/test_evaluator_context.py +0 -0
  119. {pydantic_ai-1.0.2 → pydantic_ai-1.0.3}/tests/evals/test_evaluator_spec.py +0 -0
  120. {pydantic_ai-1.0.2 → pydantic_ai-1.0.3}/tests/evals/test_evaluators.py +0 -0
  121. {pydantic_ai-1.0.2 → pydantic_ai-1.0.3}/tests/evals/test_llm_as_a_judge.py +0 -0
  122. {pydantic_ai-1.0.2 → pydantic_ai-1.0.3}/tests/evals/test_otel.py +0 -0
  123. {pydantic_ai-1.0.2 → pydantic_ai-1.0.3}/tests/evals/test_render_numbers.py +0 -0
  124. {pydantic_ai-1.0.2 → pydantic_ai-1.0.3}/tests/evals/test_reporting.py +0 -0
  125. {pydantic_ai-1.0.2 → pydantic_ai-1.0.3}/tests/evals/test_reports.py +0 -0
  126. {pydantic_ai-1.0.2 → pydantic_ai-1.0.3}/tests/evals/test_utils.py +0 -0
  127. {pydantic_ai-1.0.2 → pydantic_ai-1.0.3}/tests/evals/utils.py +0 -0
  128. {pydantic_ai-1.0.2 → pydantic_ai-1.0.3}/tests/example_modules/README.md +0 -0
  129. {pydantic_ai-1.0.2 → pydantic_ai-1.0.3}/tests/example_modules/bank_database.py +0 -0
  130. {pydantic_ai-1.0.2 → pydantic_ai-1.0.3}/tests/example_modules/fake_database.py +0 -0
  131. {pydantic_ai-1.0.2 → pydantic_ai-1.0.3}/tests/example_modules/mcp_server.py +0 -0
  132. {pydantic_ai-1.0.2 → pydantic_ai-1.0.3}/tests/example_modules/weather_service.py +0 -0
  133. {pydantic_ai-1.0.2 → pydantic_ai-1.0.3}/tests/ext/__init__.py +0 -0
  134. {pydantic_ai-1.0.2 → pydantic_ai-1.0.3}/tests/ext/test_langchain.py +0 -0
  135. {pydantic_ai-1.0.2 → pydantic_ai-1.0.3}/tests/graph/__init__.py +0 -0
  136. {pydantic_ai-1.0.2 → pydantic_ai-1.0.3}/tests/graph/test_file_persistence.py +0 -0
  137. {pydantic_ai-1.0.2 → pydantic_ai-1.0.3}/tests/graph/test_graph.py +0 -0
  138. {pydantic_ai-1.0.2 → pydantic_ai-1.0.3}/tests/graph/test_mermaid.py +0 -0
  139. {pydantic_ai-1.0.2 → pydantic_ai-1.0.3}/tests/graph/test_persistence.py +0 -0
  140. {pydantic_ai-1.0.2 → pydantic_ai-1.0.3}/tests/graph/test_state.py +0 -0
  141. {pydantic_ai-1.0.2 → pydantic_ai-1.0.3}/tests/graph/test_utils.py +0 -0
  142. {pydantic_ai-1.0.2 → pydantic_ai-1.0.3}/tests/import_examples.py +0 -0
  143. {pydantic_ai-1.0.2 → pydantic_ai-1.0.3}/tests/json_body_serializer.py +0 -0
  144. {pydantic_ai-1.0.2 → pydantic_ai-1.0.3}/tests/mcp_server.py +0 -0
  145. {pydantic_ai-1.0.2 → pydantic_ai-1.0.3}/tests/models/__init__.py +0 -0
  146. {pydantic_ai-1.0.2 → pydantic_ai-1.0.3}/tests/models/cassettes/test_anthropic/test_anthropic_code_execution_tool.yaml +0 -0
  147. {pydantic_ai-1.0.2 → pydantic_ai-1.0.3}/tests/models/cassettes/test_anthropic/test_anthropic_model_empty_message_on_history.yaml +0 -0
  148. {pydantic_ai-1.0.2 → pydantic_ai-1.0.3}/tests/models/cassettes/test_anthropic/test_anthropic_model_instructions.yaml +0 -0
  149. {pydantic_ai-1.0.2 → pydantic_ai-1.0.3}/tests/models/cassettes/test_anthropic/test_anthropic_model_thinking_part.yaml +0 -0
  150. {pydantic_ai-1.0.2 → pydantic_ai-1.0.3}/tests/models/cassettes/test_anthropic/test_anthropic_model_thinking_part_stream.yaml +0 -0
  151. {pydantic_ai-1.0.2 → pydantic_ai-1.0.3}/tests/models/cassettes/test_anthropic/test_anthropic_prompted_output.yaml +0 -0
  152. {pydantic_ai-1.0.2 → pydantic_ai-1.0.3}/tests/models/cassettes/test_anthropic/test_anthropic_prompted_output_multiple.yaml +0 -0
  153. {pydantic_ai-1.0.2 → pydantic_ai-1.0.3}/tests/models/cassettes/test_anthropic/test_anthropic_server_tool_pass_history_to_another_provider.yaml +0 -0
  154. {pydantic_ai-1.0.2 → pydantic_ai-1.0.3}/tests/models/cassettes/test_anthropic/test_anthropic_server_tool_receive_history_from_another_provider.yaml +0 -0
  155. {pydantic_ai-1.0.2 → pydantic_ai-1.0.3}/tests/models/cassettes/test_anthropic/test_anthropic_text_output_function.yaml +0 -0
  156. {pydantic_ai-1.0.2 → pydantic_ai-1.0.3}/tests/models/cassettes/test_anthropic/test_anthropic_tool_output.yaml +0 -0
  157. {pydantic_ai-1.0.2 → pydantic_ai-1.0.3}/tests/models/cassettes/test_anthropic/test_anthropic_tool_with_thinking.yaml +0 -0
  158. {pydantic_ai-1.0.2 → pydantic_ai-1.0.3}/tests/models/cassettes/test_anthropic/test_anthropic_web_search_tool.yaml +0 -0
  159. {pydantic_ai-1.0.2 → pydantic_ai-1.0.3}/tests/models/cassettes/test_anthropic/test_anthropic_web_search_tool_stream.yaml +0 -0
  160. {pydantic_ai-1.0.2 → pydantic_ai-1.0.3}/tests/models/cassettes/test_anthropic/test_document_binary_content_input.yaml +0 -0
  161. {pydantic_ai-1.0.2 → pydantic_ai-1.0.3}/tests/models/cassettes/test_anthropic/test_document_url_input.yaml +0 -0
  162. {pydantic_ai-1.0.2 → pydantic_ai-1.0.3}/tests/models/cassettes/test_anthropic/test_extra_headers.yaml +0 -0
  163. {pydantic_ai-1.0.2 → pydantic_ai-1.0.3}/tests/models/cassettes/test_anthropic/test_image_as_binary_content_tool_response.yaml +0 -0
  164. {pydantic_ai-1.0.2 → pydantic_ai-1.0.3}/tests/models/cassettes/test_anthropic/test_image_url_input.yaml +0 -0
  165. {pydantic_ai-1.0.2 → pydantic_ai-1.0.3}/tests/models/cassettes/test_anthropic/test_image_url_input_invalid_mime_type.yaml +0 -0
  166. {pydantic_ai-1.0.2 → pydantic_ai-1.0.3}/tests/models/cassettes/test_anthropic/test_multiple_parallel_tool_calls.yaml +0 -0
  167. {pydantic_ai-1.0.2 → pydantic_ai-1.0.3}/tests/models/cassettes/test_anthropic/test_text_document_url_input.yaml +0 -0
  168. {pydantic_ai-1.0.2 → pydantic_ai-1.0.3}/tests/models/cassettes/test_bedrock/test_bedrock_anthropic_tool_with_thinking.yaml +0 -0
  169. {pydantic_ai-1.0.2 → pydantic_ai-1.0.3}/tests/models/cassettes/test_bedrock/test_bedrock_empty_system_prompt.yaml +0 -0
  170. {pydantic_ai-1.0.2 → pydantic_ai-1.0.3}/tests/models/cassettes/test_bedrock/test_bedrock_model.yaml +0 -0
  171. {pydantic_ai-1.0.2 → pydantic_ai-1.0.3}/tests/models/cassettes/test_bedrock/test_bedrock_model_anthropic_model_without_tools.yaml +0 -0
  172. {pydantic_ai-1.0.2 → pydantic_ai-1.0.3}/tests/models/cassettes/test_bedrock/test_bedrock_model_guardrail_config.yaml +0 -0
  173. {pydantic_ai-1.0.2 → pydantic_ai-1.0.3}/tests/models/cassettes/test_bedrock/test_bedrock_model_instructions.yaml +0 -0
  174. {pydantic_ai-1.0.2 → pydantic_ai-1.0.3}/tests/models/cassettes/test_bedrock/test_bedrock_model_iter_stream.yaml +0 -0
  175. {pydantic_ai-1.0.2 → pydantic_ai-1.0.3}/tests/models/cassettes/test_bedrock/test_bedrock_model_max_tokens.yaml +0 -0
  176. {pydantic_ai-1.0.2 → pydantic_ai-1.0.3}/tests/models/cassettes/test_bedrock/test_bedrock_model_other_parameters.yaml +0 -0
  177. {pydantic_ai-1.0.2 → pydantic_ai-1.0.3}/tests/models/cassettes/test_bedrock/test_bedrock_model_performance_config.yaml +0 -0
  178. {pydantic_ai-1.0.2 → pydantic_ai-1.0.3}/tests/models/cassettes/test_bedrock/test_bedrock_model_retry.yaml +0 -0
  179. {pydantic_ai-1.0.2 → pydantic_ai-1.0.3}/tests/models/cassettes/test_bedrock/test_bedrock_model_stream.yaml +0 -0
  180. {pydantic_ai-1.0.2 → pydantic_ai-1.0.3}/tests/models/cassettes/test_bedrock/test_bedrock_model_structured_output.yaml +0 -0
  181. {pydantic_ai-1.0.2 → pydantic_ai-1.0.3}/tests/models/cassettes/test_bedrock/test_bedrock_model_thinking_part_stream.yaml +0 -0
  182. {pydantic_ai-1.0.2 → pydantic_ai-1.0.3}/tests/models/cassettes/test_bedrock/test_bedrock_model_top_p.yaml +0 -0
  183. {pydantic_ai-1.0.2 → pydantic_ai-1.0.3}/tests/models/cassettes/test_bedrock/test_bedrock_multiple_documents_in_history.yaml +0 -0
  184. {pydantic_ai-1.0.2 → pydantic_ai-1.0.3}/tests/models/cassettes/test_bedrock/test_document_url_input.yaml +0 -0
  185. {pydantic_ai-1.0.2 → pydantic_ai-1.0.3}/tests/models/cassettes/test_bedrock/test_image_as_binary_content_input.yaml +0 -0
  186. {pydantic_ai-1.0.2 → pydantic_ai-1.0.3}/tests/models/cassettes/test_bedrock/test_image_url_input.yaml +0 -0
  187. {pydantic_ai-1.0.2 → pydantic_ai-1.0.3}/tests/models/cassettes/test_bedrock/test_text_as_binary_content_input.yaml +0 -0
  188. {pydantic_ai-1.0.2 → pydantic_ai-1.0.3}/tests/models/cassettes/test_bedrock/test_text_document_url_input.yaml +0 -0
  189. {pydantic_ai-1.0.2 → pydantic_ai-1.0.3}/tests/models/cassettes/test_bedrock/test_video_as_binary_content_input.yaml +0 -0
  190. {pydantic_ai-1.0.2 → pydantic_ai-1.0.3}/tests/models/cassettes/test_bedrock/test_video_url_input.yaml +0 -0
  191. {pydantic_ai-1.0.2 → pydantic_ai-1.0.3}/tests/models/cassettes/test_cohere/test_cohere_model_instructions.yaml +0 -0
  192. {pydantic_ai-1.0.2 → pydantic_ai-1.0.3}/tests/models/cassettes/test_cohere/test_request_simple_success_with_vcr.yaml +0 -0
  193. {pydantic_ai-1.0.2 → pydantic_ai-1.0.3}/tests/models/cassettes/test_deepseek/test_deepseek_model_thinking_part.yaml +0 -0
  194. {pydantic_ai-1.0.2 → pydantic_ai-1.0.3}/tests/models/cassettes/test_deepseek/test_deepseek_model_thinking_stream.yaml +0 -0
  195. {pydantic_ai-1.0.2 → pydantic_ai-1.0.3}/tests/models/cassettes/test_download_item/test_download_item_application_octet_stream.yaml +0 -0
  196. {pydantic_ai-1.0.2 → pydantic_ai-1.0.3}/tests/models/cassettes/test_download_item/test_download_item_audio_mpeg.yaml +0 -0
  197. {pydantic_ai-1.0.2 → pydantic_ai-1.0.3}/tests/models/cassettes/test_download_item/test_download_item_no_content_type.yaml +0 -0
  198. {pydantic_ai-1.0.2 → pydantic_ai-1.0.3}/tests/models/cassettes/test_gemini/test_document_url_input.yaml +0 -0
  199. {pydantic_ai-1.0.2 → pydantic_ai-1.0.3}/tests/models/cassettes/test_gemini/test_gemini_additional_properties_is_false.yaml +0 -0
  200. {pydantic_ai-1.0.2 → pydantic_ai-1.0.3}/tests/models/cassettes/test_gemini/test_gemini_additional_properties_is_true.yaml +0 -0
  201. {pydantic_ai-1.0.2 → pydantic_ai-1.0.3}/tests/models/cassettes/test_gemini/test_gemini_drop_exclusive_maximum.yaml +0 -0
  202. {pydantic_ai-1.0.2 → pydantic_ai-1.0.3}/tests/models/cassettes/test_gemini/test_gemini_exclusive_minimum_and_maximum.yaml +0 -0
  203. {pydantic_ai-1.0.2 → pydantic_ai-1.0.3}/tests/models/cassettes/test_gemini/test_gemini_model_instructions.yaml +0 -0
  204. {pydantic_ai-1.0.2 → pydantic_ai-1.0.3}/tests/models/cassettes/test_gemini/test_gemini_model_thinking_part.yaml +0 -0
  205. {pydantic_ai-1.0.2 → pydantic_ai-1.0.3}/tests/models/cassettes/test_gemini/test_gemini_native_output.yaml +0 -0
  206. {pydantic_ai-1.0.2 → pydantic_ai-1.0.3}/tests/models/cassettes/test_gemini/test_gemini_native_output_multiple.yaml +0 -0
  207. {pydantic_ai-1.0.2 → pydantic_ai-1.0.3}/tests/models/cassettes/test_gemini/test_gemini_prompted_output.yaml +0 -0
  208. {pydantic_ai-1.0.2 → pydantic_ai-1.0.3}/tests/models/cassettes/test_gemini/test_gemini_prompted_output_multiple.yaml +0 -0
  209. {pydantic_ai-1.0.2 → pydantic_ai-1.0.3}/tests/models/cassettes/test_gemini/test_gemini_prompted_output_with_tools.yaml +0 -0
  210. {pydantic_ai-1.0.2 → pydantic_ai-1.0.3}/tests/models/cassettes/test_gemini/test_gemini_text_output_function.yaml +0 -0
  211. {pydantic_ai-1.0.2 → pydantic_ai-1.0.3}/tests/models/cassettes/test_gemini/test_gemini_tool_config_any_with_tool_without_args.yaml +0 -0
  212. {pydantic_ai-1.0.2 → pydantic_ai-1.0.3}/tests/models/cassettes/test_gemini/test_gemini_tool_output.yaml +0 -0
  213. {pydantic_ai-1.0.2 → pydantic_ai-1.0.3}/tests/models/cassettes/test_gemini/test_gemini_youtube_video_url_input.yaml +0 -0
  214. {pydantic_ai-1.0.2 → pydantic_ai-1.0.3}/tests/models/cassettes/test_gemini/test_image_as_binary_content_input.yaml +0 -0
  215. {pydantic_ai-1.0.2 → pydantic_ai-1.0.3}/tests/models/cassettes/test_gemini/test_image_as_binary_content_tool_response.yaml +0 -0
  216. {pydantic_ai-1.0.2 → pydantic_ai-1.0.3}/tests/models/cassettes/test_gemini/test_image_url_input.yaml +0 -0
  217. {pydantic_ai-1.0.2 → pydantic_ai-1.0.3}/tests/models/cassettes/test_gemini/test_labels_are_ignored_with_gla_provider.yaml +0 -0
  218. {pydantic_ai-1.0.2 → pydantic_ai-1.0.3}/tests/models/cassettes/test_gemini/test_video_as_binary_content_input.yaml +0 -0
  219. {pydantic_ai-1.0.2 → pydantic_ai-1.0.3}/tests/models/cassettes/test_gemini/test_video_url_input.yaml +0 -0
  220. {pydantic_ai-1.0.2 → pydantic_ai-1.0.3}/tests/models/cassettes/test_gemini_vertex/test_labels.yaml +0 -0
  221. {pydantic_ai-1.0.2 → pydantic_ai-1.0.3}/tests/models/cassettes/test_gemini_vertex/test_url_input[AudioUrl (gs)].yaml +0 -0
  222. {pydantic_ai-1.0.2 → pydantic_ai-1.0.3}/tests/models/cassettes/test_gemini_vertex/test_url_input[AudioUrl].yaml +0 -0
  223. {pydantic_ai-1.0.2 → pydantic_ai-1.0.3}/tests/models/cassettes/test_gemini_vertex/test_url_input[DocumentUrl (gs)].yaml +0 -0
  224. {pydantic_ai-1.0.2 → pydantic_ai-1.0.3}/tests/models/cassettes/test_gemini_vertex/test_url_input[DocumentUrl].yaml +0 -0
  225. {pydantic_ai-1.0.2 → pydantic_ai-1.0.3}/tests/models/cassettes/test_gemini_vertex/test_url_input[ImageUrl (gs)].yaml +0 -0
  226. {pydantic_ai-1.0.2 → pydantic_ai-1.0.3}/tests/models/cassettes/test_gemini_vertex/test_url_input[ImageUrl].yaml +0 -0
  227. {pydantic_ai-1.0.2 → pydantic_ai-1.0.3}/tests/models/cassettes/test_gemini_vertex/test_url_input[VideoUrl (YouTube)].yaml +0 -0
  228. {pydantic_ai-1.0.2 → pydantic_ai-1.0.3}/tests/models/cassettes/test_gemini_vertex/test_url_input[VideoUrl (gs)].yaml +0 -0
  229. {pydantic_ai-1.0.2 → pydantic_ai-1.0.3}/tests/models/cassettes/test_gemini_vertex/test_url_input[VideoUrl].yaml +0 -0
  230. {pydantic_ai-1.0.2 → pydantic_ai-1.0.3}/tests/models/cassettes/test_gemini_vertex/test_url_input_force_download.yaml +0 -0
  231. {pydantic_ai-1.0.2 → pydantic_ai-1.0.3}/tests/models/cassettes/test_google/test_google_builtin_tools_with_other_tools.yaml +0 -0
  232. {pydantic_ai-1.0.2 → pydantic_ai-1.0.3}/tests/models/cassettes/test_google/test_google_model.yaml +0 -0
  233. {pydantic_ai-1.0.2 → pydantic_ai-1.0.3}/tests/models/cassettes/test_google/test_google_model_builtin_code_execution_stream.yaml +0 -0
  234. {pydantic_ai-1.0.2 → pydantic_ai-1.0.3}/tests/models/cassettes/test_google/test_google_model_code_execution_tool.yaml +0 -0
  235. {pydantic_ai-1.0.2 → pydantic_ai-1.0.3}/tests/models/cassettes/test_google/test_google_model_document_url_input.yaml +0 -0
  236. {pydantic_ai-1.0.2 → pydantic_ai-1.0.3}/tests/models/cassettes/test_google/test_google_model_empty_assistant_response.yaml +0 -0
  237. {pydantic_ai-1.0.2 → pydantic_ai-1.0.3}/tests/models/cassettes/test_google/test_google_model_empty_user_prompt.yaml +0 -0
  238. {pydantic_ai-1.0.2 → pydantic_ai-1.0.3}/tests/models/cassettes/test_google/test_google_model_image_as_binary_content_input.yaml +0 -0
  239. {pydantic_ai-1.0.2 → pydantic_ai-1.0.3}/tests/models/cassettes/test_google/test_google_model_image_url_input.yaml +0 -0
  240. {pydantic_ai-1.0.2 → pydantic_ai-1.0.3}/tests/models/cassettes/test_google/test_google_model_instructions.yaml +0 -0
  241. {pydantic_ai-1.0.2 → pydantic_ai-1.0.3}/tests/models/cassettes/test_google/test_google_model_iter_stream.yaml +0 -0
  242. {pydantic_ai-1.0.2 → pydantic_ai-1.0.3}/tests/models/cassettes/test_google/test_google_model_max_tokens.yaml +0 -0
  243. {pydantic_ai-1.0.2 → pydantic_ai-1.0.3}/tests/models/cassettes/test_google/test_google_model_multiple_documents_in_history.yaml +0 -0
  244. {pydantic_ai-1.0.2 → pydantic_ai-1.0.3}/tests/models/cassettes/test_google/test_google_model_receive_web_search_history_from_another_provider.yaml +0 -0
  245. {pydantic_ai-1.0.2 → pydantic_ai-1.0.3}/tests/models/cassettes/test_google/test_google_model_retry.yaml +0 -0
  246. {pydantic_ai-1.0.2 → pydantic_ai-1.0.3}/tests/models/cassettes/test_google/test_google_model_safety_settings.yaml +0 -0
  247. {pydantic_ai-1.0.2 → pydantic_ai-1.0.3}/tests/models/cassettes/test_google/test_google_model_server_tool_receive_history_from_another_provider.yaml +0 -0
  248. {pydantic_ai-1.0.2 → pydantic_ai-1.0.3}/tests/models/cassettes/test_google/test_google_model_stream.yaml +0 -0
  249. {pydantic_ai-1.0.2 → pydantic_ai-1.0.3}/tests/models/cassettes/test_google/test_google_model_structured_output.yaml +0 -0
  250. {pydantic_ai-1.0.2 → pydantic_ai-1.0.3}/tests/models/cassettes/test_google/test_google_model_text_as_binary_content_input.yaml +0 -0
  251. {pydantic_ai-1.0.2 → pydantic_ai-1.0.3}/tests/models/cassettes/test_google/test_google_model_text_document_url_input.yaml +0 -0
  252. {pydantic_ai-1.0.2 → pydantic_ai-1.0.3}/tests/models/cassettes/test_google/test_google_model_thinking_config.yaml +0 -0
  253. {pydantic_ai-1.0.2 → pydantic_ai-1.0.3}/tests/models/cassettes/test_google/test_google_model_top_p.yaml +0 -0
  254. {pydantic_ai-1.0.2 → pydantic_ai-1.0.3}/tests/models/cassettes/test_google/test_google_model_url_context_tool.yaml +0 -0
  255. {pydantic_ai-1.0.2 → pydantic_ai-1.0.3}/tests/models/cassettes/test_google/test_google_model_usage_limit_exceeded.yaml +0 -0
  256. {pydantic_ai-1.0.2 → pydantic_ai-1.0.3}/tests/models/cassettes/test_google/test_google_model_usage_limit_not_exceeded.yaml +0 -0
  257. {pydantic_ai-1.0.2 → pydantic_ai-1.0.3}/tests/models/cassettes/test_google/test_google_model_vertex_labels.yaml +0 -0
  258. {pydantic_ai-1.0.2 → pydantic_ai-1.0.3}/tests/models/cassettes/test_google/test_google_model_vertex_provider.yaml +0 -0
  259. {pydantic_ai-1.0.2 → pydantic_ai-1.0.3}/tests/models/cassettes/test_google/test_google_model_video_as_binary_content_input.yaml +0 -0
  260. {pydantic_ai-1.0.2 → pydantic_ai-1.0.3}/tests/models/cassettes/test_google/test_google_model_video_as_binary_content_input_with_vendor_metadata.yaml +0 -0
  261. {pydantic_ai-1.0.2 → pydantic_ai-1.0.3}/tests/models/cassettes/test_google/test_google_model_video_url_input.yaml +0 -0
  262. {pydantic_ai-1.0.2 → pydantic_ai-1.0.3}/tests/models/cassettes/test_google/test_google_model_web_search_tool.yaml +0 -0
  263. {pydantic_ai-1.0.2 → pydantic_ai-1.0.3}/tests/models/cassettes/test_google/test_google_model_youtube_video_url_input_with_vendor_metadata.yaml +0 -0
  264. {pydantic_ai-1.0.2 → pydantic_ai-1.0.3}/tests/models/cassettes/test_google/test_google_native_output.yaml +0 -0
  265. {pydantic_ai-1.0.2 → pydantic_ai-1.0.3}/tests/models/cassettes/test_google/test_google_native_output_multiple.yaml +0 -0
  266. {pydantic_ai-1.0.2 → pydantic_ai-1.0.3}/tests/models/cassettes/test_google/test_google_prompted_output.yaml +0 -0
  267. {pydantic_ai-1.0.2 → pydantic_ai-1.0.3}/tests/models/cassettes/test_google/test_google_prompted_output_multiple.yaml +0 -0
  268. {pydantic_ai-1.0.2 → pydantic_ai-1.0.3}/tests/models/cassettes/test_google/test_google_prompted_output_with_tools.yaml +0 -0
  269. {pydantic_ai-1.0.2 → pydantic_ai-1.0.3}/tests/models/cassettes/test_google/test_google_text_output_function.yaml +0 -0
  270. {pydantic_ai-1.0.2 → pydantic_ai-1.0.3}/tests/models/cassettes/test_google/test_google_timeout.yaml +0 -0
  271. {pydantic_ai-1.0.2 → pydantic_ai-1.0.3}/tests/models/cassettes/test_google/test_google_tool_config_any_with_tool_without_args.yaml +0 -0
  272. {pydantic_ai-1.0.2 → pydantic_ai-1.0.3}/tests/models/cassettes/test_google/test_google_tool_output.yaml +0 -0
  273. {pydantic_ai-1.0.2 → pydantic_ai-1.0.3}/tests/models/cassettes/test_google/test_google_url_input[AudioUrl (gs)].yaml +0 -0
  274. {pydantic_ai-1.0.2 → pydantic_ai-1.0.3}/tests/models/cassettes/test_google/test_google_url_input[AudioUrl].yaml +0 -0
  275. {pydantic_ai-1.0.2 → pydantic_ai-1.0.3}/tests/models/cassettes/test_google/test_google_url_input[DocumentUrl (gs)].yaml +0 -0
  276. {pydantic_ai-1.0.2 → pydantic_ai-1.0.3}/tests/models/cassettes/test_google/test_google_url_input[DocumentUrl].yaml +0 -0
  277. {pydantic_ai-1.0.2 → pydantic_ai-1.0.3}/tests/models/cassettes/test_google/test_google_url_input[ImageUrl (gs)].yaml +0 -0
  278. {pydantic_ai-1.0.2 → pydantic_ai-1.0.3}/tests/models/cassettes/test_google/test_google_url_input[ImageUrl].yaml +0 -0
  279. {pydantic_ai-1.0.2 → pydantic_ai-1.0.3}/tests/models/cassettes/test_google/test_google_url_input[VideoUrl (YouTube)].yaml +0 -0
  280. {pydantic_ai-1.0.2 → pydantic_ai-1.0.3}/tests/models/cassettes/test_google/test_google_url_input[VideoUrl (gs)].yaml +0 -0
  281. {pydantic_ai-1.0.2 → pydantic_ai-1.0.3}/tests/models/cassettes/test_google/test_google_url_input[VideoUrl].yaml +0 -0
  282. {pydantic_ai-1.0.2 → pydantic_ai-1.0.3}/tests/models/cassettes/test_google/test_google_url_input_force_download.yaml +0 -0
  283. {pydantic_ai-1.0.2 → pydantic_ai-1.0.3}/tests/models/cassettes/test_google/test_google_vertexai_model_usage_limit_exceeded.yaml +0 -0
  284. {pydantic_ai-1.0.2 → pydantic_ai-1.0.3}/tests/models/cassettes/test_groq/test_extra_headers.yaml +0 -0
  285. {pydantic_ai-1.0.2 → pydantic_ai-1.0.3}/tests/models/cassettes/test_groq/test_groq_model_instructions.yaml +0 -0
  286. {pydantic_ai-1.0.2 → pydantic_ai-1.0.3}/tests/models/cassettes/test_groq/test_groq_model_thinking_part.yaml +0 -0
  287. {pydantic_ai-1.0.2 → pydantic_ai-1.0.3}/tests/models/cassettes/test_groq/test_groq_model_thinking_part_iter.yaml +0 -0
  288. {pydantic_ai-1.0.2 → pydantic_ai-1.0.3}/tests/models/cassettes/test_groq/test_groq_model_web_search_tool.yaml +0 -0
  289. {pydantic_ai-1.0.2 → pydantic_ai-1.0.3}/tests/models/cassettes/test_groq/test_groq_native_output.yaml +0 -0
  290. {pydantic_ai-1.0.2 → pydantic_ai-1.0.3}/tests/models/cassettes/test_groq/test_groq_prompted_output.yaml +0 -0
  291. {pydantic_ai-1.0.2 → pydantic_ai-1.0.3}/tests/models/cassettes/test_groq/test_image_as_binary_content_input.yaml +0 -0
  292. {pydantic_ai-1.0.2 → pydantic_ai-1.0.3}/tests/models/cassettes/test_groq/test_image_as_binary_content_tool_response.yaml +0 -0
  293. {pydantic_ai-1.0.2 → pydantic_ai-1.0.3}/tests/models/cassettes/test_groq/test_image_url_input.yaml +0 -0
  294. {pydantic_ai-1.0.2 → pydantic_ai-1.0.3}/tests/models/cassettes/test_groq/test_tool_regular_error.yaml +0 -0
  295. {pydantic_ai-1.0.2 → pydantic_ai-1.0.3}/tests/models/cassettes/test_groq/test_tool_use_failed_error.yaml +0 -0
  296. {pydantic_ai-1.0.2 → pydantic_ai-1.0.3}/tests/models/cassettes/test_groq/test_tool_use_failed_error_streaming.yaml +0 -0
  297. {pydantic_ai-1.0.2 → pydantic_ai-1.0.3}/tests/models/cassettes/test_huggingface/test_hf_model_instructions.yaml +0 -0
  298. {pydantic_ai-1.0.2 → pydantic_ai-1.0.3}/tests/models/cassettes/test_huggingface/test_hf_model_thinking_part.yaml +0 -0
  299. {pydantic_ai-1.0.2 → pydantic_ai-1.0.3}/tests/models/cassettes/test_huggingface/test_hf_model_thinking_part_iter.yaml +0 -0
  300. {pydantic_ai-1.0.2 → pydantic_ai-1.0.3}/tests/models/cassettes/test_huggingface/test_image_as_binary_content_input.yaml +0 -0
  301. {pydantic_ai-1.0.2 → pydantic_ai-1.0.3}/tests/models/cassettes/test_huggingface/test_image_url_input.yaml +0 -0
  302. {pydantic_ai-1.0.2 → pydantic_ai-1.0.3}/tests/models/cassettes/test_huggingface/test_max_completion_tokens[Qwen-Qwen2.5-72B-Instruct].yaml +0 -0
  303. {pydantic_ai-1.0.2 → pydantic_ai-1.0.3}/tests/models/cassettes/test_huggingface/test_max_completion_tokens[deepseek-ai-DeepSeek-R1-0528].yaml +0 -0
  304. {pydantic_ai-1.0.2 → pydantic_ai-1.0.3}/tests/models/cassettes/test_huggingface/test_max_completion_tokens[meta-llama-Llama-3.3-70B-Instruct].yaml +0 -0
  305. {pydantic_ai-1.0.2 → pydantic_ai-1.0.3}/tests/models/cassettes/test_huggingface/test_request_simple_success_with_vcr.yaml +0 -0
  306. {pydantic_ai-1.0.2 → pydantic_ai-1.0.3}/tests/models/cassettes/test_huggingface/test_request_simple_usage.yaml +0 -0
  307. {pydantic_ai-1.0.2 → pydantic_ai-1.0.3}/tests/models/cassettes/test_huggingface/test_simple_completion.yaml +0 -0
  308. {pydantic_ai-1.0.2 → pydantic_ai-1.0.3}/tests/models/cassettes/test_huggingface/test_stream_completion.yaml +0 -0
  309. {pydantic_ai-1.0.2 → pydantic_ai-1.0.3}/tests/models/cassettes/test_mistral/test_image_as_binary_content_tool_response.yaml +0 -0
  310. {pydantic_ai-1.0.2 → pydantic_ai-1.0.3}/tests/models/cassettes/test_mistral/test_mistral_model_instructions.yaml +0 -0
  311. {pydantic_ai-1.0.2 → pydantic_ai-1.0.3}/tests/models/cassettes/test_model_names/test_known_model_names.yaml +0 -0
  312. {pydantic_ai-1.0.2 → pydantic_ai-1.0.3}/tests/models/cassettes/test_openai/test_audio_as_binary_content_input.yaml +0 -0
  313. {pydantic_ai-1.0.2 → pydantic_ai-1.0.3}/tests/models/cassettes/test_openai/test_compatible_api_with_tool_calls_without_id.yaml +0 -0
  314. {pydantic_ai-1.0.2 → pydantic_ai-1.0.3}/tests/models/cassettes/test_openai/test_document_as_binary_content_input.yaml +0 -0
  315. {pydantic_ai-1.0.2 → pydantic_ai-1.0.3}/tests/models/cassettes/test_openai/test_document_as_binary_content_input_with_tool.yaml +0 -0
  316. {pydantic_ai-1.0.2 → pydantic_ai-1.0.3}/tests/models/cassettes/test_openai/test_document_url_input.yaml +0 -0
  317. {pydantic_ai-1.0.2 → pydantic_ai-1.0.3}/tests/models/cassettes/test_openai/test_extra_headers.yaml +0 -0
  318. {pydantic_ai-1.0.2 → pydantic_ai-1.0.3}/tests/models/cassettes/test_openai/test_image_as_binary_content_input.yaml +0 -0
  319. {pydantic_ai-1.0.2 → pydantic_ai-1.0.3}/tests/models/cassettes/test_openai/test_image_as_binary_content_tool_response.yaml +0 -0
  320. {pydantic_ai-1.0.2 → pydantic_ai-1.0.3}/tests/models/cassettes/test_openai/test_image_url_tool_response.yaml +0 -0
  321. {pydantic_ai-1.0.2 → pydantic_ai-1.0.3}/tests/models/cassettes/test_openai/test_invalid_response.yaml +0 -0
  322. {pydantic_ai-1.0.2 → pydantic_ai-1.0.3}/tests/models/cassettes/test_openai/test_max_completion_tokens[gpt-4.5-preview].yaml +0 -0
  323. {pydantic_ai-1.0.2 → pydantic_ai-1.0.3}/tests/models/cassettes/test_openai/test_max_completion_tokens[gpt-4o-mini].yaml +0 -0
  324. {pydantic_ai-1.0.2 → pydantic_ai-1.0.3}/tests/models/cassettes/test_openai/test_max_completion_tokens[o3-mini].yaml +0 -0
  325. {pydantic_ai-1.0.2 → pydantic_ai-1.0.3}/tests/models/cassettes/test_openai/test_multiple_agent_tool_calls.yaml +0 -0
  326. {pydantic_ai-1.0.2 → pydantic_ai-1.0.3}/tests/models/cassettes/test_openai/test_openai_audio_url_input.yaml +0 -0
  327. {pydantic_ai-1.0.2 → pydantic_ai-1.0.3}/tests/models/cassettes/test_openai/test_openai_instructions.yaml +0 -0
  328. {pydantic_ai-1.0.2 → pydantic_ai-1.0.3}/tests/models/cassettes/test_openai/test_openai_instructions_with_tool_calls_keep_instructions.yaml +0 -0
  329. {pydantic_ai-1.0.2 → pydantic_ai-1.0.3}/tests/models/cassettes/test_openai/test_openai_model_cerebras_provider.yaml +0 -0
  330. {pydantic_ai-1.0.2 → pydantic_ai-1.0.3}/tests/models/cassettes/test_openai/test_openai_model_cerebras_provider_harmony.yaml +0 -0
  331. {pydantic_ai-1.0.2 → pydantic_ai-1.0.3}/tests/models/cassettes/test_openai/test_openai_model_cerebras_provider_qwen_3_coder.yaml +0 -0
  332. {pydantic_ai-1.0.2 → pydantic_ai-1.0.3}/tests/models/cassettes/test_openai/test_openai_model_settings_temperature_ignored_on_gpt_5.yaml +0 -0
  333. {pydantic_ai-1.0.2 → pydantic_ai-1.0.3}/tests/models/cassettes/test_openai/test_openai_model_without_system_prompt.yaml +0 -0
  334. {pydantic_ai-1.0.2 → pydantic_ai-1.0.3}/tests/models/cassettes/test_openai/test_openai_native_output.yaml +0 -0
  335. {pydantic_ai-1.0.2 → pydantic_ai-1.0.3}/tests/models/cassettes/test_openai/test_openai_native_output_multiple.yaml +0 -0
  336. {pydantic_ai-1.0.2 → pydantic_ai-1.0.3}/tests/models/cassettes/test_openai/test_openai_o1_mini_system_role[developer].yaml +0 -0
  337. {pydantic_ai-1.0.2 → pydantic_ai-1.0.3}/tests/models/cassettes/test_openai/test_openai_o1_mini_system_role[system].yaml +0 -0
  338. {pydantic_ai-1.0.2 → pydantic_ai-1.0.3}/tests/models/cassettes/test_openai/test_openai_prompted_output.yaml +0 -0
  339. {pydantic_ai-1.0.2 → pydantic_ai-1.0.3}/tests/models/cassettes/test_openai/test_openai_prompted_output_multiple.yaml +0 -0
  340. {pydantic_ai-1.0.2 → pydantic_ai-1.0.3}/tests/models/cassettes/test_openai/test_openai_text_output_function.yaml +0 -0
  341. {pydantic_ai-1.0.2 → pydantic_ai-1.0.3}/tests/models/cassettes/test_openai/test_openai_tool_output.yaml +0 -0
  342. {pydantic_ai-1.0.2 → pydantic_ai-1.0.3}/tests/models/cassettes/test_openai/test_openai_web_search_tool.yaml +0 -0
  343. {pydantic_ai-1.0.2 → pydantic_ai-1.0.3}/tests/models/cassettes/test_openai/test_openai_web_search_tool_model_not_supported.yaml +0 -0
  344. {pydantic_ai-1.0.2 → pydantic_ai-1.0.3}/tests/models/cassettes/test_openai/test_openai_web_search_tool_with_user_location.yaml +0 -0
  345. {pydantic_ai-1.0.2 → pydantic_ai-1.0.3}/tests/models/cassettes/test_openai/test_reasoning_model_with_temperature.yaml +0 -0
  346. {pydantic_ai-1.0.2 → pydantic_ai-1.0.3}/tests/models/cassettes/test_openai/test_system_prompt_role_o1_mini.yaml +0 -0
  347. {pydantic_ai-1.0.2 → pydantic_ai-1.0.3}/tests/models/cassettes/test_openai/test_text_response.yaml +0 -0
  348. {pydantic_ai-1.0.2 → pydantic_ai-1.0.3}/tests/models/cassettes/test_openai/test_user_id.yaml +0 -0
  349. {pydantic_ai-1.0.2 → pydantic_ai-1.0.3}/tests/models/cassettes/test_openai/test_valid_response.yaml +0 -0
  350. {pydantic_ai-1.0.2 → pydantic_ai-1.0.3}/tests/models/cassettes/test_openai_responses/test_audio_as_binary_content_input.yaml +0 -0
  351. {pydantic_ai-1.0.2 → pydantic_ai-1.0.3}/tests/models/cassettes/test_openai_responses/test_image_as_binary_content_input.yaml +0 -0
  352. {pydantic_ai-1.0.2 → pydantic_ai-1.0.3}/tests/models/cassettes/test_openai_responses/test_image_as_binary_content_tool_response.yaml +0 -0
  353. {pydantic_ai-1.0.2 → pydantic_ai-1.0.3}/tests/models/cassettes/test_openai_responses/test_native_output.yaml +0 -0
  354. {pydantic_ai-1.0.2 → pydantic_ai-1.0.3}/tests/models/cassettes/test_openai_responses/test_native_output_multiple.yaml +0 -0
  355. {pydantic_ai-1.0.2 → pydantic_ai-1.0.3}/tests/models/cassettes/test_openai_responses/test_openai_responses_code_execution_tool.yaml +0 -0
  356. {pydantic_ai-1.0.2 → pydantic_ai-1.0.3}/tests/models/cassettes/test_openai_responses/test_openai_responses_code_execution_tool_stream.yaml +0 -0
  357. {pydantic_ai-1.0.2 → pydantic_ai-1.0.3}/tests/models/cassettes/test_openai_responses/test_openai_responses_document_as_binary_content_input.yaml +0 -0
  358. {pydantic_ai-1.0.2 → pydantic_ai-1.0.3}/tests/models/cassettes/test_openai_responses/test_openai_responses_document_url_input.yaml +0 -0
  359. {pydantic_ai-1.0.2 → pydantic_ai-1.0.3}/tests/models/cassettes/test_openai_responses/test_openai_responses_image_url_input.yaml +0 -0
  360. {pydantic_ai-1.0.2 → pydantic_ai-1.0.3}/tests/models/cassettes/test_openai_responses/test_openai_responses_model_builtin_tools.yaml +0 -0
  361. {pydantic_ai-1.0.2 → pydantic_ai-1.0.3}/tests/models/cassettes/test_openai_responses/test_openai_responses_model_http_error.yaml +0 -0
  362. {pydantic_ai-1.0.2 → pydantic_ai-1.0.3}/tests/models/cassettes/test_openai_responses/test_openai_responses_model_instructions.yaml +0 -0
  363. {pydantic_ai-1.0.2 → pydantic_ai-1.0.3}/tests/models/cassettes/test_openai_responses/test_openai_responses_model_retry.yaml +0 -0
  364. {pydantic_ai-1.0.2 → pydantic_ai-1.0.3}/tests/models/cassettes/test_openai_responses/test_openai_responses_model_simple_response.yaml +0 -0
  365. {pydantic_ai-1.0.2 → pydantic_ai-1.0.3}/tests/models/cassettes/test_openai_responses/test_openai_responses_model_simple_response_with_tool_call.yaml +0 -0
  366. {pydantic_ai-1.0.2 → pydantic_ai-1.0.3}/tests/models/cassettes/test_openai_responses/test_openai_responses_model_web_search_tool.yaml +0 -0
  367. {pydantic_ai-1.0.2 → pydantic_ai-1.0.3}/tests/models/cassettes/test_openai_responses/test_openai_responses_model_web_search_tool_stream.yaml +0 -0
  368. {pydantic_ai-1.0.2 → pydantic_ai-1.0.3}/tests/models/cassettes/test_openai_responses/test_openai_responses_model_web_search_tool_with_invalid_region.yaml +0 -0
  369. {pydantic_ai-1.0.2 → pydantic_ai-1.0.3}/tests/models/cassettes/test_openai_responses/test_openai_responses_model_web_search_tool_with_user_location.yaml +0 -0
  370. {pydantic_ai-1.0.2 → pydantic_ai-1.0.3}/tests/models/cassettes/test_openai_responses/test_openai_responses_output_type.yaml +0 -0
  371. {pydantic_ai-1.0.2 → pydantic_ai-1.0.3}/tests/models/cassettes/test_openai_responses/test_openai_responses_reasoning_effort.yaml +0 -0
  372. {pydantic_ai-1.0.2 → pydantic_ai-1.0.3}/tests/models/cassettes/test_openai_responses/test_openai_responses_reasoning_generate_summary.yaml +0 -0
  373. {pydantic_ai-1.0.2 → pydantic_ai-1.0.3}/tests/models/cassettes/test_openai_responses/test_openai_responses_stream.yaml +0 -0
  374. {pydantic_ai-1.0.2 → pydantic_ai-1.0.3}/tests/models/cassettes/test_openai_responses/test_openai_responses_system_prompt.yaml +0 -0
  375. {pydantic_ai-1.0.2 → pydantic_ai-1.0.3}/tests/models/cassettes/test_openai_responses/test_openai_responses_text_document_url_input.yaml +0 -0
  376. {pydantic_ai-1.0.2 → pydantic_ai-1.0.3}/tests/models/cassettes/test_openai_responses/test_openai_responses_verbosity.yaml +0 -0
  377. {pydantic_ai-1.0.2 → pydantic_ai-1.0.3}/tests/models/cassettes/test_openai_responses/test_prompted_output.yaml +0 -0
  378. {pydantic_ai-1.0.2 → pydantic_ai-1.0.3}/tests/models/cassettes/test_openai_responses/test_prompted_output_multiple.yaml +0 -0
  379. {pydantic_ai-1.0.2 → pydantic_ai-1.0.3}/tests/models/cassettes/test_openai_responses/test_reasoning_model_with_temperature.yaml +0 -0
  380. {pydantic_ai-1.0.2 → pydantic_ai-1.0.3}/tests/models/cassettes/test_openai_responses/test_text_output_function.yaml +0 -0
  381. {pydantic_ai-1.0.2 → pydantic_ai-1.0.3}/tests/models/cassettes/test_openai_responses/test_tool_output.yaml +0 -0
  382. {pydantic_ai-1.0.2 → pydantic_ai-1.0.3}/tests/models/mock_async_stream.py +0 -0
  383. {pydantic_ai-1.0.2 → pydantic_ai-1.0.3}/tests/models/mock_openai.py +0 -0
  384. {pydantic_ai-1.0.2 → pydantic_ai-1.0.3}/tests/models/test_download_item.py +0 -0
  385. {pydantic_ai-1.0.2 → pydantic_ai-1.0.3}/tests/models/test_fallback.py +0 -0
  386. {pydantic_ai-1.0.2 → pydantic_ai-1.0.3}/tests/models/test_gemini.py +0 -0
  387. {pydantic_ai-1.0.2 → pydantic_ai-1.0.3}/tests/models/test_gemini_vertex.py +0 -0
  388. {pydantic_ai-1.0.2 → pydantic_ai-1.0.3}/tests/models/test_instrumented.py +0 -0
  389. {pydantic_ai-1.0.2 → pydantic_ai-1.0.3}/tests/models/test_mcp_sampling.py +0 -0
  390. {pydantic_ai-1.0.2 → pydantic_ai-1.0.3}/tests/models/test_model.py +0 -0
  391. {pydantic_ai-1.0.2 → pydantic_ai-1.0.3}/tests/models/test_model_function.py +0 -0
  392. {pydantic_ai-1.0.2 → pydantic_ai-1.0.3}/tests/models/test_model_names.py +0 -0
  393. {pydantic_ai-1.0.2 → pydantic_ai-1.0.3}/tests/models/test_model_request_parameters.py +0 -0
  394. {pydantic_ai-1.0.2 → pydantic_ai-1.0.3}/tests/models/test_model_settings.py +0 -0
  395. {pydantic_ai-1.0.2 → pydantic_ai-1.0.3}/tests/models/test_model_test.py +0 -0
  396. {pydantic_ai-1.0.2 → pydantic_ai-1.0.3}/tests/parts_from_messages.py +0 -0
  397. {pydantic_ai-1.0.2 → pydantic_ai-1.0.3}/tests/providers/__init__.py +0 -0
  398. {pydantic_ai-1.0.2 → pydantic_ai-1.0.3}/tests/providers/cassettes/test_azure/test_azure_provider_call.yaml +0 -0
  399. {pydantic_ai-1.0.2 → pydantic_ai-1.0.3}/tests/providers/cassettes/test_google_vertex/test_vertexai_provider.yaml +0 -0
  400. {pydantic_ai-1.0.2 → pydantic_ai-1.0.3}/tests/providers/cassettes/test_heroku/test_heroku_model_provider_claude_3_7_sonnet.yaml +0 -0
  401. {pydantic_ai-1.0.2 → pydantic_ai-1.0.3}/tests/providers/cassettes/test_openrouter/test_openrouter_with_google_model.yaml +0 -0
  402. {pydantic_ai-1.0.2 → pydantic_ai-1.0.3}/tests/providers/test_anthropic.py +0 -0
  403. {pydantic_ai-1.0.2 → pydantic_ai-1.0.3}/tests/providers/test_azure.py +0 -0
  404. {pydantic_ai-1.0.2 → pydantic_ai-1.0.3}/tests/providers/test_bedrock.py +0 -0
  405. {pydantic_ai-1.0.2 → pydantic_ai-1.0.3}/tests/providers/test_cerebras.py +0 -0
  406. {pydantic_ai-1.0.2 → pydantic_ai-1.0.3}/tests/providers/test_cohere.py +0 -0
  407. {pydantic_ai-1.0.2 → pydantic_ai-1.0.3}/tests/providers/test_deepseek.py +0 -0
  408. {pydantic_ai-1.0.2 → pydantic_ai-1.0.3}/tests/providers/test_fireworks.py +0 -0
  409. {pydantic_ai-1.0.2 → pydantic_ai-1.0.3}/tests/providers/test_github.py +0 -0
  410. {pydantic_ai-1.0.2 → pydantic_ai-1.0.3}/tests/providers/test_google_gla.py +0 -0
  411. {pydantic_ai-1.0.2 → pydantic_ai-1.0.3}/tests/providers/test_google_vertex.py +0 -0
  412. {pydantic_ai-1.0.2 → pydantic_ai-1.0.3}/tests/providers/test_grok.py +0 -0
  413. {pydantic_ai-1.0.2 → pydantic_ai-1.0.3}/tests/providers/test_groq.py +0 -0
  414. {pydantic_ai-1.0.2 → pydantic_ai-1.0.3}/tests/providers/test_heroku.py +0 -0
  415. {pydantic_ai-1.0.2 → pydantic_ai-1.0.3}/tests/providers/test_huggingface.py +0 -0
  416. {pydantic_ai-1.0.2 → pydantic_ai-1.0.3}/tests/providers/test_litellm.py +0 -0
  417. {pydantic_ai-1.0.2 → pydantic_ai-1.0.3}/tests/providers/test_mistral.py +0 -0
  418. {pydantic_ai-1.0.2 → pydantic_ai-1.0.3}/tests/providers/test_moonshotai.py +0 -0
  419. {pydantic_ai-1.0.2 → pydantic_ai-1.0.3}/tests/providers/test_ollama.py +0 -0
  420. {pydantic_ai-1.0.2 → pydantic_ai-1.0.3}/tests/providers/test_openai.py +0 -0
  421. {pydantic_ai-1.0.2 → pydantic_ai-1.0.3}/tests/providers/test_openrouter.py +0 -0
  422. {pydantic_ai-1.0.2 → pydantic_ai-1.0.3}/tests/providers/test_provider_names.py +0 -0
  423. {pydantic_ai-1.0.2 → pydantic_ai-1.0.3}/tests/providers/test_together.py +0 -0
  424. {pydantic_ai-1.0.2 → pydantic_ai-1.0.3}/tests/providers/test_vercel.py +0 -0
  425. {pydantic_ai-1.0.2 → pydantic_ai-1.0.3}/tests/test_a2a.py +0 -0
  426. {pydantic_ai-1.0.2 → pydantic_ai-1.0.3}/tests/test_builtin_tools.py +0 -0
  427. {pydantic_ai-1.0.2 → pydantic_ai-1.0.3}/tests/test_cli.py +0 -0
  428. {pydantic_ai-1.0.2 → pydantic_ai-1.0.3}/tests/test_deps.py +0 -0
  429. {pydantic_ai-1.0.2 → pydantic_ai-1.0.3}/tests/test_direct.py +0 -0
  430. {pydantic_ai-1.0.2 → pydantic_ai-1.0.3}/tests/test_examples.py +0 -0
  431. {pydantic_ai-1.0.2 → pydantic_ai-1.0.3}/tests/test_format_as_xml.py +0 -0
  432. {pydantic_ai-1.0.2 → pydantic_ai-1.0.3}/tests/test_history_processor.py +0 -0
  433. {pydantic_ai-1.0.2 → pydantic_ai-1.0.3}/tests/test_json_body_serializer.py +0 -0
  434. {pydantic_ai-1.0.2 → pydantic_ai-1.0.3}/tests/test_live.py +0 -0
  435. {pydantic_ai-1.0.2 → pydantic_ai-1.0.3}/tests/test_logfire.py +0 -0
  436. {pydantic_ai-1.0.2 → pydantic_ai-1.0.3}/tests/test_parts_manager.py +0 -0
  437. {pydantic_ai-1.0.2 → pydantic_ai-1.0.3}/tests/test_settings.py +0 -0
  438. {pydantic_ai-1.0.2 → pydantic_ai-1.0.3}/tests/test_streaming.py +0 -0
  439. {pydantic_ai-1.0.2 → pydantic_ai-1.0.3}/tests/test_temporal.py +0 -0
  440. {pydantic_ai-1.0.2 → pydantic_ai-1.0.3}/tests/test_tenacity.py +0 -0
  441. {pydantic_ai-1.0.2 → pydantic_ai-1.0.3}/tests/test_thinking_part.py +0 -0
  442. {pydantic_ai-1.0.2 → pydantic_ai-1.0.3}/tests/test_tools.py +0 -0
  443. {pydantic_ai-1.0.2 → pydantic_ai-1.0.3}/tests/test_toolsets.py +0 -0
  444. {pydantic_ai-1.0.2 → pydantic_ai-1.0.3}/tests/test_usage_limits.py +0 -0
  445. {pydantic_ai-1.0.2 → pydantic_ai-1.0.3}/tests/test_utils.py +0 -0
  446. {pydantic_ai-1.0.2 → pydantic_ai-1.0.3}/tests/typed_agent.py +0 -0
  447. {pydantic_ai-1.0.2 → pydantic_ai-1.0.3}/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.2
3
+ Version: 1.0.3
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.2
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.3
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.2; extra == 'dbos'
34
+ Requires-Dist: pydantic-ai-slim[dbos]==1.0.3; extra == 'dbos'
35
35
  Provides-Extra: examples
36
- Requires-Dist: pydantic-ai-examples==1.0.2; extra == 'examples'
36
+ Requires-Dist: pydantic-ai-examples==1.0.3; 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
- method: post
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
- uri: https://generativelanguage.googleapis.com/v1beta/models/gemini-2.5-pro-preview-03-25:generateContent
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
- - '1956'
138
+ - '1507'
119
139
  content-type:
120
140
  - application/json; charset=UTF-8
121
141
  server-timing:
122
- - gfet4t7; dur=3710
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: models/gemini-2.5-pro
142
- responseId: KHKBaP7DCv2dz7IPq97f6A8
160
+ modelVersion: gemini-2.5-pro
161
+ responseId: Pe_BaJGqOKSdz7IP0NqogA8
143
162
  usageMetadata:
144
- candidatesTokenCount: 41
145
- promptTokenCount: 561
163
+ candidatesTokenCount: 14
164
+ promptTokenCount: 605
146
165
  promptTokensDetails:
147
166
  - modality: TEXT
148
- tokenCount: 561
149
- thoughtsTokenCount: 195
150
- totalTokenCount: 797
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
- method: post
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: pyd_ai_acb3c2780e3642e9b8bca61de5a63eed
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: pyd_ai_acb3c2780e3642e9b8bca61de5a63eed
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
- uri: https://generativelanguage.googleapis.com/v1beta/models/gemini-2.5-pro-preview-03-25:generateContent
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
- - '596'
327
+ - '589'
289
328
  content-type:
290
329
  - application/json; charset=UTF-8
291
330
  server-timing:
292
- - gfet4t7; dur=2162
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: models/gemini-2.5-pro
308
- responseId: KnKBaNORHOHOz7IPy77GuQE
346
+ modelVersion: gemini-2.5-pro
347
+ responseId: QO_BaLC6AozQz7IPh5Kj4Q4
309
348
  usageMetadata:
310
349
  candidatesTokenCount: 5
311
- promptTokenCount: 784
350
+ promptTokenCount: 801
312
351
  promptTokensDetails:
313
352
  - modality: TEXT
314
- tokenCount: 640
353
+ tokenCount: 657
315
354
  - modality: AUDIO
316
355
  tokenCount: 144
317
- totalTokenCount: 789
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