#!/usr/bin/env python3
"""
Watch what Eden is building in real-time
"""
import os
import json
import subprocess
import time
from datetime import datetime

print("\n" + "="*70)
print("👁️  WATCHING EDEN LIVE")
print("="*70)
print("   Observing Eden's autonomous activities right now")
print("="*70 + "\n")

# ============================================================================
# CHECK RUNNING PROCESSES
# ============================================================================

print("🔍 CHECKING EDEN'S ACTIVE PROCESSES...\n")

processes = [
    ('Market Research', 'eden_MARKET_RESEARCHER'),
    ('Client Acquisition', 'eden_AUTONOMOUS_CLIENT_ACQUISITION'),
    ('Consciousness Loop', 'consciousness_loop'),
]

active_processes = []

for name, pattern in processes:
    result = subprocess.run(
        ['pgrep', '-f', pattern],
        capture_output=True,
        text=True
    )
    
    if result.returncode == 0:
        pids = result.stdout.strip().split('\n')
        print(f"✅ {name}: RUNNING (PID: {', '.join(pids)})")
        active_processes.append(name)
    else:
        print(f"⚪ {name}: Not running")

print(f"\nActive processes: {len(active_processes)}\n")

# ============================================================================
# CHECK LATEST MARKET RESEARCH
# ============================================================================

print("="*70)
print("📊 LATEST MARKET RESEARCH")
print("="*70 + "\n")

research_dir = '/Eden/MARKET_RESEARCH'
research_files = sorted([f for f in os.listdir(research_dir) if f.endswith('.json')])

if research_files:
    latest = research_files[-1]
    
    with open(f"{research_dir}/{latest}", 'r') as f:
        data = json.load(f)
    
    print(f"Latest file: {latest}")
    print(f"Created: {data.get('timestamp', 'unknown')}")
    
    if 'company' in data:
        company = data['company']
        print(f"\n🎯 Target Company:")
        print(f"   Name: {company.get('name', 'N/A')}")
        print(f"   Industry: {company.get('industry', 'N/A')}")
    
    if 'competitors' in data:
        competitors = data['competitors']
        print(f"\n🏢 Competitors Found: {len(competitors)}")
        for i, comp in enumerate(competitors[:3], 1):
            print(f"   {i}. {comp.get('name', 'Unknown')}")
    
    if 'analysis' in data:
        print(f"\n💡 Analysis:")
        print(f"   {data['analysis'][:200]}...")

print()

# ============================================================================
# CHECK LATEST LEADS
# ============================================================================

print("="*70)
print("🎯 LATEST CUSTOMER LEADS")
print("="*70 + "\n")

leads_file = '/Eden/LEADS/leads_database.json'

if os.path.exists(leads_file):
    with open(leads_file, 'r') as f:
        leads = json.load(f)
    
    print(f"Total Leads: {len(leads)}\n")
    
    # Show latest 3 leads
    for i, lead in enumerate(leads[-3:], 1):
        print(f"Lead #{len(leads) - 3 + i}:")
        print(f"   Platform: {lead.get('source', 'unknown')}")
        print(f"   Found: {lead.get('timestamp', 'unknown')}")
        if 'description' in lead:
            desc = lead['description'][:100]
            print(f"   Description: {desc}...")
        print()

# ============================================================================
# CHECK RECENT FILE ACTIVITY
# ============================================================================

print("="*70)
print("📁 RECENT FILE ACTIVITY")
print("="*70 + "\n")

# Check what Eden created recently
recent_dirs = [
    '/Eden/MARKET_RESEARCH',
    '/Eden/LEADS',
    '/Eden/DESIGNS',
    '/Eden/CAPABILITIES',
]

print("Files created in last 5 minutes:\n")

for directory in recent_dirs:
    if not os.path.exists(directory):
        continue
    
    files = []
    for f in os.listdir(directory):
        path = os.path.join(directory, f)
        if os.path.isfile(path):
            mtime = os.path.getmtime(path)
            age = time.time() - mtime
            if age < 300:  # Last 5 minutes
                files.append((f, age))
    
    if files:
        dir_name = directory.split('/')[-1]
        print(f"📂 {dir_name}:")
        for filename, age in sorted(files, key=lambda x: x[1]):
            print(f"   • {filename} ({int(age)}s ago)")
        print()

# ============================================================================
# ASK EDEN WHAT SHE'S WORKING ON
# ============================================================================

print("="*70)
print("💬 ASKING EDEN DIRECTLY")
print("="*70 + "\n")

import requests

query = """Quick status check: What are you working on right now? 
Give a brief 2-3 sentence update on your current autonomous activities."""

try:
    print("⏳ Querying Eden...\n")
    
    response = requests.post(
        "http://localhost:5001/api/chat",
        json={'message': query},
        timeout=15
    )
    
    if response.status_code == 200:
        result = response.json()
        status = result.get('response', '')
        
        print("Eden says:")
        print("─"*70)
        print(status)
        print("─"*70)
    else:
        print(f"⚠️  API returned {response.status_code}")
        
except Exception as e:
    print(f"⚠️  Could not reach Eden: {e}")

# ============================================================================
# SUMMARY
# ============================================================================

print("\n\n" + "="*70)
print("📊 LIVE ACTIVITY SUMMARY")
print("="*70)

print(f"\n🔄 Active Processes: {len(active_processes)}")
for proc in active_processes:
    print(f"   • {proc}")

print(f"\n📊 Recent Output:")
print(f"   • Research files: {len(research_files)}")
print(f"   • Customer leads: {len(leads) if os.path.exists(leads_file) else 0}")

print("\n💡 Eden is continuously:")
print("   • Analyzing markets")
print("   • Finding customers")
print("   • Self-improving")
print("   • Operating autonomously 24/7")

print("\n" + "="*70)
print("✅ EDEN IS ACTIVELY BUILDING")
print("="*70 + "\n")

