pydantic-ai 1.0.3__tar.gz → 1.0.5__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 (450) hide show
  1. {pydantic_ai-1.0.3 → pydantic_ai-1.0.5}/PKG-INFO +4 -4
  2. {pydantic_ai-1.0.3 → pydantic_ai-1.0.5}/tests/models/cassettes/test_openai_responses/test_openai_responses_model_simple_response.yaml +21 -11
  3. pydantic_ai-1.0.5/tests/models/cassettes/test_openai_responses/test_openai_responses_model_thinking_part.yaml +366 -0
  4. pydantic_ai-1.0.5/tests/models/cassettes/test_openai_responses/test_openai_responses_thinking_part_from_other_model.yaml +284 -0
  5. pydantic_ai-1.0.5/tests/models/cassettes/test_openai_responses/test_openai_responses_thinking_with_modified_history.yaml +360 -0
  6. pydantic_ai-1.0.5/tests/models/cassettes/test_openai_responses/test_openai_responses_thinking_with_tool_calls.yaml +354 -0
  7. {pydantic_ai-1.0.3 → pydantic_ai-1.0.5}/tests/models/test_anthropic.py +8 -3
  8. {pydantic_ai-1.0.3 → pydantic_ai-1.0.5}/tests/models/test_bedrock.py +1 -1
  9. {pydantic_ai-1.0.3 → pydantic_ai-1.0.5}/tests/models/test_gemini.py +2 -1
  10. {pydantic_ai-1.0.3 → pydantic_ai-1.0.5}/tests/models/test_google.py +2 -4
  11. {pydantic_ai-1.0.3 → pydantic_ai-1.0.5}/tests/models/test_mistral.py +1 -1
  12. pydantic_ai-1.0.5/tests/models/test_model.py +220 -0
  13. {pydantic_ai-1.0.3 → pydantic_ai-1.0.5}/tests/models/test_openai.py +1 -1
  14. {pydantic_ai-1.0.3 → pydantic_ai-1.0.5}/tests/models/test_openai_responses.py +480 -42
  15. pydantic_ai-1.0.5/tests/providers/cassettes/test_gateway/test_gateway_provider_with_anthropic.yaml +63 -0
  16. pydantic_ai-1.0.5/tests/providers/cassettes/test_gateway/test_gateway_provider_with_google_vertex.yaml +66 -0
  17. pydantic_ai-1.0.5/tests/providers/cassettes/test_gateway/test_gateway_provider_with_groq.yaml +71 -0
  18. pydantic_ai-1.0.5/tests/providers/cassettes/test_gateway/test_gateway_provider_with_openai.yaml +66 -0
  19. pydantic_ai-1.0.5/tests/providers/cassettes/test_gateway/test_gateway_provider_with_openai_responses.yaml +96 -0
  20. {pydantic_ai-1.0.3 → pydantic_ai-1.0.5}/tests/providers/test_azure.py +2 -2
  21. pydantic_ai-1.0.5/tests/providers/test_gateway.py +152 -0
  22. {pydantic_ai-1.0.3 → pydantic_ai-1.0.5}/tests/providers/test_groq.py +1 -1
  23. {pydantic_ai-1.0.3 → pydantic_ai-1.0.5}/tests/test_agent.py +3 -3
  24. {pydantic_ai-1.0.3 → pydantic_ai-1.0.5}/tests/test_examples.py +1 -1
  25. {pydantic_ai-1.0.3 → pydantic_ai-1.0.5}/tests/test_live.py +2 -2
  26. pydantic_ai-1.0.3/tests/models/cassettes/test_openai_responses/test_openai_responses_model_thinking_part.yaml +0 -374
  27. pydantic_ai-1.0.3/tests/models/test_model.py +0 -144
  28. {pydantic_ai-1.0.3 → pydantic_ai-1.0.5}/.gitignore +0 -0
  29. {pydantic_ai-1.0.3 → pydantic_ai-1.0.5}/LICENSE +0 -0
  30. {pydantic_ai-1.0.3 → pydantic_ai-1.0.5}/Makefile +0 -0
  31. {pydantic_ai-1.0.3 → pydantic_ai-1.0.5}/README.md +0 -0
  32. {pydantic_ai-1.0.3 → pydantic_ai-1.0.5}/pyproject.toml +0 -0
  33. {pydantic_ai-1.0.3 → pydantic_ai-1.0.5}/tests/__init__.py +0 -0
  34. {pydantic_ai-1.0.3 → pydantic_ai-1.0.5}/tests/assets/dummy.pdf +0 -0
  35. {pydantic_ai-1.0.3 → pydantic_ai-1.0.5}/tests/assets/kiwi.png +0 -0
  36. {pydantic_ai-1.0.3 → pydantic_ai-1.0.5}/tests/assets/marcelo.mp3 +0 -0
  37. {pydantic_ai-1.0.3 → pydantic_ai-1.0.5}/tests/assets/product_name.txt +0 -0
  38. {pydantic_ai-1.0.3 → pydantic_ai-1.0.5}/tests/assets/small_video.mp4 +0 -0
  39. {pydantic_ai-1.0.3 → pydantic_ai-1.0.5}/tests/cassettes/test_dbos/test_complex_agent_run.yaml +0 -0
  40. {pydantic_ai-1.0.3 → pydantic_ai-1.0.5}/tests/cassettes/test_dbos/test_complex_agent_run_in_workflow.yaml +0 -0
  41. {pydantic_ai-1.0.3 → pydantic_ai-1.0.5}/tests/cassettes/test_dbos/test_complex_agent_run_stream_in_workflow.yaml +0 -0
  42. {pydantic_ai-1.0.3 → pydantic_ai-1.0.5}/tests/cassettes/test_dbos/test_dbos_agent_iter.yaml +0 -0
  43. {pydantic_ai-1.0.3 → pydantic_ai-1.0.5}/tests/cassettes/test_dbos/test_dbos_agent_iter_in_workflow.yaml +0 -0
  44. {pydantic_ai-1.0.3 → pydantic_ai-1.0.5}/tests/cassettes/test_dbos/test_dbos_agent_override_deps_in_workflow.yaml +0 -0
  45. {pydantic_ai-1.0.3 → pydantic_ai-1.0.5}/tests/cassettes/test_dbos/test_dbos_agent_override_tools_in_workflow.yaml +0 -0
  46. {pydantic_ai-1.0.3 → pydantic_ai-1.0.5}/tests/cassettes/test_dbos/test_dbos_agent_run.yaml +0 -0
  47. {pydantic_ai-1.0.3 → pydantic_ai-1.0.5}/tests/cassettes/test_dbos/test_dbos_agent_run_in_workflow_with_toolsets.yaml +0 -0
  48. {pydantic_ai-1.0.3 → pydantic_ai-1.0.5}/tests/cassettes/test_dbos/test_dbos_agent_run_stream.yaml +0 -0
  49. {pydantic_ai-1.0.3 → pydantic_ai-1.0.5}/tests/cassettes/test_dbos/test_dbos_agent_run_sync.yaml +0 -0
  50. {pydantic_ai-1.0.3 → pydantic_ai-1.0.5}/tests/cassettes/test_dbos/test_dbos_agent_run_sync_in_workflow.yaml +0 -0
  51. {pydantic_ai-1.0.3 → pydantic_ai-1.0.5}/tests/cassettes/test_dbos/test_dbos_agent_with_dataclass_deps_as_dict.yaml +0 -0
  52. {pydantic_ai-1.0.3 → pydantic_ai-1.0.5}/tests/cassettes/test_dbos/test_dbos_agent_with_hitl_tool.yaml +0 -0
  53. {pydantic_ai-1.0.3 → pydantic_ai-1.0.5}/tests/cassettes/test_dbos/test_dbos_agent_with_hitl_tool_sync.yaml +0 -0
  54. {pydantic_ai-1.0.3 → pydantic_ai-1.0.5}/tests/cassettes/test_dbos/test_dbos_agent_with_model_retry.yaml +0 -0
  55. {pydantic_ai-1.0.3 → pydantic_ai-1.0.5}/tests/cassettes/test_dbos/test_dbos_agent_with_non_dict_deps.yaml +0 -0
  56. {pydantic_ai-1.0.3 → pydantic_ai-1.0.5}/tests/cassettes/test_dbos/test_dbos_agent_with_unserializable_deps_type.yaml +0 -0
  57. {pydantic_ai-1.0.3 → pydantic_ai-1.0.5}/tests/cassettes/test_dbos/test_dbos_model_stream_direct.yaml +0 -0
  58. {pydantic_ai-1.0.3 → pydantic_ai-1.0.5}/tests/cassettes/test_dbos/test_multiple_agents.yaml +0 -0
  59. {pydantic_ai-1.0.3 → pydantic_ai-1.0.5}/tests/cassettes/test_dbos/test_simple_agent_run_in_workflow.yaml +0 -0
  60. {pydantic_ai-1.0.3 → pydantic_ai-1.0.5}/tests/cassettes/test_mcp/test_agent_with_server_not_running.yaml +0 -0
  61. {pydantic_ai-1.0.3 → pydantic_ai-1.0.5}/tests/cassettes/test_mcp/test_agent_with_stdio_server.yaml +0 -0
  62. {pydantic_ai-1.0.3 → pydantic_ai-1.0.5}/tests/cassettes/test_mcp/test_tool_returning_audio_resource.yaml +0 -0
  63. {pydantic_ai-1.0.3 → pydantic_ai-1.0.5}/tests/cassettes/test_mcp/test_tool_returning_audio_resource_link.yaml +0 -0
  64. {pydantic_ai-1.0.3 → pydantic_ai-1.0.5}/tests/cassettes/test_mcp/test_tool_returning_dict.yaml +0 -0
  65. {pydantic_ai-1.0.3 → pydantic_ai-1.0.5}/tests/cassettes/test_mcp/test_tool_returning_error.yaml +0 -0
  66. {pydantic_ai-1.0.3 → pydantic_ai-1.0.5}/tests/cassettes/test_mcp/test_tool_returning_image.yaml +0 -0
  67. {pydantic_ai-1.0.3 → pydantic_ai-1.0.5}/tests/cassettes/test_mcp/test_tool_returning_image_resource.yaml +0 -0
  68. {pydantic_ai-1.0.3 → pydantic_ai-1.0.5}/tests/cassettes/test_mcp/test_tool_returning_image_resource_link.yaml +0 -0
  69. {pydantic_ai-1.0.3 → pydantic_ai-1.0.5}/tests/cassettes/test_mcp/test_tool_returning_multiple_items.yaml +0 -0
  70. {pydantic_ai-1.0.3 → pydantic_ai-1.0.5}/tests/cassettes/test_mcp/test_tool_returning_none.yaml +0 -0
  71. {pydantic_ai-1.0.3 → pydantic_ai-1.0.5}/tests/cassettes/test_mcp/test_tool_returning_str.yaml +0 -0
  72. {pydantic_ai-1.0.3 → pydantic_ai-1.0.5}/tests/cassettes/test_mcp/test_tool_returning_text_resource.yaml +0 -0
  73. {pydantic_ai-1.0.3 → pydantic_ai-1.0.5}/tests/cassettes/test_mcp/test_tool_returning_text_resource_link.yaml +0 -0
  74. {pydantic_ai-1.0.3 → pydantic_ai-1.0.5}/tests/cassettes/test_settings/test_stop_settings[anthropic].yaml +0 -0
  75. {pydantic_ai-1.0.3 → pydantic_ai-1.0.5}/tests/cassettes/test_settings/test_stop_settings[bedrock].yaml +0 -0
  76. {pydantic_ai-1.0.3 → pydantic_ai-1.0.5}/tests/cassettes/test_settings/test_stop_settings[cohere].yaml +0 -0
  77. {pydantic_ai-1.0.3 → pydantic_ai-1.0.5}/tests/cassettes/test_settings/test_stop_settings[gemini].yaml +0 -0
  78. {pydantic_ai-1.0.3 → pydantic_ai-1.0.5}/tests/cassettes/test_settings/test_stop_settings[google].yaml +0 -0
  79. {pydantic_ai-1.0.3 → pydantic_ai-1.0.5}/tests/cassettes/test_settings/test_stop_settings[groq].yaml +0 -0
  80. {pydantic_ai-1.0.3 → pydantic_ai-1.0.5}/tests/cassettes/test_settings/test_stop_settings[mistral].yaml +0 -0
  81. {pydantic_ai-1.0.3 → pydantic_ai-1.0.5}/tests/cassettes/test_settings/test_stop_settings[openai].yaml +0 -0
  82. {pydantic_ai-1.0.3 → pydantic_ai-1.0.5}/tests/cassettes/test_temporal/test_complex_agent_run.yaml +0 -0
  83. {pydantic_ai-1.0.3 → pydantic_ai-1.0.5}/tests/cassettes/test_temporal/test_complex_agent_run_in_workflow.yaml +0 -0
  84. {pydantic_ai-1.0.3 → pydantic_ai-1.0.5}/tests/cassettes/test_temporal/test_complex_agent_run_stream_in_workflow.yaml +0 -0
  85. {pydantic_ai-1.0.3 → pydantic_ai-1.0.5}/tests/cassettes/test_temporal/test_logfire_plugin.yaml +0 -0
  86. {pydantic_ai-1.0.3 → pydantic_ai-1.0.5}/tests/cassettes/test_temporal/test_multiple_agents.yaml +0 -0
  87. {pydantic_ai-1.0.3 → pydantic_ai-1.0.5}/tests/cassettes/test_temporal/test_simple_agent_run_in_workflow.yaml +0 -0
  88. {pydantic_ai-1.0.3 → pydantic_ai-1.0.5}/tests/cassettes/test_temporal/test_temporal_agent_iter.yaml +0 -0
  89. {pydantic_ai-1.0.3 → pydantic_ai-1.0.5}/tests/cassettes/test_temporal/test_temporal_agent_override_deps_in_workflow.yaml +0 -0
  90. {pydantic_ai-1.0.3 → pydantic_ai-1.0.5}/tests/cassettes/test_temporal/test_temporal_agent_run.yaml +0 -0
  91. {pydantic_ai-1.0.3 → pydantic_ai-1.0.5}/tests/cassettes/test_temporal/test_temporal_agent_run_stream.yaml +0 -0
  92. {pydantic_ai-1.0.3 → pydantic_ai-1.0.5}/tests/cassettes/test_temporal/test_temporal_agent_run_sync.yaml +0 -0
  93. {pydantic_ai-1.0.3 → pydantic_ai-1.0.5}/tests/cassettes/test_temporal/test_temporal_agent_sync_tool_activity_disabled.yaml +0 -0
  94. {pydantic_ai-1.0.3 → pydantic_ai-1.0.5}/tests/cassettes/test_temporal/test_temporal_agent_with_dataclass_deps_as_dict.yaml +0 -0
  95. {pydantic_ai-1.0.3 → pydantic_ai-1.0.5}/tests/cassettes/test_temporal/test_temporal_agent_with_hitl_tool.yaml +0 -0
  96. {pydantic_ai-1.0.3 → pydantic_ai-1.0.5}/tests/cassettes/test_temporal/test_temporal_agent_with_model_retry.yaml +0 -0
  97. {pydantic_ai-1.0.3 → pydantic_ai-1.0.5}/tests/cassettes/test_temporal/test_temporal_agent_with_non_dict_deps.yaml +0 -0
  98. {pydantic_ai-1.0.3 → pydantic_ai-1.0.5}/tests/cassettes/test_temporal/test_temporal_agent_with_unserializable_deps_type.yaml +0 -0
  99. {pydantic_ai-1.0.3 → pydantic_ai-1.0.5}/tests/conftest.py +0 -0
  100. {pydantic_ai-1.0.3 → pydantic_ai-1.0.5}/tests/evals/__init__.py +0 -0
  101. {pydantic_ai-1.0.3 → pydantic_ai-1.0.5}/tests/evals/test_dataset.py +0 -0
  102. {pydantic_ai-1.0.3 → pydantic_ai-1.0.5}/tests/evals/test_evaluator_base.py +0 -0
  103. {pydantic_ai-1.0.3 → pydantic_ai-1.0.5}/tests/evals/test_evaluator_common.py +0 -0
  104. {pydantic_ai-1.0.3 → pydantic_ai-1.0.5}/tests/evals/test_evaluator_context.py +0 -0
  105. {pydantic_ai-1.0.3 → pydantic_ai-1.0.5}/tests/evals/test_evaluator_spec.py +0 -0
  106. {pydantic_ai-1.0.3 → pydantic_ai-1.0.5}/tests/evals/test_evaluators.py +0 -0
  107. {pydantic_ai-1.0.3 → pydantic_ai-1.0.5}/tests/evals/test_llm_as_a_judge.py +0 -0
  108. {pydantic_ai-1.0.3 → pydantic_ai-1.0.5}/tests/evals/test_otel.py +0 -0
  109. {pydantic_ai-1.0.3 → pydantic_ai-1.0.5}/tests/evals/test_render_numbers.py +0 -0
  110. {pydantic_ai-1.0.3 → pydantic_ai-1.0.5}/tests/evals/test_reporting.py +0 -0
  111. {pydantic_ai-1.0.3 → pydantic_ai-1.0.5}/tests/evals/test_reports.py +0 -0
  112. {pydantic_ai-1.0.3 → pydantic_ai-1.0.5}/tests/evals/test_utils.py +0 -0
  113. {pydantic_ai-1.0.3 → pydantic_ai-1.0.5}/tests/evals/utils.py +0 -0
  114. {pydantic_ai-1.0.3 → pydantic_ai-1.0.5}/tests/example_modules/README.md +0 -0
  115. {pydantic_ai-1.0.3 → pydantic_ai-1.0.5}/tests/example_modules/bank_database.py +0 -0
  116. {pydantic_ai-1.0.3 → pydantic_ai-1.0.5}/tests/example_modules/fake_database.py +0 -0
  117. {pydantic_ai-1.0.3 → pydantic_ai-1.0.5}/tests/example_modules/mcp_server.py +0 -0
  118. {pydantic_ai-1.0.3 → pydantic_ai-1.0.5}/tests/example_modules/weather_service.py +0 -0
  119. {pydantic_ai-1.0.3 → pydantic_ai-1.0.5}/tests/ext/__init__.py +0 -0
  120. {pydantic_ai-1.0.3 → pydantic_ai-1.0.5}/tests/ext/test_langchain.py +0 -0
  121. {pydantic_ai-1.0.3 → pydantic_ai-1.0.5}/tests/graph/__init__.py +0 -0
  122. {pydantic_ai-1.0.3 → pydantic_ai-1.0.5}/tests/graph/test_file_persistence.py +0 -0
  123. {pydantic_ai-1.0.3 → pydantic_ai-1.0.5}/tests/graph/test_graph.py +0 -0
  124. {pydantic_ai-1.0.3 → pydantic_ai-1.0.5}/tests/graph/test_mermaid.py +0 -0
  125. {pydantic_ai-1.0.3 → pydantic_ai-1.0.5}/tests/graph/test_persistence.py +0 -0
  126. {pydantic_ai-1.0.3 → pydantic_ai-1.0.5}/tests/graph/test_state.py +0 -0
  127. {pydantic_ai-1.0.3 → pydantic_ai-1.0.5}/tests/graph/test_utils.py +0 -0
  128. {pydantic_ai-1.0.3 → pydantic_ai-1.0.5}/tests/import_examples.py +0 -0
  129. {pydantic_ai-1.0.3 → pydantic_ai-1.0.5}/tests/json_body_serializer.py +0 -0
  130. {pydantic_ai-1.0.3 → pydantic_ai-1.0.5}/tests/mcp_server.py +0 -0
  131. {pydantic_ai-1.0.3 → pydantic_ai-1.0.5}/tests/models/__init__.py +0 -0
  132. {pydantic_ai-1.0.3 → pydantic_ai-1.0.5}/tests/models/cassettes/test_anthropic/test_anthropic_code_execution_tool.yaml +0 -0
  133. {pydantic_ai-1.0.3 → pydantic_ai-1.0.5}/tests/models/cassettes/test_anthropic/test_anthropic_model_empty_message_on_history.yaml +0 -0
  134. {pydantic_ai-1.0.3 → pydantic_ai-1.0.5}/tests/models/cassettes/test_anthropic/test_anthropic_model_instructions.yaml +0 -0
  135. {pydantic_ai-1.0.3 → pydantic_ai-1.0.5}/tests/models/cassettes/test_anthropic/test_anthropic_model_thinking_part.yaml +0 -0
  136. {pydantic_ai-1.0.3 → pydantic_ai-1.0.5}/tests/models/cassettes/test_anthropic/test_anthropic_model_thinking_part_from_other_model.yaml +0 -0
  137. {pydantic_ai-1.0.3 → pydantic_ai-1.0.5}/tests/models/cassettes/test_anthropic/test_anthropic_model_thinking_part_redacted.yaml +0 -0
  138. {pydantic_ai-1.0.3 → pydantic_ai-1.0.5}/tests/models/cassettes/test_anthropic/test_anthropic_model_thinking_part_redacted_stream.yaml +0 -0
  139. {pydantic_ai-1.0.3 → pydantic_ai-1.0.5}/tests/models/cassettes/test_anthropic/test_anthropic_model_thinking_part_stream.yaml +0 -0
  140. {pydantic_ai-1.0.3 → pydantic_ai-1.0.5}/tests/models/cassettes/test_anthropic/test_anthropic_prompted_output.yaml +0 -0
  141. {pydantic_ai-1.0.3 → pydantic_ai-1.0.5}/tests/models/cassettes/test_anthropic/test_anthropic_prompted_output_multiple.yaml +0 -0
  142. {pydantic_ai-1.0.3 → pydantic_ai-1.0.5}/tests/models/cassettes/test_anthropic/test_anthropic_server_tool_pass_history_to_another_provider.yaml +0 -0
  143. {pydantic_ai-1.0.3 → pydantic_ai-1.0.5}/tests/models/cassettes/test_anthropic/test_anthropic_server_tool_receive_history_from_another_provider.yaml +0 -0
  144. {pydantic_ai-1.0.3 → pydantic_ai-1.0.5}/tests/models/cassettes/test_anthropic/test_anthropic_text_output_function.yaml +0 -0
  145. {pydantic_ai-1.0.3 → pydantic_ai-1.0.5}/tests/models/cassettes/test_anthropic/test_anthropic_tool_output.yaml +0 -0
  146. {pydantic_ai-1.0.3 → pydantic_ai-1.0.5}/tests/models/cassettes/test_anthropic/test_anthropic_tool_with_thinking.yaml +0 -0
  147. {pydantic_ai-1.0.3 → pydantic_ai-1.0.5}/tests/models/cassettes/test_anthropic/test_anthropic_web_search_tool.yaml +0 -0
  148. {pydantic_ai-1.0.3 → pydantic_ai-1.0.5}/tests/models/cassettes/test_anthropic/test_anthropic_web_search_tool_stream.yaml +0 -0
  149. {pydantic_ai-1.0.3 → pydantic_ai-1.0.5}/tests/models/cassettes/test_anthropic/test_document_binary_content_input.yaml +0 -0
  150. {pydantic_ai-1.0.3 → pydantic_ai-1.0.5}/tests/models/cassettes/test_anthropic/test_document_url_input.yaml +0 -0
  151. {pydantic_ai-1.0.3 → pydantic_ai-1.0.5}/tests/models/cassettes/test_anthropic/test_extra_headers.yaml +0 -0
  152. {pydantic_ai-1.0.3 → pydantic_ai-1.0.5}/tests/models/cassettes/test_anthropic/test_image_as_binary_content_tool_response.yaml +0 -0
  153. {pydantic_ai-1.0.3 → pydantic_ai-1.0.5}/tests/models/cassettes/test_anthropic/test_image_url_input.yaml +0 -0
  154. {pydantic_ai-1.0.3 → pydantic_ai-1.0.5}/tests/models/cassettes/test_anthropic/test_image_url_input_invalid_mime_type.yaml +0 -0
  155. {pydantic_ai-1.0.3 → pydantic_ai-1.0.5}/tests/models/cassettes/test_anthropic/test_multiple_parallel_tool_calls.yaml +0 -0
  156. {pydantic_ai-1.0.3 → pydantic_ai-1.0.5}/tests/models/cassettes/test_anthropic/test_text_document_url_input.yaml +0 -0
  157. {pydantic_ai-1.0.3 → pydantic_ai-1.0.5}/tests/models/cassettes/test_bedrock/test_bedrock_anthropic_tool_with_thinking.yaml +0 -0
  158. {pydantic_ai-1.0.3 → pydantic_ai-1.0.5}/tests/models/cassettes/test_bedrock/test_bedrock_empty_system_prompt.yaml +0 -0
  159. {pydantic_ai-1.0.3 → pydantic_ai-1.0.5}/tests/models/cassettes/test_bedrock/test_bedrock_model.yaml +0 -0
  160. {pydantic_ai-1.0.3 → pydantic_ai-1.0.5}/tests/models/cassettes/test_bedrock/test_bedrock_model_anthropic_model_without_tools.yaml +0 -0
  161. {pydantic_ai-1.0.3 → pydantic_ai-1.0.5}/tests/models/cassettes/test_bedrock/test_bedrock_model_guardrail_config.yaml +0 -0
  162. {pydantic_ai-1.0.3 → pydantic_ai-1.0.5}/tests/models/cassettes/test_bedrock/test_bedrock_model_instructions.yaml +0 -0
  163. {pydantic_ai-1.0.3 → pydantic_ai-1.0.5}/tests/models/cassettes/test_bedrock/test_bedrock_model_iter_stream.yaml +0 -0
  164. {pydantic_ai-1.0.3 → pydantic_ai-1.0.5}/tests/models/cassettes/test_bedrock/test_bedrock_model_max_tokens.yaml +0 -0
  165. {pydantic_ai-1.0.3 → pydantic_ai-1.0.5}/tests/models/cassettes/test_bedrock/test_bedrock_model_other_parameters.yaml +0 -0
  166. {pydantic_ai-1.0.3 → pydantic_ai-1.0.5}/tests/models/cassettes/test_bedrock/test_bedrock_model_performance_config.yaml +0 -0
  167. {pydantic_ai-1.0.3 → pydantic_ai-1.0.5}/tests/models/cassettes/test_bedrock/test_bedrock_model_retry.yaml +0 -0
  168. {pydantic_ai-1.0.3 → pydantic_ai-1.0.5}/tests/models/cassettes/test_bedrock/test_bedrock_model_stream.yaml +0 -0
  169. {pydantic_ai-1.0.3 → pydantic_ai-1.0.5}/tests/models/cassettes/test_bedrock/test_bedrock_model_structured_output.yaml +0 -0
  170. {pydantic_ai-1.0.3 → pydantic_ai-1.0.5}/tests/models/cassettes/test_bedrock/test_bedrock_model_thinking_part_anthropic.yaml +0 -0
  171. {pydantic_ai-1.0.3 → pydantic_ai-1.0.5}/tests/models/cassettes/test_bedrock/test_bedrock_model_thinking_part_deepseek.yaml +0 -0
  172. {pydantic_ai-1.0.3 → pydantic_ai-1.0.5}/tests/models/cassettes/test_bedrock/test_bedrock_model_thinking_part_from_other_model.yaml +0 -0
  173. {pydantic_ai-1.0.3 → pydantic_ai-1.0.5}/tests/models/cassettes/test_bedrock/test_bedrock_model_thinking_part_redacted.yaml +0 -0
  174. {pydantic_ai-1.0.3 → pydantic_ai-1.0.5}/tests/models/cassettes/test_bedrock/test_bedrock_model_thinking_part_redacted_stream.yaml +0 -0
  175. {pydantic_ai-1.0.3 → pydantic_ai-1.0.5}/tests/models/cassettes/test_bedrock/test_bedrock_model_thinking_part_stream.yaml +0 -0
  176. {pydantic_ai-1.0.3 → pydantic_ai-1.0.5}/tests/models/cassettes/test_bedrock/test_bedrock_model_top_p.yaml +0 -0
  177. {pydantic_ai-1.0.3 → pydantic_ai-1.0.5}/tests/models/cassettes/test_bedrock/test_bedrock_multiple_documents_in_history.yaml +0 -0
  178. {pydantic_ai-1.0.3 → pydantic_ai-1.0.5}/tests/models/cassettes/test_bedrock/test_document_url_input.yaml +0 -0
  179. {pydantic_ai-1.0.3 → pydantic_ai-1.0.5}/tests/models/cassettes/test_bedrock/test_image_as_binary_content_input.yaml +0 -0
  180. {pydantic_ai-1.0.3 → pydantic_ai-1.0.5}/tests/models/cassettes/test_bedrock/test_image_url_input.yaml +0 -0
  181. {pydantic_ai-1.0.3 → pydantic_ai-1.0.5}/tests/models/cassettes/test_bedrock/test_text_as_binary_content_input.yaml +0 -0
  182. {pydantic_ai-1.0.3 → pydantic_ai-1.0.5}/tests/models/cassettes/test_bedrock/test_text_document_url_input.yaml +0 -0
  183. {pydantic_ai-1.0.3 → pydantic_ai-1.0.5}/tests/models/cassettes/test_bedrock/test_video_as_binary_content_input.yaml +0 -0
  184. {pydantic_ai-1.0.3 → pydantic_ai-1.0.5}/tests/models/cassettes/test_bedrock/test_video_url_input.yaml +0 -0
  185. {pydantic_ai-1.0.3 → pydantic_ai-1.0.5}/tests/models/cassettes/test_cohere/test_cohere_model_instructions.yaml +0 -0
  186. {pydantic_ai-1.0.3 → pydantic_ai-1.0.5}/tests/models/cassettes/test_cohere/test_cohere_model_thinking_part.yaml +0 -0
  187. {pydantic_ai-1.0.3 → pydantic_ai-1.0.5}/tests/models/cassettes/test_cohere/test_request_simple_success_with_vcr.yaml +0 -0
  188. {pydantic_ai-1.0.3 → pydantic_ai-1.0.5}/tests/models/cassettes/test_deepseek/test_deepseek_model_thinking_part.yaml +0 -0
  189. {pydantic_ai-1.0.3 → pydantic_ai-1.0.5}/tests/models/cassettes/test_deepseek/test_deepseek_model_thinking_stream.yaml +0 -0
  190. {pydantic_ai-1.0.3 → pydantic_ai-1.0.5}/tests/models/cassettes/test_download_item/test_download_item_application_octet_stream.yaml +0 -0
  191. {pydantic_ai-1.0.3 → pydantic_ai-1.0.5}/tests/models/cassettes/test_download_item/test_download_item_audio_mpeg.yaml +0 -0
  192. {pydantic_ai-1.0.3 → pydantic_ai-1.0.5}/tests/models/cassettes/test_download_item/test_download_item_no_content_type.yaml +0 -0
  193. {pydantic_ai-1.0.3 → pydantic_ai-1.0.5}/tests/models/cassettes/test_gemini/test_document_url_input.yaml +0 -0
  194. {pydantic_ai-1.0.3 → pydantic_ai-1.0.5}/tests/models/cassettes/test_gemini/test_gemini_additional_properties_is_false.yaml +0 -0
  195. {pydantic_ai-1.0.3 → pydantic_ai-1.0.5}/tests/models/cassettes/test_gemini/test_gemini_additional_properties_is_true.yaml +0 -0
  196. {pydantic_ai-1.0.3 → pydantic_ai-1.0.5}/tests/models/cassettes/test_gemini/test_gemini_drop_exclusive_maximum.yaml +0 -0
  197. {pydantic_ai-1.0.3 → pydantic_ai-1.0.5}/tests/models/cassettes/test_gemini/test_gemini_exclusive_minimum_and_maximum.yaml +0 -0
  198. {pydantic_ai-1.0.3 → pydantic_ai-1.0.5}/tests/models/cassettes/test_gemini/test_gemini_model_instructions.yaml +0 -0
  199. {pydantic_ai-1.0.3 → pydantic_ai-1.0.5}/tests/models/cassettes/test_gemini/test_gemini_model_thinking_part.yaml +0 -0
  200. {pydantic_ai-1.0.3 → pydantic_ai-1.0.5}/tests/models/cassettes/test_gemini/test_gemini_native_output.yaml +0 -0
  201. {pydantic_ai-1.0.3 → pydantic_ai-1.0.5}/tests/models/cassettes/test_gemini/test_gemini_native_output_multiple.yaml +0 -0
  202. {pydantic_ai-1.0.3 → pydantic_ai-1.0.5}/tests/models/cassettes/test_gemini/test_gemini_prompted_output.yaml +0 -0
  203. {pydantic_ai-1.0.3 → pydantic_ai-1.0.5}/tests/models/cassettes/test_gemini/test_gemini_prompted_output_multiple.yaml +0 -0
  204. {pydantic_ai-1.0.3 → pydantic_ai-1.0.5}/tests/models/cassettes/test_gemini/test_gemini_prompted_output_with_tools.yaml +0 -0
  205. {pydantic_ai-1.0.3 → pydantic_ai-1.0.5}/tests/models/cassettes/test_gemini/test_gemini_text_output_function.yaml +0 -0
  206. {pydantic_ai-1.0.3 → pydantic_ai-1.0.5}/tests/models/cassettes/test_gemini/test_gemini_tool_config_any_with_tool_without_args.yaml +0 -0
  207. {pydantic_ai-1.0.3 → pydantic_ai-1.0.5}/tests/models/cassettes/test_gemini/test_gemini_tool_output.yaml +0 -0
  208. {pydantic_ai-1.0.3 → pydantic_ai-1.0.5}/tests/models/cassettes/test_gemini/test_gemini_youtube_video_url_input.yaml +0 -0
  209. {pydantic_ai-1.0.3 → pydantic_ai-1.0.5}/tests/models/cassettes/test_gemini/test_image_as_binary_content_input.yaml +0 -0
  210. {pydantic_ai-1.0.3 → pydantic_ai-1.0.5}/tests/models/cassettes/test_gemini/test_image_as_binary_content_tool_response.yaml +0 -0
  211. {pydantic_ai-1.0.3 → pydantic_ai-1.0.5}/tests/models/cassettes/test_gemini/test_image_url_input.yaml +0 -0
  212. {pydantic_ai-1.0.3 → pydantic_ai-1.0.5}/tests/models/cassettes/test_gemini/test_labels_are_ignored_with_gla_provider.yaml +0 -0
  213. {pydantic_ai-1.0.3 → pydantic_ai-1.0.5}/tests/models/cassettes/test_gemini/test_video_as_binary_content_input.yaml +0 -0
  214. {pydantic_ai-1.0.3 → pydantic_ai-1.0.5}/tests/models/cassettes/test_gemini/test_video_url_input.yaml +0 -0
  215. {pydantic_ai-1.0.3 → pydantic_ai-1.0.5}/tests/models/cassettes/test_gemini_vertex/test_labels.yaml +0 -0
  216. {pydantic_ai-1.0.3 → pydantic_ai-1.0.5}/tests/models/cassettes/test_gemini_vertex/test_url_input[AudioUrl (gs)].yaml +0 -0
  217. {pydantic_ai-1.0.3 → pydantic_ai-1.0.5}/tests/models/cassettes/test_gemini_vertex/test_url_input[AudioUrl].yaml +0 -0
  218. {pydantic_ai-1.0.3 → pydantic_ai-1.0.5}/tests/models/cassettes/test_gemini_vertex/test_url_input[DocumentUrl (gs)].yaml +0 -0
  219. {pydantic_ai-1.0.3 → pydantic_ai-1.0.5}/tests/models/cassettes/test_gemini_vertex/test_url_input[DocumentUrl].yaml +0 -0
  220. {pydantic_ai-1.0.3 → pydantic_ai-1.0.5}/tests/models/cassettes/test_gemini_vertex/test_url_input[ImageUrl (gs)].yaml +0 -0
  221. {pydantic_ai-1.0.3 → pydantic_ai-1.0.5}/tests/models/cassettes/test_gemini_vertex/test_url_input[ImageUrl].yaml +0 -0
  222. {pydantic_ai-1.0.3 → pydantic_ai-1.0.5}/tests/models/cassettes/test_gemini_vertex/test_url_input[VideoUrl (YouTube)].yaml +0 -0
  223. {pydantic_ai-1.0.3 → pydantic_ai-1.0.5}/tests/models/cassettes/test_gemini_vertex/test_url_input[VideoUrl (gs)].yaml +0 -0
  224. {pydantic_ai-1.0.3 → pydantic_ai-1.0.5}/tests/models/cassettes/test_gemini_vertex/test_url_input[VideoUrl].yaml +0 -0
  225. {pydantic_ai-1.0.3 → pydantic_ai-1.0.5}/tests/models/cassettes/test_gemini_vertex/test_url_input_force_download.yaml +0 -0
  226. {pydantic_ai-1.0.3 → pydantic_ai-1.0.5}/tests/models/cassettes/test_google/test_google_builtin_tools_with_other_tools.yaml +0 -0
  227. {pydantic_ai-1.0.3 → pydantic_ai-1.0.5}/tests/models/cassettes/test_google/test_google_model.yaml +0 -0
  228. {pydantic_ai-1.0.3 → pydantic_ai-1.0.5}/tests/models/cassettes/test_google/test_google_model_builtin_code_execution_stream.yaml +0 -0
  229. {pydantic_ai-1.0.3 → pydantic_ai-1.0.5}/tests/models/cassettes/test_google/test_google_model_code_execution_tool.yaml +0 -0
  230. {pydantic_ai-1.0.3 → pydantic_ai-1.0.5}/tests/models/cassettes/test_google/test_google_model_document_url_input.yaml +0 -0
  231. {pydantic_ai-1.0.3 → pydantic_ai-1.0.5}/tests/models/cassettes/test_google/test_google_model_empty_assistant_response.yaml +0 -0
  232. {pydantic_ai-1.0.3 → pydantic_ai-1.0.5}/tests/models/cassettes/test_google/test_google_model_empty_user_prompt.yaml +0 -0
  233. {pydantic_ai-1.0.3 → pydantic_ai-1.0.5}/tests/models/cassettes/test_google/test_google_model_image_as_binary_content_input.yaml +0 -0
  234. {pydantic_ai-1.0.3 → pydantic_ai-1.0.5}/tests/models/cassettes/test_google/test_google_model_image_url_input.yaml +0 -0
  235. {pydantic_ai-1.0.3 → pydantic_ai-1.0.5}/tests/models/cassettes/test_google/test_google_model_instructions.yaml +0 -0
  236. {pydantic_ai-1.0.3 → pydantic_ai-1.0.5}/tests/models/cassettes/test_google/test_google_model_iter_stream.yaml +0 -0
  237. {pydantic_ai-1.0.3 → pydantic_ai-1.0.5}/tests/models/cassettes/test_google/test_google_model_max_tokens.yaml +0 -0
  238. {pydantic_ai-1.0.3 → pydantic_ai-1.0.5}/tests/models/cassettes/test_google/test_google_model_multiple_documents_in_history.yaml +0 -0
  239. {pydantic_ai-1.0.3 → pydantic_ai-1.0.5}/tests/models/cassettes/test_google/test_google_model_receive_web_search_history_from_another_provider.yaml +0 -0
  240. {pydantic_ai-1.0.3 → pydantic_ai-1.0.5}/tests/models/cassettes/test_google/test_google_model_retry.yaml +0 -0
  241. {pydantic_ai-1.0.3 → pydantic_ai-1.0.5}/tests/models/cassettes/test_google/test_google_model_safety_settings.yaml +0 -0
  242. {pydantic_ai-1.0.3 → pydantic_ai-1.0.5}/tests/models/cassettes/test_google/test_google_model_server_tool_receive_history_from_another_provider.yaml +0 -0
  243. {pydantic_ai-1.0.3 → pydantic_ai-1.0.5}/tests/models/cassettes/test_google/test_google_model_stream.yaml +0 -0
  244. {pydantic_ai-1.0.3 → pydantic_ai-1.0.5}/tests/models/cassettes/test_google/test_google_model_structured_output.yaml +0 -0
  245. {pydantic_ai-1.0.3 → pydantic_ai-1.0.5}/tests/models/cassettes/test_google/test_google_model_text_as_binary_content_input.yaml +0 -0
  246. {pydantic_ai-1.0.3 → pydantic_ai-1.0.5}/tests/models/cassettes/test_google/test_google_model_text_document_url_input.yaml +0 -0
  247. {pydantic_ai-1.0.3 → pydantic_ai-1.0.5}/tests/models/cassettes/test_google/test_google_model_thinking_config.yaml +0 -0
  248. {pydantic_ai-1.0.3 → pydantic_ai-1.0.5}/tests/models/cassettes/test_google/test_google_model_thinking_part.yaml +0 -0
  249. {pydantic_ai-1.0.3 → pydantic_ai-1.0.5}/tests/models/cassettes/test_google/test_google_model_thinking_part_from_other_model.yaml +0 -0
  250. {pydantic_ai-1.0.3 → pydantic_ai-1.0.5}/tests/models/cassettes/test_google/test_google_model_thinking_part_iter.yaml +0 -0
  251. {pydantic_ai-1.0.3 → pydantic_ai-1.0.5}/tests/models/cassettes/test_google/test_google_model_top_p.yaml +0 -0
  252. {pydantic_ai-1.0.3 → pydantic_ai-1.0.5}/tests/models/cassettes/test_google/test_google_model_url_context_tool.yaml +0 -0
  253. {pydantic_ai-1.0.3 → pydantic_ai-1.0.5}/tests/models/cassettes/test_google/test_google_model_usage_limit_exceeded.yaml +0 -0
  254. {pydantic_ai-1.0.3 → pydantic_ai-1.0.5}/tests/models/cassettes/test_google/test_google_model_usage_limit_not_exceeded.yaml +0 -0
  255. {pydantic_ai-1.0.3 → pydantic_ai-1.0.5}/tests/models/cassettes/test_google/test_google_model_vertex_labels.yaml +0 -0
  256. {pydantic_ai-1.0.3 → pydantic_ai-1.0.5}/tests/models/cassettes/test_google/test_google_model_vertex_provider.yaml +0 -0
  257. {pydantic_ai-1.0.3 → pydantic_ai-1.0.5}/tests/models/cassettes/test_google/test_google_model_video_as_binary_content_input.yaml +0 -0
  258. {pydantic_ai-1.0.3 → pydantic_ai-1.0.5}/tests/models/cassettes/test_google/test_google_model_video_as_binary_content_input_with_vendor_metadata.yaml +0 -0
  259. {pydantic_ai-1.0.3 → pydantic_ai-1.0.5}/tests/models/cassettes/test_google/test_google_model_video_url_input.yaml +0 -0
  260. {pydantic_ai-1.0.3 → pydantic_ai-1.0.5}/tests/models/cassettes/test_google/test_google_model_web_search_tool.yaml +0 -0
  261. {pydantic_ai-1.0.3 → pydantic_ai-1.0.5}/tests/models/cassettes/test_google/test_google_model_youtube_video_url_input_with_vendor_metadata.yaml +0 -0
  262. {pydantic_ai-1.0.3 → pydantic_ai-1.0.5}/tests/models/cassettes/test_google/test_google_native_output.yaml +0 -0
  263. {pydantic_ai-1.0.3 → pydantic_ai-1.0.5}/tests/models/cassettes/test_google/test_google_native_output_multiple.yaml +0 -0
  264. {pydantic_ai-1.0.3 → pydantic_ai-1.0.5}/tests/models/cassettes/test_google/test_google_prompted_output.yaml +0 -0
  265. {pydantic_ai-1.0.3 → pydantic_ai-1.0.5}/tests/models/cassettes/test_google/test_google_prompted_output_multiple.yaml +0 -0
  266. {pydantic_ai-1.0.3 → pydantic_ai-1.0.5}/tests/models/cassettes/test_google/test_google_prompted_output_with_tools.yaml +0 -0
  267. {pydantic_ai-1.0.3 → pydantic_ai-1.0.5}/tests/models/cassettes/test_google/test_google_text_output_function.yaml +0 -0
  268. {pydantic_ai-1.0.3 → pydantic_ai-1.0.5}/tests/models/cassettes/test_google/test_google_timeout.yaml +0 -0
  269. {pydantic_ai-1.0.3 → pydantic_ai-1.0.5}/tests/models/cassettes/test_google/test_google_tool_config_any_with_tool_without_args.yaml +0 -0
  270. {pydantic_ai-1.0.3 → pydantic_ai-1.0.5}/tests/models/cassettes/test_google/test_google_tool_output.yaml +0 -0
  271. {pydantic_ai-1.0.3 → pydantic_ai-1.0.5}/tests/models/cassettes/test_google/test_google_url_input[AudioUrl (gs)].yaml +0 -0
  272. {pydantic_ai-1.0.3 → pydantic_ai-1.0.5}/tests/models/cassettes/test_google/test_google_url_input[AudioUrl].yaml +0 -0
  273. {pydantic_ai-1.0.3 → pydantic_ai-1.0.5}/tests/models/cassettes/test_google/test_google_url_input[DocumentUrl (gs)].yaml +0 -0
  274. {pydantic_ai-1.0.3 → pydantic_ai-1.0.5}/tests/models/cassettes/test_google/test_google_url_input[DocumentUrl].yaml +0 -0
  275. {pydantic_ai-1.0.3 → pydantic_ai-1.0.5}/tests/models/cassettes/test_google/test_google_url_input[ImageUrl (gs)].yaml +0 -0
  276. {pydantic_ai-1.0.3 → pydantic_ai-1.0.5}/tests/models/cassettes/test_google/test_google_url_input[ImageUrl].yaml +0 -0
  277. {pydantic_ai-1.0.3 → pydantic_ai-1.0.5}/tests/models/cassettes/test_google/test_google_url_input[VideoUrl (YouTube)].yaml +0 -0
  278. {pydantic_ai-1.0.3 → pydantic_ai-1.0.5}/tests/models/cassettes/test_google/test_google_url_input[VideoUrl (gs)].yaml +0 -0
  279. {pydantic_ai-1.0.3 → pydantic_ai-1.0.5}/tests/models/cassettes/test_google/test_google_url_input[VideoUrl].yaml +0 -0
  280. {pydantic_ai-1.0.3 → pydantic_ai-1.0.5}/tests/models/cassettes/test_google/test_google_url_input_force_download.yaml +0 -0
  281. {pydantic_ai-1.0.3 → pydantic_ai-1.0.5}/tests/models/cassettes/test_google/test_google_vertexai_model_usage_limit_exceeded.yaml +0 -0
  282. {pydantic_ai-1.0.3 → pydantic_ai-1.0.5}/tests/models/cassettes/test_groq/test_extra_headers.yaml +0 -0
  283. {pydantic_ai-1.0.3 → pydantic_ai-1.0.5}/tests/models/cassettes/test_groq/test_groq_model_instructions.yaml +0 -0
  284. {pydantic_ai-1.0.3 → pydantic_ai-1.0.5}/tests/models/cassettes/test_groq/test_groq_model_thinking_part.yaml +0 -0
  285. {pydantic_ai-1.0.3 → pydantic_ai-1.0.5}/tests/models/cassettes/test_groq/test_groq_model_thinking_part_iter.yaml +0 -0
  286. {pydantic_ai-1.0.3 → pydantic_ai-1.0.5}/tests/models/cassettes/test_groq/test_groq_model_web_search_tool.yaml +0 -0
  287. {pydantic_ai-1.0.3 → pydantic_ai-1.0.5}/tests/models/cassettes/test_groq/test_groq_native_output.yaml +0 -0
  288. {pydantic_ai-1.0.3 → pydantic_ai-1.0.5}/tests/models/cassettes/test_groq/test_groq_prompted_output.yaml +0 -0
  289. {pydantic_ai-1.0.3 → pydantic_ai-1.0.5}/tests/models/cassettes/test_groq/test_image_as_binary_content_input.yaml +0 -0
  290. {pydantic_ai-1.0.3 → pydantic_ai-1.0.5}/tests/models/cassettes/test_groq/test_image_as_binary_content_tool_response.yaml +0 -0
  291. {pydantic_ai-1.0.3 → pydantic_ai-1.0.5}/tests/models/cassettes/test_groq/test_image_url_input.yaml +0 -0
  292. {pydantic_ai-1.0.3 → pydantic_ai-1.0.5}/tests/models/cassettes/test_groq/test_tool_regular_error.yaml +0 -0
  293. {pydantic_ai-1.0.3 → pydantic_ai-1.0.5}/tests/models/cassettes/test_groq/test_tool_use_failed_error.yaml +0 -0
  294. {pydantic_ai-1.0.3 → pydantic_ai-1.0.5}/tests/models/cassettes/test_groq/test_tool_use_failed_error_streaming.yaml +0 -0
  295. {pydantic_ai-1.0.3 → pydantic_ai-1.0.5}/tests/models/cassettes/test_huggingface/test_hf_model_instructions.yaml +0 -0
  296. {pydantic_ai-1.0.3 → pydantic_ai-1.0.5}/tests/models/cassettes/test_huggingface/test_hf_model_thinking_part.yaml +0 -0
  297. {pydantic_ai-1.0.3 → pydantic_ai-1.0.5}/tests/models/cassettes/test_huggingface/test_hf_model_thinking_part_iter.yaml +0 -0
  298. {pydantic_ai-1.0.3 → pydantic_ai-1.0.5}/tests/models/cassettes/test_huggingface/test_image_as_binary_content_input.yaml +0 -0
  299. {pydantic_ai-1.0.3 → pydantic_ai-1.0.5}/tests/models/cassettes/test_huggingface/test_image_url_input.yaml +0 -0
  300. {pydantic_ai-1.0.3 → pydantic_ai-1.0.5}/tests/models/cassettes/test_huggingface/test_max_completion_tokens[Qwen-Qwen2.5-72B-Instruct].yaml +0 -0
  301. {pydantic_ai-1.0.3 → pydantic_ai-1.0.5}/tests/models/cassettes/test_huggingface/test_max_completion_tokens[deepseek-ai-DeepSeek-R1-0528].yaml +0 -0
  302. {pydantic_ai-1.0.3 → pydantic_ai-1.0.5}/tests/models/cassettes/test_huggingface/test_max_completion_tokens[meta-llama-Llama-3.3-70B-Instruct].yaml +0 -0
  303. {pydantic_ai-1.0.3 → pydantic_ai-1.0.5}/tests/models/cassettes/test_huggingface/test_request_simple_success_with_vcr.yaml +0 -0
  304. {pydantic_ai-1.0.3 → pydantic_ai-1.0.5}/tests/models/cassettes/test_huggingface/test_request_simple_usage.yaml +0 -0
  305. {pydantic_ai-1.0.3 → pydantic_ai-1.0.5}/tests/models/cassettes/test_huggingface/test_simple_completion.yaml +0 -0
  306. {pydantic_ai-1.0.3 → pydantic_ai-1.0.5}/tests/models/cassettes/test_huggingface/test_stream_completion.yaml +0 -0
  307. {pydantic_ai-1.0.3 → pydantic_ai-1.0.5}/tests/models/cassettes/test_mistral/test_image_as_binary_content_tool_response.yaml +0 -0
  308. {pydantic_ai-1.0.3 → pydantic_ai-1.0.5}/tests/models/cassettes/test_mistral/test_mistral_model_instructions.yaml +0 -0
  309. {pydantic_ai-1.0.3 → pydantic_ai-1.0.5}/tests/models/cassettes/test_mistral/test_mistral_model_thinking_part.yaml +0 -0
  310. {pydantic_ai-1.0.3 → pydantic_ai-1.0.5}/tests/models/cassettes/test_mistral/test_mistral_model_thinking_part_iter.yaml +0 -0
  311. {pydantic_ai-1.0.3 → pydantic_ai-1.0.5}/tests/models/cassettes/test_model_names/test_known_model_names.yaml +0 -0
  312. {pydantic_ai-1.0.3 → pydantic_ai-1.0.5}/tests/models/cassettes/test_openai/test_audio_as_binary_content_input.yaml +0 -0
  313. {pydantic_ai-1.0.3 → pydantic_ai-1.0.5}/tests/models/cassettes/test_openai/test_compatible_api_with_tool_calls_without_id.yaml +0 -0
  314. {pydantic_ai-1.0.3 → pydantic_ai-1.0.5}/tests/models/cassettes/test_openai/test_document_as_binary_content_input.yaml +0 -0
  315. {pydantic_ai-1.0.3 → pydantic_ai-1.0.5}/tests/models/cassettes/test_openai/test_document_as_binary_content_input_with_tool.yaml +0 -0
  316. {pydantic_ai-1.0.3 → pydantic_ai-1.0.5}/tests/models/cassettes/test_openai/test_document_url_input.yaml +0 -0
  317. {pydantic_ai-1.0.3 → pydantic_ai-1.0.5}/tests/models/cassettes/test_openai/test_extra_headers.yaml +0 -0
  318. {pydantic_ai-1.0.3 → pydantic_ai-1.0.5}/tests/models/cassettes/test_openai/test_image_as_binary_content_input.yaml +0 -0
  319. {pydantic_ai-1.0.3 → pydantic_ai-1.0.5}/tests/models/cassettes/test_openai/test_image_as_binary_content_tool_response.yaml +0 -0
  320. {pydantic_ai-1.0.3 → pydantic_ai-1.0.5}/tests/models/cassettes/test_openai/test_image_url_tool_response.yaml +0 -0
  321. {pydantic_ai-1.0.3 → pydantic_ai-1.0.5}/tests/models/cassettes/test_openai/test_invalid_response.yaml +0 -0
  322. {pydantic_ai-1.0.3 → pydantic_ai-1.0.5}/tests/models/cassettes/test_openai/test_max_completion_tokens[gpt-4.5-preview].yaml +0 -0
  323. {pydantic_ai-1.0.3 → pydantic_ai-1.0.5}/tests/models/cassettes/test_openai/test_max_completion_tokens[gpt-4o-mini].yaml +0 -0
  324. {pydantic_ai-1.0.3 → pydantic_ai-1.0.5}/tests/models/cassettes/test_openai/test_max_completion_tokens[o3-mini].yaml +0 -0
  325. {pydantic_ai-1.0.3 → pydantic_ai-1.0.5}/tests/models/cassettes/test_openai/test_multiple_agent_tool_calls.yaml +0 -0
  326. {pydantic_ai-1.0.3 → pydantic_ai-1.0.5}/tests/models/cassettes/test_openai/test_openai_audio_url_input.yaml +0 -0
  327. {pydantic_ai-1.0.3 → pydantic_ai-1.0.5}/tests/models/cassettes/test_openai/test_openai_instructions.yaml +0 -0
  328. {pydantic_ai-1.0.3 → pydantic_ai-1.0.5}/tests/models/cassettes/test_openai/test_openai_instructions_with_tool_calls_keep_instructions.yaml +0 -0
  329. {pydantic_ai-1.0.3 → pydantic_ai-1.0.5}/tests/models/cassettes/test_openai/test_openai_model_cerebras_provider.yaml +0 -0
  330. {pydantic_ai-1.0.3 → pydantic_ai-1.0.5}/tests/models/cassettes/test_openai/test_openai_model_cerebras_provider_harmony.yaml +0 -0
  331. {pydantic_ai-1.0.3 → pydantic_ai-1.0.5}/tests/models/cassettes/test_openai/test_openai_model_cerebras_provider_qwen_3_coder.yaml +0 -0
  332. {pydantic_ai-1.0.3 → pydantic_ai-1.0.5}/tests/models/cassettes/test_openai/test_openai_model_settings_temperature_ignored_on_gpt_5.yaml +0 -0
  333. {pydantic_ai-1.0.3 → pydantic_ai-1.0.5}/tests/models/cassettes/test_openai/test_openai_model_thinking_part.yaml +0 -0
  334. {pydantic_ai-1.0.3 → pydantic_ai-1.0.5}/tests/models/cassettes/test_openai/test_openai_model_without_system_prompt.yaml +0 -0
  335. {pydantic_ai-1.0.3 → pydantic_ai-1.0.5}/tests/models/cassettes/test_openai/test_openai_native_output.yaml +0 -0
  336. {pydantic_ai-1.0.3 → pydantic_ai-1.0.5}/tests/models/cassettes/test_openai/test_openai_native_output_multiple.yaml +0 -0
  337. {pydantic_ai-1.0.3 → pydantic_ai-1.0.5}/tests/models/cassettes/test_openai/test_openai_o1_mini_system_role[developer].yaml +0 -0
  338. {pydantic_ai-1.0.3 → pydantic_ai-1.0.5}/tests/models/cassettes/test_openai/test_openai_o1_mini_system_role[system].yaml +0 -0
  339. {pydantic_ai-1.0.3 → pydantic_ai-1.0.5}/tests/models/cassettes/test_openai/test_openai_prompted_output.yaml +0 -0
  340. {pydantic_ai-1.0.3 → pydantic_ai-1.0.5}/tests/models/cassettes/test_openai/test_openai_prompted_output_multiple.yaml +0 -0
  341. {pydantic_ai-1.0.3 → pydantic_ai-1.0.5}/tests/models/cassettes/test_openai/test_openai_text_output_function.yaml +0 -0
  342. {pydantic_ai-1.0.3 → pydantic_ai-1.0.5}/tests/models/cassettes/test_openai/test_openai_tool_output.yaml +0 -0
  343. {pydantic_ai-1.0.3 → pydantic_ai-1.0.5}/tests/models/cassettes/test_openai/test_openai_web_search_tool.yaml +0 -0
  344. {pydantic_ai-1.0.3 → pydantic_ai-1.0.5}/tests/models/cassettes/test_openai/test_openai_web_search_tool_model_not_supported.yaml +0 -0
  345. {pydantic_ai-1.0.3 → pydantic_ai-1.0.5}/tests/models/cassettes/test_openai/test_openai_web_search_tool_with_user_location.yaml +0 -0
  346. {pydantic_ai-1.0.3 → pydantic_ai-1.0.5}/tests/models/cassettes/test_openai/test_reasoning_model_with_temperature.yaml +0 -0
  347. {pydantic_ai-1.0.3 → pydantic_ai-1.0.5}/tests/models/cassettes/test_openai/test_system_prompt_role_o1_mini.yaml +0 -0
  348. {pydantic_ai-1.0.3 → pydantic_ai-1.0.5}/tests/models/cassettes/test_openai/test_text_response.yaml +0 -0
  349. {pydantic_ai-1.0.3 → pydantic_ai-1.0.5}/tests/models/cassettes/test_openai/test_user_id.yaml +0 -0
  350. {pydantic_ai-1.0.3 → pydantic_ai-1.0.5}/tests/models/cassettes/test_openai/test_valid_response.yaml +0 -0
  351. {pydantic_ai-1.0.3 → pydantic_ai-1.0.5}/tests/models/cassettes/test_openai_responses/test_audio_as_binary_content_input.yaml +0 -0
  352. {pydantic_ai-1.0.3 → pydantic_ai-1.0.5}/tests/models/cassettes/test_openai_responses/test_image_as_binary_content_input.yaml +0 -0
  353. {pydantic_ai-1.0.3 → pydantic_ai-1.0.5}/tests/models/cassettes/test_openai_responses/test_image_as_binary_content_tool_response.yaml +0 -0
  354. {pydantic_ai-1.0.3 → pydantic_ai-1.0.5}/tests/models/cassettes/test_openai_responses/test_native_output.yaml +0 -0
  355. {pydantic_ai-1.0.3 → pydantic_ai-1.0.5}/tests/models/cassettes/test_openai_responses/test_native_output_multiple.yaml +0 -0
  356. {pydantic_ai-1.0.3 → pydantic_ai-1.0.5}/tests/models/cassettes/test_openai_responses/test_openai_responses_code_execution_tool.yaml +0 -0
  357. {pydantic_ai-1.0.3 → pydantic_ai-1.0.5}/tests/models/cassettes/test_openai_responses/test_openai_responses_code_execution_tool_stream.yaml +0 -0
  358. {pydantic_ai-1.0.3 → pydantic_ai-1.0.5}/tests/models/cassettes/test_openai_responses/test_openai_responses_document_as_binary_content_input.yaml +0 -0
  359. {pydantic_ai-1.0.3 → pydantic_ai-1.0.5}/tests/models/cassettes/test_openai_responses/test_openai_responses_document_url_input.yaml +0 -0
  360. {pydantic_ai-1.0.3 → pydantic_ai-1.0.5}/tests/models/cassettes/test_openai_responses/test_openai_responses_image_url_input.yaml +0 -0
  361. {pydantic_ai-1.0.3 → pydantic_ai-1.0.5}/tests/models/cassettes/test_openai_responses/test_openai_responses_model_builtin_tools.yaml +0 -0
  362. {pydantic_ai-1.0.3 → pydantic_ai-1.0.5}/tests/models/cassettes/test_openai_responses/test_openai_responses_model_http_error.yaml +0 -0
  363. {pydantic_ai-1.0.3 → pydantic_ai-1.0.5}/tests/models/cassettes/test_openai_responses/test_openai_responses_model_instructions.yaml +0 -0
  364. {pydantic_ai-1.0.3 → pydantic_ai-1.0.5}/tests/models/cassettes/test_openai_responses/test_openai_responses_model_retry.yaml +0 -0
  365. {pydantic_ai-1.0.3 → pydantic_ai-1.0.5}/tests/models/cassettes/test_openai_responses/test_openai_responses_model_simple_response_with_tool_call.yaml +0 -0
  366. {pydantic_ai-1.0.3 → pydantic_ai-1.0.5}/tests/models/cassettes/test_openai_responses/test_openai_responses_model_web_search_tool.yaml +0 -0
  367. {pydantic_ai-1.0.3 → pydantic_ai-1.0.5}/tests/models/cassettes/test_openai_responses/test_openai_responses_model_web_search_tool_stream.yaml +0 -0
  368. {pydantic_ai-1.0.3 → pydantic_ai-1.0.5}/tests/models/cassettes/test_openai_responses/test_openai_responses_model_web_search_tool_with_invalid_region.yaml +0 -0
  369. {pydantic_ai-1.0.3 → pydantic_ai-1.0.5}/tests/models/cassettes/test_openai_responses/test_openai_responses_model_web_search_tool_with_user_location.yaml +0 -0
  370. {pydantic_ai-1.0.3 → pydantic_ai-1.0.5}/tests/models/cassettes/test_openai_responses/test_openai_responses_output_type.yaml +0 -0
  371. {pydantic_ai-1.0.3 → pydantic_ai-1.0.5}/tests/models/cassettes/test_openai_responses/test_openai_responses_reasoning_effort.yaml +0 -0
  372. {pydantic_ai-1.0.3 → pydantic_ai-1.0.5}/tests/models/cassettes/test_openai_responses/test_openai_responses_reasoning_generate_summary.yaml +0 -0
  373. {pydantic_ai-1.0.3 → pydantic_ai-1.0.5}/tests/models/cassettes/test_openai_responses/test_openai_responses_stream.yaml +0 -0
  374. {pydantic_ai-1.0.3 → pydantic_ai-1.0.5}/tests/models/cassettes/test_openai_responses/test_openai_responses_system_prompt.yaml +0 -0
  375. {pydantic_ai-1.0.3 → pydantic_ai-1.0.5}/tests/models/cassettes/test_openai_responses/test_openai_responses_text_document_url_input.yaml +0 -0
  376. {pydantic_ai-1.0.3 → pydantic_ai-1.0.5}/tests/models/cassettes/test_openai_responses/test_openai_responses_thinking_part_iter.yaml +0 -0
  377. {pydantic_ai-1.0.3 → pydantic_ai-1.0.5}/tests/models/cassettes/test_openai_responses/test_openai_responses_verbosity.yaml +0 -0
  378. {pydantic_ai-1.0.3 → pydantic_ai-1.0.5}/tests/models/cassettes/test_openai_responses/test_prompted_output.yaml +0 -0
  379. {pydantic_ai-1.0.3 → pydantic_ai-1.0.5}/tests/models/cassettes/test_openai_responses/test_prompted_output_multiple.yaml +0 -0
  380. {pydantic_ai-1.0.3 → pydantic_ai-1.0.5}/tests/models/cassettes/test_openai_responses/test_reasoning_model_with_temperature.yaml +0 -0
  381. {pydantic_ai-1.0.3 → pydantic_ai-1.0.5}/tests/models/cassettes/test_openai_responses/test_text_output_function.yaml +0 -0
  382. {pydantic_ai-1.0.3 → pydantic_ai-1.0.5}/tests/models/cassettes/test_openai_responses/test_tool_output.yaml +0 -0
  383. {pydantic_ai-1.0.3 → pydantic_ai-1.0.5}/tests/models/mock_async_stream.py +0 -0
  384. {pydantic_ai-1.0.3 → pydantic_ai-1.0.5}/tests/models/mock_openai.py +0 -0
  385. {pydantic_ai-1.0.3 → pydantic_ai-1.0.5}/tests/models/test_cohere.py +0 -0
  386. {pydantic_ai-1.0.3 → pydantic_ai-1.0.5}/tests/models/test_deepseek.py +0 -0
  387. {pydantic_ai-1.0.3 → pydantic_ai-1.0.5}/tests/models/test_download_item.py +0 -0
  388. {pydantic_ai-1.0.3 → pydantic_ai-1.0.5}/tests/models/test_fallback.py +0 -0
  389. {pydantic_ai-1.0.3 → pydantic_ai-1.0.5}/tests/models/test_gemini_vertex.py +0 -0
  390. {pydantic_ai-1.0.3 → pydantic_ai-1.0.5}/tests/models/test_groq.py +0 -0
  391. {pydantic_ai-1.0.3 → pydantic_ai-1.0.5}/tests/models/test_huggingface.py +0 -0
  392. {pydantic_ai-1.0.3 → pydantic_ai-1.0.5}/tests/models/test_instrumented.py +0 -0
  393. {pydantic_ai-1.0.3 → pydantic_ai-1.0.5}/tests/models/test_mcp_sampling.py +0 -0
  394. {pydantic_ai-1.0.3 → pydantic_ai-1.0.5}/tests/models/test_model_function.py +0 -0
  395. {pydantic_ai-1.0.3 → pydantic_ai-1.0.5}/tests/models/test_model_names.py +0 -0
  396. {pydantic_ai-1.0.3 → pydantic_ai-1.0.5}/tests/models/test_model_request_parameters.py +0 -0
  397. {pydantic_ai-1.0.3 → pydantic_ai-1.0.5}/tests/models/test_model_settings.py +0 -0
  398. {pydantic_ai-1.0.3 → pydantic_ai-1.0.5}/tests/models/test_model_test.py +0 -0
  399. {pydantic_ai-1.0.3 → pydantic_ai-1.0.5}/tests/parts_from_messages.py +0 -0
  400. {pydantic_ai-1.0.3 → pydantic_ai-1.0.5}/tests/providers/__init__.py +0 -0
  401. {pydantic_ai-1.0.3 → pydantic_ai-1.0.5}/tests/providers/cassettes/test_azure/test_azure_provider_call.yaml +0 -0
  402. {pydantic_ai-1.0.3 → pydantic_ai-1.0.5}/tests/providers/cassettes/test_google_vertex/test_vertexai_provider.yaml +0 -0
  403. {pydantic_ai-1.0.3 → pydantic_ai-1.0.5}/tests/providers/cassettes/test_heroku/test_heroku_model_provider_claude_3_7_sonnet.yaml +0 -0
  404. {pydantic_ai-1.0.3 → pydantic_ai-1.0.5}/tests/providers/cassettes/test_openrouter/test_openrouter_with_google_model.yaml +0 -0
  405. {pydantic_ai-1.0.3 → pydantic_ai-1.0.5}/tests/providers/test_anthropic.py +0 -0
  406. {pydantic_ai-1.0.3 → pydantic_ai-1.0.5}/tests/providers/test_bedrock.py +0 -0
  407. {pydantic_ai-1.0.3 → pydantic_ai-1.0.5}/tests/providers/test_cerebras.py +0 -0
  408. {pydantic_ai-1.0.3 → pydantic_ai-1.0.5}/tests/providers/test_cohere.py +0 -0
  409. {pydantic_ai-1.0.3 → pydantic_ai-1.0.5}/tests/providers/test_deepseek.py +0 -0
  410. {pydantic_ai-1.0.3 → pydantic_ai-1.0.5}/tests/providers/test_fireworks.py +0 -0
  411. {pydantic_ai-1.0.3 → pydantic_ai-1.0.5}/tests/providers/test_github.py +0 -0
  412. {pydantic_ai-1.0.3 → pydantic_ai-1.0.5}/tests/providers/test_google_gla.py +0 -0
  413. {pydantic_ai-1.0.3 → pydantic_ai-1.0.5}/tests/providers/test_google_vertex.py +0 -0
  414. {pydantic_ai-1.0.3 → pydantic_ai-1.0.5}/tests/providers/test_grok.py +0 -0
  415. {pydantic_ai-1.0.3 → pydantic_ai-1.0.5}/tests/providers/test_heroku.py +0 -0
  416. {pydantic_ai-1.0.3 → pydantic_ai-1.0.5}/tests/providers/test_huggingface.py +0 -0
  417. {pydantic_ai-1.0.3 → pydantic_ai-1.0.5}/tests/providers/test_litellm.py +0 -0
  418. {pydantic_ai-1.0.3 → pydantic_ai-1.0.5}/tests/providers/test_mistral.py +0 -0
  419. {pydantic_ai-1.0.3 → pydantic_ai-1.0.5}/tests/providers/test_moonshotai.py +0 -0
  420. {pydantic_ai-1.0.3 → pydantic_ai-1.0.5}/tests/providers/test_ollama.py +0 -0
  421. {pydantic_ai-1.0.3 → pydantic_ai-1.0.5}/tests/providers/test_openai.py +0 -0
  422. {pydantic_ai-1.0.3 → pydantic_ai-1.0.5}/tests/providers/test_openrouter.py +0 -0
  423. {pydantic_ai-1.0.3 → pydantic_ai-1.0.5}/tests/providers/test_provider_names.py +0 -0
  424. {pydantic_ai-1.0.3 → pydantic_ai-1.0.5}/tests/providers/test_together.py +0 -0
  425. {pydantic_ai-1.0.3 → pydantic_ai-1.0.5}/tests/providers/test_vercel.py +0 -0
  426. {pydantic_ai-1.0.3 → pydantic_ai-1.0.5}/tests/test_a2a.py +0 -0
  427. {pydantic_ai-1.0.3 → pydantic_ai-1.0.5}/tests/test_ag_ui.py +0 -0
  428. {pydantic_ai-1.0.3 → pydantic_ai-1.0.5}/tests/test_builtin_tools.py +0 -0
  429. {pydantic_ai-1.0.3 → pydantic_ai-1.0.5}/tests/test_cli.py +0 -0
  430. {pydantic_ai-1.0.3 → pydantic_ai-1.0.5}/tests/test_dbos.py +0 -0
  431. {pydantic_ai-1.0.3 → pydantic_ai-1.0.5}/tests/test_deps.py +0 -0
  432. {pydantic_ai-1.0.3 → pydantic_ai-1.0.5}/tests/test_direct.py +0 -0
  433. {pydantic_ai-1.0.3 → pydantic_ai-1.0.5}/tests/test_format_as_xml.py +0 -0
  434. {pydantic_ai-1.0.3 → pydantic_ai-1.0.5}/tests/test_history_processor.py +0 -0
  435. {pydantic_ai-1.0.3 → pydantic_ai-1.0.5}/tests/test_json_body_serializer.py +0 -0
  436. {pydantic_ai-1.0.3 → pydantic_ai-1.0.5}/tests/test_logfire.py +0 -0
  437. {pydantic_ai-1.0.3 → pydantic_ai-1.0.5}/tests/test_mcp.py +0 -0
  438. {pydantic_ai-1.0.3 → pydantic_ai-1.0.5}/tests/test_messages.py +0 -0
  439. {pydantic_ai-1.0.3 → pydantic_ai-1.0.5}/tests/test_parts_manager.py +0 -0
  440. {pydantic_ai-1.0.3 → pydantic_ai-1.0.5}/tests/test_settings.py +0 -0
  441. {pydantic_ai-1.0.3 → pydantic_ai-1.0.5}/tests/test_streaming.py +0 -0
  442. {pydantic_ai-1.0.3 → pydantic_ai-1.0.5}/tests/test_temporal.py +0 -0
  443. {pydantic_ai-1.0.3 → pydantic_ai-1.0.5}/tests/test_tenacity.py +0 -0
  444. {pydantic_ai-1.0.3 → pydantic_ai-1.0.5}/tests/test_thinking_part.py +0 -0
  445. {pydantic_ai-1.0.3 → pydantic_ai-1.0.5}/tests/test_tools.py +0 -0
  446. {pydantic_ai-1.0.3 → pydantic_ai-1.0.5}/tests/test_toolsets.py +0 -0
  447. {pydantic_ai-1.0.3 → pydantic_ai-1.0.5}/tests/test_usage_limits.py +0 -0
  448. {pydantic_ai-1.0.3 → pydantic_ai-1.0.5}/tests/test_utils.py +0 -0
  449. {pydantic_ai-1.0.3 → pydantic_ai-1.0.5}/tests/typed_agent.py +0 -0
  450. {pydantic_ai-1.0.3 → pydantic_ai-1.0.5}/tests/typed_graph.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: pydantic-ai
