@mxf-dev/core 2.0.5 → 3.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/config/ModelContextLimits.d.ts.map +1 -1
- package/dist/config/ModelContextLimits.js +7 -1
- package/dist/config/ModelContextLimits.js.map +1 -1
- package/dist/constants/CoreTools.d.ts +6 -5
- package/dist/constants/CoreTools.d.ts.map +1 -1
- package/dist/constants/CoreTools.js +6 -5
- package/dist/constants/CoreTools.js.map +1 -1
- package/dist/constants/DefaultPhaseProfiles.d.ts.map +1 -1
- package/dist/constants/DefaultPhaseProfiles.js +29 -0
- package/dist/constants/DefaultPhaseProfiles.js.map +1 -1
- package/dist/constants/ReservedIdentities.d.ts +14 -0
- package/dist/constants/ReservedIdentities.d.ts.map +1 -0
- package/dist/constants/ReservedIdentities.js +42 -0
- package/dist/constants/ReservedIdentities.js.map +1 -0
- package/dist/database/adapters/mongodb/MongoKnowledgeGraphRepository.d.ts +16 -16
- package/dist/database/adapters/mongodb/MongoKnowledgeGraphRepository.d.ts.map +1 -1
- package/dist/database/adapters/mongodb/MongoKnowledgeGraphRepository.js +98 -36
- package/dist/database/adapters/mongodb/MongoKnowledgeGraphRepository.js.map +1 -1
- package/dist/events/ClientEventBus.d.ts +28 -0
- package/dist/events/ClientEventBus.d.ts.map +1 -1
- package/dist/events/ClientEventBus.js +87 -40
- package/dist/events/ClientEventBus.js.map +1 -1
- package/dist/events/EventBus.d.ts +19 -1
- package/dist/events/EventBus.d.ts.map +1 -1
- package/dist/events/EventBus.js +23 -0
- package/dist/events/EventBus.js.map +1 -1
- package/dist/events/EventBusBase.d.ts +37 -6
- package/dist/events/EventBusBase.d.ts.map +1 -1
- package/dist/events/EventBusBase.js +75 -27
- package/dist/events/EventBusBase.js.map +1 -1
- package/dist/events/EventNames.d.ts +49 -36
- package/dist/events/EventNames.d.ts.map +1 -1
- package/dist/events/EventNames.js +38 -36
- package/dist/events/EventNames.js.map +1 -1
- package/dist/events/PublicEvents.d.ts +5 -1
- package/dist/events/PublicEvents.d.ts.map +1 -1
- package/dist/events/PublicEvents.js +7 -0
- package/dist/events/PublicEvents.js.map +1 -1
- package/dist/events/ServerEventBus.d.ts +7 -54
- package/dist/events/ServerEventBus.d.ts.map +1 -1
- package/dist/events/ServerEventBus.js +10 -96
- package/dist/events/ServerEventBus.js.map +1 -1
- package/dist/events/event-definitions/ControlLoopEvents.d.ts +35 -0
- package/dist/events/event-definitions/ControlLoopEvents.d.ts.map +1 -1
- package/dist/events/event-definitions/ControlLoopEvents.js +6 -0
- package/dist/events/event-definitions/ControlLoopEvents.js.map +1 -1
- package/dist/events/event-definitions/SdkEvents.d.ts +55 -0
- package/dist/events/event-definitions/SdkEvents.d.ts.map +1 -0
- package/dist/events/event-definitions/SdkEvents.js +36 -0
- package/dist/events/event-definitions/SdkEvents.js.map +1 -0
- package/dist/events/event-definitions/TaskEvents.d.ts +2 -7
- package/dist/events/event-definitions/TaskEvents.d.ts.map +1 -1
- package/dist/index.d.ts +4 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -0
- package/dist/index.js.map +1 -1
- package/dist/interfaces/AgentInterfaces.d.ts +5 -0
- package/dist/interfaces/AgentInterfaces.d.ts.map +1 -1
- package/dist/interfaces/ChannelConfig.d.ts +2 -2
- package/dist/interfaces/ChannelConfig.d.ts.map +1 -1
- package/dist/interfaces/ConversationMessage.d.ts +1 -1
- package/dist/interfaces/ConversationMessage.d.ts.map +1 -1
- package/dist/interfaces/IMemoryPersistence.d.ts +47 -1
- package/dist/interfaces/IMemoryPersistence.d.ts.map +1 -1
- package/dist/interfaces/SocketServiceInterface.d.ts +3 -2
- package/dist/interfaces/SocketServiceInterface.d.ts.map +1 -1
- package/dist/interfaces/TaskInterfaces.d.ts +14 -1
- package/dist/interfaces/TaskInterfaces.d.ts.map +1 -1
- package/dist/models/agent.d.ts +0 -1
- package/dist/models/agent.d.ts.map +1 -1
- package/dist/models/agent.js +0 -5
- package/dist/models/agent.js.map +1 -1
- package/dist/models/agentIdentityReservation.d.ts +42 -0
- package/dist/models/agentIdentityReservation.d.ts.map +1 -0
- package/dist/models/agentIdentityReservation.js +52 -0
- package/dist/models/agentIdentityReservation.js.map +1 -0
- package/dist/models/channel.d.ts +2 -0
- package/dist/models/channel.d.ts.map +1 -1
- package/dist/models/channel.js.map +1 -1
- package/dist/models/channelKey.d.ts +1 -0
- package/dist/models/channelKey.d.ts.map +1 -1
- package/dist/models/channelKey.js +5 -0
- package/dist/models/channelKey.js.map +1 -1
- package/dist/models/memory.d.ts +1 -1
- package/dist/models/memory.d.ts.map +1 -1
- package/dist/models/memory.js +9 -12
- package/dist/models/memory.js.map +1 -1
- package/dist/models/memoryStrata.d.ts +3 -16
- package/dist/models/memoryStrata.d.ts.map +1 -1
- package/dist/models/memoryStrata.js +3 -5
- package/dist/models/memoryStrata.js.map +1 -1
- package/dist/models/plan.d.ts +2 -2
- package/dist/models/plan.d.ts.map +1 -1
- package/dist/models/plan.js +1 -1
- package/dist/models/plan.js.map +1 -1
- package/dist/models/taskEffectiveness.d.ts +1 -0
- package/dist/models/taskEffectiveness.d.ts.map +1 -1
- package/dist/models/taskEffectiveness.js +7 -1
- package/dist/models/taskEffectiveness.js.map +1 -1
- package/dist/models/user.d.ts +4 -0
- package/dist/models/user.d.ts.map +1 -1
- package/dist/models/user.js +8 -0
- package/dist/models/user.js.map +1 -1
- package/dist/protocols/mcp/LlmTestEnvironmentGuard.d.ts +16 -0
- package/dist/protocols/mcp/LlmTestEnvironmentGuard.d.ts.map +1 -0
- package/dist/protocols/mcp/LlmTestEnvironmentGuard.js +25 -0
- package/dist/protocols/mcp/LlmTestEnvironmentGuard.js.map +1 -0
- package/dist/protocols/mcp/McpServerTypes.d.ts +9 -0
- package/dist/protocols/mcp/McpServerTypes.d.ts.map +1 -1
- package/dist/protocols/mcp/providers/AnthropicMcpClient.d.ts.map +1 -1
- package/dist/protocols/mcp/providers/AnthropicMcpClient.js +1 -0
- package/dist/protocols/mcp/providers/AnthropicMcpClient.js.map +1 -1
- package/dist/protocols/mcp/providers/AzureOpenAiMcpClient.d.ts.map +1 -1
- package/dist/protocols/mcp/providers/AzureOpenAiMcpClient.js +1 -0
- package/dist/protocols/mcp/providers/AzureOpenAiMcpClient.js.map +1 -1
- package/dist/protocols/mcp/providers/BaseMcpClient.d.ts +4 -0
- package/dist/protocols/mcp/providers/BaseMcpClient.d.ts.map +1 -1
- package/dist/protocols/mcp/providers/BaseMcpClient.js +10 -0
- package/dist/protocols/mcp/providers/BaseMcpClient.js.map +1 -1
- package/dist/protocols/mcp/providers/CustomMcpClient.d.ts.map +1 -1
- package/dist/protocols/mcp/providers/CustomMcpClient.js +7 -0
- package/dist/protocols/mcp/providers/CustomMcpClient.js.map +1 -1
- package/dist/protocols/mcp/providers/GeminiMcpClient.d.ts.map +1 -1
- package/dist/protocols/mcp/providers/GeminiMcpClient.js +1 -0
- package/dist/protocols/mcp/providers/GeminiMcpClient.js.map +1 -1
- package/dist/protocols/mcp/providers/OllamaMcpClient.d.ts +1 -0
- package/dist/protocols/mcp/providers/OllamaMcpClient.d.ts.map +1 -1
- package/dist/protocols/mcp/providers/OllamaMcpClient.js +1 -0
- package/dist/protocols/mcp/providers/OllamaMcpClient.js.map +1 -1
- package/dist/protocols/mcp/providers/OpenAiMcpClient.d.ts.map +1 -1
- package/dist/protocols/mcp/providers/OpenAiMcpClient.js +1 -0
- package/dist/protocols/mcp/providers/OpenAiMcpClient.js.map +1 -1
- package/dist/protocols/mcp/providers/OpenRouterMcpClient.d.ts.map +1 -1
- package/dist/protocols/mcp/providers/OpenRouterMcpClient.js +2 -0
- package/dist/protocols/mcp/providers/OpenRouterMcpClient.js.map +1 -1
- package/dist/protocols/mcp/providers/XaiMcpClient.d.ts.map +1 -1
- package/dist/protocols/mcp/providers/XaiMcpClient.js +1 -0
- package/dist/protocols/mcp/providers/XaiMcpClient.js.map +1 -1
- package/dist/protocols/mcp/security/BrowserTargetGuard.d.ts +14 -0
- package/dist/protocols/mcp/security/BrowserTargetGuard.d.ts.map +1 -0
- package/dist/protocols/mcp/security/BrowserTargetGuard.js +55 -0
- package/dist/protocols/mcp/security/BrowserTargetGuard.js.map +1 -0
- package/dist/protocols/mcp/security/ExternalMcpRegistrationPolicy.d.ts +24 -0
- package/dist/protocols/mcp/security/ExternalMcpRegistrationPolicy.d.ts.map +1 -0
- package/dist/protocols/mcp/security/ExternalMcpRegistrationPolicy.js +33 -0
- package/dist/protocols/mcp/security/ExternalMcpRegistrationPolicy.js.map +1 -0
- package/dist/protocols/mcp/security/HttpTargetGuard.d.ts.map +1 -1
- package/dist/protocols/mcp/security/HttpTargetGuard.js +68 -6
- package/dist/protocols/mcp/security/HttpTargetGuard.js.map +1 -1
- package/dist/protocols/mcp/security/McpSecurityGuard.d.ts.map +1 -1
- package/dist/protocols/mcp/security/McpSecurityGuard.js +7 -5
- package/dist/protocols/mcp/security/McpSecurityGuard.js.map +1 -1
- package/dist/protocols/mcp/security/McpToolPolicy.d.ts +18 -0
- package/dist/protocols/mcp/security/McpToolPolicy.d.ts.map +1 -1
- package/dist/protocols/mcp/security/McpToolPolicy.js +60 -0
- package/dist/protocols/mcp/security/McpToolPolicy.js.map +1 -1
- package/dist/protocols/mcp/services/ExternalMcpServerManager.d.ts +25 -0
- package/dist/protocols/mcp/services/ExternalMcpServerManager.d.ts.map +1 -1
- package/dist/protocols/mcp/services/ExternalMcpServerManager.js +93 -17
- package/dist/protocols/mcp/services/ExternalMcpServerManager.js.map +1 -1
- package/dist/protocols/mcp/services/ExternalServerConfigs.d.ts +2 -2
- package/dist/protocols/mcp/services/ExternalServerConfigs.d.ts.map +1 -1
- package/dist/protocols/mcp/services/ExternalServerConfigs.js +25 -8
- package/dist/protocols/mcp/services/ExternalServerConfigs.js.map +1 -1
- package/dist/protocols/mcp/tools/AnalyticsTools.d.ts +3 -37
- package/dist/protocols/mcp/tools/AnalyticsTools.d.ts.map +1 -1
- package/dist/protocols/mcp/tools/AnalyticsTools.js +134 -614
- package/dist/protocols/mcp/tools/AnalyticsTools.js.map +1 -1
- package/dist/protocols/mcp/tools/CodeAnalysisTools.d.ts.map +1 -1
- package/dist/protocols/mcp/tools/CodeAnalysisTools.js +16 -13
- package/dist/protocols/mcp/tools/CodeAnalysisTools.js.map +1 -1
- package/dist/protocols/mcp/tools/EffectivenessTools.d.ts.map +1 -1
- package/dist/protocols/mcp/tools/EffectivenessTools.js +94 -30
- package/dist/protocols/mcp/tools/EffectivenessTools.js.map +1 -1
- package/dist/protocols/mcp/tools/GitTools.d.ts.map +1 -1
- package/dist/protocols/mcp/tools/GitTools.js +9 -5
- package/dist/protocols/mcp/tools/GitTools.js.map +1 -1
- package/dist/protocols/mcp/tools/InfrastructureTools.d.ts +10 -40
- package/dist/protocols/mcp/tools/InfrastructureTools.d.ts.map +1 -1
- package/dist/protocols/mcp/tools/InfrastructureTools.js +29 -70
- package/dist/protocols/mcp/tools/InfrastructureTools.js.map +1 -1
- package/dist/protocols/mcp/tools/JsonTools.d.ts.map +1 -1
- package/dist/protocols/mcp/tools/JsonTools.js +4 -4
- package/dist/protocols/mcp/tools/JsonTools.js.map +1 -1
- package/dist/protocols/mcp/tools/KnowledgeGraphTools.d.ts +55 -592
- package/dist/protocols/mcp/tools/KnowledgeGraphTools.d.ts.map +1 -1
- package/dist/protocols/mcp/tools/KnowledgeGraphTools.js +169 -119
- package/dist/protocols/mcp/tools/KnowledgeGraphTools.js.map +1 -1
- package/dist/protocols/mcp/tools/MemorySearchTools.d.ts +6 -6
- package/dist/protocols/mcp/tools/MemorySearchTools.d.ts.map +1 -1
- package/dist/protocols/mcp/tools/MemorySearchTools.js +107 -39
- package/dist/protocols/mcp/tools/MemorySearchTools.js.map +1 -1
- package/dist/protocols/mcp/tools/MemoryUtilityTools.d.ts +4 -5
- package/dist/protocols/mcp/tools/MemoryUtilityTools.d.ts.map +1 -1
- package/dist/protocols/mcp/tools/MemoryUtilityTools.js +59 -208
- package/dist/protocols/mcp/tools/MemoryUtilityTools.js.map +1 -1
- package/dist/protocols/mcp/tools/PlanningTools.d.ts +2 -1
- package/dist/protocols/mcp/tools/PlanningTools.d.ts.map +1 -1
- package/dist/protocols/mcp/tools/PlanningTools.js +111 -49
- package/dist/protocols/mcp/tools/PlanningTools.js.map +1 -1
- package/dist/protocols/mcp/tools/ProjectContextTools.d.ts.map +1 -1
- package/dist/protocols/mcp/tools/ProjectContextTools.js +18 -12
- package/dist/protocols/mcp/tools/ProjectContextTools.js.map +1 -1
- package/dist/protocols/mcp/tools/SafetyTools.d.ts.map +1 -1
- package/dist/protocols/mcp/tools/SafetyTools.js +16 -13
- package/dist/protocols/mcp/tools/SafetyTools.js.map +1 -1
- package/dist/protocols/mcp/tools/SearchProjectTools.d.ts +24 -7
- package/dist/protocols/mcp/tools/SearchProjectTools.d.ts.map +1 -1
- package/dist/protocols/mcp/tools/SearchProjectTools.js +226 -126
- package/dist/protocols/mcp/tools/SearchProjectTools.js.map +1 -1
- package/dist/protocols/mcp/tools/TaskPlanningTools.d.ts +0 -32
- package/dist/protocols/mcp/tools/TaskPlanningTools.d.ts.map +1 -1
- package/dist/protocols/mcp/tools/TaskPlanningTools.js +363 -450
- package/dist/protocols/mcp/tools/TaskPlanningTools.js.map +1 -1
- package/dist/protocols/mcp/tools/TestTools.d.ts.map +1 -1
- package/dist/protocols/mcp/tools/TestTools.js +18 -11
- package/dist/protocols/mcp/tools/TestTools.js.map +1 -1
- package/dist/protocols/mcp/tools/TypeScriptTools.d.ts.map +1 -1
- package/dist/protocols/mcp/tools/TypeScriptTools.js +22 -12
- package/dist/protocols/mcp/tools/TypeScriptTools.js.map +1 -1
- package/dist/protocols/mcp/tools/UserInputTools.d.ts.map +1 -1
- package/dist/protocols/mcp/tools/UserInputTools.js +14 -1
- package/dist/protocols/mcp/tools/UserInputTools.js.map +1 -1
- package/dist/protocols/mcp/tools/UserMemoryTools.d.ts +3 -1
- package/dist/protocols/mcp/tools/UserMemoryTools.d.ts.map +1 -1
- package/dist/protocols/mcp/tools/UserMemoryTools.js +27 -62
- package/dist/protocols/mcp/tools/UserMemoryTools.js.map +1 -1
- package/dist/protocols/mcp/tools/shell/ShellExecuteHandler.d.ts.map +1 -1
- package/dist/protocols/mcp/tools/shell/ShellExecuteHandler.js +14 -60
- package/dist/protocols/mcp/tools/shell/ShellExecuteHandler.js.map +1 -1
- package/dist/protocols/mcp/tools/shell/ShellSandbox.d.ts.map +1 -1
- package/dist/protocols/mcp/tools/shell/ShellSandbox.js +9 -27
- package/dist/protocols/mcp/tools/shell/ShellSandbox.js.map +1 -1
- package/dist/repositories/interfaces/IKnowledgeGraphRepository.d.ts +40 -30
- package/dist/repositories/interfaces/IKnowledgeGraphRepository.d.ts.map +1 -1
- package/dist/schemas/EventPayloadSchema.d.ts +28 -0
- package/dist/schemas/EventPayloadSchema.d.ts.map +1 -1
- package/dist/schemas/EventPayloadSchema.js +30 -1
- package/dist/schemas/EventPayloadSchema.js.map +1 -1
- package/dist/schemas/MxpProtocolSchemas.d.ts +6 -6
- package/dist/services/AgentPerformanceService.d.ts +11 -0
- package/dist/services/AgentPerformanceService.d.ts.map +1 -1
- package/dist/services/AgentPerformanceService.js +59 -33
- package/dist/services/AgentPerformanceService.js.map +1 -1
- package/dist/services/AutoCorrectionService.d.ts +3 -0
- package/dist/services/AutoCorrectionService.d.ts.map +1 -1
- package/dist/services/AutoCorrectionService.js +19 -2
- package/dist/services/AutoCorrectionService.js.map +1 -1
- package/dist/services/BackgroundTaskManager.d.ts +23 -7
- package/dist/services/BackgroundTaskManager.d.ts.map +1 -1
- package/dist/services/BackgroundTaskManager.js +137 -57
- package/dist/services/BackgroundTaskManager.js.map +1 -1
- package/dist/services/BrowserManager.d.ts +2 -0
- package/dist/services/BrowserManager.d.ts.map +1 -1
- package/dist/services/BrowserManager.js +18 -15
- package/dist/services/BrowserManager.js.map +1 -1
- package/dist/services/ChannelContextMemoryOperations.d.ts +8 -1
- package/dist/services/ChannelContextMemoryOperations.d.ts.map +1 -1
- package/dist/services/ChannelContextMemoryOperations.js +89 -165
- package/dist/services/ChannelContextMemoryOperations.js.map +1 -1
- package/dist/services/ChannelContextMessageOperations.d.ts +4 -3
- package/dist/services/ChannelContextMessageOperations.d.ts.map +1 -1
- package/dist/services/ChannelContextMessageOperations.js +72 -212
- package/dist/services/ChannelContextMessageOperations.js.map +1 -1
- package/dist/services/MemoryService.d.ts +52 -21
- package/dist/services/MemoryService.d.ts.map +1 -1
- package/dist/services/MemoryService.js +775 -548
- package/dist/services/MemoryService.js.map +1 -1
- package/dist/services/PatternLearningService.d.ts +5 -0
- package/dist/services/PatternLearningService.d.ts.map +1 -1
- package/dist/services/PatternLearningService.js +26 -3
- package/dist/services/PatternLearningService.js.map +1 -1
- package/dist/services/PerformanceOptimizationService.d.ts +2 -1
- package/dist/services/PerformanceOptimizationService.d.ts.map +1 -1
- package/dist/services/PerformanceOptimizationService.js +21 -6
- package/dist/services/PerformanceOptimizationService.js.map +1 -1
- package/dist/services/PredictiveAnalyticsService.d.ts +1 -0
- package/dist/services/PredictiveAnalyticsService.d.ts.map +1 -1
- package/dist/services/PredictiveAnalyticsService.js +18 -6
- package/dist/services/PredictiveAnalyticsService.js.map +1 -1
- package/dist/services/ProactiveValidationService.d.ts +6 -0
- package/dist/services/ProactiveValidationService.d.ts.map +1 -1
- package/dist/services/ProactiveValidationService.js +58 -39
- package/dist/services/ProactiveValidationService.js.map +1 -1
- package/dist/services/TaskEffectivenessService.d.ts +55 -31
- package/dist/services/TaskEffectivenessService.d.ts.map +1 -1
- package/dist/services/TaskEffectivenessService.js +243 -125
- package/dist/services/TaskEffectivenessService.js.map +1 -1
- package/dist/services/ToolExecutionInterceptor.d.ts +4 -0
- package/dist/services/ToolExecutionInterceptor.d.ts.map +1 -1
- package/dist/services/ToolExecutionInterceptor.js +31 -5
- package/dist/services/ToolExecutionInterceptor.js.map +1 -1
- package/dist/services/UserInputRequestManager.d.ts +13 -3
- package/dist/services/UserInputRequestManager.d.ts.map +1 -1
- package/dist/services/UserInputRequestManager.js +42 -6
- package/dist/services/UserInputRequestManager.js.map +1 -1
- package/dist/services/UserMemoryService.d.ts +2 -0
- package/dist/services/UserMemoryService.d.ts.map +1 -1
- package/dist/services/UserMemoryService.js +9 -4
- package/dist/services/UserMemoryService.js.map +1 -1
- package/dist/services/ValidationAnalyticsService.d.ts +4 -0
- package/dist/services/ValidationAnalyticsService.d.ts.map +1 -1
- package/dist/services/ValidationAnalyticsService.js +30 -8
- package/dist/services/ValidationAnalyticsService.js.map +1 -1
- package/dist/services/ValidationCacheService.d.ts +3 -1
- package/dist/services/ValidationCacheService.d.ts.map +1 -1
- package/dist/services/ValidationCacheService.js +25 -4
- package/dist/services/ValidationCacheService.js.map +1 -1
- package/dist/services/ValidationMiddleware.d.ts +7 -0
- package/dist/services/ValidationMiddleware.d.ts.map +1 -1
- package/dist/services/ValidationMiddleware.js +53 -10
- package/dist/services/ValidationMiddleware.js.map +1 -1
- package/dist/services/ValidationPerformanceService.d.ts +3 -0
- package/dist/services/ValidationPerformanceService.d.ts.map +1 -1
- package/dist/services/ValidationPerformanceService.js +28 -11
- package/dist/services/ValidationPerformanceService.js.map +1 -1
- package/dist/services/WebSearchService.d.ts.map +1 -1
- package/dist/services/WebSearchService.js +9 -0
- package/dist/services/WebSearchService.js.map +1 -1
- package/dist/services/dag/TaskDagService.d.ts +3 -0
- package/dist/services/dag/TaskDagService.d.ts.map +1 -1
- package/dist/services/dag/TaskDagService.js +18 -0
- package/dist/services/dag/TaskDagService.js.map +1 -1
- package/dist/services/kg/EntityQValueManager.d.ts +3 -1
- package/dist/services/kg/EntityQValueManager.d.ts.map +1 -1
- package/dist/services/kg/EntityQValueManager.js +10 -10
- package/dist/services/kg/EntityQValueManager.js.map +1 -1
- package/dist/services/kg/GraphSurpriseCalculator.d.ts +0 -4
- package/dist/services/kg/GraphSurpriseCalculator.d.ts.map +1 -1
- package/dist/services/kg/GraphSurpriseCalculator.js +0 -9
- package/dist/services/kg/GraphSurpriseCalculator.js.map +1 -1
- package/dist/services/kg/KnowledgeGraphService.d.ts +12 -12
- package/dist/services/kg/KnowledgeGraphService.d.ts.map +1 -1
- package/dist/services/kg/KnowledgeGraphService.js +43 -51
- package/dist/services/kg/KnowledgeGraphService.js.map +1 -1
- package/dist/services/kg/OrparGraphIntegration.d.ts.map +1 -1
- package/dist/services/kg/OrparGraphIntegration.js +6 -5
- package/dist/services/kg/OrparGraphIntegration.js.map +1 -1
- package/dist/services/orpar-memory/CycleConsolidationTrigger.d.ts +1 -0
- package/dist/services/orpar-memory/CycleConsolidationTrigger.d.ts.map +1 -1
- package/dist/services/orpar-memory/CycleConsolidationTrigger.js +8 -1
- package/dist/services/orpar-memory/CycleConsolidationTrigger.js.map +1 -1
- package/dist/services/orpar-memory/OrparMemoryCoordinator.d.ts +8 -1
- package/dist/services/orpar-memory/OrparMemoryCoordinator.d.ts.map +1 -1
- package/dist/services/orpar-memory/OrparMemoryCoordinator.js +93 -45
- package/dist/services/orpar-memory/OrparMemoryCoordinator.js.map +1 -1
- package/dist/services/orpar-memory/SurpriseOrparAdapter.d.ts +1 -0
- package/dist/services/orpar-memory/SurpriseOrparAdapter.d.ts.map +1 -1
- package/dist/services/orpar-memory/SurpriseOrparAdapter.js +8 -1
- package/dist/services/orpar-memory/SurpriseOrparAdapter.js.map +1 -1
- package/dist/types/ChannelContext.d.ts +2 -1
- package/dist/types/ChannelContext.d.ts.map +1 -1
- package/dist/types/EffectivenessTypes.d.ts +4 -1
- package/dist/types/EffectivenessTypes.d.ts.map +1 -1
- package/dist/types/TaskCompletionTypes.d.ts +7 -5
- package/dist/types/TaskCompletionTypes.d.ts.map +1 -1
- package/dist/types/TaskTypes.d.ts +8 -1
- package/dist/types/TaskTypes.d.ts.map +1 -1
- package/dist/utils/GlobMatcher.d.ts +37 -0
- package/dist/utils/GlobMatcher.d.ts.map +1 -0
- package/dist/utils/GlobMatcher.js +131 -0
- package/dist/utils/GlobMatcher.js.map +1 -0
- package/package.json +1 -1
- package/src/config/ModelContextLimits.ts +7 -1
- package/src/constants/CoreTools.ts +6 -5
- package/src/constants/DefaultPhaseProfiles.ts +29 -0
- package/src/constants/ReservedIdentities.ts +51 -0
- package/src/database/adapters/mongodb/MongoKnowledgeGraphRepository.ts +115 -36
- package/src/events/ClientEventBus.ts +117 -48
- package/src/events/EventBus.ts +32 -2
- package/src/events/EventBusBase.ts +132 -39
- package/src/events/EventNames.ts +43 -36
- package/src/events/PublicEvents.ts +8 -0
- package/src/events/ServerEventBus.ts +9 -128
- package/src/events/event-definitions/ControlLoopEvents.ts +12 -0
- package/src/events/event-definitions/SdkEvents.ts +58 -0
- package/src/events/event-definitions/TaskEvents.ts +2 -2
- package/src/index.ts +15 -0
- package/src/interfaces/AgentInterfaces.ts +5 -0
- package/src/interfaces/ChannelConfig.ts +2 -2
- package/src/interfaces/ConversationMessage.ts +5 -0
- package/src/interfaces/IMemoryPersistence.ts +55 -1
- package/src/interfaces/SocketServiceInterface.ts +3 -2
- package/src/interfaces/TaskInterfaces.ts +16 -1
- package/src/models/agent.ts +0 -6
- package/src/models/agentIdentityReservation.ts +77 -0
- package/src/models/channel.ts +2 -0
- package/src/models/channelKey.ts +10 -0
- package/src/models/memory.ts +18 -19
- package/src/models/memoryStrata.ts +9 -23
- package/src/models/plan.ts +3 -3
- package/src/models/taskEffectiveness.ts +9 -2
- package/src/models/user.ts +12 -0
- package/src/protocols/mcp/LlmTestEnvironmentGuard.ts +30 -0
- package/src/protocols/mcp/McpServerTypes.ts +9 -0
- package/src/protocols/mcp/providers/AnthropicMcpClient.ts +2 -0
- package/src/protocols/mcp/providers/AzureOpenAiMcpClient.ts +1 -0
- package/src/protocols/mcp/providers/BaseMcpClient.ts +13 -0
- package/src/protocols/mcp/providers/CustomMcpClient.ts +7 -0
- package/src/protocols/mcp/providers/GeminiMcpClient.ts +2 -0
- package/src/protocols/mcp/providers/OllamaMcpClient.ts +3 -1
- package/src/protocols/mcp/providers/OpenAiMcpClient.ts +2 -0
- package/src/protocols/mcp/providers/OpenRouterMcpClient.ts +3 -0
- package/src/protocols/mcp/providers/XaiMcpClient.ts +2 -0
- package/src/protocols/mcp/security/BrowserTargetGuard.ts +64 -0
- package/src/protocols/mcp/security/ExternalMcpRegistrationPolicy.ts +38 -0
- package/src/protocols/mcp/security/HttpTargetGuard.ts +77 -6
- package/src/protocols/mcp/security/McpSecurityGuard.ts +7 -5
- package/src/protocols/mcp/security/McpToolPolicy.ts +74 -0
- package/src/protocols/mcp/services/ExternalMcpServerManager.ts +146 -17
- package/src/protocols/mcp/services/ExternalServerConfigs.ts +26 -8
- package/src/protocols/mcp/tools/AnalyticsTools.ts +167 -641
- package/src/protocols/mcp/tools/CodeAnalysisTools.ts +44 -14
- package/src/protocols/mcp/tools/EffectivenessTools.ts +185 -45
- package/src/protocols/mcp/tools/GitTools.ts +15 -5
- package/src/protocols/mcp/tools/InfrastructureTools.ts +42 -90
- package/src/protocols/mcp/tools/JsonTools.ts +7 -4
- package/src/protocols/mcp/tools/KnowledgeGraphTools.ts +313 -164
- package/src/protocols/mcp/tools/MemorySearchTools.ts +158 -46
- package/src/protocols/mcp/tools/MemoryUtilityTools.ts +85 -232
- package/src/protocols/mcp/tools/PlanningTools.ts +137 -59
- package/src/protocols/mcp/tools/ProjectContextTools.ts +33 -12
- package/src/protocols/mcp/tools/SafetyTools.ts +49 -13
- package/src/protocols/mcp/tools/SearchProjectTools.ts +294 -153
- package/src/protocols/mcp/tools/TaskPlanningTools.ts +437 -514
- package/src/protocols/mcp/tools/TestTools.ts +41 -11
- package/src/protocols/mcp/tools/TypeScriptTools.ts +61 -12
- package/src/protocols/mcp/tools/UserInputTools.ts +15 -1
- package/src/protocols/mcp/tools/UserMemoryTools.ts +27 -62
- package/src/protocols/mcp/tools/shell/ShellExecuteHandler.ts +26 -84
- package/src/protocols/mcp/tools/shell/ShellSandbox.ts +13 -31
- package/src/repositories/interfaces/IKnowledgeGraphRepository.ts +45 -27
- package/src/schemas/EventPayloadSchema.ts +45 -1
- package/src/services/AgentPerformanceService.ts +85 -36
- package/src/services/AutoCorrectionService.ts +25 -6
- package/src/services/BackgroundTaskManager.ts +183 -76
- package/src/services/BrowserManager.ts +20 -16
- package/src/services/ChannelContextMemoryOperations.ts +169 -202
- package/src/services/ChannelContextMessageOperations.ts +112 -274
- package/src/services/MemoryService.ts +1053 -760
- package/src/services/PatternLearningService.ts +32 -7
- package/src/services/PerformanceOptimizationService.ts +26 -9
- package/src/services/PredictiveAnalyticsService.ts +23 -10
- package/src/services/ProactiveValidationService.ts +66 -40
- package/src/services/TaskEffectivenessService.ts +421 -206
- package/src/services/ToolExecutionInterceptor.ts +40 -9
- package/src/services/UserInputRequestManager.ts +51 -6
- package/src/services/UserMemoryService.ts +12 -3
- package/src/services/ValidationAnalyticsService.ts +36 -11
- package/src/services/ValidationCacheService.ts +30 -7
- package/src/services/ValidationMiddleware.ts +62 -14
- package/src/services/ValidationPerformanceService.ts +47 -25
- package/src/services/WebSearchService.ts +16 -4
- package/src/services/dag/TaskDagService.ts +20 -1
- package/src/services/kg/EntityQValueManager.ts +21 -10
- package/src/services/kg/GraphSurpriseCalculator.ts +0 -14
- package/src/services/kg/KnowledgeGraphService.ts +56 -48
- package/src/services/kg/OrparGraphIntegration.ts +11 -5
- package/src/services/orpar-memory/CycleConsolidationTrigger.ts +10 -1
- package/src/services/orpar-memory/OrparMemoryCoordinator.ts +142 -71
- package/src/services/orpar-memory/SurpriseOrparAdapter.ts +10 -1
- package/src/types/ChannelContext.ts +3 -1
- package/src/types/EffectivenessTypes.ts +6 -2
- package/src/types/TaskCompletionTypes.ts +9 -9
- package/src/types/TaskTypes.ts +12 -1
- package/src/utils/GlobMatcher.ts +157 -0
|
@@ -25,7 +25,7 @@
|
|
|
25
25
|
* pattern learning and cross-agent pattern sharing capabilities.
|
|
26
26
|
*/
|
|
27
27
|
|
|
28
|
-
import { Observable, Subject } from 'rxjs';
|
|
28
|
+
import { Observable, Subject, Subscription } from 'rxjs';
|
|
29
29
|
import { Logger } from '../utils/Logger.js';
|
|
30
30
|
import { EventBus } from '../events/EventBus.js';
|
|
31
31
|
import { Events } from '../events/EventNames.js';
|
|
@@ -69,8 +69,11 @@ export class PatternLearningService {
|
|
|
69
69
|
private readonly patternCache = new Map<string, EnhancedParameterPattern[]>();
|
|
70
70
|
private readonly cacheExpiry = new Map<string, number>();
|
|
71
71
|
private readonly CACHE_TTL = 5 * 60 * 1000; // 5 minutes
|
|
72
|
-
|
|
73
|
-
private
|
|
72
|
+
private validationEventSubscription?: Subscription;
|
|
73
|
+
private patternCleanupInterval?: ReturnType<typeof setInterval>;
|
|
74
|
+
private cacheCleanupInterval?: ReturnType<typeof setInterval>;
|
|
75
|
+
|
|
76
|
+
private static instance: PatternLearningService | undefined;
|
|
74
77
|
|
|
75
78
|
private constructor() {
|
|
76
79
|
this.logger = new Logger('info', 'PatternLearningService', 'server');
|
|
@@ -985,7 +988,7 @@ export class PatternLearningService {
|
|
|
985
988
|
|
|
986
989
|
private setupEventListeners(): void {
|
|
987
990
|
// Listen to validation events from ValidationPerformanceService
|
|
988
|
-
this.validationService.validationEvents.subscribe(event => {
|
|
991
|
+
this.validationEventSubscription = this.validationService.validationEvents.subscribe(event => {
|
|
989
992
|
// Convert validation events to pattern learning events when appropriate
|
|
990
993
|
if (event.eventType === 'validation_success' && event.details.parameters) {
|
|
991
994
|
this.storeSuccessfulPattern(
|
|
@@ -1013,16 +1016,17 @@ export class PatternLearningService {
|
|
|
1013
1016
|
|
|
1014
1017
|
private startPeriodicTasks(): void {
|
|
1015
1018
|
// Pattern cleanup task - runs every hour
|
|
1016
|
-
setInterval(async () => {
|
|
1019
|
+
this.patternCleanupInterval = setInterval(async () => {
|
|
1017
1020
|
try {
|
|
1018
1021
|
await this.cleanupStalePatterns();
|
|
1019
1022
|
} catch (error) {
|
|
1020
1023
|
this.logger.error('Pattern cleanup task failed:', error);
|
|
1021
1024
|
}
|
|
1022
1025
|
}, 60 * 60 * 1000);
|
|
1026
|
+
this.patternCleanupInterval.unref?.();
|
|
1023
1027
|
|
|
1024
1028
|
// Cache cleanup task - runs every 10 minutes
|
|
1025
|
-
setInterval(() => {
|
|
1029
|
+
this.cacheCleanupInterval = setInterval(() => {
|
|
1026
1030
|
const now = Date.now();
|
|
1027
1031
|
for (const [key, expiry] of this.cacheExpiry.entries()) {
|
|
1028
1032
|
if (now > expiry) {
|
|
@@ -1030,6 +1034,7 @@ export class PatternLearningService {
|
|
|
1030
1034
|
}
|
|
1031
1035
|
}
|
|
1032
1036
|
}, 10 * 60 * 1000);
|
|
1037
|
+
this.cacheCleanupInterval.unref?.();
|
|
1033
1038
|
}
|
|
1034
1039
|
|
|
1035
1040
|
private async cleanupStalePatterns(): Promise<void> {
|
|
@@ -1081,4 +1086,24 @@ export class PatternLearningService {
|
|
|
1081
1086
|
public getConfig(): PatternLearningConfig {
|
|
1082
1087
|
return { ...this.config };
|
|
1083
1088
|
}
|
|
1084
|
-
|
|
1089
|
+
|
|
1090
|
+
/** Release every timer and subscription owned by this singleton. */
|
|
1091
|
+
public shutdown(): void {
|
|
1092
|
+
if (this.patternCleanupInterval) {
|
|
1093
|
+
clearInterval(this.patternCleanupInterval);
|
|
1094
|
+
this.patternCleanupInterval = undefined;
|
|
1095
|
+
}
|
|
1096
|
+
if (this.cacheCleanupInterval) {
|
|
1097
|
+
clearInterval(this.cacheCleanupInterval);
|
|
1098
|
+
this.cacheCleanupInterval = undefined;
|
|
1099
|
+
}
|
|
1100
|
+
this.validationEventSubscription?.unsubscribe();
|
|
1101
|
+
this.validationEventSubscription = undefined;
|
|
1102
|
+
this.clearAllCaches();
|
|
1103
|
+
this.patternLearningEvents$.complete();
|
|
1104
|
+
|
|
1105
|
+
if (PatternLearningService.instance === this) {
|
|
1106
|
+
PatternLearningService.instance = undefined;
|
|
1107
|
+
}
|
|
1108
|
+
}
|
|
1109
|
+
}
|
|
@@ -32,6 +32,7 @@
|
|
|
32
32
|
import { createBaseEventPayload } from '../schemas/EventPayloadSchema.js';
|
|
33
33
|
import * as os from 'os';
|
|
34
34
|
import { EventEmitter } from 'events';
|
|
35
|
+
import type { Subscription } from 'rxjs';
|
|
35
36
|
import { Logger } from '../utils/Logger.js';
|
|
36
37
|
import { EventBus } from '../events/EventBus.js';
|
|
37
38
|
import { Events } from '../events/EventNames.js';
|
|
@@ -195,8 +196,9 @@ export class PerformanceOptimizationService extends EventEmitter {
|
|
|
195
196
|
optimizationsApplied: 0,
|
|
196
197
|
performanceImprovement: 0
|
|
197
198
|
};
|
|
198
|
-
|
|
199
|
-
|
|
199
|
+
private readonly eventSubscriptions: Subscription[] = [];
|
|
200
|
+
|
|
201
|
+
private static instance: PerformanceOptimizationService | undefined;
|
|
200
202
|
|
|
201
203
|
private constructor() {
|
|
202
204
|
super();
|
|
@@ -880,8 +882,9 @@ proactiveValidationService.updateConfig({
|
|
|
880
882
|
}
|
|
881
883
|
|
|
882
884
|
this.autoTuningInterval = setInterval(() => {
|
|
883
|
-
this.performAutoTuning();
|
|
885
|
+
void this.performAutoTuning();
|
|
884
886
|
}, this.autoTuningConfig.tuningInterval);
|
|
887
|
+
this.autoTuningInterval.unref?.();
|
|
885
888
|
|
|
886
889
|
}
|
|
887
890
|
|
|
@@ -1002,6 +1005,7 @@ proactiveValidationService.updateConfig({
|
|
|
1002
1005
|
// Emit resource update
|
|
1003
1006
|
this.emit('resource_update', usage);
|
|
1004
1007
|
}, 5000); // Every 5 seconds
|
|
1008
|
+
this.resourceMonitorInterval.unref?.();
|
|
1005
1009
|
}
|
|
1006
1010
|
|
|
1007
1011
|
/**
|
|
@@ -1071,13 +1075,13 @@ proactiveValidationService.updateConfig({
|
|
|
1071
1075
|
*/
|
|
1072
1076
|
private setupEventListeners(): void {
|
|
1073
1077
|
// Listen to validation events for performance tracking
|
|
1074
|
-
EventBus.server.on(Events.Mcp.TOOL_VALIDATION_STARTED, (
|
|
1078
|
+
this.eventSubscriptions.push(EventBus.server.on(Events.Mcp.TOOL_VALIDATION_STARTED, (_event) => {
|
|
1075
1079
|
// Track validation start times
|
|
1076
|
-
});
|
|
1080
|
+
}));
|
|
1077
1081
|
|
|
1078
|
-
EventBus.server.on(Events.Mcp.TOOL_VALIDATION_COMPLETED, (
|
|
1082
|
+
this.eventSubscriptions.push(EventBus.server.on(Events.Mcp.TOOL_VALIDATION_COMPLETED, (_event) => {
|
|
1079
1083
|
// Track validation completion times
|
|
1080
|
-
});
|
|
1084
|
+
}));
|
|
1081
1085
|
}
|
|
1082
1086
|
|
|
1083
1087
|
// =============================================================================
|
|
@@ -1121,12 +1125,25 @@ proactiveValidationService.updateConfig({
|
|
|
1121
1125
|
/**
|
|
1122
1126
|
* Cleanup
|
|
1123
1127
|
*/
|
|
1124
|
-
public
|
|
1128
|
+
public shutdown(): void {
|
|
1125
1129
|
if (this.resourceMonitorInterval) {
|
|
1126
1130
|
clearInterval(this.resourceMonitorInterval);
|
|
1131
|
+
this.resourceMonitorInterval = undefined;
|
|
1127
1132
|
}
|
|
1128
1133
|
if (this.autoTuningInterval) {
|
|
1129
1134
|
clearInterval(this.autoTuningInterval);
|
|
1135
|
+
this.autoTuningInterval = undefined;
|
|
1136
|
+
}
|
|
1137
|
+
for (const subscription of this.eventSubscriptions) {
|
|
1138
|
+
subscription.unsubscribe();
|
|
1139
|
+
}
|
|
1140
|
+
this.eventSubscriptions.length = 0;
|
|
1141
|
+
this.activeProfiles.clear();
|
|
1142
|
+
this.clearMetrics();
|
|
1143
|
+
this.removeAllListeners();
|
|
1144
|
+
|
|
1145
|
+
if (PerformanceOptimizationService.instance === this) {
|
|
1146
|
+
PerformanceOptimizationService.instance = undefined;
|
|
1130
1147
|
}
|
|
1131
1148
|
}
|
|
1132
|
-
}
|
|
1149
|
+
}
|
|
@@ -32,6 +32,7 @@
|
|
|
32
32
|
import { createBaseEventPayload } from '../schemas/EventPayloadSchema.js';
|
|
33
33
|
import * as os from 'os';
|
|
34
34
|
import { EventEmitter } from 'events';
|
|
35
|
+
import type { Subscription } from 'rxjs';
|
|
35
36
|
import { Logger } from '../utils/Logger.js';
|
|
36
37
|
import { EventBus } from '../events/EventBus.js';
|
|
37
38
|
import { Events } from '../events/EventNames.js';
|
|
@@ -291,9 +292,10 @@ export class PredictiveAnalyticsService extends EventEmitter {
|
|
|
291
292
|
predictionAccuracy: 0
|
|
292
293
|
};
|
|
293
294
|
|
|
294
|
-
private retrainInterval?:
|
|
295
|
-
|
|
296
|
-
|
|
295
|
+
private retrainInterval?: ReturnType<typeof setInterval>;
|
|
296
|
+
private readonly eventSubscriptions: Subscription[] = [];
|
|
297
|
+
|
|
298
|
+
private static instance: PredictiveAnalyticsService | undefined;
|
|
297
299
|
|
|
298
300
|
private constructor() {
|
|
299
301
|
super();
|
|
@@ -307,9 +309,8 @@ export class PredictiveAnalyticsService extends EventEmitter {
|
|
|
307
309
|
this.startRetrainSchedule();
|
|
308
310
|
|
|
309
311
|
// TF.js model initialization is deferred to initializeTensorFlowModels().
|
|
310
|
-
//
|
|
311
|
-
//
|
|
312
|
-
// The server calls initializeTensorFlowModels() after MxfMLService is ready.
|
|
312
|
+
// The server owns this service explicitly and calls initializeTensorFlowModels()
|
|
313
|
+
// only after MxfMLService is ready.
|
|
313
314
|
}
|
|
314
315
|
|
|
315
316
|
/**
|
|
@@ -2239,7 +2240,7 @@ export class PredictiveAnalyticsService extends EventEmitter {
|
|
|
2239
2240
|
*/
|
|
2240
2241
|
private setupEventListeners(): void {
|
|
2241
2242
|
// Collect training data from events
|
|
2242
|
-
EventBus.server.on(Events.Mcp.TOOL_RESULT, async (event) => {
|
|
2243
|
+
this.eventSubscriptions.push(EventBus.server.on(Events.Mcp.TOOL_RESULT, async (event) => {
|
|
2243
2244
|
try {
|
|
2244
2245
|
const features = await this.extractFeatures(
|
|
2245
2246
|
event.agentId,
|
|
@@ -2265,7 +2266,7 @@ export class PredictiveAnalyticsService extends EventEmitter {
|
|
|
2265
2266
|
} catch (error) {
|
|
2266
2267
|
this.logger.warn('Failed to collect training data:', error);
|
|
2267
2268
|
}
|
|
2268
|
-
});
|
|
2269
|
+
}));
|
|
2269
2270
|
}
|
|
2270
2271
|
|
|
2271
2272
|
/**
|
|
@@ -2289,8 +2290,9 @@ export class PredictiveAnalyticsService extends EventEmitter {
|
|
|
2289
2290
|
return;
|
|
2290
2291
|
}
|
|
2291
2292
|
this.retrainInterval = setInterval(() => {
|
|
2292
|
-
this.trainModels();
|
|
2293
|
+
void this.trainModels();
|
|
2293
2294
|
}, this.config.retrainInterval);
|
|
2295
|
+
this.retrainInterval.unref?.();
|
|
2294
2296
|
}
|
|
2295
2297
|
|
|
2296
2298
|
// =============================================================================
|
|
@@ -2342,8 +2344,19 @@ export class PredictiveAnalyticsService extends EventEmitter {
|
|
|
2342
2344
|
public cleanup(): void {
|
|
2343
2345
|
if (this.retrainInterval) {
|
|
2344
2346
|
clearInterval(this.retrainInterval);
|
|
2347
|
+
this.retrainInterval = undefined;
|
|
2348
|
+
}
|
|
2349
|
+
for (const subscription of this.eventSubscriptions) {
|
|
2350
|
+
subscription?.unsubscribe();
|
|
2351
|
+
}
|
|
2352
|
+
this.eventSubscriptions.length = 0;
|
|
2353
|
+
this.clearTrainingData();
|
|
2354
|
+
this.modelMetadata.clear();
|
|
2355
|
+
this.removeAllListeners();
|
|
2356
|
+
if (PredictiveAnalyticsService.instance === this) {
|
|
2357
|
+
PredictiveAnalyticsService.instance = undefined;
|
|
2345
2358
|
}
|
|
2346
2359
|
this.tfErrorPredictionReady = false;
|
|
2347
2360
|
this.tfAnomalyAutoencoderReady = false;
|
|
2348
2361
|
}
|
|
2349
|
-
}
|
|
2362
|
+
}
|
|
@@ -25,7 +25,7 @@
|
|
|
25
25
|
* Provides proactive validation to prevent errors before tool execution.
|
|
26
26
|
*/
|
|
27
27
|
|
|
28
|
-
import { Observable, Subject } from 'rxjs';
|
|
28
|
+
import { Observable, Subject, Subscription } from 'rxjs';
|
|
29
29
|
import { Logger } from '../utils/Logger.js';
|
|
30
30
|
import { EventBus } from '../events/EventBus.js';
|
|
31
31
|
import { Events } from '../events/EventNames.js';
|
|
@@ -206,8 +206,12 @@ export class ProactiveValidationService {
|
|
|
206
206
|
warningsGenerated: 0,
|
|
207
207
|
suggestionsProvided: 0
|
|
208
208
|
};
|
|
209
|
-
|
|
210
|
-
private
|
|
209
|
+
private readonly eventSubscriptions: Subscription[] = [];
|
|
210
|
+
private metricsInterval?: ReturnType<typeof setInterval>;
|
|
211
|
+
private riskProfileInterval?: ReturnType<typeof setInterval>;
|
|
212
|
+
private cacheCleanupInterval?: ReturnType<typeof setInterval>;
|
|
213
|
+
|
|
214
|
+
private static instance: ProactiveValidationService | undefined;
|
|
211
215
|
|
|
212
216
|
private constructor() {
|
|
213
217
|
this.logger = new Logger('info', 'ProactiveValidationService', 'server');
|
|
@@ -882,30 +886,23 @@ export class ProactiveValidationService {
|
|
|
882
886
|
}
|
|
883
887
|
|
|
884
888
|
private async performBackgroundValidation(context: ValidationContext): Promise<void> {
|
|
885
|
-
|
|
886
|
-
|
|
887
|
-
|
|
888
|
-
|
|
889
|
-
|
|
890
|
-
|
|
891
|
-
|
|
892
|
-
|
|
893
|
-
|
|
894
|
-
|
|
895
|
-
|
|
896
|
-
|
|
897
|
-
|
|
898
|
-
|
|
899
|
-
|
|
900
|
-
|
|
901
|
-
|
|
902
|
-
details: { backgroundValidation: true, result }
|
|
903
|
-
});
|
|
904
|
-
}
|
|
905
|
-
} catch (error) {
|
|
906
|
-
this.logger.warn(`Background validation failed for ${context.toolName}:`, error);
|
|
907
|
-
}
|
|
908
|
-
}, 0);
|
|
889
|
+
const result = await this.performBlockingValidation(context);
|
|
890
|
+
|
|
891
|
+
// Store results for future reference
|
|
892
|
+
if (!result.valid) {
|
|
893
|
+
this.logger.warn(`Background validation found issues for ${context.toolName}:`, result.errors);
|
|
894
|
+
|
|
895
|
+
// Could emit events or store for analytics
|
|
896
|
+
this.emitValidationEvent({
|
|
897
|
+
timestamp: Date.now(),
|
|
898
|
+
agentId: context.agentId,
|
|
899
|
+
channelId: context.channelId,
|
|
900
|
+
toolName: context.toolName,
|
|
901
|
+
eventType: 'VALIDATION_COMPLETE',
|
|
902
|
+
validationId: `bg_${context.requestId}`,
|
|
903
|
+
details: { backgroundValidation: true, result }
|
|
904
|
+
});
|
|
905
|
+
}
|
|
909
906
|
}
|
|
910
907
|
|
|
911
908
|
private async previewValidationErrors(
|
|
@@ -1193,39 +1190,41 @@ export class ProactiveValidationService {
|
|
|
1193
1190
|
}
|
|
1194
1191
|
|
|
1195
1192
|
private setupEventListeners(): void {
|
|
1196
|
-
// Listen to tool execution events for learning
|
|
1197
|
-
EventBus
|
|
1198
|
-
|
|
1193
|
+
// Listen to tool execution events for learning. Each handler returns its
|
|
1194
|
+
// promise so the EventBus shutdown drain waits for in-flight learning.
|
|
1195
|
+
this.eventSubscriptions.push(EventBus.server.on(Events.Mcp.TOOL_ERROR, (payload): Promise<void> =>
|
|
1199
1196
|
this.learnFromValidationFailure(payload).catch(error => {
|
|
1200
1197
|
this.logger.warn('Failed to learn from validation failure:', error);
|
|
1201
|
-
})
|
|
1202
|
-
|
|
1198
|
+
})
|
|
1199
|
+
));
|
|
1203
1200
|
|
|
1204
|
-
EventBus.server.on(Events.Mcp.TOOL_RESULT, (payload) =>
|
|
1205
|
-
// Learn from successful validations
|
|
1201
|
+
this.eventSubscriptions.push(EventBus.server.on(Events.Mcp.TOOL_RESULT, (payload): Promise<void> =>
|
|
1206
1202
|
this.learnFromValidationSuccess(payload).catch(error => {
|
|
1207
1203
|
this.logger.warn('Failed to learn from validation success:', error);
|
|
1208
|
-
})
|
|
1209
|
-
|
|
1204
|
+
})
|
|
1205
|
+
));
|
|
1210
1206
|
}
|
|
1211
1207
|
|
|
1212
1208
|
private startPeriodicTasks(): void {
|
|
1213
1209
|
// Performance metrics reporting
|
|
1214
|
-
setInterval(() => {
|
|
1210
|
+
this.metricsInterval = setInterval(() => {
|
|
1215
1211
|
this.reportPerformanceMetrics();
|
|
1216
1212
|
}, 60 * 1000); // Every minute
|
|
1213
|
+
this.metricsInterval.unref?.();
|
|
1217
1214
|
|
|
1218
1215
|
// Risk profile updates
|
|
1219
|
-
setInterval(() => {
|
|
1216
|
+
this.riskProfileInterval = setInterval(() => {
|
|
1220
1217
|
this.updateRiskProfiles().catch(error => {
|
|
1221
1218
|
this.logger.warn('Failed to update risk profiles:', error);
|
|
1222
1219
|
});
|
|
1223
1220
|
}, 10 * 60 * 1000); // Every 10 minutes
|
|
1221
|
+
this.riskProfileInterval.unref?.();
|
|
1224
1222
|
|
|
1225
1223
|
// Cache cleanup
|
|
1226
|
-
setInterval(() => {
|
|
1224
|
+
this.cacheCleanupInterval = setInterval(() => {
|
|
1227
1225
|
this.cleanupExpiredCaches();
|
|
1228
1226
|
}, 5 * 60 * 1000); // Every 5 minutes
|
|
1227
|
+
this.cacheCleanupInterval.unref?.();
|
|
1229
1228
|
}
|
|
1230
1229
|
|
|
1231
1230
|
private async learnFromValidationFailure(payload: any): Promise<void> {
|
|
@@ -1382,4 +1381,31 @@ export class ProactiveValidationService {
|
|
|
1382
1381
|
this.toolRiskProfiles.clear();
|
|
1383
1382
|
this.toolRiskCacheExpiry.clear();
|
|
1384
1383
|
}
|
|
1385
|
-
|
|
1384
|
+
|
|
1385
|
+
/** Release every timer and subscription owned by this singleton. */
|
|
1386
|
+
public shutdown(): void {
|
|
1387
|
+
if (this.metricsInterval) {
|
|
1388
|
+
clearInterval(this.metricsInterval);
|
|
1389
|
+
this.metricsInterval = undefined;
|
|
1390
|
+
}
|
|
1391
|
+
if (this.riskProfileInterval) {
|
|
1392
|
+
clearInterval(this.riskProfileInterval);
|
|
1393
|
+
this.riskProfileInterval = undefined;
|
|
1394
|
+
}
|
|
1395
|
+
if (this.cacheCleanupInterval) {
|
|
1396
|
+
clearInterval(this.cacheCleanupInterval);
|
|
1397
|
+
this.cacheCleanupInterval = undefined;
|
|
1398
|
+
}
|
|
1399
|
+
for (const subscription of this.eventSubscriptions) {
|
|
1400
|
+
subscription.unsubscribe();
|
|
1401
|
+
}
|
|
1402
|
+
this.eventSubscriptions.length = 0;
|
|
1403
|
+
this.activeValidations.clear();
|
|
1404
|
+
this.clearCaches();
|
|
1405
|
+
this.validationEvents$.complete();
|
|
1406
|
+
|
|
1407
|
+
if (ProactiveValidationService.instance === this) {
|
|
1408
|
+
ProactiveValidationService.instance = undefined;
|
|
1409
|
+
}
|
|
1410
|
+
}
|
|
1411
|
+
}
|