devops-arena / app.py
SidraMiconi's picture
fix: imports and model names
47894fa
raw
history blame contribute delete
897 Bytes
"""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
@app.get("/health")
def health():
return {"status": "healthy", "environment": "devops-arena", "tasks": 9}
@app.post("/reset")
def reset():
obs = env.reset()
return {"observation": obs.model_dump(), "reward": 0.0, "done": False}
@app.post("/step")
def step(req: StepRequest):
action = DevAction(**req.action)
obs = env.step(action)
return {"observation": obs.model_dump(), "reward": obs.reward, "done": obs.done}
@app.get("/state")
def state():
s = env.state
if s is None:
return {"error": "No active episode. Call /reset first."}
return s.model_dump()