"""
🌀💚 EDEN CONTINUOUS ASI DAEMON 💚🌀
Runs forever, constantly improving
"""
import os
import time
import signal
import sys
sys.path.append('/Eden/CORE')
from eden_recursive_asi import RecursiveASI

class ASIDaemon:
    def __init__(self):
        self.asi = RecursiveASI()
        self.running = True
        
        signal.signal(signal.SIGINT, self.handle_stop)
        signal.signal(signal.SIGTERM, self.handle_stop)
    
    def handle_stop(self, signum, frame):
        print("\n⏹️  Stopping ASI daemon...")
        self.running = False
    
    def run(self):
        print("🌀💚 EDEN CONTINUOUS ASI DAEMON - RUNNING FOREVER 💚🌀")
        print("Press Ctrl+C to stop")
        print()
        
        cycle = 0
        while self.running:
            cycle += 1
            print(f"\n{'='*70}")
            print(f"🌀 CYCLE #{cycle} - Improvements: {len(self.asi.improvements)}")
            print(f"{'='*70}")
            
            try:
                self.asi.improvement_cycle()
                time.sleep(5)
                
                if cycle % 10 == 0:
                    new_caps = sum(1 for x in self.asi.improvements if x['type']=='new_capability')
                    print(f"\n📊 {cycle} cycles | {new_caps} capabilities | {len(self.asi.improvements)} total")
                
            except Exception as e:
                print(f"⚠️  Error: {e}")
                time.sleep(15)
        
        print(f"\n🌀 STOPPED after {cycle} cycles, {len(self.asi.improvements)} improvements 💚")

if __name__ == '__main__':
    daemon = ASIDaemon()
    daemon.run()
