Skip to main content

oxicode_catalog/
lib.rs

1//! oxicode-catalog: model catalog — single source of truth for model data,
2//! identity, and provider descriptors.
3//!
4//! This crate is the Rust port of omp's `@oh-my-pi/pi-catalog` package.
5//! It owns:
6//! - the [`Api`] enum (the wire-format / protocol dialect a model speaks),
7//! - the layered model catalog (SNAP embedded snapshot -> LIVE runtime cache ->
8//!   user overrides -> LOCAL server discovery),
9//! - provider descriptors (metadata + discovery).
10//!
11//! `oxicode-ai` consumes these types; the dependency direction is one-way
12//! (`oxicode-ai -> oxicode-catalog`), mirroring omp's strict
13//! `pi-catalog` / `pi-ai` package separation.
14
15pub mod api;
16pub mod catalog;
17pub mod product_env;
18pub use api::Api;
19// Re-export the catalog's public API at the crate root for ergonomic access
20// (`oxicode_catalog::materialize`, `oxicode_catalog::BuiltinProviderEntry`, ...).
21// The `catalog` module path (`oxicode_catalog::catalog::...`) also remains valid so
22// `oxicode-ai` can re-export it for backward compatibility.
23pub use catalog::*;