//! Dynamic model discovery from remote sources.
//!
//! Fetches model listings from [models.dev](https://github.com/anomalyco/models.dev),
//! Ollama instances, and OpenAI-compatible endpoints. Results are cached locally.

/// Client for the models.dev model catalog API.
pub mod models_dev;
/// Client for discovering models from a running Ollama instance.
pub mod ollama;
/// Client for discovering models from any OpenAI-compatible endpoint.
pub mod openai_compat;
/// Async trait abstraction over model discovery sources.
#[cfg(feature = "discovery-async")]
pub mod source;

pub use models_dev::{
    ModelEntry, ModelLimits, ModelsDevPayload, fetch, fetch_and_cache, fetch_from, load_cache,
};
pub use ollama::fetch_ollama_models;
pub use openai_compat::fetch_openai_compatible_models;
#[cfg(feature = "discovery-async")]
pub use source::{DiscoverySource, ModelsDevSource};
