component diagram

This commit is contained in:
ValueOn AG 2025-05-14 23:37:03 +02:00
parent c5181387e5
commit 85cd296fda
5 changed files with 608 additions and 149 deletions

View file

@ -0,0 +1,299 @@
<?xml version="1.0" encoding="UTF-8"?>
<mxfile host="app.diagrams.net">
<diagram id="diagram_komponenten" name="Komponenten">
<mxGraphModel dx="1000" dy="1000" grid="1" gridSize="10" guides="1" tooltips="1" connect="1" arrows="1" fold="1" page="1" pageScale="1" pageWidth="4000" pageHeight="4000" math="0" shadow="0">
<root>
<mxCell id="0"/>
<mxCell id="1" parent="0"/>
<!-- Frontend Swimlane -->
<mxCell id="frontend" value="Frontend" style="swimlane;horizontal=0;fillColor=#e1f5fe;" vertex="1" parent="1">
<mxGeometry x="20" y="20" width="1200" height="1800" as="geometry"/>
</mxCell>
<!-- Gateway Swimlane -->
<mxCell id="gateway" value="Gateway" style="swimlane;horizontal=0;fillColor=#fff3e0;" vertex="1" parent="1">
<mxGeometry x="1300" y="20" width="2000" height="2200" as="geometry"/>
</mxCell>
<!-- Frontend Subgroups -->
<mxCell id="frontend_workflow" value="Workflow" style="swimlane;horizontal=0;fillColor=#e3f2fd;" vertex="1" parent="frontend">
<mxGeometry x="20" y="20" width="350" height="350" as="geometry"/>
</mxCell>
<mxCell id="frontend_admin" value="Administration" style="swimlane;horizontal=0;fillColor=#ede7f6;" vertex="1" parent="frontend">
<mxGeometry x="20" y="400" width="350" height="350" as="geometry"/>
</mxCell>
<mxCell id="frontend_shared" value="Shared" style="swimlane;horizontal=0;fillColor=#e8f5e9;" vertex="1" parent="frontend">
<mxGeometry x="400" y="20" width="350" height="350" as="geometry"/>
</mxCell>
<mxCell id="frontend_sharedtools" value="SharedTools" style="swimlane;horizontal=0;fillColor=#f1f8e9;" vertex="1" parent="frontend">
<mxGeometry x="400" y="400" width="350" height="180" as="geometry"/>
</mxCell>
<mxCell id="frontend_sharedform" value="Shared_Form" style="swimlane;horizontal=0;fillColor=#fffde7;" vertex="1" parent="frontend">
<mxGeometry x="400" y="600" width="350" height="120" as="geometry"/>
</mxCell>
<mxCell id="frontend_security" value="Security" style="swimlane;horizontal=0;fillColor=#ffebee;" vertex="1" parent="frontend">
<mxGeometry x="20" y="800" width="350" height="120" as="geometry"/>
</mxCell>
<!-- Gateway Subgroups -->
<mxCell id="gateway_workflow" value="Workflow_Modules" style="swimlane;horizontal=0;fillColor=#ffe0b2;" vertex="1" parent="gateway">
<mxGeometry x="20" y="20" width="350" height="350" as="geometry"/>
</mxCell>
<mxCell id="gateway_shared" value="Shared_Modules" style="swimlane;horizontal=0;fillColor=#c8e6c9;" vertex="1" parent="gateway">
<mxGeometry x="20" y="400" width="350" height="350" as="geometry"/>
</mxCell>
<mxCell id="gateway_agents" value="Agents" style="swimlane;horizontal=0;fillColor=#b3e5fc;" vertex="1" parent="gateway">
<mxGeometry x="20" y="800" width="350" height="350" as="geometry"/>
</mxCell>
<mxCell id="gateway_interfaces" value="Interfaces" style="swimlane;horizontal=0;fillColor=#f8bbd0;" vertex="1" parent="gateway">
<mxGeometry x="400" y="20" width="350" height="350" as="geometry"/>
</mxCell>
<mxCell id="gateway_connectors" value="Connectors" style="swimlane;horizontal=0;fillColor=#d7ccc8;" vertex="1" parent="gateway">
<mxGeometry x="400" y="400" width="350" height="180" as="geometry"/>
</mxCell>
<mxCell id="gateway_routes" value="Routes" style="swimlane;horizontal=0;fillColor=#fff9c4;" vertex="1" parent="gateway">
<mxGeometry x="400" y="600" width="350" height="350" as="geometry"/>
</mxCell>
<!-- Frontend Nodes -->
<mxCell id="mainjs" value="main.js" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#bbdefb;" vertex="1" parent="frontend">
<mxGeometry x="100" y="60" width="100" height="40" as="geometry"/>
</mxCell>
<mxCell id="workflowCoordination" value="workflowCoordination.js" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#e3f2fd;" vertex="1" parent="frontend_workflow">
<mxGeometry x="40" y="40" width="120" height="40" as="geometry"/>
</mxCell>
<mxCell id="workflowUi" value="workflowUi.js" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#e3f2fd;" vertex="1" parent="frontend_workflow">
<mxGeometry x="180" y="40" width="120" height="40" as="geometry"/>
</mxCell>
<mxCell id="workflowData" value="workflowData.js" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#e3f2fd;" vertex="1" parent="frontend_workflow">
<mxGeometry x="40" y="100" width="120" height="40" as="geometry"/>
</mxCell>
<mxCell id="workflow" value="workflow.js" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#e3f2fd;" vertex="1" parent="frontend_workflow">
<mxGeometry x="180" y="100" width="120" height="40" as="geometry"/>
</mxCell>
<mxCell id="workflowUtils" value="workflowUtils.js" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#e3f2fd;" vertex="1" parent="frontend_workflow">
<mxGeometry x="110" y="160" width="120" height="40" as="geometry"/>
</mxCell>
<mxCell id="users" value="users.js" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#ede7f6;" vertex="1" parent="frontend_admin">
<mxGeometry x="40" y="40" width="100" height="40" as="geometry"/>
</mxCell>
<mxCell id="prompts" value="prompts.js" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#ede7f6;" vertex="1" parent="frontend_admin">
<mxGeometry x="180" y="40" width="100" height="40" as="geometry"/>
</mxCell>
<mxCell id="mandates" value="mandates.js" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#ede7f6;" vertex="1" parent="frontend_admin">
<mxGeometry x="40" y="100" width="100" height="40" as="geometry"/>
</mxCell>
<mxCell id="files" value="files.js" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#ede7f6;" vertex="1" parent="frontend_admin">
<mxGeometry x="180" y="100" width="100" height="40" as="geometry"/>
</mxCell>
<mxCell id="navigation" value="navigation.js" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#e8f5e9;" vertex="1" parent="frontend_shared">
<mxGeometry x="40" y="40" width="100" height="40" as="geometry"/>
</mxCell>
<mxCell id="globalState" value="globalState.js" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#e8f5e9;" vertex="1" parent="frontend_shared">
<mxGeometry x="180" y="40" width="100" height="40" as="geometry"/>
</mxCell>
<mxCell id="msftCalls" value="msftCalls.js" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#e8f5e9;" vertex="1" parent="frontend_shared">
<mxGeometry x="40" y="100" width="100" height="40" as="geometry"/>
</mxCell>
<mxCell id="config" value="config.js" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#e8f5e9;" vertex="1" parent="frontend_shared">
<mxGeometry x="180" y="100" width="100" height="40" as="geometry"/>
</mxCell>
<mxCell id="moduleLoader" value="moduleLoader.js" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#e8f5e9;" vertex="1" parent="frontend_shared">
<mxGeometry x="110" y="160" width="100" height="40" as="geometry"/>
</mxCell>
<mxCell id="utils" value="utils.js" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#e8f5e9;" vertex="1" parent="frontend_shared">
<mxGeometry x="110" y="220" width="100" height="40" as="geometry"/>
</mxCell>
<mxCell id="apiCalls" value="apiCalls.js" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#f1f8e9;" vertex="1" parent="frontend_sharedtools">
<mxGeometry x="40" y="40" width="100" height="40" as="geometry"/>
</mxCell>
<mxCell id="formGeneric" value="formGeneric.js" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#fffde7;" vertex="1" parent="frontend_sharedform">
<mxGeometry x="40" y="40" width="100" height="40" as="geometry"/>
</mxCell>
<mxCell id="login" value="login.js" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#ffebee;" vertex="1" parent="frontend_security">
<mxGeometry x="40" y="40" width="100" height="40" as="geometry"/>
</mxCell>
<mxCell id="register" value="register.js" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#ffebee;" vertex="1" parent="frontend_security">
<mxGeometry x="180" y="40" width="100" height="40" as="geometry"/>
</mxCell>
<mxCell id="auth" value="auth.js" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#ffebee;" vertex="1" parent="frontend_security">
<mxGeometry x="110" y="100" width="100" height="40" as="geometry"/>
</mxCell>
<!-- Gateway Nodes (nur ein Auszug, alle weiteren analog ergänzen) -->
<mxCell id="appPy" value="app.py" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#ffe0b2;" vertex="1" parent="gateway">
<mxGeometry x="100" y="60" width="100" height="40" as="geometry"/>
</mxCell>
<mxCell id="workflowManager" value="workflowManager.py" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#ffe0b2;" vertex="1" parent="gateway_workflow">
<mxGeometry x="40" y="40" width="120" height="40" as="geometry"/>
</mxCell>
<mxCell id="workflowAgentsRegistry" value="workflowAgentsRegistry.py" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#ffe0b2;" vertex="1" parent="gateway_workflow">
<mxGeometry x="180" y="40" width="120" height="40" as="geometry"/>
</mxCell>
<mxCell id="documentProcessor" value="documentProcessor.py" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#ffe0b2;" vertex="1" parent="gateway_workflow">
<mxGeometry x="110" y="100" width="120" height="40" as="geometry"/>
</mxCell>
<mxCell id="mimeUtils" value="mimeUtils.py" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#c8e6c9;" vertex="1" parent="gateway_shared">
<mxGeometry x="40" y="40" width="100" height="40" as="geometry"/>
</mxCell>
<mxCell id="defAttributes" value="defAttributes.py" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#c8e6c9;" vertex="1" parent="gateway_shared">
<mxGeometry x="180" y="40" width="100" height="40" as="geometry"/>
</mxCell>
<mxCell id="authPy" value="auth.py" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#c8e6c9;" vertex="1" parent="gateway_shared">
<mxGeometry x="110" y="100" width="100" height="40" as="geometry"/>
</mxCell>
<mxCell id="configuration" value="configuration.py" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#c8e6c9;" vertex="1" parent="gateway_shared">
<mxGeometry x="110" y="160" width="100" height="40" as="geometry"/>
</mxCell>
<!-- ... alle weiteren Gateway-Module analog ... -->
<!-- Agents -->
<mxCell id="agentAnalyst" value="agentAnalyst.py" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#b3e5fc;" vertex="1" parent="gateway_agents">
<mxGeometry x="40" y="40" width="100" height="40" as="geometry"/>
</mxCell>
<mxCell id="agentWebcrawler" value="agentWebcrawler.py" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#b3e5fc;" vertex="1" parent="gateway_agents">
<mxGeometry x="180" y="40" width="100" height="40" as="geometry"/>
</mxCell>
<mxCell id="agentCoach" value="agentCoach.py" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#b3e5fc;" vertex="1" parent="gateway_agents">
<mxGeometry x="40" y="100" width="100" height="40" as="geometry"/>
</mxCell>
<mxCell id="agentCoder" value="agentCoder.py" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#b3e5fc;" vertex="1" parent="gateway_agents">
<mxGeometry x="180" y="100" width="100" height="40" as="geometry"/>
</mxCell>
<mxCell id="agentDocumentation" value="agentDocumentation.py" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#b3e5fc;" vertex="1" parent="gateway_agents">
<mxGeometry x="40" y="160" width="100" height="40" as="geometry"/>
</mxCell>
<mxCell id="agentEmail" value="agentEmail.py" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#b3e5fc;" vertex="1" parent="gateway_agents">
<mxGeometry x="180" y="160" width="100" height="40" as="geometry"/>
</mxCell>
<!-- Interfaces -->
<mxCell id="gatewayInterface" value="gatewayInterface.py" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#f8bbd0;" vertex="1" parent="gateway_interfaces">
<mxGeometry x="40" y="40" width="120" height="40" as="geometry"/>
</mxCell>
<mxCell id="gatewayModel" value="gatewayModel.py" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#f8bbd0;" vertex="1" parent="gateway_interfaces">
<mxGeometry x="180" y="40" width="120" height="40" as="geometry"/>
</mxCell>
<mxCell id="lucydomInterface" value="lucydomInterface.py" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#f8bbd0;" vertex="1" parent="gateway_interfaces">
<mxGeometry x="40" y="100" width="120" height="40" as="geometry"/>
</mxCell>
<mxCell id="lucydomModel" value="lucydomModel.py" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#f8bbd0;" vertex="1" parent="gateway_interfaces">
<mxGeometry x="180" y="100" width="120" height="40" as="geometry"/>
</mxCell>
<!-- Connectors -->
<mxCell id="connectorAiOpenai" value="connectorAiOpenai.py" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#d7ccc8;" vertex="1" parent="gateway_connectors">
<mxGeometry x="40" y="40" width="120" height="40" as="geometry"/>
</mxCell>
<mxCell id="connectorAiAnthropic" value="connectorAiAnthropic.py" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#d7ccc8;" vertex="1" parent="gateway_connectors">
<mxGeometry x="180" y="40" width="120" height="40" as="geometry"/>
</mxCell>
<mxCell id="connectorDbJson" value="connectorDbJson.py" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#d7ccc8;" vertex="1" parent="gateway_connectors">
<mxGeometry x="110" y="100" width="120" height="40" as="geometry"/>
</mxCell>
<!-- Routes -->
<mxCell id="routeGeneral" value="routeGeneral.py" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#fff9c4;" vertex="1" parent="gateway_routes">
<mxGeometry x="40" y="40" width="120" height="40" as="geometry"/>
</mxCell>
<mxCell id="routeUsers" value="routeUsers.py" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#fff9c4;" vertex="1" parent="gateway_routes">
<mxGeometry x="180" y="40" width="120" height="40" as="geometry"/>
</mxCell>
<mxCell id="routeFiles" value="routeFiles.py" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#fff9c4;" vertex="1" parent="gateway_routes">
<mxGeometry x="40" y="100" width="120" height="40" as="geometry"/>
</mxCell>
<mxCell id="routeMsft" value="routeMsft.py" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#fff9c4;" vertex="1" parent="gateway_routes">
<mxGeometry x="180" y="100" width="120" height="40" as="geometry"/>
</mxCell>
<mxCell id="routeWorkflows" value="routeWorkflows.py" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#fff9c4;" vertex="1" parent="gateway_routes">
<mxGeometry x="40" y="160" width="120" height="40" as="geometry"/>
</mxCell>
<mxCell id="routeMandates" value="routeMandates.py" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#fff9c4;" vertex="1" parent="gateway_routes">
<mxGeometry x="180" y="160" width="120" height="40" as="geometry"/>
</mxCell>
<mxCell id="routeAttributes" value="routeAttributes.py" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#fff9c4;" vertex="1" parent="gateway_routes">
<mxGeometry x="40" y="220" width="120" height="40" as="geometry"/>
</mxCell>
<mxCell id="routePrompts" value="routePrompts.py" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#fff9c4;" vertex="1" parent="gateway_routes">
<mxGeometry x="180" y="220" width="120" height="40" as="geometry"/>
</mxCell>
<!-- EDGES: Hier folgen die wichtigsten echten Kanten (Beispiel, alle weiteren analog ergänzen) -->
<mxCell id="mainjs_navigation" style="edgeStyle=orthogonalEdgeStyle;endArrow=block;html=1;strokeColor=#1976d2;" edge="1" parent="frontend" source="mainjs" target="navigation">
<mxGeometry relative="1" as="geometry"/>
</mxCell>
<mxCell id="mainjs_apiCalls" style="edgeStyle=orthogonalEdgeStyle;endArrow=block;html=1;strokeColor=#1976d2;" edge="1" parent="frontend" source="mainjs" target="apiCalls">
<mxGeometry relative="1" as="geometry"/>
</mxCell>
<mxCell id="workflow_workflowUi" style="edgeStyle=orthogonalEdgeStyle;endArrow=block;html=1;strokeColor=#1976d2;" edge="1" parent="frontend" source="workflow" target="workflowUi">
<mxGeometry relative="1" as="geometry"/>
</mxCell>
<mxCell id="workflowManager_documentProcessor" style="edgeStyle=orthogonalEdgeStyle;endArrow=block;html=1;strokeColor=#f57c00;" edge="1" parent="gateway" source="workflowManager" target="documentProcessor">
<mxGeometry relative="1" as="geometry"/>
</mxCell>
<mxCell id="workflowManager_workflowAgentsRegistry" style="edgeStyle=orthogonalEdgeStyle;endArrow=block;html=1;strokeColor=#f57c00;" edge="1" parent="gateway" source="workflowManager" target="workflowAgentsRegistry">
<mxGeometry relative="1" as="geometry"/>
</mxCell>
<mxCell id="workflowAgentsRegistry_agentAnalyst" style="edgeStyle=orthogonalEdgeStyle;endArrow=block;html=1;strokeColor=#f57c00;" edge="1" parent="gateway" source="workflowAgentsRegistry" target="agentAnalyst">
<mxGeometry relative="1" as="geometry"/>
</mxCell>
<mxCell id="workflowAgentsRegistry_agentWebcrawler" style="edgeStyle=orthogonalEdgeStyle;endArrow=block;html=1;strokeColor=#f57c00;" edge="1" parent="gateway" source="workflowAgentsRegistry" target="agentWebcrawler">
<mxGeometry relative="1" as="geometry"/>
</mxCell>
<mxCell id="workflowAgentsRegistry_agentCoach" style="edgeStyle=orthogonalEdgeStyle;endArrow=block;html=1;strokeColor=#f57c00;" edge="1" parent="gateway" source="workflowAgentsRegistry" target="agentCoach">
<mxGeometry relative="1" as="geometry"/>
</mxCell>
<mxCell id="workflowAgentsRegistry_agentCoder" style="edgeStyle=orthogonalEdgeStyle;endArrow=block;html=1;strokeColor=#f57c00;" edge="1" parent="gateway" source="workflowAgentsRegistry" target="agentCoder">
<mxGeometry relative="1" as="geometry"/>
</mxCell>
<mxCell id="workflowAgentsRegistry_agentDocumentation" style="edgeStyle=orthogonalEdgeStyle;endArrow=block;html=1;strokeColor=#f57c00;" edge="1" parent="gateway" source="workflowAgentsRegistry" target="agentDocumentation">
<mxGeometry relative="1" as="geometry"/>
</mxCell>
<mxCell id="workflowAgentsRegistry_agentEmail" style="edgeStyle=orthogonalEdgeStyle;endArrow=block;html=1;strokeColor=#f57c00;" edge="1" parent="gateway" source="workflowAgentsRegistry" target="agentEmail">
<mxGeometry relative="1" as="geometry"/>
</mxCell>
<mxCell id="gatewayInterface_connectorDbJson" style="edgeStyle=orthogonalEdgeStyle;endArrow=block;html=1;strokeColor=#f57c00;" edge="1" parent="gateway" source="gatewayInterface" target="connectorDbJson">
<mxGeometry relative="1" as="geometry"/>
</mxCell>
<mxCell id="lucydomInterface_connectorAiOpenai" style="edgeStyle=orthogonalEdgeStyle;endArrow=block;html=1;strokeColor=#f57c00;" edge="1" parent="gateway" source="lucydomInterface" target="connectorAiOpenai">
<mxGeometry relative="1" as="geometry"/>
</mxCell>
<mxCell id="lucydomInterface_connectorAiAnthropic" style="edgeStyle=orthogonalEdgeStyle;endArrow=block;html=1;strokeColor=#f57c00;" edge="1" parent="gateway" source="lucydomInterface" target="connectorAiAnthropic">
<mxGeometry relative="1" as="geometry"/>
</mxCell>
<mxCell id="lucydomInterface_connectorDbJson" style="edgeStyle=orthogonalEdgeStyle;endArrow=block;html=1;strokeColor=#f57c00;" edge="1" parent="gateway" source="lucydomInterface" target="connectorDbJson">
<mxGeometry relative="1" as="geometry"/>
</mxCell>
<!-- Weitere Beispiel-Kanten (Frontend, Backend, Shared, etc.) -->
<mxCell id="users_formGeneric" style="edgeStyle=orthogonalEdgeStyle;endArrow=block;html=1;strokeColor=#1976d2;" edge="1" parent="frontend" source="users" target="formGeneric">
<mxGeometry relative="1" as="geometry"/>
</mxCell>
<mxCell id="prompts_formGeneric" style="edgeStyle=orthogonalEdgeStyle;endArrow=block;html=1;strokeColor=#1976d2;" edge="1" parent="frontend" source="prompts" target="formGeneric">
<mxGeometry relative="1" as="geometry"/>
</mxCell>
<mxCell id="mandates_formGeneric" style="edgeStyle=orthogonalEdgeStyle;endArrow=block;html=1;strokeColor=#1976d2;" edge="1" parent="frontend" source="mandates" target="formGeneric">
<mxGeometry relative="1" as="geometry"/>
</mxCell>
<mxCell id="files_formGeneric" style="edgeStyle=orthogonalEdgeStyle;endArrow=block;html=1;strokeColor=#1976d2;" edge="1" parent="frontend" source="files" target="formGeneric">
<mxGeometry relative="1" as="geometry"/>
</mxCell>
<mxCell id="formGeneric_apiCalls" style="edgeStyle=orthogonalEdgeStyle;endArrow=block;html=1;strokeColor=#1976d2;" edge="1" parent="frontend" source="formGeneric" target="apiCalls">
<mxGeometry relative="1" as="geometry"/>
</mxCell>
<mxCell id="navigation_moduleLoader" style="edgeStyle=orthogonalEdgeStyle;endArrow=block;html=1;strokeColor=#1976d2;" edge="1" parent="frontend" source="navigation" target="moduleLoader">
<mxGeometry relative="1" as="geometry"/>
</mxCell>
<mxCell id="moduleLoader_workflow" style="edgeStyle=orthogonalEdgeStyle;endArrow=block;html=1;strokeColor=#1976d2;" edge="1" parent="frontend" source="moduleLoader" target="workflow">
<mxGeometry relative="1" as="geometry"/>
</mxCell>
<mxCell id="moduleLoader_users" style="edgeStyle=orthogonalEdgeStyle;endArrow=block;html=1;strokeColor=#1976d2;" edge="1" parent="frontend" source="moduleLoader" target="users">
<mxGeometry relative="1" as="geometry"/>
</mxCell>
<mxCell id="moduleLoader_prompts" style="edgeStyle=orthogonalEdgeStyle;endArrow=block;html=1;strokeColor=#1976d2;" edge="1" parent="frontend" source="moduleLoader" target="prompts">
<mxGeometry relative="1" as="geometry"/>
</mxCell>
<mxCell id="moduleLoader_mandates" style="edgeStyle=orthogonalEdgeStyle;endArrow=block;html=1;strokeColor=#1976d2;" edge="1" parent="frontend" source="moduleLoader" target="mandates">
<mxGeometry relative="1" as="geometry"/>
</mxCell>
<mxCell id="moduleLoader_files" style="edgeStyle=orthogonalEdgeStyle;endArrow=block;html=1;strokeColor=#1976d2;" edge="1" parent="frontend" source="moduleLoader" target="files">
<mxGeometry relative="1" as="geometry"/>
</mxCell>
<!-- ... weitere Kanten nach Bedarf ... -->
</root>
</mxGraphModel>
</diagram>
</mxfile>

