Spaces:
Sleeping
Sleeping
File size: 1,421 Bytes
e4accbb | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 | """FastAPI app entrypoint for local runs and Hugging Face Spaces."""
from __future__ import annotations
import os
from fastapi import FastAPI
try:
from openenv.core.env_server import create_app
except Exception: # pragma: no cover - compatibility fallback
from support_queue_env.server.openenv_compat import create_app
from support_queue_env.models import SupportQueueAction, SupportQueueObservation
from support_queue_env.server.support_queue_environment import SupportQueueEnvironment
ENV_NAME = "support_queue_env"
app: FastAPI = create_app(
SupportQueueEnvironment,
SupportQueueAction,
SupportQueueObservation,
env_name=ENV_NAME,
max_concurrent_envs=16,
)
@app.get("/")
def root() -> dict[str, object]:
return {
"name": ENV_NAME,
"status": "ok",
"message": "Support Queue OpenEnv is running.",
"endpoints": ["/health", "/reset", "/step", "/state", "/tasks"],
}
@app.get("/health")
def health() -> dict[str, str]:
return {"status": "ok"}
@app.get("/tasks")
def list_tasks() -> dict[str, object]:
return {"tasks": [task.model_dump() for task in SupportQueueEnvironment.available_tasks()]}
def main() -> None:
import uvicorn
uvicorn.run(
"support_queue_env.server.app:app",
host="0.0.0.0",
port=int(os.getenv("PORT", "8000")),
reload=False,
)
if __name__ == "__main__":
main()
|