From 03e9f4b14011d3d1d1ff5cf9d056bfaa894ebd75 Mon Sep 17 00:00:00 2001 From: Ettore Di Giacinto Date: Fri, 14 Nov 2025 17:23:56 +0100 Subject: [PATCH] fix: handle tool errors (#7271) Signed-off-by: Ettore Di Giacinto --- backend/cpp/llama-cpp/grpc-server.cpp | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/backend/cpp/llama-cpp/grpc-server.cpp b/backend/cpp/llama-cpp/grpc-server.cpp index 72ed1b09b..a26d995a4 100644 --- a/backend/cpp/llama-cpp/grpc-server.cpp +++ b/backend/cpp/llama-cpp/grpc-server.cpp @@ -621,6 +621,11 @@ public: content_val = msg.content(); } + // If content is an object (e.g., from tool call failures), convert to string + if (content_val.is_object()) { + content_val = content_val.dump(); + } + // If content is a string and this is the last user message with images/audio, combine them if (content_val.is_string() && is_last_user_msg && has_images_or_audio) { json content_array = json::array(); @@ -1046,6 +1051,11 @@ public: content_val = msg.content(); } + // If content is an object (e.g., from tool call failures), convert to string + if (content_val.is_object()) { + content_val = content_val.dump(); + } + // If content is a string and this is the last user message with images/audio, combine them if (content_val.is_string() && is_last_user_msg && has_images_or_audio) { json content_array = json::array();