File diff suppressed because one or more lines are too long

Binary file not shown.

View file

@ -1,156 +1,181 @@
---
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
%% Mermaid component diagram for PowerOn architecture
%% Generated based on current code in frontend_agents and gateway
%% Each box uses <br> for line breaks and shows the path to the module
%% Subgraph titles use underscores
%% Connectors are lines only, no text
%% 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
flowchart TD
%% API call from frontend to backend
API -- REST/JSON --> APP
%% --- FRONTEND ---
subgraph Frontend [Frontend_<br>frontend_agents/public/js/]
subgraph Workflow [Workflow_<br>frontend_agents/public/js/modules/]
workflowCoordination["workflowCoordination.js<br>js/modules/workflowCoordination.js"]
workflowUi["workflowUi.js<br>js/modules/workflowUi.js"]
workflowData["workflowData.js<br>js/modules/workflowData.js"]
workflow["workflow.js<br>js/modules/workflow.js"]
workflowUtils["workflowUtils.js<br>js/modules/workflowUtils.js"]
end
subgraph Administration [Administration_<br>frontend_agents/public/js/modules/]
users["users.js<br>js/modules/users.js"]
prompts["prompts.js<br>js/modules/prompts.js"]
mandates["mandates.js<br>js/modules/mandates.js"]
files["files.js<br>js/modules/files.js"]
end
subgraph Shared [Shared_<br>frontend_agents/public/js/shared/]
navigation["navigation.js<br>js/shared/navigation.js"]
globalState["globalState.js<br>js/shared/globalState.js"]
msftCalls["msftCalls.js<br>js/shared/msftCalls.js"]
config["config.js<br>js/shared/config.js"]
moduleLoader["moduleLoader.js<br>js/shared/moduleLoader.js"]
utils["utils.js<br>js/shared/utils.js"]
end
subgraph SharedTools_ [SharedTools_<br>frontend_agents/public/js/shared/]
apiCalls["apiCalls.js<br>js/shared/apiCalls.js"]
end
subgraph Shared_Form [Shared_Form<br>frontend_agents/public/js/shared/]
formGeneric["formGeneric.js<br>js/shared/formGeneric.js"]
end
subgraph Security [Security_<br>frontend_agents/public/js/security/]
login["login.js<br>js/security/login.js"]
register["register.js<br>js/security/register.js"]
auth["auth.js<br>js/security/auth.js"]
end
main["main.js<br>js/main.js"]
end
%% Backend API structure
APP --> AUTH_BE & R_MAND & R_USER & R_FL & R_PR & R_WF & R_ATTR
%% --- GATEWAY/BACKEND ---
subgraph Gateway [Gateway_<br>gateway/]
app["app.py<br>gateway/app.py"]
subgraph Workflow_Modules [Workflow_<br>gateway/modules/]
workflowManager["workflowManager.py<br>modules/workflowManager.py"]
workflowAgentsRegistry["workflowAgentsRegistry.py<br>modules/workflowAgentsRegistry.py"]
documentProcessor["documentProcessor.py<br>modules/documentProcessor.py"]
end
subgraph Shared_Modules [Shared_<br>gateway/modules/]
mimeUtils["mimeUtils.py<br>modules/mimeUtils.py"]
defAttributes["defAttributes.py<br>modules/defAttributes.py"]
configuration["configuration.py<br>modules/configuration.py"]
authPy["auth.py<br>modules/auth.py"]
end
subgraph Agents [Agents_<br>gateway/modules/]
agentAnalyst["agentAnalyst.py<br>modules/agentAnalyst.py"]
agentWebcrawler["agentWebcrawler.py<br>modules/agentWebcrawler.py"]
agentCoach["agentCoach.py<br>modules/agentCoach.py"]
agentCoder["agentCoder.py<br>modules/agentCoder.py"]
agentDocumentation["agentDocumentation.py<br>modules/agentDocumentation.py"]
agentEmail["agentEmail.py<br>modules/agentEmail.py"]
end
subgraph Interfaces [Interfaces_<br>gateway/modules/]
gatewayInterface["gatewayInterface.py<br>modules/gatewayInterface.py"]
gatewayModel["gatewayModel.py<br>modules/gatewayModel.py"]
lucydomInterface["lucydomInterface.py<br>modules/lucydomInterface.py"]
lucydomModel["lucydomModel.py<br>modules/lucydomModel.py"]
end
subgraph Connectors [Connectors_<br>gateway/connectors/]
connectorAiOpenai["connectorAiOpenai.py<br>connectors/connectorAiOpenai.py"]
connectorAiAnthropic["connectorAiAnthropic.py<br>connectors/connectorAiAnthropic.py"]
connectorDbJson["connectorDbJson.py<br>connectors/connectorDbJson.py"]
end
subgraph Routes [Routes_<br>gateway/routes/]
routeGeneral["routeGeneral.py<br>routes/routeGeneral.py"]
routeUsers["routeUsers.py<br>routes/routeUsers.py"]
routeFiles["routeFiles.py<br>routes/routeFiles.py"]
routeMsft["routeMsft.py<br>routes/routeMsft.py"]
routeWorkflows["routeWorkflows.py<br>routes/routeWorkflows.py"]
routeMandates["routeMandates.py<br>routes/routeMandates.py"]
routeAttributes["routeAttributes.py<br>routes/routeAttributes.py"]
routePrompts["routePrompts.py<br>routes/routePrompts.py"]
end
end
%% Backend route to module connections
R_MAND --> GI
R_USER --> GI
R_FL --> LDI
R_PR --> LDI
R_WF --> WM
R_ATTR --> LDI
%% --- CONNECTIONS ---
main --> navigation
main --> globalState
main --> login
main --> register
main --> msftCalls
main --> config
navigation --> moduleLoader
moduleLoader --> workflow
moduleLoader --> users
moduleLoader --> prompts
moduleLoader --> mandates
moduleLoader --> files
users --> formGeneric
prompts --> formGeneric
mandates --> formGeneric
files --> formGeneric
formGeneric --> apiCalls
apiCalls -.-> app
app --> routeGeneral
app --> routeUsers
app --> routeFiles
app --> routeMsft
app --> routeWorkflows
app --> routeMandates
app --> routeAttributes
app --> routePrompts
workflow --> workflowCoordination
workflow --> workflowUi
workflow --> workflowData
workflow --> workflowUtils
workflowManager --> workflowAgentsRegistry
workflowManager --> documentProcessor
workflowAgentsRegistry --> agentAnalyst
workflowAgentsRegistry --> agentWebcrawler
workflowAgentsRegistry --> agentCoach
workflowAgentsRegistry --> agentCoder
workflowAgentsRegistry --> agentDocumentation
workflowAgentsRegistry --> agentEmail
%% 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
%% --- BACKEND ROUTE TO MODULE CONNECTIONS ---
routeWorkflows --> lucydomInterface
routeWorkflows --> lucydomModel
routeWorkflows --> workflowManager
routeUsers --> gatewayInterface
routeUsers --> gatewayModel
routePrompts --> lucydomInterface
routePrompts --> lucydomModel
routeMsft --> lucydomInterface
routeMandates --> gatewayInterface
routeMandates --> gatewayModel
routeGeneral --> gatewayInterface
routeGeneral --> gatewayModel
routeFiles --> lucydomInterface
routeFiles --> lucydomModel
routeAttributes --> gatewayModel
routeAttributes --> lucydomModel
routeAttributes --> defAttributes
lucydomInterface --> lucydomModel
lucydomInterface --> configuration
lucydomInterface --> mimeUtils
gatewayInterface --> gatewayModel
%% 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
%% --- FRONTEND SHARED TOOLS CONNECTIONS ---
main --> apiCalls
auth --> apiCalls
workflowUi --> apiCalls
workflowData --> apiCalls
workflow --> apiCalls
users --> apiCalls
prompts --> apiCalls
mandates --> apiCalls
files --> apiCalls
formGeneric --> apiCalls
navigation --> msftCalls
workflowUi --> msftCalls
workflowUi --> utils
workflow --> utils
files --> utils
msftCalls --> utils
users --> utils
prompts --> utils
mandates --> utils
formGeneric --> utils
main --> utils
%% 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
%% --- BACKEND CONNECTORS ---
lucydomInterface --> connectorAiOpenai
lucydomInterface --> connectorAiAnthropic
lucydomInterface --> connectorDbJson
gatewayInterface --> connectorDbJson

