"""arandu — Long-term memory system for AI agents."""

from arandu.background import (
    ClusteringResult,
    CommunityDetectionResult,
    ConsolidationResult,
    EntityImportanceResult,
    MemifyResult,
    SummaryRefreshResult,
    cluster_user_facts,
    compute_entity_importance,
    compute_vitality,
    detect_communities,
    detect_entity_communities,
    refresh_entity_summaries,
    run_consolidation,
    run_memify,
    run_profile_consolidation,
)
from arandu.client import MemoryClient, RetrieveResult, ScoredFact, WriteResult
from arandu.config import MemoryConfig
from arandu.exceptions import (
    ExtractionError,
    MemoryError,
    ReconciliationError,
    ResolutionError,
    RetrievalError,
    UpsertError,
)
from arandu.protocols import EmbeddingProvider, LLMProvider

__version__ = "0.1.0"

__all__ = [
    "__version__",
    "ClusteringResult",
    "CommunityDetectionResult",
    "ConsolidationResult",
    "EmbeddingProvider",
    "EntityImportanceResult",
    "ExtractionError",
    "LLMProvider",
    "MemifyResult",
    "MemoryClient",
    "MemoryConfig",
    "MemoryError",
    "ReconciliationError",
    "ResolutionError",
    "RetrievalError",
    "RetrieveResult",
    "ScoredFact",
    "SummaryRefreshResult",
    "UpsertError",
    "WriteResult",
    "cluster_user_facts",
    "compute_entity_importance",
    "compute_vitality",
    "detect_communities",
    "detect_entity_communities",
    "refresh_entity_summaries",
    "run_consolidation",
    "run_memify",
    "run_profile_consolidation",
]
