""" UI components for the 5-tab demo - FIXED VERSION """ import gradio as gr from typing import Dict, List, Any, Optional, Tuple import plotly.graph_objects as go def create_header(oss_version: str, oss_available: bool) -> gr.Markdown: """Create the demo header - FIXED VERSION""" status_badge = "✅ Connected" if oss_available else "⚠️ Mock Mode" return gr.Markdown(f"""

🚀 Agentic Reliability Framework

Investor Demo v3.8.0

🏢 Enterprise Edition
🆓 OSS v{oss_version}
📈 5.2× ROI
⚡ 85% MTTR Reduction
From OSS Advisory to Enterprise Autonomous Healing.
{status_badge}
""") def create_status_bar() -> gr.HTML: """Create system status bar - FIXED VERSION""" return gr.HTML("""
System Status
Operational
Performance
8.2 min avg resolution
Learning Engine
6 patterns detected
""") def create_tab1_incident_demo(scenarios: Dict, default_scenario: str = "Cache Miss Storm") -> Tuple: """Create Tab 1: Live Incident Demo - FIXED WORKING VERSION""" with gr.Row(): # Left Panel with gr.Column(scale=1): gr.Markdown("### 🎬 Select Incident Scenario") scenario_dropdown = gr.Dropdown( choices=list(scenarios.keys()), value=default_scenario, label="Choose an incident to analyze:", interactive=True ) scenario_description = gr.Markdown( value=scenarios[default_scenario]["description"] ) gr.Markdown("### 📊 Current Metrics") metrics_display = gr.JSON( value=scenarios[default_scenario].get("metrics", {}), label="", show_label=False ) gr.Markdown("### 💰 Business Impact") impact_display = gr.JSON( value=scenarios[default_scenario].get("business_impact", {}), label="", show_label=False ) # Right Panel with gr.Column(scale=2): gr.Markdown("### 📈 Incident Timeline") timeline_output = gr.Plot(label="", show_label=False) gr.Markdown("### ⚡ Take Action") with gr.Row(): oss_btn = gr.Button( "🆓 Run OSS Analysis", variant="secondary", size="lg", elem_id="oss_btn" ) enterprise_btn = gr.Button( "🚀 Execute Enterprise Healing", variant="primary", size="lg", elem_id="enterprise_btn" ) with gr.Row(): approval_toggle = gr.Checkbox( label="🔐 Require Manual Approval", value=True, interactive=True ) demo_btn = gr.Button( "⚡ Quick Demo", variant="secondary", size="sm" ) approval_display = gr.HTML( value="
" "Approval workflow will appear here after execution" "
" ) with gr.Row(): with gr.Column(): gr.Markdown("### 📋 OSS Results") oss_results_display = gr.JSON(label="", value={}) with gr.Column(): gr.Markdown("### 🎯 Enterprise Results") enterprise_results_display = gr.JSON(label="", value={}) return (scenario_dropdown, scenario_description, metrics_display, impact_display, timeline_output, oss_btn, enterprise_btn, approval_toggle, demo_btn, approval_display, oss_results_display, enterprise_results_display) def create_tab2_business_roi() -> Tuple: """Create Tab 2: Business Impact & ROI - FIXED VERSION""" with gr.Column(): gr.Markdown("### 📊 Executive Dashboard") dashboard_output = gr.Plot(label="", show_label=False) gr.Markdown("### 🧮 ROI Calculator") with gr.Row(): with gr.Column(scale=1): # Scenario selector roi_scenario_dropdown = gr.Dropdown( choices=[], value="", label="Select scenario for ROI calculation:", interactive=True ) monthly_slider = gr.Slider( 1, 100, value=15, step=1, label="Monthly similar incidents", interactive=True ) team_slider = gr.Slider( 1, 20, value=5, step=1, label="Reliability team size", interactive=True ) calculate_btn = gr.Button( "Calculate ROI", variant="primary", size="lg" ) with gr.Column(scale=2): roi_output = gr.JSON( label="ROI Analysis Results", value={} ) roi_chart = gr.Plot(label="Cost Comparison", show_label=False) return (dashboard_output, roi_scenario_dropdown, monthly_slider, team_slider, calculate_btn, roi_output, roi_chart) def create_tab3_enterprise_features() -> Tuple: """Create Tab 3: Enterprise Features""" with gr.Row(): # Left Column with gr.Column(scale=1): gr.Markdown("### 🔐 License Management") license_display = gr.JSON( value={ "status": "Active", "tier": "Enterprise", "expires": "2024-12-31", "features": ["autonomous_healing", "compliance", "audit_trail"] }, label="Current License" ) with gr.Row(): validate_btn = gr.Button("🔍 Validate", variant="secondary") trial_btn = gr.Button("🆓 Start Trial", variant="primary") upgrade_btn = gr.Button("🚀 Upgrade", variant="secondary") gr.Markdown("### ⚡ MCP Execution Modes") mcp_mode = gr.Radio( choices=["advisory", "approval", "autonomous"], value="advisory", label="Execution Mode", interactive=True, info="advisory = OSS only, approval = human review, autonomous = AI-driven" ) mcp_mode_info = gr.JSON( value={ "current_mode": "advisory", "description": "OSS Edition - Analysis only, no execution", "features": ["Incident analysis", "RAG similarity", "HealingIntent creation"] }, label="Mode Details" ) # Right Column with gr.Column(scale=1): gr.Markdown("### 📋 Feature Comparison") features_table = gr.Dataframe( headers=["Feature", "OSS", "Enterprise"], value=[ ["Autonomous Healing", "❌", "✅"], ["Compliance Automation", "❌", "✅"], ["Predictive Analytics", "❌", "✅"], ["Multi-Cloud Support", "❌", "✅"], ["Audit Trail", "Basic", "Comprehensive"], ["Role-Based Access", "❌", "✅"], ], label="", interactive=False ) gr.Markdown("### 🔗 Integrations") integrations_table = gr.Dataframe( headers=["Platform", "Status"], value=[ ["AWS", "✅ Connected"], ["Azure", "✅ Connected"], ["GCP", "✅ Connected"], ["Datadog", "✅ Connected"], ["PagerDuty", "✅ Connected"], ["ServiceNow", "✅ Connected"], ], label="", interactive=False ) return (license_display, validate_btn, trial_btn, upgrade_btn, mcp_mode, mcp_mode_info, features_table, integrations_table) def create_tab4_audit_trail() -> Tuple: """Create Tab 4: Audit Trail & History""" with gr.Row(): # Left Column with gr.Column(scale=1): gr.Markdown("### 📋 Execution History") with gr.Row(): refresh_btn = gr.Button("🔄 Refresh", variant="secondary", size="sm") clear_btn = gr.Button("🗑️ Clear", variant="stop", size="sm") export_btn = gr.Button("📥 Export", variant="secondary", size="sm") execution_table = gr.Dataframe( headers=["Time", "Scenario", "Mode", "Status", "Savings", "Details"], value=[], label="", interactive=False ) # Right Column with gr.Column(scale=1): gr.Markdown("### 📊 Incident History") incident_table = gr.Dataframe( headers=["Time", "Component", "Scenario", "Severity", "Status"], value=[], label="", interactive=False ) gr.Markdown("### 📤 Export") export_text = gr.Textbox( label="Audit Trail (JSON)", lines=6, interactive=False ) return (refresh_btn, clear_btn, export_btn, execution_table, incident_table, export_text) def create_tab5_learning_engine() -> Tuple: """Create Tab 5: Learning Engine""" with gr.Row(): # Left Column with gr.Column(scale=2): gr.Markdown("### 🧠 Incident Memory Graph") learning_graph = gr.Plot(label="", show_label=False) with gr.Row(): graph_type = gr.Radio( choices=["Force", "Hierarchical", "Circular"], value="Force", label="Layout", interactive=True ) show_labels = gr.Checkbox(label="Show Labels", value=True, interactive=True) gr.Markdown("### 🔍 Similarity Search") search_query = gr.Textbox( label="Describe incident or paste metrics", placeholder="e.g., 'Redis cache miss causing database overload'", lines=2, interactive=True ) with gr.Row(): search_btn = gr.Button("🔍 Search", variant="primary") clear_btn = gr.Button("Clear", variant="secondary") search_results = gr.Dataframe( headers=["Incident", "Similarity", "Resolution", "Actions"], value=[], label="", interactive=False ) # Right Column with gr.Column(scale=1): gr.Markdown("### 📊 Learning Stats") stats_display = gr.JSON( value={ "total_incidents": 0, "patterns_detected": 0, "similarity_searches": 0, "confidence_threshold": 0.85 }, label="Statistics" ) gr.Markdown("### 🎯 Pattern Detection") patterns_display = gr.JSON( value={}, label="Detected Patterns" ) gr.Markdown("### 📈 Performance") performance_display = gr.JSON( value={ "avg_resolution_time": "0 min", "success_rate": "0%", "auto_heal_rate": "0%" }, label="Performance Metrics" ) return (learning_graph, graph_type, show_labels, search_query, search_btn, clear_btn, search_results, stats_display, patterns_display, performance_display) def create_footer() -> gr.Markdown: """Create the demo footer - SIMPLIFIED VERSION""" return gr.Markdown("""

© 2024 Agentic Reliability Framework. Demo v3.8.0 Enterprise Edition.

This demonstration showcases capabilities. Actual results may vary.

""")