134
poweron/doc_product.md Normal file
View file

@ -0,0 +1,134 @@
# Dokumentation PowerOn Plattform
## Inhaltsverzeichnis
### TEIL I: EXECUTIVE SUMMARY
1. **Über PowerOn**
- Vision und Mission
- Kernprobleme, die gelöst werden
- Zielmarkt und Nutzerbasis
### TEIL II: INVESTORENINFORMATIONEN
2. **Produktübersicht**
- Kernfunktionen
- Marktpositionierung
- Wettbewerbsanalyse
- Alleinstellungsmerkmale (USP)
3. **Marktanalyse**
- Zielmarktgröße (TAM/SAM/SOM)
- Aktuelle Markttrends
- Wachstumsprognosen
- Wettbewerbslandschaft
4. **Technische Architektur**
- Systemarchitektur
- Technologiestack
- API-Design und Standards
- Skalierbarkeitskonzept
- Cloud-Infrastruktur
5. **Sicherheitskonzept**
- Datenschutzmaßnahmen
- Compliance-Standards (DSGVO, ISO 27001, etc.)
- Penetrationstests und Sicherheitsaudits
6. **Geschäftsmodell**
- Preismodelle
- Umsatzquellen
- Kundenbindungsstrategie
- Kostenstruktur
7. **Metriken und Kennzahlen**
- Aktuelle Nutzerzahlen
- Wachstumsraten
- Engagement-Metriken
- Kundenbindungsraten
- Unit Economics
8. **Roadmap und Zukunftsvision**
- Kurzfristige Entwicklungsziele (6-12 Monate)
- Mittelfristige Entwicklungsziele (1-3 Jahre)
- Langfristige Vision
9. **Team und Expertise**
- Führungsteam und Kernkompetenzen
- Entwicklungsteam
- Berater und Partner
- Investoren (falls vorhanden)
10. **Finanzielle Informationen**
- Aktuelle Finanzlage
- Kapitalbedarf
- Verwendung der Investitionsmittel
- Finanzprognosen
- Return-on-Investment-Analyse
### TEIL III: KUNDENINFORMATIONEN
11. **Produktbeschreibung**
- Ausführliche Beschreibung aller Funktionen
- Nutzenversprechen für verschiedene Benutzergruppen
- Screenshots und Benutzeroberfläche
- Fallbeispiele und Use Cases
12. **Onboarding-Prozess**
- Registrierung und Setup
- Erste Schritte für neue Nutzer
- Integration in bestehende Systeme
- Migrationsleitfäden
13. **Preismodelle**
- Verfügbare Abonnements/Pläne
- Feature-Vergleich nach Plan
- Zahlungsoptionen
- Rabatte und Sonderangebote
14. **API-Dokumentation**
- API-Überblick
- Authentifizierung und Autorisierung
- Endpunkte und Methoden
- Request/Response-Formate
- Fehlerbehandlung
- Rate Limits
- Beispielcode in verschiedenen Programmiersprachen
15. **Service Level Agreements**
- Verfügbarkeitszusagen
- Performance-Garantien
- Support-Reaktionszeiten
- Datensicherungs- und Wiederherstellungsrichtlinien
16. **Support und Ressourcen**
- Support-Kanäle
- Hilfe-Center
- Schulungsmaterialien
- Community-Forum
- Entwickler-Community
17. **Datenschutz und Sicherheitsrichtlinien**
- Datenschutzerklärung
- Nutzungsbedingungen
- Datensicherheitsmaßnahmen
- Umgang mit personenbezogenen Daten
### TEIL IV: ANHÄNGE
18. **Fallstudien und Erfolgsgeschichten**
- Detaillierte Kundenbeispiele
- ROI-Berechnungen für Kunden
- Testimonials
19. **Häufig gestellte Fragen (FAQ)**
- Für Investoren
- Für Kunden
- Für Entwickler
20. **Glossar**
- Fachbegriffe und Definitionen
21. **Kontaktinformationen**
- Ansprechpartner für Investoren
- Ansprechpartner für Kunden
- Ansprechpartner für technische Fragen