from fastapi import FastAPI import sys import os sys.path.append(os.path.abspath(".")) from environment import EmailTriageEnv app = FastAPI() env = None @app.post("/reset") def reset(task: str = "easy"): global env env = EmailTriageEnv(task_id=task) obs = env.reset() return {"observation": obs} @app.post("/step") def step(action: dict): obs, reward, done, info = env.step(action) return { "observation": obs, "reward": reward.total if hasattr(reward, "total") else reward, "done": done, "info": info } @app.get("/state") def state(): return env.state() @app.post("/run") def run_endpoint(): from inference import run return run()