@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
|
@@ -26,203 +26,128 @@
|
|
|
26
26
|
*/
|
|
27
27
|
|
|
28
28
|
import { Observable, throwError } from 'rxjs';
|
|
29
|
+
import { map } from 'rxjs/operators';
|
|
29
30
|
|
|
30
31
|
import {
|
|
31
32
|
ChannelId,
|
|
32
|
-
AgentId,
|
|
33
|
-
ChannelContextType,
|
|
34
|
-
ChannelContextHistoryEntry,
|
|
35
33
|
ChannelMessage
|
|
36
34
|
} from '../types/ChannelContext.js';
|
|
37
35
|
|
|
38
|
-
import { Logger } from '../utils/Logger.js';
|
|
39
36
|
import { createStrictValidator } from '../utils/validation.js';
|
|
40
37
|
import { EventBus } from '../events/EventBus.js';
|
|
38
|
+
import { EventBusBase } from '../events/EventBusBase.js';
|
|
41
39
|
import { Events } from '../events/EventNames.js';
|
|
42
40
|
import { MemoryScope } from '../types/MemoryTypes.js';
|
|
43
41
|
import { createMemoryGetEventPayload, createMemoryUpdateEventPayload } from '../schemas/EventPayloadSchema.js';
|
|
44
42
|
import { v4 as uuidv4 } from 'uuid';
|
|
45
43
|
|
|
44
|
+
interface MemoryOperationResponseData {
|
|
45
|
+
operationId?: string;
|
|
46
|
+
memory?: unknown;
|
|
47
|
+
error?: string;
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
interface MemoryOperationResponse {
|
|
51
|
+
data?: MemoryOperationResponseData;
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
type MemoryEventBus = EventBusBase & {
|
|
55
|
+
emit(event: string, payload: unknown): void;
|
|
56
|
+
};
|
|
57
|
+
|
|
58
|
+
const SYSTEM_AGENT_ID = 'SYSTEM_AGENT';
|
|
59
|
+
|
|
46
60
|
/**
|
|
47
61
|
* Provides message operations for the channel context service
|
|
48
62
|
*/
|
|
49
63
|
export class ChannelContextMessageOperations {
|
|
50
|
-
private
|
|
51
|
-
private eventBus: any; // Will be either EventBus.client or this.eventBus
|
|
64
|
+
private eventBus: MemoryEventBus;
|
|
52
65
|
|
|
53
66
|
constructor(isClientContext: boolean = false) {
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
67
|
+
this.eventBus = (isClientContext ? EventBus.client : EventBus.server) as MemoryEventBus;
|
|
68
|
+
}
|
|
69
|
+
|
|
70
|
+
private requestMemoryResult(
|
|
71
|
+
resultEvent: string,
|
|
72
|
+
operationId: string,
|
|
73
|
+
emitRequest: () => void
|
|
74
|
+
): Observable<MemoryOperationResponseData> {
|
|
75
|
+
return new Observable(observer => {
|
|
76
|
+
let settled = false;
|
|
77
|
+
const handler = (response: unknown): void => {
|
|
78
|
+
if (!response || typeof response !== 'object') return;
|
|
79
|
+
const data = (response as MemoryOperationResponse).data;
|
|
80
|
+
if (data?.operationId !== operationId || settled) return;
|
|
81
|
+
settled = true;
|
|
82
|
+
if (data.error) {
|
|
83
|
+
observer.error(new Error(data.error));
|
|
84
|
+
return;
|
|
85
|
+
}
|
|
86
|
+
observer.next(data);
|
|
87
|
+
observer.complete();
|
|
88
|
+
};
|
|
89
|
+
const subscription = this.eventBus.on(resultEvent, handler);
|
|
90
|
+
try {
|
|
91
|
+
emitRequest();
|
|
92
|
+
} catch (error) {
|
|
93
|
+
settled = true;
|
|
94
|
+
observer.error(error instanceof Error ? error : new Error(String(error)));
|
|
95
|
+
}
|
|
96
|
+
return () => subscription.unsubscribe();
|
|
97
|
+
});
|
|
98
|
+
}
|
|
99
|
+
|
|
100
|
+
private isChannelMessage(value: unknown): value is ChannelMessage {
|
|
101
|
+
if (!value || typeof value !== 'object') return false;
|
|
102
|
+
const message = value as Partial<ChannelMessage>;
|
|
103
|
+
return typeof message.messageId === 'string' &&
|
|
104
|
+
(typeof message.content === 'string' || (
|
|
105
|
+
message.content !== null && typeof message.content === 'object'
|
|
106
|
+
)) &&
|
|
107
|
+
typeof message.senderId === 'string' &&
|
|
108
|
+
typeof message.timestamp === 'number' &&
|
|
109
|
+
['text', 'command', 'response', 'system'].includes(message.type ?? '');
|
|
57
110
|
}
|
|
58
111
|
/**
|
|
59
|
-
*
|
|
112
|
+
* Append a message batch through the authoritative atomic memory bridge.
|
|
60
113
|
* @param channelId - Channel ID
|
|
61
114
|
* @param messagesMemoryKey - Memory key for messages
|
|
62
115
|
* @param messages - Array of channel messages to add
|
|
63
116
|
* @param updateMetadata - Metadata for the update operation
|
|
64
117
|
* @returns Observable of success status
|
|
65
118
|
*/
|
|
66
|
-
private
|
|
119
|
+
private appendMessages = (
|
|
67
120
|
channelId: ChannelId,
|
|
68
121
|
messagesMemoryKey: string,
|
|
69
122
|
messages: ChannelMessage[],
|
|
70
|
-
updateMetadata:
|
|
123
|
+
updateMetadata: Record<string, unknown>
|
|
71
124
|
): Observable<boolean> => {
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
this.eventBus.off(Events.Memory.GET_RESULT, getResponseHandler);
|
|
83
|
-
|
|
84
|
-
// Fallback: save just the new messages without merging
|
|
85
|
-
const fallbackData = { [messagesMemoryKey]: messages };
|
|
86
|
-
const fallbackMetadata = {
|
|
87
|
-
type: 'channelMessages',
|
|
88
|
-
channelId: channelId,
|
|
89
|
-
lastUpdated: Date.now(),
|
|
90
|
-
isBulkInsert: true,
|
|
91
|
-
messageCount: messages.length
|
|
92
|
-
};
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
this.eventBus.emit(
|
|
125
|
+
const uniqueMessages = [...new Map(
|
|
126
|
+
messages.map(message => [message.messageId, message])
|
|
127
|
+
).values()];
|
|
128
|
+
const operationId = uuidv4();
|
|
129
|
+
return this.requestMemoryResult(
|
|
130
|
+
Events.Memory.UPDATE_RESULT,
|
|
131
|
+
operationId,
|
|
132
|
+
() => this.eventBus.emit(
|
|
133
|
+
Events.Memory.UPDATE,
|
|
134
|
+
createMemoryUpdateEventPayload(
|
|
96
135
|
Events.Memory.UPDATE,
|
|
97
|
-
|
|
98
|
-
Events.Memory.UPDATE,
|
|
99
|
-
'system',
|
|
100
|
-
channelId,
|
|
101
|
-
{
|
|
102
|
-
operationId: uuidv4(),
|
|
103
|
-
scope: MemoryScope.CHANNEL,
|
|
104
|
-
id: channelId,
|
|
105
|
-
data: fallbackData,
|
|
106
|
-
metadata: fallbackMetadata
|
|
107
|
-
}
|
|
108
|
-
)
|
|
109
|
-
);
|
|
110
|
-
|
|
111
|
-
observer.next(true);
|
|
112
|
-
observer.complete();
|
|
113
|
-
}, timeoutMs);
|
|
114
|
-
|
|
115
|
-
// Set up response handler for bulk GET operation
|
|
116
|
-
const getResponseHandler = (response: any): void => {
|
|
117
|
-
|
|
118
|
-
if (!response?.data || response.data.id !== messagesMemoryKey) {
|
|
119
|
-
return; // Not our response
|
|
120
|
-
}
|
|
121
|
-
|
|
122
|
-
// Clear timeout since we got a response
|
|
123
|
-
if (timeoutId) {
|
|
124
|
-
clearTimeout(timeoutId);
|
|
125
|
-
timeoutId = null;
|
|
126
|
-
}
|
|
127
|
-
|
|
128
|
-
// Remove the listener since we're handling the response
|
|
129
|
-
this.eventBus.off(Events.Memory.GET_RESULT, getResponseHandler);
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
try {
|
|
133
|
-
let existingMessages: ChannelMessage[] = [];
|
|
134
|
-
|
|
135
|
-
// Extract existing messages if they exist
|
|
136
|
-
if (response.data.data && Array.isArray(response.data.data)) {
|
|
137
|
-
existingMessages = response.data.data
|
|
138
|
-
.filter((msg: any) => msg && typeof msg === 'object' && msg.messageId && msg.content && msg.senderId)
|
|
139
|
-
.map((msg: any) => ({
|
|
140
|
-
messageId: msg.messageId,
|
|
141
|
-
content: msg.content,
|
|
142
|
-
senderId: msg.senderId,
|
|
143
|
-
timestamp: msg.timestamp || Date.now(),
|
|
144
|
-
type: ['text', 'command', 'response', 'system'].includes(msg.type) ? msg.type : 'text',
|
|
145
|
-
metadata: typeof msg.metadata === 'object' ? msg.metadata : {}
|
|
146
|
-
}));
|
|
147
|
-
}
|
|
148
|
-
|
|
149
|
-
// Merge existing messages with new messages
|
|
150
|
-
const allMessages = [...existingMessages, ...messages];
|
|
151
|
-
|
|
152
|
-
// Sort by timestamp (oldest first)
|
|
153
|
-
allMessages.sort((a, b) => a.timestamp - b.timestamp);
|
|
154
|
-
|
|
155
|
-
// Remove duplicates based on messageId (keep the latest)
|
|
156
|
-
const uniqueMessages = new Map<string, ChannelMessage>();
|
|
157
|
-
for (const msg of allMessages) {
|
|
158
|
-
uniqueMessages.set(msg.messageId, msg);
|
|
159
|
-
}
|
|
160
|
-
const finalMessages = Array.from(uniqueMessages.values()).sort((a, b) => a.timestamp - b.timestamp);
|
|
161
|
-
|
|
162
|
-
// Prepare update data
|
|
163
|
-
const updateData = { [messagesMemoryKey]: finalMessages };
|
|
164
|
-
const updateMetadataWithMessageCount = {
|
|
165
|
-
...updateMetadata,
|
|
166
|
-
messageCount: finalMessages.length,
|
|
167
|
-
newMessageCount: messages.length
|
|
168
|
-
};
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
// Update memory with all messages
|
|
172
|
-
this.eventBus.emit(
|
|
173
|
-
Events.Memory.UPDATE,
|
|
174
|
-
createMemoryUpdateEventPayload(
|
|
175
|
-
Events.Memory.UPDATE,
|
|
176
|
-
'system',
|
|
177
|
-
channelId,
|
|
178
|
-
{
|
|
179
|
-
operationId: uuidv4(),
|
|
180
|
-
scope: MemoryScope.CHANNEL,
|
|
181
|
-
id: channelId,
|
|
182
|
-
data: updateData,
|
|
183
|
-
metadata: updateMetadataWithMessageCount
|
|
184
|
-
}
|
|
185
|
-
)
|
|
186
|
-
);
|
|
187
|
-
|
|
188
|
-
observer.next(true);
|
|
189
|
-
observer.complete();
|
|
190
|
-
|
|
191
|
-
} catch (error) {
|
|
192
|
-
this.logger.error(`[ChannelContextMessageOperations:BULK] Error processing bulk messages: ${error instanceof Error ? error.message : String(error)}`);
|
|
193
|
-
observer.error(error instanceof Error ? error : new Error(String(error)));
|
|
194
|
-
}
|
|
195
|
-
};
|
|
196
|
-
|
|
197
|
-
// Listen for the GET response
|
|
198
|
-
this.eventBus.on(Events.Memory.GET_RESULT, getResponseHandler);
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
// Get existing messages first
|
|
202
|
-
this.eventBus.emit(
|
|
203
|
-
Events.Memory.GET,
|
|
204
|
-
createMemoryGetEventPayload(
|
|
205
|
-
Events.Memory.GET,
|
|
206
|
-
'system',
|
|
136
|
+
SYSTEM_AGENT_ID,
|
|
207
137
|
channelId,
|
|
208
138
|
{
|
|
209
|
-
operationId
|
|
139
|
+
operationId,
|
|
210
140
|
scope: MemoryScope.CHANNEL,
|
|
211
|
-
id:
|
|
212
|
-
|
|
141
|
+
id: messagesMemoryKey,
|
|
142
|
+
data: { [messagesMemoryKey]: uniqueMessages },
|
|
143
|
+
metadata: {
|
|
144
|
+
...updateMetadata,
|
|
145
|
+
newMessageCount: uniqueMessages.length
|
|
146
|
+
}
|
|
213
147
|
}
|
|
214
148
|
)
|
|
215
|
-
)
|
|
216
|
-
|
|
217
|
-
// Return cleanup function
|
|
218
|
-
return (): void => {
|
|
219
|
-
if (timeoutId) {
|
|
220
|
-
clearTimeout(timeoutId);
|
|
221
|
-
timeoutId = null;
|
|
222
|
-
}
|
|
223
|
-
this.eventBus.off(Events.Memory.GET_RESULT, getResponseHandler);
|
|
224
|
-
};
|
|
225
|
-
});
|
|
149
|
+
)
|
|
150
|
+
).pipe(map(() => true));
|
|
226
151
|
};
|
|
227
152
|
|
|
228
153
|
/**
|
|
@@ -270,7 +195,7 @@ export class ChannelContextMessageOperations {
|
|
|
270
195
|
|
|
271
196
|
const messagesMemoryKey = `channel:messages:${channelId}`;
|
|
272
197
|
|
|
273
|
-
return this.
|
|
198
|
+
return this.appendMessages(channelId, messagesMemoryKey, messages, {
|
|
274
199
|
type: 'channelMessages',
|
|
275
200
|
channelId: channelId,
|
|
276
201
|
lastUpdated: Date.now(),
|
|
@@ -313,123 +238,36 @@ export class ChannelContextMessageOperations {
|
|
|
313
238
|
}
|
|
314
239
|
|
|
315
240
|
const messagesMemoryKey = `channel:messages:${channelId}`;
|
|
316
|
-
|
|
317
|
-
|
|
318
|
-
|
|
319
|
-
|
|
320
|
-
|
|
321
|
-
|
|
322
|
-
|
|
323
|
-
|
|
324
|
-
// Clean up event listener when timeout occurs
|
|
325
|
-
if (timeoutId) {
|
|
326
|
-
clearTimeout(timeoutId);
|
|
327
|
-
timeoutId = null;
|
|
328
|
-
}
|
|
329
|
-
this.eventBus.off(Events.Memory.GET_RESULT, responseHandler);
|
|
330
|
-
|
|
331
|
-
// Try direct database query as a fallback
|
|
332
|
-
// Since this is just a read operation, it's reasonable to complete with empty results
|
|
333
|
-
observer.next([]);
|
|
334
|
-
observer.complete();
|
|
335
|
-
}, internalTimeoutMs);
|
|
336
|
-
|
|
337
|
-
// Set up response handler with detailed logging
|
|
338
|
-
const responseHandler = (response: any): void => {
|
|
339
|
-
|
|
340
|
-
// Only process if this is the response we're waiting for
|
|
341
|
-
if (!response?.data) {
|
|
342
|
-
this.logger.warn('[ChannelContextMessageOperations] Received undefined response or missing data');
|
|
343
|
-
return;
|
|
344
|
-
}
|
|
345
|
-
|
|
346
|
-
if (response.data.id !== messagesMemoryKey) {
|
|
347
|
-
return;
|
|
348
|
-
}
|
|
349
|
-
|
|
350
|
-
|
|
351
|
-
// Clear the timeout since we got a response
|
|
352
|
-
if (timeoutId) {
|
|
353
|
-
clearTimeout(timeoutId);
|
|
354
|
-
timeoutId = null;
|
|
355
|
-
}
|
|
356
|
-
|
|
357
|
-
// Clean up listener
|
|
358
|
-
this.eventBus.off(Events.Memory.GET_RESULT, responseHandler);
|
|
359
|
-
|
|
360
|
-
let messages: ChannelMessage[] = [];
|
|
361
|
-
|
|
362
|
-
if (Array.isArray(response.data.data)) {
|
|
363
|
-
try {
|
|
364
|
-
const validator = createStrictValidator('ChannelMessages');
|
|
365
|
-
|
|
366
|
-
// Process and validate each message
|
|
367
|
-
messages = response.data.data.filter((msg: any) => {
|
|
368
|
-
// Basic structure validation
|
|
369
|
-
if (!msg || typeof msg !== 'object') return false;
|
|
370
|
-
if (!msg.messageId || !msg.content || !msg.senderId) return false;
|
|
371
|
-
|
|
372
|
-
return true;
|
|
373
|
-
}).map((msg: any) => {
|
|
374
|
-
// Ensure consistent structure even if some fields are missing
|
|
375
|
-
return {
|
|
376
|
-
messageId: msg.messageId,
|
|
377
|
-
content: msg.content,
|
|
378
|
-
senderId: msg.senderId,
|
|
379
|
-
timestamp: msg.timestamp || Date.now(),
|
|
380
|
-
type: ['text', 'command', 'response', 'system'].includes(msg.type) ?
|
|
381
|
-
msg.type : 'text',
|
|
382
|
-
metadata: typeof msg.metadata === 'object' ? msg.metadata : {}
|
|
383
|
-
};
|
|
384
|
-
});
|
|
385
|
-
|
|
386
|
-
// Sort by timestamp (oldest first)
|
|
387
|
-
messages.sort((a, b) => a.timestamp - b.timestamp);
|
|
388
|
-
|
|
389
|
-
// Apply limit if specified
|
|
390
|
-
if (limit && limit > 0 && messages.length > limit) {
|
|
391
|
-
messages = messages.slice(-limit); // Get most recent messages
|
|
392
|
-
}
|
|
393
|
-
|
|
394
|
-
} catch (error) {
|
|
395
|
-
this.logger.error(`Error processing messages: ${error instanceof Error ? error.message : String(error)}`);
|
|
396
|
-
// Fall back to empty array on error
|
|
397
|
-
messages = [];
|
|
398
|
-
}
|
|
399
|
-
} else {
|
|
400
|
-
this.logger.warn(`No message array found in memory response for id ${messagesMemoryKey}`);
|
|
401
|
-
}
|
|
402
|
-
|
|
403
|
-
observer.next(messages);
|
|
404
|
-
observer.complete();
|
|
405
|
-
};
|
|
406
|
-
|
|
407
|
-
// Listen for the response
|
|
408
|
-
this.eventBus.on(Events.Memory.GET_RESULT, responseHandler);
|
|
409
|
-
|
|
410
|
-
this.eventBus.emit(
|
|
411
|
-
Events.Memory.GET,
|
|
241
|
+
|
|
242
|
+
const operationId = uuidv4();
|
|
243
|
+
return this.requestMemoryResult(
|
|
244
|
+
Events.Memory.GET_RESULT,
|
|
245
|
+
operationId,
|
|
246
|
+
() => this.eventBus.emit(
|
|
247
|
+
Events.Memory.GET,
|
|
412
248
|
createMemoryGetEventPayload(
|
|
413
|
-
Events.Memory.GET,
|
|
414
|
-
|
|
415
|
-
channelId,
|
|
416
|
-
{
|
|
417
|
-
operationId
|
|
249
|
+
Events.Memory.GET,
|
|
250
|
+
SYSTEM_AGENT_ID,
|
|
251
|
+
channelId,
|
|
252
|
+
{
|
|
253
|
+
operationId,
|
|
418
254
|
scope: MemoryScope.CHANNEL,
|
|
419
|
-
id:
|
|
255
|
+
id: messagesMemoryKey,
|
|
420
256
|
key: messagesMemoryKey
|
|
421
257
|
}
|
|
422
258
|
)
|
|
423
|
-
)
|
|
424
|
-
|
|
425
|
-
|
|
426
|
-
|
|
427
|
-
|
|
428
|
-
|
|
429
|
-
|
|
430
|
-
|
|
431
|
-
|
|
432
|
-
|
|
433
|
-
|
|
259
|
+
)
|
|
260
|
+
).pipe(
|
|
261
|
+
map(result => {
|
|
262
|
+
const messages = Array.isArray(result.memory)
|
|
263
|
+
? result.memory.filter((message): message is ChannelMessage =>
|
|
264
|
+
this.isChannelMessage(message))
|
|
265
|
+
: [];
|
|
266
|
+
messages.sort((left, right) => left.timestamp - right.timestamp);
|
|
267
|
+
return limit && limit > 0 && messages.length > limit
|
|
268
|
+
? messages.slice(-limit)
|
|
269
|
+
: messages;
|
|
270
|
+
})
|
|
271
|
+
);
|
|
434
272
|
};
|
|
435
273
|
}
|