3
- Version: 1.0.3
3
+ Version: 1.0.5
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.3
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.5
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.3; extra == 'dbos'
34
+ Requires-Dist: pydantic-ai-slim[dbos]==1.0.5; extra == 'dbos'
35
35
  Provides-Extra: examples
36
- Requires-Dist: pydantic-ai-examples==1.0.3; extra == 'examples'
36
+ Requires-Dist: pydantic-ai-examples==1.0.5; extra == 'examples'
37
37
  Description-Content-Type: text/markdown
38
38
 
39
39
  <div align="center">
@@ -8,7 +8,7 @@ interactions:
8
8
  connection:
9
9
  - keep-alive
10
10
  content-length:
11
- - '105'
11
+ - '102'
12
12
  content-type:
13
13
  - application/json
14
14
  host:
@@ -18,8 +18,8 @@ interactions:
18
18
  input:
19
19
  - content: What is the capital of France?
20
20
  role: user
21
- instructions: ''
22
21
  model: gpt-4o
22
+ stream: false
23
23
  uri: https://api.openai.com/v1/responses
24
24
  response:
25
25
  headers:
@@ -28,13 +28,15 @@ interactions:
28
28
  connection:
29
29
  - keep-alive
30
30
  content-length:
31
- - '1183'
31
+ - '1385'
32
32
  content-type:
