wiki/z-archive/appdoc/doc_diagram_components.md

11 KiB

Module Import Dependencies Diagram

Dieses Dokument zeigt die vollständigen Import-Abhängigkeiten zwischen allen Modulen im Gateway-System.

Mermaid Diagram

graph TB
    %% External Dependencies
    subgraph "External Libraries"
        EXT1[FastAPI]
        EXT2[SQLAlchemy]
        EXT3[Pydantic]
        EXT4[OpenAI]
        EXT5[LangChain]
        EXT6[ReportLab]
        EXT7[PyMuPDF]
        EXT8[BeautifulSoup4]
        EXT9[Requests]
        EXT10[Pillow]
        EXT11[NumPy]
        EXT12[Pandas]
        EXT13[Matplotlib]
        EXT14[Office365-REST]
        EXT15[Google Cloud APIs]
        EXT16[Cryptography]
        EXT17[JWT]
        EXT18[MySQL Connector]
        EXT19[PostgreSQL]
        EXT20[Selenium]
        EXT21[Tavily]
        EXT22[MSAL]
        EXT23[APScheduler]
        EXT24[Pytest]
    end

    %% Main Module Categories
    subgraph "ROUTES"
        R1[routeChatbot]
        R2[routeChatPlayground]
        R3[routeDataNeutralization]
        R4[routeDataUsers]
        R5[routeDataPrompts]
        R6[routeWorkflows]
        R7[routeDataMandates]
        R8[routeDataFiles]
    end

    subgraph "FEATURES"
        F1[chatBot]
        F2[chatPlayground]
        F3[neutralizePlayground]
        F4[syncDelta]
        F5[featuresLifecycle]
    end

    subgraph "SERVICES"
        S1[serviceAi]
        S2[serviceExtraction]
        S3[serviceGeneration]
        S4[serviceNeutralization]
        S5[serviceWorkflow]
        S6[serviceUtils]
        S7[serviceTicket]
        S8[serviceSharepoint]
        S9[serviceNormalization]
    end

    subgraph "WORKFLOWS"
        W1[workflowManager]
        W2[workflowProcessor]
        W3[processing/core]
        W4[processing/modes]
        W5[processing/shared]
        W6[processing/adaptive]
        W7[methods]
    end

    subgraph "DATAMODELS"
        D1[datamodelChat]
        D2[datamodelAi]
        D3[datamodelExtraction]
        D4[datamodelWeb]
        D5[datamodelUam]
        D6[datamodelNeutralizer]
        D7[datamodelSecurity]
        D8[datamodelChatbot]
    end

    subgraph "INTERFACES"
        I1[interfaceDbAppObjects]
        I2[interfaceDbChatObjects]
        I3[interfaceDbComponentObjects]
        I4[interfaceDbChatAccess]
        I5[interfaceAiObjects]
        I6[interfaceTicketObjects]
    end

    subgraph "CONNECTORS"
        C1[connectorDbPostgre]
        C2[connectorDbMysql]
        C3[connectorAiOpenai]
        C4[connectorAiTavily]
        C5[connectorSharepoint]
        C6[connectorGoogle]
    end

    subgraph "SHARED"
        SH1[configuration]
        SH2[progressLogger]
        SH3[eventManagement]
        SH4[timezoneUtils]
        SH5[jsonUtils]
        SH6[attributeUtils]
        SH7[debugLogger]
    end

    subgraph "SECURITY"
        SEC1[tokenManager]
        SEC2[encryption]
        SEC3[authentication]
    end

    %% Routes to Features
    R1 --> F1
    R2 --> F2
    R3 --> F3
    R4 --> I1
    R5 --> I3
    R6 --> I2
    R7 --> I1
    R8 --> I3

    %% Features to Services/Workflows
    F1 --> D8
    F1 --> D5
    F1 --> SH1
    F1 --> C4
    F2 --> D5
    F2 --> D1
    F2 --> W1
    F2 --> S1
    F3 --> D5
    F3 --> D6
    F3 --> S1
    F4 --> S1
    F5 --> I1

    %% Services Internal Dependencies
    S1 --> S2
    S1 --> D1
    S1 --> D2
    S1 --> D3
    S1 --> D4
    S1 --> I5
    S1 --> S1_subCoreAi
    S1 --> S1_subDocumentProcessing
    S1 --> S1_subWebResearch
    S1 --> S1_subDocumentGeneration

    S2 --> D3
    S2 --> D1
    S2 --> D2
    S2 --> I5
    S2 --> S2_subRegistry
    S2 --> S2_subPipeline
    S2 --> S2_subMerger
    S2 --> S2_subUtils

    S3 --> D1
    S3 --> D2
    S3 --> I5
    S3 --> S3_subDocumentUtility
    S3 --> S3_subPromptBuilder

    S4 --> D6
    S4 --> S4_subProcessCommon
    S4 --> S4_subProcessText
    S4 --> S4_subProcessList
    S4 --> S4_subProcessBinary
    S4 --> S4_subPatterns
    S4 --> S4_subParseString

    S5 --> D5
    S5 --> D1
    S5 --> SEC1
    S5 --> SH2

    S6 --> SH1
    S6 --> SH3
    S6 --> SH4
    S6 --> SH5

    S7 --> I6

    %% Workflows Internal Dependencies
    W1 --> D1
    W1 --> W2

    W2 --> D1
    W2 --> W4_modeBase
    W2 --> W4_modeActionplan
    W2 --> W4_modeReact

    W3_taskPlanner --> D1
    W3_taskPlanner --> D2
    W3_taskPlanner --> W5_promptGenerationTaskplan
    W3_taskPlanner --> W6_IntentAnalyzer

    W3_actionExecutor --> D1
    W3_actionExecutor --> W5_methodDiscovery

    W3_messageCreator --> D1

    W4_modeBase --> D1
    W4_modeBase --> W3_taskPlanner
    W4_modeBase --> W3_actionExecutor
    W4_modeBase --> W3_messageCreator
    W4_modeBase --> W3_validator

    W4_modeActionplan --> D1
    W4_modeActionplan --> D2
    W4_modeActionplan --> W4_modeBase
    W4_modeActionplan --> W5_executionState
    W4_modeActionplan --> W5_promptGenerationActionsActionplan

    W4_modeReact --> D1
    W4_modeReact --> D2
    W4_modeReact --> W4_modeBase
    W4_modeReact --> W5_executionState
    W4_modeReact --> W5_promptGenerationActionsReact
    W4_modeReact --> W5_placeholderFactory
    W4_modeReact --> W6_IntentAnalyzer
    W4_modeReact --> W6_ContentValidator
    W4_modeReact --> W6_LearningEngine
    W4_modeReact --> W6_ProgressTracker
    W4_modeReact --> W6_AdaptiveLearningEngine

    W5_executionState --> D1
    W5_methodDiscovery --> D1
    W5_methodDiscovery --> W7_methodBase
    W5_placeholderFactory --> D1
    W5_placeholderFactory --> W5_methodDiscovery
    W5_promptGenerationActionsActionplan --> D1
    W5_promptGenerationActionsActionplan --> W5_placeholderFactory
    W5_promptGenerationActionsReact --> D1
    W5_promptGenerationActionsReact --> W5_placeholderFactory
    W5_promptGenerationActionsReact --> W5_methodDiscovery
    W5_promptGenerationTaskplan --> D1
    W5_promptGenerationTaskplan --> W5_placeholderFactory

    W7_methodAi --> W7_methodBase
    W7_methodAi --> D1
    W7_methodAi --> D2
    W7_methodAi --> D4

    W7_methodOutlook --> W7_methodBase
    W7_methodOutlook --> D1
    W7_methodOutlook --> D2

    W7_methodSharepoint --> W7_methodBase
    W7_methodSharepoint --> D1

    %% Interfaces to Connectors
    I1 --> C2
    I2 --> C1
    I3 --> C2
    I4 --> C1
    I5 --> C3
    I6 --> C5

    %% Shared Dependencies
    SH1 --> EXT1
    SH2 --> EXT2
    SH3 --> EXT23
    SH4 --> EXT11
    SH5 --> EXT3
    SH6 --> EXT3
    SH7 --> EXT1

    %% Security Dependencies
    SEC1 --> EXT16
    SEC1 --> EXT17
    SEC2 --> EXT16
    SEC3 --> EXT16

    %% Service Extraction Sub-components
    subgraph "SERVICE_EXTRACTION_SUB"
        S2_subRegistry[subRegistry]
        S2_subPipeline[subPipeline]
        S2_subMerger[subMerger]
        S2_subUtils[subUtils]
        S2_extractors[extractors/*]
        S2_chunkers[chunkers/*]
        S2_mergers[mergers/*]
    end

    S2_extractors --> S2_subUtils
    S2_extractors --> S2_subRegistry
    S2_chunkers --> S2_subRegistry
    S2_mergers --> S2_subUtils

    %% Service Generation Sub-components
    subgraph "SERVICE_GENERATION_SUB"
        S3_subDocumentUtility[subDocumentUtility]
        S3_subPromptBuilder[subPromptBuilder]
        S3_renderers[renderers/*]
        S3_rendererBase[rendererBaseTemplate]
    end

    S3_renderers --> S3_rendererBase

    %% Service AI Sub-components
    subgraph "SERVICE_AI_SUB"
        S1_subCoreAi[subCoreAi]
        S1_subDocumentProcessing[subDocumentProcessing]
        S1_subWebResearch[subWebResearch]
        S1_subDocumentGeneration[subDocumentGeneration]
    end

    S1_subDocumentProcessing --> S2
    S1_subWebResearch --> C4
    S1_subWebResearch --> SH1

    %% Workflow Processing Sub-components
    subgraph "WORKFLOW_PROCESSING_SUB"
        W3_taskPlanner[taskPlanner]
        W3_actionExecutor[actionExecutor]
        W3_messageCreator[messageCreator]
        W3_validator[validator]
        W4_modeBase[modeBase]
        W4_modeActionplan[modeActionplan]
        W4_modeReact[modeReact]
        W5_executionState[executionState]
        W5_methodDiscovery[methodDiscovery]
        W5_placeholderFactory[placeholderFactory]
        W5_promptGenerationActionsActionplan[promptGenerationActionsActionplan]
        W5_promptGenerationActionsReact[promptGenerationActionsReact]
        W5_promptGenerationTaskplan[promptGenerationTaskplan]
        W6_IntentAnalyzer[IntentAnalyzer]
        W6_ContentValidator[ContentValidator]
        W6_LearningEngine[LearningEngine]
        W6_ProgressTracker[ProgressTracker]
        W6_AdaptiveLearningEngine[AdaptiveLearningEngine]
        W7_methodBase[methodBase]
        W7_methodAi[methodAi]
        W7_methodOutlook[methodOutlook]
        W7_methodSharepoint[methodSharepoint]
    end

    %% ChatBot Sub-components
    subgraph "CHATBOT_SUB"
        F1_domain[domain/chatbot]
        F1_utils[utils/*]
        F1_tools[chatbotTools/*]
        F1_database[subChatbotDatabase]
    end

    F1 --> F1_domain
    F1 --> F1_utils
    F1 --> F1_tools
    F1 --> F1_database

    %% Styling
    classDef routes fill:#e1f5fe
    classDef features fill:#f3e5f5
    classDef services fill:#e8f5e8
    classDef workflows fill:#fff3e0
    classDef datamodels fill:#fce4ec
    classDef interfaces fill:#f1f8e9
    classDef connectors fill:#e0f2f1
    classDef shared fill:#fff8e1
    classDef security fill:#ffebee
    classDef external fill:#f5f5f5

    class R1,R2,R3,R4,R5,R6,R7,R8 routes
    class F1,F2,F3,F4,F5 features
    class S1,S2,S3,S4,S5,S6,S7,S8,S9 services
    class W1,W2,W3,W4,W5,W6,W7 workflows
    class D1,D2,D3,D4,D5,D6,D7,D8 datamodels
    class I1,I2,I3,I4,I5,I6 interfaces
    class C1,C2,C3,C4,C5,C6 connectors
    class SH1,SH2,SH3,SH4,SH5,SH6,SH7 shared
    class SEC1,SEC2,SEC3 security
    class EXT1,EXT2,EXT3,EXT4,EXT5,EXT6,EXT7,EXT8,EXT9,EXT10,EXT11,EXT12,EXT13,EXT14,EXT15,EXT16,EXT17,EXT18,EXT19,EXT20,EXT21,EXT22,EXT23,EXT24 external

Key Dependencies Summary

Cross-Module Dependencies:

  • Routes → Features: API endpoints use feature modules
  • Features → Services: Features access services via interface
  • Features → Workflows: Only chatPlayground uses workflows
  • Services → Datamodels: All services use data models
  • Workflows → Datamodels: Workflows heavily use chat/AI data models
  • Interfaces → Connectors: Database interfaces use connectors

Internal Module Dependencies:

  • Services: Mostly independent, only serviceAi → serviceExtraction
  • Workflows: Complex internal structure with processing pipeline
  • Features: Independent modules with shared service access

External Dependencies:

  • FastAPI: Web framework
  • SQLAlchemy: Database ORM
  • Pydantic: Data validation
  • AI Libraries: OpenAI, LangChain for AI functionality
  • Document Processing: ReportLab, PyMuPDF for PDF handling
  • Web Scraping: BeautifulSoup4, Selenium, Requests
  • Cloud APIs: Google Cloud, Office365, Tavily
  • Security: Cryptography, JWT for authentication

Architecture Patterns

  1. Layered Architecture: Routes → Features → Services → Interfaces → Connectors
  2. Service Layer: Independent services with clear responsibilities
  3. Workflow Engine: Complex processing pipeline with adaptive learning
  4. Data Models: Centralized data structures used across all layers
  5. Interface Pattern: Abstract interfaces for external system integration