pub struct SessionStorage { /* private fields */ }Expand description
Manages filesystem storage for sessions.
Implementations§
Source§impl SessionStorage
impl SessionStorage
Sourcepub fn new() -> Result<Self, SaorsaAgentError>
pub fn new() -> Result<Self, SaorsaAgentError>
Create a new storage manager with the default base path.
Sourcepub fn with_base_path(base_path: PathBuf) -> Self
pub fn with_base_path(base_path: PathBuf) -> Self
Create a storage manager with a custom base path (for testing).
Sourcepub fn save_manifest(
&self,
session_id: &SessionId,
metadata: &SessionMetadata,
) -> Result<(), SaorsaAgentError>
pub fn save_manifest( &self, session_id: &SessionId, metadata: &SessionMetadata, ) -> Result<(), SaorsaAgentError>
Save session metadata to manifest.json.
Sourcepub fn load_manifest(
&self,
session_id: &SessionId,
) -> Result<SessionMetadata, SaorsaAgentError>
pub fn load_manifest( &self, session_id: &SessionId, ) -> Result<SessionMetadata, SaorsaAgentError>
Load session metadata from manifest.json.
Sourcepub fn save_tree(
&self,
session_id: &SessionId,
node: &SessionNode,
) -> Result<(), SaorsaAgentError>
pub fn save_tree( &self, session_id: &SessionId, node: &SessionNode, ) -> Result<(), SaorsaAgentError>
Save session tree structure to tree.json.
Sourcepub fn load_tree(
&self,
session_id: &SessionId,
) -> Result<SessionNode, SaorsaAgentError>
pub fn load_tree( &self, session_id: &SessionId, ) -> Result<SessionNode, SaorsaAgentError>
Load session tree structure from tree.json.
Sourcepub fn save_message(
&self,
session_id: &SessionId,
index: usize,
message: &Message,
) -> Result<(), SaorsaAgentError>
pub fn save_message( &self, session_id: &SessionId, index: usize, message: &Message, ) -> Result<(), SaorsaAgentError>
Save a message to messages/{index}-{type}.json.
Sourcepub fn load_messages(
&self,
session_id: &SessionId,
) -> Result<Vec<Message>, SaorsaAgentError>
pub fn load_messages( &self, session_id: &SessionId, ) -> Result<Vec<Message>, SaorsaAgentError>
Load all messages for a session, in order.
Trait Implementations§
Source§impl Clone for SessionStorage
impl Clone for SessionStorage
Source§fn clone(&self) -> SessionStorage
fn clone(&self) -> SessionStorage
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreAuto Trait Implementations§
impl Freeze for SessionStorage
impl RefUnwindSafe for SessionStorage
impl Send for SessionStorage
impl Sync for SessionStorage
impl Unpin for SessionStorage
impl UnwindSafe for SessionStorage
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