--- config: layout: fixed --- flowchart TB subgraph FE_Modules["frontend_agents/public/js/modules"] direction LR WF["workflow.js\nWorkflow control"] WFC["workflowCoordination.js\nWorkflow coordination"] WFU["workflowUi.js\nWorkflow UI"] WFD["workflowData.js\nWorkflow API logic"] WFT["workflowUtils.js\nWorkflow utils"] FL["files.js\nFile management"] PR["prompts.js\nPrompt management"] US["users.js\nUser management"] MD["mandates.js\nMandate management"] end subgraph FE_Shared["frontend_agents/public/js/shared"] direction LR API["apiCalls.js\nAPI communication"] NAV["navigation.js\nNavigation"] GLOB["globalState.js\nState management"] UTIL["utils.js\nHelpers"] end subgraph FE_Security["frontend_agents/public/js/security"] AUTH_FE["auth.js\nAuthentication"] end subgraph FE_Main["frontend_agents/public/js"] MAIN["main.js\nMain app"] end subgraph BE_Routes["gateway/routes"] direction LR R_MAND["routeMandates.py\nMandate API"] R_USER["routeUsers.py\nUser API"] R_FL["routeFiles.py\nFile API"] R_PR["routePrompts.py\nPrompt API"] R_WF["routeWorkflows.py\nWorkflow API"] R_ATTR["routeAttributes.py\nAttribute API"] end subgraph BE_Modules["gateway/modules"] GI["gatewayInterface.py\nMandate/Auth"] LDI["lucydomInterface.py\nData management"] WM["workflowManager.py\nWorkflow engine"] WAR["workflowAgentsRegistry.py\nAgent registry"] DP["documentProcessor.py\nDocument processing"] CFG["configuration.py\nConfiguration"] MU["mimeUtils.py\nMIME utils"] AGC["agentCoach.py"] AGAN["agentAnalyst.py"] AGC2["agentCoder.py"] AGE["agentEmail.py"] AGDOC["agentDocumentation.py"] AGWC["agentWebcrawler.py"] end subgraph BE_Connectors["gateway/connectors"] DBJSON["connectorDbJson.py\nJSON DB connector"] AICHAT["connectorAiOpenai.py\nOpenAI connector"] AIANTH["connectorAiAnthropic.py\nAnthropic connector"] end subgraph BE_Main["gateway"] APP["app.py\nFastAPI main app"] AUTH_BE["auth.py\nToken management"] end %% Frontend connections MAIN --> NAV & GLOB & AUTH_FE WF --> WFC & WFU & WFD & WFT WFC --> WFU & WFD & WFT WFD --> API FL --> GLOB PR --> GLOB US --> GLOB MD --> GLOB %% API call from frontend to backend API -- REST/JSON --> APP %% Backend API structure APP --> AUTH_BE & R_MAND & R_USER & R_FL & R_PR & R_WF & R_ATTR %% Backend route to module connections R_MAND --> GI R_USER --> GI R_FL --> LDI R_PR --> LDI R_WF --> WM R_ATTR --> LDI %% Backend module connections WM --> WAR & DP & AGC & AGAN & AGC2 & AGE & AGDOC & AGWC GI --> DBJSON LDI --> DBJSON DP --> LDI WAR --> LDI AGC --> LDI AGAN --> LDI AGC2 --> LDI AGE --> LDI AGDOC --> LDI AGWC --> LDI WM --> CFG & MU LDI --> AICHAT & AIANTH %% Legend classDef frontendMainClass fill:#D6EAF8,stroke:#2E86C1,stroke-width:2px classDef frontendComponentClass fill:#AED6F1,stroke:#2E86C1,stroke-width:1px classDef backendMainClass fill:#D5F5E3,stroke:#239B56,stroke-width:2px classDef backendRouteClass fill:#ABEBC6,stroke:#239B56,stroke-width:1px classDef coreClass fill:#FCF3CF,stroke:#D4AC0D,stroke-width:2px classDef coreSubClass fill:#F9E79F,stroke:#D4AC0D,stroke-width:1px classDef connectorClass fill:#F5EEF8,stroke:#8E44AD,stroke-width:2px %% Assign classes WF:::frontendComponentClass WFC:::frontendComponentClass WFU:::frontendComponentClass WFD:::frontendComponentClass WFT:::frontendComponentClass FL:::frontendComponentClass PR:::frontendComponentClass US:::frontendComponentClass MD:::frontendComponentClass MAIN:::frontendMainClass NAV:::frontendMainClass GLOB:::frontendMainClass UTIL:::frontendMainClass AUTH_FE:::frontendMainClass API:::frontendMainClass R_MAND:::backendRouteClass R_USER:::backendRouteClass R_FL:::backendRouteClass R_PR:::backendRouteClass R_WF:::backendRouteClass R_ATTR:::backendRouteClass APP:::backendMainClass AUTH_BE:::backendMainClass GI:::coreClass LDI:::coreClass WM:::coreClass WAR:::coreClass DP:::coreClass CFG:::coreClass MU:::coreClass AGC:::coreSubClass AGAN:::coreSubClass AGC2:::coreSubClass AGE:::coreSubClass AGDOC:::coreSubClass AGWC:::coreSubClass DBJSON:::connectorClass AICHAT:::connectorClass AIANTH:::connectorClass %% Legend %% Note: REST/JSON arrow = API call, normal arrow = direct import/usage %% Example: API -- REST/JSON --> APP