@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,7 +14,7 @@
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
  /**
@@ -37,6 +37,17 @@ import { v4 as uuidv4 } from 'uuid';
37
37
  // Create logger and validator instances
38
38
  const logger = new Logger('info', 'ExternalMcpServerManager', 'server');
39
39
  const validator = createStrictValidator('ExternalMcpServerManager');
40
+ /** How long to wait for a reply to a JSON-RPC request, per method. */
41
+ const REQUEST_TIMEOUTS_MS = {
42
+ initialize: 30000,
43
+ 'tools/list': 15000,
44
+ 'tools/call': 30000,
45
+ ping: 5000
46
+ };
47
+ /** MCP protocol version this client negotiates in the initialize handshake. */
48
+ const MCP_PROTOCOL_VERSION = '2024-11-05';
49
+ /** Version this client reports to servers. */
50
+ const MCP_CLIENT_VERSION = '1.0.0';
40
51
  /**
41
52
  * Manages external MCP server processes and their lifecycle
42
53
  */
@@ -265,7 +276,9 @@ export class ExternalMcpServerManager extends EventEmitter {
265
276
  // Store server configuration and status
266
277
  this.servers.set(config.id, {
267
278
  config,
268
- status
279
+ status,
280
+ pending: new Map(),
281
+ stdoutBuffer: ''
269
282
  });
270
283
  // Auto-start if configured
271
284
  if (config.autoStart) {
@@ -435,13 +448,16 @@ export class ExternalMcpServerManager extends EventEmitter {
435
448
  clearTimeout(serverData.startupTimer);
436
449
  serverData.startupTimer = undefined;
437
450
  }
451
+ // Fail anything still in flight before we kill the process, so callers get
452
+ // a clear error rather than waiting out their own timeouts.
453
+ this.rejectPendingRequests(serverId, 'server is stopping');
438
454
  // Terminate process
439
455
  if (serverData.process) {
440
456
  serverData.process.kill('SIGTERM');
441
457
  // Force kill after timeout
442
458
  setTimeout(() => {
443
459
  if (serverData.process && !serverData.process.killed) {
444
- logger.warn(`🔪 Force killing server ${config.name}`);
460
+ logger.warn(`Force killing server ${config.name}`);
445
461
  serverData.process.kill('SIGKILL');
446
462
  }
447
463
  }, 5000);
@@ -450,6 +466,8 @@ export class ExternalMcpServerManager extends EventEmitter {
450
466
  status.status = 'stopped';
451
467
  status.pid = undefined;
452
468
  status.tools = [];
469
+ status.initialized = false;
470
+ status.initializing = false;
453
471
  // Emit stopped event
454
472
  this.emitServerEvent(McpEvents.EXTERNAL_SERVER_STOPPED, serverId, agentId, channelId);
455
473
  }
@@ -497,6 +515,12 @@ export class ExternalMcpServerManager extends EventEmitter {
497
515
  process.on('exit', (code, signal) => {
498
516
  status.status = 'stopped';
499
517
  status.pid = undefined;
518
+ // The handshake does not survive the process. A restarted server has to
519
+ // perform it again before it can be marked running.
520
+ status.initialized = false;
521
+ status.initializing = false;
522
+ // Anything still waiting on this process will never get a reply.
523
+ this.rejectPendingRequests(serverId, `server exited (code ${code ?? 'null'}, signal ${signal ?? 'none'})`);
500
524
  // Clear timers
501
525
  if (serverData.healthCheckTimer) {
502
526
  clearInterval(serverData.healthCheckTimer);
@@ -520,11 +544,11 @@ export class ExternalMcpServerManager extends EventEmitter {
520
544
  logger.error(`❌ Server ${config.name} process error: ${error.message}`);
521
545
  this.handleServerError(serverId, error.message);
522
546
  });
523
- // Handle stdout for tool discovery and health checks
547
+ // ONE stdout listener per server. Every JSON-RPC reply arrives here and is
548
+ // routed to its waiting caller by request id.
524
549
  if (process.stdout) {
525
550
  process.stdout.on('data', (data) => {
526
- const output = data.toString();
527
- this.handleServerOutput(serverId, output);
551
+ this.handleServerOutput(serverId, data.toString());
528
552
  });
529
553
  }
530
554
  // Handle stderr — log non-warning output for debugging spawn failures
@@ -540,26 +564,133 @@ export class ExternalMcpServerManager extends EventEmitter {
540
564
  }
541
565
  });
542
566
  }
543
- // Mark as started when process is spawned successfully
567
+ // The OS started the process. That is NOT the same as the server being ready
568
+ // to serve MCP: it says nothing about whether the JSON-RPC handshake will
569
+ // succeed. Status stays 'starting' until initializeMcpConnection() completes,
570
+ // so a server that spawns and then fails its handshake never reports 'running'.
544
571
  process.on('spawn', () => {
545
- logger.info(`[SPAWN] Server ${serverId} process spawned successfully`);
546
- status.status = 'running';
547
- // Clear startup timer
548
- if (serverData.startupTimer) {
549
- clearTimeout(serverData.startupTimer);
550
- serverData.startupTimer = undefined;
572
+ logger.info(`[SPAWN] Server ${serverId} process spawned; starting MCP handshake`);
573
+ // stdin writes are buffered by the OS, so the handshake can be written
574
+ // immediately the child reads it when it is ready. The old code slept
575
+ // two seconds here and hoped that was long enough.
576
+ this.initializeMcpConnection(serverId).catch((err) => {
577
+ logger.error(`[MCP] Failed to initialize connection to ${serverId}: ${err.message}`);
578
+ this.handleServerError(serverId, `MCP initialization failed: ${err.message}`);
579
+ });
580
+ });
581
+ }
582
+ /**
583
+ * Route a chunk of a server's stdout to whoever is waiting for it.
584
+ *
585
+ * MCP over stdio is line-delimited JSON. Chunks do not respect line boundaries,
586
+ * so a partial line is carried over to the next chunk.
587
+ */
588
+ handleServerOutput(serverId, chunk) {
589
+ const serverData = this.servers.get(serverId);
590
+ if (!serverData) {
591
+ return;
592
+ }
593
+ serverData.stdoutBuffer += chunk;
594
+ const lines = serverData.stdoutBuffer.split('\n');
595
+ // The last element is either an incomplete line or '' — keep it for next time.
596
+ serverData.stdoutBuffer = lines.pop() ?? '';
597
+ for (const line of lines) {
598
+ const trimmed = line.trim();
599
+ if (!trimmed) {
600
+ continue;
551
601
  }
552
- this.emitServerEvent(McpEvents.EXTERNAL_SERVER_STARTED, serverId);
553
- // Initialize MCP connection first, then discover tools
554
- logger.info(`[SPAWN] Will initialize MCP connection for ${serverId} in 2 seconds...`);
555
- setTimeout(() => {
556
- this.initializeMcpConnection(serverId).catch((err) => {
557
- logger.error(`[MCP] Failed to initialize connection to ${serverId}: ${err.message}`);
558
- this.handleServerError(serverId, `MCP initialization failed: ${err.message}`);
559
- });
560
- }, 2000); // Wait 2 seconds for server to fully start
602
+ let message;
603
+ try {
604
+ message = JSON.parse(trimmed);
605
+ }
606
+ catch {
607
+ // Servers spawned through npx sometimes print non-JSON banners to
608
+ // stdout. Not our reply; not an error.
609
+ logger.debug(`[MCP-STDOUT] ${serverId}: ${trimmed.slice(0, 200)}`);
610
+ continue;
611
+ }
612
+ // A message with no id is a notification from the server, not a reply.
613
+ if (message.id === undefined || message.id === null) {
614
+ continue;
615
+ }
616
+ const requestId = String(message.id);
617
+ const pending = serverData.pending.get(requestId);
618
+ if (!pending) {
619
+ continue;
620
+ }
621
+ clearTimeout(pending.timer);
622
+ serverData.pending.delete(requestId);
623
+ if (message.error) {
624
+ pending.reject(new Error(`MCP error from ${serverId} (${pending.method}): ` +
625
+ `${message.error.message ?? JSON.stringify(message.error)}`));
626
+ }
627
+ else {
628
+ pending.resolve(message.result);
629
+ }
630
+ }
631
+ }
632
+ /**
633
+ * Send a JSON-RPC request and wait for its reply.
634
+ *
635
+ * The reply is matched by id in handleServerOutput(). On timeout the pending
636
+ * entry is removed, so nothing accumulates.
637
+ */
638
+ sendRequest(serverId, method, params = {}) {
639
+ const serverData = this.servers.get(serverId);
640
+ if (!serverData?.process?.stdin) {
641
+ return Promise.reject(new Error(`Server ${serverId} is not running or has no stdin`));
642
+ }
643
+ const stdin = serverData.process.stdin;
644
+ const requestId = uuidv4();
645
+ const timeoutMs = REQUEST_TIMEOUTS_MS[method];
646
+ return new Promise((resolve, reject) => {
647
+ const timer = setTimeout(() => {
648
+ serverData.pending.delete(requestId);
649
+ reject(new Error(`Timed out after ${timeoutMs}ms waiting for ${method} from ${serverId}`));
650
+ }, timeoutMs);
651
+ serverData.pending.set(requestId, { resolve, reject, timer, method });
652
+ const request = {
653
+ jsonrpc: '2.0',
654
+ id: requestId,
655
+ method,
656
+ params
657
+ };
658
+ stdin.write(JSON.stringify(request) + '\n', (writeError) => {
659
+ if (writeError) {
660
+ clearTimeout(timer);
661
+ serverData.pending.delete(requestId);
662
+ reject(new Error(`Failed to write ${method} to ${serverId}: ${writeError.message}`));
663
+ }
664
+ });
561
665
  });
562
666
  }
667
+ /**
668
+ * Send a JSON-RPC notification. Notifications have no id and get no reply.
669
+ */
670
+ sendNotification(serverId, method, params = {}) {
671
+ const serverData = this.servers.get(serverId);
672
+ if (!serverData?.process?.stdin) {
673
+ throw new Error(`Server ${serverId} is not running or has no stdin`);
674
+ }
675
+ const notification = { jsonrpc: '2.0', method, params };
676
+ serverData.process.stdin.write(JSON.stringify(notification) + '\n');
677
+ }
678
+ /**
679
+ * Fail every in-flight request for a server. Called when the process dies, so
680
+ * callers get an error instead of hanging until their individual timeouts.
681
+ */
682
+ rejectPendingRequests(serverId, reason) {
683
+ const serverData = this.servers.get(serverId);
684
+ if (!serverData) {
685
+ return;
686
+ }
687
+ for (const [requestId, pending] of serverData.pending) {
688
+ clearTimeout(pending.timer);
689
+ pending.reject(new Error(`${pending.method} on ${serverId} aborted: ${reason}`));
690
+ serverData.pending.delete(requestId);
691
+ }
692
+ serverData.stdoutBuffer = '';
693
+ }
563
694
  /**
564
695
  * Start health check monitoring for a server
565
696
  */
@@ -573,36 +704,44 @@ export class ExternalMcpServerManager extends EventEmitter {
573
704
  }, config.healthCheckInterval);
574
705
  }
575
706
  /**
576
- * Perform health check for a server
707
+ * Check that a server is actually answering.
708
+ *
709
+ * This used to be `process && !process.killed` — which only says the OS has not
710
+ * reaped the process. A server that had wedged, deadlocked, or stopped reading
711
+ * stdin stayed "healthy" forever.
712
+ *
713
+ * A real probe means a round trip through the JSON-RPC layer. `tools/list` is
714
+ * the probe: every server we can talk to implements it (we call it at
715
+ * discovery), it takes no arguments, and a reply proves the server is reading
716
+ * stdin, parsing JSON-RPC, and writing stdout.
577
717
  */
578
718
  async performHealthCheck(serverId) {
579
719
  const serverData = this.servers.get(serverId);
580
720
  if (!serverData)
581
721
  return;
582
- const { config, status } = serverData;
583
- // Emit health check event
722
+ const { status } = serverData;
584
723
  this.emitServerEvent(McpEvents.EXTERNAL_SERVER_HEALTH_CHECK, serverId);
585
- // Simple health check - process is running
586
- const isHealthy = serverData.process && !serverData.process.killed;
587
724
  status.lastHealthCheck = Date.now();
588
- if (status.status === 'running') {
589
- status.uptime = Date.now() - (status.lastHealthCheck - config.healthCheckInterval);
725
+ // A process that is gone is unhealthy without needing a round trip.
726
+ if (!serverData.process || serverData.process.killed) {
727
+ this.emitServerHealthStatus(serverId, 'unhealthy');
728
+ return;
729
+ }
730
+ // Only probe a server that finished its handshake — one still starting has
731
+ // not agreed to speak MCP yet.
732
+ if (status.status !== 'running') {
733
+ this.emitServerHealthStatus(serverId, 'unhealthy');
734
+ return;
735
+ }
736
+ try {
737
+ await this.sendRequest(serverId, 'tools/list');
738
+ this.emitServerHealthStatus(serverId, 'healthy');
739
+ }
740
+ catch (error) {
741
+ const message = error instanceof Error ? error.message : String(error);
742
+ logger.warn(`Health check failed for ${serverId}: ${message}`);
743
+ this.emitServerHealthStatus(serverId, 'unhealthy');
590
744
  }
591
- // Emit health status
592
- this.emitServerHealthStatus(serverId, isHealthy ? 'healthy' : 'unhealthy');
593
- }
594
- /**
595
- * Handle server output for tool discovery
596
- *
597
- * MCP protocol message parsing is handled in:
598
- * - initializeMcpConnection(): Handles MCP initialize handshake
599
- * - discoverRealToolsFromServer(): Handles tools/list JSON-RPC calls
600
- * - executeToolOnServer(): Handles tools/call JSON-RPC calls
601
- */
602
- handleServerOutput(serverId, output) {
603
- // Server stdout is processed by the MCP JSON-RPC handlers in initializeMcpConnection,
604
- // discoverRealToolsFromServer, and executeToolOnServer methods.
605
- // This handler is used for any additional output logging if needed.
606
745
  }
607
746
  /**
608
747
  * Discover tools available from a server
@@ -665,188 +804,81 @@ export class ExternalMcpServerManager extends EventEmitter {
665
804
  }
666
805
  }
667
806
  /**
668
- * Initialize MCP connection with server
807
+ * Perform the MCP handshake, then discover the server's tools.
808
+ *
809
+ * The handshake is two messages, not one:
810
+ * 1. `initialize` — request/response, negotiates protocol version.
811
+ * 2. `notifications/initialized` — a notification telling the server the
812
+ * client is ready.
813
+ *
814
+ * The second was never sent. It is required by the MCP spec, and a strict
815
+ * server is entitled to reject `tools/list` from a client that never sent it.
816
+ *
817
+ * The server is only marked 'running' once this completes. Spawning a process
818
+ * says nothing about whether it speaks MCP.
669
819
  */
670
820
  async initializeMcpConnection(serverId) {
671
821
  const serverData = this.servers.get(serverId);
672
822
  if (!serverData || !serverData.process) {
673
823
  throw new Error(`Server ${serverId} not found or not running`);
674
824
  }
675
- // Prevent duplicate initialization
676
825
  if (serverData.status.initialized) {
677
- logger.warn(`⚠️ MCP connection already initialized for server ${serverData.config.name}`);
826
+ logger.warn(`MCP connection already initialized for server ${serverData.config.name}`);
678
827
  return;
679
828
  }
680
829
  const { process, config } = serverData;
681
830
  if (!process.stdin || !process.stdout) {
682
831
  throw new Error('Process streams not available');
683
832
  }
684
- // Mark as initializing to prevent concurrent initialization
685
833
  serverData.status.initializing = true;
686
- // Send MCP initialize request with required parameters
687
- const initializeRequest = {
688
- jsonrpc: "2.0",
689
- id: "initialize",
690
- method: "initialize",
691
- params: {
692
- protocolVersion: "2024-11-05",
693
- capabilities: {
694
- experimental: {},
695
- sampling: {}
696
- },
697
- clientInfo: {
698
- name: "MXF Framework",
699
- version: "0.32.0"
700
- }
834
+ // 1. initialize
835
+ const result = await this.sendRequest(serverId, 'initialize', {
836
+ protocolVersion: MCP_PROTOCOL_VERSION,
837
+ capabilities: {
838
+ experimental: {},
839
+ sampling: {}
840
+ },
841
+ clientInfo: {
842
+ name: 'MXF Framework',
843
+ version: MCP_CLIENT_VERSION
701
844
  }
702
- };
703
- const requestJson = JSON.stringify(initializeRequest) + '\n';
704
- process.stdin.write(requestJson);
705
- // Wait for MCP initialize response
706
- const responseBuffer = await this.waitForMcpResponse(process.stdout, "initialize");
707
- const response = JSON.parse(responseBuffer);
708
- if (response.error) {
709
- logger.error(`❌ MCP initialize error: ${response.error.message}`);
710
- throw new Error(`MCP initialize error: ${response.error.message}`);
711
- }
712
- // Discover tools after MCP connection is initialized
713
- await this.discoverServerTools(serverId);
714
- // Mark as successfully initialized
845
+ });
846
+ logger.info(`[MCP] ${config.name} initialized ` +
847
+ `(server: ${result?.serverInfo?.name ?? 'unknown'} ${result?.serverInfo?.version ?? ''})`);
848
+ // 2. notifications/initialized required by the spec before any other request
849
+ this.sendNotification(serverId, 'notifications/initialized');
850
+ // The handshake succeeded, so the server is genuinely serving MCP now.
851
+ // Discovery below issues tools/list, which requires this status.
852
+ serverData.status.status = 'running';
715
853
  serverData.status.initialized = true;
716
854
  serverData.status.initializing = false;
855
+ if (serverData.startupTimer) {
856
+ clearTimeout(serverData.startupTimer);
857
+ serverData.startupTimer = undefined;
858
+ }
859
+ this.emitServerEvent(McpEvents.EXTERNAL_SERVER_STARTED, serverId);
860
+ // Now that the connection is live, find out what the server offers.
861
+ await this.discoverServerTools(serverId);
717
862
  }
718
863
  /**
719
- * Wait for MCP response with specific ID
720
- */
721
- async waitForMcpResponse(stdout, requestId) {
722
- return new Promise((resolve, reject) => {
723
- let responseBuffer = '';
724
- let timeoutId;
725
- let resolved = false;
726
- const responseHandler = (data) => {
727
- if (resolved)
728
- return; // Prevent duplicate responses
729
- responseBuffer += data.toString();
730
- // Try to parse JSON response (MCP responses are line-delimited JSON)
731
- const lines = responseBuffer.split('\n');
732
- for (let i = 0; i < lines.length - 1; i++) {
733
- const line = lines[i].trim();
734
- if (line) {
735
- try {
736
- const response = JSON.parse(line.trim());
737
- // Check if this is our response
738
- if (response.id === requestId) {
739
- resolved = true;
740
- clearTimeout(timeoutId);
741
- stdout.removeListener('data', responseHandler);
742
- // Return the clean JSON line instead of the entire buffer
743
- resolve(line.trim());
744
- return;
745
- }
746
- }
747
- catch (parseError) {
748
- // Ignore JSON parse errors for incomplete lines
749
- continue;
750
- }
751
- }
752
- }
753
- // Keep the last incomplete line in buffer
754
- responseBuffer = lines[lines.length - 1];
755
- };
756
- // Set up timeout (30 seconds for MCP response - some servers like n8n need more time)
757
- timeoutId = setTimeout(() => {
758
- if (!resolved) {
759
- resolved = true;
760
- stdout.removeListener('data', responseHandler);
761
- reject(new Error(`Timeout waiting for MCP response after 30 seconds`));
762
- }
763
- }, 30000);
764
- // Listen for response
765
- stdout.on('data', responseHandler);
766
- });
767
- }
768
- /**
769
- * Discover tools from external MCP server using JSON-RPC tools/list method
864
+ * Ask a server what tools it has.
770
865
  */
771
866
  async discoverRealToolsFromServer(serverId) {
772
867
  const serverData = this.servers.get(serverId);
773
868
  if (!serverData || !serverData.process) {
774
869
  throw new Error(`Server ${serverId} not found or not running`);
775
870
  }
776
- const { process, config } = serverData;
777
- return new Promise((resolve, reject) => {
778
- if (!process.stdin || !process.stdout) {
779
- reject(new Error('Process streams not available'));
780
- return;
781
- }
782
- const requestId = `tools-list-${uuidv4()}`;
783
- // Create MCP tool call request according to the protocol
784
- const mcpRequest = {
785
- jsonrpc: '2.0',
786
- id: requestId,
787
- method: 'tools/list',
788
- params: {}
789
- };
790
- let responseData = '';
791
- let timeoutId;
792
- let resolved = false;
793
- const handleData = (chunk) => {
794
- if (resolved)
795
- return; // Prevent duplicate responses
796
- responseData += chunk.toString();
797
- // Look for complete JSON-RPC response
798
- const lines = responseData.split('\n');
799
- for (let i = 0; i < lines.length - 1; i++) {
800
- const line = lines[i].trim();
801
- if (line) {
802
- try {
803
- const response = JSON.parse(line.trim());
804
- // Check if this is our response
805
- if (response.id === requestId) {
806
- resolved = true;
807
- clearTimeout(timeoutId);
808
- process.stdout.off('data', handleData);
809
- if (response.error) {
810
- reject(new Error(`MCP Error: ${response.error.message}`));
811
- return;
812
- }
813
- if (response.result && response.result.tools) {
814
- const tools = response.result.tools.map((tool) => ({
815
- name: tool.name,
816
- description: tool.description || `Tool from ${config.name}`,
817
- inputSchema: tool.inputSchema || { type: 'object', properties: {}, required: [] }
818
- }));
819
- resolve(tools);
820
- }
821
- else {
822
- logger.warn(`⚠️ No tools found in response from ${config.name}`);
823
- resolve([]);
824
- }
825
- return;
826
- }
827
- }
828
- catch (parseError) {
829
- // Continue looking for valid JSON in other lines
830
- }
831
- }
832
- }
833
- // Keep the last incomplete line in buffer
834
- responseData = lines[lines.length - 1];
835
- };
836
- // Set up timeout (15 seconds for tool execution)
837
- timeoutId = setTimeout(() => {
838
- if (!resolved) {
839
- resolved = true;
840
- process.stdout.off('data', handleData);
841
- reject(new Error(`Timeout waiting for tools/list response from ${config.name} after 15 seconds`));
842
- }
843
- }, 15000);
844
- // Listen for response
845
- process.stdout.on('data', handleData);
846
- // Send tools/list request
847
- const requestLine = JSON.stringify(mcpRequest) + '\n';
848
- process.stdin.write(requestLine);
849
- });
871
+ const { config } = serverData;
872
+ const result = await this.sendRequest(serverId, 'tools/list');
873
+ if (!result?.tools) {
874
+ logger.warn(`No tools in the tools/list response from ${config.name}`);
875
+ return [];
876
+ }
877
+ return result.tools.map((tool) => ({
878
+ name: tool.name,
879
+ description: tool.description || `Tool from ${config.name}`,
880
+ inputSchema: tool.inputSchema || { type: 'object', properties: {}, required: [] }
881
+ }));
850
882
  }
851
883
  /**
852
884
  * Handle server errors
@@ -944,6 +976,7 @@ export class ExternalMcpServerManager extends EventEmitter {
944
976
  return;
945
977
  }
946
978
  EventBus.server.emit(McpEvents.EXTERNAL_SERVER_TOOLS_DISCOVERED, createExternalMcpServerToolsDiscoveredEventPayload(McpEvents.EXTERNAL_SERVER_TOOLS_DISCOVERED, 'SYSTEM', 'SYSTEM', {
979
+ serverId,
947
980
  name: config.name,
948
981
  version: config.version,
949
982
  tools
@@ -1031,7 +1064,19 @@ export class ExternalMcpServerManager extends EventEmitter {
1031
1064
  /**
1032
1065
  * Execute a tool on an external MCP server via JSON-RPC with auto-correction support
1033
1066
  */
1034
- async executeToolOnServer(serverId, toolName, input, agentId = 'system', channelId = 'default') {
1067
+ async executeToolOnServer(serverId, toolName, input, agentId, channelId) {
1068
+ // Identity is required. These parameters used to default to 'system' and
1069
+ // 'default', which quietly defeated the registry's own rule that every tool
1070
+ // execution carry a real agentId and channelId — and made auto-correction
1071
+ // learn against a fake agent.
1072
+ if (typeof agentId !== 'string' || agentId.length === 0) {
1073
+ throw new Error(`executeToolOnServer requires an agentId (tool "${toolName}" on server "${serverId}"). ` +
1074
+ `External tool calls must be attributable to an agent.`);
1075
+ }
1076
+ if (typeof channelId !== 'string' || channelId.length === 0) {
1077
+ throw new Error(`executeToolOnServer requires a channelId (tool "${toolName}" on server "${serverId}"). ` +
1078
+ `External tool calls must be attributable to a channel.`);
1079
+ }
1035
1080
  // PROACTIVE CORRECTION: Apply known corrections before attempting execution
1036
1081
  // NOTE: n8n-mcp server has built-in n8n_autofix_workflow and validation tools,
1037
1082
  // so proactive correction is not needed for n8n_* tools. This is kept for
@@ -1074,7 +1119,10 @@ export class ExternalMcpServerManager extends EventEmitter {
1074
1119
  throw lastError || new Error(`Failed to execute ${toolName} after ${maxAttempts} attempts`);
1075
1120
  }
1076
1121
  /**
1077
- * Internal method to execute tool once (without retry logic)
1122
+ * Execute a tool once, without the retry/auto-correction wrapper.
1123
+ *
1124
+ * The reply is matched by request id through the server's single stdout
1125
+ * listener — see sendRequest() and handleServerOutput().
1078
1126
  */
1079
1127
  async executeToolOnServerInternal(serverId, toolName, input) {
1080
1128
  const serverData = this.servers.get(serverId);
@@ -1084,90 +1132,15 @@ export class ExternalMcpServerManager extends EventEmitter {
1084
1132
  if (!serverData.process || serverData.status.status !== 'running') {
1085
1133
  throw new Error(`Server ${serverId} is not running`);
1086
1134
  }
1087
- // Verify tool exists on server
1135
+ // Verify the server actually offers this tool before calling it.
1088
1136
  const tool = serverData.status.tools.find(t => t.name === toolName);
1089
1137
  if (!tool) {
1090
- throw new Error(`Tool ${toolName} not found on server ${serverId}`);
1138
+ throw new Error(`Tool ${toolName} not found on server ${serverId}. ` +
1139
+ `Available: ${serverData.status.tools.map(t => t.name).join(', ') || 'none'}`);
1091
1140
  }
1092
- return new Promise((resolve, reject) => {
1093
- try {
1094
- const requestId = uuidv4();
1095
- // Create MCP tool call request according to the protocol
1096
- const mcpRequest = {
1097
- jsonrpc: "2.0",
1098
- id: requestId,
1099
- method: "tools/call",
1100
- params: {
1101
- name: toolName,
1102
- arguments: input
1103
- }
1104
- };
1105
- let responseBuffer = '';
1106
- let timeoutId;
1107
- let resolved = false;
1108
- const responseHandler = (data) => {
1109
- if (resolved)
1110
- return; // Prevent duplicate responses
1111
- responseBuffer += data.toString();
1112
- // Try to parse JSON response (MCP responses are line-delimited JSON)
1113
- const lines = responseBuffer.split('\n');
1114
- for (let i = 0; i < lines.length - 1; i++) {
1115
- const line = lines[i].trim();
1116
- if (line) {
1117
- try {
1118
- const response = JSON.parse(line.trim());
1119
- // Check if this is our response
1120
- if (response.id === requestId) {
1121
- resolved = true;
1122
- clearTimeout(timeoutId);
1123
- serverData.process.stdout.removeListener('data', responseHandler);
1124
- if (response.error) {
1125
- const errorMessage = `MCP error: ${response.error.message || response.error}`;
1126
- logger.error(`❌ MCP tool call error: ${errorMessage}`);
1127
- reject(new Error(errorMessage));
1128
- }
1129
- else {
1130
- resolve(response.result);
1131
- }
1132
- return;
1133
- }
1134
- }
1135
- catch (parseError) {
1136
- // Ignore JSON parse errors for incomplete lines
1137
- continue;
1138
- }
1139
- }
1140
- }
1141
- // Keep the last incomplete line in buffer
1142
- responseBuffer = lines[lines.length - 1];
1143
- };
1144
- // Set up timeout (30 seconds for tool execution)
1145
- timeoutId = setTimeout(() => {
1146
- if (!resolved) {
1147
- resolved = true;
1148
- serverData.process.stdout.removeListener('data', responseHandler);
1149
- reject(new Error(`Timeout waiting for tool execution response from ${serverId} after 30 seconds`));
1150
- }
1151
- }, 30000);
1152
- // Listen for response
1153
- if (!serverData.process || !serverData.process.stdout) {
1154
- reject(new Error(`Server ${serverId} process stdout not available`));
1155
- return;
1156
- }
1157
- serverData.process.stdout.on('data', responseHandler);
1158
- // Send the request
1159
- if (!serverData.process.stdin) {
1160
- reject(new Error(`Server ${serverId} process stdin not available`));
1161
- return;
1162
- }
1163
- const requestJson = JSON.stringify(mcpRequest) + '\n';
1164
- serverData.process.stdin.write(requestJson);
1165
- }
1166
- catch (error) {
1167
- const errorMessage = error instanceof Error ? error.message : String(error);
1168
- logger.error(`❌ Failed to execute tool ${toolName} on server ${serverId}: ${errorMessage}`);
1169
- reject(error);
1170
- }
1141
+ return this.sendRequest(serverId, 'tools/call', {
1142
+ name: toolName,
1143
+ arguments: input
1171
1144
  });
1172
1145
  }
1173
1146
  }