@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
|
@@ -22,7 +22,7 @@
|
|
|
22
22
|
* Memory Search Tools - Semantic search across agent memory using Meilisearch
|
|
23
23
|
*/
|
|
24
24
|
|
|
25
|
-
import {
|
|
25
|
+
import { McpToolHandlerContext, McpToolHandlerResult, McpToolResultContent } from '../McpServerTypes.js';
|
|
26
26
|
import { Logger } from '../../../utils/Logger.js';
|
|
27
27
|
import { MxfMeilisearchService, SearchParams } from '../../../services/MxfMeilisearchService.js';
|
|
28
28
|
import { MemoryService } from '../../../services/MemoryService.js';
|
|
@@ -31,10 +31,76 @@ import { UtilityScorerService } from '../../../services/UtilityScorerService.js'
|
|
|
31
31
|
import { RewardSignalProcessor } from '../../../services/RewardSignalProcessor.js';
|
|
32
32
|
import { MemoryCandidate } from '../../../types/MemoryUtilityTypes.js';
|
|
33
33
|
import { getCurrentMemoryPhase } from './OrparTools.js';
|
|
34
|
-
import {
|
|
34
|
+
import { checkResultSize, PaginationMetadata } from '../../../utils/ToolPaginationUtils.js';
|
|
35
35
|
|
|
36
36
|
const logger = new Logger('info', 'MemorySearchTools', 'server');
|
|
37
37
|
|
|
38
|
+
const escapeMeilisearchFilterLiteral = (value: string): string => (
|
|
39
|
+
value.replace(/\\/g, '\\\\').replace(/"/g, '\\"')
|
|
40
|
+
);
|
|
41
|
+
|
|
42
|
+
const requireBoundedString = (value: unknown, name: string, maximum: number): string => {
|
|
43
|
+
if (typeof value !== 'string' || value.trim().length === 0 || value.length > maximum) {
|
|
44
|
+
throw new Error(`${name} must be a non-empty string of at most ${maximum} characters`);
|
|
45
|
+
}
|
|
46
|
+
return value.trim();
|
|
47
|
+
};
|
|
48
|
+
|
|
49
|
+
const requireInputRecord = (value: unknown): Record<string, unknown> => {
|
|
50
|
+
if (typeof value !== 'object' || value === null || Array.isArray(value)) {
|
|
51
|
+
throw new Error('input must be an object');
|
|
52
|
+
}
|
|
53
|
+
return value as Record<string, unknown>;
|
|
54
|
+
};
|
|
55
|
+
|
|
56
|
+
const requireSearchContext = (context: McpToolHandlerContext): {
|
|
57
|
+
agentId: string;
|
|
58
|
+
channelId: string;
|
|
59
|
+
} => ({
|
|
60
|
+
agentId: requireBoundedString(context.agentId, 'context.agentId', 256),
|
|
61
|
+
channelId: requireBoundedString(context.channelId, 'context.channelId', 256)
|
|
62
|
+
});
|
|
63
|
+
|
|
64
|
+
const boundedInteger = (
|
|
65
|
+
value: unknown,
|
|
66
|
+
fallback: number,
|
|
67
|
+
minimum: number,
|
|
68
|
+
maximum: number,
|
|
69
|
+
name: string
|
|
70
|
+
): number => {
|
|
71
|
+
const resolved = value === undefined ? fallback : value;
|
|
72
|
+
if (typeof resolved !== 'number' || !Number.isSafeInteger(resolved) ||
|
|
73
|
+
resolved < minimum || resolved > maximum) {
|
|
74
|
+
throw new Error(`${name} must be an integer between ${minimum} and ${maximum}`);
|
|
75
|
+
}
|
|
76
|
+
return resolved;
|
|
77
|
+
};
|
|
78
|
+
|
|
79
|
+
const boundedNumber = (
|
|
80
|
+
value: unknown,
|
|
81
|
+
fallback: number,
|
|
82
|
+
minimum: number,
|
|
83
|
+
maximum: number,
|
|
84
|
+
name: string
|
|
85
|
+
): number => {
|
|
86
|
+
const resolved = value === undefined ? fallback : value;
|
|
87
|
+
if (typeof resolved !== 'number' || !Number.isFinite(resolved) ||
|
|
88
|
+
resolved < minimum || resolved > maximum) {
|
|
89
|
+
throw new Error(`${name} must be a number between ${minimum} and ${maximum}`);
|
|
90
|
+
}
|
|
91
|
+
return resolved;
|
|
92
|
+
};
|
|
93
|
+
|
|
94
|
+
const optionalBoolean = (value: unknown, name: string): boolean | undefined => {
|
|
95
|
+
if (value === undefined) {
|
|
96
|
+
return undefined;
|
|
97
|
+
}
|
|
98
|
+
if (typeof value !== 'boolean') {
|
|
99
|
+
throw new Error(`${name} must be a boolean when provided`);
|
|
100
|
+
}
|
|
101
|
+
return value;
|
|
102
|
+
};
|
|
103
|
+
|
|
38
104
|
/**
|
|
39
105
|
* Search conversation history semantically
|
|
40
106
|
*/
|
|
@@ -107,7 +173,7 @@ async function applyUtilityRanking<T extends { id: string; _rankingScore: number
|
|
|
107
173
|
|
|
108
174
|
export const memory_search_conversations = {
|
|
109
175
|
name: 'memory_search_conversations',
|
|
110
|
-
description: 'Search your
|
|
176
|
+
description: 'Search your conversation history in the authenticated channel using semantic search. Find relevant past discussions even if they happened hundreds of messages ago.',
|
|
111
177
|
category: 'context-memory',
|
|
112
178
|
tags: ['memory', 'search', 'semantic', 'conversations', 'history'],
|
|
113
179
|
version: '2.0',
|
|
@@ -120,7 +186,7 @@ export const memory_search_conversations = {
|
|
|
120
186
|
},
|
|
121
187
|
channelId: {
|
|
122
188
|
type: 'string',
|
|
123
|
-
description: 'Optional
|
|
189
|
+
description: 'Optional channel assertion. When provided, it must match the authenticated channel.'
|
|
124
190
|
},
|
|
125
191
|
limit: {
|
|
126
192
|
type: 'number',
|
|
@@ -198,42 +264,70 @@ export const memory_search_conversations = {
|
|
|
198
264
|
description: 'Search specific channel with semantic emphasis'
|
|
199
265
|
}
|
|
200
266
|
],
|
|
201
|
-
handler: async (input:
|
|
267
|
+
handler: async (input: unknown, context: McpToolHandlerContext): Promise<McpToolHandlerResult> => {
|
|
202
268
|
try {
|
|
269
|
+
const request = requireInputRecord(input);
|
|
203
270
|
const meilisearch = MxfMeilisearchService.getInstance();
|
|
271
|
+
const identity = requireSearchContext(context);
|
|
272
|
+
const query = requireBoundedString(request.query, 'query', 4096);
|
|
273
|
+
if (request.channelId !== undefined && request.channelId !== identity.channelId) {
|
|
274
|
+
throw new Error('channelId must match the authenticated tool context');
|
|
275
|
+
}
|
|
204
276
|
|
|
205
|
-
//
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
277
|
+
// Both dimensions are mandatory. An agent id can legitimately be
|
|
278
|
+
// reused in another channel, so filtering by agent alone leaks it.
|
|
279
|
+
let filter = `agentId = "${escapeMeilisearchFilterLiteral(identity.agentId)}"` +
|
|
280
|
+
` AND channelId = "${escapeMeilisearchFilterLiteral(identity.channelId)}"`;
|
|
281
|
+
if (request.timeRange !== undefined && (
|
|
282
|
+
typeof request.timeRange !== 'object' || request.timeRange === null ||
|
|
283
|
+
Array.isArray(request.timeRange)
|
|
284
|
+
)) {
|
|
285
|
+
throw new Error('timeRange must be an object when provided');
|
|
209
286
|
}
|
|
210
|
-
|
|
211
|
-
|
|
287
|
+
const timeRange = request.timeRange as Record<string, unknown> | undefined;
|
|
288
|
+
const after = timeRange?.after === undefined
|
|
289
|
+
? undefined
|
|
290
|
+
: boundedInteger(
|
|
291
|
+
timeRange.after,
|
|
292
|
+
0,
|
|
293
|
+
0,
|
|
294
|
+
Number.MAX_SAFE_INTEGER,
|
|
295
|
+
'timeRange.after'
|
|
296
|
+
);
|
|
297
|
+
const before = timeRange?.before === undefined
|
|
298
|
+
? undefined
|
|
299
|
+
: boundedInteger(
|
|
300
|
+
timeRange.before,
|
|
301
|
+
0,
|
|
302
|
+
0,
|
|
303
|
+
Number.MAX_SAFE_INTEGER,
|
|
304
|
+
'timeRange.before'
|
|
305
|
+
);
|
|
306
|
+
if (after !== undefined && before !== undefined && after > before) {
|
|
307
|
+
throw new Error('timeRange.after must not be later than timeRange.before');
|
|
212
308
|
}
|
|
213
|
-
if (
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
filter = filter ? `${filter} AND timestamp <= ${input.timeRange.before}` : `timestamp <= ${input.timeRange.before}`;
|
|
219
|
-
}
|
|
309
|
+
if (after !== undefined) {
|
|
310
|
+
filter += ` AND timestamp >= ${after}`;
|
|
311
|
+
}
|
|
312
|
+
if (before !== undefined) {
|
|
313
|
+
filter += ` AND timestamp <= ${before}`;
|
|
220
314
|
}
|
|
221
315
|
|
|
222
|
-
const limit =
|
|
223
|
-
const offset =
|
|
316
|
+
const limit = boundedInteger(request.limit, 10, 1, 50, 'limit');
|
|
317
|
+
const offset = boundedInteger(request.offset, 0, 0, 10_000, 'offset');
|
|
224
318
|
|
|
225
319
|
const searchParams: SearchParams = {
|
|
226
|
-
query
|
|
320
|
+
query,
|
|
227
321
|
filter: filter || undefined,
|
|
228
322
|
limit: limit,
|
|
229
323
|
offset: offset,
|
|
230
|
-
hybridRatio:
|
|
324
|
+
hybridRatio: boundedNumber(request.hybridRatio, 0.7, 0, 1, 'hybridRatio')
|
|
231
325
|
};
|
|
232
326
|
|
|
233
327
|
const result = await meilisearch.searchConversations(searchParams);
|
|
234
328
|
|
|
235
329
|
// Re-rank by learned utility and record the retrieval for reward attribution.
|
|
236
|
-
const rankedHits = await applyUtilityRanking(
|
|
330
|
+
const rankedHits = await applyUtilityRanking(query, result.hits, context);
|
|
237
331
|
|
|
238
332
|
const formattedResults = rankedHits.map(hit => ({
|
|
239
333
|
content: hit.content,
|
|
@@ -261,7 +355,7 @@ export const memory_search_conversations = {
|
|
|
261
355
|
results: formattedResults,
|
|
262
356
|
pagination,
|
|
263
357
|
processingTimeMs: result.processingTimeMs,
|
|
264
|
-
message: `Found ${formattedResults.length} relevant conversations
|
|
358
|
+
message: `Found ${formattedResults.length} relevant conversations in ${identity.channelId}${hasMore ? ` (${totalCount - offset - formattedResults.length} more available)` : ''}`
|
|
265
359
|
};
|
|
266
360
|
|
|
267
361
|
// Check result size and add pagination hint if needed
|
|
@@ -354,27 +448,33 @@ export const memory_search_actions = {
|
|
|
354
448
|
description: 'Find when you last messaged an agent'
|
|
355
449
|
}
|
|
356
450
|
],
|
|
357
|
-
handler: async (input:
|
|
451
|
+
handler: async (input: unknown, context: McpToolHandlerContext): Promise<McpToolHandlerResult> => {
|
|
358
452
|
try {
|
|
453
|
+
const request = requireInputRecord(input);
|
|
359
454
|
const meilisearch = MxfMeilisearchService.getInstance();
|
|
360
|
-
|
|
361
|
-
|
|
362
|
-
|
|
363
|
-
|
|
455
|
+
const identity = requireSearchContext(context);
|
|
456
|
+
const query = requireBoundedString(request.query, 'query', 4096);
|
|
457
|
+
|
|
458
|
+
let filter = `agentId = "${escapeMeilisearchFilterLiteral(identity.agentId)}"` +
|
|
459
|
+
` AND channelId = "${escapeMeilisearchFilterLiteral(identity.channelId)}"`;
|
|
460
|
+
if (request.toolName !== undefined) {
|
|
461
|
+
const toolName = requireBoundedString(request.toolName, 'toolName', 256);
|
|
462
|
+
filter += ` AND toolName = "${escapeMeilisearchFilterLiteral(toolName)}"`;
|
|
364
463
|
}
|
|
365
|
-
|
|
464
|
+
const successOnly = optionalBoolean(request.successOnly, 'successOnly') ?? false;
|
|
465
|
+
if (successOnly) {
|
|
366
466
|
filter += ' AND success = true';
|
|
367
467
|
}
|
|
368
468
|
|
|
369
|
-
const limit =
|
|
370
|
-
const offset =
|
|
469
|
+
const limit = boundedInteger(request.limit, 10, 1, 100, 'limit');
|
|
470
|
+
const offset = boundedInteger(request.offset, 0, 0, 10_000, 'offset');
|
|
371
471
|
|
|
372
472
|
const result = await meilisearch.searchActions({
|
|
373
|
-
query
|
|
473
|
+
query,
|
|
374
474
|
filter,
|
|
375
475
|
limit: limit,
|
|
376
476
|
offset: offset,
|
|
377
|
-
hybridRatio:
|
|
477
|
+
hybridRatio: boundedNumber(request.hybridRatio, 0.7, 0, 1, 'hybridRatio')
|
|
378
478
|
});
|
|
379
479
|
|
|
380
480
|
const formattedResults = result.hits.map(hit => ({
|
|
@@ -433,7 +533,7 @@ export const memory_search_actions = {
|
|
|
433
533
|
*/
|
|
434
534
|
export const memory_search_patterns = {
|
|
435
535
|
name: 'memory_search_patterns',
|
|
436
|
-
description: 'Discover successful workflow patterns
|
|
536
|
+
description: 'Discover successful workflow patterns in the authenticated channel.',
|
|
437
537
|
category: 'context-memory',
|
|
438
538
|
tags: ['memory', 'search', 'patterns', 'workflows', 'learning'],
|
|
439
539
|
version: '2.0',
|
|
@@ -453,7 +553,7 @@ export const memory_search_patterns = {
|
|
|
453
553
|
},
|
|
454
554
|
crossChannel: {
|
|
455
555
|
type: 'boolean',
|
|
456
|
-
description: '
|
|
556
|
+
description: 'Must be false; channel-key searches are always scoped to the authenticated channel',
|
|
457
557
|
default: false
|
|
458
558
|
},
|
|
459
559
|
limit: {
|
|
@@ -477,7 +577,7 @@ export const memory_search_patterns = {
|
|
|
477
577
|
input: {
|
|
478
578
|
intent: 'coordinate multi-agent data processing',
|
|
479
579
|
minEffectiveness: 0.8,
|
|
480
|
-
crossChannel:
|
|
580
|
+
crossChannel: false
|
|
481
581
|
},
|
|
482
582
|
output: {
|
|
483
583
|
success: true,
|
|
@@ -494,20 +594,32 @@ export const memory_search_patterns = {
|
|
|
494
594
|
description: 'Find proven multi-agent coordination patterns'
|
|
495
595
|
}
|
|
496
596
|
],
|
|
497
|
-
handler: async (input:
|
|
597
|
+
handler: async (input: unknown, context: McpToolHandlerContext): Promise<McpToolHandlerResult> => {
|
|
498
598
|
try {
|
|
599
|
+
const request = requireInputRecord(input);
|
|
499
600
|
const meilisearch = MxfMeilisearchService.getInstance();
|
|
500
|
-
|
|
501
|
-
|
|
502
|
-
|
|
503
|
-
|
|
601
|
+
const identity = requireSearchContext(context);
|
|
602
|
+
const intent = requireBoundedString(request.intent, 'intent', 4096);
|
|
603
|
+
const crossChannel = optionalBoolean(request.crossChannel, 'crossChannel') ?? false;
|
|
604
|
+
if (crossChannel) {
|
|
605
|
+
throw new Error('Cross-channel pattern search is not available to channel-key agents');
|
|
504
606
|
}
|
|
505
607
|
|
|
506
|
-
const
|
|
507
|
-
|
|
608
|
+
const minEffectiveness = boundedNumber(
|
|
609
|
+
request.minEffectiveness,
|
|
610
|
+
0.7,
|
|
611
|
+
0,
|
|
612
|
+
1,
|
|
613
|
+
'minEffectiveness'
|
|
614
|
+
);
|
|
615
|
+
let filter = `effectiveness >= ${minEffectiveness}`;
|
|
616
|
+
filter += ` AND channelId = "${escapeMeilisearchFilterLiteral(identity.channelId)}"`;
|
|
617
|
+
|
|
618
|
+
const limit = boundedInteger(request.limit, 5, 1, 20, 'limit');
|
|
619
|
+
const offset = boundedInteger(request.offset, 0, 0, 10_000, 'offset');
|
|
508
620
|
|
|
509
621
|
const result = await meilisearch.searchPatterns({
|
|
510
|
-
query:
|
|
622
|
+
query: intent,
|
|
511
623
|
filter,
|
|
512
624
|
limit: limit,
|
|
513
625
|
offset: offset,
|
|
@@ -540,7 +652,7 @@ export const memory_search_patterns = {
|
|
|
540
652
|
patterns: formattedPatterns,
|
|
541
653
|
pagination,
|
|
542
654
|
processingTimeMs: result.processingTimeMs,
|
|
543
|
-
message: `Found ${formattedPatterns.length} proven patterns${
|
|
655
|
+
message: `Found ${formattedPatterns.length} proven patterns in ${identity.channelId}${hasMore ? ` (${totalCount - offset - formattedPatterns.length} more available)` : ''}`
|
|
544
656
|
};
|
|
545
657
|
|
|
546
658
|
// Check result size and add pagination hint if needed
|