diff --git a/contributing/samples/core/input_output_schema/tests/weather_cupertino.json b/contributing/samples/core/input_output_schema/tests/weather_cupertino.json index a036ca8f..0502c9f7 100644 --- a/contributing/samples/core/input_output_schema/tests/weather_cupertino.json +++ b/contributing/samples/core/input_output_schema/tests/weather_cupertino.json @@ -42,7 +42,7 @@ }, { "author": "weather_agent", - "branch": "weather_agent@1", + "branch": "weather_agent@fc-1", "content": { "parts": [ { diff --git a/contributing/samples/core/input_output_schema/tests/weather_sanjose.json b/contributing/samples/core/input_output_schema/tests/weather_sanjose.json index 8b76e47a..9888e02b 100644 --- a/contributing/samples/core/input_output_schema/tests/weather_sanjose.json +++ b/contributing/samples/core/input_output_schema/tests/weather_sanjose.json @@ -42,7 +42,7 @@ }, { "author": "weather_agent", - "branch": "weather_agent@1", + "branch": "weather_agent@fc-1", "content": { "parts": [ { diff --git a/contributing/samples/core/input_output_schema/tests/weather_tokyo.json b/contributing/samples/core/input_output_schema/tests/weather_tokyo.json index e531c244..1b06901a 100644 --- a/contributing/samples/core/input_output_schema/tests/weather_tokyo.json +++ b/contributing/samples/core/input_output_schema/tests/weather_tokyo.json @@ -42,7 +42,7 @@ }, { "author": "weather_agent", - "branch": "weather_agent@1", + "branch": "weather_agent@fc-1", "content": { "parts": [ { diff --git a/contributing/samples/multi_agent/single_turn_sub_agent/tests/gaming_1000.json b/contributing/samples/multi_agent/single_turn_sub_agent/tests/gaming_1000.json index 9112d546..c442c759 100644 --- a/contributing/samples/multi_agent/single_turn_sub_agent/tests/gaming_1000.json +++ b/contributing/samples/multi_agent/single_turn_sub_agent/tests/gaming_1000.json @@ -77,7 +77,7 @@ }, { "author": "phone_recommender", - "branch": "phone_recommender@1", + "branch": "phone_recommender@fc-1", "content": { "parts": [ { @@ -102,7 +102,7 @@ }, { "author": "phone_recommender", - "branch": "phone_recommender@1", + "branch": "phone_recommender@fc-1", "content": { "parts": [ { @@ -125,7 +125,7 @@ }, { "author": "phone_recommender", - "branch": "phone_recommender@1", + "branch": "phone_recommender@fc-1", "content": { "parts": [ { @@ -150,7 +150,7 @@ }, { "author": "phone_recommender", - "branch": "phone_recommender@1", + "branch": "phone_recommender@fc-1", "content": { "parts": [ { @@ -173,7 +173,7 @@ }, { "author": "phone_recommender", - "branch": "phone_recommender@1", + "branch": "phone_recommender@fc-1", "content": { "parts": [ { @@ -198,7 +198,7 @@ }, { "author": "phone_recommender", - "branch": "phone_recommender@1", + "branch": "phone_recommender@fc-1", "content": { "parts": [ { @@ -221,7 +221,7 @@ }, { "author": "phone_recommender", - "branch": "phone_recommender@1", + "branch": "phone_recommender@fc-1", "content": { "parts": [ { @@ -246,7 +246,7 @@ }, { "author": "phone_recommender", - "branch": "phone_recommender@1", + "branch": "phone_recommender@fc-1", "content": { "parts": [ { @@ -269,7 +269,7 @@ }, { "author": "phone_recommender", - "branch": "phone_recommender@1", + "branch": "phone_recommender@fc-1", "content": { "parts": [ { @@ -294,7 +294,7 @@ }, { "author": "phone_recommender", - "branch": "phone_recommender@1", + "branch": "phone_recommender@fc-1", "content": { "parts": [ { @@ -317,7 +317,7 @@ }, { "author": "phone_recommender", - "branch": "phone_recommender@1", + "branch": "phone_recommender@fc-1", "content": { "parts": [ { @@ -351,7 +351,7 @@ } }, "author": "phone_recommender", - "branch": "phone_recommender@1", + "branch": "phone_recommender@fc-1", "content": { "parts": [ { @@ -376,7 +376,7 @@ }, { "author": "phone_recommender", - "branch": "phone_recommender@1", + "branch": "phone_recommender@fc-1", "content": { "parts": [ { diff --git a/contributing/samples/multi_agent/single_turn_sub_agent/tests/gaming_1000_large.json b/contributing/samples/multi_agent/single_turn_sub_agent/tests/gaming_1000_large.json index 93be74f9..9904bb65 100644 --- a/contributing/samples/multi_agent/single_turn_sub_agent/tests/gaming_1000_large.json +++ b/contributing/samples/multi_agent/single_turn_sub_agent/tests/gaming_1000_large.json @@ -44,7 +44,7 @@ }, { "author": "phone_recommender", - "branch": "phone_recommender@1", + "branch": "phone_recommender@fc-1", "content": { "parts": [ { @@ -69,7 +69,7 @@ }, { "author": "phone_recommender", - "branch": "phone_recommender@1", + "branch": "phone_recommender@fc-1", "content": { "parts": [ { @@ -92,7 +92,7 @@ }, { "author": "phone_recommender", - "branch": "phone_recommender@1", + "branch": "phone_recommender@fc-1", "content": { "parts": [ { @@ -117,7 +117,7 @@ }, { "author": "phone_recommender", - "branch": "phone_recommender@1", + "branch": "phone_recommender@fc-1", "content": { "parts": [ { @@ -140,7 +140,7 @@ }, { "author": "phone_recommender", - "branch": "phone_recommender@1", + "branch": "phone_recommender@fc-1", "content": { "parts": [ { @@ -165,7 +165,7 @@ }, { "author": "phone_recommender", - "branch": "phone_recommender@1", + "branch": "phone_recommender@fc-1", "content": { "parts": [ { @@ -188,7 +188,7 @@ }, { "author": "phone_recommender", - "branch": "phone_recommender@1", + "branch": "phone_recommender@fc-1", "content": { "parts": [ { @@ -213,7 +213,7 @@ }, { "author": "phone_recommender", - "branch": "phone_recommender@1", + "branch": "phone_recommender@fc-1", "content": { "parts": [ { @@ -236,7 +236,7 @@ }, { "author": "phone_recommender", - "branch": "phone_recommender@1", + "branch": "phone_recommender@fc-1", "content": { "parts": [ { @@ -270,7 +270,7 @@ } }, "author": "phone_recommender", - "branch": "phone_recommender@1", + "branch": "phone_recommender@fc-1", "content": { "parts": [ { @@ -295,7 +295,7 @@ }, { "author": "phone_recommender", - "branch": "phone_recommender@1", + "branch": "phone_recommender@fc-1", "content": { "parts": [ { diff --git a/contributing/samples/multi_agent/single_turn_sub_agent/tests/go.json b/contributing/samples/multi_agent/single_turn_sub_agent/tests/go.json index 8eea2f7d..1c69be34 100644 --- a/contributing/samples/multi_agent/single_turn_sub_agent/tests/go.json +++ b/contributing/samples/multi_agent/single_turn_sub_agent/tests/go.json @@ -110,7 +110,7 @@ }, { "author": "phone_recommender", - "branch": "phone_recommender@1", + "branch": "phone_recommender@fc-1", "content": { "parts": [ { @@ -144,7 +144,7 @@ }, { "author": "phone_recommender", - "branch": "phone_recommender@1", + "branch": "phone_recommender@fc-1", "content": { "parts": [ { @@ -176,7 +176,7 @@ }, { "author": "phone_recommender", - "branch": "phone_recommender@1", + "branch": "phone_recommender@fc-1", "content": { "parts": [ { @@ -219,7 +219,7 @@ }, { "author": "phone_recommender", - "branch": "phone_recommender@1", + "branch": "phone_recommender@fc-1", "content": { "parts": [ { @@ -260,7 +260,7 @@ }, { "author": "phone_recommender", - "branch": "phone_recommender@1", + "branch": "phone_recommender@fc-1", "content": { "parts": [ { @@ -294,7 +294,7 @@ } }, "author": "phone_recommender", - "branch": "phone_recommender@1", + "branch": "phone_recommender@fc-1", "content": { "parts": [ { @@ -319,7 +319,7 @@ }, { "author": "phone_recommender", - "branch": "phone_recommender@1", + "branch": "phone_recommender@fc-1", "content": { "parts": [ { diff --git a/src/google/adk/tools/agent_tool.py b/src/google/adk/tools/agent_tool.py index 8054d0ff..55fe7ff6 100644 --- a/src/google/adk/tools/agent_tool.py +++ b/src/google/adk/tools/agent_tool.py @@ -361,9 +361,18 @@ class _SingleTurnAgentTool(AgentTool): else: node_input = args.get('request') + # Align subagent branch scoping with node execution (Node as Tool) using function_call_id. + fc_id = tool_context.function_call_id + base_branch = tool_context.get_invocation_context().branch + segment = f'{self.agent.name}@{fc_id}' + tool_branch = f'{base_branch}.{segment}' if base_branch else segment + try: return await tool_context.run_node( - self.agent, node_input=node_input, use_sub_branch=True + self.agent, + node_input=node_input, + override_branch=tool_branch, + use_sub_branch=False, ) except Exception as e: return f'Error running sub-agent: {e}'