From 933f01b89f0212e06079f553db7d7ecdcb21cd9b Mon Sep 17 00:00:00 2001 From: Liang Wu Date: Tue, 13 May 2025 16:38:06 -0700 Subject: [PATCH] fix: Concatenate all text Parts from an AgentTool agent's response. PiperOrigin-RevId: 758424011 --- src/google/adk/tools/agent_tool.py | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/src/google/adk/tools/agent_tool.py b/src/google/adk/tools/agent_tool.py index f55906c..7f62829 100644 --- a/src/google/adk/tools/agent_tool.py +++ b/src/google/adk/tools/agent_tool.py @@ -162,17 +162,17 @@ class AgentTool(BaseTool): filename=artifact_name, artifact=artifact ) - if ( - not last_event - or not last_event.content - or not last_event.content.parts - or not last_event.content.parts[0].text - ): + if not last_event or not last_event.content or not last_event.content.parts: return '' if isinstance(self.agent, LlmAgent) and self.agent.output_schema: + merged_text = '\n'.join( + [p.text for p in last_event.content.parts if p.text] + ) tool_result = self.agent.output_schema.model_validate_json( - last_event.content.parts[0].text + merged_text ).model_dump(exclude_none=True) else: - tool_result = last_event.content.parts[0].text + tool_result = '\n'.join( + [p.text for p in last_event.content.parts if p.text] + ) return tool_result