From b49f55e1526c8426f60bd753ea3b46ad1c056032 Mon Sep 17 00:00:00 2001 From: "hanzhi.421" Date: Tue, 6 Jan 2026 15:09:49 +0800 Subject: [PATCH 1/2] fix: veadk runner final_output --- veadk/runner.py | 25 +++++++++++-------------- 1 file changed, 11 insertions(+), 14 deletions(-) diff --git a/veadk/runner.py b/veadk/runner.py index 24324005..13e64307 100644 --- a/veadk/runner.py +++ b/veadk/runner.py @@ -151,13 +151,12 @@ async def wrapper( logger.debug( f"Function response: {function_response} {event_metadata}" ) - elif ( - event.content is not None - and event.content.parts - and event.content.parts[0].text is not None - and len(event.content.parts[0].text.strip()) > 0 - ): - final_output = event.content.parts[0].text + elif event.content is not None and event.content.parts: + final_output = "" + for part in event.content.parts: + if not part.thought and len(part.text.strip()) > 0: + final_output = part.text + break logger.debug(f"Event output: {final_output} {event_metadata}") post_run_process(self) @@ -502,13 +501,11 @@ async def event_generator(): yield event async for event in event_generator(): - if ( - event.content is not None - and event.content.parts - and event.content.parts[0].text is not None - and len(event.content.parts[0].text.strip()) > 0 - ): - final_output = event.content.parts[0].text + if event.content is not None and event.content.parts: + for part in event.content.parts: + if not part.thought and len(part.text.strip()) > 0: + final_output = part.text + break except LlmCallsLimitExceededError as e: logger.warning(f"Max number of llm calls limit exceeded: {e}") final_output = "" From a0458d5afc335ca8984f289589fade2853277535 Mon Sep 17 00:00:00 2001 From: "hanzhi.421" Date: Tue, 6 Jan 2026 15:23:58 +0800 Subject: [PATCH 2/2] fix: display thinking --- veadk/runner.py | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/veadk/runner.py b/veadk/runner.py index 13e64307..609449c8 100644 --- a/veadk/runner.py +++ b/veadk/runner.py @@ -152,12 +152,17 @@ async def wrapper( f"Function response: {function_response} {event_metadata}" ) elif event.content is not None and event.content.parts: - final_output = "" for part in event.content.parts: - if not part.thought and len(part.text.strip()) > 0: + if len(part.text.strip()) > 0: final_output = part.text - break - logger.debug(f"Event output: {final_output} {event_metadata}") + if part.thought: + logger.debug( + f"Thinking output: {final_output} {event_metadata}" + ) + else: + logger.debug( + f"Event output: {final_output} {event_metadata}" + ) post_run_process(self)