@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
|
@@ -23,6 +23,7 @@ import { executeShellCommand } from './InfrastructureTools.js';
|
|
|
23
23
|
import { paginationInputSchema, paginateArray, paginateMultipleArrays, checkResultSize } from '../../../utils/ToolPaginationUtils.js';
|
|
24
24
|
import * as fs from 'fs/promises';
|
|
25
25
|
import * as path from 'path';
|
|
26
|
+
import { resolveWorkspacePath } from '../security/McpToolPolicy.js';
|
|
26
27
|
|
|
27
28
|
const logger = new Logger('info', 'CodeAnalysisTools', 'server');
|
|
28
29
|
|
|
@@ -234,7 +235,10 @@ export const analyzeCodebaseTool = {
|
|
|
234
235
|
handler: async (args: any, context: any) => {
|
|
235
236
|
|
|
236
237
|
try {
|
|
237
|
-
const workingDir =
|
|
238
|
+
const workingDir = resolveWorkspacePath(
|
|
239
|
+
args.workingDirectory,
|
|
240
|
+
'analyze_codebase workingDirectory'
|
|
241
|
+
);
|
|
238
242
|
const analysis: {
|
|
239
243
|
structure: any;
|
|
240
244
|
dependencies: any;
|
|
@@ -284,7 +288,11 @@ export const analyzeCodebaseTool = {
|
|
|
284
288
|
|
|
285
289
|
// Analyze dependencies using package.json
|
|
286
290
|
try {
|
|
287
|
-
const
|
|
291
|
+
const packageJsonPath = resolveWorkspacePath(
|
|
292
|
+
path.join(workingDir, 'package.json'),
|
|
293
|
+
'analyze_codebase package.json'
|
|
294
|
+
);
|
|
295
|
+
const packageJson = await fs.readFile(packageJsonPath, 'utf-8');
|
|
288
296
|
const pkg = JSON.parse(packageJson);
|
|
289
297
|
analysis.dependencies = {
|
|
290
298
|
production: Object.keys(pkg.dependencies || {}),
|
|
@@ -297,7 +305,10 @@ export const analyzeCodebaseTool = {
|
|
|
297
305
|
|
|
298
306
|
// Analyze TypeScript configuration
|
|
299
307
|
try {
|
|
300
|
-
const tsconfigPath =
|
|
308
|
+
const tsconfigPath = resolveWorkspacePath(
|
|
309
|
+
path.join(workingDir, 'tsconfig.json'),
|
|
310
|
+
'analyze_codebase tsconfig.json'
|
|
311
|
+
);
|
|
301
312
|
const tsconfig = await fs.readFile(tsconfigPath, 'utf-8');
|
|
302
313
|
const config = JSON.parse(tsconfig);
|
|
303
314
|
analysis.patterns = {
|
|
@@ -363,7 +374,10 @@ export const findFunctionsTool = {
|
|
|
363
374
|
handler: async (args: any, context: any) => {
|
|
364
375
|
|
|
365
376
|
try {
|
|
366
|
-
const workingDir =
|
|
377
|
+
const workingDir = resolveWorkspacePath(
|
|
378
|
+
args.workingDirectory,
|
|
379
|
+
'find_functions workingDirectory'
|
|
380
|
+
);
|
|
367
381
|
const limit = args.limit ?? 50;
|
|
368
382
|
const offset = args.offset ?? 0;
|
|
369
383
|
const allFunctions: any[] = [];
|
|
@@ -457,7 +471,10 @@ export const traceDependenciesTool = {
|
|
|
457
471
|
handler: async (args: any, context: any) => {
|
|
458
472
|
|
|
459
473
|
try {
|
|
460
|
-
const workingDir =
|
|
474
|
+
const workingDir = resolveWorkspacePath(
|
|
475
|
+
args.workingDirectory,
|
|
476
|
+
'trace_dependencies workingDirectory'
|
|
477
|
+
);
|
|
461
478
|
const limit = args.limit ?? 50;
|
|
462
479
|
const offset = args.offset ?? 0;
|
|
463
480
|
const allImports: any[] = [];
|
|
@@ -465,7 +482,10 @@ export const traceDependenciesTool = {
|
|
|
465
482
|
const allDependents: any[] = [];
|
|
466
483
|
|
|
467
484
|
// Read the target file
|
|
468
|
-
const fullPath =
|
|
485
|
+
const fullPath = resolveWorkspacePath(
|
|
486
|
+
path.resolve(workingDir, args.filePath),
|
|
487
|
+
'trace_dependencies filePath'
|
|
488
|
+
);
|
|
469
489
|
const content = await fs.readFile(fullPath, 'utf-8');
|
|
470
490
|
|
|
471
491
|
// Extract imports
|
|
@@ -494,7 +514,7 @@ export const traceDependenciesTool = {
|
|
|
494
514
|
}
|
|
495
515
|
|
|
496
516
|
// Find files that import this file
|
|
497
|
-
const relativePath = path.relative(workingDir,
|
|
517
|
+
const relativePath = path.relative(workingDir, fullPath);
|
|
498
518
|
const importPattern = relativePath.replace(/\\/g, '/').replace(/\.(ts|tsx|js|jsx)$/, '');
|
|
499
519
|
|
|
500
520
|
const dependentsResult = await executeShellCommand('rg', [
|
|
@@ -580,13 +600,19 @@ export const suggestRefactoringTool = {
|
|
|
580
600
|
handler: async (args: any, context: any) => {
|
|
581
601
|
|
|
582
602
|
try {
|
|
583
|
-
const workingDir =
|
|
603
|
+
const workingDir = resolveWorkspacePath(
|
|
604
|
+
args.workingDirectory,
|
|
605
|
+
'suggest_refactoring workingDirectory'
|
|
606
|
+
);
|
|
584
607
|
const limit = args.limit ?? 50;
|
|
585
608
|
const offset = args.offset ?? 0;
|
|
586
609
|
const allSuggestions: any[] = [];
|
|
587
610
|
|
|
588
611
|
// Read the file
|
|
589
|
-
const fullPath =
|
|
612
|
+
const fullPath = resolveWorkspacePath(
|
|
613
|
+
path.resolve(workingDir, args.filePath),
|
|
614
|
+
'suggest_refactoring filePath'
|
|
615
|
+
);
|
|
590
616
|
const content = await fs.readFile(fullPath, 'utf-8');
|
|
591
617
|
const lines = content.split('\n');
|
|
592
618
|
|
|
@@ -673,23 +699,27 @@ export const validateArchitectureTool = {
|
|
|
673
699
|
const allViolations: any[] = [];
|
|
674
700
|
|
|
675
701
|
for (const filePath of args.filePaths) {
|
|
676
|
-
const
|
|
702
|
+
const resolvedFilePath = resolveWorkspacePath(
|
|
703
|
+
filePath,
|
|
704
|
+
'validate_architecture filePath'
|
|
705
|
+
);
|
|
706
|
+
const content = await fs.readFile(resolvedFilePath, 'utf-8');
|
|
677
707
|
|
|
678
708
|
// Validate layering
|
|
679
709
|
if (args.rules.includes('layering')) {
|
|
680
|
-
const layerViolations = validateLayering(
|
|
710
|
+
const layerViolations = validateLayering(resolvedFilePath, content);
|
|
681
711
|
allViolations.push(...layerViolations);
|
|
682
712
|
}
|
|
683
713
|
|
|
684
714
|
// Validate dependencies
|
|
685
715
|
if (args.rules.includes('dependencies')) {
|
|
686
|
-
const depViolations = validateDependencies(
|
|
716
|
+
const depViolations = validateDependencies(resolvedFilePath, content);
|
|
687
717
|
allViolations.push(...depViolations);
|
|
688
718
|
}
|
|
689
719
|
|
|
690
720
|
// Validate naming
|
|
691
721
|
if (args.rules.includes('naming')) {
|
|
692
|
-
const namingViolations = validateNaming(
|
|
722
|
+
const namingViolations = validateNaming(resolvedFilePath, content);
|
|
693
723
|
allViolations.push(...namingViolations);
|
|
694
724
|
}
|
|
695
725
|
}
|
|
@@ -727,4 +757,4 @@ export const codeAnalysisTools = [
|
|
|
727
757
|
traceDependenciesTool,
|
|
728
758
|
suggestRefactoringTool,
|
|
729
759
|
validateArchitectureTool
|
|
730
|
-
];
|
|
760
|
+
];
|
|
@@ -24,20 +24,97 @@
|
|
|
24
24
|
* Enables agents to track and measure their own effectiveness
|
|
25
25
|
*/
|
|
26
26
|
|
|
27
|
-
import {
|
|
27
|
+
import {
|
|
28
|
+
McpToolDefinition,
|
|
29
|
+
McpToolHandlerContext,
|
|
30
|
+
McpToolHandlerResult
|
|
31
|
+
} from '../McpServerTypes.js';
|
|
28
32
|
import { TaskEffectivenessService } from '../../../services/TaskEffectivenessService.js';
|
|
29
33
|
import { AgentId } from '../../../types/Agent.js';
|
|
30
34
|
import { ChannelId } from '../../../types/ChannelContext.js';
|
|
31
35
|
import {
|
|
32
36
|
TaskDefinition,
|
|
33
37
|
TaskExecutionEvent,
|
|
34
|
-
|
|
35
|
-
EffectivenessAnalytics
|
|
38
|
+
TaskEffectivenessMetrics
|
|
36
39
|
} from '../../../types/EffectivenessTypes.js';
|
|
37
40
|
import { v4 as uuidv4 } from 'uuid';
|
|
38
41
|
|
|
42
|
+
interface EffectivenessTenantIdentity {
|
|
43
|
+
agentId: AgentId;
|
|
44
|
+
channelId: ChannelId;
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
interface EffectivenessStartInput extends Record<string, unknown> {
|
|
48
|
+
taskType: string;
|
|
49
|
+
description: string;
|
|
50
|
+
successCriteria?: TaskDefinition['successCriteria'];
|
|
51
|
+
baselineMetrics?: {
|
|
52
|
+
completionTime?: number;
|
|
53
|
+
humanInterventions?: number;
|
|
54
|
+
};
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
interface EffectivenessEventInput extends Record<string, unknown> {
|
|
58
|
+
taskId: string;
|
|
59
|
+
eventType: TaskExecutionEvent['type'];
|
|
60
|
+
details?: Record<string, unknown>;
|
|
61
|
+
}
|
|
62
|
+
|
|
63
|
+
interface EffectivenessQualityInput extends Record<string, unknown> {
|
|
64
|
+
taskId: string;
|
|
65
|
+
completenessScore?: number;
|
|
66
|
+
iterationCount?: number;
|
|
67
|
+
customMetrics?: Record<string, number>;
|
|
68
|
+
}
|
|
69
|
+
|
|
70
|
+
interface EffectivenessCompleteInput extends Record<string, unknown> {
|
|
71
|
+
taskId: string;
|
|
72
|
+
success: boolean;
|
|
73
|
+
customMetrics?: Record<string, number>;
|
|
74
|
+
}
|
|
75
|
+
|
|
76
|
+
interface EffectivenessAnalyticsInput extends Record<string, unknown> {
|
|
77
|
+
timeRange: 'hour' | 'day' | 'week' | 'month';
|
|
78
|
+
taskType?: string;
|
|
79
|
+
}
|
|
80
|
+
|
|
81
|
+
interface EffectivenessCompareInput extends Record<string, unknown> {
|
|
82
|
+
taskId: string;
|
|
83
|
+
}
|
|
84
|
+
|
|
85
|
+
function requireTenantIdentity(context: McpToolHandlerContext): EffectivenessTenantIdentity {
|
|
86
|
+
if (!context.agentId?.trim() || !context.channelId?.trim() ||
|
|
87
|
+
context.agentId !== context.agentId.trim() ||
|
|
88
|
+
context.channelId !== context.channelId.trim()) {
|
|
89
|
+
throw new Error('Authenticated agent and channel context are required');
|
|
90
|
+
}
|
|
91
|
+
|
|
92
|
+
return {
|
|
93
|
+
agentId: context.agentId as AgentId,
|
|
94
|
+
channelId: context.channelId as ChannelId
|
|
95
|
+
};
|
|
96
|
+
}
|
|
97
|
+
|
|
98
|
+
function rejectCallerSelectedTenant(input: Record<string, unknown>): void {
|
|
99
|
+
if (Object.prototype.hasOwnProperty.call(input, 'agentId') ||
|
|
100
|
+
Object.prototype.hasOwnProperty.call(input, 'channelId')) {
|
|
101
|
+
throw new Error('Agent and channel identity are derived from authenticated tool context');
|
|
102
|
+
}
|
|
103
|
+
}
|
|
104
|
+
|
|
105
|
+
function errorMessage(error: unknown): string {
|
|
106
|
+
return error instanceof Error ? error.message : String(error);
|
|
107
|
+
}
|
|
108
|
+
|
|
109
|
+
function requireObjectInput<T extends Record<string, unknown>>(input: unknown): T {
|
|
110
|
+
if (input === null || typeof input !== 'object' || Array.isArray(input)) {
|
|
111
|
+
throw new Error('Tool input must be an object');
|
|
112
|
+
}
|
|
113
|
+
return input as T;
|
|
114
|
+
}
|
|
115
|
+
|
|
39
116
|
// Helper to create tool result
|
|
40
|
-
function createToolResult(success: boolean, data:
|
|
117
|
+
function createToolResult(success: boolean, data: Record<string, unknown>): McpToolHandlerResult {
|
|
41
118
|
return {
|
|
42
119
|
content: {
|
|
43
120
|
type: 'application/json',
|
|
@@ -94,15 +171,24 @@ export const task_effectiveness_start: McpToolDefinition = {
|
|
|
94
171
|
}
|
|
95
172
|
}
|
|
96
173
|
},
|
|
97
|
-
required: ['taskType', 'description']
|
|
174
|
+
required: ['taskType', 'description'],
|
|
175
|
+
additionalProperties: false
|
|
98
176
|
},
|
|
99
177
|
enabled: true,
|
|
100
|
-
handler: async (
|
|
178
|
+
handler: async (
|
|
179
|
+
rawInput: unknown,
|
|
180
|
+
context: McpToolHandlerContext
|
|
181
|
+
): Promise<McpToolHandlerResult> => {
|
|
101
182
|
const effectivenessService = TaskEffectivenessService.getInstance();
|
|
102
183
|
try {
|
|
184
|
+
const input = requireObjectInput<EffectivenessStartInput>(rawInput);
|
|
185
|
+
rejectCallerSelectedTenant(input);
|
|
186
|
+
const { taskType, description, successCriteria, baselineMetrics } = input;
|
|
187
|
+
const { agentId, channelId } = requireTenantIdentity(context);
|
|
103
188
|
const definition: TaskDefinition = {
|
|
104
189
|
taskId: uuidv4(),
|
|
105
|
-
|
|
190
|
+
agentId,
|
|
191
|
+
channelId,
|
|
106
192
|
taskType,
|
|
107
193
|
description,
|
|
108
194
|
successCriteria,
|
|
@@ -111,7 +197,7 @@ export const task_effectiveness_start: McpToolDefinition = {
|
|
|
111
197
|
metrics: {
|
|
112
198
|
performance: {
|
|
113
199
|
completionTime: baselineMetrics.completionTime,
|
|
114
|
-
humanInterventions: baselineMetrics.humanInterventions,
|
|
200
|
+
humanInterventions: baselineMetrics.humanInterventions ?? 0,
|
|
115
201
|
autonomyScore: 0, // Human baseline has 0 autonomy
|
|
116
202
|
stepCount: 0,
|
|
117
203
|
toolsUsed: 0,
|
|
@@ -129,9 +215,9 @@ export const task_effectiveness_start: McpToolDefinition = {
|
|
|
129
215
|
message: `Started tracking effectiveness for ${taskType} task`,
|
|
130
216
|
trackingStarted: Date.now()
|
|
131
217
|
});
|
|
132
|
-
} catch (error) {
|
|
218
|
+
} catch (error: unknown) {
|
|
133
219
|
return createToolResult(false, {
|
|
134
|
-
error: `Failed to start effectiveness tracking: ${error}`
|
|
220
|
+
error: `Failed to start effectiveness tracking: ${errorMessage(error)}`
|
|
135
221
|
});
|
|
136
222
|
}
|
|
137
223
|
}
|
|
@@ -160,18 +246,27 @@ export const task_effectiveness_event: McpToolDefinition = {
|
|
|
160
246
|
description: 'Event-specific details (e.g., tool name, error message, milestone name)'
|
|
161
247
|
}
|
|
162
248
|
},
|
|
163
|
-
required: ['taskId', 'eventType']
|
|
249
|
+
required: ['taskId', 'eventType'],
|
|
250
|
+
additionalProperties: false
|
|
164
251
|
},
|
|
165
252
|
enabled: true,
|
|
166
|
-
handler: async (
|
|
253
|
+
handler: async (
|
|
254
|
+
rawInput: unknown,
|
|
255
|
+
context: McpToolHandlerContext
|
|
256
|
+
): Promise<McpToolHandlerResult> => {
|
|
167
257
|
const effectivenessService = TaskEffectivenessService.getInstance();
|
|
168
258
|
try {
|
|
259
|
+
const input = requireObjectInput<EffectivenessEventInput>(rawInput);
|
|
260
|
+
rejectCallerSelectedTenant(input);
|
|
261
|
+
const { taskId, eventType, details = {} } = input;
|
|
262
|
+
const { agentId, channelId } = requireTenantIdentity(context);
|
|
169
263
|
const event: TaskExecutionEvent = {
|
|
170
264
|
eventId: uuidv4(),
|
|
171
265
|
taskId,
|
|
172
266
|
timestamp: Date.now(),
|
|
173
|
-
type: eventType
|
|
174
|
-
agentId
|
|
267
|
+
type: eventType,
|
|
268
|
+
agentId,
|
|
269
|
+
channelId,
|
|
175
270
|
details
|
|
176
271
|
};
|
|
177
272
|
|
|
@@ -181,9 +276,9 @@ export const task_effectiveness_event: McpToolDefinition = {
|
|
|
181
276
|
message: `Recorded ${eventType} event for task`,
|
|
182
277
|
eventId: event.eventId
|
|
183
278
|
});
|
|
184
|
-
} catch (error) {
|
|
279
|
+
} catch (error: unknown) {
|
|
185
280
|
return createToolResult(false, {
|
|
186
|
-
error: `Failed to record event: ${error}`
|
|
281
|
+
error: `Failed to record event: ${errorMessage(error)}`
|
|
187
282
|
});
|
|
188
283
|
}
|
|
189
284
|
}
|
|
@@ -218,26 +313,34 @@ export const task_effectiveness_quality: McpToolDefinition = {
|
|
|
218
313
|
additionalProperties: { type: 'number' }
|
|
219
314
|
}
|
|
220
315
|
},
|
|
221
|
-
required: ['taskId']
|
|
316
|
+
required: ['taskId'],
|
|
317
|
+
additionalProperties: false
|
|
222
318
|
},
|
|
223
319
|
enabled: true,
|
|
224
|
-
handler: async (
|
|
320
|
+
handler: async (
|
|
321
|
+
rawInput: unknown,
|
|
322
|
+
context: McpToolHandlerContext
|
|
323
|
+
): Promise<McpToolHandlerResult> => {
|
|
225
324
|
const effectivenessService = TaskEffectivenessService.getInstance();
|
|
226
325
|
try {
|
|
227
|
-
const
|
|
326
|
+
const input = requireObjectInput<EffectivenessQualityInput>(rawInput);
|
|
327
|
+
rejectCallerSelectedTenant(input);
|
|
328
|
+
const { taskId, completenessScore, iterationCount, customMetrics } = input;
|
|
329
|
+
const { agentId, channelId } = requireTenantIdentity(context);
|
|
330
|
+
const updates: Partial<TaskEffectivenessMetrics['quality']> = {};
|
|
228
331
|
if (completenessScore !== undefined) updates.completenessScore = completenessScore;
|
|
229
332
|
if (iterationCount !== undefined) updates.iterationCount = iterationCount;
|
|
230
333
|
if (customMetrics) updates.customMetrics = customMetrics;
|
|
231
334
|
|
|
232
|
-
effectivenessService.updateQuality(taskId,
|
|
335
|
+
effectivenessService.updateQuality(taskId, agentId, channelId, updates);
|
|
233
336
|
|
|
234
337
|
return createToolResult(true, {
|
|
235
338
|
message: 'Updated quality metrics',
|
|
236
339
|
updates
|
|
237
340
|
});
|
|
238
|
-
} catch (error) {
|
|
341
|
+
} catch (error: unknown) {
|
|
239
342
|
return createToolResult(false, {
|
|
240
|
-
error: `Failed to update quality metrics: ${error}`
|
|
343
|
+
error: `Failed to update quality metrics: ${errorMessage(error)}`
|
|
241
344
|
});
|
|
242
345
|
}
|
|
243
346
|
}
|
|
@@ -266,20 +369,39 @@ export const task_effectiveness_complete: McpToolDefinition = {
|
|
|
266
369
|
additionalProperties: { type: 'number' }
|
|
267
370
|
}
|
|
268
371
|
},
|
|
269
|
-
required: ['taskId', 'success']
|
|
372
|
+
required: ['taskId', 'success'],
|
|
373
|
+
additionalProperties: false
|
|
270
374
|
},
|
|
271
375
|
enabled: true,
|
|
272
|
-
handler: async (
|
|
376
|
+
handler: async (
|
|
377
|
+
rawInput: unknown,
|
|
378
|
+
context: McpToolHandlerContext
|
|
379
|
+
): Promise<McpToolHandlerResult> => {
|
|
273
380
|
const effectivenessService = TaskEffectivenessService.getInstance();
|
|
274
381
|
try {
|
|
275
|
-
const
|
|
382
|
+
const input = requireObjectInput<EffectivenessCompleteInput>(rawInput);
|
|
383
|
+
rejectCallerSelectedTenant(input);
|
|
384
|
+
const { taskId, success, customMetrics } = input;
|
|
385
|
+
const { agentId, channelId } = requireTenantIdentity(context);
|
|
386
|
+
const metrics = await effectivenessService.completeTask(
|
|
387
|
+
taskId,
|
|
388
|
+
agentId,
|
|
389
|
+
channelId,
|
|
390
|
+
success,
|
|
391
|
+
customMetrics
|
|
392
|
+
);
|
|
276
393
|
if (!metrics) {
|
|
277
394
|
return createToolResult(false, {
|
|
278
395
|
error: 'Task not found or already completed'
|
|
279
396
|
});
|
|
280
397
|
}
|
|
281
398
|
|
|
282
|
-
const comparison = await effectivenessService.compareWithBaseline(taskId);
|
|
399
|
+
const comparison = await effectivenessService.compareWithBaseline(taskId, agentId, channelId);
|
|
400
|
+
if (!comparison) {
|
|
401
|
+
return createToolResult(false, {
|
|
402
|
+
error: 'Task completed, but its persisted comparison could not be loaded'
|
|
403
|
+
});
|
|
404
|
+
}
|
|
283
405
|
|
|
284
406
|
return createToolResult(true, {
|
|
285
407
|
message: 'Task completed and effectiveness measured',
|
|
@@ -288,17 +410,17 @@ export const task_effectiveness_complete: McpToolDefinition = {
|
|
|
288
410
|
autonomyScore: metrics.performance.autonomyScore,
|
|
289
411
|
toolsUsed: metrics.performance.toolsUsed,
|
|
290
412
|
errorCount: metrics.quality.errorCount,
|
|
291
|
-
overallScore: comparison
|
|
413
|
+
overallScore: comparison.summary.overallScore
|
|
292
414
|
},
|
|
293
|
-
comparison:
|
|
415
|
+
comparison: {
|
|
294
416
|
speedImprovement: `${comparison.improvements.speedImprovement.toFixed(1)}%`,
|
|
295
417
|
achievements: comparison.summary.achievements,
|
|
296
418
|
recommendations: comparison.summary.recommendations
|
|
297
|
-
}
|
|
419
|
+
}
|
|
298
420
|
});
|
|
299
|
-
} catch (error) {
|
|
421
|
+
} catch (error: unknown) {
|
|
300
422
|
return createToolResult(false, {
|
|
301
|
-
error: `Failed to complete task: ${error}`
|
|
423
|
+
error: `Failed to complete task: ${errorMessage(error)}`
|
|
302
424
|
});
|
|
303
425
|
}
|
|
304
426
|
}
|
|
@@ -323,12 +445,20 @@ export const task_effectiveness_analytics: McpToolDefinition = {
|
|
|
323
445
|
description: 'Optional: Filter by specific task type'
|
|
324
446
|
}
|
|
325
447
|
},
|
|
326
|
-
required: ['timeRange']
|
|
448
|
+
required: ['timeRange'],
|
|
449
|
+
additionalProperties: false
|
|
327
450
|
},
|
|
328
451
|
enabled: true,
|
|
329
|
-
handler: async (
|
|
452
|
+
handler: async (
|
|
453
|
+
rawInput: unknown,
|
|
454
|
+
context: McpToolHandlerContext
|
|
455
|
+
): Promise<McpToolHandlerResult> => {
|
|
330
456
|
const effectivenessService = TaskEffectivenessService.getInstance();
|
|
331
457
|
try {
|
|
458
|
+
const input = requireObjectInput<EffectivenessAnalyticsInput>(rawInput);
|
|
459
|
+
rejectCallerSelectedTenant(input);
|
|
460
|
+
const { timeRange, taskType } = input;
|
|
461
|
+
const { agentId, channelId } = requireTenantIdentity(context);
|
|
332
462
|
const now = Date.now();
|
|
333
463
|
const ranges = {
|
|
334
464
|
hour: 60 * 60 * 1000,
|
|
@@ -337,18 +467,20 @@ export const task_effectiveness_analytics: McpToolDefinition = {
|
|
|
337
467
|
month: 30 * 24 * 60 * 60 * 1000
|
|
338
468
|
};
|
|
339
469
|
|
|
340
|
-
const startTime = now - ranges[timeRange
|
|
470
|
+
const startTime = now - ranges[timeRange];
|
|
341
471
|
const analytics = await effectivenessService.getAnalytics(
|
|
342
472
|
startTime,
|
|
343
|
-
now,
|
|
344
|
-
|
|
473
|
+
now,
|
|
474
|
+
agentId,
|
|
475
|
+
channelId,
|
|
345
476
|
taskType
|
|
346
477
|
);
|
|
347
478
|
|
|
348
479
|
// Filter by task type if specified
|
|
349
480
|
let relevantStats = analytics.byTaskType;
|
|
350
481
|
if (taskType) {
|
|
351
|
-
|
|
482
|
+
const taskStats = analytics.byTaskType[taskType];
|
|
483
|
+
relevantStats = taskStats ? { [taskType]: taskStats } : {};
|
|
352
484
|
}
|
|
353
485
|
|
|
354
486
|
return createToolResult(true, {
|
|
@@ -367,9 +499,9 @@ export const task_effectiveness_analytics: McpToolDefinition = {
|
|
|
367
499
|
}
|
|
368
500
|
}
|
|
369
501
|
});
|
|
370
|
-
} catch (error) {
|
|
502
|
+
} catch (error: unknown) {
|
|
371
503
|
return createToolResult(false, {
|
|
372
|
-
error: `Failed to get analytics: ${error}`
|
|
504
|
+
error: `Failed to get analytics: ${errorMessage(error)}`
|
|
373
505
|
});
|
|
374
506
|
}
|
|
375
507
|
}
|
|
@@ -389,13 +521,21 @@ export const task_effectiveness_compare: McpToolDefinition = {
|
|
|
389
521
|
description: 'Current task ID to compare'
|
|
390
522
|
}
|
|
391
523
|
},
|
|
392
|
-
required: ['taskId']
|
|
524
|
+
required: ['taskId'],
|
|
525
|
+
additionalProperties: false
|
|
393
526
|
},
|
|
394
527
|
enabled: true,
|
|
395
|
-
handler: async (
|
|
528
|
+
handler: async (
|
|
529
|
+
rawInput: unknown,
|
|
530
|
+
context: McpToolHandlerContext
|
|
531
|
+
): Promise<McpToolHandlerResult> => {
|
|
396
532
|
const effectivenessService = TaskEffectivenessService.getInstance();
|
|
397
533
|
try {
|
|
398
|
-
const
|
|
534
|
+
const input = requireObjectInput<EffectivenessCompareInput>(rawInput);
|
|
535
|
+
rejectCallerSelectedTenant(input);
|
|
536
|
+
const { taskId } = input;
|
|
537
|
+
const { agentId, channelId } = requireTenantIdentity(context);
|
|
538
|
+
const comparison = await effectivenessService.compareWithBaseline(taskId, agentId, channelId);
|
|
399
539
|
if (!comparison) {
|
|
400
540
|
return createToolResult(false, {
|
|
401
541
|
error: 'Task not found or no comparison available'
|
|
@@ -415,9 +555,9 @@ export const task_effectiveness_compare: McpToolDefinition = {
|
|
|
415
555
|
recommendations: comparison.summary.recommendations
|
|
416
556
|
}
|
|
417
557
|
});
|
|
418
|
-
} catch (error) {
|
|
558
|
+
} catch (error: unknown) {
|
|
419
559
|
return createToolResult(false, {
|
|
420
|
-
error: `Failed to compare task: ${error}`
|
|
560
|
+
error: `Failed to compare task: ${errorMessage(error)}`
|
|
421
561
|
});
|
|
422
562
|
}
|
|
423
563
|
}
|
|
@@ -431,4 +571,4 @@ export const effectivenessTools: McpToolDefinition[] = [
|
|
|
431
571
|
task_effectiveness_complete,
|
|
432
572
|
task_effectiveness_analytics,
|
|
433
573
|
task_effectiveness_compare
|
|
434
|
-
];
|
|
574
|
+
];
|
|
@@ -34,11 +34,13 @@ import { TOOL_CATEGORIES } from '../../../constants/ToolNames.js';
|
|
|
34
34
|
import { defineTool, ToolRunContext } from '../defineTool.js';
|
|
35
35
|
import { ToolError } from '../ToolError.js';
|
|
36
36
|
import { executeShellCommand, ShellCommandResult } from './InfrastructureTools.js';
|
|
37
|
+
import * as path from 'path';
|
|
38
|
+
import { resolveWorkspacePath } from '../security/McpToolPolicy.js';
|
|
37
39
|
|
|
38
40
|
/** Working-directory property shared by every git tool's schema. */
|
|
39
41
|
const workingDirectoryProperty = {
|
|
40
42
|
type: 'string',
|
|
41
|
-
description: 'Working directory
|
|
43
|
+
description: 'Working directory under MXF_WORKSPACE_ROOT (defaults to MXF_WORKSPACE_ROOT)'
|
|
42
44
|
};
|
|
43
45
|
|
|
44
46
|
/**
|
|
@@ -58,7 +60,7 @@ async function runGit(
|
|
|
58
60
|
channelId: context.channelId,
|
|
59
61
|
requestId: context.requestId
|
|
60
62
|
},
|
|
61
|
-
workingDirectory
|
|
63
|
+
workingDirectory,
|
|
62
64
|
captureOutput: true
|
|
63
65
|
});
|
|
64
66
|
|
|
@@ -164,11 +166,19 @@ export const gitAddTool = defineTool<
|
|
|
164
166
|
required: ['files']
|
|
165
167
|
},
|
|
166
168
|
run: async (input, context) => {
|
|
167
|
-
|
|
169
|
+
const workingDirectory = resolveWorkspacePath(
|
|
170
|
+
input.workingDirectory,
|
|
171
|
+
'git_add workingDirectory'
|
|
172
|
+
);
|
|
173
|
+
const files = input.files.map(file => resolveWorkspacePath(
|
|
174
|
+
path.resolve(workingDirectory, file),
|
|
175
|
+
'git_add file'
|
|
176
|
+
));
|
|
177
|
+
await runGit(['add', ...files], workingDirectory, context);
|
|
168
178
|
|
|
169
179
|
return {
|
|
170
|
-
stagedCount:
|
|
171
|
-
files
|
|
180
|
+
stagedCount: files.length,
|
|
181
|
+
files
|
|
172
182
|
};
|
|
173
183
|
}
|
|
174
184
|
});
|