From c7abf844eaceb9e83e82b89125d39ad3853fafd5 Mon Sep 17 00:00:00 2001 From: narawat Date: Sun, 16 Aug 2026 20:14:54 +0700 Subject: [PATCH] update --- src/agentCore.jl | 16 +++++++++++----- 1 file changed, 11 insertions(+), 5 deletions(-) diff --git a/src/agentCore.jl b/src/agentCore.jl index 399b19a..58670f6 100644 --- a/src/agentCore.jl +++ b/src/agentCore.jl @@ -228,11 +228,17 @@ function _agentLoop(agent::yiemAgent) result = nothing # reset else # _processMessage() done and no followUp message. agent.agentEventSink("_agentLoop 4 agent._state.messages length $(length(agent._state.messages))") - result = agent._state.messages[end] - filtered_content = [c for c in result.content if !(c isa reasoningContent)] - put!(agent.outputChannel, result) - if !isempty(filtered_content) && filtered_content[1] isa textContent - agent.agentEventSink(filtered_content[1].text) + result = deepcopy(agent._state.messages[end]) + + # filter out reasoningContent in-place + filter!(c -> !(c isa reasoningContent), result.content) + + # format output + respondToUI = _assistantMessageToOpenAI(result) + + put!(agent.outputChannel, respondToUI) + if !isempty(result.content) && result.content[1] isa textContent + agent.agentEventSink(result.content[1].text) end processingTask = nothing # reset result = nothing # reset