pub(crate) mod admin;
pub(crate) mod episodes;
pub(crate) mod graph;
pub(crate) mod knowledge;
pub(crate) mod lifecycle;
use rusqlite::Connection;
use crate::hooks::MemoryHooks;
use crate::provider::{EmbeddingProvider, ExtractionProvider};
use crate::types::ConflictStrategy;
#[non_exhaustive]
pub struct Episodes<'a> {
pub(crate) conn: &'a Connection,
pub(crate) embedding_provider: Option<&'a dyn EmbeddingProvider>,
pub(crate) hooks: Option<&'a dyn MemoryHooks>,
}
#[non_exhaustive]
pub struct Knowledge<'a> {
pub(crate) conn: &'a Connection,
pub(crate) embedding_provider: Option<&'a dyn EmbeddingProvider>,
}
#[non_exhaustive]
pub struct Lifecycle<'a> {
pub(crate) conn: &'a Connection,
pub(crate) extraction_provider: Option<&'a dyn ExtractionProvider>,
pub(crate) conflict_strategy: ConflictStrategy,
pub(crate) hooks: Option<&'a dyn MemoryHooks>,
}
#[non_exhaustive]
pub struct Graph<'a> {
pub(crate) conn: &'a Connection,
}
#[non_exhaustive]
pub struct Admin<'a> {
pub(crate) conn: &'a Connection,
}