Files
google--adk-python/tests
Xuan Yang 944536191e feat(agents): Add explicit ReAct loop nodes to replace _SingleLlmAgent
Introduce 4 new BaseNode subclasses that will replace the implicit
Workflow graph routing in _SingleLlmAgent with explicit ctx.run_node
orchestration:

- SingleAgentReactNode: replaces _SingleLlmAgent ReAct loop
- LlmCallNode: replaces _call_llm_node.py LLM call cycle
- ParallelToolCallNode + ToolCallNode: replaces _execute_tools_node.py

Verified manually with:
```
import random

from google.adk import Agent
from google.adk.agents.llm._single_agent_react_node import SingleAgentReactNode

def roll_die(sides: int) -> int:
  """Roll a die and return the rolled result.

  Args:
    sides: The integer number of sides the die has.

  Returns:
    An integer of the result of rolling the die.
  """
  return random.randint(1, sides)

_agent = Agent(
    model='gemini-2.5-flash',
    name='dice_agent',
    instruction='You roll dice for the user. When asked to roll a die, call the roll_die tool. Always report the result.',
    tools=[roll_die],
)

root_agent = SingleAgentReactNode(name='react_loop', agent=_agent)
```

https: //screenshot.googleplex.com/BRwbtLHQMTwKN8m
Change-Id: I4b2827aa011a1cca1868df53ea2fbc97e12da83d
2026-03-27 13:46:56 -07:00
..
2026-03-04 18:48:47 -08:00
2026-01-20 14:50:09 -08:00