Spaces:
Runtime error
Runtime error
| """Recruitopenenv Environment Client.""" | |
| from typing import Dict | |
| from openenv.core.client_types import StepResult | |
| from openenv.core.env_server.types import State | |
| from openenv.core import EnvClient | |
| from .models import RecruitopenenvAction, RecruitopenenvObservation | |
| class RecruitopenenvEnv( | |
| EnvClient[RecruitopenenvAction, RecruitopenenvObservation, State] | |
| ): | |
| """Client for the Driver Recruit Environment.""" | |
| def _step_payload(self, action: RecruitopenenvAction) -> Dict: | |
| payload = { | |
| "tool": action.tool, | |
| "action": action.action, | |
| } | |
| if action.topic: | |
| payload["topic"] = action.topic | |
| if action.job_id >= 0: | |
| payload["job_id"] = action.job_id | |
| if action.stage: | |
| payload["stage"] = action.stage | |
| if action.field: | |
| payload["field"] = action.field | |
| if action.value: | |
| payload["value"] = action.value | |
| return payload | |
| def _parse_result(self, payload: Dict) -> StepResult[RecruitopenenvObservation]: | |
| obs_data = payload.get("observation", {}) | |
| observation = RecruitopenenvObservation( | |
| driver_name=obs_data.get("driver_name", ""), | |
| crm_summary=obs_data.get("crm_summary", ""), | |
| jobs_summary=obs_data.get("jobs_summary", ""), | |
| discovered_info=obs_data.get("discovered_info", ""), | |
| stage=obs_data.get("stage", "lead"), | |
| feedback=obs_data.get("feedback", ""), | |
| pending_reply=obs_data.get("pending_reply", False), | |
| done=payload.get("done", False), | |
| reward=payload.get("reward", 0.0), | |
| ) | |
| return StepResult( | |
| observation=observation, | |
| reward=payload.get("reward", 0.0), | |
| done=payload.get("done", False), | |
| ) | |
| def _parse_state(self, payload: Dict) -> State: | |
| return State( | |
| episode_id=payload.get("episode_id"), | |
| step_count=payload.get("step_count", 0), | |
| ) | |