@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.
Files changed (1032) hide show
  1. package/README.md +19 -1
  2. package/dist/adapters/FrameworkAdapter.d.ts +1 -1
  3. package/dist/adapters/FrameworkAdapter.js +2 -2
  4. package/dist/adapters/FrameworkAdapter.js.map +1 -1
  5. package/dist/adapters/index.d.ts +1 -1
  6. package/dist/adapters/index.js +1 -1
  7. package/dist/config/ConfigManager.d.ts +10 -9
  8. package/dist/config/ConfigManager.d.ts.map +1 -1
  9. package/dist/config/ConfigManager.js +48 -18
  10. package/dist/config/ConfigManager.js.map +1 -1
  11. package/dist/config/McpPromptsConfig.d.ts +1 -1
  12. package/dist/config/McpPromptsConfig.js +1 -1
  13. package/dist/config/ModelContextLimits.d.ts +1 -1
  14. package/dist/config/ModelContextLimits.js +1 -1
  15. package/dist/config/PromptCompactionConfig.d.ts +1 -1
  16. package/dist/config/PromptCompactionConfig.js +1 -1
  17. package/dist/config/PromptConfig.d.ts +1 -1
  18. package/dist/config/PromptConfig.js +1 -1
  19. package/dist/config/ServerConfig.d.ts +1 -1
  20. package/dist/config/ServerConfig.js +1 -1
  21. package/dist/config/dag.config.d.ts +1 -1
  22. package/dist/config/dag.config.js +1 -1
  23. package/dist/config/knowledge-graph.config.d.ts +1 -1
  24. package/dist/config/knowledge-graph.config.js +1 -1
  25. package/dist/config/memory-strata.config.d.ts +25 -0
  26. package/dist/config/memory-strata.config.d.ts.map +1 -0
  27. package/dist/config/memory-strata.config.js +107 -0
  28. package/dist/config/memory-strata.config.js.map +1 -0
  29. package/dist/config/orpar-memory.config.d.ts +1 -1
  30. package/dist/config/orpar-memory.config.js +1 -1
  31. package/dist/config/tensorflow.config.d.ts +1 -1
  32. package/dist/config/tensorflow.config.js +1 -1
  33. package/dist/constants/CoreTools.d.ts +1 -1
  34. package/dist/constants/CoreTools.js +1 -1
  35. package/dist/constants/DefaultPhaseProfiles.d.ts +1 -1
  36. package/dist/constants/DefaultPhaseProfiles.js +1 -1
  37. package/dist/constants/ToolNames.d.ts +2 -30
  38. package/dist/constants/ToolNames.d.ts.map +1 -1
  39. package/dist/constants/ToolNames.js +5 -18
  40. package/dist/constants/ToolNames.js.map +1 -1
  41. package/dist/database/DatabaseAdapterFactory.d.ts +15 -3
  42. package/dist/database/DatabaseAdapterFactory.d.ts.map +1 -1
  43. package/dist/database/DatabaseAdapterFactory.js +22 -7
  44. package/dist/database/DatabaseAdapterFactory.js.map +1 -1
  45. package/dist/database/adapters/mongodb/MongoAgentRepository.d.ts +1 -1
  46. package/dist/database/adapters/mongodb/MongoAgentRepository.js +1 -1
  47. package/dist/database/adapters/mongodb/MongoBaseRepository.d.ts +8 -2
  48. package/dist/database/adapters/mongodb/MongoBaseRepository.d.ts.map +1 -1
  49. package/dist/database/adapters/mongodb/MongoBaseRepository.js +13 -3
  50. package/dist/database/adapters/mongodb/MongoBaseRepository.js.map +1 -1
  51. package/dist/database/adapters/mongodb/MongoChannelRepository.d.ts +1 -1
  52. package/dist/database/adapters/mongodb/MongoChannelRepository.js +1 -1
  53. package/dist/database/adapters/mongodb/MongoDagRepository.d.ts +1 -1
  54. package/dist/database/adapters/mongodb/MongoDagRepository.js +1 -1
  55. package/dist/database/adapters/mongodb/MongoKnowledgeGraphRepository.d.ts +1 -1
  56. package/dist/database/adapters/mongodb/MongoKnowledgeGraphRepository.js +1 -1
  57. package/dist/database/adapters/mongodb/MongoMemoryRepository.d.ts +1 -1
  58. package/dist/database/adapters/mongodb/MongoMemoryRepository.js +1 -1
  59. package/dist/database/adapters/mongodb/MongoTaskRepository.d.ts +1 -1
  60. package/dist/database/adapters/mongodb/MongoTaskRepository.js +1 -1
  61. package/dist/database/adapters/mongodb/index.d.ts +1 -1
  62. package/dist/database/adapters/mongodb/index.js +1 -1
  63. package/dist/database/index.d.ts +1 -1
  64. package/dist/database/index.js +1 -1
  65. package/dist/events/ClientEventBus.d.ts +17 -78
  66. package/dist/events/ClientEventBus.d.ts.map +1 -1
  67. package/dist/events/ClientEventBus.js +39 -312
  68. package/dist/events/ClientEventBus.js.map +1 -1
  69. package/dist/events/EventBus.d.ts +2 -2
  70. package/dist/events/EventBus.d.ts.map +1 -1
  71. package/dist/events/EventBus.js +6 -5
  72. package/dist/events/EventBus.js.map +1 -1
  73. package/dist/events/EventBusBase.d.ts +140 -35
  74. package/dist/events/EventBusBase.d.ts.map +1 -1
  75. package/dist/events/EventBusBase.js +367 -89
  76. package/dist/events/EventBusBase.js.map +1 -1
  77. package/dist/events/EventNames.d.ts +11 -2
  78. package/dist/events/EventNames.d.ts.map +1 -1
  79. package/dist/events/EventNames.js +4 -1
  80. package/dist/events/EventNames.js.map +1 -1
  81. package/dist/events/PublicEvents.d.ts +7 -3
  82. package/dist/events/PublicEvents.d.ts.map +1 -1
  83. package/dist/events/PublicEvents.js +8 -5
  84. package/dist/events/PublicEvents.js.map +1 -1
  85. package/dist/events/ServerEventBus.d.ts +24 -113
  86. package/dist/events/ServerEventBus.d.ts.map +1 -1
  87. package/dist/events/ServerEventBus.js +59 -324
  88. package/dist/events/ServerEventBus.js.map +1 -1
  89. package/dist/events/event-definitions/AgentEvents.d.ts +1 -1
  90. package/dist/events/event-definitions/AgentEvents.js +1 -1
  91. package/dist/events/event-definitions/AnalyticsEvents.d.ts +1 -1
  92. package/dist/events/event-definitions/AnalyticsEvents.js +1 -1
  93. package/dist/events/event-definitions/BulkEvents.d.ts +1 -1
  94. package/dist/events/event-definitions/BulkEvents.js +1 -1
  95. package/dist/events/event-definitions/ChannelEvents.d.ts +1 -1
  96. package/dist/events/event-definitions/ChannelEvents.js +1 -1
  97. package/dist/events/event-definitions/CodeExecutionEvents.d.ts +1 -1
  98. package/dist/events/event-definitions/CodeExecutionEvents.js +1 -1
  99. package/dist/events/event-definitions/CompactionEvents.d.ts +1 -1
  100. package/dist/events/event-definitions/CompactionEvents.js +1 -1
  101. package/dist/events/event-definitions/ConfigEvents.d.ts +1 -1
  102. package/dist/events/event-definitions/ConfigEvents.js +1 -1
  103. package/dist/events/event-definitions/ControlLoopEvents.d.ts +1 -1
  104. package/dist/events/event-definitions/ControlLoopEvents.js +1 -1
  105. package/dist/events/event-definitions/DagEvents.d.ts +1 -1
  106. package/dist/events/event-definitions/DagEvents.js +1 -1
  107. package/dist/events/event-definitions/HeartbeatEvents.d.ts +1 -1
  108. package/dist/events/event-definitions/HeartbeatEvents.js +1 -1
  109. package/dist/events/event-definitions/InferenceParameterEvents.d.ts +1 -1
  110. package/dist/events/event-definitions/InferenceParameterEvents.js +1 -1
  111. package/dist/events/event-definitions/KeyEvents.d.ts +1 -1
  112. package/dist/events/event-definitions/KeyEvents.js +1 -1
  113. package/dist/events/event-definitions/KnowledgeGraphEvents.d.ts +1 -1
  114. package/dist/events/event-definitions/KnowledgeGraphEvents.js +1 -1
  115. package/dist/events/event-definitions/LlmBudgetEvents.d.ts +68 -0
  116. package/dist/events/event-definitions/LlmBudgetEvents.d.ts.map +1 -0
  117. package/dist/events/event-definitions/LlmBudgetEvents.js +35 -0
  118. package/dist/events/event-definitions/LlmBudgetEvents.js.map +1 -0
  119. package/dist/events/event-definitions/LlmEvents.d.ts +1 -1
  120. package/dist/events/event-definitions/LlmEvents.js +1 -1
  121. package/dist/events/event-definitions/McpEvents.d.ts +1 -1
  122. package/dist/events/event-definitions/McpEvents.js +1 -1
  123. package/dist/events/event-definitions/MeilisearchEvents.d.ts +1 -1
  124. package/dist/events/event-definitions/MeilisearchEvents.js +1 -1
  125. package/dist/events/event-definitions/MemoryEvents.d.ts +1 -1
  126. package/dist/events/event-definitions/MemoryEvents.js +1 -1
  127. package/dist/events/event-definitions/MemoryUtilityEvents.d.ts +1 -1
  128. package/dist/events/event-definitions/MemoryUtilityEvents.js +1 -1
  129. package/dist/events/event-definitions/MessageEvents.d.ts +1 -1
  130. package/dist/events/event-definitions/MessageEvents.js +1 -1
  131. package/dist/events/event-definitions/MxpEvents.d.ts +1 -1
  132. package/dist/events/event-definitions/MxpEvents.js +1 -1
  133. package/dist/events/event-definitions/OrparEvents.d.ts +1 -1
  134. package/dist/events/event-definitions/OrparEvents.js +1 -1
  135. package/dist/events/event-definitions/OrparMemoryEvents.d.ts +1 -1
  136. package/dist/events/event-definitions/OrparMemoryEvents.js +1 -1
  137. package/dist/events/event-definitions/PlanEvents.d.ts +1 -1
  138. package/dist/events/event-definitions/PlanEvents.js +1 -1
  139. package/dist/events/event-definitions/ProgressEvents.d.ts +1 -1
  140. package/dist/events/event-definitions/ProgressEvents.js +1 -1
  141. package/dist/events/event-definitions/ShellExecutionEvents.d.ts +1 -1
  142. package/dist/events/event-definitions/ShellExecutionEvents.js +1 -1
  143. package/dist/events/event-definitions/SystemEvents.d.ts +1 -1
  144. package/dist/events/event-definitions/SystemEvents.js +1 -1
  145. package/dist/events/event-definitions/TaskEvents.d.ts +1 -1
  146. package/dist/events/event-definitions/TaskEvents.js +1 -1
  147. package/dist/events/event-definitions/TensorFlowEvents.d.ts +1 -1
  148. package/dist/events/event-definitions/TensorFlowEvents.js +1 -1
  149. package/dist/events/event-definitions/UserInputEvents.d.ts +1 -1
  150. package/dist/events/event-definitions/UserInputEvents.js +1 -1
  151. package/dist/events/event-definitions/WorkflowEvents.d.ts +1 -1
  152. package/dist/events/event-definitions/WorkflowEvents.js +1 -1
  153. package/dist/interfaces/AgentContext.d.ts +1 -1
  154. package/dist/interfaces/AgentContext.js +1 -1
  155. package/dist/interfaces/AgentInterfaces.d.ts +8 -1
  156. package/dist/interfaces/AgentInterfaces.d.ts.map +1 -1
  157. package/dist/interfaces/AgentInterfaces.js +1 -1
  158. package/dist/interfaces/Channel.d.ts +1 -1
  159. package/dist/interfaces/Channel.js +1 -1
  160. package/dist/interfaces/ChannelConfig.d.ts +1 -1
  161. package/dist/interfaces/ChannelConfig.js +1 -1
  162. package/dist/interfaces/ChannelConnectionConfig.d.ts +1 -1
  163. package/dist/interfaces/ChannelConnectionConfig.js +1 -1
  164. package/dist/interfaces/ChannelInfo.d.ts +1 -1
  165. package/dist/interfaces/ChannelInfo.js +1 -1
  166. package/dist/interfaces/ConversationMessage.d.ts +1 -1
  167. package/dist/interfaces/ConversationMessage.js +1 -1
  168. package/dist/interfaces/ILlmTopicExtractor.d.ts +1 -1
  169. package/dist/interfaces/ILlmTopicExtractor.js +1 -1
  170. package/dist/interfaces/IMemoryPersistence.d.ts +41 -0
  171. package/dist/interfaces/IMemoryPersistence.d.ts.map +1 -0
  172. package/dist/interfaces/IMemoryPersistence.js +15 -0
  173. package/dist/interfaces/IMemoryPersistence.js.map +1 -0
  174. package/dist/interfaces/SocketServiceInterface.d.ts +1 -1
  175. package/dist/interfaces/SocketServiceInterface.js +1 -1
  176. package/dist/interfaces/TaskInterfaces.d.ts +1 -1
  177. package/dist/interfaces/TaskInterfaces.js +1 -1
  178. package/dist/middleware/MxpMiddleware.d.ts +9 -2
  179. package/dist/middleware/MxpMiddleware.d.ts.map +1 -1
  180. package/dist/middleware/MxpMiddleware.js +43 -21
  181. package/dist/middleware/MxpMiddleware.js.map +1 -1
  182. package/dist/models/PatternLearningModels.d.ts +1 -1
  183. package/dist/models/PatternLearningModels.js +1 -1
  184. package/dist/models/agent.d.ts +1 -1
  185. package/dist/models/agent.js +1 -1
  186. package/dist/models/auditLog.d.ts +1 -1
  187. package/dist/models/auditLog.js +1 -1
  188. package/dist/models/channel.d.ts +1 -1
  189. package/dist/models/channel.js +1 -1
  190. package/dist/models/channelKey.d.ts +2 -1
  191. package/dist/models/channelKey.d.ts.map +1 -1
  192. package/dist/models/channelKey.js +6 -1
  193. package/dist/models/channelKey.js.map +1 -1
  194. package/dist/models/codeExecution.d.ts +1 -1
  195. package/dist/models/codeExecution.js +1 -1
  196. package/dist/models/controlLoop.d.ts +1 -1
  197. package/dist/models/controlLoop.js +1 -1
  198. package/dist/models/coordination.d.ts +1 -1
  199. package/dist/models/coordination.js +1 -1
  200. package/dist/models/document.d.ts +1 -1
  201. package/dist/models/document.js +1 -1
  202. package/dist/models/entity.d.ts +1 -1
  203. package/dist/models/entity.js +1 -1
  204. package/dist/models/mcpTool.d.ts +1 -1
  205. package/dist/models/mcpTool.js +1 -1
  206. package/dist/models/mcpToolExecution.d.ts +1 -1
  207. package/dist/models/mcpToolExecution.js +1 -1
  208. package/dist/models/memory.d.ts +1 -1
  209. package/dist/models/memory.js +1 -1
  210. package/dist/models/memoryStrata.d.ts +1 -1
  211. package/dist/models/memoryStrata.js +1 -1
  212. package/dist/models/memoryUtility.d.ts +39 -0
  213. package/dist/models/memoryUtility.d.ts.map +1 -0
  214. package/dist/models/memoryUtility.js +39 -0
  215. package/dist/models/memoryUtility.js.map +1 -0
  216. package/dist/models/personalAccessToken.d.ts +1 -1
  217. package/dist/models/personalAccessToken.js +1 -1
  218. package/dist/models/plan.d.ts +1 -1
  219. package/dist/models/plan.js +1 -1
  220. package/dist/models/relationship.d.ts +1 -1
  221. package/dist/models/relationship.js +1 -1
  222. package/dist/models/shellOutput.d.ts +1 -1
  223. package/dist/models/shellOutput.js +1 -1
  224. package/dist/models/task.d.ts +1 -1
  225. package/dist/models/task.js +1 -1
  226. package/dist/models/taskEffectiveness.d.ts +1 -1
  227. package/dist/models/taskEffectiveness.js +1 -1
  228. package/dist/models/tool.d.ts +1 -1
  229. package/dist/models/tool.js +1 -1
  230. package/dist/models/toolExecution.d.ts +1 -1
  231. package/dist/models/toolExecution.js +1 -1
  232. package/dist/models/toolModels.d.ts +1 -1
  233. package/dist/models/toolModels.js +1 -1
  234. package/dist/models/user.d.ts +1 -1
  235. package/dist/models/user.d.ts.map +1 -1
  236. package/dist/models/user.js +24 -2
  237. package/dist/models/user.js.map +1 -1
  238. package/dist/models/userMemory.d.ts +1 -1
  239. package/dist/models/userMemory.js +1 -1
  240. package/dist/mxp/BinaryProtocolLayer.d.ts +25 -9
  241. package/dist/mxp/BinaryProtocolLayer.d.ts.map +1 -1
  242. package/dist/mxp/BinaryProtocolLayer.js +91 -104
  243. package/dist/mxp/BinaryProtocolLayer.js.map +1 -1
  244. package/dist/mxp/ContextCompressionEngine.d.ts +58 -11
  245. package/dist/mxp/ContextCompressionEngine.d.ts.map +1 -1
  246. package/dist/mxp/ContextCompressionEngine.js +171 -129
  247. package/dist/mxp/ContextCompressionEngine.js.map +1 -1
  248. package/dist/mxp/MxpConfigManager.d.ts +1 -1
  249. package/dist/mxp/MxpConfigManager.js +1 -1
  250. package/dist/mxp/MxpTokenOptimizer.d.ts +8 -4
  251. package/dist/mxp/MxpTokenOptimizer.d.ts.map +1 -1
  252. package/dist/mxp/MxpTokenOptimizer.js +9 -6
  253. package/dist/mxp/MxpTokenOptimizer.js.map +1 -1
  254. package/dist/prompts/ChannelContextProvider.d.ts +1 -1
  255. package/dist/prompts/ChannelContextProvider.js +1 -1
  256. package/dist/prompts/DeferredToolSchemaRegistry.d.ts +1 -1
  257. package/dist/prompts/DeferredToolSchemaRegistry.js +1 -1
  258. package/dist/prompts/DynamicContextProvider.d.ts +1 -1
  259. package/dist/prompts/DynamicContextProvider.js +1 -1
  260. package/dist/prompts/MemoryPromptInjector.d.ts +1 -1
  261. package/dist/prompts/MemoryPromptInjector.js +1 -1
  262. package/dist/prompts/MxfAgentSystemPrompt.d.ts +2 -2
  263. package/dist/prompts/MxfAgentSystemPrompt.d.ts.map +1 -1
  264. package/dist/prompts/MxfAgentSystemPrompt.js +48 -58
  265. package/dist/prompts/MxfAgentSystemPrompt.js.map +1 -1
  266. package/dist/prompts/PromptSegmentRegistry.d.ts +1 -1
  267. package/dist/prompts/PromptSegmentRegistry.js +1 -1
  268. package/dist/prompts/ToolBehavioralGuidance.d.ts +1 -1
  269. package/dist/prompts/ToolBehavioralGuidance.js +1 -1
  270. package/dist/protocols/binaryProtocol.d.ts +1 -1
  271. package/dist/protocols/binaryProtocol.js +1 -1
  272. package/dist/protocols/mcp/ClientExecutableManifest.d.ts +1 -1
  273. package/dist/protocols/mcp/ClientExecutableManifest.js +1 -1
  274. package/dist/protocols/mcp/IMcpClient.d.ts +1 -1
  275. package/dist/protocols/mcp/IMcpClient.js +1 -1
  276. package/dist/protocols/mcp/LlmProviderFactory.d.ts +1 -1
  277. package/dist/protocols/mcp/LlmProviderFactory.js +1 -1
  278. package/dist/protocols/mcp/LlmProviders.d.ts +1 -1
  279. package/dist/protocols/mcp/LlmProviders.js +1 -1
  280. package/dist/protocols/mcp/McpClient.d.ts +1 -1
  281. package/dist/protocols/mcp/McpClient.js +1 -1
  282. package/dist/protocols/mcp/McpClientFactory.d.ts +1 -1
  283. package/dist/protocols/mcp/McpClientFactory.js +1 -1
  284. package/dist/protocols/mcp/McpServerTypes.d.ts +1 -1
  285. package/dist/protocols/mcp/McpServerTypes.js +1 -1
  286. package/dist/protocols/mcp/McpToolCallParser.d.ts +1 -1
  287. package/dist/protocols/mcp/McpToolCallParser.js +1 -1
  288. package/dist/protocols/mcp/McpToolSchema.d.ts +1 -1
  289. package/dist/protocols/mcp/McpToolSchema.js +1 -1
  290. package/dist/protocols/mcp/ToolError.d.ts +123 -0
  291. package/dist/protocols/mcp/ToolError.d.ts.map +1 -0
  292. package/dist/protocols/mcp/ToolError.js +108 -0
  293. package/dist/protocols/mcp/ToolError.js.map +1 -0
  294. package/dist/protocols/mcp/converters/IFormatConverter.d.ts +1 -1
  295. package/dist/protocols/mcp/converters/IFormatConverter.js +1 -1
  296. package/dist/protocols/mcp/converters/UnifiedMessageConverter.d.ts +1 -1
  297. package/dist/protocols/mcp/converters/UnifiedMessageConverter.js +1 -1
  298. package/dist/protocols/mcp/converters/adapters/AnthropicMessageAdapter.d.ts +1 -1
  299. package/dist/protocols/mcp/converters/adapters/AnthropicMessageAdapter.js +1 -1
  300. package/dist/protocols/mcp/converters/adapters/GeminiMessageAdapter.d.ts +1 -1
  301. package/dist/protocols/mcp/converters/adapters/GeminiMessageAdapter.js +1 -1
  302. package/dist/protocols/mcp/converters/adapters/OpenAiMessageAdapter.d.ts +1 -1
  303. package/dist/protocols/mcp/converters/adapters/OpenAiMessageAdapter.js +1 -1
  304. package/dist/protocols/mcp/converters/adapters/OpenRouterMessageAdapter.d.ts +1 -1
  305. package/dist/protocols/mcp/converters/adapters/OpenRouterMessageAdapter.js +1 -1
  306. package/dist/protocols/mcp/converters/adapters/XaiMessageAdapter.d.ts +1 -1
  307. package/dist/protocols/mcp/converters/adapters/XaiMessageAdapter.js +1 -1
  308. package/dist/protocols/mcp/defineTool.d.ts +133 -0
  309. package/dist/protocols/mcp/defineTool.d.ts.map +1 -0
  310. package/dist/protocols/mcp/defineTool.js +236 -0
  311. package/dist/protocols/mcp/defineTool.js.map +1 -0
  312. package/dist/protocols/mcp/providers/AnthropicMcpClient.d.ts +1 -1
  313. package/dist/protocols/mcp/providers/AnthropicMcpClient.js +1 -1
  314. package/dist/protocols/mcp/providers/AzureOpenAiMcpClient.d.ts +1 -1
  315. package/dist/protocols/mcp/providers/AzureOpenAiMcpClient.js +1 -1
  316. package/dist/protocols/mcp/providers/BaseMcpClient.d.ts +1 -1
  317. package/dist/protocols/mcp/providers/BaseMcpClient.js +1 -1
  318. package/dist/protocols/mcp/providers/CustomMcpClient.d.ts +1 -1
  319. package/dist/protocols/mcp/providers/CustomMcpClient.js +1 -1
  320. package/dist/protocols/mcp/providers/GeminiMcpClient.d.ts +1 -1
  321. package/dist/protocols/mcp/providers/GeminiMcpClient.js +1 -1
  322. package/dist/protocols/mcp/providers/OllamaMcpClient.d.ts +1 -1
  323. package/dist/protocols/mcp/providers/OllamaMcpClient.js +1 -1
  324. package/dist/protocols/mcp/providers/OpenAiMcpClient.d.ts +1 -1
  325. package/dist/protocols/mcp/providers/OpenAiMcpClient.js +1 -1
  326. package/dist/protocols/mcp/providers/OpenRouterMcpClient.d.ts +15 -1
  327. package/dist/protocols/mcp/providers/OpenRouterMcpClient.d.ts.map +1 -1
  328. package/dist/protocols/mcp/providers/OpenRouterMcpClient.js +32 -22
  329. package/dist/protocols/mcp/providers/OpenRouterMcpClient.js.map +1 -1
  330. package/dist/protocols/mcp/providers/XaiMcpClient.d.ts +1 -1
  331. package/dist/protocols/mcp/providers/XaiMcpClient.js +1 -1
  332. package/dist/protocols/mcp/security/HttpTargetGuard.d.ts +38 -0
  333. package/dist/protocols/mcp/security/HttpTargetGuard.d.ts.map +1 -0
  334. package/dist/protocols/mcp/security/HttpTargetGuard.js +227 -0
  335. package/dist/protocols/mcp/security/HttpTargetGuard.js.map +1 -0
  336. package/dist/protocols/mcp/security/McpConfirmationManager.d.ts +1 -1
  337. package/dist/protocols/mcp/security/McpConfirmationManager.js +1 -1
  338. package/dist/protocols/mcp/security/McpSecurityConfig.d.ts +1 -1
  339. package/dist/protocols/mcp/security/McpSecurityConfig.js +1 -1
  340. package/dist/protocols/mcp/security/McpSecurityGuard.d.ts +10 -2
  341. package/dist/protocols/mcp/security/McpSecurityGuard.d.ts.map +1 -1
  342. package/dist/protocols/mcp/security/McpSecurityGuard.js +11 -3
  343. package/dist/protocols/mcp/security/McpSecurityGuard.js.map +1 -1
  344. package/dist/protocols/mcp/security/McpToolPolicy.d.ts +81 -0
  345. package/dist/protocols/mcp/security/McpToolPolicy.d.ts.map +1 -0
  346. package/dist/protocols/mcp/security/McpToolPolicy.js +202 -0
  347. package/dist/protocols/mcp/security/McpToolPolicy.js.map +1 -0
  348. package/dist/protocols/mcp/security/index.d.ts +1 -1
  349. package/dist/protocols/mcp/security/index.js +1 -1
  350. package/dist/protocols/mcp/services/ExternalMcpServerManager.d.ts +52 -19
  351. package/dist/protocols/mcp/services/ExternalMcpServerManager.d.ts.map +1 -1
  352. package/dist/protocols/mcp/services/ExternalMcpServerManager.js +257 -284
  353. package/dist/protocols/mcp/services/ExternalMcpServerManager.js.map +1 -1
  354. package/dist/protocols/mcp/services/ExternalServerConfigs.d.ts +40 -7
  355. package/dist/protocols/mcp/services/ExternalServerConfigs.d.ts.map +1 -1
  356. package/dist/protocols/mcp/services/ExternalServerConfigs.js +77 -19
  357. package/dist/protocols/mcp/services/ExternalServerConfigs.js.map +1 -1
  358. package/dist/protocols/mcp/services/IToolEventEmitter.d.ts +1 -1
  359. package/dist/protocols/mcp/services/IToolEventEmitter.js +1 -1
  360. package/dist/protocols/mcp/tools/AnalyticsTools.d.ts +1 -1
  361. package/dist/protocols/mcp/tools/AnalyticsTools.js +2 -2
  362. package/dist/protocols/mcp/tools/AnalyticsTools.js.map +1 -1
  363. package/dist/protocols/mcp/tools/CodeAnalysisTools.d.ts +1 -1
  364. package/dist/protocols/mcp/tools/CodeAnalysisTools.d.ts.map +1 -1
  365. package/dist/protocols/mcp/tools/CodeAnalysisTools.js +16 -1
  366. package/dist/protocols/mcp/tools/CodeAnalysisTools.js.map +1 -1
  367. package/dist/protocols/mcp/tools/DateTimeTools.d.ts +1 -1
  368. package/dist/protocols/mcp/tools/DateTimeTools.js +1 -1
  369. package/dist/protocols/mcp/tools/EffectivenessTools.d.ts +1 -1
  370. package/dist/protocols/mcp/tools/EffectivenessTools.js +4 -4
  371. package/dist/protocols/mcp/tools/EffectivenessTools.js.map +1 -1
  372. package/dist/protocols/mcp/tools/GitTools.d.ts +10 -370
  373. package/dist/protocols/mcp/tools/GitTools.d.ts.map +1 -1
  374. package/dist/protocols/mcp/tools/GitTools.js +223 -518
  375. package/dist/protocols/mcp/tools/GitTools.js.map +1 -1
  376. package/dist/protocols/mcp/tools/InfrastructureTools.d.ts +57 -25
  377. package/dist/protocols/mcp/tools/InfrastructureTools.d.ts.map +1 -1
  378. package/dist/protocols/mcp/tools/InfrastructureTools.js +118 -27
  379. package/dist/protocols/mcp/tools/InfrastructureTools.js.map +1 -1
  380. package/dist/protocols/mcp/tools/JsonTools.d.ts +1 -1
  381. package/dist/protocols/mcp/tools/JsonTools.js +1 -1
  382. package/dist/protocols/mcp/tools/KnowledgeGraphTools.d.ts +1 -1
  383. package/dist/protocols/mcp/tools/KnowledgeGraphTools.js +1 -1
  384. package/dist/protocols/mcp/tools/MemorySearchTools.d.ts +1 -4
  385. package/dist/protocols/mcp/tools/MemorySearchTools.d.ts.map +1 -1
  386. package/dist/protocols/mcp/tools/MemorySearchTools.js +59 -2
  387. package/dist/protocols/mcp/tools/MemorySearchTools.js.map +1 -1
  388. package/dist/protocols/mcp/tools/MemoryUtilityTools.d.ts +1 -1
  389. package/dist/protocols/mcp/tools/MemoryUtilityTools.js +1 -1
  390. package/dist/protocols/mcp/tools/OrparTools.d.ts +9 -1
  391. package/dist/protocols/mcp/tools/OrparTools.d.ts.map +1 -1
  392. package/dist/protocols/mcp/tools/OrparTools.js +67 -1
  393. package/dist/protocols/mcp/tools/OrparTools.js.map +1 -1
  394. package/dist/protocols/mcp/tools/PlanningTools.d.ts +1 -1
  395. package/dist/protocols/mcp/tools/PlanningTools.js +1 -1
  396. package/dist/protocols/mcp/tools/PredictiveTools.d.ts +1 -1
  397. package/dist/protocols/mcp/tools/PredictiveTools.js +1 -1
  398. package/dist/protocols/mcp/tools/ProgressTools.d.ts +1 -1
  399. package/dist/protocols/mcp/tools/ProgressTools.js +1 -1
  400. package/dist/protocols/mcp/tools/ProjectContextTools.d.ts +1 -1
  401. package/dist/protocols/mcp/tools/ProjectContextTools.js +1 -1
  402. package/dist/protocols/mcp/tools/SafetyTools.d.ts +8 -526
  403. package/dist/protocols/mcp/tools/SafetyTools.d.ts.map +1 -1
  404. package/dist/protocols/mcp/tools/SafetyTools.js +350 -515
  405. package/dist/protocols/mcp/tools/SafetyTools.js.map +1 -1
  406. package/dist/protocols/mcp/tools/SearchProjectTools.d.ts +1 -1
  407. package/dist/protocols/mcp/tools/SearchProjectTools.js +1 -1
  408. package/dist/protocols/mcp/tools/TaskPlanningTools.d.ts +1 -1
  409. package/dist/protocols/mcp/tools/TaskPlanningTools.d.ts.map +1 -1
  410. package/dist/protocols/mcp/tools/TaskPlanningTools.js +57 -27
  411. package/dist/protocols/mcp/tools/TaskPlanningTools.js.map +1 -1
  412. package/dist/protocols/mcp/tools/TestTools.d.ts +16 -377
  413. package/dist/protocols/mcp/tools/TestTools.d.ts.map +1 -1
  414. package/dist/protocols/mcp/tools/TestTools.js +242 -364
  415. package/dist/protocols/mcp/tools/TestTools.js.map +1 -1
  416. package/dist/protocols/mcp/tools/ToolHelpTools.d.ts +1 -1
  417. package/dist/protocols/mcp/tools/ToolHelpTools.js +1 -1
  418. package/dist/protocols/mcp/tools/TypeScriptTools.d.ts +7 -277
  419. package/dist/protocols/mcp/tools/TypeScriptTools.d.ts.map +1 -1
  420. package/dist/protocols/mcp/tools/TypeScriptTools.js +224 -338
  421. package/dist/protocols/mcp/tools/TypeScriptTools.js.map +1 -1
  422. package/dist/protocols/mcp/tools/UserInputTools.d.ts +1 -1
  423. package/dist/protocols/mcp/tools/UserInputTools.js +1 -1
  424. package/dist/protocols/mcp/tools/UserMemoryTools.d.ts +1 -1
  425. package/dist/protocols/mcp/tools/UserMemoryTools.js +1 -1
  426. package/dist/protocols/mcp/tools/WebTools.d.ts +16 -729
  427. package/dist/protocols/mcp/tools/WebTools.d.ts.map +1 -1
  428. package/dist/protocols/mcp/tools/WebTools.js +152 -258
  429. package/dist/protocols/mcp/tools/WebTools.js.map +1 -1
  430. package/dist/protocols/mcp/tools/WolframTools.d.ts +1 -1
  431. package/dist/protocols/mcp/tools/WolframTools.js +1 -1
  432. package/dist/protocols/mcp/tools/shell/CommandClassification.d.ts +1 -1
  433. package/dist/protocols/mcp/tools/shell/CommandClassification.js +1 -1
  434. package/dist/protocols/mcp/tools/shell/CommandSemantics.d.ts +1 -1
  435. package/dist/protocols/mcp/tools/shell/CommandSemantics.js +1 -1
  436. package/dist/protocols/mcp/tools/shell/DestructiveCommandWarnings.d.ts +1 -1
  437. package/dist/protocols/mcp/tools/shell/DestructiveCommandWarnings.js +1 -1
  438. package/dist/protocols/mcp/tools/shell/LargeOutputHandler.d.ts +1 -1
  439. package/dist/protocols/mcp/tools/shell/LargeOutputHandler.js +1 -1
  440. package/dist/protocols/mcp/tools/shell/ShellExecuteHandler.d.ts +6 -4
  441. package/dist/protocols/mcp/tools/shell/ShellExecuteHandler.d.ts.map +1 -1
  442. package/dist/protocols/mcp/tools/shell/ShellExecuteHandler.js +32 -7
  443. package/dist/protocols/mcp/tools/shell/ShellExecuteHandler.js.map +1 -1
  444. package/dist/protocols/mcp/tools/shell/ShellSandbox.d.ts +1 -1
  445. package/dist/protocols/mcp/tools/shell/ShellSandbox.js +1 -1
  446. package/dist/protocols/mcp/tools/shell/index.d.ts +1 -1
  447. package/dist/protocols/mcp/tools/shell/index.js +1 -1
  448. package/dist/protocols/mcp/utils/JsonRecovery.d.ts +1 -1
  449. package/dist/protocols/mcp/utils/JsonRecovery.js +1 -1
  450. package/dist/protocols/mcp/utils/MessageConverters.d.ts +1 -1
  451. package/dist/protocols/mcp/utils/MessageConverters.js +1 -1
  452. package/dist/protocols/mcp/utils/NetworkRecovery.d.ts +1 -1
  453. package/dist/protocols/mcp/utils/NetworkRecovery.js +1 -1
  454. package/dist/protocols/mcp/utils/ToolHandlers.d.ts +1 -1
  455. package/dist/protocols/mcp/utils/ToolHandlers.js +1 -1
  456. package/dist/repositories/interfaces/IAgentRepository.d.ts +1 -1
  457. package/dist/repositories/interfaces/IAgentRepository.js +1 -1
  458. package/dist/repositories/interfaces/IBaseRepository.d.ts +1 -1
  459. package/dist/repositories/interfaces/IBaseRepository.js +1 -1
  460. package/dist/repositories/interfaces/IChannelRepository.d.ts +1 -1
  461. package/dist/repositories/interfaces/IChannelRepository.js +1 -1
  462. package/dist/repositories/interfaces/IDagRepository.d.ts +1 -1
  463. package/dist/repositories/interfaces/IDagRepository.js +1 -1
  464. package/dist/repositories/interfaces/IKnowledgeGraphRepository.d.ts +1 -1
  465. package/dist/repositories/interfaces/IKnowledgeGraphRepository.js +1 -1
  466. package/dist/repositories/interfaces/IMemoryRepository.d.ts +1 -1
  467. package/dist/repositories/interfaces/IMemoryRepository.js +1 -1
  468. package/dist/repositories/interfaces/ITaskRepository.d.ts +1 -1
  469. package/dist/repositories/interfaces/ITaskRepository.js +1 -1
  470. package/dist/repositories/interfaces/index.d.ts +1 -1
  471. package/dist/repositories/interfaces/index.js +1 -1
  472. package/dist/repositories/types/FilterTypes.d.ts +1 -1
  473. package/dist/repositories/types/FilterTypes.js +1 -1
  474. package/dist/repositories/types/PaginationTypes.d.ts +1 -1
  475. package/dist/repositories/types/PaginationTypes.js +1 -1
  476. package/dist/schemas/CodeExecutionEventPayloads.d.ts +1 -1
  477. package/dist/schemas/CodeExecutionEventPayloads.js +1 -1
  478. package/dist/schemas/EventPayloadSchema.d.ts +22 -1
  479. package/dist/schemas/EventPayloadSchema.d.ts.map +1 -1
  480. package/dist/schemas/EventPayloadSchema.js +15 -1
  481. package/dist/schemas/EventPayloadSchema.js.map +1 -1
  482. package/dist/schemas/JsonResponseSchemas.d.ts +1 -1
  483. package/dist/schemas/JsonResponseSchemas.js +1 -1
  484. package/dist/schemas/MessageSchemas.d.ts +1 -1
  485. package/dist/schemas/MessageSchemas.js +1 -1
  486. package/dist/schemas/MxpProtocolSchemas.d.ts +1 -1
  487. package/dist/schemas/MxpProtocolSchemas.js +1 -1
  488. package/dist/schemas/ShellExecutionEventPayloads.d.ts +1 -1
  489. package/dist/schemas/ShellExecutionEventPayloads.js +1 -1
  490. package/dist/services/AgentPerformanceService.d.ts +1 -1
  491. package/dist/services/AgentPerformanceService.js +1 -1
  492. package/dist/services/AutoCorrectionIntegrationService.d.ts +1 -1
  493. package/dist/services/AutoCorrectionIntegrationService.js +1 -1
  494. package/dist/services/AutoCorrectionService.d.ts +1 -1
  495. package/dist/services/AutoCorrectionService.js +1 -1
  496. package/dist/services/AutoMemoryCreator.d.ts +1 -1
  497. package/dist/services/AutoMemoryCreator.js +1 -1
  498. package/dist/services/BackgroundTaskManager.d.ts +1 -1
  499. package/dist/services/BackgroundTaskManager.d.ts.map +1 -1
  500. package/dist/services/BackgroundTaskManager.js +13 -5
  501. package/dist/services/BackgroundTaskManager.js.map +1 -1
  502. package/dist/services/BrowserManager.d.ts +2 -2
  503. package/dist/services/BrowserManager.d.ts.map +1 -1
  504. package/dist/services/BrowserManager.js +27 -4
  505. package/dist/services/BrowserManager.js.map +1 -1
  506. package/dist/services/ChannelContextMemoryOperations.d.ts +1 -1
  507. package/dist/services/ChannelContextMemoryOperations.js +1 -1
  508. package/dist/services/ChannelContextMessageOperations.d.ts +1 -1
  509. package/dist/services/ChannelContextMessageOperations.js +1 -1
  510. package/dist/services/CodeExecutionSandboxService.d.ts +1 -1
  511. package/dist/services/CodeExecutionSandboxService.js +1 -1
  512. package/dist/services/ContainerExecutionManager.d.ts +1 -1
  513. package/dist/services/ContainerExecutionManager.js +1 -1
  514. package/dist/services/ContentProcessor.d.ts +1 -1
  515. package/dist/services/ContentProcessor.js +1 -1
  516. package/dist/services/McpToolDocumentationService.d.ts +1 -1
  517. package/dist/services/McpToolDocumentationService.js +1 -1
  518. package/dist/services/MemoryCompressor.d.ts +12 -3
  519. package/dist/services/MemoryCompressor.d.ts.map +1 -1
  520. package/dist/services/MemoryCompressor.js +9 -27
  521. package/dist/services/MemoryCompressor.js.map +1 -1
  522. package/dist/services/MemoryService.d.ts +17 -4
  523. package/dist/services/MemoryService.d.ts.map +1 -1
  524. package/dist/services/MemoryService.js +80 -56
  525. package/dist/services/MemoryService.js.map +1 -1
  526. package/dist/services/MxfMLService.d.ts +16 -1
  527. package/dist/services/MxfMLService.d.ts.map +1 -1
  528. package/dist/services/MxfMLService.js +55 -16
  529. package/dist/services/MxfMLService.js.map +1 -1
  530. package/dist/services/MxfMeilisearchService.d.ts +1 -1
  531. package/dist/services/MxfMeilisearchService.js +1 -1
  532. package/dist/services/MxfMessageAggregator.d.ts +1 -1
  533. package/dist/services/MxfMessageAggregator.js +1 -1
  534. package/dist/services/PatternLearningService.d.ts +1 -1
  535. package/dist/services/PatternLearningService.js +1 -1
  536. package/dist/services/PerformanceOptimizationService.d.ts +1 -1
  537. package/dist/services/PerformanceOptimizationService.js +1 -1
  538. package/dist/services/PredictiveAnalyticsService.d.ts +35 -5
  539. package/dist/services/PredictiveAnalyticsService.d.ts.map +1 -1
  540. package/dist/services/PredictiveAnalyticsService.js +42 -26
  541. package/dist/services/PredictiveAnalyticsService.js.map +1 -1
  542. package/dist/services/ProactiveValidationService.d.ts +1 -1
  543. package/dist/services/ProactiveValidationService.js +1 -1
  544. package/dist/services/PromptArgumentInferenceService.d.ts +1 -1
  545. package/dist/services/PromptArgumentInferenceService.js +1 -1
  546. package/dist/services/QValueManager.d.ts +8 -1
  547. package/dist/services/QValueManager.d.ts.map +1 -1
  548. package/dist/services/QValueManager.js +10 -1
  549. package/dist/services/QValueManager.js.map +1 -1
  550. package/dist/services/ReasoningToolParser.d.ts +1 -1
  551. package/dist/services/ReasoningToolParser.js +1 -1
  552. package/dist/services/RecoveryWorkflowService.d.ts +1 -1
  553. package/dist/services/RecoveryWorkflowService.js +1 -1
  554. package/dist/services/ReflectionService.d.ts +1 -1
  555. package/dist/services/ReflectionService.js +1 -1
  556. package/dist/services/RetentionGateService.d.ts +1 -1
  557. package/dist/services/RetentionGateService.js +1 -1
  558. package/dist/services/RewardSignalProcessor.d.ts +39 -2
  559. package/dist/services/RewardSignalProcessor.d.ts.map +1 -1
  560. package/dist/services/RewardSignalProcessor.js +110 -8
  561. package/dist/services/RewardSignalProcessor.js.map +1 -1
  562. package/dist/services/SharedStateService.d.ts +17 -3
  563. package/dist/services/SharedStateService.d.ts.map +1 -1
  564. package/dist/services/SharedStateService.js +45 -4
  565. package/dist/services/SharedStateService.js.map +1 -1
  566. package/dist/services/StratumManager.d.ts +1 -1
  567. package/dist/services/StratumManager.js +1 -1
  568. package/dist/services/StructuredSummaryBuilder.d.ts +1 -1
  569. package/dist/services/StructuredSummaryBuilder.js +1 -1
  570. package/dist/services/SurpriseCalculator.d.ts +1 -1
  571. package/dist/services/SurpriseCalculator.js +1 -1
  572. package/dist/services/SystemLlmMemoryAnalyzer.d.ts +1 -1
  573. package/dist/services/SystemLlmMemoryAnalyzer.js +1 -1
  574. package/dist/services/TaskEffectivenessService.d.ts +35 -19
  575. package/dist/services/TaskEffectivenessService.d.ts.map +1 -1
  576. package/dist/services/TaskEffectivenessService.js +92 -156
  577. package/dist/services/TaskEffectivenessService.js.map +1 -1
  578. package/dist/services/ToolExecutionInterceptor.d.ts +1 -1
  579. package/dist/services/ToolExecutionInterceptor.js +1 -1
  580. package/dist/services/UserInputRequestManager.d.ts +1 -1
  581. package/dist/services/UserInputRequestManager.js +1 -1
  582. package/dist/services/UserMemoryService.d.ts +1 -1
  583. package/dist/services/UserMemoryService.js +1 -1
  584. package/dist/services/UtilityScorerService.d.ts +1 -1
  585. package/dist/services/UtilityScorerService.js +1 -1
  586. package/dist/services/ValidationAnalyticsService.d.ts +1 -1
  587. package/dist/services/ValidationAnalyticsService.js +1 -1
  588. package/dist/services/ValidationCacheService.d.ts +1 -1
  589. package/dist/services/ValidationCacheService.js +1 -1
  590. package/dist/services/ValidationMiddleware.d.ts +1 -1
  591. package/dist/services/ValidationMiddleware.js +1 -1
  592. package/dist/services/ValidationPerformanceService.d.ts +1 -1
  593. package/dist/services/ValidationPerformanceService.js +1 -1
  594. package/dist/services/WebSearchService.d.ts +1 -1
  595. package/dist/services/WebSearchService.d.ts.map +1 -1
  596. package/dist/services/WebSearchService.js +1 -1
  597. package/dist/services/WebSearchService.js.map +1 -1
  598. package/dist/services/dag/TaskDagService.d.ts +1 -1
  599. package/dist/services/dag/TaskDagService.d.ts.map +1 -1
  600. package/dist/services/dag/TaskDagService.js +3 -1
  601. package/dist/services/dag/TaskDagService.js.map +1 -1
  602. package/dist/services/dag/algorithms/TopologicalSort.d.ts +1 -1
  603. package/dist/services/dag/algorithms/TopologicalSort.js +1 -1
  604. package/dist/services/kg/EntityExtractionService.d.ts +1 -1
  605. package/dist/services/kg/EntityExtractionService.js +1 -1
  606. package/dist/services/kg/EntityQValueManager.d.ts +1 -1
  607. package/dist/services/kg/EntityQValueManager.js +1 -1
  608. package/dist/services/kg/GraphSurpriseCalculator.d.ts +1 -1
  609. package/dist/services/kg/GraphSurpriseCalculator.js +1 -1
  610. package/dist/services/kg/KnowledgeGraphService.d.ts +1 -1
  611. package/dist/services/kg/KnowledgeGraphService.js +1 -1
  612. package/dist/services/kg/OrparGraphIntegration.d.ts +1 -1
  613. package/dist/services/kg/OrparGraphIntegration.js +1 -1
  614. package/dist/services/orpar-memory/CycleConsolidationTrigger.d.ts +1 -1
  615. package/dist/services/orpar-memory/CycleConsolidationTrigger.js +1 -1
  616. package/dist/services/orpar-memory/OrparMemoryCoordinator.d.ts +8 -1
  617. package/dist/services/orpar-memory/OrparMemoryCoordinator.d.ts.map +1 -1
  618. package/dist/services/orpar-memory/OrparMemoryCoordinator.js +72 -11
  619. package/dist/services/orpar-memory/OrparMemoryCoordinator.js.map +1 -1
  620. package/dist/services/orpar-memory/PhaseMemoryOperations.d.ts +1 -1
  621. package/dist/services/orpar-memory/PhaseMemoryOperations.js +1 -1
  622. package/dist/services/orpar-memory/PhaseStrataRouter.d.ts +1 -1
  623. package/dist/services/orpar-memory/PhaseStrataRouter.js +1 -1
  624. package/dist/services/orpar-memory/PhaseWeightedRewarder.d.ts +1 -1
  625. package/dist/services/orpar-memory/PhaseWeightedRewarder.js +1 -1
  626. package/dist/services/orpar-memory/SurpriseOrparAdapter.d.ts +1 -1
  627. package/dist/services/orpar-memory/SurpriseOrparAdapter.js +1 -1
  628. package/dist/services/orpar-memory/index.d.ts +1 -1
  629. package/dist/services/orpar-memory/index.js +1 -1
  630. package/dist/types/Agent.d.ts +1 -1
  631. package/dist/types/Agent.js +1 -1
  632. package/dist/types/AgentPerformanceTypes.d.ts +1 -1
  633. package/dist/types/AgentPerformanceTypes.js +1 -1
  634. package/dist/types/AgentRegistry.d.ts +1 -1
  635. package/dist/types/AgentRegistry.js +1 -1
  636. package/dist/types/AgentTypes.d.ts +1 -1
  637. package/dist/types/AgentTypes.js +1 -1
  638. package/dist/types/ChannelContext.d.ts +1 -1
  639. package/dist/types/ChannelContext.js +1 -1
  640. package/dist/types/ControlLoopTypes.d.ts +1 -1
  641. package/dist/types/ControlLoopTypes.js +1 -1
  642. package/dist/types/DagTypes.d.ts +1 -1
  643. package/dist/types/DagTypes.js +1 -1
  644. package/dist/types/EffectivenessTypes.d.ts +1 -1
  645. package/dist/types/EffectivenessTypes.js +1 -1
  646. package/dist/types/InferenceParameterTypes.d.ts +1 -1
  647. package/dist/types/InferenceParameterTypes.js +1 -1
  648. package/dist/types/KnowledgeGraphTypes.d.ts +1 -1
  649. package/dist/types/KnowledgeGraphTypes.js +1 -1
  650. package/dist/types/LlmTypes.d.ts +1 -1
  651. package/dist/types/LlmTypes.js +1 -1
  652. package/dist/types/McpPromptTypes.d.ts +1 -1
  653. package/dist/types/McpPromptTypes.js +1 -1
  654. package/dist/types/MemoryTypes.d.ts +1 -1
  655. package/dist/types/MemoryTypes.js +1 -1
  656. package/dist/types/MemoryUtilityTypes.d.ts +3 -1
  657. package/dist/types/MemoryUtilityTypes.d.ts.map +1 -1
  658. package/dist/types/MemoryUtilityTypes.js +1 -1
  659. package/dist/types/MemoryUtilityTypes.js.map +1 -1
  660. package/dist/types/MxpTypes.d.ts +1 -1
  661. package/dist/types/MxpTypes.js +1 -1
  662. package/dist/types/NetworkRecoveryTypes.d.ts +1 -1
  663. package/dist/types/NetworkRecoveryTypes.js +1 -1
  664. package/dist/types/OrparMemoryIntegrationTypes.d.ts +1 -1
  665. package/dist/types/OrparMemoryIntegrationTypes.js +1 -1
  666. package/dist/types/PatternLearningTypes.d.ts +1 -1
  667. package/dist/types/PatternLearningTypes.js +1 -1
  668. package/dist/types/PatternMemoryTypes.d.ts +1 -1
  669. package/dist/types/PatternMemoryTypes.js +1 -1
  670. package/dist/types/ReflectionTypes.d.ts +1 -1
  671. package/dist/types/ReflectionTypes.js +1 -1
  672. package/dist/types/TaskCompletionTypes.d.ts +1 -1
  673. package/dist/types/TaskCompletionTypes.js +1 -1
  674. package/dist/types/TaskTypes.d.ts +1 -1
  675. package/dist/types/TaskTypes.js +1 -1
  676. package/dist/types/TensorFlowTypes.d.ts +1 -1
  677. package/dist/types/TensorFlowTypes.js +1 -1
  678. package/dist/types/ValidationPerformanceTypes.d.ts +1 -1
  679. package/dist/types/ValidationPerformanceTypes.js +1 -1
  680. package/dist/types/toolTypes.d.ts +1 -1
  681. package/dist/types/toolTypes.js +1 -1
  682. package/dist/types/types.d.ts +1 -1
  683. package/dist/types/types.js +1 -1
  684. package/dist/utils/Logger.d.ts +44 -4
  685. package/dist/utils/Logger.d.ts.map +1 -1
  686. package/dist/utils/Logger.js +79 -37
  687. package/dist/utils/Logger.js.map +1 -1
  688. package/dist/utils/MxpEncryption.d.ts +20 -7
  689. package/dist/utils/MxpEncryption.d.ts.map +1 -1
  690. package/dist/utils/MxpEncryption.js +49 -17
  691. package/dist/utils/MxpEncryption.js.map +1 -1
  692. package/dist/utils/ParameterNormalizer.d.ts +1 -1
  693. package/dist/utils/ParameterNormalizer.js +1 -1
  694. package/dist/utils/PromptTemplateReplacer.d.ts +1 -1
  695. package/dist/utils/PromptTemplateReplacer.js +1 -1
  696. package/dist/utils/TokenEstimator.d.ts +1 -1
  697. package/dist/utils/TokenEstimator.js +1 -1
  698. package/dist/utils/ToolPaginationUtils.d.ts +1 -1
  699. package/dist/utils/ToolPaginationUtils.js +1 -1
  700. package/dist/utils/toon/eligibility.d.ts +1 -1
  701. package/dist/utils/toon/eligibility.js +1 -1
  702. package/dist/utils/toon/encoder.d.ts +1 -1
  703. package/dist/utils/toon/encoder.js +1 -1
  704. package/dist/utils/toon/formatter.d.ts +1 -1
  705. package/dist/utils/toon/formatter.js +1 -1
  706. package/dist/utils/toon/index.d.ts +1 -1
  707. package/dist/utils/toon/index.js +1 -1
  708. package/dist/utils/toon/metrics.d.ts +1 -1
  709. package/dist/utils/toon/metrics.js +1 -1
  710. package/dist/utils/toon/types.d.ts +1 -1
  711. package/dist/utils/toon/types.js +1 -1
  712. package/dist/utils/validation.d.ts +1 -1
  713. package/dist/utils/validation.js +1 -1
  714. package/package.json +20 -5
  715. package/src/adapters/FrameworkAdapter.ts +2 -2
  716. package/src/adapters/index.ts +1 -1
  717. package/src/config/ConfigManager.ts +53 -20
  718. package/src/config/McpPromptsConfig.ts +1 -1
  719. package/src/config/ModelContextLimits.ts +1 -1
  720. package/src/config/PromptCompactionConfig.ts +1 -1
  721. package/src/config/PromptConfig.ts +1 -1
  722. package/src/config/ServerConfig.ts +1 -1
  723. package/src/config/dag.config.ts +1 -1
  724. package/src/config/knowledge-graph.config.ts +1 -1
  725. package/src/config/memory-strata.config.ts +136 -0
  726. package/src/config/orpar-memory.config.ts +1 -1
  727. package/src/config/tensorflow.config.ts +1 -1
  728. package/src/constants/CoreTools.ts +1 -1
  729. package/src/constants/DefaultPhaseProfiles.ts +1 -1
  730. package/src/constants/ToolNames.ts +5 -19
  731. package/src/database/DatabaseAdapterFactory.ts +24 -7
  732. package/src/database/adapters/mongodb/MongoAgentRepository.ts +1 -1
  733. package/src/database/adapters/mongodb/MongoBaseRepository.ts +17 -3
  734. package/src/database/adapters/mongodb/MongoChannelRepository.ts +1 -1
  735. package/src/database/adapters/mongodb/MongoDagRepository.ts +1 -1
  736. package/src/database/adapters/mongodb/MongoKnowledgeGraphRepository.ts +1 -1
  737. package/src/database/adapters/mongodb/MongoMemoryRepository.ts +1 -1
  738. package/src/database/adapters/mongodb/MongoTaskRepository.ts +1 -1
  739. package/src/database/adapters/mongodb/index.ts +1 -1
  740. package/src/database/index.ts +1 -1
  741. package/src/events/ClientEventBus.ts +69 -404
  742. package/src/events/EventBus.ts +8 -9
  743. package/src/events/EventBusBase.ts +480 -117
  744. package/src/events/EventNames.ts +7 -1
  745. package/src/events/PublicEvents.ts +8 -5
  746. package/src/events/ServerEventBus.ts +79 -474
  747. package/src/events/event-definitions/AgentEvents.ts +1 -1
  748. package/src/events/event-definitions/AnalyticsEvents.ts +1 -1
  749. package/src/events/event-definitions/BulkEvents.ts +1 -1
  750. package/src/events/event-definitions/ChannelEvents.ts +1 -1
  751. package/src/events/event-definitions/CodeExecutionEvents.ts +1 -1
  752. package/src/events/event-definitions/CompactionEvents.ts +1 -1
  753. package/src/events/event-definitions/ConfigEvents.ts +1 -1
  754. package/src/events/event-definitions/ControlLoopEvents.ts +1 -1
  755. package/src/events/event-definitions/DagEvents.ts +1 -1
  756. package/src/events/event-definitions/HeartbeatEvents.ts +1 -1
  757. package/src/events/event-definitions/InferenceParameterEvents.ts +1 -1
  758. package/src/events/event-definitions/KeyEvents.ts +1 -1
  759. package/src/events/event-definitions/KnowledgeGraphEvents.ts +1 -1
  760. package/src/events/event-definitions/LlmBudgetEvents.ts +74 -0
  761. package/src/events/event-definitions/LlmEvents.ts +1 -1
  762. package/src/events/event-definitions/McpEvents.ts +1 -1
  763. package/src/events/event-definitions/MeilisearchEvents.ts +1 -1
  764. package/src/events/event-definitions/MemoryEvents.ts +1 -1
  765. package/src/events/event-definitions/MemoryUtilityEvents.ts +1 -1
  766. package/src/events/event-definitions/MessageEvents.ts +1 -1
  767. package/src/events/event-definitions/MxpEvents.ts +1 -1
  768. package/src/events/event-definitions/OrparEvents.ts +1 -1
  769. package/src/events/event-definitions/OrparMemoryEvents.ts +1 -1
  770. package/src/events/event-definitions/PlanEvents.ts +1 -1
  771. package/src/events/event-definitions/ProgressEvents.ts +1 -1
  772. package/src/events/event-definitions/ShellExecutionEvents.ts +1 -1
  773. package/src/events/event-definitions/SystemEvents.ts +1 -1
  774. package/src/events/event-definitions/TaskEvents.ts +1 -1
  775. package/src/events/event-definitions/TensorFlowEvents.ts +1 -1
  776. package/src/events/event-definitions/UserInputEvents.ts +1 -1
  777. package/src/events/event-definitions/WorkflowEvents.ts +1 -1
  778. package/src/interfaces/AgentContext.ts +1 -1
  779. package/src/interfaces/AgentInterfaces.ts +9 -2
  780. package/src/interfaces/Channel.ts +1 -1
  781. package/src/interfaces/ChannelConfig.ts +1 -1
  782. package/src/interfaces/ChannelConnectionConfig.ts +1 -1
  783. package/src/interfaces/ChannelInfo.ts +1 -1
  784. package/src/interfaces/ConversationMessage.ts +1 -1
  785. package/src/interfaces/ILlmTopicExtractor.ts +1 -1
  786. package/src/interfaces/IMemoryPersistence.ts +51 -0
  787. package/src/interfaces/SocketServiceInterface.ts +1 -1
  788. package/src/interfaces/TaskInterfaces.ts +1 -1
  789. package/src/middleware/MxpMiddleware.ts +52 -25
  790. package/src/models/PatternLearningModels.ts +1 -1
  791. package/src/models/agent.ts +1 -1
  792. package/src/models/auditLog.ts +1 -1
  793. package/src/models/channel.ts +1 -1
  794. package/src/models/channelKey.ts +19 -5
  795. package/src/models/codeExecution.ts +1 -1
  796. package/src/models/controlLoop.ts +1 -1
  797. package/src/models/coordination.ts +1 -1
  798. package/src/models/document.ts +1 -1
  799. package/src/models/entity.ts +1 -1
  800. package/src/models/mcpTool.ts +1 -1
  801. package/src/models/mcpToolExecution.ts +1 -1
  802. package/src/models/memory.ts +1 -1
  803. package/src/models/memoryStrata.ts +1 -1
  804. package/src/models/memoryUtility.ts +64 -0
  805. package/src/models/personalAccessToken.ts +1 -1
  806. package/src/models/plan.ts +1 -1
  807. package/src/models/relationship.ts +1 -1
  808. package/src/models/shellOutput.ts +1 -1
  809. package/src/models/task.ts +1 -1
  810. package/src/models/taskEffectiveness.ts +1 -1
  811. package/src/models/tool.ts +1 -1
  812. package/src/models/toolExecution.ts +1 -1
  813. package/src/models/toolModels.ts +1 -1
  814. package/src/models/user.ts +37 -5
  815. package/src/models/userMemory.ts +1 -1
  816. package/src/mxp/BinaryProtocolLayer.ts +109 -125
  817. package/src/mxp/ContextCompressionEngine.ts +220 -162
  818. package/src/mxp/MxpConfigManager.ts +1 -1
  819. package/src/mxp/MxpTokenOptimizer.ts +11 -11
  820. package/src/prompts/ChannelContextProvider.ts +1 -1
  821. package/src/prompts/DeferredToolSchemaRegistry.ts +1 -1
  822. package/src/prompts/DynamicContextProvider.ts +1 -1
  823. package/src/prompts/MemoryPromptInjector.ts +1 -1
  824. package/src/prompts/MxfAgentSystemPrompt.ts +46 -56
  825. package/src/prompts/PromptSegmentRegistry.ts +1 -1
  826. package/src/prompts/ToolBehavioralGuidance.ts +1 -1
  827. package/src/protocols/binaryProtocol.ts +1 -1
  828. package/src/protocols/mcp/ClientExecutableManifest.ts +1 -1
  829. package/src/protocols/mcp/IMcpClient.ts +1 -1
  830. package/src/protocols/mcp/LlmProviderFactory.ts +1 -1
  831. package/src/protocols/mcp/LlmProviders.ts +1 -1
  832. package/src/protocols/mcp/McpClient.ts +1 -1
  833. package/src/protocols/mcp/McpClientFactory.ts +1 -1
  834. package/src/protocols/mcp/McpServerTypes.ts +1 -1
  835. package/src/protocols/mcp/McpToolCallParser.ts +1 -1
  836. package/src/protocols/mcp/McpToolSchema.ts +1 -1
  837. package/src/protocols/mcp/ToolError.ts +201 -0
  838. package/src/protocols/mcp/converters/IFormatConverter.ts +1 -1
  839. package/src/protocols/mcp/converters/UnifiedMessageConverter.ts +1 -1
  840. package/src/protocols/mcp/converters/adapters/AnthropicMessageAdapter.ts +1 -1
  841. package/src/protocols/mcp/converters/adapters/GeminiMessageAdapter.ts +1 -1
  842. package/src/protocols/mcp/converters/adapters/OpenAiMessageAdapter.ts +1 -1
  843. package/src/protocols/mcp/converters/adapters/OpenRouterMessageAdapter.ts +1 -1
  844. package/src/protocols/mcp/converters/adapters/XaiMessageAdapter.ts +1 -1
  845. package/src/protocols/mcp/defineTool.ts +379 -0
  846. package/src/protocols/mcp/providers/AnthropicMcpClient.ts +1 -1
  847. package/src/protocols/mcp/providers/AzureOpenAiMcpClient.ts +1 -1
  848. package/src/protocols/mcp/providers/BaseMcpClient.ts +1 -1
  849. package/src/protocols/mcp/providers/CustomMcpClient.ts +1 -1
  850. package/src/protocols/mcp/providers/GeminiMcpClient.ts +1 -1
  851. package/src/protocols/mcp/providers/OllamaMcpClient.ts +1 -1
  852. package/src/protocols/mcp/providers/OpenAiMcpClient.ts +1 -1
  853. package/src/protocols/mcp/providers/OpenRouterMcpClient.ts +33 -24
  854. package/src/protocols/mcp/providers/XaiMcpClient.ts +1 -1
  855. package/src/protocols/mcp/security/HttpTargetGuard.ts +267 -0
  856. package/src/protocols/mcp/security/McpConfirmationManager.ts +1 -1
  857. package/src/protocols/mcp/security/McpSecurityConfig.ts +1 -1
  858. package/src/protocols/mcp/security/McpSecurityGuard.ts +11 -4
  859. package/src/protocols/mcp/security/McpToolPolicy.ts +221 -0
  860. package/src/protocols/mcp/security/index.ts +1 -1
  861. package/src/protocols/mcp/services/ExternalMcpServerManager.ts +341 -323
  862. package/src/protocols/mcp/services/ExternalServerConfigs.ts +83 -20
  863. package/src/protocols/mcp/services/IToolEventEmitter.ts +1 -1
  864. package/src/protocols/mcp/tools/AnalyticsTools.ts +2 -2
  865. package/src/protocols/mcp/tools/CodeAnalysisTools.ts +16 -1
  866. package/src/protocols/mcp/tools/DateTimeTools.ts +1 -1
  867. package/src/protocols/mcp/tools/EffectivenessTools.ts +4 -4
  868. package/src/protocols/mcp/tools/GitTools.ts +291 -570
  869. package/src/protocols/mcp/tools/InfrastructureTools.ts +190 -44
  870. package/src/protocols/mcp/tools/JsonTools.ts +1 -1
  871. package/src/protocols/mcp/tools/KnowledgeGraphTools.ts +1 -1
  872. package/src/protocols/mcp/tools/MemorySearchTools.ts +78 -2
  873. package/src/protocols/mcp/tools/MemoryUtilityTools.ts +1 -1
  874. package/src/protocols/mcp/tools/OrparTools.ts +88 -1
  875. package/src/protocols/mcp/tools/PlanningTools.ts +1 -1
  876. package/src/protocols/mcp/tools/PredictiveTools.ts +1 -1
  877. package/src/protocols/mcp/tools/ProgressTools.ts +1 -1
  878. package/src/protocols/mcp/tools/ProjectContextTools.ts +1 -1
  879. package/src/protocols/mcp/tools/README.md +3 -3
  880. package/src/protocols/mcp/tools/SafetyTools.ts +502 -580
  881. package/src/protocols/mcp/tools/SearchProjectTools.ts +1 -1
  882. package/src/protocols/mcp/tools/TaskPlanningTools.ts +82 -40
  883. package/src/protocols/mcp/tools/TestTools.ts +340 -420
  884. package/src/protocols/mcp/tools/ToolHelpTools.ts +1 -1
  885. package/src/protocols/mcp/tools/TypeScriptTools.ts +317 -377
  886. package/src/protocols/mcp/tools/UserInputTools.ts +1 -1
  887. package/src/protocols/mcp/tools/UserMemoryTools.ts +1 -1
  888. package/src/protocols/mcp/tools/WebTools.ts +210 -308
  889. package/src/protocols/mcp/tools/WolframTools.ts +1 -1
  890. package/src/protocols/mcp/tools/shell/CommandClassification.ts +1 -1
  891. package/src/protocols/mcp/tools/shell/CommandSemantics.ts +1 -1
  892. package/src/protocols/mcp/tools/shell/DestructiveCommandWarnings.ts +1 -1
  893. package/src/protocols/mcp/tools/shell/LargeOutputHandler.ts +1 -1
  894. package/src/protocols/mcp/tools/shell/ShellExecuteHandler.ts +54 -15
  895. package/src/protocols/mcp/tools/shell/ShellSandbox.ts +1 -1
  896. package/src/protocols/mcp/tools/shell/index.ts +1 -1
  897. package/src/protocols/mcp/utils/JsonRecovery.ts +1 -1
  898. package/src/protocols/mcp/utils/MessageConverters.ts +1 -1
  899. package/src/protocols/mcp/utils/NetworkRecovery.ts +1 -1
  900. package/src/protocols/mcp/utils/ToolHandlers.ts +1 -1
  901. package/src/repositories/interfaces/IAgentRepository.ts +1 -1
  902. package/src/repositories/interfaces/IBaseRepository.ts +1 -1
  903. package/src/repositories/interfaces/IChannelRepository.ts +1 -1
  904. package/src/repositories/interfaces/IDagRepository.ts +1 -1
  905. package/src/repositories/interfaces/IKnowledgeGraphRepository.ts +1 -1
  906. package/src/repositories/interfaces/IMemoryRepository.ts +1 -1
  907. package/src/repositories/interfaces/ITaskRepository.ts +1 -1
  908. package/src/repositories/interfaces/index.ts +1 -1
  909. package/src/repositories/types/FilterTypes.ts +1 -1
  910. package/src/repositories/types/PaginationTypes.ts +1 -1
  911. package/src/schemas/CodeExecutionEventPayloads.ts +1 -1
  912. package/src/schemas/EventPayloadSchema.ts +38 -1
  913. package/src/schemas/JsonResponseSchemas.ts +1 -1
  914. package/src/schemas/MessageSchemas.ts +1 -1
  915. package/src/schemas/MxpProtocolSchemas.ts +1 -1
  916. package/src/schemas/ShellExecutionEventPayloads.ts +1 -1
  917. package/src/services/AgentPerformanceService.ts +1 -1
  918. package/src/services/AutoCorrectionIntegrationService.ts +1 -1
  919. package/src/services/AutoCorrectionService.ts +1 -1
  920. package/src/services/AutoMemoryCreator.ts +1 -1
  921. package/src/services/BackgroundTaskManager.ts +13 -5
  922. package/src/services/BrowserManager.ts +42 -2
  923. package/src/services/ChannelContextMemoryOperations.ts +1 -1
  924. package/src/services/ChannelContextMessageOperations.ts +1 -1
  925. package/src/services/CodeExecutionSandboxService.ts +1 -1
  926. package/src/services/ContainerExecutionManager.ts +1 -1
  927. package/src/services/ContentProcessor.ts +1 -1
  928. package/src/services/McpToolDocumentationService.ts +1 -1
  929. package/src/services/MemoryCompressor.ts +21 -33
  930. package/src/services/MemoryService.ts +97 -59
  931. package/src/services/MxfMLService.ts +62 -18
  932. package/src/services/MxfMeilisearchService.ts +1 -1
  933. package/src/services/MxfMessageAggregator.ts +1 -1
  934. package/src/services/PatternLearningService.ts +1 -1
  935. package/src/services/PerformanceOptimizationService.ts +1 -1
  936. package/src/services/PredictiveAnalyticsService.ts +56 -33
  937. package/src/services/ProactiveValidationService.ts +1 -1
  938. package/src/services/PromptArgumentInferenceService.ts +1 -1
  939. package/src/services/QValueManager.ts +11 -1
  940. package/src/services/ReasoningToolParser.ts +1 -1
  941. package/src/services/RecoveryWorkflowService.ts +1 -1
  942. package/src/services/ReflectionService.ts +1 -1
  943. package/src/services/RetentionGateService.ts +1 -1
  944. package/src/services/RewardSignalProcessor.ts +139 -10
  945. package/src/services/SharedStateService.ts +57 -9
  946. package/src/services/StratumManager.ts +1 -1
  947. package/src/services/StructuredSummaryBuilder.ts +1 -1
  948. package/src/services/SurpriseCalculator.ts +1 -1
  949. package/src/services/SystemLlmMemoryAnalyzer.ts +1 -1
  950. package/src/services/TaskEffectivenessService.ts +115 -188
  951. package/src/services/ToolExecutionInterceptor.ts +1 -1
  952. package/src/services/UserInputRequestManager.ts +1 -1
  953. package/src/services/UserMemoryService.ts +1 -1
  954. package/src/services/UtilityScorerService.ts +1 -1
  955. package/src/services/ValidationAnalyticsService.ts +1 -1
  956. package/src/services/ValidationCacheService.ts +1 -1
  957. package/src/services/ValidationMiddleware.ts +1 -1
  958. package/src/services/ValidationPerformanceService.ts +1 -1
  959. package/src/services/WebSearchService.ts +3 -2
  960. package/src/services/dag/TaskDagService.ts +3 -1
  961. package/src/services/dag/algorithms/TopologicalSort.ts +1 -1
  962. package/src/services/kg/EntityExtractionService.ts +1 -1
  963. package/src/services/kg/EntityQValueManager.ts +1 -1
  964. package/src/services/kg/GraphSurpriseCalculator.ts +1 -1
  965. package/src/services/kg/KnowledgeGraphService.ts +1 -1
  966. package/src/services/kg/OrparGraphIntegration.ts +1 -1
  967. package/src/services/orpar-memory/CycleConsolidationTrigger.ts +1 -1
  968. package/src/services/orpar-memory/OrparMemoryCoordinator.ts +87 -11
  969. package/src/services/orpar-memory/PhaseMemoryOperations.ts +1 -1
  970. package/src/services/orpar-memory/PhaseStrataRouter.ts +1 -1
  971. package/src/services/orpar-memory/PhaseWeightedRewarder.ts +1 -1
  972. package/src/services/orpar-memory/SurpriseOrparAdapter.ts +1 -1
  973. package/src/services/orpar-memory/index.ts +1 -1
  974. package/src/types/Agent.ts +1 -1
  975. package/src/types/AgentPerformanceTypes.ts +1 -1
  976. package/src/types/AgentRegistry.ts +1 -1
  977. package/src/types/AgentTypes.ts +1 -1
  978. package/src/types/ChannelContext.ts +1 -1
  979. package/src/types/ControlLoopTypes.ts +1 -1
  980. package/src/types/DagTypes.ts +1 -1
  981. package/src/types/EffectivenessTypes.ts +1 -1
  982. package/src/types/InferenceParameterTypes.ts +1 -1
  983. package/src/types/KnowledgeGraphTypes.ts +1 -1
  984. package/src/types/LlmTypes.ts +1 -1
  985. package/src/types/McpPromptTypes.ts +1 -1
  986. package/src/types/MemoryTypes.ts +1 -1
  987. package/src/types/MemoryUtilityTypes.ts +3 -1
  988. package/src/types/MxpTypes.ts +1 -1
  989. package/src/types/NetworkRecoveryTypes.ts +1 -1
  990. package/src/types/OrparMemoryIntegrationTypes.ts +1 -1
  991. package/src/types/PatternLearningTypes.ts +1 -1
  992. package/src/types/PatternMemoryTypes.ts +1 -1
  993. package/src/types/ReflectionTypes.ts +1 -1
  994. package/src/types/TaskCompletionTypes.ts +1 -1
  995. package/src/types/TaskTypes.ts +1 -1
  996. package/src/types/TensorFlowTypes.ts +1 -1
  997. package/src/types/ValidationPerformanceTypes.ts +1 -1
  998. package/src/types/toolTypes.ts +1 -1
  999. package/src/types/types.ts +1 -1
  1000. package/src/utils/Logger.ts +117 -41
  1001. package/src/utils/MxpEncryption.ts +70 -35
  1002. package/src/utils/ParameterNormalizer.ts +1 -1
  1003. package/src/utils/PromptTemplateReplacer.ts +1 -1
  1004. package/src/utils/TokenEstimator.ts +1 -1
  1005. package/src/utils/ToolPaginationUtils.ts +1 -1
  1006. package/src/utils/toon/eligibility.ts +1 -1
  1007. package/src/utils/toon/encoder.ts +1 -1
  1008. package/src/utils/toon/formatter.ts +1 -1
  1009. package/src/utils/toon/index.ts +1 -1
  1010. package/src/utils/toon/metrics.ts +1 -1
  1011. package/src/utils/toon/types.ts +1 -1
  1012. package/src/utils/validation.ts +1 -1
  1013. package/dist/mxp/MxpEventForwardingEnhancer.d.ts +0 -134
  1014. package/dist/mxp/MxpEventForwardingEnhancer.d.ts.map +0 -1
  1015. package/dist/mxp/MxpEventForwardingEnhancer.js +0 -361
  1016. package/dist/mxp/MxpEventForwardingEnhancer.js.map +0 -1
  1017. package/dist/protocols/mcp/services/ToolSchemaEnhancements.d.ts +0 -56
  1018. package/dist/protocols/mcp/services/ToolSchemaEnhancements.d.ts.map +0 -1
  1019. package/dist/protocols/mcp/services/ToolSchemaEnhancements.js +0 -57
  1020. package/dist/protocols/mcp/services/ToolSchemaEnhancements.js.map +0 -1
  1021. package/dist/protocols/mcp/tools/ControlLoopLifecycle.d.ts +0 -270
  1022. package/dist/protocols/mcp/tools/ControlLoopLifecycle.d.ts.map +0 -1
  1023. package/dist/protocols/mcp/tools/ControlLoopLifecycle.js +0 -256
  1024. package/dist/protocols/mcp/tools/ControlLoopLifecycle.js.map +0 -1
  1025. package/dist/protocols/mcp/tools/LspTools.d.ts +0 -495
  1026. package/dist/protocols/mcp/tools/LspTools.d.ts.map +0 -1
  1027. package/dist/protocols/mcp/tools/LspTools.js +0 -469
  1028. package/dist/protocols/mcp/tools/LspTools.js.map +0 -1
  1029. package/src/mxp/MxpEventForwardingEnhancer.ts +0 -471
  1030. package/src/protocols/mcp/services/ToolSchemaEnhancements.ts +0 -92
  1031. package/src/protocols/mcp/tools/ControlLoopLifecycle.ts +0 -302
  1032. 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/mxf-dev/mxf
