use crate::models::common::{AiFeature, AiModelType, Modality, PricingUnit, Provider}; use chrono::{DateTime, Utc}; use serde::{Deserialize, Serialize}; use uuid::Uuid; #[derive(Debug, Clone, PartialEq, Eq, Serialize, Deserialize, sqlx::FromRow)] pub struct AiModel { pub id: Uuid, pub provider: Provider, pub model_id: String, pub name: String, pub description: Option, pub model_type: AiModelType, pub family: Option, pub version: Option, pub context_window: Option, pub max_output_tokens: Option, pub input_modalities: Vec, pub output_modalities: Vec, pub supported_features: Vec, pub pricing_unit: Option, pub input_price_per_unit: Option, pub output_price_per_unit: Option, pub enabled: bool, pub deprecated: bool, pub released_at: Option>, pub created_at: DateTime, pub updated_at: DateTime, pub deleted_at: Option>, }