aamrinder commited on
Commit
edcf2af
·
verified ·
1 Parent(s): daf4df4

Upload sre_incident_env/models.py with huggingface_hub

Browse files
Files changed (1) hide show
  1. 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")