from __future__ import annotations

from .app import create_app
from .settings import ASRSettings


def main() -> None:
    # Configuration is validated before a socket is opened. Missing provider,
    # endpoint, or model therefore fails closed.
    settings = ASRSettings.from_env()
    app = create_app(settings)
    import uvicorn

    uvicorn.run(
        app,
        host=settings.host,
        port=settings.port,
        access_log=False,
        server_header=False,
    )


if __name__ == "__main__":
    main()
