"""
Point d'entrée pour l'exécutable empaqueté (packaging/windows/meshamoto-server.spec).

`uvicorn.run("app:app", ...)` (utilisé en usage normal via `python -m uvicorn
app:app`) s'appuie sur une résolution dynamique de module par chaîne de caractères,
peu fiable une fois figé par PyInstaller. On importe directement l'objet FastAPI et
on le passe à uvicorn.run() pour éviter ce mécanisme.
"""

from __future__ import annotations

import os

import uvicorn

from app import app

if __name__ == "__main__":
    host = os.environ.get("MESHAMOTO_BIND_HOST", "0.0.0.0")
    port = int(os.environ.get("MESHAMOTO_BIND_PORT", "8765"))
    uvicorn.run(app, host=host, port=port)
