atproto_client/
lib.rs

1//! AT Protocol HTTP client with authentication support.
2//!
3//! HTTP client for AT Protocol services supporting DPoP, bearer tokens, and sessions
4//! with native XRPC protocol operations and repository management.
5//! - **`url`**: URL construction and validation utilities for AT Protocol endpoints
6//! - **`com::atproto::repo`**: Repository operations for record management
7//! - **`com::atproto::server`**: Server operations for authentication and session management
8//! - **`errors`**: Structured error types for HTTP and authentication failures
9//!
10//! ## Command-Line Tools
11//!
12//! When built with the `clap` feature, provides XRPC client tools:
13//!
14//! - **`atproto-client-dpop`**: Make authenticated XRPC calls using DPoP (Demonstration of Proof-of-Possession) tokens
15//! - **`atproto-client-auth`**: Create and refresh authentication sessions with AT Protocol services
16//! - **`atproto-client-app-password`**: Make authenticated XRPC calls using application-specific Bearer tokens
17
18#![forbid(unsafe_code)]
19#![warn(missing_docs)]
20
21pub mod client;
22pub mod errors;
23
24mod com_atproto_identity;
25mod com_atproto_repo;
26mod com_atproto_server;
27
28/// AT Protocol namespace modules.
29pub mod com {
30    /// AT Protocol core modules.
31    pub mod atproto {
32        /// Repository operations for AT Protocol records.
33        pub mod repo {
34            pub use crate::com_atproto_repo::*;
35        }
36        /// Server operations for AT Protocol authentication and session management.
37        pub mod server {
38            pub use crate::com_atproto_server::*;
39        }
40
41        /// Identity operations for AT Protocol handle and DID resolution.
42        pub mod identity {
43            pub use crate::com_atproto_identity::*;
44        }
45    }
46}