Skip to main content

MessageStore

Trait MessageStore 

Source
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§

Source

fn load(&self, session: &str) -> Result<Vec<Message>, StoreError>

Load all messages for a session in insertion order.

Source

fn append(&self, session: &str, message: &Message) -> Result<(), StoreError>

Append one message to the session log.

Source

fn log_tool(&self, session: &str, log: &ToolLog<'_>) -> Result<(), StoreError>

Record a tool execution with its args, result, and duration.

Source

fn clear(&self, session: &str) -> Result<(), StoreError>

Wipe all messages and tool logs for a session.

Implementors§