CoolFace
Apppublic

sxchin01/code-security-audit-env-3

sourceHugging Faceupdated 6mo agoView on Hugging Face
0likes
main.py48 linesDownload Raw Back to root
1from __future__ import annotations2 3from pathlib import Path4import importlib5from typing import Any6 7from fastapi import FastAPI, HTTPException8 9# Make this module behave like a package proxy so imports like app.env10# resolve to the existing ./app package even though this file is named app.py.11__path__ = [str(Path(__file__).parent / "app")]12 13_env_module = importlib.import_module("app.env")14_models_module = importlib.import_module("app.models")15 16CodeSecurityAuditEnv = _env_module.CodeSecurityAuditEnv17Action = _models_module.Action18 19app = FastAPI(title="CodeSecurityAuditEnv Space API")20env = CodeSecurityAuditEnv()21 22 23@app.get("/")24def root() -> dict[str, str]:25    return {"status": "ok"}26 27 28@app.get("/reset")29def reset() -> dict[str, Any]:30    observation = env.reset()31    return {"observation": observation.model_dump()}32 33 34@app.post("/step")35def step(action: dict[str, Any]) -> dict[str, Any]:36    try:37        parsed_action = Action.model_validate(action)38    except Exception as exc:39        raise HTTPException(status_code=400, detail=f"Invalid action payload: {exc}") from exc40 41    observation, reward, done, info = env.step(parsed_action)42    return {43        "observation": observation.model_dump(),44        "reward": reward,45        "done": done,46        "info": info,47    }48