Skip to main content

vtcode_llm/
provider_config_types.rs

1//! Core provider configuration type.
2
3use std::path::PathBuf;
4use vtcode_config::TimeoutsConfig;
5use vtcode_config::auth::CopilotAuthConfig;
6use vtcode_config::auth::OpenAIChatGptAuthHandle;
7use vtcode_config::core::{AnthropicConfig, ModelConfig, OpenAIConfig, PromptCachingConfig};
8
9#[derive(Debug, Clone)]
10pub struct ProviderConfig {
11    pub api_key: Option<String>,
12    pub openai_chatgpt_auth: Option<OpenAIChatGptAuthHandle>,
13    pub copilot_auth: Option<CopilotAuthConfig>,
14    pub base_url: Option<String>,
15    pub model: Option<String>,
16    pub prompt_cache: Option<PromptCachingConfig>,
17    pub timeouts: Option<TimeoutsConfig>,
18    pub openai: Option<OpenAIConfig>,
19    pub anthropic: Option<AnthropicConfig>,
20    pub model_behavior: Option<ModelConfig>,
21    pub workspace_root: Option<PathBuf>,
22}