"""Compatibility shim — the PostgreSQL session store lives in `navi.core.sessions`.

Existing imports (`from navi.core.pg_session_store import PgSessionStore`) keep
working; new code should import from `navi.core.sessions`.
"""

from .sessions import PgSessionStore, pending_sweep_loop, repair_dangling_tool_calls
from .sessions.ddl import (
    _DDL,
    _MIGRATE,
    _SESSION_ARCHIVE_DDL,
    _SESSION_IMAGES_DDL,
    _SESSION_MESSAGES_DDL,
    _SESSION_SHARES_DDL,
    _SYNAPSE_INDEX_DDL,
    _ensure_normalized_tables,
    _migrate_to_normalized,
)
from .sessions.rows import (
    _build_sessions,
    _deserialize,
    _load_messages_map,
    _message_key,
    _row_to_message,
    _serialize,
    _special_and,
    _special_frag,
    _special_where,
)

__all__ = [
    "_DDL",
    "_MIGRATE",
    "_SESSION_ARCHIVE_DDL",
    "_SESSION_IMAGES_DDL",
    "_SESSION_MESSAGES_DDL",
    "_SESSION_SHARES_DDL",
    "_SYNAPSE_INDEX_DDL",
    "PgSessionStore",
    "_build_sessions",
    "_deserialize",
    "_ensure_normalized_tables",
    "_load_messages_map",
    "_message_key",
    "_migrate_to_normalized",
    "_row_to_message",
    "_serialize",
    "_special_and",
    "_special_frag",
    "_special_where",
    "pending_sweep_loop",
    "repair_dangling_tool_calls",
]
