from core.http_env_client import HTTPEnvClient from core.types import StepResult class GridClient(HTTPEnvClient[GridAction, GridObservation]): def _step_payload(self, action: GridAction) -> dict: return {"direction": action.direction} def _parse_result(self, payload: dict) -> StepResult: obs = GridObservation(**payload['observation']) return StepResult(observation=obs, reward=payload['reward'], done=payload['done'])