refactor: Align single-turn subagent branch scoping with function_call_id

Co-authored-by: Shangjie Chen <deanchen@google.com>
PiperOrigin-RevId: 941318373
This commit is contained in:
Shangjie Chen
2026-07-01 15:10:50 -07:00
committed by Copybara-Service
parent c01e538020
commit 5735690d55
7 changed files with 44 additions and 35 deletions
@@ -42,7 +42,7 @@
},
{
"author": "weather_agent",
"branch": "weather_agent@1",
"branch": "weather_agent@fc-1",
"content": {
"parts": [
{
@@ -42,7 +42,7 @@
},
{
"author": "weather_agent",
"branch": "weather_agent@1",
"branch": "weather_agent@fc-1",
"content": {
"parts": [
{
@@ -42,7 +42,7 @@
},
{
"author": "weather_agent",
"branch": "weather_agent@1",
"branch": "weather_agent@fc-1",
"content": {
"parts": [
{
@@ -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": [
{
@@ -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": [
{
@@ -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": [
{
+10 -1
View File
@@ -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}'