aex_identity/lib.rs
1//! Identity providers for the Agent Exchange Protocol (AEX).
2//!
3//! Currently shipping:
4//! - [`SpizeNativeProvider`] — Ed25519 keypair + in-memory peer registry.
5//! - [`EtereCitizenProvider`] — `did:ethr` + ECDSA secp256k1 (Ethereum-
6//! compatible wallet signatures). In-memory registry + stub reputation
7//! fetcher; Phase 2 swaps the registry for a Base L2 RPC client with
8//! EtereCitizen's on-chain reputation.
9//! - [`DidKeyProvider`] — `did:key` (Ed25519, self-certifying, offline).
10//! - [`DidWebProvider`] — `did:web` via HTTPS `/.well-known/agent-card.json`
11//! fetched through [`aex_net::safe_http`] + verified as JWS via
12//! [`aex_jws`].
13
14pub mod did_key;
15pub mod did_web;
16pub mod etere_citizen;
17pub mod native;
18pub mod resolver_chain;
19
20pub use did_key::DidKeyProvider;
21pub use did_web::{AgentCardPayload, DidWebProvider, Endpoints, PublicKeyDeclaration};
22pub use etere_citizen::{EtereCitizenProvider, EtereCitizenRegistry, ReputationFetcher};
23pub use native::{PeerRegistry, SpizeNativeProvider};
24pub use resolver_chain::{
25 AgentResolver, ResolveOutcome, ResolvedAgent, ResolverChain, ResolverError, DEFAULT_CAPACITY,
26 DEFAULT_TTL,
27};