Skip to main content

cfgd_core/config/
ai.rs

1use serde::{Deserialize, Serialize};
2
3#[derive(Debug, Clone, Serialize, Deserialize)]
4#[serde(rename_all = "camelCase", deny_unknown_fields)]
5pub struct AiConfig {
6    #[serde(default = "default_ai_provider")]
7    pub provider: String,
8    #[serde(default = "default_ai_model")]
9    pub model: String,
10    #[serde(default = "default_api_key_env")]
11    pub api_key_env: String,
12}
13
14impl Default for AiConfig {
15    fn default() -> Self {
16        Self {
17            provider: default_ai_provider(),
18            model: default_ai_model(),
19            api_key_env: default_api_key_env(),
20        }
21    }
22}
23
24fn default_ai_provider() -> String {
25    "claude".into()
26}
27fn default_ai_model() -> String {
28    "claude-sonnet-4-6".into()
29}
30fn default_api_key_env() -> String {
31    "ANTHROPIC_API_KEY".into()
32}