auths_sdk/lib.rs
1#![warn(clippy::too_many_lines, clippy::cognitive_complexity)]
2#![warn(missing_docs)]
3//! # auths-sdk
4//!
5//! Application services layer for Auths identity operations.
6//!
7//! This crate provides high-level orchestration functions for identity management,
8//! device linking, platform verification, and registry operations. It sits between
9//! the CLI (I/O adapter) and the domain crates (`auths-core`, `auths-id`).
10//!
11//! ## Architecture
12//!
13//! ```text
14//! auths-cli → auths-sdk → auths-core + auths-id
15//! (I/O adapter) (orchestration) (domain)
16//! ```
17//!
18//! SDK functions accept typed configs and return structured `Result` types.
19//! They never prompt for input, print to stdout, or call `process::exit()`.
20
21/// Audit event emission convenience for SDK operations.
22pub mod audit;
23/// Runtime dependency container (`AuthsContext`) for injecting infrastructure adapters.
24pub mod context;
25/// Device linking, revocation, and authorization extension operations.
26pub mod device;
27/// Domain services for specialized business logic.
28pub mod domains;
29/// Domain error types for all SDK operations.
30pub mod error;
31/// Key import and management operations.
32pub mod keys;
33/// Namespace verifier adapter registry mapping ecosystems to implementations.
34pub mod namespace_registry;
35/// OIDC JWT ID (jti) registry for token replay detection.
36pub mod oidc_jti_registry;
37/// Device pairing orchestration over ephemeral ECDH sessions.
38pub mod pairing;
39/// Platform identity claim creation and verification.
40pub mod platform;
41/// Port traits for external I/O adapters (artifact, git, diagnostics).
42pub mod ports;
43/// HTML and structured report rendering.
44pub mod presentation;
45/// Remote registry publication for public DID discovery.
46pub mod registration;
47/// Return types for SDK workflow functions.
48pub mod result;
49/// Identity provisioning for developer, CI, and agent environments.
50pub mod setup;
51/// Artifact signing pipeline and attestation creation.
52pub mod signing;
53/// Plain-old-data config structs for all SDK workflows.
54pub mod types;
55/// Higher-level identity workflows (rotation, provisioning, auditing).
56pub mod workflows;
57
58/// Test utilities for auths-sdk consumers (behind `test-utils` feature).
59#[cfg(any(test, feature = "test-utils"))]
60pub mod testing;
61
62pub use context::AuthsContext;
63pub use context::EventSink;
64
65// Re-export types and errors from domains for ease of access
66pub use domains::auth::error::*;
67pub use domains::compliance::error::*;
68pub use domains::device::error::*;
69pub use domains::device::types::*;
70pub use domains::diagnostics::types::*;
71pub use domains::identity::error::*;
72pub use domains::identity::types::*;
73pub use domains::org::error::*;
74pub use domains::signing::types::*;