#!/usr/bin/env python3
from __future__ import annotations

import json
from pathlib import Path
import shutil


settings_path = Path.home() / ".gemini" / "antigravity-cli" / "settings.json"
if not settings_path.exists():
    raise SystemExit(f"agy-Settings nicht gefunden: {settings_path}")

backup_path = settings_path.with_name("settings.before-mlops-tag2.json")
if not backup_path.exists():
    shutil.copy2(settings_path, backup_path)

settings = json.loads(settings_path.read_text())
deny = settings.setdefault("permissions", {}).setdefault("deny", [])
invalid_rules = {"read_file(.env)", "read_file(**/.env)"}
removed = [rule for rule in deny if rule in invalid_rules]
settings["permissions"]["deny"] = [rule for rule in deny if rule not in invalid_rules]
ssh_glob = f"read_file({Path.home()}/.ssh/*)"
ssh_directory = f"read_file({Path.home()}/.ssh)"
if ssh_glob in settings["permissions"]["deny"]:
    settings["permissions"]["deny"].remove(ssh_glob)
    if ssh_directory not in settings["permissions"]["deny"]:
        settings["permissions"]["deny"].append(ssh_directory)
    removed.append(ssh_glob)
settings_path.write_text(json.dumps(settings, ensure_ascii=False, indent=2) + "\n")

print(f"Backup: {backup_path}")
print(f"Entfernte inkompatible Altregeln: {', '.join(removed) if removed else 'keine'}")
print("Alle übrigen agy-Einstellungen blieben unverändert.")
