diff --git a/api/core/workflow/nodes/agent/agent_node.py b/api/core/workflow/nodes/agent/agent_node.py index 4be006de11..17a10fa568 100644 --- a/api/core/workflow/nodes/agent/agent_node.py +++ b/api/core/workflow/nodes/agent/agent_node.py @@ -35,6 +35,7 @@ from core.workflow.node_events import ( AgentLogEvent, NodeEventBase, NodeRunResult, + RunRetrieverResourceEvent, StreamChunkEvent, StreamCompletedEvent, ) @@ -670,6 +671,11 @@ class AgentNode(Node[AgentNodeData]): agent_logs.append(agent_log) yield agent_log + elif message.type == ToolInvokeMessage.MessageType.RETRIEVER_RESOURCES: + assert isinstance(message.message, ToolInvokeMessage.RetrieverResourceMessage) + retriever_resources = message.message.retriever_resources + context_str = message.message.context + yield RunRetrieverResourceEvent(retriever_resources=retriever_resources, context=context_str) # Add agent_logs to outputs['json'] to ensure frontend can access thinking process json_output: list[dict[str, Any]] = []