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:
committed by
Copybara-Service
parent
c01e538020
commit
5735690d55
@@ -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": [
|
||||
{
|
||||
|
||||
+11
-11
@@ -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": [
|
||||
{
|
||||
|
||||
@@ -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}'
|
||||
|
||||
Reference in New Issue
Block a user