Skip to main content

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 error types for all SDK operations.
28pub mod error;
29/// Key import and management operations.
30pub mod keys;
31/// Device pairing orchestration over ephemeral ECDH sessions.
32pub mod pairing;
33/// Platform identity claim creation and verification.
34pub mod platform;
35/// Port traits for external I/O adapters (artifact, git, diagnostics).
36pub mod ports;
37/// HTML and structured report rendering.
38pub mod presentation;
39/// Remote registry publication for public DID discovery.
40pub mod registration;
41/// Return types for SDK workflow functions.
42pub mod result;
43/// Identity provisioning for developer, CI, and agent environments.
44pub mod setup;
45/// Artifact signing pipeline and attestation creation.
46pub mod signing;
47/// Plain-old-data config structs for all SDK workflows.
48pub mod types;
49/// Higher-level identity workflows (rotation, provisioning, auditing).
50pub mod workflows;
51
52/// Test utilities for auths-sdk consumers (behind `test-utils` feature).
53#[cfg(any(test, feature = "test-utils"))]
54pub mod testing;
55
56pub use context::AuthsContext;
57pub use context::EventSink;