winbrew_models\shared/
mod.rs

1//! Foundational types shared across every model family.
2//!
3//! This module owns the low-level contracts that do not belong to a specific
4//! package, catalog, install, or reporting concept. Keep the types here small,
5//! strongly typed, and dependency-light because many higher-level records use
6//! them transitively.
7//!
8//! The most important sub-areas are:
9//!
10//! - `config`: configuration sections and value provenance
11//! - `error`: the canonical `ModelError` used by parse and validation code
12//! - `deployment`: deployment outcome metadata shared by install and reporting code
13//! - `hash`: checksum algorithm metadata and legacy algorithm detection
14//! - `identifiers`: strongly typed package/catalog identifiers
15//! - `validation`: the shared `Validate` trait and helper functions
16//! - `version`: semver-backed version parsing and normalization
17
18pub mod config;
19pub mod deployment;
20pub mod error;
21pub mod hash;
22pub mod identifiers;
23pub mod validation;
24pub mod version;
25
26pub use config::{ConfigSection, ConfigValue, ConfigValueSource};
27pub use deployment::DeploymentKind;
28pub use error::ModelError;
29pub use hash::HashAlgorithm;
30pub use identifiers::{BucketName, CatalogId, PackageName};
31pub use validation::Validate;
32pub use version::Version;