# -*- coding: utf-8 -*-
"""
跨会话记忆模块（借鉴 zhikuncode-main 的 memdir 子系统）

提供 BM25 检索 + LLM rerank 两阶段召回，用于跨会话长期记忆：
- BM25Engine：纯 Python BM25 实现，CJK Unigram+Bigram 分词
- LLMReranker：调用 DeepSeekClient 对候选做语义重排，失败优雅降级
- MemoryStore：JSONL 持久化，每条记忆含 id/content/category/source_session/created_at

与 KnowledgeLoader 的区别：
- Knowledge 是静态文档（用户手写）
- Memory 是动态对话历史（自动积累）
"""
from .bm25 import BM25Engine, ScoredResult
from .reranker import LLMReranker
from .store import MemoryStore, MemoryEntry

__all__ = [
    "BM25Engine",
    "ScoredResult",
    "LLMReranker",
    "MemoryStore",
    "MemoryEntry",
]
