# app/services/memory/indexing/__init__.py
"""
Memory Indexing & Retrieval.

Provides vector embeddings and multiple index types for efficient memory search:
- Vector index for semantic similarity
- Temporal index for time-based queries
- Entity index for entity lookups
- Outcome index for success/failure filtering
"""

from .index import (
    EntityIndex,
    EntityIndexEntry,
    IndexEntry,
    MemoryIndex,
    MemoryIndexer,
    OutcomeIndex,
    OutcomeIndexEntry,
    TemporalIndex,
    TemporalIndexEntry,
    VectorIndex,
    VectorIndexEntry,
    get_memory_indexer,
)
from .retrieval import (
    CacheEntry,
    RelevanceScorer,
    RetrievalCache,
    RetrievalEngine,
    RetrievalQuery,
    ScoredResult,
    get_retrieval_engine,
)

__all__ = [
    "CacheEntry",
    "EntityIndex",
    "EntityIndexEntry",
    "IndexEntry",
    "MemoryIndex",
    "MemoryIndexer",
    "OutcomeIndex",
    "OutcomeIndexEntry",
    "RelevanceScorer",
    "RetrievalCache",
    "RetrievalEngine",
    "RetrievalQuery",
    "ScoredResult",
    "TemporalIndex",
    "TemporalIndexEntry",
    "VectorIndex",
    "VectorIndexEntry",
    "get_memory_indexer",
    "get_retrieval_engine",
]
