import streamlit as st from utils.process_files import process_uploaded_files from utils.document_display import display_based_on_card import os import pandas as pd import json from llm.document_analyzer import analyze_files from PIL import Image from utils import setup_logger from utils.session_state import reset_state from datetime import datetime import uuid from utils.tabs.document_upload_tab import upload_documents from utils.tabs.memo import display_memo from utils.tabs.demo_validations import display_demo_validations from utils.tabs.document_validation_tab import validate_documents logger = setup_logger(__name__) st.set_page_config(layout="wide") # Initialize session state structures if 'uploads' not in st.session_state: st.session_state['uploads'] = {} if 'current_upload' not in st.session_state: st.session_state['current_upload'] = None st.title("🪪 Underwriting Workflow") upload_docs_tab, memo_tab, upload_docs_validation_results_tab, demo_validations_considered_tab = st.tabs( ["Upload Documents", "Memo", "Validation Results", "Policies"] ) with upload_docs_tab: upload_documents() with memo_tab: display_memo() with demo_validations_considered_tab: display_demo_validations() with upload_docs_validation_results_tab: validate_documents(current=st.session_state['current_upload'])