openai-agents 0.0.13__tar.gz → 0.0.14__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 (345) hide show
  1. {openai_agents-0.0.13 → openai_agents-0.0.14}/PKG-INFO +2 -2
  2. {openai_agents-0.0.13 → openai_agents-0.0.14}/docs/tracing.md +1 -0
  3. {openai_agents-0.0.13 → openai_agents-0.0.14}/pyproject.toml +2 -2
  4. {openai_agents-0.0.13 → openai_agents-0.0.14}/src/agents/result.py +7 -9
  5. {openai_agents-0.0.13 → openai_agents-0.0.14}/src/agents/run.py +3 -0
  6. {openai_agents-0.0.13 → openai_agents-0.0.14}/src/agents/voice/__init__.py +2 -0
  7. {openai_agents-0.0.13 → openai_agents-0.0.14}/src/agents/voice/model.py +3 -4
  8. {openai_agents-0.0.13 → openai_agents-0.0.14}/tests/fake_model.py +16 -3
  9. {openai_agents-0.0.13 → openai_agents-0.0.14}/tests/test_result_cast.py +2 -1
  10. {openai_agents-0.0.13 → openai_agents-0.0.14}/uv.lock +4 -7
  11. {openai_agents-0.0.13 → openai_agents-0.0.14}/.github/ISSUE_TEMPLATE/bug_report.md +0 -0
  12. {openai_agents-0.0.13 → openai_agents-0.0.14}/.github/ISSUE_TEMPLATE/feature_request.md +0 -0
  13. {openai_agents-0.0.13 → openai_agents-0.0.14}/.github/ISSUE_TEMPLATE/model_provider.md +0 -0
  14. {openai_agents-0.0.13 → openai_agents-0.0.14}/.github/ISSUE_TEMPLATE/question.md +0 -0
  15. {openai_agents-0.0.13 → openai_agents-0.0.14}/.github/PULL_REQUEST_TEMPLATE/pull_request_template.md +0 -0
  16. {openai_agents-0.0.13 → openai_agents-0.0.14}/.github/workflows/docs.yml +0 -0
  17. {openai_agents-0.0.13 → openai_agents-0.0.14}/.github/workflows/issues.yml +0 -0
  18. {openai_agents-0.0.13 → openai_agents-0.0.14}/.github/workflows/publish.yml +0 -0
  19. {openai_agents-0.0.13 → openai_agents-0.0.14}/.github/workflows/tests.yml +0 -0
  20. {openai_agents-0.0.13 → openai_agents-0.0.14}/.gitignore +0 -0
  21. {openai_agents-0.0.13 → openai_agents-0.0.14}/.prettierrc +0 -0
  22. {openai_agents-0.0.13 → openai_agents-0.0.14}/.vscode/settings.json +0 -0
  23. {openai_agents-0.0.13 → openai_agents-0.0.14}/LICENSE +0 -0
  24. {openai_agents-0.0.13 → openai_agents-0.0.14}/Makefile +0 -0
  25. {openai_agents-0.0.13 → openai_agents-0.0.14}/README.md +0 -0
  26. {openai_agents-0.0.13 → openai_agents-0.0.14}/docs/agents.md +0 -0
  27. {openai_agents-0.0.13 → openai_agents-0.0.14}/docs/assets/images/favicon-platform.svg +0 -0
  28. {openai_agents-0.0.13 → openai_agents-0.0.14}/docs/assets/images/graph.png +0 -0
  29. {openai_agents-0.0.13 → openai_agents-0.0.14}/docs/assets/images/mcp-tracing.jpg +0 -0
  30. {openai_agents-0.0.13 → openai_agents-0.0.14}/docs/assets/images/orchestration.png +0 -0
  31. {openai_agents-0.0.13 → openai_agents-0.0.14}/docs/assets/logo.svg +0 -0
  32. {openai_agents-0.0.13 → openai_agents-0.0.14}/docs/config.md +0 -0
  33. {openai_agents-0.0.13 → openai_agents-0.0.14}/docs/context.md +0 -0
  34. {openai_agents-0.0.13 → openai_agents-0.0.14}/docs/examples.md +0 -0
  35. {openai_agents-0.0.13 → openai_agents-0.0.14}/docs/guardrails.md +0 -0
  36. {openai_agents-0.0.13 → openai_agents-0.0.14}/docs/handoffs.md +0 -0
  37. {openai_agents-0.0.13 → openai_agents-0.0.14}/docs/index.md +0 -0
  38. {openai_agents-0.0.13 → openai_agents-0.0.14}/docs/ja/agents.md +0 -0
  39. {openai_agents-0.0.13 → openai_agents-0.0.14}/docs/ja/config.md +0 -0
  40. {openai_agents-0.0.13 → openai_agents-0.0.14}/docs/ja/context.md +0 -0
  41. {openai_agents-0.0.13 → openai_agents-0.0.14}/docs/ja/examples.md +0 -0
  42. {openai_agents-0.0.13 → openai_agents-0.0.14}/docs/ja/guardrails.md +0 -0
  43. {openai_agents-0.0.13 → openai_agents-0.0.14}/docs/ja/handoffs.md +0 -0
  44. {openai_agents-0.0.13 → openai_agents-0.0.14}/docs/ja/index.md +0 -0
  45. {openai_agents-0.0.13 → openai_agents-0.0.14}/docs/ja/mcp.md +0 -0
  46. {openai_agents-0.0.13 → openai_agents-0.0.14}/docs/ja/models/index.md +0 -0
  47. {openai_agents-0.0.13 → openai_agents-0.0.14}/docs/ja/models/litellm.md +0 -0
  48. {openai_agents-0.0.13 → openai_agents-0.0.14}/docs/ja/models.md +0 -0
  49. {openai_agents-0.0.13 → openai_agents-0.0.14}/docs/ja/multi_agent.md +0 -0
  50. {openai_agents-0.0.13 → openai_agents-0.0.14}/docs/ja/quickstart.md +0 -0
  51. {openai_agents-0.0.13 → openai_agents-0.0.14}/docs/ja/results.md +0 -0
  52. {openai_agents-0.0.13 → openai_agents-0.0.14}/docs/ja/running_agents.md +0 -0
  53. {openai_agents-0.0.13 → openai_agents-0.0.14}/docs/ja/streaming.md +0 -0
  54. {openai_agents-0.0.13 → openai_agents-0.0.14}/docs/ja/tools.md +0 -0
  55. {openai_agents-0.0.13 → openai_agents-0.0.14}/docs/ja/tracing.md +0 -0
  56. {openai_agents-0.0.13 → openai_agents-0.0.14}/docs/ja/visualization.md +0 -0
  57. {openai_agents-0.0.13 → openai_agents-0.0.14}/docs/ja/voice/pipeline.md +0 -0
  58. {openai_agents-0.0.13 → openai_agents-0.0.14}/docs/ja/voice/quickstart.md +0 -0
  59. {openai_agents-0.0.13 → openai_agents-0.0.14}/docs/ja/voice/tracing.md +0 -0
  60. {openai_agents-0.0.13 → openai_agents-0.0.14}/docs/mcp.md +0 -0
  61. {openai_agents-0.0.13 → openai_agents-0.0.14}/docs/models/index.md +0 -0
  62. {openai_agents-0.0.13 → openai_agents-0.0.14}/docs/models/litellm.md +0 -0
  63. {openai_agents-0.0.13 → openai_agents-0.0.14}/docs/multi_agent.md +0 -0
  64. {openai_agents-0.0.13 → openai_agents-0.0.14}/docs/quickstart.md +0 -0
  65. {openai_agents-0.0.13 → openai_agents-0.0.14}/docs/ref/agent.md +0 -0
  66. {openai_agents-0.0.13 → openai_agents-0.0.14}/docs/ref/agent_output.md +0 -0
  67. {openai_agents-0.0.13 → openai_agents-0.0.14}/docs/ref/exceptions.md +0 -0
  68. {openai_agents-0.0.13 → openai_agents-0.0.14}/docs/ref/extensions/handoff_filters.md +0 -0
  69. {openai_agents-0.0.13 → openai_agents-0.0.14}/docs/ref/extensions/handoff_prompt.md +0 -0
  70. {openai_agents-0.0.13 → openai_agents-0.0.14}/docs/ref/extensions/litellm.md +0 -0
  71. {openai_agents-0.0.13 → openai_agents-0.0.14}/docs/ref/function_schema.md +0 -0
  72. {openai_agents-0.0.13 → openai_agents-0.0.14}/docs/ref/guardrail.md +0 -0
  73. {openai_agents-0.0.13 → openai_agents-0.0.14}/docs/ref/handoffs.md +0 -0
  74. {openai_agents-0.0.13 → openai_agents-0.0.14}/docs/ref/index.md +0 -0
  75. {openai_agents-0.0.13 → openai_agents-0.0.14}/docs/ref/items.md +0 -0
  76. {openai_agents-0.0.13 → openai_agents-0.0.14}/docs/ref/lifecycle.md +0 -0
  77. {openai_agents-0.0.13 → openai_agents-0.0.14}/docs/ref/mcp/server.md +0 -0
  78. {openai_agents-0.0.13 → openai_agents-0.0.14}/docs/ref/mcp/util.md +0 -0
  79. {openai_agents-0.0.13 → openai_agents-0.0.14}/docs/ref/model_settings.md +0 -0
  80. {openai_agents-0.0.13 → openai_agents-0.0.14}/docs/ref/models/interface.md +0 -0
  81. {openai_agents-0.0.13 → openai_agents-0.0.14}/docs/ref/models/openai_chatcompletions.md +0 -0
  82. {openai_agents-0.0.13 → openai_agents-0.0.14}/docs/ref/models/openai_responses.md +0 -0
  83. {openai_agents-0.0.13 → openai_agents-0.0.14}/docs/ref/result.md +0 -0
  84. {openai_agents-0.0.13 → openai_agents-0.0.14}/docs/ref/run.md +0 -0
  85. {openai_agents-0.0.13 → openai_agents-0.0.14}/docs/ref/run_context.md +0 -0
  86. {openai_agents-0.0.13 → openai_agents-0.0.14}/docs/ref/stream_events.md +0 -0
  87. {openai_agents-0.0.13 → openai_agents-0.0.14}/docs/ref/tool.md +0 -0
  88. {openai_agents-0.0.13 → openai_agents-0.0.14}/docs/ref/tracing/create.md +0 -0
  89. {openai_agents-0.0.13 → openai_agents-0.0.14}/docs/ref/tracing/index.md +0 -0
  90. {openai_agents-0.0.13 → openai_agents-0.0.14}/docs/ref/tracing/processor_interface.md +0 -0
  91. {openai_agents-0.0.13 → openai_agents-0.0.14}/docs/ref/tracing/processors.md +0 -0
  92. {openai_agents-0.0.13 → openai_agents-0.0.14}/docs/ref/tracing/scope.md +0 -0
  93. {openai_agents-0.0.13 → openai_agents-0.0.14}/docs/ref/tracing/setup.md +0 -0
  94. {openai_agents-0.0.13 → openai_agents-0.0.14}/docs/ref/tracing/span_data.md +0 -0
  95. {openai_agents-0.0.13 → openai_agents-0.0.14}/docs/ref/tracing/spans.md +0 -0
  96. {openai_agents-0.0.13 → openai_agents-0.0.14}/docs/ref/tracing/traces.md +0 -0
  97. {openai_agents-0.0.13 → openai_agents-0.0.14}/docs/ref/tracing/util.md +0 -0
  98. {openai_agents-0.0.13 → openai_agents-0.0.14}/docs/ref/usage.md +0 -0
  99. {openai_agents-0.0.13 → openai_agents-0.0.14}/docs/ref/voice/events.md +0 -0
  100. {openai_agents-0.0.13 → openai_agents-0.0.14}/docs/ref/voice/exceptions.md +0 -0
  101. {openai_agents-0.0.13 → openai_agents-0.0.14}/docs/ref/voice/input.md +0 -0
  102. {openai_agents-0.0.13 → openai_agents-0.0.14}/docs/ref/voice/model.md +0 -0
  103. {openai_agents-0.0.13 → openai_agents-0.0.14}/docs/ref/voice/models/openai_provider.md +0 -0
  104. {openai_agents-0.0.13 → openai_agents-0.0.14}/docs/ref/voice/models/openai_stt.md +0 -0
  105. {openai_agents-0.0.13 → openai_agents-0.0.14}/docs/ref/voice/models/openai_tts.md +0 -0
  106. {openai_agents-0.0.13 → openai_agents-0.0.14}/docs/ref/voice/pipeline.md +0 -0
  107. {openai_agents-0.0.13 → openai_agents-0.0.14}/docs/ref/voice/pipeline_config.md +0 -0
  108. {openai_agents-0.0.13 → openai_agents-0.0.14}/docs/ref/voice/result.md +0 -0
  109. {openai_agents-0.0.13 → openai_agents-0.0.14}/docs/ref/voice/utils.md +0 -0
  110. {openai_agents-0.0.13 → openai_agents-0.0.14}/docs/ref/voice/workflow.md +0 -0
  111. {openai_agents-0.0.13 → openai_agents-0.0.14}/docs/results.md +0 -0
  112. {openai_agents-0.0.13 → openai_agents-0.0.14}/docs/running_agents.md +0 -0
  113. {openai_agents-0.0.13 → openai_agents-0.0.14}/docs/scripts/translate_docs.py +0 -0
  114. {openai_agents-0.0.13 → openai_agents-0.0.14}/docs/streaming.md +0 -0
  115. {openai_agents-0.0.13 → openai_agents-0.0.14}/docs/stylesheets/extra.css +0 -0
  116. {openai_agents-0.0.13 → openai_agents-0.0.14}/docs/tools.md +0 -0
  117. {openai_agents-0.0.13 → openai_agents-0.0.14}/docs/visualization.md +0 -0
  118. {openai_agents-0.0.13 → openai_agents-0.0.14}/docs/voice/pipeline.md +0 -0
  119. {openai_agents-0.0.13 → openai_agents-0.0.14}/docs/voice/quickstart.md +0 -0
  120. {openai_agents-0.0.13 → openai_agents-0.0.14}/docs/voice/tracing.md +0 -0
  121. {openai_agents-0.0.13 → openai_agents-0.0.14}/examples/__init__.py +0 -0
  122. {openai_agents-0.0.13 → openai_agents-0.0.14}/examples/agent_patterns/README.md +0 -0
  123. {openai_agents-0.0.13 → openai_agents-0.0.14}/examples/agent_patterns/agents_as_tools.py +0 -0
  124. {openai_agents-0.0.13 → openai_agents-0.0.14}/examples/agent_patterns/deterministic.py +0 -0
  125. {openai_agents-0.0.13 → openai_agents-0.0.14}/examples/agent_patterns/forcing_tool_use.py +0 -0
  126. {openai_agents-0.0.13 → openai_agents-0.0.14}/examples/agent_patterns/input_guardrails.py +0 -0
  127. {openai_agents-0.0.13 → openai_agents-0.0.14}/examples/agent_patterns/llm_as_a_judge.py +0 -0
  128. {openai_agents-0.0.13 → openai_agents-0.0.14}/examples/agent_patterns/output_guardrails.py +0 -0
  129. {openai_agents-0.0.13 → openai_agents-0.0.14}/examples/agent_patterns/parallelization.py +0 -0
  130. {openai_agents-0.0.13 → openai_agents-0.0.14}/examples/agent_patterns/routing.py +0 -0
  131. {openai_agents-0.0.13 → openai_agents-0.0.14}/examples/agent_patterns/streaming_guardrails.py +0 -0
  132. {openai_agents-0.0.13 → openai_agents-0.0.14}/examples/basic/agent_lifecycle_example.py +0 -0
  133. {openai_agents-0.0.13 → openai_agents-0.0.14}/examples/basic/dynamic_system_prompt.py +0 -0
  134. {openai_agents-0.0.13 → openai_agents-0.0.14}/examples/basic/hello_world.py +0 -0
  135. {openai_agents-0.0.13 → openai_agents-0.0.14}/examples/basic/hello_world_jupyter.py +0 -0
  136. {openai_agents-0.0.13 → openai_agents-0.0.14}/examples/basic/lifecycle_example.py +0 -0
  137. {openai_agents-0.0.13 → openai_agents-0.0.14}/examples/basic/local_image.py +0 -0
  138. {openai_agents-0.0.13 → openai_agents-0.0.14}/examples/basic/media/image_bison.jpg +0 -0
  139. {openai_agents-0.0.13 → openai_agents-0.0.14}/examples/basic/non_strict_output_type.py +0 -0
  140. {openai_agents-0.0.13 → openai_agents-0.0.14}/examples/basic/previous_response_id.py +0 -0
  141. {openai_agents-0.0.13 → openai_agents-0.0.14}/examples/basic/remote_image.py +0 -0
  142. {openai_agents-0.0.13 → openai_agents-0.0.14}/examples/basic/stream_items.py +0 -0
  143. {openai_agents-0.0.13 → openai_agents-0.0.14}/examples/basic/stream_text.py +0 -0
  144. {openai_agents-0.0.13 → openai_agents-0.0.14}/examples/basic/tools.py +0 -0
  145. {openai_agents-0.0.13 → openai_agents-0.0.14}/examples/customer_service/main.py +0 -0
  146. {openai_agents-0.0.13 → openai_agents-0.0.14}/examples/financial_research_agent/README.md +0 -0
  147. {openai_agents-0.0.13 → openai_agents-0.0.14}/examples/financial_research_agent/__init__.py +0 -0
  148. {openai_agents-0.0.13 → openai_agents-0.0.14}/examples/financial_research_agent/agents/__init__.py +0 -0
  149. {openai_agents-0.0.13 → openai_agents-0.0.14}/examples/financial_research_agent/agents/financials_agent.py +0 -0
  150. {openai_agents-0.0.13 → openai_agents-0.0.14}/examples/financial_research_agent/agents/planner_agent.py +0 -0
  151. {openai_agents-0.0.13 → openai_agents-0.0.14}/examples/financial_research_agent/agents/risk_agent.py +0 -0
  152. {openai_agents-0.0.13 → openai_agents-0.0.14}/examples/financial_research_agent/agents/search_agent.py +0 -0
  153. {openai_agents-0.0.13 → openai_agents-0.0.14}/examples/financial_research_agent/agents/verifier_agent.py +0 -0
  154. {openai_agents-0.0.13 → openai_agents-0.0.14}/examples/financial_research_agent/agents/writer_agent.py +0 -0
  155. {openai_agents-0.0.13 → openai_agents-0.0.14}/examples/financial_research_agent/main.py +0 -0
  156. {openai_agents-0.0.13 → openai_agents-0.0.14}/examples/financial_research_agent/manager.py +0 -0
  157. {openai_agents-0.0.13 → openai_agents-0.0.14}/examples/financial_research_agent/printer.py +0 -0
  158. {openai_agents-0.0.13 → openai_agents-0.0.14}/examples/handoffs/message_filter.py +0 -0
  159. {openai_agents-0.0.13 → openai_agents-0.0.14}/examples/handoffs/message_filter_streaming.py +0 -0
  160. {openai_agents-0.0.13 → openai_agents-0.0.14}/examples/mcp/filesystem_example/README.md +0 -0
  161. {openai_agents-0.0.13 → openai_agents-0.0.14}/examples/mcp/filesystem_example/main.py +0 -0
  162. {openai_agents-0.0.13 → openai_agents-0.0.14}/examples/mcp/filesystem_example/sample_files/favorite_books.txt +0 -0
  163. {openai_agents-0.0.13 → openai_agents-0.0.14}/examples/mcp/filesystem_example/sample_files/favorite_cities.txt +0 -0
  164. {openai_agents-0.0.13 → openai_agents-0.0.14}/examples/mcp/filesystem_example/sample_files/favorite_songs.txt +0 -0
  165. {openai_agents-0.0.13 → openai_agents-0.0.14}/examples/mcp/git_example/README.md +0 -0
  166. {openai_agents-0.0.13 → openai_agents-0.0.14}/examples/mcp/git_example/main.py +0 -0
  167. {openai_agents-0.0.13 → openai_agents-0.0.14}/examples/mcp/sse_example/README.md +0 -0
  168. {openai_agents-0.0.13 → openai_agents-0.0.14}/examples/mcp/sse_example/main.py +0 -0
  169. {openai_agents-0.0.13 → openai_agents-0.0.14}/examples/mcp/sse_example/server.py +0 -0
  170. {openai_agents-0.0.13 → openai_agents-0.0.14}/examples/model_providers/README.md +0 -0
  171. {openai_agents-0.0.13 → openai_agents-0.0.14}/examples/model_providers/custom_example_agent.py +0 -0
  172. {openai_agents-0.0.13 → openai_agents-0.0.14}/examples/model_providers/custom_example_global.py +0 -0
  173. {openai_agents-0.0.13 → openai_agents-0.0.14}/examples/model_providers/custom_example_provider.py +0 -0
  174. {openai_agents-0.0.13 → openai_agents-0.0.14}/examples/model_providers/litellm_auto.py +0 -0
  175. {openai_agents-0.0.13 → openai_agents-0.0.14}/examples/model_providers/litellm_provider.py +0 -0
  176. {openai_agents-0.0.13 → openai_agents-0.0.14}/examples/research_bot/README.md +0 -0
  177. {openai_agents-0.0.13 → openai_agents-0.0.14}/examples/research_bot/__init__.py +0 -0
  178. {openai_agents-0.0.13 → openai_agents-0.0.14}/examples/research_bot/agents/__init__.py +0 -0
  179. {openai_agents-0.0.13 → openai_agents-0.0.14}/examples/research_bot/agents/planner_agent.py +0 -0
  180. {openai_agents-0.0.13 → openai_agents-0.0.14}/examples/research_bot/agents/search_agent.py +0 -0
  181. {openai_agents-0.0.13 → openai_agents-0.0.14}/examples/research_bot/agents/writer_agent.py +0 -0
  182. {openai_agents-0.0.13 → openai_agents-0.0.14}/examples/research_bot/main.py +0 -0
  183. {openai_agents-0.0.13 → openai_agents-0.0.14}/examples/research_bot/manager.py +0 -0
  184. {openai_agents-0.0.13 → openai_agents-0.0.14}/examples/research_bot/printer.py +0 -0
  185. {openai_agents-0.0.13 → openai_agents-0.0.14}/examples/research_bot/sample_outputs/product_recs.md +0 -0
  186. {openai_agents-0.0.13 → openai_agents-0.0.14}/examples/research_bot/sample_outputs/product_recs.txt +0 -0
  187. {openai_agents-0.0.13 → openai_agents-0.0.14}/examples/research_bot/sample_outputs/vacation.md +0 -0
  188. {openai_agents-0.0.13 → openai_agents-0.0.14}/examples/research_bot/sample_outputs/vacation.txt +0 -0
  189. {openai_agents-0.0.13 → openai_agents-0.0.14}/examples/tools/computer_use.py +0 -0
  190. {openai_agents-0.0.13 → openai_agents-0.0.14}/examples/tools/file_search.py +0 -0
  191. {openai_agents-0.0.13 → openai_agents-0.0.14}/examples/tools/web_search.py +0 -0
  192. {openai_agents-0.0.13 → openai_agents-0.0.14}/examples/voice/__init__.py +0 -0
  193. {openai_agents-0.0.13 → openai_agents-0.0.14}/examples/voice/static/README.md +0 -0
  194. {openai_agents-0.0.13 → openai_agents-0.0.14}/examples/voice/static/__init__.py +0 -0
  195. {openai_agents-0.0.13 → openai_agents-0.0.14}/examples/voice/static/main.py +0 -0
  196. {openai_agents-0.0.13 → openai_agents-0.0.14}/examples/voice/static/util.py +0 -0
  197. {openai_agents-0.0.13 → openai_agents-0.0.14}/examples/voice/streamed/README.md +0 -0
  198. {openai_agents-0.0.13 → openai_agents-0.0.14}/examples/voice/streamed/__init__.py +0 -0
  199. {openai_agents-0.0.13 → openai_agents-0.0.14}/examples/voice/streamed/main.py +0 -0
  200. {openai_agents-0.0.13 → openai_agents-0.0.14}/examples/voice/streamed/my_workflow.py +0 -0
  201. {openai_agents-0.0.13 → openai_agents-0.0.14}/mkdocs.yml +0 -0
  202. {openai_agents-0.0.13 → openai_agents-0.0.14}/src/agents/__init__.py +0 -0
  203. {openai_agents-0.0.13 → openai_agents-0.0.14}/src/agents/_config.py +0 -0
  204. {openai_agents-0.0.13 → openai_agents-0.0.14}/src/agents/_debug.py +0 -0
  205. {openai_agents-0.0.13 → openai_agents-0.0.14}/src/agents/_run_impl.py +0 -0
  206. {openai_agents-0.0.13 → openai_agents-0.0.14}/src/agents/agent.py +0 -0
  207. {openai_agents-0.0.13 → openai_agents-0.0.14}/src/agents/agent_output.py +0 -0
  208. {openai_agents-0.0.13 → openai_agents-0.0.14}/src/agents/computer.py +0 -0
  209. {openai_agents-0.0.13 → openai_agents-0.0.14}/src/agents/exceptions.py +0 -0
  210. {openai_agents-0.0.13 → openai_agents-0.0.14}/src/agents/extensions/__init__.py +0 -0
  211. {openai_agents-0.0.13 → openai_agents-0.0.14}/src/agents/extensions/handoff_filters.py +0 -0
  212. {openai_agents-0.0.13 → openai_agents-0.0.14}/src/agents/extensions/handoff_prompt.py +0 -0
  213. {openai_agents-0.0.13 → openai_agents-0.0.14}/src/agents/extensions/models/__init__.py +0 -0
  214. {openai_agents-0.0.13 → openai_agents-0.0.14}/src/agents/extensions/models/litellm_model.py +0 -0
  215. {openai_agents-0.0.13 → openai_agents-0.0.14}/src/agents/extensions/models/litellm_provider.py +0 -0
  216. {openai_agents-0.0.13 → openai_agents-0.0.14}/src/agents/extensions/visualization.py +0 -0
  217. {openai_agents-0.0.13 → openai_agents-0.0.14}/src/agents/function_schema.py +0 -0
  218. {openai_agents-0.0.13 → openai_agents-0.0.14}/src/agents/guardrail.py +0 -0
  219. {openai_agents-0.0.13 → openai_agents-0.0.14}/src/agents/handoffs.py +0 -0
  220. {openai_agents-0.0.13 → openai_agents-0.0.14}/src/agents/items.py +0 -0
  221. {openai_agents-0.0.13 → openai_agents-0.0.14}/src/agents/lifecycle.py +0 -0
  222. {openai_agents-0.0.13 → openai_agents-0.0.14}/src/agents/logger.py +0 -0
  223. {openai_agents-0.0.13 → openai_agents-0.0.14}/src/agents/mcp/__init__.py +0 -0
  224. {openai_agents-0.0.13 → openai_agents-0.0.14}/src/agents/mcp/server.py +0 -0
  225. {openai_agents-0.0.13 → openai_agents-0.0.14}/src/agents/mcp/util.py +0 -0
  226. {openai_agents-0.0.13 → openai_agents-0.0.14}/src/agents/model_settings.py +0 -0
  227. {openai_agents-0.0.13 → openai_agents-0.0.14}/src/agents/models/__init__.py +0 -0
  228. {openai_agents-0.0.13 → openai_agents-0.0.14}/src/agents/models/_openai_shared.py +0 -0
  229. {openai_agents-0.0.13 → openai_agents-0.0.14}/src/agents/models/chatcmpl_converter.py +0 -0
  230. {openai_agents-0.0.13 → openai_agents-0.0.14}/src/agents/models/chatcmpl_helpers.py +0 -0
  231. {openai_agents-0.0.13 → openai_agents-0.0.14}/src/agents/models/chatcmpl_stream_handler.py +0 -0
  232. {openai_agents-0.0.13 → openai_agents-0.0.14}/src/agents/models/fake_id.py +0 -0
  233. {openai_agents-0.0.13 → openai_agents-0.0.14}/src/agents/models/interface.py +0 -0
  234. {openai_agents-0.0.13 → openai_agents-0.0.14}/src/agents/models/multi_provider.py +0 -0
  235. {openai_agents-0.0.13 → openai_agents-0.0.14}/src/agents/models/openai_chatcompletions.py +0 -0
  236. {openai_agents-0.0.13 → openai_agents-0.0.14}/src/agents/models/openai_provider.py +0 -0
  237. {openai_agents-0.0.13 → openai_agents-0.0.14}/src/agents/models/openai_responses.py +0 -0
  238. {openai_agents-0.0.13 → openai_agents-0.0.14}/src/agents/py.typed +0 -0
  239. {openai_agents-0.0.13 → openai_agents-0.0.14}/src/agents/run_context.py +0 -0
  240. {openai_agents-0.0.13 → openai_agents-0.0.14}/src/agents/stream_events.py +0 -0
  241. {openai_agents-0.0.13 → openai_agents-0.0.14}/src/agents/strict_schema.py +0 -0
  242. {openai_agents-0.0.13 → openai_agents-0.0.14}/src/agents/tool.py +0 -0
  243. {openai_agents-0.0.13 → openai_agents-0.0.14}/src/agents/tracing/__init__.py +0 -0
  244. {openai_agents-0.0.13 → openai_agents-0.0.14}/src/agents/tracing/create.py +0 -0
  245. {openai_agents-0.0.13 → openai_agents-0.0.14}/src/agents/tracing/logger.py +0 -0
  246. {openai_agents-0.0.13 → openai_agents-0.0.14}/src/agents/tracing/processor_interface.py +0 -0
  247. {openai_agents-0.0.13 → openai_agents-0.0.14}/src/agents/tracing/processors.py +0 -0
  248. {openai_agents-0.0.13 → openai_agents-0.0.14}/src/agents/tracing/scope.py +0 -0
  249. {openai_agents-0.0.13 → openai_agents-0.0.14}/src/agents/tracing/setup.py +0 -0
  250. {openai_agents-0.0.13 → openai_agents-0.0.14}/src/agents/tracing/span_data.py +0 -0
  251. {openai_agents-0.0.13 → openai_agents-0.0.14}/src/agents/tracing/spans.py +0 -0
  252. {openai_agents-0.0.13 → openai_agents-0.0.14}/src/agents/tracing/traces.py +0 -0
  253. {openai_agents-0.0.13 → openai_agents-0.0.14}/src/agents/tracing/util.py +0 -0
  254. {openai_agents-0.0.13 → openai_agents-0.0.14}/src/agents/usage.py +0 -0
  255. {openai_agents-0.0.13 → openai_agents-0.0.14}/src/agents/util/__init__.py +0 -0
  256. {openai_agents-0.0.13 → openai_agents-0.0.14}/src/agents/util/_coro.py +0 -0
  257. {openai_agents-0.0.13 → openai_agents-0.0.14}/src/agents/util/_error_tracing.py +0 -0
  258. {openai_agents-0.0.13 → openai_agents-0.0.14}/src/agents/util/_json.py +0 -0
  259. {openai_agents-0.0.13 → openai_agents-0.0.14}/src/agents/util/_pretty_print.py +0 -0
  260. {openai_agents-0.0.13 → openai_agents-0.0.14}/src/agents/util/_transforms.py +0 -0
  261. {openai_agents-0.0.13 → openai_agents-0.0.14}/src/agents/util/_types.py +0 -0
  262. {openai_agents-0.0.13 → openai_agents-0.0.14}/src/agents/version.py +0 -0
  263. {openai_agents-0.0.13 → openai_agents-0.0.14}/src/agents/voice/events.py +0 -0
  264. {openai_agents-0.0.13 → openai_agents-0.0.14}/src/agents/voice/exceptions.py +0 -0
  265. {openai_agents-0.0.13 → openai_agents-0.0.14}/src/agents/voice/imports.py +0 -0
  266. {openai_agents-0.0.13 → openai_agents-0.0.14}/src/agents/voice/input.py +0 -0
  267. {openai_agents-0.0.13 → openai_agents-0.0.14}/src/agents/voice/models/__init__.py +0 -0
  268. {openai_agents-0.0.13 → openai_agents-0.0.14}/src/agents/voice/models/openai_model_provider.py +0 -0
  269. {openai_agents-0.0.13 → openai_agents-0.0.14}/src/agents/voice/models/openai_stt.py +0 -0
  270. {openai_agents-0.0.13 → openai_agents-0.0.14}/src/agents/voice/models/openai_tts.py +0 -0
  271. {openai_agents-0.0.13 → openai_agents-0.0.14}/src/agents/voice/pipeline.py +0 -0
  272. {openai_agents-0.0.13 → openai_agents-0.0.14}/src/agents/voice/pipeline_config.py +0 -0
  273. {openai_agents-0.0.13 → openai_agents-0.0.14}/src/agents/voice/result.py +0 -0
  274. {openai_agents-0.0.13 → openai_agents-0.0.14}/src/agents/voice/utils.py +0 -0
  275. {openai_agents-0.0.13 → openai_agents-0.0.14}/src/agents/voice/workflow.py +0 -0
  276. {openai_agents-0.0.13 → openai_agents-0.0.14}/tests/README.md +0 -0
  277. {openai_agents-0.0.13 → openai_agents-0.0.14}/tests/__init__.py +0 -0
  278. {openai_agents-0.0.13 → openai_agents-0.0.14}/tests/conftest.py +0 -0
  279. {openai_agents-0.0.13 → openai_agents-0.0.14}/tests/fastapi/__init__.py +0 -0
  280. {openai_agents-0.0.13 → openai_agents-0.0.14}/tests/fastapi/streaming_app.py +0 -0
  281. {openai_agents-0.0.13 → openai_agents-0.0.14}/tests/fastapi/test_streaming_context.py +0 -0
  282. {openai_agents-0.0.13 → openai_agents-0.0.14}/tests/mcp/__init__.py +0 -0
  283. {openai_agents-0.0.13 → openai_agents-0.0.14}/tests/mcp/conftest.py +0 -0
  284. {openai_agents-0.0.13 → openai_agents-0.0.14}/tests/mcp/helpers.py +0 -0
  285. {openai_agents-0.0.13 → openai_agents-0.0.14}/tests/mcp/test_caching.py +0 -0
  286. {openai_agents-0.0.13 → openai_agents-0.0.14}/tests/mcp/test_connect_disconnect.py +0 -0
  287. {openai_agents-0.0.13 → openai_agents-0.0.14}/tests/mcp/test_mcp_tracing.py +0 -0
  288. {openai_agents-0.0.13 → openai_agents-0.0.14}/tests/mcp/test_mcp_util.py +0 -0
  289. {openai_agents-0.0.13 → openai_agents-0.0.14}/tests/mcp/test_runner_calls_mcp.py +0 -0
  290. {openai_agents-0.0.13 → openai_agents-0.0.14}/tests/mcp/test_server_errors.py +0 -0
  291. {openai_agents-0.0.13 → openai_agents-0.0.14}/tests/model_settings/test_serialization.py +0 -0
  292. {openai_agents-0.0.13 → openai_agents-0.0.14}/tests/models/__init__.py +0 -0
  293. {openai_agents-0.0.13 → openai_agents-0.0.14}/tests/models/conftest.py +0 -0
  294. {openai_agents-0.0.13 → openai_agents-0.0.14}/tests/models/test_litellm_chatcompletions_stream.py +0 -0
  295. {openai_agents-0.0.13 → openai_agents-0.0.14}/tests/models/test_map.py +0 -0
  296. {openai_agents-0.0.13 → openai_agents-0.0.14}/tests/test_agent_config.py +0 -0
  297. {openai_agents-0.0.13 → openai_agents-0.0.14}/tests/test_agent_hooks.py +0 -0
  298. {openai_agents-0.0.13 → openai_agents-0.0.14}/tests/test_agent_runner.py +0 -0
  299. {openai_agents-0.0.13 → openai_agents-0.0.14}/tests/test_agent_runner_streamed.py +0 -0
  300. {openai_agents-0.0.13 → openai_agents-0.0.14}/tests/test_agent_tracing.py +0 -0
  301. {openai_agents-0.0.13 → openai_agents-0.0.14}/tests/test_cancel_streaming.py +0 -0
  302. {openai_agents-0.0.13 → openai_agents-0.0.14}/tests/test_computer_action.py +0 -0
  303. {openai_agents-0.0.13 → openai_agents-0.0.14}/tests/test_config.py +0 -0
  304. {openai_agents-0.0.13 → openai_agents-0.0.14}/tests/test_doc_parsing.py +0 -0
  305. {openai_agents-0.0.13 → openai_agents-0.0.14}/tests/test_extension_filters.py +0 -0
  306. {openai_agents-0.0.13 → openai_agents-0.0.14}/tests/test_extra_headers.py +0 -0
  307. {openai_agents-0.0.13 → openai_agents-0.0.14}/tests/test_function_schema.py +0 -0
  308. {openai_agents-0.0.13 → openai_agents-0.0.14}/tests/test_function_tool.py +0 -0
  309. {openai_agents-0.0.13 → openai_agents-0.0.14}/tests/test_function_tool_decorator.py +0 -0
  310. {openai_agents-0.0.13 → openai_agents-0.0.14}/tests/test_global_hooks.py +0 -0
  311. {openai_agents-0.0.13 → openai_agents-0.0.14}/tests/test_guardrails.py +0 -0
  312. {openai_agents-0.0.13 → openai_agents-0.0.14}/tests/test_handoff_tool.py +0 -0
  313. {openai_agents-0.0.13 → openai_agents-0.0.14}/tests/test_items_helpers.py +0 -0
  314. {openai_agents-0.0.13 → openai_agents-0.0.14}/tests/test_max_turns.py +0 -0
  315. {openai_agents-0.0.13 → openai_agents-0.0.14}/tests/test_openai_chatcompletions.py +0 -0
  316. {openai_agents-0.0.13 → openai_agents-0.0.14}/tests/test_openai_chatcompletions_converter.py +0 -0
  317. {openai_agents-0.0.13 → openai_agents-0.0.14}/tests/test_openai_chatcompletions_stream.py +0 -0
  318. {openai_agents-0.0.13 → openai_agents-0.0.14}/tests/test_openai_responses_converter.py +0 -0
  319. {openai_agents-0.0.13 → openai_agents-0.0.14}/tests/test_output_tool.py +0 -0
  320. {openai_agents-0.0.13 → openai_agents-0.0.14}/tests/test_pretty_print.py +0 -0
  321. {openai_agents-0.0.13 → openai_agents-0.0.14}/tests/test_responses.py +0 -0
  322. {openai_agents-0.0.13 → openai_agents-0.0.14}/tests/test_responses_tracing.py +0 -0
  323. {openai_agents-0.0.13 → openai_agents-0.0.14}/tests/test_run_config.py +0 -0
  324. {openai_agents-0.0.13 → openai_agents-0.0.14}/tests/test_run_step_execution.py +0 -0
  325. {openai_agents-0.0.13 → openai_agents-0.0.14}/tests/test_run_step_processing.py +0 -0
  326. {openai_agents-0.0.13 → openai_agents-0.0.14}/tests/test_strict_schema.py +0 -0
  327. {openai_agents-0.0.13 → openai_agents-0.0.14}/tests/test_tool_choice_reset.py +0 -0
  328. {openai_agents-0.0.13 → openai_agents-0.0.14}/tests/test_tool_converter.py +0 -0
  329. {openai_agents-0.0.13 → openai_agents-0.0.14}/tests/test_tool_use_behavior.py +0 -0
  330. {openai_agents-0.0.13 → openai_agents-0.0.14}/tests/test_trace_processor.py +0 -0
  331. {openai_agents-0.0.13 → openai_agents-0.0.14}/tests/test_tracing.py +0 -0
  332. {openai_agents-0.0.13 → openai_agents-0.0.14}/tests/test_tracing_errors.py +0 -0
  333. {openai_agents-0.0.13 → openai_agents-0.0.14}/tests/test_tracing_errors_streamed.py +0 -0
  334. {openai_agents-0.0.13 → openai_agents-0.0.14}/tests/test_visualization.py +0 -0
  335. {openai_agents-0.0.13 → openai_agents-0.0.14}/tests/testing_processor.py +0 -0
  336. {openai_agents-0.0.13 → openai_agents-0.0.14}/tests/tracing/test_processor_api_key.py +0 -0
  337. {openai_agents-0.0.13 → openai_agents-0.0.14}/tests/voice/__init__.py +0 -0
  338. {openai_agents-0.0.13 → openai_agents-0.0.14}/tests/voice/conftest.py +0 -0
  339. {openai_agents-0.0.13 → openai_agents-0.0.14}/tests/voice/fake_models.py +0 -0
  340. {openai_agents-0.0.13 → openai_agents-0.0.14}/tests/voice/helpers.py +0 -0
  341. {openai_agents-0.0.13 → openai_agents-0.0.14}/tests/voice/test_input.py +0 -0
  342. {openai_agents-0.0.13 → openai_agents-0.0.14}/tests/voice/test_openai_stt.py +0 -0
  343. {openai_agents-0.0.13 → openai_agents-0.0.14}/tests/voice/test_openai_tts.py +0 -0
  344. {openai_agents-0.0.13 → openai_agents-0.0.14}/tests/voice/test_pipeline.py +0 -0
  345. {openai_agents-0.0.13 → openai_agents-0.0.14}/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.0.13
