openai-agents 0.2.6__tar.gz → 0.2.7__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 (498) hide show
  1. {openai_agents-0.2.6 → openai_agents-0.2.7}/PKG-INFO +1 -1
  2. {openai_agents-0.2.6 → openai_agents-0.2.7}/docs/handoffs.md +1 -0
  3. {openai_agents-0.2.6 → openai_agents-0.2.7}/docs/ja/agents.md +26 -27
  4. openai_agents-0.2.7/docs/ja/config.md +98 -0
  5. openai_agents-0.2.7/docs/ja/context.md +82 -0
  6. openai_agents-0.2.7/docs/ja/examples.md +47 -0
  7. openai_agents-0.2.7/docs/ja/guardrails.md +158 -0
  8. openai_agents-0.2.7/docs/ja/handoffs.md +118 -0
  9. openai_agents-0.2.7/docs/ja/index.md +58 -0
  10. openai_agents-0.2.7/docs/ja/mcp.md +191 -0
  11. openai_agents-0.2.7/docs/ja/models/index.md +151 -0
  12. {openai_agents-0.2.6 → openai_agents-0.2.7}/docs/ja/models/litellm.md +11 -11
  13. openai_agents-0.2.7/docs/ja/multi_agent.md +41 -0
  14. {openai_agents-0.2.6 → openai_agents-0.2.7}/docs/ja/quickstart.md +21 -21
  15. openai_agents-0.2.7/docs/ja/realtime/guide.md +176 -0
  16. {openai_agents-0.2.6 → openai_agents-0.2.7}/docs/ja/realtime/quickstart.md +27 -28
  17. openai_agents-0.2.7/docs/ja/release.md +32 -0
  18. openai_agents-0.2.7/docs/ja/repl.md +23 -0
  19. openai_agents-0.2.7/docs/ja/results.md +56 -0
  20. openai_agents-0.2.7/docs/ja/running_agents.md +141 -0
  21. {openai_agents-0.2.6 → openai_agents-0.2.7}/docs/ja/sessions.md +31 -31
  22. {openai_agents-0.2.6 → openai_agents-0.2.7}/docs/ja/streaming.md +8 -8
  23. openai_agents-0.2.7/docs/ja/tools.md +347 -0
  24. openai_agents-0.2.7/docs/ja/tracing.md +150 -0
  25. openai_agents-0.2.7/docs/ja/visualization.md +105 -0
  26. openai_agents-0.2.7/docs/ja/voice/pipeline.md +79 -0
  27. {openai_agents-0.2.6 → openai_agents-0.2.7}/docs/ja/voice/quickstart.md +9 -9
  28. openai_agents-0.2.7/docs/ja/voice/tracing.md +18 -0
  29. openai_agents-0.2.7/docs/ref/memory/session.md +3 -0
  30. openai_agents-0.2.7/docs/ref/realtime/handoffs.md +3 -0
  31. openai_agents-0.2.7/docs/ref/realtime/items.md +3 -0
  32. openai_agents-0.2.7/docs/ref/realtime/model_events.md +3 -0
  33. openai_agents-0.2.7/docs/ref/realtime/model_inputs.md +3 -0
  34. openai_agents-0.2.7/docs/ref/realtime/openai_realtime.md +3 -0
  35. {openai_agents-0.2.6 → openai_agents-0.2.7}/docs/scripts/translate_docs.py +13 -3
  36. {openai_agents-0.2.6 → openai_agents-0.2.7}/docs/tools.md +21 -0
  37. {openai_agents-0.2.6 → openai_agents-0.2.7}/examples/basic/agent_lifecycle_example.py +10 -5
  38. openai_agents-0.2.7/examples/basic/hello_world_gpt_oss.py +38 -0
  39. openai_agents-0.2.7/examples/basic/simple_gpt_5.py +30 -0
  40. openai_agents-0.2.7/examples/realtime/app/agent.py +93 -0
  41. {openai_agents-0.2.6 → openai_agents-0.2.7}/pyproject.toml +1 -1
  42. {openai_agents-0.2.6 → openai_agents-0.2.7}/src/agents/agent.py +130 -2
  43. {openai_agents-0.2.6 → openai_agents-0.2.7}/src/agents/model_settings.py +4 -0
  44. {openai_agents-0.2.6 → openai_agents-0.2.7}/src/agents/models/openai_chatcompletions.py +1 -0
  45. {openai_agents-0.2.6 → openai_agents-0.2.7}/src/agents/models/openai_responses.py +5 -0
  46. {openai_agents-0.2.6 → openai_agents-0.2.7}/src/agents/realtime/session.py +14 -9
  47. {openai_agents-0.2.6 → openai_agents-0.2.7}/tests/model_settings/test_serialization.py +1 -0
  48. {openai_agents-0.2.6 → openai_agents-0.2.7}/tests/realtime/test_session.py +57 -4
  49. {openai_agents-0.2.6 → openai_agents-0.2.7}/tests/test_agent_config.py +57 -0
  50. openai_agents-0.2.7/tests/test_agent_instructions_signature.py +113 -0
  51. {openai_agents-0.2.6 → openai_agents-0.2.7}/tests/test_session.py +88 -0
  52. {openai_agents-0.2.6 → openai_agents-0.2.7}/uv.lock +1 -1
  53. openai_agents-0.2.6/docs/ja/config.md +0 -98
  54. openai_agents-0.2.6/docs/ja/context.md +0 -82
  55. openai_agents-0.2.6/docs/ja/examples.md +0 -47
  56. openai_agents-0.2.6/docs/ja/guardrails.md +0 -158
  57. openai_agents-0.2.6/docs/ja/handoffs.md +0 -117
  58. openai_agents-0.2.6/docs/ja/index.md +0 -58
  59. openai_agents-0.2.6/docs/ja/mcp.md +0 -191
  60. openai_agents-0.2.6/docs/ja/models/index.md +0 -153
  61. openai_agents-0.2.6/docs/ja/multi_agent.md +0 -50
  62. openai_agents-0.2.6/docs/ja/realtime/guide.md +0 -176
  63. openai_agents-0.2.6/docs/ja/release.md +0 -32
  64. openai_agents-0.2.6/docs/ja/repl.md +0 -23
  65. openai_agents-0.2.6/docs/ja/results.md +0 -56
  66. openai_agents-0.2.6/docs/ja/running_agents.md +0 -141
  67. openai_agents-0.2.6/docs/ja/tools.md +0 -326
  68. openai_agents-0.2.6/docs/ja/tracing.md +0 -152
  69. openai_agents-0.2.6/docs/ja/visualization.md +0 -105
  70. openai_agents-0.2.6/docs/ja/voice/pipeline.md +0 -86
  71. openai_agents-0.2.6/docs/ja/voice/tracing.md +0 -18
  72. openai_agents-0.2.6/examples/realtime/app/agent.py +0 -36
  73. {openai_agents-0.2.6 → openai_agents-0.2.7}/.github/ISSUE_TEMPLATE/bug_report.md +0 -0
  74. {openai_agents-0.2.6 → openai_agents-0.2.7}/.github/ISSUE_TEMPLATE/feature_request.md +0 -0
  75. {openai_agents-0.2.6 → openai_agents-0.2.7}/.github/ISSUE_TEMPLATE/model_provider.md +0 -0
  76. {openai_agents-0.2.6 → openai_agents-0.2.7}/.github/ISSUE_TEMPLATE/question.md +0 -0
  77. {openai_agents-0.2.6 → openai_agents-0.2.7}/.github/PULL_REQUEST_TEMPLATE/pull_request_template.md +0 -0
  78. {openai_agents-0.2.6 → openai_agents-0.2.7}/.github/codex/home/config.toml +0 -0
  79. {openai_agents-0.2.6 → openai_agents-0.2.7}/.github/codex/labels/codex-attempt.md +0 -0
  80. {openai_agents-0.2.6 → openai_agents-0.2.7}/.github/codex/labels/codex-review.md +0 -0
  81. {openai_agents-0.2.6 → openai_agents-0.2.7}/.github/codex/labels/codex-triage.md +0 -0
  82. {openai_agents-0.2.6 → openai_agents-0.2.7}/.github/workflows/codex.yml +0 -0
  83. {openai_agents-0.2.6 → openai_agents-0.2.7}/.github/workflows/docs.yml +0 -0
  84. {openai_agents-0.2.6 → openai_agents-0.2.7}/.github/workflows/issues.yml +0 -0
  85. {openai_agents-0.2.6 → openai_agents-0.2.7}/.github/workflows/publish.yml +0 -0
  86. {openai_agents-0.2.6 → openai_agents-0.2.7}/.github/workflows/tests.yml +0 -0
  87. {openai_agents-0.2.6 → openai_agents-0.2.7}/.github/workflows/update-docs.yml +0 -0
  88. {openai_agents-0.2.6 → openai_agents-0.2.7}/.gitignore +0 -0
  89. {openai_agents-0.2.6 → openai_agents-0.2.7}/.prettierrc +0 -0
  90. {openai_agents-0.2.6 → openai_agents-0.2.7}/.vscode/launch.json +0 -0
  91. {openai_agents-0.2.6 → openai_agents-0.2.7}/.vscode/settings.json +0 -0
  92. {openai_agents-0.2.6 → openai_agents-0.2.7}/AGENTS.md +0 -0
  93. {openai_agents-0.2.6 → openai_agents-0.2.7}/CLAUDE.md +0 -0
  94. {openai_agents-0.2.6 → openai_agents-0.2.7}/LICENSE +0 -0
  95. {openai_agents-0.2.6 → openai_agents-0.2.7}/Makefile +0 -0
  96. {openai_agents-0.2.6 → openai_agents-0.2.7}/README.md +0 -0
  97. {openai_agents-0.2.6 → openai_agents-0.2.7}/docs/agents.md +0 -0
  98. {openai_agents-0.2.6 → openai_agents-0.2.7}/docs/assets/images/favicon-platform.svg +0 -0
  99. {openai_agents-0.2.6 → openai_agents-0.2.7}/docs/assets/images/graph.png +0 -0
  100. {openai_agents-0.2.6 → openai_agents-0.2.7}/docs/assets/images/mcp-tracing.jpg +0 -0
  101. {openai_agents-0.2.6 → openai_agents-0.2.7}/docs/assets/images/orchestration.png +0 -0
  102. {openai_agents-0.2.6 → openai_agents-0.2.7}/docs/assets/logo.svg +0 -0
  103. {openai_agents-0.2.6 → openai_agents-0.2.7}/docs/config.md +0 -0
  104. {openai_agents-0.2.6 → openai_agents-0.2.7}/docs/context.md +0 -0
  105. {openai_agents-0.2.6 → openai_agents-0.2.7}/docs/examples.md +0 -0
  106. {openai_agents-0.2.6 → openai_agents-0.2.7}/docs/guardrails.md +0 -0
  107. {openai_agents-0.2.6 → openai_agents-0.2.7}/docs/index.md +0 -0
  108. {openai_agents-0.2.6 → openai_agents-0.2.7}/docs/mcp.md +0 -0
  109. {openai_agents-0.2.6 → openai_agents-0.2.7}/docs/models/index.md +0 -0
  110. {openai_agents-0.2.6 → openai_agents-0.2.7}/docs/models/litellm.md +0 -0
  111. {openai_agents-0.2.6 → openai_agents-0.2.7}/docs/multi_agent.md +0 -0
  112. {openai_agents-0.2.6 → openai_agents-0.2.7}/docs/quickstart.md +0 -0
  113. {openai_agents-0.2.6 → openai_agents-0.2.7}/docs/realtime/guide.md +0 -0
  114. {openai_agents-0.2.6 → openai_agents-0.2.7}/docs/realtime/quickstart.md +0 -0
  115. {openai_agents-0.2.6 → openai_agents-0.2.7}/docs/ref/agent.md +0 -0
  116. {openai_agents-0.2.6 → openai_agents-0.2.7}/docs/ref/agent_output.md +0 -0
  117. {openai_agents-0.2.6 → openai_agents-0.2.7}/docs/ref/computer.md +0 -0
  118. {openai_agents-0.2.6 → openai_agents-0.2.7}/docs/ref/exceptions.md +0 -0
  119. {openai_agents-0.2.6 → openai_agents-0.2.7}/docs/ref/extensions/handoff_filters.md +0 -0
  120. {openai_agents-0.2.6 → openai_agents-0.2.7}/docs/ref/extensions/handoff_prompt.md +0 -0
  121. {openai_agents-0.2.6 → openai_agents-0.2.7}/docs/ref/extensions/litellm.md +0 -0
  122. {openai_agents-0.2.6 → openai_agents-0.2.7}/docs/ref/extensions/models/litellm_model.md +0 -0
  123. {openai_agents-0.2.6 → openai_agents-0.2.7}/docs/ref/extensions/models/litellm_provider.md +0 -0
  124. {openai_agents-0.2.6 → openai_agents-0.2.7}/docs/ref/extensions/visualization.md +0 -0
  125. {openai_agents-0.2.6 → openai_agents-0.2.7}/docs/ref/function_schema.md +0 -0
  126. {openai_agents-0.2.6 → openai_agents-0.2.7}/docs/ref/guardrail.md +0 -0
  127. {openai_agents-0.2.6 → openai_agents-0.2.7}/docs/ref/handoffs.md +0 -0
  128. {openai_agents-0.2.6 → openai_agents-0.2.7}/docs/ref/index.md +0 -0
  129. {openai_agents-0.2.6 → openai_agents-0.2.7}/docs/ref/items.md +0 -0
  130. {openai_agents-0.2.6 → openai_agents-0.2.7}/docs/ref/lifecycle.md +0 -0
  131. {openai_agents-0.2.6 → openai_agents-0.2.7}/docs/ref/logger.md +0 -0
  132. {openai_agents-0.2.6 → openai_agents-0.2.7}/docs/ref/mcp/server.md +0 -0
  133. {openai_agents-0.2.6 → openai_agents-0.2.7}/docs/ref/mcp/util.md +0 -0
  134. {openai_agents-0.2.6 → openai_agents-0.2.7}/docs/ref/memory.md +0 -0
  135. {openai_agents-0.2.6 → openai_agents-0.2.7}/docs/ref/model_settings.md +0 -0
  136. {openai_agents-0.2.6 → openai_agents-0.2.7}/docs/ref/models/chatcmpl_converter.md +0 -0
  137. {openai_agents-0.2.6 → openai_agents-0.2.7}/docs/ref/models/chatcmpl_helpers.md +0 -0
  138. {openai_agents-0.2.6 → openai_agents-0.2.7}/docs/ref/models/chatcmpl_stream_handler.md +0 -0
  139. {openai_agents-0.2.6 → openai_agents-0.2.7}/docs/ref/models/fake_id.md +0 -0
  140. {openai_agents-0.2.6 → openai_agents-0.2.7}/docs/ref/models/interface.md +0 -0
  141. {openai_agents-0.2.6 → openai_agents-0.2.7}/docs/ref/models/multi_provider.md +0 -0
  142. {openai_agents-0.2.6 → openai_agents-0.2.7}/docs/ref/models/openai_chatcompletions.md +0 -0
  143. {openai_agents-0.2.6 → openai_agents-0.2.7}/docs/ref/models/openai_provider.md +0 -0
  144. {openai_agents-0.2.6 → openai_agents-0.2.7}/docs/ref/models/openai_responses.md +0 -0
  145. {openai_agents-0.2.6 → openai_agents-0.2.7}/docs/ref/prompts.md +0 -0
  146. {openai_agents-0.2.6 → openai_agents-0.2.7}/docs/ref/realtime/agent.md +0 -0
  147. {openai_agents-0.2.6 → openai_agents-0.2.7}/docs/ref/realtime/config.md +0 -0
  148. {openai_agents-0.2.6 → openai_agents-0.2.7}/docs/ref/realtime/events.md +0 -0
  149. {openai_agents-0.2.6 → openai_agents-0.2.7}/docs/ref/realtime/model.md +0 -0
  150. {openai_agents-0.2.6 → openai_agents-0.2.7}/docs/ref/realtime/runner.md +0 -0
  151. {openai_agents-0.2.6 → openai_agents-0.2.7}/docs/ref/realtime/session.md +0 -0
  152. {openai_agents-0.2.6 → openai_agents-0.2.7}/docs/ref/repl.md +0 -0
  153. {openai_agents-0.2.6 → openai_agents-0.2.7}/docs/ref/result.md +0 -0
  154. {openai_agents-0.2.6 → openai_agents-0.2.7}/docs/ref/run.md +0 -0
  155. {openai_agents-0.2.6 → openai_agents-0.2.7}/docs/ref/run_context.md +0 -0
  156. {openai_agents-0.2.6 → openai_agents-0.2.7}/docs/ref/stream_events.md +0 -0
  157. {openai_agents-0.2.6 → openai_agents-0.2.7}/docs/ref/strict_schema.md +0 -0
  158. {openai_agents-0.2.6 → openai_agents-0.2.7}/docs/ref/tool.md +0 -0
  159. {openai_agents-0.2.6 → openai_agents-0.2.7}/docs/ref/tool_context.md +0 -0
  160. {openai_agents-0.2.6 → openai_agents-0.2.7}/docs/ref/tracing/create.md +0 -0
  161. {openai_agents-0.2.6 → openai_agents-0.2.7}/docs/ref/tracing/index.md +0 -0
  162. {openai_agents-0.2.6 → openai_agents-0.2.7}/docs/ref/tracing/logger.md +0 -0
  163. {openai_agents-0.2.6 → openai_agents-0.2.7}/docs/ref/tracing/processor_interface.md +0 -0
  164. {openai_agents-0.2.6 → openai_agents-0.2.7}/docs/ref/tracing/processors.md +0 -0
  165. {openai_agents-0.2.6 → openai_agents-0.2.7}/docs/ref/tracing/provider.md +0 -0
  166. {openai_agents-0.2.6 → openai_agents-0.2.7}/docs/ref/tracing/scope.md +0 -0
  167. {openai_agents-0.2.6 → openai_agents-0.2.7}/docs/ref/tracing/setup.md +0 -0
  168. {openai_agents-0.2.6 → openai_agents-0.2.7}/docs/ref/tracing/span_data.md +0 -0
  169. {openai_agents-0.2.6 → openai_agents-0.2.7}/docs/ref/tracing/spans.md +0 -0
  170. {openai_agents-0.2.6 → openai_agents-0.2.7}/docs/ref/tracing/traces.md +0 -0
  171. {openai_agents-0.2.6 → openai_agents-0.2.7}/docs/ref/tracing/util.md +0 -0
  172. {openai_agents-0.2.6 → openai_agents-0.2.7}/docs/ref/usage.md +0 -0
  173. {openai_agents-0.2.6 → openai_agents-0.2.7}/docs/ref/version.md +0 -0
  174. {openai_agents-0.2.6 → openai_agents-0.2.7}/docs/ref/voice/events.md +0 -0
  175. {openai_agents-0.2.6 → openai_agents-0.2.7}/docs/ref/voice/exceptions.md +0 -0
  176. {openai_agents-0.2.6 → openai_agents-0.2.7}/docs/ref/voice/imports.md +0 -0
  177. {openai_agents-0.2.6 → openai_agents-0.2.7}/docs/ref/voice/input.md +0 -0
  178. {openai_agents-0.2.6 → openai_agents-0.2.7}/docs/ref/voice/model.md +0 -0
  179. {openai_agents-0.2.6 → openai_agents-0.2.7}/docs/ref/voice/models/openai_model_provider.md +0 -0
  180. {openai_agents-0.2.6 → openai_agents-0.2.7}/docs/ref/voice/models/openai_provider.md +0 -0
  181. {openai_agents-0.2.6 → openai_agents-0.2.7}/docs/ref/voice/models/openai_stt.md +0 -0
  182. {openai_agents-0.2.6 → openai_agents-0.2.7}/docs/ref/voice/models/openai_tts.md +0 -0
  183. {openai_agents-0.2.6 → openai_agents-0.2.7}/docs/ref/voice/pipeline.md +0 -0
  184. {openai_agents-0.2.6 → openai_agents-0.2.7}/docs/ref/voice/pipeline_config.md +0 -0
  185. {openai_agents-0.2.6 → openai_agents-0.2.7}/docs/ref/voice/result.md +0 -0
  186. {openai_agents-0.2.6 → openai_agents-0.2.7}/docs/ref/voice/utils.md +0 -0
  187. {openai_agents-0.2.6 → openai_agents-0.2.7}/docs/ref/voice/workflow.md +0 -0
  188. {openai_agents-0.2.6 → openai_agents-0.2.7}/docs/release.md +0 -0
  189. {openai_agents-0.2.6 → openai_agents-0.2.7}/docs/repl.md +0 -0
  190. {openai_agents-0.2.6 → openai_agents-0.2.7}/docs/results.md +0 -0
  191. {openai_agents-0.2.6 → openai_agents-0.2.7}/docs/running_agents.md +0 -0
  192. {openai_agents-0.2.6 → openai_agents-0.2.7}/docs/scripts/generate_ref_files.py +0 -0
  193. {openai_agents-0.2.6 → openai_agents-0.2.7}/docs/sessions.md +0 -0
  194. {openai_agents-0.2.6 → openai_agents-0.2.7}/docs/streaming.md +0 -0
  195. {openai_agents-0.2.6 → openai_agents-0.2.7}/docs/stylesheets/extra.css +0 -0
  196. {openai_agents-0.2.6 → openai_agents-0.2.7}/docs/tracing.md +0 -0
  197. {openai_agents-0.2.6 → openai_agents-0.2.7}/docs/visualization.md +0 -0
  198. {openai_agents-0.2.6 → openai_agents-0.2.7}/docs/voice/pipeline.md +0 -0
  199. {openai_agents-0.2.6 → openai_agents-0.2.7}/docs/voice/quickstart.md +0 -0
  200. {openai_agents-0.2.6 → openai_agents-0.2.7}/docs/voice/tracing.md +0 -0
  201. {openai_agents-0.2.6 → openai_agents-0.2.7}/examples/__init__.py +0 -0
  202. {openai_agents-0.2.6 → openai_agents-0.2.7}/examples/agent_patterns/README.md +0 -0
  203. {openai_agents-0.2.6 → openai_agents-0.2.7}/examples/agent_patterns/agents_as_tools.py +0 -0
  204. {openai_agents-0.2.6 → openai_agents-0.2.7}/examples/agent_patterns/deterministic.py +0 -0
  205. {openai_agents-0.2.6 → openai_agents-0.2.7}/examples/agent_patterns/forcing_tool_use.py +0 -0
  206. {openai_agents-0.2.6 → openai_agents-0.2.7}/examples/agent_patterns/input_guardrails.py +0 -0
  207. {openai_agents-0.2.6 → openai_agents-0.2.7}/examples/agent_patterns/llm_as_a_judge.py +0 -0
  208. {openai_agents-0.2.6 → openai_agents-0.2.7}/examples/agent_patterns/output_guardrails.py +0 -0
  209. {openai_agents-0.2.6 → openai_agents-0.2.7}/examples/agent_patterns/parallelization.py +0 -0
  210. {openai_agents-0.2.6 → openai_agents-0.2.7}/examples/agent_patterns/routing.py +0 -0
  211. {openai_agents-0.2.6 → openai_agents-0.2.7}/examples/agent_patterns/streaming_guardrails.py +0 -0
  212. {openai_agents-0.2.6 → openai_agents-0.2.7}/examples/basic/dynamic_system_prompt.py +0 -0
  213. {openai_agents-0.2.6 → openai_agents-0.2.7}/examples/basic/hello_world.py +0 -0
  214. {openai_agents-0.2.6 → openai_agents-0.2.7}/examples/basic/hello_world_jupyter.ipynb +0 -0
  215. {openai_agents-0.2.6 → openai_agents-0.2.7}/examples/basic/lifecycle_example.py +0 -0
  216. {openai_agents-0.2.6 → openai_agents-0.2.7}/examples/basic/local_image.py +0 -0
  217. {openai_agents-0.2.6 → openai_agents-0.2.7}/examples/basic/media/image_bison.jpg +0 -0
  218. {openai_agents-0.2.6 → openai_agents-0.2.7}/examples/basic/non_strict_output_type.py +0 -0
  219. {openai_agents-0.2.6 → openai_agents-0.2.7}/examples/basic/previous_response_id.py +0 -0
  220. {openai_agents-0.2.6 → openai_agents-0.2.7}/examples/basic/prompt_template.py +0 -0
  221. {openai_agents-0.2.6 → openai_agents-0.2.7}/examples/basic/remote_image.py +0 -0
  222. {openai_agents-0.2.6 → openai_agents-0.2.7}/examples/basic/remote_pdf.py +0 -0
  223. {openai_agents-0.2.6 → openai_agents-0.2.7}/examples/basic/session_example.py +0 -0
  224. {openai_agents-0.2.6 → openai_agents-0.2.7}/examples/basic/stream_function_call_args.py +0 -0
  225. {openai_agents-0.2.6 → openai_agents-0.2.7}/examples/basic/stream_items.py +0 -0
  226. {openai_agents-0.2.6 → openai_agents-0.2.7}/examples/basic/stream_text.py +0 -0
  227. {openai_agents-0.2.6 → openai_agents-0.2.7}/examples/basic/tools.py +0 -0
  228. {openai_agents-0.2.6 → openai_agents-0.2.7}/examples/customer_service/main.py +0 -0
  229. {openai_agents-0.2.6 → openai_agents-0.2.7}/examples/financial_research_agent/README.md +0 -0
  230. {openai_agents-0.2.6 → openai_agents-0.2.7}/examples/financial_research_agent/__init__.py +0 -0
  231. {openai_agents-0.2.6 → openai_agents-0.2.7}/examples/financial_research_agent/agents/__init__.py +0 -0
  232. {openai_agents-0.2.6 → openai_agents-0.2.7}/examples/financial_research_agent/agents/financials_agent.py +0 -0
  233. {openai_agents-0.2.6 → openai_agents-0.2.7}/examples/financial_research_agent/agents/planner_agent.py +0 -0
  234. {openai_agents-0.2.6 → openai_agents-0.2.7}/examples/financial_research_agent/agents/risk_agent.py +0 -0
  235. {openai_agents-0.2.6 → openai_agents-0.2.7}/examples/financial_research_agent/agents/search_agent.py +0 -0
  236. {openai_agents-0.2.6 → openai_agents-0.2.7}/examples/financial_research_agent/agents/verifier_agent.py +0 -0
  237. {openai_agents-0.2.6 → openai_agents-0.2.7}/examples/financial_research_agent/agents/writer_agent.py +0 -0
  238. {openai_agents-0.2.6 → openai_agents-0.2.7}/examples/financial_research_agent/main.py +0 -0
  239. {openai_agents-0.2.6 → openai_agents-0.2.7}/examples/financial_research_agent/manager.py +0 -0
  240. {openai_agents-0.2.6 → openai_agents-0.2.7}/examples/financial_research_agent/printer.py +0 -0
  241. {openai_agents-0.2.6 → openai_agents-0.2.7}/examples/handoffs/message_filter.py +0 -0
  242. {openai_agents-0.2.6 → openai_agents-0.2.7}/examples/handoffs/message_filter_streaming.py +0 -0
  243. {openai_agents-0.2.6 → openai_agents-0.2.7}/examples/hosted_mcp/__init__.py +0 -0
  244. {openai_agents-0.2.6 → openai_agents-0.2.7}/examples/hosted_mcp/approvals.py +0 -0
  245. {openai_agents-0.2.6 → openai_agents-0.2.7}/examples/hosted_mcp/simple.py +0 -0
  246. {openai_agents-0.2.6 → openai_agents-0.2.7}/examples/mcp/filesystem_example/README.md +0 -0
  247. {openai_agents-0.2.6 → openai_agents-0.2.7}/examples/mcp/filesystem_example/main.py +0 -0
  248. {openai_agents-0.2.6 → openai_agents-0.2.7}/examples/mcp/filesystem_example/sample_files/favorite_books.txt +0 -0
  249. {openai_agents-0.2.6 → openai_agents-0.2.7}/examples/mcp/filesystem_example/sample_files/favorite_cities.txt +0 -0
  250. {openai_agents-0.2.6 → openai_agents-0.2.7}/examples/mcp/filesystem_example/sample_files/favorite_songs.txt +0 -0
  251. {openai_agents-0.2.6 → openai_agents-0.2.7}/examples/mcp/git_example/README.md +0 -0
  252. {openai_agents-0.2.6 → openai_agents-0.2.7}/examples/mcp/git_example/main.py +0 -0
  253. {openai_agents-0.2.6 → openai_agents-0.2.7}/examples/mcp/prompt_server/README.md +0 -0
  254. {openai_agents-0.2.6 → openai_agents-0.2.7}/examples/mcp/prompt_server/main.py +0 -0
  255. {openai_agents-0.2.6 → openai_agents-0.2.7}/examples/mcp/prompt_server/server.py +0 -0
  256. {openai_agents-0.2.6 → openai_agents-0.2.7}/examples/mcp/sse_example/README.md +0 -0
  257. {openai_agents-0.2.6 → openai_agents-0.2.7}/examples/mcp/sse_example/main.py +0 -0
  258. {openai_agents-0.2.6 → openai_agents-0.2.7}/examples/mcp/sse_example/server.py +0 -0
  259. {openai_agents-0.2.6 → openai_agents-0.2.7}/examples/mcp/streamablehttp_example/README.md +0 -0
  260. {openai_agents-0.2.6 → openai_agents-0.2.7}/examples/mcp/streamablehttp_example/main.py +0 -0
  261. {openai_agents-0.2.6 → openai_agents-0.2.7}/examples/mcp/streamablehttp_example/server.py +0 -0
  262. {openai_agents-0.2.6 → openai_agents-0.2.7}/examples/model_providers/README.md +0 -0
  263. {openai_agents-0.2.6 → openai_agents-0.2.7}/examples/model_providers/custom_example_agent.py +0 -0
  264. {openai_agents-0.2.6 → openai_agents-0.2.7}/examples/model_providers/custom_example_global.py +0 -0
  265. {openai_agents-0.2.6 → openai_agents-0.2.7}/examples/model_providers/custom_example_provider.py +0 -0
  266. {openai_agents-0.2.6 → openai_agents-0.2.7}/examples/model_providers/litellm_auto.py +0 -0
  267. {openai_agents-0.2.6 → openai_agents-0.2.7}/examples/model_providers/litellm_provider.py +0 -0
  268. {openai_agents-0.2.6 → openai_agents-0.2.7}/examples/realtime/app/README.md +0 -0
  269. {openai_agents-0.2.6 → openai_agents-0.2.7}/examples/realtime/app/server.py +0 -0
  270. {openai_agents-0.2.6 → openai_agents-0.2.7}/examples/realtime/app/static/app.js +0 -0
  271. {openai_agents-0.2.6 → openai_agents-0.2.7}/examples/realtime/app/static/index.html +0 -0
  272. {openai_agents-0.2.6 → openai_agents-0.2.7}/examples/realtime/cli/demo.py +0 -0
  273. {openai_agents-0.2.6 → openai_agents-0.2.7}/examples/realtime/cli/ui.py +0 -0
  274. {openai_agents-0.2.6 → openai_agents-0.2.7}/examples/realtime/twilio/README.md +0 -0
  275. {openai_agents-0.2.6 → openai_agents-0.2.7}/examples/realtime/twilio/__init__.py +0 -0
  276. {openai_agents-0.2.6 → openai_agents-0.2.7}/examples/realtime/twilio/requirements.txt +0 -0
  277. {openai_agents-0.2.6 → openai_agents-0.2.7}/examples/realtime/twilio/server.py +0 -0
  278. {openai_agents-0.2.6 → openai_agents-0.2.7}/examples/realtime/twilio/twilio_handler.py +0 -0
  279. {openai_agents-0.2.6 → openai_agents-0.2.7}/examples/reasoning_content/__init__.py +0 -0
  280. {openai_agents-0.2.6 → openai_agents-0.2.7}/examples/reasoning_content/main.py +0 -0
  281. {openai_agents-0.2.6 → openai_agents-0.2.7}/examples/reasoning_content/runner_example.py +0 -0
  282. {openai_agents-0.2.6 → openai_agents-0.2.7}/examples/research_bot/README.md +0 -0
  283. {openai_agents-0.2.6 → openai_agents-0.2.7}/examples/research_bot/__init__.py +0 -0
  284. {openai_agents-0.2.6 → openai_agents-0.2.7}/examples/research_bot/agents/__init__.py +0 -0
  285. {openai_agents-0.2.6 → openai_agents-0.2.7}/examples/research_bot/agents/planner_agent.py +0 -0
  286. {openai_agents-0.2.6 → openai_agents-0.2.7}/examples/research_bot/agents/search_agent.py +0 -0
  287. {openai_agents-0.2.6 → openai_agents-0.2.7}/examples/research_bot/agents/writer_agent.py +0 -0
  288. {openai_agents-0.2.6 → openai_agents-0.2.7}/examples/research_bot/main.py +0 -0
  289. {openai_agents-0.2.6 → openai_agents-0.2.7}/examples/research_bot/manager.py +0 -0
  290. {openai_agents-0.2.6 → openai_agents-0.2.7}/examples/research_bot/printer.py +0 -0
  291. {openai_agents-0.2.6 → openai_agents-0.2.7}/examples/research_bot/sample_outputs/product_recs.md +0 -0
  292. {openai_agents-0.2.6 → openai_agents-0.2.7}/examples/research_bot/sample_outputs/product_recs.txt +0 -0
  293. {openai_agents-0.2.6 → openai_agents-0.2.7}/examples/research_bot/sample_outputs/vacation.md +0 -0
  294. {openai_agents-0.2.6 → openai_agents-0.2.7}/examples/research_bot/sample_outputs/vacation.txt +0 -0
  295. {openai_agents-0.2.6 → openai_agents-0.2.7}/examples/tools/code_interpreter.py +0 -0
  296. {openai_agents-0.2.6 → openai_agents-0.2.7}/examples/tools/computer_use.py +0 -0
  297. {openai_agents-0.2.6 → openai_agents-0.2.7}/examples/tools/file_search.py +0 -0
  298. {openai_agents-0.2.6 → openai_agents-0.2.7}/examples/tools/image_generator.py +0 -0
  299. {openai_agents-0.2.6 → openai_agents-0.2.7}/examples/tools/web_search.py +0 -0
  300. {openai_agents-0.2.6 → openai_agents-0.2.7}/examples/voice/__init__.py +0 -0
  301. {openai_agents-0.2.6 → openai_agents-0.2.7}/examples/voice/static/README.md +0 -0
  302. {openai_agents-0.2.6 → openai_agents-0.2.7}/examples/voice/static/__init__.py +0 -0
  303. {openai_agents-0.2.6 → openai_agents-0.2.7}/examples/voice/static/main.py +0 -0
  304. {openai_agents-0.2.6 → openai_agents-0.2.7}/examples/voice/static/util.py +0 -0
  305. {openai_agents-0.2.6 → openai_agents-0.2.7}/examples/voice/streamed/README.md +0 -0
  306. {openai_agents-0.2.6 → openai_agents-0.2.7}/examples/voice/streamed/__init__.py +0 -0
  307. {openai_agents-0.2.6 → openai_agents-0.2.7}/examples/voice/streamed/main.py +0 -0
  308. {openai_agents-0.2.6 → openai_agents-0.2.7}/examples/voice/streamed/my_workflow.py +0 -0
  309. {openai_agents-0.2.6 → openai_agents-0.2.7}/mkdocs.yml +0 -0
  310. {openai_agents-0.2.6 → openai_agents-0.2.7}/src/agents/__init__.py +0 -0
  311. {openai_agents-0.2.6 → openai_agents-0.2.7}/src/agents/_config.py +0 -0
  312. {openai_agents-0.2.6 → openai_agents-0.2.7}/src/agents/_debug.py +0 -0
  313. {openai_agents-0.2.6 → openai_agents-0.2.7}/src/agents/_run_impl.py +0 -0
  314. {openai_agents-0.2.6 → openai_agents-0.2.7}/src/agents/agent_output.py +0 -0
  315. {openai_agents-0.2.6 → openai_agents-0.2.7}/src/agents/computer.py +0 -0
  316. {openai_agents-0.2.6 → openai_agents-0.2.7}/src/agents/exceptions.py +0 -0
  317. {openai_agents-0.2.6 → openai_agents-0.2.7}/src/agents/extensions/__init__.py +0 -0
  318. {openai_agents-0.2.6 → openai_agents-0.2.7}/src/agents/extensions/handoff_filters.py +0 -0
  319. {openai_agents-0.2.6 → openai_agents-0.2.7}/src/agents/extensions/handoff_prompt.py +0 -0
  320. {openai_agents-0.2.6 → openai_agents-0.2.7}/src/agents/extensions/models/__init__.py +0 -0
  321. {openai_agents-0.2.6 → openai_agents-0.2.7}/src/agents/extensions/models/litellm_model.py +0 -0
  322. {openai_agents-0.2.6 → openai_agents-0.2.7}/src/agents/extensions/models/litellm_provider.py +0 -0
  323. {openai_agents-0.2.6 → openai_agents-0.2.7}/src/agents/extensions/visualization.py +0 -0
  324. {openai_agents-0.2.6 → openai_agents-0.2.7}/src/agents/function_schema.py +0 -0
  325. {openai_agents-0.2.6 → openai_agents-0.2.7}/src/agents/guardrail.py +0 -0
  326. {openai_agents-0.2.6 → openai_agents-0.2.7}/src/agents/handoffs.py +0 -0
  327. {openai_agents-0.2.6 → openai_agents-0.2.7}/src/agents/items.py +0 -0
  328. {openai_agents-0.2.6 → openai_agents-0.2.7}/src/agents/lifecycle.py +0 -0
  329. {openai_agents-0.2.6 → openai_agents-0.2.7}/src/agents/logger.py +0 -0
  330. {openai_agents-0.2.6 → openai_agents-0.2.7}/src/agents/mcp/__init__.py +0 -0
  331. {openai_agents-0.2.6 → openai_agents-0.2.7}/src/agents/mcp/server.py +0 -0
  332. {openai_agents-0.2.6 → openai_agents-0.2.7}/src/agents/mcp/util.py +0 -0
  333. {openai_agents-0.2.6 → openai_agents-0.2.7}/src/agents/memory/__init__.py +0 -0
  334. {openai_agents-0.2.6 → openai_agents-0.2.7}/src/agents/memory/session.py +0 -0
  335. {openai_agents-0.2.6 → openai_agents-0.2.7}/src/agents/models/__init__.py +0 -0
  336. {openai_agents-0.2.6 → openai_agents-0.2.7}/src/agents/models/_openai_shared.py +0 -0
  337. {openai_agents-0.2.6 → openai_agents-0.2.7}/src/agents/models/chatcmpl_converter.py +0 -0
  338. {openai_agents-0.2.6 → openai_agents-0.2.7}/src/agents/models/chatcmpl_helpers.py +0 -0
  339. {openai_agents-0.2.6 → openai_agents-0.2.7}/src/agents/models/chatcmpl_stream_handler.py +0 -0
  340. {openai_agents-0.2.6 → openai_agents-0.2.7}/src/agents/models/fake_id.py +0 -0
  341. {openai_agents-0.2.6 → openai_agents-0.2.7}/src/agents/models/interface.py +0 -0
  342. {openai_agents-0.2.6 → openai_agents-0.2.7}/src/agents/models/multi_provider.py +0 -0
  343. {openai_agents-0.2.6 → openai_agents-0.2.7}/src/agents/models/openai_provider.py +0 -0
  344. {openai_agents-0.2.6 → openai_agents-0.2.7}/src/agents/prompts.py +0 -0
  345. {openai_agents-0.2.6 → openai_agents-0.2.7}/src/agents/py.typed +0 -0
  346. {openai_agents-0.2.6 → openai_agents-0.2.7}/src/agents/realtime/README.md +0 -0
  347. {openai_agents-0.2.6 → openai_agents-0.2.7}/src/agents/realtime/__init__.py +0 -0
  348. {openai_agents-0.2.6 → openai_agents-0.2.7}/src/agents/realtime/_default_tracker.py +0 -0
  349. {openai_agents-0.2.6 → openai_agents-0.2.7}/src/agents/realtime/_util.py +0 -0
  350. {openai_agents-0.2.6 → openai_agents-0.2.7}/src/agents/realtime/agent.py +0 -0
  351. {openai_agents-0.2.6 → openai_agents-0.2.7}/src/agents/realtime/config.py +0 -0
  352. {openai_agents-0.2.6 → openai_agents-0.2.7}/src/agents/realtime/events.py +0 -0
  353. {openai_agents-0.2.6 → openai_agents-0.2.7}/src/agents/realtime/handoffs.py +0 -0
  354. {openai_agents-0.2.6 → openai_agents-0.2.7}/src/agents/realtime/items.py +0 -0
  355. {openai_agents-0.2.6 → openai_agents-0.2.7}/src/agents/realtime/model.py +0 -0
  356. {openai_agents-0.2.6 → openai_agents-0.2.7}/src/agents/realtime/model_events.py +0 -0
  357. {openai_agents-0.2.6 → openai_agents-0.2.7}/src/agents/realtime/model_inputs.py +0 -0
  358. {openai_agents-0.2.6 → openai_agents-0.2.7}/src/agents/realtime/openai_realtime.py +0 -0
  359. {openai_agents-0.2.6 → openai_agents-0.2.7}/src/agents/realtime/runner.py +0 -0
  360. {openai_agents-0.2.6 → openai_agents-0.2.7}/src/agents/repl.py +0 -0
  361. {openai_agents-0.2.6 → openai_agents-0.2.7}/src/agents/result.py +0 -0
  362. {openai_agents-0.2.6 → openai_agents-0.2.7}/src/agents/run.py +0 -0
  363. {openai_agents-0.2.6 → openai_agents-0.2.7}/src/agents/run_context.py +0 -0
  364. {openai_agents-0.2.6 → openai_agents-0.2.7}/src/agents/stream_events.py +0 -0
  365. {openai_agents-0.2.6 → openai_agents-0.2.7}/src/agents/strict_schema.py +0 -0
  366. {openai_agents-0.2.6 → openai_agents-0.2.7}/src/agents/tool.py +0 -0
  367. {openai_agents-0.2.6 → openai_agents-0.2.7}/src/agents/tool_context.py +0 -0
  368. {openai_agents-0.2.6 → openai_agents-0.2.7}/src/agents/tracing/__init__.py +0 -0
  369. {openai_agents-0.2.6 → openai_agents-0.2.7}/src/agents/tracing/create.py +0 -0
  370. {openai_agents-0.2.6 → openai_agents-0.2.7}/src/agents/tracing/logger.py +0 -0
  371. {openai_agents-0.2.6 → openai_agents-0.2.7}/src/agents/tracing/processor_interface.py +0 -0
  372. {openai_agents-0.2.6 → openai_agents-0.2.7}/src/agents/tracing/processors.py +0 -0
  373. {openai_agents-0.2.6 → openai_agents-0.2.7}/src/agents/tracing/provider.py +0 -0
  374. {openai_agents-0.2.6 → openai_agents-0.2.7}/src/agents/tracing/scope.py +0 -0
  375. {openai_agents-0.2.6 → openai_agents-0.2.7}/src/agents/tracing/setup.py +0 -0
  376. {openai_agents-0.2.6 → openai_agents-0.2.7}/src/agents/tracing/span_data.py +0 -0
  377. {openai_agents-0.2.6 → openai_agents-0.2.7}/src/agents/tracing/spans.py +0 -0
  378. {openai_agents-0.2.6 → openai_agents-0.2.7}/src/agents/tracing/traces.py +0 -0
  379. {openai_agents-0.2.6 → openai_agents-0.2.7}/src/agents/tracing/util.py +0 -0
  380. {openai_agents-0.2.6 → openai_agents-0.2.7}/src/agents/usage.py +0 -0
  381. {openai_agents-0.2.6 → openai_agents-0.2.7}/src/agents/util/__init__.py +0 -0
  382. {openai_agents-0.2.6 → openai_agents-0.2.7}/src/agents/util/_coro.py +0 -0
  383. {openai_agents-0.2.6 → openai_agents-0.2.7}/src/agents/util/_error_tracing.py +0 -0
  384. {openai_agents-0.2.6 → openai_agents-0.2.7}/src/agents/util/_json.py +0 -0
  385. {openai_agents-0.2.6 → openai_agents-0.2.7}/src/agents/util/_pretty_print.py +0 -0
  386. {openai_agents-0.2.6 → openai_agents-0.2.7}/src/agents/util/_transforms.py +0 -0
  387. {openai_agents-0.2.6 → openai_agents-0.2.7}/src/agents/util/_types.py +0 -0
  388. {openai_agents-0.2.6 → openai_agents-0.2.7}/src/agents/version.py +0 -0
  389. {openai_agents-0.2.6 → openai_agents-0.2.7}/src/agents/voice/__init__.py +0 -0
  390. {openai_agents-0.2.6 → openai_agents-0.2.7}/src/agents/voice/events.py +0 -0
  391. {openai_agents-0.2.6 → openai_agents-0.2.7}/src/agents/voice/exceptions.py +0 -0
  392. {openai_agents-0.2.6 → openai_agents-0.2.7}/src/agents/voice/imports.py +0 -0
  393. {openai_agents-0.2.6 → openai_agents-0.2.7}/src/agents/voice/input.py +0 -0
  394. {openai_agents-0.2.6 → openai_agents-0.2.7}/src/agents/voice/model.py +0 -0
  395. {openai_agents-0.2.6 → openai_agents-0.2.7}/src/agents/voice/models/__init__.py +0 -0
  396. {openai_agents-0.2.6 → openai_agents-0.2.7}/src/agents/voice/models/openai_model_provider.py +0 -0
  397. {openai_agents-0.2.6 → openai_agents-0.2.7}/src/agents/voice/models/openai_stt.py +0 -0
  398. {openai_agents-0.2.6 → openai_agents-0.2.7}/src/agents/voice/models/openai_tts.py +0 -0
  399. {openai_agents-0.2.6 → openai_agents-0.2.7}/src/agents/voice/pipeline.py +0 -0
  400. {openai_agents-0.2.6 → openai_agents-0.2.7}/src/agents/voice/pipeline_config.py +0 -0
  401. {openai_agents-0.2.6 → openai_agents-0.2.7}/src/agents/voice/result.py +0 -0
  402. {openai_agents-0.2.6 → openai_agents-0.2.7}/src/agents/voice/utils.py +0 -0
  403. {openai_agents-0.2.6 → openai_agents-0.2.7}/src/agents/voice/workflow.py +0 -0
  404. {openai_agents-0.2.6 → openai_agents-0.2.7}/tests/README.md +0 -0
  405. {openai_agents-0.2.6 → openai_agents-0.2.7}/tests/__init__.py +0 -0
  406. {openai_agents-0.2.6 → openai_agents-0.2.7}/tests/conftest.py +0 -0
  407. {openai_agents-0.2.6 → openai_agents-0.2.7}/tests/fake_model.py +0 -0
  408. {openai_agents-0.2.6 → openai_agents-0.2.7}/tests/fastapi/__init__.py +0 -0
  409. {openai_agents-0.2.6 → openai_agents-0.2.7}/tests/fastapi/streaming_app.py +0 -0
  410. {openai_agents-0.2.6 → openai_agents-0.2.7}/tests/fastapi/test_streaming_context.py +0 -0
  411. {openai_agents-0.2.6 → openai_agents-0.2.7}/tests/mcp/__init__.py +0 -0
  412. {openai_agents-0.2.6 → openai_agents-0.2.7}/tests/mcp/conftest.py +0 -0
  413. {openai_agents-0.2.6 → openai_agents-0.2.7}/tests/mcp/helpers.py +0 -0
  414. {openai_agents-0.2.6 → openai_agents-0.2.7}/tests/mcp/test_caching.py +0 -0
  415. {openai_agents-0.2.6 → openai_agents-0.2.7}/tests/mcp/test_connect_disconnect.py +0 -0
  416. {openai_agents-0.2.6 → openai_agents-0.2.7}/tests/mcp/test_mcp_tracing.py +0 -0
  417. {openai_agents-0.2.6 → openai_agents-0.2.7}/tests/mcp/test_mcp_util.py +0 -0
  418. {openai_agents-0.2.6 → openai_agents-0.2.7}/tests/mcp/test_prompt_server.py +0 -0
  419. {openai_agents-0.2.6 → openai_agents-0.2.7}/tests/mcp/test_runner_calls_mcp.py +0 -0
  420. {openai_agents-0.2.6 → openai_agents-0.2.7}/tests/mcp/test_server_errors.py +0 -0
  421. {openai_agents-0.2.6 → openai_agents-0.2.7}/tests/mcp/test_tool_filtering.py +0 -0
  422. {openai_agents-0.2.6 → openai_agents-0.2.7}/tests/models/__init__.py +0 -0
  423. {openai_agents-0.2.6 → openai_agents-0.2.7}/tests/models/conftest.py +0 -0
  424. {openai_agents-0.2.6 → openai_agents-0.2.7}/tests/models/test_kwargs_functionality.py +0 -0
  425. {openai_agents-0.2.6 → openai_agents-0.2.7}/tests/models/test_litellm_chatcompletions_stream.py +0 -0
  426. {openai_agents-0.2.6 → openai_agents-0.2.7}/tests/models/test_litellm_extra_body.py +0 -0
  427. {openai_agents-0.2.6 → openai_agents-0.2.7}/tests/models/test_map.py +0 -0
  428. {openai_agents-0.2.6 → openai_agents-0.2.7}/tests/realtime/__init__.py +0 -0
  429. {openai_agents-0.2.6 → openai_agents-0.2.7}/tests/realtime/test_agent.py +0 -0
  430. {openai_agents-0.2.6 → openai_agents-0.2.7}/tests/realtime/test_conversion_helpers.py +0 -0
  431. {openai_agents-0.2.6 → openai_agents-0.2.7}/tests/realtime/test_item_parsing.py +0 -0
  432. {openai_agents-0.2.6 → openai_agents-0.2.7}/tests/realtime/test_model_events.py +0 -0
  433. {openai_agents-0.2.6 → openai_agents-0.2.7}/tests/realtime/test_openai_realtime.py +0 -0
  434. {openai_agents-0.2.6 → openai_agents-0.2.7}/tests/realtime/test_playback_tracker.py +0 -0
  435. {openai_agents-0.2.6 → openai_agents-0.2.7}/tests/realtime/test_realtime_handoffs.py +0 -0
  436. {openai_agents-0.2.6 → openai_agents-0.2.7}/tests/realtime/test_runner.py +0 -0
  437. {openai_agents-0.2.6 → openai_agents-0.2.7}/tests/realtime/test_tracing.py +0 -0
  438. {openai_agents-0.2.6 → openai_agents-0.2.7}/tests/test_agent_clone_shallow_copy.py +0 -0
  439. {openai_agents-0.2.6 → openai_agents-0.2.7}/tests/test_agent_hooks.py +0 -0
  440. {openai_agents-0.2.6 → openai_agents-0.2.7}/tests/test_agent_prompt.py +0 -0
  441. {openai_agents-0.2.6 → openai_agents-0.2.7}/tests/test_agent_runner.py +0 -0
  442. {openai_agents-0.2.6 → openai_agents-0.2.7}/tests/test_agent_runner_streamed.py +0 -0
  443. {openai_agents-0.2.6 → openai_agents-0.2.7}/tests/test_agent_tracing.py +0 -0
  444. {openai_agents-0.2.6 → openai_agents-0.2.7}/tests/test_cancel_streaming.py +0 -0
  445. {openai_agents-0.2.6 → openai_agents-0.2.7}/tests/test_computer_action.py +0 -0
  446. {openai_agents-0.2.6 → openai_agents-0.2.7}/tests/test_config.py +0 -0
  447. {openai_agents-0.2.6 → openai_agents-0.2.7}/tests/test_doc_parsing.py +0 -0
  448. {openai_agents-0.2.6 → openai_agents-0.2.7}/tests/test_extension_filters.py +0 -0
  449. {openai_agents-0.2.6 → openai_agents-0.2.7}/tests/test_extra_headers.py +0 -0
  450. {openai_agents-0.2.6 → openai_agents-0.2.7}/tests/test_function_schema.py +0 -0
  451. {openai_agents-0.2.6 → openai_agents-0.2.7}/tests/test_function_tool.py +0 -0
  452. {openai_agents-0.2.6 → openai_agents-0.2.7}/tests/test_function_tool_decorator.py +0 -0
  453. {openai_agents-0.2.6 → openai_agents-0.2.7}/tests/test_global_hooks.py +0 -0
  454. {openai_agents-0.2.6 → openai_agents-0.2.7}/tests/test_guardrails.py +0 -0
  455. {openai_agents-0.2.6 → openai_agents-0.2.7}/tests/test_handoff_tool.py +0 -0
  456. {openai_agents-0.2.6 → openai_agents-0.2.7}/tests/test_items_helpers.py +0 -0
  457. {openai_agents-0.2.6 → openai_agents-0.2.7}/tests/test_logprobs.py +0 -0
  458. {openai_agents-0.2.6 → openai_agents-0.2.7}/tests/test_max_turns.py +0 -0
  459. {openai_agents-0.2.6 → openai_agents-0.2.7}/tests/test_openai_chatcompletions.py +0 -0
  460. {openai_agents-0.2.6 → openai_agents-0.2.7}/tests/test_openai_chatcompletions_converter.py +0 -0
  461. {openai_agents-0.2.6 → openai_agents-0.2.7}/tests/test_openai_chatcompletions_stream.py +0 -0
  462. {openai_agents-0.2.6 → openai_agents-0.2.7}/tests/test_openai_responses_converter.py +0 -0
  463. {openai_agents-0.2.6 → openai_agents-0.2.7}/tests/test_output_tool.py +0 -0
  464. {openai_agents-0.2.6 → openai_agents-0.2.7}/tests/test_pretty_print.py +0 -0
  465. {openai_agents-0.2.6 → openai_agents-0.2.7}/tests/test_reasoning_content.py +0 -0
  466. {openai_agents-0.2.6 → openai_agents-0.2.7}/tests/test_repl.py +0 -0
  467. {openai_agents-0.2.6 → openai_agents-0.2.7}/tests/test_responses.py +0 -0
  468. {openai_agents-0.2.6 → openai_agents-0.2.7}/tests/test_responses_tracing.py +0 -0
  469. {openai_agents-0.2.6 → openai_agents-0.2.7}/tests/test_result_cast.py +0 -0
  470. {openai_agents-0.2.6 → openai_agents-0.2.7}/tests/test_run.py +0 -0
  471. {openai_agents-0.2.6 → openai_agents-0.2.7}/tests/test_run_config.py +0 -0
  472. {openai_agents-0.2.6 → openai_agents-0.2.7}/tests/test_run_error_details.py +0 -0
  473. {openai_agents-0.2.6 → openai_agents-0.2.7}/tests/test_run_step_execution.py +0 -0
  474. {openai_agents-0.2.6 → openai_agents-0.2.7}/tests/test_run_step_processing.py +0 -0
  475. {openai_agents-0.2.6 → openai_agents-0.2.7}/tests/test_session_exceptions.py +0 -0
  476. {openai_agents-0.2.6 → openai_agents-0.2.7}/tests/test_stream_events.py +0 -0
  477. {openai_agents-0.2.6 → openai_agents-0.2.7}/tests/test_strict_schema.py +0 -0
  478. {openai_agents-0.2.6 → openai_agents-0.2.7}/tests/test_tool_choice_reset.py +0 -0
  479. {openai_agents-0.2.6 → openai_agents-0.2.7}/tests/test_tool_converter.py +0 -0
  480. {openai_agents-0.2.6 → openai_agents-0.2.7}/tests/test_tool_use_behavior.py +0 -0
  481. {openai_agents-0.2.6 → openai_agents-0.2.7}/tests/test_trace_processor.py +0 -0
  482. {openai_agents-0.2.6 → openai_agents-0.2.7}/tests/test_tracing.py +0 -0
  483. {openai_agents-0.2.6 → openai_agents-0.2.7}/tests/test_tracing_errors.py +0 -0
  484. {openai_agents-0.2.6 → openai_agents-0.2.7}/tests/test_tracing_errors_streamed.py +0 -0
  485. {openai_agents-0.2.6 → openai_agents-0.2.7}/tests/test_usage.py +0 -0
  486. {openai_agents-0.2.6 → openai_agents-0.2.7}/tests/test_visualization.py +0 -0
  487. {openai_agents-0.2.6 → openai_agents-0.2.7}/tests/testing_processor.py +0 -0
  488. {openai_agents-0.2.6 → openai_agents-0.2.7}/tests/tracing/test_processor_api_key.py +0 -0
  489. {openai_agents-0.2.6 → openai_agents-0.2.7}/tests/tracing/test_set_api_key_fix.py +0 -0
  490. {openai_agents-0.2.6 → openai_agents-0.2.7}/tests/voice/__init__.py +0 -0
  491. {openai_agents-0.2.6 → openai_agents-0.2.7}/tests/voice/conftest.py +0 -0
  492. {openai_agents-0.2.6 → openai_agents-0.2.7}/tests/voice/fake_models.py +0 -0
  493. {openai_agents-0.2.6 → openai_agents-0.2.7}/tests/voice/helpers.py +0 -0
  494. {openai_agents-0.2.6 → openai_agents-0.2.7}/tests/voice/test_input.py +0 -0
  495. {openai_agents-0.2.6 → openai_agents-0.2.7}/tests/voice/test_openai_stt.py +0 -0
  496. {openai_agents-0.2.6 → openai_agents-0.2.7}/tests/voice/test_openai_tts.py +0 -0
  497. {openai_agents-0.2.6 → openai_agents-0.2.7}/tests/voice/test_pipeline.py +0 -0
  498. {openai_agents-0.2.6 → openai_agents-0.2.7}/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.6
