From bf72426af2bfd5c2e21c410005842e48b773deb3 Mon Sep 17 00:00:00 2001 From: Google Team Member Date: Tue, 29 Jul 2025 10:40:38 -0700 Subject: [PATCH] fix: runner was expecting Event object instead of Content object when using early exist feature PiperOrigin-RevId: 788516645 --- src/google/adk/runners.py | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) diff --git a/src/google/adk/runners.py b/src/google/adk/runners.py index d459bb9d..c6cd0eef 100644 --- a/src/google/adk/runners.py +++ b/src/google/adk/runners.py @@ -258,16 +258,17 @@ class Runner: early_exit_result = await plugin_manager.run_before_run_callback( invocation_context=invocation_context ) - if isinstance(early_exit_result, Event): + if isinstance(early_exit_result, types.Content): + early_exit_event = Event( + invocation_id=invocation_context.invocation_id, + author='model', + content=early_exit_result, + ) await self.session_service.append_event( session=session, - event=Event( - invocation_id=invocation_context.invocation_id, - author='model', - content=early_exit_result, - ), + event=early_exit_event, ) - yield early_exit_result + yield early_exit_event else: # Step 2: Otherwise continue with normal execution async for event in execute_fn(invocation_context):