3
+ Version: 0.0.14
4
4
  Summary: OpenAI Agents SDK
5
5
  Project-URL: Homepage, https://github.com/openai/openai-agents-python
6
6
  Project-URL: Repository, https://github.com/openai/openai-agents-python
@@ -26,7 +26,7 @@ Requires-Dist: requests<3,>=2.0
26
26
  Requires-Dist: types-requests<3,>=2.0
27
27
  Requires-Dist: typing-extensions<5,>=4.12.2
28
28
  Provides-Extra: litellm
29
- Requires-Dist: litellm<2,>=1.65.0; extra == 'litellm'
29
+ Requires-Dist: litellm<2,>=1.67.4.post1; extra == 'litellm'
30
30
  Provides-Extra: viz
31
31
  Requires-Dist: graphviz>=0.17; extra == 'viz'
32
32
  Provides-Extra: voice
@@ -101,6 +101,7 @@ To customize this default setup, to send traces to alternative or additional bac
101
101
 
102
102
  - [Weights & Biases](https://weave-docs.wandb.ai/guides/integrations/openai_agents)
103
103
  - [Arize-Phoenix](https://docs.arize.com/phoenix/tracing/integrations-tracing/openai-agents-sdk)
104
+ - [Future AGI](https://docs.futureagi.com/future-agi/products/observability/auto-instrumentation/openai_agents)
104
105
  - [MLflow (self-hosted/OSS](https://mlflow.org/docs/latest/tracing/integrations/openai-agent)
105
106
  - [MLflow (Databricks hosted](https://docs.databricks.com/aws/en/mlflow/mlflow-tracing#-automatic-tracing)
106
107
  - [Braintrust](https://braintrust.dev/docs/guides/traces/integrations#openai-agents-sdk)
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "openai-agents"
3
- version = "0.0.13"
3
+ version = "0.0.14"
4
4
  description = "OpenAI Agents SDK"
5
5
  readme = "README.md"
6
6
  requires-python = ">=3.9"
@@ -36,7 +36,7 @@ Repository = "https://github.com/openai/openai-agents-python"
36
36
  [project.optional-dependencies]
37
37
  voice = ["numpy>=2.2.0, <3; python_version>='3.10'", "websockets>=15.0, <16"]
38
38
  viz = ["graphviz>=0.17"]
39
- litellm = ["litellm>=1.65.0, <2"]
39
+ litellm = ["litellm>=1.67.4.post1, <2"]
40
40
 
41
41
  [dependency-groups]
42
42
  dev = [
@@ -15,6 +15,7 @@ from .exceptions import InputGuardrailTripwireTriggered, MaxTurnsExceeded
15
15
  from .guardrail import InputGuardrailResult, OutputGuardrailResult
16
16
  from .items import ItemHelpers, ModelResponse, RunItem, TResponseInputItem
17
17
  from .logger import logger
18
+ from .run_context import RunContextWrapper
18
19
  from .stream_events import StreamEvent
19
20
  from .tracing import Trace
20
21
  from .util._pretty_print import pretty_print_result, pretty_print_run_result_streaming
@@ -50,6 +51,9 @@ class RunResultBase(abc.ABC):
50
51
  output_guardrail_results: list[OutputGuardrailResult]
51
52
  """Guardrail results for the final output of the agent."""
52
53
 
54
+ context_wrapper: RunContextWrapper[Any]
55
+ """The context wrapper for the agent run."""
56
+
53
57
  @property
54
58
  @abc.abstractmethod
55
59
  def last_agent(self) -> Agent[Any]:
@@ -75,9 +79,7 @@ class RunResultBase(abc.ABC):
75
79
 
76
80
  def to_input_list(self) -> list[TResponseInputItem]:
77
81
  """Creates a new input list, merging the original input with all the new items generated."""
78
- original_items: list[TResponseInputItem] = ItemHelpers.input_to_new_input_list(
79
- self.input
80
- )
82
+ original_items: list[TResponseInputItem] = ItemHelpers.input_to_new_input_list(self.input)
81
83
  new_items = [item.to_input_item() for item in self.new_items]
82
84
 
83
85
  return original_items + new_items
@@ -206,17 +208,13 @@ class RunResultStreaming(RunResultBase):
206
208
 
207
209
  def _check_errors(self):
208
210
  if self.current_turn > self.max_turns:
209
- self._stored_exception = MaxTurnsExceeded(
210
- f"Max turns ({self.max_turns}) exceeded"
211
- )
211
+ self._stored_exception = MaxTurnsExceeded(f"Max turns ({self.max_turns}) exceeded")
212
212
 
213
213
  # Fetch all the completed guardrail results from the queue and raise if needed
214
214
  while not self._input_guardrail_queue.empty():
215
215
  guardrail_result = self._input_guardrail_queue.get_nowait()
216
216
  if guardrail_result.output.tripwire_triggered:
217
- self._stored_exception = InputGuardrailTripwireTriggered(
218
- guardrail_result
219
- )
217
+ self._stored_exception = InputGuardrailTripwireTriggered(guardrail_result)
220
218
 
221
219
  # Check the tasks for any exceptions
222
220
  if self._run_impl_task and self._run_impl_task.done():
@@ -270,6 +270,7 @@ class Runner:
270
270
  _last_agent=current_agent,
271
271
  input_guardrail_results=input_guardrail_results,
272
272
  output_guardrail_results=output_guardrail_results,
273
+ context_wrapper=context_wrapper,
273
274
  )
274
275
  elif isinstance(turn_result.next_step, NextStepHandoff):
275
276
  current_agent = cast(Agent[TContext], turn_result.next_step.new_agent)
@@ -423,6 +424,7 @@ class Runner:
423
424
  output_guardrail_results=[],
424
425
  _current_agent_output_schema=output_schema,
425
426
  trace=new_trace,
427
+ context_wrapper=context_wrapper,
426
428
  )
427
429
 
428
430
  # Kick off the actual agent loop in the background and return the streamed result object.
@@ -696,6 +698,7 @@ class Runner:
696
698
  usage=usage,
697
699
  response_id=event.response.id,
698
700
  )
701
+ context_wrapper.usage.add(usage)
699
702
 
700
703
  streamed_result._event_queue.put_nowait(RawResponsesStreamEvent(data=event))
701
704
 
@@ -7,6 +7,7 @@ from .model import (
7
7
  STTModelSettings,
8
8
  TTSModel,
9
9
  TTSModelSettings,
10
+ TTSVoice,
10
11
  VoiceModelProvider,
11
12
  )
12
13
  from .models.openai_model_provider import OpenAIVoiceModelProvider
@@ -30,6 +31,7 @@ __all__ = [
30
31
  "STTModelSettings",
31
32
  "TTSModel",
32
33
  "TTSModelSettings",
34
+ "TTSVoice",
33
35
  "VoiceModelProvider",
34
36
  "StreamedAudioResult",
35
37
  "SingleAgentVoiceWorkflow",
@@ -14,14 +14,13 @@ DEFAULT_TTS_INSTRUCTIONS = (
14
14
  )
15
15
  DEFAULT_TTS_BUFFER_SIZE = 120
16
16
 
17
+ TTSVoice = Literal["alloy", "ash", "coral", "echo", "fable", "onyx", "nova", "sage", "shimmer"]
18
+ """Exportable type for the TTSModelSettings voice enum"""
17
19
 
18
20
  @dataclass
19
21
  class TTSModelSettings:
20
22
  """Settings for a TTS model."""
21
-
22
- voice: (
23
- Literal["alloy", "ash", "coral", "echo", "fable", "onyx", "nova", "sage", "shimmer"] | None
24
- ) = None
23
+ voice: TTSVoice | None = None
25
24
  """
26
25
  The voice to use for the TTS model. If not provided, the default voice for the respective model
27
26
  will be used.
@@ -3,7 +3,8 @@ from __future__ import annotations
3
3
  from collections.abc import AsyncIterator
4
4
  from typing import Any
5
5
 
6
- from openai.types.responses import Response, ResponseCompletedEvent
6
+ from openai.types.responses import Response, ResponseCompletedEvent, ResponseUsage
7
+ from openai.types.responses.response_usage import InputTokensDetails, OutputTokensDetails
7
8
 
8
9
  from agents.agent_output import AgentOutputSchemaBase
9
10
  from agents.handoffs import Handoff
@@ -33,6 +34,10 @@ class FakeModel(Model):
33
34
  )
34
35
  self.tracing_enabled = tracing_enabled
35
36
  self.last_turn_args: dict[str, Any] = {}
37
+ self.hardcoded_usage: Usage | None = None
38
+
39
+ def set_hardcoded_usage(self, usage: Usage):
40
+ self.hardcoded_usage = usage
36
41
 
37
42
  def set_next_output(self, output: list[TResponseOutputItem] | Exception):
38
43
  self.turn_outputs.append(output)
@@ -83,7 +88,7 @@ class FakeModel(Model):
83
88
 
84
89
  return ModelResponse(
85
90
  output=output,
86
- usage=Usage(),
91
+ usage=self.hardcoded_usage or Usage(),
87
92
  response_id=None,
88
93
  )
89
94
 
@@ -123,13 +128,14 @@ class FakeModel(Model):
123
128
 
124
129
  yield ResponseCompletedEvent(
125
130
  type="response.completed",
126
- response=get_response_obj(output),
131
+ response=get_response_obj(output, usage=self.hardcoded_usage),
127
132
  )
128
133
 
129
134
 
130
135
  def get_response_obj(
131
136
  output: list[TResponseOutputItem],
132
137
  response_id: str | None = None,
138
+ usage: Usage | None = None,
133
139
  ) -> Response:
134
140
  return Response(
135
141
  id=response_id or "123",
@@ -141,4 +147,11 @@ def get_response_obj(
141
147
  tools=[],
142
148
  top_p=None,
143
149
  parallel_tool_calls=False,
150
+ usage=ResponseUsage(
151
+ input_tokens=usage.input_tokens if usage else 0,
152
+ output_tokens=usage.output_tokens if usage else 0,
153
+ total_tokens=usage.total_tokens if usage else 0,
154
+ input_tokens_details=InputTokensDetails(cached_tokens=0),
155
+ output_tokens_details=OutputTokensDetails(reasoning_tokens=0),
156
+ ),
144
157
  )
@@ -3,7 +3,7 @@ from typing import Any
3
3
  import pytest
4
4
  from pydantic import BaseModel
5
5
 
6
- from agents import Agent, RunResult
6
+ from agents import Agent, RunContextWrapper, RunResult
7
7
 
8
8
 
9
9
  def create_run_result(final_output: Any) -> RunResult:
@@ -15,6 +15,7 @@ def create_run_result(final_output: Any) -> RunResult:
15
15
  input_guardrail_results=[],
16
16
  output_guardrail_results=[],
17
17
  _last_agent=Agent(name="test"),
18
+ context_wrapper=RunContextWrapper(context=None),
18
19
  )
19
20
 
20
21
 
@@ -928,7 +928,7 @@ wheels = [
928
928
 
929
929
  [[package]]
930
930
  name = "litellm"
931
- version = "1.66.1"
931
+ version = "1.67.4.post1"
932
932
  source = { registry = "https://pypi.org/simple" }
933
933
  dependencies = [
934
934
  { name = "aiohttp" },
@@ -943,10 +943,7 @@ dependencies = [
943
943
  { name = "tiktoken" },
944
944
  { name = "tokenizers" },
945
945
  ]
946
- sdist = { url = "https://files.pythonhosted.org/packages/c1/21/12562c37310254456afdd277454dac4d14b8b40796216e8a438a9e1c5e86/litellm-1.66.1.tar.gz", hash = "sha256:98f7add913e5eae2131dd412ee27532d9a309defd9dbb64f6c6c42ea8a2af068", size = 7203211 }
947
- wheels = [
948
- { url = "https://files.pythonhosted.org/packages/e9/33/fdc4615ca621940406e3b0b303e900bc2868cfcd8c62c4a6f5e7d2f6a56c/litellm-1.66.1-py3-none-any.whl", hash = "sha256:1f601fea3f086c1d2d91be60b9db115082a2f3a697e4e0def72f8b9c777c7232", size = 7559553 },
949
- ]
946
+ sdist = { url = "https://files.pythonhosted.org/packages/4d/89/bacf75633dd43d6c5536380fb652c4af25046c29f5c6e5fdb4e8fe5af505/litellm-1.67.4.post1.tar.gz", hash = "sha256:057f2505f82d8c3f83d705c375b0d1931de998b13e239a6b06e16ee351fda648", size = 7243930 }
950
947
 
951
948
  [[package]]
952
949
  name = "markdown"
@@ -1482,7 +1479,7 @@ wheels = [
1482
1479
 
1483
1480
  [[package]]
1484
1481
  name = "openai-agents"
1485
- version = "0.0.13"
1482
+ version = "0.0.14"
1486
1483
  source = { editable = "." }
1487
1484
  dependencies = [
1488
1485
  { name = "griffe" },
@@ -1535,7 +1532,7 @@ dev = [
1535
1532
  requires-dist = [
1536
1533
  { name = "graphviz", marker = "extra == 'viz'", specifier = ">=0.17" },
1537
1534
  { name = "griffe", specifier = ">=1.5.6,<2" },
1538
- { name = "litellm", marker = "extra == 'litellm'", specifier = ">=1.65.0,<2" },
1535
+ { name = "litellm", marker = "extra == 'litellm'", specifier = ">=1.67.4.post1,<2" },
1539
1536
  { name = "mcp", marker = "python_full_version >= '3.10'", specifier = ">=1.6.0,<2" },
1540
1537
  { name = "numpy", marker = "python_full_version >= '3.10' and extra == 'voice'", specifier = ">=2.2.0,<3" },
1541
1538
  { name = "openai", specifier = ">=1.76.0" },
File without changes
File without changes
File without changes