CoBeDigger commited on
Commit
4ec4df3
·
1 Parent(s): 8991488

fix: allow empty POST bodies for hackathon automated testing validation

Browse files
Files changed (1) hide show
  1. 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
- return env.reset(req.task_id)
 
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 != env.current_task_id:
 
107
  return ErrorResponse(error="task_id mismatch — call /reset with this task_id first")
108
- return env.submit_grader(req.task_id)
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