Spaces:
Sleeping
Sleeping
| from pydantic import BaseModel | |
| from typing import List, Tuple, Dict, Any, Optional | |
| from enum import Enum | |
| class Priority(str, Enum): | |
| CRITICAL = "critical" | |
| NORMAL = "normal" | |
| class ActionType(str, Enum): | |
| MOVE = "move" | |
| ALLOCATE = "allocate" | |
| class ServiceRequest(BaseModel): | |
| id: int | |
| position: Tuple[int, int] | |
| priority: Priority | |
| allocated: bool | |
| created_at: int | |
| class Observation(BaseModel): | |
| agent_position: Tuple[int, int] | |
| grid: List[List[List[float]]] # 5x5x3 grid | |
| requests: List[ServiceRequest] | |
| time_left: int | |
| resources_left: int | |
| step: int | |
| task_config: Dict[str, Any] | |
| class Action(BaseModel): | |
| action_type: ActionType | |
| direction: Optional[str] = None # For move actions | |
| class Reward(BaseModel): | |
| score: float # 0.0 to 1.0 | |
| class State(BaseModel): | |
| agent_position: Tuple[int, int] | |
| requests: List[Dict[str, Any]] | |
| time_left: int | |
| resources_left: int | |
| current_step: int | |
| done: bool | |
| total_reward: float |