use serde::{Deserialize, Serialize};
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct ModelSpec {
#[serde(alias = "providerID", alias = "providerId")]
pub provider_id: String,
#[serde(alias = "modelID", alias = "modelId")]
pub model_id: String,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct ModelInfo {
pub id: String,
pub provider_id: String,
pub display_name: String,
pub context_window: usize,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct ProviderInfo {
pub id: String,
pub name: String,
#[serde(default)]
pub models: Vec<ModelInfo>,
}