use crate::client::{QdrantConfig, QdrantHandle};
use crate::embedder::Embedder;
use crate::long_term::QdrantLongTerm;
use klieo_core::error::MemoryError;
use klieo_core::memory::LongTermMemory;
use std::sync::Arc;
pub struct MemoryQdrant {
pub long_term: Arc<dyn LongTermMemory>,
}
impl MemoryQdrant {
pub async fn new(cfg: QdrantConfig, embedder: Arc<dyn Embedder>) -> Result<Self, MemoryError> {
let handle = QdrantHandle::connect(&cfg)?;
let long_term: Arc<dyn LongTermMemory> = Arc::new(QdrantLongTerm::new(handle, embedder));
Ok(Self { long_term })
}
}