import sys
import os
import traceback

try:
    # Add the current directory to python path
    sys.path.insert(0, os.path.dirname(__file__))

    # Set environment variables for cPanel
    os.environ["TRANSPORT"] = "sse"

    # Import FastAPI app from server.py and wrap it as a WSGI app using a2wsgi
    from server import app as fastapi_app
    from a2wsgi import ASGIMiddleware

    # Passenger looks for a variable named 'application'
    application = ASGIMiddleware(fastapi_app)
except Exception as e:
    # Write traceback to a local file so the user can read it in cPanel File Manager
    with open(os.path.join(os.path.dirname(__file__), "crash_log.txt"), "w") as f:
        f.write("Crash occurred during startup!\n")
        f.write(traceback.format_exc())
    raise e
