atproto_identity/lib.rs
1//! # atproto-identity
2//!
3//! A comprehensive Rust library for AT Protocol identity management providing DID resolution,
4//! handle resolution, and identity document management across multiple DID methods.
5//!
6//! ## Core Modules
7//!
8//! - [`resolve`] - Core resolution logic for handles and DIDs with DNS/HTTP resolution
9//! - [`plc`] - PLC directory client for `did:plc` resolution
10//! - [`web`] - Web DID client for `did:web` resolution and URL conversion
11//! - [`model`] - Data structures for DID documents and AT Protocol entities
12//! - [`validation`] - Input validation for handles and DIDs
13//! - [`config`] - Configuration management and environment variable handling
14//! - [`errors`] - Structured error types following project conventions
15//! - [`key`] - Cryptographic key operations for P-256 and K-256 curves
16//! - [`storage`] - DID document storage abstraction for CRUD operations
17//! - [`storage_lru`] - LRU-based implementation of DID document storage (requires `lru` feature)
18//!
19//! ## Usage
20//!
21//! This library supports both programmatic usage and CLI tooling for identity resolution
22//! across the AT Protocol ecosystem.
23//!
24
25#![warn(missing_docs)]
26
27pub mod config;
28pub mod errors;
29pub mod key;
30pub mod model;
31pub mod plc;
32pub mod resolve;
33pub mod storage;
34#[cfg(feature = "lru")]
35pub mod storage_lru;
36pub mod validation;
37pub mod web;
38
39#[cfg(feature = "axum")]
40pub mod axum;