fix: messages[x] assistant content must contain at least one part (#4928)

* fix: messages[x] assistant content must contain at least one part

fixes: #4876

* ruff format
This commit is contained in:
Soulter
2026-02-07 00:33:07 +08:00
committed by GitHub
parent d233fb8b1e
commit 4658998b85
@@ -254,6 +254,10 @@ class ToolLoopAgentRunner(BaseAgentRunner[TContext]):
)
if llm_resp.completion_text:
parts.append(TextPart(text=llm_resp.completion_text))
if len(parts) == 0:
logger.warning(
"LLM returned empty assistant message with no tool calls."
)
self.run_context.messages.append(Message(role="assistant", content=parts))
# call the on_agent_done hook
@@ -309,6 +313,8 @@ class ToolLoopAgentRunner(BaseAgentRunner[TContext]):
)
if llm_resp.completion_text:
parts.append(TextPart(text=llm_resp.completion_text))
if len(parts) == 0:
parts = None
tool_calls_result = ToolCallsResult(
tool_calls_info=AssistantMessageSegment(
tool_calls=llm_resp.to_openai_to_calls_model(),