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" |