@@ -151,14 +151,18 @@ async def wrapper(
151151 logger .debug (
152152 f"Function response: { function_response } { event_metadata } "
153153 )
154- elif (
155- event .content is not None
156- and event .content .parts
157- and event .content .parts [0 ].text is not None
158- and len (event .content .parts [0 ].text .strip ()) > 0
159- ):
160- final_output = event .content .parts [0 ].text
161- logger .debug (f"Event output: { final_output } { event_metadata } " )
154+ elif event .content is not None and event .content .parts :
155+ for part in event .content .parts :
156+ if len (part .text .strip ()) > 0 :
157+ final_output = part .text
158+ if part .thought :
159+ logger .debug (
160+ f"Thinking output: { final_output } { event_metadata } "
161+ )
162+ else :
163+ logger .debug (
164+ f"Event output: { final_output } { event_metadata } "
165+ )
162166
163167 post_run_process (self )
164168
@@ -502,13 +506,11 @@ async def event_generator():
502506 yield event
503507
504508 async for event in event_generator ():
505- if (
506- event .content is not None
507- and event .content .parts
508- and event .content .parts [0 ].text is not None
509- and len (event .content .parts [0 ].text .strip ()) > 0
510- ):
511- final_output = event .content .parts [0 ].text
509+ if event .content is not None and event .content .parts :
510+ for part in event .content .parts :
511+ if not part .thought and len (part .text .strip ()) > 0 :
512+ final_output = part .text
513+ break
512514 except LlmCallsLimitExceededError as e :
513515 logger .warning (f"Max number of llm calls limit exceeded: { e } " )
514516 final_output = ""
0 commit comments