File size: 855 Bytes
cf788e2
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
from pydantic import BaseModel, Field
from typing import Dict, List, Optional, Any
from datetime import datetime
from enum import Enum

class DataSourceType(Enum):
    PROMETHEUS = "prometheus"
    DATADOG = "datadog"
    CUSTOM_METRICS = "custom_metrics"
    SIMULATED = "simulated"

class MetricQuery(BaseModel):
    name: str
    query: str
    data_source: DataSourceType
    refresh_interval: int = 30  # seconds

class ServiceTopology(BaseModel):
    service_name: str
    dependencies: List[str]
    critical_tier: int = Field(ge=1, le=3)  # 1=critical, 2=important, 3=standard
    revenue_impact_per_minute: float = 100.0

class AgentSpecialization(Enum):
    DETECTIVE = "anomaly_detection"
    DIAGNOSTICIAN = "root_cause_analysis"
    HEALER = "remediation_orchestration"
    ECONOMIST = "business_impact"
    ARCHIVIST = "knowledge_management"