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}