openai-agents 0.2.2__tar.gz → 0.2.3__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.

Potentially problematic release.


This version of openai-agents might be problematic. Click here for more details.

Files changed (445) hide show
  1. {openai_agents-0.2.2 → openai_agents-0.2.3}/PKG-INFO +114 -111
  2. {openai_agents-0.2.2 → openai_agents-0.2.3}/README.md +113 -110
  3. openai_agents-0.2.3/docs/ja/agents.md +152 -0
  4. openai_agents-0.2.3/docs/ja/config.md +98 -0
  5. openai_agents-0.2.3/docs/ja/context.md +82 -0
  6. openai_agents-0.2.3/docs/ja/examples.md +48 -0
  7. {openai_agents-0.2.2 → openai_agents-0.2.3}/docs/ja/guardrails.md +15 -15
  8. openai_agents-0.2.3/docs/ja/handoffs.md +117 -0
  9. openai_agents-0.2.3/docs/ja/index.md +58 -0
  10. openai_agents-0.2.3/docs/ja/mcp.md +191 -0
  11. openai_agents-0.2.3/docs/ja/models/index.md +151 -0
  12. {openai_agents-0.2.2 → openai_agents-0.2.3}/docs/ja/models/litellm.md +12 -12
  13. openai_agents-0.2.3/docs/ja/multi_agent.md +41 -0
  14. {openai_agents-0.2.2 → openai_agents-0.2.3}/docs/ja/quickstart.md +36 -26
  15. openai_agents-0.2.3/docs/ja/realtime/guide.md +158 -0
  16. openai_agents-0.2.3/docs/ja/realtime/quickstart.md +179 -0
  17. openai_agents-0.2.3/docs/ja/release.md +32 -0
  18. openai_agents-0.2.3/docs/ja/repl.md +21 -0
  19. openai_agents-0.2.3/docs/ja/results.md +56 -0
  20. openai_agents-0.2.3/docs/ja/running_agents.md +135 -0
  21. openai_agents-0.2.3/docs/ja/sessions.md +315 -0
  22. {openai_agents-0.2.2 → openai_agents-0.2.3}/docs/ja/streaming.md +7 -7
  23. openai_agents-0.2.3/docs/ja/tools.md +326 -0
  24. openai_agents-0.2.3/docs/ja/tracing.md +123 -0
  25. openai_agents-0.2.3/docs/ja/visualization.md +88 -0
  26. openai_agents-0.2.3/docs/ja/voice/pipeline.md +87 -0
  27. {openai_agents-0.2.2 → openai_agents-0.2.3}/docs/ja/voice/quickstart.md +9 -9
  28. openai_agents-0.2.3/docs/ja/voice/tracing.md +18 -0
  29. {openai_agents-0.2.2 → openai_agents-0.2.3}/docs/quickstart.md +15 -5
  30. {openai_agents-0.2.2 → openai_agents-0.2.3}/docs/realtime/guide.md +11 -0
  31. {openai_agents-0.2.2 → openai_agents-0.2.3}/docs/running_agents.md +3 -2
  32. {openai_agents-0.2.2 → openai_agents-0.2.3}/examples/tools/image_generator.py +1 -1
  33. {openai_agents-0.2.2 → openai_agents-0.2.3}/pyproject.toml +1 -1
  34. {openai_agents-0.2.2 → openai_agents-0.2.3}/src/agents/guardrail.py +5 -1
  35. {openai_agents-0.2.2 → openai_agents-0.2.3}/src/agents/items.py +2 -1
  36. {openai_agents-0.2.2 → openai_agents-0.2.3}/src/agents/model_settings.py +2 -1
  37. {openai_agents-0.2.2 → openai_agents-0.2.3}/src/agents/models/chatcmpl_stream_handler.py +3 -3
  38. {openai_agents-0.2.2 → openai_agents-0.2.3}/src/agents/realtime/openai_realtime.py +6 -1
  39. {openai_agents-0.2.2 → openai_agents-0.2.3}/src/agents/realtime/session.py +17 -7
  40. {openai_agents-0.2.2 → openai_agents-0.2.3}/src/agents/tool.py +5 -0
  41. {openai_agents-0.2.2 → openai_agents-0.2.3}/src/agents/usage.py +2 -1
  42. {openai_agents-0.2.2 → openai_agents-0.2.3}/tests/realtime/test_session.py +176 -10
  43. {openai_agents-0.2.2 → openai_agents-0.2.3}/tests/realtime/test_tracing.py +3 -1
  44. {openai_agents-0.2.2 → openai_agents-0.2.3}/uv.lock +1 -1
  45. openai_agents-0.2.2/docs/ja/agents.md +0 -151
  46. openai_agents-0.2.2/docs/ja/config.md +0 -98
  47. openai_agents-0.2.2/docs/ja/context.md +0 -81
  48. openai_agents-0.2.2/docs/ja/examples.md +0 -45
  49. openai_agents-0.2.2/docs/ja/handoffs.md +0 -117
  50. openai_agents-0.2.2/docs/ja/index.md +0 -56
  51. openai_agents-0.2.2/docs/ja/mcp.md +0 -72
  52. openai_agents-0.2.2/docs/ja/models/index.md +0 -155
  53. openai_agents-0.2.2/docs/ja/multi_agent.md +0 -41
  54. openai_agents-0.2.2/docs/ja/repl.md +0 -22
  55. openai_agents-0.2.2/docs/ja/results.md +0 -56
  56. openai_agents-0.2.2/docs/ja/running_agents.md +0 -99
  57. openai_agents-0.2.2/docs/ja/tools.md +0 -299
  58. openai_agents-0.2.2/docs/ja/tracing.md +0 -123
  59. openai_agents-0.2.2/docs/ja/visualization.md +0 -87
  60. openai_agents-0.2.2/docs/ja/voice/pipeline.md +0 -81
  61. openai_agents-0.2.2/docs/ja/voice/tracing.md +0 -18
  62. {openai_agents-0.2.2 → openai_agents-0.2.3}/.github/ISSUE_TEMPLATE/bug_report.md +0 -0
  63. {openai_agents-0.2.2 → openai_agents-0.2.3}/.github/ISSUE_TEMPLATE/feature_request.md +0 -0
  64. {openai_agents-0.2.2 → openai_agents-0.2.3}/.github/ISSUE_TEMPLATE/model_provider.md +0 -0
  65. {openai_agents-0.2.2 → openai_agents-0.2.3}/.github/ISSUE_TEMPLATE/question.md +0 -0
  66. {openai_agents-0.2.2 → openai_agents-0.2.3}/.github/PULL_REQUEST_TEMPLATE/pull_request_template.md +0 -0
  67. {openai_agents-0.2.2 → openai_agents-0.2.3}/.github/workflows/docs.yml +0 -0
  68. {openai_agents-0.2.2 → openai_agents-0.2.3}/.github/workflows/issues.yml +0 -0
  69. {openai_agents-0.2.2 → openai_agents-0.2.3}/.github/workflows/publish.yml +0 -0
  70. {openai_agents-0.2.2 → openai_agents-0.2.3}/.github/workflows/tests.yml +0 -0
  71. {openai_agents-0.2.2 → openai_agents-0.2.3}/.github/workflows/update-docs.yml +0 -0
  72. {openai_agents-0.2.2 → openai_agents-0.2.3}/.gitignore +0 -0
  73. {openai_agents-0.2.2 → openai_agents-0.2.3}/.prettierrc +0 -0
  74. {openai_agents-0.2.2 → openai_agents-0.2.3}/.vscode/launch.json +0 -0
  75. {openai_agents-0.2.2 → openai_agents-0.2.3}/.vscode/settings.json +0 -0
  76. {openai_agents-0.2.2 → openai_agents-0.2.3}/AGENTS.md +0 -0
  77. {openai_agents-0.2.2 → openai_agents-0.2.3}/CLAUDE.md +0 -0
  78. {openai_agents-0.2.2 → openai_agents-0.2.3}/LICENSE +0 -0
  79. {openai_agents-0.2.2 → openai_agents-0.2.3}/Makefile +0 -0
  80. {openai_agents-0.2.2 → openai_agents-0.2.3}/docs/agents.md +0 -0
  81. {openai_agents-0.2.2 → openai_agents-0.2.3}/docs/assets/images/favicon-platform.svg +0 -0
  82. {openai_agents-0.2.2 → openai_agents-0.2.3}/docs/assets/images/graph.png +0 -0
  83. {openai_agents-0.2.2 → openai_agents-0.2.3}/docs/assets/images/mcp-tracing.jpg +0 -0
  84. {openai_agents-0.2.2 → openai_agents-0.2.3}/docs/assets/images/orchestration.png +0 -0
  85. {openai_agents-0.2.2 → openai_agents-0.2.3}/docs/assets/logo.svg +0 -0
  86. {openai_agents-0.2.2 → openai_agents-0.2.3}/docs/config.md +0 -0
  87. {openai_agents-0.2.2 → openai_agents-0.2.3}/docs/context.md +0 -0
  88. {openai_agents-0.2.2 → openai_agents-0.2.3}/docs/examples.md +0 -0
  89. {openai_agents-0.2.2 → openai_agents-0.2.3}/docs/guardrails.md +0 -0
  90. {openai_agents-0.2.2 → openai_agents-0.2.3}/docs/handoffs.md +0 -0
  91. {openai_agents-0.2.2 → openai_agents-0.2.3}/docs/index.md +0 -0
  92. {openai_agents-0.2.2 → openai_agents-0.2.3}/docs/mcp.md +0 -0
  93. {openai_agents-0.2.2 → openai_agents-0.2.3}/docs/models/index.md +0 -0
  94. {openai_agents-0.2.2 → openai_agents-0.2.3}/docs/models/litellm.md +0 -0
  95. {openai_agents-0.2.2 → openai_agents-0.2.3}/docs/multi_agent.md +0 -0
  96. {openai_agents-0.2.2 → openai_agents-0.2.3}/docs/realtime/quickstart.md +0 -0
  97. {openai_agents-0.2.2 → openai_agents-0.2.3}/docs/ref/agent.md +0 -0
  98. {openai_agents-0.2.2 → openai_agents-0.2.3}/docs/ref/agent_output.md +0 -0
  99. {openai_agents-0.2.2 → openai_agents-0.2.3}/docs/ref/exceptions.md +0 -0
  100. {openai_agents-0.2.2 → openai_agents-0.2.3}/docs/ref/extensions/handoff_filters.md +0 -0
  101. {openai_agents-0.2.2 → openai_agents-0.2.3}/docs/ref/extensions/handoff_prompt.md +0 -0
  102. {openai_agents-0.2.2 → openai_agents-0.2.3}/docs/ref/extensions/litellm.md +0 -0
  103. {openai_agents-0.2.2 → openai_agents-0.2.3}/docs/ref/function_schema.md +0 -0
  104. {openai_agents-0.2.2 → openai_agents-0.2.3}/docs/ref/guardrail.md +0 -0
  105. {openai_agents-0.2.2 → openai_agents-0.2.3}/docs/ref/handoffs.md +0 -0
  106. {openai_agents-0.2.2 → openai_agents-0.2.3}/docs/ref/index.md +0 -0
  107. {openai_agents-0.2.2 → openai_agents-0.2.3}/docs/ref/items.md +0 -0
  108. {openai_agents-0.2.2 → openai_agents-0.2.3}/docs/ref/lifecycle.md +0 -0
  109. {openai_agents-0.2.2 → openai_agents-0.2.3}/docs/ref/mcp/server.md +0 -0
  110. {openai_agents-0.2.2 → openai_agents-0.2.3}/docs/ref/mcp/util.md +0 -0
  111. {openai_agents-0.2.2 → openai_agents-0.2.3}/docs/ref/memory.md +0 -0
  112. {openai_agents-0.2.2 → openai_agents-0.2.3}/docs/ref/model_settings.md +0 -0
  113. {openai_agents-0.2.2 → openai_agents-0.2.3}/docs/ref/models/interface.md +0 -0
  114. {openai_agents-0.2.2 → openai_agents-0.2.3}/docs/ref/models/openai_chatcompletions.md +0 -0
  115. {openai_agents-0.2.2 → openai_agents-0.2.3}/docs/ref/models/openai_responses.md +0 -0
  116. {openai_agents-0.2.2 → openai_agents-0.2.3}/docs/ref/realtime/agent.md +0 -0
  117. {openai_agents-0.2.2 → openai_agents-0.2.3}/docs/ref/realtime/config.md +0 -0
  118. {openai_agents-0.2.2 → openai_agents-0.2.3}/docs/ref/realtime/events.md +0 -0
  119. {openai_agents-0.2.2 → openai_agents-0.2.3}/docs/ref/realtime/runner.md +0 -0
  120. {openai_agents-0.2.2 → openai_agents-0.2.3}/docs/ref/realtime/session.md +0 -0
  121. {openai_agents-0.2.2 → openai_agents-0.2.3}/docs/ref/repl.md +0 -0
  122. {openai_agents-0.2.2 → openai_agents-0.2.3}/docs/ref/result.md +0 -0
  123. {openai_agents-0.2.2 → openai_agents-0.2.3}/docs/ref/run.md +0 -0
  124. {openai_agents-0.2.2 → openai_agents-0.2.3}/docs/ref/run_context.md +0 -0
  125. {openai_agents-0.2.2 → openai_agents-0.2.3}/docs/ref/stream_events.md +0 -0
  126. {openai_agents-0.2.2 → openai_agents-0.2.3}/docs/ref/tool.md +0 -0
  127. {openai_agents-0.2.2 → openai_agents-0.2.3}/docs/ref/tracing/create.md +0 -0
  128. {openai_agents-0.2.2 → openai_agents-0.2.3}/docs/ref/tracing/index.md +0 -0
  129. {openai_agents-0.2.2 → openai_agents-0.2.3}/docs/ref/tracing/processor_interface.md +0 -0
  130. {openai_agents-0.2.2 → openai_agents-0.2.3}/docs/ref/tracing/processors.md +0 -0
  131. {openai_agents-0.2.2 → openai_agents-0.2.3}/docs/ref/tracing/scope.md +0 -0
  132. {openai_agents-0.2.2 → openai_agents-0.2.3}/docs/ref/tracing/setup.md +0 -0
  133. {openai_agents-0.2.2 → openai_agents-0.2.3}/docs/ref/tracing/span_data.md +0 -0
  134. {openai_agents-0.2.2 → openai_agents-0.2.3}/docs/ref/tracing/spans.md +0 -0
  135. {openai_agents-0.2.2 → openai_agents-0.2.3}/docs/ref/tracing/traces.md +0 -0
  136. {openai_agents-0.2.2 → openai_agents-0.2.3}/docs/ref/tracing/util.md +0 -0
  137. {openai_agents-0.2.2 → openai_agents-0.2.3}/docs/ref/usage.md +0 -0
  138. {openai_agents-0.2.2 → openai_agents-0.2.3}/docs/ref/voice/events.md +0 -0
  139. {openai_agents-0.2.2 → openai_agents-0.2.3}/docs/ref/voice/exceptions.md +0 -0
  140. {openai_agents-0.2.2 → openai_agents-0.2.3}/docs/ref/voice/input.md +0 -0
  141. {openai_agents-0.2.2 → openai_agents-0.2.3}/docs/ref/voice/model.md +0 -0
  142. {openai_agents-0.2.2 → openai_agents-0.2.3}/docs/ref/voice/models/openai_provider.md +0 -0
  143. {openai_agents-0.2.2 → openai_agents-0.2.3}/docs/ref/voice/models/openai_stt.md +0 -0
  144. {openai_agents-0.2.2 → openai_agents-0.2.3}/docs/ref/voice/models/openai_tts.md +0 -0
  145. {openai_agents-0.2.2 → openai_agents-0.2.3}/docs/ref/voice/pipeline.md +0 -0
  146. {openai_agents-0.2.2 → openai_agents-0.2.3}/docs/ref/voice/pipeline_config.md +0 -0
  147. {openai_agents-0.2.2 → openai_agents-0.2.3}/docs/ref/voice/result.md +0 -0
  148. {openai_agents-0.2.2 → openai_agents-0.2.3}/docs/ref/voice/utils.md +0 -0
  149. {openai_agents-0.2.2 → openai_agents-0.2.3}/docs/ref/voice/workflow.md +0 -0
  150. {openai_agents-0.2.2 → openai_agents-0.2.3}/docs/release.md +0 -0
  151. {openai_agents-0.2.2 → openai_agents-0.2.3}/docs/repl.md +0 -0
  152. {openai_agents-0.2.2 → openai_agents-0.2.3}/docs/results.md +0 -0
  153. {openai_agents-0.2.2 → openai_agents-0.2.3}/docs/scripts/translate_docs.py +0 -0
  154. {openai_agents-0.2.2 → openai_agents-0.2.3}/docs/sessions.md +0 -0
  155. {openai_agents-0.2.2 → openai_agents-0.2.3}/docs/streaming.md +0 -0
  156. {openai_agents-0.2.2 → openai_agents-0.2.3}/docs/stylesheets/extra.css +0 -0
  157. {openai_agents-0.2.2 → openai_agents-0.2.3}/docs/tools.md +0 -0
  158. {openai_agents-0.2.2 → openai_agents-0.2.3}/docs/tracing.md +0 -0
  159. {openai_agents-0.2.2 → openai_agents-0.2.3}/docs/visualization.md +0 -0
  160. {openai_agents-0.2.2 → openai_agents-0.2.3}/docs/voice/pipeline.md +0 -0
  161. {openai_agents-0.2.2 → openai_agents-0.2.3}/docs/voice/quickstart.md +0 -0
  162. {openai_agents-0.2.2 → openai_agents-0.2.3}/docs/voice/tracing.md +0 -0
  163. {openai_agents-0.2.2 → openai_agents-0.2.3}/examples/__init__.py +0 -0
  164. {openai_agents-0.2.2 → openai_agents-0.2.3}/examples/agent_patterns/README.md +0 -0
  165. {openai_agents-0.2.2 → openai_agents-0.2.3}/examples/agent_patterns/agents_as_tools.py +0 -0
  166. {openai_agents-0.2.2 → openai_agents-0.2.3}/examples/agent_patterns/deterministic.py +0 -0
  167. {openai_agents-0.2.2 → openai_agents-0.2.3}/examples/agent_patterns/forcing_tool_use.py +0 -0
  168. {openai_agents-0.2.2 → openai_agents-0.2.3}/examples/agent_patterns/input_guardrails.py +0 -0
  169. {openai_agents-0.2.2 → openai_agents-0.2.3}/examples/agent_patterns/llm_as_a_judge.py +0 -0
  170. {openai_agents-0.2.2 → openai_agents-0.2.3}/examples/agent_patterns/output_guardrails.py +0 -0
  171. {openai_agents-0.2.2 → openai_agents-0.2.3}/examples/agent_patterns/parallelization.py +0 -0
  172. {openai_agents-0.2.2 → openai_agents-0.2.3}/examples/agent_patterns/routing.py +0 -0
  173. {openai_agents-0.2.2 → openai_agents-0.2.3}/examples/agent_patterns/streaming_guardrails.py +0 -0
  174. {openai_agents-0.2.2 → openai_agents-0.2.3}/examples/basic/agent_lifecycle_example.py +0 -0
  175. {openai_agents-0.2.2 → openai_agents-0.2.3}/examples/basic/dynamic_system_prompt.py +0 -0
  176. {openai_agents-0.2.2 → openai_agents-0.2.3}/examples/basic/hello_world.py +0 -0
  177. {openai_agents-0.2.2 → openai_agents-0.2.3}/examples/basic/hello_world_jupyter.ipynb +0 -0
  178. {openai_agents-0.2.2 → openai_agents-0.2.3}/examples/basic/lifecycle_example.py +0 -0
  179. {openai_agents-0.2.2 → openai_agents-0.2.3}/examples/basic/local_image.py +0 -0
  180. {openai_agents-0.2.2 → openai_agents-0.2.3}/examples/basic/media/image_bison.jpg +0 -0
  181. {openai_agents-0.2.2 → openai_agents-0.2.3}/examples/basic/non_strict_output_type.py +0 -0
  182. {openai_agents-0.2.2 → openai_agents-0.2.3}/examples/basic/previous_response_id.py +0 -0
  183. {openai_agents-0.2.2 → openai_agents-0.2.3}/examples/basic/prompt_template.py +0 -0
  184. {openai_agents-0.2.2 → openai_agents-0.2.3}/examples/basic/remote_image.py +0 -0
  185. {openai_agents-0.2.2 → openai_agents-0.2.3}/examples/basic/session_example.py +0 -0
  186. {openai_agents-0.2.2 → openai_agents-0.2.3}/examples/basic/stream_items.py +0 -0
  187. {openai_agents-0.2.2 → openai_agents-0.2.3}/examples/basic/stream_text.py +0 -0
  188. {openai_agents-0.2.2 → openai_agents-0.2.3}/examples/basic/tools.py +0 -0
  189. {openai_agents-0.2.2 → openai_agents-0.2.3}/examples/customer_service/main.py +0 -0
  190. {openai_agents-0.2.2 → openai_agents-0.2.3}/examples/financial_research_agent/README.md +0 -0
  191. {openai_agents-0.2.2 → openai_agents-0.2.3}/examples/financial_research_agent/__init__.py +0 -0
  192. {openai_agents-0.2.2 → openai_agents-0.2.3}/examples/financial_research_agent/agents/__init__.py +0 -0
  193. {openai_agents-0.2.2 → openai_agents-0.2.3}/examples/financial_research_agent/agents/financials_agent.py +0 -0
  194. {openai_agents-0.2.2 → openai_agents-0.2.3}/examples/financial_research_agent/agents/planner_agent.py +0 -0
  195. {openai_agents-0.2.2 → openai_agents-0.2.3}/examples/financial_research_agent/agents/risk_agent.py +0 -0
  196. {openai_agents-0.2.2 → openai_agents-0.2.3}/examples/financial_research_agent/agents/search_agent.py +0 -0
  197. {openai_agents-0.2.2 → openai_agents-0.2.3}/examples/financial_research_agent/agents/verifier_agent.py +0 -0
  198. {openai_agents-0.2.2 → openai_agents-0.2.3}/examples/financial_research_agent/agents/writer_agent.py +0 -0
  199. {openai_agents-0.2.2 → openai_agents-0.2.3}/examples/financial_research_agent/main.py +0 -0
  200. {openai_agents-0.2.2 → openai_agents-0.2.3}/examples/financial_research_agent/manager.py +0 -0
  201. {openai_agents-0.2.2 → openai_agents-0.2.3}/examples/financial_research_agent/printer.py +0 -0
  202. {openai_agents-0.2.2 → openai_agents-0.2.3}/examples/handoffs/message_filter.py +0 -0
  203. {openai_agents-0.2.2 → openai_agents-0.2.3}/examples/handoffs/message_filter_streaming.py +0 -0
  204. {openai_agents-0.2.2 → openai_agents-0.2.3}/examples/hosted_mcp/__init__.py +0 -0
  205. {openai_agents-0.2.2 → openai_agents-0.2.3}/examples/hosted_mcp/approvals.py +0 -0
  206. {openai_agents-0.2.2 → openai_agents-0.2.3}/examples/hosted_mcp/simple.py +0 -0
  207. {openai_agents-0.2.2 → openai_agents-0.2.3}/examples/mcp/filesystem_example/README.md +0 -0
  208. {openai_agents-0.2.2 → openai_agents-0.2.3}/examples/mcp/filesystem_example/main.py +0 -0
  209. {openai_agents-0.2.2 → openai_agents-0.2.3}/examples/mcp/filesystem_example/sample_files/favorite_books.txt +0 -0
  210. {openai_agents-0.2.2 → openai_agents-0.2.3}/examples/mcp/filesystem_example/sample_files/favorite_cities.txt +0 -0
  211. {openai_agents-0.2.2 → openai_agents-0.2.3}/examples/mcp/filesystem_example/sample_files/favorite_songs.txt +0 -0
  212. {openai_agents-0.2.2 → openai_agents-0.2.3}/examples/mcp/git_example/README.md +0 -0
  213. {openai_agents-0.2.2 → openai_agents-0.2.3}/examples/mcp/git_example/main.py +0 -0
  214. {openai_agents-0.2.2 → openai_agents-0.2.3}/examples/mcp/prompt_server/README.md +0 -0
  215. {openai_agents-0.2.2 → openai_agents-0.2.3}/examples/mcp/prompt_server/main.py +0 -0
  216. {openai_agents-0.2.2 → openai_agents-0.2.3}/examples/mcp/prompt_server/server.py +0 -0
  217. {openai_agents-0.2.2 → openai_agents-0.2.3}/examples/mcp/sse_example/README.md +0 -0
  218. {openai_agents-0.2.2 → openai_agents-0.2.3}/examples/mcp/sse_example/main.py +0 -0
  219. {openai_agents-0.2.2 → openai_agents-0.2.3}/examples/mcp/sse_example/server.py +0 -0
  220. {openai_agents-0.2.2 → openai_agents-0.2.3}/examples/mcp/streamablehttp_example/README.md +0 -0
  221. {openai_agents-0.2.2 → openai_agents-0.2.3}/examples/mcp/streamablehttp_example/main.py +0 -0
  222. {openai_agents-0.2.2 → openai_agents-0.2.3}/examples/mcp/streamablehttp_example/server.py +0 -0
  223. {openai_agents-0.2.2 → openai_agents-0.2.3}/examples/model_providers/README.md +0 -0
  224. {openai_agents-0.2.2 → openai_agents-0.2.3}/examples/model_providers/custom_example_agent.py +0 -0
  225. {openai_agents-0.2.2 → openai_agents-0.2.3}/examples/model_providers/custom_example_global.py +0 -0
  226. {openai_agents-0.2.2 → openai_agents-0.2.3}/examples/model_providers/custom_example_provider.py +0 -0
  227. {openai_agents-0.2.2 → openai_agents-0.2.3}/examples/model_providers/litellm_auto.py +0 -0
  228. {openai_agents-0.2.2 → openai_agents-0.2.3}/examples/model_providers/litellm_provider.py +0 -0
  229. {openai_agents-0.2.2 → openai_agents-0.2.3}/examples/realtime/app/README.md +0 -0
  230. {openai_agents-0.2.2 → openai_agents-0.2.3}/examples/realtime/app/server.py +0 -0
  231. {openai_agents-0.2.2 → openai_agents-0.2.3}/examples/realtime/app/static/app.js +0 -0
  232. {openai_agents-0.2.2 → openai_agents-0.2.3}/examples/realtime/app/static/index.html +0 -0
  233. {openai_agents-0.2.2 → openai_agents-0.2.3}/examples/realtime/cli/demo.py +0 -0
  234. {openai_agents-0.2.2 → openai_agents-0.2.3}/examples/realtime/cli/ui.py +0 -0
  235. {openai_agents-0.2.2 → openai_agents-0.2.3}/examples/reasoning_content/__init__.py +0 -0
  236. {openai_agents-0.2.2 → openai_agents-0.2.3}/examples/reasoning_content/main.py +0 -0
  237. {openai_agents-0.2.2 → openai_agents-0.2.3}/examples/reasoning_content/runner_example.py +0 -0
  238. {openai_agents-0.2.2 → openai_agents-0.2.3}/examples/research_bot/README.md +0 -0
  239. {openai_agents-0.2.2 → openai_agents-0.2.3}/examples/research_bot/__init__.py +0 -0
  240. {openai_agents-0.2.2 → openai_agents-0.2.3}/examples/research_bot/agents/__init__.py +0 -0
  241. {openai_agents-0.2.2 → openai_agents-0.2.3}/examples/research_bot/agents/planner_agent.py +0 -0
  242. {openai_agents-0.2.2 → openai_agents-0.2.3}/examples/research_bot/agents/search_agent.py +0 -0
  243. {openai_agents-0.2.2 → openai_agents-0.2.3}/examples/research_bot/agents/writer_agent.py +0 -0
  244. {openai_agents-0.2.2 → openai_agents-0.2.3}/examples/research_bot/main.py +0 -0
  245. {openai_agents-0.2.2 → openai_agents-0.2.3}/examples/research_bot/manager.py +0 -0
  246. {openai_agents-0.2.2 → openai_agents-0.2.3}/examples/research_bot/printer.py +0 -0
  247. {openai_agents-0.2.2 → openai_agents-0.2.3}/examples/research_bot/sample_outputs/product_recs.md +0 -0
  248. {openai_agents-0.2.2 → openai_agents-0.2.3}/examples/research_bot/sample_outputs/product_recs.txt +0 -0
  249. {openai_agents-0.2.2 → openai_agents-0.2.3}/examples/research_bot/sample_outputs/vacation.md +0 -0
  250. {openai_agents-0.2.2 → openai_agents-0.2.3}/examples/research_bot/sample_outputs/vacation.txt +0 -0
  251. {openai_agents-0.2.2 → openai_agents-0.2.3}/examples/tools/code_interpreter.py +0 -0
  252. {openai_agents-0.2.2 → openai_agents-0.2.3}/examples/tools/computer_use.py +0 -0
  253. {openai_agents-0.2.2 → openai_agents-0.2.3}/examples/tools/file_search.py +0 -0
  254. {openai_agents-0.2.2 → openai_agents-0.2.3}/examples/tools/web_search.py +0 -0
  255. {openai_agents-0.2.2 → openai_agents-0.2.3}/examples/voice/__init__.py +0 -0
  256. {openai_agents-0.2.2 → openai_agents-0.2.3}/examples/voice/static/README.md +0 -0
  257. {openai_agents-0.2.2 → openai_agents-0.2.3}/examples/voice/static/__init__.py +0 -0
  258. {openai_agents-0.2.2 → openai_agents-0.2.3}/examples/voice/static/main.py +0 -0
  259. {openai_agents-0.2.2 → openai_agents-0.2.3}/examples/voice/static/util.py +0 -0
  260. {openai_agents-0.2.2 → openai_agents-0.2.3}/examples/voice/streamed/README.md +0 -0
  261. {openai_agents-0.2.2 → openai_agents-0.2.3}/examples/voice/streamed/__init__.py +0 -0
  262. {openai_agents-0.2.2 → openai_agents-0.2.3}/examples/voice/streamed/main.py +0 -0
  263. {openai_agents-0.2.2 → openai_agents-0.2.3}/examples/voice/streamed/my_workflow.py +0 -0
  264. {openai_agents-0.2.2 → openai_agents-0.2.3}/mkdocs.yml +0 -0
  265. {openai_agents-0.2.2 → openai_agents-0.2.3}/src/agents/__init__.py +0 -0
  266. {openai_agents-0.2.2 → openai_agents-0.2.3}/src/agents/_config.py +0 -0
  267. {openai_agents-0.2.2 → openai_agents-0.2.3}/src/agents/_debug.py +0 -0
  268. {openai_agents-0.2.2 → openai_agents-0.2.3}/src/agents/_run_impl.py +0 -0
  269. {openai_agents-0.2.2 → openai_agents-0.2.3}/src/agents/agent.py +0 -0
  270. {openai_agents-0.2.2 → openai_agents-0.2.3}/src/agents/agent_output.py +0 -0
  271. {openai_agents-0.2.2 → openai_agents-0.2.3}/src/agents/computer.py +0 -0
  272. {openai_agents-0.2.2 → openai_agents-0.2.3}/src/agents/exceptions.py +0 -0
  273. {openai_agents-0.2.2 → openai_agents-0.2.3}/src/agents/extensions/__init__.py +0 -0
  274. {openai_agents-0.2.2 → openai_agents-0.2.3}/src/agents/extensions/handoff_filters.py +0 -0
  275. {openai_agents-0.2.2 → openai_agents-0.2.3}/src/agents/extensions/handoff_prompt.py +0 -0
  276. {openai_agents-0.2.2 → openai_agents-0.2.3}/src/agents/extensions/models/__init__.py +0 -0
  277. {openai_agents-0.2.2 → openai_agents-0.2.3}/src/agents/extensions/models/litellm_model.py +0 -0
  278. {openai_agents-0.2.2 → openai_agents-0.2.3}/src/agents/extensions/models/litellm_provider.py +0 -0
  279. {openai_agents-0.2.2 → openai_agents-0.2.3}/src/agents/extensions/visualization.py +0 -0
  280. {openai_agents-0.2.2 → openai_agents-0.2.3}/src/agents/function_schema.py +0 -0
  281. {openai_agents-0.2.2 → openai_agents-0.2.3}/src/agents/handoffs.py +0 -0
  282. {openai_agents-0.2.2 → openai_agents-0.2.3}/src/agents/lifecycle.py +0 -0
  283. {openai_agents-0.2.2 → openai_agents-0.2.3}/src/agents/logger.py +0 -0
  284. {openai_agents-0.2.2 → openai_agents-0.2.3}/src/agents/mcp/__init__.py +0 -0
  285. {openai_agents-0.2.2 → openai_agents-0.2.3}/src/agents/mcp/server.py +0 -0
  286. {openai_agents-0.2.2 → openai_agents-0.2.3}/src/agents/mcp/util.py +0 -0
  287. {openai_agents-0.2.2 → openai_agents-0.2.3}/src/agents/memory/__init__.py +0 -0
  288. {openai_agents-0.2.2 → openai_agents-0.2.3}/src/agents/memory/session.py +0 -0
  289. {openai_agents-0.2.2 → openai_agents-0.2.3}/src/agents/models/__init__.py +0 -0
  290. {openai_agents-0.2.2 → openai_agents-0.2.3}/src/agents/models/_openai_shared.py +0 -0
  291. {openai_agents-0.2.2 → openai_agents-0.2.3}/src/agents/models/chatcmpl_converter.py +0 -0
  292. {openai_agents-0.2.2 → openai_agents-0.2.3}/src/agents/models/chatcmpl_helpers.py +0 -0
  293. {openai_agents-0.2.2 → openai_agents-0.2.3}/src/agents/models/fake_id.py +0 -0
  294. {openai_agents-0.2.2 → openai_agents-0.2.3}/src/agents/models/interface.py +0 -0
  295. {openai_agents-0.2.2 → openai_agents-0.2.3}/src/agents/models/multi_provider.py +0 -0
  296. {openai_agents-0.2.2 → openai_agents-0.2.3}/src/agents/models/openai_chatcompletions.py +0 -0
  297. {openai_agents-0.2.2 → openai_agents-0.2.3}/src/agents/models/openai_provider.py +0 -0
  298. {openai_agents-0.2.2 → openai_agents-0.2.3}/src/agents/models/openai_responses.py +0 -0
  299. {openai_agents-0.2.2 → openai_agents-0.2.3}/src/agents/prompts.py +0 -0
  300. {openai_agents-0.2.2 → openai_agents-0.2.3}/src/agents/py.typed +0 -0
  301. {openai_agents-0.2.2 → openai_agents-0.2.3}/src/agents/realtime/README.md +0 -0
  302. {openai_agents-0.2.2 → openai_agents-0.2.3}/src/agents/realtime/__init__.py +0 -0
  303. {openai_agents-0.2.2 → openai_agents-0.2.3}/src/agents/realtime/agent.py +0 -0
  304. {openai_agents-0.2.2 → openai_agents-0.2.3}/src/agents/realtime/config.py +0 -0
  305. {openai_agents-0.2.2 → openai_agents-0.2.3}/src/agents/realtime/events.py +0 -0
  306. {openai_agents-0.2.2 → openai_agents-0.2.3}/src/agents/realtime/handoffs.py +0 -0
  307. {openai_agents-0.2.2 → openai_agents-0.2.3}/src/agents/realtime/items.py +0 -0
  308. {openai_agents-0.2.2 → openai_agents-0.2.3}/src/agents/realtime/model.py +0 -0
  309. {openai_agents-0.2.2 → openai_agents-0.2.3}/src/agents/realtime/model_events.py +0 -0
  310. {openai_agents-0.2.2 → openai_agents-0.2.3}/src/agents/realtime/model_inputs.py +0 -0
  311. {openai_agents-0.2.2 → openai_agents-0.2.3}/src/agents/realtime/runner.py +0 -0
  312. {openai_agents-0.2.2 → openai_agents-0.2.3}/src/agents/repl.py +0 -0
  313. {openai_agents-0.2.2 → openai_agents-0.2.3}/src/agents/result.py +0 -0
  314. {openai_agents-0.2.2 → openai_agents-0.2.3}/src/agents/run.py +0 -0
  315. {openai_agents-0.2.2 → openai_agents-0.2.3}/src/agents/run_context.py +0 -0
  316. {openai_agents-0.2.2 → openai_agents-0.2.3}/src/agents/stream_events.py +0 -0
  317. {openai_agents-0.2.2 → openai_agents-0.2.3}/src/agents/strict_schema.py +0 -0
  318. {openai_agents-0.2.2 → openai_agents-0.2.3}/src/agents/tool_context.py +0 -0
  319. {openai_agents-0.2.2 → openai_agents-0.2.3}/src/agents/tracing/__init__.py +0 -0
  320. {openai_agents-0.2.2 → openai_agents-0.2.3}/src/agents/tracing/create.py +0 -0
  321. {openai_agents-0.2.2 → openai_agents-0.2.3}/src/agents/tracing/logger.py +0 -0
  322. {openai_agents-0.2.2 → openai_agents-0.2.3}/src/agents/tracing/processor_interface.py +0 -0
  323. {openai_agents-0.2.2 → openai_agents-0.2.3}/src/agents/tracing/processors.py +0 -0
  324. {openai_agents-0.2.2 → openai_agents-0.2.3}/src/agents/tracing/provider.py +0 -0
  325. {openai_agents-0.2.2 → openai_agents-0.2.3}/src/agents/tracing/scope.py +0 -0
  326. {openai_agents-0.2.2 → openai_agents-0.2.3}/src/agents/tracing/setup.py +0 -0
  327. {openai_agents-0.2.2 → openai_agents-0.2.3}/src/agents/tracing/span_data.py +0 -0
  328. {openai_agents-0.2.2 → openai_agents-0.2.3}/src/agents/tracing/spans.py +0 -0
  329. {openai_agents-0.2.2 → openai_agents-0.2.3}/src/agents/tracing/traces.py +0 -0
  330. {openai_agents-0.2.2 → openai_agents-0.2.3}/src/agents/tracing/util.py +0 -0
  331. {openai_agents-0.2.2 → openai_agents-0.2.3}/src/agents/util/__init__.py +0 -0
  332. {openai_agents-0.2.2 → openai_agents-0.2.3}/src/agents/util/_coro.py +0 -0
  333. {openai_agents-0.2.2 → openai_agents-0.2.3}/src/agents/util/_error_tracing.py +0 -0
  334. {openai_agents-0.2.2 → openai_agents-0.2.3}/src/agents/util/_json.py +0 -0
  335. {openai_agents-0.2.2 → openai_agents-0.2.3}/src/agents/util/_pretty_print.py +0 -0
  336. {openai_agents-0.2.2 → openai_agents-0.2.3}/src/agents/util/_transforms.py +0 -0
  337. {openai_agents-0.2.2 → openai_agents-0.2.3}/src/agents/util/_types.py +0 -0
  338. {openai_agents-0.2.2 → openai_agents-0.2.3}/src/agents/version.py +0 -0
  339. {openai_agents-0.2.2 → openai_agents-0.2.3}/src/agents/voice/__init__.py +0 -0
  340. {openai_agents-0.2.2 → openai_agents-0.2.3}/src/agents/voice/events.py +0 -0
  341. {openai_agents-0.2.2 → openai_agents-0.2.3}/src/agents/voice/exceptions.py +0 -0
  342. {openai_agents-0.2.2 → openai_agents-0.2.3}/src/agents/voice/imports.py +0 -0
  343. {openai_agents-0.2.2 → openai_agents-0.2.3}/src/agents/voice/input.py +0 -0
  344. {openai_agents-0.2.2 → openai_agents-0.2.3}/src/agents/voice/model.py +0 -0
  345. {openai_agents-0.2.2 → openai_agents-0.2.3}/src/agents/voice/models/__init__.py +0 -0
  346. {openai_agents-0.2.2 → openai_agents-0.2.3}/src/agents/voice/models/openai_model_provider.py +0 -0
  347. {openai_agents-0.2.2 → openai_agents-0.2.3}/src/agents/voice/models/openai_stt.py +0 -0
  348. {openai_agents-0.2.2 → openai_agents-0.2.3}/src/agents/voice/models/openai_tts.py +0 -0
  349. {openai_agents-0.2.2 → openai_agents-0.2.3}/src/agents/voice/pipeline.py +0 -0
  350. {openai_agents-0.2.2 → openai_agents-0.2.3}/src/agents/voice/pipeline_config.py +0 -0
  351. {openai_agents-0.2.2 → openai_agents-0.2.3}/src/agents/voice/result.py +0 -0
  352. {openai_agents-0.2.2 → openai_agents-0.2.3}/src/agents/voice/utils.py +0 -0
  353. {openai_agents-0.2.2 → openai_agents-0.2.3}/src/agents/voice/workflow.py +0 -0
  354. {openai_agents-0.2.2 → openai_agents-0.2.3}/tests/README.md +0 -0
  355. {openai_agents-0.2.2 → openai_agents-0.2.3}/tests/__init__.py +0 -0
  356. {openai_agents-0.2.2 → openai_agents-0.2.3}/tests/conftest.py +0 -0
  357. {openai_agents-0.2.2 → openai_agents-0.2.3}/tests/fake_model.py +0 -0
  358. {openai_agents-0.2.2 → openai_agents-0.2.3}/tests/fastapi/__init__.py +0 -0
  359. {openai_agents-0.2.2 → openai_agents-0.2.3}/tests/fastapi/streaming_app.py +0 -0
  360. {openai_agents-0.2.2 → openai_agents-0.2.3}/tests/fastapi/test_streaming_context.py +0 -0
  361. {openai_agents-0.2.2 → openai_agents-0.2.3}/tests/mcp/__init__.py +0 -0
  362. {openai_agents-0.2.2 → openai_agents-0.2.3}/tests/mcp/conftest.py +0 -0
  363. {openai_agents-0.2.2 → openai_agents-0.2.3}/tests/mcp/helpers.py +0 -0
  364. {openai_agents-0.2.2 → openai_agents-0.2.3}/tests/mcp/test_caching.py +0 -0
  365. {openai_agents-0.2.2 → openai_agents-0.2.3}/tests/mcp/test_connect_disconnect.py +0 -0
  366. {openai_agents-0.2.2 → openai_agents-0.2.3}/tests/mcp/test_mcp_tracing.py +0 -0
  367. {openai_agents-0.2.2 → openai_agents-0.2.3}/tests/mcp/test_mcp_util.py +0 -0
  368. {openai_agents-0.2.2 → openai_agents-0.2.3}/tests/mcp/test_prompt_server.py +0 -0
  369. {openai_agents-0.2.2 → openai_agents-0.2.3}/tests/mcp/test_runner_calls_mcp.py +0 -0
  370. {openai_agents-0.2.2 → openai_agents-0.2.3}/tests/mcp/test_server_errors.py +0 -0
  371. {openai_agents-0.2.2 → openai_agents-0.2.3}/tests/mcp/test_tool_filtering.py +0 -0
  372. {openai_agents-0.2.2 → openai_agents-0.2.3}/tests/model_settings/test_serialization.py +0 -0
  373. {openai_agents-0.2.2 → openai_agents-0.2.3}/tests/models/__init__.py +0 -0
  374. {openai_agents-0.2.2 → openai_agents-0.2.3}/tests/models/conftest.py +0 -0
  375. {openai_agents-0.2.2 → openai_agents-0.2.3}/tests/models/test_kwargs_functionality.py +0 -0
  376. {openai_agents-0.2.2 → openai_agents-0.2.3}/tests/models/test_litellm_chatcompletions_stream.py +0 -0
  377. {openai_agents-0.2.2 → openai_agents-0.2.3}/tests/models/test_litellm_extra_body.py +0 -0
  378. {openai_agents-0.2.2 → openai_agents-0.2.3}/tests/models/test_map.py +0 -0
  379. {openai_agents-0.2.2 → openai_agents-0.2.3}/tests/realtime/__init__.py +0 -0
  380. {openai_agents-0.2.2 → openai_agents-0.2.3}/tests/realtime/test_agent.py +0 -0
  381. {openai_agents-0.2.2 → openai_agents-0.2.3}/tests/realtime/test_conversion_helpers.py +0 -0
  382. {openai_agents-0.2.2 → openai_agents-0.2.3}/tests/realtime/test_item_parsing.py +0 -0
  383. {openai_agents-0.2.2 → openai_agents-0.2.3}/tests/realtime/test_model_events.py +0 -0
  384. {openai_agents-0.2.2 → openai_agents-0.2.3}/tests/realtime/test_openai_realtime.py +0 -0
  385. {openai_agents-0.2.2 → openai_agents-0.2.3}/tests/realtime/test_realtime_handoffs.py +0 -0
  386. {openai_agents-0.2.2 → openai_agents-0.2.3}/tests/realtime/test_runner.py +0 -0
  387. {openai_agents-0.2.2 → openai_agents-0.2.3}/tests/test_agent_config.py +0 -0
  388. {openai_agents-0.2.2 → openai_agents-0.2.3}/tests/test_agent_hooks.py +0 -0
  389. {openai_agents-0.2.2 → openai_agents-0.2.3}/tests/test_agent_prompt.py +0 -0
  390. {openai_agents-0.2.2 → openai_agents-0.2.3}/tests/test_agent_runner.py +0 -0
  391. {openai_agents-0.2.2 → openai_agents-0.2.3}/tests/test_agent_runner_streamed.py +0 -0
  392. {openai_agents-0.2.2 → openai_agents-0.2.3}/tests/test_agent_tracing.py +0 -0
  393. {openai_agents-0.2.2 → openai_agents-0.2.3}/tests/test_cancel_streaming.py +0 -0
  394. {openai_agents-0.2.2 → openai_agents-0.2.3}/tests/test_computer_action.py +0 -0
  395. {openai_agents-0.2.2 → openai_agents-0.2.3}/tests/test_config.py +0 -0
  396. {openai_agents-0.2.2 → openai_agents-0.2.3}/tests/test_doc_parsing.py +0 -0
  397. {openai_agents-0.2.2 → openai_agents-0.2.3}/tests/test_extension_filters.py +0 -0
  398. {openai_agents-0.2.2 → openai_agents-0.2.3}/tests/test_extra_headers.py +0 -0
  399. {openai_agents-0.2.2 → openai_agents-0.2.3}/tests/test_function_schema.py +0 -0
  400. {openai_agents-0.2.2 → openai_agents-0.2.3}/tests/test_function_tool.py +0 -0
  401. {openai_agents-0.2.2 → openai_agents-0.2.3}/tests/test_function_tool_decorator.py +0 -0
  402. {openai_agents-0.2.2 → openai_agents-0.2.3}/tests/test_global_hooks.py +0 -0
  403. {openai_agents-0.2.2 → openai_agents-0.2.3}/tests/test_guardrails.py +0 -0
  404. {openai_agents-0.2.2 → openai_agents-0.2.3}/tests/test_handoff_tool.py +0 -0
  405. {openai_agents-0.2.2 → openai_agents-0.2.3}/tests/test_items_helpers.py +0 -0
  406. {openai_agents-0.2.2 → openai_agents-0.2.3}/tests/test_max_turns.py +0 -0
  407. {openai_agents-0.2.2 → openai_agents-0.2.3}/tests/test_openai_chatcompletions.py +0 -0
  408. {openai_agents-0.2.2 → openai_agents-0.2.3}/tests/test_openai_chatcompletions_converter.py +0 -0
  409. {openai_agents-0.2.2 → openai_agents-0.2.3}/tests/test_openai_chatcompletions_stream.py +0 -0
  410. {openai_agents-0.2.2 → openai_agents-0.2.3}/tests/test_openai_responses_converter.py +0 -0
  411. {openai_agents-0.2.2 → openai_agents-0.2.3}/tests/test_output_tool.py +0 -0
  412. {openai_agents-0.2.2 → openai_agents-0.2.3}/tests/test_pretty_print.py +0 -0
  413. {openai_agents-0.2.2 → openai_agents-0.2.3}/tests/test_reasoning_content.py +0 -0
  414. {openai_agents-0.2.2 → openai_agents-0.2.3}/tests/test_repl.py +0 -0
  415. {openai_agents-0.2.2 → openai_agents-0.2.3}/tests/test_responses.py +0 -0
  416. {openai_agents-0.2.2 → openai_agents-0.2.3}/tests/test_responses_tracing.py +0 -0
  417. {openai_agents-0.2.2 → openai_agents-0.2.3}/tests/test_result_cast.py +0 -0
  418. {openai_agents-0.2.2 → openai_agents-0.2.3}/tests/test_run.py +0 -0
  419. {openai_agents-0.2.2 → openai_agents-0.2.3}/tests/test_run_config.py +0 -0
  420. {openai_agents-0.2.2 → openai_agents-0.2.3}/tests/test_run_error_details.py +0 -0
  421. {openai_agents-0.2.2 → openai_agents-0.2.3}/tests/test_run_step_execution.py +0 -0
  422. {openai_agents-0.2.2 → openai_agents-0.2.3}/tests/test_run_step_processing.py +0 -0
  423. {openai_agents-0.2.2 → openai_agents-0.2.3}/tests/test_session.py +0 -0
  424. {openai_agents-0.2.2 → openai_agents-0.2.3}/tests/test_session_exceptions.py +0 -0
  425. {openai_agents-0.2.2 → openai_agents-0.2.3}/tests/test_strict_schema.py +0 -0
  426. {openai_agents-0.2.2 → openai_agents-0.2.3}/tests/test_tool_choice_reset.py +0 -0
  427. {openai_agents-0.2.2 → openai_agents-0.2.3}/tests/test_tool_converter.py +0 -0
  428. {openai_agents-0.2.2 → openai_agents-0.2.3}/tests/test_tool_use_behavior.py +0 -0
  429. {openai_agents-0.2.2 → openai_agents-0.2.3}/tests/test_trace_processor.py +0 -0
  430. {openai_agents-0.2.2 → openai_agents-0.2.3}/tests/test_tracing.py +0 -0
  431. {openai_agents-0.2.2 → openai_agents-0.2.3}/tests/test_tracing_errors.py +0 -0
  432. {openai_agents-0.2.2 → openai_agents-0.2.3}/tests/test_tracing_errors_streamed.py +0 -0
  433. {openai_agents-0.2.2 → openai_agents-0.2.3}/tests/test_usage.py +0 -0
  434. {openai_agents-0.2.2 → openai_agents-0.2.3}/tests/test_visualization.py +0 -0
  435. {openai_agents-0.2.2 → openai_agents-0.2.3}/tests/testing_processor.py +0 -0
  436. {openai_agents-0.2.2 → openai_agents-0.2.3}/tests/tracing/test_processor_api_key.py +0 -0
  437. {openai_agents-0.2.2 → openai_agents-0.2.3}/tests/voice/__init__.py +0 -0
  438. {openai_agents-0.2.2 → openai_agents-0.2.3}/tests/voice/conftest.py +0 -0
  439. {openai_agents-0.2.2 → openai_agents-0.2.3}/tests/voice/fake_models.py +0 -0
  440. {openai_agents-0.2.2 → openai_agents-0.2.3}/tests/voice/helpers.py +0 -0
  441. {openai_agents-0.2.2 → openai_agents-0.2.3}/tests/voice/test_input.py +0 -0
  442. {openai_agents-0.2.2 → openai_agents-0.2.3}/tests/voice/test_openai_stt.py +0 -0
  443. {openai_agents-0.2.2 → openai_agents-0.2.3}/tests/voice/test_openai_tts.py +0 -0
  444. {openai_agents-0.2.2 → openai_agents-0.2.3}/tests/voice/test_pipeline.py +0 -0
  445. {openai_agents-0.2.2 → openai_agents-0.2.3}/tests/voice/test_workflow.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: openai-agents
