Spaces:
Paused
Paused
| from typing import Any, Dict | |
| try: | |
| from openenv.core.env_client import EnvClient | |
| from openenv.core.client_types import StepResult | |
| except ImportError: | |
| from openenv.core.env_client import EnvClient | |
| from openenv.core.client_types import StepResult | |
| from overview_env.models import OverviewObservation, OverviewAction | |
| class OverviewEnv(EnvClient[OverviewAction, OverviewObservation, Dict[str, Any]]): | |
| def _step_payload(self, action: OverviewAction) -> Dict[str, Any]: | |
| return action.model_dump() | |
| def _parse_result(self, payload: Dict[str, Any]) -> "StepResult[OverviewObservation]": | |
| metadata = payload.get("metadata", payload) | |
| obs_data = metadata.get("observation", metadata) | |
| reward_value = payload.get("reward", 0.0) | |
| done = payload.get("done", False) | |
| try: | |
| observation = OverviewObservation.model_validate(obs_data) | |
| except Exception: | |
| observation = OverviewObservation( | |
| task_id=obs_data.get("task_id", "unknown"), | |
| task_type=obs_data.get("task_type", "summarization"), | |
| task_name=obs_data.get("task_name", "unknown"), | |
| task_description=obs_data.get("task_description", ""), | |
| input_text=obs_data.get("input_text", ""), | |
| ) | |
| return StepResult( | |
| observation=observation, | |
| reward=reward_value, | |
| done=done, | |
| info=metadata.get("info", {}), | |
| ) | |
| def _parse_state(self, payload: Dict[str, Any]) -> Dict[str, Any]: | |
| return payload |