Spaces:
Sleeping
Sleeping
Commit ·
4ec4df3
1
Parent(s): 8991488
fix: allow empty POST bodies for hackathon automated testing validation
Browse files- app/main.py +8 -6
app/main.py
CHANGED
|
@@ -21,7 +21,7 @@ app.add_middleware(
|
|
| 21 |
env = DataEngEnvironment()
|
| 22 |
|
| 23 |
class TaskIdRequest(BaseModel):
|
| 24 |
-
task_id: int
|
| 25 |
|
| 26 |
class ErrorResponse(BaseModel):
|
| 27 |
error: str
|
|
@@ -51,9 +51,10 @@ def root():
|
|
| 51 |
return {"status": "ok", "env": "DataEngEnv", "version": "1.0.0",
|
| 52 |
"docs": "/docs", "health": "/health", "tasks": "/tasks"}
|
| 53 |
@app.post("/reset", response_model=Observation | ErrorResponse)
|
| 54 |
-
async def api_reset(req: TaskIdRequest):
|
| 55 |
try:
|
| 56 |
-
|
|
|
|
| 57 |
except Exception as e:
|
| 58 |
return ErrorResponse(error=str(e))
|
| 59 |
|
|
@@ -101,11 +102,12 @@ async def api_tasks():
|
|
| 101 |
return ErrorResponse(error=str(e))
|
| 102 |
|
| 103 |
@app.post("/grader", response_model=Reward | ErrorResponse)
|
| 104 |
-
async def api_grader(req: TaskIdRequest):
|
| 105 |
try:
|
| 106 |
-
if req.task_id
|
|
|
|
| 107 |
return ErrorResponse(error="task_id mismatch — call /reset with this task_id first")
|
| 108 |
-
return env.submit_grader(
|
| 109 |
except Exception as e:
|
| 110 |
return ErrorResponse(error=str(e))
|
| 111 |
|
|
|
|
| 21 |
env = DataEngEnvironment()
|
| 22 |
|
| 23 |
class TaskIdRequest(BaseModel):
|
| 24 |
+
task_id: int | None = 1
|
| 25 |
|
| 26 |
class ErrorResponse(BaseModel):
|
| 27 |
error: str
|
|
|
|
| 51 |
return {"status": "ok", "env": "DataEngEnv", "version": "1.0.0",
|
| 52 |
"docs": "/docs", "health": "/health", "tasks": "/tasks"}
|
| 53 |
@app.post("/reset", response_model=Observation | ErrorResponse)
|
| 54 |
+
async def api_reset(req: TaskIdRequest | None = None):
|
| 55 |
try:
|
| 56 |
+
tid = req.task_id if req is not None and req.task_id is not None else 1
|
| 57 |
+
return env.reset(tid)
|
| 58 |
except Exception as e:
|
| 59 |
return ErrorResponse(error=str(e))
|
| 60 |
|
|
|
|
| 102 |
return ErrorResponse(error=str(e))
|
| 103 |
|
| 104 |
@app.post("/grader", response_model=Reward | ErrorResponse)
|
| 105 |
+
async def api_grader(req: TaskIdRequest | None = None):
|
| 106 |
try:
|
| 107 |
+
tid = req.task_id if req is not None and req.task_id is not None else env.current_task_id
|
| 108 |
+
if tid != env.current_task_id:
|
| 109 |
return ErrorResponse(error="task_id mismatch — call /reset with this task_id first")
|
| 110 |
+
return env.submit_grader(tid)
|
| 111 |
except Exception as e:
|
| 112 |
return ErrorResponse(error=str(e))
|
| 113 |
|