From ef86394f1d83e9db50aa493f47308d8648045b6f Mon Sep 17 00:00:00 2001 From: Mutasem Date: Wed, 12 Nov 2025 17:41:14 +0300 Subject: [PATCH 1/3] 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]] = [] From 263760e1dc2ad452d0ce10e26ba1497b462600e5 Mon Sep 17 00:00:00 2001 From: Mutasem Date: Wed, 12 Nov 2025 17:42:50 +0300 Subject: [PATCH 2/3] sort import order --- api/core/workflow/nodes/agent/agent_node.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/api/core/workflow/nodes/agent/agent_node.py b/api/core/workflow/nodes/agent/agent_node.py index 2ecde79876..9a02ff9b20 100644 --- a/api/core/workflow/nodes/agent/agent_node.py +++ b/api/core/workflow/nodes/agent/agent_node.py @@ -36,9 +36,9 @@ from core.workflow.node_events import ( AgentLogEvent, NodeEventBase, NodeRunResult, + RunRetrieverResourceEvent, StreamChunkEvent, StreamCompletedEvent, - RunRetrieverResourceEvent, ) from core.workflow.nodes.agent.entities import AgentNodeData, AgentOldVersionModelFeatures, ParamsAutoGenerated from core.workflow.nodes.base.entities import BaseNodeData, RetryConfig From d94a6c1d719150ac124f61e700a1fd7cbaf8261c Mon Sep 17 00:00:00 2001 From: mnasrautinno Date: Thu, 13 Nov 2025 15:54:50 +0300 Subject: [PATCH 3/3] Update api/core/workflow/nodes/agent/agent_node.py Remove white space Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com> --- api/core/workflow/nodes/agent/agent_node.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/api/core/workflow/nodes/agent/agent_node.py b/api/core/workflow/nodes/agent/agent_node.py index 9a02ff9b20..aba0d1e0d9 100644 --- a/api/core/workflow/nodes/agent/agent_node.py +++ b/api/core/workflow/nodes/agent/agent_node.py @@ -668,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,