Spaces:
Sleeping
Sleeping
| """Pydantic v2 models for OpenEnv interface.""" | |
| from __future__ import annotations | |
| from typing import Any, Dict, List, Literal, Optional, Union | |
| from pydantic import BaseModel, Field | |
| # ββ Alert model ββ | |
| class Alert(BaseModel): | |
| alert_id: str | |
| timestamp: str | |
| service: str | |
| metric: str | |
| metric_value: float | |
| threshold: float | |
| message: str | |
| context: Optional[str] = None | |
| triaged: bool = False | |
| agent_decision: Optional[Dict[str, Any]] = None | |
| # ββ Observation ββ | |
| class Observation(BaseModel): | |
| alerts: List[Alert] | |
| service_map: Dict[str, List[str]] | |
| pending_count: int | |
| step_number: int | |
| max_steps: int | |
| feedback: str = "" | |
| # ββ Actions ββ | |
| class TriageAction(BaseModel): | |
| action_type: Literal["triage"] = "triage" | |
| alert_id: str | |
| root_cause: str | |
| severity: str | |
| remediation: str | |
| class LinkAlertsAction(BaseModel): | |
| action_type: Literal["link_alerts"] = "link_alerts" | |
| alert_ids: List[str] | |
| incident_label: str | |
| class SkipAction(BaseModel): | |
| action_type: Literal["skip"] = "skip" | |
| alert_id: str | |
| Action = Union[TriageAction, LinkAlertsAction, SkipAction] | |
| # ββ Step response ββ | |
| class StepResponse(BaseModel): | |
| observation: Observation | |
| reward: float | |
| done: bool | |
| info: Dict[str, Any] = {} | |
| # ββ Request models ββ | |
| class ResetRequest(BaseModel): | |
| task_id: str | |
| seed: int = 42 | |
| class StepRequest(BaseModel): | |
| action_type: str | |
| alert_id: Optional[str] = None | |
| alert_ids: Optional[List[str]] = None | |
| incident_label: Optional[str] = None | |
| root_cause: Optional[str] = None | |
| severity: Optional[str] = None | |
| remediation: Optional[str] = None | |