3
+ Version: 0.2.7
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
@@ -36,6 +36,7 @@ The [`handoff()`][agents.handoffs.handoff] function lets you customize things.
36
36
  - `on_handoff`: A callback function executed when the handoff is invoked. This is useful for things like kicking off some data fetching as soon as you know a handoff is being invoked. This function receives the agent context, and can optionally also receive LLM generated input. The input data is controlled by the `input_type` param.
37
37
  - `input_type`: The type of input expected by the handoff (optional).
38
38
  - `input_filter`: This lets you filter the input received by the next agent. See below for more.
39
+ - `is_enabled`: Whether the handoff is enabled. This can be a boolean or a function that returns a boolean, allowing you to dynamically enable or disable the handoff at runtime.
39
40
 
40
41
  ```python
41
42
  from agents import Agent, handoff, RunContextWrapper
@@ -4,16 +4,16 @@ search:
4
4
  ---
5
5
  # エージェント
6
6
 
7
- エージェントはアプリの中核となるビルディングブロックです。エージェントとは、指示とツールで構成された大規模言語モデル ( LLM ) です。
7
+ エージェントは、アプリの中核となる構成要素です。エージェントは、instructions とツールを設定した大規模言語モデル ( LLM ) です。
8
8
 
9
9
  ## 基本設定
10
10
 
11
- エージェントで最もよく設定するプロパティは次のとおりです。
11
+ エージェントで最も一般的に設定するプロパティは次のとおりです。
12
12
 
13
- - `name`: エージェントを識別する必須の文字列。
14
- - `instructions`: developer メッセージまたは system prompt とも呼ばれます。
15
- - `model`: 使用する LLM、および temperature や top_p などのチューニングパラメーターを設定する `model_settings` (オプション)。
16
- - `tools`: エージェントがタスク達成のために使用できるツール。
13
+ - `name`: エージェントを識別する必須の文字列。
14
+ - `instructions`: developer message または システムプロンプト とも呼ばれます。
15
+ - `model`: どの LLM を使用するか、またオプションの `model_settings` で temperature、top_p などのモデル調整パラメーターを設定します。
16
+ - `tools`: エージェントがタスクを達成するために使用できるツール。
17
17
 
18
18
  ```python
