diff --git a/crates/assistant2/src/thread.rs b/crates/assistant2/src/thread.rs index 7eeb13f8726e42f8239dd8086c04d2e83a9df0c3..e9869f4f226106819065b72199445f2d42bd0619 100644 --- a/crates/assistant2/src/thread.rs +++ b/crates/assistant2/src/thread.rs @@ -518,7 +518,7 @@ impl Thread { match output { Ok(output) => { tool_results.push(LanguageModelToolResult { - tool_use_id: tool_use_id.to_string(), + tool_use_id: tool_use_id.clone(), content: output, is_error: false, }); @@ -527,7 +527,7 @@ impl Thread { } Err(err) => { tool_results.push(LanguageModelToolResult { - tool_use_id: tool_use_id.to_string(), + tool_use_id: tool_use_id.clone(), content: err.to_string(), is_error: true, }); diff --git a/crates/language_model/src/request.rs b/crates/language_model/src/request.rs index 5f11ddffd68a7d1a7bc283c170373ca69b836618..ccc15af9521be8bbee99b641dcfa3b6b141c3cc3 100644 --- a/crates/language_model/src/request.rs +++ b/crates/language_model/src/request.rs @@ -1,7 +1,7 @@ use std::io::{Cursor, Write}; use crate::role::Role; -use crate::LanguageModelToolUse; +use crate::{LanguageModelToolUse, LanguageModelToolUseId}; use base64::write::EncoderWriter; use gpui::{ point, size, App, AppContext as _, DevicePixels, Image, ObjectFit, RenderImage, Size, Task, @@ -165,7 +165,7 @@ impl LanguageModelImage { #[derive(Debug, Clone, Serialize, Deserialize, Eq, PartialEq, Hash)] pub struct LanguageModelToolResult { - pub tool_use_id: String, + pub tool_use_id: LanguageModelToolUseId, pub is_error: bool, pub content: String, } diff --git a/crates/language_models/src/provider/anthropic.rs b/crates/language_models/src/provider/anthropic.rs index 3076e4a6171b873fbde9516904d3ba5e273b29a2..aa1ccfe1ace2e3907b1142a365e11972888a483b 100644 --- a/crates/language_models/src/provider/anthropic.rs +++ b/crates/language_models/src/provider/anthropic.rs @@ -513,7 +513,7 @@ pub fn into_anthropic( } MessageContent::ToolResult(tool_result) => { Some(anthropic::RequestContent::ToolResult { - tool_use_id: tool_result.tool_use_id, + tool_use_id: tool_result.tool_use_id.to_string(), is_error: tool_result.is_error, content: tool_result.content, cache_control,