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(...)``.