pub trait MessageStore: Send + Sync {
// Required methods
fn load(&self, session: &str) -> Result<Vec<Message>, StoreError>;
fn append(&self, session: &str, message: &Message) -> Result<(), StoreError>;
fn log_tool(
&self,
session: &str,
log: &ToolLog<'_>,
) -> Result<(), StoreError>;
fn clear(&self, session: &str) -> Result<(), StoreError>;
}Expand description
Abstract session persistence.
Implementors provide durable storage for conversation history and tool execution logs, keyed by a session identifier.
Required Methods§
Sourcefn load(&self, session: &str) -> Result<Vec<Message>, StoreError>
fn load(&self, session: &str) -> Result<Vec<Message>, StoreError>
Load all messages for a session in insertion order.
Sourcefn append(&self, session: &str, message: &Message) -> Result<(), StoreError>
fn append(&self, session: &str, message: &Message) -> Result<(), StoreError>
Append one message to the session log.