pub struct PersistentSessionManager { /* private fields */ }Expand description
Persistent session manager that wraps the inner SessionManager and provides persistence across CLI invocations
Implementations§
Source§impl PersistentSessionManager
impl PersistentSessionManager
Sourcepub async fn create_session_with_config(
&self,
config: SessionConfig,
) -> Result<Arc<AISession>>
pub async fn create_session_with_config( &self, config: SessionConfig, ) -> Result<Arc<AISession>>
Create a new session with config and persist it
Sourcepub async fn get_session(&self, id: &SessionId) -> Option<Arc<AISession>>
pub async fn get_session(&self, id: &SessionId) -> Option<Arc<AISession>>
Get a session by ID, starting it if necessary
Sourcepub async fn list_all_sessions(&self) -> Result<Vec<SessionId>>
pub async fn list_all_sessions(&self) -> Result<Vec<SessionId>>
List all sessions (both active and persisted)
Sourcepub async fn remove_session(&self, id: &SessionId) -> Result<()>
pub async fn remove_session(&self, id: &SessionId) -> Result<()>
Remove a session and delete its persistent data
Sourcepub async fn update_session_state(&self, session: &AISession) -> Result<()>
pub async fn update_session_state(&self, session: &AISession) -> Result<()>
Update session state in persistence
Auto Trait Implementations§
impl Freeze for PersistentSessionManager
impl !RefUnwindSafe for PersistentSessionManager
impl Send for PersistentSessionManager
impl Sync for PersistentSessionManager
impl Unpin for PersistentSessionManager
impl !UnwindSafe for PersistentSessionManager
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Source§impl<T> Downcast for Twhere
T: Any,
impl<T> Downcast for Twhere
T: Any,
Source§fn into_any(self: Box<T>) -> Box<dyn Any>
fn into_any(self: Box<T>) -> Box<dyn Any>
Convert
Box<dyn Trait> (where Trait: Downcast) to Box<dyn Any>. Box<dyn Any> can
then be further downcast into Box<ConcreteType> where ConcreteType implements Trait.Source§fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
Convert
Rc<Trait> (where Trait: Downcast) to Rc<Any>. Rc<Any> can then be
further downcast into Rc<ConcreteType> where ConcreteType implements Trait.Source§fn as_any(&self) -> &(dyn Any + 'static)
fn as_any(&self) -> &(dyn Any + 'static)
Convert
&Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &Any’s vtable from &Trait’s.Source§fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
Convert
&mut Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &mut Any’s vtable from &mut Trait’s.