File size: 831 Bytes
1395b2e | 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 | from __future__ import annotations
from fastapi import FastAPI
from support_triage_openenv.env import SupportTriageEnv
from support_triage_openenv.models import Action
app = FastAPI(title="Support Triage OpenEnv", version="0.1.0")
env = SupportTriageEnv()
@app.get("/health")
def health() -> dict[str, str]:
return {"status": "ok"}
@app.post("/reset")
def reset(payload: dict | None = None) -> dict:
task_id = (payload or {}).get("task_id")
obs = env.reset(task_id=task_id)
return obs.model_dump()
@app.post("/step")
def step(action: Action) -> dict:
obs, reward, done, info = env.step(action)
return {
"observation": obs.model_dump(),
"reward": reward.model_dump(),
"done": done,
"info": info,
}
@app.get("/state")
def state() -> dict:
return env.state()
|