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"