""" Pythonic data models for ARF Demo """ from dataclasses import dataclass, asdict from enum import Enum from typing import Dict, List, Optional, Any import datetime class IncidentSeverity(Enum): """Enum for incident severity levels""" LOW = "LOW" MEDIUM = "MEDIUM" HIGH = "HIGH" CRITICAL = "CRITICAL" class DemoMode(Enum): """Enum for demo modes""" QUICK = "quick" COMPREHENSIVE = "comprehensive" INVESTOR = "investor" @dataclass class OSSAnalysis: """Structured OSS analysis results""" status: str recommendations: List[str] estimated_time: str engineers_needed: str manual_effort: str confidence_score: float = 0.95 def to_dict(self) -> Dict: return asdict(self) @dataclass class EnterpriseResults: """Structured enterprise execution results""" actions_completed: List[str] metrics_improvement: Dict[str, str] business_impact: Dict[str, Any] approval_required: bool = True execution_time: str = "" def to_dict(self) -> Dict: return asdict(self) @dataclass class IncidentScenario: """Pythonic incident scenario model""" name: str severity: IncidentSeverity metrics: Dict[str, str] impact: Dict[str, str] oss_analysis: Optional[OSSAnalysis] = None enterprise_results: Optional[EnterpriseResults] = None def to_dict(self) -> Dict: """Convert to dictionary for JSON serialization""" data = { "name": self.name, "severity": self.severity.value, "metrics": self.metrics, "impact": self.impact } if self.oss_analysis: data["oss_analysis"] = self.oss_analysis.to_dict() if self.enterprise_results: data["enterprise_results"] = self.enterprise_results.to_dict() return data @dataclass class DemoStep: """Demo step for presenter guidance""" title: str scenario: Optional[str] action: str message: str icon: str = "🎯"