Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
9 changes: 5 additions & 4 deletions src/google/adk/tools/agent_tool.py
Original file line number Diff line number Diff line change
Expand Up @@ -139,7 +139,7 @@ async def run_async(
state=tool_context.state.to_dict(),
)

last_event = None
last_content = None
async with Aclosing(
runner.run_async(
user_id=session.user_id, session_id=session.id, new_message=content
Expand All @@ -149,11 +149,12 @@ async def run_async(
# Forward state delta to parent session.
if event.actions.state_delta:
tool_context.state.update(event.actions.state_delta)
last_event = event
if event.content:
last_content = event.content

if not last_event or not last_event.content or not last_event.content.parts:
if not last_content:
return ''
merged_text = '\n'.join(p.text for p in last_event.content.parts if p.text)
merged_text = '\n'.join(p.text for p in last_content.parts if p.text)
if isinstance(self.agent, LlmAgent) and self.agent.output_schema:
tool_result = self.agent.output_schema.model_validate_json(
merged_text
Expand Down