//! Trusted catalog content manifests. //! //! Manifest JSON is a reproducible transport for catalog-publisher output. The //! content identity is derived from the versioned binary transcript in //! [`encoding`], never from JSON formatting. Sealed manifests deliberately do //! not implement [`serde::Deserialize`]; untrusted bytes must pass through the //! bounded canonical loader [`CatalogContentManifest::from_json_slice`]. #![allow(clippy::missing_errors_doc)] mod bundle; mod digest; mod encoding; mod index; mod model; mod path; mod store; pub use bundle::CatalogBundle; pub use digest::{Blake3Digest, ContentId}; pub use index::{ CATALOG_CONTENT_INDEX_NAME, CATALOG_CONTENT_INDEX_SCHEMA_VERSION, CatalogContentIdentity, CatalogContentIndex, CatalogContentIndexEntry, MAX_CATALOG_CONTENT_INDEX_BYTES, }; pub use model::{ CATALOG_CHUNK_SIZE, CATALOG_CONTENT_MANIFEST_SCHEMA_VERSION, CatalogContentManifest, CatalogContentManifestBody, CatalogEntryKind, CatalogExtractedEntry, CatalogFileEntry, MAX_CATALOG_COMPONENT_BYTES, MAX_CATALOG_ENTRIES, MAX_CATALOG_FILE_BYTES, MAX_CATALOG_MANIFEST_BYTES, MAX_CATALOG_PATH_BYTES, MAX_CATALOG_TOTAL_BYTES, }; pub use path::{CanonicalCatalogPath, validate_portable_component}; pub use store::{ CATALOG_PUBLICATION_MARKER_NAME, CatalogManifestStore, reject_incomplete_catalog_publication, write_canonical_content_index_atomic, write_canonical_manifest_atomic, };