use async_trait::async_trait;
use crate::{
error::MemoryError,
memory::types::{MemoryItem, MemoryQuery},
};
#[async_trait]
pub trait Memory: Send + Sync {
async fn add(&self, item: MemoryItem) -> Result<(), MemoryError>;
async fn query(&self, query: MemoryQuery) -> Result<Vec<MemoryItem>, MemoryError>;
}