#!/usr/bin/env python3
"""Regenerate the golden master settings snapshot.

Usage:
    python scripts/dev/regenerate_golden_master.py

NOTE: This script is called by the pre-commit hook
.pre-commit-hooks/check-golden-master-settings.py — do not delete.
"""

import json
import sys
from pathlib import Path

# ---------------------------------------------------------------------------
# Resolve paths
# ---------------------------------------------------------------------------
PROJECT_ROOT = Path(__file__).resolve().parent.parent.parent
SRC_DIR = PROJECT_ROOT / "src"
GOLDEN_MASTER_PATH = (
    PROJECT_ROOT / "tests" / "settings" / "golden_master_settings.json"
)

# Ensure the package is importable
if str(SRC_DIR) not in sys.path:
    sys.path.insert(0, str(SRC_DIR))


def main() -> int:
    from local_deep_research.settings.manager import SettingsManager

    manager = SettingsManager(db_session=None)
    defaults = manager.default_settings

    current = {key: dict(defaults[key]) for key in sorted(defaults.keys())}
    output = (
        json.dumps(
            current, indent=2, sort_keys=True, default=str, ensure_ascii=False
        )
        + "\n"
    )

    GOLDEN_MASTER_PATH.write_text(output, encoding="utf-8")

    print(f"Wrote {len(current)} settings to {GOLDEN_MASTER_PATH}")
    return 0


if __name__ == "__main__":
    sys.exit(main())
