import sys
import os
import traceback

print("=== DEBUG INFO ===")
print(f"Python version: {sys.version}")
print(f"Working directory: {os.getcwd()}")
print(f"Script location: {os.path.dirname(os.path.abspath(__file__))}")
print()

# Check installed packages
print("=== INSTALLED PACKAGES ===")
try:
    import pkg_resources
    installed = {pkg.key: pkg.version for pkg in pkg_resources.working_set}
    for name in sorted(installed):
        print(f"  {name}=={installed[name]}")
except Exception as e:
    print(f"  Error listing packages: {e}")

print()
print("=== IMPORT TESTS ===")

test_imports = [
    "a2wsgi",
    "fastapi",
    "starlette",
    "pydantic",
    "pydantic_settings",
    "uvicorn",
    "aiosqlite",
    "httpx",
    "aiofiles",
    "apscheduler",
    "jinja2",
    "openai",
]

for mod in test_imports:
    try:
        __import__(mod)
        print(f"  OK: {mod}")
    except ImportError as e:
        print(f"  FAIL: {mod} - {e}")

print()
print("=== APP IMPORT TEST ===")
try:
    sys.path.insert(0, os.path.dirname(os.path.abspath(__file__)))
    from app.main import app
    print("  OK: app.main imported successfully")
except Exception as e:
    print(f"  FAIL: {e}")
    traceback.print_exc()

print()
print("=== PASSENGER_WSGI TEST ===")
try:
    from passenger_wsgi import application
    print(f"  OK: application = {application}")
except Exception as e:
    print(f"  FAIL: {e}")
    traceback.print_exc()

print()
print("=== DEBUG COMPLETE ===")
