diff --git a/src/tools/cron.rs b/src/tools/cron.rs index 792e64e..e180870 100644 --- a/src/tools/cron.rs +++ b/src/tools/cron.rs @@ -131,7 +131,19 @@ impl Tool for CronAddTool { let name = args .get("name") .and_then(|v| v.as_str()) - .unwrap_or(&prompt[..prompt.len().min(50)]) + .unwrap_or_else(|| { + // char-boundary-safe truncation to 50 bytes + let limit = 50; + if prompt.len() <= limit { + prompt.as_str() + } else { + let mut end = limit; + while !prompt.is_char_boundary(end) { + end -= 1; + } + &prompt[..end] + } + }) .to_string(); let model = args .get("model")