Skip to main content

cookie_agent_models/catalog/
mod.rs

1//! Fixed models.dev acquisition, cache schema 2, bootstrap, and structural validation.
2
3mod bootstrap;
4mod cache;
5mod manager;
6mod parser;
7mod records;
8mod transport;
9
10pub use bootstrap::{
11    MODELS_DEV_BOOTSTRAP, MODELS_DEV_BOOTSTRAP_BYTES, MODELS_DEV_BOOTSTRAP_COMMIT,
12    MODELS_DEV_BOOTSTRAP_SHA256, MODELS_DEV_BOOTSTRAP_SOURCE,
13};
14pub use cache::{
15    CATALOG_BODY_FILE, CATALOG_CACHE_SCHEMA_VERSION, CATALOG_LOCK_FILE, CATALOG_META_FILE,
16    CatalogCacheMeta,
17};
18pub use manager::{CatalogError, CatalogManager};
19pub use records::{
20    CanonicalModelProvenance, CanonicalModelRecord, CatalogAgeState, CatalogAvailability,
21    CatalogInterleaved, CatalogLimits, CatalogModalities, CatalogModelCost, CatalogModelCostRates,
22    CatalogModelCostTier, CatalogModelEntry, CatalogModelProviderMetadata, CatalogModelRecord,
23    CatalogModelStatus, CatalogProviderEntry, CatalogProviderRecord, CatalogQuarantineEntry,
24    CatalogQuarantineReason, CatalogReasoningOption, CatalogRuntimeState, CatalogSafeErrorMeta,
25    CatalogSnapshot, CatalogSource, PicoUsdPerMillion,
26};
27pub use transport::{
28    CatalogBodyStream, CatalogRequest, CatalogTransport, CatalogTransportError,
29    CatalogTransportFuture, CatalogTransportResponse, HttpCatalogTransport, MODELS_DEV_USER_AGENT,
30};
31
32pub const MODELS_DEV_CATALOG_URL: &str = "https://models.dev/catalog.json";
33pub const CATALOG_MAX_BYTES: usize = 16 * 1024 * 1024;
34
35pub(crate) use bootstrap::validated_bootstrap;
36pub(crate) use parser::{ParsedCatalog, parse_cache_meta, parse_catalog};