Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 2 additions & 1 deletion openai_agents/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,8 @@ Each directory contains a complete example with its own README for detailed inst
- **[Tools](./tools/README.md)** - Demonstrates available tools such as file search, image generation, and others.
- **[Handoffs](./handoffs/README.md)** - Agents collaborating via handoffs.
- **[Hosted MCP](./hosted_mcp/README.md)** - Using the MCP client functionality of the OpenAI Responses API.
- **[MCP](./mcp/README.md)** - Local MCP servers (filesystem/stdio, streamable HTTP, SSE, prompt server) integrated with Temporal workflows.
- **[MCP v2](./mcp_v2/README.md)** - MCP SDK v2 using named server factories and durable workflow proxies.
- **[MCP](./mcp/README.md)** - Legacy MCP provider examples retained for compatibility.
- **[Model Providers](./model_providers/README.md)** - Using custom LLM providers (e.g., Anthropic via LiteLLM).
- **[Research Bot](./research_bot/README.md)** - Multi-agent research system with specialized roles: a planner agent, search agent, and writer agent working together to conduct comprehensive research.
- **[Customer Service](./customer_service/README.md)** - Interactive customer service agent with escalation capabilities, demonstrating conversational workflows.
Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
import asyncio

from temporalio.client import Client
from temporalio.contrib.openai_agents import OpenAIAgentsPlugin
from temporalio.openai_agents import OpenAIAgentsPlugin