33
33
  - application/json
34
34
  openai-organization:
35
35
  - pydantic-28gund
36
36
  openai-processing-ms:
37
- - '323'
37
+ - '1304'
38
+ openai-project:
39
+ - proj_dKobscVY9YJxeEaDJen54e3d
38
40
  openai-version:
39
41
  - '2020-10-01'
40
42
  strict-transport-security:
@@ -42,47 +44,55 @@ interactions:
42
44
  transfer-encoding:
43
45
  - chunked
44
46
  parsed_body:
45
- created_at: 1743075630
47
+ background: false
48
+ created_at: 1757604033
46
49
  error: null
47
- id: resp_67e5392e0fa48191b4c2e1ec82b33e7a006bc99764149f64
50
+ id: resp_68c2e8c147ac819491bcd667055eadbc02e845978fbbb592
48
51
  incomplete_details: null
49
- instructions: ''
52
+ instructions: null
50
53
  max_output_tokens: null
54
+ max_tool_calls: null
51
55
  metadata: {}
52
56
  model: gpt-4o-2024-08-06
53
57
  object: response
54
58
  output:
55
59
  - content:
56
60
  - annotations: []
61
+ logprobs: []
57
62
  text: The capital of France is Paris.
58
63
  type: output_text
59
- id: msg_67e5392e466c8191ad4ef0744bded009006bc99764149f64
64
+ id: msg_68c2e8c26114819489dae5b59fceb7bf02e845978fbbb592
60
65
  role: assistant
