From 4a60086c8002d3768898ddeaf22b35b11c615678 Mon Sep 17 00:00:00 2001
From: ValueOn AG
Date: Tue, 9 Jun 2026 09:53:31 +0200
Subject: [PATCH] cp adapted to 2026 poweron
---
app.py | 4 +-
modules/aicore/aicoreBase.py | 2 +-
modules/aicore/aicoreModelRegistry.py | 2 +-
modules/aicore/aicoreModelSelector.py | 4 +-
modules/aicore/aicorePluginAnthropic.py | 4 +-
modules/aicore/aicorePluginInternal.py | 2 +-
modules/aicore/aicorePluginMistral.py | 2 +-
modules/aicore/aicorePluginOpenai.py | 4 +-
modules/aicore/aicorePluginPerplexity.py | 2 +-
modules/aicore/aicorePluginPrivateLlm.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/mfaService.py | 2 +-
modules/auth/oauthConnectTicket.py | 2 +-
modules/auth/oauthProviderConfig.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/connectorPreprocessor.py | 2 +-
modules/connectors/connectorProviderBase.py | 2 +-
.../connectors/connectorProviderClickup.py | 2 +-
modules/connectors/connectorProviderFtp.py | 2 +-
modules/connectors/connectorProviderGoogle.py | 2 +-
.../connectors/connectorProviderInfomaniak.py | 2 +-
modules/connectors/connectorProviderMsft.py | 2 +-
modules/connectors/connectorResolver.py | 2 +-
modules/connectors/connectorTicketsClickup.py | 2 +-
modules/connectors/connectorTicketsJira.py | 2 +-
modules/connectors/connectorTicketsRedmine.py | 2 +-
modules/connectors/connectorVoiceGoogle.py | 2 +-
modules/datamodels/__init__.py | 4 +-
modules/datamodels/datamodelAi.py | 4 +-
modules/datamodels/datamodelAiAudit.py | 2 +-
modules/datamodels/datamodelAudit.py | 2 +-
modules/datamodels/datamodelBackgroundJob.py | 2 +-
modules/datamodels/datamodelBase.py | 2 +-
modules/datamodels/datamodelBilling.py | 2 +-
modules/datamodels/datamodelChat.py | 2 +-
modules/datamodels/datamodelContent.py | 2 +-
modules/datamodels/datamodelDataSource.py | 2 +-
modules/datamodels/datamodelDocref.py | 2 +-
modules/datamodels/datamodelDocument.py | 2 +-
modules/datamodels/datamodelExtraction.py | 4 +-
modules/datamodels/datamodelFeatures.py | 2 +-
modules/datamodels/datamodelFiles.py | 2 +-
modules/datamodels/datamodelInvitation.py | 2 +-
modules/datamodels/datamodelJson.py | 2 +-
modules/datamodels/datamodelKnowledge.py | 2 +-
modules/datamodels/datamodelMembership.py | 2 +-
modules/datamodels/datamodelMessaging.py | 2 +-
modules/datamodels/datamodelNavigation.py | 2 +-
modules/datamodels/datamodelNotification.py | 2 +-
modules/datamodels/datamodelPagination.py | 2 +-
modules/datamodels/datamodelPortTypes.py | 2 +-
modules/datamodels/datamodelRbac.py | 2 +-
modules/datamodels/datamodelSecurity.py | 2 +-
modules/datamodels/datamodelSubscription.py | 2 +-
modules/datamodels/datamodelTickets.py | 2 +-
modules/datamodels/datamodelTools.py | 2 +-
modules/datamodels/datamodelUam.py | 2 +-
modules/datamodels/datamodelUdm.py | 2 +-
modules/datamodels/datamodelUiLanguage.py | 2 +-
modules/datamodels/datamodelUtils.py | 2 +-
modules/datamodels/datamodelViews.py | 2 +-
modules/datamodels/datamodelVoice.py | 2 +-
modules/datamodels/datamodelWorkflow.py | 2 +-
.../datamodels/datamodelWorkflowActions.py | 2 +-
.../datamodels/datamodelWorkflowAutomation.py | 2 +-
modules/datamodels/serviceExceptions.py | 2 +-
modules/dbHelpers/aiAuditLogger.py | 2 +-
modules/dbHelpers/auditLogger.py | 2 +-
.../dbHelpers/dbMultiTenantOptimizations.py | 2 +-
modules/dbHelpers/dbRegistry.py | 2 +-
modules/dbHelpers/fkLabelResolver.py | 2 +-
modules/dbHelpers/fkRegistry.py | 2 +-
modules/dbHelpers/paginationHelpers.py | 2 +-
.../features/commcoach/datamodelCommcoach.py | 2 +-
.../commcoach/interfaceFeatureCommcoach.py | 2 +-
modules/features/commcoach/mainCommcoach.py | 2 +-
.../commcoach/routeFeatureCommcoach.py | 2 +-
.../features/commcoach/serviceCommcoach.py | 2 +-
.../features/commcoach/serviceCommcoachAi.py | 2 +-
.../serviceCommcoachContextRetrieval.py | 2 +-
.../commcoach/serviceCommcoachExport.py | 2 +-
.../commcoach/serviceCommcoachGamification.py | 2 +-
.../commcoach/serviceCommcoachIndexer.py | 2 +-
.../commcoach/serviceCommcoachPersonas.py | 2 +-
.../commcoach/serviceCommcoachScheduler.py | 2 +-
.../commcoach/tests/test_contextRetrieval.py | 2 +-
.../commcoach/tests/test_datamodel.py | 2 +-
.../commcoach/tests/test_mainCommcoach.py | 2 +-
.../commcoach/tests/test_serviceAi.py | 2 +-
.../datamodelFeatureNeutralizer.py | 2 +-
.../interfaceFeatureNeutralizer.py | 2 +-
.../neutralization/mainNeutralization.py | 2 +-
.../neutralization/neutralizePlayground.py | 2 +-
.../neutralization/routeFeatureNeutralizer.py | 2 +-
.../mainServiceNeutralization.py | 2 +-
.../subContentPartAdapter.py | 2 +-
.../serviceNeutralization/subParseString.py | 2 +-
.../serviceNeutralization/subPatterns.py | 4 +-
.../serviceNeutralization/subProcessBinary.py | 2 +-
.../serviceNeutralization/subProcessCommon.py | 2 +-
.../serviceNeutralization/subProcessList.py | 2 +-
.../subProcessPdfInPlace.py | 2 +-
.../serviceNeutralization/subProcessText.py | 2 +-
modules/features/redmine/__init__.py | 2 +-
modules/features/redmine/datamodelRedmine.py | 2 +-
.../redmine/interfaceFeatureRedmine.py | 2 +-
modules/features/redmine/mainRedmine.py | 2 +-
.../features/redmine/routeFeatureRedmine.py | 2 +-
modules/features/redmine/serviceRedmine.py | 2 +-
.../features/redmine/serviceRedmineStats.py | 2 +-
.../redmine/serviceRedmineStatsCache.py | 2 +-
.../features/redmine/serviceRedmineSync.py | 2 +-
.../features/redmine/workflows/__init__.py | 2 +-
.../workflows/methodRedmine/__init__.py | 2 +-
.../methodRedmine/actions/__init__.py | 2 +-
.../methodRedmine/actions/_shared.py | 2 +-
.../methodRedmine/actions/createTicket.py | 2 +-
.../methodRedmine/actions/getStats.py | 2 +-
.../methodRedmine/actions/listRelations.py | 2 +-
.../methodRedmine/actions/listTickets.py | 2 +-
.../methodRedmine/actions/readTicket.py | 2 +-
.../methodRedmine/actions/runSync.py | 2 +-
.../methodRedmine/actions/updateTicket.py | 2 +-
.../workflows/methodRedmine/methodRedmine.py | 2 +-
modules/features/teamsbot/__init__.py | 2 +-
modules/features/teamsbot/bridgeConnector.py | 2 +-
.../features/teamsbot/browserBotConnector.py | 2 +-
modules/features/teamsbot/config.py | 2 +-
.../features/teamsbot/datamodelTeamsbot.py | 2 +-
.../teamsbot/interfaceFeatureTeamsbot.py | 2 +-
modules/features/teamsbot/mainTeamsbot.py | 2 +-
.../features/teamsbot/routeFeatureTeamsbot.py | 2 +-
modules/features/teamsbot/service.py | 2 +-
modules/features/teamsbot/serviceCommands.py | 2 +-
.../features/teamsbot/serviceConversation.py | 2 +-
modules/features/teamsbot/serviceWebSocket.py | 2 +-
.../features/trustee/accounting/__init__.py | 2 +-
.../trustee/accounting/accountingBridge.py | 2 +-
.../accounting/accountingConnectorBase.py | 2 +-
.../trustee/accounting/accountingDataSync.py | 2 +-
.../trustee/accounting/accountingRegistry.py | 2 +-
.../trustee/accounting/connectors/__init__.py | 2 +-
.../connectors/accountingConnectorAbacus.py | 2 +-
.../connectors/accountingConnectorBexio.py | 2 +-
.../connectors/accountingConnectorRma.py | 2 +-
.../trustee/datamodelFeatureTrustee.py | 2 +-
.../trustee/handlerTrusteeAccounting.py | 2 +-
.../trustee/interfaceFeatureTrustee.py | 2 +-
modules/features/trustee/mainTrustee.py | 2 +-
.../features/trustee/routeFeatureTrustee.py | 2 +-
modules/features/trustee/trusteeOntology.py | 2 +-
.../features/trustee/workflows/__init__.py | 2 +-
.../workflows/methodTrustee/__init__.py | 2 +-
.../methodTrustee/actions/extractFromFiles.py | 2 +-
.../methodTrustee/actions/processDocuments.py | 2 +-
.../methodTrustee/actions/queryData.py | 2 +-
.../actions/refreshAccountingData.py | 2 +-
.../methodTrustee/actions/syncToAccounting.py | 2 +-
.../workflows/methodTrustee/methodTrustee.py | 2 +-
modules/features/workspace/__init__.py | 2 +-
.../workspace/datamodelFeatureWorkspace.py | 2 +-
.../workspace/interfaceFeatureWorkspace.py | 2 +-
modules/features/workspace/mainWorkspace.py | 2 +-
.../workspace/routeFeatureWorkspace.py | 2 +-
.../interfaces/_legacyMigrationTelemetry.py | 2 +-
modules/interfaces/interfaceAiObjects.py | 2 +-
modules/interfaces/interfaceBootstrap.py | 2 +-
modules/interfaces/interfaceDbApp.py | 2 +-
modules/interfaces/interfaceDbBilling.py | 2 +-
modules/interfaces/interfaceDbChat.py | 2 +-
modules/interfaces/interfaceDbKnowledge.py | 2 +-
modules/interfaces/interfaceDbManagement.py | 4 +-
modules/interfaces/interfaceDbSubscription.py | 2 +-
modules/interfaces/interfaceFeatures.py | 2 +-
modules/interfaces/interfaceMessaging.py | 2 +-
modules/interfaces/interfaceRbac.py | 2 +-
modules/interfaces/interfaceTableHelpers.py | 2 +-
modules/interfaces/interfaceTicketObjects.py | 2 +-
modules/interfaces/interfaceVoiceObjects.py | 2 +-
.../interfaces/interfaceWorkflowAutomation.py | 2 +-
modules/nodeCatalog/__init__.py | 3 +-
modules/nodeCatalog/_workflowFileSchema.py | 2 +-
modules/nodeCatalog/entryPoints.py | 3 +-
modules/nodeCatalog/nodeAdapter.py | 2 +-
.../nodeCatalog/nodeDefinitions/__init__.py | 3 +-
modules/nodeCatalog/nodeDefinitions/ai.py | 3 +-
.../nodeCatalog/nodeDefinitions/clickup.py | 2 +-
.../nodeCatalog/nodeDefinitions/context.py | 3 +-
.../nodeDefinitions/contextPickerHelp.py | 3 +-
modules/nodeCatalog/nodeDefinitions/data.py | 3 +-
modules/nodeCatalog/nodeDefinitions/email.py | 3 +-
modules/nodeCatalog/nodeDefinitions/file.py | 3 +-
modules/nodeCatalog/nodeDefinitions/flow.py | 3 +-
modules/nodeCatalog/nodeDefinitions/input.py | 3 +-
.../nodeCatalog/nodeDefinitions/redmine.py | 2 +-
.../nodeCatalog/nodeDefinitions/sharepoint.py | 3 +-
.../nodeCatalog/nodeDefinitions/triggers.py | 3 +-
.../nodeCatalog/nodeDefinitions/trustee.py | 3 +-
modules/nodeCatalog/portTypes.py | 2 +-
modules/routes/routeAdmin.py | 2 +-
modules/routes/routeAdminDatabaseHealth.py | 2 +-
modules/routes/routeAdminFeatures.py | 2 +-
modules/routes/routeAdminLogs.py | 2 +-
modules/routes/routeAdminRbacRules.py | 2 +-
.../routes/routeAdminUserAccessOverview.py | 2 +-
modules/routes/routeAttributes.py | 4 +-
modules/routes/routeAudit.py | 2 +-
modules/routes/routeBilling.py | 2 +-
modules/routes/routeClickup.py | 2 +-
modules/routes/routeDataConnections.py | 4 +-
modules/routes/routeDataFiles.py | 15 +++---
modules/routes/routeDataMandates.py | 2 +-
modules/routes/routeDataPrompts.py | 4 +-
modules/routes/routeDataSources.py | 2 +-
modules/routes/routeDataUsers.py | 2 +-
modules/routes/routeGdpr.py | 2 +-
modules/routes/routeI18n.py | 2 +-
modules/routes/routeInvitations.py | 2 +-
modules/routes/routeJobs.py | 2 +-
modules/routes/routeMfa.py | 2 +-
modules/routes/routeNotifications.py | 2 +-
modules/routes/routeRagInventory.py | 2 +-
modules/routes/routeSecurityClickup.py | 2 +-
modules/routes/routeSecurityGoogle.py | 2 +-
modules/routes/routeSecurityInfomaniak.py | 2 +-
modules/routes/routeSecurityLocal.py | 2 +-
modules/routes/routeSecurityMsft.py | 2 +-
modules/routes/routeSharepoint.py | 2 +-
modules/routes/routeStore.py | 2 +-
modules/routes/routeSubscription.py | 2 +-
modules/routes/routeSystem.py | 2 +-
modules/routes/routeTableViews.py | 2 +-
modules/routes/routeUdb.py | 2 +-
modules/routes/routeVoiceGoogle.py | 2 +-
modules/routes/routeVoiceUser.py | 2 +-
modules/routes/routeWorkflowAutomation.py | 2 +-
modules/security/__init__.py | 2 +-
modules/security/passwordUtils.py | 2 +-
modules/security/rbac.py | 2 +-
modules/security/rbacCatalog.py | 2 +-
modules/security/rbacHelpers.py | 2 +-
modules/security/rootAccess.py | 2 +-
modules/serviceCenter/__init__.py | 2 +-
modules/serviceCenter/context.py | 2 +-
modules/serviceCenter/core/__init__.py | 2 +-
modules/serviceCenter/core/flagResolution.py | 2 +-
.../core/serviceSecurity/__init__.py | 2 +-
.../serviceSecurity/mainServiceSecurity.py | 2 +-
.../core/serviceStreaming/__init__.py | 2 +-
.../serviceStreaming/mainServiceStreaming.py | 2 +-
.../core/serviceUtils/__init__.py | 2 +-
.../core/serviceUtils/mainServiceUtils.py | 2 +-
modules/serviceCenter/core/types.py | 2 +-
modules/serviceCenter/registry.py | 2 +-
modules/serviceCenter/resolver.py | 2 +-
modules/serviceCenter/services/__init__.py | 2 +-
.../services/serviceAgent/__init__.py | 2 +-
.../serviceAgent/actionToolAdapter.py | 2 +-
.../services/serviceAgent/agentLoop.py | 2 +-
.../serviceAgent/conversationManager.py | 2 +-
.../serviceAgent/coreTools/__init__.py | 2 +-
.../coreTools/_connectionTools.py | 2 +-
.../coreTools/_crossWorkflowTools.py | 2 +-
.../coreTools/_dataSourceTools.py | 26 ++++-----
.../serviceAgent/coreTools/_documentTools.py | 15 +++---
.../serviceAgent/coreTools/_emailTools.py | 2 +-
.../coreTools/_featureSubAgentTools.py | 28 +++-------
.../serviceAgent/coreTools/_helpers.py | 37 ++++++-------
.../serviceAgent/coreTools/_mediaTools.py | 38 ++++---------
.../serviceAgent/coreTools/_workspaceTools.py | 13 +----
.../serviceAgent/coreTools/registerCore.py | 2 +-
.../services/serviceAgent/datamodelAgent.py | 2 +-
.../serviceAgent/datamodelOntology.py | 2 +-
.../serviceAgent/externalToolRegistry.py | 2 +-
.../services/serviceAgent/featureDataAgent.py | 2 +-
.../serviceAgent/featureDataProvider.py | 2 +-
.../services/serviceAgent/mainServiceAgent.py | 2 +-
.../serviceAgent/ontologyToPromptCompiler.py | 2 +-
.../services/serviceAgent/queryValidator.py | 2 +-
.../services/serviceAgent/sandboxExecutor.py | 14 ++---
.../services/serviceAgent/toolRegistry.py | 2 +-
.../services/serviceAgent/toolboxRegistry.py | 2 +-
.../services/serviceAi/__init__.py | 2 +-
.../services/serviceAi/mainServiceAi.py | 2 +-
.../services/serviceAi/subAiCallLooping.py | 2 +-
.../serviceAi/subContentExtraction.py | 2 +-
.../services/serviceAi/subDocumentIntents.py | 2 +-
.../services/serviceAi/subJsonMerger.py | 2 +-
.../serviceAi/subJsonResponseHandling.py | 2 +-
.../services/serviceAi/subLoopingUseCases.py | 2 +-
.../services/serviceAi/subResponseParsing.py | 2 +-
.../services/serviceAi/subStructureFilling.py | 2 +-
.../serviceAi/subStructureGeneration.py | 2 +-
.../serviceBackgroundJobs/__init__.py | 2 +-
.../mainBackgroundJobService.py | 2 +-
.../services/serviceBilling/__init__.py | 2 +-
.../serviceBilling/billingExhaustedNotify.py | 2 +-
.../serviceBilling/billingWebhookHandler.py | 2 +-
.../serviceBilling/mainServiceBilling.py | 2 +-
.../services/serviceBilling/stripeCheckout.py | 2 +-
.../services/serviceChat/__init__.py | 2 +-
.../services/serviceChat/mainServiceChat.py | 52 +++++++++++++++++-
.../services/serviceClickup/__init__.py | 2 +-
.../serviceClickup/mainServiceClickup.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/extractorAudio.py | 2 +-
.../extractors/extractorBinary.py | 2 +-
.../extractors/extractorContainer.py | 2 +-
.../extractors/extractorCsv.py | 2 +-
.../extractors/extractorDocx.py | 2 +-
.../extractors/extractorEmail.py | 53 +++++++++++++++----
.../extractors/extractorFolder.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/extractorVideo.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 +-
.../services/serviceGeneration/__init__.py | 2 +-
.../mainServiceGeneration.py | 4 +-
.../serviceGeneration/paths/codePath.py | 2 +-
.../serviceGeneration/paths/documentPath.py | 2 +-
.../serviceGeneration/paths/imagePath.py | 2 +-
.../renderers/_pdfFontFallback.py | 2 +-
.../renderers/codeRendererBaseTemplate.py | 2 +-
.../renderers/documentRendererBaseTemplate.py | 4 +-
.../serviceGeneration/renderers/registry.py | 2 +-
.../renderers/rendererCodeCsv.py | 2 +-
.../renderers/rendererCodeJson.py | 2 +-
.../renderers/rendererCodeXml.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 | 4 +-
.../renderers/rendererPptx.py | 2 +-
.../renderers/rendererText.py | 2 +-
.../renderers/rendererXlsx.py | 2 +-
.../serviceGeneration/styleDefaults.py | 2 +-
.../serviceGeneration/subContentGenerator.py | 2 +-
.../serviceGeneration/subContentIntegrator.py | 2 +-
.../serviceGeneration/subDocumentUtility.py | 4 +-
.../serviceGeneration/subJsonSchema.py | 2 +-
.../subPromptBuilderGeneration.py | 2 +-
.../subStructureGenerator.py | 2 +-
.../services/serviceKnowledge/__init__.py | 2 +-
.../services/serviceKnowledge/_buildTree.py | 2 +-
.../services/serviceKnowledge/costEstimate.py | 2 +-
.../serviceKnowledge/mainServiceKnowledge.py | 2 +-
.../services/serviceKnowledge/ragLimits.py | 2 +-
.../subConnectorIngestConsumer.py | 2 +-
.../subConnectorSyncClickup.py | 2 +-
.../subConnectorSyncGdrive.py | 2 +-
.../serviceKnowledge/subConnectorSyncGmail.py | 2 +-
.../subConnectorSyncKdrive.py | 2 +-
.../subConnectorSyncOutlook.py | 2 +-
.../subConnectorSyncSharepoint.py | 2 +-
.../serviceKnowledge/subFeatureBootstrap.py | 2 +-
.../services/serviceKnowledge/subPreScan.py | 2 +-
.../services/serviceKnowledge/subTextClean.py | 2 +-
.../serviceKnowledge/subWalkerHelpers.py | 2 +-
.../services/serviceKnowledge/udbNodes.py | 2 +-
.../services/serviceMessaging/__init__.py | 2 +-
.../serviceMessaging/mainServiceMessaging.py | 2 +-
.../subscriptions/__init__.py | 2 +-
.../subSubscriptionSystemErrors.py | 2 +-
...SubscriptionWorkflowAutomationRunFailed.py | 2 +-
.../services/serviceSharepoint/__init__.py | 2 +-
.../mainServiceSharepoint.py | 2 +-
.../enterpriseRenewalScheduler.py | 2 +-
.../mainServiceSubscription.py | 2 +-
.../serviceSubscription/stripeBootstrap.py | 2 +-
.../services/serviceTicket/__init__.py | 2 +-
.../serviceTicket/mainServiceTicket.py | 2 +-
.../services/serviceWeb/__init__.py | 2 +-
.../services/serviceWeb/mainServiceWeb.py | 2 +-
modules/shared/__init__.py | 2 +-
modules/shared/attributeUtils.py | 2 +-
modules/shared/callbackRegistry.py | 2 +-
modules/shared/configuration.py | 4 +-
modules/shared/dateRange.py | 2 +-
modules/shared/debugLogger.py | 2 +-
modules/shared/documentUtils.py | 2 +-
modules/shared/eventManagement.py | 2 +-
modules/shared/eventManager.py | 2 +-
modules/shared/featureDiscovery.py | 2 +-
modules/shared/frontendTypes.py | 2 +-
modules/shared/httpResilience.py | 2 +-
modules/shared/i18nRegistry.py | 2 +-
modules/shared/jsonUtils.py | 2 +-
modules/shared/mandateNameUtils.py | 2 +-
modules/shared/progressLogger.py | 2 +-
modules/shared/stripeClient.py | 2 +-
modules/shared/systemComponentRegistry.py | 3 +-
modules/shared/timeUtils.py | 4 +-
modules/shared/voiceCatalog.py | 2 +-
modules/shared/workflowArtifactVisibility.py | 3 +-
modules/shared/workflowState.py | 2 +-
modules/system/__init__.py | 2 +-
modules/system/databaseHealth.py | 2 +-
modules/system/databaseMigration.py | 2 +-
modules/system/gdprDeletion.py | 2 +-
modules/system/i18nBootSync.py | 2 +-
modules/system/mainSystem.py | 2 +-
modules/system/notifyMandateAdmins.py | 2 +-
modules/system/registry.py | 2 +-
modules/workflowAutomation/agentTools.py | 2 +-
.../editor/_valueKindResolver.py | 3 +-
.../editor/adapterValidator.py | 2 +-
.../editor/conditionOperators.py | 3 +-
.../workflowAutomation/editor/nodeRegistry.py | 2 +-
.../workflowAutomation/editor/switchOutput.py | 3 +-
.../editor/upstreamPathsService.py | 3 +-
modules/workflowAutomation/engine/__init__.py | 3 +-
.../engine/_runNotifications.py | 3 +-
.../engine/clickupTaskUpdateMerge.py | 3 +-
.../engine/executionEngine.py | 3 +-
.../engine/executors/__init__.py | 3 +-
.../engine/executors/actionNodeExecutor.py | 3 +-
.../engine/executors/dataExecutor.py | 3 +-
.../engine/executors/flowExecutor.py | 3 +-
.../engine/executors/inputExecutor.py | 3 +-
.../engine/executors/ioExecutor.py | 3 +-
.../engine/executors/triggerExecutor.py | 3 +-
.../engine/featureInstanceRefMigration.py | 3 +-
.../workflowAutomation/engine/graphUtils.py | 3 +-
.../engine/pickNotPushMigration.py | 3 +-
.../workflowAutomation/engine/runEnvelope.py | 3 +-
.../engine/runFileLogger.py | 3 +-
.../workflowAutomation/engine/scheduleCron.py | 3 +-
.../engine/udmUpstreamShapes.py | 3 +-
modules/workflowAutomation/helpers.py | 2 +-
.../mainWorkflowAutomation.py | 10 ++--
.../workflowAutomation/scheduler/__init__.py | 3 +-
.../scheduler/emailPoller.py | 2 +-
.../scheduler/mainScheduler.py | 2 +-
.../methods/_actionSignatureValidator.py | 2 +-
.../workflows/methods/methodAi/__init__.py | 2 +-
modules/workflows/methods/methodAi/_common.py | 2 +-
.../methods/methodAi/actions/__init__.py | 2 +-
.../methods/methodAi/actions/consolidate.py | 2 +-
.../methodAi/actions/convertDocument.py | 2 +-
.../methods/methodAi/actions/generateCode.py | 2 +-
.../methodAi/actions/generateDocument.py | 2 +-
.../methods/methodAi/actions/process.py | 2 +-
.../methodAi/actions/summarizeDocument.py | 2 +-
.../methodAi/actions/translateDocument.py | 2 +-
.../methods/methodAi/actions/webResearch.py | 2 +-
.../methods/methodAi/helpers/__init__.py | 2 +-
.../methods/methodAi/helpers/csvProcessing.py | 2 +-
.../workflows/methods/methodAi/methodAi.py | 2 +-
modules/workflows/methods/methodBase.py | 4 +-
.../methods/methodClickup/__init__.py | 2 +-
.../methods/methodClickup/actions/__init__.py | 2 +-
.../methodClickup/actions/create_task.py | 2 +-
.../methods/methodClickup/actions/get_task.py | 2 +-
.../methodClickup/actions/list_fields.py | 2 +-
.../methodClickup/actions/list_tasks.py | 2 +-
.../methodClickup/actions/search_tasks.py | 2 +-
.../methodClickup/actions/update_task.py | 2 +-
.../actions/upload_attachment.py | 2 +-
.../methods/methodClickup/helpers/__init__.py | 2 +-
.../methodClickup/helpers/connection.py | 2 +-
.../methodClickup/helpers/pathparse.py | 2 +-
.../methods/methodClickup/methodClickup.py | 2 +-
.../methods/methodContext/__init__.py | 2 +-
.../methods/methodContext/actions/__init__.py | 2 +-
.../methodContext/actions/extractContent.py | 2 +-
.../methodContext/actions/filterContext.py | 2 +-
.../methodContext/actions/getDocumentIndex.py | 2 +-
.../methodContext/actions/mergeContext.py | 2 +-
.../methodContext/actions/neutralizeData.py | 2 +-
.../methodContext/actions/setContext.py | 2 +-
.../methodContext/actions/transformContext.py | 2 +-
.../actions/triggerPreprocessingServer.py | 2 +-
.../methods/methodContext/contextEnvelope.py | 3 +-
.../methods/methodContext/helpers/__init__.py | 2 +-
.../methodContext/helpers/documentIndex.py | 2 +-
.../methodContext/helpers/formatting.py | 2 +-
.../methods/methodContext/methodContext.py | 2 +-
.../workflows/methods/methodFile/__init__.py | 2 +-
.../methods/methodFile/actions/__init__.py | 2 +-
.../methods/methodFile/actions/create.py | 2 +-
.../methods/methodFile/methodFile.py | 2 +-
.../workflows/methods/methodJira/__init__.py | 2 +-
.../methods/methodJira/actions/__init__.py | 2 +-
.../methods/methodJira/actions/connectJira.py | 2 +-
.../methodJira/actions/createCsvContent.py | 2 +-
.../methodJira/actions/createExcelContent.py | 2 +-
.../methodJira/actions/exportTicketsAsJson.py | 2 +-
.../actions/importTicketsFromJson.py | 2 +-
.../methodJira/actions/mergeTicketData.py | 2 +-
.../methodJira/actions/parseCsvContent.py | 2 +-
.../methodJira/actions/parseExcelContent.py | 2 +-
.../methods/methodJira/helpers/__init__.py | 2 +-
.../methodJira/helpers/adfConverter.py | 2 +-
.../methodJira/helpers/documentParsing.py | 2 +-
.../methods/methodJira/methodJira.py | 2 +-
.../methods/methodOutlook/__init__.py | 2 +-
.../methods/methodOutlook/actions/__init__.py | 2 +-
.../composeAndDraftEmailWithContext.py | 2 +-
.../methodOutlook/actions/readEmails.py | 2 +-
.../methodOutlook/actions/searchEmails.py | 2 +-
.../methodOutlook/actions/sendDraftEmail.py | 2 +-
.../methods/methodOutlook/helpers/__init__.py | 2 +-
.../methodOutlook/helpers/connection.py | 2 +-
.../methodOutlook/helpers/emailProcessing.py | 2 +-
.../methodOutlook/helpers/folderManagement.py | 2 +-
.../methods/methodOutlook/methodOutlook.py | 2 +-
.../methods/methodSharepoint/__init__.py | 2 +-
.../methodSharepoint/actions/__init__.py | 2 +-
.../actions/analyzeFolderUsage.py | 2 +-
.../methodSharepoint/actions/copyFile.py | 2 +-
.../actions/downloadFileByPath.py | 2 +-
.../actions/findDocumentPath.py | 2 +-
.../methodSharepoint/actions/findSiteByUrl.py | 2 +-
.../methodSharepoint/actions/listDocuments.py | 2 +-
.../methodSharepoint/actions/readDocuments.py | 2 +-
.../actions/uploadDocument.py | 2 +-
.../methodSharepoint/actions/uploadFile.py | 2 +-
.../methodSharepoint/helpers/__init__.py | 2 +-
.../methodSharepoint/helpers/apiClient.py | 2 +-
.../methodSharepoint/helpers/connection.py | 2 +-
.../helpers/documentParsing.py | 2 +-
.../helpers/pathProcessing.py | 2 +-
.../methodSharepoint/helpers/siteDiscovery.py | 2 +-
.../methodSharepoint/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 | 4 +-
.../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 | 4 +-
.../processing/shared/methodDiscovery.py | 2 +-
.../processing/shared/parameterValidation.py | 2 +-
.../processing/shared/placeholderFactory.py | 2 +-
.../shared/promptGenerationActionsDynamic.py | 2 +-
.../shared/promptGenerationTaskplan.py | 2 +-
.../workflows/processing/workflowProcessor.py | 2 +-
modules/workflows/workflowManager.py | 2 +-
scripts/script_analyze_function_imports.py | 2 +-
scripts/script_analyze_imports.py | 2 +-
scripts/script_db_export_migration.py | 2 +-
scripts/script_generate_container_diagram.py | 2 +-
scripts/script_generate_import_diagram.py | 2 +-
.../script_migrate_feature_instance_refs.py | 2 +-
scripts/script_remove_redundant_imports.py | 2 +-
.../script_security_encrypt_all_env_files.py | 2 +-
.../script_security_encrypt_config_value.py | 2 +-
.../script_security_generate_master_keys.py | 2 +-
scripts/script_stats_durations_from_log.py | 2 +-
scripts/script_stats_get_codelines.py | 4 +-
scripts/script_stats_showUnusedFunctions.py | 2 +-
tests/__init__.py | 2 +-
tests/conftest.py | 2 +-
tests/demo/test_pwg_demo_bootstrap.py | 2 +-
tests/eval/__init__.py | 2 +-
tests/eval/fakeFeatureDataProvider.py | 2 +-
tests/eval/runTrusteeBenchmark.py | 2 +-
tests/fixtures/loadRedmineSnapshot.py | 2 +-
tests/fixtures/trusteeBenchmark/__init__.py | 2 +-
.../loadTrusteeBenchmarkFixture.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 +-
tests/functional/test07_json_merge.py | 2 +-
tests/functional/test08_json_finalization.py | 2 +-
tests/functional/test12_json_split_merge.py | 2 +-
.../functional/test13_json_completion_cuts.py | 2 +-
.../test14_json_continuation_context.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/automation2/__init__.py | 3 +-
.../test_pick_not_push_migration_v2.py | 3 +-
.../extraction/test_extract_udm_pipeline.py | 2 +-
.../mandates/test_createMandate.py | 2 +-
.../mandates/test_provisionMandate.py | 2 +-
.../mandates/test_updateMandate.py | 2 +-
tests/integration/rbac/__init__.py | 2 +-
.../rbac/test_platform_admin_flag.py | 2 +-
tests/integration/rbac/test_rbac_database.py | 2 +-
tests/integration/trustee/__init__.py | 2 +-
.../trustee/test_spesenbelege_workflow_e2e.py | 2 +-
tests/integration/users/test_updateUser.py | 2 +-
...xecute_graph_loop_aggregate_consolidate.py | 3 +-
.../workflows/test_workflow_execution.py | 2 +-
.../test_allowed_models_whitelist.py | 2 +-
.../test_inline_image_paragraph.py | 2 +-
.../test_large_document_render.py | 2 +-
.../test_layout_primitives.py | 2 +-
.../test_md_to_json_consolidation.py | 2 +-
.../serviceGeneration/test_style_resolver.py | 2 +-
tests/test_dateRange.py | 2 +-
tests/test_service_redmine_orphans.py | 2 +-
tests/test_service_redmine_stats.py | 2 +-
tests/test_service_redmine_stats_cache.py | 2 +-
tests/unit/__init__.py | 2 +-
.../test_aicorePluginOpenai_temperature.py | 2 +-
tests/unit/auth/test_mfaService.py | 2 +-
.../test_connectorDbPostgre_failLoud.py | 2 +-
.../test_connectorDbPostgre_pool.py | 2 +-
.../unit/connectors/test_connectorResolver.py | 3 +-
.../test_connectorVoiceGoogle_sttHelpers.py | 3 +-
tests/unit/datamodels/test_docref.py | 2 +-
tests/unit/datamodels/test_udm_bridge.py | 2 +-
tests/unit/datamodels/test_udm_models.py | 2 +-
tests/unit/datamodels/test_workflow_models.py | 2 +-
.../test_trustee_template_workflows.py | 3 +-
...test_accountingConnectorAbacus_balances.py | 2 +-
.../test_accountingConnectorBexio_balances.py | 2 +-
.../test_accountingConnectorRma_balances.py | 2 +-
.../test_accountingDataSync_balances.py | 2 +-
.../test_action_node_connection_provenance.py | 3 +-
.../graphicalEditor/test_adapter_validator.py | 2 +-
.../test_condition_operator_catalog.py | 3 +-
...est_featureInstanceRef_node_definitions.py | 2 +-
.../unit/graphicalEditor/test_node_adapter.py | 2 +-
.../graphicalEditor/test_portTypes_catalog.py | 3 +-
.../test_port_schema_recursive.py | 3 +-
.../test_resolve_value_kind.py | 3 +-
.../test_upstream_paths_and_graph_schema.py | 3 +-
tests/unit/interfaces/test_folderRbac.py | 2 +-
.../test_action_signature_validator.py | 2 +-
.../test_trustee_schema_compliance.py | 3 +-
tests/unit/rbac/__init__.py | 2 +-
tests/unit/rbac/test_rbac_bootstrap.py | 2 +-
tests/unit/rbac/test_rbac_permissions.py | 2 +-
tests/unit/routes/test_folder_crud.py | 2 +-
tests/unit/scripts/__init__.py | 2 +-
.../test_migrate_feature_instance_refs.py | 2 +-
.../test_action_tool_adapter_typed.py | 2 +-
.../test_agentTrace_repairCounters.py | 2 +-
.../serviceAgent/test_field_neutralization.py | 2 +-
.../serviceAgent/test_workflow_tools_crud.py | 2 +-
tests/unit/services/test_bootstrap_clickup.py | 2 +-
tests/unit/services/test_bootstrap_gdrive.py | 2 +-
tests/unit/services/test_bootstrap_gmail.py | 2 +-
tests/unit/services/test_bootstrap_outlook.py | 2 +-
.../services/test_bootstrap_sharepoint.py | 2 +-
tests/unit/services/test_clean_email_body.py | 2 +-
tests/unit/services/test_connection_purge.py | 2 +-
.../test_extraction_merge_strategy.py | 2 +-
.../services/test_featureDataAgent_schema.py | 2 +-
.../services/test_ingestion_hash_stability.py | 2 +-
.../services/test_json_extraction_merging.py | 2 +-
.../test_knowledge_ingest_consumer.py | 2 +-
tests/unit/services/test_queryValidator.py | 2 +-
.../unit/services/test_renderer_pdf_smoke.py | 2 +-
tests/unit/services/test_trusteeOntology.py | 2 +-
tests/unit/shared/test_mandateNameUtils.py | 2 +-
tests/unit/teamsbot/test_directorPrompts.py | 2 +-
tests/unit/utils/test_json_utils.py | 2 +-
.../workflow/test_flow_executor_conditions.py | 3 +-
.../workflow/test_switch_filtered_output.py | 3 +-
tests/unit/workflow/test_trusteeQueryData.py | 2 +-
.../unit/workflow/test_workflowFileSchema.py | 2 +-
.../test_featureInstanceRefMigration.py | 3 +-
.../workflows/test_parameterValidation.py | 2 +-
tests/unit/workflows/test_state_management.py | 2 +-
tests/unit/workflows/test_trigger_executor.py | 3 +-
.../test_architecture_validation.py | 2 +-
.../test_featureCatalogLabels_i18n.py | 2 +-
707 files changed, 940 insertions(+), 854 deletions(-)
diff --git a/app.py b/app.py
index 31085e6b..68341361 100644
--- a/app.py
+++ b/app.py
@@ -1,4 +1,4 @@
-# Copyright (c) 2025 Patrick Motsch
+# Copyright (c) 2026 PowerOn AG
# All rights reserved.
import os
import sys
@@ -917,4 +917,4 @@ if __name__ == "__main__":
], check=True)
except ImportError:
import uvicorn
- uvicorn.run("app:app", host="0.0.0.0", port=port, workers=1, timeout_graceful_shutdown=2)
\ No newline at end of file
+ uvicorn.run("app:app", host="0.0.0.0", port=port, workers=1, timeout_graceful_shutdown=2)
diff --git a/modules/aicore/aicoreBase.py b/modules/aicore/aicoreBase.py
index 0908c40d..a91cef63 100644
--- a/modules/aicore/aicoreBase.py
+++ b/modules/aicore/aicoreBase.py
@@ -1,4 +1,4 @@
-# Copyright (c) 2025 Patrick Motsch
+# Copyright (c) 2026 PowerOn AG
# All rights reserved.
"""
Base connector interface for AI connectors.
diff --git a/modules/aicore/aicoreModelRegistry.py b/modules/aicore/aicoreModelRegistry.py
index 8c57e0c4..a78229bc 100644
--- a/modules/aicore/aicoreModelRegistry.py
+++ b/modules/aicore/aicoreModelRegistry.py
@@ -1,4 +1,4 @@
-# Copyright (c) 2025 Patrick Motsch
+# Copyright (c) 2026 PowerOn AG
# All rights reserved.
"""
Dynamic model registry that collects models from all AI connectors.
diff --git a/modules/aicore/aicoreModelSelector.py b/modules/aicore/aicoreModelSelector.py
index f51d6cec..f87b8d4c 100644
--- a/modules/aicore/aicoreModelSelector.py
+++ b/modules/aicore/aicoreModelSelector.py
@@ -1,4 +1,4 @@
-# Copyright (c) 2025 Patrick Motsch
+# Copyright (c) 2026 PowerOn AG
# All rights reserved.
"""
Simplified model selection based on model properties and priority-based sorting.
@@ -323,4 +323,4 @@ class ModelSelector:
# Global model selector instance
-modelSelector = ModelSelector()
\ No newline at end of file
+modelSelector = ModelSelector()
diff --git a/modules/aicore/aicorePluginAnthropic.py b/modules/aicore/aicorePluginAnthropic.py
index 4e873511..00fdd694 100644
--- a/modules/aicore/aicorePluginAnthropic.py
+++ b/modules/aicore/aicorePluginAnthropic.py
@@ -1,4 +1,4 @@
-# Copyright (c) 2025 Patrick Motsch
+# Copyright (c) 2026 PowerOn AG
# All rights reserved.
import base64
import json
@@ -862,4 +862,4 @@ def _convertToolsToAnthropicFormat(openaiTools: List[Dict[str, Any]]) -> List[Di
"description": fn.get("description", ""),
"input_schema": fn.get("parameters", {"type": "object", "properties": {}})
})
- return anthropicTools
\ No newline at end of file
+ return anthropicTools
diff --git a/modules/aicore/aicorePluginInternal.py b/modules/aicore/aicorePluginInternal.py
index 59854629..1e39cb6c 100644
--- a/modules/aicore/aicorePluginInternal.py
+++ b/modules/aicore/aicorePluginInternal.py
@@ -1,4 +1,4 @@
-# Copyright (c) 2025 Patrick Motsch
+# Copyright (c) 2026 PowerOn AG
# All rights reserved.
import logging
from typing import List
diff --git a/modules/aicore/aicorePluginMistral.py b/modules/aicore/aicorePluginMistral.py
index a9805195..8e32c67b 100644
--- a/modules/aicore/aicorePluginMistral.py
+++ b/modules/aicore/aicorePluginMistral.py
@@ -1,4 +1,4 @@
-# Copyright (c) 2025 Patrick Motsch
+# Copyright (c) 2026 PowerOn AG
# All rights reserved.
import logging
import json
diff --git a/modules/aicore/aicorePluginOpenai.py b/modules/aicore/aicorePluginOpenai.py
index 78f8ba26..3667d742 100644
--- a/modules/aicore/aicorePluginOpenai.py
+++ b/modules/aicore/aicorePluginOpenai.py
@@ -1,4 +1,4 @@
-# Copyright (c) 2025 Patrick Motsch
+# Copyright (c) 2026 PowerOn AG
# All rights reserved.
import logging
import json
@@ -730,4 +730,4 @@ class AiOpenai(BaseConnectorAi):
content="",
success=False,
error=f"Error during image generation: {str(e)}",
- )
\ No newline at end of file
+ )
diff --git a/modules/aicore/aicorePluginPerplexity.py b/modules/aicore/aicorePluginPerplexity.py
index dd13deb1..9af3511c 100644
--- a/modules/aicore/aicorePluginPerplexity.py
+++ b/modules/aicore/aicorePluginPerplexity.py
@@ -1,4 +1,4 @@
-# Copyright (c) 2025 Patrick Motsch
+# Copyright (c) 2026 PowerOn AG
# All rights reserved.
import logging
import httpx
diff --git a/modules/aicore/aicorePluginPrivateLlm.py b/modules/aicore/aicorePluginPrivateLlm.py
index 988ae9e4..b96a1c4a 100644
--- a/modules/aicore/aicorePluginPrivateLlm.py
+++ b/modules/aicore/aicorePluginPrivateLlm.py
@@ -1,4 +1,4 @@
-# Copyright (c) 2025 Patrick Motsch
+# Copyright (c) 2026 PowerOn AG
# All rights reserved.
"""
AI Connector for PowerOn Private-LLM Service.
diff --git a/modules/aicore/aicorePluginTavily.py b/modules/aicore/aicorePluginTavily.py
index 80f9d5b4..09cac0d0 100644
--- a/modules/aicore/aicorePluginTavily.py
+++ b/modules/aicore/aicorePluginTavily.py
@@ -1,4 +1,4 @@
-# Copyright (c) 2025 Patrick Motsch
+# Copyright (c) 2026 PowerOn AG
# All rights reserved.
"""Tavily web search class.
"""
diff --git a/modules/auth/__init__.py b/modules/auth/__init__.py
index 0a485767..2ed3fa13 100644
--- a/modules/auth/__init__.py
+++ b/modules/auth/__init__.py
@@ -1,4 +1,4 @@
-# Copyright (c) 2025 Patrick Motsch
+# Copyright (c) 2026 PowerOn AG
# All rights reserved.
"""
Authentication and authorization modules for routes and services.
diff --git a/modules/auth/authentication.py b/modules/auth/authentication.py
index d641d659..eb582fac 100644
--- a/modules/auth/authentication.py
+++ b/modules/auth/authentication.py
@@ -1,4 +1,4 @@
-# Copyright (c) 2025 Patrick Motsch
+# Copyright (c) 2026 PowerOn AG
# All rights reserved.
"""
Authentication module for backend API.
diff --git a/modules/auth/csrf.py b/modules/auth/csrf.py
index bac4b0c3..c9193429 100644
--- a/modules/auth/csrf.py
+++ b/modules/auth/csrf.py
@@ -1,4 +1,4 @@
-# Copyright (c) 2025 Patrick Motsch
+# Copyright (c) 2026 PowerOn AG
# All rights reserved.
"""
CSRF Protection Middleware for PowerOn Gateway
diff --git a/modules/auth/jwtService.py b/modules/auth/jwtService.py
index 04071053..342c2d0b 100644
--- a/modules/auth/jwtService.py
+++ b/modules/auth/jwtService.py
@@ -1,4 +1,4 @@
-# Copyright (c) 2025 Patrick Motsch
+# Copyright (c) 2026 PowerOn AG
# All rights reserved.
"""
JWT Service
diff --git a/modules/auth/mfaService.py b/modules/auth/mfaService.py
index 3987eab9..e4841082 100644
--- a/modules/auth/mfaService.py
+++ b/modules/auth/mfaService.py
@@ -1,4 +1,4 @@
-# Copyright (c) 2025 Patrick Motsch
+# Copyright (c) 2026 PowerOn AG
# All rights reserved.
"""
MFA (Multi-Factor Authentication) Service.
diff --git a/modules/auth/oauthConnectTicket.py b/modules/auth/oauthConnectTicket.py
index f54187cb..af3908f7 100644
--- a/modules/auth/oauthConnectTicket.py
+++ b/modules/auth/oauthConnectTicket.py
@@ -1,4 +1,4 @@
-# Copyright (c) 2025 Patrick Motsch
+# Copyright (c) 2026 PowerOn AG
# All rights reserved.
"""
Short-lived signed tickets for OAuth data-connection popups.
diff --git a/modules/auth/oauthProviderConfig.py b/modules/auth/oauthProviderConfig.py
index b6c482e7..713e356e 100644
--- a/modules/auth/oauthProviderConfig.py
+++ b/modules/auth/oauthProviderConfig.py
@@ -1,4 +1,4 @@
-# Copyright (c) 2025 Patrick Motsch
+# Copyright (c) 2026 PowerOn AG
# All rights reserved.
"""OAuth scope sets for split Auth- vs Data-apps (Google / Microsoft)."""
diff --git a/modules/auth/tokenManager.py b/modules/auth/tokenManager.py
index e854f563..3d235da4 100644
--- a/modules/auth/tokenManager.py
+++ b/modules/auth/tokenManager.py
@@ -1,4 +1,4 @@
-# Copyright (c) 2025 Patrick Motsch
+# Copyright (c) 2026 PowerOn AG
# All rights reserved.
"""
Token Manager Service
diff --git a/modules/auth/tokenRefreshMiddleware.py b/modules/auth/tokenRefreshMiddleware.py
index 84d2feae..a712fe6c 100644
--- a/modules/auth/tokenRefreshMiddleware.py
+++ b/modules/auth/tokenRefreshMiddleware.py
@@ -1,4 +1,4 @@
-# Copyright (c) 2025 Patrick Motsch
+# Copyright (c) 2026 PowerOn AG
# All rights reserved.
"""
Token Refresh Middleware for PowerOn Gateway
diff --git a/modules/auth/tokenRefreshService.py b/modules/auth/tokenRefreshService.py
index bc471e6f..7cb3ddeb 100644
--- a/modules/auth/tokenRefreshService.py
+++ b/modules/auth/tokenRefreshService.py
@@ -1,4 +1,4 @@
-# Copyright (c) 2025 Patrick Motsch
+# Copyright (c) 2026 PowerOn AG
# All rights reserved.
"""
Token Refresh Service for PowerOn Gateway
diff --git a/modules/connectors/connectorDbPostgre.py b/modules/connectors/connectorDbPostgre.py
index 493a3862..11b406ad 100644
--- a/modules/connectors/connectorDbPostgre.py
+++ b/modules/connectors/connectorDbPostgre.py
@@ -1,4 +1,4 @@
-# Copyright (c) 2025 Patrick Motsch
+# Copyright (c) 2026 PowerOn AG
# All rights reserved.
import contextvars
import copy
diff --git a/modules/connectors/connectorMessagingEmail.py b/modules/connectors/connectorMessagingEmail.py
index 57dd22e7..31a55e2b 100644
--- a/modules/connectors/connectorMessagingEmail.py
+++ b/modules/connectors/connectorMessagingEmail.py
@@ -1,4 +1,4 @@
-# Copyright (c) 2025 Patrick Motsch
+# Copyright (c) 2026 PowerOn AG
# All rights reserved.
"""
Azure Communication Services Email Connector
diff --git a/modules/connectors/connectorMessagingSms.py b/modules/connectors/connectorMessagingSms.py
index 36491b55..41ace8f2 100644
--- a/modules/connectors/connectorMessagingSms.py
+++ b/modules/connectors/connectorMessagingSms.py
@@ -1,4 +1,4 @@
-# Copyright (c) 2025 Patrick Motsch
+# Copyright (c) 2026 PowerOn AG
# All rights reserved.
"""
Twilio SMS Connector
diff --git a/modules/connectors/connectorPreprocessor.py b/modules/connectors/connectorPreprocessor.py
index 189b6e2b..88bf56af 100644
--- a/modules/connectors/connectorPreprocessor.py
+++ b/modules/connectors/connectorPreprocessor.py
@@ -1,4 +1,4 @@
-# Copyright (c) 2025 Patrick Motsch
+# Copyright (c) 2026 PowerOn AG
# All rights reserved.
"""
Preprocessor connector for executing SQL queries via HTTP API.
diff --git a/modules/connectors/connectorProviderBase.py b/modules/connectors/connectorProviderBase.py
index 29062386..5fd65d0e 100644
--- a/modules/connectors/connectorProviderBase.py
+++ b/modules/connectors/connectorProviderBase.py
@@ -1,4 +1,4 @@
-# Copyright (c) 2025 Patrick Motsch
+# Copyright (c) 2026 PowerOn AG
# All rights reserved.
"""Abstract base classes for the Provider-Connector architecture (1:n).
diff --git a/modules/connectors/connectorProviderClickup.py b/modules/connectors/connectorProviderClickup.py
index 2a2f2ba1..60e69c2a 100644
--- a/modules/connectors/connectorProviderClickup.py
+++ b/modules/connectors/connectorProviderClickup.py
@@ -1,4 +1,4 @@
-# Copyright (c) 2025 Patrick Motsch
+# Copyright (c) 2026 PowerOn AG
# All rights reserved.
"""ClickUp ProviderConnector — virtual paths for teams → lists → tasks (table rows).
diff --git a/modules/connectors/connectorProviderFtp.py b/modules/connectors/connectorProviderFtp.py
index b6477f82..c59915c5 100644
--- a/modules/connectors/connectorProviderFtp.py
+++ b/modules/connectors/connectorProviderFtp.py
@@ -1,4 +1,4 @@
-# Copyright (c) 2025 Patrick Motsch
+# Copyright (c) 2026 PowerOn AG
# All rights reserved.
"""FTP/SFTP ProviderConnector stub.
diff --git a/modules/connectors/connectorProviderGoogle.py b/modules/connectors/connectorProviderGoogle.py
index acce4935..f9c4099f 100644
--- a/modules/connectors/connectorProviderGoogle.py
+++ b/modules/connectors/connectorProviderGoogle.py
@@ -1,4 +1,4 @@
-# Copyright (c) 2025 Patrick Motsch
+# Copyright (c) 2026 PowerOn AG
# All rights reserved.
"""Google ProviderConnector -- Drive and Gmail via Google OAuth."""
diff --git a/modules/connectors/connectorProviderInfomaniak.py b/modules/connectors/connectorProviderInfomaniak.py
index 661fdb64..33727e76 100644
--- a/modules/connectors/connectorProviderInfomaniak.py
+++ b/modules/connectors/connectorProviderInfomaniak.py
@@ -1,4 +1,4 @@
-# Copyright (c) 2025 Patrick Motsch
+# Copyright (c) 2026 PowerOn AG
# All rights reserved.
"""Infomaniak ProviderConnector -- kDrive + Calendar + Contacts via PAT.
diff --git a/modules/connectors/connectorProviderMsft.py b/modules/connectors/connectorProviderMsft.py
index 266f9deb..4d0cfb43 100644
--- a/modules/connectors/connectorProviderMsft.py
+++ b/modules/connectors/connectorProviderMsft.py
@@ -1,4 +1,4 @@
-# Copyright (c) 2025 Patrick Motsch
+# Copyright (c) 2026 PowerOn AG
# All rights reserved.
"""Microsoft ProviderConnector -- one MSFT connection serves SharePoint, Outlook, Teams, OneDrive.
diff --git a/modules/connectors/connectorResolver.py b/modules/connectors/connectorResolver.py
index a6b559a0..9fbf13ca 100644
--- a/modules/connectors/connectorResolver.py
+++ b/modules/connectors/connectorResolver.py
@@ -1,4 +1,4 @@
-# Copyright (c) 2025 Patrick Motsch
+# Copyright (c) 2026 PowerOn AG
# All rights reserved.
"""ConnectorResolver -- resolves a connectionId to the correct ProviderConnector and ServiceAdapter.
diff --git a/modules/connectors/connectorTicketsClickup.py b/modules/connectors/connectorTicketsClickup.py
index bb43ceac..4f6f3ec6 100644
--- a/modules/connectors/connectorTicketsClickup.py
+++ b/modules/connectors/connectorTicketsClickup.py
@@ -1,4 +1,4 @@
-# Copyright (c) 2025 Patrick Motsch
+# Copyright (c) 2026 PowerOn AG
# All rights reserved.
"""ClickUp connector for CRUD operations (compatible with TicketInterface).
diff --git a/modules/connectors/connectorTicketsJira.py b/modules/connectors/connectorTicketsJira.py
index bfc9a370..40b7a630 100644
--- a/modules/connectors/connectorTicketsJira.py
+++ b/modules/connectors/connectorTicketsJira.py
@@ -1,4 +1,4 @@
-# Copyright (c) 2025 Patrick Motsch
+# Copyright (c) 2026 PowerOn AG
# All rights reserved.
"""Jira connector for CRUD operations (neutralized to generic ticket interface).
diff --git a/modules/connectors/connectorTicketsRedmine.py b/modules/connectors/connectorTicketsRedmine.py
index 9caff47d..391d86c0 100644
--- a/modules/connectors/connectorTicketsRedmine.py
+++ b/modules/connectors/connectorTicketsRedmine.py
@@ -1,4 +1,4 @@
-# Copyright (c) 2026 Patrick Motsch
+# Copyright (c) 2026 PowerOn AG
# All rights reserved.
"""Redmine REST connector.
diff --git a/modules/connectors/connectorVoiceGoogle.py b/modules/connectors/connectorVoiceGoogle.py
index 7ae8e54b..590fd26b 100644
--- a/modules/connectors/connectorVoiceGoogle.py
+++ b/modules/connectors/connectorVoiceGoogle.py
@@ -1,4 +1,4 @@
-# Copyright (c) 2025 Patrick Motsch
+# Copyright (c) 2026 PowerOn AG
# All rights reserved.
"""
Google Cloud Speech-to-Text and Translation Connector
diff --git a/modules/datamodels/__init__.py b/modules/datamodels/__init__.py
index 40adbebb..ad412b8e 100644
--- a/modules/datamodels/__init__.py
+++ b/modules/datamodels/__init__.py
@@ -1,4 +1,4 @@
-# Copyright (c) 2025 Patrick Motsch
+# Copyright (c) 2026 PowerOn AG
# All rights reserved.
"""
Unified modules.datamodels package.
@@ -14,4 +14,4 @@ from . import datamodelChat as chat
from . import datamodelFiles as files
from . import datamodelVoice as voice
from . import datamodelUtils as utils
-from . import jsonContinuation
\ No newline at end of file
+from . import jsonContinuation
diff --git a/modules/datamodels/datamodelAi.py b/modules/datamodels/datamodelAi.py
index cd481c9a..a1d6994c 100644
--- a/modules/datamodels/datamodelAi.py
+++ b/modules/datamodels/datamodelAi.py
@@ -1,4 +1,4 @@
-# Copyright (c) 2025 Patrick Motsch
+# Copyright (c) 2026 PowerOn AG
# All rights reserved.
from typing import Optional, List, Dict, Any, Callable, TYPE_CHECKING, Tuple
from pydantic import BaseModel, Field, ConfigDict
@@ -351,4 +351,4 @@ class CodeContentPromptArgs(BaseModel):
class CodeStructurePromptArgs(BaseModel):
"""Type-safe arguments for code structure prompt builder."""
userPrompt: str
- contentParts: List[ContentPart] = Field(default_factory=list)
\ No newline at end of file
+ contentParts: List[ContentPart] = Field(default_factory=list)
diff --git a/modules/datamodels/datamodelAiAudit.py b/modules/datamodels/datamodelAiAudit.py
index f78ecd23..de9942ae 100644
--- a/modules/datamodels/datamodelAiAudit.py
+++ b/modules/datamodels/datamodelAiAudit.py
@@ -1,4 +1,4 @@
-# Copyright (c) 2025 Patrick Motsch
+# Copyright (c) 2026 PowerOn AG
# All rights reserved.
"""AI Audit Log data model for Compliance & AI-Datenfluss tracking.
diff --git a/modules/datamodels/datamodelAudit.py b/modules/datamodels/datamodelAudit.py
index 85cdfbf2..577380aa 100644
--- a/modules/datamodels/datamodelAudit.py
+++ b/modules/datamodels/datamodelAudit.py
@@ -1,4 +1,4 @@
-# Copyright (c) 2025 Patrick Motsch
+# Copyright (c) 2026 PowerOn AG
# All rights reserved.
"""
Audit Log Data Model for database-based audit logging.
diff --git a/modules/datamodels/datamodelBackgroundJob.py b/modules/datamodels/datamodelBackgroundJob.py
index 809fb994..4f769186 100644
--- a/modules/datamodels/datamodelBackgroundJob.py
+++ b/modules/datamodels/datamodelBackgroundJob.py
@@ -1,4 +1,4 @@
-# Copyright (c) 2025 Patrick Motsch
+# Copyright (c) 2026 PowerOn AG
# All rights reserved.
"""Background job models: generic, reusable infrastructure for long-running tasks.
diff --git a/modules/datamodels/datamodelBase.py b/modules/datamodels/datamodelBase.py
index 8fc4fa44..7e5c29f1 100644
--- a/modules/datamodels/datamodelBase.py
+++ b/modules/datamodels/datamodelBase.py
@@ -1,4 +1,4 @@
-# Copyright (c) 2025 Patrick Motsch
+# Copyright (c) 2026 PowerOn AG
# All rights reserved.
"""Base Pydantic model with system-managed fields (DB + API + UI metadata)."""
diff --git a/modules/datamodels/datamodelBilling.py b/modules/datamodels/datamodelBilling.py
index 78024ce1..04fc5578 100644
--- a/modules/datamodels/datamodelBilling.py
+++ b/modules/datamodels/datamodelBilling.py
@@ -1,4 +1,4 @@
-# Copyright (c) 2025 Patrick Motsch
+# Copyright (c) 2026 PowerOn AG
# All rights reserved.
"""Billing models: BillingAccount, BillingTransaction, BillingSettings, UsageStatistics."""
diff --git a/modules/datamodels/datamodelChat.py b/modules/datamodels/datamodelChat.py
index 7b4e21eb..32cfc2f1 100644
--- a/modules/datamodels/datamodelChat.py
+++ b/modules/datamodels/datamodelChat.py
@@ -1,4 +1,4 @@
-# Copyright (c) 2025 Patrick Motsch
+# Copyright (c) 2026 PowerOn AG
# All rights reserved.
"""Chat models: ChatWorkflow, ChatMessage, ChatLog, ChatDocument."""
diff --git a/modules/datamodels/datamodelContent.py b/modules/datamodels/datamodelContent.py
index c28036cf..d3685460 100644
--- a/modules/datamodels/datamodelContent.py
+++ b/modules/datamodels/datamodelContent.py
@@ -1,4 +1,4 @@
-# Copyright (c) 2025 Patrick Motsch
+# Copyright (c) 2026 PowerOn AG
# All rights reserved.
"""Content Object data models for the container and content extraction pipeline.
diff --git a/modules/datamodels/datamodelDataSource.py b/modules/datamodels/datamodelDataSource.py
index 1cfaa933..85fcda23 100644
--- a/modules/datamodels/datamodelDataSource.py
+++ b/modules/datamodels/datamodelDataSource.py
@@ -1,4 +1,4 @@
-# Copyright (c) 2025 Patrick Motsch
+# Copyright (c) 2026 PowerOn AG
# All rights reserved.
"""DataSource and ExternalEntry models for external data integration.
diff --git a/modules/datamodels/datamodelDocref.py b/modules/datamodels/datamodelDocref.py
index f4ce09aa..3808f900 100644
--- a/modules/datamodels/datamodelDocref.py
+++ b/modules/datamodels/datamodelDocref.py
@@ -1,4 +1,4 @@
-# Copyright (c) 2025 Patrick Motsch
+# Copyright (c) 2026 PowerOn AG
# 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 e34c82ff..66014233 100644
--- a/modules/datamodels/datamodelDocument.py
+++ b/modules/datamodels/datamodelDocument.py
@@ -1,4 +1,4 @@
-# Copyright (c) 2025 Patrick Motsch
+# Copyright (c) 2026 PowerOn AG
# All rights reserved.
from typing import Any, Dict, List, Optional, Literal, Union
from pydantic import BaseModel, Field, field_serializer
diff --git a/modules/datamodels/datamodelExtraction.py b/modules/datamodels/datamodelExtraction.py
index 38fd1d27..a9559de0 100644
--- a/modules/datamodels/datamodelExtraction.py
+++ b/modules/datamodels/datamodelExtraction.py
@@ -1,4 +1,4 @@
-# Copyright (c) 2025 Patrick Motsch
+# Copyright (c) 2026 PowerOn AG
# All rights reserved.
from typing import Any, Dict, List, Optional, Literal
from pydantic import BaseModel, Field
@@ -112,4 +112,4 @@ class ExtractionOptions(BaseModel):
# Additional processing options
enableParallelProcessing: bool = Field(default=True, description="Enable parallel processing of chunks")
- maxConcurrentChunks: int = Field(default=5, ge=1, le=20, description="Maximum number of chunks to process concurrently")
\ No newline at end of file
+ maxConcurrentChunks: int = Field(default=5, ge=1, le=20, description="Maximum number of chunks to process concurrently")
diff --git a/modules/datamodels/datamodelFeatures.py b/modules/datamodels/datamodelFeatures.py
index e43569b1..9a51f38b 100644
--- a/modules/datamodels/datamodelFeatures.py
+++ b/modules/datamodels/datamodelFeatures.py
@@ -1,4 +1,4 @@
-# Copyright (c) 2025 Patrick Motsch
+# Copyright (c) 2026 PowerOn AG
# All rights reserved.
"""Feature models: Feature definitions, instances, data sources, and shared feature types."""
diff --git a/modules/datamodels/datamodelFiles.py b/modules/datamodels/datamodelFiles.py
index 6adf6642..a78148f7 100644
--- a/modules/datamodels/datamodelFiles.py
+++ b/modules/datamodels/datamodelFiles.py
@@ -1,4 +1,4 @@
-# Copyright (c) 2025 Patrick Motsch
+# Copyright (c) 2026 PowerOn AG
# All rights reserved.
"""File-related datamodels: FileItem, FilePreview, FileData."""
diff --git a/modules/datamodels/datamodelInvitation.py b/modules/datamodels/datamodelInvitation.py
index 1543b42f..01e270a4 100644
--- a/modules/datamodels/datamodelInvitation.py
+++ b/modules/datamodels/datamodelInvitation.py
@@ -1,4 +1,4 @@
-# Copyright (c) 2025 Patrick Motsch
+# Copyright (c) 2026 PowerOn AG
# All rights reserved.
"""
Invitation model for self-service onboarding.
diff --git a/modules/datamodels/datamodelJson.py b/modules/datamodels/datamodelJson.py
index 6c7793c4..5a975f73 100644
--- a/modules/datamodels/datamodelJson.py
+++ b/modules/datamodels/datamodelJson.py
@@ -1,4 +1,4 @@
-# Copyright (c) 2025 Patrick Motsch
+# Copyright (c) 2026 PowerOn AG
# All rights reserved.
"""
Unified JSON document schema and helpers used by both generation prompts and renderers.
diff --git a/modules/datamodels/datamodelKnowledge.py b/modules/datamodels/datamodelKnowledge.py
index 725c0158..ad837ab1 100644
--- a/modules/datamodels/datamodelKnowledge.py
+++ b/modules/datamodels/datamodelKnowledge.py
@@ -1,4 +1,4 @@
-# Copyright (c) 2025 Patrick Motsch
+# Copyright (c) 2026 PowerOn AG
# All rights reserved.
"""Knowledge Store data models: FileContentIndex, ContentChunk, WorkflowMemory.
diff --git a/modules/datamodels/datamodelMembership.py b/modules/datamodels/datamodelMembership.py
index 97f865d6..b59651a3 100644
--- a/modules/datamodels/datamodelMembership.py
+++ b/modules/datamodels/datamodelMembership.py
@@ -1,4 +1,4 @@
-# Copyright (c) 2025 Patrick Motsch
+# Copyright (c) 2026 PowerOn AG
# All rights reserved.
"""
Membership models: UserMandate, FeatureAccess, and Junction Tables.
diff --git a/modules/datamodels/datamodelMessaging.py b/modules/datamodels/datamodelMessaging.py
index 904ee526..5395ad9d 100644
--- a/modules/datamodels/datamodelMessaging.py
+++ b/modules/datamodels/datamodelMessaging.py
@@ -1,4 +1,4 @@
-# Copyright (c) 2025 Patrick Motsch
+# Copyright (c) 2026 PowerOn AG
# All rights reserved.
"""Messaging models: MessagingSubscription, MessagingSubscriptionRegistration, MessagingDelivery."""
diff --git a/modules/datamodels/datamodelNavigation.py b/modules/datamodels/datamodelNavigation.py
index 22f851c8..5c40a165 100644
--- a/modules/datamodels/datamodelNavigation.py
+++ b/modules/datamodels/datamodelNavigation.py
@@ -1,4 +1,4 @@
-# Copyright (c) 2025 Patrick Motsch
+# Copyright (c) 2026 PowerOn AG
# All rights reserved.
"""
Navigation structure data (Layer L1 - datamodels).
diff --git a/modules/datamodels/datamodelNotification.py b/modules/datamodels/datamodelNotification.py
index 535e6a65..2c8e8ede 100644
--- a/modules/datamodels/datamodelNotification.py
+++ b/modules/datamodels/datamodelNotification.py
@@ -1,4 +1,4 @@
-# Copyright (c) 2025 Patrick Motsch
+# Copyright (c) 2026 PowerOn AG
# All rights reserved.
"""
Notification model for in-app notifications.
diff --git a/modules/datamodels/datamodelPagination.py b/modules/datamodels/datamodelPagination.py
index 259f3880..2dba138d 100644
--- a/modules/datamodels/datamodelPagination.py
+++ b/modules/datamodels/datamodelPagination.py
@@ -1,4 +1,4 @@
-# Copyright (c) 2025 Patrick Motsch
+# Copyright (c) 2026 PowerOn AG
# All rights reserved.
"""
Pagination models for server-side pagination, sorting, and filtering.
diff --git a/modules/datamodels/datamodelPortTypes.py b/modules/datamodels/datamodelPortTypes.py
index 1357af4f..b118f0e6 100644
--- a/modules/datamodels/datamodelPortTypes.py
+++ b/modules/datamodels/datamodelPortTypes.py
@@ -1,4 +1,4 @@
-# Copyright (c) 2025 Patrick Motsch
+# Copyright (c) 2026 PowerOn AG
# All rights reserved.
"""Port type catalog and primitive types for the Graphical Editor workflow system."""
diff --git a/modules/datamodels/datamodelRbac.py b/modules/datamodels/datamodelRbac.py
index 7ea9d710..56196d84 100644
--- a/modules/datamodels/datamodelRbac.py
+++ b/modules/datamodels/datamodelRbac.py
@@ -1,4 +1,4 @@
-# Copyright (c) 2025 Patrick Motsch
+# Copyright (c) 2026 PowerOn AG
# All rights reserved.
"""
RBAC models: AccessRule, AccessRuleContext, Role.
diff --git a/modules/datamodels/datamodelSecurity.py b/modules/datamodels/datamodelSecurity.py
index 1240f088..280fdc9e 100644
--- a/modules/datamodels/datamodelSecurity.py
+++ b/modules/datamodels/datamodelSecurity.py
@@ -1,4 +1,4 @@
-# Copyright (c) 2025 Patrick Motsch
+# Copyright (c) 2026 PowerOn AG
# All rights reserved.
"""
Security models: Token and AuthEvent.
diff --git a/modules/datamodels/datamodelSubscription.py b/modules/datamodels/datamodelSubscription.py
index c8263e37..944f7606 100644
--- a/modules/datamodels/datamodelSubscription.py
+++ b/modules/datamodels/datamodelSubscription.py
@@ -1,4 +1,4 @@
-# Copyright (c) 2025 Patrick Motsch
+# Copyright (c) 2026 PowerOn AG
# All rights reserved.
"""Subscription models: SubscriptionPlan (catalog), MandateSubscription (instance per mandate),
StripePlanPrice (persisted Stripe IDs per plan).
diff --git a/modules/datamodels/datamodelTickets.py b/modules/datamodels/datamodelTickets.py
index 149a7458..a7aaf8be 100644
--- a/modules/datamodels/datamodelTickets.py
+++ b/modules/datamodels/datamodelTickets.py
@@ -1,4 +1,4 @@
-# Copyright (c) 2025 Patrick Motsch
+# Copyright (c) 2026 PowerOn AG
# All rights reserved.
"""Ticket datamodels used across Jira/ClickUp connectors."""
diff --git a/modules/datamodels/datamodelTools.py b/modules/datamodels/datamodelTools.py
index ed369748..3f67f136 100644
--- a/modules/datamodels/datamodelTools.py
+++ b/modules/datamodels/datamodelTools.py
@@ -1,4 +1,4 @@
-# Copyright (c) 2025 Patrick Motsch
+# Copyright (c) 2026 PowerOn AG
# 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 1d95598c..18d1e9a5 100644
--- a/modules/datamodels/datamodelUam.py
+++ b/modules/datamodels/datamodelUam.py
@@ -1,4 +1,4 @@
-# Copyright (c) 2025 Patrick Motsch
+# Copyright (c) 2026 PowerOn AG
# All rights reserved.
"""
UAM models: User, Mandate, UserConnection.
diff --git a/modules/datamodels/datamodelUdm.py b/modules/datamodels/datamodelUdm.py
index c91baa90..49bad763 100644
--- a/modules/datamodels/datamodelUdm.py
+++ b/modules/datamodels/datamodelUdm.py
@@ -1,4 +1,4 @@
-# Copyright (c) 2025 Patrick Motsch
+# Copyright (c) 2026 PowerOn AG
# All rights reserved.
"""Unified Document Model (UDM) — hierarchical document tree and ContentPart bridge."""
from __future__ import annotations
diff --git a/modules/datamodels/datamodelUiLanguage.py b/modules/datamodels/datamodelUiLanguage.py
index 4c589bb3..b6b04cd6 100644
--- a/modules/datamodels/datamodelUiLanguage.py
+++ b/modules/datamodels/datamodelUiLanguage.py
@@ -1,4 +1,4 @@
-# Copyright (c) 2025 Patrick Motsch
+# Copyright (c) 2026 PowerOn AG
# All rights reserved.
"""UI language sets: structured i18n entries (context, key, value)."""
diff --git a/modules/datamodels/datamodelUtils.py b/modules/datamodels/datamodelUtils.py
index 0bd0ed71..4713f691 100644
--- a/modules/datamodels/datamodelUtils.py
+++ b/modules/datamodels/datamodelUtils.py
@@ -1,4 +1,4 @@
-# Copyright (c) 2025 Patrick Motsch
+# Copyright (c) 2026 PowerOn AG
# All rights reserved.
"""Utility datamodels: Prompt, TextMultilingual."""
diff --git a/modules/datamodels/datamodelViews.py b/modules/datamodels/datamodelViews.py
index 28625d16..7e98406f 100644
--- a/modules/datamodels/datamodelViews.py
+++ b/modules/datamodels/datamodelViews.py
@@ -1,4 +1,4 @@
-# Copyright (c) 2025 Patrick Motsch
+# Copyright (c) 2026 PowerOn AG
# All rights reserved.
"""
View models for the /api/attributes/ endpoint.
diff --git a/modules/datamodels/datamodelVoice.py b/modules/datamodels/datamodelVoice.py
index c3a622ac..76d9b7ae 100644
--- a/modules/datamodels/datamodelVoice.py
+++ b/modules/datamodels/datamodelVoice.py
@@ -1,4 +1,4 @@
-# Copyright (c) 2025 Patrick Motsch
+# Copyright (c) 2026 PowerOn AG
# All rights reserved.
"""Voice settings datamodel — re-exported from UAM for central voice preferences."""
diff --git a/modules/datamodels/datamodelWorkflow.py b/modules/datamodels/datamodelWorkflow.py
index 490d9fb0..289f16c8 100644
--- a/modules/datamodels/datamodelWorkflow.py
+++ b/modules/datamodels/datamodelWorkflow.py
@@ -1,4 +1,4 @@
-# Copyright (c) 2025 Patrick Motsch
+# Copyright (c) 2026 PowerOn AG
# All rights reserved.
"""
Workflow execution models for action definitions, AI responses, and workflow-level structures.
diff --git a/modules/datamodels/datamodelWorkflowActions.py b/modules/datamodels/datamodelWorkflowActions.py
index e82941f6..ff044b82 100644
--- a/modules/datamodels/datamodelWorkflowActions.py
+++ b/modules/datamodels/datamodelWorkflowActions.py
@@ -1,4 +1,4 @@
-# Copyright (c) 2025 Patrick Motsch
+# Copyright (c) 2026 PowerOn AG
# All rights reserved.
"""Workflow Action models: WorkflowActionParameter, WorkflowActionDefinition."""
diff --git a/modules/datamodels/datamodelWorkflowAutomation.py b/modules/datamodels/datamodelWorkflowAutomation.py
index 51d84814..afaacd43 100644
--- a/modules/datamodels/datamodelWorkflowAutomation.py
+++ b/modules/datamodels/datamodelWorkflowAutomation.py
@@ -1,4 +1,4 @@
-# Copyright (c) 2025 Patrick Motsch
+# Copyright (c) 2026 PowerOn AG
# All rights reserved.
"""Workflow Automation models: AutoWorkflow, AutoVersion, AutoRun, AutoStepLog, AutoTask.
diff --git a/modules/datamodels/serviceExceptions.py b/modules/datamodels/serviceExceptions.py
index 7585c6a9..587d1c72 100644
--- a/modules/datamodels/serviceExceptions.py
+++ b/modules/datamodels/serviceExceptions.py
@@ -1,4 +1,4 @@
-# Copyright (c) 2025 Patrick Motsch
+# Copyright (c) 2026 PowerOn AG
# All rights reserved.
"""
Shared service exception classes.
diff --git a/modules/dbHelpers/aiAuditLogger.py b/modules/dbHelpers/aiAuditLogger.py
index 060ace33..f351a733 100644
--- a/modules/dbHelpers/aiAuditLogger.py
+++ b/modules/dbHelpers/aiAuditLogger.py
@@ -1,4 +1,4 @@
-# Copyright (c) 2025 Patrick Motsch
+# Copyright (c) 2026 PowerOn AG
# All rights reserved.
"""AI Audit Logger — records every AI provider call for compliance reporting.
diff --git a/modules/dbHelpers/auditLogger.py b/modules/dbHelpers/auditLogger.py
index a5b0ec9e..3c799412 100644
--- a/modules/dbHelpers/auditLogger.py
+++ b/modules/dbHelpers/auditLogger.py
@@ -1,4 +1,4 @@
-# Copyright (c) 2025 Patrick Motsch
+# Copyright (c) 2026 PowerOn AG
# All rights reserved.
"""
Audit Logging System for PowerOn Gateway
diff --git a/modules/dbHelpers/dbMultiTenantOptimizations.py b/modules/dbHelpers/dbMultiTenantOptimizations.py
index 4b8a5e78..106b5c15 100644
--- a/modules/dbHelpers/dbMultiTenantOptimizations.py
+++ b/modules/dbHelpers/dbMultiTenantOptimizations.py
@@ -1,4 +1,4 @@
-# Copyright (c) 2025 Patrick Motsch
+# Copyright (c) 2026 PowerOn AG
# All rights reserved.
"""
Database optimizations for Multi-Tenant model.
diff --git a/modules/dbHelpers/dbRegistry.py b/modules/dbHelpers/dbRegistry.py
index 8c24d664..73384914 100644
--- a/modules/dbHelpers/dbRegistry.py
+++ b/modules/dbHelpers/dbRegistry.py
@@ -1,4 +1,4 @@
-# Copyright (c) 2025 Patrick Motsch
+# Copyright (c) 2026 PowerOn AG
# All rights reserved.
"""
Dynamic database registry — each interface self-registers its DB on import.
diff --git a/modules/dbHelpers/fkLabelResolver.py b/modules/dbHelpers/fkLabelResolver.py
index 940866d5..35a673af 100644
--- a/modules/dbHelpers/fkLabelResolver.py
+++ b/modules/dbHelpers/fkLabelResolver.py
@@ -1,4 +1,4 @@
-# Copyright (c) 2025 Patrick Motsch
+# Copyright (c) 2026 PowerOn AG
# All rights reserved.
"""
FK label resolution: resolve foreign-key IDs to human-readable labels.
diff --git a/modules/dbHelpers/fkRegistry.py b/modules/dbHelpers/fkRegistry.py
index 9ca5b1ec..2e457594 100644
--- a/modules/dbHelpers/fkRegistry.py
+++ b/modules/dbHelpers/fkRegistry.py
@@ -1,4 +1,4 @@
-# Copyright (c) 2025 Patrick Motsch
+# Copyright (c) 2026 PowerOn AG
# All rights reserved.
"""
FK-Discovery — scans the Model-Registry for `fk_target` annotations and
diff --git a/modules/dbHelpers/paginationHelpers.py b/modules/dbHelpers/paginationHelpers.py
index 981cd411..52235e76 100644
--- a/modules/dbHelpers/paginationHelpers.py
+++ b/modules/dbHelpers/paginationHelpers.py
@@ -1,4 +1,4 @@
-# Copyright (c) 2025 Patrick Motsch
+# Copyright (c) 2026 PowerOn AG
# All rights reserved.
"""
Pagination, filtering and sorting helpers for paginated record sets.
diff --git a/modules/features/commcoach/datamodelCommcoach.py b/modules/features/commcoach/datamodelCommcoach.py
index 06928998..2728a1de 100644
--- a/modules/features/commcoach/datamodelCommcoach.py
+++ b/modules/features/commcoach/datamodelCommcoach.py
@@ -1,4 +1,4 @@
-# Copyright (c) 2025 Patrick Motsch
+# Copyright (c) 2026 PowerOn AG
# All rights reserved.
"""
CommCoach Feature - Data Models.
diff --git a/modules/features/commcoach/interfaceFeatureCommcoach.py b/modules/features/commcoach/interfaceFeatureCommcoach.py
index 8341ec1b..d4c51a27 100644
--- a/modules/features/commcoach/interfaceFeatureCommcoach.py
+++ b/modules/features/commcoach/interfaceFeatureCommcoach.py
@@ -1,4 +1,4 @@
-# Copyright (c) 2025 Patrick Motsch
+# Copyright (c) 2026 PowerOn AG
# All rights reserved.
"""
Interface to CommCoach database.
diff --git a/modules/features/commcoach/mainCommcoach.py b/modules/features/commcoach/mainCommcoach.py
index 7050a078..ca07a9d0 100644
--- a/modules/features/commcoach/mainCommcoach.py
+++ b/modules/features/commcoach/mainCommcoach.py
@@ -1,4 +1,4 @@
-# Copyright (c) 2025 Patrick Motsch
+# Copyright (c) 2026 PowerOn AG
# All rights reserved.
"""
CommCoach Feature Container - Main Module.
diff --git a/modules/features/commcoach/routeFeatureCommcoach.py b/modules/features/commcoach/routeFeatureCommcoach.py
index c7759900..81e1254d 100644
--- a/modules/features/commcoach/routeFeatureCommcoach.py
+++ b/modules/features/commcoach/routeFeatureCommcoach.py
@@ -1,4 +1,4 @@
-# Copyright (c) 2025 Patrick Motsch
+# Copyright (c) 2026 PowerOn AG
# All rights reserved.
"""
CommCoach routes for the backend API.
diff --git a/modules/features/commcoach/serviceCommcoach.py b/modules/features/commcoach/serviceCommcoach.py
index 3aa0c1a0..b3b5ef2a 100644
--- a/modules/features/commcoach/serviceCommcoach.py
+++ b/modules/features/commcoach/serviceCommcoach.py
@@ -1,4 +1,4 @@
-# Copyright (c) 2025 Patrick Motsch
+# Copyright (c) 2026 PowerOn AG
# All rights reserved.
"""
CommCoach Service - Coaching Orchestration.
diff --git a/modules/features/commcoach/serviceCommcoachAi.py b/modules/features/commcoach/serviceCommcoachAi.py
index 1b9baca8..a924ec9e 100644
--- a/modules/features/commcoach/serviceCommcoachAi.py
+++ b/modules/features/commcoach/serviceCommcoachAi.py
@@ -1,4 +1,4 @@
-# Copyright (c) 2025 Patrick Motsch
+# Copyright (c) 2026 PowerOn AG
# All rights reserved.
"""
CommCoach AI Service.
diff --git a/modules/features/commcoach/serviceCommcoachContextRetrieval.py b/modules/features/commcoach/serviceCommcoachContextRetrieval.py
index 98673cc6..2f26cac7 100644
--- a/modules/features/commcoach/serviceCommcoachContextRetrieval.py
+++ b/modules/features/commcoach/serviceCommcoachContextRetrieval.py
@@ -1,4 +1,4 @@
-# Copyright (c) 2025 Patrick Motsch
+# Copyright (c) 2026 PowerOn AG
# All rights reserved.
"""
CommCoach Context Retrieval.
diff --git a/modules/features/commcoach/serviceCommcoachExport.py b/modules/features/commcoach/serviceCommcoachExport.py
index 5f8e9356..d3235e5e 100644
--- a/modules/features/commcoach/serviceCommcoachExport.py
+++ b/modules/features/commcoach/serviceCommcoachExport.py
@@ -1,4 +1,4 @@
-# Copyright (c) 2025 Patrick Motsch
+# Copyright (c) 2026 PowerOn AG
# All rights reserved.
"""
CommCoach Export Service.
diff --git a/modules/features/commcoach/serviceCommcoachGamification.py b/modules/features/commcoach/serviceCommcoachGamification.py
index 331dd9b1..3848c526 100644
--- a/modules/features/commcoach/serviceCommcoachGamification.py
+++ b/modules/features/commcoach/serviceCommcoachGamification.py
@@ -1,4 +1,4 @@
-# Copyright (c) 2025 Patrick Motsch
+# Copyright (c) 2026 PowerOn AG
# All rights reserved.
"""
CommCoach Gamification - Badge definitions and award logic.
diff --git a/modules/features/commcoach/serviceCommcoachIndexer.py b/modules/features/commcoach/serviceCommcoachIndexer.py
index 2f042795..8731d6a5 100644
--- a/modules/features/commcoach/serviceCommcoachIndexer.py
+++ b/modules/features/commcoach/serviceCommcoachIndexer.py
@@ -1,4 +1,4 @@
-# Copyright (c) 2025 Patrick Motsch
+# Copyright (c) 2026 PowerOn AG
# All rights reserved.
"""
CommCoach Session Indexer.
diff --git a/modules/features/commcoach/serviceCommcoachPersonas.py b/modules/features/commcoach/serviceCommcoachPersonas.py
index 867b51a0..fa99e6a2 100644
--- a/modules/features/commcoach/serviceCommcoachPersonas.py
+++ b/modules/features/commcoach/serviceCommcoachPersonas.py
@@ -1,4 +1,4 @@
-# Copyright (c) 2025 Patrick Motsch
+# Copyright (c) 2026 PowerOn AG
# All rights reserved.
"""
CommCoach Personas - Built-in roleplay persona definitions.
diff --git a/modules/features/commcoach/serviceCommcoachScheduler.py b/modules/features/commcoach/serviceCommcoachScheduler.py
index 51a3491d..916f481f 100644
--- a/modules/features/commcoach/serviceCommcoachScheduler.py
+++ b/modules/features/commcoach/serviceCommcoachScheduler.py
@@ -1,4 +1,4 @@
-# Copyright (c) 2025 Patrick Motsch
+# Copyright (c) 2026 PowerOn AG
# All rights reserved.
"""
CommCoach Scheduler Service.
diff --git a/modules/features/commcoach/tests/test_contextRetrieval.py b/modules/features/commcoach/tests/test_contextRetrieval.py
index a0dcf226..c646ca19 100644
--- a/modules/features/commcoach/tests/test_contextRetrieval.py
+++ b/modules/features/commcoach/tests/test_contextRetrieval.py
@@ -1,4 +1,4 @@
-# Copyright (c) 2025 Patrick Motsch
+# Copyright (c) 2026 PowerOn AG
# All rights reserved.
"""Tests for CommCoach context retrieval (intent detection, session lookup)."""
diff --git a/modules/features/commcoach/tests/test_datamodel.py b/modules/features/commcoach/tests/test_datamodel.py
index 05d174c5..1191be21 100644
--- a/modules/features/commcoach/tests/test_datamodel.py
+++ b/modules/features/commcoach/tests/test_datamodel.py
@@ -1,4 +1,4 @@
-# Copyright (c) 2025 Patrick Motsch
+# Copyright (c) 2026 PowerOn AG
# All rights reserved.
"""
Tests for CommCoach data models.
diff --git a/modules/features/commcoach/tests/test_mainCommcoach.py b/modules/features/commcoach/tests/test_mainCommcoach.py
index bed151c8..bad60c5e 100644
--- a/modules/features/commcoach/tests/test_mainCommcoach.py
+++ b/modules/features/commcoach/tests/test_mainCommcoach.py
@@ -1,4 +1,4 @@
-# Copyright (c) 2025 Patrick Motsch
+# Copyright (c) 2026 PowerOn AG
# All rights reserved.
"""
Tests for CommCoach feature registration module.
diff --git a/modules/features/commcoach/tests/test_serviceAi.py b/modules/features/commcoach/tests/test_serviceAi.py
index bc8647b9..8fab02ad 100644
--- a/modules/features/commcoach/tests/test_serviceAi.py
+++ b/modules/features/commcoach/tests/test_serviceAi.py
@@ -1,4 +1,4 @@
-# Copyright (c) 2025 Patrick Motsch
+# Copyright (c) 2026 PowerOn AG
# All rights reserved.
"""
Tests for CommCoach AI service (prompt building and response parsing).
diff --git a/modules/features/neutralization/datamodelFeatureNeutralizer.py b/modules/features/neutralization/datamodelFeatureNeutralizer.py
index a308faa3..95b30a32 100644
--- a/modules/features/neutralization/datamodelFeatureNeutralizer.py
+++ b/modules/features/neutralization/datamodelFeatureNeutralizer.py
@@ -1,4 +1,4 @@
-# Copyright (c) 2025 Patrick Motsch
+# Copyright (c) 2026 PowerOn AG
# All rights reserved.
"""Neutralizer models: DataNeutraliserConfig and DataNeutralizerAttributes."""
diff --git a/modules/features/neutralization/interfaceFeatureNeutralizer.py b/modules/features/neutralization/interfaceFeatureNeutralizer.py
index 97a466ff..217b4029 100644
--- a/modules/features/neutralization/interfaceFeatureNeutralizer.py
+++ b/modules/features/neutralization/interfaceFeatureNeutralizer.py
@@ -1,4 +1,4 @@
-# Copyright (c) 2025 Patrick Motsch
+# Copyright (c) 2026 PowerOn AG
# All rights reserved.
"""
Database interface for the Neutralizer feature.
diff --git a/modules/features/neutralization/mainNeutralization.py b/modules/features/neutralization/mainNeutralization.py
index 2a8a6e19..1991b09a 100644
--- a/modules/features/neutralization/mainNeutralization.py
+++ b/modules/features/neutralization/mainNeutralization.py
@@ -1,4 +1,4 @@
-# Copyright (c) 2025 Patrick Motsch
+# Copyright (c) 2026 PowerOn AG
# All rights reserved.
"""
Neutralizer Feature Container - Main Module.
diff --git a/modules/features/neutralization/neutralizePlayground.py b/modules/features/neutralization/neutralizePlayground.py
index 1a46cd25..407f5985 100644
--- a/modules/features/neutralization/neutralizePlayground.py
+++ b/modules/features/neutralization/neutralizePlayground.py
@@ -1,4 +1,4 @@
-# Copyright (c) 2025 Patrick Motsch
+# Copyright (c) 2026 PowerOn AG
# All rights reserved.
import base64
import logging
diff --git a/modules/features/neutralization/routeFeatureNeutralizer.py b/modules/features/neutralization/routeFeatureNeutralizer.py
index 488ef352..f66372e9 100644
--- a/modules/features/neutralization/routeFeatureNeutralizer.py
+++ b/modules/features/neutralization/routeFeatureNeutralizer.py
@@ -1,4 +1,4 @@
-# Copyright (c) 2025 Patrick Motsch
+# Copyright (c) 2026 PowerOn AG
# All rights reserved.
from fastapi import APIRouter, HTTPException, Depends, Path, Request, status, Query, Body, File, UploadFile
from typing import List, Dict, Any, Optional
diff --git a/modules/features/neutralization/serviceNeutralization/mainServiceNeutralization.py b/modules/features/neutralization/serviceNeutralization/mainServiceNeutralization.py
index 0388dbba..86d1965b 100644
--- a/modules/features/neutralization/serviceNeutralization/mainServiceNeutralization.py
+++ b/modules/features/neutralization/serviceNeutralization/mainServiceNeutralization.py
@@ -1,4 +1,4 @@
-# Copyright (c) 2025 Patrick Motsch
+# Copyright (c) 2026 PowerOn AG
# All rights reserved.
"""
Data Neutralization Service
diff --git a/modules/features/neutralization/serviceNeutralization/subContentPartAdapter.py b/modules/features/neutralization/serviceNeutralization/subContentPartAdapter.py
index b7de66ca..09a7feb4 100644
--- a/modules/features/neutralization/serviceNeutralization/subContentPartAdapter.py
+++ b/modules/features/neutralization/serviceNeutralization/subContentPartAdapter.py
@@ -1,4 +1,4 @@
-# Copyright (c) 2025 Patrick Motsch
+# Copyright (c) 2026 PowerOn AG
# All rights reserved.
"""
Adapter to convert ContentPart list (from extraction) to renderer JSON schema.
diff --git a/modules/features/neutralization/serviceNeutralization/subParseString.py b/modules/features/neutralization/serviceNeutralization/subParseString.py
index 86ef2f16..54e52da3 100644
--- a/modules/features/neutralization/serviceNeutralization/subParseString.py
+++ b/modules/features/neutralization/serviceNeutralization/subParseString.py
@@ -1,4 +1,4 @@
-# Copyright (c) 2025 Patrick Motsch
+# Copyright (c) 2026 PowerOn AG
# All rights reserved.
"""
String parsing and replacement utilities for data anonymization
diff --git a/modules/features/neutralization/serviceNeutralization/subPatterns.py b/modules/features/neutralization/serviceNeutralization/subPatterns.py
index f83c817e..642629c6 100644
--- a/modules/features/neutralization/serviceNeutralization/subPatterns.py
+++ b/modules/features/neutralization/serviceNeutralization/subPatterns.py
@@ -1,4 +1,4 @@
-# Copyright (c) 2025 Patrick Motsch
+# Copyright (c) 2026 PowerOn AG
# All rights reserved.
"""
Pattern definitions for data anonymization
@@ -470,4 +470,4 @@ def findPatternsInText(text: str, patterns: List[Pattern]) -> List[tuple]:
for p in pattern.patterns:
for match in re.finditer(p, text, re.IGNORECASE):
matches.append((pattern.name, match.group(0), match.start(), match.end()))
- return sorted(matches, key=lambda x: x[2]) # Sort by start position
\ No newline at end of file
+ return sorted(matches, key=lambda x: x[2]) # Sort by start position
diff --git a/modules/features/neutralization/serviceNeutralization/subProcessBinary.py b/modules/features/neutralization/serviceNeutralization/subProcessBinary.py
index 28bbf3ee..d1df1ed2 100644
--- a/modules/features/neutralization/serviceNeutralization/subProcessBinary.py
+++ b/modules/features/neutralization/serviceNeutralization/subProcessBinary.py
@@ -1,4 +1,4 @@
-# Copyright (c) 2025 Patrick Motsch
+# Copyright (c) 2026 PowerOn AG
# All rights reserved.
"""
Binary data processing module for data anonymization
diff --git a/modules/features/neutralization/serviceNeutralization/subProcessCommon.py b/modules/features/neutralization/serviceNeutralization/subProcessCommon.py
index dd49ae75..6c097e45 100644
--- a/modules/features/neutralization/serviceNeutralization/subProcessCommon.py
+++ b/modules/features/neutralization/serviceNeutralization/subProcessCommon.py
@@ -1,4 +1,4 @@
-# Copyright (c) 2025 Patrick Motsch
+# Copyright (c) 2026 PowerOn AG
# All rights reserved.
"""
Common processing utilities for data anonymization
diff --git a/modules/features/neutralization/serviceNeutralization/subProcessList.py b/modules/features/neutralization/serviceNeutralization/subProcessList.py
index 021cec2b..a42904ff 100644
--- a/modules/features/neutralization/serviceNeutralization/subProcessList.py
+++ b/modules/features/neutralization/serviceNeutralization/subProcessList.py
@@ -1,4 +1,4 @@
-# Copyright (c) 2025 Patrick Motsch
+# Copyright (c) 2026 PowerOn AG
# All rights reserved.
"""
List processing module for data anonymization
diff --git a/modules/features/neutralization/serviceNeutralization/subProcessPdfInPlace.py b/modules/features/neutralization/serviceNeutralization/subProcessPdfInPlace.py
index b0c84327..695c8584 100644
--- a/modules/features/neutralization/serviceNeutralization/subProcessPdfInPlace.py
+++ b/modules/features/neutralization/serviceNeutralization/subProcessPdfInPlace.py
@@ -1,4 +1,4 @@
-# Copyright (c) 2025 Patrick Motsch
+# Copyright (c) 2026 PowerOn AG
# All rights reserved.
"""
PDF in-place neutralization using PyMuPDF.
diff --git a/modules/features/neutralization/serviceNeutralization/subProcessText.py b/modules/features/neutralization/serviceNeutralization/subProcessText.py
index eea270b9..bdc4c995 100644
--- a/modules/features/neutralization/serviceNeutralization/subProcessText.py
+++ b/modules/features/neutralization/serviceNeutralization/subProcessText.py
@@ -1,4 +1,4 @@
-# Copyright (c) 2025 Patrick Motsch
+# Copyright (c) 2026 PowerOn AG
# All rights reserved.
"""
Text processing module for data anonymization
diff --git a/modules/features/redmine/__init__.py b/modules/features/redmine/__init__.py
index 964637d5..ba98788e 100644
--- a/modules/features/redmine/__init__.py
+++ b/modules/features/redmine/__init__.py
@@ -1,3 +1,3 @@
-# Copyright (c) 2026 Patrick Motsch
+# Copyright (c) 2026 PowerOn AG
# All rights reserved.
"""Redmine feature container -- ticket browser, statistics, AI tools."""
diff --git a/modules/features/redmine/datamodelRedmine.py b/modules/features/redmine/datamodelRedmine.py
index e33ee407..eb5c7f27 100644
--- a/modules/features/redmine/datamodelRedmine.py
+++ b/modules/features/redmine/datamodelRedmine.py
@@ -1,4 +1,4 @@
-# Copyright (c) 2026 Patrick Motsch
+# Copyright (c) 2026 PowerOn AG
# All rights reserved.
"""Redmine feature data models.
diff --git a/modules/features/redmine/interfaceFeatureRedmine.py b/modules/features/redmine/interfaceFeatureRedmine.py
index 225b5a31..fa885151 100644
--- a/modules/features/redmine/interfaceFeatureRedmine.py
+++ b/modules/features/redmine/interfaceFeatureRedmine.py
@@ -1,4 +1,4 @@
-# Copyright (c) 2026 Patrick Motsch
+# Copyright (c) 2026 PowerOn AG
# All rights reserved.
"""Interface for the Redmine feature.
diff --git a/modules/features/redmine/mainRedmine.py b/modules/features/redmine/mainRedmine.py
index fe893cef..2d3d8d5f 100644
--- a/modules/features/redmine/mainRedmine.py
+++ b/modules/features/redmine/mainRedmine.py
@@ -1,4 +1,4 @@
-# Copyright (c) 2026 Patrick Motsch
+# Copyright (c) 2026 PowerOn AG
# All rights reserved.
"""Redmine Feature Container -- Main Module.
diff --git a/modules/features/redmine/routeFeatureRedmine.py b/modules/features/redmine/routeFeatureRedmine.py
index bdc8797b..86ac8d30 100644
--- a/modules/features/redmine/routeFeatureRedmine.py
+++ b/modules/features/redmine/routeFeatureRedmine.py
@@ -1,4 +1,4 @@
-# Copyright (c) 2026 Patrick Motsch
+# Copyright (c) 2026 PowerOn AG
# All rights reserved.
"""FastAPI routes for the Redmine feature.
diff --git a/modules/features/redmine/serviceRedmine.py b/modules/features/redmine/serviceRedmine.py
index d772478b..0fe2f2b3 100644
--- a/modules/features/redmine/serviceRedmine.py
+++ b/modules/features/redmine/serviceRedmine.py
@@ -1,4 +1,4 @@
-# Copyright (c) 2026 Patrick Motsch
+# Copyright (c) 2026 PowerOn AG
# All rights reserved.
"""Redmine service layer.
diff --git a/modules/features/redmine/serviceRedmineStats.py b/modules/features/redmine/serviceRedmineStats.py
index 8566db16..dc187d85 100644
--- a/modules/features/redmine/serviceRedmineStats.py
+++ b/modules/features/redmine/serviceRedmineStats.py
@@ -1,4 +1,4 @@
-# Copyright (c) 2026 Patrick Motsch
+# Copyright (c) 2026 PowerOn AG
# All rights reserved.
"""Redmine statistics aggregator.
diff --git a/modules/features/redmine/serviceRedmineStatsCache.py b/modules/features/redmine/serviceRedmineStatsCache.py
index 12176178..ae9f9718 100644
--- a/modules/features/redmine/serviceRedmineStatsCache.py
+++ b/modules/features/redmine/serviceRedmineStatsCache.py
@@ -1,4 +1,4 @@
-# Copyright (c) 2026 Patrick Motsch
+# Copyright (c) 2026 PowerOn AG
# All rights reserved.
"""TTL-based in-memory cache for ``serviceRedmineStats`` results.
diff --git a/modules/features/redmine/serviceRedmineSync.py b/modules/features/redmine/serviceRedmineSync.py
index a56198f1..38cdd4f9 100644
--- a/modules/features/redmine/serviceRedmineSync.py
+++ b/modules/features/redmine/serviceRedmineSync.py
@@ -1,4 +1,4 @@
-# Copyright (c) 2026 Patrick Motsch
+# Copyright (c) 2026 PowerOn AG
# All rights reserved.
"""Incremental Redmine -> ``poweron_redmine`` mirror sync.
diff --git a/modules/features/redmine/workflows/__init__.py b/modules/features/redmine/workflows/__init__.py
index 8c4ceb1a..0ec13b90 100644
--- a/modules/features/redmine/workflows/__init__.py
+++ b/modules/features/redmine/workflows/__init__.py
@@ -1,3 +1,3 @@
-# Copyright (c) 2025 Patrick Motsch
+# Copyright (c) 2026 PowerOn AG
# All rights reserved.
"""Feature-owned workflow methods for Redmine."""
diff --git a/modules/features/redmine/workflows/methodRedmine/__init__.py b/modules/features/redmine/workflows/methodRedmine/__init__.py
index d141dd48..2c8e1590 100644
--- a/modules/features/redmine/workflows/methodRedmine/__init__.py
+++ b/modules/features/redmine/workflows/methodRedmine/__init__.py
@@ -1,4 +1,4 @@
-# Copyright (c) 2026 Patrick Motsch
+# Copyright (c) 2026 PowerOn AG
# All rights reserved.
"""Redmine workflow method: read / list / create / update / stats / sync."""
diff --git a/modules/features/redmine/workflows/methodRedmine/actions/__init__.py b/modules/features/redmine/workflows/methodRedmine/actions/__init__.py
index 746291ab..06003961 100644
--- a/modules/features/redmine/workflows/methodRedmine/actions/__init__.py
+++ b/modules/features/redmine/workflows/methodRedmine/actions/__init__.py
@@ -1,2 +1,2 @@
-# Copyright (c) 2026 Patrick Motsch
+# Copyright (c) 2026 PowerOn AG
# All rights reserved.
diff --git a/modules/features/redmine/workflows/methodRedmine/actions/_shared.py b/modules/features/redmine/workflows/methodRedmine/actions/_shared.py
index b7c585d3..0b7709dc 100644
--- a/modules/features/redmine/workflows/methodRedmine/actions/_shared.py
+++ b/modules/features/redmine/workflows/methodRedmine/actions/_shared.py
@@ -1,4 +1,4 @@
-# Copyright (c) 2026 Patrick Motsch
+# Copyright (c) 2026 PowerOn AG
# All rights reserved.
"""Shared helpers for Redmine workflow actions.
diff --git a/modules/features/redmine/workflows/methodRedmine/actions/createTicket.py b/modules/features/redmine/workflows/methodRedmine/actions/createTicket.py
index 499d21fb..d7924f2f 100644
--- a/modules/features/redmine/workflows/methodRedmine/actions/createTicket.py
+++ b/modules/features/redmine/workflows/methodRedmine/actions/createTicket.py
@@ -1,4 +1,4 @@
-# Copyright (c) 2026 Patrick Motsch
+# Copyright (c) 2026 PowerOn AG
# All rights reserved.
"""Workflow action: create a new Redmine ticket."""
diff --git a/modules/features/redmine/workflows/methodRedmine/actions/getStats.py b/modules/features/redmine/workflows/methodRedmine/actions/getStats.py
index e939bf53..3da3fdd9 100644
--- a/modules/features/redmine/workflows/methodRedmine/actions/getStats.py
+++ b/modules/features/redmine/workflows/methodRedmine/actions/getStats.py
@@ -1,4 +1,4 @@
-# Copyright (c) 2026 Patrick Motsch
+# Copyright (c) 2026 PowerOn AG
# All rights reserved.
"""Workflow action: fetch aggregated Redmine statistics from the mirror."""
diff --git a/modules/features/redmine/workflows/methodRedmine/actions/listRelations.py b/modules/features/redmine/workflows/methodRedmine/actions/listRelations.py
index 90f44594..b8d45cfa 100644
--- a/modules/features/redmine/workflows/methodRedmine/actions/listRelations.py
+++ b/modules/features/redmine/workflows/methodRedmine/actions/listRelations.py
@@ -1,4 +1,4 @@
-# Copyright (c) 2026 Patrick Motsch
+# Copyright (c) 2026 PowerOn AG
# All rights reserved.
"""Workflow action: list Redmine relations from the mirror."""
diff --git a/modules/features/redmine/workflows/methodRedmine/actions/listTickets.py b/modules/features/redmine/workflows/methodRedmine/actions/listTickets.py
index 8573237a..17c6094c 100644
--- a/modules/features/redmine/workflows/methodRedmine/actions/listTickets.py
+++ b/modules/features/redmine/workflows/methodRedmine/actions/listTickets.py
@@ -1,4 +1,4 @@
-# Copyright (c) 2026 Patrick Motsch
+# Copyright (c) 2026 PowerOn AG
# All rights reserved.
"""Workflow action: list Redmine tickets from the mirror with filters."""
diff --git a/modules/features/redmine/workflows/methodRedmine/actions/readTicket.py b/modules/features/redmine/workflows/methodRedmine/actions/readTicket.py
index 69ea4459..afd3f5be 100644
--- a/modules/features/redmine/workflows/methodRedmine/actions/readTicket.py
+++ b/modules/features/redmine/workflows/methodRedmine/actions/readTicket.py
@@ -1,4 +1,4 @@
-# Copyright (c) 2026 Patrick Motsch
+# Copyright (c) 2026 PowerOn AG
# All rights reserved.
"""Workflow action: read a single Redmine ticket from the mirror.
diff --git a/modules/features/redmine/workflows/methodRedmine/actions/runSync.py b/modules/features/redmine/workflows/methodRedmine/actions/runSync.py
index 64a9bff9..f4a65d53 100644
--- a/modules/features/redmine/workflows/methodRedmine/actions/runSync.py
+++ b/modules/features/redmine/workflows/methodRedmine/actions/runSync.py
@@ -1,4 +1,4 @@
-# Copyright (c) 2026 Patrick Motsch
+# Copyright (c) 2026 PowerOn AG
# All rights reserved.
"""Workflow action: trigger an incremental (or full) Redmine mirror sync."""
diff --git a/modules/features/redmine/workflows/methodRedmine/actions/updateTicket.py b/modules/features/redmine/workflows/methodRedmine/actions/updateTicket.py
index 4e396093..eacb5a38 100644
--- a/modules/features/redmine/workflows/methodRedmine/actions/updateTicket.py
+++ b/modules/features/redmine/workflows/methodRedmine/actions/updateTicket.py
@@ -1,4 +1,4 @@
-# Copyright (c) 2026 Patrick Motsch
+# Copyright (c) 2026 PowerOn AG
# All rights reserved.
"""Workflow action: update a single Redmine ticket and refresh the mirror."""
diff --git a/modules/features/redmine/workflows/methodRedmine/methodRedmine.py b/modules/features/redmine/workflows/methodRedmine/methodRedmine.py
index 700375cd..1b26308e 100644
--- a/modules/features/redmine/workflows/methodRedmine/methodRedmine.py
+++ b/modules/features/redmine/workflows/methodRedmine/methodRedmine.py
@@ -1,4 +1,4 @@
-# Copyright (c) 2026 Patrick Motsch
+# Copyright (c) 2026 PowerOn AG
# All rights reserved.
"""Redmine workflow method.
diff --git a/modules/features/teamsbot/__init__.py b/modules/features/teamsbot/__init__.py
index fdcc4f0e..06003961 100644
--- a/modules/features/teamsbot/__init__.py
+++ b/modules/features/teamsbot/__init__.py
@@ -1,2 +1,2 @@
-# Copyright (c) 2025 Patrick Motsch
+# Copyright (c) 2026 PowerOn AG
# All rights reserved.
diff --git a/modules/features/teamsbot/bridgeConnector.py b/modules/features/teamsbot/bridgeConnector.py
index f97f4103..35cd4401 100644
--- a/modules/features/teamsbot/bridgeConnector.py
+++ b/modules/features/teamsbot/bridgeConnector.py
@@ -1,4 +1,4 @@
-# Copyright (c) 2025 Patrick Motsch
+# Copyright (c) 2026 PowerOn AG
# All rights reserved.
"""
Bridge Connector - Communication with the .NET Media Bridge.
diff --git a/modules/features/teamsbot/browserBotConnector.py b/modules/features/teamsbot/browserBotConnector.py
index d99fe829..77df0300 100644
--- a/modules/features/teamsbot/browserBotConnector.py
+++ b/modules/features/teamsbot/browserBotConnector.py
@@ -1,4 +1,4 @@
-# Copyright (c) 2025 Patrick Motsch
+# Copyright (c) 2026 PowerOn AG
# All rights reserved.
"""
Browser Bot Connector - Communication with the Node.js Browser Bot Service.
diff --git a/modules/features/teamsbot/config.py b/modules/features/teamsbot/config.py
index 11a9e3ff..e8a7adc2 100644
--- a/modules/features/teamsbot/config.py
+++ b/modules/features/teamsbot/config.py
@@ -1,4 +1,4 @@
-# Copyright (c) 2025 Patrick Motsch
+# Copyright (c) 2026 PowerOn AG
# All rights reserved.
"""
Teamsbot Feature - Configuration utilities.
diff --git a/modules/features/teamsbot/datamodelTeamsbot.py b/modules/features/teamsbot/datamodelTeamsbot.py
index 70ba5fd5..4bb41ccf 100644
--- a/modules/features/teamsbot/datamodelTeamsbot.py
+++ b/modules/features/teamsbot/datamodelTeamsbot.py
@@ -1,4 +1,4 @@
-# Copyright (c) 2025 Patrick Motsch
+# Copyright (c) 2026 PowerOn AG
# All rights reserved.
"""
Teamsbot Feature - Data Models.
diff --git a/modules/features/teamsbot/interfaceFeatureTeamsbot.py b/modules/features/teamsbot/interfaceFeatureTeamsbot.py
index 5afeea69..9eca9492 100644
--- a/modules/features/teamsbot/interfaceFeatureTeamsbot.py
+++ b/modules/features/teamsbot/interfaceFeatureTeamsbot.py
@@ -1,4 +1,4 @@
-# Copyright (c) 2025 Patrick Motsch
+# Copyright (c) 2026 PowerOn AG
# All rights reserved.
"""
Interface to Teamsbot database.
diff --git a/modules/features/teamsbot/mainTeamsbot.py b/modules/features/teamsbot/mainTeamsbot.py
index 5a003182..afb04004 100644
--- a/modules/features/teamsbot/mainTeamsbot.py
+++ b/modules/features/teamsbot/mainTeamsbot.py
@@ -1,4 +1,4 @@
-# Copyright (c) 2025 Patrick Motsch
+# Copyright (c) 2026 PowerOn AG
# All rights reserved.
"""
Teamsbot Feature Container - Main Module.
diff --git a/modules/features/teamsbot/routeFeatureTeamsbot.py b/modules/features/teamsbot/routeFeatureTeamsbot.py
index c0862ba1..b2ac2980 100644
--- a/modules/features/teamsbot/routeFeatureTeamsbot.py
+++ b/modules/features/teamsbot/routeFeatureTeamsbot.py
@@ -1,4 +1,4 @@
-# Copyright (c) 2025 Patrick Motsch
+# Copyright (c) 2026 PowerOn AG
# All rights reserved.
"""
Teamsbot routes for the backend API.
diff --git a/modules/features/teamsbot/service.py b/modules/features/teamsbot/service.py
index 2487ad81..942096a1 100644
--- a/modules/features/teamsbot/service.py
+++ b/modules/features/teamsbot/service.py
@@ -1,4 +1,4 @@
-# Copyright (c) 2025 Patrick Motsch
+# Copyright (c) 2026 PowerOn AG
# All rights reserved.
"""
Teamsbot Service - Pipeline Orchestrator.
diff --git a/modules/features/teamsbot/serviceCommands.py b/modules/features/teamsbot/serviceCommands.py
index a8ce763f..5e08f879 100644
--- a/modules/features/teamsbot/serviceCommands.py
+++ b/modules/features/teamsbot/serviceCommands.py
@@ -1,4 +1,4 @@
-# Copyright (c) 2025 Patrick Motsch
+# Copyright (c) 2026 PowerOn AG
# All rights reserved.
"""
Teamsbot Service — AI command execution logic.
diff --git a/modules/features/teamsbot/serviceConversation.py b/modules/features/teamsbot/serviceConversation.py
index bf844d89..43835aa6 100644
--- a/modules/features/teamsbot/serviceConversation.py
+++ b/modules/features/teamsbot/serviceConversation.py
@@ -1,4 +1,4 @@
-# Copyright (c) 2025 Patrick Motsch
+# Copyright (c) 2026 PowerOn AG
# All rights reserved.
"""
Teamsbot Service — Conversation & AI analysis logic.
diff --git a/modules/features/teamsbot/serviceWebSocket.py b/modules/features/teamsbot/serviceWebSocket.py
index 2c462624..bea744dc 100644
--- a/modules/features/teamsbot/serviceWebSocket.py
+++ b/modules/features/teamsbot/serviceWebSocket.py
@@ -1,4 +1,4 @@
-# Copyright (c) 2025 Patrick Motsch
+# Copyright (c) 2026 PowerOn AG
# All rights reserved.
"""
Teamsbot Service — WebSocket handler & audio chunk processing.
diff --git a/modules/features/trustee/accounting/__init__.py b/modules/features/trustee/accounting/__init__.py
index fdcc4f0e..06003961 100644
--- a/modules/features/trustee/accounting/__init__.py
+++ b/modules/features/trustee/accounting/__init__.py
@@ -1,2 +1,2 @@
-# Copyright (c) 2025 Patrick Motsch
+# Copyright (c) 2026 PowerOn AG
# All rights reserved.
diff --git a/modules/features/trustee/accounting/accountingBridge.py b/modules/features/trustee/accounting/accountingBridge.py
index 7fb26b3a..51433bbf 100644
--- a/modules/features/trustee/accounting/accountingBridge.py
+++ b/modules/features/trustee/accounting/accountingBridge.py
@@ -1,4 +1,4 @@
-# Copyright (c) 2025 Patrick Motsch
+# Copyright (c) 2026 PowerOn AG
# All rights reserved.
"""Accounting bridge: standardised interface between Trustee and external accounting systems.
diff --git a/modules/features/trustee/accounting/accountingConnectorBase.py b/modules/features/trustee/accounting/accountingConnectorBase.py
index 6a59509f..5a569b75 100644
--- a/modules/features/trustee/accounting/accountingConnectorBase.py
+++ b/modules/features/trustee/accounting/accountingConnectorBase.py
@@ -1,4 +1,4 @@
-# Copyright (c) 2025 Patrick Motsch
+# Copyright (c) 2026 PowerOn AG
# All rights reserved.
"""Abstract base class and standard data models for accounting system connectors."""
diff --git a/modules/features/trustee/accounting/accountingDataSync.py b/modules/features/trustee/accounting/accountingDataSync.py
index 8ee3b431..82996492 100644
--- a/modules/features/trustee/accounting/accountingDataSync.py
+++ b/modules/features/trustee/accounting/accountingDataSync.py
@@ -1,4 +1,4 @@
-# Copyright (c) 2025 Patrick Motsch
+# Copyright (c) 2026 PowerOn AG
# All rights reserved.
"""Orchestrates importing accounting data from external systems into TrusteeData* tables.
diff --git a/modules/features/trustee/accounting/accountingRegistry.py b/modules/features/trustee/accounting/accountingRegistry.py
index fe1b20d5..c17933da 100644
--- a/modules/features/trustee/accounting/accountingRegistry.py
+++ b/modules/features/trustee/accounting/accountingRegistry.py
@@ -1,4 +1,4 @@
-# Copyright (c) 2025 Patrick Motsch
+# Copyright (c) 2026 PowerOn AG
# All rights reserved.
"""Plugin-discovery registry for accounting connectors (analogous to aicoreModelRegistry)."""
diff --git a/modules/features/trustee/accounting/connectors/__init__.py b/modules/features/trustee/accounting/connectors/__init__.py
index fdcc4f0e..06003961 100644
--- a/modules/features/trustee/accounting/connectors/__init__.py
+++ b/modules/features/trustee/accounting/connectors/__init__.py
@@ -1,2 +1,2 @@
-# Copyright (c) 2025 Patrick Motsch
+# Copyright (c) 2026 PowerOn AG
# All rights reserved.
diff --git a/modules/features/trustee/accounting/connectors/accountingConnectorAbacus.py b/modules/features/trustee/accounting/connectors/accountingConnectorAbacus.py
index a1947b27..04427234 100644
--- a/modules/features/trustee/accounting/connectors/accountingConnectorAbacus.py
+++ b/modules/features/trustee/accounting/connectors/accountingConnectorAbacus.py
@@ -1,4 +1,4 @@
-# Copyright (c) 2025 Patrick Motsch
+# Copyright (c) 2026 PowerOn AG
# All rights reserved.
"""Abacus ERP accounting connector.
diff --git a/modules/features/trustee/accounting/connectors/accountingConnectorBexio.py b/modules/features/trustee/accounting/connectors/accountingConnectorBexio.py
index 28c2a334..4021d23e 100644
--- a/modules/features/trustee/accounting/connectors/accountingConnectorBexio.py
+++ b/modules/features/trustee/accounting/connectors/accountingConnectorBexio.py
@@ -1,4 +1,4 @@
-# Copyright (c) 2025 Patrick Motsch
+# Copyright (c) 2026 PowerOn AG
# All rights reserved.
"""Bexio accounting connector.
diff --git a/modules/features/trustee/accounting/connectors/accountingConnectorRma.py b/modules/features/trustee/accounting/connectors/accountingConnectorRma.py
index 98634127..034fb2d3 100644
--- a/modules/features/trustee/accounting/connectors/accountingConnectorRma.py
+++ b/modules/features/trustee/accounting/connectors/accountingConnectorRma.py
@@ -1,4 +1,4 @@
-# Copyright (c) 2025 Patrick Motsch
+# Copyright (c) 2026 PowerOn AG
# All rights reserved.
"""Run My Accounts (Infoniqa) accounting connector.
diff --git a/modules/features/trustee/datamodelFeatureTrustee.py b/modules/features/trustee/datamodelFeatureTrustee.py
index ad85105e..65d7a1b5 100644
--- a/modules/features/trustee/datamodelFeatureTrustee.py
+++ b/modules/features/trustee/datamodelFeatureTrustee.py
@@ -1,4 +1,4 @@
-# Copyright (c) 2025 Patrick Motsch
+# Copyright (c) 2026 PowerOn AG
# All rights reserved.
"""Trustee models: TrusteeOrganisation, TrusteeRole, TrusteeAccess, TrusteeContract, TrusteeDocument, TrusteePosition."""
diff --git a/modules/features/trustee/handlerTrusteeAccounting.py b/modules/features/trustee/handlerTrusteeAccounting.py
index 212d20e3..0e0103fa 100644
--- a/modules/features/trustee/handlerTrusteeAccounting.py
+++ b/modules/features/trustee/handlerTrusteeAccounting.py
@@ -1,4 +1,4 @@
-# Copyright (c) 2025 Patrick Motsch
+# Copyright (c) 2026 PowerOn AG
# All rights reserved.
"""
Business logic for Trustee accounting integration endpoints.
diff --git a/modules/features/trustee/interfaceFeatureTrustee.py b/modules/features/trustee/interfaceFeatureTrustee.py
index 4efaaaef..1e13f185 100644
--- a/modules/features/trustee/interfaceFeatureTrustee.py
+++ b/modules/features/trustee/interfaceFeatureTrustee.py
@@ -1,4 +1,4 @@
-# Copyright (c) 2025 Patrick Motsch
+# Copyright (c) 2026 PowerOn AG
# All rights reserved.
"""
Interface to Trustee database.
diff --git a/modules/features/trustee/mainTrustee.py b/modules/features/trustee/mainTrustee.py
index 4bcee319..33112a12 100644
--- a/modules/features/trustee/mainTrustee.py
+++ b/modules/features/trustee/mainTrustee.py
@@ -1,4 +1,4 @@
-# Copyright (c) 2025 Patrick Motsch
+# Copyright (c) 2026 PowerOn AG
# All rights reserved.
"""
Trustee Feature Container - Main Module.
diff --git a/modules/features/trustee/routeFeatureTrustee.py b/modules/features/trustee/routeFeatureTrustee.py
index 8b2452af..c06f8604 100644
--- a/modules/features/trustee/routeFeatureTrustee.py
+++ b/modules/features/trustee/routeFeatureTrustee.py
@@ -1,4 +1,4 @@
-# Copyright (c) 2025 Patrick Motsch
+# Copyright (c) 2026 PowerOn AG
# All rights reserved.
"""
Routes for Trustee feature data management.
diff --git a/modules/features/trustee/trusteeOntology.py b/modules/features/trustee/trusteeOntology.py
index c5b117d7..62260439 100644
--- a/modules/features/trustee/trusteeOntology.py
+++ b/modules/features/trustee/trusteeOntology.py
@@ -1,4 +1,4 @@
-# Copyright (c) 2026 Patrick Motsch
+# Copyright (c) 2026 PowerOn AG
# All rights reserved.
"""Trustee feature ontology (Phase 2 pilot).
diff --git a/modules/features/trustee/workflows/__init__.py b/modules/features/trustee/workflows/__init__.py
index 976edabd..7c0edb08 100644
--- a/modules/features/trustee/workflows/__init__.py
+++ b/modules/features/trustee/workflows/__init__.py
@@ -1,3 +1,3 @@
-# Copyright (c) 2025 Patrick Motsch
+# Copyright (c) 2026 PowerOn AG
# All rights reserved.
"""Trustee feature-owned workflow methods."""
diff --git a/modules/features/trustee/workflows/methodTrustee/__init__.py b/modules/features/trustee/workflows/methodTrustee/__init__.py
index fa7acc95..e3590d46 100644
--- a/modules/features/trustee/workflows/methodTrustee/__init__.py
+++ b/modules/features/trustee/workflows/methodTrustee/__init__.py
@@ -1,4 +1,4 @@
-# Copyright (c) 2025 Patrick Motsch
+# Copyright (c) 2026 PowerOn AG
# All rights reserved.
"""Trustee document and expense workflow method (extract, process, sync to accounting)."""
diff --git a/modules/features/trustee/workflows/methodTrustee/actions/extractFromFiles.py b/modules/features/trustee/workflows/methodTrustee/actions/extractFromFiles.py
index d28c8a3c..240809c1 100644
--- a/modules/features/trustee/workflows/methodTrustee/actions/extractFromFiles.py
+++ b/modules/features/trustee/workflows/methodTrustee/actions/extractFromFiles.py
@@ -1,4 +1,4 @@
-# Copyright (c) 2025 Patrick Motsch
+# Copyright (c) 2026 PowerOn AG
# All rights reserved.
"""
Extract document type and structured data from files (PDF, JPG).
diff --git a/modules/features/trustee/workflows/methodTrustee/actions/processDocuments.py b/modules/features/trustee/workflows/methodTrustee/actions/processDocuments.py
index ab738a14..2b07ad86 100644
--- a/modules/features/trustee/workflows/methodTrustee/actions/processDocuments.py
+++ b/modules/features/trustee/workflows/methodTrustee/actions/processDocuments.py
@@ -1,4 +1,4 @@
-# Copyright (c) 2025 Patrick Motsch
+# Copyright (c) 2026 PowerOn AG
# All rights reserved.
"""
Process extracted documents: create TrusteeDocument + TrusteePosition from extraction JSON.
diff --git a/modules/features/trustee/workflows/methodTrustee/actions/queryData.py b/modules/features/trustee/workflows/methodTrustee/actions/queryData.py
index b30c9390..82f77a0e 100644
--- a/modules/features/trustee/workflows/methodTrustee/actions/queryData.py
+++ b/modules/features/trustee/workflows/methodTrustee/actions/queryData.py
@@ -1,4 +1,4 @@
-# Copyright (c) 2026 Patrick Motsch
+# Copyright (c) 2026 PowerOn AG
# All rights reserved.
"""
Query data from the Trustee feature DB.
diff --git a/modules/features/trustee/workflows/methodTrustee/actions/refreshAccountingData.py b/modules/features/trustee/workflows/methodTrustee/actions/refreshAccountingData.py
index 817d229a..a3f8eed3 100644
--- a/modules/features/trustee/workflows/methodTrustee/actions/refreshAccountingData.py
+++ b/modules/features/trustee/workflows/methodTrustee/actions/refreshAccountingData.py
@@ -1,4 +1,4 @@
-# Copyright (c) 2025 Patrick Motsch
+# Copyright (c) 2026 PowerOn AG
# All rights reserved.
"""
Refresh accounting data from external system (e.g. Abacus) into local TrusteeData* tables.
diff --git a/modules/features/trustee/workflows/methodTrustee/actions/syncToAccounting.py b/modules/features/trustee/workflows/methodTrustee/actions/syncToAccounting.py
index 9529e699..1cd4c588 100644
--- a/modules/features/trustee/workflows/methodTrustee/actions/syncToAccounting.py
+++ b/modules/features/trustee/workflows/methodTrustee/actions/syncToAccounting.py
@@ -1,4 +1,4 @@
-# Copyright (c) 2025 Patrick Motsch
+# Copyright (c) 2026 PowerOn AG
# All rights reserved.
"""
Sync trustee positions to accounting (Buha).
diff --git a/modules/features/trustee/workflows/methodTrustee/methodTrustee.py b/modules/features/trustee/workflows/methodTrustee/methodTrustee.py
index 73e7d573..65df051a 100644
--- a/modules/features/trustee/workflows/methodTrustee/methodTrustee.py
+++ b/modules/features/trustee/workflows/methodTrustee/methodTrustee.py
@@ -1,4 +1,4 @@
-# Copyright (c) 2025 Patrick Motsch
+# Copyright (c) 2026 PowerOn AG
# All rights reserved.
"""
Trustee document workflow method: extract from files, process to positions, sync to accounting.
diff --git a/modules/features/workspace/__init__.py b/modules/features/workspace/__init__.py
index 2e48ea1c..bb9a0a2d 100644
--- a/modules/features/workspace/__init__.py
+++ b/modules/features/workspace/__init__.py
@@ -1,3 +1,3 @@
-# Copyright (c) 2025 Patrick Motsch
+# Copyright (c) 2026 PowerOn AG
# All rights reserved.
"""Unified AI Workspace feature."""
diff --git a/modules/features/workspace/datamodelFeatureWorkspace.py b/modules/features/workspace/datamodelFeatureWorkspace.py
index d0ba8815..1e467849 100644
--- a/modules/features/workspace/datamodelFeatureWorkspace.py
+++ b/modules/features/workspace/datamodelFeatureWorkspace.py
@@ -1,4 +1,4 @@
-# Copyright (c) 2025 Patrick Motsch
+# Copyright (c) 2026 PowerOn AG
# All rights reserved.
"""Workspace feature data models — WorkspaceUserSettings."""
diff --git a/modules/features/workspace/interfaceFeatureWorkspace.py b/modules/features/workspace/interfaceFeatureWorkspace.py
index e2d16521..09fca043 100644
--- a/modules/features/workspace/interfaceFeatureWorkspace.py
+++ b/modules/features/workspace/interfaceFeatureWorkspace.py
@@ -1,4 +1,4 @@
-# Copyright (c) 2025 Patrick Motsch
+# Copyright (c) 2026 PowerOn AG
# All rights reserved.
"""
Interface for Workspace feature — manages WorkspaceUserSettings.
diff --git a/modules/features/workspace/mainWorkspace.py b/modules/features/workspace/mainWorkspace.py
index 1a96a852..605ab9c3 100644
--- a/modules/features/workspace/mainWorkspace.py
+++ b/modules/features/workspace/mainWorkspace.py
@@ -1,4 +1,4 @@
-# Copyright (c) 2025 Patrick Motsch
+# Copyright (c) 2026 PowerOn AG
# All rights reserved.
"""
Workspace Feature Container - Main Module.
diff --git a/modules/features/workspace/routeFeatureWorkspace.py b/modules/features/workspace/routeFeatureWorkspace.py
index fedda841..66ed4966 100644
--- a/modules/features/workspace/routeFeatureWorkspace.py
+++ b/modules/features/workspace/routeFeatureWorkspace.py
@@ -1,4 +1,4 @@
-# Copyright (c) 2025 Patrick Motsch
+# Copyright (c) 2026 PowerOn AG
# All rights reserved.
"""Unified AI Workspace routes.
diff --git a/modules/interfaces/_legacyMigrationTelemetry.py b/modules/interfaces/_legacyMigrationTelemetry.py
index d80905b1..12fb1ae8 100644
--- a/modules/interfaces/_legacyMigrationTelemetry.py
+++ b/modules/interfaces/_legacyMigrationTelemetry.py
@@ -1,4 +1,4 @@
-# Copyright (c) 2025 Patrick Motsch
+# Copyright (c) 2026 PowerOn AG
# All rights reserved.
"""Lightweight Bootstrap-Telemetrie fuer entfernte Migrationsroutinen.
diff --git a/modules/interfaces/interfaceAiObjects.py b/modules/interfaces/interfaceAiObjects.py
index 13f5d8a7..c36e10b6 100644
--- a/modules/interfaces/interfaceAiObjects.py
+++ b/modules/interfaces/interfaceAiObjects.py
@@ -1,4 +1,4 @@
-# Copyright (c) 2025 Patrick Motsch
+# Copyright (c) 2026 PowerOn AG
# All rights reserved.
import logging
import asyncio
diff --git a/modules/interfaces/interfaceBootstrap.py b/modules/interfaces/interfaceBootstrap.py
index 19ff4e26..6a8522d7 100644
--- a/modules/interfaces/interfaceBootstrap.py
+++ b/modules/interfaces/interfaceBootstrap.py
@@ -1,4 +1,4 @@
-# Copyright (c) 2025 Patrick Motsch
+# Copyright (c) 2026 PowerOn AG
# All rights reserved.
"""
Centralized bootstrap interface for system initialization.
diff --git a/modules/interfaces/interfaceDbApp.py b/modules/interfaces/interfaceDbApp.py
index 13c7ead6..52cd5a59 100644
--- a/modules/interfaces/interfaceDbApp.py
+++ b/modules/interfaces/interfaceDbApp.py
@@ -1,4 +1,4 @@
-# Copyright (c) 2025 Patrick Motsch
+# Copyright (c) 2026 PowerOn AG
# All rights reserved.
"""
Interface to the Gateway system.
diff --git a/modules/interfaces/interfaceDbBilling.py b/modules/interfaces/interfaceDbBilling.py
index 84cc748e..94600a0c 100644
--- a/modules/interfaces/interfaceDbBilling.py
+++ b/modules/interfaces/interfaceDbBilling.py
@@ -1,4 +1,4 @@
-# Copyright (c) 2025 Patrick Motsch
+# Copyright (c) 2026 PowerOn AG
# All rights reserved.
"""
Interface for Billing operations.
diff --git a/modules/interfaces/interfaceDbChat.py b/modules/interfaces/interfaceDbChat.py
index 39d95440..71ccb774 100644
--- a/modules/interfaces/interfaceDbChat.py
+++ b/modules/interfaces/interfaceDbChat.py
@@ -1,4 +1,4 @@
-# Copyright (c) 2025 Patrick Motsch
+# Copyright (c) 2026 PowerOn AG
# All rights reserved.
"""
Interface to LucyDOM database and AI Connectors.
diff --git a/modules/interfaces/interfaceDbKnowledge.py b/modules/interfaces/interfaceDbKnowledge.py
index 20d66dc2..c52d999e 100644
--- a/modules/interfaces/interfaceDbKnowledge.py
+++ b/modules/interfaces/interfaceDbKnowledge.py
@@ -1,4 +1,4 @@
-# Copyright (c) 2025 Patrick Motsch
+# Copyright (c) 2026 PowerOn AG
# All rights reserved.
"""
Interface to the Knowledge Store database (poweron_knowledge).
diff --git a/modules/interfaces/interfaceDbManagement.py b/modules/interfaces/interfaceDbManagement.py
index b3acfcfc..93e2d1c3 100644
--- a/modules/interfaces/interfaceDbManagement.py
+++ b/modules/interfaces/interfaceDbManagement.py
@@ -1,4 +1,4 @@
-# Copyright (c) 2025 Patrick Motsch
+# Copyright (c) 2026 PowerOn AG
# All rights reserved.
"""
Interface to Management database and AI Connectors.
@@ -2275,4 +2275,4 @@ def buildResolverDbInterface(chatService):
appIf = getattr(chatService, "interfaceDbApp", None)
if appIf:
return _ResolverDbAdapter(appIf)
- return getattr(chatService, "interfaceDbComponent", None)
\ No newline at end of file
+ return getattr(chatService, "interfaceDbComponent", None)
diff --git a/modules/interfaces/interfaceDbSubscription.py b/modules/interfaces/interfaceDbSubscription.py
index b6cb26ff..04288d23 100644
--- a/modules/interfaces/interfaceDbSubscription.py
+++ b/modules/interfaces/interfaceDbSubscription.py
@@ -1,4 +1,4 @@
-# Copyright (c) 2025 Patrick Motsch
+# Copyright (c) 2026 PowerOn AG
# All rights reserved.
"""
Interface for Subscription operations — ID-based, deterministic.
diff --git a/modules/interfaces/interfaceFeatures.py b/modules/interfaces/interfaceFeatures.py
index c391deaa..885d5bcb 100644
--- a/modules/interfaces/interfaceFeatures.py
+++ b/modules/interfaces/interfaceFeatures.py
@@ -1,4 +1,4 @@
-# Copyright (c) 2025 Patrick Motsch
+# Copyright (c) 2026 PowerOn AG
# All rights reserved.
"""
Feature Instance Management Interface.
diff --git a/modules/interfaces/interfaceMessaging.py b/modules/interfaces/interfaceMessaging.py
index 6a0eb54c..298edf6c 100644
--- a/modules/interfaces/interfaceMessaging.py
+++ b/modules/interfaces/interfaceMessaging.py
@@ -1,4 +1,4 @@
-# Copyright (c) 2025 Patrick Motsch
+# Copyright (c) 2026 PowerOn AG
# All rights reserved.
"""
Interface for Messaging Services
diff --git a/modules/interfaces/interfaceRbac.py b/modules/interfaces/interfaceRbac.py
index 5c09942a..ebcf8c56 100644
--- a/modules/interfaces/interfaceRbac.py
+++ b/modules/interfaces/interfaceRbac.py
@@ -1,4 +1,4 @@
-# Copyright (c) 2025 Patrick Motsch
+# Copyright (c) 2026 PowerOn AG
# All rights reserved.
"""
RBAC helper functions for interfaces.
diff --git a/modules/interfaces/interfaceTableHelpers.py b/modules/interfaces/interfaceTableHelpers.py
index 81336fed..e7c188c5 100644
--- a/modules/interfaces/interfaceTableHelpers.py
+++ b/modules/interfaces/interfaceTableHelpers.py
@@ -1,4 +1,4 @@
-# Copyright (c) 2025 Patrick Motsch
+# Copyright (c) 2026 PowerOn AG
# All rights reserved.
"""
Table/list presentation helpers: view resolution, grouping, Strategy B.
diff --git a/modules/interfaces/interfaceTicketObjects.py b/modules/interfaces/interfaceTicketObjects.py
index 6525eae5..b2ef7bf9 100644
--- a/modules/interfaces/interfaceTicketObjects.py
+++ b/modules/interfaces/interfaceTicketObjects.py
@@ -1,4 +1,4 @@
-# Copyright (c) 2025 Patrick Motsch
+# Copyright (c) 2026 PowerOn AG
# 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 03729f86..636dbbf6 100644
--- a/modules/interfaces/interfaceVoiceObjects.py
+++ b/modules/interfaces/interfaceVoiceObjects.py
@@ -1,4 +1,4 @@
-# Copyright (c) 2025 Patrick Motsch
+# Copyright (c) 2026 PowerOn AG
# All rights reserved.
"""
Interface for Voice Services
diff --git a/modules/interfaces/interfaceWorkflowAutomation.py b/modules/interfaces/interfaceWorkflowAutomation.py
index 9859ff2d..84efe40a 100644
--- a/modules/interfaces/interfaceWorkflowAutomation.py
+++ b/modules/interfaces/interfaceWorkflowAutomation.py
@@ -1,4 +1,4 @@
-# Copyright (c) 2025 Patrick Motsch
+# Copyright (c) 2026 PowerOn AG
# All rights reserved.
"""
Interface for WorkflowAutomation system component - Workflows, Runs, Human Tasks.
diff --git a/modules/nodeCatalog/__init__.py b/modules/nodeCatalog/__init__.py
index cbe6a49e..6c09ea27 100644
--- a/modules/nodeCatalog/__init__.py
+++ b/modules/nodeCatalog/__init__.py
@@ -1,4 +1,5 @@
-# Copyright (c) 2025 Patrick Motsch
+# Copyright (c) 2026 PowerOn AG
+# All rights reserved.
"""
nodeCatalog (L2) — neutraler Node-Definitions-Container.
diff --git a/modules/nodeCatalog/_workflowFileSchema.py b/modules/nodeCatalog/_workflowFileSchema.py
index efb06aea..3d04318d 100644
--- a/modules/nodeCatalog/_workflowFileSchema.py
+++ b/modules/nodeCatalog/_workflowFileSchema.py
@@ -1,4 +1,4 @@
-# Copyright (c) 2026 Patrick Motsch
+# Copyright (c) 2026 PowerOn AG
# All rights reserved.
"""
Workflow File Schema (Versioned Envelope) for WorkflowAutomation.
diff --git a/modules/nodeCatalog/entryPoints.py b/modules/nodeCatalog/entryPoints.py
index b1a8ae03..3f11f184 100644
--- a/modules/nodeCatalog/entryPoints.py
+++ b/modules/nodeCatalog/entryPoints.py
@@ -1,4 +1,5 @@
-# Copyright (c) 2025 Patrick Motsch
+# Copyright (c) 2026 PowerOn AG
+# All rights reserved.
"""
Workflow entry points (Starts) — configuration outside the flow editor.
diff --git a/modules/nodeCatalog/nodeAdapter.py b/modules/nodeCatalog/nodeAdapter.py
index f0cd1469..ff974073 100644
--- a/modules/nodeCatalog/nodeAdapter.py
+++ b/modules/nodeCatalog/nodeAdapter.py
@@ -1,4 +1,4 @@
-# Copyright (c) 2025 Patrick Motsch
+# Copyright (c) 2026 PowerOn AG
# All rights reserved.
"""
Schicht-3 Adapter Layer — projects Schicht-2 Actions into Editor-Node form.
diff --git a/modules/nodeCatalog/nodeDefinitions/__init__.py b/modules/nodeCatalog/nodeDefinitions/__init__.py
index 31895a44..17fdd424 100644
--- a/modules/nodeCatalog/nodeDefinitions/__init__.py
+++ b/modules/nodeCatalog/nodeDefinitions/__init__.py
@@ -1,4 +1,5 @@
-# Copyright (c) 2025 Patrick Motsch
+# Copyright (c) 2026 PowerOn AG
+# All rights reserved.
# Node type definitions for automation2 flow builder.
from .triggers import TRIGGER_NODES
diff --git a/modules/nodeCatalog/nodeDefinitions/ai.py b/modules/nodeCatalog/nodeDefinitions/ai.py
index 8e0f081e..ab2f9893 100644
--- a/modules/nodeCatalog/nodeDefinitions/ai.py
+++ b/modules/nodeCatalog/nodeDefinitions/ai.py
@@ -1,4 +1,5 @@
-# Copyright (c) 2025 Patrick Motsch
+# Copyright (c) 2026 PowerOn AG
+# All rights reserved.
# AI node definitions - map to methodAi actions.
from modules.shared.i18nRegistry import t
diff --git a/modules/nodeCatalog/nodeDefinitions/clickup.py b/modules/nodeCatalog/nodeDefinitions/clickup.py
index 1e330d29..fde1cec1 100644
--- a/modules/nodeCatalog/nodeDefinitions/clickup.py
+++ b/modules/nodeCatalog/nodeDefinitions/clickup.py
@@ -1,4 +1,4 @@
-# Copyright (c) 2025 Patrick Motsch
+# Copyright (c) 2026 PowerOn AG
# All rights reserved.
"""ClickUp nodes — map to MethodClickup actions."""
diff --git a/modules/nodeCatalog/nodeDefinitions/context.py b/modules/nodeCatalog/nodeDefinitions/context.py
index dc05fa40..139fed83 100644
--- a/modules/nodeCatalog/nodeDefinitions/context.py
+++ b/modules/nodeCatalog/nodeDefinitions/context.py
@@ -1,4 +1,5 @@
-# Copyright (c) 2025 Patrick Motsch
+# Copyright (c) 2026 PowerOn AG
+# All rights reserved.
# Context node definitions — structural extraction without AI plus
# generic key/value, merge, filter and transform helpers.
diff --git a/modules/nodeCatalog/nodeDefinitions/contextPickerHelp.py b/modules/nodeCatalog/nodeDefinitions/contextPickerHelp.py
index 116164c1..740ecb35 100644
--- a/modules/nodeCatalog/nodeDefinitions/contextPickerHelp.py
+++ b/modules/nodeCatalog/nodeDefinitions/contextPickerHelp.py
@@ -1,4 +1,5 @@
-# Copyright (c) 2025 Patrick Motsch
+# Copyright (c) 2026 PowerOn AG
+# All rights reserved.
# Shared parameter copy for ``contextBuilder`` fields (upstream data pick).
from modules.shared.i18nRegistry import t
diff --git a/modules/nodeCatalog/nodeDefinitions/data.py b/modules/nodeCatalog/nodeDefinitions/data.py
index a12ddeb6..c6b5cdab 100644
--- a/modules/nodeCatalog/nodeDefinitions/data.py
+++ b/modules/nodeCatalog/nodeDefinitions/data.py
@@ -1,4 +1,5 @@
-# Copyright (c) 2025 Patrick Motsch
+# Copyright (c) 2026 PowerOn AG
+# All rights reserved.
# Data manipulation node definitions: aggregate, transform, filter.
from modules.shared.i18nRegistry import t
diff --git a/modules/nodeCatalog/nodeDefinitions/email.py b/modules/nodeCatalog/nodeDefinitions/email.py
index a0503452..c2dfc0e5 100644
--- a/modules/nodeCatalog/nodeDefinitions/email.py
+++ b/modules/nodeCatalog/nodeDefinitions/email.py
@@ -1,4 +1,5 @@
-# Copyright (c) 2025 Patrick Motsch
+# Copyright (c) 2026 PowerOn AG
+# All rights reserved.
# Email node definitions - map to methodOutlook actions.
from modules.shared.i18nRegistry import t
diff --git a/modules/nodeCatalog/nodeDefinitions/file.py b/modules/nodeCatalog/nodeDefinitions/file.py
index 70c13a07..8030d8cb 100644
--- a/modules/nodeCatalog/nodeDefinitions/file.py
+++ b/modules/nodeCatalog/nodeDefinitions/file.py
@@ -1,4 +1,5 @@
-# Copyright (c) 2025 Patrick Motsch
+# Copyright (c) 2026 PowerOn AG
+# All rights reserved.
# File node definitions - create files from context (e.g. from AI nodes).
from modules.shared.i18nRegistry import t
diff --git a/modules/nodeCatalog/nodeDefinitions/flow.py b/modules/nodeCatalog/nodeDefinitions/flow.py
index 94f517d9..b9451819 100644
--- a/modules/nodeCatalog/nodeDefinitions/flow.py
+++ b/modules/nodeCatalog/nodeDefinitions/flow.py
@@ -1,4 +1,5 @@
-# Copyright (c) 2025 Patrick Motsch
+# Copyright (c) 2026 PowerOn AG
+# All rights reserved.
# Flow control node definitions.
from modules.shared.i18nRegistry import t
diff --git a/modules/nodeCatalog/nodeDefinitions/input.py b/modules/nodeCatalog/nodeDefinitions/input.py
index 0f469880..b68fa74d 100644
--- a/modules/nodeCatalog/nodeDefinitions/input.py
+++ b/modules/nodeCatalog/nodeDefinitions/input.py
@@ -1,4 +1,5 @@
-# Copyright (c) 2025 Patrick Motsch
+# Copyright (c) 2026 PowerOn AG
+# All rights reserved.
# Input/Human node definitions - nodes that require user action.
from modules.shared.i18nRegistry import t
diff --git a/modules/nodeCatalog/nodeDefinitions/redmine.py b/modules/nodeCatalog/nodeDefinitions/redmine.py
index bf61cd26..730bcffa 100644
--- a/modules/nodeCatalog/nodeDefinitions/redmine.py
+++ b/modules/nodeCatalog/nodeDefinitions/redmine.py
@@ -1,4 +1,4 @@
-# Copyright (c) 2026 Patrick Motsch
+# Copyright (c) 2026 PowerOn AG
# All rights reserved.
"""Redmine node definitions - map to MethodRedmine actions."""
diff --git a/modules/nodeCatalog/nodeDefinitions/sharepoint.py b/modules/nodeCatalog/nodeDefinitions/sharepoint.py
index ae56f9a6..6e011e93 100644
--- a/modules/nodeCatalog/nodeDefinitions/sharepoint.py
+++ b/modules/nodeCatalog/nodeDefinitions/sharepoint.py
@@ -1,4 +1,5 @@
-# Copyright (c) 2025 Patrick Motsch
+# Copyright (c) 2026 PowerOn AG
+# All rights reserved.
# SharePoint node definitions - map to methodSharepoint actions.
from modules.shared.i18nRegistry import t
diff --git a/modules/nodeCatalog/nodeDefinitions/triggers.py b/modules/nodeCatalog/nodeDefinitions/triggers.py
index deeae7a0..3343b284 100644
--- a/modules/nodeCatalog/nodeDefinitions/triggers.py
+++ b/modules/nodeCatalog/nodeDefinitions/triggers.py
@@ -1,4 +1,5 @@
-# Copyright (c) 2025 Patrick Motsch
+# Copyright (c) 2026 PowerOn AG
+# All rights reserved.
# Start nodes (palette category ``start``); kinds align with workflow entry points / run envelope.
from modules.shared.i18nRegistry import t
diff --git a/modules/nodeCatalog/nodeDefinitions/trustee.py b/modules/nodeCatalog/nodeDefinitions/trustee.py
index b0521696..840b6ff5 100644
--- a/modules/nodeCatalog/nodeDefinitions/trustee.py
+++ b/modules/nodeCatalog/nodeDefinitions/trustee.py
@@ -1,4 +1,5 @@
-# Copyright (c) 2025 Patrick Motsch
+# Copyright (c) 2026 PowerOn AG
+# All rights reserved.
# Trustee node definitions - map to methodTrustee actions.
from modules.shared.i18nRegistry import t
diff --git a/modules/nodeCatalog/portTypes.py b/modules/nodeCatalog/portTypes.py
index aa8f4385..f3995099 100644
--- a/modules/nodeCatalog/portTypes.py
+++ b/modules/nodeCatalog/portTypes.py
@@ -1,4 +1,4 @@
-# Copyright (c) 2025 Patrick Motsch
+# Copyright (c) 2026 PowerOn AG
# All rights reserved.
"""
Typed Port System for the Graphical Editor.
diff --git a/modules/routes/routeAdmin.py b/modules/routes/routeAdmin.py
index 0f671f0a..5f9c2b02 100644
--- a/modules/routes/routeAdmin.py
+++ b/modules/routes/routeAdmin.py
@@ -1,4 +1,4 @@
-# Copyright (c) 2025 Patrick Motsch
+# Copyright (c) 2026 PowerOn AG
# All rights reserved.
from fastapi import APIRouter, Response, Depends, Request, Body
from fastapi.responses import FileResponse
diff --git a/modules/routes/routeAdminDatabaseHealth.py b/modules/routes/routeAdminDatabaseHealth.py
index f2f866d9..545c5b1b 100644
--- a/modules/routes/routeAdminDatabaseHealth.py
+++ b/modules/routes/routeAdminDatabaseHealth.py
@@ -1,4 +1,4 @@
-# Copyright (c) 2025 Patrick Motsch
+# Copyright (c) 2026 PowerOn AG
# All rights reserved.
"""
SysAdmin API for database table statistics, FK orphan detection/cleanup,
diff --git a/modules/routes/routeAdminFeatures.py b/modules/routes/routeAdminFeatures.py
index 350d8311..0a9626dc 100644
--- a/modules/routes/routeAdminFeatures.py
+++ b/modules/routes/routeAdminFeatures.py
@@ -1,4 +1,4 @@
-# Copyright (c) 2025 Patrick Motsch
+# Copyright (c) 2026 PowerOn AG
# All rights reserved.
"""
Feature management routes for the backend API.
diff --git a/modules/routes/routeAdminLogs.py b/modules/routes/routeAdminLogs.py
index 926c7370..e5a1357c 100644
--- a/modules/routes/routeAdminLogs.py
+++ b/modules/routes/routeAdminLogs.py
@@ -1,4 +1,4 @@
-# Copyright (c) 2025 Patrick Motsch
+# Copyright (c) 2026 PowerOn AG
# All rights reserved.
"""
Admin log viewer routes for the backend API.
diff --git a/modules/routes/routeAdminRbacRules.py b/modules/routes/routeAdminRbacRules.py
index 3b09d7eb..36577de7 100644
--- a/modules/routes/routeAdminRbacRules.py
+++ b/modules/routes/routeAdminRbacRules.py
@@ -1,4 +1,4 @@
-# Copyright (c) 2025 Patrick Motsch
+# Copyright (c) 2026 PowerOn AG
# All rights reserved.
"""
RBAC routes for the backend API.
diff --git a/modules/routes/routeAdminUserAccessOverview.py b/modules/routes/routeAdminUserAccessOverview.py
index 4906c093..ed66cb41 100644
--- a/modules/routes/routeAdminUserAccessOverview.py
+++ b/modules/routes/routeAdminUserAccessOverview.py
@@ -1,4 +1,4 @@
-# Copyright (c) 2025 Patrick Motsch
+# Copyright (c) 2026 PowerOn AG
# All rights reserved.
"""
Admin User Access Overview routes.
diff --git a/modules/routes/routeAttributes.py b/modules/routes/routeAttributes.py
index ae0cd6f4..eeec151e 100644
--- a/modules/routes/routeAttributes.py
+++ b/modules/routes/routeAttributes.py
@@ -1,4 +1,4 @@
-# Copyright (c) 2025 Patrick Motsch
+# Copyright (c) 2026 PowerOn AG
# All rights reserved.
from fastapi import APIRouter, HTTPException, Path, Response, Request
from fastapi import status
@@ -85,4 +85,4 @@ def options_entity_attributes(
entityType: str = Path(..., description="Type of entity (e.g. prompt)")
) -> Response:
"""Handle OPTIONS request for CORS preflight"""
- return Response(status_code=200)
\ No newline at end of file
+ return Response(status_code=200)
diff --git a/modules/routes/routeAudit.py b/modules/routes/routeAudit.py
index c9888339..9dfd074d 100644
--- a/modules/routes/routeAudit.py
+++ b/modules/routes/routeAudit.py
@@ -1,4 +1,4 @@
-# Copyright (c) 2025 Patrick Motsch
+# Copyright (c) 2026 PowerOn AG
# All rights reserved.
"""Compliance & Audit API endpoints.
diff --git a/modules/routes/routeBilling.py b/modules/routes/routeBilling.py
index 143af2e2..ca95f7da 100644
--- a/modules/routes/routeBilling.py
+++ b/modules/routes/routeBilling.py
@@ -1,4 +1,4 @@
-# Copyright (c) 2025 Patrick Motsch
+# Copyright (c) 2026 PowerOn AG
# All rights reserved.
"""
Billing routes for the backend API.
diff --git a/modules/routes/routeClickup.py b/modules/routes/routeClickup.py
index 41797d77..635f1352 100644
--- a/modules/routes/routeClickup.py
+++ b/modules/routes/routeClickup.py
@@ -1,4 +1,4 @@
-# Copyright (c) 2025 Patrick Motsch
+# Copyright (c) 2026 PowerOn AG
# All rights reserved.
"""ClickUp API routes — lists and tasks (connection-scoped). OAuth lives under /api/clickup/auth/* in routeSecurityClickup."""
diff --git a/modules/routes/routeDataConnections.py b/modules/routes/routeDataConnections.py
index 7a327d16..2d425d25 100644
--- a/modules/routes/routeDataConnections.py
+++ b/modules/routes/routeDataConnections.py
@@ -1,4 +1,4 @@
-# Copyright (c) 2025 Patrick Motsch
+# Copyright (c) 2026 PowerOn AG
# All rights reserved.
"""
Connection routes for the backend API.
@@ -906,4 +906,4 @@ def _stopKnowledgeJobs(
raise
except Exception as e:
logger.error("Error stopping knowledge jobs: %s", e, exc_info=True)
- raise HTTPException(status_code=500, detail=str(e))
\ No newline at end of file
+ raise HTTPException(status_code=500, detail=str(e))
diff --git a/modules/routes/routeDataFiles.py b/modules/routes/routeDataFiles.py
index a7a4e34b..63189e53 100644
--- a/modules/routes/routeDataFiles.py
+++ b/modules/routes/routeDataFiles.py
@@ -1,4 +1,4 @@
-# Copyright (c) 2025 Patrick Motsch
+# Copyright (c) 2026 PowerOn AG
# All rights reserved.
from fastapi import APIRouter, HTTPException, Depends, File, UploadFile, Form, Path, Request, status, Query, Response, Body, BackgroundTasks
from fastapi.responses import JSONResponse
@@ -774,7 +774,7 @@ def get_files(
allItems = enrichRowsWithFkLabels(
_filesToDicts(allFiles if isinstance(allFiles, list) else (allFiles.items if hasattr(allFiles, "items") else [])),
FileItem,
- db=managementInterface.db,
+ db=appInterface.db,
)
filtered = apply_strategy_b_filters_and_sort(allItems, paginationParams, currentUser)
groups_out = build_group_summary_groups(filtered, field, null_label, groupByLevels=groupByLevels)
@@ -786,7 +786,7 @@ def get_files(
allFiles = managementInterface.getAllFiles()
items = allFiles if isinstance(allFiles, list) else (allFiles.items if hasattr(allFiles, "items") else [])
itemDicts = _filesToDicts(items)
- enrichRowsWithFkLabels(itemDicts, FileItem)
+ enrichRowsWithFkLabels(itemDicts, FileItem, db=appInterface.db)
return handleFilterValuesInMemory(itemDicts, column, pagination)
if mode == "ids":
@@ -797,7 +797,7 @@ def get_files(
# No grouping: let DB handle pagination directly (fastest path)
result = managementInterface.getAllFiles(pagination=paginationParams)
if paginationParams and hasattr(result, 'items'):
- enriched = enrichRowsWithFkLabels(_filesToDicts(result.items), FileItem)
+ enriched = enrichRowsWithFkLabels(_filesToDicts(result.items), FileItem, db=appInterface.db)
resp: dict = {
"items": enriched,
"pagination": PaginationMetadata(
@@ -811,7 +811,7 @@ def get_files(
}
else:
items = result if isinstance(result, list) else (result.items if hasattr(result, "items") else [result])
- resp = {"items": enrichRowsWithFkLabels(_filesToDicts(items), FileItem), "pagination": None}
+ resp = {"items": enrichRowsWithFkLabels(_filesToDicts(items), FileItem, db=appInterface.db), "pagination": None}
if viewMeta:
resp["appliedView"] = viewMeta.model_dump()
return resp
@@ -821,7 +821,7 @@ def get_files(
allItems = enrichRowsWithFkLabels(
_filesToDicts(allFiles if isinstance(allFiles, list) else (allFiles.items if hasattr(allFiles, "items") else [])),
FileItem,
- db=managementInterface.db,
+ db=appInterface.db,
)
from modules.interfaces.interfaceTableHelpers import apply_strategy_b_filters_and_sort
@@ -1401,7 +1401,8 @@ def get_file(
)
fileDict = fileData.model_dump() if hasattr(fileData, "model_dump") else dict(fileData)
- enriched = enrichRowsWithFkLabels([fileDict], FileItem)
+ import modules.interfaces.interfaceDbApp as _appIface
+ enriched = enrichRowsWithFkLabels([fileDict], FileItem, db=_appIface.getInterface(currentUser).db)
return enriched[0]
except interfaceDbManagement.FileNotFoundError as e:
diff --git a/modules/routes/routeDataMandates.py b/modules/routes/routeDataMandates.py
index 668c16ed..1abf1dff 100644
--- a/modules/routes/routeDataMandates.py
+++ b/modules/routes/routeDataMandates.py
@@ -1,4 +1,4 @@
-# Copyright (c) 2025 Patrick Motsch
+# Copyright (c) 2026 PowerOn AG
# All rights reserved.
"""
Mandate routes for the backend API.
diff --git a/modules/routes/routeDataPrompts.py b/modules/routes/routeDataPrompts.py
index 4d46630c..bbb566e7 100644
--- a/modules/routes/routeDataPrompts.py
+++ b/modules/routes/routeDataPrompts.py
@@ -1,4 +1,4 @@
-# Copyright (c) 2025 Patrick Motsch
+# Copyright (c) 2026 PowerOn AG
# All rights reserved.
from fastapi import APIRouter, HTTPException, Depends, Body, Path, Request, Query
from typing import List, Dict, Any, Optional, Tuple
@@ -367,4 +367,4 @@ def delete_prompt(
detail=routeApiMsg("Error deleting the prompt")
)
- return {"message": f"Prompt with ID {promptId} successfully deleted"}
\ No newline at end of file
+ return {"message": f"Prompt with ID {promptId} successfully deleted"}
diff --git a/modules/routes/routeDataSources.py b/modules/routes/routeDataSources.py
index e1a6ee39..7dc3dcba 100644
--- a/modules/routes/routeDataSources.py
+++ b/modules/routes/routeDataSources.py
@@ -1,4 +1,4 @@
-# Copyright (c) 2025 Patrick Motsch
+# Copyright (c) 2026 PowerOn AG
# All rights reserved.
"""DataSource auxiliary endpoints: settings (ragLimits) and cost estimate.
diff --git a/modules/routes/routeDataUsers.py b/modules/routes/routeDataUsers.py
index e371b547..d0f805bd 100644
--- a/modules/routes/routeDataUsers.py
+++ b/modules/routes/routeDataUsers.py
@@ -1,4 +1,4 @@
-# Copyright (c) 2025 Patrick Motsch
+# Copyright (c) 2026 PowerOn AG
# All rights reserved.
"""
User routes for the backend API.
diff --git a/modules/routes/routeGdpr.py b/modules/routes/routeGdpr.py
index d07df8a8..7c697c38 100644
--- a/modules/routes/routeGdpr.py
+++ b/modules/routes/routeGdpr.py
@@ -1,4 +1,4 @@
-# Copyright (c) 2025 Patrick Motsch
+# Copyright (c) 2026 PowerOn AG
# All rights reserved.
"""
GDPR compliance routes for the backend API.
diff --git a/modules/routes/routeI18n.py b/modules/routes/routeI18n.py
index 8b1b46d5..fd42fe8d 100644
--- a/modules/routes/routeI18n.py
+++ b/modules/routes/routeI18n.py
@@ -1,4 +1,4 @@
-# Copyright (c) 2025 Patrick Motsch
+# Copyright (c) 2026 PowerOn AG
# All rights reserved.
"""
Public and authenticated routes for UI language sets (DB-backed i18n).
diff --git a/modules/routes/routeInvitations.py b/modules/routes/routeInvitations.py
index 25049227..e6325d2c 100644
--- a/modules/routes/routeInvitations.py
+++ b/modules/routes/routeInvitations.py
@@ -1,4 +1,4 @@
-# Copyright (c) 2025 Patrick Motsch
+# Copyright (c) 2026 PowerOn AG
# All rights reserved.
"""
Invitation routes for the backend API.
diff --git a/modules/routes/routeJobs.py b/modules/routes/routeJobs.py
index 9cd89d46..c98c7bd0 100644
--- a/modules/routes/routeJobs.py
+++ b/modules/routes/routeJobs.py
@@ -1,4 +1,4 @@
-# Copyright (c) 2025 Patrick Motsch
+# Copyright (c) 2026 PowerOn AG
# All rights reserved.
"""HTTP API for the generic background job service.
diff --git a/modules/routes/routeMfa.py b/modules/routes/routeMfa.py
index cb681fe0..0d3e4d59 100644
--- a/modules/routes/routeMfa.py
+++ b/modules/routes/routeMfa.py
@@ -1,4 +1,4 @@
-# Copyright (c) 2025 Patrick Motsch
+# Copyright (c) 2026 PowerOn AG
# All rights reserved.
"""
Routes for TOTP-based Multi-Factor Authentication.
diff --git a/modules/routes/routeNotifications.py b/modules/routes/routeNotifications.py
index c1cacb17..ef63fc1a 100644
--- a/modules/routes/routeNotifications.py
+++ b/modules/routes/routeNotifications.py
@@ -1,4 +1,4 @@
-# Copyright (c) 2025 Patrick Motsch
+# Copyright (c) 2026 PowerOn AG
# All rights reserved.
"""
Notification routes for in-app notifications.
diff --git a/modules/routes/routeRagInventory.py b/modules/routes/routeRagInventory.py
index 419ddec1..82348d9a 100644
--- a/modules/routes/routeRagInventory.py
+++ b/modules/routes/routeRagInventory.py
@@ -1,4 +1,4 @@
-# Copyright (c) 2025 Patrick Motsch
+# Copyright (c) 2026 PowerOn AG
# All rights reserved.
"""RAG Inventory API — global knowledge-store visibility for users, admins, platform."""
diff --git a/modules/routes/routeSecurityClickup.py b/modules/routes/routeSecurityClickup.py
index 935509bc..a61ed9d2 100644
--- a/modules/routes/routeSecurityClickup.py
+++ b/modules/routes/routeSecurityClickup.py
@@ -1,4 +1,4 @@
-# Copyright (c) 2025 Patrick Motsch
+# Copyright (c) 2026 PowerOn AG
# All rights reserved.
"""ClickUp OAuth for data connections (UserConnection + Token)."""
diff --git a/modules/routes/routeSecurityGoogle.py b/modules/routes/routeSecurityGoogle.py
index 2f1eabd2..a363f7bf 100644
--- a/modules/routes/routeSecurityGoogle.py
+++ b/modules/routes/routeSecurityGoogle.py
@@ -1,4 +1,4 @@
-# Copyright (c) 2025 Patrick Motsch
+# Copyright (c) 2026 PowerOn AG
# All rights reserved.
"""
Routes for Google authentication — split Auth app vs Data app.
diff --git a/modules/routes/routeSecurityInfomaniak.py b/modules/routes/routeSecurityInfomaniak.py
index 4026f4e9..14f2181a 100644
--- a/modules/routes/routeSecurityInfomaniak.py
+++ b/modules/routes/routeSecurityInfomaniak.py
@@ -1,4 +1,4 @@
-# Copyright (c) 2025 Patrick Motsch
+# Copyright (c) 2026 PowerOn AG
# All rights reserved.
"""Infomaniak Personal-Access-Token onboarding for data connections.
diff --git a/modules/routes/routeSecurityLocal.py b/modules/routes/routeSecurityLocal.py
index 6a25ce04..ee2f6390 100644
--- a/modules/routes/routeSecurityLocal.py
+++ b/modules/routes/routeSecurityLocal.py
@@ -1,4 +1,4 @@
-# Copyright (c) 2025 Patrick Motsch
+# Copyright (c) 2026 PowerOn AG
# All rights reserved.
"""
Routes for local security and authentication.
diff --git a/modules/routes/routeSecurityMsft.py b/modules/routes/routeSecurityMsft.py
index c26503ef..45d3deda 100644
--- a/modules/routes/routeSecurityMsft.py
+++ b/modules/routes/routeSecurityMsft.py
@@ -1,4 +1,4 @@
-# Copyright (c) 2025 Patrick Motsch
+# Copyright (c) 2026 PowerOn AG
# All rights reserved.
"""
Routes for Microsoft authentication — split Auth app vs Data app.
diff --git a/modules/routes/routeSharepoint.py b/modules/routes/routeSharepoint.py
index 328a1bba..5c8c91bc 100644
--- a/modules/routes/routeSharepoint.py
+++ b/modules/routes/routeSharepoint.py
@@ -1,4 +1,4 @@
-# Copyright (c) 2025 Patrick Motsch
+# Copyright (c) 2026 PowerOn AG
# All rights reserved.
"""
SharePoint routes for folder browsing
diff --git a/modules/routes/routeStore.py b/modules/routes/routeStore.py
index 7356f1aa..8ecb2013 100644
--- a/modules/routes/routeStore.py
+++ b/modules/routes/routeStore.py
@@ -1,4 +1,4 @@
-# Copyright (c) 2025 Patrick Motsch
+# Copyright (c) 2026 PowerOn AG
# All rights reserved.
"""
Feature Store routes.
diff --git a/modules/routes/routeSubscription.py b/modules/routes/routeSubscription.py
index 87d34836..709d70e5 100644
--- a/modules/routes/routeSubscription.py
+++ b/modules/routes/routeSubscription.py
@@ -1,4 +1,4 @@
-# Copyright (c) 2025 Patrick Motsch
+# Copyright (c) 2026 PowerOn AG
# All rights reserved.
"""
Subscription routes — ID-based, state-machine-driven.
diff --git a/modules/routes/routeSystem.py b/modules/routes/routeSystem.py
index 853c4b32..b47a3602 100644
--- a/modules/routes/routeSystem.py
+++ b/modules/routes/routeSystem.py
@@ -1,4 +1,4 @@
-# Copyright (c) 2025 Patrick Motsch
+# Copyright (c) 2026 PowerOn AG
# All rights reserved.
"""
System Routes - Navigation and system-level API endpoints.
diff --git a/modules/routes/routeTableViews.py b/modules/routes/routeTableViews.py
index 32a4cf7d..80b27fa5 100644
--- a/modules/routes/routeTableViews.py
+++ b/modules/routes/routeTableViews.py
@@ -1,4 +1,4 @@
-# Copyright (c) 2025 Patrick Motsch
+# Copyright (c) 2026 PowerOn AG
# All rights reserved.
"""
CRUD endpoints for saved table views (TableListView).
diff --git a/modules/routes/routeUdb.py b/modules/routes/routeUdb.py
index 73c7b55c..9a2a09d8 100644
--- a/modules/routes/routeUdb.py
+++ b/modules/routes/routeUdb.py
@@ -1,4 +1,4 @@
-# Copyright (c) 2026 Patrick Motsch
+# Copyright (c) 2026 PowerOn AG
# All rights reserved.
"""Generic UDB (Unified Data Bar) router.
diff --git a/modules/routes/routeVoiceGoogle.py b/modules/routes/routeVoiceGoogle.py
index 10185cc2..ada38504 100644
--- a/modules/routes/routeVoiceGoogle.py
+++ b/modules/routes/routeVoiceGoogle.py
@@ -1,4 +1,4 @@
-# Copyright (c) 2025 Patrick Motsch
+# Copyright (c) 2026 PowerOn AG
# All rights reserved.
"""
Google Cloud Voice Services Routes
diff --git a/modules/routes/routeVoiceUser.py b/modules/routes/routeVoiceUser.py
index ce14afe0..651a3baa 100644
--- a/modules/routes/routeVoiceUser.py
+++ b/modules/routes/routeVoiceUser.py
@@ -1,4 +1,4 @@
-# Copyright (c) 2025 Patrick Motsch
+# Copyright (c) 2026 PowerOn AG
# All rights reserved.
"""
User-scoped voice settings and TTS/STT catalog endpoints.
diff --git a/modules/routes/routeWorkflowAutomation.py b/modules/routes/routeWorkflowAutomation.py
index afd4aaa0..4fb7cca9 100644
--- a/modules/routes/routeWorkflowAutomation.py
+++ b/modules/routes/routeWorkflowAutomation.py
@@ -1,4 +1,4 @@
-# Copyright (c) 2025 Patrick Motsch
+# Copyright (c) 2026 PowerOn AG
# All rights reserved.
"""
Mandatsweite WorkflowAutomation API.
diff --git a/modules/security/__init__.py b/modules/security/__init__.py
index bdf934d9..481be3b2 100644
--- a/modules/security/__init__.py
+++ b/modules/security/__init__.py
@@ -1,4 +1,4 @@
-# Copyright (c) 2025 Patrick Motsch
+# Copyright (c) 2026 PowerOn AG
# All rights reserved.
"""
Security core modules for low-level security operations.
diff --git a/modules/security/passwordUtils.py b/modules/security/passwordUtils.py
index 6d6ce235..8b20f399 100644
--- a/modules/security/passwordUtils.py
+++ b/modules/security/passwordUtils.py
@@ -1,4 +1,4 @@
-# Copyright (c) 2025 Patrick Motsch
+# Copyright (c) 2026 PowerOn AG
# All rights reserved.
"""
Password utility functions for secure password handling.
diff --git a/modules/security/rbac.py b/modules/security/rbac.py
index 59f8f55f..f043febb 100644
--- a/modules/security/rbac.py
+++ b/modules/security/rbac.py
@@ -1,4 +1,4 @@
-# Copyright (c) 2025 Patrick Motsch
+# Copyright (c) 2026 PowerOn AG
# All rights reserved.
"""
RBAC interface: Core RBAC logic and permission resolution.
diff --git a/modules/security/rbacCatalog.py b/modules/security/rbacCatalog.py
index 9b1ca22f..a6ee5b33 100644
--- a/modules/security/rbacCatalog.py
+++ b/modules/security/rbacCatalog.py
@@ -1,4 +1,4 @@
-# Copyright (c) 2025 Patrick Motsch
+# Copyright (c) 2026 PowerOn AG
# All rights reserved.
"""
RBAC Catalog Service.
diff --git a/modules/security/rbacHelpers.py b/modules/security/rbacHelpers.py
index a191e5d8..7dfb30c9 100644
--- a/modules/security/rbacHelpers.py
+++ b/modules/security/rbacHelpers.py
@@ -1,4 +1,4 @@
-# Copyright (c) 2025 Patrick Motsch
+# Copyright (c) 2026 PowerOn AG
# All rights reserved.
"""
RBAC helper functions for resource access control.
diff --git a/modules/security/rootAccess.py b/modules/security/rootAccess.py
index 1735891d..d2ed8ae2 100644
--- a/modules/security/rootAccess.py
+++ b/modules/security/rootAccess.py
@@ -1,4 +1,4 @@
-# Copyright (c) 2025 Patrick Motsch
+# Copyright (c) 2026 PowerOn AG
# All rights reserved.
"""
Root access management for system-level operations.
diff --git a/modules/serviceCenter/__init__.py b/modules/serviceCenter/__init__.py
index 968b8acf..38ab047e 100644
--- a/modules/serviceCenter/__init__.py
+++ b/modules/serviceCenter/__init__.py
@@ -1,4 +1,4 @@
-# Copyright (c) 2025 Patrick Motsch
+# Copyright (c) 2026 PowerOn AG
# All rights reserved.
"""
Service Center.
diff --git a/modules/serviceCenter/context.py b/modules/serviceCenter/context.py
index 2738f8b3..5b58d810 100644
--- a/modules/serviceCenter/context.py
+++ b/modules/serviceCenter/context.py
@@ -1,4 +1,4 @@
-# Copyright (c) 2025 Patrick Motsch
+# Copyright (c) 2026 PowerOn AG
# All rights reserved.
"""
Service Center Context.
diff --git a/modules/serviceCenter/core/__init__.py b/modules/serviceCenter/core/__init__.py
index 752c63b8..226125ab 100644
--- a/modules/serviceCenter/core/__init__.py
+++ b/modules/serviceCenter/core/__init__.py
@@ -1,3 +1,3 @@
-# Copyright (c) 2025 Patrick Motsch
+# Copyright (c) 2026 PowerOn AG
# All rights reserved.
"""Core services - internal building blocks, not requested by features."""
diff --git a/modules/serviceCenter/core/flagResolution.py b/modules/serviceCenter/core/flagResolution.py
index 69edc3c2..b8ec3b43 100644
--- a/modules/serviceCenter/core/flagResolution.py
+++ b/modules/serviceCenter/core/flagResolution.py
@@ -1,4 +1,4 @@
-# Copyright (c) 2025 Patrick Motsch
+# Copyright (c) 2026 PowerOn AG
# All rights reserved.
"""Cascade-inherit semantics for DataSource flags (neutralize, ragIndexEnabled).
diff --git a/modules/serviceCenter/core/serviceSecurity/__init__.py b/modules/serviceCenter/core/serviceSecurity/__init__.py
index 78f84b42..55039e2e 100644
--- a/modules/serviceCenter/core/serviceSecurity/__init__.py
+++ b/modules/serviceCenter/core/serviceSecurity/__init__.py
@@ -1,4 +1,4 @@
-# Copyright (c) 2025 Patrick Motsch
+# Copyright (c) 2026 PowerOn AG
# All rights reserved.
"""Security core service."""
diff --git a/modules/serviceCenter/core/serviceSecurity/mainServiceSecurity.py b/modules/serviceCenter/core/serviceSecurity/mainServiceSecurity.py
index b5a9a84b..0904121d 100644
--- a/modules/serviceCenter/core/serviceSecurity/mainServiceSecurity.py
+++ b/modules/serviceCenter/core/serviceSecurity/mainServiceSecurity.py
@@ -1,4 +1,4 @@
-# Copyright (c) 2025 Patrick Motsch
+# Copyright (c) 2026 PowerOn AG
# All rights reserved.
"""
Security service for token management operations.
diff --git a/modules/serviceCenter/core/serviceStreaming/__init__.py b/modules/serviceCenter/core/serviceStreaming/__init__.py
index 18a34f4e..ee1aa88c 100644
--- a/modules/serviceCenter/core/serviceStreaming/__init__.py
+++ b/modules/serviceCenter/core/serviceStreaming/__init__.py
@@ -1,4 +1,4 @@
-# Copyright (c) 2025 Patrick Motsch
+# Copyright (c) 2026 PowerOn AG
# All rights reserved.
"""Streaming core service for SSE event management."""
diff --git a/modules/serviceCenter/core/serviceStreaming/mainServiceStreaming.py b/modules/serviceCenter/core/serviceStreaming/mainServiceStreaming.py
index 76369553..98939b0f 100644
--- a/modules/serviceCenter/core/serviceStreaming/mainServiceStreaming.py
+++ b/modules/serviceCenter/core/serviceStreaming/mainServiceStreaming.py
@@ -1,4 +1,4 @@
-# Copyright (c) 2025 Patrick Motsch
+# Copyright (c) 2026 PowerOn AG
# All rights reserved.
"""
Streaming service for SSE event management.
diff --git a/modules/serviceCenter/core/serviceUtils/__init__.py b/modules/serviceCenter/core/serviceUtils/__init__.py
index b3661f8d..f796aa66 100644
--- a/modules/serviceCenter/core/serviceUtils/__init__.py
+++ b/modules/serviceCenter/core/serviceUtils/__init__.py
@@ -1,4 +1,4 @@
-# Copyright (c) 2025 Patrick Motsch
+# Copyright (c) 2026 PowerOn AG
# All rights reserved.
"""Utils core service."""
diff --git a/modules/serviceCenter/core/serviceUtils/mainServiceUtils.py b/modules/serviceCenter/core/serviceUtils/mainServiceUtils.py
index 856514bf..f6dbcbba 100644
--- a/modules/serviceCenter/core/serviceUtils/mainServiceUtils.py
+++ b/modules/serviceCenter/core/serviceUtils/mainServiceUtils.py
@@ -1,4 +1,4 @@
-# Copyright (c) 2025 Patrick Motsch
+# Copyright (c) 2026 PowerOn AG
# All rights reserved.
"""
Utility service for common operations across the gateway.
diff --git a/modules/serviceCenter/core/types.py b/modules/serviceCenter/core/types.py
index 19c15081..f5b5d090 100644
--- a/modules/serviceCenter/core/types.py
+++ b/modules/serviceCenter/core/types.py
@@ -1,4 +1,4 @@
-# Copyright (c) 2025 Patrick Motsch
+# Copyright (c) 2026 PowerOn AG
# All rights reserved.
"""Neutral protocol types used across serviceCenter services.
diff --git a/modules/serviceCenter/registry.py b/modules/serviceCenter/registry.py
index 64003d29..0bdd2205 100644
--- a/modules/serviceCenter/registry.py
+++ b/modules/serviceCenter/registry.py
@@ -1,4 +1,4 @@
-# Copyright (c) 2025 Patrick Motsch
+# Copyright (c) 2026 PowerOn AG
# All rights reserved.
"""
Service Center Registry.
diff --git a/modules/serviceCenter/resolver.py b/modules/serviceCenter/resolver.py
index 729adb69..e92359b4 100644
--- a/modules/serviceCenter/resolver.py
+++ b/modules/serviceCenter/resolver.py
@@ -1,4 +1,4 @@
-# Copyright (c) 2025 Patrick Motsch
+# Copyright (c) 2026 PowerOn AG
# All rights reserved.
"""
Service Center Resolver.
diff --git a/modules/serviceCenter/services/__init__.py b/modules/serviceCenter/services/__init__.py
index 3f161a0f..2b05ef33 100644
--- a/modules/serviceCenter/services/__init__.py
+++ b/modules/serviceCenter/services/__init__.py
@@ -1,3 +1,3 @@
-# Copyright (c) 2025 Patrick Motsch
+# Copyright (c) 2026 PowerOn AG
# All rights reserved.
"""Importable services - feature-facing, RBAC-protected."""
diff --git a/modules/serviceCenter/services/serviceAgent/__init__.py b/modules/serviceCenter/services/serviceAgent/__init__.py
index 8878ece1..eaf9ab4a 100644
--- a/modules/serviceCenter/services/serviceAgent/__init__.py
+++ b/modules/serviceCenter/services/serviceAgent/__init__.py
@@ -1,4 +1,4 @@
-# Copyright (c) 2025 Patrick Motsch
+# Copyright (c) 2026 PowerOn AG
# All rights reserved.
"""serviceAgent: AI Agent with ReAct loop and native function calling."""
diff --git a/modules/serviceCenter/services/serviceAgent/actionToolAdapter.py b/modules/serviceCenter/services/serviceAgent/actionToolAdapter.py
index 4cfbb8c4..39e10d88 100644
--- a/modules/serviceCenter/services/serviceAgent/actionToolAdapter.py
+++ b/modules/serviceCenter/services/serviceAgent/actionToolAdapter.py
@@ -1,4 +1,4 @@
-# Copyright (c) 2025 Patrick Motsch
+# Copyright (c) 2026 PowerOn AG
# All rights reserved.
"""ActionToolAdapter: wraps existing workflow actions (dynamicMode=True) as agent tools."""
diff --git a/modules/serviceCenter/services/serviceAgent/agentLoop.py b/modules/serviceCenter/services/serviceAgent/agentLoop.py
index 99f4dbd7..f2ca07ed 100644
--- a/modules/serviceCenter/services/serviceAgent/agentLoop.py
+++ b/modules/serviceCenter/services/serviceAgent/agentLoop.py
@@ -1,4 +1,4 @@
-# Copyright (c) 2025 Patrick Motsch
+# Copyright (c) 2026 PowerOn AG
# All rights reserved.
"""Agent loop: ReAct pattern with native function calling, budget control, and error handling."""
diff --git a/modules/serviceCenter/services/serviceAgent/conversationManager.py b/modules/serviceCenter/services/serviceAgent/conversationManager.py
index 055eae25..c8dfcc36 100644
--- a/modules/serviceCenter/services/serviceAgent/conversationManager.py
+++ b/modules/serviceCenter/services/serviceAgent/conversationManager.py
@@ -1,4 +1,4 @@
-# Copyright (c) 2025 Patrick Motsch
+# Copyright (c) 2026 PowerOn AG
# All rights reserved.
"""Conversation manager for the Agent service.
Handles message history, context window management, and progressive summarization."""
diff --git a/modules/serviceCenter/services/serviceAgent/coreTools/__init__.py b/modules/serviceCenter/services/serviceAgent/coreTools/__init__.py
index e476ac39..c984f59a 100644
--- a/modules/serviceCenter/services/serviceAgent/coreTools/__init__.py
+++ b/modules/serviceCenter/services/serviceAgent/coreTools/__init__.py
@@ -1,4 +1,4 @@
-# Copyright (c) 2025 Patrick Motsch
+# Copyright (c) 2026 PowerOn AG
# All rights reserved.
"""Core agent tools: registration of built-in ToolRegistry handlers."""
diff --git a/modules/serviceCenter/services/serviceAgent/coreTools/_connectionTools.py b/modules/serviceCenter/services/serviceAgent/coreTools/_connectionTools.py
index 0a9e678b..194783ca 100644
--- a/modules/serviceCenter/services/serviceAgent/coreTools/_connectionTools.py
+++ b/modules/serviceCenter/services/serviceAgent/coreTools/_connectionTools.py
@@ -1,4 +1,4 @@
-# Copyright (c) 2025 Patrick Motsch
+# Copyright (c) 2026 PowerOn AG
# All rights reserved.
"""External connection tools (list connections, upload, send mail)."""
diff --git a/modules/serviceCenter/services/serviceAgent/coreTools/_crossWorkflowTools.py b/modules/serviceCenter/services/serviceAgent/coreTools/_crossWorkflowTools.py
index 2675257c..eea4d084 100644
--- a/modules/serviceCenter/services/serviceAgent/coreTools/_crossWorkflowTools.py
+++ b/modules/serviceCenter/services/serviceAgent/coreTools/_crossWorkflowTools.py
@@ -1,4 +1,4 @@
-# Copyright (c) 2025 Patrick Motsch
+# Copyright (c) 2026 PowerOn AG
# All rights reserved.
"""Cross-workflow tools and core-only tool-set tagging."""
diff --git a/modules/serviceCenter/services/serviceAgent/coreTools/_dataSourceTools.py b/modules/serviceCenter/services/serviceAgent/coreTools/_dataSourceTools.py
index f1e49368..59dfa1d9 100644
--- a/modules/serviceCenter/services/serviceAgent/coreTools/_dataSourceTools.py
+++ b/modules/serviceCenter/services/serviceAgent/coreTools/_dataSourceTools.py
@@ -1,4 +1,4 @@
-# Copyright (c) 2025 Patrick Motsch
+# Copyright (c) 2026 PowerOn AG
# All rights reserved.
"""DataSource convenience tools (browse, search, download from external sources)."""
@@ -109,18 +109,15 @@ def registerDataSourceTools(registry: ToolRegistry, services):
"""Auto-extracted from registerCoreTools."""
def _buildResolverDb():
- """Build a DB adapter that ConnectorResolver can use to load UserConnections.
- interfaceDbApp has getUserConnectionById; ConnectorResolver expects getUserConnection."""
+ """Build a DB adapter that ConnectorResolver can use to load UserConnections."""
chatService = services.chat
- appIf = getattr(chatService, "interfaceDbApp", None)
- if appIf and hasattr(appIf, "getUserConnectionById"):
- class _Adapter:
- def __init__(self, app):
- self._app = app
- def getUserConnection(self, connectionId: str):
- return self._app.getUserConnectionById(connectionId)
- return _Adapter(appIf)
- return getattr(chatService, "interfaceDbComponent", None)
+
+ class _Adapter:
+ def __init__(self, svc):
+ self._svc = svc
+ def getUserConnection(self, connectionId: str):
+ return self._svc.getUserConnectionById(connectionId)
+ return _Adapter(chatService)
# ---- DataSource convenience tools ----
# Maps the FE-side `sourceType` literal (see SourcesTab.tsx
@@ -152,10 +149,7 @@ def registerDataSourceTools(registry: ToolRegistry, services):
path = ds.get("path", "/")
label = ds.get("label", "")
from modules.serviceCenter.core.flagResolution import getEffectiveFlag
- from modules.datamodels.datamodelDataSource import DataSource
- from modules.interfaces.interfaceDbApp import getRootInterface
- rootIf = getRootInterface()
- allConnDs = rootIf.db.getRecordset(DataSource, recordFilter={"connectionId": connectionId})
+ allConnDs = chatService.getDataSourcesByConnection(connectionId) if connectionId else [ds]
neutralize = bool(getEffectiveFlag(ds, "neutralize", allConnDs or [ds], mode="walk"))
service = _SOURCE_TYPE_TO_SERVICE.get(sourceType, sourceType)
if not connectionId:
diff --git a/modules/serviceCenter/services/serviceAgent/coreTools/_documentTools.py b/modules/serviceCenter/services/serviceAgent/coreTools/_documentTools.py
index a79f5995..baaab91c 100644
--- a/modules/serviceCenter/services/serviceAgent/coreTools/_documentTools.py
+++ b/modules/serviceCenter/services/serviceAgent/coreTools/_documentTools.py
@@ -1,4 +1,4 @@
-# Copyright (c) 2025 Patrick Motsch
+# Copyright (c) 2026 PowerOn AG
# All rights reserved.
"""Document and vision tools (containers, content objects, image description)."""
@@ -455,14 +455,11 @@ def registerDocumentTools(registry: ToolRegistry, services):
_opType = OTE.IMAGE_ANALYSE
try:
- from modules.datamodels.datamodelFiles import FileItem
- from modules.interfaces.interfaceDbManagement import ComponentObjects
- _fRow = ComponentObjects().db._loadRecord(FileItem, fileId)
- if _fRow:
- _fGet = (lambda k, d=None: _fRow.get(k, d)) if isinstance(_fRow, dict) else (lambda k, d=None: getattr(_fRow, k, d))
- if bool(_fGet("neutralize", False)):
- _opType = OTE.NEUTRALIZATION_IMAGE
- logger.info(f"describeImage: file {fileId} has neutralize=True, using NEUTRALIZATION_IMAGE (internal models only)")
+ _chatSvc = services.chat
+ _fInfo = _chatSvc.getFileInfo(fileId) if hasattr(_chatSvc, "getFileInfo") else None
+ if _fInfo and _fInfo.get("neutralize", False):
+ _opType = OTE.NEUTRALIZATION_IMAGE
+ logger.info(f"describeImage: file {fileId} has neutralize=True, using NEUTRALIZATION_IMAGE (internal models only)")
except Exception as e:
logger.warning(f"describeImage: neutralize flag check failed for {fileId}: {e}")
diff --git a/modules/serviceCenter/services/serviceAgent/coreTools/_emailTools.py b/modules/serviceCenter/services/serviceAgent/coreTools/_emailTools.py
index d36a2727..a896c56c 100644
--- a/modules/serviceCenter/services/serviceAgent/coreTools/_emailTools.py
+++ b/modules/serviceCenter/services/serviceAgent/coreTools/_emailTools.py
@@ -1,4 +1,4 @@
-# Copyright (c) 2026 Patrick Motsch
+# Copyright (c) 2026 PowerOn AG
# All rights reserved.
"""Email management agent tools (reply, forward, move, delete, flag, folder ops).
diff --git a/modules/serviceCenter/services/serviceAgent/coreTools/_featureSubAgentTools.py b/modules/serviceCenter/services/serviceAgent/coreTools/_featureSubAgentTools.py
index f522a62a..b3d42944 100644
--- a/modules/serviceCenter/services/serviceAgent/coreTools/_featureSubAgentTools.py
+++ b/modules/serviceCenter/services/serviceAgent/coreTools/_featureSubAgentTools.py
@@ -1,4 +1,4 @@
-# Copyright (c) 2025 Patrick Motsch
+# Copyright (c) 2026 PowerOn AG
# All rights reserved.
"""Feature Data Sub-Agent tool (queryFeatureInstance)."""
@@ -76,11 +76,10 @@ def registerFeatureSubAgentTools(registry: ToolRegistry, services):
)
try:
from modules.serviceCenter.services.serviceAgent.featureDataAgent import runFeatureDataAgent
- from modules.datamodels.datamodelFeatures import FeatureDataSource
- from modules.interfaces.interfaceDbApp import getRootInterface
+ from modules.serviceCenter.core.flagResolution import getEffectiveFlagFds
- rootIf = getRootInterface()
- instance = rootIf.getFeatureInstance(featureInstanceId)
+ chatService = services.chat
+ instance = chatService.getFeatureInstance(featureInstanceId)
if not instance:
return ToolResult(
toolCallId="", toolName="queryFeatureInstance",
@@ -92,24 +91,11 @@ def registerFeatureSubAgentTools(registry: ToolRegistry, services):
instanceLabel = instance.label or ""
userId = context.get("userId", "")
requestLang = None
- if userId:
- langUser = rootIf.getUser(userId)
- if langUser:
- requestLang = getattr(langUser, "language", None)
+ if userId and hasattr(chatService, "user") and chatService.user:
+ requestLang = getattr(chatService.user, "language", None)
- rootDbConn = rootIf.db if hasattr(rootIf, "db") else None
- if rootDbConn is None:
- return ToolResult(
- toolCallId="", toolName="queryFeatureInstance",
- success=False, error="No database connector available",
- )
+ featureDataSources = chatService.getFeatureDataSources(featureInstanceId)
- featureDataSources = rootDbConn.getRecordset(
- FeatureDataSource,
- recordFilter={"featureInstanceId": featureInstanceId},
- )
-
- from modules.serviceCenter.core.flagResolution import getEffectiveFlagFds
_fdsAll = featureDataSources or []
_anySourceNeutralize = any(
getEffectiveFlagFds(ds, "neutralize", _fdsAll, mode="walk") is True
diff --git a/modules/serviceCenter/services/serviceAgent/coreTools/_helpers.py b/modules/serviceCenter/services/serviceAgent/coreTools/_helpers.py
index 4e69d849..4546445d 100644
--- a/modules/serviceCenter/services/serviceAgent/coreTools/_helpers.py
+++ b/modules/serviceCenter/services/serviceAgent/coreTools/_helpers.py
@@ -1,4 +1,4 @@
-# Copyright (c) 2025 Patrick Motsch
+# Copyright (c) 2026 PowerOn AG
# All rights reserved.
"""Shared helpers for core agent tools (file scope, binary detection, group helpers)."""
@@ -13,8 +13,8 @@ _MAX_TOOL_RESULT_CHARS = 50_000
_BINARY_SIGNATURES = (b"%PDF", b"\x89PNG", b"\xff\xd8\xff", b"GIF8", b"PK\x03\x04", b"Rar!", b"\x1f\x8b")
-def _resolveFileScope(fileId: str, context: dict) -> tuple:
- """Resolve featureInstanceId and mandateId for a file from context or management DB.
+def _resolveFileScope(fileId: str, context: dict, chatService=None) -> tuple:
+ """Resolve featureInstanceId and mandateId for a file from context or chat service.
Returns (featureInstanceId, mandateId) — never None, always strings.
"""
@@ -23,13 +23,11 @@ def _resolveFileScope(fileId: str, context: dict) -> tuple:
if fiId and mId:
return fiId, mId
try:
- from modules.datamodels.datamodelFiles import FileItem
- from modules.interfaces.interfaceDbManagement import ComponentObjects
- fm = ComponentObjects().db._loadRecord(FileItem, fileId)
- if fm:
- _get = (lambda k: fm.get(k, "")) if isinstance(fm, dict) else (lambda k: getattr(fm, k, ""))
- fiId = fiId or str(_get("featureInstanceId") or "")
- mId = mId or str(_get("mandateId") or "")
+ if chatService:
+ fileInfo = chatService.getFileInfo(fileId)
+ if fileInfo:
+ fiId = fiId or str(fileInfo.get("featureInstanceId") or "")
+ mId = mId or str(fileInfo.get("mandateId") or "")
except Exception as e:
logger.warning(f"_resolveFileScope failed for fileId={fileId}: {e}")
return fiId, mId
@@ -57,7 +55,7 @@ def _getOrCreateTempFolder(chatService) -> Optional[str]:
return str(folderId) if folderId else None
newFolder = chatService.createFolder("Temp")
folderId = newFolder.get("id") if isinstance(newFolder, dict) else getattr(newFolder, "id", None)
- userId = getattr(getattr(chatService, "interfaceDbComponent", None), "userId", None)
+ userId = getattr(chatService.user, "id", None) if hasattr(chatService, "user") else None
logger.info("_getOrCreateTempFolder: created Temp folder %s for user %s", folderId, userId)
return str(folderId) if folderId else None
except Exception as e:
@@ -218,19 +216,16 @@ def _formatToolFileResult(
def _buildResolverDbFromServices(services: Any):
"""DB adapter for ConnectorResolver: load UserConnections by id.
- interfaceDbApp exposes getUserConnectionById; ConnectorResolver expects getUserConnection.
+ Wraps chatService.getUserConnectionById into the interface ConnectorResolver expects.
"""
chatService = services.chat
- appIf = getattr(chatService, "interfaceDbApp", None)
- if appIf and hasattr(appIf, "getUserConnectionById"):
- class _Adapter:
- def __init__(self, app):
- self._app = app
+ class _Adapter:
+ def __init__(self, svc):
+ self._svc = svc
- def getUserConnection(self, connectionId: str):
- return self._app.getUserConnectionById(connectionId)
+ def getUserConnection(self, connectionId: str):
+ return self._svc.getUserConnectionById(connectionId)
- return _Adapter(appIf)
- return getattr(chatService, "interfaceDbComponent", None)
+ return _Adapter(chatService)
diff --git a/modules/serviceCenter/services/serviceAgent/coreTools/_mediaTools.py b/modules/serviceCenter/services/serviceAgent/coreTools/_mediaTools.py
index e3978b72..57f74513 100644
--- a/modules/serviceCenter/services/serviceAgent/coreTools/_mediaTools.py
+++ b/modules/serviceCenter/services/serviceAgent/coreTools/_mediaTools.py
@@ -1,4 +1,4 @@
-# Copyright (c) 2025 Patrick Motsch
+# Copyright (c) 2026 PowerOn AG
# All rights reserved.
"""Media and utility tools (render, TTS, STT, image gen, charts, neutralize, code exec)."""
@@ -382,26 +382,14 @@ def registerMediaTools(registry: ToolRegistry, services):
if not voiceName:
try:
- from modules.datamodels.datamodelUam import UserVoicePreferences
- from modules.interfaces.interfaceDbApp import getRootInterface
userId = context.get("userId", "")
if userId:
- rootIf = getRootInterface()
- prefRecords = rootIf.db.getRecordset(
- UserVoicePreferences,
- recordFilter={"userId": userId}
- )
- if prefRecords:
- allPrefs = [
- r if isinstance(r, dict) else r.model_dump() if hasattr(r, "model_dump") else r
- for r in prefRecords
- ]
- _mid = str(mandateId or "").strip()
- scopedPref = next((p for p in allPrefs if str(p.get("mandateId") or "").strip() == _mid), None)
- globalPref = next((p for p in allPrefs if not str(p.get("mandateId") or "").strip()), None)
-
- def _resolveVoiceFromMap(prefDict, lang):
- vm = (prefDict or {}).get("ttsVoiceMap", {}) or {}
+ chatService = services.chat
+ mandateIdVal = str(mandateId or "").strip()
+ prefDict = chatService.getUserVoicePreferences(userId, mandateIdVal) if hasattr(chatService, "getUserVoicePreferences") else None
+ if prefDict:
+ def _resolveVoiceFromMap(prefRec, lang):
+ vm = (prefRec or {}).get("ttsVoiceMap", {}) or {}
if not isinstance(vm, dict) or not vm:
return None
baseLang = lang.split("-")[0].lower() if isinstance(lang, str) and lang else ""
@@ -419,16 +407,10 @@ def registerMediaTools(registry: ToolRegistry, services):
return mv.get("voiceName") if isinstance(mv, dict) else mv
return None
- voiceName = (
- _resolveVoiceFromMap(scopedPref, language)
- or _resolveVoiceFromMap(globalPref, language)
- or _resolveVoiceFromMap(allPrefs[0], language)
- )
+ voiceName = _resolveVoiceFromMap(prefDict, language)
if not voiceName:
- for candidate in [globalPref, scopedPref, allPrefs[0]]:
- if candidate and candidate.get("ttsVoice") and candidate.get("ttsLanguage") == language:
- voiceName = candidate["ttsVoice"]
- break
+ if prefDict.get("ttsVoice") and prefDict.get("ttsLanguage") == language:
+ voiceName = prefDict["ttsVoice"]
if voiceName:
logger.info(f"textToSpeech: using configured voice '{voiceName}' for language '{language}'")
except Exception as prefErr:
diff --git a/modules/serviceCenter/services/serviceAgent/coreTools/_workspaceTools.py b/modules/serviceCenter/services/serviceAgent/coreTools/_workspaceTools.py
index a1d56e24..4fc47e60 100644
--- a/modules/serviceCenter/services/serviceAgent/coreTools/_workspaceTools.py
+++ b/modules/serviceCenter/services/serviceAgent/coreTools/_workspaceTools.py
@@ -1,4 +1,4 @@
-# Copyright (c) 2025 Patrick Motsch
+# Copyright (c) 2026 PowerOn AG
# All rights reserved.
"""Workspace and file management tools (read, write, search, folders, web, translate)."""
@@ -150,16 +150,7 @@ def registerWorkspaceTools(registry: ToolRegistry, services):
try:
text = rawBytes.decode(encoding)
if text.strip():
- _fileNeedNeutralize = False
- try:
- from modules.datamodels.datamodelFiles import FileItem
- from modules.interfaces.interfaceDbManagement import ComponentObjects
- _fRec = ComponentObjects().db._loadRecord(FileItem, fileId)
- if _fRec:
- _fG = (lambda k, d=None: _fRec.get(k, d)) if isinstance(_fRec, dict) else (lambda k, d=None: getattr(_fRec, k, d))
- _fileNeedNeutralize = bool(_fG("neutralize", False))
- except Exception as e:
- logger.warning(f"readFile: neutralize flag check failed for {fileId}: {e}")
+ _fileNeedNeutralize = fileInfo.get("neutralize", False) if fileInfo else False
if _fileNeedNeutralize:
try:
_nSvc = services.getService("neutralization") if hasattr(services, "getService") else None
diff --git a/modules/serviceCenter/services/serviceAgent/coreTools/registerCore.py b/modules/serviceCenter/services/serviceAgent/coreTools/registerCore.py
index d2a76c9f..f8d8c76b 100644
--- a/modules/serviceCenter/services/serviceAgent/coreTools/registerCore.py
+++ b/modules/serviceCenter/services/serviceAgent/coreTools/registerCore.py
@@ -1,4 +1,4 @@
-# Copyright (c) 2025 Patrick Motsch
+# Copyright (c) 2026 PowerOn AG
# All rights reserved.
"""Orchestrator: registers all core agent tools by delegating to domain modules."""
diff --git a/modules/serviceCenter/services/serviceAgent/datamodelAgent.py b/modules/serviceCenter/services/serviceAgent/datamodelAgent.py
index 9c94247d..e2c76eab 100644
--- a/modules/serviceCenter/services/serviceAgent/datamodelAgent.py
+++ b/modules/serviceCenter/services/serviceAgent/datamodelAgent.py
@@ -1,4 +1,4 @@
-# Copyright (c) 2025 Patrick Motsch
+# Copyright (c) 2026 PowerOn AG
# All rights reserved.
"""Data models for the Agent service."""
diff --git a/modules/serviceCenter/services/serviceAgent/datamodelOntology.py b/modules/serviceCenter/services/serviceAgent/datamodelOntology.py
index 30e5b023..2dc3ef6c 100644
--- a/modules/serviceCenter/services/serviceAgent/datamodelOntology.py
+++ b/modules/serviceCenter/services/serviceAgent/datamodelOntology.py
@@ -1,4 +1,4 @@
-# Copyright (c) 2026 Patrick Motsch
+# Copyright (c) 2026 PowerOn AG
# All rights reserved.
"""Ontology data model for feature data sub-agents.
diff --git a/modules/serviceCenter/services/serviceAgent/externalToolRegistry.py b/modules/serviceCenter/services/serviceAgent/externalToolRegistry.py
index cfa24a2b..5ef41e74 100644
--- a/modules/serviceCenter/services/serviceAgent/externalToolRegistry.py
+++ b/modules/serviceCenter/services/serviceAgent/externalToolRegistry.py
@@ -1,4 +1,4 @@
-# Copyright (c) 2025 Patrick Motsch
+# Copyright (c) 2026 PowerOn AG
# All rights reserved.
"""
External agent-tool provider registry.
diff --git a/modules/serviceCenter/services/serviceAgent/featureDataAgent.py b/modules/serviceCenter/services/serviceAgent/featureDataAgent.py
index 117645dc..e786030a 100644
--- a/modules/serviceCenter/services/serviceAgent/featureDataAgent.py
+++ b/modules/serviceCenter/services/serviceAgent/featureDataAgent.py
@@ -1,4 +1,4 @@
-# Copyright (c) 2025 Patrick Motsch
+# Copyright (c) 2026 PowerOn AG
# All rights reserved.
"""Feature Data Sub-Agent.
diff --git a/modules/serviceCenter/services/serviceAgent/featureDataProvider.py b/modules/serviceCenter/services/serviceAgent/featureDataProvider.py
index eec9fcca..c129a267 100644
--- a/modules/serviceCenter/services/serviceAgent/featureDataProvider.py
+++ b/modules/serviceCenter/services/serviceAgent/featureDataProvider.py
@@ -1,4 +1,4 @@
-# Copyright (c) 2025 Patrick Motsch
+# Copyright (c) 2026 PowerOn AG
# All rights reserved.
"""Generic data provider for querying feature-instance tables.
diff --git a/modules/serviceCenter/services/serviceAgent/mainServiceAgent.py b/modules/serviceCenter/services/serviceAgent/mainServiceAgent.py
index 390d062c..81fc7f29 100644
--- a/modules/serviceCenter/services/serviceAgent/mainServiceAgent.py
+++ b/modules/serviceCenter/services/serviceAgent/mainServiceAgent.py
@@ -1,4 +1,4 @@
-# Copyright (c) 2025 Patrick Motsch
+# Copyright (c) 2026 PowerOn AG
# All rights reserved.
"""Agent service: entry point for running AI agents with tool use."""
diff --git a/modules/serviceCenter/services/serviceAgent/ontologyToPromptCompiler.py b/modules/serviceCenter/services/serviceAgent/ontologyToPromptCompiler.py
index 5b162ed3..d056b0f2 100644
--- a/modules/serviceCenter/services/serviceAgent/ontologyToPromptCompiler.py
+++ b/modules/serviceCenter/services/serviceAgent/ontologyToPromptCompiler.py
@@ -1,4 +1,4 @@
-# Copyright (c) 2026 Patrick Motsch
+# Copyright (c) 2026 PowerOn AG
# All rights reserved.
"""Deterministic compiler: OntologyDescriptor -> sub-agent prompt block.
diff --git a/modules/serviceCenter/services/serviceAgent/queryValidator.py b/modules/serviceCenter/services/serviceAgent/queryValidator.py
index 2dbbd57e..3f3e8c3d 100644
--- a/modules/serviceCenter/services/serviceAgent/queryValidator.py
+++ b/modules/serviceCenter/services/serviceAgent/queryValidator.py
@@ -1,4 +1,4 @@
-# Copyright (c) 2026 Patrick Motsch
+# Copyright (c) 2026 PowerOn AG
# All rights reserved.
"""Pre-execute query validator for the Feature Data Sub-Agent.
diff --git a/modules/serviceCenter/services/serviceAgent/sandboxExecutor.py b/modules/serviceCenter/services/serviceAgent/sandboxExecutor.py
index 395c674e..512a9322 100644
--- a/modules/serviceCenter/services/serviceAgent/sandboxExecutor.py
+++ b/modules/serviceCenter/services/serviceAgent/sandboxExecutor.py
@@ -1,4 +1,4 @@
-# Copyright (c) 2025 Patrick Motsch
+# Copyright (c) 2026 PowerOn AG
# All rights reserved.
"""Sandboxed code execution for the AI agent executeCode tool."""
@@ -101,10 +101,10 @@ class _VirtualFS:
def _makeReadFile(services):
"""Create a readFile(fileId) closure bound to the current services context."""
def readFile(fileId: str, encoding: str = "utf-8") -> str:
- mgmt = getattr(services, 'interfaceDbComponent', None) if services else None
- if not mgmt:
+ chatService = getattr(services, 'chat', None) if services else None
+ if not chatService or not hasattr(chatService, 'getFileData'):
raise RuntimeError("readFile: no file store available in this session")
- data = mgmt.getFileData(str(fileId))
+ data = chatService.getFileData(str(fileId))
if data is None:
raise FileNotFoundError(f"File '{fileId}' not found in workspace")
try:
@@ -120,10 +120,10 @@ _MAX_FILE_BYTES = 50_000_000 # 50 MB safety limit
def _makeReadFileBytes(services):
"""Create a readFileBytes(fileId) closure for binary file access in the sandbox."""
def readFileBytes(fileId: str) -> bytes:
- mgmt = getattr(services, 'interfaceDbComponent', None) if services else None
- if not mgmt:
+ chatService = getattr(services, 'chat', None) if services else None
+ if not chatService or not hasattr(chatService, 'getFileData'):
raise RuntimeError("readFileBytes: no file store available in this session")
- data = mgmt.getFileData(str(fileId))
+ data = chatService.getFileData(str(fileId))
if data is None:
raise FileNotFoundError(f"File '{fileId}' not found in workspace")
if len(data) > _MAX_FILE_BYTES:
diff --git a/modules/serviceCenter/services/serviceAgent/toolRegistry.py b/modules/serviceCenter/services/serviceAgent/toolRegistry.py
index b2ba67a0..68dd621c 100644
--- a/modules/serviceCenter/services/serviceAgent/toolRegistry.py
+++ b/modules/serviceCenter/services/serviceAgent/toolRegistry.py
@@ -1,4 +1,4 @@
-# Copyright (c) 2025 Patrick Motsch
+# Copyright (c) 2026 PowerOn AG
# All rights reserved.
"""Tool registry for the Agent service. Manages tool definitions and dispatch."""
diff --git a/modules/serviceCenter/services/serviceAgent/toolboxRegistry.py b/modules/serviceCenter/services/serviceAgent/toolboxRegistry.py
index a464525a..36c44910 100644
--- a/modules/serviceCenter/services/serviceAgent/toolboxRegistry.py
+++ b/modules/serviceCenter/services/serviceAgent/toolboxRegistry.py
@@ -1,4 +1,4 @@
-# Copyright (c) 2025 Patrick Motsch
+# Copyright (c) 2026 PowerOn AG
# All rights reserved.
"""
Toolbox Registry for the Agent service.
diff --git a/modules/serviceCenter/services/serviceAi/__init__.py b/modules/serviceCenter/services/serviceAi/__init__.py
index c7f7d39c..5e64fe2a 100644
--- a/modules/serviceCenter/services/serviceAi/__init__.py
+++ b/modules/serviceCenter/services/serviceAi/__init__.py
@@ -1,4 +1,4 @@
-# Copyright (c) 2025 Patrick Motsch
+# Copyright (c) 2026 PowerOn AG
# All rights reserved.
"""AI service."""
diff --git a/modules/serviceCenter/services/serviceAi/mainServiceAi.py b/modules/serviceCenter/services/serviceAi/mainServiceAi.py
index 98489dc8..79389b21 100644
--- a/modules/serviceCenter/services/serviceAi/mainServiceAi.py
+++ b/modules/serviceCenter/services/serviceAi/mainServiceAi.py
@@ -1,4 +1,4 @@
-# Copyright (c) 2025 Patrick Motsch
+# Copyright (c) 2026 PowerOn AG
# All rights reserved.
import json
import logging
diff --git a/modules/serviceCenter/services/serviceAi/subAiCallLooping.py b/modules/serviceCenter/services/serviceAi/subAiCallLooping.py
index ea218e11..1044d1db 100644
--- a/modules/serviceCenter/services/serviceAi/subAiCallLooping.py
+++ b/modules/serviceCenter/services/serviceAi/subAiCallLooping.py
@@ -1,4 +1,4 @@
-# Copyright (c) 2025 Patrick Motsch
+# Copyright (c) 2026 PowerOn AG
# All rights reserved.
"""
AI Call Looping Module
diff --git a/modules/serviceCenter/services/serviceAi/subContentExtraction.py b/modules/serviceCenter/services/serviceAi/subContentExtraction.py
index d66db1cc..59c90e21 100644
--- a/modules/serviceCenter/services/serviceAi/subContentExtraction.py
+++ b/modules/serviceCenter/services/serviceAi/subContentExtraction.py
@@ -1,4 +1,4 @@
-# Copyright (c) 2025 Patrick Motsch
+# Copyright (c) 2026 PowerOn AG
# All rights reserved.
"""
Content Extraction Module
diff --git a/modules/serviceCenter/services/serviceAi/subDocumentIntents.py b/modules/serviceCenter/services/serviceAi/subDocumentIntents.py
index aae86fc2..ed01ef4c 100644
--- a/modules/serviceCenter/services/serviceAi/subDocumentIntents.py
+++ b/modules/serviceCenter/services/serviceAi/subDocumentIntents.py
@@ -1,4 +1,4 @@
-# Copyright (c) 2025 Patrick Motsch
+# Copyright (c) 2026 PowerOn AG
# All rights reserved.
"""
Document Intent Analysis Module
diff --git a/modules/serviceCenter/services/serviceAi/subJsonMerger.py b/modules/serviceCenter/services/serviceAi/subJsonMerger.py
index 6b4e6c5e..33ff72d6 100644
--- a/modules/serviceCenter/services/serviceAi/subJsonMerger.py
+++ b/modules/serviceCenter/services/serviceAi/subJsonMerger.py
@@ -1,4 +1,4 @@
-# Copyright (c) 2025 Patrick Motsch
+# Copyright (c) 2026 PowerOn AG
# All rights reserved.
"""
Modular JSON Merger - Intelligent JSON Fragment Merging
diff --git a/modules/serviceCenter/services/serviceAi/subJsonResponseHandling.py b/modules/serviceCenter/services/serviceAi/subJsonResponseHandling.py
index 1945c550..92007825 100644
--- a/modules/serviceCenter/services/serviceAi/subJsonResponseHandling.py
+++ b/modules/serviceCenter/services/serviceAi/subJsonResponseHandling.py
@@ -1,4 +1,4 @@
-# Copyright (c) 2025 Patrick Motsch
+# Copyright (c) 2026 PowerOn AG
# All rights reserved.
"""
JSON Response Handling Module
diff --git a/modules/serviceCenter/services/serviceAi/subLoopingUseCases.py b/modules/serviceCenter/services/serviceAi/subLoopingUseCases.py
index fa52fdac..5b67c822 100644
--- a/modules/serviceCenter/services/serviceAi/subLoopingUseCases.py
+++ b/modules/serviceCenter/services/serviceAi/subLoopingUseCases.py
@@ -1,4 +1,4 @@
-# Copyright (c) 2025 Patrick Motsch
+# Copyright (c) 2026 PowerOn AG
# All rights reserved.
"""
Generic Looping Use Case System
diff --git a/modules/serviceCenter/services/serviceAi/subResponseParsing.py b/modules/serviceCenter/services/serviceAi/subResponseParsing.py
index 68c123ac..fe8b09e6 100644
--- a/modules/serviceCenter/services/serviceAi/subResponseParsing.py
+++ b/modules/serviceCenter/services/serviceAi/subResponseParsing.py
@@ -1,4 +1,4 @@
-# Copyright (c) 2025 Patrick Motsch
+# Copyright (c) 2026 PowerOn AG
# All rights reserved.
"""
Response Parsing Module
diff --git a/modules/serviceCenter/services/serviceAi/subStructureFilling.py b/modules/serviceCenter/services/serviceAi/subStructureFilling.py
index c2e580a4..eb1e1d7d 100644
--- a/modules/serviceCenter/services/serviceAi/subStructureFilling.py
+++ b/modules/serviceCenter/services/serviceAi/subStructureFilling.py
@@ -1,4 +1,4 @@
-# Copyright (c) 2025 Patrick Motsch
+# Copyright (c) 2026 PowerOn AG
# All rights reserved.
"""
Structure Filling Module
diff --git a/modules/serviceCenter/services/serviceAi/subStructureGeneration.py b/modules/serviceCenter/services/serviceAi/subStructureGeneration.py
index cee66f60..72c7cb50 100644
--- a/modules/serviceCenter/services/serviceAi/subStructureGeneration.py
+++ b/modules/serviceCenter/services/serviceAi/subStructureGeneration.py
@@ -1,4 +1,4 @@
-# Copyright (c) 2025 Patrick Motsch
+# Copyright (c) 2026 PowerOn AG
# All rights reserved.
"""
Structure Generation Module
diff --git a/modules/serviceCenter/services/serviceBackgroundJobs/__init__.py b/modules/serviceCenter/services/serviceBackgroundJobs/__init__.py
index ce67dc4a..a5b197a5 100644
--- a/modules/serviceCenter/services/serviceBackgroundJobs/__init__.py
+++ b/modules/serviceCenter/services/serviceBackgroundJobs/__init__.py
@@ -1,4 +1,4 @@
-# Copyright (c) 2025 Patrick Motsch
+# Copyright (c) 2026 PowerOn AG
# All rights reserved.
"""Background job service: generic, reusable infrastructure for long-running tasks."""
diff --git a/modules/serviceCenter/services/serviceBackgroundJobs/mainBackgroundJobService.py b/modules/serviceCenter/services/serviceBackgroundJobs/mainBackgroundJobService.py
index 6ac1cbee..7beb987b 100644
--- a/modules/serviceCenter/services/serviceBackgroundJobs/mainBackgroundJobService.py
+++ b/modules/serviceCenter/services/serviceBackgroundJobs/mainBackgroundJobService.py
@@ -1,4 +1,4 @@
-# Copyright (c) 2025 Patrick Motsch
+# Copyright (c) 2026 PowerOn AG
# All rights reserved.
"""Background job service.
diff --git a/modules/serviceCenter/services/serviceBilling/__init__.py b/modules/serviceCenter/services/serviceBilling/__init__.py
index 55d95d1a..3e74a0f2 100644
--- a/modules/serviceCenter/services/serviceBilling/__init__.py
+++ b/modules/serviceCenter/services/serviceBilling/__init__.py
@@ -1,4 +1,4 @@
-# Copyright (c) 2025 Patrick Motsch
+# Copyright (c) 2026 PowerOn AG
# All rights reserved.
"""Billing service."""
diff --git a/modules/serviceCenter/services/serviceBilling/billingExhaustedNotify.py b/modules/serviceCenter/services/serviceBilling/billingExhaustedNotify.py
index 9076f9e0..6985aff9 100644
--- a/modules/serviceCenter/services/serviceBilling/billingExhaustedNotify.py
+++ b/modules/serviceCenter/services/serviceBilling/billingExhaustedNotify.py
@@ -1,4 +1,4 @@
-# Copyright (c) 2025 Patrick Motsch
+# Copyright (c) 2026 PowerOn AG
# All rights reserved.
"""
When the shared mandate pool (PREPAY_MANDATE) is exhausted, notify mandate admins.
diff --git a/modules/serviceCenter/services/serviceBilling/billingWebhookHandler.py b/modules/serviceCenter/services/serviceBilling/billingWebhookHandler.py
index 8e765cc7..5aba9e94 100644
--- a/modules/serviceCenter/services/serviceBilling/billingWebhookHandler.py
+++ b/modules/serviceCenter/services/serviceBilling/billingWebhookHandler.py
@@ -1,4 +1,4 @@
-# Copyright (c) 2025 Patrick Motsch
+# Copyright (c) 2026 PowerOn AG
# All rights reserved.
"""
Stripe webhook and subscription business logic for billing.
diff --git a/modules/serviceCenter/services/serviceBilling/mainServiceBilling.py b/modules/serviceCenter/services/serviceBilling/mainServiceBilling.py
index 2158506f..4dcf725c 100644
--- a/modules/serviceCenter/services/serviceBilling/mainServiceBilling.py
+++ b/modules/serviceCenter/services/serviceBilling/mainServiceBilling.py
@@ -1,4 +1,4 @@
-# Copyright (c) 2025 Patrick Motsch
+# Copyright (c) 2026 PowerOn AG
# All rights reserved.
"""
Billing Service - Central service for billing operations.
diff --git a/modules/serviceCenter/services/serviceBilling/stripeCheckout.py b/modules/serviceCenter/services/serviceBilling/stripeCheckout.py
index 010c4e4b..a25c4717 100644
--- a/modules/serviceCenter/services/serviceBilling/stripeCheckout.py
+++ b/modules/serviceCenter/services/serviceBilling/stripeCheckout.py
@@ -1,4 +1,4 @@
-# Copyright (c) 2025 Patrick Motsch
+# Copyright (c) 2026 PowerOn AG
# All rights reserved.
"""
Stripe Checkout service for billing credit top-ups.
diff --git a/modules/serviceCenter/services/serviceChat/__init__.py b/modules/serviceCenter/services/serviceChat/__init__.py
index a776b886..6a977f18 100644
--- a/modules/serviceCenter/services/serviceChat/__init__.py
+++ b/modules/serviceCenter/services/serviceChat/__init__.py
@@ -1,4 +1,4 @@
-# Copyright (c) 2025 Patrick Motsch
+# Copyright (c) 2026 PowerOn AG
# All rights reserved.
"""Chat service."""
diff --git a/modules/serviceCenter/services/serviceChat/mainServiceChat.py b/modules/serviceCenter/services/serviceChat/mainServiceChat.py
index 3382f75e..18ab2a68 100644
--- a/modules/serviceCenter/services/serviceChat/mainServiceChat.py
+++ b/modules/serviceCenter/services/serviceChat/mainServiceChat.py
@@ -1,4 +1,4 @@
-# Copyright (c) 2025 Patrick Motsch
+# Copyright (c) 2026 PowerOn AG
# All rights reserved.
"""Chat service for document processing, chat operations, and workflow management."""
import logging
@@ -481,6 +481,9 @@ class ChatService:
"tags": getattr(fileItem, "tags", None),
"description": getattr(fileItem, "description", None),
"status": getattr(fileItem, "status", None),
+ "neutralize": bool(getattr(fileItem, "neutralize", False)),
+ "featureInstanceId": getattr(fileItem, "featureInstanceId", None) or "",
+ "mandateId": getattr(fileItem, "mandateId", None) or "",
}
return None
@@ -595,6 +598,53 @@ class ChatService:
results = self.interfaceDbApp.db.getRecordset(DataSource, recordFilter={"id": dataSourceId})
return results[0] if results else None
+ def getDataSourcesByConnection(self, connectionId: str) -> List[Dict[str, Any]]:
+ """Get all DataSource records linked to a specific connectionId."""
+ from modules.datamodels.datamodelDataSource import DataSource
+ return self.interfaceDbApp.db.getRecordset(DataSource, recordFilter={"connectionId": connectionId}) or []
+
+ def getFeatureInstance(self, featureInstanceId: str):
+ """Get a FeatureInstance record by ID."""
+ if not featureInstanceId or not self.interfaceDbApp:
+ return None
+ try:
+ return self.interfaceDbApp.getFeatureInstance(featureInstanceId)
+ except Exception as e:
+ logger.warning(f"getFeatureInstance({featureInstanceId}) failed: {e}")
+ return None
+
+ def getUserVoicePreferences(self, userId: str, mandateId: str = None) -> Optional[Dict[str, Any]]:
+ """Get TTS voice preferences for a user, resolved by mandate scope."""
+ from modules.datamodels.datamodelUam import UserVoicePreferences
+ try:
+ prefRecords = self.interfaceDbApp.db.getRecordset(
+ UserVoicePreferences, recordFilter={"userId": userId}
+ )
+ if not prefRecords:
+ return None
+ allPrefs = [
+ r if isinstance(r, dict) else r.model_dump() if hasattr(r, "model_dump") else r
+ for r in prefRecords
+ ]
+ _mid = str(mandateId or "").strip()
+ scopedPref = next((p for p in allPrefs if str(p.get("mandateId") or "").strip() == _mid), None) if _mid else None
+ globalPref = next((p for p in allPrefs if not str(p.get("mandateId") or "").strip()), None)
+ return scopedPref or globalPref
+ except Exception as e:
+ logger.warning(f"getUserVoicePreferences({userId}) failed: {e}")
+ return None
+
+ def getFeatureDataSources(self, featureInstanceId: str) -> List[Dict[str, Any]]:
+ """Get all FeatureDataSource records for a given featureInstanceId."""
+ from modules.datamodels.datamodelFeatures import FeatureDataSource
+ try:
+ return self.interfaceDbApp.db.getRecordset(
+ FeatureDataSource, recordFilter={"featureInstanceId": featureInstanceId}
+ ) or []
+ except Exception as e:
+ logger.warning(f"getFeatureDataSources({featureInstanceId}) failed: {e}")
+ return []
+
def deleteDataSource(self, dataSourceId: str) -> bool:
"""Delete a data source."""
from modules.datamodels.datamodelDataSource import DataSource
diff --git a/modules/serviceCenter/services/serviceClickup/__init__.py b/modules/serviceCenter/services/serviceClickup/__init__.py
index 49f56ec0..31f7b664 100644
--- a/modules/serviceCenter/services/serviceClickup/__init__.py
+++ b/modules/serviceCenter/services/serviceClickup/__init__.py
@@ -1,4 +1,4 @@
-# Copyright (c) 2025 Patrick Motsch
+# Copyright (c) 2026 PowerOn AG
# All rights reserved.
"""ClickUp service."""
diff --git a/modules/serviceCenter/services/serviceClickup/mainServiceClickup.py b/modules/serviceCenter/services/serviceClickup/mainServiceClickup.py
index 74a7e809..9570c184 100644
--- a/modules/serviceCenter/services/serviceClickup/mainServiceClickup.py
+++ b/modules/serviceCenter/services/serviceClickup/mainServiceClickup.py
@@ -1,4 +1,4 @@
-# Copyright (c) 2025 Patrick Motsch
+# Copyright (c) 2026 PowerOn AG
# All rights reserved.
"""ClickUp API service (OAuth or personal token via UserConnection).
diff --git a/modules/serviceCenter/services/serviceExtraction/__init__.py b/modules/serviceCenter/services/serviceExtraction/__init__.py
index 737a1900..dbbfca46 100644
--- a/modules/serviceCenter/services/serviceExtraction/__init__.py
+++ b/modules/serviceCenter/services/serviceExtraction/__init__.py
@@ -1,4 +1,4 @@
-# Copyright (c) 2025 Patrick Motsch
+# Copyright (c) 2026 PowerOn AG
# All rights reserved.
from .mainServiceExtraction import ExtractionService
diff --git a/modules/serviceCenter/services/serviceExtraction/chunking/__init__.py b/modules/serviceCenter/services/serviceExtraction/chunking/__init__.py
index 085d67cf..e06ded01 100644
--- a/modules/serviceCenter/services/serviceExtraction/chunking/__init__.py
+++ b/modules/serviceCenter/services/serviceExtraction/chunking/__init__.py
@@ -1,4 +1,4 @@
-# Copyright (c) 2025 Patrick Motsch
+# Copyright (c) 2026 PowerOn AG
# All rights reserved.
diff --git a/modules/serviceCenter/services/serviceExtraction/chunking/chunkerImage.py b/modules/serviceCenter/services/serviceExtraction/chunking/chunkerImage.py
index d58d2139..340a18d0 100644
--- a/modules/serviceCenter/services/serviceExtraction/chunking/chunkerImage.py
+++ b/modules/serviceCenter/services/serviceExtraction/chunking/chunkerImage.py
@@ -1,4 +1,4 @@
-# Copyright (c) 2025 Patrick Motsch
+# Copyright (c) 2026 PowerOn AG
# All rights reserved.
from typing import Any, Dict, List
import base64
diff --git a/modules/serviceCenter/services/serviceExtraction/chunking/chunkerStructure.py b/modules/serviceCenter/services/serviceExtraction/chunking/chunkerStructure.py
index fa65e19c..91f127ed 100644
--- a/modules/serviceCenter/services/serviceExtraction/chunking/chunkerStructure.py
+++ b/modules/serviceCenter/services/serviceExtraction/chunking/chunkerStructure.py
@@ -1,4 +1,4 @@
-# Copyright (c) 2025 Patrick Motsch
+# Copyright (c) 2026 PowerOn AG
# All rights reserved.
from typing import Any, Dict, List
import json
diff --git a/modules/serviceCenter/services/serviceExtraction/chunking/chunkerTable.py b/modules/serviceCenter/services/serviceExtraction/chunking/chunkerTable.py
index e137711d..67a48d42 100644
--- a/modules/serviceCenter/services/serviceExtraction/chunking/chunkerTable.py
+++ b/modules/serviceCenter/services/serviceExtraction/chunking/chunkerTable.py
@@ -1,4 +1,4 @@
-# Copyright (c) 2025 Patrick Motsch
+# Copyright (c) 2026 PowerOn AG
# All rights reserved.
from typing import Any, Dict, List
diff --git a/modules/serviceCenter/services/serviceExtraction/chunking/chunkerText.py b/modules/serviceCenter/services/serviceExtraction/chunking/chunkerText.py
index 330f9ea9..bea6e81e 100644
--- a/modules/serviceCenter/services/serviceExtraction/chunking/chunkerText.py
+++ b/modules/serviceCenter/services/serviceExtraction/chunking/chunkerText.py
@@ -1,4 +1,4 @@
-# Copyright (c) 2025 Patrick Motsch
+# Copyright (c) 2026 PowerOn AG
# All rights reserved.
from typing import Any, Dict, List
import logging
diff --git a/modules/serviceCenter/services/serviceExtraction/extractors/__init__.py b/modules/serviceCenter/services/serviceExtraction/extractors/__init__.py
index 085d67cf..e06ded01 100644
--- a/modules/serviceCenter/services/serviceExtraction/extractors/__init__.py
+++ b/modules/serviceCenter/services/serviceExtraction/extractors/__init__.py
@@ -1,4 +1,4 @@
-# Copyright (c) 2025 Patrick Motsch
+# Copyright (c) 2026 PowerOn AG
# All rights reserved.
diff --git a/modules/serviceCenter/services/serviceExtraction/extractors/extractorAudio.py b/modules/serviceCenter/services/serviceExtraction/extractors/extractorAudio.py
index a1f06f99..599b0285 100644
--- a/modules/serviceCenter/services/serviceExtraction/extractors/extractorAudio.py
+++ b/modules/serviceCenter/services/serviceExtraction/extractors/extractorAudio.py
@@ -1,4 +1,4 @@
-# Copyright (c) 2025 Patrick Motsch
+# Copyright (c) 2026 PowerOn AG
# All rights reserved.
"""Audio extractor for common audio formats.
diff --git a/modules/serviceCenter/services/serviceExtraction/extractors/extractorBinary.py b/modules/serviceCenter/services/serviceExtraction/extractors/extractorBinary.py
index f0048c7a..3f1ea95b 100644
--- a/modules/serviceCenter/services/serviceExtraction/extractors/extractorBinary.py
+++ b/modules/serviceCenter/services/serviceExtraction/extractors/extractorBinary.py
@@ -1,4 +1,4 @@
-# Copyright (c) 2025 Patrick Motsch
+# Copyright (c) 2026 PowerOn AG
# All rights reserved.
from typing import Any, Dict, List
import base64
diff --git a/modules/serviceCenter/services/serviceExtraction/extractors/extractorContainer.py b/modules/serviceCenter/services/serviceExtraction/extractors/extractorContainer.py
index a69b2e35..3e33db52 100644
--- a/modules/serviceCenter/services/serviceExtraction/extractors/extractorContainer.py
+++ b/modules/serviceCenter/services/serviceExtraction/extractors/extractorContainer.py
@@ -1,4 +1,4 @@
-# Copyright (c) 2025 Patrick Motsch
+# Copyright (c) 2026 PowerOn AG
# All rights reserved.
"""Container extractor for ZIP, TAR, GZ, and 7Z archives.
diff --git a/modules/serviceCenter/services/serviceExtraction/extractors/extractorCsv.py b/modules/serviceCenter/services/serviceExtraction/extractors/extractorCsv.py
index 1f6bbaf6..ccf87d55 100644
--- a/modules/serviceCenter/services/serviceExtraction/extractors/extractorCsv.py
+++ b/modules/serviceCenter/services/serviceExtraction/extractors/extractorCsv.py
@@ -1,4 +1,4 @@
-# Copyright (c) 2025 Patrick Motsch
+# Copyright (c) 2026 PowerOn AG
# All rights reserved.
from typing import Any, Dict, List
diff --git a/modules/serviceCenter/services/serviceExtraction/extractors/extractorDocx.py b/modules/serviceCenter/services/serviceExtraction/extractors/extractorDocx.py
index c8e7c289..5e5ef8fa 100644
--- a/modules/serviceCenter/services/serviceExtraction/extractors/extractorDocx.py
+++ b/modules/serviceCenter/services/serviceExtraction/extractors/extractorDocx.py
@@ -1,4 +1,4 @@
-# Copyright (c) 2025 Patrick Motsch
+# Copyright (c) 2026 PowerOn AG
# All rights reserved.
from typing import Any, Dict, List
import io
diff --git a/modules/serviceCenter/services/serviceExtraction/extractors/extractorEmail.py b/modules/serviceCenter/services/serviceExtraction/extractors/extractorEmail.py
index b557172f..6180f5d1 100644
--- a/modules/serviceCenter/services/serviceExtraction/extractors/extractorEmail.py
+++ b/modules/serviceCenter/services/serviceExtraction/extractors/extractorEmail.py
@@ -1,4 +1,4 @@
-# Copyright (c) 2025 Patrick Motsch
+# Copyright (c) 2026 PowerOn AG
# All rights reserved.
"""Email extractor for EML and MSG files.
@@ -82,6 +82,9 @@ class EmailExtractor(Extractor):
data=headerText, metadata={"emailPart": "headers"},
))
+ hasPlainBody = False
+ htmlBodies: List[str] = []
+
for part in msg.walk():
contentType = part.get_content_type()
disposition = str(part.get("Content-Disposition", ""))
@@ -98,7 +101,8 @@ class EmailExtractor(Extractor):
if contentType == "text/plain":
body = part.get_content()
- if body:
+ if body and str(body).strip():
+ hasPlainBody = True
parts.append(ContentPart(
id=makeId(), parentId=rootId, label="body_text",
typeGroup="text", mimeType="text/plain",
@@ -107,10 +111,18 @@ class EmailExtractor(Extractor):
elif contentType == "text/html":
body = part.get_content()
if body:
+ htmlBodies.append(str(body))
+
+ if htmlBodies:
+ if hasPlainBody:
+ pass
+ else:
+ plainText = _htmlToPlainText(htmlBodies[0])
+ if plainText.strip():
parts.append(ContentPart(
- id=makeId(), parentId=rootId, label="body_html",
- typeGroup="text", mimeType="text/html",
- data=str(body), metadata={"emailPart": "body_html"},
+ id=makeId(), parentId=rootId, label="body_text",
+ typeGroup="text", mimeType="text/plain",
+ data=plainText, metadata={"emailPart": "body", "convertedFromHtml": True},
))
return parts
@@ -171,11 +183,14 @@ class EmailExtractor(Extractor):
if htmlBody:
if isinstance(htmlBody, bytes):
htmlBody = htmlBody.decode("utf-8", errors="replace")
- parts.append(ContentPart(
- id=makeId(), parentId=rootId, label="body_html",
- typeGroup="text", mimeType="text/html",
- data=htmlBody, metadata={"emailPart": "body_html"},
- ))
+ if not body or not body.strip():
+ plainText = _htmlToPlainText(htmlBody)
+ if plainText.strip():
+ parts.append(ContentPart(
+ id=makeId(), parentId=rootId, label="body_text",
+ typeGroup="text", mimeType="text/plain",
+ data=plainText, metadata={"emailPart": "body", "convertedFromHtml": True},
+ ))
for attachment in (msgFile.attachments or []):
attachName = getattr(attachment, "longFilename", None) or getattr(attachment, "shortFilename", None) or "attachment"
@@ -201,6 +216,24 @@ def _buildHeaderText(msg) -> str:
return "\n".join(lines)
+def _htmlToPlainText(html: str) -> str:
+ """Convert HTML email body to readable plain text, stripping all tags and noise."""
+ import re
+ try:
+ from bs4 import BeautifulSoup
+ soup = BeautifulSoup(html, "html.parser")
+ for tag in soup(["script", "style", "head", "meta", "link"]):
+ tag.decompose()
+ text = soup.get_text(separator="\n")
+ except Exception:
+ text = re.sub(r"<[^>]+>", " ", html)
+ lines = [line.strip() for line in text.splitlines()]
+ lines = [line for line in lines if line]
+ text = "\n".join(lines)
+ text = re.sub(r"\n{3,}", "\n\n", text)
+ return text.strip()
+
+
_MAX_CASCADE_DEPTH = 10
def _delegateAttachment(attachData: bytes, attachName: str, parentId: str, depth: int = 0) -> List[ContentPart]:
diff --git a/modules/serviceCenter/services/serviceExtraction/extractors/extractorFolder.py b/modules/serviceCenter/services/serviceExtraction/extractors/extractorFolder.py
index 51c8d9f5..0f81fce0 100644
--- a/modules/serviceCenter/services/serviceExtraction/extractors/extractorFolder.py
+++ b/modules/serviceCenter/services/serviceExtraction/extractors/extractorFolder.py
@@ -1,4 +1,4 @@
-# Copyright (c) 2025 Patrick Motsch
+# Copyright (c) 2026 PowerOn AG
# All rights reserved.
"""Folder extractor -- treats a local folder reference as a container.
diff --git a/modules/serviceCenter/services/serviceExtraction/extractors/extractorHtml.py b/modules/serviceCenter/services/serviceExtraction/extractors/extractorHtml.py
index c7e549bb..b840bdbc 100644
--- a/modules/serviceCenter/services/serviceExtraction/extractors/extractorHtml.py
+++ b/modules/serviceCenter/services/serviceExtraction/extractors/extractorHtml.py
@@ -1,4 +1,4 @@
-# Copyright (c) 2025 Patrick Motsch
+# Copyright (c) 2026 PowerOn AG
# All rights reserved.
from typing import Any, Dict, List
from bs4 import BeautifulSoup
diff --git a/modules/serviceCenter/services/serviceExtraction/extractors/extractorImage.py b/modules/serviceCenter/services/serviceExtraction/extractors/extractorImage.py
index 7f081176..8f51e70b 100644
--- a/modules/serviceCenter/services/serviceExtraction/extractors/extractorImage.py
+++ b/modules/serviceCenter/services/serviceExtraction/extractors/extractorImage.py
@@ -1,4 +1,4 @@
-# Copyright (c) 2025 Patrick Motsch
+# Copyright (c) 2026 PowerOn AG
# All rights reserved.
from typing import Any, Dict, List
import base64
diff --git a/modules/serviceCenter/services/serviceExtraction/extractors/extractorJson.py b/modules/serviceCenter/services/serviceExtraction/extractors/extractorJson.py
index a4ef705d..39f7b377 100644
--- a/modules/serviceCenter/services/serviceExtraction/extractors/extractorJson.py
+++ b/modules/serviceCenter/services/serviceExtraction/extractors/extractorJson.py
@@ -1,4 +1,4 @@
-# Copyright (c) 2025 Patrick Motsch
+# Copyright (c) 2026 PowerOn AG
# All rights reserved.
from typing import Any, Dict, List
import json
diff --git a/modules/serviceCenter/services/serviceExtraction/extractors/extractorPdf.py b/modules/serviceCenter/services/serviceExtraction/extractors/extractorPdf.py
index 657e3fc6..d87f3c55 100644
--- a/modules/serviceCenter/services/serviceExtraction/extractors/extractorPdf.py
+++ b/modules/serviceCenter/services/serviceExtraction/extractors/extractorPdf.py
@@ -1,4 +1,4 @@
-# Copyright (c) 2025 Patrick Motsch
+# Copyright (c) 2026 PowerOn AG
# All rights reserved.
from typing import Any, Dict, List
import base64
diff --git a/modules/serviceCenter/services/serviceExtraction/extractors/extractorPptx.py b/modules/serviceCenter/services/serviceExtraction/extractors/extractorPptx.py
index 0c811d20..a278a823 100644
--- a/modules/serviceCenter/services/serviceExtraction/extractors/extractorPptx.py
+++ b/modules/serviceCenter/services/serviceExtraction/extractors/extractorPptx.py
@@ -1,4 +1,4 @@
-# Copyright (c) 2025 Patrick Motsch
+# Copyright (c) 2026 PowerOn AG
# All rights reserved.
import logging
import base64
diff --git a/modules/serviceCenter/services/serviceExtraction/extractors/extractorSql.py b/modules/serviceCenter/services/serviceExtraction/extractors/extractorSql.py
index 01b1ba07..7b7e497e 100644
--- a/modules/serviceCenter/services/serviceExtraction/extractors/extractorSql.py
+++ b/modules/serviceCenter/services/serviceExtraction/extractors/extractorSql.py
@@ -1,4 +1,4 @@
-# Copyright (c) 2025 Patrick Motsch
+# Copyright (c) 2026 PowerOn AG
# All rights reserved.
from typing import Any, Dict, List
diff --git a/modules/serviceCenter/services/serviceExtraction/extractors/extractorText.py b/modules/serviceCenter/services/serviceExtraction/extractors/extractorText.py
index 92b1fc4a..764d6b4d 100644
--- a/modules/serviceCenter/services/serviceExtraction/extractors/extractorText.py
+++ b/modules/serviceCenter/services/serviceExtraction/extractors/extractorText.py
@@ -1,4 +1,4 @@
-# Copyright (c) 2025 Patrick Motsch
+# Copyright (c) 2026 PowerOn AG
# All rights reserved.
from typing import Any, Dict, List
diff --git a/modules/serviceCenter/services/serviceExtraction/extractors/extractorVideo.py b/modules/serviceCenter/services/serviceExtraction/extractors/extractorVideo.py
index 1b0513ce..517c5c53 100644
--- a/modules/serviceCenter/services/serviceExtraction/extractors/extractorVideo.py
+++ b/modules/serviceCenter/services/serviceExtraction/extractors/extractorVideo.py
@@ -1,4 +1,4 @@
-# Copyright (c) 2025 Patrick Motsch
+# Copyright (c) 2026 PowerOn AG
# All rights reserved.
"""Video extractor for common video formats.
diff --git a/modules/serviceCenter/services/serviceExtraction/extractors/extractorXlsx.py b/modules/serviceCenter/services/serviceExtraction/extractors/extractorXlsx.py
index a85902f3..fa45db0b 100644
--- a/modules/serviceCenter/services/serviceExtraction/extractors/extractorXlsx.py
+++ b/modules/serviceCenter/services/serviceExtraction/extractors/extractorXlsx.py
@@ -1,4 +1,4 @@
-# Copyright (c) 2025 Patrick Motsch
+# Copyright (c) 2026 PowerOn AG
# All rights reserved.
from typing import Any, Dict, List
import io
diff --git a/modules/serviceCenter/services/serviceExtraction/extractors/extractorXml.py b/modules/serviceCenter/services/serviceExtraction/extractors/extractorXml.py
index e264e774..900cd1f2 100644
--- a/modules/serviceCenter/services/serviceExtraction/extractors/extractorXml.py
+++ b/modules/serviceCenter/services/serviceExtraction/extractors/extractorXml.py
@@ -1,4 +1,4 @@
-# Copyright (c) 2025 Patrick Motsch
+# Copyright (c) 2026 PowerOn AG
# All rights reserved.
from typing import Any, Dict, List
import xml.etree.ElementTree as ET
diff --git a/modules/serviceCenter/services/serviceExtraction/mainServiceExtraction.py b/modules/serviceCenter/services/serviceExtraction/mainServiceExtraction.py
index 125281e7..ceed2162 100644
--- a/modules/serviceCenter/services/serviceExtraction/mainServiceExtraction.py
+++ b/modules/serviceCenter/services/serviceExtraction/mainServiceExtraction.py
@@ -1,4 +1,4 @@
-# Copyright (c) 2025 Patrick Motsch
+# Copyright (c) 2026 PowerOn AG
# All rights reserved.
"""Extraction service for document content extraction and processing."""
from typing import Any, Dict, List, Optional, Union, Callable
diff --git a/modules/serviceCenter/services/serviceExtraction/merging/__init__.py b/modules/serviceCenter/services/serviceExtraction/merging/__init__.py
index fdcc4f0e..06003961 100644
--- a/modules/serviceCenter/services/serviceExtraction/merging/__init__.py
+++ b/modules/serviceCenter/services/serviceExtraction/merging/__init__.py
@@ -1,2 +1,2 @@
-# Copyright (c) 2025 Patrick Motsch
+# Copyright (c) 2026 PowerOn AG
# All rights reserved.
diff --git a/modules/serviceCenter/services/serviceExtraction/merging/mergerDefault.py b/modules/serviceCenter/services/serviceExtraction/merging/mergerDefault.py
index 3ea0fa82..573a9c6e 100644
--- a/modules/serviceCenter/services/serviceExtraction/merging/mergerDefault.py
+++ b/modules/serviceCenter/services/serviceExtraction/merging/mergerDefault.py
@@ -1,4 +1,4 @@
-# Copyright (c) 2025 Patrick Motsch
+# Copyright (c) 2026 PowerOn AG
# All rights reserved.
from typing import Any, Dict, List
from modules.datamodels.datamodelExtraction import ContentPart, MergeStrategy
diff --git a/modules/serviceCenter/services/serviceExtraction/merging/mergerTable.py b/modules/serviceCenter/services/serviceExtraction/merging/mergerTable.py
index 6bdcfc11..c1090cf1 100644
--- a/modules/serviceCenter/services/serviceExtraction/merging/mergerTable.py
+++ b/modules/serviceCenter/services/serviceExtraction/merging/mergerTable.py
@@ -1,4 +1,4 @@
-# Copyright (c) 2025 Patrick Motsch
+# Copyright (c) 2026 PowerOn AG
# All rights reserved.
from typing import Any, Dict, List
from modules.datamodels.datamodelExtraction import ContentPart, MergeStrategy
diff --git a/modules/serviceCenter/services/serviceExtraction/merging/mergerText.py b/modules/serviceCenter/services/serviceExtraction/merging/mergerText.py
index 591c4462..15c58070 100644
--- a/modules/serviceCenter/services/serviceExtraction/merging/mergerText.py
+++ b/modules/serviceCenter/services/serviceExtraction/merging/mergerText.py
@@ -1,4 +1,4 @@
-# Copyright (c) 2025 Patrick Motsch
+# Copyright (c) 2026 PowerOn AG
# All rights reserved.
from typing import Any, Dict, List
from modules.datamodels.datamodelExtraction import ContentPart, MergeStrategy
diff --git a/modules/serviceCenter/services/serviceExtraction/subMerger.py b/modules/serviceCenter/services/serviceExtraction/subMerger.py
index 003cbce2..147dad38 100644
--- a/modules/serviceCenter/services/serviceExtraction/subMerger.py
+++ b/modules/serviceCenter/services/serviceExtraction/subMerger.py
@@ -1,4 +1,4 @@
-# Copyright (c) 2025 Patrick Motsch
+# Copyright (c) 2026 PowerOn AG
# All rights reserved.
"""
Intelligent Token-Aware Merger for optimizing AI calls based on LLM token limits.
diff --git a/modules/serviceCenter/services/serviceExtraction/subPipeline.py b/modules/serviceCenter/services/serviceExtraction/subPipeline.py
index b76578ed..4717510d 100644
--- a/modules/serviceCenter/services/serviceExtraction/subPipeline.py
+++ b/modules/serviceCenter/services/serviceExtraction/subPipeline.py
@@ -1,4 +1,4 @@
-# Copyright (c) 2025 Patrick Motsch
+# Copyright (c) 2026 PowerOn AG
# All rights reserved.
from typing import List
import logging
diff --git a/modules/serviceCenter/services/serviceExtraction/subPromptBuilderExtraction.py b/modules/serviceCenter/services/serviceExtraction/subPromptBuilderExtraction.py
index 0f9cbf45..55fbe405 100644
--- a/modules/serviceCenter/services/serviceExtraction/subPromptBuilderExtraction.py
+++ b/modules/serviceCenter/services/serviceExtraction/subPromptBuilderExtraction.py
@@ -1,4 +1,4 @@
-# Copyright (c) 2025 Patrick Motsch
+# Copyright (c) 2026 PowerOn AG
# All rights reserved.
"""
Prompt builder for document extraction.
diff --git a/modules/serviceCenter/services/serviceExtraction/subRegistry.py b/modules/serviceCenter/services/serviceExtraction/subRegistry.py
index 864afe65..7072ecbb 100644
--- a/modules/serviceCenter/services/serviceExtraction/subRegistry.py
+++ b/modules/serviceCenter/services/serviceExtraction/subRegistry.py
@@ -1,4 +1,4 @@
-# Copyright (c) 2025 Patrick Motsch
+# Copyright (c) 2026 PowerOn AG
# All rights reserved.
from typing import Any, Dict, List, Optional, TYPE_CHECKING
import logging
diff --git a/modules/serviceCenter/services/serviceExtraction/subUtils.py b/modules/serviceCenter/services/serviceExtraction/subUtils.py
index 2e3c3384..13e268cb 100644
--- a/modules/serviceCenter/services/serviceExtraction/subUtils.py
+++ b/modules/serviceCenter/services/serviceExtraction/subUtils.py
@@ -1,4 +1,4 @@
-# Copyright (c) 2025 Patrick Motsch
+# Copyright (c) 2026 PowerOn AG
# All rights reserved.
import uuid
diff --git a/modules/serviceCenter/services/serviceGeneration/__init__.py b/modules/serviceCenter/services/serviceGeneration/__init__.py
index 49e4ab4b..38191d73 100644
--- a/modules/serviceCenter/services/serviceGeneration/__init__.py
+++ b/modules/serviceCenter/services/serviceGeneration/__init__.py
@@ -1,4 +1,4 @@
-# Copyright (c) 2025 Patrick Motsch
+# Copyright (c) 2026 PowerOn AG
# All rights reserved.
"""Generation service."""
diff --git a/modules/serviceCenter/services/serviceGeneration/mainServiceGeneration.py b/modules/serviceCenter/services/serviceGeneration/mainServiceGeneration.py
index 1137b7d6..08ab5127 100644
--- a/modules/serviceCenter/services/serviceGeneration/mainServiceGeneration.py
+++ b/modules/serviceCenter/services/serviceGeneration/mainServiceGeneration.py
@@ -1,4 +1,4 @@
-# Copyright (c) 2025 Patrick Motsch
+# Copyright (c) 2026 PowerOn AG
# All rights reserved.
import logging
import uuid
@@ -693,4 +693,4 @@ class GenerationService:
logger.error(f"Error getting renderer for {output_format}: {str(e)}")
# traceback is already imported at module level
logger.debug(traceback.format_exc())
- return None
\ No newline at end of file
+ return None
diff --git a/modules/serviceCenter/services/serviceGeneration/paths/codePath.py b/modules/serviceCenter/services/serviceGeneration/paths/codePath.py
index c7f76689..ac4f85bd 100644
--- a/modules/serviceCenter/services/serviceGeneration/paths/codePath.py
+++ b/modules/serviceCenter/services/serviceGeneration/paths/codePath.py
@@ -1,4 +1,4 @@
-# Copyright (c) 2025 Patrick Motsch
+# Copyright (c) 2026 PowerOn AG
# All rights reserved.
"""
Code Generation Path
diff --git a/modules/serviceCenter/services/serviceGeneration/paths/documentPath.py b/modules/serviceCenter/services/serviceGeneration/paths/documentPath.py
index b74286eb..e680b658 100644
--- a/modules/serviceCenter/services/serviceGeneration/paths/documentPath.py
+++ b/modules/serviceCenter/services/serviceGeneration/paths/documentPath.py
@@ -1,4 +1,4 @@
-# Copyright (c) 2025 Patrick Motsch
+# Copyright (c) 2026 PowerOn AG
# All rights reserved.
"""
Document Generation Path
diff --git a/modules/serviceCenter/services/serviceGeneration/paths/imagePath.py b/modules/serviceCenter/services/serviceGeneration/paths/imagePath.py
index c61bc997..89d99941 100644
--- a/modules/serviceCenter/services/serviceGeneration/paths/imagePath.py
+++ b/modules/serviceCenter/services/serviceGeneration/paths/imagePath.py
@@ -1,4 +1,4 @@
-# Copyright (c) 2025 Patrick Motsch
+# Copyright (c) 2026 PowerOn AG
# All rights reserved.
"""
Image Generation Path
diff --git a/modules/serviceCenter/services/serviceGeneration/renderers/_pdfFontFallback.py b/modules/serviceCenter/services/serviceGeneration/renderers/_pdfFontFallback.py
index 8603c78f..2dad2b3d 100644
--- a/modules/serviceCenter/services/serviceGeneration/renderers/_pdfFontFallback.py
+++ b/modules/serviceCenter/services/serviceGeneration/renderers/_pdfFontFallback.py
@@ -1,4 +1,4 @@
-# Copyright (c) 2025 Patrick Motsch
+# Copyright (c) 2026 PowerOn AG
# All rights reserved.
"""Inline emoji-font fallback for the ReportLab-based PDF renderer.
diff --git a/modules/serviceCenter/services/serviceGeneration/renderers/codeRendererBaseTemplate.py b/modules/serviceCenter/services/serviceGeneration/renderers/codeRendererBaseTemplate.py
index d3586b8e..ed47240e 100644
--- a/modules/serviceCenter/services/serviceGeneration/renderers/codeRendererBaseTemplate.py
+++ b/modules/serviceCenter/services/serviceGeneration/renderers/codeRendererBaseTemplate.py
@@ -1,4 +1,4 @@
-# Copyright (c) 2025 Patrick Motsch
+# Copyright (c) 2026 PowerOn AG
# All rights reserved.
"""
Base renderer class for code format renderers.
diff --git a/modules/serviceCenter/services/serviceGeneration/renderers/documentRendererBaseTemplate.py b/modules/serviceCenter/services/serviceGeneration/renderers/documentRendererBaseTemplate.py
index 9fc4d94b..cb44dbc0 100644
--- a/modules/serviceCenter/services/serviceGeneration/renderers/documentRendererBaseTemplate.py
+++ b/modules/serviceCenter/services/serviceGeneration/renderers/documentRendererBaseTemplate.py
@@ -1,4 +1,4 @@
-# Copyright (c) 2025 Patrick Motsch
+# Copyright (c) 2026 PowerOn AG
# All rights reserved.
"""
Base renderer class for all format renderers.
@@ -783,4 +783,4 @@ Requirements:
- Ensure all objects are properly closed with closing braces
- Only modify styles if style instructions are present in the user request
-Return the complete JSON:"""
\ No newline at end of file
+Return the complete JSON:"""
diff --git a/modules/serviceCenter/services/serviceGeneration/renderers/registry.py b/modules/serviceCenter/services/serviceGeneration/renderers/registry.py
index f0cea780..568c63c2 100644
--- a/modules/serviceCenter/services/serviceGeneration/renderers/registry.py
+++ b/modules/serviceCenter/services/serviceGeneration/renderers/registry.py
@@ -1,4 +1,4 @@
-# Copyright (c) 2025 Patrick Motsch
+# Copyright (c) 2026 PowerOn AG
# All rights reserved.
"""
Renderer registry for automatic discovery and registration of renderers.
diff --git a/modules/serviceCenter/services/serviceGeneration/renderers/rendererCodeCsv.py b/modules/serviceCenter/services/serviceGeneration/renderers/rendererCodeCsv.py
index e430c302..90aa95b8 100644
--- a/modules/serviceCenter/services/serviceGeneration/renderers/rendererCodeCsv.py
+++ b/modules/serviceCenter/services/serviceGeneration/renderers/rendererCodeCsv.py
@@ -1,4 +1,4 @@
-# Copyright (c) 2025 Patrick Motsch
+# Copyright (c) 2026 PowerOn AG
# All rights reserved.
"""
CSV code renderer for code generation.
diff --git a/modules/serviceCenter/services/serviceGeneration/renderers/rendererCodeJson.py b/modules/serviceCenter/services/serviceGeneration/renderers/rendererCodeJson.py
index 143be000..ebf5175a 100644
--- a/modules/serviceCenter/services/serviceGeneration/renderers/rendererCodeJson.py
+++ b/modules/serviceCenter/services/serviceGeneration/renderers/rendererCodeJson.py
@@ -1,4 +1,4 @@
-# Copyright (c) 2025 Patrick Motsch
+# Copyright (c) 2026 PowerOn AG
# All rights reserved.
"""
JSON code renderer for code generation.
diff --git a/modules/serviceCenter/services/serviceGeneration/renderers/rendererCodeXml.py b/modules/serviceCenter/services/serviceGeneration/renderers/rendererCodeXml.py
index f4952679..7fd36e13 100644
--- a/modules/serviceCenter/services/serviceGeneration/renderers/rendererCodeXml.py
+++ b/modules/serviceCenter/services/serviceGeneration/renderers/rendererCodeXml.py
@@ -1,4 +1,4 @@
-# Copyright (c) 2025 Patrick Motsch
+# Copyright (c) 2026 PowerOn AG
# All rights reserved.
"""
XML code renderer for code generation.
diff --git a/modules/serviceCenter/services/serviceGeneration/renderers/rendererCsv.py b/modules/serviceCenter/services/serviceGeneration/renderers/rendererCsv.py
index d08fc1fe..4a0333bc 100644
--- a/modules/serviceCenter/services/serviceGeneration/renderers/rendererCsv.py
+++ b/modules/serviceCenter/services/serviceGeneration/renderers/rendererCsv.py
@@ -1,4 +1,4 @@
-# Copyright (c) 2025 Patrick Motsch
+# Copyright (c) 2026 PowerOn AG
# All rights reserved.
"""
CSV renderer for report generation.
diff --git a/modules/serviceCenter/services/serviceGeneration/renderers/rendererDocx.py b/modules/serviceCenter/services/serviceGeneration/renderers/rendererDocx.py
index 7e427dd4..fdc2f3c4 100644
--- a/modules/serviceCenter/services/serviceGeneration/renderers/rendererDocx.py
+++ b/modules/serviceCenter/services/serviceGeneration/renderers/rendererDocx.py
@@ -1,4 +1,4 @@
-# Copyright (c) 2025 Patrick Motsch
+# Copyright (c) 2026 PowerOn AG
# All rights reserved.
"""
DOCX renderer for report generation using python-docx.
diff --git a/modules/serviceCenter/services/serviceGeneration/renderers/rendererHtml.py b/modules/serviceCenter/services/serviceGeneration/renderers/rendererHtml.py
index fe624723..fee4b2df 100644
--- a/modules/serviceCenter/services/serviceGeneration/renderers/rendererHtml.py
+++ b/modules/serviceCenter/services/serviceGeneration/renderers/rendererHtml.py
@@ -1,4 +1,4 @@
-# Copyright (c) 2025 Patrick Motsch
+# Copyright (c) 2026 PowerOn AG
# All rights reserved.
"""
HTML renderer for report generation.
diff --git a/modules/serviceCenter/services/serviceGeneration/renderers/rendererImage.py b/modules/serviceCenter/services/serviceGeneration/renderers/rendererImage.py
index 2c8524e3..2624c64f 100644
--- a/modules/serviceCenter/services/serviceGeneration/renderers/rendererImage.py
+++ b/modules/serviceCenter/services/serviceGeneration/renderers/rendererImage.py
@@ -1,4 +1,4 @@
-# Copyright (c) 2025 Patrick Motsch
+# Copyright (c) 2026 PowerOn AG
# All rights reserved.
"""
Image renderer for report generation using AI image generation.
diff --git a/modules/serviceCenter/services/serviceGeneration/renderers/rendererJson.py b/modules/serviceCenter/services/serviceGeneration/renderers/rendererJson.py
index bc6b6a85..1de10105 100644
--- a/modules/serviceCenter/services/serviceGeneration/renderers/rendererJson.py
+++ b/modules/serviceCenter/services/serviceGeneration/renderers/rendererJson.py
@@ -1,4 +1,4 @@
-# Copyright (c) 2025 Patrick Motsch
+# Copyright (c) 2026 PowerOn AG
# All rights reserved.
"""
JSON renderer for report generation.
diff --git a/modules/serviceCenter/services/serviceGeneration/renderers/rendererMarkdown.py b/modules/serviceCenter/services/serviceGeneration/renderers/rendererMarkdown.py
index b2458f19..f0454690 100644
--- a/modules/serviceCenter/services/serviceGeneration/renderers/rendererMarkdown.py
+++ b/modules/serviceCenter/services/serviceGeneration/renderers/rendererMarkdown.py
@@ -1,4 +1,4 @@
-# Copyright (c) 2025 Patrick Motsch
+# Copyright (c) 2026 PowerOn AG
# All rights reserved.
"""
Markdown renderer for report generation.
diff --git a/modules/serviceCenter/services/serviceGeneration/renderers/rendererPdf.py b/modules/serviceCenter/services/serviceGeneration/renderers/rendererPdf.py
index a7df6875..0543a7f3 100644
--- a/modules/serviceCenter/services/serviceGeneration/renderers/rendererPdf.py
+++ b/modules/serviceCenter/services/serviceGeneration/renderers/rendererPdf.py
@@ -1,4 +1,4 @@
-# Copyright (c) 2025 Patrick Motsch
+# Copyright (c) 2026 PowerOn AG
# All rights reserved.
"""
PDF renderer for report generation using reportlab.
@@ -1290,4 +1290,4 @@ class RendererPdf(BaseRenderer):
errorStyle = self._createNormalStyle(styles)
errorStyle.textColor = self._hexToColor("#FF0000") # Red color for error
errorMsg = f"[Error: Could not render image '{image_data.get('altText', 'Image')}'. {str(e)}]"
- return [Paragraph(errorMsg, errorStyle)]
\ No newline at end of file
+ return [Paragraph(errorMsg, errorStyle)]
diff --git a/modules/serviceCenter/services/serviceGeneration/renderers/rendererPptx.py b/modules/serviceCenter/services/serviceGeneration/renderers/rendererPptx.py
index 36d399d8..1547086f 100644
--- a/modules/serviceCenter/services/serviceGeneration/renderers/rendererPptx.py
+++ b/modules/serviceCenter/services/serviceGeneration/renderers/rendererPptx.py
@@ -1,4 +1,4 @@
-# Copyright (c) 2025 Patrick Motsch
+# Copyright (c) 2026 PowerOn AG
# All rights reserved.
import logging
import base64
diff --git a/modules/serviceCenter/services/serviceGeneration/renderers/rendererText.py b/modules/serviceCenter/services/serviceGeneration/renderers/rendererText.py
index 1af2aec5..366139e8 100644
--- a/modules/serviceCenter/services/serviceGeneration/renderers/rendererText.py
+++ b/modules/serviceCenter/services/serviceGeneration/renderers/rendererText.py
@@ -1,4 +1,4 @@
-# Copyright (c) 2025 Patrick Motsch
+# Copyright (c) 2026 PowerOn AG
# All rights reserved.
"""
Text renderer for report generation.
diff --git a/modules/serviceCenter/services/serviceGeneration/renderers/rendererXlsx.py b/modules/serviceCenter/services/serviceGeneration/renderers/rendererXlsx.py
index d82e4a55..aaa5d022 100644
--- a/modules/serviceCenter/services/serviceGeneration/renderers/rendererXlsx.py
+++ b/modules/serviceCenter/services/serviceGeneration/renderers/rendererXlsx.py
@@ -1,4 +1,4 @@
-# Copyright (c) 2025 Patrick Motsch
+# Copyright (c) 2026 PowerOn AG
# All rights reserved.
"""
Excel renderer for report generation using openpyxl.
diff --git a/modules/serviceCenter/services/serviceGeneration/styleDefaults.py b/modules/serviceCenter/services/serviceGeneration/styleDefaults.py
index 8d60c282..abd21feb 100644
--- a/modules/serviceCenter/services/serviceGeneration/styleDefaults.py
+++ b/modules/serviceCenter/services/serviceGeneration/styleDefaults.py
@@ -1,4 +1,4 @@
-# Copyright (c) 2025 Patrick Motsch
+# Copyright (c) 2026 PowerOn AG
# All rights reserved.
"""Default style definitions and style resolution for document rendering."""
diff --git a/modules/serviceCenter/services/serviceGeneration/subContentGenerator.py b/modules/serviceCenter/services/serviceGeneration/subContentGenerator.py
index c8713fee..4a6c325a 100644
--- a/modules/serviceCenter/services/serviceGeneration/subContentGenerator.py
+++ b/modules/serviceCenter/services/serviceGeneration/subContentGenerator.py
@@ -1,4 +1,4 @@
-# Copyright (c) 2025 Patrick Motsch
+# Copyright (c) 2026 PowerOn AG
# All rights reserved.
"""
Content Generator for hierarchical document generation.
diff --git a/modules/serviceCenter/services/serviceGeneration/subContentIntegrator.py b/modules/serviceCenter/services/serviceGeneration/subContentIntegrator.py
index 1a83eb6e..3dcc057e 100644
--- a/modules/serviceCenter/services/serviceGeneration/subContentIntegrator.py
+++ b/modules/serviceCenter/services/serviceGeneration/subContentIntegrator.py
@@ -1,4 +1,4 @@
-# Copyright (c) 2025 Patrick Motsch
+# Copyright (c) 2026 PowerOn AG
# All rights reserved.
"""
Content Integrator for hierarchical document generation.
diff --git a/modules/serviceCenter/services/serviceGeneration/subDocumentUtility.py b/modules/serviceCenter/services/serviceGeneration/subDocumentUtility.py
index 21ba33d1..e70920a8 100644
--- a/modules/serviceCenter/services/serviceGeneration/subDocumentUtility.py
+++ b/modules/serviceCenter/services/serviceGeneration/subDocumentUtility.py
@@ -1,4 +1,4 @@
-# Copyright (c) 2025 Patrick Motsch
+# Copyright (c) 2026 PowerOn AG
# All rights reserved.
import json
import logging
@@ -542,4 +542,4 @@ def convertDocumentDataToString(document_data: Any, file_extension: str) -> str:
return str(document_data)
except Exception as e:
logger.error(f"Error converting document data to string: {str(e)}")
- return str(document_data)
\ No newline at end of file
+ return str(document_data)
diff --git a/modules/serviceCenter/services/serviceGeneration/subJsonSchema.py b/modules/serviceCenter/services/serviceGeneration/subJsonSchema.py
index 22359499..67c7db5c 100644
--- a/modules/serviceCenter/services/serviceGeneration/subJsonSchema.py
+++ b/modules/serviceCenter/services/serviceGeneration/subJsonSchema.py
@@ -1,4 +1,4 @@
-# Copyright (c) 2025 Patrick Motsch
+# Copyright (c) 2026 PowerOn AG
# All rights reserved.
"""
JSON Schema definitions for AI-generated document structures (unified).
diff --git a/modules/serviceCenter/services/serviceGeneration/subPromptBuilderGeneration.py b/modules/serviceCenter/services/serviceGeneration/subPromptBuilderGeneration.py
index f0222dce..cd4462f2 100644
--- a/modules/serviceCenter/services/serviceGeneration/subPromptBuilderGeneration.py
+++ b/modules/serviceCenter/services/serviceGeneration/subPromptBuilderGeneration.py
@@ -1,4 +1,4 @@
-# Copyright (c) 2025 Patrick Motsch
+# Copyright (c) 2026 PowerOn AG
# All rights reserved.
"""
Prompt builder for document generation.
diff --git a/modules/serviceCenter/services/serviceGeneration/subStructureGenerator.py b/modules/serviceCenter/services/serviceGeneration/subStructureGenerator.py
index c2438fc0..cd9c4d11 100644
--- a/modules/serviceCenter/services/serviceGeneration/subStructureGenerator.py
+++ b/modules/serviceCenter/services/serviceGeneration/subStructureGenerator.py
@@ -1,4 +1,4 @@
-# Copyright (c) 2025 Patrick Motsch
+# Copyright (c) 2026 PowerOn AG
# All rights reserved.
"""
Structure Generator for hierarchical document generation.
diff --git a/modules/serviceCenter/services/serviceKnowledge/__init__.py b/modules/serviceCenter/services/serviceKnowledge/__init__.py
index a5d1fc04..6dde9734 100644
--- a/modules/serviceCenter/services/serviceKnowledge/__init__.py
+++ b/modules/serviceCenter/services/serviceKnowledge/__init__.py
@@ -1,3 +1,3 @@
-# Copyright (c) 2025 Patrick Motsch
+# Copyright (c) 2026 PowerOn AG
# All rights reserved.
"""serviceKnowledge: 3-tier RAG Knowledge Store with semantic search."""
diff --git a/modules/serviceCenter/services/serviceKnowledge/_buildTree.py b/modules/serviceCenter/services/serviceKnowledge/_buildTree.py
index cf32a925..e750e5a1 100644
--- a/modules/serviceCenter/services/serviceKnowledge/_buildTree.py
+++ b/modules/serviceCenter/services/serviceKnowledge/_buildTree.py
@@ -1,4 +1,4 @@
-# Copyright (c) 2025 Patrick Motsch
+# Copyright (c) 2026 PowerOn AG
# All rights reserved.
"""Generic UDB Tree builder.
diff --git a/modules/serviceCenter/services/serviceKnowledge/costEstimate.py b/modules/serviceCenter/services/serviceKnowledge/costEstimate.py
index c50da1fa..31b0035a 100644
--- a/modules/serviceCenter/services/serviceKnowledge/costEstimate.py
+++ b/modules/serviceCenter/services/serviceKnowledge/costEstimate.py
@@ -1,4 +1,4 @@
-# Copyright (c) 2025 Patrick Motsch
+# Copyright (c) 2026 PowerOn AG
# All rights reserved.
"""Indicative cost estimation for a RAG bootstrap run.
diff --git a/modules/serviceCenter/services/serviceKnowledge/mainServiceKnowledge.py b/modules/serviceCenter/services/serviceKnowledge/mainServiceKnowledge.py
index 095e97cc..d2c0830b 100644
--- a/modules/serviceCenter/services/serviceKnowledge/mainServiceKnowledge.py
+++ b/modules/serviceCenter/services/serviceKnowledge/mainServiceKnowledge.py
@@ -1,4 +1,4 @@
-# Copyright (c) 2025 Patrick Motsch
+# Copyright (c) 2026 PowerOn AG
# All rights reserved.
"""Knowledge service: 3-tier RAG with indexing, semantic search, and context building."""
diff --git a/modules/serviceCenter/services/serviceKnowledge/ragLimits.py b/modules/serviceCenter/services/serviceKnowledge/ragLimits.py
index de0a4886..c6c6b54a 100644
--- a/modules/serviceCenter/services/serviceKnowledge/ragLimits.py
+++ b/modules/serviceCenter/services/serviceKnowledge/ragLimits.py
@@ -1,4 +1,4 @@
-# Copyright (c) 2025 Patrick Motsch
+# Copyright (c) 2026 PowerOn AG
# All rights reserved.
"""Centralized RAG bootstrap limits + DataSource-scoped resolution.
diff --git a/modules/serviceCenter/services/serviceKnowledge/subConnectorIngestConsumer.py b/modules/serviceCenter/services/serviceKnowledge/subConnectorIngestConsumer.py
index 5fec915e..dca5b01a 100644
--- a/modules/serviceCenter/services/serviceKnowledge/subConnectorIngestConsumer.py
+++ b/modules/serviceCenter/services/serviceKnowledge/subConnectorIngestConsumer.py
@@ -1,4 +1,4 @@
-# Copyright (c) 2025 Patrick Motsch
+# Copyright (c) 2026 PowerOn AG
# All rights reserved.
"""Connection-lifecycle consumer bridging OAuth events to ingestion jobs.
diff --git a/modules/serviceCenter/services/serviceKnowledge/subConnectorSyncClickup.py b/modules/serviceCenter/services/serviceKnowledge/subConnectorSyncClickup.py
index edddb2c1..8cb3d74a 100644
--- a/modules/serviceCenter/services/serviceKnowledge/subConnectorSyncClickup.py
+++ b/modules/serviceCenter/services/serviceKnowledge/subConnectorSyncClickup.py
@@ -1,4 +1,4 @@
-# Copyright (c) 2025 Patrick Motsch
+# Copyright (c) 2026 PowerOn AG
# All rights reserved.
"""ClickUp bootstrap for the unified knowledge ingestion lane.
diff --git a/modules/serviceCenter/services/serviceKnowledge/subConnectorSyncGdrive.py b/modules/serviceCenter/services/serviceKnowledge/subConnectorSyncGdrive.py
index 7c485a82..ae5edb8f 100644
--- a/modules/serviceCenter/services/serviceKnowledge/subConnectorSyncGdrive.py
+++ b/modules/serviceCenter/services/serviceKnowledge/subConnectorSyncGdrive.py
@@ -1,4 +1,4 @@
-# Copyright (c) 2025 Patrick Motsch
+# Copyright (c) 2026 PowerOn AG
# All rights reserved.
"""Google Drive bootstrap for the unified knowledge ingestion lane.
diff --git a/modules/serviceCenter/services/serviceKnowledge/subConnectorSyncGmail.py b/modules/serviceCenter/services/serviceKnowledge/subConnectorSyncGmail.py
index b07f83c3..8e2f5935 100644
--- a/modules/serviceCenter/services/serviceKnowledge/subConnectorSyncGmail.py
+++ b/modules/serviceCenter/services/serviceKnowledge/subConnectorSyncGmail.py
@@ -1,4 +1,4 @@
-# Copyright (c) 2025 Patrick Motsch
+# Copyright (c) 2026 PowerOn AG
# All rights reserved.
"""Gmail bootstrap for the unified knowledge ingestion lane.
diff --git a/modules/serviceCenter/services/serviceKnowledge/subConnectorSyncKdrive.py b/modules/serviceCenter/services/serviceKnowledge/subConnectorSyncKdrive.py
index 5dd3174c..f264ea2b 100644
--- a/modules/serviceCenter/services/serviceKnowledge/subConnectorSyncKdrive.py
+++ b/modules/serviceCenter/services/serviceKnowledge/subConnectorSyncKdrive.py
@@ -1,4 +1,4 @@
-# Copyright (c) 2025 Patrick Motsch
+# Copyright (c) 2026 PowerOn AG
# All rights reserved.
"""kDrive bootstrap for the unified knowledge ingestion lane.
diff --git a/modules/serviceCenter/services/serviceKnowledge/subConnectorSyncOutlook.py b/modules/serviceCenter/services/serviceKnowledge/subConnectorSyncOutlook.py
index eb131350..53b688ee 100644
--- a/modules/serviceCenter/services/serviceKnowledge/subConnectorSyncOutlook.py
+++ b/modules/serviceCenter/services/serviceKnowledge/subConnectorSyncOutlook.py
@@ -1,4 +1,4 @@
-# Copyright (c) 2025 Patrick Motsch
+# Copyright (c) 2026 PowerOn AG
# All rights reserved.
"""Outlook bootstrap for the unified knowledge ingestion lane.
diff --git a/modules/serviceCenter/services/serviceKnowledge/subConnectorSyncSharepoint.py b/modules/serviceCenter/services/serviceKnowledge/subConnectorSyncSharepoint.py
index adb4b841..6eda9d20 100644
--- a/modules/serviceCenter/services/serviceKnowledge/subConnectorSyncSharepoint.py
+++ b/modules/serviceCenter/services/serviceKnowledge/subConnectorSyncSharepoint.py
@@ -1,4 +1,4 @@
-# Copyright (c) 2025 Patrick Motsch
+# Copyright (c) 2026 PowerOn AG
# All rights reserved.
"""SharePoint bootstrap for the unified knowledge ingestion lane.
diff --git a/modules/serviceCenter/services/serviceKnowledge/subFeatureBootstrap.py b/modules/serviceCenter/services/serviceKnowledge/subFeatureBootstrap.py
index f1cd3887..1c4b838e 100644
--- a/modules/serviceCenter/services/serviceKnowledge/subFeatureBootstrap.py
+++ b/modules/serviceCenter/services/serviceKnowledge/subFeatureBootstrap.py
@@ -1,4 +1,4 @@
-# Copyright (c) 2025 Patrick Motsch
+# Copyright (c) 2026 PowerOn AG
# All rights reserved.
"""Feature-data RAG bootstrap: indexes FeatureDataSource rows into the knowledge store.
diff --git a/modules/serviceCenter/services/serviceKnowledge/subPreScan.py b/modules/serviceCenter/services/serviceKnowledge/subPreScan.py
index 0688deb2..d798b78d 100644
--- a/modules/serviceCenter/services/serviceKnowledge/subPreScan.py
+++ b/modules/serviceCenter/services/serviceKnowledge/subPreScan.py
@@ -1,4 +1,4 @@
-# Copyright (c) 2025 Patrick Motsch
+# Copyright (c) 2026 PowerOn AG
# All rights reserved.
"""Structure Pre-Scan: fast, AI-free document analysis.
diff --git a/modules/serviceCenter/services/serviceKnowledge/subTextClean.py b/modules/serviceCenter/services/serviceKnowledge/subTextClean.py
index 2d352cfa..cea45082 100644
--- a/modules/serviceCenter/services/serviceKnowledge/subTextClean.py
+++ b/modules/serviceCenter/services/serviceKnowledge/subTextClean.py
@@ -1,4 +1,4 @@
-# Copyright (c) 2025 Patrick Motsch
+# Copyright (c) 2026 PowerOn AG
# All rights reserved.
"""Text normalisation utilities used by knowledge ingestion.
diff --git a/modules/serviceCenter/services/serviceKnowledge/subWalkerHelpers.py b/modules/serviceCenter/services/serviceKnowledge/subWalkerHelpers.py
index 41d9d458..51ef0161 100644
--- a/modules/serviceCenter/services/serviceKnowledge/subWalkerHelpers.py
+++ b/modules/serviceCenter/services/serviceKnowledge/subWalkerHelpers.py
@@ -1,4 +1,4 @@
-# Copyright (c) 2025 Patrick Motsch
+# Copyright (c) 2026 PowerOn AG
# All rights reserved.
"""Shared helpers for ingestion walkers (timeouts, per-item logging).
diff --git a/modules/serviceCenter/services/serviceKnowledge/udbNodes.py b/modules/serviceCenter/services/serviceKnowledge/udbNodes.py
index 879983dd..00f07bfb 100644
--- a/modules/serviceCenter/services/serviceKnowledge/udbNodes.py
+++ b/modules/serviceCenter/services/serviceKnowledge/udbNodes.py
@@ -1,4 +1,4 @@
-# Copyright (c) 2026 Patrick Motsch
+# Copyright (c) 2026 PowerOn AG
# All rights reserved.
"""Polymorphic UdbNode hierarchy for the Unified Data Bar.
diff --git a/modules/serviceCenter/services/serviceMessaging/__init__.py b/modules/serviceCenter/services/serviceMessaging/__init__.py
index 83b4dfa8..700bf73a 100644
--- a/modules/serviceCenter/services/serviceMessaging/__init__.py
+++ b/modules/serviceCenter/services/serviceMessaging/__init__.py
@@ -1,4 +1,4 @@
-# Copyright (c) 2025 Patrick Motsch
+# Copyright (c) 2026 PowerOn AG
# All rights reserved.
"""Messaging service for the service center."""
diff --git a/modules/serviceCenter/services/serviceMessaging/mainServiceMessaging.py b/modules/serviceCenter/services/serviceMessaging/mainServiceMessaging.py
index cc43ca0c..c6ca8a0a 100644
--- a/modules/serviceCenter/services/serviceMessaging/mainServiceMessaging.py
+++ b/modules/serviceCenter/services/serviceMessaging/mainServiceMessaging.py
@@ -1,4 +1,4 @@
-# Copyright (c) 2025 Patrick Motsch
+# Copyright (c) 2026 PowerOn AG
# All rights reserved.
"""
Messaging service for sending messages across different channels.
diff --git a/modules/serviceCenter/services/serviceMessaging/subscriptions/__init__.py b/modules/serviceCenter/services/serviceMessaging/subscriptions/__init__.py
index 1a631412..aada1c7c 100644
--- a/modules/serviceCenter/services/serviceMessaging/subscriptions/__init__.py
+++ b/modules/serviceCenter/services/serviceMessaging/subscriptions/__init__.py
@@ -1,3 +1,3 @@
-# Copyright (c) 2025 Patrick Motsch
+# Copyright (c) 2026 PowerOn AG
# All rights reserved.
"""Subscription functions for the messaging service."""
diff --git a/modules/serviceCenter/services/serviceMessaging/subscriptions/subSubscriptionSystemErrors.py b/modules/serviceCenter/services/serviceMessaging/subscriptions/subSubscriptionSystemErrors.py
index 447bf076..4a5d8366 100644
--- a/modules/serviceCenter/services/serviceMessaging/subscriptions/subSubscriptionSystemErrors.py
+++ b/modules/serviceCenter/services/serviceMessaging/subscriptions/subSubscriptionSystemErrors.py
@@ -1,4 +1,4 @@
-# Copyright (c) 2025 Patrick Motsch
+# Copyright (c) 2026 PowerOn AG
# All rights reserved.
"""
Example subscription function for System Errors.
diff --git a/modules/serviceCenter/services/serviceMessaging/subscriptions/subSubscriptionWorkflowAutomationRunFailed.py b/modules/serviceCenter/services/serviceMessaging/subscriptions/subSubscriptionWorkflowAutomationRunFailed.py
index b1cfecd0..729fe483 100644
--- a/modules/serviceCenter/services/serviceMessaging/subscriptions/subSubscriptionWorkflowAutomationRunFailed.py
+++ b/modules/serviceCenter/services/serviceMessaging/subscriptions/subSubscriptionWorkflowAutomationRunFailed.py
@@ -1,4 +1,4 @@
-# Copyright (c) 2025 Patrick Motsch
+# Copyright (c) 2026 PowerOn AG
# All rights reserved.
"""
Subscription handler for WorkflowAutomation workflow run failures.
diff --git a/modules/serviceCenter/services/serviceSharepoint/__init__.py b/modules/serviceCenter/services/serviceSharepoint/__init__.py
index d1ce925c..befa27e5 100644
--- a/modules/serviceCenter/services/serviceSharepoint/__init__.py
+++ b/modules/serviceCenter/services/serviceSharepoint/__init__.py
@@ -1,4 +1,4 @@
-# Copyright (c) 2025 Patrick Motsch
+# Copyright (c) 2026 PowerOn AG
# All rights reserved.
"""SharePoint service."""
diff --git a/modules/serviceCenter/services/serviceSharepoint/mainServiceSharepoint.py b/modules/serviceCenter/services/serviceSharepoint/mainServiceSharepoint.py
index e6cbc8e4..d31cfdda 100644
--- a/modules/serviceCenter/services/serviceSharepoint/mainServiceSharepoint.py
+++ b/modules/serviceCenter/services/serviceSharepoint/mainServiceSharepoint.py
@@ -1,4 +1,4 @@
-# Copyright (c) 2025 Patrick Motsch
+# Copyright (c) 2026 PowerOn AG
# All rights reserved.
"""Connector for SharePoint operations using Microsoft Graph API."""
diff --git a/modules/serviceCenter/services/serviceSubscription/enterpriseRenewalScheduler.py b/modules/serviceCenter/services/serviceSubscription/enterpriseRenewalScheduler.py
index 9db20b0f..4cf85b66 100644
--- a/modules/serviceCenter/services/serviceSubscription/enterpriseRenewalScheduler.py
+++ b/modules/serviceCenter/services/serviceSubscription/enterpriseRenewalScheduler.py
@@ -1,4 +1,4 @@
-# Copyright (c) 2025 Patrick Motsch
+# Copyright (c) 2026 PowerOn AG
# All rights reserved.
"""Enterprise subscription auto-renewal scheduler.
diff --git a/modules/serviceCenter/services/serviceSubscription/mainServiceSubscription.py b/modules/serviceCenter/services/serviceSubscription/mainServiceSubscription.py
index e5924aaf..439d9a5b 100644
--- a/modules/serviceCenter/services/serviceSubscription/mainServiceSubscription.py
+++ b/modules/serviceCenter/services/serviceSubscription/mainServiceSubscription.py
@@ -1,4 +1,4 @@
-# Copyright (c) 2025 Patrick Motsch
+# Copyright (c) 2026 PowerOn AG
# All rights reserved.
"""
Subscription Service — state-machine-based lifecycle management.
diff --git a/modules/serviceCenter/services/serviceSubscription/stripeBootstrap.py b/modules/serviceCenter/services/serviceSubscription/stripeBootstrap.py
index 73fbfb02..37d6a4df 100644
--- a/modules/serviceCenter/services/serviceSubscription/stripeBootstrap.py
+++ b/modules/serviceCenter/services/serviceSubscription/stripeBootstrap.py
@@ -1,4 +1,4 @@
-# Copyright (c) 2025 Patrick Motsch
+# Copyright (c) 2026 PowerOn AG
# All rights reserved.
"""
Auto-provision Stripe Products and Prices from the built-in plan catalog.
diff --git a/modules/serviceCenter/services/serviceTicket/__init__.py b/modules/serviceCenter/services/serviceTicket/__init__.py
index b2403cc9..83bab1db 100644
--- a/modules/serviceCenter/services/serviceTicket/__init__.py
+++ b/modules/serviceCenter/services/serviceTicket/__init__.py
@@ -1,4 +1,4 @@
-# Copyright (c) 2025 Patrick Motsch
+# Copyright (c) 2026 PowerOn AG
# All rights reserved.
"""Ticket service."""
diff --git a/modules/serviceCenter/services/serviceTicket/mainServiceTicket.py b/modules/serviceCenter/services/serviceTicket/mainServiceTicket.py
index ea229940..af797cb7 100644
--- a/modules/serviceCenter/services/serviceTicket/mainServiceTicket.py
+++ b/modules/serviceCenter/services/serviceTicket/mainServiceTicket.py
@@ -1,4 +1,4 @@
-# Copyright (c) 2025 Patrick Motsch
+# Copyright (c) 2026 PowerOn AG
# All rights reserved.
"""Ticket service for creating ticket interfaces."""
diff --git a/modules/serviceCenter/services/serviceWeb/__init__.py b/modules/serviceCenter/services/serviceWeb/__init__.py
index a4085312..38929add 100644
--- a/modules/serviceCenter/services/serviceWeb/__init__.py
+++ b/modules/serviceCenter/services/serviceWeb/__init__.py
@@ -1,4 +1,4 @@
-# Copyright (c) 2025 Patrick Motsch
+# Copyright (c) 2026 PowerOn AG
# All rights reserved.
"""Web research service."""
diff --git a/modules/serviceCenter/services/serviceWeb/mainServiceWeb.py b/modules/serviceCenter/services/serviceWeb/mainServiceWeb.py
index c6403c8d..a54b50b8 100644
--- a/modules/serviceCenter/services/serviceWeb/mainServiceWeb.py
+++ b/modules/serviceCenter/services/serviceWeb/mainServiceWeb.py
@@ -1,4 +1,4 @@
-# Copyright (c) 2025 Patrick Motsch
+# Copyright (c) 2026 PowerOn AG
# All rights reserved.
"""
Web crawl service for handling web research operations.
diff --git a/modules/shared/__init__.py b/modules/shared/__init__.py
index 6d67ce5c..f520f36c 100644
--- a/modules/shared/__init__.py
+++ b/modules/shared/__init__.py
@@ -1,4 +1,4 @@
-# Copyright (c) 2025 Patrick Motsch
+# Copyright (c) 2026 PowerOn AG
# All rights reserved.
"""
Shared utilities module.
diff --git a/modules/shared/attributeUtils.py b/modules/shared/attributeUtils.py
index 35d94d2e..7c17ab1c 100644
--- a/modules/shared/attributeUtils.py
+++ b/modules/shared/attributeUtils.py
@@ -1,4 +1,4 @@
-# Copyright (c) 2025 Patrick Motsch
+# Copyright (c) 2026 PowerOn AG
# All rights reserved.
"""
Shared utilities for model attributes and labels.
diff --git a/modules/shared/callbackRegistry.py b/modules/shared/callbackRegistry.py
index 361f4e1d..4e972fa3 100644
--- a/modules/shared/callbackRegistry.py
+++ b/modules/shared/callbackRegistry.py
@@ -1,4 +1,4 @@
-# Copyright (c) 2025 Patrick Motsch
+# Copyright (c) 2026 PowerOn AG
# All rights reserved.
"""
Callback registry for decoupled event notifications.
diff --git a/modules/shared/configuration.py b/modules/shared/configuration.py
index fc7578f2..f7909533 100644
--- a/modules/shared/configuration.py
+++ b/modules/shared/configuration.py
@@ -1,4 +1,4 @@
-# Copyright (c) 2025 Patrick Motsch
+# Copyright (c) 2026 PowerOn AG
# All rights reserved.
"""
Utility module for configuration management.
@@ -586,4 +586,4 @@ def clearDecryptionCache() -> None:
_decryption_cache.clear()
# Create the global APP_CONFIG instance
-APP_CONFIG = Configuration()
\ No newline at end of file
+APP_CONFIG = Configuration()
diff --git a/modules/shared/dateRange.py b/modules/shared/dateRange.py
index 54a7c594..4a0ea3fa 100644
--- a/modules/shared/dateRange.py
+++ b/modules/shared/dateRange.py
@@ -1,4 +1,4 @@
-# Copyright (c) 2025 Patrick Motsch
+# Copyright (c) 2026 PowerOn AG
# All rights reserved.
"""
Date-range parsing for API endpoints that accept user-provided
diff --git a/modules/shared/debugLogger.py b/modules/shared/debugLogger.py
index 9062ed53..210a9251 100644
--- a/modules/shared/debugLogger.py
+++ b/modules/shared/debugLogger.py
@@ -1,4 +1,4 @@
-# Copyright (c) 2025 Patrick Motsch
+# Copyright (c) 2026 PowerOn AG
# All rights reserved.
"""
Simple debug logger for AI prompts and responses.
diff --git a/modules/shared/documentUtils.py b/modules/shared/documentUtils.py
index 37eec8a5..c9e5c53b 100644
--- a/modules/shared/documentUtils.py
+++ b/modules/shared/documentUtils.py
@@ -1,4 +1,4 @@
-# Copyright (c) 2025 Patrick Motsch
+# Copyright (c) 2026 PowerOn AG
# All rights reserved.
"""
Document utility functions (Layer L0 - shared).
diff --git a/modules/shared/eventManagement.py b/modules/shared/eventManagement.py
index 1edd53be..728b7a38 100644
--- a/modules/shared/eventManagement.py
+++ b/modules/shared/eventManagement.py
@@ -1,4 +1,4 @@
-# Copyright (c) 2025 Patrick Motsch
+# Copyright (c) 2026 PowerOn AG
# All rights reserved.
import asyncio
import logging
diff --git a/modules/shared/eventManager.py b/modules/shared/eventManager.py
index 13b0b322..9b49edba 100644
--- a/modules/shared/eventManager.py
+++ b/modules/shared/eventManager.py
@@ -1,4 +1,4 @@
-# Copyright (c) 2025 Patrick Motsch
+# Copyright (c) 2026 PowerOn AG
# All rights reserved.
"""
Event manager for SSE streaming (Layer L0 - shared).
diff --git a/modules/shared/featureDiscovery.py b/modules/shared/featureDiscovery.py
index 0332e9c1..a5eabcb8 100644
--- a/modules/shared/featureDiscovery.py
+++ b/modules/shared/featureDiscovery.py
@@ -1,4 +1,4 @@
-# Copyright (c) 2025 Patrick Motsch
+# Copyright (c) 2026 PowerOn AG
# All rights reserved.
"""
Feature discovery utility (Layer L0 - shared).
diff --git a/modules/shared/frontendTypes.py b/modules/shared/frontendTypes.py
index 46b142a1..5740ca19 100644
--- a/modules/shared/frontendTypes.py
+++ b/modules/shared/frontendTypes.py
@@ -1,4 +1,4 @@
-# Copyright (c) 2025 Patrick Motsch
+# Copyright (c) 2026 PowerOn AG
# All rights reserved.
"""
Global frontend type definitions for UI rendering.
diff --git a/modules/shared/httpResilience.py b/modules/shared/httpResilience.py
index 504686c8..f7226b7d 100644
--- a/modules/shared/httpResilience.py
+++ b/modules/shared/httpResilience.py
@@ -1,4 +1,4 @@
-# Copyright (c) 2025 Patrick Motsch
+# Copyright (c) 2026 PowerOn AG
# All rights reserved.
"""Shared HTTP resilience helpers for provider connectors.
diff --git a/modules/shared/i18nRegistry.py b/modules/shared/i18nRegistry.py
index a72dcd9c..af44e2a9 100644
--- a/modules/shared/i18nRegistry.py
+++ b/modules/shared/i18nRegistry.py
@@ -1,4 +1,4 @@
-# Copyright (c) 2025 Patrick Motsch
+# Copyright (c) 2026 PowerOn AG
# All rights reserved.
"""
Gateway i18n registry: t(), @i18nModel, runtime translation cache.
diff --git a/modules/shared/jsonUtils.py b/modules/shared/jsonUtils.py
index ea3c0200..3770cf09 100644
--- a/modules/shared/jsonUtils.py
+++ b/modules/shared/jsonUtils.py
@@ -1,4 +1,4 @@
-# Copyright (c) 2025 Patrick Motsch
+# Copyright (c) 2026 PowerOn AG
# All rights reserved.
import json
import logging
diff --git a/modules/shared/mandateNameUtils.py b/modules/shared/mandateNameUtils.py
index 661aaeee..c1f9795f 100644
--- a/modules/shared/mandateNameUtils.py
+++ b/modules/shared/mandateNameUtils.py
@@ -1,4 +1,4 @@
-# Copyright (c) 2025 Patrick Motsch
+# Copyright (c) 2026 PowerOn AG
# All rights reserved.
"""
Slug and validation helpers for Mandate.name (Kurzzeichen).
diff --git a/modules/shared/progressLogger.py b/modules/shared/progressLogger.py
index dbcb569a..1dfd7b22 100644
--- a/modules/shared/progressLogger.py
+++ b/modules/shared/progressLogger.py
@@ -1,4 +1,4 @@
-# Copyright (c) 2025 Patrick Motsch
+# Copyright (c) 2026 PowerOn AG
# All rights reserved.
"""
Progress Logger utility for standardized progress reporting in workflows.
diff --git a/modules/shared/stripeClient.py b/modules/shared/stripeClient.py
index 3f7dd3a7..68c9549f 100644
--- a/modules/shared/stripeClient.py
+++ b/modules/shared/stripeClient.py
@@ -1,4 +1,4 @@
-# Copyright (c) 2025 Patrick Motsch
+# Copyright (c) 2026 PowerOn AG
# All rights reserved.
"""
Central Stripe SDK initialization.
diff --git a/modules/shared/systemComponentRegistry.py b/modules/shared/systemComponentRegistry.py
index 70cd485d..9594280d 100644
--- a/modules/shared/systemComponentRegistry.py
+++ b/modules/shared/systemComponentRegistry.py
@@ -1,4 +1,5 @@
-# Copyright (c) 2025 Patrick Motsch
+# Copyright (c) 2026 PowerOn AG
+# All rights reserved.
"""
System-component lifecycle-hook registry (Layer L0 — shared).
diff --git a/modules/shared/timeUtils.py b/modules/shared/timeUtils.py
index 0c7b04f1..32a574f5 100644
--- a/modules/shared/timeUtils.py
+++ b/modules/shared/timeUtils.py
@@ -1,4 +1,4 @@
-# Copyright (c) 2025 Patrick Motsch
+# Copyright (c) 2026 PowerOn AG
# All rights reserved.
"""
Timezone utilities for consistent timestamp handling across the gateway.
@@ -187,4 +187,4 @@ def parseTimestamp(value: Any, default: Optional[float] = None) -> Optional[floa
return float(value)
except (ValueError, TypeError) as e:
logger.warning(f"parseTimestamp: Failed to convert value of type {type(value).__name__} '{value}' to float: {type(e).__name__}: {str(e)}, returning default={default}")
- return default
\ No newline at end of file
+ return default
diff --git a/modules/shared/voiceCatalog.py b/modules/shared/voiceCatalog.py
index 2e98902e..8a371a9e 100644
--- a/modules/shared/voiceCatalog.py
+++ b/modules/shared/voiceCatalog.py
@@ -1,4 +1,4 @@
-# Copyright (c) 2025 Patrick Motsch
+# Copyright (c) 2026 PowerOn AG
# All rights reserved.
"""
Voice / Language Catalog — Single Source of Truth.
diff --git a/modules/shared/workflowArtifactVisibility.py b/modules/shared/workflowArtifactVisibility.py
index 3431bee2..d2041aaf 100644
--- a/modules/shared/workflowArtifactVisibility.py
+++ b/modules/shared/workflowArtifactVisibility.py
@@ -1,4 +1,5 @@
-# Copyright (c) 2025 Patrick Motsch
+# Copyright (c) 2026 PowerOn AG
+# All rights reserved.
"""Heuristics for hiding internal workflow artefacts from user-facing file lists."""
from __future__ import annotations
diff --git a/modules/shared/workflowState.py b/modules/shared/workflowState.py
index 6a8680a3..ed32b6ab 100644
--- a/modules/shared/workflowState.py
+++ b/modules/shared/workflowState.py
@@ -1,4 +1,4 @@
-# Copyright (c) 2025 Patrick Motsch
+# Copyright (c) 2026 PowerOn AG
# All rights reserved.
"""
Workflow State
diff --git a/modules/system/__init__.py b/modules/system/__init__.py
index 7c14ddfa..e1b5c340 100644
--- a/modules/system/__init__.py
+++ b/modules/system/__init__.py
@@ -1,4 +1,4 @@
-# Copyright (c) 2025 Patrick Motsch
+# Copyright (c) 2026 PowerOn AG
# All rights reserved.
"""
System Module - Contains system-level infrastructure:
diff --git a/modules/system/databaseHealth.py b/modules/system/databaseHealth.py
index 111cc592..5a9ec8fd 100644
--- a/modules/system/databaseHealth.py
+++ b/modules/system/databaseHealth.py
@@ -1,4 +1,4 @@
-# Copyright (c) 2025 Patrick Motsch
+# Copyright (c) 2026 PowerOn AG
# All rights reserved.
"""
Database health utilities — table statistics and orphan detection/cleanup.
diff --git a/modules/system/databaseMigration.py b/modules/system/databaseMigration.py
index 4227529e..a05f8f94 100644
--- a/modules/system/databaseMigration.py
+++ b/modules/system/databaseMigration.py
@@ -1,4 +1,4 @@
-# Copyright (c) 2025 Patrick Motsch
+# Copyright (c) 2026 PowerOn AG
# All rights reserved.
"""
Database migration utilities — backup (export) and restore (import) for all
diff --git a/modules/system/gdprDeletion.py b/modules/system/gdprDeletion.py
index ab3a6e2b..8b85a196 100644
--- a/modules/system/gdprDeletion.py
+++ b/modules/system/gdprDeletion.py
@@ -1,4 +1,4 @@
-# Copyright (c) 2025 Patrick Motsch
+# Copyright (c) 2026 PowerOn AG
# All rights reserved.
"""
Generic GDPR data deletion engine.
diff --git a/modules/system/i18nBootSync.py b/modules/system/i18nBootSync.py
index 820376b1..3a96c0b1 100644
--- a/modules/system/i18nBootSync.py
+++ b/modules/system/i18nBootSync.py
@@ -1,4 +1,4 @@
-# Copyright (c) 2025 Patrick Motsch
+# Copyright (c) 2026 PowerOn AG
# All rights reserved.
"""
i18n boot-time logic: label discovery, DB sync, and cache loading.
diff --git a/modules/system/mainSystem.py b/modules/system/mainSystem.py
index b85ccf0b..0d8d01d9 100644
--- a/modules/system/mainSystem.py
+++ b/modules/system/mainSystem.py
@@ -1,4 +1,4 @@
-# Copyright (c) 2025 Patrick Motsch
+# Copyright (c) 2026 PowerOn AG
# All rights reserved.
"""
System Module - Main Module.
diff --git a/modules/system/notifyMandateAdmins.py b/modules/system/notifyMandateAdmins.py
index 25acd9a7..90ce32bf 100644
--- a/modules/system/notifyMandateAdmins.py
+++ b/modules/system/notifyMandateAdmins.py
@@ -1,4 +1,4 @@
-# Copyright (c) 2025 Patrick Motsch
+# Copyright (c) 2026 PowerOn AG
# All rights reserved.
"""
Central notification utility for mandate administrators.
diff --git a/modules/system/registry.py b/modules/system/registry.py
index 1e2dffb4..61856356 100644
--- a/modules/system/registry.py
+++ b/modules/system/registry.py
@@ -1,4 +1,4 @@
-# Copyright (c) 2025 Patrick Motsch
+# Copyright (c) 2026 PowerOn AG
# All rights reserved.
"""
Feature Registry for Plug&Play Feature Container Loading.
diff --git a/modules/workflowAutomation/agentTools.py b/modules/workflowAutomation/agentTools.py
index 88ac3a05..b8b16a29 100644
--- a/modules/workflowAutomation/agentTools.py
+++ b/modules/workflowAutomation/agentTools.py
@@ -1,4 +1,4 @@
-# Copyright (c) 2025 Patrick Motsch
+# Copyright (c) 2026 PowerOn AG
# All rights reserved.
"""
Workflow Toolbox - AI-assisted graph manipulation tools for WorkflowAutomation.
diff --git a/modules/workflowAutomation/editor/_valueKindResolver.py b/modules/workflowAutomation/editor/_valueKindResolver.py
index 63dd849d..e182b58a 100644
--- a/modules/workflowAutomation/editor/_valueKindResolver.py
+++ b/modules/workflowAutomation/editor/_valueKindResolver.py
@@ -1,4 +1,5 @@
-# Copyright (c) 2025 Patrick Motsch
+# Copyright (c) 2026 PowerOn AG
+# All rights reserved.
"""Shared value-kind resolution helpers.
Extracted from conditionOperators so that upstreamPathsService can resolve
diff --git a/modules/workflowAutomation/editor/adapterValidator.py b/modules/workflowAutomation/editor/adapterValidator.py
index 6e430878..4ed5b1c8 100644
--- a/modules/workflowAutomation/editor/adapterValidator.py
+++ b/modules/workflowAutomation/editor/adapterValidator.py
@@ -1,4 +1,4 @@
-# Copyright (c) 2025 Patrick Motsch
+# Copyright (c) 2026 PowerOn AG
# All rights reserved.
"""
Adapter Validator — enforces 5 drift rules between Schicht-3 NodeAdapters
diff --git a/modules/workflowAutomation/editor/conditionOperators.py b/modules/workflowAutomation/editor/conditionOperators.py
index 5b5d611a..b442ed0d 100644
--- a/modules/workflowAutomation/editor/conditionOperators.py
+++ b/modules/workflowAutomation/editor/conditionOperators.py
@@ -1,4 +1,5 @@
-# Copyright (c) 2025 Patrick Motsch
+# Copyright (c) 2026 PowerOn AG
+# All rights reserved.
"""Backend-driven condition operator catalog and value-kind resolution for flow.ifElse."""
from __future__ import annotations
diff --git a/modules/workflowAutomation/editor/nodeRegistry.py b/modules/workflowAutomation/editor/nodeRegistry.py
index 7a7ca1a9..33d4ccaa 100644
--- a/modules/workflowAutomation/editor/nodeRegistry.py
+++ b/modules/workflowAutomation/editor/nodeRegistry.py
@@ -1,4 +1,4 @@
-# Copyright (c) 2025 Patrick Motsch
+# Copyright (c) 2026 PowerOn AG
# All rights reserved.
"""
Node Type Registry for WorkflowAutomation editor - static node definitions (start, input, flow, data, ai, email, …).
diff --git a/modules/workflowAutomation/editor/switchOutput.py b/modules/workflowAutomation/editor/switchOutput.py
index b70c5eb1..5e189e79 100644
--- a/modules/workflowAutomation/editor/switchOutput.py
+++ b/modules/workflowAutomation/editor/switchOutput.py
@@ -1,4 +1,5 @@
-# Copyright (c) 2025 Patrick Motsch
+# Copyright (c) 2026 PowerOn AG
+# All rights reserved.
"""Build flow.switch branch payloads: filtered context + loop-ready items."""
from __future__ import annotations
diff --git a/modules/workflowAutomation/editor/upstreamPathsService.py b/modules/workflowAutomation/editor/upstreamPathsService.py
index a98be149..1f270a96 100644
--- a/modules/workflowAutomation/editor/upstreamPathsService.py
+++ b/modules/workflowAutomation/editor/upstreamPathsService.py
@@ -1,4 +1,5 @@
-# Copyright (c) 2025 Patrick Motsch
+# Copyright (c) 2026 PowerOn AG
+# All rights reserved.
"""Compute pickable upstream paths for DataPicker / AI workflow tools."""
from __future__ import annotations
diff --git a/modules/workflowAutomation/engine/__init__.py b/modules/workflowAutomation/engine/__init__.py
index 0656ab39..0ea8cbbe 100644
--- a/modules/workflowAutomation/engine/__init__.py
+++ b/modules/workflowAutomation/engine/__init__.py
@@ -1,2 +1,3 @@
-# Copyright (c) 2025 Patrick Motsch
+# Copyright (c) 2026 PowerOn AG
+# All rights reserved.
# automation2 - n8n-style graph execution engine.
diff --git a/modules/workflowAutomation/engine/_runNotifications.py b/modules/workflowAutomation/engine/_runNotifications.py
index c8d7786d..6b09ea6c 100644
--- a/modules/workflowAutomation/engine/_runNotifications.py
+++ b/modules/workflowAutomation/engine/_runNotifications.py
@@ -1,4 +1,5 @@
-# Copyright (c) 2025 Patrick Motsch
+# Copyright (c) 2026 PowerOn AG
+# All rights reserved.
"""Run failure notification helpers.
Extracted from scheduler/mainScheduler to break the bidirectional import
diff --git a/modules/workflowAutomation/engine/clickupTaskUpdateMerge.py b/modules/workflowAutomation/engine/clickupTaskUpdateMerge.py
index a74cdaef..5ea56199 100644
--- a/modules/workflowAutomation/engine/clickupTaskUpdateMerge.py
+++ b/modules/workflowAutomation/engine/clickupTaskUpdateMerge.py
@@ -1,4 +1,5 @@
-# Copyright (c) 2025 Patrick Motsch
+# Copyright (c) 2026 PowerOn AG
+# All rights reserved.
# Merge clickup.updateTask node parameter taskUpdateEntries into taskUpdate JSON.
import json
diff --git a/modules/workflowAutomation/engine/executionEngine.py b/modules/workflowAutomation/engine/executionEngine.py
index b1c877c2..e188adab 100644
--- a/modules/workflowAutomation/engine/executionEngine.py
+++ b/modules/workflowAutomation/engine/executionEngine.py
@@ -1,4 +1,5 @@
-# Copyright (c) 2025 Patrick Motsch
+# Copyright (c) 2026 PowerOn AG
+# All rights reserved.
# Main execution engine for automation2 graphs.
import asyncio
diff --git a/modules/workflowAutomation/engine/executors/__init__.py b/modules/workflowAutomation/engine/executors/__init__.py
index 4d2180c3..d6a444df 100644
--- a/modules/workflowAutomation/engine/executors/__init__.py
+++ b/modules/workflowAutomation/engine/executors/__init__.py
@@ -1,4 +1,5 @@
-# Copyright (c) 2025 Patrick Motsch
+# Copyright (c) 2026 PowerOn AG
+# All rights reserved.
# Executors for automation2 node types.
from .triggerExecutor import TriggerExecutor
diff --git a/modules/workflowAutomation/engine/executors/actionNodeExecutor.py b/modules/workflowAutomation/engine/executors/actionNodeExecutor.py
index 82c0cbe1..12dffc31 100644
--- a/modules/workflowAutomation/engine/executors/actionNodeExecutor.py
+++ b/modules/workflowAutomation/engine/executors/actionNodeExecutor.py
@@ -1,4 +1,5 @@
-# Copyright (c) 2025 Patrick Motsch
+# Copyright (c) 2026 PowerOn AG
+# All rights reserved.
# Action node executor — maps ai.*, email.*, sharepoint.*, clickup.*, file.*, trustee.* to method actions.
#
# Typed port system: parameters resolve via DataRefs / static values. Declarative port inheritance
diff --git a/modules/workflowAutomation/engine/executors/dataExecutor.py b/modules/workflowAutomation/engine/executors/dataExecutor.py
index e22eda6f..b2a53966 100644
--- a/modules/workflowAutomation/engine/executors/dataExecutor.py
+++ b/modules/workflowAutomation/engine/executors/dataExecutor.py
@@ -1,4 +1,5 @@
-# Copyright (c) 2025 Patrick Motsch
+# Copyright (c) 2026 PowerOn AG
+# All rights reserved.
# Data manipulation node executor: data.aggregate, data.filter, data.consolidate.
import logging
diff --git a/modules/workflowAutomation/engine/executors/flowExecutor.py b/modules/workflowAutomation/engine/executors/flowExecutor.py
index 0f5f85d1..8029b4e3 100644
--- a/modules/workflowAutomation/engine/executors/flowExecutor.py
+++ b/modules/workflowAutomation/engine/executors/flowExecutor.py
@@ -1,4 +1,5 @@
-# Copyright (c) 2025 Patrick Motsch
+# Copyright (c) 2026 PowerOn AG
+# All rights reserved.
# Flow control node executor (ifElse, switch, loop, merge).
import logging
diff --git a/modules/workflowAutomation/engine/executors/inputExecutor.py b/modules/workflowAutomation/engine/executors/inputExecutor.py
index 926dd3a8..364aca69 100644
--- a/modules/workflowAutomation/engine/executors/inputExecutor.py
+++ b/modules/workflowAutomation/engine/executors/inputExecutor.py
@@ -1,4 +1,5 @@
-# Copyright (c) 2025 Patrick Motsch
+# Copyright (c) 2026 PowerOn AG
+# All rights reserved.
# Input/Human node executor - creates tasks and pauses execution.
import logging
diff --git a/modules/workflowAutomation/engine/executors/ioExecutor.py b/modules/workflowAutomation/engine/executors/ioExecutor.py
index ae527adf..805a0338 100644
--- a/modules/workflowAutomation/engine/executors/ioExecutor.py
+++ b/modules/workflowAutomation/engine/executors/ioExecutor.py
@@ -1,4 +1,5 @@
-# Copyright (c) 2025 Patrick Motsch
+# Copyright (c) 2026 PowerOn AG
+# All rights reserved.
# I/O node executor - delegates to ActionExecutor.
import logging
diff --git a/modules/workflowAutomation/engine/executors/triggerExecutor.py b/modules/workflowAutomation/engine/executors/triggerExecutor.py
index 35b46237..1ab8c6b2 100644
--- a/modules/workflowAutomation/engine/executors/triggerExecutor.py
+++ b/modules/workflowAutomation/engine/executors/triggerExecutor.py
@@ -1,4 +1,5 @@
-# Copyright (c) 2025 Patrick Motsch
+# Copyright (c) 2026 PowerOn AG
+# All rights reserved.
# Start node executor (node type trigger.manual) — outputs the unified run envelope from context.
import logging
diff --git a/modules/workflowAutomation/engine/featureInstanceRefMigration.py b/modules/workflowAutomation/engine/featureInstanceRefMigration.py
index b4fba529..7edd84f9 100644
--- a/modules/workflowAutomation/engine/featureInstanceRefMigration.py
+++ b/modules/workflowAutomation/engine/featureInstanceRefMigration.py
@@ -1,4 +1,5 @@
-# Copyright (c) 2025 Patrick Motsch
+# Copyright (c) 2026 PowerOn AG
+# All rights reserved.
"""
Phase-5 Schicht-4 migration: convert raw ``featureInstanceId: ""`` workflow
parameters into typed ``FeatureInstanceRef`` envelopes on disk.
diff --git a/modules/workflowAutomation/engine/graphUtils.py b/modules/workflowAutomation/engine/graphUtils.py
index 68368b48..cb67076c 100644
--- a/modules/workflowAutomation/engine/graphUtils.py
+++ b/modules/workflowAutomation/engine/graphUtils.py
@@ -1,4 +1,5 @@
-# Copyright (c) 2025 Patrick Motsch
+# Copyright (c) 2026 PowerOn AG
+# All rights reserved.
# Graph parsing, validation, and topological sort for automation2.
import json
diff --git a/modules/workflowAutomation/engine/pickNotPushMigration.py b/modules/workflowAutomation/engine/pickNotPushMigration.py
index 14b91eae..6a841ec9 100644
--- a/modules/workflowAutomation/engine/pickNotPushMigration.py
+++ b/modules/workflowAutomation/engine/pickNotPushMigration.py
@@ -1,4 +1,5 @@
-# Copyright (c) 2025 Patrick Motsch
+# Copyright (c) 2026 PowerOn AG
+# All rights reserved.
"""
Graph helpers for Pick-not-Push: materialize typed DataRefs before executeGraph runs.
diff --git a/modules/workflowAutomation/engine/runEnvelope.py b/modules/workflowAutomation/engine/runEnvelope.py
index 44da2fb5..cd13d46d 100644
--- a/modules/workflowAutomation/engine/runEnvelope.py
+++ b/modules/workflowAutomation/engine/runEnvelope.py
@@ -1,4 +1,5 @@
-# Copyright (c) 2025 Patrick Motsch
+# Copyright (c) 2026 PowerOn AG
+# All rights reserved.
"""
Unified run envelope for Automation2 start/trigger nodes.
diff --git a/modules/workflowAutomation/engine/runFileLogger.py b/modules/workflowAutomation/engine/runFileLogger.py
index af57c275..5efdec98 100644
--- a/modules/workflowAutomation/engine/runFileLogger.py
+++ b/modules/workflowAutomation/engine/runFileLogger.py
@@ -1,4 +1,5 @@
-# Copyright (c) 2025 Patrick Motsch
+# Copyright (c) 2026 PowerOn AG
+# All rights reserved.
"""Per-run NDJSON logs for persisted workflow-automation runs."""
from __future__ import annotations
diff --git a/modules/workflowAutomation/engine/scheduleCron.py b/modules/workflowAutomation/engine/scheduleCron.py
index 4a0cfa43..f7f35c38 100644
--- a/modules/workflowAutomation/engine/scheduleCron.py
+++ b/modules/workflowAutomation/engine/scheduleCron.py
@@ -1,4 +1,5 @@
-# Copyright (c) 2025 Patrick Motsch
+# Copyright (c) 2026 PowerOn AG
+# All rights reserved.
"""
Parse cron strings (5-field or 6-field) to APScheduler CronTrigger kwargs.
Frontend produces: "minute hour day month dow" (5-field) or "sec min hour day month dow" (6-field).
diff --git a/modules/workflowAutomation/engine/udmUpstreamShapes.py b/modules/workflowAutomation/engine/udmUpstreamShapes.py
index 33dea176..91c6bdd6 100644
--- a/modules/workflowAutomation/engine/udmUpstreamShapes.py
+++ b/modules/workflowAutomation/engine/udmUpstreamShapes.py
@@ -1,4 +1,5 @@
-# Copyright (c) 2025 Patrick Motsch
+# Copyright (c) 2026 PowerOn AG
+# All rights reserved.
"""
Pure shape coercion for UDM-related upstream payloads (tests + optional tooling).
diff --git a/modules/workflowAutomation/helpers.py b/modules/workflowAutomation/helpers.py
index ddbde49e..b2ba3f9f 100644
--- a/modules/workflowAutomation/helpers.py
+++ b/modules/workflowAutomation/helpers.py
@@ -1,4 +1,4 @@
-# Copyright (c) 2025 Patrick Motsch
+# Copyright (c) 2026 PowerOn AG
# All rights reserved.
"""
Shared helpers for WorkflowAutomation route files.
diff --git a/modules/workflowAutomation/mainWorkflowAutomation.py b/modules/workflowAutomation/mainWorkflowAutomation.py
index a05064c9..086530c7 100644
--- a/modules/workflowAutomation/mainWorkflowAutomation.py
+++ b/modules/workflowAutomation/mainWorkflowAutomation.py
@@ -1,4 +1,4 @@
-# Copyright (c) 2025 Patrick Motsch
+# Copyright (c) 2026 PowerOn AG
# All rights reserved.
"""
WorkflowAutomation System Component — n8n-style flow automation.
@@ -150,17 +150,17 @@ def _migrateRbacNamespace() -> None:
totalUpdated = 0
for oldPrefix, newPrefix in _REPLACEMENTS:
cur.execute(
- 'SELECT id, "objectKey" FROM "AccessRule" WHERE "objectKey" LIKE %s',
+ 'SELECT id, "item" FROM "AccessRule" WHERE "item" LIKE %s',
(f"{oldPrefix}%",),
)
rows = cur.fetchall()
if not rows:
continue
- for rowId, objectKey in rows:
- newKey = objectKey.replace(oldPrefix, newPrefix, 1)
+ for rowId, item in rows:
+ newKey = item.replace(oldPrefix, newPrefix, 1)
cur.execute(
- 'UPDATE "AccessRule" SET "objectKey" = %s WHERE id = %s',
+ 'UPDATE "AccessRule" SET "item" = %s WHERE id = %s',
(newKey, rowId),
)
totalUpdated += 1
diff --git a/modules/workflowAutomation/scheduler/__init__.py b/modules/workflowAutomation/scheduler/__init__.py
index ab966ca5..0a344346 100644
--- a/modules/workflowAutomation/scheduler/__init__.py
+++ b/modules/workflowAutomation/scheduler/__init__.py
@@ -1,4 +1,5 @@
-# Copyright (c) 2025 Patrick Motsch
+# Copyright (c) 2026 PowerOn AG
+# All rights reserved.
# Workflow Scheduler — consolidated scheduler with v1 incremental sync patterns.
from modules.workflowAutomation.scheduler.mainScheduler import (
WorkflowScheduler,
diff --git a/modules/workflowAutomation/scheduler/emailPoller.py b/modules/workflowAutomation/scheduler/emailPoller.py
index 944135bc..ae5df741 100644
--- a/modules/workflowAutomation/scheduler/emailPoller.py
+++ b/modules/workflowAutomation/scheduler/emailPoller.py
@@ -1,4 +1,4 @@
-# Copyright (c) 2025 Patrick Motsch
+# Copyright (c) 2026 PowerOn AG
# All rights reserved.
"""
Background email poller for automation2.
diff --git a/modules/workflowAutomation/scheduler/mainScheduler.py b/modules/workflowAutomation/scheduler/mainScheduler.py
index a0ced9cc..d264d25d 100644
--- a/modules/workflowAutomation/scheduler/mainScheduler.py
+++ b/modules/workflowAutomation/scheduler/mainScheduler.py
@@ -1,4 +1,4 @@
-# Copyright (c) 2025 Patrick Motsch
+# Copyright (c) 2026 PowerOn AG
# All rights reserved.
"""
Consolidated Workflow Scheduler.
diff --git a/modules/workflows/methods/_actionSignatureValidator.py b/modules/workflows/methods/_actionSignatureValidator.py
index ce43ee7b..b3d830a5 100644
--- a/modules/workflows/methods/_actionSignatureValidator.py
+++ b/modules/workflows/methods/_actionSignatureValidator.py
@@ -1,4 +1,4 @@
-# Copyright (c) 2025 Patrick Motsch
+# Copyright (c) 2026 PowerOn AG
# All rights reserved.
"""
Action signature validator for the Typed Action Architecture (Phase 2).
diff --git a/modules/workflows/methods/methodAi/__init__.py b/modules/workflows/methods/methodAi/__init__.py
index 7ce40281..e86dc94f 100644
--- a/modules/workflows/methods/methodAi/__init__.py
+++ b/modules/workflows/methods/methodAi/__init__.py
@@ -1,4 +1,4 @@
-# Copyright (c) 2025 Patrick Motsch
+# Copyright (c) 2026 PowerOn AG
# All rights reserved.
from .methodAi import MethodAi
diff --git a/modules/workflows/methods/methodAi/_common.py b/modules/workflows/methods/methodAi/_common.py
index 27b36663..2ebc8f18 100644
--- a/modules/workflows/methods/methodAi/_common.py
+++ b/modules/workflows/methods/methodAi/_common.py
@@ -1,4 +1,4 @@
-# Copyright (c) 2025 Patrick Motsch
+# Copyright (c) 2026 PowerOn AG
# All rights reserved.
"""Shared helpers for AI workflow actions."""
diff --git a/modules/workflows/methods/methodAi/actions/__init__.py b/modules/workflows/methods/methodAi/actions/__init__.py
index 641b4eaf..f64007f4 100644
--- a/modules/workflows/methods/methodAi/actions/__init__.py
+++ b/modules/workflows/methods/methodAi/actions/__init__.py
@@ -1,4 +1,4 @@
-# Copyright (c) 2025 Patrick Motsch
+# Copyright (c) 2026 PowerOn AG
# All rights reserved.
"""Action modules for AI operations."""
diff --git a/modules/workflows/methods/methodAi/actions/consolidate.py b/modules/workflows/methods/methodAi/actions/consolidate.py
index 70d345cd..03854c38 100644
--- a/modules/workflows/methods/methodAi/actions/consolidate.py
+++ b/modules/workflows/methods/methodAi/actions/consolidate.py
@@ -1,4 +1,4 @@
-# Copyright (c) 2025 Patrick Motsch
+# Copyright (c) 2026 PowerOn AG
# All rights reserved.
import json
diff --git a/modules/workflows/methods/methodAi/actions/convertDocument.py b/modules/workflows/methods/methodAi/actions/convertDocument.py
index b2ed908b..e318e83d 100644
--- a/modules/workflows/methods/methodAi/actions/convertDocument.py
+++ b/modules/workflows/methods/methodAi/actions/convertDocument.py
@@ -1,4 +1,4 @@
-# Copyright (c) 2025 Patrick Motsch
+# Copyright (c) 2026 PowerOn AG
# All rights reserved.
import logging
diff --git a/modules/workflows/methods/methodAi/actions/generateCode.py b/modules/workflows/methods/methodAi/actions/generateCode.py
index 7a13e4a1..cf0d816e 100644
--- a/modules/workflows/methods/methodAi/actions/generateCode.py
+++ b/modules/workflows/methods/methodAi/actions/generateCode.py
@@ -1,4 +1,4 @@
-# Copyright (c) 2025 Patrick Motsch
+# Copyright (c) 2026 PowerOn AG
# All rights reserved.
import logging
diff --git a/modules/workflows/methods/methodAi/actions/generateDocument.py b/modules/workflows/methods/methodAi/actions/generateDocument.py
index 20b82042..a4f37edc 100644
--- a/modules/workflows/methods/methodAi/actions/generateDocument.py
+++ b/modules/workflows/methods/methodAi/actions/generateDocument.py
@@ -1,4 +1,4 @@
-# Copyright (c) 2025 Patrick Motsch
+# Copyright (c) 2026 PowerOn AG
# All rights reserved.
import logging
diff --git a/modules/workflows/methods/methodAi/actions/process.py b/modules/workflows/methods/methodAi/actions/process.py
index e3cc10f0..77adc40f 100644
--- a/modules/workflows/methods/methodAi/actions/process.py
+++ b/modules/workflows/methods/methodAi/actions/process.py
@@ -1,4 +1,4 @@
-# Copyright (c) 2025 Patrick Motsch
+# Copyright (c) 2026 PowerOn AG
# All rights reserved.
import base64
diff --git a/modules/workflows/methods/methodAi/actions/summarizeDocument.py b/modules/workflows/methods/methodAi/actions/summarizeDocument.py
index 4c2bb2bc..c7950e2a 100644
--- a/modules/workflows/methods/methodAi/actions/summarizeDocument.py
+++ b/modules/workflows/methods/methodAi/actions/summarizeDocument.py
@@ -1,4 +1,4 @@
-# Copyright (c) 2025 Patrick Motsch
+# Copyright (c) 2026 PowerOn AG
# All rights reserved.
import logging
diff --git a/modules/workflows/methods/methodAi/actions/translateDocument.py b/modules/workflows/methods/methodAi/actions/translateDocument.py
index dc0533a9..28b4074f 100644
--- a/modules/workflows/methods/methodAi/actions/translateDocument.py
+++ b/modules/workflows/methods/methodAi/actions/translateDocument.py
@@ -1,4 +1,4 @@
-# Copyright (c) 2025 Patrick Motsch
+# Copyright (c) 2026 PowerOn AG
# All rights reserved.
import logging
diff --git a/modules/workflows/methods/methodAi/actions/webResearch.py b/modules/workflows/methods/methodAi/actions/webResearch.py
index b020cff4..6e82a92f 100644
--- a/modules/workflows/methods/methodAi/actions/webResearch.py
+++ b/modules/workflows/methods/methodAi/actions/webResearch.py
@@ -1,4 +1,4 @@
-# Copyright (c) 2025 Patrick Motsch
+# Copyright (c) 2026 PowerOn AG
# All rights reserved.
import logging
diff --git a/modules/workflows/methods/methodAi/helpers/__init__.py b/modules/workflows/methods/methodAi/helpers/__init__.py
index 4833e0e7..445ed4b1 100644
--- a/modules/workflows/methods/methodAi/helpers/__init__.py
+++ b/modules/workflows/methods/methodAi/helpers/__init__.py
@@ -1,4 +1,4 @@
-# Copyright (c) 2025 Patrick Motsch
+# Copyright (c) 2026 PowerOn AG
# All rights reserved.
"""Helper modules for AI method operations."""
diff --git a/modules/workflows/methods/methodAi/helpers/csvProcessing.py b/modules/workflows/methods/methodAi/helpers/csvProcessing.py
index 9121f43c..58d2a6f1 100644
--- a/modules/workflows/methods/methodAi/helpers/csvProcessing.py
+++ b/modules/workflows/methods/methodAi/helpers/csvProcessing.py
@@ -1,4 +1,4 @@
-# Copyright (c) 2025 Patrick Motsch
+# Copyright (c) 2026 PowerOn AG
# All rights reserved.
"""
diff --git a/modules/workflows/methods/methodAi/methodAi.py b/modules/workflows/methods/methodAi/methodAi.py
index 55c9a40a..4dc021ed 100644
--- a/modules/workflows/methods/methodAi/methodAi.py
+++ b/modules/workflows/methods/methodAi/methodAi.py
@@ -1,4 +1,4 @@
-# Copyright (c) 2025 Patrick Motsch
+# Copyright (c) 2026 PowerOn AG
# All rights reserved.
import logging
diff --git a/modules/workflows/methods/methodBase.py b/modules/workflows/methods/methodBase.py
index d9a941c5..55f15c36 100644
--- a/modules/workflows/methods/methodBase.py
+++ b/modules/workflows/methods/methodBase.py
@@ -1,4 +1,4 @@
-# Copyright (c) 2025 Patrick Motsch
+# Copyright (c) 2026 PowerOn AG
# All rights reserved.
import logging
import re
@@ -496,4 +496,4 @@ class MethodBase:
self.logger.warning(f"Error generating meaningful file name, using fallback: {str(e)}")
# Fallback to timestamp-based naming
timestamp = datetime.now(UTC).strftime("%Y%m%d_%H%M%S")
- return f"{base_name}_{timestamp}.{extension}"
\ No newline at end of file
+ return f"{base_name}_{timestamp}.{extension}"
diff --git a/modules/workflows/methods/methodClickup/__init__.py b/modules/workflows/methods/methodClickup/__init__.py
index 9e0362c4..84961b1c 100644
--- a/modules/workflows/methods/methodClickup/__init__.py
+++ b/modules/workflows/methods/methodClickup/__init__.py
@@ -1,4 +1,4 @@
-# Copyright (c) 2025 Patrick Motsch
+# Copyright (c) 2026 PowerOn AG
# All rights reserved.
from .methodClickup import MethodClickup
diff --git a/modules/workflows/methods/methodClickup/actions/__init__.py b/modules/workflows/methods/methodClickup/actions/__init__.py
index 5c54c5df..67956702 100644
--- a/modules/workflows/methods/methodClickup/actions/__init__.py
+++ b/modules/workflows/methods/methodClickup/actions/__init__.py
@@ -1,3 +1,3 @@
-# Copyright (c) 2025 Patrick Motsch
+# Copyright (c) 2026 PowerOn AG
# All rights reserved.
"""ClickUp workflow actions."""
diff --git a/modules/workflows/methods/methodClickup/actions/create_task.py b/modules/workflows/methods/methodClickup/actions/create_task.py
index d010c234..1665aabe 100644
--- a/modules/workflows/methods/methodClickup/actions/create_task.py
+++ b/modules/workflows/methods/methodClickup/actions/create_task.py
@@ -1,4 +1,4 @@
-# Copyright (c) 2025 Patrick Motsch
+# Copyright (c) 2026 PowerOn AG
# All rights reserved.
import json
diff --git a/modules/workflows/methods/methodClickup/actions/get_task.py b/modules/workflows/methods/methodClickup/actions/get_task.py
index 1e3eecad..9eae5569 100644
--- a/modules/workflows/methods/methodClickup/actions/get_task.py
+++ b/modules/workflows/methods/methodClickup/actions/get_task.py
@@ -1,4 +1,4 @@
-# Copyright (c) 2025 Patrick Motsch
+# Copyright (c) 2026 PowerOn AG
# All rights reserved.
import json
diff --git a/modules/workflows/methods/methodClickup/actions/list_fields.py b/modules/workflows/methods/methodClickup/actions/list_fields.py
index 851437d7..a33868db 100644
--- a/modules/workflows/methods/methodClickup/actions/list_fields.py
+++ b/modules/workflows/methods/methodClickup/actions/list_fields.py
@@ -1,4 +1,4 @@
-# Copyright (c) 2025 Patrick Motsch
+# Copyright (c) 2026 PowerOn AG
# All rights reserved.
import json
diff --git a/modules/workflows/methods/methodClickup/actions/list_tasks.py b/modules/workflows/methods/methodClickup/actions/list_tasks.py
index 9ae57f94..90c5694f 100644
--- a/modules/workflows/methods/methodClickup/actions/list_tasks.py
+++ b/modules/workflows/methods/methodClickup/actions/list_tasks.py
@@ -1,4 +1,4 @@
-# Copyright (c) 2025 Patrick Motsch
+# Copyright (c) 2026 PowerOn AG
# All rights reserved.
import json
diff --git a/modules/workflows/methods/methodClickup/actions/search_tasks.py b/modules/workflows/methods/methodClickup/actions/search_tasks.py
index b173020c..259b0a7a 100644
--- a/modules/workflows/methods/methodClickup/actions/search_tasks.py
+++ b/modules/workflows/methods/methodClickup/actions/search_tasks.py
@@ -1,4 +1,4 @@
-# Copyright (c) 2025 Patrick Motsch
+# Copyright (c) 2026 PowerOn AG
# All rights reserved.
import json
diff --git a/modules/workflows/methods/methodClickup/actions/update_task.py b/modules/workflows/methods/methodClickup/actions/update_task.py
index 6282ec78..16b2173c 100644
--- a/modules/workflows/methods/methodClickup/actions/update_task.py
+++ b/modules/workflows/methods/methodClickup/actions/update_task.py
@@ -1,4 +1,4 @@
-# Copyright (c) 2025 Patrick Motsch
+# Copyright (c) 2026 PowerOn AG
# All rights reserved.
import json
diff --git a/modules/workflows/methods/methodClickup/actions/upload_attachment.py b/modules/workflows/methods/methodClickup/actions/upload_attachment.py
index 8cd1de4d..8691ab48 100644
--- a/modules/workflows/methods/methodClickup/actions/upload_attachment.py
+++ b/modules/workflows/methods/methodClickup/actions/upload_attachment.py
@@ -1,4 +1,4 @@
-# Copyright (c) 2025 Patrick Motsch
+# Copyright (c) 2026 PowerOn AG
# All rights reserved.
import base64
diff --git a/modules/workflows/methods/methodClickup/helpers/__init__.py b/modules/workflows/methods/methodClickup/helpers/__init__.py
index fdcc4f0e..06003961 100644
--- a/modules/workflows/methods/methodClickup/helpers/__init__.py
+++ b/modules/workflows/methods/methodClickup/helpers/__init__.py
@@ -1,2 +1,2 @@
-# Copyright (c) 2025 Patrick Motsch
+# Copyright (c) 2026 PowerOn AG
# All rights reserved.
diff --git a/modules/workflows/methods/methodClickup/helpers/connection.py b/modules/workflows/methods/methodClickup/helpers/connection.py
index cdcd3601..4e072ea5 100644
--- a/modules/workflows/methods/methodClickup/helpers/connection.py
+++ b/modules/workflows/methods/methodClickup/helpers/connection.py
@@ -1,4 +1,4 @@
-# Copyright (c) 2025 Patrick Motsch
+# Copyright (c) 2026 PowerOn AG
# All rights reserved.
"""Resolve ClickUp UserConnection and configure ClickupService."""
diff --git a/modules/workflows/methods/methodClickup/helpers/pathparse.py b/modules/workflows/methods/methodClickup/helpers/pathparse.py
index c97b69b2..e5485920 100644
--- a/modules/workflows/methods/methodClickup/helpers/pathparse.py
+++ b/modules/workflows/methods/methodClickup/helpers/pathparse.py
@@ -1,4 +1,4 @@
-# Copyright (c) 2025 Patrick Motsch
+# Copyright (c) 2026 PowerOn AG
# All rights reserved.
"""Parse virtual ClickUp paths used by the connector."""
diff --git a/modules/workflows/methods/methodClickup/methodClickup.py b/modules/workflows/methods/methodClickup/methodClickup.py
index 725929dd..ed03899c 100644
--- a/modules/workflows/methods/methodClickup/methodClickup.py
+++ b/modules/workflows/methods/methodClickup/methodClickup.py
@@ -1,4 +1,4 @@
-# Copyright (c) 2025 Patrick Motsch
+# Copyright (c) 2026 PowerOn AG
# All rights reserved.
"""ClickUp workflow method — list/search/get/create/update tasks and upload attachments."""
diff --git a/modules/workflows/methods/methodContext/__init__.py b/modules/workflows/methods/methodContext/__init__.py
index 8d6c7823..6359aebd 100644
--- a/modules/workflows/methods/methodContext/__init__.py
+++ b/modules/workflows/methods/methodContext/__init__.py
@@ -1,4 +1,4 @@
-# Copyright (c) 2025 Patrick Motsch
+# Copyright (c) 2026 PowerOn AG
# All rights reserved.
from .methodContext import MethodContext
diff --git a/modules/workflows/methods/methodContext/actions/__init__.py b/modules/workflows/methods/methodContext/actions/__init__.py
index 1750882e..4a18fd19 100644
--- a/modules/workflows/methods/methodContext/actions/__init__.py
+++ b/modules/workflows/methods/methodContext/actions/__init__.py
@@ -1,4 +1,4 @@
-# Copyright (c) 2025 Patrick Motsch
+# Copyright (c) 2026 PowerOn AG
# All rights reserved.
"""Action modules for Context operations."""
diff --git a/modules/workflows/methods/methodContext/actions/extractContent.py b/modules/workflows/methods/methodContext/actions/extractContent.py
index e1869be3..5172ced2 100644
--- a/modules/workflows/methods/methodContext/actions/extractContent.py
+++ b/modules/workflows/methods/methodContext/actions/extractContent.py
@@ -1,4 +1,4 @@
-# Copyright (c) 2025 Patrick Motsch
+# Copyright (c) 2026 PowerOn AG
# All rights reserved.
"""context.extractContent — extracts content without AI.
diff --git a/modules/workflows/methods/methodContext/actions/filterContext.py b/modules/workflows/methods/methodContext/actions/filterContext.py
index 6087b380..0ee02da4 100644
--- a/modules/workflows/methods/methodContext/actions/filterContext.py
+++ b/modules/workflows/methods/methodContext/actions/filterContext.py
@@ -1,4 +1,4 @@
-# Copyright (c) 2026 Patrick Motsch
+# Copyright (c) 2026 PowerOn AG
# All rights reserved.
"""Action ``context.filterContext``.
diff --git a/modules/workflows/methods/methodContext/actions/getDocumentIndex.py b/modules/workflows/methods/methodContext/actions/getDocumentIndex.py
index b2822e0d..27029fed 100644
--- a/modules/workflows/methods/methodContext/actions/getDocumentIndex.py
+++ b/modules/workflows/methods/methodContext/actions/getDocumentIndex.py
@@ -1,4 +1,4 @@
-# Copyright (c) 2025 Patrick Motsch
+# Copyright (c) 2026 PowerOn AG
# All rights reserved.
import logging
diff --git a/modules/workflows/methods/methodContext/actions/mergeContext.py b/modules/workflows/methods/methodContext/actions/mergeContext.py
index 79582cf2..0cd3485c 100644
--- a/modules/workflows/methods/methodContext/actions/mergeContext.py
+++ b/modules/workflows/methods/methodContext/actions/mergeContext.py
@@ -1,4 +1,4 @@
-# Copyright (c) 2026 Patrick Motsch
+# Copyright (c) 2026 PowerOn AG
# All rights reserved.
"""Action ``context.mergeContext``.
diff --git a/modules/workflows/methods/methodContext/actions/neutralizeData.py b/modules/workflows/methods/methodContext/actions/neutralizeData.py
index 5bd1eb34..89298f6a 100644
--- a/modules/workflows/methods/methodContext/actions/neutralizeData.py
+++ b/modules/workflows/methods/methodContext/actions/neutralizeData.py
@@ -1,4 +1,4 @@
-# Copyright (c) 2025 Patrick Motsch
+# Copyright (c) 2026 PowerOn AG
# All rights reserved.
import base64
diff --git a/modules/workflows/methods/methodContext/actions/setContext.py b/modules/workflows/methods/methodContext/actions/setContext.py
index 58925f9e..861df789 100644
--- a/modules/workflows/methods/methodContext/actions/setContext.py
+++ b/modules/workflows/methods/methodContext/actions/setContext.py
@@ -1,4 +1,4 @@
-# Copyright (c) 2026 Patrick Motsch
+# Copyright (c) 2026 PowerOn AG
# All rights reserved.
"""Action ``context.setContext``.
diff --git a/modules/workflows/methods/methodContext/actions/transformContext.py b/modules/workflows/methods/methodContext/actions/transformContext.py
index ffff183d..5288dbae 100644
--- a/modules/workflows/methods/methodContext/actions/transformContext.py
+++ b/modules/workflows/methods/methodContext/actions/transformContext.py
@@ -1,4 +1,4 @@
-# Copyright (c) 2026 Patrick Motsch
+# Copyright (c) 2026 PowerOn AG
# All rights reserved.
"""Action ``context.transformContext``.
diff --git a/modules/workflows/methods/methodContext/actions/triggerPreprocessingServer.py b/modules/workflows/methods/methodContext/actions/triggerPreprocessingServer.py
index 2f011a25..e17df19b 100644
--- a/modules/workflows/methods/methodContext/actions/triggerPreprocessingServer.py
+++ b/modules/workflows/methods/methodContext/actions/triggerPreprocessingServer.py
@@ -1,4 +1,4 @@
-# Copyright (c) 2025 Patrick Motsch
+# Copyright (c) 2026 PowerOn AG
# All rights reserved.
import logging
diff --git a/modules/workflows/methods/methodContext/contextEnvelope.py b/modules/workflows/methods/methodContext/contextEnvelope.py
index c35836cf..fad01ec0 100644
--- a/modules/workflows/methods/methodContext/contextEnvelope.py
+++ b/modules/workflows/methods/methodContext/contextEnvelope.py
@@ -1,4 +1,5 @@
-# Copyright (c) 2026 Patrick Motsch
+# Copyright (c) 2026 PowerOn AG
+# All rights reserved.
"""Versioned ``ActionResult.data`` envelope for context.* actions (merge, transform)."""
from __future__ import annotations
diff --git a/modules/workflows/methods/methodContext/helpers/__init__.py b/modules/workflows/methods/methodContext/helpers/__init__.py
index e1e2ab56..27e16884 100644
--- a/modules/workflows/methods/methodContext/helpers/__init__.py
+++ b/modules/workflows/methods/methodContext/helpers/__init__.py
@@ -1,4 +1,4 @@
-# Copyright (c) 2025 Patrick Motsch
+# Copyright (c) 2026 PowerOn AG
# All rights reserved.
"""Helper modules for Context method operations."""
diff --git a/modules/workflows/methods/methodContext/helpers/documentIndex.py b/modules/workflows/methods/methodContext/helpers/documentIndex.py
index bba349cf..73bd65a9 100644
--- a/modules/workflows/methods/methodContext/helpers/documentIndex.py
+++ b/modules/workflows/methods/methodContext/helpers/documentIndex.py
@@ -1,4 +1,4 @@
-# Copyright (c) 2025 Patrick Motsch
+# Copyright (c) 2026 PowerOn AG
# All rights reserved.
"""
diff --git a/modules/workflows/methods/methodContext/helpers/formatting.py b/modules/workflows/methods/methodContext/helpers/formatting.py
index ac38fb86..79ecace2 100644
--- a/modules/workflows/methods/methodContext/helpers/formatting.py
+++ b/modules/workflows/methods/methodContext/helpers/formatting.py
@@ -1,4 +1,4 @@
-# Copyright (c) 2025 Patrick Motsch
+# Copyright (c) 2026 PowerOn AG
# All rights reserved.
"""
diff --git a/modules/workflows/methods/methodContext/methodContext.py b/modules/workflows/methods/methodContext/methodContext.py
index 80e0c089..7d9bf215 100644
--- a/modules/workflows/methods/methodContext/methodContext.py
+++ b/modules/workflows/methods/methodContext/methodContext.py
@@ -1,4 +1,4 @@
-# Copyright (c) 2025 Patrick Motsch
+# Copyright (c) 2026 PowerOn AG
# All rights reserved.
import logging
diff --git a/modules/workflows/methods/methodFile/__init__.py b/modules/workflows/methods/methodFile/__init__.py
index b8c41e0f..45b4a956 100644
--- a/modules/workflows/methods/methodFile/__init__.py
+++ b/modules/workflows/methods/methodFile/__init__.py
@@ -1,4 +1,4 @@
-# Copyright (c) 2025 Patrick Motsch
+# Copyright (c) 2026 PowerOn AG
# All rights reserved.
from .methodFile import MethodFile
diff --git a/modules/workflows/methods/methodFile/actions/__init__.py b/modules/workflows/methods/methodFile/actions/__init__.py
index 9aef4028..5ffbb1f7 100644
--- a/modules/workflows/methods/methodFile/actions/__init__.py
+++ b/modules/workflows/methods/methodFile/actions/__init__.py
@@ -1,4 +1,4 @@
-# Copyright (c) 2025 Patrick Motsch
+# Copyright (c) 2026 PowerOn AG
# All rights reserved.
from .create import create
diff --git a/modules/workflows/methods/methodFile/actions/create.py b/modules/workflows/methods/methodFile/actions/create.py
index 973f62d0..e7acd3bd 100644
--- a/modules/workflows/methods/methodFile/actions/create.py
+++ b/modules/workflows/methods/methodFile/actions/create.py
@@ -1,4 +1,4 @@
-# Copyright (c) 2025 Patrick Motsch
+# Copyright (c) 2026 PowerOn AG
# All rights reserved.
from typing import Any, Dict, List, Optional
diff --git a/modules/workflows/methods/methodFile/methodFile.py b/modules/workflows/methods/methodFile/methodFile.py
index c30f86a4..a1d48f87 100644
--- a/modules/workflows/methods/methodFile/methodFile.py
+++ b/modules/workflows/methods/methodFile/methodFile.py
@@ -1,4 +1,4 @@
-# Copyright (c) 2025 Patrick Motsch
+# Copyright (c) 2026 PowerOn AG
# All rights reserved.
import logging
diff --git a/modules/workflows/methods/methodJira/__init__.py b/modules/workflows/methods/methodJira/__init__.py
index e8b3822d..8793570d 100644
--- a/modules/workflows/methods/methodJira/__init__.py
+++ b/modules/workflows/methods/methodJira/__init__.py
@@ -1,4 +1,4 @@
-# Copyright (c) 2025 Patrick Motsch
+# Copyright (c) 2026 PowerOn AG
# All rights reserved.
from .methodJira import MethodJira
diff --git a/modules/workflows/methods/methodJira/actions/__init__.py b/modules/workflows/methods/methodJira/actions/__init__.py
index 67b0d38d..8b2cb166 100644
--- a/modules/workflows/methods/methodJira/actions/__init__.py
+++ b/modules/workflows/methods/methodJira/actions/__init__.py
@@ -1,4 +1,4 @@
-# Copyright (c) 2025 Patrick Motsch
+# Copyright (c) 2026 PowerOn AG
# All rights reserved.
"""Action modules for JIRA operations."""
diff --git a/modules/workflows/methods/methodJira/actions/connectJira.py b/modules/workflows/methods/methodJira/actions/connectJira.py
index 45b60cad..737ccd88 100644
--- a/modules/workflows/methods/methodJira/actions/connectJira.py
+++ b/modules/workflows/methods/methodJira/actions/connectJira.py
@@ -1,4 +1,4 @@
-# Copyright (c) 2025 Patrick Motsch
+# Copyright (c) 2026 PowerOn AG
# All rights reserved.
import logging
diff --git a/modules/workflows/methods/methodJira/actions/createCsvContent.py b/modules/workflows/methods/methodJira/actions/createCsvContent.py
index cbec7960..46ec9965 100644
--- a/modules/workflows/methods/methodJira/actions/createCsvContent.py
+++ b/modules/workflows/methods/methodJira/actions/createCsvContent.py
@@ -1,4 +1,4 @@
-# Copyright (c) 2025 Patrick Motsch
+# Copyright (c) 2026 PowerOn AG
# All rights reserved.
import logging
diff --git a/modules/workflows/methods/methodJira/actions/createExcelContent.py b/modules/workflows/methods/methodJira/actions/createExcelContent.py
index 631795b3..7a71a95d 100644
--- a/modules/workflows/methods/methodJira/actions/createExcelContent.py
+++ b/modules/workflows/methods/methodJira/actions/createExcelContent.py
@@ -1,4 +1,4 @@
-# Copyright (c) 2025 Patrick Motsch
+# Copyright (c) 2026 PowerOn AG
# All rights reserved.
import logging
diff --git a/modules/workflows/methods/methodJira/actions/exportTicketsAsJson.py b/modules/workflows/methods/methodJira/actions/exportTicketsAsJson.py
index 55d99654..432457cd 100644
--- a/modules/workflows/methods/methodJira/actions/exportTicketsAsJson.py
+++ b/modules/workflows/methods/methodJira/actions/exportTicketsAsJson.py
@@ -1,4 +1,4 @@
-# Copyright (c) 2025 Patrick Motsch
+# Copyright (c) 2026 PowerOn AG
# All rights reserved.
import logging
diff --git a/modules/workflows/methods/methodJira/actions/importTicketsFromJson.py b/modules/workflows/methods/methodJira/actions/importTicketsFromJson.py
index b997889e..a6b06652 100644
--- a/modules/workflows/methods/methodJira/actions/importTicketsFromJson.py
+++ b/modules/workflows/methods/methodJira/actions/importTicketsFromJson.py
@@ -1,4 +1,4 @@
-# Copyright (c) 2025 Patrick Motsch
+# Copyright (c) 2026 PowerOn AG
# All rights reserved.
import logging
diff --git a/modules/workflows/methods/methodJira/actions/mergeTicketData.py b/modules/workflows/methods/methodJira/actions/mergeTicketData.py
index 2bd7ab74..c447ff6a 100644
--- a/modules/workflows/methods/methodJira/actions/mergeTicketData.py
+++ b/modules/workflows/methods/methodJira/actions/mergeTicketData.py
@@ -1,4 +1,4 @@
-# Copyright (c) 2025 Patrick Motsch
+# Copyright (c) 2026 PowerOn AG
# All rights reserved.
import logging
diff --git a/modules/workflows/methods/methodJira/actions/parseCsvContent.py b/modules/workflows/methods/methodJira/actions/parseCsvContent.py
index bbdc2cc7..91d7b25e 100644
--- a/modules/workflows/methods/methodJira/actions/parseCsvContent.py
+++ b/modules/workflows/methods/methodJira/actions/parseCsvContent.py
@@ -1,4 +1,4 @@
-# Copyright (c) 2025 Patrick Motsch
+# Copyright (c) 2026 PowerOn AG
# All rights reserved.
import logging
diff --git a/modules/workflows/methods/methodJira/actions/parseExcelContent.py b/modules/workflows/methods/methodJira/actions/parseExcelContent.py
index 5ac4e548..4a2ec1b7 100644
--- a/modules/workflows/methods/methodJira/actions/parseExcelContent.py
+++ b/modules/workflows/methods/methodJira/actions/parseExcelContent.py
@@ -1,4 +1,4 @@
-# Copyright (c) 2025 Patrick Motsch
+# Copyright (c) 2026 PowerOn AG
# All rights reserved.
import logging
diff --git a/modules/workflows/methods/methodJira/helpers/__init__.py b/modules/workflows/methods/methodJira/helpers/__init__.py
index cf2fc4c7..27c3e974 100644
--- a/modules/workflows/methods/methodJira/helpers/__init__.py
+++ b/modules/workflows/methods/methodJira/helpers/__init__.py
@@ -1,4 +1,4 @@
-# Copyright (c) 2025 Patrick Motsch
+# Copyright (c) 2026 PowerOn AG
# All rights reserved.
"""Helper modules for JIRA method operations."""
diff --git a/modules/workflows/methods/methodJira/helpers/adfConverter.py b/modules/workflows/methods/methodJira/helpers/adfConverter.py
index d8619989..506f3d1c 100644
--- a/modules/workflows/methods/methodJira/helpers/adfConverter.py
+++ b/modules/workflows/methods/methodJira/helpers/adfConverter.py
@@ -1,4 +1,4 @@
-# Copyright (c) 2025 Patrick Motsch
+# Copyright (c) 2026 PowerOn AG
# All rights reserved.
"""
diff --git a/modules/workflows/methods/methodJira/helpers/documentParsing.py b/modules/workflows/methods/methodJira/helpers/documentParsing.py
index b0608524..1bb795ab 100644
--- a/modules/workflows/methods/methodJira/helpers/documentParsing.py
+++ b/modules/workflows/methods/methodJira/helpers/documentParsing.py
@@ -1,4 +1,4 @@
-# Copyright (c) 2025 Patrick Motsch
+# Copyright (c) 2026 PowerOn AG
# All rights reserved.
"""
diff --git a/modules/workflows/methods/methodJira/methodJira.py b/modules/workflows/methods/methodJira/methodJira.py
index 0268d020..0fa4ddfd 100644
--- a/modules/workflows/methods/methodJira/methodJira.py
+++ b/modules/workflows/methods/methodJira/methodJira.py
@@ -1,4 +1,4 @@
-# Copyright (c) 2025 Patrick Motsch
+# Copyright (c) 2026 PowerOn AG
# All rights reserved.
import logging
diff --git a/modules/workflows/methods/methodOutlook/__init__.py b/modules/workflows/methods/methodOutlook/__init__.py
index c7653010..02187a5d 100644
--- a/modules/workflows/methods/methodOutlook/__init__.py
+++ b/modules/workflows/methods/methodOutlook/__init__.py
@@ -1,4 +1,4 @@
-# Copyright (c) 2025 Patrick Motsch
+# Copyright (c) 2026 PowerOn AG
# All rights reserved.
from .methodOutlook import MethodOutlook
diff --git a/modules/workflows/methods/methodOutlook/actions/__init__.py b/modules/workflows/methods/methodOutlook/actions/__init__.py
index f62e3e0a..c6976650 100644
--- a/modules/workflows/methods/methodOutlook/actions/__init__.py
+++ b/modules/workflows/methods/methodOutlook/actions/__init__.py
@@ -1,4 +1,4 @@
-# Copyright (c) 2025 Patrick Motsch
+# Copyright (c) 2026 PowerOn AG
# All rights reserved.
"""Action modules for Outlook operations."""
diff --git a/modules/workflows/methods/methodOutlook/actions/composeAndDraftEmailWithContext.py b/modules/workflows/methods/methodOutlook/actions/composeAndDraftEmailWithContext.py
index 22c5ff62..6b482d42 100644
--- a/modules/workflows/methods/methodOutlook/actions/composeAndDraftEmailWithContext.py
+++ b/modules/workflows/methods/methodOutlook/actions/composeAndDraftEmailWithContext.py
@@ -1,4 +1,4 @@
-# Copyright (c) 2025 Patrick Motsch
+# Copyright (c) 2026 PowerOn AG
# All rights reserved.
import logging
diff --git a/modules/workflows/methods/methodOutlook/actions/readEmails.py b/modules/workflows/methods/methodOutlook/actions/readEmails.py
index 5620a62d..c6051a4b 100644
--- a/modules/workflows/methods/methodOutlook/actions/readEmails.py
+++ b/modules/workflows/methods/methodOutlook/actions/readEmails.py
@@ -1,4 +1,4 @@
-# Copyright (c) 2025 Patrick Motsch
+# Copyright (c) 2026 PowerOn AG
# All rights reserved.
import logging
diff --git a/modules/workflows/methods/methodOutlook/actions/searchEmails.py b/modules/workflows/methods/methodOutlook/actions/searchEmails.py
index f12c6d71..5f4c8c85 100644
--- a/modules/workflows/methods/methodOutlook/actions/searchEmails.py
+++ b/modules/workflows/methods/methodOutlook/actions/searchEmails.py
@@ -1,4 +1,4 @@
-# Copyright (c) 2025 Patrick Motsch
+# Copyright (c) 2026 PowerOn AG
# All rights reserved.
import logging
diff --git a/modules/workflows/methods/methodOutlook/actions/sendDraftEmail.py b/modules/workflows/methods/methodOutlook/actions/sendDraftEmail.py
index 1c0c80d4..86749339 100644
--- a/modules/workflows/methods/methodOutlook/actions/sendDraftEmail.py
+++ b/modules/workflows/methods/methodOutlook/actions/sendDraftEmail.py
@@ -1,4 +1,4 @@
-# Copyright (c) 2025 Patrick Motsch
+# Copyright (c) 2026 PowerOn AG
# All rights reserved.
import logging
diff --git a/modules/workflows/methods/methodOutlook/helpers/__init__.py b/modules/workflows/methods/methodOutlook/helpers/__init__.py
index 45028b5a..42e65b10 100644
--- a/modules/workflows/methods/methodOutlook/helpers/__init__.py
+++ b/modules/workflows/methods/methodOutlook/helpers/__init__.py
@@ -1,4 +1,4 @@
-# Copyright (c) 2025 Patrick Motsch
+# Copyright (c) 2026 PowerOn AG
# All rights reserved.
"""Helper modules for Outlook method operations."""
diff --git a/modules/workflows/methods/methodOutlook/helpers/connection.py b/modules/workflows/methods/methodOutlook/helpers/connection.py
index cd42b7f5..361ad4d9 100644
--- a/modules/workflows/methods/methodOutlook/helpers/connection.py
+++ b/modules/workflows/methods/methodOutlook/helpers/connection.py
@@ -1,4 +1,4 @@
-# Copyright (c) 2025 Patrick Motsch
+# Copyright (c) 2026 PowerOn AG
# All rights reserved.
"""
diff --git a/modules/workflows/methods/methodOutlook/helpers/emailProcessing.py b/modules/workflows/methods/methodOutlook/helpers/emailProcessing.py
index d34bb778..90249ffe 100644
--- a/modules/workflows/methods/methodOutlook/helpers/emailProcessing.py
+++ b/modules/workflows/methods/methodOutlook/helpers/emailProcessing.py
@@ -1,4 +1,4 @@
-# Copyright (c) 2025 Patrick Motsch
+# Copyright (c) 2026 PowerOn AG
# All rights reserved.
"""
diff --git a/modules/workflows/methods/methodOutlook/helpers/folderManagement.py b/modules/workflows/methods/methodOutlook/helpers/folderManagement.py
index 2bbb8195..3cc66161 100644
--- a/modules/workflows/methods/methodOutlook/helpers/folderManagement.py
+++ b/modules/workflows/methods/methodOutlook/helpers/folderManagement.py
@@ -1,4 +1,4 @@
-# Copyright (c) 2025 Patrick Motsch
+# Copyright (c) 2026 PowerOn AG
# All rights reserved.
"""
diff --git a/modules/workflows/methods/methodOutlook/methodOutlook.py b/modules/workflows/methods/methodOutlook/methodOutlook.py
index 4370b237..a1cd2600 100644
--- a/modules/workflows/methods/methodOutlook/methodOutlook.py
+++ b/modules/workflows/methods/methodOutlook/methodOutlook.py
@@ -1,4 +1,4 @@
-# Copyright (c) 2025 Patrick Motsch
+# Copyright (c) 2026 PowerOn AG
# All rights reserved.
import logging
diff --git a/modules/workflows/methods/methodSharepoint/__init__.py b/modules/workflows/methods/methodSharepoint/__init__.py
index 40c14cf3..7ff61497 100644
--- a/modules/workflows/methods/methodSharepoint/__init__.py
+++ b/modules/workflows/methods/methodSharepoint/__init__.py
@@ -1,4 +1,4 @@
-# Copyright (c) 2025 Patrick Motsch
+# Copyright (c) 2026 PowerOn AG
# All rights reserved.
from .methodSharepoint import MethodSharepoint
diff --git a/modules/workflows/methods/methodSharepoint/actions/__init__.py b/modules/workflows/methods/methodSharepoint/actions/__init__.py
index 6975f8af..85de2950 100644
--- a/modules/workflows/methods/methodSharepoint/actions/__init__.py
+++ b/modules/workflows/methods/methodSharepoint/actions/__init__.py
@@ -1,4 +1,4 @@
-# Copyright (c) 2025 Patrick Motsch
+# Copyright (c) 2026 PowerOn AG
# All rights reserved.
"""Action modules for SharePoint operations."""
diff --git a/modules/workflows/methods/methodSharepoint/actions/analyzeFolderUsage.py b/modules/workflows/methods/methodSharepoint/actions/analyzeFolderUsage.py
index a4bf18b6..2768ce75 100644
--- a/modules/workflows/methods/methodSharepoint/actions/analyzeFolderUsage.py
+++ b/modules/workflows/methods/methodSharepoint/actions/analyzeFolderUsage.py
@@ -1,4 +1,4 @@
-# Copyright (c) 2025 Patrick Motsch
+# Copyright (c) 2026 PowerOn AG
# All rights reserved.
import logging
diff --git a/modules/workflows/methods/methodSharepoint/actions/copyFile.py b/modules/workflows/methods/methodSharepoint/actions/copyFile.py
index 92ce88a2..3883a681 100644
--- a/modules/workflows/methods/methodSharepoint/actions/copyFile.py
+++ b/modules/workflows/methods/methodSharepoint/actions/copyFile.py
@@ -1,4 +1,4 @@
-# Copyright (c) 2025 Patrick Motsch
+# Copyright (c) 2026 PowerOn AG
# All rights reserved.
import logging
diff --git a/modules/workflows/methods/methodSharepoint/actions/downloadFileByPath.py b/modules/workflows/methods/methodSharepoint/actions/downloadFileByPath.py
index 793e07c9..787c55fd 100644
--- a/modules/workflows/methods/methodSharepoint/actions/downloadFileByPath.py
+++ b/modules/workflows/methods/methodSharepoint/actions/downloadFileByPath.py
@@ -1,4 +1,4 @@
-# Copyright (c) 2025 Patrick Motsch
+# Copyright (c) 2026 PowerOn AG
# All rights reserved.
import logging
diff --git a/modules/workflows/methods/methodSharepoint/actions/findDocumentPath.py b/modules/workflows/methods/methodSharepoint/actions/findDocumentPath.py
index 722dbc99..f04c703b 100644
--- a/modules/workflows/methods/methodSharepoint/actions/findDocumentPath.py
+++ b/modules/workflows/methods/methodSharepoint/actions/findDocumentPath.py
@@ -1,4 +1,4 @@
-# Copyright (c) 2025 Patrick Motsch
+# Copyright (c) 2026 PowerOn AG
# All rights reserved.
import logging
diff --git a/modules/workflows/methods/methodSharepoint/actions/findSiteByUrl.py b/modules/workflows/methods/methodSharepoint/actions/findSiteByUrl.py
index 62b6dd94..99a9a7d4 100644
--- a/modules/workflows/methods/methodSharepoint/actions/findSiteByUrl.py
+++ b/modules/workflows/methods/methodSharepoint/actions/findSiteByUrl.py
@@ -1,4 +1,4 @@
-# Copyright (c) 2025 Patrick Motsch
+# Copyright (c) 2026 PowerOn AG
# All rights reserved.
import logging
diff --git a/modules/workflows/methods/methodSharepoint/actions/listDocuments.py b/modules/workflows/methods/methodSharepoint/actions/listDocuments.py
index 318271c3..23313b47 100644
--- a/modules/workflows/methods/methodSharepoint/actions/listDocuments.py
+++ b/modules/workflows/methods/methodSharepoint/actions/listDocuments.py
@@ -1,4 +1,4 @@
-# Copyright (c) 2025 Patrick Motsch
+# Copyright (c) 2026 PowerOn AG
# All rights reserved.
import logging
diff --git a/modules/workflows/methods/methodSharepoint/actions/readDocuments.py b/modules/workflows/methods/methodSharepoint/actions/readDocuments.py
index 542ab2e8..f483bc3c 100644
--- a/modules/workflows/methods/methodSharepoint/actions/readDocuments.py
+++ b/modules/workflows/methods/methodSharepoint/actions/readDocuments.py
@@ -1,4 +1,4 @@
-# Copyright (c) 2025 Patrick Motsch
+# Copyright (c) 2026 PowerOn AG
# All rights reserved.
import logging
diff --git a/modules/workflows/methods/methodSharepoint/actions/uploadDocument.py b/modules/workflows/methods/methodSharepoint/actions/uploadDocument.py
index c68133d5..0f56b72f 100644
--- a/modules/workflows/methods/methodSharepoint/actions/uploadDocument.py
+++ b/modules/workflows/methods/methodSharepoint/actions/uploadDocument.py
@@ -1,4 +1,4 @@
-# Copyright (c) 2025 Patrick Motsch
+# Copyright (c) 2026 PowerOn AG
# All rights reserved.
import logging
diff --git a/modules/workflows/methods/methodSharepoint/actions/uploadFile.py b/modules/workflows/methods/methodSharepoint/actions/uploadFile.py
index 56e9f0b2..b263a34d 100644
--- a/modules/workflows/methods/methodSharepoint/actions/uploadFile.py
+++ b/modules/workflows/methods/methodSharepoint/actions/uploadFile.py
@@ -1,4 +1,4 @@
-# Copyright (c) 2025 Patrick Motsch
+# Copyright (c) 2026 PowerOn AG
# All rights reserved.
import logging
diff --git a/modules/workflows/methods/methodSharepoint/helpers/__init__.py b/modules/workflows/methods/methodSharepoint/helpers/__init__.py
index cc1293b3..111dcd82 100644
--- a/modules/workflows/methods/methodSharepoint/helpers/__init__.py
+++ b/modules/workflows/methods/methodSharepoint/helpers/__init__.py
@@ -1,4 +1,4 @@
-# Copyright (c) 2025 Patrick Motsch
+# Copyright (c) 2026 PowerOn AG
# All rights reserved.
"""Helper modules for SharePoint method operations."""
diff --git a/modules/workflows/methods/methodSharepoint/helpers/apiClient.py b/modules/workflows/methods/methodSharepoint/helpers/apiClient.py
index 309497a4..5aee3a11 100644
--- a/modules/workflows/methods/methodSharepoint/helpers/apiClient.py
+++ b/modules/workflows/methods/methodSharepoint/helpers/apiClient.py
@@ -1,4 +1,4 @@
-# Copyright (c) 2025 Patrick Motsch
+# Copyright (c) 2026 PowerOn AG
# All rights reserved.
"""
diff --git a/modules/workflows/methods/methodSharepoint/helpers/connection.py b/modules/workflows/methods/methodSharepoint/helpers/connection.py
index 3c2ce16d..2694182c 100644
--- a/modules/workflows/methods/methodSharepoint/helpers/connection.py
+++ b/modules/workflows/methods/methodSharepoint/helpers/connection.py
@@ -1,4 +1,4 @@
-# Copyright (c) 2025 Patrick Motsch
+# Copyright (c) 2026 PowerOn AG
# All rights reserved.
"""
diff --git a/modules/workflows/methods/methodSharepoint/helpers/documentParsing.py b/modules/workflows/methods/methodSharepoint/helpers/documentParsing.py
index 9903568d..cf1b0755 100644
--- a/modules/workflows/methods/methodSharepoint/helpers/documentParsing.py
+++ b/modules/workflows/methods/methodSharepoint/helpers/documentParsing.py
@@ -1,4 +1,4 @@
-# Copyright (c) 2025 Patrick Motsch
+# Copyright (c) 2026 PowerOn AG
# All rights reserved.
"""
diff --git a/modules/workflows/methods/methodSharepoint/helpers/pathProcessing.py b/modules/workflows/methods/methodSharepoint/helpers/pathProcessing.py
index 3e1a94f1..cfa2c073 100644
--- a/modules/workflows/methods/methodSharepoint/helpers/pathProcessing.py
+++ b/modules/workflows/methods/methodSharepoint/helpers/pathProcessing.py
@@ -1,4 +1,4 @@
-# Copyright (c) 2025 Patrick Motsch
+# Copyright (c) 2026 PowerOn AG
# All rights reserved.
"""
diff --git a/modules/workflows/methods/methodSharepoint/helpers/siteDiscovery.py b/modules/workflows/methods/methodSharepoint/helpers/siteDiscovery.py
index f59de8f7..495063e7 100644
--- a/modules/workflows/methods/methodSharepoint/helpers/siteDiscovery.py
+++ b/modules/workflows/methods/methodSharepoint/helpers/siteDiscovery.py
@@ -1,4 +1,4 @@
-# Copyright (c) 2025 Patrick Motsch
+# Copyright (c) 2026 PowerOn AG
# All rights reserved.
"""
diff --git a/modules/workflows/methods/methodSharepoint/methodSharepoint.py b/modules/workflows/methods/methodSharepoint/methodSharepoint.py
index 78e462d7..dfc45274 100644
--- a/modules/workflows/methods/methodSharepoint/methodSharepoint.py
+++ b/modules/workflows/methods/methodSharepoint/methodSharepoint.py
@@ -1,4 +1,4 @@
-# Copyright (c) 2025 Patrick Motsch
+# Copyright (c) 2026 PowerOn AG
# All rights reserved.
"""
diff --git a/modules/workflows/processing/adaptive/__init__.py b/modules/workflows/processing/adaptive/__init__.py
index c397aeb6..39f75a08 100644
--- a/modules/workflows/processing/adaptive/__init__.py
+++ b/modules/workflows/processing/adaptive/__init__.py
@@ -1,4 +1,4 @@
-# Copyright (c) 2025 Patrick Motsch
+# Copyright (c) 2026 PowerOn AG
# 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 18588cf2..945acb60 100644
--- a/modules/workflows/processing/adaptive/adaptiveLearningEngine.py
+++ b/modules/workflows/processing/adaptive/adaptiveLearningEngine.py
@@ -1,4 +1,4 @@
-# Copyright (c) 2025 Patrick Motsch
+# Copyright (c) 2026 PowerOn AG
# 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 15e1dc65..d3ae0d7d 100644
--- a/modules/workflows/processing/adaptive/contentValidator.py
+++ b/modules/workflows/processing/adaptive/contentValidator.py
@@ -1,4 +1,4 @@
-# Copyright (c) 2025 Patrick Motsch
+# Copyright (c) 2026 PowerOn AG
# All rights reserved.
# contentValidator.py
# Content validation for adaptive Dynamic mode
diff --git a/modules/workflows/processing/adaptive/learningEngine.py b/modules/workflows/processing/adaptive/learningEngine.py
index 8fb2f958..006c63ad 100644
--- a/modules/workflows/processing/adaptive/learningEngine.py
+++ b/modules/workflows/processing/adaptive/learningEngine.py
@@ -1,4 +1,4 @@
-# Copyright (c) 2025 Patrick Motsch
+# Copyright (c) 2026 PowerOn AG
# 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 80c570ed..986edaf1 100644
--- a/modules/workflows/processing/adaptive/progressTracker.py
+++ b/modules/workflows/processing/adaptive/progressTracker.py
@@ -1,4 +1,4 @@
-# Copyright (c) 2025 Patrick Motsch
+# Copyright (c) 2026 PowerOn AG
# 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 784fe27d..fa549c25 100644
--- a/modules/workflows/processing/core/__init__.py
+++ b/modules/workflows/processing/core/__init__.py
@@ -1,3 +1,3 @@
-# Copyright (c) 2025 Patrick Motsch
+# Copyright (c) 2026 PowerOn AG
# All rights reserved.
# Core workflow processing modules
diff --git a/modules/workflows/processing/core/actionExecutor.py b/modules/workflows/processing/core/actionExecutor.py
index 3156aa4b..f0f0f20d 100644
--- a/modules/workflows/processing/core/actionExecutor.py
+++ b/modules/workflows/processing/core/actionExecutor.py
@@ -1,4 +1,4 @@
-# Copyright (c) 2025 Patrick Motsch
+# Copyright (c) 2026 PowerOn AG
# 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 00aebc20..ed870784 100644
--- a/modules/workflows/processing/core/messageCreator.py
+++ b/modules/workflows/processing/core/messageCreator.py
@@ -1,4 +1,4 @@
-# Copyright (c) 2025 Patrick Motsch
+# Copyright (c) 2026 PowerOn AG
# 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 8401c2a3..ee248cbf 100644
--- a/modules/workflows/processing/core/taskPlanner.py
+++ b/modules/workflows/processing/core/taskPlanner.py
@@ -1,4 +1,4 @@
-# Copyright (c) 2025 Patrick Motsch
+# Copyright (c) 2026 PowerOn AG
# All rights reserved.
# taskPlanner.py
# Task planning functionality for workflows
@@ -197,4 +197,4 @@ class TaskPlanner:
logger.error(f"Error in generateTaskPlan: {str(e)}")
raise
-
\ No newline at end of file
+
diff --git a/modules/workflows/processing/core/validator.py b/modules/workflows/processing/core/validator.py
index 67c685e8..fce1a808 100644
--- a/modules/workflows/processing/core/validator.py
+++ b/modules/workflows/processing/core/validator.py
@@ -1,4 +1,4 @@
-# Copyright (c) 2025 Patrick Motsch
+# Copyright (c) 2026 PowerOn AG
# 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 36d96e63..81bdbca9 100644
--- a/modules/workflows/processing/modes/__init__.py
+++ b/modules/workflows/processing/modes/__init__.py
@@ -1,3 +1,3 @@
-# Copyright (c) 2025 Patrick Motsch
+# Copyright (c) 2026 PowerOn AG
# All rights reserved.
# Workflow mode implementations
diff --git a/modules/workflows/processing/modes/modeAutomation.py b/modules/workflows/processing/modes/modeAutomation.py
index b6beabd3..46f00a79 100644
--- a/modules/workflows/processing/modes/modeAutomation.py
+++ b/modules/workflows/processing/modes/modeAutomation.py
@@ -1,4 +1,4 @@
-# Copyright (c) 2025 Patrick Motsch
+# Copyright (c) 2026 PowerOn AG
# 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 684f5d52..89e07ecf 100644
--- a/modules/workflows/processing/modes/modeBase.py
+++ b/modules/workflows/processing/modes/modeBase.py
@@ -1,4 +1,4 @@
-# Copyright (c) 2025 Patrick Motsch
+# Copyright (c) 2026 PowerOn AG
# 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 045835fa..2d7dd8ac 100644
--- a/modules/workflows/processing/modes/modeDynamic.py
+++ b/modules/workflows/processing/modes/modeDynamic.py
@@ -1,4 +1,4 @@
-# Copyright (c) 2025 Patrick Motsch
+# Copyright (c) 2026 PowerOn AG
# 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 bc0c6178..e28f3b80 100644
--- a/modules/workflows/processing/shared/__init__.py
+++ b/modules/workflows/processing/shared/__init__.py
@@ -1,3 +1,3 @@
-# Copyright (c) 2025 Patrick Motsch
+# Copyright (c) 2026 PowerOn AG
# All rights reserved.
# Shared workflow utilities
diff --git a/modules/workflows/processing/shared/executionState.py b/modules/workflows/processing/shared/executionState.py
index e5e48a01..e772a9ae 100644
--- a/modules/workflows/processing/shared/executionState.py
+++ b/modules/workflows/processing/shared/executionState.py
@@ -1,4 +1,4 @@
-# Copyright (c) 2025 Patrick Motsch
+# Copyright (c) 2026 PowerOn AG
# All rights reserved.
# executionState.py
# Contains all execution state management logic
@@ -79,4 +79,4 @@ def shouldContinue(observation=None, review=None, current_step: int = 0, max_ste
return True
except Exception as e:
logger.warning(f"Error in shouldContinue: {e}")
- return False
\ No newline at end of file
+ return False
diff --git a/modules/workflows/processing/shared/methodDiscovery.py b/modules/workflows/processing/shared/methodDiscovery.py
index 9271585c..2fdc0b85 100644
--- a/modules/workflows/processing/shared/methodDiscovery.py
+++ b/modules/workflows/processing/shared/methodDiscovery.py
@@ -1,4 +1,4 @@
-# Copyright (c) 2025 Patrick Motsch
+# Copyright (c) 2026 PowerOn AG
# All rights reserved.
# methodDiscovery.py
# Method discovery and management for workflow execution
diff --git a/modules/workflows/processing/shared/parameterValidation.py b/modules/workflows/processing/shared/parameterValidation.py
index f8045b28..8e12ca7c 100644
--- a/modules/workflows/processing/shared/parameterValidation.py
+++ b/modules/workflows/processing/shared/parameterValidation.py
@@ -1,4 +1,4 @@
-# Copyright (c) 2026 Patrick Motsch
+# Copyright (c) 2026 PowerOn AG
# All rights reserved.
"""Universal parameter validation + coercion for workflow actions.
diff --git a/modules/workflows/processing/shared/placeholderFactory.py b/modules/workflows/processing/shared/placeholderFactory.py
index 430204bd..db9e71d9 100644
--- a/modules/workflows/processing/shared/placeholderFactory.py
+++ b/modules/workflows/processing/shared/placeholderFactory.py
@@ -1,4 +1,4 @@
-# Copyright (c) 2025 Patrick Motsch
+# Copyright (c) 2026 PowerOn AG
# All rights reserved.
"""
Placeholder Factory
diff --git a/modules/workflows/processing/shared/promptGenerationActionsDynamic.py b/modules/workflows/processing/shared/promptGenerationActionsDynamic.py
index 7415df93..a902f88f 100644
--- a/modules/workflows/processing/shared/promptGenerationActionsDynamic.py
+++ b/modules/workflows/processing/shared/promptGenerationActionsDynamic.py
@@ -1,4 +1,4 @@
-# Copyright (c) 2025 Patrick Motsch
+# Copyright (c) 2026 PowerOn AG
# All rights reserved.
"""
Dynamic Mode Prompt Generation
diff --git a/modules/workflows/processing/shared/promptGenerationTaskplan.py b/modules/workflows/processing/shared/promptGenerationTaskplan.py
index 11a54ca1..a29fee2b 100644
--- a/modules/workflows/processing/shared/promptGenerationTaskplan.py
+++ b/modules/workflows/processing/shared/promptGenerationTaskplan.py
@@ -1,4 +1,4 @@
-# Copyright (c) 2025 Patrick Motsch
+# Copyright (c) 2026 PowerOn AG
# All rights reserved.
"""
Task Planning Prompt Generation
diff --git a/modules/workflows/processing/workflowProcessor.py b/modules/workflows/processing/workflowProcessor.py
index 5123f934..8a41795c 100644
--- a/modules/workflows/processing/workflowProcessor.py
+++ b/modules/workflows/processing/workflowProcessor.py
@@ -1,4 +1,4 @@
-# Copyright (c) 2025 Patrick Motsch
+# Copyright (c) 2026 PowerOn AG
# All rights reserved.
# workflowProcessor.py
# Main workflow processor with delegation pattern
diff --git a/modules/workflows/workflowManager.py b/modules/workflows/workflowManager.py
index 7f06b325..cb23399b 100644
--- a/modules/workflows/workflowManager.py
+++ b/modules/workflows/workflowManager.py
@@ -1,4 +1,4 @@
-# Copyright (c) 2025 Patrick Motsch
+# Copyright (c) 2026 PowerOn AG
# All rights reserved.
from typing import Dict, Any, List, Optional
import logging
diff --git a/scripts/script_analyze_function_imports.py b/scripts/script_analyze_function_imports.py
index 6a3118d2..8c007227 100644
--- a/scripts/script_analyze_function_imports.py
+++ b/scripts/script_analyze_function_imports.py
@@ -1,4 +1,4 @@
-# Copyright (c) 2025 Patrick Motsch
+# Copyright (c) 2026 PowerOn AG
# All rights reserved.
"""
Analyze function-level imports to determine which could be moved to header.
diff --git a/scripts/script_analyze_imports.py b/scripts/script_analyze_imports.py
index c63a556e..7d9a6bb8 100644
--- a/scripts/script_analyze_imports.py
+++ b/scripts/script_analyze_imports.py
@@ -1,4 +1,4 @@
-# Copyright (c) 2025 Patrick Motsch
+# Copyright (c) 2026 PowerOn AG
# All rights reserved.
"""
Analyze all imports in the gateway codebase and generate a CSV report.
diff --git a/scripts/script_db_export_migration.py b/scripts/script_db_export_migration.py
index 5a2f9214..0f72726a 100644
--- a/scripts/script_db_export_migration.py
+++ b/scripts/script_db_export_migration.py
@@ -1,4 +1,4 @@
-# Copyright (c) 2025 Patrick Motsch
+# Copyright (c) 2026 PowerOn AG
# All rights reserved.
"""
Datenbank Export-Tool für Migration.
diff --git a/scripts/script_generate_container_diagram.py b/scripts/script_generate_container_diagram.py
index 7f6243c9..44cfc89a 100644
--- a/scripts/script_generate_container_diagram.py
+++ b/scripts/script_generate_container_diagram.py
@@ -1,4 +1,4 @@
-# Copyright (c) 2025 Patrick Motsch
+# Copyright (c) 2026 PowerOn AG
# All rights reserved.
"""
Generate a simplified draw.io diagram showing container-to-container imports.
diff --git a/scripts/script_generate_import_diagram.py b/scripts/script_generate_import_diagram.py
index 0a7dcdd9..40d5996c 100644
--- a/scripts/script_generate_import_diagram.py
+++ b/scripts/script_generate_import_diagram.py
@@ -1,4 +1,4 @@
-# Copyright (c) 2025 Patrick Motsch
+# Copyright (c) 2026 PowerOn AG
# All rights reserved.
"""
Generate a draw.io diagram from import_analysis.csv
diff --git a/scripts/script_migrate_feature_instance_refs.py b/scripts/script_migrate_feature_instance_refs.py
index 8af55a6c..5a34e12a 100644
--- a/scripts/script_migrate_feature_instance_refs.py
+++ b/scripts/script_migrate_feature_instance_refs.py
@@ -1,5 +1,5 @@
#!/usr/bin/env python3
-# Copyright (c) 2025 Patrick Motsch
+# Copyright (c) 2026 PowerOn AG
# All rights reserved.
"""
Persistent DB migration: rewrite raw ``featureInstanceId`` UUIDs in stored
diff --git a/scripts/script_remove_redundant_imports.py b/scripts/script_remove_redundant_imports.py
index 1c83eb9e..b138b4cb 100644
--- a/scripts/script_remove_redundant_imports.py
+++ b/scripts/script_remove_redundant_imports.py
@@ -1,4 +1,4 @@
-# Copyright (c) 2025 Patrick Motsch
+# Copyright (c) 2026 PowerOn AG
# All rights reserved.
"""
Remove redundant function-level imports that already exist in the header.
diff --git a/scripts/script_security_encrypt_all_env_files.py b/scripts/script_security_encrypt_all_env_files.py
index cceae83d..cbee9116 100644
--- a/scripts/script_security_encrypt_all_env_files.py
+++ b/scripts/script_security_encrypt_all_env_files.py
@@ -1,5 +1,5 @@
#!/usr/bin/env python3
-# Copyright (c) 2025 Patrick Motsch
+# Copyright (c) 2026 PowerOn AG
# All rights reserved.
"""
Tool for encrypting all *_SECRET variables in all environment files.
diff --git a/scripts/script_security_encrypt_config_value.py b/scripts/script_security_encrypt_config_value.py
index 512d9958..da84cc14 100644
--- a/scripts/script_security_encrypt_config_value.py
+++ b/scripts/script_security_encrypt_config_value.py
@@ -1,5 +1,5 @@
#!/usr/bin/env python3
-# Copyright (c) 2025 Patrick Motsch
+# Copyright (c) 2026 PowerOn AG
# All rights reserved.
"""
Tool for encrypting configuration values.
diff --git a/scripts/script_security_generate_master_keys.py b/scripts/script_security_generate_master_keys.py
index 6da55d26..d55285cd 100644
--- a/scripts/script_security_generate_master_keys.py
+++ b/scripts/script_security_generate_master_keys.py
@@ -1,5 +1,5 @@
#!/usr/bin/env python3
-# Copyright (c) 2025 Patrick Motsch
+# Copyright (c) 2026 PowerOn AG
# All rights reserved.
"""
Generate secure master keys for all environments.
diff --git a/scripts/script_stats_durations_from_log.py b/scripts/script_stats_durations_from_log.py
index 24176f2c..ef9c3dc6 100644
--- a/scripts/script_stats_durations_from_log.py
+++ b/scripts/script_stats_durations_from_log.py
@@ -1,4 +1,4 @@
-# Copyright (c) 2025 Patrick Motsch
+# Copyright (c) 2026 PowerOn AG
# All rights reserved.
import argparse
import csv
diff --git a/scripts/script_stats_get_codelines.py b/scripts/script_stats_get_codelines.py
index 1b4fd61e..37270fad 100644
--- a/scripts/script_stats_get_codelines.py
+++ b/scripts/script_stats_get_codelines.py
@@ -1,5 +1,5 @@
#!/usr/bin/env python3
-# Copyright (c) 2025 Patrick Motsch
+# Copyright (c) 2026 PowerOn AG
# All rights reserved.
"""
Script to count code lines in a folder and its subfolders.
@@ -139,4 +139,4 @@ def main():
print(f"TOTAL LINES OF CODE: {total_lines}")
if __name__ == '__main__':
- main()
\ No newline at end of file
+ main()
diff --git a/scripts/script_stats_showUnusedFunctions.py b/scripts/script_stats_showUnusedFunctions.py
index f7f6b2c3..4dc8745b 100644
--- a/scripts/script_stats_showUnusedFunctions.py
+++ b/scripts/script_stats_showUnusedFunctions.py
@@ -1,5 +1,5 @@
#!/usr/bin/env python3
-# Copyright (c) 2025 Patrick Motsch
+# Copyright (c) 2026 PowerOn AG
# All rights reserved.
"""
Script to find unused functions in Python files.
diff --git a/tests/__init__.py b/tests/__init__.py
index 77f3aaa9..1240b75c 100644
--- a/tests/__init__.py
+++ b/tests/__init__.py
@@ -1,4 +1,4 @@
-# Copyright (c) 2025 Patrick Motsch
+# Copyright (c) 2026 PowerOn AG
# All rights reserved.
"""
Test suite for PowerOn gateway modules
diff --git a/tests/conftest.py b/tests/conftest.py
index 9a70b5e0..2ac200ce 100644
--- a/tests/conftest.py
+++ b/tests/conftest.py
@@ -1,4 +1,4 @@
-# Copyright (c) 2025 Patrick Motsch
+# Copyright (c) 2026 PowerOn AG
# All rights reserved.
"""
Pytest configuration file for test suite.
diff --git a/tests/demo/test_pwg_demo_bootstrap.py b/tests/demo/test_pwg_demo_bootstrap.py
index 7bc38345..cd256540 100644
--- a/tests/demo/test_pwg_demo_bootstrap.py
+++ b/tests/demo/test_pwg_demo_bootstrap.py
@@ -1,4 +1,4 @@
-# Copyright (c) 2026 Patrick Motsch
+# Copyright (c) 2026 PowerOn AG
# All rights reserved.
"""T6 — PWG-Pilot demo bootstrap & idempotency tests.
diff --git a/tests/eval/__init__.py b/tests/eval/__init__.py
index fde23b13..e2dea687 100644
--- a/tests/eval/__init__.py
+++ b/tests/eval/__init__.py
@@ -1,3 +1,3 @@
-# Copyright (c) 2026 Patrick Motsch
+# Copyright (c) 2026 PowerOn AG
# All rights reserved.
"""Eval harness for the Feature Data Sub-Agent (Phase 1.5)."""
diff --git a/tests/eval/fakeFeatureDataProvider.py b/tests/eval/fakeFeatureDataProvider.py
index 55557e7d..7081dfd4 100644
--- a/tests/eval/fakeFeatureDataProvider.py
+++ b/tests/eval/fakeFeatureDataProvider.py
@@ -1,4 +1,4 @@
-# Copyright (c) 2026 Patrick Motsch
+# Copyright (c) 2026 PowerOn AG
# All rights reserved.
"""In-memory drop-in for FeatureDataProvider used by the eval harness.
diff --git a/tests/eval/runTrusteeBenchmark.py b/tests/eval/runTrusteeBenchmark.py
index 7622b3d0..69ae3499 100644
--- a/tests/eval/runTrusteeBenchmark.py
+++ b/tests/eval/runTrusteeBenchmark.py
@@ -1,4 +1,4 @@
-# Copyright (c) 2026 Patrick Motsch
+# Copyright (c) 2026 PowerOn AG
# All rights reserved.
"""Trustee Sub-Agent Eval Harness (Phase 1.5).
diff --git a/tests/fixtures/loadRedmineSnapshot.py b/tests/fixtures/loadRedmineSnapshot.py
index e0a501d7..6a24d35a 100644
--- a/tests/fixtures/loadRedmineSnapshot.py
+++ b/tests/fixtures/loadRedmineSnapshot.py
@@ -1,4 +1,4 @@
-# Copyright (c) 2026 Patrick Motsch
+# Copyright (c) 2026 PowerOn AG
# All rights reserved.
"""Load ``redmineSnapshot.json`` into in-memory ``RedmineTicketDto`` objects.
diff --git a/tests/fixtures/trusteeBenchmark/__init__.py b/tests/fixtures/trusteeBenchmark/__init__.py
index 52f83ff7..ee9e9c1c 100644
--- a/tests/fixtures/trusteeBenchmark/__init__.py
+++ b/tests/fixtures/trusteeBenchmark/__init__.py
@@ -1,4 +1,4 @@
-# Copyright (c) 2026 Patrick Motsch
+# Copyright (c) 2026 PowerOn AG
# All rights reserved.
"""Trustee benchmark fixture: synthetic but realistic Swiss KMU accounting data.
diff --git a/tests/fixtures/trusteeBenchmark/loadTrusteeBenchmarkFixture.py b/tests/fixtures/trusteeBenchmark/loadTrusteeBenchmarkFixture.py
index 5eb77867..3b6f02ca 100644
--- a/tests/fixtures/trusteeBenchmark/loadTrusteeBenchmarkFixture.py
+++ b/tests/fixtures/trusteeBenchmark/loadTrusteeBenchmarkFixture.py
@@ -1,4 +1,4 @@
-# Copyright (c) 2026 Patrick Motsch
+# Copyright (c) 2026 PowerOn AG
# All rights reserved.
"""Synthetic Trustee benchmark fixture for the Feature Data Sub-Agent eval.
diff --git a/tests/functional/__init__.py b/tests/functional/__init__.py
index 81e51c0f..6707ed42 100644
--- a/tests/functional/__init__.py
+++ b/tests/functional/__init__.py
@@ -1,4 +1,4 @@
-# Copyright (c) 2025 Patrick Motsch
+# Copyright (c) 2026 PowerOn AG
# 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 4c299a26..370dc471 100644
--- a/tests/functional/test01_ai_model_selection.py
+++ b/tests/functional/test01_ai_model_selection.py
@@ -1,5 +1,5 @@
#!/usr/bin/env python3
-# Copyright (c) 2025 Patrick Motsch
+# Copyright (c) 2026 PowerOn AG
# 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 4569455e..73fb37df 100644
--- a/tests/functional/test02_ai_models.py
+++ b/tests/functional/test02_ai_models.py
@@ -1,5 +1,5 @@
#!/usr/bin/env python3
-# Copyright (c) 2025 Patrick Motsch
+# Copyright (c) 2026 PowerOn AG
# 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 ee38af8b..65ed2ddc 100644
--- a/tests/functional/test03_ai_operations.py
+++ b/tests/functional/test03_ai_operations.py
@@ -1,5 +1,5 @@
#!/usr/bin/env python3
-# Copyright (c) 2025 Patrick Motsch
+# Copyright (c) 2026 PowerOn AG
# All rights reserved.
"""
Test script for methodAi operations.
diff --git a/tests/functional/test04_ai_behavior.py b/tests/functional/test04_ai_behavior.py
index 276b9283..809e345a 100644
--- a/tests/functional/test04_ai_behavior.py
+++ b/tests/functional/test04_ai_behavior.py
@@ -1,5 +1,5 @@
#!/usr/bin/env python3
-# Copyright (c) 2025 Patrick Motsch
+# Copyright (c) 2026 PowerOn AG
# All rights reserved.
"""
AI Behavior Test - Tests actual AI responses with different prompt structures
diff --git a/tests/functional/test07_json_merge.py b/tests/functional/test07_json_merge.py
index 504858f0..c0597e32 100644
--- a/tests/functional/test07_json_merge.py
+++ b/tests/functional/test07_json_merge.py
@@ -1,4 +1,4 @@
-# Copyright (c) 2025 Patrick Motsch
+# Copyright (c) 2026 PowerOn AG
# All rights reserved.
"""Test JSON string accumulation for broken JSON iterations - String accumulation approach"""
import json
diff --git a/tests/functional/test08_json_finalization.py b/tests/functional/test08_json_finalization.py
index 04de9271..5d9e86c0 100644
--- a/tests/functional/test08_json_finalization.py
+++ b/tests/functional/test08_json_finalization.py
@@ -1,4 +1,4 @@
-# Copyright (c) 2025 Patrick Motsch
+# Copyright (c) 2026 PowerOn AG
# All rights reserved.
"""
Test JSON finalization process after accumulation is complete.
diff --git a/tests/functional/test12_json_split_merge.py b/tests/functional/test12_json_split_merge.py
index 6e10c58c..b63b2616 100644
--- a/tests/functional/test12_json_split_merge.py
+++ b/tests/functional/test12_json_split_merge.py
@@ -1,5 +1,5 @@
#!/usr/bin/env python3
-# Copyright (c) 2025 Patrick Motsch
+# Copyright (c) 2026 PowerOn AG
# All rights reserved.
"""
JSON Split and Merge Test 12 - Tests JSON splitting and merging using workflow tools
diff --git a/tests/functional/test13_json_completion_cuts.py b/tests/functional/test13_json_completion_cuts.py
index 494678fc..75c34527 100644
--- a/tests/functional/test13_json_completion_cuts.py
+++ b/tests/functional/test13_json_completion_cuts.py
@@ -1,5 +1,5 @@
#!/usr/bin/env python3
-# Copyright (c) 2025 Patrick Motsch
+# Copyright (c) 2026 PowerOn AG
# All rights reserved.
"""
JSON Completion Test 13 - Tests JSON completion at various cut positions
diff --git a/tests/functional/test14_json_continuation_context.py b/tests/functional/test14_json_continuation_context.py
index ae7ea00e..204a4f49 100644
--- a/tests/functional/test14_json_continuation_context.py
+++ b/tests/functional/test14_json_continuation_context.py
@@ -1,5 +1,5 @@
#!/usr/bin/env python3
-# Copyright (c) 2025 Patrick Motsch
+# Copyright (c) 2026 PowerOn AG
# All rights reserved.
"""
JSON Continuation Context Test 14 - Tests getContexts() with a specific cut JSON from debug prompts.
diff --git a/tests/functional/test_kpi_full.py b/tests/functional/test_kpi_full.py
index b15e0d7e..aa8d8540 100644
--- a/tests/functional/test_kpi_full.py
+++ b/tests/functional/test_kpi_full.py
@@ -1,4 +1,4 @@
-# Copyright (c) 2025 Patrick Motsch
+# Copyright (c) 2026 PowerOn AG
# All rights reserved.
"""Test full KPI extraction and validation flow"""
import json
diff --git a/tests/functional/test_kpi_incomplete.py b/tests/functional/test_kpi_incomplete.py
index e7c728e8..b9125d9f 100644
--- a/tests/functional/test_kpi_incomplete.py
+++ b/tests/functional/test_kpi_incomplete.py
@@ -1,4 +1,4 @@
-# Copyright (c) 2025 Patrick Motsch
+# Copyright (c) 2026 PowerOn AG
# All rights reserved.
"""Test KPI extraction with incomplete JSON"""
import json
diff --git a/tests/functional/test_kpi_path.py b/tests/functional/test_kpi_path.py
index 7814f991..c0a32862 100644
--- a/tests/functional/test_kpi_path.py
+++ b/tests/functional/test_kpi_path.py
@@ -1,4 +1,4 @@
-# Copyright (c) 2025 Patrick Motsch
+# Copyright (c) 2026 PowerOn AG
# All rights reserved.
"""Test KPI path extraction"""
import json
diff --git a/tests/integration/__init__.py b/tests/integration/__init__.py
index 21e803ee..bd6475cb 100644
--- a/tests/integration/__init__.py
+++ b/tests/integration/__init__.py
@@ -1,4 +1,4 @@
-# Copyright (c) 2025 Patrick Motsch
+# Copyright (c) 2026 PowerOn AG
# All rights reserved.
"""
Integration tests
diff --git a/tests/integration/automation2/__init__.py b/tests/integration/automation2/__init__.py
index d30846a4..8b7785dc 100644
--- a/tests/integration/automation2/__init__.py
+++ b/tests/integration/automation2/__init__.py
@@ -1,2 +1,3 @@
-# Copyright (c) 2025 Patrick Motsch
+# Copyright (c) 2026 PowerOn AG
+# All rights reserved.
"""Integration tests for automation2 typed bindings (Phase-5 Schicht-4)."""
diff --git a/tests/integration/automation2/test_pick_not_push_migration_v2.py b/tests/integration/automation2/test_pick_not_push_migration_v2.py
index fb109337..34a8b505 100644
--- a/tests/integration/automation2/test_pick_not_push_migration_v2.py
+++ b/tests/integration/automation2/test_pick_not_push_migration_v2.py
@@ -1,4 +1,5 @@
-# Copyright (c) 2025 Patrick Motsch
+# Copyright (c) 2026 PowerOn AG
+# All rights reserved.
"""
Phase-5 Schicht-4 integration test (T11): the typed-bindings pipeline must
produce identical action-call parameters whether a workflow stores
diff --git a/tests/integration/extraction/test_extract_udm_pipeline.py b/tests/integration/extraction/test_extract_udm_pipeline.py
index 7c9b2bf8..c356b0ee 100644
--- a/tests/integration/extraction/test_extract_udm_pipeline.py
+++ b/tests/integration/extraction/test_extract_udm_pipeline.py
@@ -1,4 +1,4 @@
-# Copyright (c) 2025 Patrick Motsch
+# Copyright (c) 2026 PowerOn AG
# All rights reserved.
from modules.datamodels.datamodelExtraction import ExtractionOptions, MergeStrategy
from modules.serviceCenter.services.serviceExtraction.subPipeline import runExtraction
diff --git a/tests/integration/mandates/test_createMandate.py b/tests/integration/mandates/test_createMandate.py
index 1ad24b75..1c66e75a 100644
--- a/tests/integration/mandates/test_createMandate.py
+++ b/tests/integration/mandates/test_createMandate.py
@@ -1,4 +1,4 @@
-# Copyright (c) 2025 Patrick Motsch
+# Copyright (c) 2026 PowerOn AG
# All rights reserved.
"""
Integration tests for ``AppObjects.createMandate``.
diff --git a/tests/integration/mandates/test_provisionMandate.py b/tests/integration/mandates/test_provisionMandate.py
index b88da4ee..d8506cb4 100644
--- a/tests/integration/mandates/test_provisionMandate.py
+++ b/tests/integration/mandates/test_provisionMandate.py
@@ -1,4 +1,4 @@
-# Copyright (c) 2025 Patrick Motsch
+# Copyright (c) 2026 PowerOn AG
# All rights reserved.
"""
Integration tests for the slug-derivation contract that
diff --git a/tests/integration/mandates/test_updateMandate.py b/tests/integration/mandates/test_updateMandate.py
index 385f7fa9..c38875ba 100644
--- a/tests/integration/mandates/test_updateMandate.py
+++ b/tests/integration/mandates/test_updateMandate.py
@@ -1,4 +1,4 @@
-# Copyright (c) 2025 Patrick Motsch
+# Copyright (c) 2026 PowerOn AG
# All rights reserved.
"""
Integration tests for ``AppObjects.updateMandate``.
diff --git a/tests/integration/rbac/__init__.py b/tests/integration/rbac/__init__.py
index 25122eed..86a9d18e 100644
--- a/tests/integration/rbac/__init__.py
+++ b/tests/integration/rbac/__init__.py
@@ -1,3 +1,3 @@
-# Copyright (c) 2025 Patrick Motsch
+# Copyright (c) 2026 PowerOn AG
# All rights reserved.
"""Integration tests for RBAC system."""
diff --git a/tests/integration/rbac/test_platform_admin_flag.py b/tests/integration/rbac/test_platform_admin_flag.py
index d4cdbe9b..11ad98f8 100644
--- a/tests/integration/rbac/test_platform_admin_flag.py
+++ b/tests/integration/rbac/test_platform_admin_flag.py
@@ -1,4 +1,4 @@
-# Copyright (c) 2025 Patrick Motsch
+# Copyright (c) 2026 PowerOn AG
# All rights reserved.
"""
Integration tests for the SysAdmin / PlatformAdmin authority split.
diff --git a/tests/integration/rbac/test_rbac_database.py b/tests/integration/rbac/test_rbac_database.py
index dbf56dd3..33673cc2 100644
--- a/tests/integration/rbac/test_rbac_database.py
+++ b/tests/integration/rbac/test_rbac_database.py
@@ -1,4 +1,4 @@
-# Copyright (c) 2025 Patrick Motsch
+# Copyright (c) 2026 PowerOn AG
# All rights reserved.
"""
Integration tests for RBAC database filtering.
diff --git a/tests/integration/trustee/__init__.py b/tests/integration/trustee/__init__.py
index d02d6efc..d7c29a91 100644
--- a/tests/integration/trustee/__init__.py
+++ b/tests/integration/trustee/__init__.py
@@ -1,4 +1,4 @@
-# Copyright (c) 2025 Patrick Motsch
+# Copyright (c) 2026 PowerOn AG
# All rights reserved.
#
# Trustee feature integration tests.
diff --git a/tests/integration/trustee/test_spesenbelege_workflow_e2e.py b/tests/integration/trustee/test_spesenbelege_workflow_e2e.py
index b7b952b8..606411e9 100644
--- a/tests/integration/trustee/test_spesenbelege_workflow_e2e.py
+++ b/tests/integration/trustee/test_spesenbelege_workflow_e2e.py
@@ -1,4 +1,4 @@
-# Copyright (c) 2025 Patrick Motsch
+# Copyright (c) 2026 PowerOn AG
# All rights reserved.
"""
Plan #2 Track A2 (T4): Trustee Spesenbelege Live-E2E Integration-Test.
diff --git a/tests/integration/users/test_updateUser.py b/tests/integration/users/test_updateUser.py
index 1c7afa29..a557bb3c 100644
--- a/tests/integration/users/test_updateUser.py
+++ b/tests/integration/users/test_updateUser.py
@@ -1,4 +1,4 @@
-# Copyright (c) 2026 Patrick Motsch
+# Copyright (c) 2026 PowerOn AG
# All rights reserved.
"""
Integration tests for ``AppObjects.updateUser`` partial-update semantics.
diff --git a/tests/integration/workflows/test_execute_graph_loop_aggregate_consolidate.py b/tests/integration/workflows/test_execute_graph_loop_aggregate_consolidate.py
index 3fc75f54..f59292b4 100644
--- a/tests/integration/workflows/test_execute_graph_loop_aggregate_consolidate.py
+++ b/tests/integration/workflows/test_execute_graph_loop_aggregate_consolidate.py
@@ -1,4 +1,5 @@
-# Copyright (c) 2025 Patrick Motsch
+# Copyright (c) 2026 PowerOn AG
+# All rights reserved.
# Integration: executeGraph with flow.loop + data.aggregate (no AI), then data.consolidate on same outputs.
import pytest
diff --git a/tests/integration/workflows/test_workflow_execution.py b/tests/integration/workflows/test_workflow_execution.py
index a2b69576..ea799406 100644
--- a/tests/integration/workflows/test_workflow_execution.py
+++ b/tests/integration/workflows/test_workflow_execution.py
@@ -1,5 +1,5 @@
#!/usr/bin/env python3
-# Copyright (c) 2025 Patrick Motsch
+# Copyright (c) 2026 PowerOn AG
# All rights reserved.
"""
Integration tests for workflow execution
diff --git a/tests/serviceAi/test_allowed_models_whitelist.py b/tests/serviceAi/test_allowed_models_whitelist.py
index 4593afd9..52a1abf7 100644
--- a/tests/serviceAi/test_allowed_models_whitelist.py
+++ b/tests/serviceAi/test_allowed_models_whitelist.py
@@ -1,4 +1,4 @@
-# Copyright (c) 2025 Patrick Motsch
+# Copyright (c) 2026 PowerOn AG
# All rights reserved.
import pytest
from modules.datamodels.datamodelAi import AiCallOptions
diff --git a/tests/serviceGeneration/test_inline_image_paragraph.py b/tests/serviceGeneration/test_inline_image_paragraph.py
index be0c5d19..65673138 100644
--- a/tests/serviceGeneration/test_inline_image_paragraph.py
+++ b/tests/serviceGeneration/test_inline_image_paragraph.py
@@ -1,4 +1,4 @@
-# Copyright (c) 2025 Patrick Motsch
+# Copyright (c) 2026 PowerOn AG
# All rights reserved.
import pytest
from modules.serviceCenter.services.serviceGeneration.subDocumentUtility import markdownToDocumentJson
diff --git a/tests/serviceGeneration/test_large_document_render.py b/tests/serviceGeneration/test_large_document_render.py
index 8b757e64..245e644c 100644
--- a/tests/serviceGeneration/test_large_document_render.py
+++ b/tests/serviceGeneration/test_large_document_render.py
@@ -1,4 +1,4 @@
-# Copyright (c) 2026 Patrick Motsch
+# Copyright (c) 2026 PowerOn AG
# All rights reserved.
"""A3 / AC15: lazy file-reference image resolution for large documents.
diff --git a/tests/serviceGeneration/test_layout_primitives.py b/tests/serviceGeneration/test_layout_primitives.py
index 1c9e6c5e..7fd4fa88 100644
--- a/tests/serviceGeneration/test_layout_primitives.py
+++ b/tests/serviceGeneration/test_layout_primitives.py
@@ -1,4 +1,4 @@
-# Copyright (c) 2026 Patrick Motsch
+# Copyright (c) 2026 PowerOn AG
# All rights reserved.
"""A3: layout primitives (cover_page, image_grid).
diff --git a/tests/serviceGeneration/test_md_to_json_consolidation.py b/tests/serviceGeneration/test_md_to_json_consolidation.py
index 83118374..17184f51 100644
--- a/tests/serviceGeneration/test_md_to_json_consolidation.py
+++ b/tests/serviceGeneration/test_md_to_json_consolidation.py
@@ -1,4 +1,4 @@
-# Copyright (c) 2025 Patrick Motsch
+# Copyright (c) 2026 PowerOn AG
# All rights reserved.
import pytest
from modules.serviceCenter.services.serviceGeneration.subDocumentUtility import markdownToDocumentJson
diff --git a/tests/serviceGeneration/test_style_resolver.py b/tests/serviceGeneration/test_style_resolver.py
index e7d629cd..a08314b8 100644
--- a/tests/serviceGeneration/test_style_resolver.py
+++ b/tests/serviceGeneration/test_style_resolver.py
@@ -1,4 +1,4 @@
-# Copyright (c) 2025 Patrick Motsch
+# Copyright (c) 2026 PowerOn AG
# All rights reserved.
import pytest
from modules.serviceCenter.services.serviceGeneration.styleDefaults import (
diff --git a/tests/test_dateRange.py b/tests/test_dateRange.py
index dc8c2619..e68f4a08 100644
--- a/tests/test_dateRange.py
+++ b/tests/test_dateRange.py
@@ -1,4 +1,4 @@
-# Copyright (c) 2025 Patrick Motsch
+# Copyright (c) 2026 PowerOn AG
# All rights reserved.
"""
Unit tests for `modules.shared.dateRange`.
diff --git a/tests/test_service_redmine_orphans.py b/tests/test_service_redmine_orphans.py
index f5a22c7a..829bbd18 100644
--- a/tests/test_service_redmine_orphans.py
+++ b/tests/test_service_redmine_orphans.py
@@ -1,4 +1,4 @@
-# Copyright (c) 2026 Patrick Motsch
+# Copyright (c) 2026 PowerOn AG
# All rights reserved.
"""Pure-Python unit tests for the orphan detection in
``serviceRedmineStats._countOrphans``.
diff --git a/tests/test_service_redmine_stats.py b/tests/test_service_redmine_stats.py
index aecd2caf..9e9d86ab 100644
--- a/tests/test_service_redmine_stats.py
+++ b/tests/test_service_redmine_stats.py
@@ -1,4 +1,4 @@
-# Copyright (c) 2026 Patrick Motsch
+# Copyright (c) 2026 PowerOn AG
# All rights reserved.
"""Unit tests for the pure aggregation in ``serviceRedmineStats._aggregate``.
diff --git a/tests/test_service_redmine_stats_cache.py b/tests/test_service_redmine_stats_cache.py
index 47d98a9d..11dd823b 100644
--- a/tests/test_service_redmine_stats_cache.py
+++ b/tests/test_service_redmine_stats_cache.py
@@ -1,4 +1,4 @@
-# Copyright (c) 2026 Patrick Motsch
+# Copyright (c) 2026 PowerOn AG
# All rights reserved.
"""Unit tests for ``RedmineStatsCache``.
diff --git a/tests/unit/__init__.py b/tests/unit/__init__.py
index e2e77ecd..2ce5982f 100644
--- a/tests/unit/__init__.py
+++ b/tests/unit/__init__.py
@@ -1,4 +1,4 @@
-# Copyright (c) 2025 Patrick Motsch
+# Copyright (c) 2026 PowerOn AG
# All rights reserved.
"""
Unit tests
diff --git a/tests/unit/aicore/test_aicorePluginOpenai_temperature.py b/tests/unit/aicore/test_aicorePluginOpenai_temperature.py
index eb2d7cec..1cccc206 100644
--- a/tests/unit/aicore/test_aicorePluginOpenai_temperature.py
+++ b/tests/unit/aicore/test_aicorePluginOpenai_temperature.py
@@ -1,4 +1,4 @@
-# Copyright (c) 2026 Patrick Motsch
+# Copyright (c) 2026 PowerOn AG
# All rights reserved.
"""Unit tests: temperature handling for OpenAI chat-completions models.
diff --git a/tests/unit/auth/test_mfaService.py b/tests/unit/auth/test_mfaService.py
index 5010ceef..ed42f34d 100644
--- a/tests/unit/auth/test_mfaService.py
+++ b/tests/unit/auth/test_mfaService.py
@@ -1,4 +1,4 @@
-# Copyright (c) 2025 Patrick Motsch
+# Copyright (c) 2026 PowerOn AG
# All rights reserved.
"""
Unit tests for modules.auth.mfaService.
diff --git a/tests/unit/connectors/test_connectorDbPostgre_failLoud.py b/tests/unit/connectors/test_connectorDbPostgre_failLoud.py
index 5fb505d7..df35a902 100644
--- a/tests/unit/connectors/test_connectorDbPostgre_failLoud.py
+++ b/tests/unit/connectors/test_connectorDbPostgre_failLoud.py
@@ -1,4 +1,4 @@
-# Copyright (c) 2026 Patrick Motsch
+# Copyright (c) 2026 PowerOn AG
# All rights reserved.
"""Unit tests: PostgreSQL connector raises DatabaseQueryError on real failures.
diff --git a/tests/unit/connectors/test_connectorDbPostgre_pool.py b/tests/unit/connectors/test_connectorDbPostgre_pool.py
index 99dbab43..89e8b6ac 100644
--- a/tests/unit/connectors/test_connectorDbPostgre_pool.py
+++ b/tests/unit/connectors/test_connectorDbPostgre_pool.py
@@ -1,4 +1,4 @@
-# Copyright (c) 2026 Patrick Motsch
+# Copyright (c) 2026 PowerOn AG
# All rights reserved.
"""Concurrency tests for the PostgreSQL connection pool.
diff --git a/tests/unit/connectors/test_connectorResolver.py b/tests/unit/connectors/test_connectorResolver.py
index 0ef82e81..2ae8566f 100644
--- a/tests/unit/connectors/test_connectorResolver.py
+++ b/tests/unit/connectors/test_connectorResolver.py
@@ -1,4 +1,5 @@
-# Copyright (c) 2025 Patrick Motsch
+# Copyright (c) 2026 PowerOn AG
+# All rights reserved.
from types import SimpleNamespace
from modules.connectors.connectorResolver import _connection_uuid
diff --git a/tests/unit/connectors/test_connectorVoiceGoogle_sttHelpers.py b/tests/unit/connectors/test_connectorVoiceGoogle_sttHelpers.py
index 258dc0db..22871203 100644
--- a/tests/unit/connectors/test_connectorVoiceGoogle_sttHelpers.py
+++ b/tests/unit/connectors/test_connectorVoiceGoogle_sttHelpers.py
@@ -1,4 +1,5 @@
-# Copyright (c) 2025 Patrick Motsch
+# Copyright (c) 2026 PowerOn AG
+# All rights reserved.
"""Unit tests for Google STT helper config (no API calls)."""
from modules.connectors.connectorVoiceGoogle import _buildPrimarySttRecognitionFields
diff --git a/tests/unit/datamodels/test_docref.py b/tests/unit/datamodels/test_docref.py
index 2f2ee03d..9f66d121 100644
--- a/tests/unit/datamodels/test_docref.py
+++ b/tests/unit/datamodels/test_docref.py
@@ -1,5 +1,5 @@
#!/usr/bin/env python3
-# Copyright (c) 2025 Patrick Motsch
+# Copyright (c) 2026 PowerOn AG
# All rights reserved.
"""
Unit tests for document reference models in datamodelDocref.py
diff --git a/tests/unit/datamodels/test_udm_bridge.py b/tests/unit/datamodels/test_udm_bridge.py
index db52ffe6..d189b887 100644
--- a/tests/unit/datamodels/test_udm_bridge.py
+++ b/tests/unit/datamodels/test_udm_bridge.py
@@ -1,4 +1,4 @@
-# Copyright (c) 2025 Patrick Motsch
+# Copyright (c) 2026 PowerOn AG
# All rights reserved.
from modules.datamodels.datamodelExtraction import ContentExtracted, ContentPart
from modules.datamodels.datamodelUdm import contentPartsToUdm, _udmToContentParts
diff --git a/tests/unit/datamodels/test_udm_models.py b/tests/unit/datamodels/test_udm_models.py
index 92d86a85..dbda8c92 100644
--- a/tests/unit/datamodels/test_udm_models.py
+++ b/tests/unit/datamodels/test_udm_models.py
@@ -1,4 +1,4 @@
-# Copyright (c) 2025 Patrick Motsch
+# Copyright (c) 2026 PowerOn AG
# All rights reserved.
from modules.datamodels.datamodelUdm import UdmContentBlock, UdmDocument, UdmStructuralNode
diff --git a/tests/unit/datamodels/test_workflow_models.py b/tests/unit/datamodels/test_workflow_models.py
index 59e3736d..1563e524 100644
--- a/tests/unit/datamodels/test_workflow_models.py
+++ b/tests/unit/datamodels/test_workflow_models.py
@@ -1,5 +1,5 @@
#!/usr/bin/env python3
-# Copyright (c) 2025 Patrick Motsch
+# Copyright (c) 2026 PowerOn AG
# All rights reserved.
"""
Unit tests for workflow models in datamodelWorkflow.py
diff --git a/tests/unit/features/test_trustee_template_workflows.py b/tests/unit/features/test_trustee_template_workflows.py
index 388f2d29..2e6023dc 100644
--- a/tests/unit/features/test_trustee_template_workflows.py
+++ b/tests/unit/features/test_trustee_template_workflows.py
@@ -1,4 +1,5 @@
-# Copyright (c) 2025 Patrick Motsch
+# Copyright (c) 2026 PowerOn AG
+# All rights reserved.
"""Guardrails for Trustee ``getTemplateWorkflows`` graphs (new instance bootstrap)."""
from __future__ import annotations
diff --git a/tests/unit/features/trustee/test_accountingConnectorAbacus_balances.py b/tests/unit/features/trustee/test_accountingConnectorAbacus_balances.py
index ae1a39ad..7d4f3884 100644
--- a/tests/unit/features/trustee/test_accountingConnectorAbacus_balances.py
+++ b/tests/unit/features/trustee/test_accountingConnectorAbacus_balances.py
@@ -1,4 +1,4 @@
-# Copyright (c) 2026 Patrick Motsch
+# Copyright (c) 2026 PowerOn AG
# All rights reserved.
"""Unit tests for the Abacus connector's getAccountBalances aggregation logic."""
diff --git a/tests/unit/features/trustee/test_accountingConnectorBexio_balances.py b/tests/unit/features/trustee/test_accountingConnectorBexio_balances.py
index 945c7c95..ca9ae84b 100644
--- a/tests/unit/features/trustee/test_accountingConnectorBexio_balances.py
+++ b/tests/unit/features/trustee/test_accountingConnectorBexio_balances.py
@@ -1,4 +1,4 @@
-# Copyright (c) 2026 Patrick Motsch
+# Copyright (c) 2026 PowerOn AG
# All rights reserved.
"""Unit tests for the Bexio connector's getAccountBalances aggregation logic."""
diff --git a/tests/unit/features/trustee/test_accountingConnectorRma_balances.py b/tests/unit/features/trustee/test_accountingConnectorRma_balances.py
index b6e43717..6ea3f9d8 100644
--- a/tests/unit/features/trustee/test_accountingConnectorRma_balances.py
+++ b/tests/unit/features/trustee/test_accountingConnectorRma_balances.py
@@ -1,4 +1,4 @@
-# Copyright (c) 2026 Patrick Motsch
+# Copyright (c) 2026 PowerOn AG
# All rights reserved.
"""Unit tests for the RMA connector's getAccountBalances implementation.
diff --git a/tests/unit/features/trustee/test_accountingDataSync_balances.py b/tests/unit/features/trustee/test_accountingDataSync_balances.py
index 711c9808..d9791c78 100644
--- a/tests/unit/features/trustee/test_accountingDataSync_balances.py
+++ b/tests/unit/features/trustee/test_accountingDataSync_balances.py
@@ -1,4 +1,4 @@
-# Copyright (c) 2026 Patrick Motsch
+# Copyright (c) 2026 PowerOn AG
# All rights reserved.
"""Unit tests for the local-fallback cumulative balance computation in
``AccountingDataSync._buildLocalBalanceFallback`` and the connector handoff
diff --git a/tests/unit/graphicalEditor/test_action_node_connection_provenance.py b/tests/unit/graphicalEditor/test_action_node_connection_provenance.py
index 610d35c9..8e6d1159 100644
--- a/tests/unit/graphicalEditor/test_action_node_connection_provenance.py
+++ b/tests/unit/graphicalEditor/test_action_node_connection_provenance.py
@@ -1,4 +1,5 @@
-# Copyright (c) 2025 Patrick Motsch
+# Copyright (c) 2026 PowerOn AG
+# All rights reserved.
from modules.workflowAutomation.engine.executors.actionNodeExecutor import _buildConnectionRefDict
diff --git a/tests/unit/graphicalEditor/test_adapter_validator.py b/tests/unit/graphicalEditor/test_adapter_validator.py
index ad507daa..5ac3eb8f 100644
--- a/tests/unit/graphicalEditor/test_adapter_validator.py
+++ b/tests/unit/graphicalEditor/test_adapter_validator.py
@@ -1,4 +1,4 @@
-# Copyright (c) 2025 Patrick Motsch
+# Copyright (c) 2026 PowerOn AG
# All rights reserved.
"""
Tests for the Schicht-3 Adapter Validator (Phase 3).
diff --git a/tests/unit/graphicalEditor/test_condition_operator_catalog.py b/tests/unit/graphicalEditor/test_condition_operator_catalog.py
index ce02c083..05f6cb7b 100644
--- a/tests/unit/graphicalEditor/test_condition_operator_catalog.py
+++ b/tests/unit/graphicalEditor/test_condition_operator_catalog.py
@@ -1,4 +1,5 @@
-# Copyright (c) 2025 Patrick Motsch
+# Copyright (c) 2026 PowerOn AG
+# All rights reserved.
"""Tests for backend-driven condition operator catalog."""
from modules.workflowAutomation.editor.conditionOperators import (
diff --git a/tests/unit/graphicalEditor/test_featureInstanceRef_node_definitions.py b/tests/unit/graphicalEditor/test_featureInstanceRef_node_definitions.py
index e81a0a4f..671a6e62 100644
--- a/tests/unit/graphicalEditor/test_featureInstanceRef_node_definitions.py
+++ b/tests/unit/graphicalEditor/test_featureInstanceRef_node_definitions.py
@@ -1,4 +1,4 @@
-# Copyright (c) 2026 Patrick Motsch
+# Copyright (c) 2026 PowerOn AG
# All rights reserved.
"""
Schicht-4 / Phase-5 follow-up: assert that all Trustee + Redmine node
diff --git a/tests/unit/graphicalEditor/test_node_adapter.py b/tests/unit/graphicalEditor/test_node_adapter.py
index 634f76d2..2fc39dde 100644
--- a/tests/unit/graphicalEditor/test_node_adapter.py
+++ b/tests/unit/graphicalEditor/test_node_adapter.py
@@ -1,4 +1,4 @@
-# Copyright (c) 2025 Patrick Motsch
+# Copyright (c) 2026 PowerOn AG
# All rights reserved.
"""
Tests for the Schicht-3 NodeAdapter projection (Phase 3).
diff --git a/tests/unit/graphicalEditor/test_portTypes_catalog.py b/tests/unit/graphicalEditor/test_portTypes_catalog.py
index 9e97d475..4d2a0a38 100644
--- a/tests/unit/graphicalEditor/test_portTypes_catalog.py
+++ b/tests/unit/graphicalEditor/test_portTypes_catalog.py
@@ -1,4 +1,5 @@
-# Copyright (c) 2025 Patrick Motsch
+# Copyright (c) 2026 PowerOn AG
+# All rights reserved.
"""
Catalog integrity + new Phase-1 schemas
(see wiki/c-work/1-plan/2026-04-typed-action-architecture.md).
diff --git a/tests/unit/graphicalEditor/test_port_schema_recursive.py b/tests/unit/graphicalEditor/test_port_schema_recursive.py
index cd32e461..00f3899e 100644
--- a/tests/unit/graphicalEditor/test_port_schema_recursive.py
+++ b/tests/unit/graphicalEditor/test_port_schema_recursive.py
@@ -1,4 +1,5 @@
-# Copyright (c) 2025 Patrick Motsch
+# Copyright (c) 2026 PowerOn AG
+# All rights reserved.
"""Port type catalog: nested provenance schemas (Typed Generic Handover)."""
from modules.nodeCatalog.portTypes import PORT_TYPE_CATALOG, _defaultForType
diff --git a/tests/unit/graphicalEditor/test_resolve_value_kind.py b/tests/unit/graphicalEditor/test_resolve_value_kind.py
index 497619e2..0e37ff92 100644
--- a/tests/unit/graphicalEditor/test_resolve_value_kind.py
+++ b/tests/unit/graphicalEditor/test_resolve_value_kind.py
@@ -1,4 +1,5 @@
-# Copyright (c) 2025 Patrick Motsch
+# Copyright (c) 2026 PowerOn AG
+# All rights reserved.
"""Tests for condition valueKind resolution."""
from modules.workflowAutomation.editor.conditionOperators import resolve_value_kind
diff --git a/tests/unit/graphicalEditor/test_upstream_paths_and_graph_schema.py b/tests/unit/graphicalEditor/test_upstream_paths_and_graph_schema.py
index 6c6ff2cc..7663364d 100644
--- a/tests/unit/graphicalEditor/test_upstream_paths_and_graph_schema.py
+++ b/tests/unit/graphicalEditor/test_upstream_paths_and_graph_schema.py
@@ -1,4 +1,5 @@
-# Copyright (c) 2025 Patrick Motsch
+# Copyright (c) 2026 PowerOn AG
+# All rights reserved.
from modules.workflowAutomation.editor.upstreamPathsService import compute_upstream_paths
from modules.workflowAutomation.engine.graphUtils import parse_graph_defined_schema, validateGraph
from modules.nodeCatalog.nodeDefinitions import STATIC_NODE_TYPES
diff --git a/tests/unit/interfaces/test_folderRbac.py b/tests/unit/interfaces/test_folderRbac.py
index f4b984aa..ea7ab1fb 100644
--- a/tests/unit/interfaces/test_folderRbac.py
+++ b/tests/unit/interfaces/test_folderRbac.py
@@ -1,4 +1,4 @@
-# Copyright (c) 2026 Patrick Motsch
+# Copyright (c) 2026 PowerOn AG
# All rights reserved.
"""Unit tests for folder RBAC two-user matrix (ownership & scope visibility)."""
diff --git a/tests/unit/methods/test_action_signature_validator.py b/tests/unit/methods/test_action_signature_validator.py
index a959989e..62883b44 100644
--- a/tests/unit/methods/test_action_signature_validator.py
+++ b/tests/unit/methods/test_action_signature_validator.py
@@ -1,4 +1,4 @@
-# Copyright (c) 2025 Patrick Motsch
+# Copyright (c) 2026 PowerOn AG
# All rights reserved.
"""
Tests for the action-signature validator (Phase 2 of the Typed Action
diff --git a/tests/unit/nodeDefinitions/test_trustee_schema_compliance.py b/tests/unit/nodeDefinitions/test_trustee_schema_compliance.py
index 060d04a6..fd75170a 100644
--- a/tests/unit/nodeDefinitions/test_trustee_schema_compliance.py
+++ b/tests/unit/nodeDefinitions/test_trustee_schema_compliance.py
@@ -1,4 +1,5 @@
-# Copyright (c) 2025 Patrick Motsch
+# Copyright (c) 2026 PowerOn AG
+# All rights reserved.
"""Trustee node schema-compliance under the Pick-not-Push typed port system.
Verifies that:
diff --git a/tests/unit/rbac/__init__.py b/tests/unit/rbac/__init__.py
index 76c6c7d0..0afbbeb1 100644
--- a/tests/unit/rbac/__init__.py
+++ b/tests/unit/rbac/__init__.py
@@ -1,3 +1,3 @@
-# Copyright (c) 2025 Patrick Motsch
+# Copyright (c) 2026 PowerOn AG
# 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 0e69b802..d444a543 100644
--- a/tests/unit/rbac/test_rbac_bootstrap.py
+++ b/tests/unit/rbac/test_rbac_bootstrap.py
@@ -1,4 +1,4 @@
-# Copyright (c) 2025 Patrick Motsch
+# Copyright (c) 2026 PowerOn AG
# All rights reserved.
"""
Unit tests for RBAC bootstrap initialization.
diff --git a/tests/unit/rbac/test_rbac_permissions.py b/tests/unit/rbac/test_rbac_permissions.py
index 49458367..d82af432 100644
--- a/tests/unit/rbac/test_rbac_permissions.py
+++ b/tests/unit/rbac/test_rbac_permissions.py
@@ -1,4 +1,4 @@
-# Copyright (c) 2025 Patrick Motsch
+# Copyright (c) 2026 PowerOn AG
# All rights reserved.
"""
Unit tests for RBAC permission resolution.
diff --git a/tests/unit/routes/test_folder_crud.py b/tests/unit/routes/test_folder_crud.py
index 66bad903..1af53e4d 100644
--- a/tests/unit/routes/test_folder_crud.py
+++ b/tests/unit/routes/test_folder_crud.py
@@ -1,4 +1,4 @@
-# Copyright (c) 2026 Patrick Motsch
+# Copyright (c) 2026 PowerOn AG
# All rights reserved.
"""Unit tests for folder CRUD operations in ComponentObjects."""
diff --git a/tests/unit/scripts/__init__.py b/tests/unit/scripts/__init__.py
index fdcc4f0e..06003961 100644
--- a/tests/unit/scripts/__init__.py
+++ b/tests/unit/scripts/__init__.py
@@ -1,2 +1,2 @@
-# Copyright (c) 2025 Patrick Motsch
+# Copyright (c) 2026 PowerOn AG
# All rights reserved.
diff --git a/tests/unit/scripts/test_migrate_feature_instance_refs.py b/tests/unit/scripts/test_migrate_feature_instance_refs.py
index 80367b4e..c0ff9499 100644
--- a/tests/unit/scripts/test_migrate_feature_instance_refs.py
+++ b/tests/unit/scripts/test_migrate_feature_instance_refs.py
@@ -1,4 +1,4 @@
-# Copyright (c) 2025 Patrick Motsch
+# Copyright (c) 2026 PowerOn AG
# All rights reserved.
"""Tests for ``scripts/script_migrate_feature_instance_refs.py``.
diff --git a/tests/unit/serviceAgent/test_action_tool_adapter_typed.py b/tests/unit/serviceAgent/test_action_tool_adapter_typed.py
index 44439957..2934eeb3 100644
--- a/tests/unit/serviceAgent/test_action_tool_adapter_typed.py
+++ b/tests/unit/serviceAgent/test_action_tool_adapter_typed.py
@@ -1,4 +1,4 @@
-# Copyright (c) 2025 Patrick Motsch
+# Copyright (c) 2026 PowerOn AG
# All rights reserved.
"""
Tests for the catalog-driven JSON-Schema generator in actionToolAdapter
diff --git a/tests/unit/serviceAgent/test_agentTrace_repairCounters.py b/tests/unit/serviceAgent/test_agentTrace_repairCounters.py
index 4a0909d1..befecea3 100644
--- a/tests/unit/serviceAgent/test_agentTrace_repairCounters.py
+++ b/tests/unit/serviceAgent/test_agentTrace_repairCounters.py
@@ -1,4 +1,4 @@
-# Copyright (c) 2026 Patrick Motsch
+# Copyright (c) 2026 PowerOn AG
# All rights reserved.
"""Unit tests for the repair-loop telemetry aggregation in agentLoop.
diff --git a/tests/unit/serviceAgent/test_field_neutralization.py b/tests/unit/serviceAgent/test_field_neutralization.py
index 6cd52974..005f34f0 100644
--- a/tests/unit/serviceAgent/test_field_neutralization.py
+++ b/tests/unit/serviceAgent/test_field_neutralization.py
@@ -1,4 +1,4 @@
-# Copyright (c) 2026 Patrick Motsch
+# Copyright (c) 2026 PowerOn AG
# All rights reserved.
"""A2: type/inheritance-aware field neutralization for feature source data.
diff --git a/tests/unit/serviceAgent/test_workflow_tools_crud.py b/tests/unit/serviceAgent/test_workflow_tools_crud.py
index 41e56ab6..7e818b31 100644
--- a/tests/unit/serviceAgent/test_workflow_tools_crud.py
+++ b/tests/unit/serviceAgent/test_workflow_tools_crud.py
@@ -1,4 +1,4 @@
-# Copyright (c) 2026 Patrick Motsch
+# Copyright (c) 2026 PowerOn AG
# All rights reserved.
"""T3 — Unit tests for the workflow-CRUD agent tools.
diff --git a/tests/unit/services/test_bootstrap_clickup.py b/tests/unit/services/test_bootstrap_clickup.py
index 4ed0c4f1..f8205297 100644
--- a/tests/unit/services/test_bootstrap_clickup.py
+++ b/tests/unit/services/test_bootstrap_clickup.py
@@ -1,5 +1,5 @@
#!/usr/bin/env python3
-# Copyright (c) 2025 Patrick Motsch
+# Copyright (c) 2026 PowerOn AG
# All rights reserved.
"""Bootstrap ClickUp tests with a fake service + knowledge service.
diff --git a/tests/unit/services/test_bootstrap_gdrive.py b/tests/unit/services/test_bootstrap_gdrive.py
index 2741332f..58970df9 100644
--- a/tests/unit/services/test_bootstrap_gdrive.py
+++ b/tests/unit/services/test_bootstrap_gdrive.py
@@ -1,5 +1,5 @@
#!/usr/bin/env python3
-# Copyright (c) 2025 Patrick Motsch
+# Copyright (c) 2026 PowerOn AG
# All rights reserved.
"""Bootstrap Google Drive tests with a fake adapter + knowledge service.
diff --git a/tests/unit/services/test_bootstrap_gmail.py b/tests/unit/services/test_bootstrap_gmail.py
index 86508adb..d2cf2734 100644
--- a/tests/unit/services/test_bootstrap_gmail.py
+++ b/tests/unit/services/test_bootstrap_gmail.py
@@ -1,5 +1,5 @@
#!/usr/bin/env python3
-# Copyright (c) 2025 Patrick Motsch
+# Copyright (c) 2026 PowerOn AG
# All rights reserved.
"""Bootstrap Gmail tests with a fake googleGet + knowledge service.
diff --git a/tests/unit/services/test_bootstrap_outlook.py b/tests/unit/services/test_bootstrap_outlook.py
index c5fea524..5dabc4e7 100644
--- a/tests/unit/services/test_bootstrap_outlook.py
+++ b/tests/unit/services/test_bootstrap_outlook.py
@@ -1,5 +1,5 @@
#!/usr/bin/env python3
-# Copyright (c) 2025 Patrick Motsch
+# Copyright (c) 2026 PowerOn AG
# All rights reserved.
"""Bootstrap Outlook tests with a fake adapter + knowledge service.
diff --git a/tests/unit/services/test_bootstrap_sharepoint.py b/tests/unit/services/test_bootstrap_sharepoint.py
index 91020765..cee22bc6 100644
--- a/tests/unit/services/test_bootstrap_sharepoint.py
+++ b/tests/unit/services/test_bootstrap_sharepoint.py
@@ -1,5 +1,5 @@
#!/usr/bin/env python3
-# Copyright (c) 2025 Patrick Motsch
+# Copyright (c) 2026 PowerOn AG
# All rights reserved.
"""Bootstrap SharePoint tests with a fake adapter + knowledge service.
diff --git a/tests/unit/services/test_clean_email_body.py b/tests/unit/services/test_clean_email_body.py
index a3ee01df..6827f2de 100644
--- a/tests/unit/services/test_clean_email_body.py
+++ b/tests/unit/services/test_clean_email_body.py
@@ -1,5 +1,5 @@
#!/usr/bin/env python3
-# Copyright (c) 2025 Patrick Motsch
+# Copyright (c) 2026 PowerOn AG
# All rights reserved.
"""Unit tests for cleanEmailBody.
diff --git a/tests/unit/services/test_connection_purge.py b/tests/unit/services/test_connection_purge.py
index c32cb5b3..5acbcce2 100644
--- a/tests/unit/services/test_connection_purge.py
+++ b/tests/unit/services/test_connection_purge.py
@@ -1,5 +1,5 @@
#!/usr/bin/env python3
-# Copyright (c) 2025 Patrick Motsch
+# Copyright (c) 2026 PowerOn AG
# All rights reserved.
"""Purge tests for KnowledgeObjects.deleteFileContentIndexByConnectionId.
diff --git a/tests/unit/services/test_extraction_merge_strategy.py b/tests/unit/services/test_extraction_merge_strategy.py
index 784bb783..28a41629 100644
--- a/tests/unit/services/test_extraction_merge_strategy.py
+++ b/tests/unit/services/test_extraction_merge_strategy.py
@@ -1,5 +1,5 @@
#!/usr/bin/env python3
-# Copyright (c) 2025 Patrick Motsch
+# Copyright (c) 2026 PowerOn AG
# All rights reserved.
"""Test that runExtraction preserves per-part granularity when mergeStrategy=None.
diff --git a/tests/unit/services/test_featureDataAgent_schema.py b/tests/unit/services/test_featureDataAgent_schema.py
index 2b70532d..15b51b1c 100644
--- a/tests/unit/services/test_featureDataAgent_schema.py
+++ b/tests/unit/services/test_featureDataAgent_schema.py
@@ -1,4 +1,4 @@
-# Copyright (c) 2026 Patrick Motsch
+# Copyright (c) 2026 PowerOn AG
# All rights reserved.
"""Unit test: feature data sub-agent schema context is rich enough.
diff --git a/tests/unit/services/test_ingestion_hash_stability.py b/tests/unit/services/test_ingestion_hash_stability.py
index df25a4f0..eb19736a 100644
--- a/tests/unit/services/test_ingestion_hash_stability.py
+++ b/tests/unit/services/test_ingestion_hash_stability.py
@@ -1,5 +1,5 @@
#!/usr/bin/env python3
-# Copyright (c) 2025 Patrick Motsch
+# Copyright (c) 2026 PowerOn AG
# All rights reserved.
"""Test that _computeIngestionHash is stable across re-extractions of the same source.
diff --git a/tests/unit/services/test_json_extraction_merging.py b/tests/unit/services/test_json_extraction_merging.py
index 49f430a8..138e5b62 100644
--- a/tests/unit/services/test_json_extraction_merging.py
+++ b/tests/unit/services/test_json_extraction_merging.py
@@ -1,5 +1,5 @@
#!/usr/bin/env python3
-# Copyright (c) 2025 Patrick Motsch
+# Copyright (c) 2026 PowerOn AG
# All rights reserved.
"""
Test script for JSON extraction response detection and merging.
diff --git a/tests/unit/services/test_knowledge_ingest_consumer.py b/tests/unit/services/test_knowledge_ingest_consumer.py
index 9884079e..b523e918 100644
--- a/tests/unit/services/test_knowledge_ingest_consumer.py
+++ b/tests/unit/services/test_knowledge_ingest_consumer.py
@@ -1,5 +1,5 @@
#!/usr/bin/env python3
-# Copyright (c) 2025 Patrick Motsch
+# Copyright (c) 2026 PowerOn AG
# All rights reserved.
"""Unit tests for KnowledgeIngestionConsumer event dispatch.
diff --git a/tests/unit/services/test_queryValidator.py b/tests/unit/services/test_queryValidator.py
index 0fb0b4a4..7aa6c01e 100644
--- a/tests/unit/services/test_queryValidator.py
+++ b/tests/unit/services/test_queryValidator.py
@@ -1,4 +1,4 @@
-# Copyright (c) 2026 Patrick Motsch
+# Copyright (c) 2026 PowerOn AG
# All rights reserved.
"""Unit tests for the Feature Data Sub-Agent QueryValidator.
diff --git a/tests/unit/services/test_renderer_pdf_smoke.py b/tests/unit/services/test_renderer_pdf_smoke.py
index 60c1a2ef..9e984003 100644
--- a/tests/unit/services/test_renderer_pdf_smoke.py
+++ b/tests/unit/services/test_renderer_pdf_smoke.py
@@ -1,4 +1,4 @@
-# Copyright (c) 2025 Patrick Motsch
+# Copyright (c) 2026 PowerOn AG
# All rights reserved.
"""
Smoke test: RendererPdf with every JSON section/element shape the pipeline supports.
diff --git a/tests/unit/services/test_trusteeOntology.py b/tests/unit/services/test_trusteeOntology.py
index 89d714c6..0699910a 100644
--- a/tests/unit/services/test_trusteeOntology.py
+++ b/tests/unit/services/test_trusteeOntology.py
@@ -1,4 +1,4 @@
-# Copyright (c) 2026 Patrick Motsch
+# Copyright (c) 2026 PowerOn AG
# All rights reserved.
"""Unit tests for the trustee ontology and the ontology-to-prompt compiler.
diff --git a/tests/unit/shared/test_mandateNameUtils.py b/tests/unit/shared/test_mandateNameUtils.py
index 6ef4bec1..11f7912d 100644
--- a/tests/unit/shared/test_mandateNameUtils.py
+++ b/tests/unit/shared/test_mandateNameUtils.py
@@ -1,5 +1,5 @@
#!/usr/bin/env python3
-# Copyright (c) 2025 Patrick Motsch
+# Copyright (c) 2026 PowerOn AG
# All rights reserved.
"""Unit tests for mandateNameUtils (slug, validation, unique allocation)."""
diff --git a/tests/unit/teamsbot/test_directorPrompts.py b/tests/unit/teamsbot/test_directorPrompts.py
index b8bdaafc..9b23fe17 100644
--- a/tests/unit/teamsbot/test_directorPrompts.py
+++ b/tests/unit/teamsbot/test_directorPrompts.py
@@ -1,4 +1,4 @@
-# Copyright (c) 2025 Patrick Motsch
+# Copyright (c) 2026 PowerOn AG
# All rights reserved.
"""Unit tests for Teamsbot Director Prompts (Plan #5).
diff --git a/tests/unit/utils/test_json_utils.py b/tests/unit/utils/test_json_utils.py
index 6c0e4357..3ae21ad4 100644
--- a/tests/unit/utils/test_json_utils.py
+++ b/tests/unit/utils/test_json_utils.py
@@ -1,5 +1,5 @@
#!/usr/bin/env python3
-# Copyright (c) 2025 Patrick Motsch
+# Copyright (c) 2026 PowerOn AG
# All rights reserved.
"""
Unit tests for JSON utilities in jsonUtils.py
diff --git a/tests/unit/workflow/test_flow_executor_conditions.py b/tests/unit/workflow/test_flow_executor_conditions.py
index b16e8e5c..49af1a7a 100644
--- a/tests/unit/workflow/test_flow_executor_conditions.py
+++ b/tests/unit/workflow/test_flow_executor_conditions.py
@@ -1,4 +1,5 @@
-# Copyright (c) 2025 Patrick Motsch
+# Copyright (c) 2026 PowerOn AG
+# All rights reserved.
"""FlowExecutor structured condition evaluation with Item dataRef."""
import pytest
diff --git a/tests/unit/workflow/test_switch_filtered_output.py b/tests/unit/workflow/test_switch_filtered_output.py
index ee9271d9..5346a3d6 100644
--- a/tests/unit/workflow/test_switch_filtered_output.py
+++ b/tests/unit/workflow/test_switch_filtered_output.py
@@ -1,4 +1,5 @@
-# Copyright (c) 2025 Patrick Motsch
+# Copyright (c) 2026 PowerOn AG
+# All rights reserved.
"""flow.switch ContextBranch: filtered presentation + loop-ready items."""
import pytest
diff --git a/tests/unit/workflow/test_trusteeQueryData.py b/tests/unit/workflow/test_trusteeQueryData.py
index 93e0f4c5..8111e9c2 100644
--- a/tests/unit/workflow/test_trusteeQueryData.py
+++ b/tests/unit/workflow/test_trusteeQueryData.py
@@ -1,4 +1,4 @@
-# Copyright (c) 2026 Patrick Motsch
+# Copyright (c) 2026 PowerOn AG
# All rights reserved.
"""Unit tests for trustee.queryData helpers (pure-logic, no DB required)."""
diff --git a/tests/unit/workflow/test_workflowFileSchema.py b/tests/unit/workflow/test_workflowFileSchema.py
index 3eb0fb2c..3cea8989 100644
--- a/tests/unit/workflow/test_workflowFileSchema.py
+++ b/tests/unit/workflow/test_workflowFileSchema.py
@@ -1,4 +1,4 @@
-# Copyright (c) 2026 Patrick Motsch
+# Copyright (c) 2026 PowerOn AG
# All rights reserved.
"""Unit tests for the workflow-file (versioned envelope) schema."""
diff --git a/tests/unit/workflows/test_featureInstanceRefMigration.py b/tests/unit/workflows/test_featureInstanceRefMigration.py
index 2ffb6682..dd363c5c 100644
--- a/tests/unit/workflows/test_featureInstanceRefMigration.py
+++ b/tests/unit/workflows/test_featureInstanceRefMigration.py
@@ -1,4 +1,5 @@
-# Copyright (c) 2025 Patrick Motsch
+# Copyright (c) 2026 PowerOn AG
+# All rights reserved.
"""
Phase-5 Schicht-4 — unit tests for ``materializeFeatureInstanceRefs`` and the
runtime envelope unwrap in ``graphUtils.resolveParameterReferences``.
diff --git a/tests/unit/workflows/test_parameterValidation.py b/tests/unit/workflows/test_parameterValidation.py
index 62799cd1..149e5c72 100644
--- a/tests/unit/workflows/test_parameterValidation.py
+++ b/tests/unit/workflows/test_parameterValidation.py
@@ -1,4 +1,4 @@
-# Copyright (c) 2026 Patrick Motsch
+# Copyright (c) 2026 PowerOn AG
# All rights reserved.
"""Unit tests: universal action parameter validation + coercion.
diff --git a/tests/unit/workflows/test_state_management.py b/tests/unit/workflows/test_state_management.py
index ae502397..2162e297 100644
--- a/tests/unit/workflows/test_state_management.py
+++ b/tests/unit/workflows/test_state_management.py
@@ -1,5 +1,5 @@
#!/usr/bin/env python3
-# Copyright (c) 2025 Patrick Motsch
+# Copyright (c) 2026 PowerOn AG
# All rights reserved.
"""
Unit tests for workflow state management in ChatWorkflow and TaskContext
diff --git a/tests/unit/workflows/test_trigger_executor.py b/tests/unit/workflows/test_trigger_executor.py
index 96a0bf68..9d1ec1e0 100644
--- a/tests/unit/workflows/test_trigger_executor.py
+++ b/tests/unit/workflows/test_trigger_executor.py
@@ -1,4 +1,5 @@
-# Copyright (c) 2025 Patrick Motsch
+# Copyright (c) 2026 PowerOn AG
+# All rights reserved.
"""TriggerExecutor: form start output must match FormPayload (payload.* refs)."""
import pytest
diff --git a/tests/validation/test_architecture_validation.py b/tests/validation/test_architecture_validation.py
index 09f6e92c..89f2855e 100644
--- a/tests/validation/test_architecture_validation.py
+++ b/tests/validation/test_architecture_validation.py
@@ -1,5 +1,5 @@
#!/usr/bin/env python3
-# Copyright (c) 2025 Patrick Motsch
+# Copyright (c) 2026 PowerOn AG
# All rights reserved.
"""
End-to-End Validation Tests for New Architecture
diff --git a/tests/validation/test_featureCatalogLabels_i18n.py b/tests/validation/test_featureCatalogLabels_i18n.py
index d6787c43..ffdf1c2b 100644
--- a/tests/validation/test_featureCatalogLabels_i18n.py
+++ b/tests/validation/test_featureCatalogLabels_i18n.py
@@ -1,4 +1,4 @@
-# Copyright (c) 2026 Patrick Motsch
+# Copyright (c) 2026 PowerOn AG
# All rights reserved.
"""Validation: every label in feature ``main*.py`` catalog lists must be wrapped in ``t(...)``.