diff --git a/libs/agent/chat/service.rs b/libs/agent/chat/service.rs index 3316fa7..2ae3d6d 100644 --- a/libs/agent/chat/service.rs +++ b/libs/agent/chat/service.rs @@ -791,7 +791,13 @@ impl ChatService { crate::tool::ToolResult::Error(msg) => msg.clone(), }; let preview = if text.len() > 300 { - format!("{}...", &text[..300]) + let end = text + .char_indices() + .map(|(i, _)| i) + .take_while(|&i| i <= 300) + .last() + .unwrap_or(300); + format!("{}...", &text[..end]) } else { text.clone() };