Spaces:
Sleeping
Sleeping
| """DevOps Arena FastAPI server.""" | |
| from fastapi import FastAPI | |
| from pydantic import BaseModel | |
| from arena_environment import ArenaEnvironment | |
| from models import DevAction | |
| app = FastAPI(title="DevOps Arena Environment API") | |
| env = ArenaEnvironment() | |
| class StepRequest(BaseModel): | |
| action: dict | |
| def health(): | |
| return {"status": "healthy", "environment": "devops-arena", "tasks": 9} | |
| def reset(): | |
| obs = env.reset() | |
| return {"observation": obs.model_dump(), "reward": 0.0, "done": False} | |
| def step(req: StepRequest): | |
| action = DevAction(**req.action) | |
| obs = env.step(action) | |
| return {"observation": obs.model_dump(), "reward": obs.reward, "done": obs.done} | |
| def state(): | |
| s = env.state | |
| if s is None: | |
| return {"error": "No active episode. Call /reset first."} | |
| return s.model_dump() | |