"""Search functionality for iMessage MCP server."""
from .embedding_cache import (
EmbeddingCache,
get_embedding_cache,
reset_embedding_cache,
)
from .embeddings import (
generate_embeddings,
generate_pending_embeddings,
get_openai_client,
)
from .fts5 import (
FTSFilters,
FTSResult,
fts5_search,
)
from .hybrid import (
SearchMode,
hybrid_search,
rrf_merge,
)
from .participants import (
bulk_get_message_participants,
filter_by_participants,
get_chat_participants,
get_message_participants,
)
from .reconciliation import (
ReconciliationStats,
delete_orphaned_messages,
find_edited_messages,
find_orphaned_messages,
get_last_reconciled,
reconcile,
set_last_reconciled,
should_reconcile,
update_edited_messages,
)
from .retry import (
async_retry_with_backoff,
retry_with_backoff,
)
from .sync import (
BackfillStatus,
SyncCheck,
SyncStats,
fast_sync_check,
get_backfill_status,
get_last_indexed_rowid,
is_first_run,
quick_initial_index,
set_last_indexed_rowid,
start_background_backfill,
sync_messages,
sync_new_messages,
)
from .vector import (
VectorResult,
get_query_embedding,
vector_search,
)
__all__ = [
# Embedding cache
"EmbeddingCache",
"get_embedding_cache",
"reset_embedding_cache",
# Hybrid search
"rrf_merge",
"hybrid_search",
"SearchMode",
# FTS5 search
"FTSFilters",
"FTSResult",
"fts5_search",
# Embeddings
"generate_embeddings",
"generate_pending_embeddings",
"get_openai_client",
# Participants
"bulk_get_message_participants",
"filter_by_participants",
"get_chat_participants",
"get_message_participants",
# Retry utilities
"async_retry_with_backoff",
"retry_with_backoff",
# Sync
"BackfillStatus",
"SyncCheck",
"SyncStats",
"fast_sync_check",
"get_backfill_status",
"get_last_indexed_rowid",
"is_first_run",
"quick_initial_index",
"set_last_indexed_rowid",
"start_background_backfill",
"sync_messages",
"sync_new_messages",
# Reconciliation
"ReconciliationStats",
"delete_orphaned_messages",
"find_edited_messages",
"find_orphaned_messages",
"get_last_reconciled",
"reconcile",
"set_last_reconciled",
"should_reconcile",
"update_edited_messages",
# Vector search
"VectorResult",
"get_query_embedding",
"vector_search",
]