Fix regression that caused Anthropic custom models to error (#15329)

Antonio Scandurra and Nathan created

/cc: @bennetbo 

Release Notes:

- N/A

Co-authored-by: Nathan <nathan@zed.dev>

Change summary

crates/anthropic/src/anthropic.rs               | 10 +---------
crates/collab/src/rpc.rs                        |  4 +---
crates/completion/src/completion.rs             |  2 +-
crates/language_model/src/provider/anthropic.rs |  2 +-
4 files changed, 4 insertions(+), 14 deletions(-)

Detailed changes

crates/anthropic/src/anthropic.rs 🔗

@@ -100,21 +100,13 @@ impl From<Role> for String {
 
 #[derive(Debug, Serialize)]
 pub struct Request {
-    #[serde(serialize_with = "serialize_request_model")]
-    pub model: Model,
+    pub model: String,
     pub messages: Vec<RequestMessage>,
     pub stream: bool,
     pub system: String,
     pub max_tokens: u32,
 }
 
-fn serialize_request_model<S>(model: &Model, serializer: S) -> Result<S::Ok, S::Error>
-where
-    S: serde::Serializer,
-{
-    serializer.serialize_str(&model.id())
-}
-
 #[derive(Serialize, Deserialize, Debug, Eq, PartialEq)]
 pub struct RequestMessage {
     pub role: Role,

crates/collab/src/rpc.rs 🔗

@@ -4697,8 +4697,6 @@ async fn complete_with_anthropic(
     session: UserSession,
     api_key: Arc<str>,
 ) -> Result<()> {
-    let model = anthropic::Model::from_id(&request.model)?;
-
     let mut system_message = String::new();
     let messages = request
         .messages
@@ -4734,7 +4732,7 @@ async fn complete_with_anthropic(
         anthropic::ANTHROPIC_API_URL,
         &api_key,
         anthropic::Request {
-            model,
+            model: request.model,
             messages,
             stream: true,
             system: system_message,

crates/completion/src/completion.rs 🔗

@@ -27,7 +27,7 @@ pub struct LanguageModelCompletionProvider {
 const MAX_CONCURRENT_COMPLETION_REQUESTS: usize = 4;
 
 pub struct LanguageModelCompletionResponse {
-    pub inner: BoxStream<'static, Result<String>>,
+    inner: BoxStream<'static, Result<String>>,
     _lock: SemaphoreGuardArc,
 }