Ok, well, that got out of hand (#3718)
Co-authored-by: Douwe Osinga <douwe@squareup.com> Co-authored-by: Michael Neale <michael.neale@gmail.com>
This commit is contained in:
@@ -11,6 +11,7 @@ use super::base::{ConfigKey, Provider, ProviderMetadata, ProviderUsage, Usage};
|
||||
use super::errors::ProviderError;
|
||||
use super::utils::emit_debug_trace;
|
||||
use crate::config::Config;
|
||||
use crate::impl_provider_default;
|
||||
use crate::message::{Message, MessageContent};
|
||||
use crate::model::ModelConfig;
|
||||
use rmcp::model::Tool;
|
||||
@@ -26,12 +27,7 @@ pub struct ClaudeCodeProvider {
|
||||
model: ModelConfig,
|
||||
}
|
||||
|
||||
impl Default for ClaudeCodeProvider {
|
||||
fn default() -> Self {
|
||||
let model = ModelConfig::new(ClaudeCodeProvider::metadata().default_model);
|
||||
ClaudeCodeProvider::from_env(model).expect("Failed to initialize Claude Code provider")
|
||||
}
|
||||
}
|
||||
impl_provider_default!(ClaudeCodeProvider);
|
||||
|
||||
impl ClaudeCodeProvider {
|
||||
pub fn from_env(model: ModelConfig) -> Result<Self> {
|
||||
@@ -520,6 +516,7 @@ impl Provider for ClaudeCodeProvider {
|
||||
|
||||
#[cfg(test)]
|
||||
mod tests {
|
||||
use super::ModelConfig;
|
||||
use super::*;
|
||||
|
||||
#[test]
|
||||
@@ -547,7 +544,7 @@ mod tests {
|
||||
#[test]
|
||||
fn test_claude_code_invalid_model_no_fallback() {
|
||||
// Test that an invalid model is kept as-is (no fallback)
|
||||
let invalid_model = ModelConfig::new("invalid-model".to_string());
|
||||
let invalid_model = ModelConfig::new_or_fail("invalid-model");
|
||||
let provider = ClaudeCodeProvider::from_env(invalid_model).unwrap();
|
||||
let config = provider.get_model_config();
|
||||
|
||||
@@ -557,7 +554,7 @@ mod tests {
|
||||
#[test]
|
||||
fn test_claude_code_valid_model() {
|
||||
// Test that a valid model is preserved
|
||||
let valid_model = ModelConfig::new("sonnet".to_string());
|
||||
let valid_model = ModelConfig::new_or_fail("sonnet");
|
||||
let provider = ClaudeCodeProvider::from_env(valid_model).unwrap();
|
||||
let config = provider.get_model_config();
|
||||
|
||||
|
||||
Reference in New Issue
Block a user