61
66
  status: completed
62
67
  type: message
63
68
  parallel_tool_calls: true
64
69
  previous_response_id: null
70
+ prompt_cache_key: null
65
71
  reasoning:
66
72
  effort: null
67
- generate_summary: null
73
+ summary: null
74
+ safety_identifier: null
75
+ service_tier: default
68
76
  status: completed
69
77
  store: true
70
78
  temperature: 1.0
71
79
  text:
72
80
  format:
73
81
  type: text
82
+ verbosity: medium
74
83
  tool_choice: auto
75
84
  tools: []
85
+ top_logprobs: 0
76
86
  top_p: 1.0
77
87
  truncation: disabled
78
88
  usage:
79
- input_tokens: 32
89
+ input_tokens: 14
80
90
  input_tokens_details:
81
91
  cached_tokens: 0
82
92
  output_tokens: 8
83
93
  output_tokens_details:
84
94
  reasoning_tokens: 0
85
- total_tokens: 40
95
+ total_tokens: 22
86
96
  user: null
87
97
  status:
88
98
  code: 200
@@ -0,0 +1,366 @@
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
+ - '190'
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: How do I cross the street?
22
+ role: user
23
+ model: gpt-5
24
+ reasoning:
25
+ effort: high
26
+ summary: detailed
27
+ stream: false
28
+ uri: https://api.openai.com/v1/responses
29
+ response:
30
+ headers:
31
+ alt-svc:
32
+ - h3=":443"; ma=86400
33
+ connection:
34
+ - keep-alive
35
+ content-length:
36
+ - '17879'
37
+ content-type:
38
+ - application/json
39
+ openai-organization:
40
+ - pydantic-28gund
41
+ openai-processing-ms:
42
+ - '23304'
43
+ openai-project:
44
+ - proj_dKobscVY9YJxeEaDJen54e3d
45
+ openai-version:
46
+ - '2020-10-01'
47
+ strict-transport-security:
48
+ - max-age=31536000; includeSubDomains; preload
49
+ transfer-encoding:
50
+ - chunked
51
+ parsed_body:
52
+ background: false
53
+ created_at: 1757638319
54
+ error: null
55
+ id: resp_68c36eaf77d081a39099dbc0fc3bdea9033a1f85a7ada5bf
56
+ incomplete_details: null
57
+ instructions: null
58
+ max_output_tokens: null
59
+ max_tool_calls: null
60
+ metadata: {}
61
+ model: gpt-5-2025-08-07
62
+ object: response
63
+ output:
64
+ - encrypted_content: gAAAAABow27GFJzkud-Er8q0MG9F-xM_v7F7pupd0DxJdZWzX1581Yisi-0WxLjFnytvGj3PJE3pFNtCkWw_LnTJBkXJWMCsFPZ6Ivvm9WkHViw5gxnPbel7BJWO5pLVYo2-clvai9S6IOos0Hpcjdp79TOGiuK5o2zzkVRGOjOZhjIKjpPkskj1WPBqehNOqOoBcMtDuNT1VwIugEsVNctkQYcp7cxnQGKUVcX-puuyksc1_eF_DjMQtiZyfSV2iUt3FqS7T7A13yCsDE31FZZQJcJRqyVjkLTlXyUWB89SpvZEIUdpF4tLfVmB3nGrqxOMuj5vgSTnYsrcF87dO6yhqMmn5a9KjyrfxEVoKKOHXYqsDcbg0Z1pVyHQihe8SOVxvrmtSHjxuaac-BMzUmH711euQ-fJolfkvPB5GNke42oN4qzVLoJme2lBKnQHgD46w1qMpppDB8SIQN68XuUVo-0Wf09xqdmUKoUCzCwLYIJ-fYa2h2AeIGTzuEBdJtwckVZMf5wi3TC8E16asXVBewfLbnjMdl7uhQ88nFRxvbSlMlgKW2cW1Poxi7YgunBHA-PCmSquIGLZ9WLWaZjl3yTU2omrQmq6Vnk9_5Nd3g6GGxHd_dXT90DVQ2wkZVC23e2VjROO1JcpD1fQ7R8XZR1IsGF-x1j-WQUGr13In8SCXG-zAM-12YVG-b0w9mCwPkgJuBZTruI-cmmSdyT6x420Bl63Lz6OIQtlKZqUacenDo5BA-BWohjnqRgqEpfHFXnP7Azzjz-Ikm0HL4WxuK37dolCgTMeYFSRGloVOkMoZUsD4_CY5q84lw10pJpAZuOE32f27jdpGU7UoTtCGoMO4T101JmLX9uph_LKJcn0TN06jqAmMC26DE_ZfOFMsHp4uEkc5fA9uGMb4Fpno-Xnvg_6tnsxmNUdQMUSOAswyqaimA2vdg1mf24NycWAhmtNQBG2772jsSlZbg48HKZ1Wrdnrmf4mK_orH_4neJVCflLJJfJU6djXrWzPFHoQ-xWUehhNsSQcwhFgKXRIw2kO0PoY7MnMT89ACOIWxlRy0Qec0vXwkccF-M2BiSiL9XVxqb0qw7nBeI5Tj6lE_mnn4gvKxwmvKbFLvYMbJy51evqIUpbpKm5rJV-XbmijqdNLDEHtNLN9OwEScxDcndiWsU6dCB7kC5-NkDe1G6Ppu75PyrPYFvw9nN--54UY1donbAlLejt2J4YJdSk9mrFfOaVwKhyrNKlcxMmGlX0I906CABS2v5c8DspLF5TJcWvwSL-U-uaRwQae_Ps9FoNEHUBDeih_odIsgnXBvGcpwxox4hQf-xgb2cP01GqblOe26Cd9_gtMHsLfY3-7qG12tQP0r7RTkHxGqRzcrSlPSPYntpsMk0a13qNRtTK3sh3FcgfjzIuUkpmMUXadFyuPXHg7Gorn38XpGzLEssvGyFec7PXgI1sn0uLRU1X6OaETl-qDFGa65cXJk6smkWILQNjid2zsHvzNUdytTQ2mi84SqIybFtDdc-8tc7PmcCt_NQ9vZb-bATjq5rtgMf5-9HVmzoUkftcbEwIDS-3DGdeelzymH7jkOVVTgNLQGI8O8LR370YpjbAxz8otGxCQAsIFeI6ZMTlCVjZf3bYtCOoci63ERNTs2PDlF-5cFIA9nWjP1qRkYLbZlVWxOEv7R12CWTcOJY4yV4lbnVxvihA-UOYCmVEQV9mdyM2wvxpi6IydqFBVu2AJA-1BudxDVzvo-ASs5NWsKfz4Sna5KcN6RkfadxKes8k95Iv9y4K5zg52l5Ly4EBwDvND2qvUdCHsW_WCkZQew6qFMWCrI1mWa7kSpFbGvrhqah6yFxzqBiqYpJH0EeYDXW-tZMHqIVKAJxxGUTWHUcEhMXgZDgG_-xrYOKg0qk_9nAyWrGP5T6DLaCJsTG9ohyCZiH8l-y83cn5twn57CYsjLblVReumnDC_Seop-2S4ydXbt6XmFKRPTaevS5zdt3H1RVFC-5Mfgjv8gM8xsLHpfvbovYQQ1B1DyA7GrDOUl6BgG2HK83L5y0CnV2vwV76KrDwS1OzBbu5ByFfRiQIJHFWnJoJnnE4GToonJzqotMSxlxvxMCJQFIS0A3bhFDHFZGNAdpfDk6UHmuo01MuRMP87PILoSbz44fMabaqWvlDFGsS3MhD2hhAwpfGMzePngHy_2HqplSeiqfhvpM8NsJ3XYNsaQq8ACnsw5ojiPqnjGSiQX-p3UWfYwCEx9K5iTIUa_AMfySUJd-C0mTeGvyEjpxMwkjlouDKPK6U5LOZjbmPR371UZLVT0K-UipgVLl6vRiS5p13UUw51rKNyThVO7YfSISMV25F4x1hyIyvUBUK3hMLgU2Rh1Uu-FCdq5UuN-K-jXo4KbYWRZSEpmNEI71f717HpnW_pjiFvP3O5oBrAVZmDjrlLthucHps42JSRWxZ4QaJRFXDygVlm1us1v463TV4lCqNGz7MWmQez2RbNgJUoO0dgNZLhWdGlMbqjZu47ezIUElb8TBKlha2HazOgc3E4yh6ZDR_AftAwoUf_NyGYuz7whSk1ReVovhoLGvZTYUiik6XZbrEljduxiP3XnJv88sw1G6m5IwL3t8mQ4JtP82Bnzt0XnieMMRkIFXOsRaWhs70_yISbcSoC1vlDVu1K7Xqt8JhnbrjBjRQOlm6U-go5Jspt5k7OHTpEbqRigqSIGcqddr938hSCTd9YZoshwcpuBJ6QGEp-TV2KZ2069vAmjZXRVWEtzT79ttxdVldE9n-3c3R7I0-Klj69Oz7oPvkcQd1mMrd9rvy6JBUiB6w1X-Lcd_KwOlqh-lv9OpcakSHP0eaysWH-OHw7SMahjRl8o0sZZE5GXSNpq_r-PLxq6lWjDlMWLrzIB0hspWTwMp96kKS6VLgnK_k5G--OE5pjrcQBEUDOiC_BlpP6mCuPECcIVXKs59gnTWRuFDEFfsUyXUlMIxmxpcAw-kEuJqD70p9XfbnStO3VRjAA1Fxksgrlqq6BFSG6kb5wzUOzZComgjKeo5TtOyifxQQmzi0N5lZke7HlmPLxNu-J4tPV0yfexjJEyTARDoIK_DLg4ZdQsGYhqO9apBzpeUETqlgHkRSSXwdEF5QTYjJqEWq3oWkySxGqif3ms2Tl803s0VFKjoatih7S-BWRnBBMPcQAWeJ-_UJcOnR-PXtwoLrfRz7qdMUsGBLctLUgv7G0S-9u7lrg1IQU41BpfTJ_dnAz6W3y0-9-_pvDemzpAAzTOVkIROHXC13_zeLA1GyF6n56PDqQL45-C79HhiaGqb7F3-5dKZ3iNPb9S88khUL47Bi7dGpIpRmqu6S6iQGr5rYmBMuq9u3FXVsC_Lea5ZSGzZrR0hceQ5jL8Oll0TpUMw_G9FfWiiplKz1x4jOnVckSLjCvymGOKBd46xm5iai9vyWJvwll1H_KwSL9R40DQ8V8maBMIWE9Llw4vEbbxspKX1U7z2LXie81xGUZuu933Js3joK1tIgHrmdNAU3zVS5NQ7xk2xLU738jpEQzWmTWkPRQ6vvmqDlx_g5Td65w7jTrHI77DE90BNW9Cu6VpCPpgow2PrTb1goTOe_qhprufho6jfH34tcfi7S-WuNbXf8RHf09Hz0Q44Gv1P1oRB74rjBi_6Uq3theKPNGi09OJN6GPNA68O0xnb9xMVSp3HxwoQfRnsHh8j8IcOAE32twcZKXKmpX_gXIXp14eITRjKvkytNQxz4aJsc49VhDBii4uyjz6w4r3RWaMDqxp62fRuLKNWreHVHbBoliRKdSDKwGBFRrDsQ2DZ9B2GZpS_3cUzCdhki4dyohgYTuKiCnQjVhbh_zmz2cnQF6Gu476rBXspnepMTdd1HRF5G7QkzU1m6GbU2WHHWwCVm520wF3_1MfYiaWj19DQDW7yL0zhnhaRZI9Ecizw8QjvESEAmQgTk6ETfpRhih1dkhWHnRS8XmALifSJQORl_9ilteWhfRu5Zr9A5XQ3-SBdjqyLuEVY1kHknKA3PRjqrmMNQ3K4bkf78c5QklK2yoi3-st7RTdgZFHelu5bGcLH9R-U6VFv3UaF8Ji5D4A04PA-f-9ISaCoom7uy26eXZBhi6Rhql3Ueop8aoeqpOsGOqXW5RHL-0okXyWnWyJlHLz6Q-AGp3m-o9xYiG_zQpsh7mXOt3GxSWWy9dwLNBh8dIeFS46xpDX-3JNUqm9aZJEd5CTiu1XTK-4ZxkuPj1PlsJ7JikwqDOI6BDxCvEnnzXq4s_-oZuHch7w-rKNpAicg5Dz2XeQggmkJ0XmKLILoIjy_g5C8Znm9MfyuQO35GYSuDRa4qbdP3o0a4aHYZfg3YwYEYYhEFg2qnXNOutsgv4sIObhD85_dn4AYZtG_M1d9hTcvMc60xpGj1G_4WwDab8uTrsgb8OTgKR9Dc0uV885i6kXk1FdKlVH8EvptocA1e5eMiWlR-i2CORlIHWqIG0TYKg2qMJmOYkUZ1_0pQMWhVYTT4MEa27pH5ZBwmh3LCphlB5kYbGRKW1LS5-ekdspRUEvWLEIRos-zefvCNfeoALrD5dwQWaRdJhP2ON2lqmeGefV9fsXBNBKBIZUDdjuos7JZa3Isf_kK4WIcy66uuUGwz7PGi2L4qeIgoWRzfMcCs4JnzFDJewtORQePqWcndXkATya-K_2cG2xq_RLjC8g31aEP-nGyBhxhOn75Lb3BYh1419At0y3Yue9biqA2VAKkxUQ4ZslE6sFUS7gKqn-_yZH2UcBPR2DGGPnHOIHmexMyhVeGGhvK2AUHTPsk1kHfl6VwUGzzHJvrNeyF8xdtrKQ_FzrTldU3XzjhFdNYyThGBrARYL7pKIjJnBhiBEo-Eg7008phIZIgUq-PdcgHa0nd-rvSPbWczm22sqecB0WnIpzRTJWzCIYGUjtsfQOrdP4T8oFw7vXb1pV-D0072SiVzHoa6yFTMAHB1NaECJgzFfaXmxzjOq9Yhg-uvpPHD5SQ9b-PmTigOoJyvVStUj3kNw0vQfO7ZSdkpAEvO5Jf5E_iT-bhcfnxweHS0SOAJa1QLmeK2pdyilM_l0Vo9RavTg3_WfJD0vc-384R4pV_mfgB6t9aADvPfqqEXK1zDhfnfdkFxlCZTlOLZ6nxgdlTtEzQNJ6Jd9K4BVdy-_XQ4k2WohrmUkOzIYNsjOIveUKx0i4W_CCcxoQ--O-hbN73WpTWqaeJGPnJRKkI5w7rLO_tF5ARbXvZjnPQ2Jt6jNBhNnEO9fijVMFNoF5_6FQe0_ugb8sxz-ZWWOMvBUJKCsAhbiUN4HONB_-TGNEJtmWvyLy-XKvTY0ehD6knMLWSDnsPqeX1GA7YpkIAd29uiiHwxJl9o-qOD5mG3L1UhQ1T-F8pGKErWO7lcDyInKJ60UN0NLHfbowiMlJdtjjXselBE_3QLQHp492fknX6NYhiQME-StYckk6SmcDQYOKRIAjtVmt3rxueWgyVzbw2dyxyEPRe_Rf0ZyEv_VnY8c25WGwP0xEStLardUOJKPMuq9hv1a55-DLBl4bHfq4qFENSXhivJz63j4zAVnaXAP-IUcQlMvSH3ZM-XKBUPlqGo6T6_CINC4H1hjuSKgIAQRshR5De15_R_YnijtHWXro-W7HarymIHIcrebS-cRDagaEKELGxgk7Z-8vcwFHXTMvz6b3IGT3XHqpFsv_FIm8IIV4_y5EPmH2t3kSWEjEb0yUVR_o477o-Fx-A9-m2fLKOTv3vsCl688olVigsy6PRcqkF8c3WlhqDCZjJOBb0O73qDyDXYxNHXQ-SFIkrQWb-6aXSuOoxqa3asOEjEpE61SiROtAeMvAaQazF_bgiGFIrMGdqMVTB2xV6EZ_XLFRFK4DqXA_e4xy0zXKgrxxwerjEBbJkwseqSHC41bUtZ6Obf3FTggUSoXuppYDkXJ9e_1ikLf9cuWJvSpy9slBja3EKDn04v8zVL0WNK54CAuJcQGAdUsCHFlXBfDUqsJO1e0eA89Z_lBeBAo3vkvWwI9Q25gUL6Z7wxOTcZHhF_JGyiITY-vAtaJMbvbAPtd5SFKMn5uSDGED9ZeDyf-XVp58OJAaPk9B4rZMAxdb22NqaSDBZdrsyLdkDnJvC0cBCRkoV2P9TxoGsMAlMMaKyJepBvK1pfXk9vPceHWJy98sy5C-boiHYJHspdUCf49oMoIjlAcamIMDviiWR8R29ctLrm0lVj4KJs_qgc_bpZQ8ZcE1kTQAt_CnStTDKPkKex0K9nncBFfs1cPQiYxOa2Nn9DIRrQRf34D6eWcRLdZPnl94g4Z5JBjHA3V2r9rmUbv7hLbut3SMoQa8OouOgv_rMSsB8CvYGtFB-r25dTj_BUo1FMpMHi25ILPM0kw8yjeXdsbCwfTEdDaLH50ego01_XfVV_Ce1barSDJWnIamNzGgrFhL_mE6hk7475EepGMyqm7SBSwDS35nTJ_I-eKt40-3J3XfXpmCUaRaj_RoOXHPUP0nypcE8r4lROBHEpZTWUgGC9VU0B5auABJTbnju_pkeMUzsO3SwGNJbAa55366oWzmNhiTGYcGLQNpOsudshxwNihB5k2YRbxvi3qgP-wQa-zzkx1Hp_fZUU-dzefKUO72VTQ6Yq-NQ3wWWUXQ2bdaaSHVSN_tkHqFSGKJDoZULUMdWdAhLT6NFwBMKESOWYE0hsIdpBBrgwecdxk3sHnBowew6VYUwDlV4Zip169zDrBShi1kAlPu41sIV6opLPjKbnPU-QH4yaXUYJZCjLJDGyGbk4hM0Mds2JaZWapP475De60HhHsY2CG3xhpeYwBCjcQDgDIx9Zo2eotwnJLl6LYNEjaG8mUuwnVymfJN1LLO4M32agdWEip9s3flZhXEnZRykLpit6YcJ7jnU0bRnSl3fj2Rt-qTymHENQcruLP1c9OiDz_75DhgE-3d53G2uTswTs4jOneP4EoWCf1p2VOKTxzfR4uxdt84M3MVMiTRlrtu8kJS3MGkFyncNJMxWiCZB2_hK9c-1VjzH2LAWNKISnnzwONQv7_RT_TcQtY1hIrjq4j6lIjBTrInKViCZm1cji7xJ3zHMl2YSSA0wxg9YQBVu3gqMoPEldRPd31L4AEnOLMFMxde-hNPQ0WRfluUEMo0_pvfI_afbv30ZUV5OACqCdcVFYXpJoIfQShIcOOt0zlneIB1-8--YyHe9K7VrU0dZ9xCm6rD2R4UpvjtjOMRk4V2Dn547Gtb6QB5RdNkTDVTWDCPGnW16PNt0mu2Mr_GZuPOaQ5Iah7gMZ0RQqaWhkabXlgsLht-SoTifnL0G6n_xfgzkWU5Q79qFdWXgvn7cW55LCfxmLmXsLhlAAIXnC2ZA2_HyvVkTajJU_84Ha6Xa8EC9nX8cfTXof5UO20NfEKCBc9OOGdbT9RrqNBRnHeaXfcmx8q_vqebWkKvr6uUJSAuAkWjLa6lOu2cIbVxS2dbIKQUCx_-Uj5Jv7RZrOrPHxgewivI6duygfi0hNzYteem57_aqGfXJfmL7XSaBjn1kX7Bc9mHUpQy7FODzuxtvFZtZMc0zLvxgdl6l4e6FR96VaRoxr8bbFTpt2tQVHvB5MhhzSdsRg0pdqAtwwh0IFVGaZTGeGauBHQxcNOA3bu0nzEWCeppDhIS2FmW6P1h7Wp7168nKfZ2Sj_vHavhhd_nfs_11WhQk9nRoHTfqRbNdWROtvVRo-IpliiOK_MlYCSzoIGe-6W3NHZP9zusaeRJmsVdWTreTWClHzw136xf7pFDgIMd7D20DOJYQybbh0KfSVFOqancVw8BSdlZywjh6LD3_7aM5r5qNvcSHE05kmoo3n-7kmfptAMrJdJTiUVHf5AHeqwZ4lK5aXIiNi9x4pEKggAHgsf-jUgcWXbTrLjOt6R1frMGmTiZgRi8q4YFcA5oEU1n3YlKHv2DZPmmcXzNGpus9Pg0nDS7JiVdoOEvN-IUEsPRuSCEpddinvDgZYC7E2cWpiHExkrwn3QnUDQUttFanSnYJTR4711JxKEJ7_o3rX0CW8Fli0Sm2hlohZzgFwvr3dKDnMzV5tfFL5YnmttWZVyC4XZv1UWKNSCMT8QRl6ZpBhpaNM_hfgWLxcfcQK2Oabu3gWa520GihrOPv3JjQ4NTRZly5u9l--OJ13fMFwSKLW_FUSBonSbo38MxpltIlNLZvT47r5nYsyS8yXQ2GpjALuEIeC6B0-mNitrG56IELxGWGEVtWcy7XmKm_4rmUQIsfanzVMQoEbYCLGJbXoigrd5saPIRsLpAXYRn645ZnNFM2ij_jqgW4-ATuISND7dgQTnroaZBreXkq--Drh3bn_0X2eR_kDdR-RyjqJeVehJ6fY--8QAjjFCoj21rHF64MhZNDOtHLD1H6lZK7K7bs5ISiKY__2wfxT6apxo-e81OM9gv7UKp0IO_7eG9Vn_3EtAm2o8W5GvUBLfwcKt_JjgAaHoh1MyT7EvoJeNwt1UzQKBUtEq3dnFjVELn2IOIp2nEU5jzhcOmm9GMvvBbTedeUF9uwiW1MoFwFjncPCyO0pnudJnezcGWjnj1X8-G_T3KsEcrk5c2tblLKl1x6ovSpJaKK_T6Ho_taDO7JToZsKr3ImVx8gEPa9fCCHpYx5GBa7_FJjaM1QmwGfKkKqhQ4eGWITCdKjr5tI6v5WMkDon3Tnu5WQNEJLAIZIm7w2xp0aTUPoq7lsb091bkD7X9Ep8SisN2JEXP2idpvSbdoRhU993Z-hjua0TOyKvuHG6yyLCQdew6tYY33aySN5aFhQteeFc3yNs5gbFxyFIJbb8qsyOBUVsCwQzTW5UbSvey1xCTgiCpVb12wBPuV6kZeq2DRlc0FPgbOBdtX96GJrsVZnh71AL9Op2GeUxtIwJa8gSK7KrSScOJzq8MIb7CRqT5ru-X2DV9xorw2jUU0glkybRok9zrRJOTgkrSvDkblIXNKG2SkzBJVx39LgJwjohLCShs2uoAW1tAW2wYQEjAKwKS_fmfY6CRu8idA3pnRt1wUpj-8_5yLcWnUCDI3ORXLilJaf-t1PYTTsw4BRdBggzpQdcmAwRQ9GJ7OA6hqMI-OksKAA2qidu6bF_5psx_tLEFtwJb_C_g6bcGvBaIHP9V_lumYhWDp_oTnd0LaAieeyiFv6JnyJQNPyYCh859V3AayP4dA2na2szDBgg22psKC4JVgC9KJuAFBp4iBtUuktwJDXenDfZ_q4niKvo-kJFC3GYFh9aL_NVDzZ72R4-NKUYUyf7I5KST-hw_HlqbaD-PjrW5b9gUHIYDuxJB3Z_uZQ5b5Q5YEnux8ESWa8F0JnHb8J7NQA6R_b8sCHjtpEqPlH5rEq1DWNIO7Y7wo71bTboXIV97n2-rKUQP-gZ8nSytTFlBdDsMSZDRkBGqb0dG4jC7tC9pfOdQYNzRW-lsXw-VIeOrpWNuiS_tQi7j-oFMW8knHIFPBJfiwT3ziXJznZUSgaTSXnAlADm2kGgtHW_RHS2dQ8TrQ27Tq6RgUbTEBPRq1S1wkwG3FM8OVOYctpmUlcED69LexAr88ZL_KBxEmQGgYjUSy7rreTncJUSSS9T4wwVRfQUXYUfivgs3FqoDdk8F0uoSqP2vznF_AeKRKyiLJyNiCazEfY2622neWqfI1-1oybGyXBKtyJkkiso4ovxlN3ygekB4dC_vohEQ-QZaV0Oqccl3ZNeVSWCVGK1zDZJ4Bb1i8Ekwij-VnalPlphAwdXOJfioIRyib5RXM7zF4-GQVO_cWrt8FvSH0j5mdz9RFQFl4hcURyZj-lUf6ee1ERRS3G_P6WK9mwzVL0MynbIK4MmzBfNi8y9azcWuf8prekA_0TZ2HtXEiDmXfzB8iHsQkbcssCEZJEHY-tZjM29jp0cDZjQo-9duI7qYW5QJpuXWfopP11XH6ut9WUXdMsQTgiaMHj03DGIi7xWeEKOr-e2IV_ERTsl1AeX390KLf0SlQ2PzncInNE9Uv9-qd-y9sWXx5aT06g_8izXkIGk24ILTrea0FuX13EdQYEcyVFH8hDPZUCiaEoL5jKFCbp0FMXLEhvokjpjopv_FsD1pfvZHoWExO47-izrj6SiYHr1CUz_MAzJxTGcdhznhdL7Vr0eWpO9GnaQ_uAex9yr380oCndb4CT-tvh6HOkynVRZ3fSCmYM1eVv4C9QaKJPQnfki3E1RIRJz4mhdn8DXhE_JE3ToDiUarA7CKXkm21TAzQODOIncFr22V2s-1KBYWGqcfWXUyzbcCwD91ypaft3Lhocg_V2Y18IzxL4hHvjq205oe3kMhggPr477V7EgW5sjVlKYLKxa5ythltDg-EPbwic__tCmk5B-HaChYBFGVawiU2Uk3PHjOLlOlkrxTJt0EnyHAFRYSVX7HpsIDhfPu0XUWFxsmuOEiAu_-_w3ffftMMulIWngKwgU3F1a17qE_MhJe5W8XP4W6HS0VFZF4WJ10lk9u6AqjgkkB4soOk9RV6yLjR1gJt55lttBjx1MObDJw4uS__gLO_MpAHiPyXwnBcUxiNmsM6jNkAcaztlhdluLmDEF_OC9oDPFZk8YrKQvsrULhx3f_pLACz0nM0oautzl_s9ea-dzj0P9YiKJYHOy2srI9uGNghauw2tTrZwcrQm1l8xn8KgSMEV_QdIFvzUhStL_fuPOBDev_eQoYBuc2xZ7hpQoTLrbWilvmstnxSPGJI6zMHnV5zJTWG3VzMGnQu4DZLeVWyeSeHNK7Vx27YADtxMBhg_46NFeqEpkUfDIs8w4VBqn4NsQqtfCJPCXf_tCOP2NXgKEqAScytTk5Zd4E2SmSaHYkq1j5ezk87fS9qfcwjSS6XarULRxpebIncMvEBeK6GngmUeh65qGPxsq3f79b2bk6xH0b3Gd84__5iMbOaZVL77_zLVEKrSdyzIEhxoxqs9-msDvjIvTcLk2FEW-JErhxrl2IB7WLRwYKJXw1L-mzFldlAjm2GbW1tqjD7Sv88aCJWA9-5AtHbo0sWGdSMGWbmKSgirmskR2HJLTnvJrk2mbFk-TnujLEV-YuRt9M5nqhjybOpUngRDbqVh91e3gxOfuKzka2OaZYOEc24aN7DRKE6d-t5hjX-K3D3ziDTJWAW0g0ykgzNn_IWDXHZsuMSd5nsrzWaHkZL5o4TBC3FT3IM0w0Ax_H0oYlrThTPN-9Xgomgw8bPoLy7Tdivw9JcOHGUWF5PxU2GbAMIHfnyZrolpSf7efYMhisVPv2IbRMNIWFcEyOc2n8yNWR_xJQIgQ4vn-cJrh-jFQvOflqWsIceX6m1RMnPQGg558QCdWKrEXRE5SS6Y_9d9l-qGuWhV4SzpkBrZKTmRQbgxyzXvtd2f
65
+ id: rs_68c36eafb6f881a3bd47d4f10db61dee033a1f85a7ada5bf
66
+ summary:
67
+ - text: |-
68
+ **Considering street crossing safety**
69
+
70
+ The user is asking, "How do I cross the street?" Since we have no image provided, I need to focus on general safety advice for crossing streets, as this can be a potentially dangerous activity. It's important to provide straightforward steps. While I want to avoid professional disclaimers, I'll keep things simple and mention key safety practices to ensure the user's cautious approach. My goal is to be clear and helpful without moralizing.
71
+ type: summary_text
72
+ - text: |-
73
+ **Outlining street crossing steps**
74
+
75
+ I need to provide simple steps for crossing the street while noting that local laws may vary. It's essential to check signals and look both ways before crossing, using crosswalks or zebra crossings. The "left-right-left" method applies in right-hand traffic regions and "right-left-right" in left-hand traffic ones. I'll emphasize removing earbuds, avoiding distractions, and making eye contact with drivers. It's important to ensure cars are fully stopped before crossing and to wear visible clothing at night. Also, crossing at intersections is crucial, and the "Do Not Walk" signal shouldn't be ignored!
76
+ type: summary_text
77
+ - text: |-
78
+ **Providing street crossing guidelines**
79
+
80
+ In the US, a standard "Walk" signal means it's safe to cross, while a flashing hand with a countdown means do not start but continue if you're already in the crosswalk. A solid hand signals not to cross. While I want to keep things general, it’s also good to mention signal icons. For children, crossing should be with a guardian, teaching them to "stop, look, listen, and think." I'll stress crossing at intersections and using medians as two separate crossings on wide roads. Finally, I'll remind about avoiding the front of buses and being cautious in parking lots.
81
+ type: summary_text
82
+ - text: |-
83
+ **Proposing safe crossing steps**
84
+
85
+ First, I need to find a safe place to cross, like a crosswalk or intersection, and avoid areas with curves or parked cars that block my view. I should stop at the curb and not step into the street. If there’s a signal, I’ll press the button and wait for the "Walk" or green man signal, checking for turning cars while crossing. If there’s no signal, looking left-right-left (or opposite, depending on the traffic direction) is important, waiting for a sufficient gap to cross safely.
86
+ type: summary_text
87
+ - text: "**Crafting street crossing steps**\n\nHere's a concise guide for safely crossing the street:\n\n- **Choose
88
+ a safe spot:** Use crosswalks or intersections; avoid blind spots and ensure visibility.\n- **Wait at the curb**
89
+ and check for traffic.\n- **Signals:** Press the button; wait for the \"Walk\" signal; check for turning vehicles.\n-
90
+ **No signals:** Look left-right-left (or opposite for left-hand traffic); listen for gaps; make eye contact with
91
+ drivers; ensure all lanes stop.\n- **Crossing multi-lanes:** Cross to the median; wait; then repeat.\n- **At night:**
92
+ Wear bright or reflective clothing.\n- **Avoid distractions:** Put away your phone and earbuds.\n- **For children/dogs:**
93
+ Hold hands or leashes tightly.\n \nAre you at a signalized crosswalk or not? Which country are you in?"
94
+ type: summary_text
95
+ type: reasoning
96
+ - content:
97
+ - annotations: []
98
+ logprobs: []
99
+ text: |-
100
+ Here’s a simple, safe way to cross a street:
101
+
102
+ - Choose a safe spot: a crosswalk or intersection where you can see traffic and drivers can see you. Avoid crossing from between parked cars or on a curve.
103
+ - Stop at the curb. Put your phone away and take out earbuds.
104
+ - If there’s a pedestrian signal: press the button, wait for the “Walk”/green person. Even then, check for turning cars before stepping out. If the hand starts flashing and you haven’t started, wait for the next cycle.
105
+ - If there’s no signal: look both ways and listen. In right‑hand‑traffic countries, look left, right, left. In left‑hand‑traffic countries, look right, left, right.
106
+ - Wait for a gap large enough to cross the entire road at a normal walking pace without rushing. Make eye contact with drivers; don’t assume they’ll stop.
107
+ - Start crossing straight across, within the crosswalk if there is one. Keep scanning for traffic the whole way.
108
+ - Watch for turning vehicles and cars in each lane—one lane may stop while another doesn’t. Step out slowly from in front of any stopped vehicle to check the next lane.
109
+ - If there’s a median, treat each half of the road as a separate crossing.
110
+ - At night or in poor weather, be extra cautious and make yourself visible (light/reflective clothing).
111
+
112
+ If you tell me whether there’s a signal, how many lanes, and your country, I can tailor the steps to your situation.
113
+ type: output_text
114
+ id: msg_68c36ec63adc81a39b63da30b6a85f59033a1f85a7ada5bf
115
+ role: assistant
116
+ status: completed
117
+ type: message
118
+ parallel_tool_calls: true
119
+ previous_response_id: null
120
+ prompt_cache_key: null
121
+ reasoning:
122
+ effort: high
123
+ summary: detailed
124
+ safety_identifier: null
125
+ service_tier: default
126
+ status: completed
127
+ store: true
128
+ temperature: 1.0
129
+ text:
130
+ format:
131
+ type: text
132
+ verbosity: medium
133
+ tool_choice: auto
134
+ tools: []
135
+ top_logprobs: 0
136
+ top_p: 1.0
137
+ truncation: disabled
138
+ usage:
139
+ input_tokens: 13
140
+ input_tokens_details:
141
+ cached_tokens: 0
142
+ output_tokens: 1918
143
+ output_tokens_details:
144
+ reasoning_tokens: 1600
145
+ total_tokens: 1931
146
+ user: null
147
+ status:
148
+ code: 200
149
+ message: OK
150
+ - request:
151
+ headers:
152
+ accept:
153
+ - application/json
154
+ accept-encoding:
155
+ - gzip, deflate
156
+ connection:
157
+ - keep-alive
158
+ content-length:
159
+ - '16670'
160
+ content-type:
161
+ - application/json
162
+ cookie:
163
+ - __cf_bm=Xfq.lsLxhVvX0wiuiO7Z3BwT3GFxsXJFsb0tzPWIKn8-1757638342-1.0.1.1-SAOgt.ibF0xN.jPLVUmSUplvJomy4TDwgKyjD5oCpnrgB8Kjuo0EJKvpBsUPdC0Oloh0th_4TehwI5DedHmPAP_IYk2o_GXbL64LyAz71As;
164
+ _cfuvid=i6r_vrXvLLkEARoHAaifu6889hMwTCWcuO_ILgHzmwc-1757638342798-0.0.1.1-604800000
165
+ host:
166
+ - api.openai.com
167
+ method: POST
168
+ parsed_body:
169
+ include:
170
+ - reasoning.encrypted_content
171
+ input:
172
+ - content: How do I cross the street?
173
+ role: user
174
+ - encrypted_content: gAAAAABow27GFJzkud-Er8q0MG9F-xM_v7F7pupd0DxJdZWzX1581Yisi-0WxLjFnytvGj3PJE3pFNtCkWw_LnTJBkXJWMCsFPZ6Ivvm9WkHViw5gxnPbel7BJWO5pLVYo2-clvai9S6IOos0Hpcjdp79TOGiuK5o2zzkVRGOjOZhjIKjpPkskj1WPBqehNOqOoBcMtDuNT1VwIugEsVNctkQYcp7cxnQGKUVcX-puuyksc1_eF_DjMQtiZyfSV2iUt3FqS7T7A13yCsDE31FZZQJcJRqyVjkLTlXyUWB89SpvZEIUdpF4tLfVmB3nGrqxOMuj5vgSTnYsrcF87dO6yhqMmn5a9KjyrfxEVoKKOHXYqsDcbg0Z1pVyHQihe8SOVxvrmtSHjxuaac-BMzUmH711euQ-fJolfkvPB5GNke42oN4qzVLoJme2lBKnQHgD46w1qMpppDB8SIQN68XuUVo-0Wf09xqdmUKoUCzCwLYIJ-fYa2h2AeIGTzuEBdJtwckVZMf5wi3TC8E16asXVBewfLbnjMdl7uhQ88nFRxvbSlMlgKW2cW1Poxi7YgunBHA-PCmSquIGLZ9WLWaZjl3yTU2omrQmq6Vnk9_5Nd3g6GGxHd_dXT90DVQ2wkZVC23e2VjROO1JcpD1fQ7R8XZR1IsGF-x1j-WQUGr13In8SCXG-zAM-12YVG-b0w9mCwPkgJuBZTruI-cmmSdyT6x420Bl63Lz6OIQtlKZqUacenDo5BA-BWohjnqRgqEpfHFXnP7Azzjz-Ikm0HL4WxuK37dolCgTMeYFSRGloVOkMoZUsD4_CY5q84lw10pJpAZuOE32f27jdpGU7UoTtCGoMO4T101JmLX9uph_LKJcn0TN06jqAmMC26DE_ZfOFMsHp4uEkc5fA9uGMb4Fpno-Xnvg_6tnsxmNUdQMUSOAswyqaimA2vdg1mf24NycWAhmtNQBG2772jsSlZbg48HKZ1Wrdnrmf4mK_orH_4neJVCflLJJfJU6djXrWzPFHoQ-xWUehhNsSQcwhFgKXRIw2kO0PoY7MnMT89ACOIWxlRy0Qec0vXwkccF-M2BiSiL9XVxqb0qw7nBeI5Tj6lE_mnn4gvKxwmvKbFLvYMbJy51evqIUpbpKm5rJV-XbmijqdNLDEHtNLN9OwEScxDcndiWsU6dCB7kC5-NkDe1G6Ppu75PyrPYFvw9nN--54UY1donbAlLejt2J4YJdSk9mrFfOaVwKhyrNKlcxMmGlX0I906CABS2v5c8DspLF5TJcWvwSL-U-uaRwQae_Ps9FoNEHUBDeih_odIsgnXBvGcpwxox4hQf-xgb2cP01GqblOe26Cd9_gtMHsLfY3-7qG12tQP0r7RTkHxGqRzcrSlPSPYntpsMk0a13qNRtTK3sh3FcgfjzIuUkpmMUXadFyuPXHg7Gorn38XpGzLEssvGyFec7PXgI1sn0uLRU1X6OaETl-qDFGa65cXJk6smkWILQNjid2zsHvzNUdytTQ2mi84SqIybFtDdc-8tc7PmcCt_NQ9vZb-bATjq5rtgMf5-9HVmzoUkftcbEwIDS-3DGdeelzymH7jkOVVTgNLQGI8O8LR370YpjbAxz8otGxCQAsIFeI6ZMTlCVjZf3bYtCOoci63ERNTs2PDlF-5cFIA9nWjP1qRkYLbZlVWxOEv7R12CWTcOJY4yV4lbnVxvihA-UOYCmVEQV9mdyM2wvxpi6IydqFBVu2AJA-1BudxDVzvo-ASs5NWsKfz4Sna5KcN6RkfadxKes8k95Iv9y4K5zg52l5Ly4EBwDvND2qvUdCHsW_WCkZQew6qFMWCrI1mWa7kSpFbGvrhqah6yFxzqBiqYpJH0EeYDXW-tZMHqIVKAJxxGUTWHUcEhMXgZDgG_-xrYOKg0qk_9nAyWrGP5T6DLaCJsTG9ohyCZiH8l-y83cn5twn57CYsjLblVReumnDC_Seop-2S4ydXbt6XmFKRPTaevS5zdt3H1RVFC-5Mfgjv8gM8xsLHpfvbovYQQ1B1DyA7GrDOUl6BgG2HK83L5y0CnV2vwV76KrDwS1OzBbu5ByFfRiQIJHFWnJoJnnE4GToonJzqotMSxlxvxMCJQFIS0A3bhFDHFZGNAdpfDk6UHmuo01MuRMP87PILoSbz44fMabaqWvlDFGsS3MhD2hhAwpfGMzePngHy_2HqplSeiqfhvpM8NsJ3XYNsaQq8ACnsw5ojiPqnjGSiQX-p3UWfYwCEx9K5iTIUa_AMfySUJd-C0mTeGvyEjpxMwkjlouDKPK6U5LOZjbmPR371UZLVT0K-UipgVLl6vRiS5p13UUw51rKNyThVO7YfSISMV25F4x1hyIyvUBUK3hMLgU2Rh1Uu-FCdq5UuN-K-jXo4KbYWRZSEpmNEI71f717HpnW_pjiFvP3O5oBrAVZmDjrlLthucHps42JSRWxZ4QaJRFXDygVlm1us1v463TV4lCqNGz7MWmQez2RbNgJUoO0dgNZLhWdGlMbqjZu47ezIUElb8TBKlha2HazOgc3E4yh6ZDR_AftAwoUf_NyGYuz7whSk1ReVovhoLGvZTYUiik6XZbrEljduxiP3XnJv88sw1G6m5IwL3t8mQ4JtP82Bnzt0XnieMMRkIFXOsRaWhs70_yISbcSoC1vlDVu1K7Xqt8JhnbrjBjRQOlm6U-go5Jspt5k7OHTpEbqRigqSIGcqddr938hSCTd9YZoshwcpuBJ6QGEp-TV2KZ2069vAmjZXRVWEtzT79ttxdVldE9n-3c3R7I0-Klj69Oz7oPvkcQd1mMrd9rvy6JBUiB6w1X-Lcd_KwOlqh-lv9OpcakSHP0eaysWH-OHw7SMahjRl8o0sZZE5GXSNpq_r-PLxq6lWjDlMWLrzIB0hspWTwMp96kKS6VLgnK_k5G--OE5pjrcQBEUDOiC_BlpP6mCuPECcIVXKs59gnTWRuFDEFfsUyXUlMIxmxpcAw-kEuJqD70p9XfbnStO3VRjAA1Fxksgrlqq6BFSG6kb5wzUOzZComgjKeo5TtOyifxQQmzi0N5lZke7HlmPLxNu-J4tPV0yfexjJEyTARDoIK_DLg4ZdQsGYhqO9apBzpeUETqlgHkRSSXwdEF5QTYjJqEWq3oWkySxGqif3ms2Tl803s0VFKjoatih7S-BWRnBBMPcQAWeJ-_UJcOnR-PXtwoLrfRz7qdMUsGBLctLUgv7G0S-9u7lrg1IQU41BpfTJ_dnAz6W3y0-9-_pvDemzpAAzTOVkIROHXC13_zeLA1GyF6n56PDqQL45-C79HhiaGqb7F3-5dKZ3iNPb9S88khUL47Bi7dGpIpRmqu6S6iQGr5rYmBMuq9u3FXVsC_Lea5ZSGzZrR0hceQ5jL8Oll0TpUMw_G9FfWiiplKz1x4jOnVckSLjCvymGOKBd46xm5iai9vyWJvwll1H_KwSL9R40DQ8V8maBMIWE9Llw4vEbbxspKX1U7z2LXie81xGUZuu933Js3joK1tIgHrmdNAU3zVS5NQ7xk2xLU738jpEQzWmTWkPRQ6vvmqDlx_g5Td65w7jTrHI77DE90BNW9Cu6VpCPpgow2PrTb1goTOe_qhprufho6jfH34tcfi7S-WuNbXf8RHf09Hz0Q44Gv1P1oRB74rjBi_6Uq3theKPNGi09OJN6GPNA68O0xnb9xMVSp3HxwoQfRnsHh8j8IcOAE32twcZKXKmpX_gXIXp14eITRjKvkytNQxz4aJsc49VhDBii4uyjz6w4r3RWaMDqxp62fRuLKNWreHVHbBoliRKdSDKwGBFRrDsQ2DZ9B2GZpS_3cUzCdhki4dyohgYTuKiCnQjVhbh_zmz2cnQF6Gu476rBXspnepMTdd1HRF5G7QkzU1m6GbU2WHHWwCVm520wF3_1MfYiaWj19DQDW7yL0zhnhaRZI9Ecizw8QjvESEAmQgTk6ETfpRhih1dkhWHnRS8XmALifSJQORl_9ilteWhfRu5Zr9A5XQ3-SBdjqyLuEVY1kHknKA3PRjqrmMNQ3K4bkf78c5QklK2yoi3-st7RTdgZFHelu5bGcLH9R-U6VFv3UaF8Ji5D4A04PA-f-9ISaCoom7uy26eXZBhi6Rhql3Ueop8aoeqpOsGOqXW5RHL-0okXyWnWyJlHLz6Q-AGp3m-o9xYiG_zQpsh7mXOt3GxSWWy9dwLNBh8dIeFS46xpDX-3JNUqm9aZJEd5CTiu1XTK-4ZxkuPj1PlsJ7JikwqDOI6BDxCvEnnzXq4s_-oZuHch7w-rKNpAicg5Dz2XeQggmkJ0XmKLILoIjy_g5C8Znm9MfyuQO35GYSuDRa4qbdP3o0a4aHYZfg3YwYEYYhEFg2qnXNOutsgv4sIObhD85_dn4AYZtG_M1d9hTcvMc60xpGj1G_4WwDab8uTrsgb8OTgKR9Dc0uV885i6kXk1FdKlVH8EvptocA1e5eMiWlR-i2CORlIHWqIG0TYKg2qMJmOYkUZ1_0pQMWhVYTT4MEa27pH5ZBwmh3LCphlB5kYbGRKW1LS5-ekdspRUEvWLEIRos-zefvCNfeoALrD5dwQWaRdJhP2ON2lqmeGefV9fsXBNBKBIZUDdjuos7JZa3Isf_kK4WIcy66uuUGwz7PGi2L4qeIgoWRzfMcCs4JnzFDJewtORQePqWcndXkATya-K_2cG2xq_RLjC8g31aEP-nGyBhxhOn75Lb3BYh1419At0y3Yue9biqA2VAKkxUQ4ZslE6sFUS7gKqn-_yZH2UcBPR2DGGPnHOIHmexMyhVeGGhvK2AUHTPsk1kHfl6VwUGzzHJvrNeyF8xdtrKQ_FzrTldU3XzjhFdNYyThGBrARYL7pKIjJnBhiBEo-Eg7008phIZIgUq-PdcgHa0nd-rvSPbWczm22sqecB0WnIpzRTJWzCIYGUjtsfQOrdP4T8oFw7vXb1pV-D0072SiVzHoa6yFTMAHB1NaECJgzFfaXmxzjOq9Yhg-uvpPHD5SQ9b-PmTigOoJyvVStUj3kNw0vQfO7ZSdkpAEvO5Jf5E_iT-bhcfnxweHS0SOAJa1QLmeK2pdyilM_l0Vo9RavTg3_WfJD0vc-384R4pV_mfgB6t9aADvPfqqEXK1zDhfnfdkFxlCZTlOLZ6nxgdlTtEzQNJ6Jd9K4BVdy-_XQ4k2WohrmUkOzIYNsjOIveUKx0i4W_CCcxoQ--O-hbN73WpTWqaeJGPnJRKkI5w7rLO_tF5ARbXvZjnPQ2Jt6jNBhNnEO9fijVMFNoF5_6FQe0_ugb8sxz-ZWWOMvBUJKCsAhbiUN4HONB_-TGNEJtmWvyLy-XKvTY0ehD6knMLWSDnsPqeX1GA7YpkIAd29uiiHwxJl9o-qOD5mG3L1UhQ1T-F8pGKErWO7lcDyInKJ60UN0NLHfbowiMlJdtjjXselBE_3QLQHp492fknX6NYhiQME-StYckk6SmcDQYOKRIAjtVmt3rxueWgyVzbw2dyxyEPRe_Rf0ZyEv_VnY8c25WGwP0xEStLardUOJKPMuq9hv1a55-DLBl4bHfq4qFENSXhivJz63j4zAVnaXAP-IUcQlMvSH3ZM-XKBUPlqGo6T6_CINC4H1hjuSKgIAQRshR5De15_R_YnijtHWXro-W7HarymIHIcrebS-cRDagaEKELGxgk7Z-8vcwFHXTMvz6b3IGT3XHqpFsv_FIm8IIV4_y5EPmH2t3kSWEjEb0yUVR_o477o-Fx-A9-m2fLKOTv3vsCl688olVigsy6PRcqkF8c3WlhqDCZjJOBb0O73qDyDXYxNHXQ-SFIkrQWb-6aXSuOoxqa3asOEjEpE61SiROtAeMvAaQazF_bgiGFIrMGdqMVTB2xV6EZ_XLFRFK4DqXA_e4xy0zXKgrxxwerjEBbJkwseqSHC41bUtZ6Obf3FTggUSoXuppYDkXJ9e_1ikLf9cuWJvSpy9slBja3EKDn04v8zVL0WNK54CAuJcQGAdUsCHFlXBfDUqsJO1e0eA89Z_lBeBAo3vkvWwI9Q25gUL6Z7wxOTcZHhF_JGyiITY-vAtaJMbvbAPtd5SFKMn5uSDGED9ZeDyf-XVp58OJAaPk9B4rZMAxdb22NqaSDBZdrsyLdkDnJvC0cBCRkoV2P9TxoGsMAlMMaKyJepBvK1pfXk9vPceHWJy98sy5C-boiHYJHspdUCf49oMoIjlAcamIMDviiWR8R29ctLrm0lVj4KJs_qgc_bpZQ8ZcE1kTQAt_CnStTDKPkKex0K9nncBFfs1cPQiYxOa2Nn9DIRrQRf34D6eWcRLdZPnl94g4Z5JBjHA3V2r9rmUbv7hLbut3SMoQa8OouOgv_rMSsB8CvYGtFB-r25dTj_BUo1FMpMHi25ILPM0kw8yjeXdsbCwfTEdDaLH50ego01_XfVV_Ce1barSDJWnIamNzGgrFhL_mE6hk7475EepGMyqm7SBSwDS35nTJ_I-eKt40-3J3XfXpmCUaRaj_RoOXHPUP0nypcE8r4lROBHEpZTWUgGC9VU0B5auABJTbnju_pkeMUzsO3SwGNJbAa55366oWzmNhiTGYcGLQNpOsudshxwNihB5k2YRbxvi3qgP-wQa-zzkx1Hp_fZUU-dzefKUO72VTQ6Yq-NQ3wWWUXQ2bdaaSHVSN_tkHqFSGKJDoZULUMdWdAhLT6NFwBMKESOWYE0hsIdpBBrgwecdxk3sHnBowew6VYUwDlV4Zip169zDrBShi1kAlPu41sIV6opLPjKbnPU-QH4yaXUYJZCjLJDGyGbk4hM0Mds2JaZWapP475De60HhHsY2CG3xhpeYwBCjcQDgDIx9Zo2eotwnJLl6LYNEjaG8mUuwnVymfJN1LLO4M32agdWEip9s3flZhXEnZRykLpit6YcJ7jnU0bRnSl3fj2Rt-qTymHENQcruLP1c9OiDz_75DhgE-3d53G2uTswTs4jOneP4EoWCf1p2VOKTxzfR4uxdt84M3MVMiTRlrtu8kJS3MGkFyncNJMxWiCZB2_hK9c-1VjzH2LAWNKISnnzwONQv7_RT_TcQtY1hIrjq4j6lIjBTrInKViCZm1cji7xJ3zHMl2YSSA0wxg9YQBVu3gqMoPEldRPd31L4AEnOLMFMxde-hNPQ0WRfluUEMo0_pvfI_afbv30ZUV5OACqCdcVFYXpJoIfQShIcOOt0zlneIB1-8--YyHe9K7VrU0dZ9xCm6rD2R4UpvjtjOMRk4V2Dn547Gtb6QB5RdNkTDVTWDCPGnW16PNt0mu2Mr_GZuPOaQ5Iah7gMZ0RQqaWhkabXlgsLht-SoTifnL0G6n_xfgzkWU5Q79qFdWXgvn7cW55LCfxmLmXsLhlAAIXnC2ZA2_HyvVkTajJU_84Ha6Xa8EC9nX8cfTXof5UO20NfEKCBc9OOGdbT9RrqNBRnHeaXfcmx8q_vqebWkKvr6uUJSAuAkWjLa6lOu2cIbVxS2dbIKQUCx_-Uj5Jv7RZrOrPHxgewivI6duygfi0hNzYteem57_aqGfXJfmL7XSaBjn1kX7Bc9mHUpQy7FODzuxtvFZtZMc0zLvxgdl6l4e6FR96VaRoxr8bbFTpt2tQVHvB5MhhzSdsRg0pdqAtwwh0IFVGaZTGeGauBHQxcNOA3bu0nzEWCeppDhIS2FmW6P1h7Wp7168nKfZ2Sj_vHavhhd_nfs_11WhQk9nRoHTfqRbNdWROtvVRo-IpliiOK_MlYCSzoIGe-6W3NHZP9zusaeRJmsVdWTreTWClHzw136xf7pFDgIMd7D20DOJYQybbh0KfSVFOqancVw8BSdlZywjh6LD3_7aM5r5qNvcSHE05kmoo3n-7kmfptAMrJdJTiUVHf5AHeqwZ4lK5aXIiNi9x4pEKggAHgsf-jUgcWXbTrLjOt6R1frMGmTiZgRi8q4YFcA5oEU1n3YlKHv2DZPmmcXzNGpus9Pg0nDS7JiVdoOEvN-IUEsPRuSCEpddinvDgZYC7E2cWpiHExkrwn3QnUDQUttFanSnYJTR4711JxKEJ7_o3rX0CW8Fli0Sm2hlohZzgFwvr3dKDnMzV5tfFL5YnmttWZVyC4XZv1UWKNSCMT8QRl6ZpBhpaNM_hfgWLxcfcQK2Oabu3gWa520GihrOPv3JjQ4NTRZly5u9l--OJ13fMFwSKLW_FUSBonSbo38MxpltIlNLZvT47r5nYsyS8yXQ2GpjALuEIeC6B0-mNitrG56IELxGWGEVtWcy7XmKm_4rmUQIsfanzVMQoEbYCLGJbXoigrd5saPIRsLpAXYRn645ZnNFM2ij_jqgW4-ATuISND7dgQTnroaZBreXkq--Drh3bn_0X2eR_kDdR-RyjqJeVehJ6fY--8QAjjFCoj21rHF64MhZNDOtHLD1H6lZK7K7bs5ISiKY__2wfxT6apxo-e81OM9gv7UKp0IO_7eG9Vn_3EtAm2o8W5GvUBLfwcKt_JjgAaHoh1MyT7EvoJeNwt1UzQKBUtEq3dnFjVELn2IOIp2nEU5jzhcOmm9GMvvBbTedeUF9uwiW1MoFwFjncPCyO0pnudJnezcGWjnj1X8-G_T3KsEcrk5c2tblLKl1x6ovSpJaKK_T6Ho_taDO7JToZsKr3ImVx8gEPa9fCCHpYx5GBa7_FJjaM1QmwGfKkKqhQ4eGWITCdKjr5tI6v5WMkDon3Tnu5WQNEJLAIZIm7w2xp0aTUPoq7lsb091bkD7X9Ep8SisN2JEXP2idpvSbdoRhU993Z-hjua0TOyKvuHG6yyLCQdew6tYY33aySN5aFhQteeFc3yNs5gbFxyFIJbb8qsyOBUVsCwQzTW5UbSvey1xCTgiCpVb12wBPuV6kZeq2DRlc0FPgbOBdtX96GJrsVZnh71AL9Op2GeUxtIwJa8gSK7KrSScOJzq8MIb7CRqT5ru-X2DV9xorw2jUU0glkybRok9zrRJOTgkrSvDkblIXNKG2SkzBJVx39LgJwjohLCShs2uoAW1tAW2wYQEjAKwKS_fmfY6CRu8idA3pnRt1wUpj-8_5yLcWnUCDI3ORXLilJaf-t1PYTTsw4BRdBggzpQdcmAwRQ9GJ7OA6hqMI-OksKAA2qidu6bF_5psx_tLEFtwJb_C_g6bcGvBaIHP9V_lumYhWDp_oTnd0LaAieeyiFv6JnyJQNPyYCh859V3AayP4dA2na2szDBgg22psKC4JVgC9KJuAFBp4iBtUuktwJDXenDfZ_q4niKvo-kJFC3GYFh9aL_NVDzZ72R4-NKUYUyf7I5KST-hw_HlqbaD-PjrW5b9gUHIYDuxJB3Z_uZQ5b5Q5YEnux8ESWa8F0JnHb8J7NQA6R_b8sCHjtpEqPlH5rEq1DWNIO7Y7wo71bTboXIV97n2-rKUQP-gZ8nSytTFlBdDsMSZDRkBGqb0dG4jC7tC9pfOdQYNzRW-lsXw-VIeOrpWNuiS_tQi7j-oFMW8knHIFPBJfiwT3ziXJznZUSgaTSXnAlADm2kGgtHW_RHS2dQ8TrQ27Tq6RgUbTEBPRq1S1wkwG3FM8OVOYctpmUlcED69LexAr88ZL_KBxEmQGgYjUSy7rreTncJUSSS9T4wwVRfQUXYUfivgs3FqoDdk8F0uoSqP2vznF_AeKRKyiLJyNiCazEfY2622neWqfI1-1oybGyXBKtyJkkiso4ovxlN3ygekB4dC_vohEQ-QZaV0Oqccl3ZNeVSWCVGK1zDZJ4Bb1i8Ekwij-VnalPlphAwdXOJfioIRyib5RXM7zF4-GQVO_cWrt8FvSH0j5mdz9RFQFl4hcURyZj-lUf6ee1ERRS3G_P6WK9mwzVL0MynbIK4MmzBfNi8y9azcWuf8prekA_0TZ2HtXEiDmXfzB8iHsQkbcssCEZJEHY-tZjM29jp0cDZjQo-9duI7qYW5QJpuXWfopP11XH6ut9WUXdMsQTgiaMHj03DGIi7xWeEKOr-e2IV_ERTsl1AeX390KLf0SlQ2PzncInNE9Uv9-qd-y9sWXx5aT06g_8izXkIGk24ILTrea0FuX13EdQYEcyVFH8hDPZUCiaEoL5jKFCbp0FMXLEhvokjpjopv_FsD1pfvZHoWExO47-izrj6SiYHr1CUz_MAzJxTGcdhznhdL7Vr0eWpO9GnaQ_uAex9yr380oCndb4CT-tvh6HOkynVRZ3fSCmYM1eVv4C9QaKJPQnfki3E1RIRJz4mhdn8DXhE_JE3ToDiUarA7CKXkm21TAzQODOIncFr22V2s-1KBYWGqcfWXUyzbcCwD91ypaft3Lhocg_V2Y18IzxL4hHvjq205oe3kMhggPr477V7EgW5sjVlKYLKxa5ythltDg-EPbwic__tCmk5B-HaChYBFGVawiU2Uk3PHjOLlOlkrxTJt0EnyHAFRYSVX7HpsIDhfPu0XUWFxsmuOEiAu_-_w3ffftMMulIWngKwgU3F1a17qE_MhJe5W8XP4W6HS0VFZF4WJ10lk9u6AqjgkkB4soOk9RV6yLjR1gJt55lttBjx1MObDJw4uS__gLO_MpAHiPyXwnBcUxiNmsM6jNkAcaztlhdluLmDEF_OC9oDPFZk8YrKQvsrULhx3f_pLACz0nM0oautzl_s9ea-dzj0P9YiKJYHOy2srI9uGNghauw2tTrZwcrQm1l8xn8KgSMEV_QdIFvzUhStL_fuPOBDev_eQoYBuc2xZ7hpQoTLrbWilvmstnxSPGJI6zMHnV5zJTWG3VzMGnQu4DZLeVWyeSeHNK7Vx27YADtxMBhg_46NFeqEpkUfDIs8w4VBqn4NsQqtfCJPCXf_tCOP2NXgKEqAScytTk5Zd4E2SmSaHYkq1j5ezk87fS9qfcwjSS6XarULRxpebIncMvEBeK6GngmUeh65qGPxsq3f79b2bk6xH0b3Gd84__5iMbOaZVL77_zLVEKrSdyzIEhxoxqs9-msDvjIvTcLk2FEW-JErhxrl2IB7WLRwYKJXw1L-mzFldlAjm2GbW1tqjD7Sv88aCJWA9-5AtHbo0sWGdSMGWbmKSgirmskR2HJLTnvJrk2mbFk-TnujLEV-YuRt9M5nqhjybOpUngRDbqVh91e3gxOfuKzka2OaZYOEc24aN7DRKE6d-t5hjX-K3D3ziDTJWAW0g0ykgzNn_IWDXHZsuMSd5nsrzWaHkZL5o4TBC3FT3IM0w0Ax_H0oYlrThTPN-9Xgomgw8bPoLy7Tdivw9JcOHGUWF5PxU2GbAMIHfnyZrolpSf7efYMhisVPv2IbRMNIWFcEyOc2n8yNWR_xJQIgQ4vn-cJrh-jFQvOflqWsIceX6m1RMnPQGg558QCdWKrEXRE5SS6Y_9d9l-qGuWhV4SzpkBrZKTmRQbgxyzXvtd2f
175
+ id: rs_68c36eafb6f881a3bd47d4f10db61dee033a1f85a7ada5bf
176
+ summary:
177
+ - text: |-
178
+ **Considering street crossing safety**
179
+
180
+ The user is asking, "How do I cross the street?" Since we have no image provided, I need to focus on general safety advice for crossing streets, as this can be a potentially dangerous activity. It's important to provide straightforward steps. While I want to avoid professional disclaimers, I'll keep things simple and mention key safety practices to ensure the user's cautious approach. My goal is to be clear and helpful without moralizing.
181
+ type: summary_text
182
+ - text: |-
183
+ **Outlining street crossing steps**
184
+
185
+ I need to provide simple steps for crossing the street while noting that local laws may vary. It's essential to check signals and look both ways before crossing, using crosswalks or zebra crossings. The "left-right-left" method applies in right-hand traffic regions and "right-left-right" in left-hand traffic ones. I'll emphasize removing earbuds, avoiding distractions, and making eye contact with drivers. It's important to ensure cars are fully stopped before crossing and to wear visible clothing at night. Also, crossing at intersections is crucial, and the "Do Not Walk" signal shouldn't be ignored!
186
+ type: summary_text
187
+ - text: |-
188
+ **Providing street crossing guidelines**
189
+
190
+ In the US, a standard "Walk" signal means it's safe to cross, while a flashing hand with a countdown means do not start but continue if you're already in the crosswalk. A solid hand signals not to cross. While I want to keep things general, it’s also good to mention signal icons. For children, crossing should be with a guardian, teaching them to "stop, look, listen, and think." I'll stress crossing at intersections and using medians as two separate crossings on wide roads. Finally, I'll remind about avoiding the front of buses and being cautious in parking lots.
191
+ type: summary_text
192
+ - text: |-
193
+ **Proposing safe crossing steps**
194
+
195
+ First, I need to find a safe place to cross, like a crosswalk or intersection, and avoid areas with curves or parked cars that block my view. I should stop at the curb and not step into the street. If there’s a signal, I’ll press the button and wait for the "Walk" or green man signal, checking for turning cars while crossing. If there’s no signal, looking left-right-left (or opposite, depending on the traffic direction) is important, waiting for a sufficient gap to cross safely.
196
+ type: summary_text
197
+ - text: "**Crafting street crossing steps**\n\nHere's a concise guide for safely crossing the street:\n\n- **Choose
198
+ a safe spot:** Use crosswalks or intersections; avoid blind spots and ensure visibility.\n- **Wait at the curb**
199
+ and check for traffic.\n- **Signals:** Press the button; wait for the \"Walk\" signal; check for turning vehicles.\n-
200
+ **No signals:** Look left-right-left (or opposite for left-hand traffic); listen for gaps; make eye contact with
201
+ drivers; ensure all lanes stop.\n- **Crossing multi-lanes:** Cross to the median; wait; then repeat.\n- **At night:**
202
+ Wear bright or reflective clothing.\n- **Avoid distractions:** Put away your phone and earbuds.\n- **For children/dogs:**
203
+ Hold hands or leashes tightly.\n \nAre you at a signalized crosswalk or not? Which country are you in?"
204
+ type: summary_text
205
+ type: reasoning
206
+ - content:
207
+ - annotations: []
208
+ text: |-
209
+ Here’s a simple, safe way to cross a street:
210
+
211
+ - Choose a safe spot: a crosswalk or intersection where you can see traffic and drivers can see you. Avoid crossing from between parked cars or on a curve.
212
+ - Stop at the curb. Put your phone away and take out earbuds.
213
+ - If there’s a pedestrian signal: press the button, wait for the “Walk”/green person. Even then, check for turning cars before stepping out. If the hand starts flashing and you haven’t started, wait for the next cycle.
214
+ - If there’s no signal: look both ways and listen. In right‑hand‑traffic countries, look left, right, left. In left‑hand‑traffic countries, look right, left, right.
215
+ - Wait for a gap large enough to cross the entire road at a normal walking pace without rushing. Make eye contact with drivers; don’t assume they’ll stop.
216
+ - Start crossing straight across, within the crosswalk if there is one. Keep scanning for traffic the whole way.
217
+ - Watch for turning vehicles and cars in each lane—one lane may stop while another doesn’t. Step out slowly from in front of any stopped vehicle to check the next lane.
218
+ - If there’s a median, treat each half of the road as a separate crossing.
219
+ - At night or in poor weather, be extra cautious and make yourself visible (light/reflective clothing).
220
+
221
+ If you tell me whether there’s a signal, how many lanes, and your country, I can tailor the steps to your situation.
222
+ type: output_text
223
+ id: msg_68c36ec63adc81a39b63da30b6a85f59033a1f85a7ada5bf
224
+ role: assistant
225
+ status: completed
226
+ type: message
227
+ - content: Considering the way to cross the street, analogously, how do I cross the river?
228
+ role: user
229
+ model: gpt-5
230
+ reasoning:
231
+ effort: high
232
+ summary: detailed
233
+ stream: false
234
+ uri: https://api.openai.com/v1/responses
235
+ response:
236
+ headers:
237
+ alt-svc:
238
+ - h3=":443"; ma=86400
239
+ connection:
240
+ - keep-alive
241
+ content-length:
242
+ - '25003'
243
+ content-type:
244
+ - application/json
245
+ openai-organization:
246
+ - pydantic-28gund
247
+ openai-processing-ms:
248
+ - '69424'
249
+ openai-project:
250
+ - proj_dKobscVY9YJxeEaDJen54e3d
251
+ openai-version:
252
+ - '2020-10-01'
253
+ strict-transport-security:
254
+ - max-age=31536000; includeSubDomains; preload
255
+ transfer-encoding:
256
+ - chunked
257
+ parsed_body:
258
+ background: false
259
+ created_at: 1757638343
260
+ error: null
261
+ id: resp_68c36ec7742c81a3b82f5b5e6ae48390033a1f85a7ada5bf
262
+ incomplete_details: null
263
+ instructions: null
264
+ max_output_tokens: null
265
+ max_tool_calls: null
266
+ metadata: {}
267
+ model: gpt-5-2025-08-07
268
+ object: response
269
+ output:
270
+ - encrypted_content: gAAAAABow28M5xCmNfG_CwK5sp_JqyR7Cmc2BVu6PfnCSc8lKMlo5dtcg1Fv8aRQnsBtpSvggWKUMVIRyy_IRlYjssYds2mrjM86EJhUJxiKckrdob4f9wi5SLUoD6ptDB_fjnaum1ubQDc1VfThU8-FmAyioDfGNJ67mssuAm63G6_fZopuyP97-9SZ7-nxJXUG2RNUL9xrNR0wPqC_qIXkIJ93s3-DXIUL2hnQQqKDrVg1hzaWhPUArKEFnCmFmyIkP5C7I6Na84UTT22euIsU1IG9WsdN-N5PFtPzlJdD-gKHs4OA5aIJo72ic8gmfXjFtXXQSTKS9knZwYn_LjBkX0VlFRQljmE-6w43d648ThqLTfses6b1X5wTh1zoLEHyLjvq2vNBx6Kq9BqLcuKhSkeyH55sjgkmYf5hja5DsU6POf3PAnScf5rwkfMYe_ML783Bh5wBWadsv2NgjQhRwxU3_ElEG0BqzaSg5yNqxUU6ku3pY6r9CR_qES7Y99L76UJWdMBqQII8UVJZVNveHrSXaUQdstdPFRawO0xAFywnChohasquTctqeYl-UVAXF5Rodl8a9EBkVT6VHBvBlBTZA8BNYBwa7Is-nZUIc6dm_QBfbi_PbHJECTraLW7pTgjuXnm9sM_2iIsIIUwJJ7db7kOCyLiC6uUGnsLZMp7fHQ8pTG107ZacIv6oZZmiqJczj4vWliOqIf8OjKUeo2C1pGNm1VCqsHl3I_ZuUl5DoietzPAi7PzfPrrNXl4WD_drcmBwzncah9a5fXUgH_t0sQhX3UsSG4DRRs4MAdvtAHd7oZGxRntXDZgdOtnRNkkTR-tY1Ws2tSOnr4aaGIRebJ2U3MDOcDMSjRafzFEuL82I90AMbBuSbiXm2AZ3Pcm6JoOXn_SbXnh6OD4lCc6a38MeqJFRLLXUnzjiMFVBhkwZZtZkhaDnkqrlQp68VPapiBsf4mYxAQQxD5usJqspK9wYsZ4KG3IIYC99-R025CMI5Z3VRmBYztx4ICjWE0wQLITTwzS1_G5ikqGzMUVhE09_2gnmGWM7PY6SdwYJdXQMzkSbR-K2fLPrhXb39yHolE3vfIC-g8QIIpYkbJ30_z1b61I3unVrn812XgyO3pw-3GJzteFMynqTed5kRDLp_TBBtNQWmgDs2IZkGAy3BVmaewerMRQU1rajjjPnbqGm2oU-oM5X5ki-72j3oawg2nu9HnW4VOF_sCtpPCR9-iJAvgOGyVlHa9ostqRwlTe8w0vAhwXtxGBSwqJGCr3SM79qf_MR0xO6lDX7SGTKJamGwOu6oZO8DHUajpSoEwXghIxl5_TOIkBTLFSCpNGsQRkRFTmhZYchUk1gwHF_bH97omyhS9vRZtLD3W7YIM69GtEEib8a2EgKmAbS3Hj74dxPTOBDWZzMv6KnI4-VZh16P4cc-cQS87J36e9YDUpb3ygzNasIUMOr_tFVnuQha2jdUDfnvv6wET8NpFGnFTkg81fOdBgbIfDGQ_KG_Y5l7IzMMDD2BjB7hB1sCJ7pf_hjPS_yWmkoXQDoCmichPyVMLwbkRXHX0Y6nWzhAwXtGIgGeR5VxQShdDYHGgvXmaKqwN4cUemRp5xoJvcASLK0oBXapswp0fah7GOAJ8TZVw7ex-Eu-AqNpIRmoeL5JAUZvenSLOFsVRec0zEaMtKzZXOhvbLhsi8drQryetinb-xyvzVY8nRASurYXPKuzR2PKVkDOnTzfJqoRn4uReOD6rdwA6avvSD8CQYS7YeI7heMCZaITrTS466JnztV9A0evwmEA_q_H9ZvEACyY9IvgsXRnOJkVs7erJ0ns77P1E5mWOySzwLezbNpoMbNcAFf70GRyrSXKBWgMDpLJRu6Vm14bm2inxEECTLkeBHRDcJNVkJdk0agi7hFNlbF-xV3ngh9XGmfrips3RvxCtS_OOTPFHeRCiG_cKctd0orbxAsPxQgRbKQjzrGOesgINq_CH7VgUA_DB7mGBkJ23PKuDuGabK_2A3m076w9UPVUUygf49o89JVKbURLYUrFOkeJhpUZqqtsvZXPSBUzt0ypckCQoxm590LnCgrUItyQDtlTiavSfISSu6LrD-dZ-yKNz00If3AMbqIJBUi7T8SeK-AtiYv7VJ7_JM2KcTAZNl40Rqvqv-534SBDgcBTtOttSenBnYp3F4b5m0IFOLOWIR-s5IL1BkafXYcYC-XBACWNpNFhTFNXylOcQgDi2PX3QPBk-mLPBp3Zgt5y67lqJUgjvkn7mYv1ig11TLNyudWa-NchU9lDqJguaAMPmDS0DmwYbKP_dm2rNLDVymDny0iU-HDkQqXWZdmX8HFSL40wYyv2fyPP6xM1TtuyxJsrN95SFan2mAkAqWWfHAjezfpZv8S5UlHomff6CdQGDZXya2ZueSGafXxwNmJk0boh820bOACBBbfhDV0wqP1M-iS1oxeZZ06CO-FcnILnMrq73HC1dGTDSB8XxTlN30DGKLqMn81oC_tfvVnqax42c81kGvoA704W4sx9VgF7O0OwZmPFlqEqDCT15DfFiz6yKAjqUIL-uTE1gnc7-FphlLp2nBpKgnlg9Q-hzd5XjOsonTgcUOiuW65UhWxrOi8l2EFrdneGHeAje-oEvXWPs3h9J9XM11dcRAZx5E_oaSVEBKH5EbzWiiQwGzdwZgAH1M8v9lrpUic7hK-vZuX1RiCID42uGwyhLcCfYHzyOm3yar6EguF-PJU-_GlMefYxIu4qNRl8G9hoRTSGiFdE1DtkbNrZxBQfp4x3wzOGmXR9k82hifTCThFsB10SyrK4sKrO-mi1JPOznU7pX2v6c81VMcvX6aLS8eK6smoCrOPhXjgZItKos8ueTYYajZ6_jX1_1s6P6-MYv3XXxaLeJQMFxpG-mPkxf2XwjXw9RuPIJDcBCKicud9VZfpx1n9AqARyGuVRc8dWegUho-DJbT7iGJSj1WLaa3PieYfX0NjK9fhk-XkxJ1Yf6iZZYgBCVJTNODCRz0nnmhEGqtvqAWBhRisZHslh99V-cx-DVWzzDItdllZnD-Wu4I4Jf0wUQJkpRMIhneZ_5WWegsl6rBSvjxthv_TyYHmpQRosSbJNXYLl7ibD0I0o-fIgfC8i7pz0X3za6R3Wguz2JId2sXuClXCRwxavvK-PdWylo1vHHlgM4Zp1MknO78oE3p268j4fCwHLXVymvgME8YR-IEtNKu8Zou8Nmb7Fb1unuM2-Ay2Cs6uMVuVw-UoBT8qJ-1x4FtpjsyLK0XI68siRtXD2e3BhcmOkG1zemSL2HfHUYUfoxRqk9gMhA7Q2DJTwwkyViB2n-20q_SaJ8go0877RQdMO3GLuVLy8qMvvxA7WgWlVTDpSPA6wgNBO-Y83a4LFP8dvE1OocCzekuLEgArToydgF1ZPPGo5we9Ck8pHg7Z4Pr7ZEb77mUtZKTl9_kkokTCPU3u3s3c6V4a1MupwLaaIWcvaOchxRBTwjSfRqFqaP_8xq9oxFPLK-fszTr2eO6WFNvwLRGZ8w7WRJFNF556It1pG5611h7O0Pwtuq-f7QyIbpFrWxZRAgJABMPYs-eemSXPaRdeSaCOxTKbxQLGWdm7H42CkNhz6a_VQB-_c2J4HUfvLnzmWOM0-pkBt407Nqj-oNoGjynLD436LTK_SucyoMGDehR1mrlJUNQyHO1O_24ZXepJyJhtkEUJAw5qiFdYWFAwNoDKmXPFS5KIvE1XovMCFa44OYCpBxbCkYXz36lVszrmdyTepU2lag4-8swaVKX0m-fdjba0Aw2hF6NhXfX-cLX__evrbeYItV3Sr80JJrIDJuisQ9htvkiyfyvbUtPTcmM00kf0TJb3w8pXl5pIXW3oCsQjAii_05L3XPdVvG5jSKwldMAYj7xeOFN4Xybk8WdKbQsaINN4AZhedV-Z1onMt0-WQXxtsSucoIkz0OAYTODU2Ul_nzi7GrCgnPJx5_x2MHahdrvoDksURSGBTp4-vQIDRtN4XVmI22yKG1ttayY4WLNNdE_JM_jEd527gY0O0uPXdOgrQUON2J27wBN8Cz3gRxujxUVAcppT3g2K4nNlie47fspcNBBJgYt7OyQJ0dZHHQWSKA_2HjfIuj1Sj3K8K7WCtaD6z1O3j6GW8_VkvSV2cLuhQaure0wNvdV6l60tupMQRKqKgjIvAZ-Smg4l7ldk_GbcgOPEalZ0C8qtejNmkMvzl-0N9C0v9oPTmYT1bVHdTO_OYi7-plGe0URW6BJzzeZWJdQ8ZBEHXwMkhM2jUp60Fpw42Zpu1neUw-zrQ5tKbEbbzPwpXRCtMfbtyS8G1z67opfuD0UAf0S0kGhEhPb2RGW5cZquxwX4CyuGfTNMmGu0L_BojxOG95IoN_to0XB2Ue-yPhGHTBjhWbk8oQtHdnHEKsReLhPm8iXLG-EJaL84lKR6Ist8EALTgxfkwmc1a_wu2MUAX8Iw-T0olEstlvO-cTlHQPepaAiZ7yFriMpbW9Rk9UWKjw1oXeuUtiZWgW7FGWqXzwY3ARx4ijVyptmTmqkd7ZUbUMxf5xHazwmNb8Qyz7lBEmt0JDo4lH_c45e8GiJuPoOJus8jF3V78e15mhLglDcsO5TXLUfRtVnnC0ejrsfDhaE4ZPqZVeZoo2JFqCBtiKQJ-oMkJNWW0rSxy1Owfc5SehcSHj888k18Gv6SHTiEP2lCiTeUBv1hhAIKWnfdalVusjd_nE8cNLZUj9rPNov6XrMcD22jnqMYG9ArmfMxZOe4WEavkmmOWPVJLUQSBZcuffIzkY39LUzW8M0zGn1Ccy1bHvNzRo1K0Q3_s4SUp8ETOmM0NI-WrVKkkhF8n9JuAchqSo_jgDy07HFet0voa1fu2hsnQcz8bVoBqsw8Xy2nSYMHbnIs_n91n53_zFnu0DpiZZtm_OvMBSV92wkI-lnuECb5bBGk_eSTYTFC3uebwolXbuwoWUrEfw3tZRdW6u7P5Fb69oqlxG17cnaAm8oKAtfFn1LFZO47wy5Clag0VHhiwHUa60Bt-PvQGYFHUVEEvHi3JBxra1WasB-oqKnMYVynCacKuQWWadWud77WwzBxPp2BLYPGRdbgSoyjW6FC1YsPC-R3JQ17p4a1WtKTgCgJMlcE1S5Bnq7_zSHXuIB3gI7gUUPAPxgUTvx9bMOBFDCS7UnIr6HZNOFQF4aB03ShIhVdd55uLwunbKltaJK8QuT2gbVL9_jgWvVS-93QOZQORQ6qiB-Kf5y856ZM17IbQn2EQIHbY1oRK_S4NxXKo3LFIAsJazsHdfPB-OoOSdzE_HI6aBaQF6Fb2XQpgt52coF7X_c0fIR8vBSqhyw8QvkTCgjwGxbHo8SoOmyup8nQ4-gL6NZioNoPA_NXBsH_OlSmCfgwpVaG08A107r09DZo319g0gyKkJu-HycegPA72HWn-ppeEMDypcnlHTJZcvfwtbw52Hnz1XbhB2NCf1eYBy3bzROSBH78jgIYCZ1XCs63L_XbKd9iwVbuwKYG15GqZvGMd6VZ8vSeeQFYJIT4lHzBwGIxuuBOnrmohI9stlfFBHUuZeekZUUJP_ash1LKPgr3Qu1KgAfUe6ePUeN6-OS1135hs-gSAIa66DkEZfG_2lKXTmikGRNjK8XLClEmz2s5Uji7PRjDbjjFKVu4J4vk3gV3pww_F5_CrP11YpLQZTQmm8hGRTz1Tm9EXZEP6ZiPLkGIZbCk76qg7QQPX9YTpiHv2ZTGiaXR-93WGPbe75j-HB8-a-Hn8Km9o-N7ozdA7Fkr5c2yvxlxu9GMIaAQLuSNJgC-9QksZxpZM2QuljNs1wp9ElayMdOKZQopuXStmFR44gKzGENmbKkrk_ukTr_E4T4N1z3v2ypue1lOuvRzr3YfG0Nlbs-lRGVKZnCCNRB9lfbVrVYkbm2TjKzA6HziWG-b3y99f7EfiKW668ZaHkl6INfj5y_RPowxU0te8-FW4bj-RrapRmLuHDLLf_VBRFaXOlgRfemNw8FISBkRXZ1Z22yPUjFtlxx7VE8WAZ78muX-Tw4MP55B6omhLEAC2PkomPHIf5rIz35pkH9lkGZBmkCMnif4DlK-GCMEcXQFkibdF4eX5m8eLKnVvZcr_ToFL5avQHhiZKuY7c7Tqqg5cSLCTbN7mlA4w6V7u3jUcSqQEwzYwQLyZ7CzcyzMMVCS6djTHVeumLqpZDk7yPysygUsKEUVaSQBfaqHmnxbGtJJeAfvc4f5CNx2cBRV409NiuI_OQuMn2I0FQIVLd5oypG4gCEt3LFuj7j7KItjksQyI5_y2A3FOGr05mzKSkWWs6e73nTlC8u-pOv1H7n4EvzPkurMaH5UP49svbuoGFgSftY3u9bEfgnkwOZdiFO7MIuOKlDIWYnDzW_d7XOWn_laDFg05fNCdiUipv9arWhId6iph1wBclrdfb_sM0gxp9r9ET8tdCoijnOLr_VVZEE3U5oQY1i4XEkIWW8LOLkACm7iVdg0-F4acm67HPbmkEZ1ewYA8OT1m8hpVggSND2q0PbAdHup2Z2VCbFLfWxhN-HaJBT3r9NzXlJ5prA6O72KadXtkNzt0vIuAjO70-4H90bCSZ6nLIyY0WBYbOA-Unz4h1j_P40LKTgtL2aa3eLdFAYnjsUBMzUdt9F0kRL6FX4A_4BIWVk3J_41adt-4yuy6oJmNpmmH4s3ND7O35TiCfp8wfaxUn0yav0crQRf036OV-A5-5oTHqzg-Nc3H5enYJM-xk1RL94f4d33phRS93Y-cZOYTG7lcSL5_3WLQAMgcEHYLYL3cX17KTfNNlhT5d76rSHe77bdRairNH3Zls9q2105P7KUFewAbZhVGoNIiYP-zBRpOqcyrO-Y0cTWSpf9vSsPXZykuffEscCSeB-kXw1nDLd3RMDxIMUGYKW4aM9OhfVrMpdduqEAR78xtQipd5J_k5CdzXf22m_QA3FzRjDdLi4ww3wTzIvxUCNZoS8gZHYbT3GlphlYlZ2q9PIg1jgvzxgbS0wLSF4auKgLZ12Yw7xbszJqDXL_mm8uPtIN5vVwb-9GOdJyyp-CAsVeXmB47YG3Lw-O34bIwhqfCVibS4_F7ZvLHAecEg8q4nEs2pqksygs2EfZnVlJV5RJV_QT0BuTcf13NAQZRTjUNGPllmfOTI3ZldtPMNmm5P3uWV9Eh3YLzInIJ7SnATwOTd6rYv5R_r6pYbfLIE0giYmsgMPmdage9xg_OrwPD7QfVuX_4zigR1EfrzDMZVarjzKxtU4QPwVHGtJ0_rmvb-56rrfgy9mk_-iUUmQ1iPIyfDzY2Y5deFG9ezBl0WMRpJz3vVR-3lorUdnyMd1oSNpdeLEhr4MHx2UCJ-6MdvhF3BAqSD3SAKkMFXnv6q1A7w-4yztOAcnsdhGlJBhefPCofU4bYpAFLWt3YUQq9IpXwo_HYP7XKNRBpw6GVdYuT5eSNnd5qJjbWYO2ztZQszGsRvlqtYM0HYjIm4XQYMAPKrdIoEkTOD2XQlda0Lc9o_muilZe31Iy35Adk6R5bsJXYDodM1hlahfJQJSmer8nLKAI5jLeUm3Dg_bDbw-V-uU2NMVqmAqwaX8FHO3iCUSwcIeGujB-d1lJj1rPyQpALyXMfvm2vjotfqCfRGnO7gxVA4xajwsHNhmm1beY7pG_-zznxOANkfx6kvrAsWaKoiy1I3G05S57ceyYc-i2OyvTTykwUe8mJ_s6iG7KZyHU7SQ528LFhVvQbnH_gf0lZTvbI822ytvLskm7ASNM5D_xbkz2mEpRGS5wdJBDIUjliaC5scMBg5Ju2vNdzSqOljjgTihq_ARWJ3Vd4FzeIqpDo-dnJcoTTfLhvhNcBbCUS_xqNs4BJhUVaprDX_mhGVafNFVqdMrAAe8Y1a7QmKMz8xakTmGMrpRH7ekeKnHD1KT0rSOh-mMAkiIGnzaqGengTDmXoLHa6IohLqKMaJ0lJNNMhaoAjt6F_PVOapKbV-nyPJrmbS1Iix5ntnwSW2jKvXxPifX_TO7sn49rsnOQSt3atShwy6YyRpOc5AIh8O6mjKXGv51Xz7QMvc1sIE5z-2gMQaeh1b0P7Z9Ly1-Yttt59frCKEN1pEjf8i11YTeXCRhZbTpFVx2vd3D-hRCoDOoJjIDTYZdVGUPeWJ3V7c6-VfNMCCMrPPbX5lOQUdQD9oSf5jbcE0R18n0wtQdL_GIjOBdk9QRgzbDFGzqM0j5_HNxVUlzsf9K1iSGZlNPEIy46hLBvgydPhWso3nQyJvAscPQZA-JKU4YePFXQg4uJsDVSLM9jlfzvC8kjNUquOsad1Q409lfOVmTpTBORLzd940rS4jcclAkwypXiRB-nA28nGIdA-JmrNDRe1L7aa50dAH2M62IHCGTlWLxUftebr10tB94Yozmpg7-Ovy35-r9MaALwb1DZ7Ma_tKF0UhFuslPE7XGC40VPchlQI_eMidFVlVvagemPkaJsLFgVsv6Owmp_Obebz5MiK9b6Qr_A9_4ccCX-26R-UhUSChO-grQ7WwSZ51v8oI-ZDSKnjPZ7TPQ-aQ6ECs60U3YZUpZCj042oR8tDDcppjK8bsF233jzDNK66S0xZZAEUOG4vHL-f3r6had_gr8Z_gBvleayVqmNZ07Q5nH4Ky0MsjRmznSuZTQ9gOHg-pKYXv8aa6-XLD3VultTocn-PSOkRBoXGvKHXlvgvQvlziLeGIfbbjSCRlXv-66l-9pgnXPIqGSOxJWG5M_QgzUzlnbbsN2XwhnM84ny2_KMYqGgBwQTX0lTS58-J5M4cfXCEY60Olk5cDvdIGk1SRvrMGW1E_eoTJxI78CjkoscqTBpzPhuyIxgMW6saAZplgUIgE91zkntttb1pEbh8ad5TnmFH7fJ4Uwa_3jOcmTfMomHyGF70JUPMdOFtfEbXHDKMVaWIIY4UKrNtPj8uI5kdDlnxSF1agJG_o8g8qox8qcgnC2Zgq__m14x4okT4_aP3oWfORJLmFJLkGZBAU6oUh33isxOwGTfKuG8xpSL6TSN-mGYVtBwJf7QaQN0KO9MS3etZR8yLtgIzExWxNwkqrMSxmo2G5Skd6FqIgUojCMIIKcE7iW8IesoWaNOY2v3WiXwCI6wQ3Bk2osMCSC6L1tWSN3NSPC5dK8wengkqCGucLNJ4XouJ32rjxyc8hEq8WEX5f6R8sKxxD6seO5cPy5qc5Pc4YopDKvUMtOfxx2BOGVR8rVIHpKjfTKhdCs4yLV23rSetmong1JZHWtKR-mln9L7hUai8kwrrblpVyungOgZEVHR88IKPxHIUUXZOW8t92zwAq4fZoyqkPizdA2dUsoylbekguvVf6KQBTuUkTKkPu3Se9qFOw-xaxnFoYIgJm3ZSv7tJO9PZmqOFKU4YUQOZPlG3J14PGCMcj7EBbQgeMt6atOL0WJ-Fh2KwMltQvUBBrxMuw8e6otkMj1BJGPPkyz8K2MGdU5YKw9YpOMhKW5CQ5Et2VqUFFZ4-M7YAMyZ9XlH_KGIlRAdbNDqadCT3NCCSVr-EQv3c_TDt0WtcbdxAdk7zlrDL6seYog3j-FmxzM2fDFrQufh8m-ejh4uoNFIgqbFaCvjF4iahDrMbhWoWlJRp1CXN8BO7-OIe1hbNfb5ZWDMYeb7rp5o0PqEHDcK6nK1UY0rIjZBa3mDkRMO4UbJ21u3zCmLG7a08svnLqOey4c5wbH2xrPxm0eKHLrEj7cjgA-sWAHXdTI7HAghh4NDBjo05NSwIpE0A6LWeyL_0HKGTbrs4Wcv6PlDxUvF1eaUevDq1-WTASrx_14SPjhwnLaOMgkjbUDgIFeS3pGgpjpiGWy5eGFmnqALaDd79RLUmtU-5OmfVHb4M7FUeAQT7ImRGMis5ICj4JNOHCfVkXO4BIOws26frGazUiOr-hkQhv0o5EHHPVQSQQYK89vwglqJ1CcQtfRJEIB50Kr1kg2hTu_iZ4d_yIbvhvXGYYyInxIAjunRQQ5gVNKmOPiXid0nGJJh5pyG1ulEApnNZk8qmrA_OSOaHo-eiytoQ7EBJEznJesweJDt94Wa3t-mw0epDPhFi0_bZUm_SrqEG3CXSMqlNrHdOVlim0ww-hbGQNlmniNdXbqXqlDnGiIwqT7PTaUS97nfvi4GF--PqP7HqT7oFCwBvH5GuTNzUWb9GOj_zjllYJegSsrbQOyw0jw0XwMxzoX2UTjRbybPIhZHWCtBxQ2YbAjgs4zBVuW0p2r_lteMHUlTVo-XUHGHYYycZeYv8JZOYBE4aLMrTGMawnTJ3oJVs2A_EhQfFhnLZ8YE8M-apXEsyxO5HJAoHMVL1XRaenf15j8foHg8POUFbDwQ0nww1W7DQucPNkMgcaFxdaJAg8PUW0-o_azF4mZ1nXgqDqOUlKzr58p13tcOhepwtRpuT2KU6JGVeXBbOoFKQnqHuSwYiwHDkuRzAqS4BRn41D03xuP03lkzZllsR3FUVxVLb6C0ZYQezGcsEJ1e5WS04disL1CLPGAvujCmjZ4cda5_Cg1e6PY3xWX6C10bmzafcESNTg3wTggboOsw74KhCs4KZYraRbje5Y9IZj_knTwv-L6-xAf1Uekayw3xNOKkh0xXLqmv8yblO8Fb6jQQMhoHrJYsALL8p2mvPRoivbCsLXAdYpzRm1vbLssDxb7rVhDCcj4xnV7gVIE1FfNc3NPD8BLtVw0dxnt6mfe9IMQ4jEA0YITAkvgwMzKIs8-C9pFwuqpzcPgav85tskyT_gtLv7ECnFr3dHcSPXFJ8zUj8ZgCgdchq5GB5TesKnbHXXp-UBzmj9b-IXvUBmVshFvz0jIK4uDdaYqCuw8EPlUJm4EPV-2H-aNzPS1h10IVhrkVzOURd7k6GePkTFnbaAKa0aMpHRrh8jeBK8XpOj2CmTbR4UZ6VCONwveB0YKZGZNqxP8MAWZ52_EPlfpRTnr6zeViNQPexIwL9gq8SzH6bq7RdZASVBtWGj3PxCEFy0nxCJgWkVCotUl5lFYsqwybjCnZZ6OBjMvnZgOj9D7bDMGUK73PJkWfN1U5fKOEX0grfa3BpcRUiIarKsWSnU4AvoYRm6y08PIm1v5G6QB11wXQGVxn6uLlmF-d_J_s1ho1FUWmlRLsoLzN7nbXb6zPuwhreo51nCLfu0L0O9sIoGuTSLAfiVNI7M5itJBCKt8UXyBpwzyFRhm35w2SC_3XCXiKWHqafHBENImst68i2Wbh3XIAL7XbFKiJdy0PGXEa36HqpIx4QF08G5f1fNcItaMde8hbvETHiazT1WJI6hiEuVhb9N9oR3yRsuPxcjNGAmye5aRvZK_c57m_rfezCORBGKVk0An5dHUKLOhr7Mnu6khyJwAWaTj_ZfoWe0PEwAwPlStrGNe7jL1ACHwhwC8a6QtYe2GEqZrUMmGsFknvK3n6RkRnBkYRRUuv13K4BCtxO_zM0Hfc-WUesgjIpWqvIuP6_TohovykAyDzfKfI6vEUqD2MM_mdmwQOYygYtub7Eb0qLD9ZVAlLSeKGnhj7L4MSnGgXghwXcF08aTr8cvC7xf-zJsNu5Lb8XApD0NiOfQeiCK5BU3YLIfvRrH1Y8OrwJiU0eYvn1A8ViWgHpH7kFH9DccK4gSNjlsQQBrspqVUI229eoxUV1bxVQ0wZzwkXUCbzvWiEmTi2urQbniXmAl2hWbpV64a9PrAKNKooGvJ7lE9KuugXBE8pU-XF2rVt1ktzpducAV6f8g_9nwDYAG2IUZ6LB0pdJU4m5TZcQh_KfbaHoeC2qPqv5efTDNKU6P84jgXHNeLWWgMKti3_AjCEGiFLJH5jRK1nGn7X-C6ujDpEor4-sPwUkpW741-Zs1wgprh7u1PgPs8BQdWWUiYq_ntK_BO0JfF8rp5-sECLJDmb5Bw5q1yc51xFBEi6gTh-a9rYTsm-xYw2zptQQBJ2tv-lpl6U7BBV6nP1JRxWS6x1U4pH4jydP7rscccleWRx48Tg50wf7nqQoz9va7xX11e8ZdtWy4fg9g6lA_ZRXicWVrSgTQ8g9k6br73pZ1Gimr0uzov3PyU2VD_7HuB6b4lphtd3PnZBhJUSAKuUgRnxq6nZu4D1tBt9dSGUKkwr3U6E8vfpO4PGIjMHvxq6tBDrLdImFYXRR4qJDIMdP4UG3C177Ip9mfqpsbLJ8qeQQBXif3Hix5TZVR-jM6Num3A4Wn0IQzuTM5BJW3Y1OY0RcAK9HmDV9NG3ieSRsgtmqgwsCcyi087TvsyssNA9cWfE4yFvEzDi40IjchIONRqSh2iGkdH-MhwNmUo8xNvE1LiWvXuuVJMeQjttmxx3SNaYHaDXmS7u5QqAmhaBR8hIW2AainbnS9XQmBdLYWH_XDsyMLxBFkyYxfrgFOX3uZEcuEZvj6oSnJ31Vvs-m-swWYDskDBS3b9hyleXfn5uOXYASVaXSTacgM5A00putMKvK1U2kC3e-If1warNMMlK3RzNLMEhUVDJaQfVsoOZHoO6MyqysuDucpWzY8FL0I39oLg9zE9dFLAy4VCqvzT3aODjhFbX2S74Wy05YvnDuGfBQPDhB3xKbFVGTd4mbki2-7CBrykFGLpl4PxL3IJk6kS3s7fWFw-aSqvVyKJJQ3E4UveENSqZ3zqILoCWdBlXdK0I8JDE84M_ilBcrSL-upLBwuf0mu0r50IMKZBVFcrtGZ-7FHOA_GXK84mVJshtnkeCwFCC0kxre0lohAx9_tMB6XtFsoiUr5YNw7jO9zcMUSsqtgpxDxCN6eVttr6st7zrSdZFeB75jOlG7eXH3XjTbKtzrwJokhT0dGbMqV34XUD5-6Vgig_BOMPaXkGs7l8ptJQ85Mqeq5j6Tfgo6Mf_zzJi202_apOVTEGb0C7VOmQGarSO3LhrEK1F0K9kxIGDFE_TaSoW4oqW4Qjqkpw0bvq6mA2tAFNOPG52Dmp1ozlLRuAhfe-OfxJgGFZhzjfI5r5zpag9gmgNR37_Zo8Eh91iM7lrKoFTTZ-iZGKrCbKKfPJ61JfYVTyzv8E8rfBeCaDyfafLlj8mdm0ZlS4xzedJ1CB6SN09RKj3vCNHJHpFE0Xp2JAcz9FGrDDxLXdpTNTmkR7Nj8saw3zStaayeQWgnekJ2dmzeKSfTJnwzudBZXfqnWodSGnFlTra3C5SXASN-wWSqp0gdNtU-uKoVxDh3zz8yh1QnAkluav-VXTovhtjHauddt4sWXUwgfxYsdp2Qj_Nevp-D1t0ee61d0G3AD6Q16Ac5-NMyafXnTFwQWtu7-0LdO9LTWW9cbDI9rxC98l3bn5uY85Je9HhKb74npQ-t5PlksS5vo1ycZhjESUENyFLDVcjP8U24oxi-o2EFNHpH1Y5HlwxWbvhKyMfiStfOEqruFdmDuNewNOREp1XGvOcpWwutI-wlOd2Yrqpt4gNG_SUqLsoXrmYWbz_FLRtzQ8HIv-HYEcBaTArmkgXvMdzKnwaEdKBAl2KJ97HORdsnEwbmR8tAoPcRTJb91kCbLmdA9GiFxSBCcrmPwJR83VYIGTDmeh0x4uRAueHmK8jXTfl3FLHSZzstXqAFJ1mFgdIsB8jG8t7D_mrde-EUyRG7v02O2XNm5CdQI9dU4JRt2yN91FK4xMByGCy2RPEYKuNDW34H65ke83O0iDU2NJety49IC51lEnmI4qdxVXDRnRLDQozzkmj5LAfs_M_DCg1abVsIbIpGuV-CYVznBAiM6-cSl5ano5f3e0sOLyfuBQJsDdRKAIKdU_JuP9gi2XOQr6abZ0uxL-QYUe9Kcw-xSZt72gMvS1egBuSIkp9xA3-9A8hejbu6agGgARxypH1z-HALO575-3_YUmmcKIteKWNNBxJTKE2P31pE5HLPEq8NvlySMHJydBZzKS6d6CzUIXdoGJCK_RADADqqY9dx0_8UG9jxriCjCA9Gf22ICRvaxm_ciGD7l7OCvdGJ9KI_auof4NHBKfR6GXoPqtcYJyTtLcRWV9zlAIAs7bKzovx-LS1yeO2NT10lyeY78L2aDnjGE1QJKtDyqHqk0EEzl7SXqMgZi9632ob_uU9lIm8rXGno7VK54sL_iNT0BmmYfh0_BH4kmw_1CsednMoxOchgTvaT6gj6Bz5pTdaBWbK1PyeysNva9KSzYIdg51_-3VHeTTiobjcBTL2cxc0MfOQjqf-wgujupw-dv0Rdolo3T6mcOW49Q2R79vYkGGJgPz9DWXK6NuzaXXh3JvYuFYbHJoTjREZh28CHZQeaHYJzRnLxcZo_JEXbFP7g_ZCuVwIYyAZLY8tszModoU9ahg698ro_HzS-jaxdTCN4BPHdN52xmFCoU9Lg1mE72X3JArDLSZSOjXnHDDz7ctSIe34nkE5pCe60m5wSKlM8lTJ279xncQI6OT83c4e-dOXbvKB-47ypbtNLodZ-UCvfg91U2TBEpAIyemYRDfePqSJMwSK-AVyrwCvzWWZ-V9CpALfjqrdkegQEQQ4e0-kLc4clfJCNGqcaVVAuTo5_iahFqKos_5pxad9FYU_QO71t0XivZempxOP_mFOECIXZxBtXx55JEf8vlCk1LBQ0Dki9NZVT7lfAQOLXKjS31r4ZD21s5-yoHKkVOVN_nr12WTL2oW65SMl9BEDmeHjvPZb5Eox2TTdovNjwOEIu7EFFR1aqZxOcu__PPlfdByIpaCwamqyeMUEtXj3sUhDs6hATSJ3-0HPHuFDhfr_hv27QswBytYSNz2hNow2jnV_cLTlpxYBEsB9T_9Wo-XlxDHduwN73MNzr30srjkwYVQ0c3RsWqKyPKbAn2UoHcTxlV3y8G_ys9fwasXiXSZoPMX0DFt242ANQCmnmFSpDlAEXsR6xfEEj47lbWs-uMYElVwEaGfiv9kOW5b3mE6rSj-Ck8npRGMAyOmAvDggcnFNZuliSsV1Qp1m5w2k-HFf5oFEOSV9mb1nBUBIUZNBhKGG4PBbGAh6gCw317HKU7IYil_hKJKSbv1ItzjbP0zqurVv8vw515n57jj6YrCtqWdioaz-SJHkzs2UFW0VQEMCzfj1oBuS00Nw0C-gNByJ9jQq9S80WD4U4IDSzmiszxtLWddavyP7pZFegClNuD5hSWsBgVwHZva-HZVtAFvNivBh2z2tbWpkwE4NAAsMvyKalGigPtJj0o76NcLlx6QoDKQvpL3YsdVMwp1v07aO-JNANuO3So7L12LesiXjOL2mfx9pSji5UnYXe2RTmqtkG34Eg0XF3zCyS-KBzD-2aDeXH3c0tfn8pFbiIbohDmlg4zpbN-BMxKIckMvW6qdikb4KkXbAyfl-aiSiQXMW3eewYZwTUEVOATqL5Dme6VpPKU-wfQaVuu6U3SKTzLsGVKaOubRYf4f_FdxV1V5spMiQHQiM_PvKNwND6EhboK8_--Kk3mE5G3g56z-tX0v6t-plJWX1IAr8e8FiYY9-l2QEtwptNDgwJukfJtkJqKFU1ssY2Nw4eDDAGyZUOyNngGrDBBM6wiAVx8mK-0ILSt20I9s8fLDi6sik5q8iodOA6UWamVQ6ayxO7jGtjqk0UT2do9G4eP8ydTBCHsmXp1nm7Ktw8aBJBDTUzCnPj5mw9xieA2UgJKU47OAJRJpF3WpWz1ME2S7CICckAk-h3H8qn4m1W7vPPHFtNs1pDDYm1zB0W4CglLQ96jwEpyzK9qDIIKFDO7e6wcdzHT9AiO5xzLjrd69Z4YUK6LYGynCZRzSy0GNy6BJvvCbgDdJj3Dp9OwiMw2lCD1f1N7mlAsoLaY26ed-ykgVlg_CRf1f4K-5ifxgtlW-RQefvauw1vPuR3_P9Q-8kRBDeJu56eI-NoQfXRPd28usWWtxFw7ySasJkbkyuvcseBYPL94IWcBmacIXv3YIErkQLY_jG8u6un8YnE9Cb9iKfqR9V4C2UCFKJ2zWHEG9t17XfhPeCpjbhtXczNdDAQ_RebsFi59hwp04X-4GWGscluWgIgzncn5QCWL95vrbsDQOiclyRwNYo7z3DDjOZbdvYAJgeF7AV5hav7mtjwEBqXOgXcl9aiKhfUN1ui6W7BEop2BkR7tjU2U0Mqcy0gwwWOmOTeyeBK__M2XcJvyUjSr7CslhVkZxFznvQeVMdAxPyGawY8XX4eoavKW53pJwfvUWmcfwoVbxnJdIDpZrIZU9ltnTYBZ7hcK548U5qK-JnOyLms0Nl_wVKzmfrTdpyWWSsrF2Nwod2JGuuqB1zlaexh2A7mpmrv6nIsQfmTK_X2ATlEwHiakVnHURthEKEeVe5R0_9xCm4nOC_mKtOXthoscyi-C7tXSZQryFhnHMNI8Gjq7TkSDbZaoVviTVBgwl9NsPUzx8F-R2puSglqWI1nvXumlNsvRDfmpBByqqbeXMpp_kD6rkU3Fi5_Tixh1DAYhimoT5eluZQcFo4ZPcHsKJQLz2dkx7o0-_l_5eOSLCCQF_LPUi7L37LOttZz1cFo6auvjsOguwMGZOAc4IIAnzy5PlaFc8SuYTNAUb_bTvZsC2w-5MrYM0wXC79aBQiKZp0m8Rd3XIli8MANiVdiAqu3pOCQR6C0D2E7NJFKo8tb-LEnm6zVAkJJuCXvZqL7aaAkn7XOK1Hb9Sd5vii5tA-VKDaqAofuLzXlkjNX7GfiO3JlRoQM0W5-A3xFUD9nDKzGNyU3CSjmIoYicZLC0pnxH9Jw24aq4LqLXd4539uNrPznbdvmFbukya8ec2eBH6mdJzWt859japXJFV2VthnN6uceb4ij4uBhVP3TbO03Z1GknhZk1SZLIvHePu3KG8wZhsyafK5O2YFcSgPurVmaxpkEzcgi9ijMcTxQArCZhMPJFH_Uwcj1e3v4lh8YeNOCC9xRNA2SQeATLAL4hwusN4BRgggq0PNHXs4AmQR6WzGfi-FCk5wr23cJ2jsM_rzurqVoXJN6wxiY1DbEPM8sosBIbVy78tyhbmcLrGvLvLACzCqj9vQp1cJtSOAJqp79rdF5YYDaVLJau754b90DB9562CyDQSReIbDu3nrOgfysbwEcujqtDd8EWg6L7YQoFHG8ynBAbwLKfWrfhYDB84CsuxaJrLFm9YmGh8NavV-4wgfTb6UkouWvLoVTYC3yvJFP3sXjWKpUFHB2IjDWapSpdzlkiQ8PiKVdY8CRihA--EN3RzDztsh-JiJwB-bgOhFm7_ID_pIhk2FoXxcuEBWbzJz_WBaMj4HY0v6xPOKc3lDjDi9yu4a7UMSkAtnM20DMBS8QkQ5j4ml8TrqRdeaj5ofebSDAIimnOZQqi3i1XN3LvDRAXDRAmIsbgwhAUM16SLDdcoNkw==
271
+ id: rs_68c36ec8ae5881a3b5e89a47b3ebe438033a1f85a7ada5bf
272
+ summary:
273
+ - text: |-
274
+ **Considering river crossing advice**
275
+
276
+ I need to respond to the user's request about crossing the river, since they previously asked how to cross the street safely. This request is a bit ambiguous because crossing a river can involve several methods—like using a bridge, fording, swimming, or taking a boat. Each method comes with its own hazards, such as currents or hypothermia. I’ll ask clarifying questions and provide general safety tips while being cautious about potential risks.
277
+ type: summary_text
278
+ - text: |-
279
+ **Providing river crossing guidance**
280
+
281
+ We need to offer general safety advice for crossing the river, though I can't rely on any images since there aren’t any. I'll ask important clarifying questions about width, depth, current, and temperature, among others. It’s vital to avoid suggesting specialized techniques while promoting common-sense advice. I should present it similarly to crossing the street: find a safe spot, assess conditions, and move carefully. If possible, suggest using a bridge and remind the user to stay cautious.
282
+ type: summary_text
283
+ - text: |-
284
+ **Assessing river crossing advice**
285
+
286
+ I need to evaluate important factors when crossing a river, like depth, current, and potential debris. Looking for entry and exit points is essential, as well as keeping equipment secure and using a stick for support. While suggesting things like facing upstream and shuffling might be common sense, they can come off as a bit technical. My focus should be on general outdoor advice and analogies while avoiding specialized techniques that could confuse the user.
287
+ type: summary_text
288
+ - text: |-
289
+ **Structuring river crossing guidance**
290
+
291
+ I think I can structure the advice for crossing a river by using an analogy to street crossing. I’d suggest finding a safe spot, stopping to look for any signals, and then checking both ways—except here, I’d replace signals with observing the water upstream and downstream. Using mid-river areas as resting spots is a good idea too. I need to keep formatting light, opting for bullet points, and ask clarifying questions so I can tailor my response further.
292
+ type: summary_text
293
+ - text: |-
294
+ **Delivering river crossing safety tips**
295
+
296
+ When advising on river crossing, I need to emphasize using bridges or boats as safer alternatives and treat this activity as potentially hazardous. I’ll suggest checking the water's depth and current, and avoiding risky crossings if uncertain. I'll structure my tips in a straightforward way, encouraging users to secure their gear and look upstream and downstream for hazards. Also, I should include basic safety precautions and remind users to never cross above the knee in swift water, and to avoid serious currents.
297
+ type: summary_text
298
+ - text: "**Crafting river crossing advice**\n\nThis is a great question! I’ll use the street crossing analogy to help
299
+ explain river crossing. Here’s how it could go:\n\n- Use a bridge or ferry as a designated crossing; avoid risky
300
+ “jaywalking” by wading unless safe.\n- Stop at the bank to secure your gear and consider conditions.\n- Look and
301
+ listen; evaluate flow, depth, width, and hazards.\n- Wait for safe conditions—avoid crossing during rain.\n- Cross
302
+ carefully and directly at the widest shallow section, using a stick for support.\n- Keep scanning for hazards
303
+ and be ready to turn back.\n- If absolutely necessary to float, lie on your back with feet up. \n- At night or
304
+ in bad weather, avoid crossing altogether. \n\nI’ll ask clarifying questions about their situation, like whether
305
+ they’re hiking or near town, so I can provide more tailored guidance."
306
+ type: summary_text
307
+ type: reasoning
308
+ - content:
309
+ - annotations: []
310
+ logprobs: []
311
+ text: |-
312
+ Great question. Using the “crossing a street” mindset, here’s the river version:
313
+
314
+ - Choose a safe crossing place (the crosswalk): use a bridge, ferry, or signed ford whenever possible. Avoid “jaywalking the river” by wading or swimming unless it’s clearly safe.
315
+ - Stop at the bank: put distractions away, secure loose gear, and plan your exact entry and exit points you can reach easily.
316
+ - Look and listen both ways: assess current speed, depth, width, water temperature, and hazards (holes, rapids, debris, dams, waterfalls). If it’s recently rained or snow is melting, expect higher, faster water.
317
+ - Wait for safe conditions (your “green light”): don’t cross if fast water is above your knees or pushes you off balance at ankle/shin depth. Mornings after dry nights can be lower; after storms, wait it out.
318
+ - Pick the safest line (cross straight, not diagonally like cutting lanes): choose a wide, shallow, calm section with a firm bottom. Braided shallows are better than a single deep chute. Avoid crossing above rapids, dams, or falls.
319
+ - As you cross (keep scanning like watching traffic):
320
+ - Keep footwear on for traction; loosen/undo backpack straps so you can ditch it if you fall.
321
+ - Use a stick/trekking pole for a third point of contact.
322
+ - Face slightly upstream and shuffle small steps; don’t hop or lift your feet high.
323
+ - If there’s a gravel bar/island, treat it like a median—rest, then do the next channel.
324
+ - If anything feels sketchy, turn back before you’re committed.
325
+ - If you’re knocked off your feet: ditch the pack, float on your back with feet up pointing downstream, steer to calmer water/shore, then exit when safe.
326
+ - Night, fog, ice-cold water, or going solo all raise the risk—prefer a bridge or wait.
327
+
328
+ I might be misjudging your situation without details. Tell me where you’re crossing (hike vs city), approximate width/depth/current, whether you’re alone, and what gear you have, and I can tailor this. If there’s no truly safe option, don’t cross—reroute.
329
+ type: output_text
330
+ id: msg_68c36f0437e881a38fdf86f8d1db74f2033a1f85a7ada5bf
331
+ role: assistant
332
+ status: completed
333
+ type: message
334
+ parallel_tool_calls: true
335
+ previous_response_id: null
336
+ prompt_cache_key: null
337
+ reasoning:
338
+ effort: high
339
+ summary: detailed
340
+ safety_identifier: null
341
+ service_tier: default
342
+ status: completed
343
+ store: true
344
+ temperature: 1.0
345
+ text:
346
+ format:
347
+ type: text
348
+ verbosity: medium
349
+ tool_choice: auto
350
+ tools: []
351
+ top_logprobs: 0
352
+ top_p: 1.0
353
+ truncation: disabled
354
+ usage:
355
+ input_tokens: 353
356
+ input_tokens_details:
357
+ cached_tokens: 0
358
+ output_tokens: 3097
359
+ output_tokens_details:
360
+ reasoning_tokens: 2624
361
+ total_tokens: 3450
362
+ user: null
363
+ status:
364
+ code: 200
365
+ message: OK
366
+ version: 1