Spaces:
Sleeping
Sleeping
| """Typed Pydantic models for the DNS-Env OpenEnv environment.""" | |
| from pydantic import BaseModel, Field | |
| from typing import Optional, Dict, Any, List | |
| class Action(BaseModel): | |
| """Agent action for the DNS debugging environment.""" | |
| command: str = Field( | |
| ..., | |
| description=( | |
| "Command to execute. One of: view_zone, add_record, edit_record, " | |
| "delete_record, check_zone, dig, submit" | |
| ), | |
| ) | |
| args: Dict[str, Any] = Field(default_factory=dict, description="Command arguments") | |
| metadata: Dict[str, Any] = Field(default_factory=dict) | |
| class Observation(BaseModel): | |
| """Environment observation returned to the agent after each step.""" | |
| output: str = Field(default="", description="Command output or feedback text") | |
| task_description: str = Field(default="", description="Current task description") | |
| zone_names: List[str] = Field(default_factory=list, description="Available zone file names") | |
| available_commands: List[str] = Field( | |
| default_factory=lambda: [ | |
| "view_zone", "add_record", "edit_record", | |
| "delete_record", "check_zone", "dig", "submit", | |
| ], | |
| ) | |
| done: bool = False | |
| reward: Optional[float] = None | |
| metadata: Dict[str, Any] = Field(default_factory=dict) | |
| class State(BaseModel): | |
| """Episode state tracking.""" | |
| episode_id: Optional[str] = None | |
| step_count: int = Field(default=0, ge=0) | |
| task_id: str = "" | |
| max_steps: int = 30 | |
| class Config: | |
| extra = "allow" | |