Skip to main content

oxicode_catalog/catalog/
mod.rs

1//! Built-in provider catalog loader.
2//!
3//! All provider and model data is dynamically sourced from [models.dev](https://models.dev).
4//! See the [`mod@materialize`] module for the conversion pipeline.
5//!
6//! # Layered design
7//!
8//! ```text
9//! 1. SNAP — embedded models.dev snapshot (compile-time `include_bytes!`)
10//! 2. LIVE — runtime cache (~/.oxicode/cache/) with ETag conditional GET
11//! 3. Layer 2 — user override (~/.oxicode/catalog/overrides.toml)
12//! 4. LOCAL — runtime /v1/models discovery for local servers
13//! ```
14//!
15//! See `data/catalog/README.md` for the full architecture and attribution.
16
17pub mod materialize;
18pub mod model;
19pub mod models_dev;
20pub mod override_;
21pub mod provider;
22pub mod runtime;
23
24pub use materialize::{ProductMeta, materialize, materialize_providers, snapshot_gzip_bytes};
25pub use model::BuiltinModelEntry;
26pub use models_dev::{MdCatalog, get as models_dev_get, init_models_dev, protocol_for, refresh};
27pub use override_::{
28    OverrideFile, apply_model_overrides, apply_provider_overrides, find_override_files,
29    load_overrides,
30};
31pub use provider::{
32    AuthMethod, BuiltinProviderEntry, builtin_model_count, builtin_providers_count,
33    load_builtin_models, load_builtin_providers,
34};
35pub use runtime::{discover_all, discover_all_authenticated, discover_all_local, discover_models};