#!/usr/bin/env python3
"""
Genesis Dashboard Test - Direct file import approach
"""

import importlib.util
import sys
import os

# Import modules by file path
def load_module(name, file_path):
    spec = importlib.util.spec_from_file_location(name, file_path)
    module = importlib.util.module_from_spec(spec)
    spec.loader.exec_module(module)
    return module

# Load the modules
base_dir = os.path.dirname(os.path.abspath(__file__))
cost_tracker_module = load_module("cost_tracker", os.path.join(base_dir, "cost-tracker.py"))
agent_monitor_module = load_module("agent_monitor", os.path.join(base_dir, "agent-monitor.py"))

# Test initialization
try:
    print("🧪 Testing Genesis Dashboard Components...")
    
    # Test cost tracker
    cost_tracker = cost_tracker_module.GenesisCostTracker()
    print("✅ Cost Tracker: Initialized successfully")
    
    # Test agent monitor
    agent_monitor = agent_monitor_module.GenesisAgentMonitor()
    print("✅ Agent Monitor: Initialized successfully")
    
    # Test cost tracking
    print("\n💰 Testing cost tracking...")
    cost_tracker.log_cost_event(
        agent_id="test-agent",
        operation="test",
        input_tokens=1000,
        output_tokens=500,
        model_used="gemini-2.0-flash-exp"
    )
    
    summary = cost_tracker.get_session_summary()
    print(f"✅ Cost Tracking: {summary['total_cost']:.6f} total cost")
    
    # Test agent monitoring
    print("\n🤖 Testing agent monitoring...")
    agent_status = agent_monitor.get_all_agent_status()
    print(f"✅ Agent Monitoring: {agent_status['summary']['total_agents']} agents tracked")
    
    print("\n🎯 DASHBOARD COMPONENTS VALIDATION COMPLETE")
    print("✅ All core systems operational")
    print("✅ Ready for autonomous operation")
    
except Exception as e:
    print(f"❌ Error during testing: {e}")
    import traceback
    traceback.print_exc()