diff --git a/crates/anthropic/src/anthropic.rs b/crates/anthropic/src/anthropic.rs index 2b1d7be47465708f191fac000b44e345ff67338f..dd5a801936f79becf458a63e8dcf0f6dd17939ec 100644 --- a/crates/anthropic/src/anthropic.rs +++ b/crates/anthropic/src/anthropic.rs @@ -33,15 +33,6 @@ pub enum AnthropicModelMode { #[cfg_attr(feature = "schemars", derive(schemars::JsonSchema))] #[derive(Clone, Debug, Default, Serialize, Deserialize, PartialEq, EnumIter)] pub enum Model { - #[serde(rename = "claude-3-5-sonnet", alias = "claude-3-5-sonnet-latest")] - Claude3_5Sonnet, - #[serde(rename = "claude-3-7-sonnet", alias = "claude-3-7-sonnet-latest")] - Claude3_7Sonnet, - #[serde( - rename = "claude-3-7-sonnet-thinking", - alias = "claude-3-7-sonnet-thinking-latest" - )] - Claude3_7SonnetThinking, #[serde(rename = "claude-opus-4", alias = "claude-opus-4-latest")] ClaudeOpus4, #[serde( @@ -57,6 +48,15 @@ pub enum Model { alias = "claude-sonnet-4-thinking-latest" )] ClaudeSonnet4Thinking, + #[serde(rename = "claude-3-7-sonnet", alias = "claude-3-7-sonnet-latest")] + Claude3_7Sonnet, + #[serde( + rename = "claude-3-7-sonnet-thinking", + alias = "claude-3-7-sonnet-thinking-latest" + )] + Claude3_7SonnetThinking, + #[serde(rename = "claude-3-5-sonnet", alias = "claude-3-5-sonnet-latest")] + Claude3_5Sonnet, #[serde(rename = "claude-3-5-haiku", alias = "claude-3-5-haiku-latest")] Claude3_5Haiku, #[serde(rename = "claude-3-opus", alias = "claude-3-opus-latest")] @@ -230,15 +230,15 @@ impl Model { pub fn max_output_tokens(&self) -> u32 { match self { - Self::Claude3Opus | Self::Claude3Sonnet | Self::Claude3Haiku => 4_096, - Self::Claude3_5Sonnet - | Self::Claude3_7Sonnet - | Self::Claude3_7SonnetThinking - | Self::Claude3_5Haiku - | Self::ClaudeOpus4 + Self::ClaudeOpus4 | Self::ClaudeOpus4Thinking | Self::ClaudeSonnet4 - | Self::ClaudeSonnet4Thinking => 8_192, + | Self::ClaudeSonnet4Thinking + | Self::Claude3_5Sonnet + | Self::Claude3_7Sonnet + | Self::Claude3_7SonnetThinking + | Self::Claude3_5Haiku => 8_192, + Self::Claude3Opus | Self::Claude3Sonnet | Self::Claude3Haiku => 4_096, Self::Custom { max_output_tokens, .. } => max_output_tokens.unwrap_or(4_096), @@ -267,17 +267,17 @@ impl Model { pub fn mode(&self) -> AnthropicModelMode { match self { - Self::Claude3_5Sonnet + Self::ClaudeOpus4 + | Self::ClaudeSonnet4 + | Self::Claude3_5Sonnet | Self::Claude3_7Sonnet | Self::Claude3_5Haiku - | Self::ClaudeOpus4 - | Self::ClaudeSonnet4 | Self::Claude3Opus | Self::Claude3Sonnet | Self::Claude3Haiku => AnthropicModelMode::Default, - Self::Claude3_7SonnetThinking - | Self::ClaudeOpus4Thinking - | Self::ClaudeSonnet4Thinking => AnthropicModelMode::Thinking { + Self::ClaudeOpus4Thinking + | Self::ClaudeSonnet4Thinking + | Self::Claude3_7SonnetThinking => AnthropicModelMode::Thinking { budget_tokens: Some(4_096), }, Self::Custom { mode, .. } => mode.clone(), @@ -288,7 +288,7 @@ impl Model { pub fn beta_headers(&self) -> String { let mut headers = Self::DEFAULT_BETA_HEADERS - .into_iter() + .iter() .map(|header| header.to_string()) .collect::>();