microagents_storage/
types.rs1use std::fmt::Debug;
2
3use microagents_events::{AgentEventAny, SessionInitEvent};
4
5#[async_trait::async_trait]
7pub trait AgentStorage: Send + Debug + Sync {
8 async fn create_session(&self, event: SessionInitEvent) -> anyhow::Result<()>;
10 async fn update_session(&self, event: AgentEventAny) -> anyhow::Result<()>;
12 async fn get_session(&self, session_id: &str) -> anyhow::Result<Vec<AgentEventAny>>;
14}
15
16#[derive(Debug, Clone, PartialEq, Eq, Copy)]
18pub enum AgentStorageChoice {
19 Memory,
21 Jsonl,
23 Sqlite,
25}