#!/usr/bin/env python3
import subprocess
import time
import sys
import os

def main():
    print("[axiom_service] Starting Axiom Zero Enterprise Security Daemons...")
    base_dir = os.path.dirname(os.path.abspath(__file__))
    
    daemon_path = os.path.join(base_dir, "axiom_daemon.py")
    gateway_path = os.path.join(base_dir, "api_gateway.py")
    
    # 1. Start the actual streaming daemon
    print(f"[axiom_service] Launching UNIX/TCP streaming daemon: {daemon_path}")
    daemon_proc = subprocess.Popen([sys.executable, daemon_path])
    time.sleep(1)
    
    # 2. Start the API Gateway
    print(f"[axiom_service] Launching API Gateway: {gateway_path}")
    gateway_proc = subprocess.Popen([sys.executable, gateway_path])
    
    try:
        while True:
            if daemon_proc.poll() is not None:
                print("[axiom_service] Daemon exited unexpectedly. Shutting down.")
                break
            if gateway_proc.poll() is not None:
                print("[axiom_service] Gateway exited unexpectedly. Shutting down.")
                break
            time.sleep(2)
    except KeyboardInterrupt:
        pass
    finally:
        daemon_proc.terminate()
        gateway_proc.terminate()
        
if __name__ == "__main__":
    main()
