@mxf-dev/core 2.0.5 → 3.1.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/ConfigManager.d.ts +64 -0
- package/dist/config/ConfigManager.d.ts.map +1 -1
- package/dist/config/ConfigManager.js +68 -1
- package/dist/config/ConfigManager.js.map +1 -1
- 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/MongoChannelRepository.d.ts.map +1 -1
- package/dist/database/adapters/mongodb/MongoChannelRepository.js +2 -1
- package/dist/database/adapters/mongodb/MongoChannelRepository.js.map +1 -1
- 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 +50 -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/ConfigEvents.d.ts +6 -0
- package/dist/events/event-definitions/ConfigEvents.d.ts.map +1 -1
- package/dist/events/event-definitions/ConfigEvents.js +0 -5
- package/dist/events/event-definitions/ConfigEvents.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/SystemEvents.d.ts +16 -0
- package/dist/events/event-definitions/SystemEvents.d.ts.map +1 -1
- package/dist/events/event-definitions/SystemEvents.js +2 -0
- package/dist/events/event-definitions/SystemEvents.js.map +1 -1
- 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/Channel.d.ts +3 -0
- package/dist/interfaces/Channel.d.ts.map +1 -1
- package/dist/interfaces/ChannelConfig.d.ts +4 -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 +4 -0
- package/dist/models/channel.d.ts.map +1 -1
- package/dist/models/channel.js +8 -0
- 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/prompts/MxfAgentSystemPrompt.d.ts.map +1 -1
- package/dist/prompts/MxfAgentSystemPrompt.js +9 -1
- package/dist/prompts/MxfAgentSystemPrompt.js.map +1 -1
- package/dist/prompts/SystemLlmStanceGuidance.d.ts +37 -0
- package/dist/prompts/SystemLlmStanceGuidance.d.ts.map +1 -0
- package/dist/prompts/SystemLlmStanceGuidance.js +48 -0
- package/dist/prompts/SystemLlmStanceGuidance.js.map +1 -0
- 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/IChannelRepository.d.ts +2 -0
- package/dist/repositories/interfaces/IChannelRepository.d.ts.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 +41 -1
- package/dist/schemas/EventPayloadSchema.d.ts.map +1 -1
- package/dist/schemas/EventPayloadSchema.js +54 -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 +29 -7
- package/dist/services/BackgroundTaskManager.d.ts.map +1 -1
- package/dist/services/BackgroundTaskManager.js +171 -60
- 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/SystemLlmStanceTypes.d.ts +123 -0
- package/dist/types/SystemLlmStanceTypes.d.ts.map +1 -0
- package/dist/types/SystemLlmStanceTypes.js +101 -0
- package/dist/types/SystemLlmStanceTypes.js.map +1 -0
- 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/dist/utils/PromptTemplateReplacer.d.ts +5 -0
- package/dist/utils/PromptTemplateReplacer.d.ts.map +1 -1
- package/dist/utils/PromptTemplateReplacer.js +13 -0
- package/dist/utils/PromptTemplateReplacer.js.map +1 -1
- package/package.json +1 -1
- package/src/config/ConfigManager.ts +126 -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/MongoChannelRepository.ts +2 -1
- 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/ConfigEvents.ts +8 -0
- package/src/events/event-definitions/ControlLoopEvents.ts +12 -0
- package/src/events/event-definitions/SdkEvents.ts +58 -0
- package/src/events/event-definitions/SystemEvents.ts +24 -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/Channel.ts +4 -0
- package/src/interfaces/ChannelConfig.ts +8 -2
- package/src/interfaces/ConversationMessage.ts +6 -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 +12 -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/prompts/MxfAgentSystemPrompt.ts +9 -1
- package/src/prompts/SystemLlmStanceGuidance.ts +67 -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/IChannelRepository.ts +2 -0
- package/src/repositories/interfaces/IKnowledgeGraphRepository.ts +45 -27
- package/src/schemas/EventPayloadSchema.ts +85 -2
- package/src/services/AgentPerformanceService.ts +85 -36
- package/src/services/AutoCorrectionService.ts +25 -6
- package/src/services/BackgroundTaskManager.ts +217 -79
- 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/SystemLlmStanceTypes.ts +162 -0
- package/src/types/TaskCompletionTypes.ts +9 -9
- package/src/types/TaskTypes.ts +12 -1
- package/src/utils/GlobMatcher.ts +157 -0
- package/src/utils/PromptTemplateReplacer.ts +17 -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
|