# summary_tab.py """Financial summary panel.""" from __future__ import annotations import gradio as gr from core.bootstrap import get_summarizer_service SUMMARY_TYPES = [ ("Financial", "financial"), ("Executive", "executive"), ("Risk", "risk"), ] TYPE_MAP = {label: value for label, value in SUMMARY_TYPES} def run_summary(document_id: str | None, summary_type: str) -> str: if not document_id: return "Select a document first." result = get_summarizer_service().summarize( document_id=document_id, summary_type=summary_type, ) if "error" in result: return f"**Error:** {result['error']}" return result.get("summary", "") def build_summary_panel() -> dict: with gr.Column(elem_classes=["fs-modal-card", "fs-summary-card"]): gr.HTML( """
Generate executive, financial, or risk summaries