"""config_check.py — проверка конфигурации LEVBOT перед запуском (§8).

Читает .env через единый settings loader, валидирует обязательное и включённые коннекторы,
печатает БЕЗОПАСНОЕ summary (без секретов). Выход 0 — ок, 1 — есть ошибки (fail-fast).

Запуск:  python config_check.py
"""
import sys
import json

try:
    from settings import load
except Exception as e:  # noqa: BLE001
    print("Не удалось загрузить settings loader:", type(e).__name__)
    sys.exit(1)

s = load()
print(json.dumps(s.summary(), ensure_ascii=False, indent=2))
if s.errors:
    print("\nОШИБКИ КОНФИГУРАЦИИ:")
    for e in s.errors:
        print("  -", e)
    print("\nЗаполните недостающие поля в .env (см. .env.example) и повторите.")
    sys.exit(1)
print("\nКонфигурация корректна.")
sys.exit(0)
