From ef86394f1d83e9db50aa493f47308d8648045b6f Mon Sep 17 00:00:00 2001 From: Mutasem Date: Wed, 12 Nov 2025 17:41:14 +0300 Subject: [PATCH] agent node - add retriever resources message transform logic --- api/core/workflow/nodes/agent/agent_node.py | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/api/core/workflow/nodes/agent/agent_node.py b/api/core/workflow/nodes/agent/agent_node.py index 626ef1df7b..2ecde79876 100644 --- a/api/core/workflow/nodes/agent/agent_node.py +++ b/api/core/workflow/nodes/agent/agent_node.py @@ -38,6 +38,7 @@ from core.workflow.node_events import ( NodeRunResult, StreamChunkEvent, StreamCompletedEvent, + RunRetrieverResourceEvent, ) from core.workflow.nodes.agent.entities import AgentNodeData, AgentOldVersionModelFeatures, ParamsAutoGenerated from core.workflow.nodes.base.entities import BaseNodeData, RetryConfig @@ -667,7 +668,7 @@ class AgentNode(Node): dict_metadata["icon"] = icon dict_metadata["icon_dark"] = icon_dark - message.message.metadata = dict_metadata + message.message.metadata = dict_metadata agent_log = AgentLogEvent( message_id=message.message.id, node_execution_id=node_execution_id, @@ -694,6 +695,11 @@ class AgentNode(Node): 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]] = []