Spaces:
Sleeping
Sleeping
Update main.py
Browse files
main.py
CHANGED
|
@@ -2,7 +2,6 @@
|
|
| 2 |
API Gateway Defender — FastAPI Server
|
| 3 |
=====================================
|
| 4 |
Exposes the OpenEnv-compliant HTTP API for the environment.
|
| 5 |
-
|
| 6 |
Endpoints
|
| 7 |
---------
|
| 8 |
POST /reset — Start a new episode
|
|
@@ -91,7 +90,6 @@ async def reset(
|
|
| 91 |
) -> Dict[str, Any]:
|
| 92 |
"""
|
| 93 |
Start a new episode.
|
| 94 |
-
|
| 95 |
Accepts ALL of these formats (validator may use any):
|
| 96 |
- JSON body: {"task_id": "easy"}
|
| 97 |
- Query param: POST /reset?task_id=easy
|
|
@@ -104,16 +102,14 @@ async def reset(
|
|
| 104 |
obs: Observation = _env.reset(task_id=tid)
|
| 105 |
except ValueError as exc:
|
| 106 |
raise HTTPException(status_code=422, detail=str(exc))
|
| 107 |
-
return obs.model_dump()
|
| 108 |
|
| 109 |
|
| 110 |
@app.post("/step")
|
| 111 |
def step(action: Action) -> Dict[str, Any]:
|
| 112 |
"""
|
| 113 |
Submit one firewall rule.
|
| 114 |
-
|
| 115 |
Returns StepResult: {observation, reward, done, info}
|
| 116 |
-
|
| 117 |
Reward score: 0.0–1.0
|
| 118 |
= detection_rate − (false_positive_rate × 5)
|
| 119 |
= 0.0 if false positive rate > 10%
|
|
|
|
| 2 |
API Gateway Defender — FastAPI Server
|
| 3 |
=====================================
|
| 4 |
Exposes the OpenEnv-compliant HTTP API for the environment.
|
|
|
|
| 5 |
Endpoints
|
| 6 |
---------
|
| 7 |
POST /reset — Start a new episode
|
|
|
|
| 90 |
) -> Dict[str, Any]:
|
| 91 |
"""
|
| 92 |
Start a new episode.
|
|
|
|
| 93 |
Accepts ALL of these formats (validator may use any):
|
| 94 |
- JSON body: {"task_id": "easy"}
|
| 95 |
- Query param: POST /reset?task_id=easy
|
|
|
|
| 102 |
obs: Observation = _env.reset(task_id=tid)
|
| 103 |
except ValueError as exc:
|
| 104 |
raise HTTPException(status_code=422, detail=str(exc))
|
| 105 |
+
return {"observation": obs.model_dump()}
|
| 106 |
|
| 107 |
|
| 108 |
@app.post("/step")
|
| 109 |
def step(action: Action) -> Dict[str, Any]:
|
| 110 |
"""
|
| 111 |
Submit one firewall rule.
|
|
|
|
| 112 |
Returns StepResult: {observation, reward, done, info}
|
|
|
|
| 113 |
Reward score: 0.0–1.0
|
| 114 |
= detection_rate − (false_positive_rate × 5)
|
| 115 |
= 0.0 if false positive rate > 10%
|