pub mod cache;
pub mod error;
pub mod models_dev;
pub mod provider_api;
pub use error::{DiscoveryError, Result};
#[derive(Debug, Clone, serde::Serialize, serde::Deserialize)]
pub struct DiscoveredModel {
pub id: String,
pub name: String,
pub provider_id: String,
pub context_length: Option<u64>,
pub max_output_tokens: Option<u64>,
pub input_cost_per_million: Option<f64>,
pub output_cost_per_million: Option<f64>,
}
#[derive(Debug, Clone, serde::Serialize, serde::Deserialize)]
pub struct DiscoveredProvider {
pub id: String,
pub name: String,
pub models: Vec<DiscoveredModel>,
}