19
19
  from agents import Agent, ModelSettings, function_tool
@@ -33,7 +33,7 @@ agent = Agent(
33
33
 
34
34
  ## コンテキスト
35
35
 
36
- エージェントはその `context` 型に対して汎用的です。コンテキストは依存性注入ツールであり、あなたが作成して `Runner.run()` に渡すオブジェクトです。このオブジェクトはすべてのエージェント、ツール、ハンドオフなどに渡され、エージェント実行の依存関係や状態をまとめて保持します。コンテキストには任意の Python オブジェクトを渡せます。
36
+ エージェントは `context` 型に対して汎用的です。コンテキストは依存性注入のツールで、あなたが作成して `Runner.run()` に渡すオブジェクトです。これはすべてのエージェント、ツール、ハンドオフなどに渡され、エージェントの実行に必要な依存関係や状態をまとめて保持します。コンテキストには任意の Python オブジェクトを渡せます。
37
37
 
38
38
  ```python
39
39
  @dataclass
@@ -52,7 +52,7 @@ agent = Agent[UserContext](
52
52
 
53
53
  ## 出力タイプ
54
54
 
55
- デフォルトでは、エージェントはプレーンテキスト (すなわち `str`) を出力します。特定の型で出力させたい場合は、`output_type` パラメーターを使用します。一般的には [Pydantic](https://docs.pydantic.dev/) オブジェクトを使いますが、Pydantic の [TypeAdapter](https://docs.pydantic.dev/latest/api/type_adapter/) でラップできる型―dataclass、list、TypedDict など―であれば利用できます。
55
+ デフォルトでは、エージェントはプレーンテキスト (すなわち `str`) を出力します。特定のタイプの出力を生成させたい場合は、`output_type` パラメーターを使用できます。一般的な選択は [Pydantic](https://docs.pydantic.dev/) オブジェクトですが、Pydantic の [TypeAdapter](https://docs.pydantic.dev/latest/api/type_adapter/) でラップできる任意の型 (dataclasses、リスト、TypedDict など) をサポートします。
56
56
 
57
57
  ```python
58
58
  from pydantic import BaseModel
@@ -73,11 +73,11 @@ agent = Agent(
73
73
 
74
74
  !!! note
75
75
 
76
- `output_type` を指定すると、モデルは通常のプレーンテキスト応答ではなく [structured outputs](https://platform.openai.com/docs/guides/structured-outputs) を使用するよう指示されます。
76
+ `output_type` を指定すると、モデルは通常のプレーンテキスト応答ではなく [structured outputs](https://platform.openai.com/docs/guides/structured-outputs) を使用します。
77
77
 
78
78
  ## ハンドオフ
79
79
 
80
- ハンドオフは、エージェントが委譲できるサブエージェントです。ハンドオフのリストを提供すると、エージェントは関連する場合にそれらへ委譲できます。これは、単一タスクに特化したモジュール型エージェントをオーケストレーションする強力なパターンです。詳しくは [handoffs](handoffs.md) ドキュメントをご覧ください。
80
+ ハンドオフは、エージェントが委譲できるサブエージェントです。ハンドオフのリストを提供すると、エージェントは関連性がある場合にそれらへ委譲できます。これは、単一のタスクに特化したモジュール式のエージェントをオーケストレーションする強力なパターンです。詳しくは [handoffs](handoffs.md) ドキュメントをご覧ください。
81
81
 
82
82
  ```python
83
83
  from agents import Agent
@@ -98,7 +98,7 @@ triage_agent = Agent(
98
98
 
99
99
  ## 動的 instructions
100
100
 
101
- 通常はエージェント作成時に instructions を渡しますが、関数を通じて動的に渡すこともできます。この関数はエージェントと context を受け取り、プロンプトを返さなければなりません。同期関数と `async` 関数の両方を使用できます。
101
+ 多くの場合、エージェントの作成時に instructions を指定できますが、関数を使って動的に instructions を提供することもできます。この関数はエージェントとコンテキストを受け取り、プロンプトを返す必要があります。通常の関数と `async` 関数の両方が使用できます。
102
102
 
103
103
  ```python
104
104
  def dynamic_instructions(
@@ -115,15 +115,15 @@ agent = Agent[UserContext](
115
115
 
116
116
  ## ライフサイクルイベント (フック)
117
117
 
118
- エージェントのライフサイクルを監視したい場合があります。たとえば、イベントをログに記録したり、特定のイベント発生時にデータをプリフェッチしたりするケースです。`hooks` プロパティを使ってエージェントのライフサイクルにフックできます。[`AgentHooks`][agents.lifecycle.AgentHooks] をサブクラス化し、関心のあるメソッドをオーバーライドしてください。
118
+ エージェントのライフサイクルを観測したい場合があります。例えば、イベントをログに記録したり、特定のイベントが発生したときにデータを事前取得したりする場合です。`hooks` プロパティでエージェントのライフサイクルにフックできます。[`AgentHooks`][agents.lifecycle.AgentHooks] クラスをサブクラス化し、関心のあるメソッドをオーバーライドしてください。
119
119
 
120
120
  ## ガードレール
121
121
 
122
- ガードレールを使うと、エージェント実行と並行してユーザー入力に対するチェックやバリデーションを実行できます。たとえば、ユーザー入力の関連性をスクリーニングすることが可能です。詳細は [guardrails](guardrails.md) ドキュメントをご覧ください。
122
+ ガードレールにより、エージェントの実行と並行して ユーザー 入力に対するチェック/バリデーションを実行できます。例えば、ユーザー の入力の関連性をスクリーニングできます。詳しくは [guardrails](guardrails.md) ドキュメントをご覧ください。
123
123
 
124
- ## エージェントのクローン/コピー
124
+ ## エージェントのクローン/コピー
125
125
 
126
- エージェントの `clone()` メソッドを使うと、エージェントを複製し、任意のプロパティを変更できます。
126
+ エージェントの `clone()` メソッドを使うと、エージェントを複製し、必要に応じて任意のプロパティを変更できます。
127
127
 
128
128
  ```python
129
129
  pirate_agent = Agent(
@@ -140,12 +140,12 @@ robot_agent = pirate_agent.clone(
140
140
 
141
141
  ## ツール使用の強制
142
142
 
143
- ツールのリストを渡しても、必ずしも LLM がツールを使用するとは限りません。[`ModelSettings.tool_choice`][agents.model_settings.ModelSettings.tool_choice] を設定するとツール使用を強制できます。有効な値は次のとおりです。
143
+ ツールのリストを指定しても、LLM が必ずツールを使用するとは限りません。[`ModelSettings.tool_choice`][agents.model_settings.ModelSettings.tool_choice] を設定してツール使用を強制できます。有効な値は次のとおりです。
144
144
 
145
- 1. `auto` : LLM がツールを使用するかどうかを自動で判断します。
146
- 2. `required` : LLM にツール使用を必須とします (使用するツールはインテリジェントに決定)。
147
- 3. `none` : LLM にツールを使用しないことを要求します。
148
- 4. 具体的な文字列 (例: `my_tool`) を設定すると、そのツールを必ず使用させます。
145
+ 1. `auto`: ツールを使用するかどうかを LLM が判断します。
146
+ 2. `required`: LLM にツールの使用を要求します (ただし、どのツールを使うかは賢く判断します)。
147
+ 3. `none`: LLM にツールを使用「しない」ことを要求します。
148
+ 4. 特定の文字列 (例: `my_tool`) を設定: LLM にその特定のツールを使用させます。
149
149
 
150
150
  ```python
151
151
  from agents import Agent, Runner, function_tool, ModelSettings
@@ -165,10 +165,9 @@ agent = Agent(
165
165
 
166
166
  ## ツール使用の挙動
167
167
 
168
- `Agent` `tool_use_behavior` パラメーターはツール出力の扱い方を制御します。
169
-
170
- - `"run_llm_again"`: デフォルト設定。ツールを実行し、その結果を LLM が処理して最終応答を生成します。
171
- - `"stop_on_first_tool"`: 最初に呼び出されたツールの出力をそのまま最終応答として使用し、追加の LLM 処理を行いません。
168
+ `Agent` 設定の `tool_use_behavior` パラメーターは、ツール出力の扱い方を制御します。
169
+ - `"run_llm_again"`: デフォルト。ツールを実行し、その結果を LLM が処理して最終応答を生成します。
170
+ - `"stop_on_first_tool"`: 最初のツール呼び出しの出力を最終応答として使用し、以降の LLM 処理は行いません。
172
171
 
173
172
  ```python
174
173
  from agents import Agent, Runner, function_tool, ModelSettings
@@ -186,7 +185,7 @@ agent = Agent(
186
185
  )
187
186
  ```
188
187
 
189
- - `StopAtTools(stop_at_tool_names=[...])`: 指定したツールのいずれかが呼び出されると停止し、その出力を最終応答とします。
188
+ - `StopAtTools(stop_at_tool_names=[...])`: 指定したいずれかのツールが呼び出されたら停止し、その出力を最終応答として使用します。
190
189
  ```python
191
190
  from agents import Agent, Runner, function_tool
192
191
  from agents.agent import StopAtTools
@@ -208,7 +207,7 @@ agent = Agent(
208
207
  tool_use_behavior=StopAtTools(stop_at_tool_names=["get_weather"])
209
208
  )
210
209
  ```
211
- - `ToolsToFinalOutputFunction`: ツール結果を処理し、停止するか LLM を続行するかを決定するカスタム関数。
210
+ - `ToolsToFinalOutputFunction`: ツール結果を処理し、停止するか LLM を続行するかを判断するカスタム関数。
212
211
 
213
212
  ```python
214
213
  from agents import Agent, Runner, function_tool, FunctionToolResult, RunContextWrapper
@@ -246,4 +245,4 @@ agent = Agent(
246
245
 
247
246
  !!! note
248
247
 
249
- 無限ループを防ぐため、フレームワークはツール呼び出し後に `tool_choice` を自動的に "auto" にリセットします。この挙動は [`agent.reset_tool_choice`][agents.agent.Agent.reset_tool_choice] で設定できます。ツール結果が LLM に送られ、その後 `tool_choice` により再度ツール呼び出しが生成され…という無限ループを防止するためです。
248
+ 無限ループを防ぐため、フレームワークはツール呼び出し後に `tool_choice` を自動的に "auto" にリセットします。この挙動は [`agent.reset_tool_choice`][agents.agent.Agent.reset_tool_choice] で設定可能です。無限ループは、ツール結果が LLM に送られ、`tool_choice` のために LLM がさらに別のツール呼び出しを生成し続けることで発生します。
@@ -0,0 +1,98 @@
1
+ ---
2
+ search:
3
+ exclude: true
4
+ ---
5
+ # SDK の設定
6
+
7
+ ## API キーとクライアント
8
+
9
+ デフォルトでは、SDK はインポートされた時点で、LLM リクエストおよび トレーシング 用に `OPENAI_API_KEY` 環境変数を探します。アプリ起動前にその環境変数を設定できない場合は、[set_default_openai_key()][agents.set_default_openai_key] 関数を使ってキーを設定できます。
10
+
11
+ ```python
12
+ from agents import set_default_openai_key
13
+
14
+ set_default_openai_key("sk-...")
15
+ ```
16
+
17
+ また、使用する OpenAI クライアントを設定することもできます。デフォルトでは、SDK は環境変数または上記で設定したデフォルトキーを使って `AsyncOpenAI` インスタンスを作成します。これを変更するには、[set_default_openai_client()][agents.set_default_openai_client] 関数を使用します。
18
+
19
+ ```python
20
+ from openai import AsyncOpenAI
21
+ from agents import set_default_openai_client
22
+
23
+ custom_client = AsyncOpenAI(base_url="...", api_key="...")
24
+ set_default_openai_client(custom_client)
25
+ ```
26
+
27
+ 最後に、使用する OpenAI API をカスタマイズすることもできます。デフォルトでは OpenAI Responses API を使用します。これを上書きして Chat Completions API を使うには、[set_default_openai_api()][agents.set_default_openai_api] 関数を使用します。
28
+
29
+ ```python
30
+ from agents import set_default_openai_api
31
+
32
+ set_default_openai_api("chat_completions")
33
+ ```
34
+
35
+ ## トレーシング
36
+
37
+ トレーシング はデフォルトで有効です。デフォルトでは、上記の OpenAI API キー(つまり、環境変数または設定したデフォルトキー)を使用します。トレーシング に使用する API キーを個別に設定するには、[`set_tracing_export_api_key`][agents.set_tracing_export_api_key] 関数を使用します。
38
+
39
+ ```python
40
+ from agents import set_tracing_export_api_key
41
+
42
+ set_tracing_export_api_key("sk-...")
43
+ ```
44
+
45
+ [`set_tracing_disabled()`][agents.set_tracing_disabled] 関数を使って、トレーシング を完全に無効化することもできます。
46
+
47
+ ```python
48
+ from agents import set_tracing_disabled
49
+
50
+ set_tracing_disabled(True)
51
+ ```
52
+
53
+ ## デバッグログ
54
+
55
+ SDK には、ハンドラーが設定されていない 2 つの Python ロガーがあります。デフォルトでは、警告とエラーは `stdout` に送られますが、その他のログは抑制されます。
56
+
57
+ 冗長なログを有効にするには、[`enable_verbose_stdout_logging()`][agents.enable_verbose_stdout_logging] 関数を使用します。
58
+
59
+ ```python
60
+ from agents import enable_verbose_stdout_logging
61
+
62
+ enable_verbose_stdout_logging()
63
+ ```
64
+
65
+ また、ハンドラー、フィルター、フォーマッターなどを追加してログをカスタマイズできます。詳細は [Python logging guide](https://docs.python.org/3/howto/logging.html) をご覧ください。
66
+
67
+ ```python
68
+ import logging
69
+
70
+ logger = logging.getLogger("openai.agents") # or openai.agents.tracing for the Tracing logger
71
+
72
+ # To make all logs show up
73
+ logger.setLevel(logging.DEBUG)
74
+ # To make info and above show up
75
+ logger.setLevel(logging.INFO)
76
+ # To make warning and above show up
77
+ logger.setLevel(logging.WARNING)
78
+ # etc
79
+
80
+ # You can customize this as needed, but this will output to `stderr` by default
81
+ logger.addHandler(logging.StreamHandler())
82
+ ```
83
+
84
+ ### ログ中の機微情報
85
+
86
+ 一部のログには機微情報(例: ユーザー データ)が含まれる場合があります。これらのデータがログに出力されないようにするには、次の環境変数を設定します。
87
+
88
+ LLM の入力と出力のロギングを無効化するには:
89
+
90
+ ```bash
91
+ export OPENAI_AGENTS_DONT_LOG_MODEL_DATA=1
92
+ ```
93
+
94
+ ツールの入力と出力のロギングを無効化するには:
95
+
96
+ ```bash
97
+ export OPENAI_AGENTS_DONT_LOG_TOOL_DATA=1
98
+ ```
@@ -0,0 +1,82 @@
1
+ ---
2
+ search:
3
+ exclude: true
4
+ ---
5
+ # コンテキスト管理
6
+
7
+ コンテキストは多義的な用語です。ここで扱う主なコンテキストは 2 つあります。
8
+
9
+ 1. コードでローカルに利用可能なコンテキスト: ツール関数の実行時、`on_handoff` のようなコールバック、ライフサイクルフックなどで必要となるデータや依存関係です。
10
+ 2. LLM に対して利用可能なコンテキスト: 応答生成時に LLM が参照できるデータです。
11
+
12
+ ## ローカルコンテキスト
13
+
14
+ これは [`RunContextWrapper`][agents.run_context.RunContextWrapper] クラスと、その内部の [`context`][agents.run_context.RunContextWrapper.context] プロパティで表現されます。動作は次のとおりです。
15
+
16
+ 1. 任意の Python オブジェクトを作成します。一般的には dataclass や Pydantic オブジェクトを使います。
17
+ 2. そのオブジェクトを各種の実行メソッド(例: `Runner.run(..., **context=whatever**)`)に渡します。
18
+ 3. すべてのツール呼び出しやライフサイクルフックなどに、`RunContextWrapper[T]` というラッパーオブジェクトが渡されます。ここで `T` はコンテキストオブジェクトの型を表し、`wrapper.context` からアクセスできます。
19
+
20
+ **最も重要な点** は、特定のエージェント実行において、あらゆるエージェント、ツール関数、ライフサイクルなどが同一のコンテキストの型を使用しなければならないことです。
21
+
22
+ コンテキストは次のような用途に使えます。
23
+
24
+ - 実行のための文脈データ(例: ユーザー名 / uid などの ユーザー に関する情報)
25
+ - 依存関係(例: ロガーオブジェクト、データフェッチャーなど)
26
+ - ヘルパー関数
27
+
28
+ !!! danger "Note"
29
+
30
+ コンテキストオブジェクトは LLM に送信されません。これは純粋にローカルなオブジェクトであり、読み書きやメソッド呼び出しができます。
31
+
32
+ ```python
33
+ import asyncio
34
+ from dataclasses import dataclass
35
+
36
+ from agents import Agent, RunContextWrapper, Runner, function_tool
37
+
38
+ @dataclass
39
+ class UserInfo: # (1)!
40
+ name: str
41
+ uid: int
42
+
43
+ @function_tool
44
+ async def fetch_user_age(wrapper: RunContextWrapper[UserInfo]) -> str: # (2)!
45
+ """Fetch the age of the user. Call this function to get user's age information."""
46
+ return f"The user {wrapper.context.name} is 47 years old"
47
+
48
+ async def main():
49
+ user_info = UserInfo(name="John", uid=123)
50
+
51
+ agent = Agent[UserInfo]( # (3)!
52
+ name="Assistant",
53
+ tools=[fetch_user_age],
54
+ )
55
+
56
+ result = await Runner.run( # (4)!
57
+ starting_agent=agent,
58
+ input="What is the age of the user?",
59
+ context=user_info,
60
+ )
61
+
62
+ print(result.final_output) # (5)!
63
+ # The user John is 47 years old.
64
+
65
+ if __name__ == "__main__":
66
+ asyncio.run(main())
67
+ ```
68
+
69
+ 1. これはコンテキストオブジェクトです。ここでは dataclass を使用していますが、任意の型を使えます。
70
+ 2. これはツールです。`RunContextWrapper[UserInfo]` を受け取り、ツール実装はコンテキストから読み取ります。
71
+ 3. エージェントにジェネリックな `UserInfo` を付与して、型チェッカーがエラーを検出できるようにします(例えば、異なるコンテキスト型を受け取るツールを渡そうとした場合)。
72
+ 4. コンテキストは `run` 関数に渡されます。
73
+ 5. エージェントはツールを正しく呼び出し、年齢を取得します。
74
+
75
+ ## エージェント / LLM コンテキスト
76
+
77
+ LLM が呼び出される際、参照できるデータは会話履歴に含まれるもの だけ です。そのため、LLM に新しいデータを利用可能にしたい場合は、その履歴で参照できる形で提供する必要があります。方法はいくつかあります。
78
+
79
+ 1. Agent の `instructions` に追加します。これは「システムプロンプト」または「開発者メッセージ」とも呼ばれます。システムプロンプトは静的な文字列でも、コンテキストを受け取って文字列を出力する動的関数でもかまいません。常に有用な情報(例: ユーザー名や現在の日付)に適した一般的な手法です。
80
+ 2. `Runner.run` 関数を呼び出すときに `input` に追加します。これは `instructions` の手法に似ていますが、[指揮系統](https://cdn.openai.com/spec/model-spec-2024-05-08.html#follow-the-chain-of-command) の下位に配置されるメッセージを使えます。
81
+ 3. 関数ツール を介して公開します。これはオンデマンドのコンテキストに有用で、LLM が必要に応じてツールを呼び出し、そのデータを取得できます。
82
+ 4. リトリーバルや Web 検索 を使用します。これらは、ファイルやデータベースから関連データを取得(リトリーバル)したり、Web から取得(Web 検索)したりできる特別なツールです。関連する文脈データに基づいて応答をグラウンディングするのに役立ちます。
@@ -0,0 +1,47 @@
1
+ ---
2
+ search:
3
+ exclude: true
4
+ ---
5
+ # コード例
6
+
7
+ [repo](https://github.com/openai/openai-agents-python/tree/main/examples) の examples セクションで、SDK のさまざまなサンプル実装をご覧ください。これらの例は、異なるパターンや機能を示すいくつかのカテゴリーに整理されています。
8
+
9
+ ## カテゴリー
10
+
11
+ - **[agent_patterns](https://github.com/openai/openai-agents-python/tree/main/examples/agent_patterns):**
12
+ このカテゴリーの例は、一般的な エージェント の設計パターンを示します。例えば
13
+
14
+ - 決定的なワークフロー
15
+ - ツールとしての エージェント
16
+ - エージェント の並列実行
17
+
18
+ - **[basic](https://github.com/openai/openai-agents-python/tree/main/examples/basic):**
19
+ これらの例は、SDK の基礎的な機能を紹介します。例えば
20
+
21
+ - 動的な システムプロンプト
22
+ - ストリーミング出力
23
+ - ライフサイクルイベント
24
+
25
+ - **[tool examples](https://github.com/openai/openai-agents-python/tree/main/examples/tools):**
26
+ Web 検索 や ファイル検索 などの OpenAI がホストするツール の実装方法と、それらを エージェント に統合する方法を学びます。
27
+
28
+ - **[model_providers](https://github.com/openai/openai-agents-python/tree/main/examples/model_providers):**
29
+ OpenAI 以外のモデルを SDK で使う方法を探ります。
30
+
31
+ - **[handoffs](https://github.com/openai/openai-agents-python/tree/main/examples/handoffs):**
32
+ エージェント の ハンドオフ の実用的な例をご覧ください。
33
+
34
+ - **[mcp](https://github.com/openai/openai-agents-python/tree/main/examples/mcp):**
35
+ MCP で エージェント を構築する方法を学びます。
36
+
37
+ - **[customer_service](https://github.com/openai/openai-agents-python/tree/main/examples/customer_service)** と **[research_bot](https://github.com/openai/openai-agents-python/tree/main/examples/research_bot):**
38
+ 実世界のアプリケーションを示す、さらに作り込まれた 2 つの例
39
+
40
+ - **customer_service**: 航空会社向けのカスタマーサービス システムの例。
41
+ - **research_bot**: シンプルな ディープリサーチ のクローン。
42
+
43
+ - **[voice](https://github.com/openai/openai-agents-python/tree/main/examples/voice):**
44
+ TTS と STT モデルを用いた音声 エージェント の例。
45
+
46
+ - **[realtime](https://github.com/openai/openai-agents-python/tree/main/examples/realtime):**
47
+ SDK を用いて リアルタイム 体験を構築する方法の例。
@@ -0,0 +1,158 @@
1
+ ---
2
+ search:
3
+ exclude: true
4
+ ---
5
+ # ガードレール
6
+
7
+ ガードレールはエージェントと _並行して_ 動作し、ユーザー入力のチェックと検証を可能にします。たとえば、カスタマーリクエストに対応するために非常に賢い(つまり遅く/高価な)モデルを使うエージェントを想像してください。悪意のあるユーザーがそのモデルに宿題の手伝いをさせるのは避けたいはずです。そこで、速く/安価なモデルでガードレールを走らせることができます。ガードレールが悪意のある利用を検知した場合、即座にエラーを発生させ、高価なモデルの実行を止めることで時間やコストを節約できます。
8
+
9
+ ガードレールには 2 つの種類があります。
10
+
11
+ 1. 入力ガードレールは初期のユーザー入力に対して実行されます
12
+ 2. 出力ガードレールは最終的なエージェント出力に対して実行されます
13
+
14
+ ## 入力ガードレール
15
+
16
+ 入力ガードレールは 3 ステップで動作します。
17
+
18
+ 1. まず、ガードレールはエージェントに渡されたものと同じ入力を受け取ります。
19
+ 2. 次に、ガードレール関数が実行され、[`GuardrailFunctionOutput`][agents.guardrail.GuardrailFunctionOutput] を生成し、これが [`InputGuardrailResult`][agents.guardrail.InputGuardrailResult] にラップされます。
20
+ 3. 最後に、[`.tripwire_triggered`][agents.guardrail.GuardrailFunctionOutput.tripwire_triggered] が true かどうかを確認します。true の場合、[`InputGuardrailTripwireTriggered`][agents.exceptions.InputGuardrailTripwireTriggered] 例外が送出され、適切にユーザーへ応答するか、例外を処理できます。
21
+
22
+ !!! Note
23
+
24
+ 入力ガードレールはユーザー入力に対して実行されることを想定しているため、エージェントのガードレールはそのエージェントが _最初の_ エージェントである場合にのみ実行されます。「なぜ `guardrails` プロパティはエージェント側にあり、`Runner.run` へ渡さないのか」と疑問に思うかもしれません。これは、ガードレールは実際のエージェントに密接に関係する傾向があるためです。エージェントごとに異なるガードレールを実行するため、コードを同じ場所に置くことで可読性が向上します。
25
+
26
+ ## 出力ガードレール
27
+
28
+ 出力ガードレールは 3 ステップで動作します。
29
+
30
+ 1. まず、ガードレールはエージェントによって生成された出力を受け取ります。
31
+ 2. 次に、ガードレール関数が実行され、[`GuardrailFunctionOutput`][agents.guardrail.GuardrailFunctionOutput] を生成し、これが [`OutputGuardrailResult`][agents.guardrail.OutputGuardrailResult] にラップされます。
32
+ 3. 最後に、[`.tripwire_triggered`][agents.guardrail.GuardrailFunctionOutput.tripwire_triggered] が true かどうかを確認します。true の場合、[`OutputGuardrailTripwireTriggered`][agents.exceptions.OutputGuardrailTripwireTriggered] 例外が送出され、適切にユーザーへ応答するか、例外を処理できます。
33
+
34
+ !!! Note
35
+
36
+ 出力ガードレールは最終的なエージェント出力に対して実行されることを想定しているため、エージェントのガードレールはそのエージェントが _最後の_ エージェントである場合にのみ実行されます。入力ガードレールと同様に、ガードレールは実際のエージェントに密接に関係する傾向があるため、コードを同じ場所に置くことで可読性が向上します。
37
+
38
+ ## トリップワイヤー
39
+
40
+ 入力または出力がガードレールに不合格となった場合、ガードレールはトリップワイヤーでそれを通知できます。トリップワイヤーが作動したガードレールを検出するとすぐに、`{Input,Output}GuardrailTripwireTriggered` 例外を送出し、エージェントの実行を停止します。
41
+
42
+ ## ガードレールの実装
43
+
44
+ 入力を受け取り、[`GuardrailFunctionOutput`][agents.guardrail.GuardrailFunctionOutput] を返す関数を用意する必要があります。次の例では、その裏側でエージェントを実行して実現します。
45
+
46
+ ```python
47
+ from pydantic import BaseModel
48
+ from agents import (
49
+ Agent,
50
+ GuardrailFunctionOutput,
51
+ InputGuardrailTripwireTriggered,
52
+ RunContextWrapper,
53
+ Runner,
54
+ TResponseInputItem,
55
+ input_guardrail,
56
+ )
57
+
58
+ class MathHomeworkOutput(BaseModel):
59
+ is_math_homework: bool
60
+ reasoning: str
61
+
62
+ guardrail_agent = Agent( # (1)!
63
+ name="Guardrail check",
64
+ instructions="Check if the user is asking you to do their math homework.",
65
+ output_type=MathHomeworkOutput,
66
+ )
67
+
68
+
69
+ @input_guardrail
70
+ async def math_guardrail( # (2)!
71
+ ctx: RunContextWrapper[None], agent: Agent, input: str | list[TResponseInputItem]
72
+ ) -> GuardrailFunctionOutput:
73
+ result = await Runner.run(guardrail_agent, input, context=ctx.context)
74
+
75
+ return GuardrailFunctionOutput(
76
+ output_info=result.final_output, # (3)!
77
+ tripwire_triggered=result.final_output.is_math_homework,
78
+ )
79
+
80
+
81
+ agent = Agent( # (4)!
82
+ name="Customer support agent",
83
+ instructions="You are a customer support agent. You help customers with their questions.",
84
+ input_guardrails=[math_guardrail],
85
+ )
86
+
87
+ async def main():
88
+ # This should trip the guardrail
89
+ try:
90
+ await Runner.run(agent, "Hello, can you help me solve for x: 2x + 3 = 11?")
91
+ print("Guardrail didn't trip - this is unexpected")
92
+
93
+ except InputGuardrailTripwireTriggered:
94
+ print("Math homework guardrail tripped")
95
+ ```
96
+
97
+ 1. このエージェントをガードレール関数で使用します。
98
+ 2. これはエージェントの入力/コンテキストを受け取り、結果を返すガードレール関数です。
99
+ 3. ガードレールの結果に追加情報を含めることができます。
100
+ 4. これはワークフローを定義する実際のエージェントです。
101
+
102
+ 出力ガードレールも同様です。
103
+
104
+ ```python
105
+ from pydantic import BaseModel
106
+ from agents import (
107
+ Agent,
108
+ GuardrailFunctionOutput,
109
+ OutputGuardrailTripwireTriggered,
110
+ RunContextWrapper,
111
+ Runner,
112
+ output_guardrail,
113
+ )
114
+ class MessageOutput(BaseModel): # (1)!
115
+ response: str
116
+
117
+ class MathOutput(BaseModel): # (2)!
118
+ reasoning: str
119
+ is_math: bool
120
+
121
+ guardrail_agent = Agent(
122
+ name="Guardrail check",
123
+ instructions="Check if the output includes any math.",
124
+ output_type=MathOutput,
125
+ )
126
+
127
+ @output_guardrail
128
+ async def math_guardrail( # (3)!
129
+ ctx: RunContextWrapper, agent: Agent, output: MessageOutput
130
+ ) -> GuardrailFunctionOutput:
131
+ result = await Runner.run(guardrail_agent, output.response, context=ctx.context)
132
+
133
+ return GuardrailFunctionOutput(
134
+ output_info=result.final_output,
135
+ tripwire_triggered=result.final_output.is_math,
136
+ )
137
+
138
+ agent = Agent( # (4)!
139
+ name="Customer support agent",
140
+ instructions="You are a customer support agent. You help customers with their questions.",
141
+ output_guardrails=[math_guardrail],
142
+ output_type=MessageOutput,
143
+ )
144
+
145
+ async def main():
146
+ # This should trip the guardrail
147
+ try:
148
+ await Runner.run(agent, "Hello, can you help me solve for x: 2x + 3 = 11?")
149
+ print("Guardrail didn't trip - this is unexpected")
150
+
151
+ except OutputGuardrailTripwireTriggered:
152
+ print("Math output guardrail tripped")
153
+ ```
154
+
155
+ 1. これは実際のエージェントの出力型です。
156
+ 2. これはガードレールの出力型です。
157
+ 3. これはエージェントの出力を受け取り、結果を返すガードレール関数です。
158
+ 4. これはワークフローを定義する実際のエージェントです。