From 4b00e741b3e1ed497028925336fd30d189625c8b Mon Sep 17 00:00:00 2001
From: ValueOn AG
Date: Mon, 15 Dec 2025 21:55:26 +0100
Subject: [PATCH] refactored service center
---
LICENSE.txt | 30 ++++
README.txt | 46 ++++++
app.py | 2 +
modules/aicore/aicoreBase.py | 2 +
modules/aicore/aicoreModelRegistry.py | 2 +
modules/aicore/aicoreModelSelector.py | 2 +
modules/aicore/aicorePluginAnthropic.py | 2 +
modules/aicore/aicorePluginInternal.py | 2 +
modules/aicore/aicorePluginOpenai.py | 2 +
modules/aicore/aicorePluginPerplexity.py | 2 +
modules/aicore/aicorePluginTavily.py | 2 +
modules/auth/__init__.py | 2 +
modules/auth/authentication.py | 2 +
modules/auth/csrf.py | 2 +
modules/auth/jwtService.py | 2 +
modules/auth/tokenManager.py | 2 +
modules/auth/tokenRefreshMiddleware.py | 2 +
modules/auth/tokenRefreshService.py | 2 +
modules/connectors/connectorDbPostgre.py | 2 +
modules/connectors/connectorMessagingEmail.py | 2 +
modules/connectors/connectorMessagingSms.py | 2 +
modules/connectors/connectorTicketsClickup.py | 2 +
modules/connectors/connectorTicketsJira.py | 2 +
modules/connectors/connectorVoiceGoogle.py | 2 +
modules/datamodels/__init__.py | 2 +
modules/datamodels/datamodelAi.py | 2 +
modules/datamodels/datamodelChat.py | 2 +
modules/datamodels/datamodelDocref.py | 2 +
modules/datamodels/datamodelDocument.py | 2 +
modules/datamodels/datamodelExtraction.py | 2 +
modules/datamodels/datamodelFiles.py | 2 +
modules/datamodels/datamodelJson.py | 2 +
modules/datamodels/datamodelMessaging.py | 2 +
modules/datamodels/datamodelNeutralizer.py | 2 +
modules/datamodels/datamodelPagination.py | 2 +
modules/datamodels/datamodelRbac.py | 2 +
modules/datamodels/datamodelSecurity.py | 2 +
modules/datamodels/datamodelTickets.py | 2 +
modules/datamodels/datamodelTools.py | 2 +
modules/datamodels/datamodelUam.py | 2 +
modules/datamodels/datamodelUtils.py | 2 +
modules/datamodels/datamodelVoice.py | 2 +
modules/datamodels/datamodelWorkflow.py | 2 +
.../dynamicOptions/mainDynamicOptions.py | 2 +
modules/features/featuresLifecycle.py | 2 +
.../mainNeutralizePlayground.py | 2 +
modules/features/workflow/__init__.py | 2 +
modules/features/workflow/mainWorkflow.py | 2 +
.../workflow/subAutomationTemplates.py | 2 +
.../features/workflow/subAutomationUtils.py | 2 +
modules/interfaces/interfaceAiObjects.py | 2 +
modules/interfaces/interfaceBootstrap.py | 2 +
modules/interfaces/interfaceDbAppObjects.py | 2 +
modules/interfaces/interfaceDbChatObjects.py | 2 +
.../interfaces/interfaceDbComponentObjects.py | 2 +
modules/interfaces/interfaceMessaging.py | 2 +
modules/interfaces/interfaceRbac.py | 2 +
modules/interfaces/interfaceTicketObjects.py | 2 +
modules/interfaces/interfaceVoiceObjects.py | 2 +
modules/routes/routeAdmin.py | 2 +
modules/routes/routeAdminAutomationEvents.py | 2 +
modules/routes/routeAdminRbacRoles.py | 2 +
modules/routes/routeAttributes.py | 2 +
modules/routes/routeChatPlayground.py | 2 +
modules/routes/routeDataAutomation.py | 2 +
modules/routes/routeDataConnections.py | 2 +
modules/routes/routeDataFiles.py | 2 +
modules/routes/routeDataMandates.py | 2 +
modules/routes/routeDataNeutralization.py | 2 +
modules/routes/routeDataPrompts.py | 2 +
modules/routes/routeDataUsers.py | 2 +
modules/routes/routeMessaging.py | 2 +
modules/routes/routeOptions.py | 2 +
modules/routes/routeRbac.py | 2 +
modules/routes/routeSecurityAdmin.py | 2 +
modules/routes/routeSecurityGoogle.py | 2 +
modules/routes/routeSecurityLocal.py | 2 +
modules/routes/routeSecurityMsft.py | 2 +
modules/routes/routeSharepoint.py | 2 +
modules/routes/routeVoiceGoogle.py | 2 +
modules/routes/routeWorkflows.py | 2 +
modules/security/__init__.py | 2 +
modules/security/rbac.py | 2 +
modules/security/rbacHelpers.py | 2 +
modules/security/rootAccess.py | 2 +
modules/services/__init__.py | 2 +
modules/services/serviceAi/mainServiceAi.py | 2 +
.../serviceAi/subJsonResponseHandling.py | 2 +
.../services/serviceChat/mainServiceChat.py | 2 +
.../services/serviceExtraction/__init__.py | 2 +
.../serviceExtraction/chunking/__init__.py | 2 +
.../chunking/chunkerImage.py | 2 +
.../chunking/chunkerStructure.py | 2 +
.../chunking/chunkerTable.py | 2 +
.../serviceExtraction/chunking/chunkerText.py | 2 +
.../serviceExtraction/extractors/__init__.py | 2 +
.../extractors/extractorBinary.py | 2 +
.../extractors/extractorCsv.py | 2 +
.../extractors/extractorDocx.py | 2 +
.../extractors/extractorHtml.py | 2 +
.../extractors/extractorImage.py | 2 +
.../extractors/extractorJson.py | 2 +
.../extractors/extractorPdf.py | 2 +
.../extractors/extractorPptx.py | 2 +
.../extractors/extractorSql.py | 2 +
.../extractors/extractorText.py | 2 +
.../extractors/extractorXlsx.py | 2 +
.../extractors/extractorXml.py | 2 +
.../mainServiceExtraction.py | 2 +
.../serviceExtraction/merging/__init__.py | 2 +
.../merging/mergerDefault.py | 2 +
.../serviceExtraction/merging/mergerTable.py | 2 +
.../serviceExtraction/merging/mergerText.py | 2 +
.../services/serviceExtraction/subMerger.py | 2 +
.../services/serviceExtraction/subPipeline.py | 2 +
.../subPromptBuilderExtraction.py | 2 +
.../services/serviceExtraction/subRegistry.py | 2 +
.../services/serviceExtraction/subUtils.py | 2 +
.../mainServiceGeneration.py | 2 +
.../serviceGeneration/renderers/registry.py | 2 +
.../renderers/rendererBaseTemplate.py | 2 +
.../renderers/rendererCsv.py | 2 +
.../renderers/rendererDocx.py | 2 +
.../renderers/rendererHtml.py | 2 +
.../renderers/rendererImage.py | 2 +
.../renderers/rendererJson.py | 2 +
.../renderers/rendererMarkdown.py | 2 +
.../renderers/rendererPdf.py | 2 +
.../renderers/rendererPptx.py | 2 +
.../renderers/rendererText.py | 2 +
.../renderers/rendererXlsx.py | 2 +
.../serviceGeneration/subDocumentUtility.py | 2 +
.../serviceGeneration/subJsonSchema.py | 2 +
.../subPromptBuilderGeneration.py | 2 +
.../serviceMessaging/mainServiceMessaging.py | 2 +
.../subSubscriptionSystemErrors.py | 2 +
.../mainServiceNeutralization.py | 2 +
.../serviceNeutralization/subParseString.py | 2 +
.../serviceNeutralization/subPatterns.py | 2 +
.../serviceNeutralization/subProcessBinary.py | 2 +
.../serviceNeutralization/subProcessCommon.py | 2 +
.../serviceNeutralization/subProcessList.py | 2 +
.../serviceNeutralization/subProcessText.py | 2 +
.../mainServiceNormalization.py | 2 +
.../serviceSecurity/mainServiceSecurity.py | 2 +
.../mainServiceSharepoint.py | 2 +
.../serviceTicket/mainServiceTicket.py | 2 +
.../services/serviceUtils/mainServiceUtils.py | 2 +
modules/services/serviceWeb/mainServiceWeb.py | 2 +
modules/shared/attributeUtils.py | 2 +
modules/shared/auditLogger.py | 2 +
modules/shared/callbackRegistry.py | 2 +
modules/shared/configuration.py | 2 +
modules/shared/debugLogger.py | 2 +
modules/shared/eventManagement.py | 2 +
modules/shared/frontendOptionsTypes.py | 2 +
modules/shared/frontendTypes.py | 148 ++++++++++++++++++
modules/shared/jsonUtils.py | 2 +
modules/shared/progressLogger.py | 2 +
modules/shared/timeUtils.py | 2 +
modules/workflows/methods/methodAi.py | 2 +
modules/workflows/methods/methodBase.py | 2 +
modules/workflows/methods/methodContext.py | 2 +
modules/workflows/methods/methodJira.py | 2 +
modules/workflows/methods/methodOutlook.py | 2 +
modules/workflows/methods/methodSharepoint.py | 2 +
.../workflows/processing/adaptive/__init__.py | 2 +
.../adaptive/adaptiveLearningEngine.py | 2 +
.../processing/adaptive/contentValidator.py | 2 +
.../processing/adaptive/learningEngine.py | 2 +
.../processing/adaptive/progressTracker.py | 2 +
modules/workflows/processing/core/__init__.py | 2 +
.../processing/core/actionExecutor.py | 2 +
.../processing/core/messageCreator.py | 2 +
.../workflows/processing/core/taskPlanner.py | 2 +
.../workflows/processing/core/validator.py | 2 +
.../workflows/processing/modes/__init__.py | 2 +
.../processing/modes/modeAutomation.py | 2 +
.../workflows/processing/modes/modeBase.py | 2 +
.../workflows/processing/modes/modeDynamic.py | 2 +
.../workflows/processing/shared/__init__.py | 2 +
.../processing/shared/executionState.py | 2 +
.../processing/shared/methodDiscovery.py | 2 +
.../processing/shared/placeholderFactory.py | 2 +
.../shared/promptGenerationActionsDynamic.py | 2 +
.../shared/promptGenerationTaskplan.py | 2 +
.../workflows/processing/shared/stateTools.py | 2 +
.../workflows/processing/workflowProcessor.py | 2 +
modules/workflows/workflowManager.py | 2 +
tests/__init__.py | 2 +
tests/conftest.py | 2 +
tests/functional/__init__.py | 2 +
tests/functional/test01_ai_model_selection.py | 2 +
tests/functional/test02_ai_models.py | 2 +
tests/functional/test03_ai_operations.py | 2 +
tests/functional/test04_ai_behavior.py | 2 +
.../test05_workflow_with_documents.py | 2 +
.../test06_workflow_prompt_variations.py | 2 +
tests/functional/test07_json_merge.py | 2 +
tests/functional/test08_json_finalization.py | 2 +
tests/functional/test_kpi_full.py | 2 +
tests/functional/test_kpi_incomplete.py | 2 +
tests/functional/test_kpi_path.py | 2 +
tests/integration/__init__.py | 2 +
tests/integration/options/test_options_api.py | 2 +
tests/integration/rbac/__init__.py | 2 +
tests/integration/rbac/test_rbac_database.py | 2 +
.../workflows/test_workflow_execution.py | 2 +
tests/unit/__init__.py | 2 +
tests/unit/datamodels/test_docref.py | 2 +
tests/unit/datamodels/test_workflow_models.py | 2 +
.../options/test_frontend_options_types.py | 2 +
tests/unit/options/test_main_options.py | 2 +
tests/unit/rbac/__init__.py | 2 +
tests/unit/rbac/test_rbac_bootstrap.py | 2 +
tests/unit/rbac/test_rbac_permissions.py | 2 +
tests/unit/utils/test_json_utils.py | 2 +
tests/unit/workflows/test_state_management.py | 2 +
.../test_architecture_validation.py | 2 +
tool_security_encrypt_all_env_files.py | 2 +
tool_security_encrypt_config_value.py | 2 +
tool_security_generate_master_keys.py | 2 +
tool_stats_durations_from_log.py | 2 +
tool_stats_get_codelines.py | 2 +
tool_stats_showUnusedFunctions.py | 2 +
225 files changed, 668 insertions(+)
create mode 100644 LICENSE.txt
create mode 100644 README.txt
create mode 100644 modules/shared/frontendTypes.py
diff --git a/LICENSE.txt b/LICENSE.txt
new file mode 100644
index 00000000..7615f4ee
--- /dev/null
+++ b/LICENSE.txt
@@ -0,0 +1,30 @@
+PROPRIETARY LICENSE – ALL RIGHTS RESERVED
+========================================
+
+Copyright (c) 2025 Patrick Motsch
+
+Dieses Software-Repository enthält proprietäre und vertrauliche
+Software.
+
+ALLE RECHTE VORBEHALTEN.
+
+Ohne vorherige ausdrückliche schriftliche Zustimmung des Rechteinhabers
+ist es untersagt, diese Software oder Teile davon:
+
+• zu verwenden
+• zu kopieren
+• zu modifizieren
+• zu verbreiten
+• öffentlich zugänglich zu machen
+• zu lizenzieren oder weiterzugeben
+• zu dekompilieren, zu disassemblieren oder zu reverse engineeren
+
+Die Nutzung dieser Software ist ausschließlich im Rahmen eines
+separaten kommerziellen Lizenz- oder Nutzungsvertrags mit dem
+Rechteinhaber gestattet.
+
+Dieser Lizenzhinweis ersetzt keinen individuellen Lizenzvertrag
+und gewährt keinerlei Nutzungsrechte.
+
+© 2025 Patrick Motsch. Alle Rechte vorbehalten.
+
diff --git a/README.txt b/README.txt
new file mode 100644
index 00000000..97546d95
--- /dev/null
+++ b/README.txt
@@ -0,0 +1,46 @@
+AI TOOLKIT – PROPRIETARY SOFTWARE
+================================
+
+Dieses Repository enthält proprietäre Software (AI Toolkit),
+die vom Rechteinhaber entwickelt wurde.
+
+STATUS
+------
+• Proprietäre, nicht quelloffene Software
+• Kein Open-Source-Projekt
+• Nutzung nur auf Basis eines separaten schriftlichen Lizenzvertrags
+
+LIZENZ
+------
+Dieses Repository unterliegt keiner Open-Source-Lizenz.
+Alle Rechte sind vorbehalten.
+
+Ohne eine explizite schriftliche Lizenzvereinbarung mit dem Rechteinhaber
+ist es untersagt, den Code oder Teile davon:
+
+• zu nutzen
+• zu kopieren
+• zu verändern
+• zu verbreiten
+• weiterzuverkaufen
+• zu dekompilieren oder zu reverse engineeren
+
+KUNDENPRODUKTE
+--------------
+Produkte, die auf Basis dieses Toolkits erstellt werden,
+unterliegen separaten Lizenzverträgen.
+
+Die kundenspezifischen Produktkonfigurationen (z. B. Prompts,
+Parameter, Workflows, fachliche Logik) stehen – sofern vertraglich
+vereinbart – im Eigentum des jeweiligen Kunden.
+
+Der zugrundeliegende Toolkit-Code verbleibt vollständig
+beim Rechteinhaber.
+
+KONTAKT
+-------
+Für kommerzielle Lizenzen oder Rückfragen:
+Patrick Motsch
+
+© 2025 Patrick Motsch. Alle Rechte vorbehalten.
+
diff --git a/app.py b/app.py
index 8788b4ec..49aa31f2 100644
--- a/app.py
+++ b/app.py
@@ -1,3 +1,5 @@
+# Copyright (c) 2025 Patrick Motsch
+# All rights reserved.
import os
import sys
import unicodedata
diff --git a/modules/aicore/aicoreBase.py b/modules/aicore/aicoreBase.py
index 848590fc..e39c0a54 100644
--- a/modules/aicore/aicoreBase.py
+++ b/modules/aicore/aicoreBase.py
@@ -1,3 +1,5 @@
+# Copyright (c) 2025 Patrick Motsch
+# All rights reserved.
"""
Base connector interface for AI connectors.
All AI connectors should inherit from this class.
diff --git a/modules/aicore/aicoreModelRegistry.py b/modules/aicore/aicoreModelRegistry.py
index 74a5ad62..45325be8 100644
--- a/modules/aicore/aicoreModelRegistry.py
+++ b/modules/aicore/aicoreModelRegistry.py
@@ -1,3 +1,5 @@
+# Copyright (c) 2025 Patrick Motsch
+# All rights reserved.
"""
Dynamic model registry that collects models from all AI connectors.
Implements plugin-like architecture for connector discovery.
diff --git a/modules/aicore/aicoreModelSelector.py b/modules/aicore/aicoreModelSelector.py
index e1961fa0..eeda64d9 100644
--- a/modules/aicore/aicoreModelSelector.py
+++ b/modules/aicore/aicoreModelSelector.py
@@ -1,3 +1,5 @@
+# Copyright (c) 2025 Patrick Motsch
+# All rights reserved.
"""
Simplified model selection based on model properties and priority-based sorting.
No complex rules needed - just filter by properties and sort by priority!
diff --git a/modules/aicore/aicorePluginAnthropic.py b/modules/aicore/aicorePluginAnthropic.py
index de8a312f..5232d5a3 100644
--- a/modules/aicore/aicorePluginAnthropic.py
+++ b/modules/aicore/aicorePluginAnthropic.py
@@ -1,3 +1,5 @@
+# Copyright (c) 2025 Patrick Motsch
+# All rights reserved.
import logging
import httpx
import os
diff --git a/modules/aicore/aicorePluginInternal.py b/modules/aicore/aicorePluginInternal.py
index 77f31511..f8e13e16 100644
--- a/modules/aicore/aicorePluginInternal.py
+++ b/modules/aicore/aicorePluginInternal.py
@@ -1,3 +1,5 @@
+# Copyright (c) 2025 Patrick Motsch
+# All rights reserved.
import logging
from typing import List
from modules.aicore.aicoreBase import BaseConnectorAi
diff --git a/modules/aicore/aicorePluginOpenai.py b/modules/aicore/aicorePluginOpenai.py
index cc45edc0..89ffdccf 100644
--- a/modules/aicore/aicorePluginOpenai.py
+++ b/modules/aicore/aicorePluginOpenai.py
@@ -1,3 +1,5 @@
+# Copyright (c) 2025 Patrick Motsch
+# All rights reserved.
import logging
import httpx
from typing import List
diff --git a/modules/aicore/aicorePluginPerplexity.py b/modules/aicore/aicorePluginPerplexity.py
index 2a6f0890..3f1d9815 100644
--- a/modules/aicore/aicorePluginPerplexity.py
+++ b/modules/aicore/aicorePluginPerplexity.py
@@ -1,3 +1,5 @@
+# Copyright (c) 2025 Patrick Motsch
+# All rights reserved.
import logging
import httpx
from typing import List
diff --git a/modules/aicore/aicorePluginTavily.py b/modules/aicore/aicorePluginTavily.py
index 381f9028..65a3aa6e 100644
--- a/modules/aicore/aicorePluginTavily.py
+++ b/modules/aicore/aicorePluginTavily.py
@@ -1,3 +1,5 @@
+# Copyright (c) 2025 Patrick Motsch
+# All rights reserved.
"""Tavily web search class.
"""
diff --git a/modules/auth/__init__.py b/modules/auth/__init__.py
index 9f2828c6..b375ef15 100644
--- a/modules/auth/__init__.py
+++ b/modules/auth/__init__.py
@@ -1,3 +1,5 @@
+# Copyright (c) 2025 Patrick Motsch
+# All rights reserved.
"""
Authentication and authorization modules for routes and services.
High-level security functionality that depends on FastAPI and interfaces.
diff --git a/modules/auth/authentication.py b/modules/auth/authentication.py
index b4140948..2759a07a 100644
--- a/modules/auth/authentication.py
+++ b/modules/auth/authentication.py
@@ -1,3 +1,5 @@
+# Copyright (c) 2025 Patrick Motsch
+# All rights reserved.
"""
Authentication module for backend API.
Handles JWT-based authentication, token generation, and user context.
diff --git a/modules/auth/csrf.py b/modules/auth/csrf.py
index d1023c49..eca69113 100644
--- a/modules/auth/csrf.py
+++ b/modules/auth/csrf.py
@@ -1,3 +1,5 @@
+# Copyright (c) 2025 Patrick Motsch
+# All rights reserved.
"""
CSRF Protection Middleware for PowerOn Gateway
diff --git a/modules/auth/jwtService.py b/modules/auth/jwtService.py
index 6f0b0c9d..439d3282 100644
--- a/modules/auth/jwtService.py
+++ b/modules/auth/jwtService.py
@@ -1,3 +1,5 @@
+# Copyright (c) 2025 Patrick Motsch
+# All rights reserved.
"""
JWT Service
Centralizes local JWT creation and cookie helpers.
diff --git a/modules/auth/tokenManager.py b/modules/auth/tokenManager.py
index d6312f1f..322b2e4e 100644
--- a/modules/auth/tokenManager.py
+++ b/modules/auth/tokenManager.py
@@ -1,3 +1,5 @@
+# Copyright (c) 2025 Patrick Motsch
+# All rights reserved.
"""
Token Manager Service
Handles all token operations including automatic refresh for backend services.
diff --git a/modules/auth/tokenRefreshMiddleware.py b/modules/auth/tokenRefreshMiddleware.py
index 30455da4..84d2feae 100644
--- a/modules/auth/tokenRefreshMiddleware.py
+++ b/modules/auth/tokenRefreshMiddleware.py
@@ -1,3 +1,5 @@
+# Copyright (c) 2025 Patrick Motsch
+# All rights reserved.
"""
Token Refresh Middleware for PowerOn Gateway
diff --git a/modules/auth/tokenRefreshService.py b/modules/auth/tokenRefreshService.py
index 36af9d0e..2d780364 100644
--- a/modules/auth/tokenRefreshService.py
+++ b/modules/auth/tokenRefreshService.py
@@ -1,3 +1,5 @@
+# Copyright (c) 2025 Patrick Motsch
+# All rights reserved.
"""
Token Refresh Service for PowerOn Gateway
diff --git a/modules/connectors/connectorDbPostgre.py b/modules/connectors/connectorDbPostgre.py
index 5dde399d..9aadbe50 100644
--- a/modules/connectors/connectorDbPostgre.py
+++ b/modules/connectors/connectorDbPostgre.py
@@ -1,3 +1,5 @@
+# Copyright (c) 2025 Patrick Motsch
+# All rights reserved.
import psycopg2
import psycopg2.extras
import logging
diff --git a/modules/connectors/connectorMessagingEmail.py b/modules/connectors/connectorMessagingEmail.py
index ae579cef..57dd22e7 100644
--- a/modules/connectors/connectorMessagingEmail.py
+++ b/modules/connectors/connectorMessagingEmail.py
@@ -1,3 +1,5 @@
+# Copyright (c) 2025 Patrick Motsch
+# All rights reserved.
"""
Azure Communication Services Email Connector
Handles email sending via Azure Communication Services
diff --git a/modules/connectors/connectorMessagingSms.py b/modules/connectors/connectorMessagingSms.py
index 7ff2fcb2..36491b55 100644
--- a/modules/connectors/connectorMessagingSms.py
+++ b/modules/connectors/connectorMessagingSms.py
@@ -1,3 +1,5 @@
+# Copyright (c) 2025 Patrick Motsch
+# All rights reserved.
"""
Twilio SMS Connector
Handles SMS sending via Twilio
diff --git a/modules/connectors/connectorTicketsClickup.py b/modules/connectors/connectorTicketsClickup.py
index 6d22c93b..37480aa9 100644
--- a/modules/connectors/connectorTicketsClickup.py
+++ b/modules/connectors/connectorTicketsClickup.py
@@ -1,3 +1,5 @@
+# Copyright (c) 2025 Patrick Motsch
+# All rights reserved.
"""ClickUp connector for CRUD operations (compatible with TicketInterface).
This module defines its own minimal abstractions to avoid coupling.
diff --git a/modules/connectors/connectorTicketsJira.py b/modules/connectors/connectorTicketsJira.py
index 27fbc676..bfc9a370 100644
--- a/modules/connectors/connectorTicketsJira.py
+++ b/modules/connectors/connectorTicketsJira.py
@@ -1,3 +1,5 @@
+# Copyright (c) 2025 Patrick Motsch
+# All rights reserved.
"""Jira connector for CRUD operations (neutralized to generic ticket interface).
This module defines its own minimal abstractions to avoid coupling.
diff --git a/modules/connectors/connectorVoiceGoogle.py b/modules/connectors/connectorVoiceGoogle.py
index faead52a..b9d9bf2c 100644
--- a/modules/connectors/connectorVoiceGoogle.py
+++ b/modules/connectors/connectorVoiceGoogle.py
@@ -1,3 +1,5 @@
+# Copyright (c) 2025 Patrick Motsch
+# All rights reserved.
"""
Google Cloud Speech-to-Text and Translation Connector
Replaces Azure Speech Services with Google Cloud APIs
diff --git a/modules/datamodels/__init__.py b/modules/datamodels/__init__.py
index 7d73660e..7c45ab08 100644
--- a/modules/datamodels/__init__.py
+++ b/modules/datamodels/__init__.py
@@ -1,3 +1,5 @@
+# Copyright (c) 2025 Patrick Motsch
+# All rights reserved.
"""
Unified modules.datamodels package.
diff --git a/modules/datamodels/datamodelAi.py b/modules/datamodels/datamodelAi.py
index 4a64217d..2434c451 100644
--- a/modules/datamodels/datamodelAi.py
+++ b/modules/datamodels/datamodelAi.py
@@ -1,3 +1,5 @@
+# Copyright (c) 2025 Patrick Motsch
+# All rights reserved.
from typing import Optional, List, Dict, Any, Callable, TYPE_CHECKING, Tuple
from pydantic import BaseModel, Field, ConfigDict
from enum import Enum
diff --git a/modules/datamodels/datamodelChat.py b/modules/datamodels/datamodelChat.py
index 967e0d9f..7e8d140a 100644
--- a/modules/datamodels/datamodelChat.py
+++ b/modules/datamodels/datamodelChat.py
@@ -1,3 +1,5 @@
+# Copyright (c) 2025 Patrick Motsch
+# All rights reserved.
"""Chat models: ChatWorkflow, ChatMessage, ChatLog, ChatStat, ChatDocument."""
from typing import List, Dict, Any, Optional
diff --git a/modules/datamodels/datamodelDocref.py b/modules/datamodels/datamodelDocref.py
index 0ad3d2bb..b4c5924e 100644
--- a/modules/datamodels/datamodelDocref.py
+++ b/modules/datamodels/datamodelDocref.py
@@ -1,3 +1,5 @@
+# Copyright (c) 2025 Patrick Motsch
+# All rights reserved.
"""
Document reference models for typed document references in workflows.
"""
diff --git a/modules/datamodels/datamodelDocument.py b/modules/datamodels/datamodelDocument.py
index 37797d5b..3f2f8f8e 100644
--- a/modules/datamodels/datamodelDocument.py
+++ b/modules/datamodels/datamodelDocument.py
@@ -1,3 +1,5 @@
+# Copyright (c) 2025 Patrick Motsch
+# All rights reserved.
from typing import Any, Dict, List, Optional, Literal, Union
from pydantic import BaseModel, Field
from datetime import datetime
diff --git a/modules/datamodels/datamodelExtraction.py b/modules/datamodels/datamodelExtraction.py
index ebfe2944..886df3b9 100644
--- a/modules/datamodels/datamodelExtraction.py
+++ b/modules/datamodels/datamodelExtraction.py
@@ -1,3 +1,5 @@
+# Copyright (c) 2025 Patrick Motsch
+# All rights reserved.
from typing import Any, Dict, List, Optional, Literal
from pydantic import BaseModel, Field
diff --git a/modules/datamodels/datamodelFiles.py b/modules/datamodels/datamodelFiles.py
index 106bac96..5deafa42 100644
--- a/modules/datamodels/datamodelFiles.py
+++ b/modules/datamodels/datamodelFiles.py
@@ -1,3 +1,5 @@
+# Copyright (c) 2025 Patrick Motsch
+# All rights reserved.
"""File-related datamodels: FileItem, FilePreview, FileData."""
from typing import Dict, Any, Optional, Union
diff --git a/modules/datamodels/datamodelJson.py b/modules/datamodels/datamodelJson.py
index 0af89375..8ead97e1 100644
--- a/modules/datamodels/datamodelJson.py
+++ b/modules/datamodels/datamodelJson.py
@@ -1,3 +1,5 @@
+# Copyright (c) 2025 Patrick Motsch
+# All rights reserved.
"""
Unified JSON document schema and helpers used by both generation prompts and renderers.
diff --git a/modules/datamodels/datamodelMessaging.py b/modules/datamodels/datamodelMessaging.py
index 52ef2046..2ec09c40 100644
--- a/modules/datamodels/datamodelMessaging.py
+++ b/modules/datamodels/datamodelMessaging.py
@@ -1,3 +1,5 @@
+# Copyright (c) 2025 Patrick Motsch
+# All rights reserved.
"""Messaging models: MessagingSubscription, MessagingSubscriptionRegistration, MessagingDelivery."""
import uuid
diff --git a/modules/datamodels/datamodelNeutralizer.py b/modules/datamodels/datamodelNeutralizer.py
index b1f2b411..9d92bd60 100644
--- a/modules/datamodels/datamodelNeutralizer.py
+++ b/modules/datamodels/datamodelNeutralizer.py
@@ -1,3 +1,5 @@
+# Copyright (c) 2025 Patrick Motsch
+# All rights reserved.
"""Neutralizer models: DataNeutraliserConfig and DataNeutralizerAttributes."""
import uuid
diff --git a/modules/datamodels/datamodelPagination.py b/modules/datamodels/datamodelPagination.py
index b7338585..f9fdebfd 100644
--- a/modules/datamodels/datamodelPagination.py
+++ b/modules/datamodels/datamodelPagination.py
@@ -1,3 +1,5 @@
+# Copyright (c) 2025 Patrick Motsch
+# All rights reserved.
"""
Pagination models for server-side pagination, sorting, and filtering.
diff --git a/modules/datamodels/datamodelRbac.py b/modules/datamodels/datamodelRbac.py
index 96f7ef55..c9be666f 100644
--- a/modules/datamodels/datamodelRbac.py
+++ b/modules/datamodels/datamodelRbac.py
@@ -1,3 +1,5 @@
+# Copyright (c) 2025 Patrick Motsch
+# All rights reserved.
"""RBAC models: AccessRule, AccessRuleContext, Role."""
import uuid
diff --git a/modules/datamodels/datamodelSecurity.py b/modules/datamodels/datamodelSecurity.py
index 6803638e..eac51430 100644
--- a/modules/datamodels/datamodelSecurity.py
+++ b/modules/datamodels/datamodelSecurity.py
@@ -1,3 +1,5 @@
+# Copyright (c) 2025 Patrick Motsch
+# All rights reserved.
"""Security models: Token and AuthEvent."""
from typing import Optional
diff --git a/modules/datamodels/datamodelTickets.py b/modules/datamodels/datamodelTickets.py
index 5d800b15..149a7458 100644
--- a/modules/datamodels/datamodelTickets.py
+++ b/modules/datamodels/datamodelTickets.py
@@ -1,3 +1,5 @@
+# Copyright (c) 2025 Patrick Motsch
+# All rights reserved.
"""Ticket datamodels used across Jira/ClickUp connectors."""
from typing import Optional
diff --git a/modules/datamodels/datamodelTools.py b/modules/datamodels/datamodelTools.py
index 45227903..ed369748 100644
--- a/modules/datamodels/datamodelTools.py
+++ b/modules/datamodels/datamodelTools.py
@@ -1,3 +1,5 @@
+# Copyright (c) 2025 Patrick Motsch
+# All rights reserved.
"""
Utility data models and classes for common tools and mappings.
"""
diff --git a/modules/datamodels/datamodelUam.py b/modules/datamodels/datamodelUam.py
index 90068f1b..554e7fd6 100644
--- a/modules/datamodels/datamodelUam.py
+++ b/modules/datamodels/datamodelUam.py
@@ -1,3 +1,5 @@
+# Copyright (c) 2025 Patrick Motsch
+# All rights reserved.
"""UAM models: User, Mandate, UserConnection."""
import uuid
diff --git a/modules/datamodels/datamodelUtils.py b/modules/datamodels/datamodelUtils.py
index 3ff5d3fa..bc81444b 100644
--- a/modules/datamodels/datamodelUtils.py
+++ b/modules/datamodels/datamodelUtils.py
@@ -1,3 +1,5 @@
+# Copyright (c) 2025 Patrick Motsch
+# All rights reserved.
"""Utility datamodels: Prompt, TextMultilingual."""
from typing import Dict, Optional
diff --git a/modules/datamodels/datamodelVoice.py b/modules/datamodels/datamodelVoice.py
index 10e820c6..bb1ed9ca 100644
--- a/modules/datamodels/datamodelVoice.py
+++ b/modules/datamodels/datamodelVoice.py
@@ -1,3 +1,5 @@
+# Copyright (c) 2025 Patrick Motsch
+# All rights reserved.
"""Voice settings datamodel."""
from pydantic import BaseModel, Field
diff --git a/modules/datamodels/datamodelWorkflow.py b/modules/datamodels/datamodelWorkflow.py
index 4cf940f7..b884382c 100644
--- a/modules/datamodels/datamodelWorkflow.py
+++ b/modules/datamodels/datamodelWorkflow.py
@@ -1,3 +1,5 @@
+# Copyright (c) 2025 Patrick Motsch
+# All rights reserved.
"""
Workflow execution models for action definitions, AI responses, and workflow-level structures.
"""
diff --git a/modules/features/dynamicOptions/mainDynamicOptions.py b/modules/features/dynamicOptions/mainDynamicOptions.py
index c845f454..364fa9da 100644
--- a/modules/features/dynamicOptions/mainDynamicOptions.py
+++ b/modules/features/dynamicOptions/mainDynamicOptions.py
@@ -1,3 +1,5 @@
+# Copyright (c) 2025 Patrick Motsch
+# All rights reserved.
"""
Dynamic Options API feature module.
Provides dynamic options for frontend select/multiselect fields.
diff --git a/modules/features/featuresLifecycle.py b/modules/features/featuresLifecycle.py
index 83b25cf7..0e747676 100644
--- a/modules/features/featuresLifecycle.py
+++ b/modules/features/featuresLifecycle.py
@@ -1,3 +1,5 @@
+# Copyright (c) 2025 Patrick Motsch
+# All rights reserved.
import logging
from modules.services import getInterface as getServices
diff --git a/modules/features/neutralizePlayground/mainNeutralizePlayground.py b/modules/features/neutralizePlayground/mainNeutralizePlayground.py
index 34b90673..80e0e03b 100644
--- a/modules/features/neutralizePlayground/mainNeutralizePlayground.py
+++ b/modules/features/neutralizePlayground/mainNeutralizePlayground.py
@@ -1,3 +1,5 @@
+# Copyright (c) 2025 Patrick Motsch
+# All rights reserved.
import logging
import asyncio
from typing import Any, Dict, List, Optional
diff --git a/modules/features/workflow/__init__.py b/modules/features/workflow/__init__.py
index a708cf09..ce459ef8 100644
--- a/modules/features/workflow/__init__.py
+++ b/modules/features/workflow/__init__.py
@@ -1,3 +1,5 @@
+# Copyright (c) 2025 Patrick Motsch
+# All rights reserved.
"""
Workflow feature - handles workflow execution, scheduling, and chat playground operations.
diff --git a/modules/features/workflow/mainWorkflow.py b/modules/features/workflow/mainWorkflow.py
index 499af452..08205fcc 100644
--- a/modules/features/workflow/mainWorkflow.py
+++ b/modules/features/workflow/mainWorkflow.py
@@ -1,3 +1,5 @@
+# Copyright (c) 2025 Patrick Motsch
+# All rights reserved.
"""
Main workflow service - handles workflow execution, scheduling, and chat playground operations.
diff --git a/modules/features/workflow/subAutomationTemplates.py b/modules/features/workflow/subAutomationTemplates.py
index 20349039..95c1eb77 100644
--- a/modules/features/workflow/subAutomationTemplates.py
+++ b/modules/features/workflow/subAutomationTemplates.py
@@ -1,3 +1,5 @@
+# Copyright (c) 2025 Patrick Motsch
+# All rights reserved.
"""
Automation templates for workflow definitions.
diff --git a/modules/features/workflow/subAutomationUtils.py b/modules/features/workflow/subAutomationUtils.py
index 809bff4e..60993b62 100644
--- a/modules/features/workflow/subAutomationUtils.py
+++ b/modules/features/workflow/subAutomationUtils.py
@@ -1,3 +1,5 @@
+# Copyright (c) 2025 Patrick Motsch
+# All rights reserved.
"""
Utility functions for automation feature.
diff --git a/modules/interfaces/interfaceAiObjects.py b/modules/interfaces/interfaceAiObjects.py
index 3cc4d2a5..5c252ff6 100644
--- a/modules/interfaces/interfaceAiObjects.py
+++ b/modules/interfaces/interfaceAiObjects.py
@@ -1,3 +1,5 @@
+# Copyright (c) 2025 Patrick Motsch
+# All rights reserved.
import logging
import asyncio
import uuid
diff --git a/modules/interfaces/interfaceBootstrap.py b/modules/interfaces/interfaceBootstrap.py
index 54129c7c..e784c192 100644
--- a/modules/interfaces/interfaceBootstrap.py
+++ b/modules/interfaces/interfaceBootstrap.py
@@ -1,3 +1,5 @@
+# Copyright (c) 2025 Patrick Motsch
+# All rights reserved.
"""
Centralized bootstrap interface for system initialization.
Contains all bootstrap logic including mandate, users, and RBAC rules.
diff --git a/modules/interfaces/interfaceDbAppObjects.py b/modules/interfaces/interfaceDbAppObjects.py
index e04c5a4c..9a8ff308 100644
--- a/modules/interfaces/interfaceDbAppObjects.py
+++ b/modules/interfaces/interfaceDbAppObjects.py
@@ -1,3 +1,5 @@
+# Copyright (c) 2025 Patrick Motsch
+# All rights reserved.
"""
Interface to the Gateway system.
Manages users and mandates for authentication.
diff --git a/modules/interfaces/interfaceDbChatObjects.py b/modules/interfaces/interfaceDbChatObjects.py
index ad9da809..c16b18eb 100644
--- a/modules/interfaces/interfaceDbChatObjects.py
+++ b/modules/interfaces/interfaceDbChatObjects.py
@@ -1,3 +1,5 @@
+# Copyright (c) 2025 Patrick Motsch
+# All rights reserved.
"""
Interface to LucyDOM database and AI Connectors.
Uses the JSON connector for data access with added language support.
diff --git a/modules/interfaces/interfaceDbComponentObjects.py b/modules/interfaces/interfaceDbComponentObjects.py
index c074b0d5..8ed06a4e 100644
--- a/modules/interfaces/interfaceDbComponentObjects.py
+++ b/modules/interfaces/interfaceDbComponentObjects.py
@@ -1,3 +1,5 @@
+# Copyright (c) 2025 Patrick Motsch
+# All rights reserved.
"""
Interface to Management database and AI Connectors.
Uses the JSON connector for data access with added language support.
diff --git a/modules/interfaces/interfaceMessaging.py b/modules/interfaces/interfaceMessaging.py
index d4497282..6a0eb54c 100644
--- a/modules/interfaces/interfaceMessaging.py
+++ b/modules/interfaces/interfaceMessaging.py
@@ -1,3 +1,5 @@
+# Copyright (c) 2025 Patrick Motsch
+# All rights reserved.
"""
Interface for Messaging Services
Provides a unified interface for sending messages across different channels (Email, SMS, etc.)
diff --git a/modules/interfaces/interfaceRbac.py b/modules/interfaces/interfaceRbac.py
index a7683d92..fad37e96 100644
--- a/modules/interfaces/interfaceRbac.py
+++ b/modules/interfaces/interfaceRbac.py
@@ -1,3 +1,5 @@
+# Copyright (c) 2025 Patrick Motsch
+# All rights reserved.
"""
RBAC helper functions for interfaces.
Provides RBAC filtering for database queries without connectors importing security.
diff --git a/modules/interfaces/interfaceTicketObjects.py b/modules/interfaces/interfaceTicketObjects.py
index 1c6105f2..6525eae5 100644
--- a/modules/interfaces/interfaceTicketObjects.py
+++ b/modules/interfaces/interfaceTicketObjects.py
@@ -1,3 +1,5 @@
+# Copyright (c) 2025 Patrick Motsch
+# All rights reserved.
from typing import Any, Optional
from datetime import datetime, timezone
diff --git a/modules/interfaces/interfaceVoiceObjects.py b/modules/interfaces/interfaceVoiceObjects.py
index cf3a1f12..ee86910f 100644
--- a/modules/interfaces/interfaceVoiceObjects.py
+++ b/modules/interfaces/interfaceVoiceObjects.py
@@ -1,3 +1,5 @@
+# Copyright (c) 2025 Patrick Motsch
+# All rights reserved.
"""
Interface for Voice Services
Provides a generic interface layer between routes and voice connectors.
diff --git a/modules/routes/routeAdmin.py b/modules/routes/routeAdmin.py
index 64c63d61..a60527e1 100644
--- a/modules/routes/routeAdmin.py
+++ b/modules/routes/routeAdmin.py
@@ -1,3 +1,5 @@
+# Copyright (c) 2025 Patrick Motsch
+# All rights reserved.
from fastapi import APIRouter, Response, Depends, Request, Body
from fastapi.responses import FileResponse
from fastapi.staticfiles import StaticFiles
diff --git a/modules/routes/routeAdminAutomationEvents.py b/modules/routes/routeAdminAutomationEvents.py
index 4a3c360d..a24c7839 100644
--- a/modules/routes/routeAdminAutomationEvents.py
+++ b/modules/routes/routeAdminAutomationEvents.py
@@ -1,3 +1,5 @@
+# Copyright (c) 2025 Patrick Motsch
+# All rights reserved.
"""
Admin automation events routes for the backend API.
Sysadmin-only endpoints for viewing and controlling automation events.
diff --git a/modules/routes/routeAdminRbacRoles.py b/modules/routes/routeAdminRbacRoles.py
index 261c61de..e7902b0f 100644
--- a/modules/routes/routeAdminRbacRoles.py
+++ b/modules/routes/routeAdminRbacRoles.py
@@ -1,3 +1,5 @@
+# Copyright (c) 2025 Patrick Motsch
+# All rights reserved.
"""
Admin RBAC Roles Management routes.
Provides endpoints for managing roles and role assignments to users.
diff --git a/modules/routes/routeAttributes.py b/modules/routes/routeAttributes.py
index 9dd54aff..10f93ce6 100644
--- a/modules/routes/routeAttributes.py
+++ b/modules/routes/routeAttributes.py
@@ -1,3 +1,5 @@
+# Copyright (c) 2025 Patrick Motsch
+# All rights reserved.
from fastapi import APIRouter, HTTPException, Path, Response, Request
from fastapi import status
import logging
diff --git a/modules/routes/routeChatPlayground.py b/modules/routes/routeChatPlayground.py
index bfa07923..287543c2 100644
--- a/modules/routes/routeChatPlayground.py
+++ b/modules/routes/routeChatPlayground.py
@@ -1,3 +1,5 @@
+# Copyright (c) 2025 Patrick Motsch
+# All rights reserved.
"""
Chat Playground routes for the backend API.
Implements the endpoints for chat playground workflow management.
diff --git a/modules/routes/routeDataAutomation.py b/modules/routes/routeDataAutomation.py
index a0557e1f..e8418bb4 100644
--- a/modules/routes/routeDataAutomation.py
+++ b/modules/routes/routeDataAutomation.py
@@ -1,3 +1,5 @@
+# Copyright (c) 2025 Patrick Motsch
+# All rights reserved.
"""
Automation routes for the backend API.
Implements the endpoints for automation definition management.
diff --git a/modules/routes/routeDataConnections.py b/modules/routes/routeDataConnections.py
index 0ca661b1..9caae7aa 100644
--- a/modules/routes/routeDataConnections.py
+++ b/modules/routes/routeDataConnections.py
@@ -1,3 +1,5 @@
+# Copyright (c) 2025 Patrick Motsch
+# All rights reserved.
"""
Connection routes for the backend API.
Implements the endpoints for connection management.
diff --git a/modules/routes/routeDataFiles.py b/modules/routes/routeDataFiles.py
index 9cab05f3..d2b5b816 100644
--- a/modules/routes/routeDataFiles.py
+++ b/modules/routes/routeDataFiles.py
@@ -1,3 +1,5 @@
+# Copyright (c) 2025 Patrick Motsch
+# All rights reserved.
from fastapi import APIRouter, HTTPException, Depends, File, UploadFile, Form, Path, Request, status, Query, Response, Body
from fastapi.responses import JSONResponse
from typing import List, Dict, Any, Optional
diff --git a/modules/routes/routeDataMandates.py b/modules/routes/routeDataMandates.py
index 2505ee39..685cf8c3 100644
--- a/modules/routes/routeDataMandates.py
+++ b/modules/routes/routeDataMandates.py
@@ -1,3 +1,5 @@
+# Copyright (c) 2025 Patrick Motsch
+# All rights reserved.
"""
Mandate routes for the backend API.
Implements the endpoints for mandate management.
diff --git a/modules/routes/routeDataNeutralization.py b/modules/routes/routeDataNeutralization.py
index a587921e..7826d96c 100644
--- a/modules/routes/routeDataNeutralization.py
+++ b/modules/routes/routeDataNeutralization.py
@@ -1,3 +1,5 @@
+# Copyright (c) 2025 Patrick Motsch
+# All rights reserved.
from fastapi import APIRouter, HTTPException, Depends, Path, Request, status, Query, Body
from typing import List, Dict, Any, Optional
import logging
diff --git a/modules/routes/routeDataPrompts.py b/modules/routes/routeDataPrompts.py
index af68feb9..9e3501ab 100644
--- a/modules/routes/routeDataPrompts.py
+++ b/modules/routes/routeDataPrompts.py
@@ -1,3 +1,5 @@
+# Copyright (c) 2025 Patrick Motsch
+# All rights reserved.
from fastapi import APIRouter, HTTPException, Depends, Body, Path, Request, Query
from typing import List, Dict, Any, Optional
from fastapi import status
diff --git a/modules/routes/routeDataUsers.py b/modules/routes/routeDataUsers.py
index 72b240dc..f9e275e3 100644
--- a/modules/routes/routeDataUsers.py
+++ b/modules/routes/routeDataUsers.py
@@ -1,3 +1,5 @@
+# Copyright (c) 2025 Patrick Motsch
+# All rights reserved.
"""
User routes for the backend API.
Implements the endpoints for user management.
diff --git a/modules/routes/routeMessaging.py b/modules/routes/routeMessaging.py
index 268af357..9222a4bd 100644
--- a/modules/routes/routeMessaging.py
+++ b/modules/routes/routeMessaging.py
@@ -1,3 +1,5 @@
+# Copyright (c) 2025 Patrick Motsch
+# All rights reserved.
from fastapi import APIRouter, HTTPException, Depends, Body, Path, Request, Query
from typing import List, Dict, Any, Optional
from fastapi import status
diff --git a/modules/routes/routeOptions.py b/modules/routes/routeOptions.py
index b08ff04b..b4086fd2 100644
--- a/modules/routes/routeOptions.py
+++ b/modules/routes/routeOptions.py
@@ -1,3 +1,5 @@
+# Copyright (c) 2025 Patrick Motsch
+# All rights reserved.
"""
Options API routes for dynamic frontend options.
Provides endpoints for fetching options for select/multiselect fields.
diff --git a/modules/routes/routeRbac.py b/modules/routes/routeRbac.py
index b9e42a8a..5b54ad45 100644
--- a/modules/routes/routeRbac.py
+++ b/modules/routes/routeRbac.py
@@ -1,3 +1,5 @@
+# Copyright (c) 2025 Patrick Motsch
+# All rights reserved.
"""
RBAC routes for the backend API.
Implements endpoints for role-based access control permissions.
diff --git a/modules/routes/routeSecurityAdmin.py b/modules/routes/routeSecurityAdmin.py
index fdc2489f..19aef5fc 100644
--- a/modules/routes/routeSecurityAdmin.py
+++ b/modules/routes/routeSecurityAdmin.py
@@ -1,3 +1,5 @@
+# Copyright (c) 2025 Patrick Motsch
+# All rights reserved.
from fastapi import APIRouter, HTTPException, Depends, status, Request, Body
from fastapi.responses import FileResponse, JSONResponse
from typing import Optional, Dict, Any, List
diff --git a/modules/routes/routeSecurityGoogle.py b/modules/routes/routeSecurityGoogle.py
index 13887851..fb94555c 100644
--- a/modules/routes/routeSecurityGoogle.py
+++ b/modules/routes/routeSecurityGoogle.py
@@ -1,3 +1,5 @@
+# Copyright (c) 2025 Patrick Motsch
+# All rights reserved.
"""
Routes for Google authentication.
"""
diff --git a/modules/routes/routeSecurityLocal.py b/modules/routes/routeSecurityLocal.py
index 822900bd..414a292e 100644
--- a/modules/routes/routeSecurityLocal.py
+++ b/modules/routes/routeSecurityLocal.py
@@ -1,3 +1,5 @@
+# Copyright (c) 2025 Patrick Motsch
+# All rights reserved.
"""
Routes for local security and authentication.
"""
diff --git a/modules/routes/routeSecurityMsft.py b/modules/routes/routeSecurityMsft.py
index d3e91e23..a971ecd0 100644
--- a/modules/routes/routeSecurityMsft.py
+++ b/modules/routes/routeSecurityMsft.py
@@ -1,3 +1,5 @@
+# Copyright (c) 2025 Patrick Motsch
+# All rights reserved.
"""
Routes for Microsoft authentication.
"""
diff --git a/modules/routes/routeSharepoint.py b/modules/routes/routeSharepoint.py
index e489d594..7915b0f1 100644
--- a/modules/routes/routeSharepoint.py
+++ b/modules/routes/routeSharepoint.py
@@ -1,3 +1,5 @@
+# Copyright (c) 2025 Patrick Motsch
+# All rights reserved.
"""
SharePoint routes for folder browsing
Provides endpoints for listing SharePoint sites and browsing folders
diff --git a/modules/routes/routeVoiceGoogle.py b/modules/routes/routeVoiceGoogle.py
index d2f962c9..401bfc0b 100644
--- a/modules/routes/routeVoiceGoogle.py
+++ b/modules/routes/routeVoiceGoogle.py
@@ -1,3 +1,5 @@
+# Copyright (c) 2025 Patrick Motsch
+# All rights reserved.
"""
Google Cloud Voice Services Routes
Replaces Azure voice services with Google Cloud Speech-to-Text and Translation
diff --git a/modules/routes/routeWorkflows.py b/modules/routes/routeWorkflows.py
index 33a45728..8be49268 100644
--- a/modules/routes/routeWorkflows.py
+++ b/modules/routes/routeWorkflows.py
@@ -1,3 +1,5 @@
+# Copyright (c) 2025 Patrick Motsch
+# All rights reserved.
"""
Workflow routes for the backend API.
Implements the endpoints for workflow management according to the state machine.
diff --git a/modules/security/__init__.py b/modules/security/__init__.py
index e5cc4cdd..bdf934d9 100644
--- a/modules/security/__init__.py
+++ b/modules/security/__init__.py
@@ -1,3 +1,5 @@
+# Copyright (c) 2025 Patrick Motsch
+# All rights reserved.
"""
Security core modules for low-level security operations.
Used by connectors and interfaces. Does not depend on FastAPI or interfaces.
diff --git a/modules/security/rbac.py b/modules/security/rbac.py
index c783172b..c8a58e92 100644
--- a/modules/security/rbac.py
+++ b/modules/security/rbac.py
@@ -1,3 +1,5 @@
+# Copyright (c) 2025 Patrick Motsch
+# All rights reserved.
"""
RBAC interface: Core RBAC logic and permission resolution.
Moved from interfaces to security module to maintain proper architectural layering.
diff --git a/modules/security/rbacHelpers.py b/modules/security/rbacHelpers.py
index 34b224df..c42716e7 100644
--- a/modules/security/rbacHelpers.py
+++ b/modules/security/rbacHelpers.py
@@ -1,3 +1,5 @@
+# Copyright (c) 2025 Patrick Motsch
+# All rights reserved.
"""
RBAC helper functions for resource access control.
Provides convenient functions for checking permissions in feature modules.
diff --git a/modules/security/rootAccess.py b/modules/security/rootAccess.py
index d11dfda3..2d4a2ae2 100644
--- a/modules/security/rootAccess.py
+++ b/modules/security/rootAccess.py
@@ -1,3 +1,5 @@
+# Copyright (c) 2025 Patrick Motsch
+# All rights reserved.
"""
Root access management for system-level operations.
Provides secure access to root user and DbApp database connector.
diff --git a/modules/services/__init__.py b/modules/services/__init__.py
index 6a81059a..6edfe13b 100644
--- a/modules/services/__init__.py
+++ b/modules/services/__init__.py
@@ -1,3 +1,5 @@
+# Copyright (c) 2025 Patrick Motsch
+# All rights reserved.
from typing import Any
from modules.datamodels.datamodelUam import User
diff --git a/modules/services/serviceAi/mainServiceAi.py b/modules/services/serviceAi/mainServiceAi.py
index 87afd365..a284bc99 100644
--- a/modules/services/serviceAi/mainServiceAi.py
+++ b/modules/services/serviceAi/mainServiceAi.py
@@ -1,3 +1,5 @@
+# Copyright (c) 2025 Patrick Motsch
+# All rights reserved.
import json
import logging
import re
diff --git a/modules/services/serviceAi/subJsonResponseHandling.py b/modules/services/serviceAi/subJsonResponseHandling.py
index f04484d7..d9e6d0af 100644
--- a/modules/services/serviceAi/subJsonResponseHandling.py
+++ b/modules/services/serviceAi/subJsonResponseHandling.py
@@ -1,3 +1,5 @@
+# Copyright (c) 2025 Patrick Motsch
+# All rights reserved.
"""
JSON Response Handling Module
diff --git a/modules/services/serviceChat/mainServiceChat.py b/modules/services/serviceChat/mainServiceChat.py
index 7848cb29..fc07d5af 100644
--- a/modules/services/serviceChat/mainServiceChat.py
+++ b/modules/services/serviceChat/mainServiceChat.py
@@ -1,3 +1,5 @@
+# Copyright (c) 2025 Patrick Motsch
+# All rights reserved.
import logging
from typing import Dict, Any, List, Optional
from modules.datamodels.datamodelUam import User, UserConnection
diff --git a/modules/services/serviceExtraction/__init__.py b/modules/services/serviceExtraction/__init__.py
index 9fe4727e..737a1900 100644
--- a/modules/services/serviceExtraction/__init__.py
+++ b/modules/services/serviceExtraction/__init__.py
@@ -1,3 +1,5 @@
+# Copyright (c) 2025 Patrick Motsch
+# All rights reserved.
from .mainServiceExtraction import ExtractionService
__all__ = ["ExtractionService"]
diff --git a/modules/services/serviceExtraction/chunking/__init__.py b/modules/services/serviceExtraction/chunking/__init__.py
index 139597f9..085d67cf 100644
--- a/modules/services/serviceExtraction/chunking/__init__.py
+++ b/modules/services/serviceExtraction/chunking/__init__.py
@@ -1,2 +1,4 @@
+# Copyright (c) 2025 Patrick Motsch
+# All rights reserved.
diff --git a/modules/services/serviceExtraction/chunking/chunkerImage.py b/modules/services/serviceExtraction/chunking/chunkerImage.py
index bd90d03b..d58d2139 100644
--- a/modules/services/serviceExtraction/chunking/chunkerImage.py
+++ b/modules/services/serviceExtraction/chunking/chunkerImage.py
@@ -1,3 +1,5 @@
+# Copyright (c) 2025 Patrick Motsch
+# All rights reserved.
from typing import Any, Dict, List
import base64
import io
diff --git a/modules/services/serviceExtraction/chunking/chunkerStructure.py b/modules/services/serviceExtraction/chunking/chunkerStructure.py
index 79ceb883..bdf1bcdb 100644
--- a/modules/services/serviceExtraction/chunking/chunkerStructure.py
+++ b/modules/services/serviceExtraction/chunking/chunkerStructure.py
@@ -1,3 +1,5 @@
+# Copyright (c) 2025 Patrick Motsch
+# All rights reserved.
from typing import Any, Dict, List
import json
diff --git a/modules/services/serviceExtraction/chunking/chunkerTable.py b/modules/services/serviceExtraction/chunking/chunkerTable.py
index f1f97411..e137711d 100644
--- a/modules/services/serviceExtraction/chunking/chunkerTable.py
+++ b/modules/services/serviceExtraction/chunking/chunkerTable.py
@@ -1,3 +1,5 @@
+# Copyright (c) 2025 Patrick Motsch
+# All rights reserved.
from typing import Any, Dict, List
from modules.datamodels.datamodelExtraction import ContentPart
diff --git a/modules/services/serviceExtraction/chunking/chunkerText.py b/modules/services/serviceExtraction/chunking/chunkerText.py
index 802858d1..330f9ea9 100644
--- a/modules/services/serviceExtraction/chunking/chunkerText.py
+++ b/modules/services/serviceExtraction/chunking/chunkerText.py
@@ -1,3 +1,5 @@
+# Copyright (c) 2025 Patrick Motsch
+# All rights reserved.
from typing import Any, Dict, List
import logging
diff --git a/modules/services/serviceExtraction/extractors/__init__.py b/modules/services/serviceExtraction/extractors/__init__.py
index 139597f9..085d67cf 100644
--- a/modules/services/serviceExtraction/extractors/__init__.py
+++ b/modules/services/serviceExtraction/extractors/__init__.py
@@ -1,2 +1,4 @@
+# Copyright (c) 2025 Patrick Motsch
+# All rights reserved.
diff --git a/modules/services/serviceExtraction/extractors/extractorBinary.py b/modules/services/serviceExtraction/extractors/extractorBinary.py
index 8a52986c..f0048c7a 100644
--- a/modules/services/serviceExtraction/extractors/extractorBinary.py
+++ b/modules/services/serviceExtraction/extractors/extractorBinary.py
@@ -1,3 +1,5 @@
+# Copyright (c) 2025 Patrick Motsch
+# All rights reserved.
from typing import Any, Dict, List
import base64
diff --git a/modules/services/serviceExtraction/extractors/extractorCsv.py b/modules/services/serviceExtraction/extractors/extractorCsv.py
index fb1c642e..1f6bbaf6 100644
--- a/modules/services/serviceExtraction/extractors/extractorCsv.py
+++ b/modules/services/serviceExtraction/extractors/extractorCsv.py
@@ -1,3 +1,5 @@
+# Copyright (c) 2025 Patrick Motsch
+# All rights reserved.
from typing import Any, Dict, List
from modules.datamodels.datamodelExtraction import ContentPart
diff --git a/modules/services/serviceExtraction/extractors/extractorDocx.py b/modules/services/serviceExtraction/extractors/extractorDocx.py
index bce9f04b..096f288b 100644
--- a/modules/services/serviceExtraction/extractors/extractorDocx.py
+++ b/modules/services/serviceExtraction/extractors/extractorDocx.py
@@ -1,3 +1,5 @@
+# Copyright (c) 2025 Patrick Motsch
+# All rights reserved.
from typing import Any, Dict, List
import io
diff --git a/modules/services/serviceExtraction/extractors/extractorHtml.py b/modules/services/serviceExtraction/extractors/extractorHtml.py
index 730df49c..c7e549bb 100644
--- a/modules/services/serviceExtraction/extractors/extractorHtml.py
+++ b/modules/services/serviceExtraction/extractors/extractorHtml.py
@@ -1,3 +1,5 @@
+# Copyright (c) 2025 Patrick Motsch
+# All rights reserved.
from typing import Any, Dict, List
from bs4 import BeautifulSoup
diff --git a/modules/services/serviceExtraction/extractors/extractorImage.py b/modules/services/serviceExtraction/extractors/extractorImage.py
index 578e0148..7f081176 100644
--- a/modules/services/serviceExtraction/extractors/extractorImage.py
+++ b/modules/services/serviceExtraction/extractors/extractorImage.py
@@ -1,3 +1,5 @@
+# Copyright (c) 2025 Patrick Motsch
+# All rights reserved.
from typing import Any, Dict, List
import base64
import logging
diff --git a/modules/services/serviceExtraction/extractors/extractorJson.py b/modules/services/serviceExtraction/extractors/extractorJson.py
index 04ab1c10..a4ef705d 100644
--- a/modules/services/serviceExtraction/extractors/extractorJson.py
+++ b/modules/services/serviceExtraction/extractors/extractorJson.py
@@ -1,3 +1,5 @@
+# Copyright (c) 2025 Patrick Motsch
+# All rights reserved.
from typing import Any, Dict, List
import json
diff --git a/modules/services/serviceExtraction/extractors/extractorPdf.py b/modules/services/serviceExtraction/extractors/extractorPdf.py
index 4f0290ec..8a670e57 100644
--- a/modules/services/serviceExtraction/extractors/extractorPdf.py
+++ b/modules/services/serviceExtraction/extractors/extractorPdf.py
@@ -1,3 +1,5 @@
+# Copyright (c) 2025 Patrick Motsch
+# All rights reserved.
from typing import Any, Dict, List
import base64
import io
diff --git a/modules/services/serviceExtraction/extractors/extractorPptx.py b/modules/services/serviceExtraction/extractors/extractorPptx.py
index 1a5a7ff8..6c9e6c6c 100644
--- a/modules/services/serviceExtraction/extractors/extractorPptx.py
+++ b/modules/services/serviceExtraction/extractors/extractorPptx.py
@@ -1,3 +1,5 @@
+# Copyright (c) 2025 Patrick Motsch
+# All rights reserved.
import logging
import base64
from typing import List, Dict, Any, Optional
diff --git a/modules/services/serviceExtraction/extractors/extractorSql.py b/modules/services/serviceExtraction/extractors/extractorSql.py
index c751d7ca..01b1ba07 100644
--- a/modules/services/serviceExtraction/extractors/extractorSql.py
+++ b/modules/services/serviceExtraction/extractors/extractorSql.py
@@ -1,3 +1,5 @@
+# Copyright (c) 2025 Patrick Motsch
+# All rights reserved.
from typing import Any, Dict, List
from modules.datamodels.datamodelExtraction import ContentPart
diff --git a/modules/services/serviceExtraction/extractors/extractorText.py b/modules/services/serviceExtraction/extractors/extractorText.py
index 3cd0ebdf..92b1fc4a 100644
--- a/modules/services/serviceExtraction/extractors/extractorText.py
+++ b/modules/services/serviceExtraction/extractors/extractorText.py
@@ -1,3 +1,5 @@
+# Copyright (c) 2025 Patrick Motsch
+# All rights reserved.
from typing import Any, Dict, List
from modules.datamodels.datamodelExtraction import ContentPart
diff --git a/modules/services/serviceExtraction/extractors/extractorXlsx.py b/modules/services/serviceExtraction/extractors/extractorXlsx.py
index af346419..f51c15ae 100644
--- a/modules/services/serviceExtraction/extractors/extractorXlsx.py
+++ b/modules/services/serviceExtraction/extractors/extractorXlsx.py
@@ -1,3 +1,5 @@
+# Copyright (c) 2025 Patrick Motsch
+# All rights reserved.
from typing import Any, Dict, List
import io
from datetime import datetime
diff --git a/modules/services/serviceExtraction/extractors/extractorXml.py b/modules/services/serviceExtraction/extractors/extractorXml.py
index c7d034ad..e264e774 100644
--- a/modules/services/serviceExtraction/extractors/extractorXml.py
+++ b/modules/services/serviceExtraction/extractors/extractorXml.py
@@ -1,3 +1,5 @@
+# Copyright (c) 2025 Patrick Motsch
+# All rights reserved.
from typing import Any, Dict, List
import xml.etree.ElementTree as ET
diff --git a/modules/services/serviceExtraction/mainServiceExtraction.py b/modules/services/serviceExtraction/mainServiceExtraction.py
index e8249180..663753cd 100644
--- a/modules/services/serviceExtraction/mainServiceExtraction.py
+++ b/modules/services/serviceExtraction/mainServiceExtraction.py
@@ -1,3 +1,5 @@
+# Copyright (c) 2025 Patrick Motsch
+# All rights reserved.
from typing import Any, Dict, List, Optional, Union
import uuid
import logging
diff --git a/modules/services/serviceExtraction/merging/__init__.py b/modules/services/serviceExtraction/merging/__init__.py
index e69de29b..fdcc4f0e 100644
--- a/modules/services/serviceExtraction/merging/__init__.py
+++ b/modules/services/serviceExtraction/merging/__init__.py
@@ -0,0 +1,2 @@
+# Copyright (c) 2025 Patrick Motsch
+# All rights reserved.
diff --git a/modules/services/serviceExtraction/merging/mergerDefault.py b/modules/services/serviceExtraction/merging/mergerDefault.py
index 9a7a625a..3ea0fa82 100644
--- a/modules/services/serviceExtraction/merging/mergerDefault.py
+++ b/modules/services/serviceExtraction/merging/mergerDefault.py
@@ -1,3 +1,5 @@
+# Copyright (c) 2025 Patrick Motsch
+# All rights reserved.
from typing import Any, Dict, List
from modules.datamodels.datamodelExtraction import ContentPart, MergeStrategy
diff --git a/modules/services/serviceExtraction/merging/mergerTable.py b/modules/services/serviceExtraction/merging/mergerTable.py
index cffce8f1..6bdcfc11 100644
--- a/modules/services/serviceExtraction/merging/mergerTable.py
+++ b/modules/services/serviceExtraction/merging/mergerTable.py
@@ -1,3 +1,5 @@
+# Copyright (c) 2025 Patrick Motsch
+# All rights reserved.
from typing import Any, Dict, List
from modules.datamodels.datamodelExtraction import ContentPart, MergeStrategy
from ..subUtils import makeId
diff --git a/modules/services/serviceExtraction/merging/mergerText.py b/modules/services/serviceExtraction/merging/mergerText.py
index 9e1ccf47..591c4462 100644
--- a/modules/services/serviceExtraction/merging/mergerText.py
+++ b/modules/services/serviceExtraction/merging/mergerText.py
@@ -1,3 +1,5 @@
+# Copyright (c) 2025 Patrick Motsch
+# All rights reserved.
from typing import Any, Dict, List
from modules.datamodels.datamodelExtraction import ContentPart, MergeStrategy
from ..subUtils import makeId
diff --git a/modules/services/serviceExtraction/subMerger.py b/modules/services/serviceExtraction/subMerger.py
index 9e8120d0..003cbce2 100644
--- a/modules/services/serviceExtraction/subMerger.py
+++ b/modules/services/serviceExtraction/subMerger.py
@@ -1,3 +1,5 @@
+# Copyright (c) 2025 Patrick Motsch
+# All rights reserved.
"""
Intelligent Token-Aware Merger for optimizing AI calls based on LLM token limits.
"""
diff --git a/modules/services/serviceExtraction/subPipeline.py b/modules/services/serviceExtraction/subPipeline.py
index a1ad6b04..3af8ba87 100644
--- a/modules/services/serviceExtraction/subPipeline.py
+++ b/modules/services/serviceExtraction/subPipeline.py
@@ -1,3 +1,5 @@
+# Copyright (c) 2025 Patrick Motsch
+# All rights reserved.
from typing import List
import logging
diff --git a/modules/services/serviceExtraction/subPromptBuilderExtraction.py b/modules/services/serviceExtraction/subPromptBuilderExtraction.py
index 9bd503bc..7e065e22 100644
--- a/modules/services/serviceExtraction/subPromptBuilderExtraction.py
+++ b/modules/services/serviceExtraction/subPromptBuilderExtraction.py
@@ -1,3 +1,5 @@
+# Copyright (c) 2025 Patrick Motsch
+# All rights reserved.
"""
Prompt builder for document extraction.
This module builds prompts for extracting content from documents.
diff --git a/modules/services/serviceExtraction/subRegistry.py b/modules/services/serviceExtraction/subRegistry.py
index e5e84c02..32727746 100644
--- a/modules/services/serviceExtraction/subRegistry.py
+++ b/modules/services/serviceExtraction/subRegistry.py
@@ -1,3 +1,5 @@
+# Copyright (c) 2025 Patrick Motsch
+# All rights reserved.
from typing import Any, Dict, Optional
import logging
diff --git a/modules/services/serviceExtraction/subUtils.py b/modules/services/serviceExtraction/subUtils.py
index efee532b..2e3c3384 100644
--- a/modules/services/serviceExtraction/subUtils.py
+++ b/modules/services/serviceExtraction/subUtils.py
@@ -1,3 +1,5 @@
+# Copyright (c) 2025 Patrick Motsch
+# All rights reserved.
import uuid
diff --git a/modules/services/serviceGeneration/mainServiceGeneration.py b/modules/services/serviceGeneration/mainServiceGeneration.py
index 79730a0a..cb1d6f9f 100644
--- a/modules/services/serviceGeneration/mainServiceGeneration.py
+++ b/modules/services/serviceGeneration/mainServiceGeneration.py
@@ -1,3 +1,5 @@
+# Copyright (c) 2025 Patrick Motsch
+# All rights reserved.
import logging
import uuid
from typing import Any, Dict, List, Optional
diff --git a/modules/services/serviceGeneration/renderers/registry.py b/modules/services/serviceGeneration/renderers/registry.py
index 5065424e..04ac520f 100644
--- a/modules/services/serviceGeneration/renderers/registry.py
+++ b/modules/services/serviceGeneration/renderers/registry.py
@@ -1,3 +1,5 @@
+# Copyright (c) 2025 Patrick Motsch
+# All rights reserved.
"""
Renderer registry for automatic discovery and registration of renderers.
"""
diff --git a/modules/services/serviceGeneration/renderers/rendererBaseTemplate.py b/modules/services/serviceGeneration/renderers/rendererBaseTemplate.py
index bea6887c..1f013457 100644
--- a/modules/services/serviceGeneration/renderers/rendererBaseTemplate.py
+++ b/modules/services/serviceGeneration/renderers/rendererBaseTemplate.py
@@ -1,3 +1,5 @@
+# Copyright (c) 2025 Patrick Motsch
+# All rights reserved.
"""
Base renderer class for all format renderers.
"""
diff --git a/modules/services/serviceGeneration/renderers/rendererCsv.py b/modules/services/serviceGeneration/renderers/rendererCsv.py
index 3e1ef3d5..d0a3ec04 100644
--- a/modules/services/serviceGeneration/renderers/rendererCsv.py
+++ b/modules/services/serviceGeneration/renderers/rendererCsv.py
@@ -1,3 +1,5 @@
+# Copyright (c) 2025 Patrick Motsch
+# All rights reserved.
"""
CSV renderer for report generation.
"""
diff --git a/modules/services/serviceGeneration/renderers/rendererDocx.py b/modules/services/serviceGeneration/renderers/rendererDocx.py
index 179cbe75..f33b898d 100644
--- a/modules/services/serviceGeneration/renderers/rendererDocx.py
+++ b/modules/services/serviceGeneration/renderers/rendererDocx.py
@@ -1,3 +1,5 @@
+# Copyright (c) 2025 Patrick Motsch
+# All rights reserved.
"""
DOCX renderer for report generation using python-docx.
"""
diff --git a/modules/services/serviceGeneration/renderers/rendererHtml.py b/modules/services/serviceGeneration/renderers/rendererHtml.py
index ff463dd0..bc15917d 100644
--- a/modules/services/serviceGeneration/renderers/rendererHtml.py
+++ b/modules/services/serviceGeneration/renderers/rendererHtml.py
@@ -1,3 +1,5 @@
+# Copyright (c) 2025 Patrick Motsch
+# All rights reserved.
"""
HTML renderer for report generation.
"""
diff --git a/modules/services/serviceGeneration/renderers/rendererImage.py b/modules/services/serviceGeneration/renderers/rendererImage.py
index 37b72c45..53392d07 100644
--- a/modules/services/serviceGeneration/renderers/rendererImage.py
+++ b/modules/services/serviceGeneration/renderers/rendererImage.py
@@ -1,3 +1,5 @@
+# Copyright (c) 2025 Patrick Motsch
+# All rights reserved.
"""
Image renderer for report generation using AI image generation.
"""
diff --git a/modules/services/serviceGeneration/renderers/rendererJson.py b/modules/services/serviceGeneration/renderers/rendererJson.py
index d688da85..a7f3d644 100644
--- a/modules/services/serviceGeneration/renderers/rendererJson.py
+++ b/modules/services/serviceGeneration/renderers/rendererJson.py
@@ -1,3 +1,5 @@
+# Copyright (c) 2025 Patrick Motsch
+# All rights reserved.
"""
JSON renderer for report generation.
"""
diff --git a/modules/services/serviceGeneration/renderers/rendererMarkdown.py b/modules/services/serviceGeneration/renderers/rendererMarkdown.py
index 5a91c667..b07c8d51 100644
--- a/modules/services/serviceGeneration/renderers/rendererMarkdown.py
+++ b/modules/services/serviceGeneration/renderers/rendererMarkdown.py
@@ -1,3 +1,5 @@
+# Copyright (c) 2025 Patrick Motsch
+# All rights reserved.
"""
Markdown renderer for report generation.
"""
diff --git a/modules/services/serviceGeneration/renderers/rendererPdf.py b/modules/services/serviceGeneration/renderers/rendererPdf.py
index 053b72de..9d0e483d 100644
--- a/modules/services/serviceGeneration/renderers/rendererPdf.py
+++ b/modules/services/serviceGeneration/renderers/rendererPdf.py
@@ -1,3 +1,5 @@
+# Copyright (c) 2025 Patrick Motsch
+# All rights reserved.
"""
PDF renderer for report generation using reportlab.
"""
diff --git a/modules/services/serviceGeneration/renderers/rendererPptx.py b/modules/services/serviceGeneration/renderers/rendererPptx.py
index d1cd2090..ac04ea90 100644
--- a/modules/services/serviceGeneration/renderers/rendererPptx.py
+++ b/modules/services/serviceGeneration/renderers/rendererPptx.py
@@ -1,3 +1,5 @@
+# Copyright (c) 2025 Patrick Motsch
+# All rights reserved.
import logging
import base64
import io
diff --git a/modules/services/serviceGeneration/renderers/rendererText.py b/modules/services/serviceGeneration/renderers/rendererText.py
index f24afa95..ceb1c638 100644
--- a/modules/services/serviceGeneration/renderers/rendererText.py
+++ b/modules/services/serviceGeneration/renderers/rendererText.py
@@ -1,3 +1,5 @@
+# Copyright (c) 2025 Patrick Motsch
+# All rights reserved.
"""
Text renderer for report generation.
"""
diff --git a/modules/services/serviceGeneration/renderers/rendererXlsx.py b/modules/services/serviceGeneration/renderers/rendererXlsx.py
index 37fd7470..fadecd88 100644
--- a/modules/services/serviceGeneration/renderers/rendererXlsx.py
+++ b/modules/services/serviceGeneration/renderers/rendererXlsx.py
@@ -1,3 +1,5 @@
+# Copyright (c) 2025 Patrick Motsch
+# All rights reserved.
"""
Excel renderer for report generation using openpyxl.
"""
diff --git a/modules/services/serviceGeneration/subDocumentUtility.py b/modules/services/serviceGeneration/subDocumentUtility.py
index 5b0a612c..abef95da 100644
--- a/modules/services/serviceGeneration/subDocumentUtility.py
+++ b/modules/services/serviceGeneration/subDocumentUtility.py
@@ -1,3 +1,5 @@
+# Copyright (c) 2025 Patrick Motsch
+# All rights reserved.
import json
import logging
import os
diff --git a/modules/services/serviceGeneration/subJsonSchema.py b/modules/services/serviceGeneration/subJsonSchema.py
index 07812bd2..22359499 100644
--- a/modules/services/serviceGeneration/subJsonSchema.py
+++ b/modules/services/serviceGeneration/subJsonSchema.py
@@ -1,3 +1,5 @@
+# Copyright (c) 2025 Patrick Motsch
+# All rights reserved.
"""
JSON Schema definitions for AI-generated document structures (unified).
This module provides schemas that guide AI to generate structured JSON output
diff --git a/modules/services/serviceGeneration/subPromptBuilderGeneration.py b/modules/services/serviceGeneration/subPromptBuilderGeneration.py
index d593a626..9a78b9f4 100644
--- a/modules/services/serviceGeneration/subPromptBuilderGeneration.py
+++ b/modules/services/serviceGeneration/subPromptBuilderGeneration.py
@@ -1,3 +1,5 @@
+# Copyright (c) 2025 Patrick Motsch
+# All rights reserved.
"""
Prompt builder for document generation.
This module builds prompts for generating documents from extracted content.
diff --git a/modules/services/serviceMessaging/mainServiceMessaging.py b/modules/services/serviceMessaging/mainServiceMessaging.py
index 728ed330..23fce81d 100644
--- a/modules/services/serviceMessaging/mainServiceMessaging.py
+++ b/modules/services/serviceMessaging/mainServiceMessaging.py
@@ -1,3 +1,5 @@
+# Copyright (c) 2025 Patrick Motsch
+# All rights reserved.
"""
Messaging service for sending messages across different channels.
Provides subscription-based messaging functionality.
diff --git a/modules/services/serviceMessaging/subscriptions/subSubscriptionSystemErrors.py b/modules/services/serviceMessaging/subscriptions/subSubscriptionSystemErrors.py
index faa307f4..51f137ed 100644
--- a/modules/services/serviceMessaging/subscriptions/subSubscriptionSystemErrors.py
+++ b/modules/services/serviceMessaging/subscriptions/subSubscriptionSystemErrors.py
@@ -1,3 +1,5 @@
+# Copyright (c) 2025 Patrick Motsch
+# All rights reserved.
"""
Example subscription function for System Errors.
This is a template that can be used as a reference for creating other subscription functions.
diff --git a/modules/services/serviceNeutralization/mainServiceNeutralization.py b/modules/services/serviceNeutralization/mainServiceNeutralization.py
index 0b37db77..3d2198b6 100644
--- a/modules/services/serviceNeutralization/mainServiceNeutralization.py
+++ b/modules/services/serviceNeutralization/mainServiceNeutralization.py
@@ -1,3 +1,5 @@
+# Copyright (c) 2025 Patrick Motsch
+# All rights reserved.
"""
Data Neutralization Service
Handles file processing for data neutralization including SharePoint integration
diff --git a/modules/services/serviceNeutralization/subParseString.py b/modules/services/serviceNeutralization/subParseString.py
index 85235da9..160719c9 100644
--- a/modules/services/serviceNeutralization/subParseString.py
+++ b/modules/services/serviceNeutralization/subParseString.py
@@ -1,3 +1,5 @@
+# Copyright (c) 2025 Patrick Motsch
+# All rights reserved.
"""
String parsing and replacement utilities for data anonymization
Handles pattern matching and replacement for emails, phones, addresses, IDs and names
diff --git a/modules/services/serviceNeutralization/subPatterns.py b/modules/services/serviceNeutralization/subPatterns.py
index 57334ef2..f8408be9 100644
--- a/modules/services/serviceNeutralization/subPatterns.py
+++ b/modules/services/serviceNeutralization/subPatterns.py
@@ -1,3 +1,5 @@
+# Copyright (c) 2025 Patrick Motsch
+# All rights reserved.
"""
Pattern definitions for data anonymization
Separates header patterns from data patterns
diff --git a/modules/services/serviceNeutralization/subProcessBinary.py b/modules/services/serviceNeutralization/subProcessBinary.py
index 3b61b635..28bbf3ee 100644
--- a/modules/services/serviceNeutralization/subProcessBinary.py
+++ b/modules/services/serviceNeutralization/subProcessBinary.py
@@ -1,3 +1,5 @@
+# Copyright (c) 2025 Patrick Motsch
+# All rights reserved.
"""
Binary data processing module for data anonymization
Handles binary data types (images, audio, video, etc.)
diff --git a/modules/services/serviceNeutralization/subProcessCommon.py b/modules/services/serviceNeutralization/subProcessCommon.py
index 01e6cb25..dd49ae75 100644
--- a/modules/services/serviceNeutralization/subProcessCommon.py
+++ b/modules/services/serviceNeutralization/subProcessCommon.py
@@ -1,3 +1,5 @@
+# Copyright (c) 2025 Patrick Motsch
+# All rights reserved.
"""
Common processing utilities for data anonymization
Shared functions and data structures
diff --git a/modules/services/serviceNeutralization/subProcessList.py b/modules/services/serviceNeutralization/subProcessList.py
index 1d39ab9e..3996ccbc 100644
--- a/modules/services/serviceNeutralization/subProcessList.py
+++ b/modules/services/serviceNeutralization/subProcessList.py
@@ -1,3 +1,5 @@
+# Copyright (c) 2025 Patrick Motsch
+# All rights reserved.
"""
List processing module for data anonymization
Handles structured data with headers (CSV, JSON, XML)
diff --git a/modules/services/serviceNeutralization/subProcessText.py b/modules/services/serviceNeutralization/subProcessText.py
index 2c183828..5366fc1b 100644
--- a/modules/services/serviceNeutralization/subProcessText.py
+++ b/modules/services/serviceNeutralization/subProcessText.py
@@ -1,3 +1,5 @@
+# Copyright (c) 2025 Patrick Motsch
+# All rights reserved.
"""
Text processing module for data anonymization
Handles plain text processing without header information
diff --git a/modules/services/serviceNormalization/mainServiceNormalization.py b/modules/services/serviceNormalization/mainServiceNormalization.py
index a8214529..ceb8b912 100644
--- a/modules/services/serviceNormalization/mainServiceNormalization.py
+++ b/modules/services/serviceNormalization/mainServiceNormalization.py
@@ -1,3 +1,5 @@
+# Copyright (c) 2025 Patrick Motsch
+# All rights reserved.
import json
import os
from typing import Any, Dict, List, Set
diff --git a/modules/services/serviceSecurity/mainServiceSecurity.py b/modules/services/serviceSecurity/mainServiceSecurity.py
index 86ac58bc..c981c4b4 100644
--- a/modules/services/serviceSecurity/mainServiceSecurity.py
+++ b/modules/services/serviceSecurity/mainServiceSecurity.py
@@ -1,3 +1,5 @@
+# Copyright (c) 2025 Patrick Motsch
+# All rights reserved.
"""
Security service for token management operations.
Provides centralized access to token refresh and management functionality.
diff --git a/modules/services/serviceSharepoint/mainServiceSharepoint.py b/modules/services/serviceSharepoint/mainServiceSharepoint.py
index 6c6c266e..e393b695 100644
--- a/modules/services/serviceSharepoint/mainServiceSharepoint.py
+++ b/modules/services/serviceSharepoint/mainServiceSharepoint.py
@@ -1,3 +1,5 @@
+# Copyright (c) 2025 Patrick Motsch
+# All rights reserved.
"""Connector for SharePoint operations using Microsoft Graph API."""
import logging
diff --git a/modules/services/serviceTicket/mainServiceTicket.py b/modules/services/serviceTicket/mainServiceTicket.py
index 6b4dfeb2..80595673 100644
--- a/modules/services/serviceTicket/mainServiceTicket.py
+++ b/modules/services/serviceTicket/mainServiceTicket.py
@@ -1,3 +1,5 @@
+# Copyright (c) 2025 Patrick Motsch
+# All rights reserved.
"""Ticket service for creating ticket interfaces."""
import logging
diff --git a/modules/services/serviceUtils/mainServiceUtils.py b/modules/services/serviceUtils/mainServiceUtils.py
index 8e106233..d3d4dfda 100644
--- a/modules/services/serviceUtils/mainServiceUtils.py
+++ b/modules/services/serviceUtils/mainServiceUtils.py
@@ -1,3 +1,5 @@
+# Copyright (c) 2025 Patrick Motsch
+# All rights reserved.
"""
Utility service for common operations across the gateway.
Provides centralized access to configuration, events, and other utilities.
diff --git a/modules/services/serviceWeb/mainServiceWeb.py b/modules/services/serviceWeb/mainServiceWeb.py
index 7ce5a72f..18176a92 100644
--- a/modules/services/serviceWeb/mainServiceWeb.py
+++ b/modules/services/serviceWeb/mainServiceWeb.py
@@ -1,3 +1,5 @@
+# Copyright (c) 2025 Patrick Motsch
+# All rights reserved.
"""
Web crawl service for handling web research operations.
Manages the two-step process: WEB_SEARCH then WEB_CRAWL.
diff --git a/modules/shared/attributeUtils.py b/modules/shared/attributeUtils.py
index 7a50946e..8f8804ee 100644
--- a/modules/shared/attributeUtils.py
+++ b/modules/shared/attributeUtils.py
@@ -1,3 +1,5 @@
+# Copyright (c) 2025 Patrick Motsch
+# All rights reserved.
"""
Shared utilities for model attributes and labels.
"""
diff --git a/modules/shared/auditLogger.py b/modules/shared/auditLogger.py
index 3155f681..46e80d5f 100644
--- a/modules/shared/auditLogger.py
+++ b/modules/shared/auditLogger.py
@@ -1,3 +1,5 @@
+# Copyright (c) 2025 Patrick Motsch
+# All rights reserved.
"""
Audit Logging System for PowerOn Gateway
diff --git a/modules/shared/callbackRegistry.py b/modules/shared/callbackRegistry.py
index 0529ff1d..23eb84ab 100644
--- a/modules/shared/callbackRegistry.py
+++ b/modules/shared/callbackRegistry.py
@@ -1,3 +1,5 @@
+# Copyright (c) 2025 Patrick Motsch
+# All rights reserved.
"""
Callback registry for decoupled event notifications.
diff --git a/modules/shared/configuration.py b/modules/shared/configuration.py
index 19f01a5c..73e2da90 100644
--- a/modules/shared/configuration.py
+++ b/modules/shared/configuration.py
@@ -1,3 +1,5 @@
+# Copyright (c) 2025 Patrick Motsch
+# All rights reserved.
"""
Utility module for configuration management.
diff --git a/modules/shared/debugLogger.py b/modules/shared/debugLogger.py
index 2af3f329..3c5e4135 100644
--- a/modules/shared/debugLogger.py
+++ b/modules/shared/debugLogger.py
@@ -1,3 +1,5 @@
+# Copyright (c) 2025 Patrick Motsch
+# All rights reserved.
"""
Simple debug logger for AI prompts and responses.
Writes files chronologically to the configured log directory with sequential numbering.
diff --git a/modules/shared/eventManagement.py b/modules/shared/eventManagement.py
index cf2a5b82..1e473ccb 100644
--- a/modules/shared/eventManagement.py
+++ b/modules/shared/eventManagement.py
@@ -1,3 +1,5 @@
+# Copyright (c) 2025 Patrick Motsch
+# All rights reserved.
import logging
from typing import Callable, Optional, Dict, Any
diff --git a/modules/shared/frontendOptionsTypes.py b/modules/shared/frontendOptionsTypes.py
index d31ff558..4863a04c 100644
--- a/modules/shared/frontendOptionsTypes.py
+++ b/modules/shared/frontendOptionsTypes.py
@@ -1,3 +1,5 @@
+# Copyright (c) 2025 Patrick Motsch
+# All rights reserved.
"""
Type definitions and utilities for frontend_options attribute.
diff --git a/modules/shared/frontendTypes.py b/modules/shared/frontendTypes.py
new file mode 100644
index 00000000..1d1c4682
--- /dev/null
+++ b/modules/shared/frontendTypes.py
@@ -0,0 +1,148 @@
+# Copyright (c) 2025 Patrick Motsch
+# All rights reserved.
+"""
+Global frontend type definitions for UI rendering.
+
+This module provides a centralized definition of all frontend types used across the application,
+including standard types (text, select, etc.) and custom types (userConnection, documentReference, etc.).
+
+Custom types support dynamic option loading via API endpoints.
+"""
+
+from enum import Enum
+from typing import Dict, Any, Optional
+
+
+class FrontendType(str, Enum):
+ """
+ Frontend rendering types for UI components.
+
+ Standard Types:
+ - Basic input types: text, textarea, number, checkbox, date, datetime, email, timestamp
+ - Selection types: select, multiselect
+ - Complex types: json, multilingual, file
+
+ Custom Types (for Actions):
+ - userConnection: User connection selector (dynamic options from /api/options/user.connection)
+ - documentReference: Document reference selector (dynamic options from workflow context)
+ - workflowAction: Workflow action selector (dynamic options from available actions)
+ """
+
+ # Standard Types
+ TEXT = "text"
+ TEXTAREA = "textarea"
+ NUMBER = "number"
+ CHECKBOX = "checkbox"
+ DATE = "date"
+ DATETIME = "datetime"
+ EMAIL = "email"
+ TIMESTAMP = "timestamp"
+ SELECT = "select"
+ MULTISELECT = "multiselect"
+ JSON = "json"
+ MULTILINGUAL = "multilingual"
+ FILE = "file"
+
+ # Custom Types for Actions
+ USER_CONNECTION = "userConnection"
+ """User connection selector - fetches connections for current user from /api/options/user.connection"""
+
+ DOCUMENT_REFERENCE = "documentReference"
+ """Document reference selector - fetches available document references from workflow context"""
+
+ WORKFLOW_ACTION = "workflowAction"
+ """Workflow action selector - fetches available actions from workflow context"""
+
+ # Additional custom types can be added here as needed
+ # Examples:
+ # SHAREPOINT_FOLDER = "sharepointFolder"
+ # OUTLOOK_FOLDER = "outlookFolder"
+ # JIRA_PROJECT = "jiraProject"
+
+
+# Mapping of custom types to their API endpoint for dynamic options
+CUSTOM_TYPE_OPTIONS_API: Dict[FrontendType, str] = {
+ FrontendType.USER_CONNECTION: "user.connection",
+ FrontendType.DOCUMENT_REFERENCE: "workflow.documentReference", # To be implemented
+ FrontendType.WORKFLOW_ACTION: "workflow.action", # To be implemented
+}
+
+# Mapping of custom types to their description
+CUSTOM_TYPE_DESCRIPTIONS: Dict[FrontendType, Dict[str, str]] = {
+ FrontendType.USER_CONNECTION: {
+ "en": "User Connection",
+ "fr": "Connexion utilisateur",
+ "de": "Benutzerverbindung"
+ },
+ FrontendType.DOCUMENT_REFERENCE: {
+ "en": "Document Reference",
+ "fr": "Référence de document",
+ "de": "Dokumentreferenz"
+ },
+ FrontendType.WORKFLOW_ACTION: {
+ "en": "Workflow Action",
+ "fr": "Action de workflow",
+ "de": "Workflow-Aktion"
+ },
+}
+
+
+def getOptionsApiEndpoint(frontendType: FrontendType) -> Optional[str]:
+ """
+ Get the API endpoint for fetching dynamic options for a custom frontend type.
+
+ Args:
+ frontendType: The frontend type to get options API endpoint for
+
+ Returns:
+ API endpoint string (e.g., "user.connection") or None if not a custom type
+ """
+ return CUSTOM_TYPE_OPTIONS_API.get(frontendType)
+
+
+def isCustomType(frontendType: FrontendType) -> bool:
+ """
+ Check if a frontend type is a custom type that requires dynamic options.
+
+ Args:
+ frontendType: The frontend type to check
+
+ Returns:
+ True if it's a custom type, False otherwise
+ """
+ return frontendType in CUSTOM_TYPE_OPTIONS_API
+
+
+def getCustomTypeDescription(frontendType: FrontendType, language: str = "en") -> Optional[str]:
+ """
+ Get the description for a custom frontend type.
+
+ Args:
+ frontendType: The frontend type to get description for
+ language: Language code (default: "en")
+
+ Returns:
+ Description string or None if not a custom type
+ """
+ descriptions = CUSTOM_TYPE_DESCRIPTIONS.get(frontendType)
+ if not descriptions:
+ return None
+ return descriptions.get(language, descriptions.get("en"))
+
+
+def registerCustomType(
+ frontendType: FrontendType,
+ optionsApiEndpoint: str,
+ description: Dict[str, str]
+) -> None:
+ """
+ Register a new custom frontend type.
+
+ Args:
+ frontendType: The frontend type enum value
+ optionsApiEndpoint: API endpoint for fetching options (e.g., "custom.type")
+ description: Multilingual description dict (e.g., {"en": "Description", "fr": "Description"})
+ """
+ CUSTOM_TYPE_OPTIONS_API[frontendType] = optionsApiEndpoint
+ CUSTOM_TYPE_DESCRIPTIONS[frontendType] = description
+
diff --git a/modules/shared/jsonUtils.py b/modules/shared/jsonUtils.py
index 46eb4380..df48b141 100644
--- a/modules/shared/jsonUtils.py
+++ b/modules/shared/jsonUtils.py
@@ -1,3 +1,5 @@
+# Copyright (c) 2025 Patrick Motsch
+# All rights reserved.
import json
import logging
from typing import Any, Dict, List, Optional, Tuple, Union, Type, TypeVar
diff --git a/modules/shared/progressLogger.py b/modules/shared/progressLogger.py
index 51207d62..f7dcecac 100644
--- a/modules/shared/progressLogger.py
+++ b/modules/shared/progressLogger.py
@@ -1,3 +1,5 @@
+# Copyright (c) 2025 Patrick Motsch
+# All rights reserved.
"""
Progress Logger utility for standardized progress reporting in workflows.
Provides centralized progress management with start/update/complete methods.
diff --git a/modules/shared/timeUtils.py b/modules/shared/timeUtils.py
index 743a78b9..0f54fb8a 100644
--- a/modules/shared/timeUtils.py
+++ b/modules/shared/timeUtils.py
@@ -1,3 +1,5 @@
+# Copyright (c) 2025 Patrick Motsch
+# All rights reserved.
"""
Timezone utilities for consistent timestamp handling across the gateway.
Ensures all timestamps are properly handled as UTC.
diff --git a/modules/workflows/methods/methodAi.py b/modules/workflows/methods/methodAi.py
index ba6bb9b3..fedaa0ef 100644
--- a/modules/workflows/methods/methodAi.py
+++ b/modules/workflows/methods/methodAi.py
@@ -1,3 +1,5 @@
+# Copyright (c) 2025 Patrick Motsch
+# All rights reserved.
"""
AI processing method module.
Handles direct AI calls for any type of task.
diff --git a/modules/workflows/methods/methodBase.py b/modules/workflows/methods/methodBase.py
index 5bbe76c0..a29d63f5 100644
--- a/modules/workflows/methods/methodBase.py
+++ b/modules/workflows/methods/methodBase.py
@@ -1,3 +1,5 @@
+# Copyright (c) 2025 Patrick Motsch
+# All rights reserved.
from typing import Dict, List, Optional, Any, Literal
from datetime import datetime, UTC
import logging
diff --git a/modules/workflows/methods/methodContext.py b/modules/workflows/methods/methodContext.py
index d2a1a8f2..0c7e1cae 100644
--- a/modules/workflows/methods/methodContext.py
+++ b/modules/workflows/methods/methodContext.py
@@ -1,3 +1,5 @@
+# Copyright (c) 2025 Patrick Motsch
+# All rights reserved.
"""
Context and workflow information method module.
Handles workflow context queries and document indexing.
diff --git a/modules/workflows/methods/methodJira.py b/modules/workflows/methods/methodJira.py
index ec54a49d..2be46c1f 100644
--- a/modules/workflows/methods/methodJira.py
+++ b/modules/workflows/methods/methodJira.py
@@ -1,3 +1,5 @@
+# Copyright (c) 2025 Patrick Motsch
+# All rights reserved.
"""
JIRA operations method module.
Handles JIRA ticket operations including connection, export, import, and data processing.
diff --git a/modules/workflows/methods/methodOutlook.py b/modules/workflows/methods/methodOutlook.py
index 16030fcc..98dfbc41 100644
--- a/modules/workflows/methods/methodOutlook.py
+++ b/modules/workflows/methods/methodOutlook.py
@@ -1,3 +1,5 @@
+# Copyright (c) 2025 Patrick Motsch
+# All rights reserved.
"""
Microsoft Outlook Email Operations Module
"""
diff --git a/modules/workflows/methods/methodSharepoint.py b/modules/workflows/methods/methodSharepoint.py
index 3fd9d37d..d12b53eb 100644
--- a/modules/workflows/methods/methodSharepoint.py
+++ b/modules/workflows/methods/methodSharepoint.py
@@ -1,3 +1,5 @@
+# Copyright (c) 2025 Patrick Motsch
+# All rights reserved.
"""
SharePoint operations method module.
Handles SharePoint document operations using the SharePoint service.
diff --git a/modules/workflows/processing/adaptive/__init__.py b/modules/workflows/processing/adaptive/__init__.py
index 0d953885..c397aeb6 100644
--- a/modules/workflows/processing/adaptive/__init__.py
+++ b/modules/workflows/processing/adaptive/__init__.py
@@ -1,3 +1,5 @@
+# Copyright (c) 2025 Patrick Motsch
+# All rights reserved.
# adaptive module for Dynamic mode
# Provides adaptive learning capabilities
diff --git a/modules/workflows/processing/adaptive/adaptiveLearningEngine.py b/modules/workflows/processing/adaptive/adaptiveLearningEngine.py
index 5573e93b..7efdaef0 100644
--- a/modules/workflows/processing/adaptive/adaptiveLearningEngine.py
+++ b/modules/workflows/processing/adaptive/adaptiveLearningEngine.py
@@ -1,3 +1,5 @@
+# Copyright (c) 2025 Patrick Motsch
+# All rights reserved.
# adaptiveLearningEngine.py
# Enhanced learning engine that tracks validation patterns and adapts prompts
diff --git a/modules/workflows/processing/adaptive/contentValidator.py b/modules/workflows/processing/adaptive/contentValidator.py
index b8c28d74..119a4692 100644
--- a/modules/workflows/processing/adaptive/contentValidator.py
+++ b/modules/workflows/processing/adaptive/contentValidator.py
@@ -1,3 +1,5 @@
+# Copyright (c) 2025 Patrick Motsch
+# All rights reserved.
# contentValidator.py
# Content validation for adaptive Dynamic mode
# Generic, document-aware validation system
diff --git a/modules/workflows/processing/adaptive/learningEngine.py b/modules/workflows/processing/adaptive/learningEngine.py
index cdc95f9f..83cf7b13 100644
--- a/modules/workflows/processing/adaptive/learningEngine.py
+++ b/modules/workflows/processing/adaptive/learningEngine.py
@@ -1,3 +1,5 @@
+# Copyright (c) 2025 Patrick Motsch
+# All rights reserved.
# learningEngine.py
# Learning engine for adaptive Dynamic mode
diff --git a/modules/workflows/processing/adaptive/progressTracker.py b/modules/workflows/processing/adaptive/progressTracker.py
index 3f317954..2b6cf8b3 100644
--- a/modules/workflows/processing/adaptive/progressTracker.py
+++ b/modules/workflows/processing/adaptive/progressTracker.py
@@ -1,3 +1,5 @@
+# Copyright (c) 2025 Patrick Motsch
+# All rights reserved.
# progressTracker.py
# Progress tracking for adaptive Dynamic mode
diff --git a/modules/workflows/processing/core/__init__.py b/modules/workflows/processing/core/__init__.py
index f2575ed7..784fe27d 100644
--- a/modules/workflows/processing/core/__init__.py
+++ b/modules/workflows/processing/core/__init__.py
@@ -1 +1,3 @@
+# Copyright (c) 2025 Patrick Motsch
+# All rights reserved.
# Core workflow processing modules
diff --git a/modules/workflows/processing/core/actionExecutor.py b/modules/workflows/processing/core/actionExecutor.py
index f183c0e4..71b5572f 100644
--- a/modules/workflows/processing/core/actionExecutor.py
+++ b/modules/workflows/processing/core/actionExecutor.py
@@ -1,3 +1,5 @@
+# Copyright (c) 2025 Patrick Motsch
+# All rights reserved.
# actionExecutor.py
# Action execution functionality for workflows
diff --git a/modules/workflows/processing/core/messageCreator.py b/modules/workflows/processing/core/messageCreator.py
index 79ec66a6..a4ae05e9 100644
--- a/modules/workflows/processing/core/messageCreator.py
+++ b/modules/workflows/processing/core/messageCreator.py
@@ -1,3 +1,5 @@
+# Copyright (c) 2025 Patrick Motsch
+# All rights reserved.
# messageCreator.py
# Generic message creation for all workflow phases
diff --git a/modules/workflows/processing/core/taskPlanner.py b/modules/workflows/processing/core/taskPlanner.py
index 597e4096..20abccde 100644
--- a/modules/workflows/processing/core/taskPlanner.py
+++ b/modules/workflows/processing/core/taskPlanner.py
@@ -1,3 +1,5 @@
+# Copyright (c) 2025 Patrick Motsch
+# All rights reserved.
# taskPlanner.py
# Task planning functionality for workflows
diff --git a/modules/workflows/processing/core/validator.py b/modules/workflows/processing/core/validator.py
index a99c0ec9..74d67b19 100644
--- a/modules/workflows/processing/core/validator.py
+++ b/modules/workflows/processing/core/validator.py
@@ -1,3 +1,5 @@
+# Copyright (c) 2025 Patrick Motsch
+# All rights reserved.
# validator.py
# Validation logic for workflows
diff --git a/modules/workflows/processing/modes/__init__.py b/modules/workflows/processing/modes/__init__.py
index 084eda51..36d96e63 100644
--- a/modules/workflows/processing/modes/__init__.py
+++ b/modules/workflows/processing/modes/__init__.py
@@ -1 +1,3 @@
+# Copyright (c) 2025 Patrick Motsch
+# All rights reserved.
# Workflow mode implementations
diff --git a/modules/workflows/processing/modes/modeAutomation.py b/modules/workflows/processing/modes/modeAutomation.py
index 996462b7..e3131939 100644
--- a/modules/workflows/processing/modes/modeAutomation.py
+++ b/modules/workflows/processing/modes/modeAutomation.py
@@ -1,3 +1,5 @@
+# Copyright (c) 2025 Patrick Motsch
+# All rights reserved.
# modeAutomation.py
# Automation mode implementation for workflows with predefined action plans
diff --git a/modules/workflows/processing/modes/modeBase.py b/modules/workflows/processing/modes/modeBase.py
index 8fbb627f..770c868a 100644
--- a/modules/workflows/processing/modes/modeBase.py
+++ b/modules/workflows/processing/modes/modeBase.py
@@ -1,3 +1,5 @@
+# Copyright (c) 2025 Patrick Motsch
+# All rights reserved.
# modeBase.py
# Abstract base class for workflow modes
diff --git a/modules/workflows/processing/modes/modeDynamic.py b/modules/workflows/processing/modes/modeDynamic.py
index 515deaaa..c4654460 100644
--- a/modules/workflows/processing/modes/modeDynamic.py
+++ b/modules/workflows/processing/modes/modeDynamic.py
@@ -1,3 +1,5 @@
+# Copyright (c) 2025 Patrick Motsch
+# All rights reserved.
# modeDynamic.py
# Dynamic mode implementation for workflows
diff --git a/modules/workflows/processing/shared/__init__.py b/modules/workflows/processing/shared/__init__.py
index 2f6387a6..bc0c6178 100644
--- a/modules/workflows/processing/shared/__init__.py
+++ b/modules/workflows/processing/shared/__init__.py
@@ -1 +1,3 @@
+# Copyright (c) 2025 Patrick Motsch
+# All rights reserved.
# Shared workflow utilities
diff --git a/modules/workflows/processing/shared/executionState.py b/modules/workflows/processing/shared/executionState.py
index 2db6a3f3..1cdf0d53 100644
--- a/modules/workflows/processing/shared/executionState.py
+++ b/modules/workflows/processing/shared/executionState.py
@@ -1,3 +1,5 @@
+# Copyright (c) 2025 Patrick Motsch
+# All rights reserved.
# executionState.py
# Contains all execution state management logic
diff --git a/modules/workflows/processing/shared/methodDiscovery.py b/modules/workflows/processing/shared/methodDiscovery.py
index 49b6e3ef..02c584cc 100644
--- a/modules/workflows/processing/shared/methodDiscovery.py
+++ b/modules/workflows/processing/shared/methodDiscovery.py
@@ -1,3 +1,5 @@
+# Copyright (c) 2025 Patrick Motsch
+# All rights reserved.
# methodDiscovery.py
# Method discovery and management for workflow execution
diff --git a/modules/workflows/processing/shared/placeholderFactory.py b/modules/workflows/processing/shared/placeholderFactory.py
index 1f4c5845..99d1523f 100644
--- a/modules/workflows/processing/shared/placeholderFactory.py
+++ b/modules/workflows/processing/shared/placeholderFactory.py
@@ -1,3 +1,5 @@
+# Copyright (c) 2025 Patrick Motsch
+# All rights reserved.
"""
Placeholder Factory
Centralized placeholder extraction functions for all workflow modes.
diff --git a/modules/workflows/processing/shared/promptGenerationActionsDynamic.py b/modules/workflows/processing/shared/promptGenerationActionsDynamic.py
index 266c2e4f..0ad5ecfe 100644
--- a/modules/workflows/processing/shared/promptGenerationActionsDynamic.py
+++ b/modules/workflows/processing/shared/promptGenerationActionsDynamic.py
@@ -1,3 +1,5 @@
+# Copyright (c) 2025 Patrick Motsch
+# All rights reserved.
"""
Dynamic Mode Prompt Generation
Handles prompt templates for dynamic mode action handling.
diff --git a/modules/workflows/processing/shared/promptGenerationTaskplan.py b/modules/workflows/processing/shared/promptGenerationTaskplan.py
index 27b5c5dc..1d4d999a 100644
--- a/modules/workflows/processing/shared/promptGenerationTaskplan.py
+++ b/modules/workflows/processing/shared/promptGenerationTaskplan.py
@@ -1,3 +1,5 @@
+# Copyright (c) 2025 Patrick Motsch
+# All rights reserved.
"""
Task Planning Prompt Generation
Handles prompt templates and extraction functions for task planning phase.
diff --git a/modules/workflows/processing/shared/stateTools.py b/modules/workflows/processing/shared/stateTools.py
index 1f625955..485539f9 100644
--- a/modules/workflows/processing/shared/stateTools.py
+++ b/modules/workflows/processing/shared/stateTools.py
@@ -1,3 +1,5 @@
+# Copyright (c) 2025 Patrick Motsch
+# All rights reserved.
"""
State Tools
Shared utilities for workflow state management and validation.
diff --git a/modules/workflows/processing/workflowProcessor.py b/modules/workflows/processing/workflowProcessor.py
index f33df591..d97541e5 100644
--- a/modules/workflows/processing/workflowProcessor.py
+++ b/modules/workflows/processing/workflowProcessor.py
@@ -1,3 +1,5 @@
+# Copyright (c) 2025 Patrick Motsch
+# All rights reserved.
# workflowProcessor.py
# Main workflow processor with delegation pattern
diff --git a/modules/workflows/workflowManager.py b/modules/workflows/workflowManager.py
index c1eb7c45..1906c0f6 100644
--- a/modules/workflows/workflowManager.py
+++ b/modules/workflows/workflowManager.py
@@ -1,3 +1,5 @@
+# Copyright (c) 2025 Patrick Motsch
+# All rights reserved.
from typing import Dict, Any, List, Optional
import logging
import uuid
diff --git a/tests/__init__.py b/tests/__init__.py
index 9cfa3406..77f3aaa9 100644
--- a/tests/__init__.py
+++ b/tests/__init__.py
@@ -1,3 +1,5 @@
+# Copyright (c) 2025 Patrick Motsch
+# All rights reserved.
"""
Test suite for PowerOn gateway modules
"""
diff --git a/tests/conftest.py b/tests/conftest.py
index ab22ee17..cb1cfb1f 100644
--- a/tests/conftest.py
+++ b/tests/conftest.py
@@ -1,3 +1,5 @@
+# Copyright (c) 2025 Patrick Motsch
+# All rights reserved.
"""
Pytest configuration file for test suite.
Ensures proper Python path setup for importing modules.
diff --git a/tests/functional/__init__.py b/tests/functional/__init__.py
index f02847fc..81e51c0f 100644
--- a/tests/functional/__init__.py
+++ b/tests/functional/__init__.py
@@ -1,3 +1,5 @@
+# Copyright (c) 2025 Patrick Motsch
+# All rights reserved.
"""
Functional tests directory.
diff --git a/tests/functional/test01_ai_model_selection.py b/tests/functional/test01_ai_model_selection.py
index e9cad29a..84b22494 100644
--- a/tests/functional/test01_ai_model_selection.py
+++ b/tests/functional/test01_ai_model_selection.py
@@ -1,4 +1,6 @@
#!/usr/bin/env python3
+# Copyright (c) 2025 Patrick Motsch
+# All rights reserved.
"""
AI Model Selection Test - Prints prioritized fallback model lists for all interface calls
diff --git a/tests/functional/test02_ai_models.py b/tests/functional/test02_ai_models.py
index 01ebc90d..0578ba7b 100644
--- a/tests/functional/test02_ai_models.py
+++ b/tests/functional/test02_ai_models.py
@@ -1,4 +1,6 @@
#!/usr/bin/env python3
+# Copyright (c) 2025 Patrick Motsch
+# All rights reserved.
"""
AI Models Test - Tests ALL operation types on ALL models that support them
diff --git a/tests/functional/test03_ai_operations.py b/tests/functional/test03_ai_operations.py
index 68b18118..259932c2 100644
--- a/tests/functional/test03_ai_operations.py
+++ b/tests/functional/test03_ai_operations.py
@@ -1,4 +1,6 @@
#!/usr/bin/env python3
+# Copyright (c) 2025 Patrick Motsch
+# All rights reserved.
"""
Test script for methodAi operations.
Tests all OperationType's with various prompts through the workflow action interface.
diff --git a/tests/functional/test04_ai_behavior.py b/tests/functional/test04_ai_behavior.py
index f138e57c..51059745 100644
--- a/tests/functional/test04_ai_behavior.py
+++ b/tests/functional/test04_ai_behavior.py
@@ -1,4 +1,6 @@
#!/usr/bin/env python3
+# Copyright (c) 2025 Patrick Motsch
+# All rights reserved.
"""
AI Behavior Test - Tests actual AI responses with different prompt structures
"""
diff --git a/tests/functional/test05_workflow_with_documents.py b/tests/functional/test05_workflow_with_documents.py
index 7dc95cb1..7ed171c0 100644
--- a/tests/functional/test05_workflow_with_documents.py
+++ b/tests/functional/test05_workflow_with_documents.py
@@ -1,4 +1,6 @@
#!/usr/bin/env python3
+# Copyright (c) 2025 Patrick Motsch
+# All rights reserved.
"""
Workflow Test with Documents - Tests chat workflow execution with uploaded documents
Simulates the UI route flow: upload files, start workflow with prompt and documents
diff --git a/tests/functional/test06_workflow_prompt_variations.py b/tests/functional/test06_workflow_prompt_variations.py
index 21085119..c65fa401 100644
--- a/tests/functional/test06_workflow_prompt_variations.py
+++ b/tests/functional/test06_workflow_prompt_variations.py
@@ -1,4 +1,6 @@
#!/usr/bin/env python3
+# Copyright (c) 2025 Patrick Motsch
+# All rights reserved.
"""
Workflow Test with Prompt Variations - Tests different workflow scenarios:
1. Simple prompt for short answer (no documents)
diff --git a/tests/functional/test07_json_merge.py b/tests/functional/test07_json_merge.py
index 2862b74d..de70052f 100644
--- a/tests/functional/test07_json_merge.py
+++ b/tests/functional/test07_json_merge.py
@@ -1,3 +1,5 @@
+# Copyright (c) 2025 Patrick Motsch
+# All rights reserved.
"""Test JSON string accumulation for broken JSON iterations - String accumulation approach"""
import json
import sys
diff --git a/tests/functional/test08_json_finalization.py b/tests/functional/test08_json_finalization.py
index 2d8de533..a05daccc 100644
--- a/tests/functional/test08_json_finalization.py
+++ b/tests/functional/test08_json_finalization.py
@@ -1,3 +1,5 @@
+# Copyright (c) 2025 Patrick Motsch
+# All rights reserved.
"""
Test JSON finalization process after accumulation is complete.
diff --git a/tests/functional/test_kpi_full.py b/tests/functional/test_kpi_full.py
index e8cf1ec1..32e40f07 100644
--- a/tests/functional/test_kpi_full.py
+++ b/tests/functional/test_kpi_full.py
@@ -1,3 +1,5 @@
+# Copyright (c) 2025 Patrick Motsch
+# All rights reserved.
"""Test full KPI extraction and validation flow"""
import json
import sys
diff --git a/tests/functional/test_kpi_incomplete.py b/tests/functional/test_kpi_incomplete.py
index a6d724e9..f6e60aa0 100644
--- a/tests/functional/test_kpi_incomplete.py
+++ b/tests/functional/test_kpi_incomplete.py
@@ -1,3 +1,5 @@
+# Copyright (c) 2025 Patrick Motsch
+# All rights reserved.
"""Test KPI extraction with incomplete JSON"""
import json
import sys
diff --git a/tests/functional/test_kpi_path.py b/tests/functional/test_kpi_path.py
index 7be6dba8..0c54e3c2 100644
--- a/tests/functional/test_kpi_path.py
+++ b/tests/functional/test_kpi_path.py
@@ -1,3 +1,5 @@
+# Copyright (c) 2025 Patrick Motsch
+# All rights reserved.
"""Test KPI path extraction"""
import json
import sys
diff --git a/tests/integration/__init__.py b/tests/integration/__init__.py
index d5b31da0..21e803ee 100644
--- a/tests/integration/__init__.py
+++ b/tests/integration/__init__.py
@@ -1,3 +1,5 @@
+# Copyright (c) 2025 Patrick Motsch
+# All rights reserved.
"""
Integration tests
"""
diff --git a/tests/integration/options/test_options_api.py b/tests/integration/options/test_options_api.py
index ac9b5468..68a276e2 100644
--- a/tests/integration/options/test_options_api.py
+++ b/tests/integration/options/test_options_api.py
@@ -1,3 +1,5 @@
+# Copyright (c) 2025 Patrick Motsch
+# All rights reserved.
"""
Integration tests for Options API endpoints.
Tests the actual API endpoints with real database connections.
diff --git a/tests/integration/rbac/__init__.py b/tests/integration/rbac/__init__.py
index 32a3a0b9..25122eed 100644
--- a/tests/integration/rbac/__init__.py
+++ b/tests/integration/rbac/__init__.py
@@ -1 +1,3 @@
+# Copyright (c) 2025 Patrick Motsch
+# All rights reserved.
"""Integration tests for RBAC system."""
diff --git a/tests/integration/rbac/test_rbac_database.py b/tests/integration/rbac/test_rbac_database.py
index 34a51c30..1c081953 100644
--- a/tests/integration/rbac/test_rbac_database.py
+++ b/tests/integration/rbac/test_rbac_database.py
@@ -1,3 +1,5 @@
+# Copyright (c) 2025 Patrick Motsch
+# All rights reserved.
"""
Integration tests for RBAC database filtering.
Tests that database queries correctly filter records based on RBAC rules.
diff --git a/tests/integration/workflows/test_workflow_execution.py b/tests/integration/workflows/test_workflow_execution.py
index 35142de6..a2b69576 100644
--- a/tests/integration/workflows/test_workflow_execution.py
+++ b/tests/integration/workflows/test_workflow_execution.py
@@ -1,4 +1,6 @@
#!/usr/bin/env python3
+# Copyright (c) 2025 Patrick Motsch
+# All rights reserved.
"""
Integration tests for workflow execution
Tests full workflow execution with state management, Stage 1/2, document extraction flow.
diff --git a/tests/unit/__init__.py b/tests/unit/__init__.py
index d95a465f..e2e77ecd 100644
--- a/tests/unit/__init__.py
+++ b/tests/unit/__init__.py
@@ -1,3 +1,5 @@
+# Copyright (c) 2025 Patrick Motsch
+# All rights reserved.
"""
Unit tests
"""
diff --git a/tests/unit/datamodels/test_docref.py b/tests/unit/datamodels/test_docref.py
index 42f560cf..2f2ee03d 100644
--- a/tests/unit/datamodels/test_docref.py
+++ b/tests/unit/datamodels/test_docref.py
@@ -1,4 +1,6 @@
#!/usr/bin/env python3
+# Copyright (c) 2025 Patrick Motsch
+# All rights reserved.
"""
Unit tests for document reference models in datamodelDocref.py
Tests DocumentReference, DocumentListReference, DocumentItemReference, DocumentReferenceList.
diff --git a/tests/unit/datamodels/test_workflow_models.py b/tests/unit/datamodels/test_workflow_models.py
index f5fe3337..ab73f10f 100644
--- a/tests/unit/datamodels/test_workflow_models.py
+++ b/tests/unit/datamodels/test_workflow_models.py
@@ -1,4 +1,6 @@
#!/usr/bin/env python3
+# Copyright (c) 2025 Patrick Motsch
+# All rights reserved.
"""
Unit tests for workflow models in datamodelWorkflow.py
Tests ActionDefinition, AiResponse, ExtractContentParameters, and workflow-level models.
diff --git a/tests/unit/options/test_frontend_options_types.py b/tests/unit/options/test_frontend_options_types.py
index 544587f9..fbb7ed75 100644
--- a/tests/unit/options/test_frontend_options_types.py
+++ b/tests/unit/options/test_frontend_options_types.py
@@ -1,3 +1,5 @@
+# Copyright (c) 2025 Patrick Motsch
+# All rights reserved.
"""
Unit tests for frontend_options type system and utilities.
Tests type validation, format detection, and utility functions.
diff --git a/tests/unit/options/test_main_options.py b/tests/unit/options/test_main_options.py
index ed78aeda..1182fb9c 100644
--- a/tests/unit/options/test_main_options.py
+++ b/tests/unit/options/test_main_options.py
@@ -1,3 +1,5 @@
+# Copyright (c) 2025 Patrick Motsch
+# All rights reserved.
"""
Unit tests for Dynamic Options API (mainDynamicOptions.py).
Tests option retrieval, validation, and context-aware options.
diff --git a/tests/unit/rbac/__init__.py b/tests/unit/rbac/__init__.py
index 5d55b3ca..76c6c7d0 100644
--- a/tests/unit/rbac/__init__.py
+++ b/tests/unit/rbac/__init__.py
@@ -1 +1,3 @@
+# Copyright (c) 2025 Patrick Motsch
+# All rights reserved.
"""Unit tests for RBAC system."""
diff --git a/tests/unit/rbac/test_rbac_bootstrap.py b/tests/unit/rbac/test_rbac_bootstrap.py
index 37be1185..476efab1 100644
--- a/tests/unit/rbac/test_rbac_bootstrap.py
+++ b/tests/unit/rbac/test_rbac_bootstrap.py
@@ -1,3 +1,5 @@
+# Copyright (c) 2025 Patrick Motsch
+# All rights reserved.
"""
Unit tests for RBAC bootstrap initialization.
Tests that bootstrap creates correct rules and initial data.
diff --git a/tests/unit/rbac/test_rbac_permissions.py b/tests/unit/rbac/test_rbac_permissions.py
index 1b814137..d063ff11 100644
--- a/tests/unit/rbac/test_rbac_permissions.py
+++ b/tests/unit/rbac/test_rbac_permissions.py
@@ -1,3 +1,5 @@
+# Copyright (c) 2025 Patrick Motsch
+# All rights reserved.
"""
Unit tests for RBAC permission resolution.
Tests rule specificity, multiple roles, and permission combination logic.
diff --git a/tests/unit/utils/test_json_utils.py b/tests/unit/utils/test_json_utils.py
index aaa3dea0..6c0e4357 100644
--- a/tests/unit/utils/test_json_utils.py
+++ b/tests/unit/utils/test_json_utils.py
@@ -1,4 +1,6 @@
#!/usr/bin/env python3
+# Copyright (c) 2025 Patrick Motsch
+# All rights reserved.
"""
Unit tests for JSON utilities in jsonUtils.py
Tests parseJsonWithModel, extractJsonString, tryParseJson, repairBrokenJson.
diff --git a/tests/unit/workflows/test_state_management.py b/tests/unit/workflows/test_state_management.py
index e86d9ed2..ae502397 100644
--- a/tests/unit/workflows/test_state_management.py
+++ b/tests/unit/workflows/test_state_management.py
@@ -1,4 +1,6 @@
#!/usr/bin/env python3
+# Copyright (c) 2025 Patrick Motsch
+# All rights reserved.
"""
Unit tests for workflow state management in ChatWorkflow and TaskContext
Tests state increment methods, helper methods, and updateFromSelection.
diff --git a/tests/validation/test_architecture_validation.py b/tests/validation/test_architecture_validation.py
index fc15c3fd..09f6e92c 100644
--- a/tests/validation/test_architecture_validation.py
+++ b/tests/validation/test_architecture_validation.py
@@ -1,4 +1,6 @@
#!/usr/bin/env python3
+# Copyright (c) 2025 Patrick Motsch
+# All rights reserved.
"""
End-to-End Validation Tests for New Architecture
Validates that the new architecture works correctly in real scenarios.
diff --git a/tool_security_encrypt_all_env_files.py b/tool_security_encrypt_all_env_files.py
index 7e39e720..420591dd 100644
--- a/tool_security_encrypt_all_env_files.py
+++ b/tool_security_encrypt_all_env_files.py
@@ -1,4 +1,6 @@
#!/usr/bin/env python3
+# Copyright (c) 2025 Patrick Motsch
+# All rights reserved.
"""
Tool for encrypting all *_SECRET variables in all environment files.
diff --git a/tool_security_encrypt_config_value.py b/tool_security_encrypt_config_value.py
index 2ce3d8ab..e082e541 100644
--- a/tool_security_encrypt_config_value.py
+++ b/tool_security_encrypt_config_value.py
@@ -1,4 +1,6 @@
#!/usr/bin/env python3
+# Copyright (c) 2025 Patrick Motsch
+# All rights reserved.
"""
Tool for encrypting configuration values.
diff --git a/tool_security_generate_master_keys.py b/tool_security_generate_master_keys.py
index 6ca35884..a5426e4f 100644
--- a/tool_security_generate_master_keys.py
+++ b/tool_security_generate_master_keys.py
@@ -1,4 +1,6 @@
#!/usr/bin/env python3
+# Copyright (c) 2025 Patrick Motsch
+# All rights reserved.
"""
Generate secure master keys for all environments.
diff --git a/tool_stats_durations_from_log.py b/tool_stats_durations_from_log.py
index c6e4b5e1..24176f2c 100644
--- a/tool_stats_durations_from_log.py
+++ b/tool_stats_durations_from_log.py
@@ -1,3 +1,5 @@
+# Copyright (c) 2025 Patrick Motsch
+# All rights reserved.
import argparse
import csv
import re
diff --git a/tool_stats_get_codelines.py b/tool_stats_get_codelines.py
index c9564579..1b4fd61e 100644
--- a/tool_stats_get_codelines.py
+++ b/tool_stats_get_codelines.py
@@ -1,4 +1,6 @@
#!/usr/bin/env python3
+# Copyright (c) 2025 Patrick Motsch
+# All rights reserved.
"""
Script to count code lines in a folder and its subfolders.
Reports lines per file for Python, JavaScript, and CSS files,
diff --git a/tool_stats_showUnusedFunctions.py b/tool_stats_showUnusedFunctions.py
index 6b26d187..22dd5144 100644
--- a/tool_stats_showUnusedFunctions.py
+++ b/tool_stats_showUnusedFunctions.py
@@ -1,4 +1,6 @@
#!/usr/bin/env python3
+# Copyright (c) 2025 Patrick Motsch
+# All rights reserved.
"""
Script to find unused functions in Python files.
Analyzes all .py files in the codebase and reports functions that are never called.