From 3c1d9207b6ead43e4f4cbf28b89a389f8d920029 Mon Sep 17 00:00:00 2001 From: Lucas Wang Date: Sun, 19 Oct 2025 07:42:17 +0800 Subject: [PATCH] fix: add missing mcp_approval_response event name (fixes #1020) The RunItemStreamEvent was missing the 'mcp_approval_response' event name for MCPApprovalResponseItem, causing it to fall through to the 'else' branch and trigger an 'Unexpected item type' warning. Changes: - Added 'mcp_approval_response' to RunItemStreamEvent.name Literal - Added MCPApprovalResponseItem handling in stream_step_items_to_queue This ensures all RunItem types have corresponding event names: - MessageOutputItem -> message_output_created - HandoffCallItem -> handoff_requested - HandoffOutputItem -> handoff_occured - ToolCallItem -> tool_called - ToolCallOutputItem -> tool_output - ReasoningItem -> reasoning_item_created - MCPApprovalRequestItem -> mcp_approval_requested - MCPApprovalResponseItem -> mcp_approval_response (NEW) - MCPListToolsItem -> mcp_list_tools Generated with Lucas Wang --- src/agents/_run_impl.py | 2 ++ src/agents/stream_events.py | 1 + 2 files changed, 3 insertions(+) diff --git a/src/agents/_run_impl.py b/src/agents/_run_impl.py index f312f36d4..88a770a56 100644 --- a/src/agents/_run_impl.py +++ b/src/agents/_run_impl.py @@ -1172,6 +1172,8 @@ def stream_step_items_to_queue( event = RunItemStreamEvent(item=item, name="reasoning_item_created") elif isinstance(item, MCPApprovalRequestItem): event = RunItemStreamEvent(item=item, name="mcp_approval_requested") + elif isinstance(item, MCPApprovalResponseItem): + event = RunItemStreamEvent(item=item, name="mcp_approval_response") elif isinstance(item, MCPListToolsItem): event = RunItemStreamEvent(item=item, name="mcp_list_tools") diff --git a/src/agents/stream_events.py b/src/agents/stream_events.py index a271e8acd..c0e9807a1 100644 --- a/src/agents/stream_events.py +++ b/src/agents/stream_events.py @@ -37,6 +37,7 @@ class RunItemStreamEvent: "tool_output", "reasoning_item_created", "mcp_approval_requested", + "mcp_approval_response", "mcp_list_tools", ] """The name of the event."""