llm/credential.rs
1use serde::{Deserialize, Serialize};
2
3/// Credential for an LLM provider (e.g., Anthropic, `OpenRouter`)
4#[derive(Debug, Clone, Serialize, Deserialize)]
5#[serde(tag = "type", rename_all = "lowercase")]
6pub enum ProviderCredential {
7 ApiKey { key: String },
8}
9
10impl ProviderCredential {
11 pub fn api_key(key: &str) -> Self {
12 Self::ApiKey { key: key.to_string() }
13 }
14}