From b2dcd55d95f2593b8435030292bf9701093402a8 Mon Sep 17 00:00:00 2001 From: Bartosz Taudul Date: Sun, 25 Jan 2026 00:35:18 +0100 Subject: [PATCH] Better handling of error responses. --- profiler/src/profiler/TracyLlm.cpp | 25 +++++++++++++++++-------- 1 file changed, 17 insertions(+), 8 deletions(-) diff --git a/profiler/src/profiler/TracyLlm.cpp b/profiler/src/profiler/TracyLlm.cpp index fbfbb88c..ccb73cdb 100644 --- a/profiler/src/profiler/TracyLlm.cpp +++ b/profiler/src/profiler/TracyLlm.cpp @@ -1026,17 +1026,26 @@ bool TracyLlm::OnResponse( const nlohmann::json& json ) bool done = false; try { - auto& choices = json["choices"]; - if( !choices.empty() ) + if( json.contains( "choices" ) ) { - auto& node = choices[0]; - auto& delta = node["delta"]; + auto& choices = json["choices"]; + if( !choices.empty() ) + { + auto& node = choices[0]; + auto& delta = node["delta"]; - AppendResponse( "content", delta ); - AppendResponse( "reasoning_content", delta ); - AppendResponse( "tool_calls", delta ); + AppendResponse( "content", delta ); + AppendResponse( "reasoning_content", delta ); + AppendResponse( "tool_calls", delta ); - done = !node["finish_reason"].empty(); + done = !node["finish_reason"].empty(); + } + } + else if( json.contains( "error" ) ) + { + AddMessage( json["error"].dump( 2 ), "error" ); + m_focusInput = true; + return false; } } catch( const nlohmann::json::exception& e )