Spaces:
Configuration error
Configuration error
| import streamlit as st | |
| from src.main import app as graph_app | |
| st.set_page_config(page_title="SupplyPulse-AI", page_icon="π’", layout="wide") | |
| st.title("π’ SupplyPulse-AI: Autonomous Supply Chain Agent") | |
| st.caption("Stateful Multi-Agent Orchestration with LangGraph & Deterministic Guardrails") | |
| # Interactive Sidebar Inputs | |
| st.sidebar.header("Logistics Disruption Event") | |
| sku = st.sidebar.selectbox("Target SKU", ["SKU-9982", "SKU-4410", "SKU-1029"]) | |
| delay = st.sidebar.slider("Expected Delay (Days)", min_value=1, max_value=14, value=3) | |
| disruption = st.sidebar.text_input("Event Details", "Port Strike at Gulf Terminals") | |
| if st.sidebar.button("Run Mitigation Workflow", type="primary"): | |
| initial_state = { | |
| "disruption_event": f"{disruption} affecting {sku}", | |
| "impact_analysis": {}, | |
| "alternative_routes": [], | |
| "audit_passed": False, | |
| "critique_feedback": "", | |
| "final_mitigation_plan": "", | |
| "messages": [] | |
| } | |
| st.subheader("π€ Live Agent Execution Stream") | |
| with st.spinner("Executing Hierarchical Agent Graph..."): | |
| final_state = graph_app.invoke(initial_state) | |
| for msg in final_state["messages"]: | |
| st.info(msg) | |
| st.divider() | |
| if final_state["audit_passed"]: | |
| st.success("### β Audit Passed: Approved Action Plan") | |
| st.markdown(f"**Final Decision:** {final_state['final_mitigation_plan']}") | |
| else: | |
| st.error("### β Plan Flagged by Audit Guardrails") | |
| st.warning(f"**Feedback:** {final_state['critique_feedback']}") |