···27272828use crate::client::credential_session::{CredentialSession, SessionKey};
29293030-pub(crate) const NSID_REFRESH_SESSION: &str = "com.atproto.server.refreshSession";
3131-3232-/// Basic client wrapper: reqwest transport + in-memory session store.
3333-pub struct BasicClient(); //AtClient<reqwest::Client, MemorySessionStore<Did<'static>, AuthSession>>);
3434-3530/// App password session information from `com.atproto.server.createSession`
3631///
3732/// Contains the access and refresh tokens along with user identity information.
···256251 async move { self.inner.send(request).await }
257252 }
258253}
254254+255255+impl<A: AgentSession> From<A> for Agent<A> {
256256+ fn from(inner: A) -> Self {
257257+ Self::new(inner)
258258+ }
259259+}
260260+261261+/// Alias for an agent over a credential (app‑password) session.
262262+pub type CredentialAgent<S, T> = Agent<CredentialSession<S, T>>;
263263+/// Alias for an agent over an OAuth (DPoP) session.
264264+pub type OAuthAgent<T, S> = Agent<OAuthSession<T, S>>;
265265+266266+/// BasicClient: in-memory store + public resolver over a credential session.
267267+pub type BasicClient = Agent<
268268+ CredentialSession<
269269+ MemorySessionStore<SessionKey, AtpSession>,
270270+ jacquard_identity::PublicResolver,
271271+ >,
272272+>;