gbenaa's picture
persona_env OpenEnv Docker Space
cd7277c
from openenv.core.env_server import create_app
from models import PersonaAction, PersonaObservation
from .persona_env_environment import PersonaEnvironment
# = create one env instance we control (for debug visibility)
_env = PersonaEnvironment()
# = create the OpenEnv app (keeps /reset, /step, /schema, etc working)
app = create_app(
PersonaEnvironment,
PersonaAction,
PersonaObservation,
env_name="persona_env",
)
# = add a debug endpoint that reflects the live env state we control
@app.get("/debug_state")
def debug_state():
return _env.state
# Optional: also step/reset the debug env using the same action schema
@app.post("/debug_reset")
def debug_reset():
obs = _env.reset()
return {"observation": obs, "reward": getattr(obs, "reward", 0.0), "done": getattr(obs, "done", False)}
@app.post("/debug_step")
def debug_step(payload: dict):
# payload format matches your /step envelope: {"action": {...}}
action_dict = payload.get("action", {})
action = PersonaAction(**action_dict)
obs = _env.step(action)
return {"observation": obs, "reward": getattr(obs, "reward", 0.0), "done": getattr(obs, "done", False)}