17
+ * @repository https://github.com/BradA1878/model-exchange-framework
18
18
  * @documentation https://mxf-dev.github.io/mxf/
19
19
  */
20
20
 
21
- import { Logger } from '../../../utils/Logger.js';
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
- const logger = new Logger('info', 'TestTools', 'server');
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
- * Test Tools for MXF
29
- *
30
- * Provides comprehensive testing capabilities for multiple test runners
31
- * and testing frameworks including Jest, Mocha, Vitest, and others
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
- export const jestTestTool = {
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
- description: 'Run Jest tests with comprehensive options',
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 with names matching this pattern'
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 test coverage report'
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: 'Display individual test results'
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
- handler: async (args: {
75
- testFiles?: string[];
76
- testNamePattern?: string;
77
- coverage?: boolean;
78
- watchMode?: boolean;
79
- verbose?: boolean;
80
- maxWorkers?: number;
81
- workingDirectory?: string;
82
- }, context: McpToolHandlerContext): Promise<McpToolHandlerResult> => {
83
-
84
- try {
85
- const jestArgs = ['--no-watchman', '--passWithNoTests'];
86
-
87
- if (args.coverage) {
88
- jestArgs.push('--coverage');
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
- description: 'Run Mocha tests with comprehensive options',
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', 'json', 'tap', 'dot', 'nyan', 'landing', 'list', 'progress', 'json-stream', 'min'],
250
+ enum: ['spec', 'dot', 'nyan', 'tap', 'json', 'min'],
215
251
  default: 'spec',
216
- description: 'Test reporter format'
252
+ description: 'Reporter format'
217
253
  },
218
254
  timeout: {
219
255
  type: 'number',
220
- default: 2000,
221
- description: 'Test timeout in milliseconds'
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
- handler: async (args: {
235
- testFiles?: string[];
236
- grep?: string;
237
- reporter?: string;
238
- timeout?: number;
239
- recursive?: boolean;
240
- workingDirectory?: string;
241
- }, context: McpToolHandlerContext): Promise<McpToolHandlerResult> => {
242
-
243
- try {
244
- const mochaArgs = ['--reporter', args.reporter || 'spec'];
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
- description: 'Run Vitest tests with comprehensive options',
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 test coverage report'
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', 'junit', 'html'],
317
+ enum: ['default', 'verbose', 'dot', 'json', 'tap'],
344
318
  default: 'default',
345
- description: 'Test reporter format'
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
- handler: async (args: {
354
- testFiles?: string[];
355
- coverage?: boolean;
356
- watchMode?: boolean;
357
- reporter?: string;
358
- workingDirectory?: string;
359
- }, context: McpToolHandlerContext): Promise<McpToolHandlerResult> => {
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
- export const testRunnerTool = {
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
- description: 'Universal test runner that detects and runs the appropriate test framework',
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 to use (auto-detects if not specified)'
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 test coverage report'
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
- handler: async (args: {
473
- framework?: 'auto' | 'jest' | 'mocha' | 'vitest';
474
- testFiles?: string[];
475
- coverage?: boolean;
476
- watchMode?: boolean;
477
- workingDirectory?: string;
478
- }, context: McpToolHandlerContext): Promise<McpToolHandlerResult> => {
479
-
480
- try {
481
- let framework = args.framework;
482
-
483
- // Auto-detect framework if not specified
484
- if (framework === 'auto' || !framework) {
485
- // Check package.json for test scripts and dependencies
486
- const packageJsonResult = await executeShellCommand('cat', ['package.json'], {
487
- workingDirectory: args.workingDirectory || process.cwd(),
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
- // Delegate to the appropriate test tool
519
- switch (framework) {
520
- case 'jest':
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
- return { content };
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,