#!/usr/bin/env python3
"""
Emma Token Guardian - Controllo Anti-Spreco
Rileva e previene consumo anomalo di crediti OpenRouter
"""
import sys
import os
from pathlib import Path

# Aggiungi il path degli scripts
script_dir = Path(__file__).parent
sys.path.insert(0, str(script_dir))

# Esegui controllo guardian
os.chdir(script_dir)

# Import del monitor principale
from openrouter_monitor import check_anomalies_and_self_monitor, check_openrouter_credits

def main():
    try:
        # 1. Controlla anomalie
        anomalies = check_anomalies_and_self_monitor()
        
        # 2. Se ci sono anomalie GRAVI, invia alert immediato
        critical_alerts = [a for a in anomalies if "🚨" in a or "LOOP" in a]
        
        if critical_alerts:
            # Alert critico per consumo anomalo
            credits = check_openrouter_credits()
            
            message = f"""🚨 **GUARDIAN ALERT CRITICO**

⚠️ **ANOMALIE RILEVATE:**
{chr(10).join([f"• {alert}" for alert in critical_alerts])}

💰 **Crediti attuali**: ${credits['remaining']:.2f}
📈 **Usage**: ${credits['usage']:.2f}

🛡️ **AZIONE CONSIGLIATA:**
Verificare script, cron jobs e integrazioni che potrebbero causare consumo inaspettato.

⏰ **{__import__('datetime').datetime.now().strftime('%d/%m/%Y %H:%M')}**

_GUARDIAN Alert by Emma Token 🦊🛡️_"""
            
            print(message)
            
        elif anomalies:
            # Alert minor - solo per log/monitoraggio
            print(f"🛡️ GUARDIAN: {len(anomalies)} anomalie minori rilevate")
            for alert in anomalies:
                print(f"  • {alert}")
        else:
            # Solo per debug - non stampare nulla se tutto ok per evitare spam
            pass
            
    except Exception as e:
        print(f"❌ GUARDIAN ERROR: {e}")

if __name__ == "__main__":
    main()