From d1ca874dd1be62014f5c11326f56ae82491cf188 Mon Sep 17 00:00:00 2001 From: Adam Weidman Date: Thu, 12 Feb 2026 11:20:32 -0500 Subject: [PATCH] fix: deduplicate agent response text from task history Task history contains multiple status-update messages that may reference the same A2UI surface. Use only the last non-empty agent response to avoid duplicate text in Chat output. --- .../a2a-server/src/chat-bridge/response-renderer.ts | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/packages/a2a-server/src/chat-bridge/response-renderer.ts b/packages/a2a-server/src/chat-bridge/response-renderer.ts index 123aca553a..8ceadce128 100644 --- a/packages/a2a-server/src/chat-bridge/response-renderer.ts +++ b/packages/a2a-server/src/chat-bridge/response-renderer.ts @@ -81,10 +81,13 @@ export function renderResponse( responseTexts.push(`_${thought.subject}_: ${thought.description}`); } - // Add agent response text (from A2UI surfaces) - for (const agentResponse of agentResponses) { - if (agentResponse.text) { - responseTexts.push(agentResponse.text); + // Add agent response text (from A2UI surfaces). + // Use only the last non-empty response since later updates supersede earlier + // ones for the same surface (history contains multiple status-update messages). + for (let i = agentResponses.length - 1; i >= 0; i--) { + if (agentResponses[i].text) { + responseTexts.push(agentResponses[i].text); + break; } }