petter2025's picture
Update ui/components.py
1d377e2 verified
raw
history blame
3.37 kB
"""
Minimalist, Math-First UI Components for ARF OSS
Contract-compatible with app.py
Principles:
- Deterministic layout
- Low entropy
- Systems-first semantics
- OSS honesty
"""
import gradio as gr
from typing import Dict, Any
# ============================================================
# HEADER (SIGNATURE FIXED)
# ============================================================
def create_header(version: str, mock_mode: bool) -> gr.HTML:
mode = "mock" if mock_mode else "live"
return gr.HTML(
f"""
<div style="font-family: monospace; line-height: 1.4;">
<strong>Agentic Reliability Framework</strong><br/>
version={version} Β· mode={mode} Β· build=oss
</div>
<hr/>
"""
)
# ============================================================
# STATUS BAR (SIGNATURE FIXED)
# ============================================================
def create_status_bar(system_online: bool = True) -> gr.HTML:
status = "ONLINE" if system_online else "OFFLINE"
return gr.HTML(
f"""
<div style="font-family: monospace; font-size: 13px;">
system={status} | agent_core=active | audit=enabled
</div>
"""
)
# ============================================================
# TAB 1 β€” INCIDENT DEMO
# ============================================================
def create_tab1_incident_demo(
scenarios: Dict[str, Any]
):
with gr.Column():
gr.Markdown("### Incident Input", elem_classes=["mono"])
scenario_dropdown = gr.Dropdown(
label="Scenario",
choices=list(scenarios.keys()),
value=list(scenarios.keys())[0],
)
execution_mode = gr.Radio(
label="Execution Mode",
choices=["advisory", "approval", "autonomous"],
value="advisory",
)
run_button = gr.Button("Run Analysis", variant="primary")
metrics = gr.Markdown(
"No execution yet.",
elem_classes=["mono"],
)
return scenario_dropdown, execution_mode, run_button, metrics
# ============================================================
# TAB 2 β€” BUSINESS ROI
# ============================================================
def create_tab2_business_roi():
with gr.Column():
gr.Markdown("### Impact Estimation (Model Output)")
roi_output = gr.Markdown(
"""
loss_rate_usd_per_hour = 0
recovery_time_minutes = βˆ…
confidence_interval = βˆ…
""",
elem_classes=["mono"],
)
return roi_output
# ============================================================
# TAB 3 β€” ENTERPRISE FEATURES
# ============================================================
def create_tab3_enterprise_features():
with gr.Column():
gr.Markdown("### Enterprise Capabilities")
gr.Markdown(
"""
autonomous_execution = false
policy_engine = locked
sla_enforcement = locked
status = OSS_LIMITED
""",
elem_classes=["mono"],
)
# ============================================================
# TAB 4 β€” AUDIT TRAIL
# ============================================================
def create_tab4_audit_trail():
with gr.Column():