pub trait SharedMemory {
// Required methods
fn store(
&self,
scope: MemoryScope,
key: &str,
value: &[u8],
source_agent: u32,
) -> Result<(), MemoryError>;
fn query(&self, key: &str) -> Result<Option<MemoryEntry>, MemoryError>;
fn archive_session(&self, session_id: &str) -> Result<(), MemoryError>;
}