pub trait SessionRepository: Send + Sync {
// Required methods
fn append(&self, request: AppendEvent) -> Result<EventRecord, StoreError>;
fn load_session(
&self,
session_id: &str,
) -> Result<Vec<EventRecord>, StoreError>;
fn load_children(
&self,
parent_id: &str,
) -> Result<Vec<EventRecord>, StoreError>;
fn head(&self, session_id: &str) -> Result<Option<EventRecord>, StoreError>;
}