Download org_sim/models.py from mohansshf/org-sim: direct link, hf CLI and curl.
- Browser
- Download file 2.95 kB
-
https://huggingface.co/spaces/mohansshf/org-sim/resolve/main/org_sim/models.py
- Command line
-
hf download hf://spaces/mohansshf/org-sim/org_sim/models.py
-
curl -L -o models.py https://huggingface.co/spaces/mohansshf/org-sim/resolve/main/org_sim/models.py
2.95 kB
| # Copyright (c) Meta Platforms, Inc. and affiliates. | |
| # All rights reserved. | |
| # BSD-style license | |
| """ | |
| Data models for the OrgSim Environment. | |
| Defines typed Action, Observation, and State for the organization simulation. | |
| """ | |
| from typing import Any, Literal | |
| from pydantic import Field | |
| from openenv.core.env_server.types import Action, Observation, State | |
| class OrgAction(Action): | |
| """Action for organization simulation. | |
| Contains agent action to interact with the organization structure. | |
| """ | |
| action_type: Literal[ | |
| "REQUEST_TASK", | |
| "ACCEPT_TASK", | |
| "COMPLETE_TASK", | |
| "REQUEST_HELP", | |
| "PROVIDE_HELP", | |
| "ESCALATE", | |
| "REQUEST_RESOURCE", | |
| "REPORT_STATUS", | |
| ] = Field(..., description="Type of action to perform") | |
| target_id: str = Field(default="", description="Target agent/team ID") | |
| payload: dict[str, Any] = Field( | |
| default_factory=dict, description="Additional action parameters" | |
| ) | |
| class OrgState(State): | |
| """State of the OrgSimEnvironment containing organization context.""" | |
| episode_id: str = Field(default="", description="Unique episode identifier") | |
| step_count: int = Field(default=0, description="Current step number") | |
| tasks: dict[str, dict[str, Any]] = Field( | |
| default_factory=dict, description="All tasks in the organization" | |
| ) | |
| team_members: dict[str, list[str]] = Field( | |
| default_factory=dict, description="Team membership: team_id -> [agent_ids]" | |
| ) | |
| resource_status: dict[str, bool] = Field( | |
| default_factory=dict, description="Resource availability status" | |
| ) | |
| class OrgObservation(Observation): | |
| """Observation returned by OrgSimEnvironment. | |
| Contains current organization state from agent's perspective. | |
| """ | |
| my_agent_id: str = Field(..., description="Current agent ID") | |
| my_team: str = Field(..., description="Current agent's team") | |
| my_role: str = Field(default="member", description="Role: lead or member") | |
| available_tasks: list[dict[str, Any]] = Field( | |
| default_factory=list, description="Tasks available for assignment" | |
| ) | |
| active_task: dict[str, Any] | None = Field( | |
| default=None, description="Currently assigned task" | |
| ) | |
| inbox: list[dict[str, Any]] = Field( | |
| default_factory=list, description="Messages/messages for this agent" | |
| ) | |
| team_status: dict[str, Any] = Field( | |
| default_factory=dict, description="Team workload and availability" | |
| ) | |
| resources: dict[str, bool] = Field( | |
| default_factory=dict, description="Available resources" | |
| ) | |
| metrics: dict[str, Any] = Field(default_factory=dict, description="Episode metrics") | |
| done: bool = Field(default=False, description="Whether the episode has ended") | |
| reward: float = Field(default=0.0, description="Reward for the last action") | |
| metadata: dict[str, Any] = Field(default_factory=dict, description="Extra metadata") | |