from fastapi import FastAPI, Request from fastapi.responses import FileResponse from fastapi.staticfiles import StaticFiles import os import uvicorn # --- Configuración de la App --- app = FastAPI() # 1. Montar el directorio 'static' para servir CSS y JS # Esto es crucial para que index.html pueda encontrar main.js y style.css app.mount("/static", StaticFiles(directory="static"), name="static") # 2. Definir la ruta raíz para servir nuestra aplicación principal @app.get("/") async def read_root(request: Request): """ Esta es la única ruta que importa. Sirve el archivo index.html que contiene toda la lógica de Synapse AI. """ path = os.path.join("templates", "index.html") if os.path.exists(path): return FileResponse(path, media_type="text/html") return {"error": "index.html not found"} # 3. Punto de entrada para el servidor cuando se ejecuta en Hugging Face # Esta sección permite que Hugging Face inicie la aplicación correctamente. if __name__ == "__main__": # Hugging Face Spaces asigna el puerto a través de la variable de entorno PORT port = int(os.environ.get("PORT", 7860)) uvicorn.run(app, host="0.0.0.0", port=port)