from __future__ import annotations

from pathlib import Path
import sys

ROOT = Path(__file__).resolve().parents[1]
SRC = ROOT / "src"
sys.path.insert(0, str(SRC))

from ai_archive.indexing import build_index


def _read_jsonl(path: Path) -> list[dict]:
    if not path.exists():
        return []
    records: list[dict] = []
    with path.open("r", encoding="utf-8") as fh:
        for line in fh:
            if line.strip():
                records.append(__import__("json").loads(line))
    return records


def main() -> int:
    normalized = ROOT / "normalized"
    index_dir = ROOT / "index"
    build_index(
        index_dir / "archive.db",
        _read_jsonl(normalized / "conversations.jsonl"),
        _read_jsonl(normalized / "messages.jsonl"),
        _read_jsonl(normalized / "chunks.jsonl"),
    )
    print(f"built {index_dir / 'archive.db'}")
    return 0


if __name__ == "__main__":
    raise SystemExit(main())
