Skip to content

Commit 5735690

Browse files
DeanChensjcopybara-github
authored andcommitted
refactor: Align single-turn subagent branch scoping with function_call_id
Co-authored-by: Shangjie Chen <deanchen@google.com> PiperOrigin-RevId: 941318373
1 parent c01e538 commit 5735690

7 files changed

Lines changed: 44 additions & 35 deletions

File tree

contributing/samples/core/input_output_schema/tests/weather_cupertino.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -42,7 +42,7 @@
4242
},
4343
{
4444
"author": "weather_agent",
45-
"branch": "weather_agent@1",
45+
"branch": "weather_agent@fc-1",
4646
"content": {
4747
"parts": [
4848
{

contributing/samples/core/input_output_schema/tests/weather_sanjose.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -42,7 +42,7 @@
4242
},
4343
{
4444
"author": "weather_agent",
45-
"branch": "weather_agent@1",
45+
"branch": "weather_agent@fc-1",
4646
"content": {
4747
"parts": [
4848
{

contributing/samples/core/input_output_schema/tests/weather_tokyo.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -42,7 +42,7 @@
4242
},
4343
{
4444
"author": "weather_agent",
45-
"branch": "weather_agent@1",
45+
"branch": "weather_agent@fc-1",
4646
"content": {
4747
"parts": [
4848
{

contributing/samples/multi_agent/single_turn_sub_agent/tests/gaming_1000.json

Lines changed: 13 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -77,7 +77,7 @@
7777
},
7878
{
7979
"author": "phone_recommender",
80-
"branch": "phone_recommender@1",
80+
"branch": "phone_recommender@fc-1",
8181
"content": {
8282
"parts": [
8383
{
@@ -102,7 +102,7 @@
102102
},
103103
{
104104
"author": "phone_recommender",
105-
"branch": "phone_recommender@1",
105+
"branch": "phone_recommender@fc-1",
106106
"content": {
107107
"parts": [
108108
{
@@ -125,7 +125,7 @@
125125
},
126126
{
127127
"author": "phone_recommender",
128-
"branch": "phone_recommender@1",
128+
"branch": "phone_recommender@fc-1",
129129
"content": {
130130
"parts": [
131131
{
@@ -150,7 +150,7 @@
150150
},
151151
{
152152
"author": "phone_recommender",
153-
"branch": "phone_recommender@1",
153+
"branch": "phone_recommender@fc-1",
154154
"content": {
155155
"parts": [
156156
{
@@ -173,7 +173,7 @@
173173
},
174174
{
175175
"author": "phone_recommender",
176-
"branch": "phone_recommender@1",
176+
"branch": "phone_recommender@fc-1",
177177
"content": {
178178
"parts": [
179179
{
@@ -198,7 +198,7 @@
198198
},
199199
{
200200
"author": "phone_recommender",
201-
"branch": "phone_recommender@1",
201+
"branch": "phone_recommender@fc-1",
202202
"content": {
203203
"parts": [
204204
{
@@ -221,7 +221,7 @@
221221
},
222222
{
223223
"author": "phone_recommender",
224-
"branch": "phone_recommender@1",
224+
"branch": "phone_recommender@fc-1",
225225
"content": {
226226
"parts": [
227227
{
@@ -246,7 +246,7 @@
246246
},
247247
{
248248
"author": "phone_recommender",
249-
"branch": "phone_recommender@1",
249+
"branch": "phone_recommender@fc-1",
250250
"content": {
251251
"parts": [
252252
{
@@ -269,7 +269,7 @@
269269
},
270270
{
271271
"author": "phone_recommender",
272-
"branch": "phone_recommender@1",
272+
"branch": "phone_recommender@fc-1",
273273
"content": {
274274
"parts": [
275275
{
@@ -294,7 +294,7 @@
294294
},
295295
{
296296
"author": "phone_recommender",
297-
"branch": "phone_recommender@1",
297+
"branch": "phone_recommender@fc-1",
298298
"content": {
299299
"parts": [
300300
{
@@ -317,7 +317,7 @@
317317
},
318318
{
319319
"author": "phone_recommender",
320-
"branch": "phone_recommender@1",
320+
"branch": "phone_recommender@fc-1",
321321
"content": {
322322
"parts": [
323323
{
@@ -351,7 +351,7 @@
351351
}
352352
},
353353
"author": "phone_recommender",
354-
"branch": "phone_recommender@1",
354+
"branch": "phone_recommender@fc-1",
355355
"content": {
356356
"parts": [
357357
{
@@ -376,7 +376,7 @@
376376
},
377377
{
378378
"author": "phone_recommender",
379-
"branch": "phone_recommender@1",
379+
"branch": "phone_recommender@fc-1",
380380
"content": {
381381
"parts": [
382382
{

contributing/samples/multi_agent/single_turn_sub_agent/tests/gaming_1000_large.json

Lines changed: 11 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -44,7 +44,7 @@
4444
},
4545
{
4646
"author": "phone_recommender",
47-
"branch": "phone_recommender@1",
47+
"branch": "phone_recommender@fc-1",
4848
"content": {
4949
"parts": [
5050
{
@@ -69,7 +69,7 @@
6969
},
7070
{
7171
"author": "phone_recommender",
72-
"branch": "phone_recommender@1",
72+
"branch": "phone_recommender@fc-1",
7373
"content": {
7474
"parts": [
7575
{
@@ -92,7 +92,7 @@
9292
},
9393
{
9494
"author": "phone_recommender",
95-
"branch": "phone_recommender@1",
95+
"branch": "phone_recommender@fc-1",
9696
"content": {
9797
"parts": [
9898
{
@@ -117,7 +117,7 @@
117117
},
118118
{
119119
"author": "phone_recommender",
120-
"branch": "phone_recommender@1",
120+
"branch": "phone_recommender@fc-1",
121121
"content": {
122122
"parts": [
123123
{
@@ -140,7 +140,7 @@
140140
},
141141
{
142142
"author": "phone_recommender",
143-
"branch": "phone_recommender@1",
143+
"branch": "phone_recommender@fc-1",
144144
"content": {
145145
"parts": [
146146
{
@@ -165,7 +165,7 @@
165165
},
166166
{
167167
"author": "phone_recommender",
168-
"branch": "phone_recommender@1",
168+
"branch": "phone_recommender@fc-1",
169169
"content": {
170170
"parts": [
171171
{
@@ -188,7 +188,7 @@
188188
},
189189
{
190190
"author": "phone_recommender",
191-
"branch": "phone_recommender@1",
191+
"branch": "phone_recommender@fc-1",
192192
"content": {
193193
"parts": [
194194
{
@@ -213,7 +213,7 @@
213213
},
214214
{
215215
"author": "phone_recommender",
216-
"branch": "phone_recommender@1",
216+
"branch": "phone_recommender@fc-1",
217217
"content": {
218218
"parts": [
219219
{
@@ -236,7 +236,7 @@
236236
},
237237
{
238238
"author": "phone_recommender",
239-
"branch": "phone_recommender@1",
239+
"branch": "phone_recommender@fc-1",
240240
"content": {
241241
"parts": [
242242
{
@@ -270,7 +270,7 @@
270270
}
271271
},
272272
"author": "phone_recommender",
273-
"branch": "phone_recommender@1",
273+
"branch": "phone_recommender@fc-1",
274274
"content": {
275275
"parts": [
276276
{
@@ -295,7 +295,7 @@
295295
},
296296
{
297297
"author": "phone_recommender",
298-
"branch": "phone_recommender@1",
298+
"branch": "phone_recommender@fc-1",
299299
"content": {
300300
"parts": [
301301
{

contributing/samples/multi_agent/single_turn_sub_agent/tests/go.json

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -110,7 +110,7 @@
110110
},
111111
{
112112
"author": "phone_recommender",
113-
"branch": "phone_recommender@1",
113+
"branch": "phone_recommender@fc-1",
114114
"content": {
115115
"parts": [
116116
{
@@ -144,7 +144,7 @@
144144
},
145145
{
146146
"author": "phone_recommender",
147-
"branch": "phone_recommender@1",
147+
"branch": "phone_recommender@fc-1",
148148
"content": {
149149
"parts": [
150150
{
@@ -176,7 +176,7 @@
176176
},
177177
{
178178
"author": "phone_recommender",
179-
"branch": "phone_recommender@1",
179+
"branch": "phone_recommender@fc-1",
180180
"content": {
181181
"parts": [
182182
{
@@ -219,7 +219,7 @@
219219
},
220220
{
221221
"author": "phone_recommender",
222-
"branch": "phone_recommender@1",
222+
"branch": "phone_recommender@fc-1",
223223
"content": {
224224
"parts": [
225225
{
@@ -260,7 +260,7 @@
260260
},
261261
{
262262
"author": "phone_recommender",
263-
"branch": "phone_recommender@1",
263+
"branch": "phone_recommender@fc-1",
264264
"content": {
265265
"parts": [
266266
{
@@ -294,7 +294,7 @@
294294
}
295295
},
296296
"author": "phone_recommender",
297-
"branch": "phone_recommender@1",
297+
"branch": "phone_recommender@fc-1",
298298
"content": {
299299
"parts": [
300300
{
@@ -319,7 +319,7 @@
319319
},
320320
{
321321
"author": "phone_recommender",
322-
"branch": "phone_recommender@1",
322+
"branch": "phone_recommender@fc-1",
323323
"content": {
324324
"parts": [
325325
{

src/google/adk/tools/agent_tool.py

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -361,9 +361,18 @@ async def run_async(
361361
else:
362362
node_input = args.get('request')
363363

364+
# Align subagent branch scoping with node execution (Node as Tool) using function_call_id.
365+
fc_id = tool_context.function_call_id
366+
base_branch = tool_context.get_invocation_context().branch
367+
segment = f'{self.agent.name}@{fc_id}'
368+
tool_branch = f'{base_branch}.{segment}' if base_branch else segment
369+
364370
try:
365371
return await tool_context.run_node(
366-
self.agent, node_input=node_input, use_sub_branch=True
372+
self.agent,
373+
node_input=node_input,
374+
override_branch=tool_branch,
375+
use_sub_branch=False,
367376
)
368377
except Exception as e:
369378
return f'Error running sub-agent: {e}'

0 commit comments

Comments
 (0)