Spaces:
Sleeping
Sleeping
Commit ·
2f212fd
1
Parent(s): 4336fc9
fix(api): remove Pydantic model for /reset to natively handle null JSON bodies from OpenEnv validator
Browse files- src/server/app.py +13 -8
src/server/app.py
CHANGED
|
@@ -22,10 +22,7 @@ app.add_middleware(
|
|
| 22 |
_env: OpenEnvEnvironment | None = None
|
| 23 |
|
| 24 |
|
| 25 |
-
|
| 26 |
-
task_id: str = "single_incident"
|
| 27 |
-
seed: int | None = None
|
| 28 |
-
|
| 29 |
|
| 30 |
class StepRequest(BaseModel):
|
| 31 |
action: dict[str, Any]
|
|
@@ -157,11 +154,19 @@ async def list_tasks() -> list[dict[str, str]]:
|
|
| 157 |
|
| 158 |
|
| 159 |
@app.post("/reset")
|
| 160 |
-
async def reset(request:
|
| 161 |
-
|
| 162 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 163 |
global _env
|
| 164 |
-
_env = OpenEnvEnvironment(task_id=
|
| 165 |
obs = await _env.reset()
|
| 166 |
return obs.model_dump()
|
| 167 |
|
|
|
|
| 22 |
_env: OpenEnvEnvironment | None = None
|
| 23 |
|
| 24 |
|
| 25 |
+
# Removed ResetRequest since /reset now dynamically parses the Request to handle null bodies gracefully.
|
|
|
|
|
|
|
|
|
|
| 26 |
|
| 27 |
class StepRequest(BaseModel):
|
| 28 |
action: dict[str, Any]
|
|
|
|
| 154 |
|
| 155 |
|
| 156 |
@app.post("/reset")
|
| 157 |
+
async def reset(request: Request) -> dict[str, Any]:
|
| 158 |
+
try:
|
| 159 |
+
body = await request.json()
|
| 160 |
+
except Exception:
|
| 161 |
+
body = {}
|
| 162 |
+
if body is None:
|
| 163 |
+
body = {}
|
| 164 |
+
|
| 165 |
+
task_id = body.get("task_id", "single_incident")
|
| 166 |
+
seed = body.get("seed", None)
|
| 167 |
+
|
| 168 |
global _env
|
| 169 |
+
_env = OpenEnvEnvironment(task_id=task_id, seed=seed)
|
| 170 |
obs = await _env.reset()
|
| 171 |
return obs.model_dump()
|
| 172 |
|