openai-agents 0.0.8__tar.gz → 0.0.9__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.
- {openai_agents-0.0.8 → openai_agents-0.0.9}/PKG-INFO +1 -1
- {openai_agents-0.0.8 → openai_agents-0.0.9}/docs/examples.md +15 -9
- {openai_agents-0.0.8 → openai_agents-0.0.9}/pyproject.toml +1 -1
- {openai_agents-0.0.8 → openai_agents-0.0.9}/src/agents/mcp/util.py +5 -0
- {openai_agents-0.0.8 → openai_agents-0.0.9}/src/agents/models/openai_chatcompletions.py +9 -5
- {openai_agents-0.0.8 → openai_agents-0.0.9}/tests/mcp/test_mcp_util.py +36 -7
- {openai_agents-0.0.8 → openai_agents-0.0.9}/tests/test_openai_chatcompletions.py +40 -3
- {openai_agents-0.0.8 → openai_agents-0.0.9}/uv.lock +1 -1
- {openai_agents-0.0.8 → openai_agents-0.0.9}/.github/ISSUE_TEMPLATE/bug_report.md +0 -0
- {openai_agents-0.0.8 → openai_agents-0.0.9}/.github/ISSUE_TEMPLATE/feature_request.md +0 -0
- {openai_agents-0.0.8 → openai_agents-0.0.9}/.github/ISSUE_TEMPLATE/model_provider.md +0 -0
- {openai_agents-0.0.8 → openai_agents-0.0.9}/.github/ISSUE_TEMPLATE/question.md +0 -0
- {openai_agents-0.0.8 → openai_agents-0.0.9}/.github/PULL_REQUEST_TEMPLATE/pull_request_template.md +0 -0
- {openai_agents-0.0.8 → openai_agents-0.0.9}/.github/workflows/docs.yml +0 -0
- {openai_agents-0.0.8 → openai_agents-0.0.9}/.github/workflows/issues.yml +0 -0
- {openai_agents-0.0.8 → openai_agents-0.0.9}/.github/workflows/publish.yml +0 -0
- {openai_agents-0.0.8 → openai_agents-0.0.9}/.github/workflows/tests.yml +0 -0
- {openai_agents-0.0.8 → openai_agents-0.0.9}/.gitignore +0 -0
- {openai_agents-0.0.8 → openai_agents-0.0.9}/.prettierrc +0 -0
- {openai_agents-0.0.8 → openai_agents-0.0.9}/.vscode/settings.json +0 -0
- {openai_agents-0.0.8 → openai_agents-0.0.9}/LICENSE +0 -0
- {openai_agents-0.0.8 → openai_agents-0.0.9}/Makefile +0 -0
- {openai_agents-0.0.8 → openai_agents-0.0.9}/README.md +0 -0
- {openai_agents-0.0.8 → openai_agents-0.0.9}/docs/agents.md +0 -0
- {openai_agents-0.0.8 → openai_agents-0.0.9}/docs/assets/images/favicon-platform.svg +0 -0
- {openai_agents-0.0.8 → openai_agents-0.0.9}/docs/assets/images/graph.png +0 -0
- {openai_agents-0.0.8 → openai_agents-0.0.9}/docs/assets/images/mcp-tracing.jpg +0 -0
- {openai_agents-0.0.8 → openai_agents-0.0.9}/docs/assets/images/orchestration.png +0 -0
- {openai_agents-0.0.8 → openai_agents-0.0.9}/docs/assets/logo.svg +0 -0
- {openai_agents-0.0.8 → openai_agents-0.0.9}/docs/config.md +0 -0
- {openai_agents-0.0.8 → openai_agents-0.0.9}/docs/context.md +0 -0
- {openai_agents-0.0.8 → openai_agents-0.0.9}/docs/guardrails.md +0 -0
- {openai_agents-0.0.8 → openai_agents-0.0.9}/docs/handoffs.md +0 -0
- {openai_agents-0.0.8 → openai_agents-0.0.9}/docs/index.md +0 -0
- {openai_agents-0.0.8 → openai_agents-0.0.9}/docs/mcp.md +0 -0
- {openai_agents-0.0.8 → openai_agents-0.0.9}/docs/models.md +0 -0
- {openai_agents-0.0.8 → openai_agents-0.0.9}/docs/multi_agent.md +0 -0
- {openai_agents-0.0.8 → openai_agents-0.0.9}/docs/quickstart.md +0 -0
- {openai_agents-0.0.8 → openai_agents-0.0.9}/docs/ref/agent.md +0 -0
- {openai_agents-0.0.8 → openai_agents-0.0.9}/docs/ref/agent_output.md +0 -0
- {openai_agents-0.0.8 → openai_agents-0.0.9}/docs/ref/exceptions.md +0 -0
- {openai_agents-0.0.8 → openai_agents-0.0.9}/docs/ref/extensions/handoff_filters.md +0 -0
- {openai_agents-0.0.8 → openai_agents-0.0.9}/docs/ref/extensions/handoff_prompt.md +0 -0
- {openai_agents-0.0.8 → openai_agents-0.0.9}/docs/ref/function_schema.md +0 -0
- {openai_agents-0.0.8 → openai_agents-0.0.9}/docs/ref/guardrail.md +0 -0
- {openai_agents-0.0.8 → openai_agents-0.0.9}/docs/ref/handoffs.md +0 -0
- {openai_agents-0.0.8 → openai_agents-0.0.9}/docs/ref/index.md +0 -0
- {openai_agents-0.0.8 → openai_agents-0.0.9}/docs/ref/items.md +0 -0
- {openai_agents-0.0.8 → openai_agents-0.0.9}/docs/ref/lifecycle.md +0 -0
- {openai_agents-0.0.8 → openai_agents-0.0.9}/docs/ref/mcp/server.md +0 -0
- {openai_agents-0.0.8 → openai_agents-0.0.9}/docs/ref/mcp/util.md +0 -0
- {openai_agents-0.0.8 → openai_agents-0.0.9}/docs/ref/model_settings.md +0 -0
- {openai_agents-0.0.8 → openai_agents-0.0.9}/docs/ref/models/interface.md +0 -0
- {openai_agents-0.0.8 → openai_agents-0.0.9}/docs/ref/models/openai_chatcompletions.md +0 -0
- {openai_agents-0.0.8 → openai_agents-0.0.9}/docs/ref/models/openai_responses.md +0 -0
- {openai_agents-0.0.8 → openai_agents-0.0.9}/docs/ref/result.md +0 -0
- {openai_agents-0.0.8 → openai_agents-0.0.9}/docs/ref/run.md +0 -0
- {openai_agents-0.0.8 → openai_agents-0.0.9}/docs/ref/run_context.md +0 -0
- {openai_agents-0.0.8 → openai_agents-0.0.9}/docs/ref/stream_events.md +0 -0
- {openai_agents-0.0.8 → openai_agents-0.0.9}/docs/ref/tool.md +0 -0
- {openai_agents-0.0.8 → openai_agents-0.0.9}/docs/ref/tracing/create.md +0 -0
- {openai_agents-0.0.8 → openai_agents-0.0.9}/docs/ref/tracing/index.md +0 -0
- {openai_agents-0.0.8 → openai_agents-0.0.9}/docs/ref/tracing/processor_interface.md +0 -0
- {openai_agents-0.0.8 → openai_agents-0.0.9}/docs/ref/tracing/processors.md +0 -0
- {openai_agents-0.0.8 → openai_agents-0.0.9}/docs/ref/tracing/scope.md +0 -0
- {openai_agents-0.0.8 → openai_agents-0.0.9}/docs/ref/tracing/setup.md +0 -0
- {openai_agents-0.0.8 → openai_agents-0.0.9}/docs/ref/tracing/span_data.md +0 -0
- {openai_agents-0.0.8 → openai_agents-0.0.9}/docs/ref/tracing/spans.md +0 -0
- {openai_agents-0.0.8 → openai_agents-0.0.9}/docs/ref/tracing/traces.md +0 -0
- {openai_agents-0.0.8 → openai_agents-0.0.9}/docs/ref/tracing/util.md +0 -0
- {openai_agents-0.0.8 → openai_agents-0.0.9}/docs/ref/usage.md +0 -0
- {openai_agents-0.0.8 → openai_agents-0.0.9}/docs/ref/voice/events.md +0 -0
- {openai_agents-0.0.8 → openai_agents-0.0.9}/docs/ref/voice/exceptions.md +0 -0
- {openai_agents-0.0.8 → openai_agents-0.0.9}/docs/ref/voice/input.md +0 -0
- {openai_agents-0.0.8 → openai_agents-0.0.9}/docs/ref/voice/model.md +0 -0
- {openai_agents-0.0.8 → openai_agents-0.0.9}/docs/ref/voice/models/openai_provider.md +0 -0
- {openai_agents-0.0.8 → openai_agents-0.0.9}/docs/ref/voice/models/openai_stt.md +0 -0
- {openai_agents-0.0.8 → openai_agents-0.0.9}/docs/ref/voice/models/openai_tts.md +0 -0
- {openai_agents-0.0.8 → openai_agents-0.0.9}/docs/ref/voice/pipeline.md +0 -0
- {openai_agents-0.0.8 → openai_agents-0.0.9}/docs/ref/voice/pipeline_config.md +0 -0
- {openai_agents-0.0.8 → openai_agents-0.0.9}/docs/ref/voice/result.md +0 -0
- {openai_agents-0.0.8 → openai_agents-0.0.9}/docs/ref/voice/utils.md +0 -0
- {openai_agents-0.0.8 → openai_agents-0.0.9}/docs/ref/voice/workflow.md +0 -0
- {openai_agents-0.0.8 → openai_agents-0.0.9}/docs/results.md +0 -0
- {openai_agents-0.0.8 → openai_agents-0.0.9}/docs/running_agents.md +0 -0
- {openai_agents-0.0.8 → openai_agents-0.0.9}/docs/streaming.md +0 -0
- {openai_agents-0.0.8 → openai_agents-0.0.9}/docs/stylesheets/extra.css +0 -0
- {openai_agents-0.0.8 → openai_agents-0.0.9}/docs/tools.md +0 -0
- {openai_agents-0.0.8 → openai_agents-0.0.9}/docs/tracing.md +0 -0
- {openai_agents-0.0.8 → openai_agents-0.0.9}/docs/visualization.md +0 -0
- {openai_agents-0.0.8 → openai_agents-0.0.9}/docs/voice/pipeline.md +0 -0
- {openai_agents-0.0.8 → openai_agents-0.0.9}/docs/voice/quickstart.md +0 -0
- {openai_agents-0.0.8 → openai_agents-0.0.9}/docs/voice/tracing.md +0 -0
- {openai_agents-0.0.8 → openai_agents-0.0.9}/examples/__init__.py +0 -0
- {openai_agents-0.0.8 → openai_agents-0.0.9}/examples/agent_patterns/README.md +0 -0
- {openai_agents-0.0.8 → openai_agents-0.0.9}/examples/agent_patterns/agents_as_tools.py +0 -0
- {openai_agents-0.0.8 → openai_agents-0.0.9}/examples/agent_patterns/deterministic.py +0 -0
- {openai_agents-0.0.8 → openai_agents-0.0.9}/examples/agent_patterns/forcing_tool_use.py +0 -0
- {openai_agents-0.0.8 → openai_agents-0.0.9}/examples/agent_patterns/input_guardrails.py +0 -0
- {openai_agents-0.0.8 → openai_agents-0.0.9}/examples/agent_patterns/llm_as_a_judge.py +0 -0
- {openai_agents-0.0.8 → openai_agents-0.0.9}/examples/agent_patterns/output_guardrails.py +0 -0
- {openai_agents-0.0.8 → openai_agents-0.0.9}/examples/agent_patterns/parallelization.py +0 -0
- {openai_agents-0.0.8 → openai_agents-0.0.9}/examples/agent_patterns/routing.py +0 -0
- {openai_agents-0.0.8 → openai_agents-0.0.9}/examples/basic/agent_lifecycle_example.py +0 -0
- {openai_agents-0.0.8 → openai_agents-0.0.9}/examples/basic/dynamic_system_prompt.py +0 -0
- {openai_agents-0.0.8 → openai_agents-0.0.9}/examples/basic/hello_world.py +0 -0
- {openai_agents-0.0.8 → openai_agents-0.0.9}/examples/basic/hello_world_jupyter.py +0 -0
- {openai_agents-0.0.8 → openai_agents-0.0.9}/examples/basic/lifecycle_example.py +0 -0
- {openai_agents-0.0.8 → openai_agents-0.0.9}/examples/basic/stream_items.py +0 -0
- {openai_agents-0.0.8 → openai_agents-0.0.9}/examples/basic/stream_text.py +0 -0
- {openai_agents-0.0.8 → openai_agents-0.0.9}/examples/basic/tools.py +0 -0
- {openai_agents-0.0.8 → openai_agents-0.0.9}/examples/customer_service/main.py +0 -0
- {openai_agents-0.0.8 → openai_agents-0.0.9}/examples/financial_research_agent/README.md +0 -0
- {openai_agents-0.0.8 → openai_agents-0.0.9}/examples/financial_research_agent/__init__.py +0 -0
- {openai_agents-0.0.8 → openai_agents-0.0.9}/examples/financial_research_agent/agents/__init__.py +0 -0
- {openai_agents-0.0.8 → openai_agents-0.0.9}/examples/financial_research_agent/agents/financials_agent.py +0 -0
- {openai_agents-0.0.8 → openai_agents-0.0.9}/examples/financial_research_agent/agents/planner_agent.py +0 -0
- {openai_agents-0.0.8 → openai_agents-0.0.9}/examples/financial_research_agent/agents/risk_agent.py +0 -0
- {openai_agents-0.0.8 → openai_agents-0.0.9}/examples/financial_research_agent/agents/search_agent.py +0 -0
- {openai_agents-0.0.8 → openai_agents-0.0.9}/examples/financial_research_agent/agents/verifier_agent.py +0 -0
- {openai_agents-0.0.8 → openai_agents-0.0.9}/examples/financial_research_agent/agents/writer_agent.py +0 -0
- {openai_agents-0.0.8 → openai_agents-0.0.9}/examples/financial_research_agent/main.py +0 -0
- {openai_agents-0.0.8 → openai_agents-0.0.9}/examples/financial_research_agent/manager.py +0 -0
- {openai_agents-0.0.8 → openai_agents-0.0.9}/examples/financial_research_agent/printer.py +0 -0
- {openai_agents-0.0.8 → openai_agents-0.0.9}/examples/handoffs/message_filter.py +0 -0
- {openai_agents-0.0.8 → openai_agents-0.0.9}/examples/handoffs/message_filter_streaming.py +0 -0
- {openai_agents-0.0.8 → openai_agents-0.0.9}/examples/mcp/filesystem_example/README.md +0 -0
- {openai_agents-0.0.8 → openai_agents-0.0.9}/examples/mcp/filesystem_example/main.py +0 -0
- {openai_agents-0.0.8 → openai_agents-0.0.9}/examples/mcp/filesystem_example/sample_files/favorite_books.txt +0 -0
- {openai_agents-0.0.8 → openai_agents-0.0.9}/examples/mcp/filesystem_example/sample_files/favorite_cities.txt +0 -0
- {openai_agents-0.0.8 → openai_agents-0.0.9}/examples/mcp/filesystem_example/sample_files/favorite_songs.txt +0 -0
- {openai_agents-0.0.8 → openai_agents-0.0.9}/examples/mcp/git_example/README.md +0 -0
- {openai_agents-0.0.8 → openai_agents-0.0.9}/examples/mcp/git_example/main.py +0 -0
- {openai_agents-0.0.8 → openai_agents-0.0.9}/examples/mcp/sse_example/README.md +0 -0
- {openai_agents-0.0.8 → openai_agents-0.0.9}/examples/mcp/sse_example/main.py +0 -0
- {openai_agents-0.0.8 → openai_agents-0.0.9}/examples/mcp/sse_example/server.py +0 -0
- {openai_agents-0.0.8 → openai_agents-0.0.9}/examples/model_providers/README.md +0 -0
- {openai_agents-0.0.8 → openai_agents-0.0.9}/examples/model_providers/custom_example_agent.py +0 -0
- {openai_agents-0.0.8 → openai_agents-0.0.9}/examples/model_providers/custom_example_global.py +0 -0
- {openai_agents-0.0.8 → openai_agents-0.0.9}/examples/model_providers/custom_example_provider.py +0 -0
- {openai_agents-0.0.8 → openai_agents-0.0.9}/examples/research_bot/README.md +0 -0
- {openai_agents-0.0.8 → openai_agents-0.0.9}/examples/research_bot/__init__.py +0 -0
- {openai_agents-0.0.8 → openai_agents-0.0.9}/examples/research_bot/agents/__init__.py +0 -0
- {openai_agents-0.0.8 → openai_agents-0.0.9}/examples/research_bot/agents/planner_agent.py +0 -0
- {openai_agents-0.0.8 → openai_agents-0.0.9}/examples/research_bot/agents/search_agent.py +0 -0
- {openai_agents-0.0.8 → openai_agents-0.0.9}/examples/research_bot/agents/writer_agent.py +0 -0
- {openai_agents-0.0.8 → openai_agents-0.0.9}/examples/research_bot/main.py +0 -0
- {openai_agents-0.0.8 → openai_agents-0.0.9}/examples/research_bot/manager.py +0 -0
- {openai_agents-0.0.8 → openai_agents-0.0.9}/examples/research_bot/printer.py +0 -0
- {openai_agents-0.0.8 → openai_agents-0.0.9}/examples/research_bot/sample_outputs/product_recs.md +0 -0
- {openai_agents-0.0.8 → openai_agents-0.0.9}/examples/research_bot/sample_outputs/product_recs.txt +0 -0
- {openai_agents-0.0.8 → openai_agents-0.0.9}/examples/research_bot/sample_outputs/vacation.md +0 -0
- {openai_agents-0.0.8 → openai_agents-0.0.9}/examples/research_bot/sample_outputs/vacation.txt +0 -0
- {openai_agents-0.0.8 → openai_agents-0.0.9}/examples/tools/computer_use.py +0 -0
- {openai_agents-0.0.8 → openai_agents-0.0.9}/examples/tools/file_search.py +0 -0
- {openai_agents-0.0.8 → openai_agents-0.0.9}/examples/tools/web_search.py +0 -0
- {openai_agents-0.0.8 → openai_agents-0.0.9}/examples/voice/__init__.py +0 -0
- {openai_agents-0.0.8 → openai_agents-0.0.9}/examples/voice/static/README.md +0 -0
- {openai_agents-0.0.8 → openai_agents-0.0.9}/examples/voice/static/__init__.py +0 -0
- {openai_agents-0.0.8 → openai_agents-0.0.9}/examples/voice/static/main.py +0 -0
- {openai_agents-0.0.8 → openai_agents-0.0.9}/examples/voice/static/util.py +0 -0
- {openai_agents-0.0.8 → openai_agents-0.0.9}/examples/voice/streamed/README.md +0 -0
- {openai_agents-0.0.8 → openai_agents-0.0.9}/examples/voice/streamed/__init__.py +0 -0
- {openai_agents-0.0.8 → openai_agents-0.0.9}/examples/voice/streamed/main.py +0 -0
- {openai_agents-0.0.8 → openai_agents-0.0.9}/examples/voice/streamed/my_workflow.py +0 -0
- {openai_agents-0.0.8 → openai_agents-0.0.9}/mkdocs.yml +0 -0
- {openai_agents-0.0.8 → openai_agents-0.0.9}/src/agents/__init__.py +0 -0
- {openai_agents-0.0.8 → openai_agents-0.0.9}/src/agents/_config.py +0 -0
- {openai_agents-0.0.8 → openai_agents-0.0.9}/src/agents/_debug.py +0 -0
- {openai_agents-0.0.8 → openai_agents-0.0.9}/src/agents/_run_impl.py +0 -0
- {openai_agents-0.0.8 → openai_agents-0.0.9}/src/agents/agent.py +0 -0
- {openai_agents-0.0.8 → openai_agents-0.0.9}/src/agents/agent_output.py +0 -0
- {openai_agents-0.0.8 → openai_agents-0.0.9}/src/agents/computer.py +0 -0
- {openai_agents-0.0.8 → openai_agents-0.0.9}/src/agents/exceptions.py +0 -0
- {openai_agents-0.0.8 → openai_agents-0.0.9}/src/agents/extensions/__init__.py +0 -0
- {openai_agents-0.0.8 → openai_agents-0.0.9}/src/agents/extensions/handoff_filters.py +0 -0
- {openai_agents-0.0.8 → openai_agents-0.0.9}/src/agents/extensions/handoff_prompt.py +0 -0
- {openai_agents-0.0.8 → openai_agents-0.0.9}/src/agents/extensions/visualization.py +0 -0
- {openai_agents-0.0.8 → openai_agents-0.0.9}/src/agents/function_schema.py +0 -0
- {openai_agents-0.0.8 → openai_agents-0.0.9}/src/agents/guardrail.py +0 -0
- {openai_agents-0.0.8 → openai_agents-0.0.9}/src/agents/handoffs.py +0 -0
- {openai_agents-0.0.8 → openai_agents-0.0.9}/src/agents/items.py +0 -0
- {openai_agents-0.0.8 → openai_agents-0.0.9}/src/agents/lifecycle.py +0 -0
- {openai_agents-0.0.8 → openai_agents-0.0.9}/src/agents/logger.py +0 -0
- {openai_agents-0.0.8 → openai_agents-0.0.9}/src/agents/mcp/__init__.py +0 -0
- {openai_agents-0.0.8 → openai_agents-0.0.9}/src/agents/mcp/server.py +0 -0
- {openai_agents-0.0.8 → openai_agents-0.0.9}/src/agents/model_settings.py +0 -0
- {openai_agents-0.0.8 → openai_agents-0.0.9}/src/agents/models/__init__.py +0 -0
- {openai_agents-0.0.8 → openai_agents-0.0.9}/src/agents/models/_openai_shared.py +0 -0
- {openai_agents-0.0.8 → openai_agents-0.0.9}/src/agents/models/fake_id.py +0 -0
- {openai_agents-0.0.8 → openai_agents-0.0.9}/src/agents/models/interface.py +0 -0
- {openai_agents-0.0.8 → openai_agents-0.0.9}/src/agents/models/openai_provider.py +0 -0
- {openai_agents-0.0.8 → openai_agents-0.0.9}/src/agents/models/openai_responses.py +0 -0
- {openai_agents-0.0.8 → openai_agents-0.0.9}/src/agents/py.typed +0 -0
- {openai_agents-0.0.8 → openai_agents-0.0.9}/src/agents/result.py +0 -0
- {openai_agents-0.0.8 → openai_agents-0.0.9}/src/agents/run.py +0 -0
- {openai_agents-0.0.8 → openai_agents-0.0.9}/src/agents/run_context.py +0 -0
- {openai_agents-0.0.8 → openai_agents-0.0.9}/src/agents/stream_events.py +0 -0
- {openai_agents-0.0.8 → openai_agents-0.0.9}/src/agents/strict_schema.py +0 -0
- {openai_agents-0.0.8 → openai_agents-0.0.9}/src/agents/tool.py +0 -0
- {openai_agents-0.0.8 → openai_agents-0.0.9}/src/agents/tracing/__init__.py +0 -0
- {openai_agents-0.0.8 → openai_agents-0.0.9}/src/agents/tracing/create.py +0 -0
- {openai_agents-0.0.8 → openai_agents-0.0.9}/src/agents/tracing/logger.py +0 -0
- {openai_agents-0.0.8 → openai_agents-0.0.9}/src/agents/tracing/processor_interface.py +0 -0
- {openai_agents-0.0.8 → openai_agents-0.0.9}/src/agents/tracing/processors.py +0 -0
- {openai_agents-0.0.8 → openai_agents-0.0.9}/src/agents/tracing/scope.py +0 -0
- {openai_agents-0.0.8 → openai_agents-0.0.9}/src/agents/tracing/setup.py +0 -0
- {openai_agents-0.0.8 → openai_agents-0.0.9}/src/agents/tracing/span_data.py +0 -0
- {openai_agents-0.0.8 → openai_agents-0.0.9}/src/agents/tracing/spans.py +0 -0
- {openai_agents-0.0.8 → openai_agents-0.0.9}/src/agents/tracing/traces.py +0 -0
- {openai_agents-0.0.8 → openai_agents-0.0.9}/src/agents/tracing/util.py +0 -0
- {openai_agents-0.0.8 → openai_agents-0.0.9}/src/agents/usage.py +0 -0
- {openai_agents-0.0.8 → openai_agents-0.0.9}/src/agents/util/__init__.py +0 -0
- {openai_agents-0.0.8 → openai_agents-0.0.9}/src/agents/util/_coro.py +0 -0
- {openai_agents-0.0.8 → openai_agents-0.0.9}/src/agents/util/_error_tracing.py +0 -0
- {openai_agents-0.0.8 → openai_agents-0.0.9}/src/agents/util/_json.py +0 -0
- {openai_agents-0.0.8 → openai_agents-0.0.9}/src/agents/util/_pretty_print.py +0 -0
- {openai_agents-0.0.8 → openai_agents-0.0.9}/src/agents/util/_transforms.py +0 -0
- {openai_agents-0.0.8 → openai_agents-0.0.9}/src/agents/util/_types.py +0 -0
- {openai_agents-0.0.8 → openai_agents-0.0.9}/src/agents/version.py +0 -0
- {openai_agents-0.0.8 → openai_agents-0.0.9}/src/agents/voice/__init__.py +0 -0
- {openai_agents-0.0.8 → openai_agents-0.0.9}/src/agents/voice/events.py +0 -0
- {openai_agents-0.0.8 → openai_agents-0.0.9}/src/agents/voice/exceptions.py +0 -0
- {openai_agents-0.0.8 → openai_agents-0.0.9}/src/agents/voice/imports.py +0 -0
- {openai_agents-0.0.8 → openai_agents-0.0.9}/src/agents/voice/input.py +0 -0
- {openai_agents-0.0.8 → openai_agents-0.0.9}/src/agents/voice/model.py +0 -0
- {openai_agents-0.0.8 → openai_agents-0.0.9}/src/agents/voice/models/__init__.py +0 -0
- {openai_agents-0.0.8 → openai_agents-0.0.9}/src/agents/voice/models/openai_model_provider.py +0 -0
- {openai_agents-0.0.8 → openai_agents-0.0.9}/src/agents/voice/models/openai_stt.py +0 -0
- {openai_agents-0.0.8 → openai_agents-0.0.9}/src/agents/voice/models/openai_tts.py +0 -0
- {openai_agents-0.0.8 → openai_agents-0.0.9}/src/agents/voice/pipeline.py +0 -0
- {openai_agents-0.0.8 → openai_agents-0.0.9}/src/agents/voice/pipeline_config.py +0 -0
- {openai_agents-0.0.8 → openai_agents-0.0.9}/src/agents/voice/result.py +0 -0
- {openai_agents-0.0.8 → openai_agents-0.0.9}/src/agents/voice/utils.py +0 -0
- {openai_agents-0.0.8 → openai_agents-0.0.9}/src/agents/voice/workflow.py +0 -0
- {openai_agents-0.0.8 → openai_agents-0.0.9}/tests/README.md +0 -0
- {openai_agents-0.0.8 → openai_agents-0.0.9}/tests/__init__.py +0 -0
- {openai_agents-0.0.8 → openai_agents-0.0.9}/tests/conftest.py +0 -0
- {openai_agents-0.0.8 → openai_agents-0.0.9}/tests/fake_model.py +0 -0
- {openai_agents-0.0.8 → openai_agents-0.0.9}/tests/mcp/__init__.py +0 -0
- {openai_agents-0.0.8 → openai_agents-0.0.9}/tests/mcp/conftest.py +0 -0
- {openai_agents-0.0.8 → openai_agents-0.0.9}/tests/mcp/helpers.py +0 -0
- {openai_agents-0.0.8 → openai_agents-0.0.9}/tests/mcp/test_caching.py +0 -0
- {openai_agents-0.0.8 → openai_agents-0.0.9}/tests/mcp/test_connect_disconnect.py +0 -0
- {openai_agents-0.0.8 → openai_agents-0.0.9}/tests/mcp/test_mcp_tracing.py +0 -0
- {openai_agents-0.0.8 → openai_agents-0.0.9}/tests/mcp/test_runner_calls_mcp.py +0 -0
- {openai_agents-0.0.8 → openai_agents-0.0.9}/tests/mcp/test_server_errors.py +0 -0
- {openai_agents-0.0.8 → openai_agents-0.0.9}/tests/test_agent_config.py +0 -0
- {openai_agents-0.0.8 → openai_agents-0.0.9}/tests/test_agent_hooks.py +0 -0
- {openai_agents-0.0.8 → openai_agents-0.0.9}/tests/test_agent_runner.py +0 -0
- {openai_agents-0.0.8 → openai_agents-0.0.9}/tests/test_agent_runner_streamed.py +0 -0
- {openai_agents-0.0.8 → openai_agents-0.0.9}/tests/test_agent_tracing.py +0 -0
- {openai_agents-0.0.8 → openai_agents-0.0.9}/tests/test_computer_action.py +0 -0
- {openai_agents-0.0.8 → openai_agents-0.0.9}/tests/test_config.py +0 -0
- {openai_agents-0.0.8 → openai_agents-0.0.9}/tests/test_doc_parsing.py +0 -0
- {openai_agents-0.0.8 → openai_agents-0.0.9}/tests/test_extension_filters.py +0 -0
- {openai_agents-0.0.8 → openai_agents-0.0.9}/tests/test_function_schema.py +0 -0
- {openai_agents-0.0.8 → openai_agents-0.0.9}/tests/test_function_tool.py +0 -0
- {openai_agents-0.0.8 → openai_agents-0.0.9}/tests/test_function_tool_decorator.py +0 -0
- {openai_agents-0.0.8 → openai_agents-0.0.9}/tests/test_global_hooks.py +0 -0
- {openai_agents-0.0.8 → openai_agents-0.0.9}/tests/test_guardrails.py +0 -0
- {openai_agents-0.0.8 → openai_agents-0.0.9}/tests/test_handoff_tool.py +0 -0
- {openai_agents-0.0.8 → openai_agents-0.0.9}/tests/test_items_helpers.py +0 -0
- {openai_agents-0.0.8 → openai_agents-0.0.9}/tests/test_max_turns.py +0 -0
- {openai_agents-0.0.8 → openai_agents-0.0.9}/tests/test_openai_chatcompletions_converter.py +0 -0
- {openai_agents-0.0.8 → openai_agents-0.0.9}/tests/test_openai_chatcompletions_stream.py +0 -0
- {openai_agents-0.0.8 → openai_agents-0.0.9}/tests/test_openai_responses_converter.py +0 -0
- {openai_agents-0.0.8 → openai_agents-0.0.9}/tests/test_output_tool.py +0 -0
- {openai_agents-0.0.8 → openai_agents-0.0.9}/tests/test_pretty_print.py +0 -0
- {openai_agents-0.0.8 → openai_agents-0.0.9}/tests/test_responses.py +0 -0
- {openai_agents-0.0.8 → openai_agents-0.0.9}/tests/test_responses_tracing.py +0 -0
- {openai_agents-0.0.8 → openai_agents-0.0.9}/tests/test_result_cast.py +0 -0
- {openai_agents-0.0.8 → openai_agents-0.0.9}/tests/test_run_config.py +0 -0
- {openai_agents-0.0.8 → openai_agents-0.0.9}/tests/test_run_step_execution.py +0 -0
- {openai_agents-0.0.8 → openai_agents-0.0.9}/tests/test_run_step_processing.py +0 -0
- {openai_agents-0.0.8 → openai_agents-0.0.9}/tests/test_strict_schema.py +0 -0
- {openai_agents-0.0.8 → openai_agents-0.0.9}/tests/test_tool_choice_reset.py +0 -0
- {openai_agents-0.0.8 → openai_agents-0.0.9}/tests/test_tool_converter.py +0 -0
- {openai_agents-0.0.8 → openai_agents-0.0.9}/tests/test_tool_use_behavior.py +0 -0
- {openai_agents-0.0.8 → openai_agents-0.0.9}/tests/test_trace_processor.py +0 -0
- {openai_agents-0.0.8 → openai_agents-0.0.9}/tests/test_tracing.py +0 -0
- {openai_agents-0.0.8 → openai_agents-0.0.9}/tests/test_tracing_errors.py +0 -0
- {openai_agents-0.0.8 → openai_agents-0.0.9}/tests/test_tracing_errors_streamed.py +0 -0
- {openai_agents-0.0.8 → openai_agents-0.0.9}/tests/test_visualization.py +0 -0
- {openai_agents-0.0.8 → openai_agents-0.0.9}/tests/testing_processor.py +0 -0
- {openai_agents-0.0.8 → openai_agents-0.0.9}/tests/tracing/test_processor_api_key.py +0 -0
- {openai_agents-0.0.8 → openai_agents-0.0.9}/tests/voice/__init__.py +0 -0
- {openai_agents-0.0.8 → openai_agents-0.0.9}/tests/voice/conftest.py +0 -0
- {openai_agents-0.0.8 → openai_agents-0.0.9}/tests/voice/fake_models.py +0 -0
- {openai_agents-0.0.8 → openai_agents-0.0.9}/tests/voice/helpers.py +0 -0
- {openai_agents-0.0.8 → openai_agents-0.0.9}/tests/voice/test_input.py +0 -0
- {openai_agents-0.0.8 → openai_agents-0.0.9}/tests/voice/test_openai_stt.py +0 -0
- {openai_agents-0.0.8 → openai_agents-0.0.9}/tests/voice/test_openai_tts.py +0 -0
- {openai_agents-0.0.8 → openai_agents-0.0.9}/tests/voice/test_pipeline.py +0 -0
- {openai_agents-0.0.8 → openai_agents-0.0.9}/tests/voice/test_workflow.py +0 -0
|
@@ -5,32 +5,38 @@ Check out a variety of sample implementations of the SDK in the examples section
|
|
|
5
5
|
|
|
6
6
|
## Categories
|
|
7
7
|
|
|
8
|
-
- **agent_patterns:**
|
|
8
|
+
- **[agent_patterns](https://github.com/openai/openai-agents-python/tree/main/examples/agent_patterns):**
|
|
9
9
|
Examples in this category illustrate common agent design patterns, such as
|
|
10
|
-
|
|
10
|
+
|
|
11
11
|
- Deterministic workflows
|
|
12
12
|
- Agents as tools
|
|
13
13
|
- Parallel agent execution
|
|
14
14
|
|
|
15
|
-
- **basic:**
|
|
15
|
+
- **[basic](https://github.com/openai/openai-agents-python/tree/main/examples/basic):**
|
|
16
16
|
These examples showcase foundational capabilities of the SDK, such as
|
|
17
|
-
|
|
17
|
+
|
|
18
18
|
- Dynamic system prompts
|
|
19
19
|
- Streaming outputs
|
|
20
20
|
- Lifecycle events
|
|
21
21
|
|
|
22
|
-
- **tool examples:**
|
|
22
|
+
- **[tool examples](https://github.com/openai/openai-agents-python/tree/main/examples/tools):**
|
|
23
23
|
Learn how to implement OAI hosted tools such as web search and file search,
|
|
24
24
|
and integrate them into your agents.
|
|
25
25
|
|
|
26
|
-
- **model providers:**
|
|
26
|
+
- **[model providers](https://github.com/openai/openai-agents-python/tree/main/examples/model_providers):**
|
|
27
27
|
Explore how to use non-OpenAI models with the SDK.
|
|
28
28
|
|
|
29
|
-
- **handoffs:**
|
|
29
|
+
- **[handoffs](https://github.com/openai/openai-agents-python/tree/main/examples/handoffs):**
|
|
30
30
|
See practical examples of agent handoffs.
|
|
31
31
|
|
|
32
|
-
- **
|
|
32
|
+
- **[mcp](https://github.com/openai/openai-agents-python/tree/main/examples/mcp):**
|
|
33
|
+
Learn how to build agents with MCP.
|
|
34
|
+
|
|
35
|
+
- **[customer_service](https://github.com/openai/openai-agents-python/tree/main/examples/customer_service)** and **[research_bot](https://github.com/openai/openai-agents-python/tree/main/examples/research_bot):**
|
|
33
36
|
Two more built-out examples that illustrate real-world applications
|
|
34
|
-
|
|
37
|
+
|
|
35
38
|
- **customer_service**: Example customer service system for an airline.
|
|
36
39
|
- **research_bot**: Simple deep research clone.
|
|
40
|
+
|
|
41
|
+
- **[voice](https://github.com/openai/openai-agents-python/tree/main/examples/voice):**
|
|
42
|
+
See examples of voice agents, using our TTS and STT models.
|
|
@@ -59,6 +59,11 @@ class MCPUtil:
|
|
|
59
59
|
"""Convert an MCP tool to an Agents SDK function tool."""
|
|
60
60
|
invoke_func = functools.partial(cls.invoke_mcp_tool, server, tool)
|
|
61
61
|
schema, is_strict = tool.inputSchema, False
|
|
62
|
+
|
|
63
|
+
# MCP spec doesn't require the inputSchema to have `properties`, but OpenAI spec does.
|
|
64
|
+
if "properties" not in schema:
|
|
65
|
+
schema["properties"] = {}
|
|
66
|
+
|
|
62
67
|
if convert_schemas_to_strict:
|
|
63
68
|
try:
|
|
64
69
|
schema = ensure_strict_json_schema(schema)
|
|
@@ -518,10 +518,8 @@ class OpenAIChatCompletionsModel(Model):
|
|
|
518
518
|
f"Response format: {response_format}\n"
|
|
519
519
|
)
|
|
520
520
|
|
|
521
|
-
# Match the behavior of Responses where store is True when not given
|
|
522
|
-
store = model_settings.store if model_settings.store is not None else True
|
|
523
|
-
|
|
524
521
|
reasoning_effort = model_settings.reasoning.effort if model_settings.reasoning else None
|
|
522
|
+
store = _Converter.get_store_param(self._get_client(), model_settings)
|
|
525
523
|
|
|
526
524
|
ret = await self._get_client().chat.completions.create(
|
|
527
525
|
model=self.model,
|
|
@@ -537,10 +535,10 @@ class OpenAIChatCompletionsModel(Model):
|
|
|
537
535
|
parallel_tool_calls=parallel_tool_calls,
|
|
538
536
|
stream=stream,
|
|
539
537
|
stream_options={"include_usage": True} if stream else NOT_GIVEN,
|
|
540
|
-
store=store,
|
|
538
|
+
store=self._non_null_or_not_given(store),
|
|
541
539
|
reasoning_effort=self._non_null_or_not_given(reasoning_effort),
|
|
542
540
|
extra_headers=_HEADERS,
|
|
543
|
-
metadata=model_settings.metadata,
|
|
541
|
+
metadata=self._non_null_or_not_given(model_settings.metadata),
|
|
544
542
|
)
|
|
545
543
|
|
|
546
544
|
if isinstance(ret, ChatCompletion):
|
|
@@ -570,6 +568,12 @@ class OpenAIChatCompletionsModel(Model):
|
|
|
570
568
|
|
|
571
569
|
|
|
572
570
|
class _Converter:
|
|
571
|
+
@classmethod
|
|
572
|
+
def get_store_param(cls, client: AsyncOpenAI, model_settings: ModelSettings) -> bool | None:
|
|
573
|
+
# Match the behavior of Responses where store is True when not given
|
|
574
|
+
default_store = True if str(client.base_url).startswith("https://api.openai.com") else None
|
|
575
|
+
return model_settings.store if model_settings.store is not None else default_store
|
|
576
|
+
|
|
573
577
|
@classmethod
|
|
574
578
|
def convert_tool_choice(
|
|
575
579
|
cls, tool_choice: Literal["auto", "required", "none"] | str | None
|
|
@@ -63,7 +63,10 @@ async def test_get_all_function_tools():
|
|
|
63
63
|
|
|
64
64
|
for idx, tool in enumerate(tools):
|
|
65
65
|
assert isinstance(tool, FunctionTool)
|
|
66
|
-
|
|
66
|
+
if schemas[idx] == {}:
|
|
67
|
+
assert tool.params_json_schema == snapshot({"properties": {}})
|
|
68
|
+
else:
|
|
69
|
+
assert tool.params_json_schema == schemas[idx]
|
|
67
70
|
assert tool.name == names[idx]
|
|
68
71
|
|
|
69
72
|
# Also make sure it works with strict schemas
|
|
@@ -167,10 +170,7 @@ async def test_agent_convert_schemas_true():
|
|
|
167
170
|
|
|
168
171
|
# Checks that additionalProperties is set to False
|
|
169
172
|
assert bar_tool.params_json_schema == snapshot(
|
|
170
|
-
{
|
|
171
|
-
"type": "object",
|
|
172
|
-
"additionalProperties": {"type": "string"},
|
|
173
|
-
}
|
|
173
|
+
{"type": "object", "additionalProperties": {"type": "string"}, "properties": {}}
|
|
174
174
|
)
|
|
175
175
|
assert bar_tool.strict_json_schema is False, "bar_tool should not be strict"
|
|
176
176
|
|
|
@@ -220,7 +220,9 @@ async def test_agent_convert_schemas_false():
|
|
|
220
220
|
assert foo_tool.params_json_schema == strict_schema
|
|
221
221
|
assert foo_tool.strict_json_schema is False, "Shouldn't be converted unless specified"
|
|
222
222
|
|
|
223
|
-
assert bar_tool.params_json_schema ==
|
|
223
|
+
assert bar_tool.params_json_schema == snapshot(
|
|
224
|
+
{"type": "object", "additionalProperties": {"type": "string"}, "properties": {}}
|
|
225
|
+
)
|
|
224
226
|
assert bar_tool.strict_json_schema is False
|
|
225
227
|
|
|
226
228
|
assert baz_tool.params_json_schema == possible_to_convert_schema
|
|
@@ -255,8 +257,35 @@ async def test_agent_convert_schemas_unset():
|
|
|
255
257
|
assert foo_tool.params_json_schema == strict_schema
|
|
256
258
|
assert foo_tool.strict_json_schema is False, "Shouldn't be converted unless specified"
|
|
257
259
|
|
|
258
|
-
assert bar_tool.params_json_schema ==
|
|
260
|
+
assert bar_tool.params_json_schema == snapshot(
|
|
261
|
+
{"type": "object", "additionalProperties": {"type": "string"}, "properties": {}}
|
|
262
|
+
)
|
|
259
263
|
assert bar_tool.strict_json_schema is False
|
|
260
264
|
|
|
261
265
|
assert baz_tool.params_json_schema == possible_to_convert_schema
|
|
262
266
|
assert baz_tool.strict_json_schema is False, "Shouldn't be converted unless specified"
|
|
267
|
+
|
|
268
|
+
|
|
269
|
+
@pytest.mark.asyncio
|
|
270
|
+
async def test_util_adds_properties():
|
|
271
|
+
"""The MCP spec doesn't require the inputSchema to have `properties`, so we need to add it
|
|
272
|
+
if it's missing.
|
|
273
|
+
"""
|
|
274
|
+
schema = {
|
|
275
|
+
"type": "object",
|
|
276
|
+
"description": "Test tool",
|
|
277
|
+
}
|
|
278
|
+
|
|
279
|
+
server = FakeMCPServer()
|
|
280
|
+
server.add_tool("test_tool", schema)
|
|
281
|
+
|
|
282
|
+
tools = await MCPUtil.get_all_function_tools([server], convert_schemas_to_strict=False)
|
|
283
|
+
tool = next(tool for tool in tools if tool.name == "test_tool")
|
|
284
|
+
|
|
285
|
+
assert isinstance(tool, FunctionTool)
|
|
286
|
+
assert "properties" in tool.params_json_schema
|
|
287
|
+
assert tool.params_json_schema["properties"] == {}
|
|
288
|
+
|
|
289
|
+
assert tool.params_json_schema == snapshot(
|
|
290
|
+
{"type": "object", "description": "Test tool", "properties": {}}
|
|
291
|
+
)
|
|
@@ -5,7 +5,7 @@ from typing import Any
|
|
|
5
5
|
|
|
6
6
|
import httpx
|
|
7
7
|
import pytest
|
|
8
|
-
from openai import NOT_GIVEN
|
|
8
|
+
from openai import NOT_GIVEN, AsyncOpenAI
|
|
9
9
|
from openai.types.chat.chat_completion import ChatCompletion, Choice
|
|
10
10
|
from openai.types.chat.chat_completion_chunk import ChatCompletionChunk
|
|
11
11
|
from openai.types.chat.chat_completion_message import ChatCompletionMessage
|
|
@@ -31,6 +31,7 @@ from agents import (
|
|
|
31
31
|
generation_span,
|
|
32
32
|
)
|
|
33
33
|
from agents.models.fake_id import FAKE_RESPONSES_ID
|
|
34
|
+
from agents.models.openai_chatcompletions import _Converter
|
|
34
35
|
|
|
35
36
|
|
|
36
37
|
@pytest.mark.allow_call_model_methods
|
|
@@ -226,7 +227,7 @@ async def test_fetch_response_non_stream(monkeypatch) -> None:
|
|
|
226
227
|
# Ensure expected args were passed through to OpenAI client.
|
|
227
228
|
kwargs = completions.kwargs
|
|
228
229
|
assert kwargs["stream"] is False
|
|
229
|
-
assert kwargs["store"] is
|
|
230
|
+
assert kwargs["store"] is NOT_GIVEN
|
|
230
231
|
assert kwargs["model"] == "gpt-4"
|
|
231
232
|
assert kwargs["messages"][0]["role"] == "system"
|
|
232
233
|
assert kwargs["messages"][0]["content"] == "sys"
|
|
@@ -280,7 +281,7 @@ async def test_fetch_response_stream(monkeypatch) -> None:
|
|
|
280
281
|
)
|
|
281
282
|
# Check OpenAI client was called for streaming
|
|
282
283
|
assert completions.kwargs["stream"] is True
|
|
283
|
-
assert completions.kwargs["store"] is
|
|
284
|
+
assert completions.kwargs["store"] is NOT_GIVEN
|
|
284
285
|
assert completions.kwargs["stream_options"] == {"include_usage": True}
|
|
285
286
|
# Response is a proper openai Response
|
|
286
287
|
assert isinstance(response, Response)
|
|
@@ -290,3 +291,39 @@ async def test_fetch_response_stream(monkeypatch) -> None:
|
|
|
290
291
|
assert response.output == []
|
|
291
292
|
# We returned the async iterator produced by our dummy.
|
|
292
293
|
assert hasattr(stream, "__aiter__")
|
|
294
|
+
|
|
295
|
+
|
|
296
|
+
def test_store_param():
|
|
297
|
+
"""Should default to True for OpenAI API calls, and False otherwise."""
|
|
298
|
+
|
|
299
|
+
model_settings = ModelSettings()
|
|
300
|
+
client = AsyncOpenAI()
|
|
301
|
+
assert _Converter.get_store_param(client, model_settings) is True, (
|
|
302
|
+
"Should default to True for OpenAI API calls"
|
|
303
|
+
)
|
|
304
|
+
|
|
305
|
+
model_settings = ModelSettings(store=False)
|
|
306
|
+
assert _Converter.get_store_param(client, model_settings) is False, (
|
|
307
|
+
"Should respect explicitly set store=False"
|
|
308
|
+
)
|
|
309
|
+
|
|
310
|
+
model_settings = ModelSettings(store=True)
|
|
311
|
+
assert _Converter.get_store_param(client, model_settings) is True, (
|
|
312
|
+
"Should respect explicitly set store=True"
|
|
313
|
+
)
|
|
314
|
+
|
|
315
|
+
client = AsyncOpenAI(base_url="http://www.notopenai.com")
|
|
316
|
+
model_settings = ModelSettings()
|
|
317
|
+
assert _Converter.get_store_param(client, model_settings) is None, (
|
|
318
|
+
"Should default to None for non-OpenAI API calls"
|
|
319
|
+
)
|
|
320
|
+
|
|
321
|
+
model_settings = ModelSettings(store=False)
|
|
322
|
+
assert _Converter.get_store_param(client, model_settings) is False, (
|
|
323
|
+
"Should respect explicitly set store=False"
|
|
324
|
+
)
|
|
325
|
+
|
|
326
|
+
model_settings = ModelSettings(store=True)
|
|
327
|
+
assert _Converter.get_store_param(client, model_settings) is True, (
|
|
328
|
+
"Should respect explicitly set store=True"
|
|
329
|
+
)
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{openai_agents-0.0.8 → openai_agents-0.0.9}/.github/PULL_REQUEST_TEMPLATE/pull_request_template.md
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{openai_agents-0.0.8 → openai_agents-0.0.9}/examples/financial_research_agent/agents/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{openai_agents-0.0.8 → openai_agents-0.0.9}/examples/financial_research_agent/agents/risk_agent.py
RENAMED
|
File without changes
|
{openai_agents-0.0.8 → openai_agents-0.0.9}/examples/financial_research_agent/agents/search_agent.py
RENAMED
|
File without changes
|
|
File without changes
|
{openai_agents-0.0.8 → openai_agents-0.0.9}/examples/financial_research_agent/agents/writer_agent.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{openai_agents-0.0.8 → openai_agents-0.0.9}/examples/model_providers/custom_example_agent.py
RENAMED
|
File without changes
|
{openai_agents-0.0.8 → openai_agents-0.0.9}/examples/model_providers/custom_example_global.py
RENAMED
|
File without changes
|