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::{
25    ProductMeta, materialize, materialize_providers, product_meta_toml, snapshot_gzip_bytes,
26};
27pub use model::BuiltinModelEntry;
28pub use models_dev::{MdCatalog, get as models_dev_get, init_models_dev, protocol_for, refresh};
29pub use override_::{
30    OverrideFile, apply_model_overrides, apply_provider_overrides, find_override_files,
31    load_overrides,
32};
33pub use provider::{
34    AuthMethod, BuiltinProviderEntry, builtin_model_count, builtin_providers_count,
35    load_builtin_models, load_builtin_providers,
36};
37pub use runtime::{discover_all, discover_all_authenticated, discover_all_local, discover_models};