Skip to content

Commit c122214

Browse files
committed
fix(a2a): respect auto_create_session flag in A2A executor session preparation
1 parent 5c6f6fe commit c122214

2 files changed

Lines changed: 11 additions & 36 deletions

File tree

src/google/adk/a2a/executor/a2a_agent_executor.py

Lines changed: 4 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -328,25 +328,11 @@ async def _prepare_session(
328328
run_request: AgentRunRequest,
329329
runner: Runner,
330330
):
331-
332-
session_id = run_request.session_id
333-
# create a new session if not exists
334-
user_id = run_request.user_id
335-
session = await runner.session_service.get_session(
336-
app_name=runner.app_name,
337-
user_id=user_id,
338-
session_id=session_id,
331+
session = await runner._get_or_create_session(
332+
user_id=run_request.user_id,
333+
session_id=run_request.session_id,
339334
)
340-
if session is None:
341-
session = await runner.session_service.create_session(
342-
app_name=runner.app_name,
343-
user_id=user_id,
344-
state={},
345-
session_id=session_id,
346-
)
347-
# Update run_request with the new session_id
348-
run_request.session_id = session.id
349-
335+
run_request.session_id = session.id
350336
return session
351337

352338
def _check_new_version_extension(self, context: RequestContext):

src/google/adk/a2a/executor/a2a_agent_executor_impl.py

Lines changed: 7 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -281,25 +281,14 @@ async def _resolve_session(
281281
run_request: AgentRunRequest,
282282
runner: Runner,
283283
):
284-
session_id = run_request.session_id
285-
# create a new session if not exists
286-
user_id = run_request.user_id
287-
session = await runner.session_service.get_session(
288-
app_name=runner.app_name,
289-
user_id=user_id,
290-
session_id=session_id,
291-
# Checking existence doesn't require event history.
292-
config=base_session_service.GetSessionConfig(num_recent_events=0),
284+
session = await runner._get_or_create_session(
285+
user_id=run_request.user_id,
286+
session_id=run_request.session_id,
287+
get_session_config=base_session_service.GetSessionConfig(
288+
num_recent_events=0
289+
),
293290
)
294-
if session is None:
295-
session = await runner.session_service.create_session(
296-
app_name=runner.app_name,
297-
user_id=user_id,
298-
state={},
299-
session_id=session_id,
300-
)
301-
# Update run_request with the new session_id
302-
run_request.session_id = session.id
291+
run_request.session_id = session.id
303292

304293
def _get_invocation_metadata(
305294
self, executor_context: ExecutorContext

0 commit comments

Comments
 (0)