use crate::config::AppConfig; use crate::error::AppResult; impl AppConfig { pub fn channel_ai_provider_api_key(&self) -> AppResult> { self.get_env::("APP_CHANNEL_AI_PROVIDER_API_KEY") } pub fn channel_ai_provider_url(&self) -> AppResult> { self.get_env::("APP_CHANNEL_AI_PROVIDER_URL") } pub fn channel_ai_provider_model(&self) -> AppResult { self.get_env_or("APP_CHANNEL_AI_PROVIDER_MODEL", "gpt-4o".to_string()) } pub fn channel_ai_provider_temperature(&self) -> AppResult { self.get_env_or("APP_CHANNEL_AI_PROVIDER_TEMPERATURE", 0.7) } pub fn channel_ai_provider_max_tokens(&self) -> AppResult { self.get_env_or("APP_CHANNEL_AI_PROVIDER_MAX_TOKENS", 4096) } pub fn channel_ai_provider_top_p(&self) -> AppResult { self.get_env_or("APP_CHANNEL_AI_PROVIDER_TOP_P", 1.0) } pub fn channel_ai_provider_timeout(&self) -> AppResult { self.get_env_or("APP_CHANNEL_AI_PROVIDER_TIMEOUT", 60) } }