| """ | |
| Data models for the HR Onboarding/Offboarding Environment. | |
| Defines the Action and Observation types used by the environment. | |
| The agent sends HROnboardingAction (a tool call) and receives | |
| HROnboardingObservation (the tool result + task context). | |
| """ | |
| from typing import Any, Dict, List, Optional | |
| from pydantic import Field | |
| from openenv.core.env_server.types import Action, Observation | |
| class HROnboardingAction(Action): | |
| """Action for the HR environment — a tool call with name and arguments. | |
| The agent picks one of 25 available tools and provides arguments. | |
| Example: | |
| HROnboardingAction( | |
| tool_name="hr_create_employee", | |
| arguments={"name": "Priya Sharma", "department": "Engineering", | |
| "level": "L2", "role": "Software Engineer"} | |
| ) | |
| """ | |
| tool_name: str = Field(..., description="Name of the tool to call (e.g. hr_create_employee, it_assign_asset)") | |
| arguments: Dict[str, Any] = Field(default_factory=dict, description="Arguments to pass to the tool") | |
| class HROnboardingObservation(Observation): | |
| """Observation returned after each step in the HR environment. | |
| Contains the tool execution result, task context, and episode progress. | |
| """ | |
| task_id: str = Field(default="", description="Current task identifier") | |
| instruction: str = Field(default="", description="Task instruction for the agent") | |
| tool_name: str = Field(default="", description="Name of the tool that was called") | |
| tool_result: Dict[str, Any] = Field(default_factory=dict, description="Result returned by the tool") | |
| step: int = Field(default=0, description="Current step number") | |
| max_steps: int = Field(default=15, description="Maximum steps allowed") | |
| available_tools: List[str] = Field(default_factory=list, description="List of available tool names") | |