| 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 |
|
|
| class ServiceTopology(BaseModel): |
| service_name: str |
| dependencies: List[str] |
| critical_tier: int = Field(ge=1, le=3) |
| 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" |