#![doc = include_str!("../README.md")]
#![deny(missing_docs)]

pub mod audit;
pub mod contracts;
pub mod crypto;
pub mod engine;
pub mod issuance;
pub mod models;
pub mod revocation;

pub use audit::{AuditSink, VecAuditSink};
pub use contracts::{
    KIND_DELEGATION_TOKEN, KIND_REQUEST_ENVELOPE, SPEC_VERSION_CURRENT, validate_request,
    validate_token,
};
pub use crypto::{IssuerKeyResolver, PinnedIssuerKeys, SIGNATURE_ALG_ED25519, sign_token};
pub use engine::{DEFAULT_MAX_ENVELOPE_BYTES, EvaluationConfig, Evaluator};
pub use issuance::{DelegationTokenBuilder, envelope};
pub use models::{
    AuditEvent, Decision, DelegationToken, OperationContext, RequestEnvelope, Violation,
};
pub use revocation::{InMemoryTrustState, TrustStateAdmin, TrustStateError, TrustStateStore};
