1/// Identity resolution for atProto. 2/// 3/// This module provides the core identity resolution functionality for atProto, 4/// enabling decentralized identity through handle and DID resolution. 5/// 6/// ## Key Components 7/// 8/// - **IdentityResolver**: Main interface for resolving handles/DIDs to identity info 9/// - **HandleResolver**: Resolves atProto handles (e.g., "alice.bsky.social") to DIDs 10/// - **DidResolver**: Resolves DIDs to DID documents 11/// - **DidDocument**: Represents a DID document with services and handles 12/// 13/// ## Why This Matters for Decentralization 14/// 15/// This is the **most important module for atProto decentralization**. It enables: 16/// 1. Users to host their data on any PDS, not just bsky.social 17/// 2. Custom domain handles (e.g., "alice.example.com") 18/// 3. Portable identity (change PDS without losing identity) 19/// 20/// ## Usage 21/// 22/// ```dart 23/// // Create a resolver 24/// final resolver = AtprotoIdentityResolver.withDefaults( 25/// handleResolverUrl: 'https://bsky.social', 26/// ); 27/// 28/// // Resolve a handle to find their PDS 29/// final pdsUrl = await resolver.resolveToPds('alice.bsky.social'); 30/// print('Alice\'s PDS: $pdsUrl'); 31/// 32/// // Get full identity info 33/// final info = await resolver.resolve('alice.bsky.social'); 34/// print('DID: ${info.did}'); 35/// print('Handle: ${info.handle}'); 36/// print('PDS: ${info.pdsUrl}'); 37/// ``` 38library; 39 40export 'constants.dart'; 41export 'did_document.dart'; 42export 'did_helpers.dart'; 43export 'did_resolver.dart'; 44export 'handle_helpers.dart'; 45export 'handle_resolver.dart'; 46export 'identity_resolver.dart'; 47export 'identity_resolver_error.dart';