Spaces:
Configuration error
Configuration error
| from __future__ import annotations | |
| from typing import Any, Dict | |
| from openenv.core.client_types import StepResult | |
| from openenv.core.env_client import EnvClient | |
| from server.models import OfficeAction, OfficeObservation, OfficeState | |
| class OfficeEnvClient(EnvClient[OfficeAction, OfficeObservation, OfficeState]): | |
| def _step_payload(self, action: OfficeAction) -> Dict[str, Any]: | |
| # The env server deserializes via Pydantic, so we send only provided fields. | |
| return action.model_dump(exclude_none=True) | |
| def _parse_result(self, payload: Dict[str, Any]) -> StepResult[OfficeObservation]: | |
| obs_data = payload.get("observation", {}) or {} | |
| reward = payload.get("reward", None) | |
| done = bool(payload.get("done", False)) | |
| observation = OfficeObservation( | |
| **obs_data, | |
| done=done, | |
| reward=reward, | |
| ) | |
| return StepResult(observation=observation, reward=reward, done=done) | |
| def _parse_state(self, payload: Dict[str, Any]) -> OfficeState: | |
| return OfficeState.model_validate(payload) | |