@mxf-dev/core 1.0.0 → 2.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/README.md +19 -1
- package/dist/adapters/FrameworkAdapter.d.ts +1 -1
- package/dist/adapters/FrameworkAdapter.js +2 -2
- package/dist/adapters/FrameworkAdapter.js.map +1 -1
- package/dist/adapters/index.d.ts +1 -1
- package/dist/adapters/index.js +1 -1
- package/dist/config/ConfigManager.d.ts +10 -9
- package/dist/config/ConfigManager.d.ts.map +1 -1
- package/dist/config/ConfigManager.js +48 -18
- package/dist/config/ConfigManager.js.map +1 -1
- package/dist/config/McpPromptsConfig.d.ts +1 -1
- package/dist/config/McpPromptsConfig.js +1 -1
- package/dist/config/ModelContextLimits.d.ts +1 -1
- package/dist/config/ModelContextLimits.js +1 -1
- package/dist/config/PromptCompactionConfig.d.ts +1 -1
- package/dist/config/PromptCompactionConfig.js +1 -1
- package/dist/config/PromptConfig.d.ts +1 -1
- package/dist/config/PromptConfig.js +1 -1
- package/dist/config/ServerConfig.d.ts +1 -1
- package/dist/config/ServerConfig.js +1 -1
- package/dist/config/dag.config.d.ts +1 -1
- package/dist/config/dag.config.js +1 -1
- package/dist/config/knowledge-graph.config.d.ts +1 -1
- package/dist/config/knowledge-graph.config.js +1 -1
- package/dist/config/memory-strata.config.d.ts +25 -0
- package/dist/config/memory-strata.config.d.ts.map +1 -0
- package/dist/config/memory-strata.config.js +107 -0
- package/dist/config/memory-strata.config.js.map +1 -0
- package/dist/config/orpar-memory.config.d.ts +1 -1
- package/dist/config/orpar-memory.config.js +1 -1
- package/dist/config/tensorflow.config.d.ts +1 -1
- package/dist/config/tensorflow.config.js +1 -1
- package/dist/constants/CoreTools.d.ts +1 -1
- package/dist/constants/CoreTools.js +1 -1
- package/dist/constants/DefaultPhaseProfiles.d.ts +1 -1
- package/dist/constants/DefaultPhaseProfiles.js +1 -1
- package/dist/constants/ToolNames.d.ts +2 -30
- package/dist/constants/ToolNames.d.ts.map +1 -1
- package/dist/constants/ToolNames.js +5 -18
- package/dist/constants/ToolNames.js.map +1 -1
- package/dist/database/DatabaseAdapterFactory.d.ts +15 -3
- package/dist/database/DatabaseAdapterFactory.d.ts.map +1 -1
- package/dist/database/DatabaseAdapterFactory.js +22 -7
- package/dist/database/DatabaseAdapterFactory.js.map +1 -1
- package/dist/database/adapters/mongodb/MongoAgentRepository.d.ts +1 -1
- package/dist/database/adapters/mongodb/MongoAgentRepository.js +1 -1
- package/dist/database/adapters/mongodb/MongoBaseRepository.d.ts +8 -2
- package/dist/database/adapters/mongodb/MongoBaseRepository.d.ts.map +1 -1
- package/dist/database/adapters/mongodb/MongoBaseRepository.js +13 -3
- package/dist/database/adapters/mongodb/MongoBaseRepository.js.map +1 -1
- package/dist/database/adapters/mongodb/MongoChannelRepository.d.ts +1 -1
- package/dist/database/adapters/mongodb/MongoChannelRepository.js +1 -1
- package/dist/database/adapters/mongodb/MongoDagRepository.d.ts +1 -1
- package/dist/database/adapters/mongodb/MongoDagRepository.js +1 -1
- package/dist/database/adapters/mongodb/MongoKnowledgeGraphRepository.d.ts +1 -1
- package/dist/database/adapters/mongodb/MongoKnowledgeGraphRepository.js +1 -1
- package/dist/database/adapters/mongodb/MongoMemoryRepository.d.ts +1 -1
- package/dist/database/adapters/mongodb/MongoMemoryRepository.js +1 -1
- package/dist/database/adapters/mongodb/MongoTaskRepository.d.ts +1 -1
- package/dist/database/adapters/mongodb/MongoTaskRepository.js +1 -1
- package/dist/database/adapters/mongodb/index.d.ts +1 -1
- package/dist/database/adapters/mongodb/index.js +1 -1
- package/dist/database/index.d.ts +1 -1
- package/dist/database/index.js +1 -1
- package/dist/events/ClientEventBus.d.ts +17 -78
- package/dist/events/ClientEventBus.d.ts.map +1 -1
- package/dist/events/ClientEventBus.js +39 -312
- package/dist/events/ClientEventBus.js.map +1 -1
- package/dist/events/EventBus.d.ts +2 -2
- package/dist/events/EventBus.d.ts.map +1 -1
- package/dist/events/EventBus.js +6 -5
- package/dist/events/EventBus.js.map +1 -1
- package/dist/events/EventBusBase.d.ts +140 -35
- package/dist/events/EventBusBase.d.ts.map +1 -1
- package/dist/events/EventBusBase.js +367 -89
- package/dist/events/EventBusBase.js.map +1 -1
- package/dist/events/EventNames.d.ts +11 -2
- package/dist/events/EventNames.d.ts.map +1 -1
- package/dist/events/EventNames.js +4 -1
- package/dist/events/EventNames.js.map +1 -1
- package/dist/events/PublicEvents.d.ts +7 -3
- package/dist/events/PublicEvents.d.ts.map +1 -1
- package/dist/events/PublicEvents.js +8 -5
- package/dist/events/PublicEvents.js.map +1 -1
- package/dist/events/ServerEventBus.d.ts +24 -113
- package/dist/events/ServerEventBus.d.ts.map +1 -1
- package/dist/events/ServerEventBus.js +59 -324
- package/dist/events/ServerEventBus.js.map +1 -1
- package/dist/events/event-definitions/AgentEvents.d.ts +1 -1
- package/dist/events/event-definitions/AgentEvents.js +1 -1
- package/dist/events/event-definitions/AnalyticsEvents.d.ts +1 -1
- package/dist/events/event-definitions/AnalyticsEvents.js +1 -1
- package/dist/events/event-definitions/BulkEvents.d.ts +1 -1
- package/dist/events/event-definitions/BulkEvents.js +1 -1
- package/dist/events/event-definitions/ChannelEvents.d.ts +1 -1
- package/dist/events/event-definitions/ChannelEvents.js +1 -1
- package/dist/events/event-definitions/CodeExecutionEvents.d.ts +1 -1
- package/dist/events/event-definitions/CodeExecutionEvents.js +1 -1
- package/dist/events/event-definitions/CompactionEvents.d.ts +1 -1
- package/dist/events/event-definitions/CompactionEvents.js +1 -1
- package/dist/events/event-definitions/ConfigEvents.d.ts +1 -1
- package/dist/events/event-definitions/ConfigEvents.js +1 -1
- package/dist/events/event-definitions/ControlLoopEvents.d.ts +1 -1
- package/dist/events/event-definitions/ControlLoopEvents.js +1 -1
- package/dist/events/event-definitions/DagEvents.d.ts +1 -1
- package/dist/events/event-definitions/DagEvents.js +1 -1
- package/dist/events/event-definitions/HeartbeatEvents.d.ts +1 -1
- package/dist/events/event-definitions/HeartbeatEvents.js +1 -1
- package/dist/events/event-definitions/InferenceParameterEvents.d.ts +1 -1
- package/dist/events/event-definitions/InferenceParameterEvents.js +1 -1
- package/dist/events/event-definitions/KeyEvents.d.ts +1 -1
- package/dist/events/event-definitions/KeyEvents.js +1 -1
- package/dist/events/event-definitions/KnowledgeGraphEvents.d.ts +1 -1
- package/dist/events/event-definitions/KnowledgeGraphEvents.js +1 -1
- package/dist/events/event-definitions/LlmBudgetEvents.d.ts +68 -0
- package/dist/events/event-definitions/LlmBudgetEvents.d.ts.map +1 -0
- package/dist/events/event-definitions/LlmBudgetEvents.js +35 -0
- package/dist/events/event-definitions/LlmBudgetEvents.js.map +1 -0
- package/dist/events/event-definitions/LlmEvents.d.ts +1 -1
- package/dist/events/event-definitions/LlmEvents.js +1 -1
- package/dist/events/event-definitions/McpEvents.d.ts +1 -1
- package/dist/events/event-definitions/McpEvents.js +1 -1
- package/dist/events/event-definitions/MeilisearchEvents.d.ts +1 -1
- package/dist/events/event-definitions/MeilisearchEvents.js +1 -1
- package/dist/events/event-definitions/MemoryEvents.d.ts +1 -1
- package/dist/events/event-definitions/MemoryEvents.js +1 -1
- package/dist/events/event-definitions/MemoryUtilityEvents.d.ts +1 -1
- package/dist/events/event-definitions/MemoryUtilityEvents.js +1 -1
- package/dist/events/event-definitions/MessageEvents.d.ts +1 -1
- package/dist/events/event-definitions/MessageEvents.js +1 -1
- package/dist/events/event-definitions/MxpEvents.d.ts +1 -1
- package/dist/events/event-definitions/MxpEvents.js +1 -1
- package/dist/events/event-definitions/OrparEvents.d.ts +1 -1
- package/dist/events/event-definitions/OrparEvents.js +1 -1
- package/dist/events/event-definitions/OrparMemoryEvents.d.ts +1 -1
- package/dist/events/event-definitions/OrparMemoryEvents.js +1 -1
- package/dist/events/event-definitions/PlanEvents.d.ts +1 -1
- package/dist/events/event-definitions/PlanEvents.js +1 -1
- package/dist/events/event-definitions/ProgressEvents.d.ts +1 -1
- package/dist/events/event-definitions/ProgressEvents.js +1 -1
- package/dist/events/event-definitions/ShellExecutionEvents.d.ts +1 -1
- package/dist/events/event-definitions/ShellExecutionEvents.js +1 -1
- package/dist/events/event-definitions/SystemEvents.d.ts +1 -1
- package/dist/events/event-definitions/SystemEvents.js +1 -1
- package/dist/events/event-definitions/TaskEvents.d.ts +1 -1
- package/dist/events/event-definitions/TaskEvents.js +1 -1
- package/dist/events/event-definitions/TensorFlowEvents.d.ts +1 -1
- package/dist/events/event-definitions/TensorFlowEvents.js +1 -1
- package/dist/events/event-definitions/UserInputEvents.d.ts +1 -1
- package/dist/events/event-definitions/UserInputEvents.js +1 -1
- package/dist/events/event-definitions/WorkflowEvents.d.ts +1 -1
- package/dist/events/event-definitions/WorkflowEvents.js +1 -1
- package/dist/interfaces/AgentContext.d.ts +1 -1
- package/dist/interfaces/AgentContext.js +1 -1
- package/dist/interfaces/AgentInterfaces.d.ts +8 -1
- package/dist/interfaces/AgentInterfaces.d.ts.map +1 -1
- package/dist/interfaces/AgentInterfaces.js +1 -1
- package/dist/interfaces/Channel.d.ts +1 -1
- package/dist/interfaces/Channel.js +1 -1
- package/dist/interfaces/ChannelConfig.d.ts +1 -1
- package/dist/interfaces/ChannelConfig.js +1 -1
- package/dist/interfaces/ChannelConnectionConfig.d.ts +1 -1
- package/dist/interfaces/ChannelConnectionConfig.js +1 -1
- package/dist/interfaces/ChannelInfo.d.ts +1 -1
- package/dist/interfaces/ChannelInfo.js +1 -1
- package/dist/interfaces/ConversationMessage.d.ts +1 -1
- package/dist/interfaces/ConversationMessage.js +1 -1
- package/dist/interfaces/ILlmTopicExtractor.d.ts +1 -1
- package/dist/interfaces/ILlmTopicExtractor.js +1 -1
- package/dist/interfaces/IMemoryPersistence.d.ts +41 -0
- package/dist/interfaces/IMemoryPersistence.d.ts.map +1 -0
- package/dist/interfaces/IMemoryPersistence.js +15 -0
- package/dist/interfaces/IMemoryPersistence.js.map +1 -0
- package/dist/interfaces/SocketServiceInterface.d.ts +1 -1
- package/dist/interfaces/SocketServiceInterface.js +1 -1
- package/dist/interfaces/TaskInterfaces.d.ts +1 -1
- package/dist/interfaces/TaskInterfaces.js +1 -1
- package/dist/middleware/MxpMiddleware.d.ts +9 -2
- package/dist/middleware/MxpMiddleware.d.ts.map +1 -1
- package/dist/middleware/MxpMiddleware.js +43 -21
- package/dist/middleware/MxpMiddleware.js.map +1 -1
- package/dist/models/PatternLearningModels.d.ts +1 -1
- package/dist/models/PatternLearningModels.js +1 -1
- package/dist/models/agent.d.ts +1 -1
- package/dist/models/agent.js +1 -1
- package/dist/models/auditLog.d.ts +1 -1
- package/dist/models/auditLog.js +1 -1
- package/dist/models/channel.d.ts +1 -1
- package/dist/models/channel.js +1 -1
- package/dist/models/channelKey.d.ts +2 -1
- package/dist/models/channelKey.d.ts.map +1 -1
- package/dist/models/channelKey.js +6 -1
- package/dist/models/channelKey.js.map +1 -1
- package/dist/models/codeExecution.d.ts +1 -1
- package/dist/models/codeExecution.js +1 -1
- package/dist/models/controlLoop.d.ts +1 -1
- package/dist/models/controlLoop.js +1 -1
- package/dist/models/coordination.d.ts +1 -1
- package/dist/models/coordination.js +1 -1
- package/dist/models/document.d.ts +1 -1
- package/dist/models/document.js +1 -1
- package/dist/models/entity.d.ts +1 -1
- package/dist/models/entity.js +1 -1
- package/dist/models/mcpTool.d.ts +1 -1
- package/dist/models/mcpTool.js +1 -1
- package/dist/models/mcpToolExecution.d.ts +1 -1
- package/dist/models/mcpToolExecution.js +1 -1
- package/dist/models/memory.d.ts +1 -1
- package/dist/models/memory.js +1 -1
- package/dist/models/memoryStrata.d.ts +1 -1
- package/dist/models/memoryStrata.js +1 -1
- package/dist/models/memoryUtility.d.ts +39 -0
- package/dist/models/memoryUtility.d.ts.map +1 -0
- package/dist/models/memoryUtility.js +39 -0
- package/dist/models/memoryUtility.js.map +1 -0
- package/dist/models/personalAccessToken.d.ts +1 -1
- package/dist/models/personalAccessToken.js +1 -1
- package/dist/models/plan.d.ts +1 -1
- package/dist/models/plan.js +1 -1
- package/dist/models/relationship.d.ts +1 -1
- package/dist/models/relationship.js +1 -1
- package/dist/models/shellOutput.d.ts +1 -1
- package/dist/models/shellOutput.js +1 -1
- package/dist/models/task.d.ts +1 -1
- package/dist/models/task.js +1 -1
- package/dist/models/taskEffectiveness.d.ts +1 -1
- package/dist/models/taskEffectiveness.js +1 -1
- package/dist/models/tool.d.ts +1 -1
- package/dist/models/tool.js +1 -1
- package/dist/models/toolExecution.d.ts +1 -1
- package/dist/models/toolExecution.js +1 -1
- package/dist/models/toolModels.d.ts +1 -1
- package/dist/models/toolModels.js +1 -1
- package/dist/models/user.d.ts +1 -1
- package/dist/models/user.d.ts.map +1 -1
- package/dist/models/user.js +24 -2
- package/dist/models/user.js.map +1 -1
- package/dist/models/userMemory.d.ts +1 -1
- package/dist/models/userMemory.js +1 -1
- package/dist/mxp/BinaryProtocolLayer.d.ts +25 -9
- package/dist/mxp/BinaryProtocolLayer.d.ts.map +1 -1
- package/dist/mxp/BinaryProtocolLayer.js +91 -104
- package/dist/mxp/BinaryProtocolLayer.js.map +1 -1
- package/dist/mxp/ContextCompressionEngine.d.ts +58 -11
- package/dist/mxp/ContextCompressionEngine.d.ts.map +1 -1
- package/dist/mxp/ContextCompressionEngine.js +171 -129
- package/dist/mxp/ContextCompressionEngine.js.map +1 -1
- package/dist/mxp/MxpConfigManager.d.ts +1 -1
- package/dist/mxp/MxpConfigManager.js +1 -1
- package/dist/mxp/MxpTokenOptimizer.d.ts +8 -4
- package/dist/mxp/MxpTokenOptimizer.d.ts.map +1 -1
- package/dist/mxp/MxpTokenOptimizer.js +9 -6
- package/dist/mxp/MxpTokenOptimizer.js.map +1 -1
- package/dist/prompts/ChannelContextProvider.d.ts +1 -1
- package/dist/prompts/ChannelContextProvider.js +1 -1
- package/dist/prompts/DeferredToolSchemaRegistry.d.ts +1 -1
- package/dist/prompts/DeferredToolSchemaRegistry.js +1 -1
- package/dist/prompts/DynamicContextProvider.d.ts +1 -1
- package/dist/prompts/DynamicContextProvider.js +1 -1
- package/dist/prompts/MemoryPromptInjector.d.ts +1 -1
- package/dist/prompts/MemoryPromptInjector.js +1 -1
- package/dist/prompts/MxfAgentSystemPrompt.d.ts +2 -2
- package/dist/prompts/MxfAgentSystemPrompt.d.ts.map +1 -1
- package/dist/prompts/MxfAgentSystemPrompt.js +48 -58
- package/dist/prompts/MxfAgentSystemPrompt.js.map +1 -1
- package/dist/prompts/PromptSegmentRegistry.d.ts +1 -1
- package/dist/prompts/PromptSegmentRegistry.js +1 -1
- package/dist/prompts/ToolBehavioralGuidance.d.ts +1 -1
- package/dist/prompts/ToolBehavioralGuidance.js +1 -1
- package/dist/protocols/binaryProtocol.d.ts +1 -1
- package/dist/protocols/binaryProtocol.js +1 -1
- package/dist/protocols/mcp/ClientExecutableManifest.d.ts +1 -1
- package/dist/protocols/mcp/ClientExecutableManifest.js +1 -1
- package/dist/protocols/mcp/IMcpClient.d.ts +1 -1
- package/dist/protocols/mcp/IMcpClient.js +1 -1
- package/dist/protocols/mcp/LlmProviderFactory.d.ts +1 -1
- package/dist/protocols/mcp/LlmProviderFactory.js +1 -1
- package/dist/protocols/mcp/LlmProviders.d.ts +1 -1
- package/dist/protocols/mcp/LlmProviders.js +1 -1
- package/dist/protocols/mcp/McpClient.d.ts +1 -1
- package/dist/protocols/mcp/McpClient.js +1 -1
- package/dist/protocols/mcp/McpClientFactory.d.ts +1 -1
- package/dist/protocols/mcp/McpClientFactory.js +1 -1
- package/dist/protocols/mcp/McpServerTypes.d.ts +1 -1
- package/dist/protocols/mcp/McpServerTypes.js +1 -1
- package/dist/protocols/mcp/McpToolCallParser.d.ts +1 -1
- package/dist/protocols/mcp/McpToolCallParser.js +1 -1
- package/dist/protocols/mcp/McpToolSchema.d.ts +1 -1
- package/dist/protocols/mcp/McpToolSchema.js +1 -1
- package/dist/protocols/mcp/ToolError.d.ts +123 -0
- package/dist/protocols/mcp/ToolError.d.ts.map +1 -0
- package/dist/protocols/mcp/ToolError.js +108 -0
- package/dist/protocols/mcp/ToolError.js.map +1 -0
- package/dist/protocols/mcp/converters/IFormatConverter.d.ts +1 -1
- package/dist/protocols/mcp/converters/IFormatConverter.js +1 -1
- package/dist/protocols/mcp/converters/UnifiedMessageConverter.d.ts +1 -1
- package/dist/protocols/mcp/converters/UnifiedMessageConverter.js +1 -1
- package/dist/protocols/mcp/converters/adapters/AnthropicMessageAdapter.d.ts +1 -1
- package/dist/protocols/mcp/converters/adapters/AnthropicMessageAdapter.js +1 -1
- package/dist/protocols/mcp/converters/adapters/GeminiMessageAdapter.d.ts +1 -1
- package/dist/protocols/mcp/converters/adapters/GeminiMessageAdapter.js +1 -1
- package/dist/protocols/mcp/converters/adapters/OpenAiMessageAdapter.d.ts +1 -1
- package/dist/protocols/mcp/converters/adapters/OpenAiMessageAdapter.js +1 -1
- package/dist/protocols/mcp/converters/adapters/OpenRouterMessageAdapter.d.ts +1 -1
- package/dist/protocols/mcp/converters/adapters/OpenRouterMessageAdapter.js +1 -1
- package/dist/protocols/mcp/converters/adapters/XaiMessageAdapter.d.ts +1 -1
- package/dist/protocols/mcp/converters/adapters/XaiMessageAdapter.js +1 -1
- package/dist/protocols/mcp/defineTool.d.ts +133 -0
- package/dist/protocols/mcp/defineTool.d.ts.map +1 -0
- package/dist/protocols/mcp/defineTool.js +236 -0
- package/dist/protocols/mcp/defineTool.js.map +1 -0
- package/dist/protocols/mcp/providers/AnthropicMcpClient.d.ts +1 -1
- package/dist/protocols/mcp/providers/AnthropicMcpClient.js +1 -1
- package/dist/protocols/mcp/providers/AzureOpenAiMcpClient.d.ts +1 -1
- package/dist/protocols/mcp/providers/AzureOpenAiMcpClient.js +1 -1
- package/dist/protocols/mcp/providers/BaseMcpClient.d.ts +1 -1
- package/dist/protocols/mcp/providers/BaseMcpClient.js +1 -1
- package/dist/protocols/mcp/providers/CustomMcpClient.d.ts +1 -1
- package/dist/protocols/mcp/providers/CustomMcpClient.js +1 -1
- package/dist/protocols/mcp/providers/GeminiMcpClient.d.ts +1 -1
- package/dist/protocols/mcp/providers/GeminiMcpClient.js +1 -1
- package/dist/protocols/mcp/providers/OllamaMcpClient.d.ts +1 -1
- package/dist/protocols/mcp/providers/OllamaMcpClient.js +1 -1
- package/dist/protocols/mcp/providers/OpenAiMcpClient.d.ts +1 -1
- package/dist/protocols/mcp/providers/OpenAiMcpClient.js +1 -1
- package/dist/protocols/mcp/providers/OpenRouterMcpClient.d.ts +15 -1
- package/dist/protocols/mcp/providers/OpenRouterMcpClient.d.ts.map +1 -1
- package/dist/protocols/mcp/providers/OpenRouterMcpClient.js +32 -22
- package/dist/protocols/mcp/providers/OpenRouterMcpClient.js.map +1 -1
- package/dist/protocols/mcp/providers/XaiMcpClient.d.ts +1 -1
- package/dist/protocols/mcp/providers/XaiMcpClient.js +1 -1
- package/dist/protocols/mcp/security/HttpTargetGuard.d.ts +38 -0
- package/dist/protocols/mcp/security/HttpTargetGuard.d.ts.map +1 -0
- package/dist/protocols/mcp/security/HttpTargetGuard.js +227 -0
- package/dist/protocols/mcp/security/HttpTargetGuard.js.map +1 -0
- package/dist/protocols/mcp/security/McpConfirmationManager.d.ts +1 -1
- package/dist/protocols/mcp/security/McpConfirmationManager.js +1 -1
- package/dist/protocols/mcp/security/McpSecurityConfig.d.ts +1 -1
- package/dist/protocols/mcp/security/McpSecurityConfig.js +1 -1
- package/dist/protocols/mcp/security/McpSecurityGuard.d.ts +10 -2
- package/dist/protocols/mcp/security/McpSecurityGuard.d.ts.map +1 -1
- package/dist/protocols/mcp/security/McpSecurityGuard.js +11 -3
- package/dist/protocols/mcp/security/McpSecurityGuard.js.map +1 -1
- package/dist/protocols/mcp/security/McpToolPolicy.d.ts +81 -0
- package/dist/protocols/mcp/security/McpToolPolicy.d.ts.map +1 -0
- package/dist/protocols/mcp/security/McpToolPolicy.js +202 -0
- package/dist/protocols/mcp/security/McpToolPolicy.js.map +1 -0
- package/dist/protocols/mcp/security/index.d.ts +1 -1
- package/dist/protocols/mcp/security/index.js +1 -1
- package/dist/protocols/mcp/services/ExternalMcpServerManager.d.ts +52 -19
- package/dist/protocols/mcp/services/ExternalMcpServerManager.d.ts.map +1 -1
- package/dist/protocols/mcp/services/ExternalMcpServerManager.js +257 -284
- package/dist/protocols/mcp/services/ExternalMcpServerManager.js.map +1 -1
- package/dist/protocols/mcp/services/ExternalServerConfigs.d.ts +40 -7
- package/dist/protocols/mcp/services/ExternalServerConfigs.d.ts.map +1 -1
- package/dist/protocols/mcp/services/ExternalServerConfigs.js +77 -19
- package/dist/protocols/mcp/services/ExternalServerConfigs.js.map +1 -1
- package/dist/protocols/mcp/services/IToolEventEmitter.d.ts +1 -1
- package/dist/protocols/mcp/services/IToolEventEmitter.js +1 -1
- package/dist/protocols/mcp/tools/AnalyticsTools.d.ts +1 -1
- package/dist/protocols/mcp/tools/AnalyticsTools.js +2 -2
- package/dist/protocols/mcp/tools/AnalyticsTools.js.map +1 -1
- package/dist/protocols/mcp/tools/CodeAnalysisTools.d.ts +1 -1
- package/dist/protocols/mcp/tools/CodeAnalysisTools.d.ts.map +1 -1
- package/dist/protocols/mcp/tools/CodeAnalysisTools.js +16 -1
- package/dist/protocols/mcp/tools/CodeAnalysisTools.js.map +1 -1
- package/dist/protocols/mcp/tools/DateTimeTools.d.ts +1 -1
- package/dist/protocols/mcp/tools/DateTimeTools.js +1 -1
- package/dist/protocols/mcp/tools/EffectivenessTools.d.ts +1 -1
- package/dist/protocols/mcp/tools/EffectivenessTools.js +4 -4
- package/dist/protocols/mcp/tools/EffectivenessTools.js.map +1 -1
- package/dist/protocols/mcp/tools/GitTools.d.ts +10 -370
- package/dist/protocols/mcp/tools/GitTools.d.ts.map +1 -1
- package/dist/protocols/mcp/tools/GitTools.js +223 -518
- package/dist/protocols/mcp/tools/GitTools.js.map +1 -1
- package/dist/protocols/mcp/tools/InfrastructureTools.d.ts +57 -25
- package/dist/protocols/mcp/tools/InfrastructureTools.d.ts.map +1 -1
- package/dist/protocols/mcp/tools/InfrastructureTools.js +118 -27
- package/dist/protocols/mcp/tools/InfrastructureTools.js.map +1 -1
- package/dist/protocols/mcp/tools/JsonTools.d.ts +1 -1
- package/dist/protocols/mcp/tools/JsonTools.js +1 -1
- package/dist/protocols/mcp/tools/KnowledgeGraphTools.d.ts +1 -1
- package/dist/protocols/mcp/tools/KnowledgeGraphTools.js +1 -1
- package/dist/protocols/mcp/tools/MemorySearchTools.d.ts +1 -4
- package/dist/protocols/mcp/tools/MemorySearchTools.d.ts.map +1 -1
- package/dist/protocols/mcp/tools/MemorySearchTools.js +59 -2
- package/dist/protocols/mcp/tools/MemorySearchTools.js.map +1 -1
- package/dist/protocols/mcp/tools/MemoryUtilityTools.d.ts +1 -1
- package/dist/protocols/mcp/tools/MemoryUtilityTools.js +1 -1
- package/dist/protocols/mcp/tools/OrparTools.d.ts +9 -1
- package/dist/protocols/mcp/tools/OrparTools.d.ts.map +1 -1
- package/dist/protocols/mcp/tools/OrparTools.js +67 -1
- package/dist/protocols/mcp/tools/OrparTools.js.map +1 -1
- package/dist/protocols/mcp/tools/PlanningTools.d.ts +1 -1
- package/dist/protocols/mcp/tools/PlanningTools.js +1 -1
- package/dist/protocols/mcp/tools/PredictiveTools.d.ts +1 -1
- package/dist/protocols/mcp/tools/PredictiveTools.js +1 -1
- package/dist/protocols/mcp/tools/ProgressTools.d.ts +1 -1
- package/dist/protocols/mcp/tools/ProgressTools.js +1 -1
- package/dist/protocols/mcp/tools/ProjectContextTools.d.ts +1 -1
- package/dist/protocols/mcp/tools/ProjectContextTools.js +1 -1
- package/dist/protocols/mcp/tools/SafetyTools.d.ts +8 -526
- package/dist/protocols/mcp/tools/SafetyTools.d.ts.map +1 -1
- package/dist/protocols/mcp/tools/SafetyTools.js +350 -515
- package/dist/protocols/mcp/tools/SafetyTools.js.map +1 -1
- package/dist/protocols/mcp/tools/SearchProjectTools.d.ts +1 -1
- package/dist/protocols/mcp/tools/SearchProjectTools.js +1 -1
- package/dist/protocols/mcp/tools/TaskPlanningTools.d.ts +1 -1
- package/dist/protocols/mcp/tools/TaskPlanningTools.d.ts.map +1 -1
- package/dist/protocols/mcp/tools/TaskPlanningTools.js +57 -27
- package/dist/protocols/mcp/tools/TaskPlanningTools.js.map +1 -1
- package/dist/protocols/mcp/tools/TestTools.d.ts +16 -377
- package/dist/protocols/mcp/tools/TestTools.d.ts.map +1 -1
- package/dist/protocols/mcp/tools/TestTools.js +242 -364
- package/dist/protocols/mcp/tools/TestTools.js.map +1 -1
- package/dist/protocols/mcp/tools/ToolHelpTools.d.ts +1 -1
- package/dist/protocols/mcp/tools/ToolHelpTools.js +1 -1
- package/dist/protocols/mcp/tools/TypeScriptTools.d.ts +7 -277
- package/dist/protocols/mcp/tools/TypeScriptTools.d.ts.map +1 -1
- package/dist/protocols/mcp/tools/TypeScriptTools.js +224 -338
- package/dist/protocols/mcp/tools/TypeScriptTools.js.map +1 -1
- package/dist/protocols/mcp/tools/UserInputTools.d.ts +1 -1
- package/dist/protocols/mcp/tools/UserInputTools.js +1 -1
- package/dist/protocols/mcp/tools/UserMemoryTools.d.ts +1 -1
- package/dist/protocols/mcp/tools/UserMemoryTools.js +1 -1
- package/dist/protocols/mcp/tools/WebTools.d.ts +16 -729
- package/dist/protocols/mcp/tools/WebTools.d.ts.map +1 -1
- package/dist/protocols/mcp/tools/WebTools.js +152 -258
- package/dist/protocols/mcp/tools/WebTools.js.map +1 -1
- package/dist/protocols/mcp/tools/WolframTools.d.ts +1 -1
- package/dist/protocols/mcp/tools/WolframTools.js +1 -1
- package/dist/protocols/mcp/tools/shell/CommandClassification.d.ts +1 -1
- package/dist/protocols/mcp/tools/shell/CommandClassification.js +1 -1
- package/dist/protocols/mcp/tools/shell/CommandSemantics.d.ts +1 -1
- package/dist/protocols/mcp/tools/shell/CommandSemantics.js +1 -1
- package/dist/protocols/mcp/tools/shell/DestructiveCommandWarnings.d.ts +1 -1
- package/dist/protocols/mcp/tools/shell/DestructiveCommandWarnings.js +1 -1
- package/dist/protocols/mcp/tools/shell/LargeOutputHandler.d.ts +1 -1
- package/dist/protocols/mcp/tools/shell/LargeOutputHandler.js +1 -1
- package/dist/protocols/mcp/tools/shell/ShellExecuteHandler.d.ts +6 -4
- package/dist/protocols/mcp/tools/shell/ShellExecuteHandler.d.ts.map +1 -1
- package/dist/protocols/mcp/tools/shell/ShellExecuteHandler.js +32 -7
- package/dist/protocols/mcp/tools/shell/ShellExecuteHandler.js.map +1 -1
- package/dist/protocols/mcp/tools/shell/ShellSandbox.d.ts +1 -1
- package/dist/protocols/mcp/tools/shell/ShellSandbox.js +1 -1
- package/dist/protocols/mcp/tools/shell/index.d.ts +1 -1
- package/dist/protocols/mcp/tools/shell/index.js +1 -1
- package/dist/protocols/mcp/utils/JsonRecovery.d.ts +1 -1
- package/dist/protocols/mcp/utils/JsonRecovery.js +1 -1
- package/dist/protocols/mcp/utils/MessageConverters.d.ts +1 -1
- package/dist/protocols/mcp/utils/MessageConverters.js +1 -1
- package/dist/protocols/mcp/utils/NetworkRecovery.d.ts +1 -1
- package/dist/protocols/mcp/utils/NetworkRecovery.js +1 -1
- package/dist/protocols/mcp/utils/ToolHandlers.d.ts +1 -1
- package/dist/protocols/mcp/utils/ToolHandlers.js +1 -1
- package/dist/repositories/interfaces/IAgentRepository.d.ts +1 -1
- package/dist/repositories/interfaces/IAgentRepository.js +1 -1
- package/dist/repositories/interfaces/IBaseRepository.d.ts +1 -1
- package/dist/repositories/interfaces/IBaseRepository.js +1 -1
- package/dist/repositories/interfaces/IChannelRepository.d.ts +1 -1
- package/dist/repositories/interfaces/IChannelRepository.js +1 -1
- package/dist/repositories/interfaces/IDagRepository.d.ts +1 -1
- package/dist/repositories/interfaces/IDagRepository.js +1 -1
- package/dist/repositories/interfaces/IKnowledgeGraphRepository.d.ts +1 -1
- package/dist/repositories/interfaces/IKnowledgeGraphRepository.js +1 -1
- package/dist/repositories/interfaces/IMemoryRepository.d.ts +1 -1
- package/dist/repositories/interfaces/IMemoryRepository.js +1 -1
- package/dist/repositories/interfaces/ITaskRepository.d.ts +1 -1
- package/dist/repositories/interfaces/ITaskRepository.js +1 -1
- package/dist/repositories/interfaces/index.d.ts +1 -1
- package/dist/repositories/interfaces/index.js +1 -1
- package/dist/repositories/types/FilterTypes.d.ts +1 -1
- package/dist/repositories/types/FilterTypes.js +1 -1
- package/dist/repositories/types/PaginationTypes.d.ts +1 -1
- package/dist/repositories/types/PaginationTypes.js +1 -1
- package/dist/schemas/CodeExecutionEventPayloads.d.ts +1 -1
- package/dist/schemas/CodeExecutionEventPayloads.js +1 -1
- package/dist/schemas/EventPayloadSchema.d.ts +22 -1
- package/dist/schemas/EventPayloadSchema.d.ts.map +1 -1
- package/dist/schemas/EventPayloadSchema.js +15 -1
- package/dist/schemas/EventPayloadSchema.js.map +1 -1
- package/dist/schemas/JsonResponseSchemas.d.ts +1 -1
- package/dist/schemas/JsonResponseSchemas.js +1 -1
- package/dist/schemas/MessageSchemas.d.ts +1 -1
- package/dist/schemas/MessageSchemas.js +1 -1
- package/dist/schemas/MxpProtocolSchemas.d.ts +1 -1
- package/dist/schemas/MxpProtocolSchemas.js +1 -1
- package/dist/schemas/ShellExecutionEventPayloads.d.ts +1 -1
- package/dist/schemas/ShellExecutionEventPayloads.js +1 -1
- package/dist/services/AgentPerformanceService.d.ts +1 -1
- package/dist/services/AgentPerformanceService.js +1 -1
- package/dist/services/AutoCorrectionIntegrationService.d.ts +1 -1
- package/dist/services/AutoCorrectionIntegrationService.js +1 -1
- package/dist/services/AutoCorrectionService.d.ts +1 -1
- package/dist/services/AutoCorrectionService.js +1 -1
- package/dist/services/AutoMemoryCreator.d.ts +1 -1
- package/dist/services/AutoMemoryCreator.js +1 -1
- package/dist/services/BackgroundTaskManager.d.ts +1 -1
- package/dist/services/BackgroundTaskManager.d.ts.map +1 -1
- package/dist/services/BackgroundTaskManager.js +13 -5
- package/dist/services/BackgroundTaskManager.js.map +1 -1
- package/dist/services/BrowserManager.d.ts +2 -2
- package/dist/services/BrowserManager.d.ts.map +1 -1
- package/dist/services/BrowserManager.js +27 -4
- package/dist/services/BrowserManager.js.map +1 -1
- package/dist/services/ChannelContextMemoryOperations.d.ts +1 -1
- package/dist/services/ChannelContextMemoryOperations.js +1 -1
- package/dist/services/ChannelContextMessageOperations.d.ts +1 -1
- package/dist/services/ChannelContextMessageOperations.js +1 -1
- package/dist/services/CodeExecutionSandboxService.d.ts +1 -1
- package/dist/services/CodeExecutionSandboxService.js +1 -1
- package/dist/services/ContainerExecutionManager.d.ts +1 -1
- package/dist/services/ContainerExecutionManager.js +1 -1
- package/dist/services/ContentProcessor.d.ts +1 -1
- package/dist/services/ContentProcessor.js +1 -1
- package/dist/services/McpToolDocumentationService.d.ts +1 -1
- package/dist/services/McpToolDocumentationService.js +1 -1
- package/dist/services/MemoryCompressor.d.ts +12 -3
- package/dist/services/MemoryCompressor.d.ts.map +1 -1
- package/dist/services/MemoryCompressor.js +9 -27
- package/dist/services/MemoryCompressor.js.map +1 -1
- package/dist/services/MemoryService.d.ts +17 -4
- package/dist/services/MemoryService.d.ts.map +1 -1
- package/dist/services/MemoryService.js +80 -56
- package/dist/services/MemoryService.js.map +1 -1
- package/dist/services/MxfMLService.d.ts +16 -1
- package/dist/services/MxfMLService.d.ts.map +1 -1
- package/dist/services/MxfMLService.js +55 -16
- package/dist/services/MxfMLService.js.map +1 -1
- package/dist/services/MxfMeilisearchService.d.ts +1 -1
- package/dist/services/MxfMeilisearchService.js +1 -1
- package/dist/services/MxfMessageAggregator.d.ts +1 -1
- package/dist/services/MxfMessageAggregator.js +1 -1
- package/dist/services/PatternLearningService.d.ts +1 -1
- package/dist/services/PatternLearningService.js +1 -1
- package/dist/services/PerformanceOptimizationService.d.ts +1 -1
- package/dist/services/PerformanceOptimizationService.js +1 -1
- package/dist/services/PredictiveAnalyticsService.d.ts +35 -5
- package/dist/services/PredictiveAnalyticsService.d.ts.map +1 -1
- package/dist/services/PredictiveAnalyticsService.js +42 -26
- package/dist/services/PredictiveAnalyticsService.js.map +1 -1
- package/dist/services/ProactiveValidationService.d.ts +1 -1
- package/dist/services/ProactiveValidationService.js +1 -1
- package/dist/services/PromptArgumentInferenceService.d.ts +1 -1
- package/dist/services/PromptArgumentInferenceService.js +1 -1
- package/dist/services/QValueManager.d.ts +8 -1
- package/dist/services/QValueManager.d.ts.map +1 -1
- package/dist/services/QValueManager.js +10 -1
- package/dist/services/QValueManager.js.map +1 -1
- package/dist/services/ReasoningToolParser.d.ts +1 -1
- package/dist/services/ReasoningToolParser.js +1 -1
- package/dist/services/RecoveryWorkflowService.d.ts +1 -1
- package/dist/services/RecoveryWorkflowService.js +1 -1
- package/dist/services/ReflectionService.d.ts +1 -1
- package/dist/services/ReflectionService.js +1 -1
- package/dist/services/RetentionGateService.d.ts +1 -1
- package/dist/services/RetentionGateService.js +1 -1
- package/dist/services/RewardSignalProcessor.d.ts +39 -2
- package/dist/services/RewardSignalProcessor.d.ts.map +1 -1
- package/dist/services/RewardSignalProcessor.js +110 -8
- package/dist/services/RewardSignalProcessor.js.map +1 -1
- package/dist/services/SharedStateService.d.ts +17 -3
- package/dist/services/SharedStateService.d.ts.map +1 -1
- package/dist/services/SharedStateService.js +45 -4
- package/dist/services/SharedStateService.js.map +1 -1
- package/dist/services/StratumManager.d.ts +1 -1
- package/dist/services/StratumManager.js +1 -1
- package/dist/services/StructuredSummaryBuilder.d.ts +1 -1
- package/dist/services/StructuredSummaryBuilder.js +1 -1
- package/dist/services/SurpriseCalculator.d.ts +1 -1
- package/dist/services/SurpriseCalculator.js +1 -1
- package/dist/services/SystemLlmMemoryAnalyzer.d.ts +1 -1
- package/dist/services/SystemLlmMemoryAnalyzer.js +1 -1
- package/dist/services/TaskEffectivenessService.d.ts +35 -19
- package/dist/services/TaskEffectivenessService.d.ts.map +1 -1
- package/dist/services/TaskEffectivenessService.js +92 -156
- package/dist/services/TaskEffectivenessService.js.map +1 -1
- package/dist/services/ToolExecutionInterceptor.d.ts +1 -1
- package/dist/services/ToolExecutionInterceptor.js +1 -1
- package/dist/services/UserInputRequestManager.d.ts +1 -1
- package/dist/services/UserInputRequestManager.js +1 -1
- package/dist/services/UserMemoryService.d.ts +1 -1
- package/dist/services/UserMemoryService.js +1 -1
- package/dist/services/UtilityScorerService.d.ts +1 -1
- package/dist/services/UtilityScorerService.js +1 -1
- package/dist/services/ValidationAnalyticsService.d.ts +1 -1
- package/dist/services/ValidationAnalyticsService.js +1 -1
- package/dist/services/ValidationCacheService.d.ts +1 -1
- package/dist/services/ValidationCacheService.js +1 -1
- package/dist/services/ValidationMiddleware.d.ts +1 -1
- package/dist/services/ValidationMiddleware.js +1 -1
- package/dist/services/ValidationPerformanceService.d.ts +1 -1
- package/dist/services/ValidationPerformanceService.js +1 -1
- package/dist/services/WebSearchService.d.ts +1 -1
- package/dist/services/WebSearchService.d.ts.map +1 -1
- package/dist/services/WebSearchService.js +1 -1
- package/dist/services/WebSearchService.js.map +1 -1
- package/dist/services/dag/TaskDagService.d.ts +1 -1
- package/dist/services/dag/TaskDagService.d.ts.map +1 -1
- package/dist/services/dag/TaskDagService.js +3 -1
- package/dist/services/dag/TaskDagService.js.map +1 -1
- package/dist/services/dag/algorithms/TopologicalSort.d.ts +1 -1
- package/dist/services/dag/algorithms/TopologicalSort.js +1 -1
- package/dist/services/kg/EntityExtractionService.d.ts +1 -1
- package/dist/services/kg/EntityExtractionService.js +1 -1
- package/dist/services/kg/EntityQValueManager.d.ts +1 -1
- package/dist/services/kg/EntityQValueManager.js +1 -1
- package/dist/services/kg/GraphSurpriseCalculator.d.ts +1 -1
- package/dist/services/kg/GraphSurpriseCalculator.js +1 -1
- package/dist/services/kg/KnowledgeGraphService.d.ts +1 -1
- package/dist/services/kg/KnowledgeGraphService.js +1 -1
- package/dist/services/kg/OrparGraphIntegration.d.ts +1 -1
- package/dist/services/kg/OrparGraphIntegration.js +1 -1
- package/dist/services/orpar-memory/CycleConsolidationTrigger.d.ts +1 -1
- package/dist/services/orpar-memory/CycleConsolidationTrigger.js +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 +72 -11
- package/dist/services/orpar-memory/OrparMemoryCoordinator.js.map +1 -1
- package/dist/services/orpar-memory/PhaseMemoryOperations.d.ts +1 -1
- package/dist/services/orpar-memory/PhaseMemoryOperations.js +1 -1
- package/dist/services/orpar-memory/PhaseStrataRouter.d.ts +1 -1
- package/dist/services/orpar-memory/PhaseStrataRouter.js +1 -1
- package/dist/services/orpar-memory/PhaseWeightedRewarder.d.ts +1 -1
- package/dist/services/orpar-memory/PhaseWeightedRewarder.js +1 -1
- package/dist/services/orpar-memory/SurpriseOrparAdapter.d.ts +1 -1
- package/dist/services/orpar-memory/SurpriseOrparAdapter.js +1 -1
- package/dist/services/orpar-memory/index.d.ts +1 -1
- package/dist/services/orpar-memory/index.js +1 -1
- package/dist/types/Agent.d.ts +1 -1
- package/dist/types/Agent.js +1 -1
- package/dist/types/AgentPerformanceTypes.d.ts +1 -1
- package/dist/types/AgentPerformanceTypes.js +1 -1
- package/dist/types/AgentRegistry.d.ts +1 -1
- package/dist/types/AgentRegistry.js +1 -1
- package/dist/types/AgentTypes.d.ts +1 -1
- package/dist/types/AgentTypes.js +1 -1
- package/dist/types/ChannelContext.d.ts +1 -1
- package/dist/types/ChannelContext.js +1 -1
- package/dist/types/ControlLoopTypes.d.ts +1 -1
- package/dist/types/ControlLoopTypes.js +1 -1
- package/dist/types/DagTypes.d.ts +1 -1
- package/dist/types/DagTypes.js +1 -1
- package/dist/types/EffectivenessTypes.d.ts +1 -1
- package/dist/types/EffectivenessTypes.js +1 -1
- package/dist/types/InferenceParameterTypes.d.ts +1 -1
- package/dist/types/InferenceParameterTypes.js +1 -1
- package/dist/types/KnowledgeGraphTypes.d.ts +1 -1
- package/dist/types/KnowledgeGraphTypes.js +1 -1
- package/dist/types/LlmTypes.d.ts +1 -1
- package/dist/types/LlmTypes.js +1 -1
- package/dist/types/McpPromptTypes.d.ts +1 -1
- package/dist/types/McpPromptTypes.js +1 -1
- package/dist/types/MemoryTypes.d.ts +1 -1
- package/dist/types/MemoryTypes.js +1 -1
- package/dist/types/MemoryUtilityTypes.d.ts +3 -1
- package/dist/types/MemoryUtilityTypes.d.ts.map +1 -1
- package/dist/types/MemoryUtilityTypes.js +1 -1
- package/dist/types/MemoryUtilityTypes.js.map +1 -1
- package/dist/types/MxpTypes.d.ts +1 -1
- package/dist/types/MxpTypes.js +1 -1
- package/dist/types/NetworkRecoveryTypes.d.ts +1 -1
- package/dist/types/NetworkRecoveryTypes.js +1 -1
- package/dist/types/OrparMemoryIntegrationTypes.d.ts +1 -1
- package/dist/types/OrparMemoryIntegrationTypes.js +1 -1
- package/dist/types/PatternLearningTypes.d.ts +1 -1
- package/dist/types/PatternLearningTypes.js +1 -1
- package/dist/types/PatternMemoryTypes.d.ts +1 -1
- package/dist/types/PatternMemoryTypes.js +1 -1
- package/dist/types/ReflectionTypes.d.ts +1 -1
- package/dist/types/ReflectionTypes.js +1 -1
- package/dist/types/TaskCompletionTypes.d.ts +1 -1
- package/dist/types/TaskCompletionTypes.js +1 -1
- package/dist/types/TaskTypes.d.ts +1 -1
- package/dist/types/TaskTypes.js +1 -1
- package/dist/types/TensorFlowTypes.d.ts +1 -1
- package/dist/types/TensorFlowTypes.js +1 -1
- package/dist/types/ValidationPerformanceTypes.d.ts +1 -1
- package/dist/types/ValidationPerformanceTypes.js +1 -1
- package/dist/types/toolTypes.d.ts +1 -1
- package/dist/types/toolTypes.js +1 -1
- package/dist/types/types.d.ts +1 -1
- package/dist/types/types.js +1 -1
- package/dist/utils/Logger.d.ts +44 -4
- package/dist/utils/Logger.d.ts.map +1 -1
- package/dist/utils/Logger.js +79 -37
- package/dist/utils/Logger.js.map +1 -1
- package/dist/utils/MxpEncryption.d.ts +20 -7
- package/dist/utils/MxpEncryption.d.ts.map +1 -1
- package/dist/utils/MxpEncryption.js +49 -17
- package/dist/utils/MxpEncryption.js.map +1 -1
- package/dist/utils/ParameterNormalizer.d.ts +1 -1
- package/dist/utils/ParameterNormalizer.js +1 -1
- package/dist/utils/PromptTemplateReplacer.d.ts +1 -1
- package/dist/utils/PromptTemplateReplacer.js +1 -1
- package/dist/utils/TokenEstimator.d.ts +1 -1
- package/dist/utils/TokenEstimator.js +1 -1
- package/dist/utils/ToolPaginationUtils.d.ts +1 -1
- package/dist/utils/ToolPaginationUtils.js +1 -1
- package/dist/utils/toon/eligibility.d.ts +1 -1
- package/dist/utils/toon/eligibility.js +1 -1
- package/dist/utils/toon/encoder.d.ts +1 -1
- package/dist/utils/toon/encoder.js +1 -1
- package/dist/utils/toon/formatter.d.ts +1 -1
- package/dist/utils/toon/formatter.js +1 -1
- package/dist/utils/toon/index.d.ts +1 -1
- package/dist/utils/toon/index.js +1 -1
- package/dist/utils/toon/metrics.d.ts +1 -1
- package/dist/utils/toon/metrics.js +1 -1
- package/dist/utils/toon/types.d.ts +1 -1
- package/dist/utils/toon/types.js +1 -1
- package/dist/utils/validation.d.ts +1 -1
- package/dist/utils/validation.js +1 -1
- package/package.json +20 -5
- package/src/adapters/FrameworkAdapter.ts +2 -2
- package/src/adapters/index.ts +1 -1
- package/src/config/ConfigManager.ts +53 -20
- package/src/config/McpPromptsConfig.ts +1 -1
- package/src/config/ModelContextLimits.ts +1 -1
- package/src/config/PromptCompactionConfig.ts +1 -1
- package/src/config/PromptConfig.ts +1 -1
- package/src/config/ServerConfig.ts +1 -1
- package/src/config/dag.config.ts +1 -1
- package/src/config/knowledge-graph.config.ts +1 -1
- package/src/config/memory-strata.config.ts +136 -0
- package/src/config/orpar-memory.config.ts +1 -1
- package/src/config/tensorflow.config.ts +1 -1
- package/src/constants/CoreTools.ts +1 -1
- package/src/constants/DefaultPhaseProfiles.ts +1 -1
- package/src/constants/ToolNames.ts +5 -19
- package/src/database/DatabaseAdapterFactory.ts +24 -7
- package/src/database/adapters/mongodb/MongoAgentRepository.ts +1 -1
- package/src/database/adapters/mongodb/MongoBaseRepository.ts +17 -3
- package/src/database/adapters/mongodb/MongoChannelRepository.ts +1 -1
- package/src/database/adapters/mongodb/MongoDagRepository.ts +1 -1
- package/src/database/adapters/mongodb/MongoKnowledgeGraphRepository.ts +1 -1
- package/src/database/adapters/mongodb/MongoMemoryRepository.ts +1 -1
- package/src/database/adapters/mongodb/MongoTaskRepository.ts +1 -1
- package/src/database/adapters/mongodb/index.ts +1 -1
- package/src/database/index.ts +1 -1
- package/src/events/ClientEventBus.ts +69 -404
- package/src/events/EventBus.ts +8 -9
- package/src/events/EventBusBase.ts +480 -117
- package/src/events/EventNames.ts +7 -1
- package/src/events/PublicEvents.ts +8 -5
- package/src/events/ServerEventBus.ts +79 -474
- package/src/events/event-definitions/AgentEvents.ts +1 -1
- package/src/events/event-definitions/AnalyticsEvents.ts +1 -1
- package/src/events/event-definitions/BulkEvents.ts +1 -1
- package/src/events/event-definitions/ChannelEvents.ts +1 -1
- package/src/events/event-definitions/CodeExecutionEvents.ts +1 -1
- package/src/events/event-definitions/CompactionEvents.ts +1 -1
- package/src/events/event-definitions/ConfigEvents.ts +1 -1
- package/src/events/event-definitions/ControlLoopEvents.ts +1 -1
- package/src/events/event-definitions/DagEvents.ts +1 -1
- package/src/events/event-definitions/HeartbeatEvents.ts +1 -1
- package/src/events/event-definitions/InferenceParameterEvents.ts +1 -1
- package/src/events/event-definitions/KeyEvents.ts +1 -1
- package/src/events/event-definitions/KnowledgeGraphEvents.ts +1 -1
- package/src/events/event-definitions/LlmBudgetEvents.ts +74 -0
- package/src/events/event-definitions/LlmEvents.ts +1 -1
- package/src/events/event-definitions/McpEvents.ts +1 -1
- package/src/events/event-definitions/MeilisearchEvents.ts +1 -1
- package/src/events/event-definitions/MemoryEvents.ts +1 -1
- package/src/events/event-definitions/MemoryUtilityEvents.ts +1 -1
- package/src/events/event-definitions/MessageEvents.ts +1 -1
- package/src/events/event-definitions/MxpEvents.ts +1 -1
- package/src/events/event-definitions/OrparEvents.ts +1 -1
- package/src/events/event-definitions/OrparMemoryEvents.ts +1 -1
- package/src/events/event-definitions/PlanEvents.ts +1 -1
- package/src/events/event-definitions/ProgressEvents.ts +1 -1
- package/src/events/event-definitions/ShellExecutionEvents.ts +1 -1
- package/src/events/event-definitions/SystemEvents.ts +1 -1
- package/src/events/event-definitions/TaskEvents.ts +1 -1
- package/src/events/event-definitions/TensorFlowEvents.ts +1 -1
- package/src/events/event-definitions/UserInputEvents.ts +1 -1
- package/src/events/event-definitions/WorkflowEvents.ts +1 -1
- package/src/interfaces/AgentContext.ts +1 -1
- package/src/interfaces/AgentInterfaces.ts +9 -2
- package/src/interfaces/Channel.ts +1 -1
- package/src/interfaces/ChannelConfig.ts +1 -1
- package/src/interfaces/ChannelConnectionConfig.ts +1 -1
- package/src/interfaces/ChannelInfo.ts +1 -1
- package/src/interfaces/ConversationMessage.ts +1 -1
- package/src/interfaces/ILlmTopicExtractor.ts +1 -1
- package/src/interfaces/IMemoryPersistence.ts +51 -0
- package/src/interfaces/SocketServiceInterface.ts +1 -1
- package/src/interfaces/TaskInterfaces.ts +1 -1
- package/src/middleware/MxpMiddleware.ts +52 -25
- package/src/models/PatternLearningModels.ts +1 -1
- package/src/models/agent.ts +1 -1
- package/src/models/auditLog.ts +1 -1
- package/src/models/channel.ts +1 -1
- package/src/models/channelKey.ts +19 -5
- package/src/models/codeExecution.ts +1 -1
- package/src/models/controlLoop.ts +1 -1
- package/src/models/coordination.ts +1 -1
- package/src/models/document.ts +1 -1
- package/src/models/entity.ts +1 -1
- package/src/models/mcpTool.ts +1 -1
- package/src/models/mcpToolExecution.ts +1 -1
- package/src/models/memory.ts +1 -1
- package/src/models/memoryStrata.ts +1 -1
- package/src/models/memoryUtility.ts +64 -0
- package/src/models/personalAccessToken.ts +1 -1
- package/src/models/plan.ts +1 -1
- package/src/models/relationship.ts +1 -1
- package/src/models/shellOutput.ts +1 -1
- package/src/models/task.ts +1 -1
- package/src/models/taskEffectiveness.ts +1 -1
- package/src/models/tool.ts +1 -1
- package/src/models/toolExecution.ts +1 -1
- package/src/models/toolModels.ts +1 -1
- package/src/models/user.ts +37 -5
- package/src/models/userMemory.ts +1 -1
- package/src/mxp/BinaryProtocolLayer.ts +109 -125
- package/src/mxp/ContextCompressionEngine.ts +220 -162
- package/src/mxp/MxpConfigManager.ts +1 -1
- package/src/mxp/MxpTokenOptimizer.ts +11 -11
- package/src/prompts/ChannelContextProvider.ts +1 -1
- package/src/prompts/DeferredToolSchemaRegistry.ts +1 -1
- package/src/prompts/DynamicContextProvider.ts +1 -1
- package/src/prompts/MemoryPromptInjector.ts +1 -1
- package/src/prompts/MxfAgentSystemPrompt.ts +46 -56
- package/src/prompts/PromptSegmentRegistry.ts +1 -1
- package/src/prompts/ToolBehavioralGuidance.ts +1 -1
- package/src/protocols/binaryProtocol.ts +1 -1
- package/src/protocols/mcp/ClientExecutableManifest.ts +1 -1
- package/src/protocols/mcp/IMcpClient.ts +1 -1
- package/src/protocols/mcp/LlmProviderFactory.ts +1 -1
- package/src/protocols/mcp/LlmProviders.ts +1 -1
- package/src/protocols/mcp/McpClient.ts +1 -1
- package/src/protocols/mcp/McpClientFactory.ts +1 -1
- package/src/protocols/mcp/McpServerTypes.ts +1 -1
- package/src/protocols/mcp/McpToolCallParser.ts +1 -1
- package/src/protocols/mcp/McpToolSchema.ts +1 -1
- package/src/protocols/mcp/ToolError.ts +201 -0
- package/src/protocols/mcp/converters/IFormatConverter.ts +1 -1
- package/src/protocols/mcp/converters/UnifiedMessageConverter.ts +1 -1
- package/src/protocols/mcp/converters/adapters/AnthropicMessageAdapter.ts +1 -1
- package/src/protocols/mcp/converters/adapters/GeminiMessageAdapter.ts +1 -1
- package/src/protocols/mcp/converters/adapters/OpenAiMessageAdapter.ts +1 -1
- package/src/protocols/mcp/converters/adapters/OpenRouterMessageAdapter.ts +1 -1
- package/src/protocols/mcp/converters/adapters/XaiMessageAdapter.ts +1 -1
- package/src/protocols/mcp/defineTool.ts +379 -0
- package/src/protocols/mcp/providers/AnthropicMcpClient.ts +1 -1
- package/src/protocols/mcp/providers/AzureOpenAiMcpClient.ts +1 -1
- package/src/protocols/mcp/providers/BaseMcpClient.ts +1 -1
- package/src/protocols/mcp/providers/CustomMcpClient.ts +1 -1
- package/src/protocols/mcp/providers/GeminiMcpClient.ts +1 -1
- package/src/protocols/mcp/providers/OllamaMcpClient.ts +1 -1
- package/src/protocols/mcp/providers/OpenAiMcpClient.ts +1 -1
- package/src/protocols/mcp/providers/OpenRouterMcpClient.ts +33 -24
- package/src/protocols/mcp/providers/XaiMcpClient.ts +1 -1
- package/src/protocols/mcp/security/HttpTargetGuard.ts +267 -0
- package/src/protocols/mcp/security/McpConfirmationManager.ts +1 -1
- package/src/protocols/mcp/security/McpSecurityConfig.ts +1 -1
- package/src/protocols/mcp/security/McpSecurityGuard.ts +11 -4
- package/src/protocols/mcp/security/McpToolPolicy.ts +221 -0
- package/src/protocols/mcp/security/index.ts +1 -1
- package/src/protocols/mcp/services/ExternalMcpServerManager.ts +341 -323
- package/src/protocols/mcp/services/ExternalServerConfigs.ts +83 -20
- package/src/protocols/mcp/services/IToolEventEmitter.ts +1 -1
- package/src/protocols/mcp/tools/AnalyticsTools.ts +2 -2
- package/src/protocols/mcp/tools/CodeAnalysisTools.ts +16 -1
- package/src/protocols/mcp/tools/DateTimeTools.ts +1 -1
- package/src/protocols/mcp/tools/EffectivenessTools.ts +4 -4
- package/src/protocols/mcp/tools/GitTools.ts +291 -570
- package/src/protocols/mcp/tools/InfrastructureTools.ts +190 -44
- package/src/protocols/mcp/tools/JsonTools.ts +1 -1
- package/src/protocols/mcp/tools/KnowledgeGraphTools.ts +1 -1
- package/src/protocols/mcp/tools/MemorySearchTools.ts +78 -2
- package/src/protocols/mcp/tools/MemoryUtilityTools.ts +1 -1
- package/src/protocols/mcp/tools/OrparTools.ts +88 -1
- package/src/protocols/mcp/tools/PlanningTools.ts +1 -1
- package/src/protocols/mcp/tools/PredictiveTools.ts +1 -1
- package/src/protocols/mcp/tools/ProgressTools.ts +1 -1
- package/src/protocols/mcp/tools/ProjectContextTools.ts +1 -1
- package/src/protocols/mcp/tools/README.md +3 -3
- package/src/protocols/mcp/tools/SafetyTools.ts +502 -580
- package/src/protocols/mcp/tools/SearchProjectTools.ts +1 -1
- package/src/protocols/mcp/tools/TaskPlanningTools.ts +82 -40
- package/src/protocols/mcp/tools/TestTools.ts +340 -420
- package/src/protocols/mcp/tools/ToolHelpTools.ts +1 -1
- package/src/protocols/mcp/tools/TypeScriptTools.ts +317 -377
- package/src/protocols/mcp/tools/UserInputTools.ts +1 -1
- package/src/protocols/mcp/tools/UserMemoryTools.ts +1 -1
- package/src/protocols/mcp/tools/WebTools.ts +210 -308
- package/src/protocols/mcp/tools/WolframTools.ts +1 -1
- package/src/protocols/mcp/tools/shell/CommandClassification.ts +1 -1
- package/src/protocols/mcp/tools/shell/CommandSemantics.ts +1 -1
- package/src/protocols/mcp/tools/shell/DestructiveCommandWarnings.ts +1 -1
- package/src/protocols/mcp/tools/shell/LargeOutputHandler.ts +1 -1
- package/src/protocols/mcp/tools/shell/ShellExecuteHandler.ts +54 -15
- package/src/protocols/mcp/tools/shell/ShellSandbox.ts +1 -1
- package/src/protocols/mcp/tools/shell/index.ts +1 -1
- package/src/protocols/mcp/utils/JsonRecovery.ts +1 -1
- package/src/protocols/mcp/utils/MessageConverters.ts +1 -1
- package/src/protocols/mcp/utils/NetworkRecovery.ts +1 -1
- package/src/protocols/mcp/utils/ToolHandlers.ts +1 -1
- package/src/repositories/interfaces/IAgentRepository.ts +1 -1
- package/src/repositories/interfaces/IBaseRepository.ts +1 -1
- package/src/repositories/interfaces/IChannelRepository.ts +1 -1
- package/src/repositories/interfaces/IDagRepository.ts +1 -1
- package/src/repositories/interfaces/IKnowledgeGraphRepository.ts +1 -1
- package/src/repositories/interfaces/IMemoryRepository.ts +1 -1
- package/src/repositories/interfaces/ITaskRepository.ts +1 -1
- package/src/repositories/interfaces/index.ts +1 -1
- package/src/repositories/types/FilterTypes.ts +1 -1
- package/src/repositories/types/PaginationTypes.ts +1 -1
- package/src/schemas/CodeExecutionEventPayloads.ts +1 -1
- package/src/schemas/EventPayloadSchema.ts +38 -1
- package/src/schemas/JsonResponseSchemas.ts +1 -1
- package/src/schemas/MessageSchemas.ts +1 -1
- package/src/schemas/MxpProtocolSchemas.ts +1 -1
- package/src/schemas/ShellExecutionEventPayloads.ts +1 -1
- package/src/services/AgentPerformanceService.ts +1 -1
- package/src/services/AutoCorrectionIntegrationService.ts +1 -1
- package/src/services/AutoCorrectionService.ts +1 -1
- package/src/services/AutoMemoryCreator.ts +1 -1
- package/src/services/BackgroundTaskManager.ts +13 -5
- package/src/services/BrowserManager.ts +42 -2
- package/src/services/ChannelContextMemoryOperations.ts +1 -1
- package/src/services/ChannelContextMessageOperations.ts +1 -1
- package/src/services/CodeExecutionSandboxService.ts +1 -1
- package/src/services/ContainerExecutionManager.ts +1 -1
- package/src/services/ContentProcessor.ts +1 -1
- package/src/services/McpToolDocumentationService.ts +1 -1
- package/src/services/MemoryCompressor.ts +21 -33
- package/src/services/MemoryService.ts +97 -59
- package/src/services/MxfMLService.ts +62 -18
- package/src/services/MxfMeilisearchService.ts +1 -1
- package/src/services/MxfMessageAggregator.ts +1 -1
- package/src/services/PatternLearningService.ts +1 -1
- package/src/services/PerformanceOptimizationService.ts +1 -1
- package/src/services/PredictiveAnalyticsService.ts +56 -33
- package/src/services/ProactiveValidationService.ts +1 -1
- package/src/services/PromptArgumentInferenceService.ts +1 -1
- package/src/services/QValueManager.ts +11 -1
- package/src/services/ReasoningToolParser.ts +1 -1
- package/src/services/RecoveryWorkflowService.ts +1 -1
- package/src/services/ReflectionService.ts +1 -1
- package/src/services/RetentionGateService.ts +1 -1
- package/src/services/RewardSignalProcessor.ts +139 -10
- package/src/services/SharedStateService.ts +57 -9
- package/src/services/StratumManager.ts +1 -1
- package/src/services/StructuredSummaryBuilder.ts +1 -1
- package/src/services/SurpriseCalculator.ts +1 -1
- package/src/services/SystemLlmMemoryAnalyzer.ts +1 -1
- package/src/services/TaskEffectivenessService.ts +115 -188
- package/src/services/ToolExecutionInterceptor.ts +1 -1
- package/src/services/UserInputRequestManager.ts +1 -1
- package/src/services/UserMemoryService.ts +1 -1
- package/src/services/UtilityScorerService.ts +1 -1
- package/src/services/ValidationAnalyticsService.ts +1 -1
- package/src/services/ValidationCacheService.ts +1 -1
- package/src/services/ValidationMiddleware.ts +1 -1
- package/src/services/ValidationPerformanceService.ts +1 -1
- package/src/services/WebSearchService.ts +3 -2
- package/src/services/dag/TaskDagService.ts +3 -1
- package/src/services/dag/algorithms/TopologicalSort.ts +1 -1
- package/src/services/kg/EntityExtractionService.ts +1 -1
- package/src/services/kg/EntityQValueManager.ts +1 -1
- package/src/services/kg/GraphSurpriseCalculator.ts +1 -1
- package/src/services/kg/KnowledgeGraphService.ts +1 -1
- package/src/services/kg/OrparGraphIntegration.ts +1 -1
- package/src/services/orpar-memory/CycleConsolidationTrigger.ts +1 -1
- package/src/services/orpar-memory/OrparMemoryCoordinator.ts +87 -11
- package/src/services/orpar-memory/PhaseMemoryOperations.ts +1 -1
- package/src/services/orpar-memory/PhaseStrataRouter.ts +1 -1
- package/src/services/orpar-memory/PhaseWeightedRewarder.ts +1 -1
- package/src/services/orpar-memory/SurpriseOrparAdapter.ts +1 -1
- package/src/services/orpar-memory/index.ts +1 -1
- package/src/types/Agent.ts +1 -1
- package/src/types/AgentPerformanceTypes.ts +1 -1
- package/src/types/AgentRegistry.ts +1 -1
- package/src/types/AgentTypes.ts +1 -1
- package/src/types/ChannelContext.ts +1 -1
- package/src/types/ControlLoopTypes.ts +1 -1
- package/src/types/DagTypes.ts +1 -1
- package/src/types/EffectivenessTypes.ts +1 -1
- package/src/types/InferenceParameterTypes.ts +1 -1
- package/src/types/KnowledgeGraphTypes.ts +1 -1
- package/src/types/LlmTypes.ts +1 -1
- package/src/types/McpPromptTypes.ts +1 -1
- package/src/types/MemoryTypes.ts +1 -1
- package/src/types/MemoryUtilityTypes.ts +3 -1
- package/src/types/MxpTypes.ts +1 -1
- package/src/types/NetworkRecoveryTypes.ts +1 -1
- package/src/types/OrparMemoryIntegrationTypes.ts +1 -1
- package/src/types/PatternLearningTypes.ts +1 -1
- package/src/types/PatternMemoryTypes.ts +1 -1
- package/src/types/ReflectionTypes.ts +1 -1
- package/src/types/TaskCompletionTypes.ts +1 -1
- package/src/types/TaskTypes.ts +1 -1
- package/src/types/TensorFlowTypes.ts +1 -1
- package/src/types/ValidationPerformanceTypes.ts +1 -1
- package/src/types/toolTypes.ts +1 -1
- package/src/types/types.ts +1 -1
- package/src/utils/Logger.ts +117 -41
- package/src/utils/MxpEncryption.ts +70 -35
- package/src/utils/ParameterNormalizer.ts +1 -1
- package/src/utils/PromptTemplateReplacer.ts +1 -1
- package/src/utils/TokenEstimator.ts +1 -1
- package/src/utils/ToolPaginationUtils.ts +1 -1
- package/src/utils/toon/eligibility.ts +1 -1
- package/src/utils/toon/encoder.ts +1 -1
- package/src/utils/toon/formatter.ts +1 -1
- package/src/utils/toon/index.ts +1 -1
- package/src/utils/toon/metrics.ts +1 -1
- package/src/utils/toon/types.ts +1 -1
- package/src/utils/validation.ts +1 -1
- package/dist/mxp/MxpEventForwardingEnhancer.d.ts +0 -134
- package/dist/mxp/MxpEventForwardingEnhancer.d.ts.map +0 -1
- package/dist/mxp/MxpEventForwardingEnhancer.js +0 -361
- package/dist/mxp/MxpEventForwardingEnhancer.js.map +0 -1
- package/dist/protocols/mcp/services/ToolSchemaEnhancements.d.ts +0 -56
- package/dist/protocols/mcp/services/ToolSchemaEnhancements.d.ts.map +0 -1
- package/dist/protocols/mcp/services/ToolSchemaEnhancements.js +0 -57
- package/dist/protocols/mcp/services/ToolSchemaEnhancements.js.map +0 -1
- package/dist/protocols/mcp/tools/ControlLoopLifecycle.d.ts +0 -270
- package/dist/protocols/mcp/tools/ControlLoopLifecycle.d.ts.map +0 -1
- package/dist/protocols/mcp/tools/ControlLoopLifecycle.js +0 -256
- package/dist/protocols/mcp/tools/ControlLoopLifecycle.js.map +0 -1
- package/dist/protocols/mcp/tools/LspTools.d.ts +0 -495
- package/dist/protocols/mcp/tools/LspTools.d.ts.map +0 -1
- package/dist/protocols/mcp/tools/LspTools.js +0 -469
- package/dist/protocols/mcp/tools/LspTools.js.map +0 -1
- package/src/mxp/MxpEventForwardingEnhancer.ts +0 -471
- package/src/protocols/mcp/services/ToolSchemaEnhancements.ts +0 -92
- package/src/protocols/mcp/tools/ControlLoopLifecycle.ts +0 -302
- package/src/protocols/mcp/tools/LspTools.ts +0 -476
|
@@ -14,26 +14,158 @@
|
|
|
14
14
|
* limitations under the License.
|
|
15
15
|
*
|
|
16
16
|
* @author Brad Anderson <BradA1878@pm.me>
|
|
17
|
-
* @repository https://github.com/
|
|
17
|
+
* @repository https://github.com/BradA1878/model-exchange-framework
|
|
18
18
|
* @documentation https://mxf-dev.github.io/mxf/
|
|
19
19
|
*/
|
|
20
20
|
|
|
21
|
-
|
|
21
|
+
/**
|
|
22
|
+
* TestTools.ts
|
|
23
|
+
*
|
|
24
|
+
* Run a project's test suite with Jest, Mocha or Vitest, or let test_runner pick
|
|
25
|
+
* the one the project actually uses.
|
|
26
|
+
*
|
|
27
|
+
* On exit codes: a test runner exits non-zero when tests fail. That is the tool
|
|
28
|
+
* working — it ran the suite and the suite failed. So a failing suite comes back
|
|
29
|
+
* with `passed: false` and `isError: false`, and `isError` is reserved for the
|
|
30
|
+
* runner not being usable at all.
|
|
31
|
+
*
|
|
32
|
+
* Watch mode is deliberately not offered. These tools are request/response: a
|
|
33
|
+
* watching runner never exits, so the call would hang until it timed out.
|
|
34
|
+
*/
|
|
35
|
+
|
|
36
|
+
import * as fs from 'fs/promises';
|
|
37
|
+
import * as path from 'path';
|
|
38
|
+
|
|
39
|
+
import { TOOL_CATEGORIES } from '../../../constants/ToolNames.js';
|
|
40
|
+
import { defineTool, ToolRunContext } from '../defineTool.js';
|
|
41
|
+
import { ToolError } from '../ToolError.js';
|
|
22
42
|
import { executeShellCommand } from './InfrastructureTools.js';
|
|
23
|
-
import { McpToolHandlerContext, McpToolHandlerResult, McpToolResultContent } from '../McpServerTypes.js';
|
|
24
43
|
|
|
25
|
-
|
|
44
|
+
/** Exit code the shell reports when a command could not be found or spawned. */
|
|
45
|
+
const COMMAND_NOT_FOUND = 127;
|
|
46
|
+
|
|
47
|
+
const workingDirectoryProperty = {
|
|
48
|
+
type: 'string',
|
|
49
|
+
description: 'Working directory path (defaults to the server working directory)'
|
|
50
|
+
};
|
|
51
|
+
|
|
52
|
+
/** Outcome of a test run, in the shape every runner here reports. */
|
|
53
|
+
export interface TestRunResult {
|
|
54
|
+
runner: 'jest' | 'mocha' | 'vitest';
|
|
55
|
+
passed: boolean;
|
|
56
|
+
testsRun: number;
|
|
57
|
+
testsPassed: number;
|
|
58
|
+
testsFailed: number;
|
|
59
|
+
executionTimeMs: number;
|
|
60
|
+
output: string;
|
|
61
|
+
}
|
|
26
62
|
|
|
27
63
|
/**
|
|
28
|
-
*
|
|
29
|
-
*
|
|
30
|
-
*
|
|
31
|
-
* and
|
|
64
|
+
* Run a test runner via npx and normalize its output.
|
|
65
|
+
*
|
|
66
|
+
* Throws only when the runner could not be executed. A failing suite is a
|
|
67
|
+
* result, and comes back with passed: false.
|
|
32
68
|
*/
|
|
69
|
+
async function runTestRunner(
|
|
70
|
+
runner: 'jest' | 'mocha' | 'vitest',
|
|
71
|
+
runnerArgs: string[],
|
|
72
|
+
workingDirectory: string | undefined,
|
|
73
|
+
context: ToolRunContext
|
|
74
|
+
): Promise<TestRunResult> {
|
|
75
|
+
const startedAt = Date.now();
|
|
76
|
+
|
|
77
|
+
const result = await executeShellCommand('npx', [runner, ...runnerArgs], {
|
|
78
|
+
context: {
|
|
79
|
+
agentId: context.agentId,
|
|
80
|
+
channelId: context.channelId,
|
|
81
|
+
requestId: context.requestId
|
|
82
|
+
},
|
|
83
|
+
workingDirectory: workingDirectory || process.cwd(),
|
|
84
|
+
captureOutput: true
|
|
85
|
+
});
|
|
86
|
+
|
|
87
|
+
if (result.exitCode === COMMAND_NOT_FOUND) {
|
|
88
|
+
throw ToolError.preconditionFailed(
|
|
89
|
+
`Could not run ${runner} — the command was not found. ` +
|
|
90
|
+
`Install it in the project before running this tool.`,
|
|
91
|
+
{ runner }
|
|
92
|
+
);
|
|
93
|
+
}
|
|
94
|
+
|
|
95
|
+
// Jest and Vitest write their summary to stderr; Mocha writes to stdout.
|
|
96
|
+
const output = [result.stdout, result.stderr].filter(Boolean).join('\n');
|
|
97
|
+
const counts = parseTestCounts(runner, output);
|
|
33
98
|
|
|
34
|
-
|
|
99
|
+
return {
|
|
100
|
+
runner,
|
|
101
|
+
passed: result.exitCode === 0,
|
|
102
|
+
...counts,
|
|
103
|
+
executionTimeMs: Date.now() - startedAt,
|
|
104
|
+
output
|
|
105
|
+
};
|
|
106
|
+
}
|
|
107
|
+
|
|
108
|
+
/**
|
|
109
|
+
* Pull pass/fail counts out of a runner's summary.
|
|
110
|
+
*
|
|
111
|
+
* Each runner prints a different summary, so each gets its own pattern rather
|
|
112
|
+
* than one regex that half-matches all three.
|
|
113
|
+
*/
|
|
114
|
+
function parseTestCounts(
|
|
115
|
+
runner: 'jest' | 'mocha' | 'vitest',
|
|
116
|
+
output: string
|
|
117
|
+
): { testsRun: number; testsPassed: number; testsFailed: number } {
|
|
118
|
+
if (runner === 'jest') {
|
|
119
|
+
// "Tests: 1 failed, 2 skipped, 17 passed, 20 total"
|
|
120
|
+
const summary = output.match(/^Tests:\s+(.+)$/m)?.[1] ?? '';
|
|
121
|
+
const read = (label: string): number => {
|
|
122
|
+
const match = summary.match(new RegExp(`(\\d+)\\s+${label}`));
|
|
123
|
+
return match ? parseInt(match[1], 10) : 0;
|
|
124
|
+
};
|
|
125
|
+
return {
|
|
126
|
+
testsRun: read('total'),
|
|
127
|
+
testsPassed: read('passed'),
|
|
128
|
+
testsFailed: read('failed')
|
|
129
|
+
};
|
|
130
|
+
}
|
|
131
|
+
|
|
132
|
+
if (runner === 'vitest') {
|
|
133
|
+
// "Tests 1 failed | 17 passed (18)"
|
|
134
|
+
const summary = output.match(/^\s*Tests\s+(.+)$/m)?.[1] ?? '';
|
|
135
|
+
const passed = parseInt(summary.match(/(\d+)\s+passed/)?.[1] ?? '0', 10);
|
|
136
|
+
const failed = parseInt(summary.match(/(\d+)\s+failed/)?.[1] ?? '0', 10);
|
|
137
|
+
const total = parseInt(summary.match(/\((\d+)\)/)?.[1] ?? '0', 10);
|
|
138
|
+
return {
|
|
139
|
+
testsRun: total || passed + failed,
|
|
140
|
+
testsPassed: passed,
|
|
141
|
+
testsFailed: failed
|
|
142
|
+
};
|
|
143
|
+
}
|
|
144
|
+
|
|
145
|
+
// Mocha: " 17 passing (1s)" / " 1 failing"
|
|
146
|
+
const passed = parseInt(output.match(/(\d+)\s+passing/)?.[1] ?? '0', 10);
|
|
147
|
+
const failed = parseInt(output.match(/(\d+)\s+failing/)?.[1] ?? '0', 10);
|
|
148
|
+
return {
|
|
149
|
+
testsRun: passed + failed,
|
|
150
|
+
testsPassed: passed,
|
|
151
|
+
testsFailed: failed
|
|
152
|
+
};
|
|
153
|
+
}
|
|
154
|
+
|
|
155
|
+
export const jestTestTool = defineTool<
|
|
156
|
+
{
|
|
157
|
+
testFiles?: string[];
|
|
158
|
+
testNamePattern?: string;
|
|
159
|
+
coverage?: boolean;
|
|
160
|
+
verbose?: boolean;
|
|
161
|
+
maxWorkers?: number;
|
|
162
|
+
workingDirectory?: string;
|
|
163
|
+
},
|
|
164
|
+
TestRunResult
|
|
165
|
+
>({
|
|
35
166
|
name: 'test_jest',
|
|
36
|
-
|
|
167
|
+
category: TOOL_CATEGORIES.INFRASTRUCTURE,
|
|
168
|
+
description: 'Run Jest tests. passed is false when any test fails.',
|
|
37
169
|
inputSchema: {
|
|
38
170
|
type: 'object',
|
|
39
171
|
properties: {
|
|
@@ -44,159 +176,63 @@ export const jestTestTool = {
|
|
|
44
176
|
},
|
|
45
177
|
testNamePattern: {
|
|
46
178
|
type: 'string',
|
|
47
|
-
description: 'Run tests
|
|
179
|
+
description: 'Run only tests whose name matches this pattern'
|
|
48
180
|
},
|
|
49
181
|
coverage: {
|
|
50
182
|
type: 'boolean',
|
|
51
183
|
default: false,
|
|
52
|
-
description: 'Generate
|
|
53
|
-
},
|
|
54
|
-
watchMode: {
|
|
55
|
-
type: 'boolean',
|
|
56
|
-
default: false,
|
|
57
|
-
description: 'Run tests in watch mode'
|
|
184
|
+
description: 'Generate a coverage report'
|
|
58
185
|
},
|
|
59
186
|
verbose: {
|
|
60
187
|
type: 'boolean',
|
|
61
188
|
default: false,
|
|
62
|
-
description: '
|
|
189
|
+
description: 'Report each test individually'
|
|
63
190
|
},
|
|
64
191
|
maxWorkers: {
|
|
65
192
|
type: 'number',
|
|
193
|
+
minimum: 1,
|
|
66
194
|
description: 'Maximum number of worker processes'
|
|
67
195
|
},
|
|
68
|
-
workingDirectory:
|
|
69
|
-
type: 'string',
|
|
70
|
-
description: 'Working directory path (defaults to current directory)'
|
|
71
|
-
}
|
|
196
|
+
workingDirectory: workingDirectoryProperty
|
|
72
197
|
}
|
|
73
198
|
},
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
coverage
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
if (args.verbose) {
|
|
92
|
-
jestArgs.push('--verbose');
|
|
93
|
-
}
|
|
94
|
-
|
|
95
|
-
if (args.maxWorkers) {
|
|
96
|
-
jestArgs.push('--maxWorkers', args.maxWorkers.toString());
|
|
97
|
-
}
|
|
98
|
-
|
|
99
|
-
if (args.testNamePattern) {
|
|
100
|
-
jestArgs.push('--testNamePattern', args.testNamePattern);
|
|
101
|
-
}
|
|
102
|
-
|
|
103
|
-
if (args.watchMode) {
|
|
104
|
-
jestArgs.push('--watch');
|
|
105
|
-
}
|
|
106
|
-
|
|
107
|
-
if (args.testFiles && args.testFiles.length > 0) {
|
|
108
|
-
jestArgs.push(...args.testFiles);
|
|
109
|
-
}
|
|
110
|
-
|
|
111
|
-
const result = await executeShellCommand('npx', ['jest', ...jestArgs], {
|
|
112
|
-
workingDirectory: args.workingDirectory || process.cwd(),
|
|
113
|
-
captureOutput: true
|
|
114
|
-
});
|
|
115
|
-
|
|
116
|
-
// Parse Jest output for test results
|
|
117
|
-
let testsRun = 0;
|
|
118
|
-
let testsPassed = 0;
|
|
119
|
-
let testsFailed = 0;
|
|
120
|
-
let testSuites = 0;
|
|
121
|
-
let testSuitesPassed = 0;
|
|
122
|
-
let testSuitesFailed = 0;
|
|
123
|
-
|
|
124
|
-
if (result.stdout) {
|
|
125
|
-
// Parse test results
|
|
126
|
-
const runMatch = result.stdout.match(/Tests:\s+(\d+)\s+total/);
|
|
127
|
-
const passMatch = result.stdout.match(/Tests:\s+\d+\s+failed,\s+(\d+)\s+passed/);
|
|
128
|
-
const failMatch = result.stdout.match(/Tests:\s+(\d+)\s+failed/);
|
|
129
|
-
|
|
130
|
-
// Parse test suites
|
|
131
|
-
const suitesMatch = result.stdout.match(/Test Suites:\s+(\d+)\s+total/);
|
|
132
|
-
const suitesPassMatch = result.stdout.match(/Test Suites:\s+\d+\s+failed,\s+(\d+)\s+passed/);
|
|
133
|
-
const suitesFailMatch = result.stdout.match(/Test Suites:\s+(\d+)\s+failed/);
|
|
134
|
-
|
|
135
|
-
if (runMatch) testsRun = parseInt(runMatch[1]);
|
|
136
|
-
if (passMatch) testsPassed = parseInt(passMatch[1]);
|
|
137
|
-
if (failMatch) testsFailed = parseInt(failMatch[1]);
|
|
138
|
-
|
|
139
|
-
if (suitesMatch) testSuites = parseInt(suitesMatch[1]);
|
|
140
|
-
if (suitesPassMatch) testSuitesPassed = parseInt(suitesPassMatch[1]);
|
|
141
|
-
if (suitesFailMatch) testSuitesFailed = parseInt(suitesFailMatch[1]);
|
|
142
|
-
|
|
143
|
-
// Alternative parsing for different Jest output formats
|
|
144
|
-
if (testsRun === 0) {
|
|
145
|
-
const totalMatch = result.stdout.match(/(\d+)\s+tests?\s+passed/);
|
|
146
|
-
if (totalMatch) {
|
|
147
|
-
testsRun = parseInt(totalMatch[1]);
|
|
148
|
-
testsPassed = testsRun;
|
|
149
|
-
}
|
|
150
|
-
}
|
|
151
|
-
}
|
|
152
|
-
|
|
153
|
-
const content: McpToolResultContent = {
|
|
154
|
-
type: 'application/json',
|
|
155
|
-
data: {
|
|
156
|
-
success: result.exitCode === 0,
|
|
157
|
-
runner: 'jest',
|
|
158
|
-
output: result.stdout || '',
|
|
159
|
-
errorOutput: result.stderr || '',
|
|
160
|
-
testsRun,
|
|
161
|
-
testsPassed,
|
|
162
|
-
testsFailed,
|
|
163
|
-
testSuites,
|
|
164
|
-
testSuitesPassed,
|
|
165
|
-
testSuitesFailed,
|
|
166
|
-
executionTime: result.executionTime,
|
|
167
|
-
coverage: args.coverage ? 'Coverage report generated' : null,
|
|
168
|
-
error: result.exitCode !== 0 ? result.stderr : null
|
|
169
|
-
}
|
|
170
|
-
};
|
|
171
|
-
return { content };
|
|
172
|
-
} catch (error) {
|
|
173
|
-
logger.error('Jest test failed', { error });
|
|
174
|
-
const content: McpToolResultContent = {
|
|
175
|
-
type: 'application/json',
|
|
176
|
-
data: {
|
|
177
|
-
success: false,
|
|
178
|
-
runner: 'jest',
|
|
179
|
-
output: '',
|
|
180
|
-
errorOutput: '',
|
|
181
|
-
testsRun: 0,
|
|
182
|
-
testsPassed: 0,
|
|
183
|
-
testsFailed: 0,
|
|
184
|
-
testSuites: 0,
|
|
185
|
-
testSuitesPassed: 0,
|
|
186
|
-
testSuitesFailed: 0,
|
|
187
|
-
executionTime: 0,
|
|
188
|
-
coverage: null,
|
|
189
|
-
error: error instanceof Error ? error.message : String(error)
|
|
190
|
-
}
|
|
191
|
-
};
|
|
192
|
-
return { content };
|
|
199
|
+
run: async (input, context) => {
|
|
200
|
+
const args = ['--no-watchman', '--passWithNoTests'];
|
|
201
|
+
|
|
202
|
+
if (input.coverage) {
|
|
203
|
+
args.push('--coverage');
|
|
204
|
+
}
|
|
205
|
+
if (input.verbose) {
|
|
206
|
+
args.push('--verbose');
|
|
207
|
+
}
|
|
208
|
+
if (input.maxWorkers) {
|
|
209
|
+
args.push('--maxWorkers', String(input.maxWorkers));
|
|
210
|
+
}
|
|
211
|
+
if (input.testNamePattern) {
|
|
212
|
+
args.push('--testNamePattern', input.testNamePattern);
|
|
213
|
+
}
|
|
214
|
+
if (input.testFiles && input.testFiles.length > 0) {
|
|
215
|
+
args.push(...input.testFiles);
|
|
193
216
|
}
|
|
217
|
+
|
|
218
|
+
return runTestRunner('jest', args, input.workingDirectory, context);
|
|
194
219
|
}
|
|
195
|
-
};
|
|
220
|
+
});
|
|
196
221
|
|
|
197
|
-
export const mochaTestTool =
|
|
222
|
+
export const mochaTestTool = defineTool<
|
|
223
|
+
{
|
|
224
|
+
testFiles?: string[];
|
|
225
|
+
grep?: string;
|
|
226
|
+
reporter?: string;
|
|
227
|
+
timeout?: number;
|
|
228
|
+
recursive?: boolean;
|
|
229
|
+
workingDirectory?: string;
|
|
230
|
+
},
|
|
231
|
+
TestRunResult
|
|
232
|
+
>({
|
|
198
233
|
name: 'test_mocha',
|
|
199
|
-
|
|
234
|
+
category: TOOL_CATEGORIES.INFRASTRUCTURE,
|
|
235
|
+
description: 'Run Mocha tests. passed is false when any test fails.',
|
|
200
236
|
inputSchema: {
|
|
201
237
|
type: 'object',
|
|
202
238
|
properties: {
|
|
@@ -207,119 +243,62 @@ export const mochaTestTool = {
|
|
|
207
243
|
},
|
|
208
244
|
grep: {
|
|
209
245
|
type: 'string',
|
|
210
|
-
description: 'Run tests matching this pattern'
|
|
246
|
+
description: 'Run only tests matching this pattern'
|
|
211
247
|
},
|
|
212
248
|
reporter: {
|
|
213
249
|
type: 'string',
|
|
214
|
-
enum: ['spec', '
|
|
250
|
+
enum: ['spec', 'dot', 'nyan', 'tap', 'json', 'min'],
|
|
215
251
|
default: 'spec',
|
|
216
|
-
description: '
|
|
252
|
+
description: 'Reporter format'
|
|
217
253
|
},
|
|
218
254
|
timeout: {
|
|
219
255
|
type: 'number',
|
|
220
|
-
|
|
221
|
-
description: '
|
|
256
|
+
minimum: 1,
|
|
257
|
+
description: 'Per-test timeout in milliseconds'
|
|
222
258
|
},
|
|
223
259
|
recursive: {
|
|
224
260
|
type: 'boolean',
|
|
225
261
|
default: false,
|
|
226
262
|
description: 'Look for tests in subdirectories'
|
|
227
263
|
},
|
|
228
|
-
workingDirectory:
|
|
229
|
-
type: 'string',
|
|
230
|
-
description: 'Working directory path (defaults to current directory)'
|
|
231
|
-
}
|
|
264
|
+
workingDirectory: workingDirectoryProperty
|
|
232
265
|
}
|
|
233
266
|
},
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
reporter
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
if (args.timeout) {
|
|
247
|
-
mochaArgs.push('--timeout', args.timeout.toString());
|
|
248
|
-
}
|
|
249
|
-
|
|
250
|
-
if (args.grep) {
|
|
251
|
-
mochaArgs.push('--grep', args.grep);
|
|
252
|
-
}
|
|
253
|
-
|
|
254
|
-
if (args.recursive) {
|
|
255
|
-
mochaArgs.push('--recursive');
|
|
256
|
-
}
|
|
257
|
-
|
|
258
|
-
if (args.testFiles && args.testFiles.length > 0) {
|
|
259
|
-
mochaArgs.push(...args.testFiles);
|
|
260
|
-
} else {
|
|
261
|
-
mochaArgs.push('test/**/*.js');
|
|
262
|
-
}
|
|
263
|
-
|
|
264
|
-
const result = await executeShellCommand('npx', ['mocha', ...mochaArgs], {
|
|
265
|
-
workingDirectory: args.workingDirectory || process.cwd(),
|
|
266
|
-
captureOutput: true
|
|
267
|
-
});
|
|
268
|
-
|
|
269
|
-
// Parse Mocha output for test results
|
|
270
|
-
let testsRun = 0;
|
|
271
|
-
let testsPassed = 0;
|
|
272
|
-
let testsFailed = 0;
|
|
273
|
-
|
|
274
|
-
if (result.stdout) {
|
|
275
|
-
const passMatch = result.stdout.match(/(\d+)\s+passing/);
|
|
276
|
-
const failMatch = result.stdout.match(/(\d+)\s+failing/);
|
|
277
|
-
|
|
278
|
-
if (passMatch) testsPassed = parseInt(passMatch[1]);
|
|
279
|
-
if (failMatch) testsFailed = parseInt(failMatch[1]);
|
|
280
|
-
|
|
281
|
-
testsRun = testsPassed + testsFailed;
|
|
282
|
-
}
|
|
283
|
-
|
|
284
|
-
const content: McpToolResultContent = {
|
|
285
|
-
type: 'application/json',
|
|
286
|
-
data: {
|
|
287
|
-
success: result.exitCode === 0,
|
|
288
|
-
runner: 'mocha',
|
|
289
|
-
output: result.stdout || '',
|
|
290
|
-
errorOutput: result.stderr || '',
|
|
291
|
-
testsRun,
|
|
292
|
-
testsPassed,
|
|
293
|
-
testsFailed,
|
|
294
|
-
executionTime: result.executionTime,
|
|
295
|
-
error: result.exitCode !== 0 ? result.stderr : null
|
|
296
|
-
}
|
|
297
|
-
};
|
|
298
|
-
return { content };
|
|
299
|
-
} catch (error) {
|
|
300
|
-
logger.error('Mocha test failed', { error });
|
|
301
|
-
const content: McpToolResultContent = {
|
|
302
|
-
type: 'application/json',
|
|
303
|
-
data: {
|
|
304
|
-
success: false,
|
|
305
|
-
runner: 'mocha',
|
|
306
|
-
output: '',
|
|
307
|
-
errorOutput: '',
|
|
308
|
-
testsRun: 0,
|
|
309
|
-
testsPassed: 0,
|
|
310
|
-
testsFailed: 0,
|
|
311
|
-
executionTime: 0,
|
|
312
|
-
error: error instanceof Error ? error.message : String(error)
|
|
313
|
-
}
|
|
314
|
-
};
|
|
315
|
-
return { content };
|
|
267
|
+
run: async (input, context) => {
|
|
268
|
+
const args: string[] = [];
|
|
269
|
+
|
|
270
|
+
if (input.reporter) {
|
|
271
|
+
args.push('--reporter', input.reporter);
|
|
272
|
+
}
|
|
273
|
+
if (input.grep) {
|
|
274
|
+
args.push('--grep', input.grep);
|
|
275
|
+
}
|
|
276
|
+
if (input.timeout) {
|
|
277
|
+
args.push('--timeout', String(input.timeout));
|
|
316
278
|
}
|
|
279
|
+
if (input.recursive) {
|
|
280
|
+
args.push('--recursive');
|
|
281
|
+
}
|
|
282
|
+
if (input.testFiles && input.testFiles.length > 0) {
|
|
283
|
+
args.push(...input.testFiles);
|
|
284
|
+
}
|
|
285
|
+
|
|
286
|
+
return runTestRunner('mocha', args, input.workingDirectory, context);
|
|
317
287
|
}
|
|
318
|
-
};
|
|
288
|
+
});
|
|
319
289
|
|
|
320
|
-
export const vitestTestTool =
|
|
290
|
+
export const vitestTestTool = defineTool<
|
|
291
|
+
{
|
|
292
|
+
testFiles?: string[];
|
|
293
|
+
coverage?: boolean;
|
|
294
|
+
reporter?: string;
|
|
295
|
+
workingDirectory?: string;
|
|
296
|
+
},
|
|
297
|
+
TestRunResult
|
|
298
|
+
>({
|
|
321
299
|
name: 'test_vitest',
|
|
322
|
-
|
|
300
|
+
category: TOOL_CATEGORIES.INFRASTRUCTURE,
|
|
301
|
+
description: 'Run Vitest tests once (not in watch mode). passed is false when any test fails.',
|
|
323
302
|
inputSchema: {
|
|
324
303
|
type: 'object',
|
|
325
304
|
properties: {
|
|
@@ -331,114 +310,99 @@ export const vitestTestTool = {
|
|
|
331
310
|
coverage: {
|
|
332
311
|
type: 'boolean',
|
|
333
312
|
default: false,
|
|
334
|
-
description: 'Generate
|
|
335
|
-
},
|
|
336
|
-
watchMode: {
|
|
337
|
-
type: 'boolean',
|
|
338
|
-
default: false,
|
|
339
|
-
description: 'Run tests in watch mode'
|
|
313
|
+
description: 'Generate a coverage report'
|
|
340
314
|
},
|
|
341
315
|
reporter: {
|
|
342
316
|
type: 'string',
|
|
343
|
-
enum: ['default', 'verbose', 'dot', 'json', '
|
|
317
|
+
enum: ['default', 'verbose', 'dot', 'json', 'tap'],
|
|
344
318
|
default: 'default',
|
|
345
|
-
description: '
|
|
319
|
+
description: 'Reporter format'
|
|
346
320
|
},
|
|
347
|
-
workingDirectory:
|
|
348
|
-
type: 'string',
|
|
349
|
-
description: 'Working directory path (defaults to current directory)'
|
|
350
|
-
}
|
|
321
|
+
workingDirectory: workingDirectoryProperty
|
|
351
322
|
}
|
|
352
323
|
},
|
|
353
|
-
|
|
354
|
-
|
|
355
|
-
|
|
356
|
-
|
|
357
|
-
|
|
358
|
-
|
|
359
|
-
|
|
360
|
-
|
|
361
|
-
try {
|
|
362
|
-
const vitestArgs = ['--run']; // Force single run (no watch by default)
|
|
363
|
-
|
|
364
|
-
if (args.coverage) {
|
|
365
|
-
vitestArgs.push('--coverage');
|
|
366
|
-
}
|
|
367
|
-
|
|
368
|
-
if (args.watchMode) {
|
|
369
|
-
vitestArgs.pop(); // Remove --run
|
|
370
|
-
vitestArgs.push('--watch');
|
|
371
|
-
}
|
|
372
|
-
|
|
373
|
-
if (args.reporter) {
|
|
374
|
-
vitestArgs.push('--reporter', args.reporter);
|
|
375
|
-
}
|
|
376
|
-
|
|
377
|
-
if (args.testFiles && args.testFiles.length > 0) {
|
|
378
|
-
vitestArgs.push(...args.testFiles);
|
|
379
|
-
}
|
|
380
|
-
|
|
381
|
-
const result = await executeShellCommand('npx', ['vitest', ...vitestArgs], {
|
|
382
|
-
workingDirectory: args.workingDirectory || process.cwd(),
|
|
383
|
-
captureOutput: true
|
|
384
|
-
});
|
|
385
|
-
|
|
386
|
-
// Parse Vitest output for test results
|
|
387
|
-
let testsRun = 0;
|
|
388
|
-
let testsPassed = 0;
|
|
389
|
-
let testsFailed = 0;
|
|
390
|
-
|
|
391
|
-
if (result.stdout) {
|
|
392
|
-
const testsMatch = result.stdout.match(/Test Files\s+(\d+)\s+passed/);
|
|
393
|
-
const failMatch = result.stdout.match(/Test Files\s+(\d+)\s+failed/);
|
|
394
|
-
|
|
395
|
-
if (testsMatch) testsPassed = parseInt(testsMatch[1]);
|
|
396
|
-
if (failMatch) testsFailed = parseInt(failMatch[1]);
|
|
397
|
-
|
|
398
|
-
testsRun = testsPassed + testsFailed;
|
|
399
|
-
}
|
|
400
|
-
|
|
401
|
-
const content: McpToolResultContent = {
|
|
402
|
-
type: 'application/json',
|
|
403
|
-
data: {
|
|
404
|
-
success: result.exitCode === 0,
|
|
405
|
-
runner: 'vitest',
|
|
406
|
-
output: result.stdout || '',
|
|
407
|
-
errorOutput: result.stderr || '',
|
|
408
|
-
testsRun,
|
|
409
|
-
testsPassed,
|
|
410
|
-
testsFailed,
|
|
411
|
-
executionTime: result.executionTime,
|
|
412
|
-
coverage: args.coverage ? 'Coverage report generated' : null,
|
|
413
|
-
error: result.exitCode !== 0 ? result.stderr : null
|
|
414
|
-
}
|
|
415
|
-
};
|
|
416
|
-
return { content };
|
|
417
|
-
} catch (error) {
|
|
418
|
-
logger.error('Vitest test failed', { error });
|
|
419
|
-
const content: McpToolResultContent = {
|
|
420
|
-
type: 'application/json',
|
|
421
|
-
data: {
|
|
422
|
-
success: false,
|
|
423
|
-
runner: 'vitest',
|
|
424
|
-
output: '',
|
|
425
|
-
errorOutput: '',
|
|
426
|
-
testsRun: 0,
|
|
427
|
-
testsPassed: 0,
|
|
428
|
-
testsFailed: 0,
|
|
429
|
-
executionTime: 0,
|
|
430
|
-
coverage: null,
|
|
431
|
-
error: error instanceof Error ? error.message : String(error)
|
|
432
|
-
}
|
|
433
|
-
};
|
|
434
|
-
return { content };
|
|
324
|
+
run: async (input, context) => {
|
|
325
|
+
// `run` is Vitest's non-watching mode. Without it Vitest watches by
|
|
326
|
+
// default and the process would never exit.
|
|
327
|
+
const args = ['run'];
|
|
328
|
+
|
|
329
|
+
if (input.coverage) {
|
|
330
|
+
args.push('--coverage');
|
|
435
331
|
}
|
|
332
|
+
if (input.reporter) {
|
|
333
|
+
args.push('--reporter', input.reporter);
|
|
334
|
+
}
|
|
335
|
+
if (input.testFiles && input.testFiles.length > 0) {
|
|
336
|
+
args.push(...input.testFiles);
|
|
337
|
+
}
|
|
338
|
+
|
|
339
|
+
return runTestRunner('vitest', args, input.workingDirectory, context);
|
|
436
340
|
}
|
|
437
|
-
};
|
|
341
|
+
});
|
|
342
|
+
|
|
343
|
+
/**
|
|
344
|
+
* Read the project's package.json and work out which runner it uses.
|
|
345
|
+
*
|
|
346
|
+
* Throws when there is no package.json or no known runner in it — guessing
|
|
347
|
+
* "jest" for a project that does not use jest produces a confusing failure two
|
|
348
|
+
* steps later.
|
|
349
|
+
*/
|
|
350
|
+
async function detectFramework(workingDirectory: string): Promise<'jest' | 'mocha' | 'vitest'> {
|
|
351
|
+
const packageJsonPath = path.join(workingDirectory, 'package.json');
|
|
438
352
|
|
|
439
|
-
|
|
353
|
+
let raw: string;
|
|
354
|
+
try {
|
|
355
|
+
raw = await fs.readFile(packageJsonPath, 'utf-8');
|
|
356
|
+
} catch {
|
|
357
|
+
throw ToolError.notFound(
|
|
358
|
+
`No package.json in ${workingDirectory}, so the test framework cannot be detected. ` +
|
|
359
|
+
`Pass framework explicitly, or run this from the project root.`
|
|
360
|
+
);
|
|
361
|
+
}
|
|
362
|
+
|
|
363
|
+
let packageJson: { dependencies?: Record<string, string>; devDependencies?: Record<string, string> };
|
|
364
|
+
try {
|
|
365
|
+
packageJson = JSON.parse(raw);
|
|
366
|
+
} catch (parseError) {
|
|
367
|
+
throw ToolError.executionFailed(
|
|
368
|
+
`package.json in ${workingDirectory} is not valid JSON: ` +
|
|
369
|
+
`${parseError instanceof Error ? parseError.message : String(parseError)}`
|
|
370
|
+
);
|
|
371
|
+
}
|
|
372
|
+
|
|
373
|
+
const deps = { ...packageJson.dependencies, ...packageJson.devDependencies };
|
|
374
|
+
|
|
375
|
+
if (deps.vitest) {
|
|
376
|
+
return 'vitest';
|
|
377
|
+
}
|
|
378
|
+
if (deps.jest) {
|
|
379
|
+
return 'jest';
|
|
380
|
+
}
|
|
381
|
+
if (deps.mocha) {
|
|
382
|
+
return 'mocha';
|
|
383
|
+
}
|
|
384
|
+
|
|
385
|
+
throw ToolError.notFound(
|
|
386
|
+
`No supported test framework found in ${packageJsonPath}. ` +
|
|
387
|
+
`Expected one of jest, mocha or vitest in dependencies or devDependencies. ` +
|
|
388
|
+
`Pass framework explicitly to override.`
|
|
389
|
+
);
|
|
390
|
+
}
|
|
391
|
+
|
|
392
|
+
export const testRunnerTool = defineTool<
|
|
393
|
+
{
|
|
394
|
+
framework?: 'auto' | 'jest' | 'mocha' | 'vitest';
|
|
395
|
+
testFiles?: string[];
|
|
396
|
+
coverage?: boolean;
|
|
397
|
+
workingDirectory?: string;
|
|
398
|
+
},
|
|
399
|
+
TestRunResult & { detected: boolean }
|
|
400
|
+
>({
|
|
440
401
|
name: 'test_runner',
|
|
441
|
-
|
|
402
|
+
category: TOOL_CATEGORIES.INFRASTRUCTURE,
|
|
403
|
+
description:
|
|
404
|
+
'Run the project\'s tests, detecting whether it uses Jest, Mocha or Vitest from ' +
|
|
405
|
+
'package.json. passed is false when any test fails.',
|
|
442
406
|
inputSchema: {
|
|
443
407
|
type: 'object',
|
|
444
408
|
properties: {
|
|
@@ -446,7 +410,7 @@ export const testRunnerTool = {
|
|
|
446
410
|
type: 'string',
|
|
447
411
|
enum: ['auto', 'jest', 'mocha', 'vitest'],
|
|
448
412
|
default: 'auto',
|
|
449
|
-
description: 'Test framework
|
|
413
|
+
description: 'Test framework. "auto" reads it from package.json.'
|
|
450
414
|
},
|
|
451
415
|
testFiles: {
|
|
452
416
|
type: 'array',
|
|
@@ -456,98 +420,54 @@ export const testRunnerTool = {
|
|
|
456
420
|
coverage: {
|
|
457
421
|
type: 'boolean',
|
|
458
422
|
default: false,
|
|
459
|
-
description: 'Generate
|
|
460
|
-
},
|
|
461
|
-
watchMode: {
|
|
462
|
-
type: 'boolean',
|
|
463
|
-
default: false,
|
|
464
|
-
description: 'Run tests in watch mode'
|
|
423
|
+
description: 'Generate a coverage report'
|
|
465
424
|
},
|
|
466
|
-
workingDirectory:
|
|
467
|
-
type: 'string',
|
|
468
|
-
description: 'Working directory path (defaults to current directory)'
|
|
469
|
-
}
|
|
425
|
+
workingDirectory: workingDirectoryProperty
|
|
470
426
|
}
|
|
471
427
|
},
|
|
472
|
-
|
|
473
|
-
|
|
474
|
-
|
|
475
|
-
|
|
476
|
-
|
|
477
|
-
|
|
478
|
-
|
|
479
|
-
|
|
480
|
-
|
|
481
|
-
|
|
482
|
-
|
|
483
|
-
|
|
484
|
-
|
|
485
|
-
|
|
486
|
-
|
|
487
|
-
|
|
488
|
-
captureOutput: true
|
|
489
|
-
});
|
|
490
|
-
|
|
491
|
-
if (packageJsonResult.exitCode === 0 && packageJsonResult.stdout) {
|
|
492
|
-
try {
|
|
493
|
-
const packageJson = JSON.parse(packageJsonResult.stdout);
|
|
494
|
-
|
|
495
|
-
// Check dependencies and devDependencies
|
|
496
|
-
const allDeps = {
|
|
497
|
-
...packageJson.dependencies,
|
|
498
|
-
...packageJson.devDependencies
|
|
499
|
-
};
|
|
500
|
-
|
|
501
|
-
if (allDeps.vitest) {
|
|
502
|
-
framework = 'vitest';
|
|
503
|
-
} else if (allDeps.jest) {
|
|
504
|
-
framework = 'jest';
|
|
505
|
-
} else if (allDeps.mocha) {
|
|
506
|
-
framework = 'mocha';
|
|
507
|
-
} else {
|
|
508
|
-
framework = 'jest'; // Default fallback
|
|
509
|
-
}
|
|
510
|
-
} catch (parseError) {
|
|
511
|
-
framework = 'jest'; // Default fallback
|
|
512
|
-
}
|
|
513
|
-
} else {
|
|
514
|
-
framework = 'jest'; // Default fallback
|
|
428
|
+
run: async (input, context) => {
|
|
429
|
+
const workingDirectory = input.workingDirectory || process.cwd();
|
|
430
|
+
const requested = input.framework ?? 'auto';
|
|
431
|
+
|
|
432
|
+
const detected = requested === 'auto';
|
|
433
|
+
const framework = detected
|
|
434
|
+
? await detectFramework(workingDirectory)
|
|
435
|
+
: requested;
|
|
436
|
+
|
|
437
|
+
const args: string[] = [];
|
|
438
|
+
|
|
439
|
+
switch (framework) {
|
|
440
|
+
case 'jest':
|
|
441
|
+
args.push('--no-watchman', '--passWithNoTests');
|
|
442
|
+
if (input.coverage) {
|
|
443
|
+
args.push('--coverage');
|
|
515
444
|
}
|
|
516
|
-
|
|
517
|
-
|
|
518
|
-
|
|
519
|
-
|
|
520
|
-
|
|
521
|
-
return await jestTestTool.handler(args, context);
|
|
522
|
-
case 'mocha':
|
|
523
|
-
return await mochaTestTool.handler(args, context);
|
|
524
|
-
case 'vitest':
|
|
525
|
-
return await vitestTestTool.handler(args, context);
|
|
526
|
-
default:
|
|
527
|
-
throw new Error(`Unknown test framework: ${framework}`);
|
|
528
|
-
}
|
|
529
|
-
} catch (error) {
|
|
530
|
-
logger.error('Universal test runner failed', { error });
|
|
531
|
-
const content: McpToolResultContent = {
|
|
532
|
-
type: 'application/json',
|
|
533
|
-
data: {
|
|
534
|
-
success: false,
|
|
535
|
-
runner: 'unknown',
|
|
536
|
-
output: '',
|
|
537
|
-
errorOutput: '',
|
|
538
|
-
testsRun: 0,
|
|
539
|
-
testsPassed: 0,
|
|
540
|
-
testsFailed: 0,
|
|
541
|
-
executionTime: 0,
|
|
542
|
-
error: error instanceof Error ? error.message : String(error)
|
|
445
|
+
break;
|
|
446
|
+
case 'vitest':
|
|
447
|
+
args.push('run');
|
|
448
|
+
if (input.coverage) {
|
|
449
|
+
args.push('--coverage');
|
|
543
450
|
}
|
|
544
|
-
|
|
545
|
-
|
|
451
|
+
break;
|
|
452
|
+
case 'mocha':
|
|
453
|
+
if (input.coverage) {
|
|
454
|
+
throw ToolError.notImplemented(
|
|
455
|
+
'Mocha does not produce coverage on its own — run it under nyc or c8 instead.'
|
|
456
|
+
);
|
|
457
|
+
}
|
|
458
|
+
break;
|
|
459
|
+
}
|
|
460
|
+
|
|
461
|
+
if (input.testFiles && input.testFiles.length > 0) {
|
|
462
|
+
args.push(...input.testFiles);
|
|
546
463
|
}
|
|
464
|
+
|
|
465
|
+
const result = await runTestRunner(framework, args, workingDirectory, context);
|
|
466
|
+
|
|
467
|
+
return { ...result, detected };
|
|
547
468
|
}
|
|
548
|
-
};
|
|
469
|
+
});
|
|
549
470
|
|
|
550
|
-
// Export all test tools
|
|
551
471
|
export const testTools = [
|
|
552
472
|
jestTestTool,
|
|
553
473
|
mochaTestTool,
|