Spaces:
Sleeping
Sleeping
| """Single entry point for env steps/resets that keep the SRE platform layer in sync.""" | |
| from __future__ import annotations | |
| from typing import Optional | |
| from models import Action, Observation, StepResult | |
| from sre_platform import services as sre_services | |
| from sre_platform.routes import apply_production_or_guardrails_step | |
| from sre_platform.state import STORE | |
| def run_step_with_platform(env, action: Action, session_id: Optional[str] = None) -> StepResult: | |
| """Guardrails / production queue + env.step + post_step_enrich (same as HTTP /step).""" | |
| blocked_or_pending, _ = apply_production_or_guardrails_step(env, action, session_id) | |
| if blocked_or_pending is not None: | |
| return blocked_or_pending | |
| result = env.step(action) | |
| st = STORE.get(session_id) | |
| sre_services.post_step_enrich(env, action, result, st) | |
| return result | |
| def reset_env_with_platform(env, task_id: str, session_id: Optional[str] = None, seed: Optional[int] = None) -> Observation: | |
| """env.reset + platform episode reset (same as HTTP /reset).""" | |
| obs = env.reset(task_id, seed=seed) | |
| st = STORE.get(session_id) | |
| sre_services.on_env_reset(st, env) | |
| return obs | |