Spaces:
Sleeping
Sleeping
Upload sre_incident_env/models.py with huggingface_hub
Browse files- sre_incident_env/models.py +31 -0
sre_incident_env/models.py
ADDED
|
@@ -0,0 +1,31 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
from typing import Any, Dict, List, Optional
|
| 2 |
+
from openenv.core.env_server import Action, Observation, State
|
| 3 |
+
from pydantic import BaseModel, Field
|
| 4 |
+
|
| 5 |
+
|
| 6 |
+
class SREAction(Action):
|
| 7 |
+
command: str = Field(description="Command to execute (e.g. check_logs, restart_service)")
|
| 8 |
+
target: str = Field(default="", description="Service name or resource identifier")
|
| 9 |
+
parameters: Dict[str, Any] = Field(default_factory=dict, description="Additional command parameters")
|
| 10 |
+
|
| 11 |
+
|
| 12 |
+
class SREObservation(Observation):
|
| 13 |
+
output: str = Field(default="", description="Command result text")
|
| 14 |
+
alerts: List[Dict[str, Any]] = Field(default_factory=list, description="Active alerts")
|
| 15 |
+
system_health: float = Field(default=100.0, description="Overall cluster health 0-100")
|
| 16 |
+
services_status: Dict[str, str] = Field(default_factory=dict, description="Service name -> status")
|
| 17 |
+
step_count: int = Field(default=0, description="Current step number")
|
| 18 |
+
max_steps: int = Field(default=20, description="Maximum steps for this episode")
|
| 19 |
+
available_commands: List[str] = Field(default_factory=list, description="Available commands")
|
| 20 |
+
|
| 21 |
+
|
| 22 |
+
class SREReward(BaseModel):
|
| 23 |
+
"""Typed reward model for grading results."""
|
| 24 |
+
score: float = Field(ge=0.0, le=1.0, description="Grader score 0.0-1.0")
|
| 25 |
+
evaluations: List[Dict[str, Any]] = Field(default_factory=list, description="Per-criterion results")
|
| 26 |
+
|
| 27 |
+
|
| 28 |
+
class SREState(State):
|
| 29 |
+
task_id: str = Field(default="", description="Current task identifier")
|
| 30 |
+
task_difficulty: str = Field(default="", description="easy, medium, or hard")
|
| 31 |
+
cluster_snapshot: Dict[str, Any] = Field(default_factory=dict, description="Full cluster state")
|