//! Content-addressed blob store (L1) for the ontoref verifiable substrate.
//!
//! Stores arbitrary byte sequences on the local filesystem under their
//! blake3 hash. Operations are idempotent (a second put of the same bytes
//! is a no-op) and crash-safe (no torn writes thanks to tempfile + atomic
//! rename); on read, the stored content is verified against the requested
//! hash so silent disk corruption surfaces as `Error::Corrupt`.

#![forbid(unsafe_code)]
#![warn(missing_docs)]

pub mod backend;
pub mod error;
#[cfg(feature = "oci")]
pub mod oci;
#[cfg(feature = "s3")]
pub mod s3;
pub mod store;

pub use backend::BlobBackend;
pub use error::{Error, Result};
pub use store::{BlobId, LocalFilesystemBlobs};

/// Backwards-compatible alias for the previous default backend name.
///
/// The struct was renamed to [`LocalFilesystemBlobs`] when the
/// [`BlobBackend`] trait was extracted (D23). Existing call sites
/// continue to work without modification.
pub type BlobStore = LocalFilesystemBlobs;