3
- Version: 0.2.2
3
+ Version: 0.2.3
4
4
  Summary: OpenAI Agents SDK
5
5
  Project-URL: Homepage, https://openai.github.io/openai-agents-python/
6
6
  Project-URL: Repository, https://github.com/openai/openai-agents-python
@@ -56,125 +56,19 @@ The OpenAI Agents SDK is a lightweight yet powerful framework for building multi
56
56
 
57
57
  Explore the [examples](examples) directory to see the SDK in action, and read our [documentation](https://openai.github.io/openai-agents-python/) for more details.
58
58
 
59
- ## Sessions
60
-
61
- The Agents SDK provides built-in session memory to automatically maintain conversation history across multiple agent runs, eliminating the need to manually handle `.to_input_list()` between turns.
62
-
63
- ### Quick start
64
-
65
- ```python
66
- from agents import Agent, Runner, SQLiteSession
67
-
68
- # Create agent
69
- agent = Agent(
70
- name="Assistant",
71
- instructions="Reply very concisely.",
72
- )
73
-
74
- # Create a session instance
75
- session = SQLiteSession("conversation_123")
76
-
77
- # First turn
78
- result = await Runner.run(
79
- agent,
80
- "What city is the Golden Gate Bridge in?",
81
- session=session
82
- )
83
- print(result.final_output) # "San Francisco"
84
-
85
- # Second turn - agent automatically remembers previous context
86
- result = await Runner.run(
87
- agent,
88
- "What state is it in?",
89
- session=session
90
- )
91
- print(result.final_output) # "California"
92
-
93
- # Also works with synchronous runner
94
- result = Runner.run_sync(
95
- agent,
96
- "What's the population?",
97
- session=session
98
- )
99
- print(result.final_output) # "Approximately 39 million"
100
- ```
101
-
102
- ### Session options
103
-
104
- - **No memory** (default): No session memory when session parameter is omitted
105
- - **`session: Session = DatabaseSession(...)`**: Use a Session instance to manage conversation history
106
-
107
- ```python
108
- from agents import Agent, Runner, SQLiteSession
109
-
110
- # Custom SQLite database file
111
- session = SQLiteSession("user_123", "conversations.db")
112
- agent = Agent(name="Assistant")
113
-
114
- # Different session IDs maintain separate conversation histories
115
- result1 = await Runner.run(
116
- agent,
117
- "Hello",
118
- session=session
119
- )
120
- result2 = await Runner.run(
121
- agent,
122
- "Hello",
123
- session=SQLiteSession("user_456", "conversations.db")
124
- )
125
- ```
126
-
127
- ### Custom session implementations
128
-
129
- You can implement your own session memory by creating a class that follows the `Session` protocol:
130
-
131
- ```python
132
- from agents.memory import Session
133
- from typing import List
134
-
135
- class MyCustomSession:
136
- """Custom session implementation following the Session protocol."""
137
-
138
- def __init__(self, session_id: str):
139
- self.session_id = session_id
140
- # Your initialization here
141
-
142
- async def get_items(self, limit: int | None = None) -> List[dict]:
143
- # Retrieve conversation history for the session
144
- pass
145
-
146
- async def add_items(self, items: List[dict]) -> None:
147
- # Store new items for the session
148
- pass
149
-
150
- async def pop_item(self) -> dict | None:
151
- # Remove and return the most recent item from the session
152
- pass
153
-
154
- async def clear_session(self) -> None:
155
- # Clear all items for the session
156
- pass
157
-
158
- # Use your custom session
159
- agent = Agent(name="Assistant")
160
- result = await Runner.run(
161
- agent,
162
- "Hello",
163
- session=MyCustomSession("my_session")
164
- )
165
- ```
166
-
167
59
  ## Get started
168
60
 
169
61
  1. Set up your Python environment
170
62
 
171
- - Option A: Using venv (traditional method)
63
+ - Option A: Using venv (traditional method)
64
+
172
65
  ```bash
173
66
  python -m venv env
174
67
  source env/bin/activate # On Windows: env\Scripts\activate
175
68
  ```
176
69
 
177
- - Option B: Using uv (recommended)
70
+ - Option B: Using uv (recommended)
71
+
178
72
  ```bash
179
73
  uv venv
180
74
  source .venv/bin/activate # On Windows: .venv\Scripts\activate
@@ -302,6 +196,114 @@ The Agents SDK is designed to be highly flexible, allowing you to model a wide r
302
196
 
303
197
  The Agents SDK automatically traces your agent runs, making it easy to track and debug the behavior of your agents. Tracing is extensible by design, supporting custom spans and a wide variety of external destinations, including [Logfire](https://logfire.pydantic.dev/docs/integrations/llms/openai/#openai-agents), [AgentOps](https://docs.agentops.ai/v1/integrations/agentssdk), [Braintrust](https://braintrust.dev/docs/guides/traces/integrations#openai-agents-sdk), [Scorecard](https://docs.scorecard.io/docs/documentation/features/tracing#openai-agents-sdk-integration), and [Keywords AI](https://docs.keywordsai.co/integration/development-frameworks/openai-agent). For more details about how to customize or disable tracing, see [Tracing](http://openai.github.io/openai-agents-python/tracing), which also includes a larger list of [external tracing processors](http://openai.github.io/openai-agents-python/tracing/#external-tracing-processors-list).
304
198
 
199
+ ## Sessions
200
+
201
+ The Agents SDK provides built-in session memory to automatically maintain conversation history across multiple agent runs, eliminating the need to manually handle `.to_input_list()` between turns.
202
+
203
+ ### Quick start
204
+
205
+ ```python
206
+ from agents import Agent, Runner, SQLiteSession
207
+
208
+ # Create agent
209
+ agent = Agent(
210
+ name="Assistant",
211
+ instructions="Reply very concisely.",
212
+ )
213
+
214
+ # Create a session instance
215
+ session = SQLiteSession("conversation_123")
216
+
217
+ # First turn
218
+ result = await Runner.run(
219
+ agent,
220
+ "What city is the Golden Gate Bridge in?",
221
+ session=session
222
+ )
223
+ print(result.final_output) # "San Francisco"
224
+
225
+ # Second turn - agent automatically remembers previous context
226
+ result = await Runner.run(
227
+ agent,
228
+ "What state is it in?",
229
+ session=session
230
+ )
231
+ print(result.final_output) # "California"
232
+
233
+ # Also works with synchronous runner
234
+ result = Runner.run_sync(
235
+ agent,
236
+ "What's the population?",
237
+ session=session
238
+ )
239
+ print(result.final_output) # "Approximately 39 million"
240
+ ```
241
+
242
+ ### Session options
243
+
244
+ - **No memory** (default): No session memory when session parameter is omitted
245
+ - **`session: Session = DatabaseSession(...)`**: Use a Session instance to manage conversation history
246
+
247
+ ```python
248
+ from agents import Agent, Runner, SQLiteSession
249
+
250
+ # Custom SQLite database file
251
+ session = SQLiteSession("user_123", "conversations.db")
252
+ agent = Agent(name="Assistant")
253
+
254
+ # Different session IDs maintain separate conversation histories
255
+ result1 = await Runner.run(
256
+ agent,
257
+ "Hello",
258
+ session=session
259
+ )
260
+ result2 = await Runner.run(
261
+ agent,
262
+ "Hello",
263
+ session=SQLiteSession("user_456", "conversations.db")
264
+ )
265
+ ```
266
+
267
+ ### Custom session implementations
268
+
269
+ You can implement your own session memory by creating a class that follows the `Session` protocol:
270
+
271
+ ```python
272
+ from agents.memory import Session
273
+ from typing import List
274
+
275
+ class MyCustomSession:
276
+ """Custom session implementation following the Session protocol."""
277
+
278
+ def __init__(self, session_id: str):
279
+ self.session_id = session_id
280
+ # Your initialization here
281
+
282
+ async def get_items(self, limit: int | None = None) -> List[dict]:
283
+ # Retrieve conversation history for the session
284
+ pass
285
+
286
+ async def add_items(self, items: List[dict]) -> None:
287
+ # Store new items for the session
288
+ pass
289
+
290
+ async def pop_item(self) -> dict | None:
291
+ # Remove and return the most recent item from the session
292
+ pass
293
+
294
+ async def clear_session(self) -> None:
295
+ # Clear all items for the session
296
+ pass
297
+
298
+ # Use your custom session
299
+ agent = Agent(name="Assistant")
300
+ result = await Runner.run(
301
+ agent,
302
+ "Hello",
303
+ session=MyCustomSession("my_session")
304
+ )
305
+ ```
306
+
305
307
  ## Development (only needed if you need to edit the SDK/examples)
306
308
 
307
309
  0. Ensure you have [`uv`](https://docs.astral.sh/uv/) installed.
@@ -323,6 +325,7 @@ make check # run tests linter and typechecker
323
325
  ```
324
326
 
325
327
  Or to run them individually:
328
+
326
329
  ```
327
330
  make tests # run tests
328
331
  make mypy # run typechecker
@@ -17,125 +17,19 @@ The OpenAI Agents SDK is a lightweight yet powerful framework for building multi
17
17
 
18
18
  Explore the [examples](examples) directory to see the SDK in action, and read our [documentation](https://openai.github.io/openai-agents-python/) for more details.
19
19
 
20
- ## Sessions
21
-
22
- The Agents SDK provides built-in session memory to automatically maintain conversation history across multiple agent runs, eliminating the need to manually handle `.to_input_list()` between turns.
23
-
24
- ### Quick start
25
-
26
- ```python
27
- from agents import Agent, Runner, SQLiteSession
28
-
29
- # Create agent
30
- agent = Agent(
31
- name="Assistant",
32
- instructions="Reply very concisely.",
33
- )
34
-
35
- # Create a session instance
36
- session = SQLiteSession("conversation_123")
37
-
38
- # First turn
39
- result = await Runner.run(
40
- agent,
41
- "What city is the Golden Gate Bridge in?",
42
- session=session
43
- )
44
- print(result.final_output) # "San Francisco"
45
-
46
- # Second turn - agent automatically remembers previous context
47
- result = await Runner.run(
48
- agent,
49
- "What state is it in?",
50
- session=session
51
- )
52
- print(result.final_output) # "California"
53
-
54
- # Also works with synchronous runner
55
- result = Runner.run_sync(
56
- agent,
57
- "What's the population?",
58
- session=session
59
- )
60
- print(result.final_output) # "Approximately 39 million"
61
- ```
62
-
63
- ### Session options
64
-
65
- - **No memory** (default): No session memory when session parameter is omitted
66
- - **`session: Session = DatabaseSession(...)`**: Use a Session instance to manage conversation history
67
-
68
- ```python
69
- from agents import Agent, Runner, SQLiteSession
70
-
71
- # Custom SQLite database file
72
- session = SQLiteSession("user_123", "conversations.db")
73
- agent = Agent(name="Assistant")
74
-
75
- # Different session IDs maintain separate conversation histories
76
- result1 = await Runner.run(
77
- agent,
78
- "Hello",
79
- session=session
80
- )
81
- result2 = await Runner.run(
82
- agent,
83
- "Hello",
84
- session=SQLiteSession("user_456", "conversations.db")
85
- )
86
- ```
87
-
88
- ### Custom session implementations
89
-
90
- You can implement your own session memory by creating a class that follows the `Session` protocol:
91
-
92
- ```python
93
- from agents.memory import Session
94
- from typing import List
95
-
96
- class MyCustomSession:
97
- """Custom session implementation following the Session protocol."""
98
-
99
- def __init__(self, session_id: str):
100
- self.session_id = session_id
101
- # Your initialization here
102
-
103
- async def get_items(self, limit: int | None = None) -> List[dict]:
104
- # Retrieve conversation history for the session
105
- pass
106
-
107
- async def add_items(self, items: List[dict]) -> None:
108
- # Store new items for the session
109
- pass
110
-
111
- async def pop_item(self) -> dict | None:
112
- # Remove and return the most recent item from the session
113
- pass
114
-
115
- async def clear_session(self) -> None:
116
- # Clear all items for the session
117
- pass
118
-
119
- # Use your custom session
120
- agent = Agent(name="Assistant")
121
- result = await Runner.run(
122
- agent,
123
- "Hello",
124
- session=MyCustomSession("my_session")
125
- )
126
- ```
127
-
128
20
  ## Get started
129
21
 
130
22
  1. Set up your Python environment
131
23
 
132
- - Option A: Using venv (traditional method)
24
+ - Option A: Using venv (traditional method)
25
+
133
26
  ```bash
134
27
  python -m venv env
135
28
  source env/bin/activate # On Windows: env\Scripts\activate
136
29
  ```
137
30
 
138
- - Option B: Using uv (recommended)
31
+ - Option B: Using uv (recommended)
32
+
139
33
  ```bash
140
34
  uv venv
141
35
  source .venv/bin/activate # On Windows: .venv\Scripts\activate
@@ -263,6 +157,114 @@ The Agents SDK is designed to be highly flexible, allowing you to model a wide r
263
157
 
264
158
  The Agents SDK automatically traces your agent runs, making it easy to track and debug the behavior of your agents. Tracing is extensible by design, supporting custom spans and a wide variety of external destinations, including [Logfire](https://logfire.pydantic.dev/docs/integrations/llms/openai/#openai-agents), [AgentOps](https://docs.agentops.ai/v1/integrations/agentssdk), [Braintrust](https://braintrust.dev/docs/guides/traces/integrations#openai-agents-sdk), [Scorecard](https://docs.scorecard.io/docs/documentation/features/tracing#openai-agents-sdk-integration), and [Keywords AI](https://docs.keywordsai.co/integration/development-frameworks/openai-agent). For more details about how to customize or disable tracing, see [Tracing](http://openai.github.io/openai-agents-python/tracing), which also includes a larger list of [external tracing processors](http://openai.github.io/openai-agents-python/tracing/#external-tracing-processors-list).
265
159
 
160
+ ## Sessions
161
+
162
+ The Agents SDK provides built-in session memory to automatically maintain conversation history across multiple agent runs, eliminating the need to manually handle `.to_input_list()` between turns.
163
+
164
+ ### Quick start
165
+
166
+ ```python
167
+ from agents import Agent, Runner, SQLiteSession
168
+
169
+ # Create agent
170
+ agent = Agent(
171
+ name="Assistant",
172
+ instructions="Reply very concisely.",
173
+ )
174
+
175
+ # Create a session instance
176
+ session = SQLiteSession("conversation_123")
177
+
178
+ # First turn
179
+ result = await Runner.run(
180
+ agent,
181
+ "What city is the Golden Gate Bridge in?",
182
+ session=session
183
+ )
184
+ print(result.final_output) # "San Francisco"
185
+
186
+ # Second turn - agent automatically remembers previous context
187
+ result = await Runner.run(
188
+ agent,
189
+ "What state is it in?",
190
+ session=session
191
+ )
192
+ print(result.final_output) # "California"
193
+
194
+ # Also works with synchronous runner
195
+ result = Runner.run_sync(
196
+ agent,
197
+ "What's the population?",
198
+ session=session
199
+ )
200
+ print(result.final_output) # "Approximately 39 million"
201
+ ```
202
+
203
+ ### Session options
204
+
205
+ - **No memory** (default): No session memory when session parameter is omitted
206
+ - **`session: Session = DatabaseSession(...)`**: Use a Session instance to manage conversation history
207
+
208
+ ```python
209
+ from agents import Agent, Runner, SQLiteSession
210
+
211
+ # Custom SQLite database file
212
+ session = SQLiteSession("user_123", "conversations.db")
213
+ agent = Agent(name="Assistant")
214
+
215
+ # Different session IDs maintain separate conversation histories
216
+ result1 = await Runner.run(
217
+ agent,
218
+ "Hello",
219
+ session=session
220
+ )
221
+ result2 = await Runner.run(
222
+ agent,
223
+ "Hello",
224
+ session=SQLiteSession("user_456", "conversations.db")
225
+ )
226
+ ```
227
+
228
+ ### Custom session implementations
229
+
230
+ You can implement your own session memory by creating a class that follows the `Session` protocol:
231
+
232
+ ```python
233
+ from agents.memory import Session
234
+ from typing import List
235
+
236
+ class MyCustomSession:
237
+ """Custom session implementation following the Session protocol."""
238
+
239
+ def __init__(self, session_id: str):
240
+ self.session_id = session_id
241
+ # Your initialization here
242
+
243
+ async def get_items(self, limit: int | None = None) -> List[dict]:
244
+ # Retrieve conversation history for the session
245
+ pass
246
+
247
+ async def add_items(self, items: List[dict]) -> None:
248
+ # Store new items for the session
249
+ pass
250
+
251
+ async def pop_item(self) -> dict | None:
252
+ # Remove and return the most recent item from the session
253
+ pass
254
+
255
+ async def clear_session(self) -> None:
256
+ # Clear all items for the session
257
+ pass
258
+
259
+ # Use your custom session
260
+ agent = Agent(name="Assistant")
261
+ result = await Runner.run(
262
+ agent,
263
+ "Hello",
264
+ session=MyCustomSession("my_session")
265
+ )
266
+ ```
267
+
266
268
  ## Development (only needed if you need to edit the SDK/examples)
267
269
 
268
270
  0. Ensure you have [`uv`](https://docs.astral.sh/uv/) installed.
@@ -284,6 +286,7 @@ make check # run tests linter and typechecker
284
286
  ```
285
287
 
286
288
  Or to run them individually:
289
+
287
290
  ```
288
291
  make tests # run tests
289
292
  make mypy # run typechecker
@@ -0,0 +1,152 @@
1
+ ---
2
+ search:
3
+ exclude: true
4
+ ---
5
+ # エージェント
6
+
7
+ エージェントはアプリの中心的な構成要素です。エージェントは、instructions と tools で設定された大規模言語モデル ( LLM ) です。
8
+
9
+ ## 基本設定
10
+
11
+ エージェントでよく設定するプロパティは次のとおりです。
12
+
13
+ - `name`: エージェントを識別する必須の文字列です。
14
+ - `instructions`: developer message(開発者メッセージ)または システムプロンプト とも呼ばれます。
15
+ - `model`: 使用する LLM を指定します。また、temperature や top_p などのモデル調整パラメーターを設定する `model_settings` を任意で指定できます。
16
+ - `tools`: エージェントがタスクを達成するために使用できる tools です。
17
+
18
+ ```python
19
+ from agents import Agent, ModelSettings, function_tool
20
+
21
+ @function_tool
22
+ def get_weather(city: str) -> str:
23
+ return f"The weather in {city} is sunny"
24
+
25
+ agent = Agent(
26
+ name="Haiku agent",
27
+ instructions="Always respond in haiku form",
28
+ model="o3-mini",
29
+ tools=[get_weather],
30
+ )
31
+ ```
32
+
33
+ ## コンテキスト
34
+
35
+ エージェントは汎用的な `context` 型を取ります。コンテキストは依存性注入用のツールで、あなたが作成して `Runner.run()` に渡すオブジェクトです。これはすべてのエージェント、tool、handoff などに渡され、実行時に必要な依存関係や状態を格納する入れ物として機能します。コンテキストには任意の Python オブジェクトを渡せます。
36
+
37
+ ```python
38
+ @dataclass
39
+ class UserContext:
40
+ uid: str
41
+ is_pro_user: bool
42
+
43
+ async def fetch_purchases() -> list[Purchase]:
44
+ return ...
45
+
46
+ agent = Agent[UserContext](
47
+ ...,
48
+ )
49
+ ```
50
+
51
+ ## 出力タイプ
52
+
53
+ デフォルトでは、エージェントはプレーンテキスト、つまり `str` を出力します。特定の型で出力させたい場合は、`output_type` パラメーターを使用します。一般的には [Pydantic](https://docs.pydantic.dev/) オブジェクトを使うことが多いですが、Pydantic の [TypeAdapter](https://docs.pydantic.dev/latest/api/type_adapter/) でラップできる型であれば何でもサポートされています。たとえば dataclass、list、TypedDict などです。
54
+
55
+ ```python
56
+ from pydantic import BaseModel
57
+ from agents import Agent
58
+
59
+
60
+ class CalendarEvent(BaseModel):
61
+ name: str
62
+ date: str
63
+ participants: list[str]
64
+
65
+ agent = Agent(
66
+ name="Calendar extractor",
67
+ instructions="Extract calendar events from text",
68
+ output_type=CalendarEvent,
69
+ )
70
+ ```
71
+
72
+ !!! note
73
+
74
+ `output_type` を渡すと、モデルは通常のプレーンテキスト応答ではなく structured outputs を使用するよう指示されます。
75
+
76
+ ## ハンドオフ
77
+
78
+ ハンドオフは、エージェントが委譲できるサブエージェントです。ハンドオフのリストを渡すと、エージェントは関連性がある場合にそれらへ委譲できます。これは、単一タスクに特化したモジュール型エージェントを編成する強力なパターンです。詳細は [ハンドオフ](handoffs.md) のドキュメントをご覧ください。
79
+
80
+ ```python
81
+ from agents import Agent
82
+
83
+ booking_agent = Agent(...)
84
+ refund_agent = Agent(...)
85
+
86
+ triage_agent = Agent(
87
+ name="Triage agent",
88
+ instructions=(
89
+ "Help the user with their questions."
90
+ "If they ask about booking, handoff to the booking agent."
91
+ "If they ask about refunds, handoff to the refund agent."
92
+ ),
93
+ handoffs=[booking_agent, refund_agent],
94
+ )
95
+ ```
96
+
97
+ ## 動的 instructions
98
+
99
+ 通常はエージェント作成時に instructions を渡しますが、関数を通じて動的に instructions を提供することもできます。この関数はエージェントとコンテキストを受け取り、プロンプトを返す必要があります。同期関数でも `async` 関数でも利用可能です。
100
+
101
+ ```python
102
+ def dynamic_instructions(
103
+ context: RunContextWrapper[UserContext], agent: Agent[UserContext]
104
+ ) -> str:
105
+ return f"The user's name is {context.context.name}. Help them with their questions."
106
+
107
+
108
+ agent = Agent[UserContext](
109
+ name="Triage agent",
110
+ instructions=dynamic_instructions,
111
+ )
112
+ ```
113
+
114
+ ## ライフサイクルイベント (hooks)
115
+
116
+ エージェントのライフサイクルを監視したい場合があります。たとえば、イベントをログに記録したり、特定のイベント発生時にデータを事前取得したりするケースです。`hooks` プロパティを使うことでエージェントのライフサイクルにフックを追加できます。[`AgentHooks`][agents.lifecycle.AgentHooks] クラスを継承し、必要なメソッドをオーバーライドしてください。
117
+
118
+ ## ガードレール
119
+
120
+ ガードレールを使うと、エージェントの実行と並行してユーザー入力に対するチェック/バリデーションを実行できます。たとえば、ユーザー入力の関連性をフィルタリングすることが可能です。詳細は [guardrails](guardrails.md) のドキュメントをご参照ください。
121
+
122
+ ## エージェントのクローンとコピー
123
+
124
+ エージェントの `clone()` メソッドを使用すると、エージェントを複製し、必要に応じて任意のプロパティを変更できます。
125
+
126
+ ```python
127
+ pirate_agent = Agent(
128
+ name="Pirate",
129
+ instructions="Write like a pirate",
130
+ model="o3-mini",
131
+ )
132
+
133
+ robot_agent = pirate_agent.clone(
134
+ name="Robot",
135
+ instructions="Write like a robot",
136
+ )
137
+ ```
138
+
139
+ ## ツール使用の強制
140
+
141
+ tools のリストを渡しても、LLM が必ずツールを使用するわけではありません。`ModelSettings.tool_choice` を設定することでツール使用を強制できます。設定可能な値は次のとおりです。
142
+
143
+ 1. `auto` : LLM がツールを使用するかどうかを判断します。
144
+ 2. `required` : LLM にツールの使用を必須とします (どのツールを使うかは LLM が判断)。
145
+ 3. `none` : LLM にツールを使用しないことを要求します。
146
+ 4. 特定の文字列 (例: `my_tool`) を設定すると、そのツールの使用を必須とします。
147
+
148
+ !!! note
149
+
150
+ 無限ループを防ぐため、フレームワークはツール呼び出し後に `tool_choice` を自動的に "auto" にリセットします。この挙動は [`agent.reset_tool_choice`][agents.agent.Agent.reset_tool_choice] で設定できます。無限ループが発生するのは、ツールの結果が LLM へ送られ、`tool_choice` により再びツール呼び出しが生成されるというサイクルが続くためです。
151
+
152
+ ツール呼び出し後に自動モードへ移行せず完全に処理を終了したい場合は、[`Agent.tool_use_behavior="stop_on_first_tool"`] を設定してください。これにより、ツールの出力をそのまま最終応答として使用し、追加の LLM 処理を行いません。