mirror of
https://github.com/aaif-goose/goose.git
synced 2026-07-03 14:10:03 +02:00
Enable runtime access to provider name (#5399)
This commit is contained in:
@@ -309,6 +309,10 @@ mod tests {
|
||||
crate::providers::base::ProviderMetadata::empty()
|
||||
}
|
||||
|
||||
fn get_name(&self) -> &str {
|
||||
"mock"
|
||||
}
|
||||
|
||||
fn get_model_config(&self) -> ModelConfig {
|
||||
self.model_config.clone()
|
||||
}
|
||||
|
||||
@@ -43,6 +43,7 @@ pub struct AnthropicProvider {
|
||||
api_client: ApiClient,
|
||||
model: ModelConfig,
|
||||
supports_streaming: bool,
|
||||
name: String,
|
||||
}
|
||||
|
||||
impl AnthropicProvider {
|
||||
@@ -67,6 +68,7 @@ impl AnthropicProvider {
|
||||
api_client,
|
||||
model,
|
||||
supports_streaming: true,
|
||||
name: Self::metadata().name,
|
||||
})
|
||||
}
|
||||
|
||||
@@ -91,6 +93,7 @@ impl AnthropicProvider {
|
||||
api_client,
|
||||
model,
|
||||
supports_streaming: config.supports_streaming.unwrap_or(true),
|
||||
name: config.name.clone(),
|
||||
})
|
||||
}
|
||||
|
||||
@@ -176,6 +179,10 @@ impl Provider for AnthropicProvider {
|
||||
)
|
||||
}
|
||||
|
||||
fn get_name(&self) -> &str {
|
||||
&self.name
|
||||
}
|
||||
|
||||
fn get_model_config(&self) -> ModelConfig {
|
||||
self.model.clone()
|
||||
}
|
||||
|
||||
@@ -27,6 +27,7 @@ pub struct AzureProvider {
|
||||
deployment_name: String,
|
||||
api_version: String,
|
||||
model: ModelConfig,
|
||||
name: String,
|
||||
}
|
||||
|
||||
impl Serialize for AzureProvider {
|
||||
@@ -94,6 +95,7 @@ impl AzureProvider {
|
||||
deployment_name,
|
||||
api_version,
|
||||
model,
|
||||
name: Self::metadata().name,
|
||||
})
|
||||
}
|
||||
|
||||
@@ -128,6 +130,10 @@ impl Provider for AzureProvider {
|
||||
)
|
||||
}
|
||||
|
||||
fn get_name(&self) -> &str {
|
||||
&self.name
|
||||
}
|
||||
|
||||
fn get_model_config(&self) -> ModelConfig {
|
||||
self.model.clone()
|
||||
}
|
||||
|
||||
@@ -325,6 +325,9 @@ pub trait Provider: Send + Sync {
|
||||
where
|
||||
Self: Sized;
|
||||
|
||||
/// Get the name of this provider instance
|
||||
fn get_name(&self) -> &str;
|
||||
|
||||
// Internal implementation of complete, used by complete_fast and complete
|
||||
// Providers should override this to implement their actual completion logic
|
||||
async fn complete_with_model(
|
||||
|
||||
@@ -42,6 +42,8 @@ pub struct BedrockProvider {
|
||||
model: ModelConfig,
|
||||
#[serde(skip)]
|
||||
retry_config: RetryConfig,
|
||||
#[serde(skip)]
|
||||
name: String,
|
||||
}
|
||||
|
||||
impl BedrockProvider {
|
||||
@@ -78,6 +80,7 @@ impl BedrockProvider {
|
||||
client,
|
||||
model,
|
||||
retry_config,
|
||||
name: Self::metadata().name,
|
||||
})
|
||||
}
|
||||
|
||||
@@ -184,6 +187,10 @@ impl Provider for BedrockProvider {
|
||||
)
|
||||
}
|
||||
|
||||
fn get_name(&self) -> &str {
|
||||
&self.name
|
||||
}
|
||||
|
||||
fn retry_config(&self) -> RetryConfig {
|
||||
self.retry_config.clone()
|
||||
}
|
||||
|
||||
@@ -24,6 +24,8 @@ pub const CLAUDE_CODE_DOC_URL: &str = "https://claude.ai/cli";
|
||||
pub struct ClaudeCodeProvider {
|
||||
command: String,
|
||||
model: ModelConfig,
|
||||
#[serde(skip)]
|
||||
name: String,
|
||||
}
|
||||
|
||||
impl ClaudeCodeProvider {
|
||||
@@ -42,6 +44,7 @@ impl ClaudeCodeProvider {
|
||||
Ok(Self {
|
||||
command: resolved_command,
|
||||
model,
|
||||
name: Self::metadata().name,
|
||||
})
|
||||
}
|
||||
|
||||
@@ -463,6 +466,10 @@ impl Provider for ClaudeCodeProvider {
|
||||
)
|
||||
}
|
||||
|
||||
fn get_name(&self) -> &str {
|
||||
&self.name
|
||||
}
|
||||
|
||||
fn get_model_config(&self) -> ModelConfig {
|
||||
// Return the model config with appropriate context limit for Claude models
|
||||
self.model.clone()
|
||||
|
||||
@@ -23,6 +23,8 @@ pub const CURSOR_AGENT_DOC_URL: &str = "https://docs.cursor.com/en/cli/overview"
|
||||
pub struct CursorAgentProvider {
|
||||
command: String,
|
||||
model: ModelConfig,
|
||||
#[serde(skip)]
|
||||
name: String,
|
||||
}
|
||||
|
||||
impl CursorAgentProvider {
|
||||
@@ -41,6 +43,7 @@ impl CursorAgentProvider {
|
||||
Ok(Self {
|
||||
command: resolved_command,
|
||||
model,
|
||||
name: Self::metadata().name,
|
||||
})
|
||||
}
|
||||
|
||||
@@ -395,6 +398,10 @@ impl Provider for CursorAgentProvider {
|
||||
)
|
||||
}
|
||||
|
||||
fn get_name(&self) -> &str {
|
||||
&self.name
|
||||
}
|
||||
|
||||
fn get_model_config(&self) -> ModelConfig {
|
||||
// Return the model config with appropriate context limit for Cursor models
|
||||
self.model.clone()
|
||||
|
||||
@@ -106,6 +106,8 @@ pub struct DatabricksProvider {
|
||||
image_format: ImageFormat,
|
||||
#[serde(skip)]
|
||||
retry_config: RetryConfig,
|
||||
#[serde(skip)]
|
||||
name: String,
|
||||
}
|
||||
|
||||
impl DatabricksProvider {
|
||||
@@ -146,6 +148,7 @@ impl DatabricksProvider {
|
||||
model: model.clone(),
|
||||
image_format: ImageFormat::OpenAi,
|
||||
retry_config,
|
||||
name: Self::metadata().name,
|
||||
};
|
||||
|
||||
// Check if the default fast model exists in the workspace
|
||||
@@ -222,6 +225,7 @@ impl DatabricksProvider {
|
||||
model,
|
||||
image_format: ImageFormat::OpenAi,
|
||||
retry_config: RetryConfig::default(),
|
||||
name: Self::metadata().name,
|
||||
})
|
||||
}
|
||||
|
||||
@@ -260,6 +264,10 @@ impl Provider for DatabricksProvider {
|
||||
)
|
||||
}
|
||||
|
||||
fn get_name(&self) -> &str {
|
||||
&self.name
|
||||
}
|
||||
|
||||
fn retry_config(&self) -> RetryConfig {
|
||||
self.retry_config.clone()
|
||||
}
|
||||
|
||||
@@ -76,6 +76,8 @@ pub struct GcpVertexAIProvider {
|
||||
/// Retry configuration for handling rate limit errors
|
||||
#[serde(skip)]
|
||||
retry_config: RetryConfig,
|
||||
#[serde(skip)]
|
||||
name: String,
|
||||
}
|
||||
|
||||
impl GcpVertexAIProvider {
|
||||
@@ -109,6 +111,7 @@ impl GcpVertexAIProvider {
|
||||
location,
|
||||
model,
|
||||
retry_config,
|
||||
name: Self::metadata().name,
|
||||
})
|
||||
}
|
||||
|
||||
@@ -494,6 +497,10 @@ impl Provider for GcpVertexAIProvider {
|
||||
)
|
||||
}
|
||||
|
||||
fn get_name(&self) -> &str {
|
||||
&self.name
|
||||
}
|
||||
|
||||
/// Completes a model interaction by sending a request and processing the response.
|
||||
///
|
||||
/// # Arguments
|
||||
|
||||
@@ -24,6 +24,8 @@ pub const GEMINI_CLI_DOC_URL: &str = "https://ai.google.dev/gemini-api/docs";
|
||||
pub struct GeminiCliProvider {
|
||||
command: String,
|
||||
model: ModelConfig,
|
||||
#[serde(skip)]
|
||||
name: String,
|
||||
}
|
||||
|
||||
impl GeminiCliProvider {
|
||||
@@ -42,6 +44,7 @@ impl GeminiCliProvider {
|
||||
Ok(Self {
|
||||
command: resolved_command,
|
||||
model,
|
||||
name: Self::metadata().name,
|
||||
})
|
||||
}
|
||||
|
||||
@@ -311,6 +314,10 @@ impl Provider for GeminiCliProvider {
|
||||
)
|
||||
}
|
||||
|
||||
fn get_name(&self) -> &str {
|
||||
&self.name
|
||||
}
|
||||
|
||||
fn get_model_config(&self) -> ModelConfig {
|
||||
// Return the model config with appropriate context limit for Gemini models
|
||||
self.model.clone()
|
||||
|
||||
@@ -113,6 +113,8 @@ pub struct GithubCopilotProvider {
|
||||
#[serde(skip)]
|
||||
mu: tokio::sync::Mutex<RefCell<Option<CopilotState>>>,
|
||||
model: ModelConfig,
|
||||
#[serde(skip)]
|
||||
name: String,
|
||||
}
|
||||
|
||||
impl GithubCopilotProvider {
|
||||
@@ -127,6 +129,7 @@ impl GithubCopilotProvider {
|
||||
cache,
|
||||
mu,
|
||||
model,
|
||||
name: Self::metadata().name,
|
||||
})
|
||||
}
|
||||
|
||||
@@ -392,6 +395,10 @@ impl Provider for GithubCopilotProvider {
|
||||
)
|
||||
}
|
||||
|
||||
fn get_name(&self) -> &str {
|
||||
&self.name
|
||||
}
|
||||
|
||||
fn get_model_config(&self) -> ModelConfig {
|
||||
self.model.clone()
|
||||
}
|
||||
|
||||
@@ -39,6 +39,8 @@ pub struct GoogleProvider {
|
||||
#[serde(skip)]
|
||||
api_client: ApiClient,
|
||||
model: ModelConfig,
|
||||
#[serde(skip)]
|
||||
name: String,
|
||||
}
|
||||
|
||||
impl GoogleProvider {
|
||||
@@ -59,7 +61,11 @@ impl GoogleProvider {
|
||||
let api_client =
|
||||
ApiClient::new(host, auth)?.with_header("Content-Type", "application/json")?;
|
||||
|
||||
Ok(Self { api_client, model })
|
||||
Ok(Self {
|
||||
api_client,
|
||||
model,
|
||||
name: Self::metadata().name,
|
||||
})
|
||||
}
|
||||
|
||||
async fn post(&self, model_name: &str, payload: &Value) -> Result<Value, ProviderError> {
|
||||
@@ -86,6 +92,10 @@ impl Provider for GoogleProvider {
|
||||
)
|
||||
}
|
||||
|
||||
fn get_name(&self) -> &str {
|
||||
&self.name
|
||||
}
|
||||
|
||||
fn get_model_config(&self) -> ModelConfig {
|
||||
self.model.clone()
|
||||
}
|
||||
|
||||
@@ -320,6 +320,11 @@ impl Provider for LeadWorkerProvider {
|
||||
)
|
||||
}
|
||||
|
||||
fn get_name(&self) -> &str {
|
||||
// Return the lead provider's name as the default
|
||||
self.lead_provider.get_name()
|
||||
}
|
||||
|
||||
fn get_model_config(&self) -> ModelConfig {
|
||||
// Return the lead provider's model config as the default
|
||||
// In practice, this might need to be more sophisticated
|
||||
@@ -472,6 +477,10 @@ mod tests {
|
||||
ProviderMetadata::empty()
|
||||
}
|
||||
|
||||
fn get_name(&self) -> &str {
|
||||
"mock-lead"
|
||||
}
|
||||
|
||||
fn get_model_config(&self) -> ModelConfig {
|
||||
self.model_config.clone()
|
||||
}
|
||||
@@ -634,6 +643,10 @@ mod tests {
|
||||
ProviderMetadata::empty()
|
||||
}
|
||||
|
||||
fn get_name(&self) -> &str {
|
||||
"mock-lead"
|
||||
}
|
||||
|
||||
fn get_model_config(&self) -> ModelConfig {
|
||||
self.model_config.clone()
|
||||
}
|
||||
|
||||
@@ -23,6 +23,8 @@ pub struct LiteLLMProvider {
|
||||
api_client: ApiClient,
|
||||
base_path: String,
|
||||
model: ModelConfig,
|
||||
#[serde(skip)]
|
||||
name: String,
|
||||
}
|
||||
|
||||
impl LiteLLMProvider {
|
||||
@@ -67,6 +69,7 @@ impl LiteLLMProvider {
|
||||
api_client,
|
||||
base_path,
|
||||
model,
|
||||
name: Self::metadata().name,
|
||||
})
|
||||
}
|
||||
|
||||
@@ -154,6 +157,10 @@ impl Provider for LiteLLMProvider {
|
||||
)
|
||||
}
|
||||
|
||||
fn get_name(&self) -> &str {
|
||||
&self.name
|
||||
}
|
||||
|
||||
fn get_model_config(&self) -> ModelConfig {
|
||||
self.model.clone()
|
||||
}
|
||||
|
||||
@@ -47,6 +47,7 @@ pub struct OllamaProvider {
|
||||
api_client: ApiClient,
|
||||
model: ModelConfig,
|
||||
supports_streaming: bool,
|
||||
name: String,
|
||||
}
|
||||
|
||||
impl OllamaProvider {
|
||||
@@ -92,6 +93,7 @@ impl OllamaProvider {
|
||||
api_client,
|
||||
model,
|
||||
supports_streaming: true,
|
||||
name: Self::metadata().name,
|
||||
})
|
||||
}
|
||||
|
||||
@@ -131,6 +133,7 @@ impl OllamaProvider {
|
||||
api_client,
|
||||
model,
|
||||
supports_streaming: config.supports_streaming.unwrap_or(true),
|
||||
name: config.name.clone(),
|
||||
})
|
||||
}
|
||||
|
||||
@@ -176,6 +179,10 @@ impl Provider for OllamaProvider {
|
||||
)
|
||||
}
|
||||
|
||||
fn get_name(&self) -> &str {
|
||||
&self.name
|
||||
}
|
||||
|
||||
fn get_model_config(&self) -> ModelConfig {
|
||||
self.model.clone()
|
||||
}
|
||||
|
||||
@@ -54,6 +54,7 @@ pub struct OpenAiProvider {
|
||||
model: ModelConfig,
|
||||
custom_headers: Option<HashMap<String, String>>,
|
||||
supports_streaming: bool,
|
||||
name: String,
|
||||
}
|
||||
|
||||
impl OpenAiProvider {
|
||||
@@ -107,6 +108,7 @@ impl OpenAiProvider {
|
||||
model,
|
||||
custom_headers,
|
||||
supports_streaming: true,
|
||||
name: Self::metadata().name,
|
||||
})
|
||||
}
|
||||
|
||||
@@ -163,6 +165,7 @@ impl OpenAiProvider {
|
||||
model,
|
||||
custom_headers: config.headers,
|
||||
supports_streaming: config.supports_streaming.unwrap_or(true),
|
||||
name: config.name.clone(),
|
||||
})
|
||||
}
|
||||
|
||||
@@ -201,6 +204,10 @@ impl Provider for OpenAiProvider {
|
||||
)
|
||||
}
|
||||
|
||||
fn get_name(&self) -> &str {
|
||||
&self.name
|
||||
}
|
||||
|
||||
fn get_model_config(&self) -> ModelConfig {
|
||||
self.model.clone()
|
||||
}
|
||||
|
||||
@@ -40,6 +40,8 @@ pub struct OpenRouterProvider {
|
||||
#[serde(skip)]
|
||||
api_client: ApiClient,
|
||||
model: ModelConfig,
|
||||
#[serde(skip)]
|
||||
name: String,
|
||||
}
|
||||
|
||||
impl OpenRouterProvider {
|
||||
@@ -57,7 +59,11 @@ impl OpenRouterProvider {
|
||||
.with_header("HTTP-Referer", "https://block.github.io/goose")?
|
||||
.with_header("X-Title", "goose")?;
|
||||
|
||||
Ok(Self { api_client, model })
|
||||
Ok(Self {
|
||||
api_client,
|
||||
model,
|
||||
name: Self::metadata().name,
|
||||
})
|
||||
}
|
||||
|
||||
async fn post(&self, payload: &Value) -> Result<Value, ProviderError> {
|
||||
@@ -242,6 +248,10 @@ impl Provider for OpenRouterProvider {
|
||||
)
|
||||
}
|
||||
|
||||
fn get_name(&self) -> &str {
|
||||
&self.name
|
||||
}
|
||||
|
||||
fn get_model_config(&self) -> ModelConfig {
|
||||
self.model.clone()
|
||||
}
|
||||
|
||||
@@ -30,6 +30,8 @@ pub struct SageMakerTgiProvider {
|
||||
sagemaker_client: SageMakerClient,
|
||||
endpoint_name: String,
|
||||
model: ModelConfig,
|
||||
#[serde(skip)]
|
||||
name: String,
|
||||
}
|
||||
|
||||
impl SageMakerTgiProvider {
|
||||
@@ -79,6 +81,7 @@ impl SageMakerTgiProvider {
|
||||
sagemaker_client,
|
||||
endpoint_name,
|
||||
model,
|
||||
name: Self::metadata().name,
|
||||
})
|
||||
}
|
||||
|
||||
@@ -272,6 +275,10 @@ impl Provider for SageMakerTgiProvider {
|
||||
)
|
||||
}
|
||||
|
||||
fn get_name(&self) -> &str {
|
||||
&self.name
|
||||
}
|
||||
|
||||
fn get_model_config(&self) -> ModelConfig {
|
||||
self.model.clone()
|
||||
}
|
||||
|
||||
@@ -48,6 +48,8 @@ pub struct SnowflakeProvider {
|
||||
api_client: ApiClient,
|
||||
model: ModelConfig,
|
||||
image_format: ImageFormat,
|
||||
#[serde(skip)]
|
||||
name: String,
|
||||
}
|
||||
|
||||
impl SnowflakeProvider {
|
||||
@@ -101,6 +103,7 @@ impl SnowflakeProvider {
|
||||
api_client,
|
||||
model,
|
||||
image_format: ImageFormat::OpenAi,
|
||||
name: Self::metadata().name,
|
||||
})
|
||||
}
|
||||
|
||||
@@ -302,6 +305,10 @@ impl Provider for SnowflakeProvider {
|
||||
)
|
||||
}
|
||||
|
||||
fn get_name(&self) -> &str {
|
||||
&self.name
|
||||
}
|
||||
|
||||
fn get_model_config(&self) -> ModelConfig {
|
||||
self.model.clone()
|
||||
}
|
||||
|
||||
@@ -36,6 +36,7 @@ pub struct TestProvider {
|
||||
inner: Option<Arc<dyn Provider>>,
|
||||
records: Arc<Mutex<HashMap<String, TestRecord>>>,
|
||||
file_path: String,
|
||||
name: String,
|
||||
}
|
||||
|
||||
impl TestProvider {
|
||||
@@ -44,6 +45,7 @@ impl TestProvider {
|
||||
inner: Some(inner),
|
||||
records: Arc::new(Mutex::new(HashMap::new())),
|
||||
file_path: file_path.into(),
|
||||
name: Self::metadata().name,
|
||||
}
|
||||
}
|
||||
|
||||
@@ -55,6 +57,7 @@ impl TestProvider {
|
||||
inner: None,
|
||||
records: Arc::new(Mutex::new(records)),
|
||||
file_path,
|
||||
name: Self::metadata().name,
|
||||
})
|
||||
}
|
||||
|
||||
@@ -112,6 +115,10 @@ impl Provider for TestProvider {
|
||||
)
|
||||
}
|
||||
|
||||
fn get_name(&self) -> &str {
|
||||
&self.name
|
||||
}
|
||||
|
||||
async fn complete_with_model(
|
||||
&self,
|
||||
_model_config: &ModelConfig,
|
||||
@@ -189,6 +196,10 @@ mod tests {
|
||||
)
|
||||
}
|
||||
|
||||
fn get_name(&self) -> &str {
|
||||
"mock-testprovider"
|
||||
}
|
||||
|
||||
async fn complete_with_model(
|
||||
&self,
|
||||
_model_config: &ModelConfig,
|
||||
|
||||
@@ -46,6 +46,8 @@ pub struct TetrateProvider {
|
||||
api_client: ApiClient,
|
||||
model: ModelConfig,
|
||||
supports_streaming: bool,
|
||||
#[serde(skip)]
|
||||
name: String,
|
||||
}
|
||||
|
||||
impl TetrateProvider {
|
||||
@@ -66,6 +68,7 @@ impl TetrateProvider {
|
||||
api_client,
|
||||
model,
|
||||
supports_streaming: true,
|
||||
name: Self::metadata().name,
|
||||
})
|
||||
}
|
||||
|
||||
@@ -150,6 +153,10 @@ impl Provider for TetrateProvider {
|
||||
)
|
||||
}
|
||||
|
||||
fn get_name(&self) -> &str {
|
||||
&self.name
|
||||
}
|
||||
|
||||
fn get_model_config(&self) -> ModelConfig {
|
||||
self.model.clone()
|
||||
}
|
||||
|
||||
@@ -78,6 +78,8 @@ pub struct VeniceProvider {
|
||||
base_path: String,
|
||||
models_path: String,
|
||||
model: ModelConfig,
|
||||
#[serde(skip)]
|
||||
name: String,
|
||||
}
|
||||
|
||||
impl VeniceProvider {
|
||||
@@ -105,6 +107,7 @@ impl VeniceProvider {
|
||||
base_path,
|
||||
models_path,
|
||||
model,
|
||||
name: Self::metadata().name,
|
||||
};
|
||||
|
||||
Ok(instance)
|
||||
@@ -210,6 +213,10 @@ impl Provider for VeniceProvider {
|
||||
)
|
||||
}
|
||||
|
||||
fn get_name(&self) -> &str {
|
||||
&self.name
|
||||
}
|
||||
|
||||
fn get_model_config(&self) -> ModelConfig {
|
||||
self.model.clone()
|
||||
}
|
||||
|
||||
@@ -42,6 +42,8 @@ pub struct XaiProvider {
|
||||
#[serde(skip)]
|
||||
api_client: ApiClient,
|
||||
model: ModelConfig,
|
||||
#[serde(skip)]
|
||||
name: String,
|
||||
}
|
||||
|
||||
impl XaiProvider {
|
||||
@@ -55,7 +57,11 @@ impl XaiProvider {
|
||||
let auth = AuthMethod::BearerToken(api_key);
|
||||
let api_client = ApiClient::new(host, auth)?;
|
||||
|
||||
Ok(Self { api_client, model })
|
||||
Ok(Self {
|
||||
api_client,
|
||||
model,
|
||||
name: Self::metadata().name,
|
||||
})
|
||||
}
|
||||
|
||||
async fn post(&self, payload: Value) -> Result<Value, ProviderError> {
|
||||
@@ -87,6 +93,10 @@ impl Provider for XaiProvider {
|
||||
)
|
||||
}
|
||||
|
||||
fn get_name(&self) -> &str {
|
||||
&self.name
|
||||
}
|
||||
|
||||
fn get_model_config(&self) -> ModelConfig {
|
||||
self.model.clone()
|
||||
}
|
||||
|
||||
@@ -1361,6 +1361,10 @@ mod tests {
|
||||
)
|
||||
}
|
||||
|
||||
fn get_name(&self) -> &str {
|
||||
"mock-scheduler"
|
||||
}
|
||||
|
||||
fn get_model_config(&self) -> ModelConfig {
|
||||
self.model_config.clone()
|
||||
}
|
||||
|
||||
@@ -557,6 +557,10 @@ mod final_output_tool_tests {
|
||||
goose::providers::base::ProviderMetadata::empty()
|
||||
}
|
||||
|
||||
fn get_name(&self) -> &str {
|
||||
"mock-test"
|
||||
}
|
||||
|
||||
fn get_model_config(&self) -> ModelConfig {
|
||||
self.model_config.clone()
|
||||
}
|
||||
@@ -672,6 +676,10 @@ mod final_output_tool_tests {
|
||||
goose::providers::base::ProviderMetadata::empty()
|
||||
}
|
||||
|
||||
fn get_name(&self) -> &str {
|
||||
"mock-test"
|
||||
}
|
||||
|
||||
fn get_model_config(&self) -> ModelConfig {
|
||||
self.model_config.clone()
|
||||
}
|
||||
@@ -858,6 +866,10 @@ mod retry_tests {
|
||||
goose::providers::base::ProviderMetadata::empty()
|
||||
}
|
||||
|
||||
fn get_name(&self) -> &str {
|
||||
"mock-test"
|
||||
}
|
||||
|
||||
fn get_model_config(&self) -> ModelConfig {
|
||||
self.model_config.clone()
|
||||
}
|
||||
@@ -1080,6 +1092,10 @@ mod max_turns_tests {
|
||||
config_keys: vec![],
|
||||
}
|
||||
}
|
||||
|
||||
fn get_name(&self) -> &str {
|
||||
"mock-test"
|
||||
}
|
||||
}
|
||||
|
||||
#[tokio::test]
|
||||
|
||||
Reference in New Issue
Block a user