oas-document 1.1.1

OAS Identity Document types and validation for the Open Agent Specification
Documentation
//! # oas-document
//!
//! OAS Identity Document types and validation for the Open Agent Specification.
//!
//! This crate provides the [`OasDocument`] type for representing, constructing,
//! and validating OAS Identity Documents as defined in OAS Specification §5.
//!
//! ## Key Types
//!
//! - [`OasDocument`] — The core identity document
//! - [`DocumentBuilder`](builder::DocumentBuilder) — Ergonomic document construction
//! - [`DocumentProof`](proof_format::DocumentProof) — Ed25519Signature2020 proofs
//! - [`LineageSection`](lineage_section::LineageSection) — Lineage chain data
//! - [`ConformanceLevel`](conformance::ConformanceLevel) — L0/L1/L2 conformance
//! - [`LifecycleStatus`](lifecycle::LifecycleStatus) — Entity lifecycle states
//!
//! ## Example
//!
//! ```
//! use oas_document::builder::DocumentBuilder;
//! use oas_document::conformance::ConformanceLevel;
//! use oas_crypto::keypair::OasKeyPair;
//!
//! let keypair = OasKeyPair::generate();
//! let doc = DocumentBuilder::new("did:oas:test:hmr:alice", "hmr")
//!     .controller("did:oas:test:hmr:alice")
//!     .conformance_level(ConformanceLevel::L1)
//!     .add_verification_method(&keypair)
//!     .name("Alice")
//!     .build_and_sign(&keypair, "2026-01-15T00:00:00Z")
//!     .unwrap();
//!
//! assert_eq!(doc.kind, "hmr");
//! assert!(doc.proof.is_some());
//! ```

pub mod builder;
pub mod calendar;
pub mod compliance;
pub mod conformance;
pub mod contact;
pub mod document;
pub mod error;
pub mod governance;
pub mod interop;
pub mod lifecycle;
pub mod lineage_section;
pub mod operational;
pub mod pricing;
pub mod profile;
pub mod proof_format;
pub mod relationships;
pub mod reputation;
pub mod service;
pub mod verification_method;
pub mod visibility;

pub use document::OasDocument;
pub use error::DocumentError;
pub use governance::{
    GovernancePolicy, GovernanceSection, GovernanceTransition, GovernanceTransitionProof,
};