from openai_agents.agent_patterns.workflows.agents_as_tools_workflow import (
AgentsAsToolsWorkflow,
Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
import asyncio

from temporalio.client import Client
from temporalio.contrib.openai_agents import OpenAIAgentsPlugin
from temporalio.openai_agents import OpenAIAgentsPlugin

from openai_agents.agent_patterns.workflows.deterministic_workflow import (
DeterministicWorkflow,
Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
import asyncio

from temporalio.client import Client
from temporalio.contrib.openai_agents import OpenAIAgentsPlugin
from temporalio.openai_agents import OpenAIAgentsPlugin

from openai_agents.agent_patterns.workflows.forcing_tool_use_workflow import (
ForcingToolUseWorkflow,
Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
import asyncio

from temporalio.client import Client
from temporalio.contrib.openai_agents import OpenAIAgentsPlugin
from temporalio.openai_agents import OpenAIAgentsPlugin

from openai_agents.agent_patterns.workflows.input_guardrails_workflow import (
InputGuardrailsWorkflow,
Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
import asyncio

from temporalio.client import Client
from temporalio.contrib.openai_agents import OpenAIAgentsPlugin
from temporalio.openai_agents import OpenAIAgentsPlugin

from openai_agents.agent_patterns.workflows.llm_as_a_judge_workflow import (
LLMAsAJudgeWorkflow,
Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
import asyncio

from temporalio.client import Client
from temporalio.contrib.openai_agents import OpenAIAgentsPlugin
from temporalio.openai_agents import OpenAIAgentsPlugin

from openai_agents.agent_patterns.workflows.output_guardrails_workflow import (
OutputGuardrailsWorkflow,
Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
import asyncio

from temporalio.client import Client
from temporalio.contrib.openai_agents import OpenAIAgentsPlugin
from temporalio.openai_agents import OpenAIAgentsPlugin

from openai_agents.agent_patterns.workflows.parallelization_workflow import (
ParallelizationWorkflow,
Expand Down
2 changes: 1 addition & 1 deletion openai_agents/agent_patterns/run_routing_workflow.py
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
import asyncio

from temporalio.client import Client
from temporalio.contrib.openai_agents import OpenAIAgentsPlugin
from temporalio.openai_agents import OpenAIAgentsPlugin

from openai_agents.agent_patterns.workflows.routing_workflow import RoutingWorkflow

Expand Down
2 changes: 1 addition & 1 deletion openai_agents/agent_patterns/run_worker.py
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
from datetime import timedelta

from temporalio.client import Client
from temporalio.contrib.openai_agents import ModelActivityParameters, OpenAIAgentsPlugin
from temporalio.openai_agents import ModelActivityParameters, OpenAIAgentsPlugin
from temporalio.worker import Worker

from openai_agents.agent_patterns.workflows.agents_as_tools_workflow import (
Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
import asyncio

from temporalio.client import Client
from temporalio.contrib.openai_agents import OpenAIAgentsPlugin
from temporalio.openai_agents import OpenAIAgentsPlugin

from openai_agents.basic.workflows.dynamic_system_prompt_workflow import (
DynamicSystemPromptWorkflow,
Expand Down
2 changes: 1 addition & 1 deletion openai_agents/basic/run_hello_world_workflow.py
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
import asyncio

from temporalio.client import Client
from temporalio.contrib.openai_agents import OpenAIAgentsPlugin
from temporalio.openai_agents import OpenAIAgentsPlugin

from openai_agents.basic.workflows.hello_world_workflow import HelloWorldAgent

Expand Down
2 changes: 1 addition & 1 deletion openai_agents/basic/run_lifecycle_workflow.py
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
import asyncio

from temporalio.client import Client
from temporalio.contrib.openai_agents import OpenAIAgentsPlugin
from temporalio.openai_agents import OpenAIAgentsPlugin

from openai_agents.basic.workflows.lifecycle_workflow import LifecycleWorkflow

Expand Down
2 changes: 1 addition & 1 deletion openai_agents/basic/run_local_image_workflow.py
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
import os

from temporalio.client import Client
from temporalio.contrib.openai_agents import OpenAIAgentsPlugin
from temporalio.openai_agents import OpenAIAgentsPlugin

from openai_agents.basic.workflows.local_image_workflow import LocalImageWorkflow

Expand Down
2 changes: 1 addition & 1 deletion openai_agents/basic/run_non_strict_output_workflow.py
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
import asyncio

from temporalio.client import Client
from temporalio.contrib.openai_agents import OpenAIAgentsPlugin
from temporalio.openai_agents import OpenAIAgentsPlugin

from openai_agents.basic.workflows.non_strict_output_workflow import (
NonStrictOutputWorkflow,
Expand Down
2 changes: 1 addition & 1 deletion openai_agents/basic/run_previous_response_id_workflow.py
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
import asyncio

from temporalio.client import Client
from temporalio.contrib.openai_agents import OpenAIAgentsPlugin
from temporalio.openai_agents import OpenAIAgentsPlugin

from openai_agents.basic.workflows.previous_response_id_workflow import (
PreviousResponseIdWorkflow,
Expand Down
2 changes: 1 addition & 1 deletion openai_agents/basic/run_remote_image_workflow.py
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
import asyncio

from temporalio.client import Client
from temporalio.contrib.openai_agents import OpenAIAgentsPlugin
from temporalio.envconfig import ClientConfig
from temporalio.openai_agents import OpenAIAgentsPlugin

from openai_agents.basic.workflows.remote_image_workflow import RemoteImageWorkflow

Expand Down
2 changes: 1 addition & 1 deletion openai_agents/basic/run_tools_workflow.py
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
import asyncio

from temporalio.client import Client
from temporalio.contrib.openai_agents import OpenAIAgentsPlugin
from temporalio.openai_agents import OpenAIAgentsPlugin

from openai_agents.basic.workflows.tools_workflow import ToolsWorkflow

Expand Down
2 changes: 1 addition & 1 deletion openai_agents/basic/run_worker.py
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
from datetime import timedelta

from temporalio.client import Client
from temporalio.contrib.openai_agents import ModelActivityParameters, OpenAIAgentsPlugin
from temporalio.openai_agents import ModelActivityParameters, OpenAIAgentsPlugin
from temporalio.worker import Worker

from openai_agents.basic.activities.get_weather_activity import get_weather
Expand Down
2 changes: 1 addition & 1 deletion openai_agents/basic/workflows/tools_workflow.py
Original file line number Diff line number Diff line change
Expand Up @@ -3,8 +3,8 @@
from datetime import timedelta

from agents import Agent, Runner
from temporalio import openai_agents as temporal_agents
from temporalio import workflow
from temporalio.contrib import openai_agents as temporal_agents

from openai_agents.basic.activities.get_weather_activity import get_weather

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@
WorkflowUpdateFailedError,
)
from temporalio.common import QueryRejectCondition
from temporalio.contrib.openai_agents import OpenAIAgentsPlugin
from temporalio.openai_agents import OpenAIAgentsPlugin
from temporalio.service import RPCError, RPCStatusCode

from openai_agents.customer_service.workflows.customer_service_workflow import (
Expand Down
2 changes: 1 addition & 1 deletion openai_agents/customer_service/run_worker.py
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
from datetime import timedelta

from temporalio.client import Client
from temporalio.contrib.openai_agents import ModelActivityParameters, OpenAIAgentsPlugin
from temporalio.openai_agents import ModelActivityParameters, OpenAIAgentsPlugin
from temporalio.worker import Worker

from openai_agents.customer_service.workflows.customer_service_workflow import (
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
import asyncio

from temporalio.client import Client
from temporalio.contrib.openai_agents import OpenAIAgentsPlugin
from temporalio.openai_agents import OpenAIAgentsPlugin

from openai_agents.financial_research_agent.workflows.financial_research_workflow import (
FinancialResearchWorkflow,
Expand Down
2 changes: 1 addition & 1 deletion openai_agents/financial_research_agent/run_worker.py
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
import asyncio

from temporalio.client import Client
from temporalio.contrib.openai_agents import OpenAIAgentsPlugin
from temporalio.openai_agents import OpenAIAgentsPlugin
from temporalio.worker import Worker

from openai_agents.financial_research_agent.workflows.financial_research_workflow import (
Expand Down
2 changes: 1 addition & 1 deletion openai_agents/handoffs/run_message_filter_workflow.py
Original file line number Diff line number Diff line change
Expand Up @@ -2,8 +2,8 @@
import json

from temporalio.client import Client
from temporalio.contrib.openai_agents import OpenAIAgentsPlugin
from temporalio.envconfig import ClientConfig
from temporalio.openai_agents import OpenAIAgentsPlugin

from openai_agents.handoffs.workflows.message_filter_workflow import (
MessageFilterWorkflow,
Expand Down
2 changes: 1 addition & 1 deletion openai_agents/handoffs/run_worker.py
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
from datetime import timedelta

from temporalio.client import Client
from temporalio.contrib.openai_agents import ModelActivityParameters, OpenAIAgentsPlugin
from temporalio.openai_agents import ModelActivityParameters, OpenAIAgentsPlugin
from temporalio.worker import Worker

from openai_agents.handoffs.workflows.message_filter_workflow import (
Expand Down
2 changes: 1 addition & 1 deletion openai_agents/hosted_mcp/run_approval_mcp_workflow.py
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
import asyncio

from temporalio.client import Client
from temporalio.contrib.openai_agents import OpenAIAgentsPlugin
from temporalio.openai_agents import OpenAIAgentsPlugin

from openai_agents.hosted_mcp.workflows.approval_mcp_workflow import ApprovalMCPWorkflow

Expand Down
2 changes: 1 addition & 1 deletion openai_agents/hosted_mcp/run_simple_mcp_workflow.py
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
import asyncio

from temporalio.client import Client
from temporalio.contrib.openai_agents import OpenAIAgentsPlugin
from temporalio.openai_agents import OpenAIAgentsPlugin

from openai_agents.hosted_mcp.workflows.simple_mcp_workflow import SimpleMCPWorkflow

Expand Down
2 changes: 1 addition & 1 deletion openai_agents/hosted_mcp/run_worker.py
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
from datetime import timedelta

from temporalio.client import Client
from temporalio.contrib.openai_agents import ModelActivityParameters, OpenAIAgentsPlugin
from temporalio.openai_agents import ModelActivityParameters, OpenAIAgentsPlugin
from temporalio.worker import Worker

from openai_agents.hosted_mcp.workflows.approval_mcp_workflow import ApprovalMCPWorkflow
Expand Down
4 changes: 2 additions & 2 deletions openai_agents/mcp/run_file_system_worker.py
Original file line number Diff line number Diff line change
Expand Up @@ -7,12 +7,12 @@

from agents.mcp import MCPServerStdio
from temporalio.client import Client
from temporalio.contrib.openai_agents import (
from temporalio.envconfig import ClientConfig
from temporalio.openai_agents import (
ModelActivityParameters,
OpenAIAgentsPlugin,
StatelessMCPServerProvider,
)
from temporalio.envconfig import ClientConfig
from temporalio.worker import Worker

from openai_agents.mcp.workflows.file_system_workflow import FileSystemWorkflow
Expand Down
2 changes: 1 addition & 1 deletion openai_agents/mcp/run_file_system_workflow.py
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
import asyncio

from temporalio.client import Client
from temporalio.contrib.openai_agents import OpenAIAgentsPlugin
from temporalio.envconfig import ClientConfig
from temporalio.openai_agents import OpenAIAgentsPlugin

from openai_agents.mcp.workflows.file_system_workflow import FileSystemWorkflow

Expand Down
4 changes: 2 additions & 2 deletions openai_agents/mcp/run_memory_research_scratchpad_worker.py
Original file line number Diff line number Diff line change
Expand Up @@ -6,12 +6,12 @@

from agents.mcp import MCPServerStdio
from temporalio.client import Client
from temporalio.contrib.openai_agents import (
from temporalio.envconfig import ClientConfig
from temporalio.openai_agents import (
ModelActivityParameters,
OpenAIAgentsPlugin,
StatefulMCPServerProvider,
)
from temporalio.envconfig import ClientConfig
from temporalio.worker import Worker

from openai_agents.mcp.workflows.memory_research_scratchpad_workflow import (
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,8 +3,8 @@
import asyncio

from temporalio.client import Client
from temporalio.contrib.openai_agents import OpenAIAgentsPlugin
from temporalio.envconfig import ClientConfig
from temporalio.openai_agents import OpenAIAgentsPlugin

from openai_agents.mcp.workflows.memory_research_scratchpad_workflow import (
MemoryResearchScratchpadWorkflow,
Expand Down
4 changes: 2 additions & 2 deletions openai_agents/mcp/run_prompt_server_worker.py
Original file line number Diff line number Diff line change
Expand Up @@ -6,12 +6,12 @@

from agents.mcp import MCPServerStreamableHttp
from temporalio.client import Client
from temporalio.contrib.openai_agents import (
from temporalio.envconfig import ClientConfig
from temporalio.openai_agents import (
ModelActivityParameters,
OpenAIAgentsPlugin,
StatelessMCPServerProvider,
)
from temporalio.envconfig import ClientConfig
from temporalio.worker import Worker

from openai_agents.mcp.workflows.prompt_server_workflow import PromptServerWorkflow
Expand Down
2 changes: 1 addition & 1 deletion openai_agents/mcp/run_prompt_server_workflow.py
Original file line number Diff line number Diff line change
Expand Up @@ -3,8 +3,8 @@
import asyncio

from temporalio.client import Client
from temporalio.contrib.openai_agents import OpenAIAgentsPlugin
from temporalio.envconfig import ClientConfig
from temporalio.openai_agents import OpenAIAgentsPlugin

from openai_agents.mcp.workflows.prompt_server_workflow import PromptServerWorkflow

Expand Down
4 changes: 2 additions & 2 deletions openai_agents/mcp/run_sse_worker.py
Original file line number Diff line number Diff line change
Expand Up @@ -6,12 +6,12 @@

from agents.mcp import MCPServerSse
from temporalio.client import Client
from temporalio.contrib.openai_agents import (
from temporalio.envconfig import ClientConfig
from temporalio.openai_agents import (
ModelActivityParameters,
OpenAIAgentsPlugin,
StatelessMCPServerProvider,
)
from temporalio.envconfig import ClientConfig
from temporalio.worker import Worker

from openai_agents.mcp.workflows.sse_workflow import SseWorkflow
Expand Down
2 changes: 1 addition & 1 deletion openai_agents/mcp/run_sse_workflow.py
Original file line number Diff line number Diff line change
Expand Up @@ -3,8 +3,8 @@
import asyncio

from temporalio.client import Client
from temporalio.contrib.openai_agents import OpenAIAgentsPlugin
from temporalio.envconfig import ClientConfig
from temporalio.openai_agents import OpenAIAgentsPlugin

from openai_agents.mcp.workflows.sse_workflow import SseWorkflow

Expand Down
4 changes: 2 additions & 2 deletions openai_agents/mcp/run_streamable_http_worker.py
Original file line number Diff line number Diff line change
Expand Up @@ -6,12 +6,12 @@

from agents.mcp import MCPServerStreamableHttp
from temporalio.client import Client
from temporalio.contrib.openai_agents import (
from temporalio.envconfig import ClientConfig
from temporalio.openai_agents import (
ModelActivityParameters,
OpenAIAgentsPlugin,
StatelessMCPServerProvider,
)
from temporalio.envconfig import ClientConfig
from temporalio.worker import Worker

from openai_agents.mcp.workflows.streamable_http_workflow import StreamableHttpWorkflow
Expand Down
2 changes: 1 addition & 1 deletion openai_agents/mcp/run_streamable_http_workflow.py
Original file line number Diff line number Diff line change
Expand Up @@ -3,8 +3,8 @@
import asyncio

from temporalio.client import Client
from temporalio.contrib.openai_agents import OpenAIAgentsPlugin
from temporalio.envconfig import ClientConfig
from temporalio.openai_agents import OpenAIAgentsPlugin

from openai_agents.mcp.workflows.streamable_http_workflow import StreamableHttpWorkflow

Expand Down
3 changes: 1 addition & 2 deletions openai_agents/mcp/workflows/file_system_workflow.py
Original file line number Diff line number Diff line change
Expand Up @@ -2,8 +2,7 @@

from agents import Agent, Runner, trace
from agents.mcp import MCPServer
from temporalio import workflow
from temporalio.contrib import openai_agents
from temporalio import openai_agents, workflow


@workflow.defn
Expand Down
Loading
Loading