atrium_api/agent/session_manager.rs
1use crate::types::string::Did;
2use atrium_xrpc::XrpcClient;
3use std::future::Future;
4
5/// A trait for managing sessions.
6///
7/// [`Agent`](crate::agent::Agent) creation requires an implementation of this `SessionManager`.
8#[cfg_attr(not(target_arch = "wasm32"), trait_variant::make(Send))]
9pub trait SessionManager: XrpcClient {
10 fn did(&self) -> impl Future<Output = Option<Did>>;
11}