Skip to main content

cookie_agent_models/catalog/
cache.rs

1use jiff::Timestamp;
2use serde::{Deserialize, Serialize};
3
4use super::{CatalogSafeErrorMeta, CatalogSource};
5
6pub const CATALOG_CACHE_SCHEMA_VERSION: u32 = 2;
7pub const CATALOG_BODY_FILE: &str = "models-dev-v2.json";
8pub const CATALOG_META_FILE: &str = "models-dev-v2.meta.json";
9pub const CATALOG_LOCK_FILE: &str = "models-dev-v2.lock";
10
11/// Exact cache metadata for the current schema.
12#[derive(Clone, Debug, Deserialize, Eq, PartialEq, Serialize)]
13#[serde(deny_unknown_fields)]
14pub struct CatalogCacheMeta {
15    pub schema_version: u32,
16    pub url: String,
17    pub body_revision: String,
18    pub etag: Option<String>,
19    pub byte_length: u64,
20    pub validated_at: Timestamp,
21    pub last_checked_at: Timestamp,
22    pub selected_source: CatalogSource,
23    pub stale: bool,
24    pub last_error: Option<CatalogSafeErrorMeta>,
25}