//! SBO3L core: protocol types, request hashing, error model, signed receipts.

pub mod aprp;
pub mod audit;
pub mod audit_bundle;
pub mod decision_token;
pub mod error;
pub mod execution;
pub mod hashing;
pub mod mock_kms;
pub mod passport;
pub mod receipt;
pub mod schema;
pub mod signer;
pub mod signers;
pub mod threshold_sig;
pub mod webhook;
pub mod zk_capsule;

pub mod wasm_types;

#[cfg(target_arch = "wasm32")]
pub mod wasm;

pub use error::{CoreError, Result, SchemaError};

pub const SCHEMA_VERSION: u32 = 1;

pub fn version() -> &'static str {
    env!("CARGO_PKG_VERSION")
}

#[cfg(test)]
mod tests {
    use super::*;

    #[test]
    fn version_is_set() {
        assert!(!version().is_empty());
    }
}
